@ctrl-ui/react 0.8.20 → 0.9.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 (161) hide show
  1. package/README.md +1 -0
  2. package/dist/action-bar.d.ts +1 -2
  3. package/dist/action-bar.js +7 -8
  4. package/dist/blocks/design-canvas-inspector.js +4 -1
  5. package/dist/blocks/file-explorer.js +1 -1
  6. package/dist/chat-message.js +4 -13
  7. package/dist/hooks/use-textarea-trigger-menu.d.ts +21 -3
  8. package/dist/hooks/use-textarea-trigger-menu.js +36 -40
  9. package/dist/hooks/use-user-ask.d.ts +1 -0
  10. package/dist/hooks/use-user-ask.js +5 -1
  11. package/dist/knob-contracts/audio-recorder-knobs.d.ts +1 -1
  12. package/dist/knob-contracts/audio-recorder-knobs.js +2 -1
  13. package/dist/knob-contracts/chart-knobs.d.ts +4 -0
  14. package/dist/knob-contracts/chart-knobs.js +24 -0
  15. package/dist/knob-contracts/choice-knobs.d.ts +1 -1
  16. package/dist/knob-contracts/choice-knobs.js +1 -0
  17. package/dist/knob-contracts/dockable-panel-knobs.d.ts +1 -1
  18. package/dist/knob-contracts/dockable-panel-knobs.js +2 -1
  19. package/dist/knob-contracts/emoji-picker-knobs.d.ts +1 -1
  20. package/dist/knob-contracts/emoji-picker-knobs.js +1 -0
  21. package/dist/knob-contracts/empty-knobs.d.ts +1 -1
  22. package/dist/knob-contracts/empty-knobs.js +2 -1
  23. package/dist/knob-contracts/icon-picker-knobs.d.ts +1 -1
  24. package/dist/knob-contracts/icon-picker-knobs.js +3 -1
  25. package/dist/knob-contracts/resizable-knobs.d.ts +1 -1
  26. package/dist/knob-contracts/resizable-knobs.js +2 -2
  27. package/dist/knob-contracts/sidebar-knobs.d.ts +1 -1
  28. package/dist/knob-contracts/sidebar-knobs.js +3 -1
  29. package/dist/knob-contracts/tabs-knobs.d.ts +1 -1
  30. package/dist/knob-contracts/tabs-knobs.js +2 -1
  31. package/dist/knob-contracts/tree-knobs.d.ts +1 -1
  32. package/dist/knob-contracts/tree-knobs.js +2 -1
  33. package/dist/lib/color.d.ts +2 -6
  34. package/dist/lib/color.js +45 -28
  35. package/dist/lib/contrast.d.ts +6 -0
  36. package/dist/lib/contrast.js +33 -1
  37. package/dist/lib/gradient.d.ts +17 -0
  38. package/dist/lib/gradient.js +69 -0
  39. package/dist/markdown-editor/drag-handle.js +73 -10
  40. package/dist/markdown-editor/drag-preview.d.ts +3 -0
  41. package/dist/markdown-editor/drag-preview.js +31 -0
  42. package/dist/markdown-editor/extensions.d.ts +2 -2
  43. package/dist/markdown-editor/extensions.js +25 -3
  44. package/dist/markdown-editor/suggestions.js +5 -5
  45. package/dist/markdown-editor/task-item.d.ts +3 -0
  46. package/dist/markdown-editor/task-item.js +50 -0
  47. package/dist/markdown-editor/toolbar.js +122 -63
  48. package/dist/markdown-editor.js +3 -3
  49. package/dist/skin.d.ts +0 -1
  50. package/dist/styles/index.css +3 -2
  51. package/dist/styles/recipes/action-bar.css +1 -1
  52. package/dist/styles/recipes/activity.css +1 -1
  53. package/dist/styles/recipes/alert.css +9 -10
  54. package/dist/styles/recipes/app-shell-header.css +2 -2
  55. package/dist/styles/recipes/audio-recorder.css +15 -4
  56. package/dist/styles/recipes/audio-visualizer.css +4 -4
  57. package/dist/styles/recipes/avatar.css +3 -3
  58. package/dist/styles/recipes/badge.css +2 -2
  59. package/dist/styles/recipes/button.css +2 -5
  60. package/dist/styles/recipes/card.css +0 -2
  61. package/dist/styles/recipes/chart.css +378 -0
  62. package/dist/styles/recipes/chat-composer-attachment.css +3 -3
  63. package/dist/styles/recipes/chat-composer.css +3 -3
  64. package/dist/styles/recipes/chat-layout.css +2 -2
  65. package/dist/styles/recipes/chat-message-social.css +1 -1
  66. package/dist/styles/recipes/chat-message.css +1 -1
  67. package/dist/styles/recipes/choice.css +9 -3
  68. package/dist/styles/recipes/code-diff.css +1 -1
  69. package/dist/styles/recipes/code.css +1 -1
  70. package/dist/styles/recipes/color-picker-details.css +17 -11
  71. package/dist/styles/recipes/color-picker-values.css +17 -7
  72. package/dist/styles/recipes/color-picker.css +88 -70
  73. package/dist/styles/recipes/context.css +2 -2
  74. package/dist/styles/recipes/dockable-panel.css +9 -2
  75. package/dist/styles/recipes/dynamic-notification-motion.css +1 -55
  76. package/dist/styles/recipes/dynamic-notification.css +0 -1
  77. package/dist/styles/recipes/emoji-picker.css +35 -19
  78. package/dist/styles/recipes/empty.css +19 -14
  79. package/dist/styles/recipes/field-parts.css +2 -2
  80. package/dist/styles/recipes/field.css +6 -4
  81. package/dist/styles/recipes/filter-bar.css +10 -10
  82. package/dist/styles/recipes/flow.css +5 -3
  83. package/dist/styles/recipes/gradient-editor.css +8 -0
  84. package/dist/styles/recipes/icon-picker.css +45 -10
  85. package/dist/styles/recipes/inline-attachment.css +4 -4
  86. package/dist/styles/recipes/inline-citation.css +2 -2
  87. package/dist/styles/recipes/item.css +4 -4
  88. package/dist/styles/recipes/markdown-editor.css +35 -24
  89. package/dist/styles/recipes/markdown.css +23 -27
  90. package/dist/styles/recipes/page-layout.css +13 -11
  91. package/dist/styles/recipes/popup-controls.css +2 -2
  92. package/dist/styles/recipes/popup-lists.css +3 -3
  93. package/dist/styles/recipes/popup.css +11 -9
  94. package/dist/styles/recipes/range.css +4 -5
  95. package/dist/styles/recipes/resizable.css +15 -10
  96. package/dist/styles/recipes/resize-handle.css +2 -2
  97. package/dist/styles/recipes/scroll-area.css +1 -1
  98. package/dist/styles/recipes/sidebar-menu.css +5 -15
  99. package/dist/styles/recipes/sidebar-mobile.css +4 -4
  100. package/dist/styles/recipes/sidebar-parts.css +26 -1
  101. package/dist/styles/recipes/sidebar.css +18 -31
  102. package/dist/styles/recipes/skeleton.css +10 -5
  103. package/dist/styles/recipes/stepper.css +1 -1
  104. package/dist/styles/recipes/switch.css +12 -11
  105. package/dist/styles/recipes/table-of-contents.css +6 -8
  106. package/dist/styles/recipes/table.css +4 -4
  107. package/dist/styles/recipes/tabs.css +10 -5
  108. package/dist/styles/recipes/task-list.css +3 -3
  109. package/dist/styles/recipes/tree.css +10 -3
  110. package/dist/styles/recipes/user-ask-details.css +5 -4
  111. package/dist/styles/recipes/user-ask.css +5 -5
  112. package/dist/styles/theme.css +158 -177
  113. package/dist/ui/chart-cartesian.d.ts +801 -0
  114. package/dist/ui/chart-cartesian.js +420 -0
  115. package/dist/ui/chart-colors.d.ts +7 -0
  116. package/dist/ui/chart-colors.js +27 -0
  117. package/dist/ui/chart-curves.d.ts +7 -0
  118. package/dist/ui/chart-curves.js +87 -0
  119. package/dist/ui/chart-marks.d.ts +68 -0
  120. package/dist/ui/chart-marks.js +227 -0
  121. package/dist/ui/chart-polar.d.ts +103 -0
  122. package/dist/ui/chart-polar.js +124 -0
  123. package/dist/ui/chart-series.d.ts +36 -0
  124. package/dist/ui/chart-series.js +71 -0
  125. package/dist/ui/chart.d.ts +32 -0
  126. package/dist/ui/chart.js +257 -0
  127. package/dist/ui/color-picker-area.d.ts +16 -0
  128. package/dist/ui/color-picker-area.js +175 -0
  129. package/dist/ui/color-picker-context.d.ts +27 -0
  130. package/dist/ui/color-picker-context.js +87 -0
  131. package/dist/ui/color-picker-contrast.d.ts +20 -0
  132. package/dist/ui/color-picker-contrast.js +129 -0
  133. package/dist/ui/color-picker-sliders.d.ts +15 -0
  134. package/dist/ui/color-picker-sliders.js +146 -0
  135. package/dist/ui/color-picker-swatches.d.ts +23 -0
  136. package/dist/ui/color-picker-swatches.js +94 -0
  137. package/dist/ui/color-picker-values.d.ts +59 -0
  138. package/dist/ui/color-picker-values.js +244 -0
  139. package/dist/ui/color-picker.d.ts +15 -110
  140. package/dist/ui/color-picker.js +30 -759
  141. package/dist/ui/emoji-picker.d.ts +10 -1
  142. package/dist/ui/emoji-picker.js +71 -14
  143. package/dist/ui/flow.js +1 -1
  144. package/dist/ui/gradient-editor-controls.d.ts +19 -0
  145. package/dist/ui/gradient-editor-controls.js +75 -0
  146. package/dist/ui/gradient-editor.d.ts +23 -22
  147. package/dist/ui/gradient-editor.js +77 -123
  148. package/dist/ui/icon-picker.d.ts +1 -1
  149. package/dist/ui/icon-picker.js +11 -6
  150. package/dist/ui/markdown-elements.d.ts +3 -1
  151. package/dist/ui/markdown-elements.js +62 -22
  152. package/dist/ui/markdown-heading.d.ts +9 -0
  153. package/dist/ui/markdown-heading.js +25 -0
  154. package/dist/ui/resizable.js +24 -9
  155. package/dist/ui/sidebar-provider.js +3 -12
  156. package/dist/ui/typography.d.ts +1 -0
  157. package/dist/ui/typography.js +12 -3
  158. package/dist/user-ask.js +4 -8
  159. package/package.json +7 -3
  160. package/dist/ui/emoji-icon-picker.d.ts +0 -13
  161. package/dist/ui/emoji-icon-picker.js +0 -50
@@ -0,0 +1,378 @@
1
+ @layer components {
2
+ :where([data-control-family="chart"][data-slot="root"]) {
3
+ --cui-chart-foreground: var(--muted-foreground);
4
+ --cui-chart-background: var(--card);
5
+ --cui-chart-line-size: 2px;
6
+ --cui-chart-area-opacity: 1;
7
+ --cui-chart-hatch-opacity: 0.6;
8
+ --cui-chart-hatch-tint-opacity: 0.12;
9
+ --cui-chart-tooltip-background: var(--popover);
10
+ --cui-chart-tooltip-foreground: var(--popover-foreground);
11
+ --cui-chart-tooltip-border-color: var(--border);
12
+ --cui-chart-tooltip-border-width: var(--control-rim-width);
13
+ --cui-chart-tooltip-radius: var(--radius-md);
14
+ --cui-chart-tooltip-shadow: var(--shadow-md);
15
+ --cui-chart-tooltip-padding: calc(var(--spacing) * 2.5);
16
+ --cui-chart-legend-gap: calc(var(--spacing) * 4);
17
+ --cui-chart-swatch-size: calc(var(--spacing) * 2.5);
18
+ --cui-chart-swatch-radius: calc(var(--radius-sm) * 0.5);
19
+ --cui-chart-animation-duration: calc(var(--duration-slow) * 2);
20
+ --cui-chart-transition-duration: var(--duration-slow);
21
+ --cui-chart-easing: var(--ease-emphasized);
22
+ --ts-chart-1: var(--chart-blue);
23
+ --ts-chart-2: var(--chart-purple);
24
+ --ts-chart-3: var(--chart-pink);
25
+ --ts-chart-4: var(--chart-orange);
26
+ --ts-chart-5: var(--chart-green);
27
+ --ts-chart-6: var(--chart-yellow);
28
+ --ts-chart-tooltip-background: transparent;
29
+ --ts-chart-tooltip-color: var(--cui-chart-tooltip-foreground);
30
+ --ts-chart-tooltip-border: none;
31
+ --ts-chart-tooltip-border-radius: var(--cui-chart-tooltip-radius);
32
+ --ts-chart-tooltip-shadow: none;
33
+ --ts-chart-tooltip-padding: 0;
34
+ --ts-chart-tooltip-font: var(--text-label) / 1.4 var(--font-body);
35
+ --ts-chart-focus-fill: var(--cui-chart-background);
36
+ --ts-chart-crosshair-label-halo: var(--cui-chart-background);
37
+ --ts-chart-crosshair-marker-fill: var(--cui-chart-background);
38
+ display: grid;
39
+ gap: calc(var(--spacing) * 3);
40
+ min-inline-size: 0;
41
+ color: var(--cui-chart-foreground);
42
+ font-family: var(--font-body);
43
+ font-variant-numeric: tabular-nums;
44
+ }
45
+
46
+ :where([data-control-family="chart"][data-slot="plot"]) {
47
+ position: relative;
48
+ min-inline-size: 0;
49
+ }
50
+
51
+ :where([data-control-family="chart"][data-slot="plot"] .cui-chart-line path) {
52
+ stroke-width: var(--cui-chart-line-size);
53
+ }
54
+
55
+ :where([data-control-family="chart"][data-slot="plot"] .cui-chart-area path) {
56
+ fill-opacity: var(--cui-chart-area-opacity);
57
+ }
58
+
59
+ :where([data-control-family="chart"][data-slot="plot"] .cui-chart-area-hatched path) {
60
+ mask: var(--_cui-chart-fade);
61
+ }
62
+
63
+ :where([data-control-family="chart"][data-slot="plot"] [data-slot="hatch-stripe"]) {
64
+ fill-opacity: var(--cui-chart-hatch-opacity);
65
+ }
66
+
67
+ :where([data-control-family="chart"][data-slot="plot"] [data-slot="hatch-tint"]) {
68
+ fill-opacity: var(--cui-chart-hatch-tint-opacity);
69
+ }
70
+
71
+ :where([data-control-family="chart"][data-slot="plot"] :is(path, circle)) {
72
+ transition:
73
+ d var(--cui-chart-transition-duration) var(--cui-chart-easing),
74
+ cx var(--cui-chart-transition-duration) var(--cui-chart-easing),
75
+ cy var(--cui-chart-transition-duration) var(--cui-chart-easing),
76
+ r var(--cui-chart-transition-duration) var(--cui-chart-easing),
77
+ opacity var(--duration-fast) var(--ease-standard),
78
+ fill-opacity var(--duration-fast) var(--ease-standard);
79
+ }
80
+
81
+ :where([data-control-family="chart"][data-slot="plot"][data-resizing] :is(path, circle)) {
82
+ transition: none;
83
+ }
84
+
85
+ :where([data-control-family="chart"][data-slot="plot"] :is(.cui-chart-area, .cui-chart-line) path) {
86
+ animation: cui-chart-reveal var(--cui-chart-animation-duration) var(--cui-chart-easing) backwards;
87
+ }
88
+
89
+ :where([data-control-family="chart"][data-slot="plot"] .cui-chart-bar-y path) {
90
+ transform-box: fill-box;
91
+ transform-origin: 50% 100%;
92
+ animation: cui-chart-grow-y var(--cui-chart-animation-duration) var(--cui-chart-easing) backwards;
93
+ }
94
+
95
+ :where([data-control-family="chart"][data-slot="plot"] .cui-chart-bar-x path) {
96
+ transform-box: fill-box;
97
+ transform-origin: 0% 50%;
98
+ animation: cui-chart-grow-x var(--cui-chart-animation-duration) var(--cui-chart-easing) backwards;
99
+ }
100
+
101
+ :where([data-control-family="chart"][data-slot="plot"] .cui-chart-bar-y .cui-chart-bar-negative) {
102
+ transform-origin: 50% 0%;
103
+ }
104
+
105
+ :where([data-control-family="chart"][data-slot="plot"] .cui-chart-bar-x .cui-chart-bar-negative) {
106
+ transform-origin: 100% 50%;
107
+ }
108
+
109
+ :where([data-control-family="chart"][data-slot="plot"] .cui-chart-dot circle) {
110
+ transform-box: fill-box;
111
+ transform-origin: center;
112
+ animation: cui-chart-pop var(--cui-chart-animation-duration) var(--cui-chart-easing) backwards;
113
+ }
114
+
115
+ :where([data-control-family="chart"][data-slot="plot"] .cui-chart-arc) {
116
+ transform-box: fill-box;
117
+ transform-origin: center;
118
+ animation: cui-chart-sweep var(--cui-chart-animation-duration) var(--cui-chart-easing) backwards;
119
+ }
120
+
121
+ :where([data-control-family="chart"][data-slot="plot"] .cui-chart-radial-bar) {
122
+ transform-box: fill-box;
123
+ transform-origin: center;
124
+ animation: cui-chart-pop var(--cui-chart-animation-duration) var(--cui-chart-easing) backwards;
125
+ }
126
+
127
+ @supports (animation-delay: calc(sibling-index() * 1s)) {
128
+ :where([data-control-family="chart"][data-slot="plot"] :is(.cui-chart-bar-y, .cui-chart-bar-x) path) {
129
+ animation-delay: calc(min(sibling-index() - 1, 12) * var(--cui-chart-animation-duration) / 24);
130
+ }
131
+
132
+ :where([data-control-family="chart"][data-slot="plot"] .cui-chart-dot circle) {
133
+ animation-delay: calc(min(sibling-index() - 1, 12) * var(--cui-chart-animation-duration) / 24);
134
+ }
135
+ }
136
+
137
+ :where([data-control-family="chart"][data-slot="legend"]) {
138
+ display: flex;
139
+ flex-wrap: wrap;
140
+ align-items: center;
141
+ gap: calc(var(--spacing) * 1.5) var(--cui-chart-legend-gap);
142
+ }
143
+
144
+ :where([data-control-family="chart"] [data-slot="swatch"]) {
145
+ flex: none;
146
+ inline-size: var(--cui-chart-swatch-size);
147
+ block-size: var(--cui-chart-swatch-size);
148
+ border-radius: var(--cui-chart-swatch-radius);
149
+ background: var(--_cui-chart-swatch);
150
+ }
151
+
152
+ :where([data-control-family="chart"][data-slot="legend-item"][data-fill="gradient"] [data-slot="swatch"]) {
153
+ background: linear-gradient(to bottom, var(--_cui-chart-swatch), oklch(from var(--_cui-chart-swatch) l c h / 0.35));
154
+ }
155
+
156
+ :where([data-control-family="chart"][data-slot="legend-item"][data-fill="hatched"] [data-slot="swatch"]) {
157
+ background: repeating-linear-gradient(
158
+ -45deg,
159
+ var(--_cui-chart-swatch) 0 1.5px,
160
+ oklch(from var(--_cui-chart-swatch) l c h / 0.15) 1.5px 3.5px
161
+ );
162
+ box-shadow: inset 0 0 0 1px var(--_cui-chart-swatch);
163
+ }
164
+
165
+ :where([data-control-family="chart"][data-slot="legend-item"][data-hidden="true"]) {
166
+ opacity: 0.45;
167
+ }
168
+
169
+ :where([data-control-family="chart"][data-slot="legend-item"][data-hidden="true"] [data-slot="swatch"]) {
170
+ background: transparent;
171
+ box-shadow: inset 0 0 0 1px var(--_cui-chart-swatch);
172
+ }
173
+
174
+ :where([data-control-family="chart"][data-slot="legend-toggle"]) {
175
+ display: inline-flex;
176
+ align-items: center;
177
+ gap: calc(var(--spacing) * 1.5);
178
+ min-block-size: var(--target-min);
179
+ border-radius: var(--radius-sm);
180
+ transition: opacity var(--duration-fast) var(--ease-standard);
181
+ }
182
+
183
+ :where([data-control-family="chart"][data-slot="tooltip"]) {
184
+ padding: var(--cui-chart-tooltip-padding);
185
+ border: var(--cui-chart-tooltip-border-width) solid var(--cui-chart-tooltip-border-color);
186
+ border-radius: var(--cui-chart-tooltip-radius);
187
+ background: var(--cui-chart-tooltip-background);
188
+ color: var(--cui-chart-tooltip-foreground);
189
+ box-shadow: var(--cui-chart-tooltip-shadow);
190
+ }
191
+
192
+ :where([data-control-family="chart"][data-slot="plot"] .ts-chart) {
193
+ outline: none;
194
+ }
195
+
196
+ :where([data-control-family="chart"][data-slot="plot"] .ts-chart-tooltip) {
197
+ transition:
198
+ left var(--duration-base) var(--cui-chart-easing),
199
+ top var(--duration-base) var(--cui-chart-easing),
200
+ opacity var(--duration-fast) var(--ease-standard),
201
+ scale var(--duration-fast) var(--ease-standard),
202
+ display var(--duration-fast) allow-discrete;
203
+ }
204
+
205
+ :where([data-control-family="chart"][data-slot="plot"][data-tooltip-entering] .ts-chart-tooltip) {
206
+ transition:
207
+ opacity var(--duration-fast) var(--ease-standard),
208
+ scale var(--duration-fast) var(--ease-standard),
209
+ display var(--duration-fast) allow-discrete;
210
+ }
211
+
212
+ :where([data-control-family="chart"][data-slot="plot"] .ts-chart-tooltip[hidden]) {
213
+ opacity: 0;
214
+ scale: 0.96;
215
+ }
216
+
217
+ @starting-style {
218
+ :where([data-control-family="chart"][data-slot="plot"] .ts-chart-tooltip) {
219
+ opacity: 0;
220
+ scale: 0.96;
221
+ }
222
+ }
223
+
224
+ @keyframes cui-chart-reveal {
225
+ from {
226
+ clip-path: inset(-8px 100% -8px -8px);
227
+ }
228
+ to {
229
+ clip-path: inset(-8px);
230
+ }
231
+ }
232
+
233
+ @keyframes cui-chart-grow-y {
234
+ from {
235
+ scale: 1 0;
236
+ }
237
+ }
238
+
239
+ @keyframes cui-chart-grow-x {
240
+ from {
241
+ scale: 0 1;
242
+ }
243
+ }
244
+
245
+ @keyframes cui-chart-pop {
246
+ from {
247
+ scale: 0.6;
248
+ opacity: 0;
249
+ }
250
+ }
251
+
252
+ @keyframes cui-chart-sweep {
253
+ from {
254
+ scale: 0.85;
255
+ rotate: -25deg;
256
+ opacity: 0;
257
+ }
258
+ }
259
+
260
+ @media (prefers-reduced-motion: reduce) {
261
+ :where([data-control-family="chart"] *) {
262
+ animation: none;
263
+ transition: none;
264
+ }
265
+ }
266
+ }
267
+
268
+ @property --cui-chart-foreground {
269
+ syntax: "<color>";
270
+ inherits: true;
271
+ initial-value: transparent;
272
+ }
273
+
274
+ @property --cui-chart-background {
275
+ syntax: "<color>";
276
+ inherits: true;
277
+ initial-value: transparent;
278
+ }
279
+
280
+ @property --cui-chart-line-size {
281
+ syntax: "<length-percentage>";
282
+ inherits: true;
283
+ initial-value: 0px;
284
+ }
285
+
286
+ @property --cui-chart-area-opacity {
287
+ syntax: "<number>";
288
+ inherits: true;
289
+ initial-value: 1;
290
+ }
291
+
292
+ @property --cui-chart-hatch-opacity {
293
+ syntax: "<number>";
294
+ inherits: true;
295
+ initial-value: 1;
296
+ }
297
+
298
+ @property --cui-chart-hatch-tint-opacity {
299
+ syntax: "<number>";
300
+ inherits: true;
301
+ initial-value: 1;
302
+ }
303
+
304
+ @property --cui-chart-tooltip-background {
305
+ syntax: "<color>";
306
+ inherits: true;
307
+ initial-value: transparent;
308
+ }
309
+
310
+ @property --cui-chart-tooltip-foreground {
311
+ syntax: "<color>";
312
+ inherits: true;
313
+ initial-value: transparent;
314
+ }
315
+
316
+ @property --cui-chart-tooltip-border-color {
317
+ syntax: "<color>";
318
+ inherits: true;
319
+ initial-value: transparent;
320
+ }
321
+
322
+ @property --cui-chart-tooltip-border-width {
323
+ syntax: "<length>";
324
+ inherits: true;
325
+ initial-value: 0px;
326
+ }
327
+
328
+ @property --cui-chart-tooltip-radius {
329
+ syntax: "<length-percentage>";
330
+ inherits: true;
331
+ initial-value: 0px;
332
+ }
333
+
334
+ @property --cui-chart-tooltip-shadow {
335
+ syntax: "*";
336
+ inherits: true;
337
+ }
338
+
339
+ @property --cui-chart-tooltip-padding {
340
+ syntax: "<length-percentage>";
341
+ inherits: true;
342
+ initial-value: 0px;
343
+ }
344
+
345
+ @property --cui-chart-legend-gap {
346
+ syntax: "<length-percentage>";
347
+ inherits: true;
348
+ initial-value: 0px;
349
+ }
350
+
351
+ @property --cui-chart-swatch-size {
352
+ syntax: "<length-percentage>";
353
+ inherits: true;
354
+ initial-value: 0px;
355
+ }
356
+
357
+ @property --cui-chart-swatch-radius {
358
+ syntax: "<length-percentage>";
359
+ inherits: true;
360
+ initial-value: 0px;
361
+ }
362
+
363
+ @property --cui-chart-animation-duration {
364
+ syntax: "<time>";
365
+ inherits: true;
366
+ initial-value: 0s;
367
+ }
368
+
369
+ @property --cui-chart-transition-duration {
370
+ syntax: "<time>";
371
+ inherits: true;
372
+ initial-value: 0s;
373
+ }
374
+
375
+ @property --cui-chart-easing {
376
+ syntax: "*";
377
+ inherits: true;
378
+ }
@@ -154,19 +154,19 @@
154
154
  }
155
155
 
156
156
  @property --cui-chat-composer-attachment-radius {
157
- syntax: "<length>";
157
+ syntax: "<length-percentage>";
158
158
  inherits: true;
159
159
  initial-value: 0px;
160
160
  }
161
161
 
162
162
  @property --cui-chat-composer-attachment-height {
163
- syntax: "<length>";
163
+ syntax: "<length-percentage>";
164
164
  inherits: true;
165
165
  initial-value: 0px;
166
166
  }
167
167
 
168
168
  @property --cui-chat-composer-attachment-list-padding {
169
- syntax: "<length>";
169
+ syntax: "<length-percentage>";
170
170
  inherits: true;
171
171
  initial-value: 0px;
172
172
  }
@@ -138,7 +138,7 @@
138
138
  }
139
139
 
140
140
  @property --cui-chat-composer-shell-radius {
141
- syntax: "<length>";
141
+ syntax: "<length-percentage>";
142
142
  inherits: true;
143
143
  initial-value: 0px;
144
144
  }
@@ -195,13 +195,13 @@
195
195
  }
196
196
 
197
197
  @property --cui-chat-composer-mention-radius {
198
- syntax: "<length>";
198
+ syntax: "<length-percentage>";
199
199
  inherits: true;
200
200
  initial-value: 0px;
201
201
  }
202
202
 
203
203
  @property --cui-chat-composer-mention-icon-radius {
204
- syntax: "<length>";
204
+ syntax: "<length-percentage>";
205
205
  inherits: true;
206
206
  initial-value: 0px;
207
207
  }
@@ -141,13 +141,13 @@
141
141
  }
142
142
 
143
143
  @property --cui-chat-layout-scroll-button-gap {
144
- syntax: "<length>";
144
+ syntax: "<length-percentage>";
145
145
  inherits: true;
146
146
  initial-value: 0px;
147
147
  }
148
148
 
149
149
  @property --cui-chat-layout-turn-gap {
150
- syntax: "<length>";
150
+ syntax: "<length-percentage>";
151
151
  inherits: true;
152
152
  initial-value: 0px;
153
153
  }
@@ -3,7 +3,7 @@
3
3
  gap: calc(var(--spacing) * 2);
4
4
  min-block-size: calc(var(--spacing) * 5);
5
5
  font-size: var(--text-caption);
6
- color: var(--muted-foreground);
6
+ --cui-chat-message-foreground: var(--muted-foreground);
7
7
  }
8
8
 
9
9
  :where([data-control-family="chat-message"][data-slot="row"][data-continuation]) {
@@ -305,7 +305,7 @@
305
305
  }
306
306
 
307
307
  @property --cui-chat-message-pending-dot-size {
308
- syntax: "<length>";
308
+ syntax: "<length-percentage>";
309
309
  inherits: true;
310
310
  initial-value: 0px;
311
311
  }
@@ -9,7 +9,8 @@
9
9
  --cui-choice-border-width: var(--control-rim-width);
10
10
  --cui-choice-checked-background: var(--primary);
11
11
  --cui-choice-checked-border-color: var(--primary);
12
- --_choice-background: var(--control-fill);
12
+ --cui-choice-background: var(--control-fill);
13
+ --_choice-background: var(--cui-choice-background);
13
14
  border-radius: var(--cui-choice-radius);
14
15
  background: var(--_choice-background);
15
16
  box-shadow: var(--cui-choice-shadow);
@@ -109,7 +110,13 @@
109
110
  @property --cui-choice-border-width {
110
111
  syntax: "<length>";
111
112
  inherits: true;
112
- initial-value: 1px;
113
+ initial-value: 0px;
114
+ }
115
+
116
+ @property --cui-choice-background {
117
+ syntax: "<color>";
118
+ inherits: true;
119
+ initial-value: transparent;
113
120
  }
114
121
 
115
122
  @property --cui-choice-checked-background {
@@ -127,5 +134,4 @@
127
134
  @property --cui-choice-shadow {
128
135
  syntax: "*";
129
136
  inherits: true;
130
- initial-value: none;
131
137
  }
@@ -195,7 +195,7 @@
195
195
  }
196
196
 
197
197
  @property --cui-code-diff-radius {
198
- syntax: "<length>";
198
+ syntax: "<length-percentage>";
199
199
  inherits: true;
200
200
  initial-value: 0px;
201
201
  }
@@ -145,7 +145,7 @@
145
145
  }
146
146
 
147
147
  @property --cui-code-radius {
148
- syntax: "<length>";
148
+ syntax: "<length-percentage>";
149
149
  inherits: true;
150
150
  initial-value: 0px;
151
151
  }
@@ -1,6 +1,8 @@
1
1
  @layer components {
2
2
  :where([data-control-family="color-picker"][data-slot="trigger-color"]) {
3
3
  border-radius: inherit;
4
+ corner-shape: inherit;
5
+ box-shadow: var(--cui-color-picker-trigger-shadow);
4
6
  }
5
7
 
6
8
  :where([data-control-family="color-picker"][data-slot="trigger"]) {
@@ -8,7 +10,6 @@
8
10
  transition-property: transform, translate, scale, rotate;
9
11
  transition-timing-function: var(--ease-standard);
10
12
  transition-duration: var(--duration-fast);
11
- box-shadow: var(--cui-color-picker-trigger-shadow);
12
13
  }
13
14
 
14
15
  :where([data-control-family="color-picker"][data-slot="trigger"]:disabled) {
@@ -24,15 +25,18 @@
24
25
  }
25
26
 
26
27
  :where([data-control-family="color-picker"][data-slot="area-saturation"]) {
27
- background-image: linear-gradient(to right in srgb, var(--color-white), transparent);
28
+ background-image: linear-gradient(to right in srgb, oklch(1 0 0), transparent);
28
29
  }
29
30
 
30
31
  :where([data-control-family="color-picker"][data-slot="area-brightness"]) {
31
- background-image: linear-gradient(to top in srgb, var(--color-black), transparent);
32
+ border-radius: inherit;
33
+ corner-shape: inherit;
34
+ background-image: linear-gradient(to top in srgb, oklch(0 0 0), transparent);
35
+ box-shadow: inset 0 0 0 var(--control-rim-width) oklch(from var(--foreground) l c h / 0.1);
32
36
  }
33
37
 
34
38
  :where([data-control-family="color-picker"][data-slot="contrast-level"][data-passing="true"]) {
35
- background-color: color-mix(in oklab, var(--foreground) 6%, transparent);
39
+ background-color: var(--hover-fill);
36
40
  --_color-picker-contrast-level-foreground: var(--foreground);
37
41
  color: var(--_color-picker-contrast-level-foreground);
38
42
  }
@@ -48,12 +52,14 @@
48
52
  font-variant-numeric: tabular-nums;
49
53
  }
50
54
 
51
- :where(
52
- [data-control-family="color-picker"][data-slot="wheel"][data-dragging] [data-control-family="color-picker"][data-slot="wheel-thumb"]
53
- ),
54
- :where(
55
- [data-control-family="color-picker"][data-slot="area"][data-dragging] [data-control-family="color-picker"][data-slot="area-thumb"]
56
- ) {
57
- scale: 110% 110%;
55
+ :where([data-control-family="color-picker"][data-slot="area-contrast-fail"]) {
56
+ background-image: radial-gradient(circle, oklch(1 0 0 / 0.6) 0.75px, transparent 1.25px);
57
+ background-size: calc(var(--spacing) * 1.5) calc(var(--spacing) * 1.5);
58
+ }
59
+
60
+ :where([data-control-family="color-picker"][data-slot="area-contrast-threshold"]) {
61
+ stroke: oklch(1 0 0);
62
+ stroke-width: 1.5px;
63
+ filter: drop-shadow(0 0 1px oklch(0 0 0 / 0.5));
58
64
  }
59
65
  }
@@ -9,7 +9,12 @@
9
9
  inline-size: calc(var(--spacing) * 6);
10
10
  block-size: calc(var(--spacing) * 6);
11
11
  border-radius: var(--cui-color-picker-output-swatch-radius);
12
- box-shadow: inset 0 0 0 1px color-mix(in oklab, var(--border) 60%, transparent);
12
+ }
13
+
14
+ :where([data-control-family="color-picker"][data-slot="output-color"]) {
15
+ border-radius: inherit;
16
+ corner-shape: inherit;
17
+ box-shadow: inset 0 0 0 var(--control-rim-width) oklch(from var(--foreground) l c h / 0.1);
13
18
  }
14
19
 
15
20
  :where([data-control-family="color-picker"][data-slot="contrast-level"]) {
@@ -31,7 +36,7 @@
31
36
 
32
37
  @media (hover: hover) {
33
38
  :where([data-control-family="color-picker"][data-slot="contrast-fix"]:hover:not(:disabled)) {
34
- background-color: color-mix(in oklab, var(--foreground) 6%, transparent);
39
+ background-color: var(--hover-fill);
35
40
  }
36
41
  }
37
42
 
@@ -46,7 +51,7 @@
46
51
 
47
52
  :where([data-control-family="color-picker"][data-slot="swatch-add"]) {
48
53
  border-radius: var(--radius-md);
49
- border-width: 1px;
54
+ border-width: var(--control-rim-width);
50
55
  border-style: dashed;
51
56
  --_color-picker-swatch-add-border-color: var(--border);
52
57
  border-color: var(--_color-picker-swatch-add-border-color);
@@ -56,7 +61,7 @@
56
61
 
57
62
  @media (hover: hover) {
58
63
  :where([data-control-family="color-picker"][data-slot="swatch-add"]:hover:not(:disabled)) {
59
- --_color-picker-swatch-add-border-color: color-mix(in oklab, var(--foreground) 40%, transparent);
64
+ --_color-picker-swatch-add-border-color: oklch(from var(--foreground) l c h / 0.4);
60
65
  border-color: var(--_color-picker-swatch-add-border-color);
61
66
  --_color-picker-swatch-add-foreground: var(--foreground);
62
67
  color: var(--_color-picker-swatch-add-foreground);
@@ -65,16 +70,21 @@
65
70
 
66
71
  :where([data-control-family="color-picker"][data-slot="swatch"]) {
67
72
  border-radius: var(--cui-color-picker-swatch-radius);
68
- transition-property: box-shadow, scale;
73
+ transition-property: scale;
69
74
  transition-timing-function: var(--ease-standard);
70
75
  transition-duration: var(--duration-fast);
71
- --_color-picker-swatch-shadow: inset 0 0 0 1px color-mix(in oklab, var(--border) 60%, transparent);
72
- box-shadow: var(--_color-picker-swatch-shadow);
76
+ --_color-picker-swatch-shadow: inset 0 0 0 var(--control-rim-width) oklch(from var(--foreground) l c h / 0.1);
73
77
  }
74
78
 
75
79
  :where([data-control-family="color-picker"][data-slot="swatch"][data-selected="true"]) {
76
80
  --_color-picker-swatch-shadow: inset 0 0 0 2px var(--foreground);
81
+ }
82
+
83
+ :where([data-control-family="color-picker"][data-slot="swatch-color"]) {
84
+ border-radius: inherit;
85
+ corner-shape: inherit;
77
86
  box-shadow: var(--_color-picker-swatch-shadow);
87
+ transition: box-shadow var(--duration-fast) var(--ease-standard);
78
88
  }
79
89
 
80
90
  :where([data-control-family="color-picker"]:is([data-slot="swatch"], [data-slot="swatch-add"], [data-slot="contrast-fix"]):disabled) {