@slotted/styles 0.1.0-beta.7 → 0.1.0-beta.9

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 (128) hide show
  1. package/package.json +1 -1
  2. package/src/accordion/accordion.css +10 -10
  3. package/src/action-bar/action-bar.css +31 -32
  4. package/src/action-sheet/action-sheet.css +36 -36
  5. package/src/alert/alert.css +35 -35
  6. package/src/app-shell/app-shell.css +280 -299
  7. package/src/aspect-ratio/aspect-ratio.css +9 -9
  8. package/src/attachment/attachment.css +91 -99
  9. package/src/avatar/avatar.css +41 -41
  10. package/src/avatar-group/avatar-group.css +21 -22
  11. package/src/badge/badge.css +37 -37
  12. package/src/breadcrumb/breadcrumb.css +37 -37
  13. package/src/button/button.css +88 -69
  14. package/src/button-group/button-group.css +69 -73
  15. package/src/calendar/calendar.css +93 -103
  16. package/src/card/card.css +54 -61
  17. package/src/carousel/carousel.css +150 -161
  18. package/src/cascader/cascader.css +147 -151
  19. package/src/chart/chart.css +225 -240
  20. package/src/checkbox/checkbox.css +119 -124
  21. package/src/checkbox-group/checkbox-group.css +7 -7
  22. package/src/code-block/code-block.css +81 -85
  23. package/src/collapsible/collapsible.css +69 -76
  24. package/src/color-picker/color-picker.css +83 -91
  25. package/src/column-manager/column-manager.css +106 -114
  26. package/src/combobox/combobox.css +99 -101
  27. package/src/command-palette/command-palette.css +84 -90
  28. package/src/container/container.css +24 -24
  29. package/src/context-menu/context-menu.css +8 -8
  30. package/src/currency-field/currency-field.css +99 -104
  31. package/src/dashboard-grid/dashboard-grid.css +104 -107
  32. package/src/data-grid/data-grid.css +458 -456
  33. package/src/data-grid/data-grid.tokens.json +2 -0
  34. package/src/data-list/data-list.css +67 -69
  35. package/src/date-field/date-field.css +50 -50
  36. package/src/date-picker/date-picker.css +40 -42
  37. package/src/date-range-picker/date-range-picker.css +114 -118
  38. package/src/datetime-field/datetime-field.css +73 -78
  39. package/src/datetime-picker/datetime-picker.css +61 -63
  40. package/src/datetime-range-picker/datetime-range-picker.css +149 -156
  41. package/src/description-list/description-list.css +61 -64
  42. package/src/detail-panel/detail-panel.css +70 -70
  43. package/src/dialog/dialog.css +312 -148
  44. package/src/divider/divider.css +18 -18
  45. package/src/drawer/drawer.css +186 -209
  46. package/src/entity-picker/entity-picker.css +220 -239
  47. package/src/event-calendar/event-calendar.css +343 -385
  48. package/src/field/field.css +74 -78
  49. package/src/field-group/field-group.css +22 -25
  50. package/src/filter-bar/filter-bar.css +193 -209
  51. package/src/form/form.css +21 -24
  52. package/src/fullscreen/fullscreen.css +24 -25
  53. package/src/grid/grid.css +28 -28
  54. package/src/highlight/highlight.css +6 -6
  55. package/src/hover-card/hover-card.css +6 -6
  56. package/src/icon/icon.css +15 -15
  57. package/src/image/image.css +39 -39
  58. package/src/import-export-center/import-export-center.css +135 -156
  59. package/src/inline/inline.css +27 -27
  60. package/src/inline-message/inline-message.css +28 -28
  61. package/src/kbd/kbd.css +26 -26
  62. package/src/link/link.css +15 -15
  63. package/src/list/list.css +20 -20
  64. package/src/list-item/list-item.css +66 -66
  65. package/src/listbox/listbox.css +56 -59
  66. package/src/loading-overlay/loading-overlay.css +75 -92
  67. package/src/markdown/markdown.css +17 -17
  68. package/src/menu/menu.css +63 -65
  69. package/src/menubar/menubar.css +13 -13
  70. package/src/message/message.css +174 -202
  71. package/src/message-scroller/message-scroller.css +41 -42
  72. package/src/multi-select/multi-select.css +131 -137
  73. package/src/navigation-menu/navigation-menu.css +167 -188
  74. package/src/notification-center/notification-center.css +134 -148
  75. package/src/number-field/number-field.css +76 -81
  76. package/src/otp-input/otp-input.css +48 -48
  77. package/src/page/page.css +23 -23
  78. package/src/page-header/page-header.css +219 -280
  79. package/src/pagination/pagination.css +68 -72
  80. package/src/popover/popover.css +40 -49
  81. package/src/progress-indicator/progress-indicator.css +85 -90
  82. package/src/prompt-composer/prompt-composer.css +94 -99
  83. package/src/prose/prose.css +71 -75
  84. package/src/radio-group/radio-group.css +98 -103
  85. package/src/rating/rating.css +132 -132
  86. package/src/result-state/result-state.css +74 -77
  87. package/src/saved-views/saved-views.css +41 -47
  88. package/src/scroll-area/scroll-area.css +32 -35
  89. package/src/section/section.css +16 -16
  90. package/src/segmented-control/segmented-control.css +77 -79
  91. package/src/select/select.css +113 -115
  92. package/src/side-navigation/side-navigation.css +170 -180
  93. package/src/skeleton/skeleton.css +47 -48
  94. package/src/slider/slider.css +86 -88
  95. package/src/sparkline/sparkline.css +32 -32
  96. package/src/spinner/spinner.css +4 -4
  97. package/src/split-button/split-button.css +26 -31
  98. package/src/splitter/splitter.css +35 -35
  99. package/src/stack/stack.css +24 -24
  100. package/src/stat-card/stat-card.css +102 -103
  101. package/src/status-indicator/status-indicator.css +28 -28
  102. package/src/stepper/stepper.css +58 -62
  103. package/src/switch/switch.css +86 -92
  104. package/src/table/table.css +189 -198
  105. package/src/table-of-contents/table-of-contents.css +51 -54
  106. package/src/tabs/tabs.css +157 -172
  107. package/src/tag/tag.css +67 -71
  108. package/src/tags-input/tags-input.css +124 -74
  109. package/src/tags-input/tags-input.tokens.json +6 -1
  110. package/src/text-field/text-field.css +108 -126
  111. package/src/textarea/textarea.css +26 -26
  112. package/src/time-field/time-field.css +67 -67
  113. package/src/time-picker/time-picker.css +56 -58
  114. package/src/time-range-picker/time-range-picker.css +126 -133
  115. package/src/timeline/timeline.css +244 -266
  116. package/src/toast/toast.css +81 -90
  117. package/src/toggle/toggle.css +29 -33
  118. package/src/toggle-group/toggle-group.css +67 -71
  119. package/src/toolbar/toolbar.css +30 -35
  120. package/src/tooltip/tooltip.css +26 -26
  121. package/src/top-navigation/top-navigation.css +243 -259
  122. package/src/tour/tour.css +51 -60
  123. package/src/transfer/transfer.css +160 -164
  124. package/src/tree/tree.css +103 -111
  125. package/src/typography/typography.css +36 -36
  126. package/src/upload/upload.css +224 -224
  127. package/src/visually-hidden/visually-hidden.css +1 -1
  128. package/src/wizard/wizard.css +185 -197
@@ -13,7 +13,7 @@
13
13
  * as a runtime property (`runtime-properties.mjs`); the panel's own chrome
14
14
  * reads the theme like any other family.
15
15
  */
16
- [data-ui='color-picker'][data-part='root'] {
16
+ [data-ui-color-picker][data-part-root] {
17
17
  --_thumb: var(--slotted-color-picker-thumb-size, var(--slotted-space-6, 1rem));
18
18
  --_channel: var(--slotted-color-picker-channel-size, var(--slotted-space-5, 0.75rem));
19
19
  --_gap: var(--slotted-space-5, 0.75rem);
@@ -45,7 +45,7 @@
45
45
  min-inline-size: 0;
46
46
  }
47
47
 
48
- [data-ui='color-picker'][data-part='root'][data-size='sm'] {
48
+ [data-ui-color-picker][data-part-root][data-size='sm'] {
49
49
  --_gap: var(--slotted-space-4, 0.5rem);
50
50
  --_inner-size: var(--slotted-control-inner-size-sm, 22px);
51
51
  --_icon-size: var(--slotted-control-icon-size-sm, 14px);
@@ -53,7 +53,7 @@
53
53
  font-size: var(--slotted-control-font-size-sm, 12px);
54
54
  }
55
55
 
56
- [data-ui='color-picker'][data-part='root'][data-size='lg'] {
56
+ [data-ui-color-picker][data-part-root][data-size='lg'] {
57
57
  --_gap: var(--slotted-space-6, 1rem);
58
58
  --_inner-size: var(--slotted-control-inner-size-lg, 28px);
59
59
  --_icon-size: var(--slotted-control-icon-size-lg, 18px);
@@ -69,7 +69,7 @@
69
69
  * and nowhere else. The edge is drawn inside, a hairline of the theme's
70
70
  * subtle border, so a pale colour still has a boundary on a pale page.
71
71
  */
72
- [data-ui='color-picker'] [data-part='area'] {
72
+ [data-ui-color-picker] [data-part-area] {
73
73
  aspect-ratio: 3 / 2;
74
74
  background:
75
75
  linear-gradient(to top, #000, transparent), linear-gradient(to right, #fff, transparent),
@@ -85,7 +85,7 @@
85
85
 
86
86
  /* The area mirrors in a right-to-left document: saturation grows along the
87
87
  reading direction, the way the hue channel does. */
88
- [data-ui='color-picker'] [data-part='area']:dir(rtl) {
88
+ [data-ui-color-picker] [data-part-area]:dir(rtl) {
89
89
  background:
90
90
  linear-gradient(to top, #000, transparent), linear-gradient(to left, #fff, transparent),
91
91
  hsl(calc(var(--_hue) * 1deg) 100% 50%);
@@ -98,7 +98,7 @@
98
98
  * ring is the model's white for the reason the area's is. Held, it grows a
99
99
  * step, so the reader sees what the pointer has taken.
100
100
  */
101
- [data-ui='color-picker'] :is([data-part='area-thumb'], [data-part='channel-thumb']) {
101
+ [data-ui-color-picker] :is([data-part-area-thumb], [data-part-channel-thumb]) {
102
102
  background: var(--_opaque);
103
103
  block-size: var(--_thumb);
104
104
  border: var(--slotted-border-width-medium, 2px) solid #fff;
@@ -116,24 +116,23 @@
116
116
  translate: -50% -50%;
117
117
  }
118
118
 
119
- [data-ui='color-picker'] [data-part='area-thumb'] {
119
+ [data-ui-color-picker] [data-part-area-thumb] {
120
120
  inset-block-start: calc((1 - var(--slotted-color-picker-y, 1)) * 100%);
121
121
  inset-inline-start: calc(var(--slotted-color-picker-x, 1) * 100%);
122
122
  }
123
123
 
124
- [data-ui='color-picker'] [data-part='area-thumb']:dir(rtl) {
124
+ [data-ui-color-picker] [data-part-area-thumb]:dir(rtl) {
125
125
  translate: 50% -50%;
126
126
  }
127
127
 
128
- [data-ui='color-picker']
129
- :is([data-part='area'], [data-part='channel'])[data-dragging]
130
- > :is([data-part='area-thumb'], [data-part='channel-thumb']) {
128
+ [data-ui-color-picker]
129
+ :is([data-part-area], [data-part-channel])[data-dragging]
130
+ > :is([data-part-area-thumb], [data-part-channel-thumb]) {
131
131
  cursor: grabbing;
132
132
  scale: 1.15;
133
133
  }
134
134
 
135
- [data-ui='color-picker']
136
- :is([data-part='area-thumb'], [data-part='channel-thumb']):focus-visible {
135
+ [data-ui-color-picker] :is([data-part-area-thumb], [data-part-channel-thumb]):focus-visible {
137
136
  outline: var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);
138
137
  outline-offset: var(--slotted-focus-ring-offset, 2px);
139
138
  }
@@ -144,7 +143,7 @@
144
143
  * the browser draws the rainbow rather than seven stops written by hand.
145
144
  * Alpha is the colour fading to nothing over the transparency grid.
146
145
  */
147
- [data-ui='color-picker'] [data-part='channel'] {
146
+ [data-ui-color-picker] [data-part-channel] {
148
147
  block-size: var(--_channel);
149
148
  border-radius: var(--slotted-radius-full, 9999px);
150
149
  box-shadow: inset 0 0 0 var(--slotted-border-width-thin, 1px)
@@ -154,42 +153,42 @@
154
153
  touch-action: none;
155
154
  }
156
155
 
157
- [data-ui='color-picker'] [data-part='channel'][data-channel='hue'] {
156
+ [data-ui-color-picker] [data-part-channel][data-channel='hue'] {
158
157
  background: linear-gradient(to right in hsl longer hue, hsl(0 100% 50%), hsl(0 100% 50%));
159
158
  }
160
159
 
161
- [data-ui='color-picker'] [data-part='channel'][data-channel='alpha'] {
160
+ [data-ui-color-picker] [data-part-channel][data-channel='alpha'] {
162
161
  background: linear-gradient(to right, transparent, var(--_opaque)), var(--_checker);
163
162
  }
164
163
 
165
- [data-ui='color-picker'] [data-part='channel'][data-channel='hue']:dir(rtl) {
164
+ [data-ui-color-picker] [data-part-channel][data-channel='hue']:dir(rtl) {
166
165
  background: linear-gradient(to left in hsl longer hue, hsl(0 100% 50%), hsl(0 100% 50%));
167
166
  }
168
167
 
169
- [data-ui='color-picker'] [data-part='channel'][data-channel='alpha']:dir(rtl) {
168
+ [data-ui-color-picker] [data-part-channel][data-channel='alpha']:dir(rtl) {
170
169
  background: linear-gradient(to left, transparent, var(--_opaque)), var(--_checker);
171
170
  }
172
171
 
173
- [data-ui='color-picker'] [data-part='channel-thumb'] {
172
+ [data-ui-color-picker] [data-part-channel-thumb] {
174
173
  inset-block-start: 50%;
175
174
  }
176
175
 
177
176
  /* A channel's thumb travels inside the track, its centre a half thumb in
178
177
  from each end, so at 0 and at the maximum it still sits on the colour it
179
178
  names rather than hanging past the rounded end. */
180
- [data-ui='color-picker'] [data-part='channel-thumb'][data-channel='hue'] {
179
+ [data-ui-color-picker] [data-part-channel-thumb][data-channel='hue'] {
181
180
  background: hsl(calc(var(--_hue) * 1deg) 100% 50%);
182
181
  inset-inline-start: calc(var(--_thumb) / 2 + var(--_hue) / 360 * (100% - var(--_thumb)));
183
182
  }
184
183
 
185
- [data-ui='color-picker'] [data-part='channel-thumb'][data-channel='alpha'] {
184
+ [data-ui-color-picker] [data-part-channel-thumb][data-channel='alpha'] {
186
185
  background: linear-gradient(var(--_color), var(--_color)), var(--_checker);
187
186
  inset-inline-start: calc(
188
187
  var(--_thumb) / 2 + var(--slotted-color-picker-alpha, 1) * (100% - var(--_thumb))
189
188
  );
190
189
  }
191
190
 
192
- [data-ui='color-picker'] [data-part='channel-thumb']:dir(rtl) {
191
+ [data-ui-color-picker] [data-part-channel-thumb]:dir(rtl) {
193
192
  translate: 50% -50%;
194
193
  }
195
194
 
@@ -199,7 +198,7 @@
199
198
  * the eyedropper. The row is the control height, so the text input inside
200
199
  * it lines up with any field beside the panel.
201
200
  */
202
- [data-ui='color-picker'] [data-part='row'] {
201
+ [data-ui-color-picker] [data-part-row] {
203
202
  align-items: center;
204
203
  display: flex;
205
204
  gap: var(--slotted-space-3, 0.375rem);
@@ -211,8 +210,8 @@
211
210
  * the start, the colour the panel opened with on the end. Each half is the
212
211
  * colour over the transparency grid. Pressing the old half restores it.
213
212
  */
214
- [data-ui='color-picker'] [data-part='swatch'],
215
- [data-ui='color-picker'] [data-part='previous'] {
213
+ [data-ui-color-picker] [data-part-swatch],
214
+ [data-ui-color-picker] [data-part-previous] {
216
215
  appearance: none;
217
216
  block-size: var(--slotted-control-height-md, 34px);
218
217
  border: 0;
@@ -223,7 +222,7 @@
223
222
  padding: 0;
224
223
  }
225
224
 
226
- [data-ui='color-picker'] [data-part='swatch'] {
225
+ [data-ui-color-picker] [data-part-swatch] {
227
226
  background: linear-gradient(var(--_color), var(--_color)), var(--_checker);
228
227
  border-end-start-radius: var(--_radius);
229
228
  border-start-start-radius: var(--_radius);
@@ -231,12 +230,12 @@
231
230
  var(--slotted-border-subtle, transparent);
232
231
  }
233
232
 
234
- [data-ui='color-picker'] [data-part='swatch']:only-child,
235
- [data-ui='color-picker'] [data-part='swatch']:not(:has(+ [data-part='previous'])) {
233
+ [data-ui-color-picker] [data-part-swatch]:only-child,
234
+ [data-ui-color-picker] [data-part-swatch]:not(:has(+ [data-part-previous])) {
236
235
  border-radius: var(--_radius);
237
236
  }
238
237
 
239
- [data-ui='color-picker'] [data-part='previous'] {
238
+ [data-ui-color-picker] [data-part-previous] {
240
239
  background:
241
240
  linear-gradient(
242
241
  var(--slotted-color-picker-previous, transparent),
@@ -254,7 +253,7 @@
254
253
  }
255
254
 
256
255
  /* The old colour answers the pointer with the revert mark over it. */
257
- [data-ui='color-picker'] [data-part='previous'] > [data-ui='icon'] {
256
+ [data-ui-color-picker] [data-part-previous] > [data-ui-icon] {
258
257
  --slotted-icon-size: var(--_icon-size);
259
258
 
260
259
  color: #fff;
@@ -266,20 +265,20 @@
266
265
  transition: opacity var(--slotted-duration-short) var(--slotted-easing-standard);
267
266
  }
268
267
 
269
- [data-ui='color-picker']
270
- [data-part='previous']:is(:hover, :focus-visible):not(:disabled)
271
- > [data-ui='icon'] {
268
+ [data-ui-color-picker]
269
+ [data-part-previous]:is(:hover, :focus-visible):not(:disabled)
270
+ > [data-ui-icon] {
272
271
  opacity: 1;
273
272
  }
274
273
 
275
- [data-ui='color-picker'] [data-part='previous']:focus-visible {
274
+ [data-ui-color-picker] [data-part-previous]:focus-visible {
276
275
  outline: var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);
277
276
  outline-offset: var(--slotted-focus-ring-offset, 2px);
278
277
  }
279
278
 
280
279
  /* The value as text sits in a `text-field` the binding renders; it takes
281
280
  the width the row leaves. */
282
- [data-ui='color-picker'] [data-part='row'] > [data-ui='text-field'] {
281
+ [data-ui-color-picker] [data-part-row] > [data-ui-text-field] {
283
282
  flex: 1 1 0;
284
283
  inline-size: auto;
285
284
  }
@@ -289,7 +288,7 @@
289
288
  * Both are inner controls of the row (R2): no frame and no ground at rest,
290
289
  * one step of ground for hover and one for press.
291
290
  */
292
- [data-ui='color-picker'] :is([data-part='format'], [data-part='eyedropper']) {
291
+ [data-ui-color-picker] :is([data-part-format], [data-part-eyedropper]) {
293
292
  --slotted-icon-size: var(--_icon-size);
294
293
 
295
294
  align-items: center;
@@ -313,7 +312,7 @@
313
312
  var(--slotted-control-transition-easing);
314
313
  }
315
314
 
316
- [data-ui='color-picker'] [data-part='format'] {
315
+ [data-ui-color-picker] [data-part-format] {
317
316
  color: var(--slotted-text, CanvasText);
318
317
  font-weight: var(--slotted-font-weight-medium, 500);
319
318
  padding-inline: var(--slotted-space-3, 0.375rem);
@@ -332,7 +331,7 @@
332
331
  * translate puts its centre at `(1cap + 1ex) / 4` above the baseline — the
333
332
  * midpoint of the capitals' and the lowercase letters' own centres.
334
333
  */
335
- [data-ui='color-picker'] [data-part='format'] {
334
+ [data-ui-color-picker] [data-part-format] {
336
335
  align-content: center;
337
336
  align-items: baseline;
338
337
  display: inline-grid;
@@ -340,39 +339,36 @@
340
339
  justify-content: center;
341
340
  }
342
341
 
343
- [data-ui='color-picker'] [data-part='format'] > [data-ui='icon'] {
342
+ [data-ui-color-picker] [data-part-format] > [data-ui-icon] {
344
343
  margin-block-start: calc((1cap + 1ex) / 4 - var(--_icon-size) / 2);
345
344
  translate: 0 calc(var(--_icon-size) / 2 - (1cap + 1ex) / 4);
346
345
  }
347
346
 
348
- [data-ui='color-picker'] :is([data-part='format'], [data-part='eyedropper'])::after {
347
+ [data-ui-color-picker] :is([data-part-format], [data-part-eyedropper])::after {
349
348
  content: '';
350
349
  inset: min(0px, calc((100% - var(--slotted-target-min, 24px)) / 2));
351
350
  position: absolute;
352
351
  }
353
352
 
354
353
  @media (pointer: coarse) {
355
- [data-ui='color-picker'] :is([data-part='format'], [data-part='eyedropper'])::after {
354
+ [data-ui-color-picker] :is([data-part-format], [data-part-eyedropper])::after {
356
355
  inset: min(0px, calc((100% - var(--slotted-target-comfortable, 44px)) / 2));
357
356
  }
358
357
  }
359
358
 
360
- [data-ui='color-picker']
361
- :is([data-part='format'], [data-part='eyedropper']):hover:not(
362
- :disabled,
363
- [aria-expanded='true']
364
- ) {
359
+ [data-ui-color-picker]
360
+ :is([data-part-format], [data-part-eyedropper]):hover:not(:disabled, [aria-expanded='true']) {
365
361
  background-color: var(--slotted-tone-secondary-subtle-hover);
366
362
  }
367
363
 
368
- [data-ui='color-picker']
369
- :is([data-part='format'], [data-part='eyedropper']):is(:active, [aria-expanded='true']):not(
364
+ [data-ui-color-picker]
365
+ :is([data-part-format], [data-part-eyedropper]):is(:active, [aria-expanded='true']):not(
370
366
  :disabled
371
367
  ) {
372
368
  background-color: var(--slotted-tone-secondary-subtle-active);
373
369
  }
374
370
 
375
- [data-ui='color-picker'] :is([data-part='format'], [data-part='eyedropper']):focus-visible {
371
+ [data-ui-color-picker] :is([data-part-format], [data-part-eyedropper]):focus-visible {
376
372
  outline: var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);
377
373
  outline-offset: calc(var(--slotted-focus-ring-offset, 2px) * -1);
378
374
  }
@@ -383,7 +379,7 @@
383
379
  * chosen one is ringed in the theme's ring colour at a gap of the panel's
384
380
  * ground, so the ring never touches the colour it marks.
385
381
  */
386
- [data-ui='color-picker'] [data-part='presets'] {
382
+ [data-ui-color-picker] [data-part-presets] {
387
383
  display: grid;
388
384
  gap: var(--slotted-space-3, 0.375rem);
389
385
  /* A step under the control's inner size, so the ten swatches of a
@@ -394,7 +390,7 @@
394
390
  );
395
391
  }
396
392
 
397
- [data-ui='color-picker'] [data-part='preset'] {
393
+ [data-ui-color-picker] [data-part-preset] {
398
394
  appearance: none;
399
395
  aspect-ratio: 1;
400
396
  background:
@@ -417,21 +413,21 @@
417
413
  box-shadow var(--slotted-duration-short) var(--slotted-easing-standard);
418
414
  }
419
415
 
420
- [data-ui='color-picker'] [data-part='preset']:hover:not(:disabled) {
416
+ [data-ui-color-picker] [data-part-preset]:hover:not(:disabled) {
421
417
  scale: 1.08;
422
418
  }
423
419
 
424
- [data-ui='color-picker'] [data-part='preset']:active:not(:disabled) {
420
+ [data-ui-color-picker] [data-part-preset]:active:not(:disabled) {
425
421
  scale: 0.94;
426
422
  }
427
423
 
428
- [data-ui='color-picker'] [data-part='preset'][data-selected] {
424
+ [data-ui-color-picker] [data-part-preset][data-selected] {
429
425
  box-shadow:
430
426
  0 0 0 var(--slotted-border-width-medium, 2px) var(--slotted-surface-raised, Canvas),
431
427
  0 0 0 calc(var(--slotted-border-width-medium, 2px) * 2) var(--slotted-text, CanvasText);
432
428
  }
433
429
 
434
- [data-ui='color-picker'] [data-part='preset']:focus-visible {
430
+ [data-ui-color-picker] [data-part-preset]:focus-visible {
435
431
  outline: var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);
436
432
  outline-offset: var(--slotted-focus-ring-offset, 2px);
437
433
  }
@@ -442,14 +438,14 @@
442
438
  * WCAG ratio and the level it reaches. The level is a word in a badge
443
439
  * coloured by its tone, never colour alone.
444
440
  */
445
- [data-ui='color-picker'] [data-part='contrast'] {
441
+ [data-ui-color-picker] [data-part-contrast] {
446
442
  align-items: center;
447
443
  display: flex;
448
444
  font-variant-numeric: tabular-nums;
449
445
  gap: var(--slotted-space-4, 0.5rem);
450
446
  }
451
447
 
452
- [data-ui='color-picker'] [data-part='contrast-sample'] {
448
+ [data-ui-color-picker] [data-part-contrast-sample] {
453
449
  background: var(--slotted-color-picker-contrast-with, var(--slotted-surface, Canvas));
454
450
  block-size: var(--_inner-size);
455
451
  border-radius: var(--slotted-radius-sm, 4px);
@@ -462,12 +458,12 @@
462
458
  place-items: center;
463
459
  }
464
460
 
465
- [data-ui='color-picker'] [data-part='contrast-ratio'] {
461
+ [data-ui-color-picker] [data-part-contrast-ratio] {
466
462
  color: var(--slotted-text, CanvasText);
467
463
  font-weight: var(--slotted-font-weight-medium, 500);
468
464
  }
469
465
 
470
- [data-ui='color-picker'] [data-part='contrast-level'] {
466
+ [data-ui-color-picker] [data-part-contrast-level] {
471
467
  border-radius: var(--slotted-radius-sm, 4px);
472
468
  font-size: var(--slotted-font-size-xs, 12px);
473
469
  font-weight: var(--slotted-font-weight-semibold, 600);
@@ -475,24 +471,22 @@
475
471
  padding: var(--slotted-space-1, 2px) var(--slotted-space-3, 0.375rem);
476
472
  }
477
473
 
478
- [data-ui='color-picker'] [data-part='contrast'][data-level^='AA'] [data-part='contrast-level'] {
474
+ [data-ui-color-picker] [data-part-contrast][data-level^='AA'] [data-part-contrast-level] {
479
475
  background: var(--slotted-tone-success-surface, Canvas);
480
476
  color: var(--slotted-tone-success-text, CanvasText);
481
477
  }
482
478
 
483
- [data-ui='color-picker']
484
- [data-part='contrast'][data-level='AA-large']
485
- [data-part='contrast-level'] {
479
+ [data-ui-color-picker] [data-part-contrast][data-level='AA-large'] [data-part-contrast-level] {
486
480
  background: var(--slotted-tone-warning-surface, Canvas);
487
481
  color: var(--slotted-tone-warning-text, CanvasText);
488
482
  }
489
483
 
490
- [data-ui='color-picker'] [data-part='contrast'][data-level='fail'] [data-part='contrast-level'] {
484
+ [data-ui-color-picker] [data-part-contrast][data-level='fail'] [data-part-contrast-level] {
491
485
  background: var(--slotted-tone-danger-surface, Canvas);
492
486
  color: var(--slotted-tone-danger-text, CanvasText);
493
487
  }
494
488
 
495
- [data-ui='color-picker'] [data-part='gamut'] {
489
+ [data-ui-color-picker] [data-part-gamut] {
496
490
  --slotted-icon-size: var(--_icon-size);
497
491
 
498
492
  align-items: center;
@@ -509,7 +503,7 @@
509
503
  * It is the trigger, and it answers the press like the field's other inner
510
504
  * buttons, by its ground — here the ring around it.
511
505
  */
512
- [data-ui='text-field'] [data-ui='color-picker'][data-part='trigger'] {
506
+ [data-ui-text-field] [data-ui-color-picker][data-part-trigger] {
513
507
  appearance: none;
514
508
  background:
515
509
  linear-gradient(var(--_color, transparent), var(--_color, transparent)),
@@ -533,73 +527,71 @@
533
527
  --_color: var(--slotted-color-picker-color, transparent);
534
528
  }
535
529
 
536
- [data-ui='text-field'] [data-ui='color-picker'][data-part='trigger']::after {
530
+ [data-ui-text-field] [data-ui-color-picker][data-part-trigger]::after {
537
531
  content: '';
538
532
  inset: min(0px, calc((100% - var(--slotted-target-min, 24px)) / 2));
539
533
  position: absolute;
540
534
  }
541
535
 
542
- [data-ui='text-field'] [data-ui='color-picker'][data-part='trigger']:hover:not(:disabled) {
536
+ [data-ui-text-field] [data-ui-color-picker][data-part-trigger]:hover:not(:disabled) {
543
537
  box-shadow:
544
538
  inset 0 0 0 var(--slotted-border-width-thin, 1px) var(--slotted-border-subtle, transparent),
545
539
  0 0 0 var(--slotted-border-width-medium, 2px) var(--slotted-tone-secondary-subtle-hover);
546
540
  }
547
541
 
548
- [data-ui='text-field']
549
- [data-ui='color-picker'][data-part='trigger']:is(:active, [aria-expanded='true']):not(
550
- :disabled
551
- ) {
542
+ [data-ui-text-field]
543
+ [data-ui-color-picker][data-part-trigger]:is(:active, [aria-expanded='true']):not(:disabled) {
552
544
  box-shadow:
553
545
  inset 0 0 0 var(--slotted-border-width-thin, 1px) var(--slotted-border-subtle, transparent),
554
546
  0 0 0 var(--slotted-border-width-medium, 2px) var(--slotted-tone-secondary-subtle-active);
555
547
  }
556
548
 
557
- [data-ui='text-field'] [data-ui='color-picker'][data-part='trigger']:focus-visible {
549
+ [data-ui-text-field] [data-ui-color-picker][data-part-trigger]:focus-visible {
558
550
  outline: var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);
559
551
  outline-offset: var(--slotted-focus-ring-offset, 2px);
560
552
  }
561
553
 
562
554
  /* ── States ───────────────────────────────────────────────────────────── */
563
555
 
564
- [data-ui='color-picker'][data-part='root'][data-disabled] {
556
+ [data-ui-color-picker][data-part-root][data-disabled] {
565
557
  color: var(--slotted-disabled-foreground);
566
558
  }
567
559
 
568
- [data-ui='color-picker'][data-part='root'][data-disabled]
569
- :is([data-part='area'], [data-part='channel'], [data-part='presets']) {
560
+ [data-ui-color-picker][data-part-root][data-disabled]
561
+ :is([data-part-area], [data-part-channel], [data-part-presets]) {
570
562
  filter: grayscale(1);
571
563
  pointer-events: none;
572
564
  }
573
565
 
574
- [data-ui='color-picker'][data-part='root'][data-disabled]
575
- :is([data-part='area-thumb'], [data-part='channel-thumb']) {
566
+ [data-ui-color-picker][data-part-root][data-disabled]
567
+ :is([data-part-area-thumb], [data-part-channel-thumb]) {
576
568
  cursor: not-allowed;
577
569
  }
578
570
 
579
- [data-ui='color-picker'][data-part='root'][data-readonly]
571
+ [data-ui-color-picker][data-part-root][data-readonly]
580
572
  :is(
581
- [data-part='area'],
582
- [data-part='channel'],
583
- [data-part='preset'],
584
- [data-part='area-thumb'],
585
- [data-part='channel-thumb']
573
+ [data-part-area],
574
+ [data-part-channel],
575
+ [data-part-preset],
576
+ [data-part-area-thumb],
577
+ [data-part-channel-thumb]
586
578
  ) {
587
579
  cursor: default;
588
580
  }
589
581
 
590
582
  @media (forced-colors: active) {
591
- [data-ui='color-picker'] :is([data-part='area-thumb'], [data-part='channel-thumb']) {
583
+ [data-ui-color-picker] :is([data-part-area-thumb], [data-part-channel-thumb]) {
592
584
  border-color: CanvasText;
593
585
  forced-color-adjust: none;
594
586
  }
595
587
 
596
- [data-ui='color-picker']
588
+ [data-ui-color-picker]
597
589
  :is(
598
- [data-part='area'],
599
- [data-part='channel'],
600
- [data-part='swatch'],
601
- [data-part='previous'],
602
- [data-part='preset']
590
+ [data-part-area],
591
+ [data-part-channel],
592
+ [data-part-swatch],
593
+ [data-part-previous],
594
+ [data-part-preset]
603
595
  ) {
604
596
  forced-color-adjust: none;
605
597
  }