@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
@@ -18,7 +18,7 @@
18
18
  * `--_position` on a thumb or a mark, `--_start` and `--_end` on the fill.
19
19
  * A percentage of a track is geometry and geometry is not a token.
20
20
  */
21
- [data-ui='slider'][data-part='root'] {
21
+ [data-ui-slider][data-part-root] {
22
22
  /**
23
23
  * Type, glyph and gap come from the control scales — the only ones the
24
24
  * theme restates per density — so a slider in a dense row shrinks whole
@@ -113,23 +113,23 @@
113
113
  * them and no rail at all. A vertical slider is left alone: its cross
114
114
  * measurement is the band, and its length is its own.
115
115
  */
116
- [data-ui='slider'][data-part='root'][data-orientation='horizontal'] {
116
+ [data-ui-slider][data-part-root][data-orientation='horizontal'] {
117
117
  inline-size: 100%;
118
118
  }
119
119
 
120
- [data-ui='slider'][data-part='root'][data-size='sm'] {
120
+ [data-ui-slider][data-part-root][data-size='sm'] {
121
121
  --_font-size: var(--slotted-control-font-size-sm, 12px);
122
122
  --_gap: var(--slotted-control-gap-sm, 6px);
123
123
  --_icon-size: var(--slotted-control-icon-size-sm, 14px);
124
124
  }
125
125
 
126
- [data-ui='slider'][data-part='root'][data-size='md'] {
126
+ [data-ui-slider][data-part-root][data-size='md'] {
127
127
  --_font-size: var(--slotted-control-font-size-md, 13px);
128
128
  --_gap: var(--slotted-control-gap-md, 8px);
129
129
  --_icon-size: var(--slotted-control-icon-size-md, 16px);
130
130
  }
131
131
 
132
- [data-ui='slider'][data-part='root'][data-size='lg'] {
132
+ [data-ui-slider][data-part-root][data-size='lg'] {
133
133
  --_font-size: var(--slotted-control-font-size-lg, 14px);
134
134
  --_gap: var(--slotted-control-gap-lg, 8px);
135
135
  --_icon-size: var(--slotted-control-icon-size-lg, 18px);
@@ -142,7 +142,7 @@
142
142
  * tabular figures because a number that changes under a drag must not change
143
143
  * width while it does.
144
144
  */
145
- [data-ui='slider'] > [data-part='output'] {
145
+ [data-ui-slider] > [data-part-output] {
146
146
  align-self: flex-end;
147
147
  color: var(--slotted-slider-output-color, var(--slotted-text, CanvasText));
148
148
  font-variant-numeric: tabular-nums;
@@ -159,7 +159,7 @@
159
159
  * and a scroll of the page are the same gesture, and the one the pointer
160
160
  * started on the control is the drag.
161
161
  */
162
- [data-ui='slider'] [data-part='control'] {
162
+ [data-ui-slider] [data-part-control] {
163
163
  align-items: center;
164
164
  /**
165
165
  * The reserve for the two half thumbs comes out of the band rather than
@@ -178,7 +178,7 @@
178
178
  -webkit-tap-highlight-color: transparent;
179
179
  }
180
180
 
181
- [data-ui='slider'][data-orientation='horizontal'] [data-part='control'] {
181
+ [data-ui-slider][data-orientation='horizontal'] [data-part-control] {
182
182
  block-size: var(--_control-size);
183
183
  inline-size: 100%;
184
184
  padding-inline: calc(var(--_thumb-size) / 2);
@@ -190,8 +190,8 @@
190
190
  * finger's width above its own rail, reading as a separate line rather than
191
191
  * as this control's value.
192
192
  */
193
- [data-ui='slider'][data-orientation='horizontal']:not([data-value-label='none'])
194
- [data-part='control'] {
193
+ [data-ui-slider][data-orientation='horizontal']:not([data-value-label='none'])
194
+ [data-part-control] {
195
195
  margin-block-start: max(0px, calc(var(--_bubble-size) - var(--_gap)));
196
196
  }
197
197
 
@@ -202,7 +202,7 @@
202
202
  * cost more than the overlap it prevented.
203
203
  */
204
204
 
205
- [data-ui='slider'][data-orientation='vertical'] [data-part='control'] {
205
+ [data-ui-slider][data-orientation='vertical'] [data-part-control] {
206
206
  /**
207
207
  * A vertical slider has no intrinsic length, so it takes one: ten thumbs
208
208
  * is a scale a reader can point at, and a consumer who wants another one
@@ -226,21 +226,21 @@
226
226
  * than discovered, so a family below the slider does not move when a label
227
227
  * appears.
228
228
  */
229
- [data-ui='slider'][data-orientation='horizontal'][data-marks='ticks'] [data-part='control'] {
229
+ [data-ui-slider][data-orientation='horizontal'][data-marks='ticks'] [data-part-control] {
230
230
  margin-block-end: var(--_mark-length);
231
231
  }
232
232
 
233
- [data-ui='slider'][data-orientation='horizontal'][data-marks='labelled'] [data-part='control'] {
233
+ [data-ui-slider][data-orientation='horizontal'][data-marks='labelled'] [data-part-control] {
234
234
  margin-block-end: calc(
235
235
  var(--_mark-length) + var(--slotted-space-1, 0.125rem) + var(--_mark-label-line)
236
236
  );
237
237
  }
238
238
 
239
- [data-ui='slider'][data-orientation='vertical'][data-marks='ticks'] [data-part='control'] {
239
+ [data-ui-slider][data-orientation='vertical'][data-marks='ticks'] [data-part-control] {
240
240
  margin-inline-end: var(--_mark-length);
241
241
  }
242
242
 
243
- [data-ui='slider'][data-orientation='vertical'][data-marks='labelled'] [data-part='control'] {
243
+ [data-ui-slider][data-orientation='vertical'][data-marks='labelled'] [data-part-control] {
244
244
  margin-inline-end: calc(
245
245
  var(--_mark-length) + var(--slotted-space-1, 0.125rem) + var(--_mark-label-size)
246
246
  );
@@ -258,7 +258,7 @@
258
258
  * bounds are the two places a thumb's centre can reach and the thumb itself
259
259
  * stays inside the band.
260
260
  */
261
- [data-ui='slider'] [data-part='track'] {
261
+ [data-ui-slider] [data-part-track] {
262
262
  background-color: var(--slotted-slider-track-color, var(--slotted-surface-sunken, Canvas));
263
263
  border: var(--slotted-control-border-width, 1px) solid
264
264
  var(--slotted-slider-track-border-color, var(--slotted-control-border-color, ButtonBorder));
@@ -267,12 +267,12 @@
267
267
  position: relative;
268
268
  }
269
269
 
270
- [data-ui='slider'][data-orientation='horizontal'] [data-part='track'] {
270
+ [data-ui-slider][data-orientation='horizontal'] [data-part-track] {
271
271
  block-size: var(--_track-size);
272
272
  inline-size: 100%;
273
273
  }
274
274
 
275
- [data-ui='slider'][data-orientation='vertical'] [data-part='track'] {
275
+ [data-ui-slider][data-orientation='vertical'] [data-part-track] {
276
276
  block-size: 100%;
277
277
  inline-size: var(--_track-size);
278
278
  }
@@ -297,7 +297,7 @@
297
297
  * overhung there would leave a pixel of accent past the value at one end and
298
298
  * cover the cap at the other.
299
299
  */
300
- [data-ui='slider'] [data-part='indicator'] {
300
+ [data-ui-slider] [data-part-indicator] {
301
301
  --_edge-overlap: calc(var(--slotted-control-border-width, 1px) * -1);
302
302
 
303
303
  background-color: var(--slotted-slider-indicator-color, var(--slotted-tone-accent-solid));
@@ -305,13 +305,13 @@
305
305
  position: absolute;
306
306
  }
307
307
 
308
- [data-ui='slider'][data-orientation='horizontal'] [data-part='indicator'] {
308
+ [data-ui-slider][data-orientation='horizontal'] [data-part-indicator] {
309
309
  inset-block: var(--_edge-overlap);
310
310
  inset-inline-start: calc(var(--_start, 0) * 1%);
311
311
  inline-size: calc((var(--_end, 0) - var(--_start, 0)) * 1%);
312
312
  }
313
313
 
314
- [data-ui='slider'][data-orientation='vertical'] [data-part='indicator'] {
314
+ [data-ui-slider][data-orientation='vertical'] [data-part-indicator] {
315
315
  inset-inline: var(--_edge-overlap);
316
316
  inset-block-end: calc(var(--_start, 0) * 1%);
317
317
  block-size: calc((var(--_end, 0) - var(--_start, 0)) * 1%);
@@ -323,12 +323,12 @@
323
323
  * the rail would have to read against the fill and against the empty channel
324
324
  * at once; beside it, it reads against the page in every scheme.
325
325
  */
326
- [data-ui='slider'] [data-part='mark'] {
326
+ [data-ui-slider] [data-part-mark] {
327
327
  background-color: var(--slotted-slider-mark-color, var(--slotted-border-strong, CanvasText));
328
328
  position: absolute;
329
329
  }
330
330
 
331
- [data-ui='slider'][data-orientation='horizontal'] [data-part='mark'] {
331
+ [data-ui-slider][data-orientation='horizontal'] [data-part-mark] {
332
332
  block-size: var(--_mark-length);
333
333
  inline-size: var(--slotted-border-width-thin, 1px);
334
334
  inset-block-start: calc(100% + var(--_mark-gap));
@@ -336,7 +336,7 @@
336
336
  margin-inline-start: calc(var(--slotted-border-width-thin, 1px) / -2);
337
337
  }
338
338
 
339
- [data-ui='slider'][data-orientation='vertical'] [data-part='mark'] {
339
+ [data-ui-slider][data-orientation='vertical'] [data-part-mark] {
340
340
  block-size: var(--slotted-border-width-thin, 1px);
341
341
  inline-size: var(--_mark-length);
342
342
  inset-inline-start: calc(100% + var(--_mark-gap));
@@ -344,7 +344,7 @@
344
344
  margin-block-end: calc(var(--slotted-border-width-thin, 1px) / -2);
345
345
  }
346
346
 
347
- [data-ui='slider'] [data-part='mark-label'] {
347
+ [data-ui-slider] [data-part-mark-label] {
348
348
  color: var(--slotted-slider-mark-label-color, var(--slotted-text-muted, GrayText));
349
349
  display: block;
350
350
  font-size: var(--slotted-font-size-xs, 0.75rem);
@@ -364,7 +364,7 @@
364
364
  unicode-bidi: plaintext;
365
365
  }
366
366
 
367
- [data-ui='slider'][data-orientation='horizontal'] [data-part='mark-label'] {
367
+ [data-ui-slider][data-orientation='horizontal'] [data-part-mark-label] {
368
368
  inset-block-start: calc(100% + var(--slotted-space-1, 0.125rem));
369
369
  inset-inline-start: 50%;
370
370
  translate: -50% 0;
@@ -376,9 +376,9 @@
376
376
  * of the `marks` scene showed "Máximo" clipped by the edge of the cell, and
377
377
  * a scale whose last label cannot be read is a scale with four labels.
378
378
  */
379
- [data-ui='slider'][data-orientation='horizontal']
380
- [data-part='mark'][data-edge='start']
381
- [data-part='mark-label'] {
379
+ [data-ui-slider][data-orientation='horizontal']
380
+ [data-part-mark][data-edge='start']
381
+ [data-part-mark-label] {
382
382
  inset-inline-start: 0;
383
383
  text-align: start;
384
384
  translate: 0 0;
@@ -390,15 +390,15 @@
390
390
  * label at the end of the scale is off the control: the 240-pixel capture
391
391
  * printed "Máximo" over the edge of its own cell.
392
392
  */
393
- [data-ui='slider'][data-orientation='horizontal']
394
- [data-part='mark'][data-edge]
395
- [data-part='mark-label'] {
393
+ [data-ui-slider][data-orientation='horizontal']
394
+ [data-part-mark][data-edge]
395
+ [data-part-mark-label] {
396
396
  max-inline-size: none;
397
397
  }
398
398
 
399
- [data-ui='slider'][data-orientation='horizontal']
400
- [data-part='mark'][data-edge='end']
401
- [data-part='mark-label'] {
399
+ [data-ui-slider][data-orientation='horizontal']
400
+ [data-part-mark][data-edge='end']
401
+ [data-part-mark-label] {
402
402
  inset-inline-end: 0;
403
403
  inset-inline-start: auto;
404
404
  text-align: end;
@@ -411,13 +411,13 @@
411
411
  * moves the box left in both directions, so a right-to-left page would hang
412
412
  * every centred label half a box off its own tick.
413
413
  */
414
- [data-ui='slider'][data-orientation='horizontal']:dir(rtl)
415
- [data-part='mark']:not([data-edge])
416
- [data-part='mark-label'] {
414
+ [data-ui-slider][data-orientation='horizontal']:dir(rtl)
415
+ [data-part-mark]:not([data-edge])
416
+ [data-part-mark-label] {
417
417
  translate: 50% 0;
418
418
  }
419
419
 
420
- [data-ui='slider'][data-orientation='vertical'] [data-part='mark-label'] {
420
+ [data-ui-slider][data-orientation='vertical'] [data-part-mark-label] {
421
421
  inset-block-start: 50%;
422
422
  inset-inline-start: calc(100% + var(--slotted-space-1, 0.125rem));
423
423
  text-align: start;
@@ -430,7 +430,7 @@
430
430
  * the mirrored document needs no rule of its own: `margin-inline-start`
431
431
  * measures from whichever edge `inset-inline-start` measured from.
432
432
  */
433
- [data-ui='slider'] [data-part='thumb'] {
433
+ [data-ui-slider] [data-part-thumb] {
434
434
  background-color: var(--slotted-slider-thumb-color, var(--slotted-surface, Canvas));
435
435
  block-size: var(--_thumb-size);
436
436
  border: var(--slotted-border-width-thick, 2px) solid
@@ -451,14 +451,14 @@
451
451
  scale var(--slotted-control-transition-duration) var(--slotted-control-transition-easing);
452
452
  }
453
453
 
454
- [data-ui='slider'][data-orientation='horizontal'] [data-part='thumb'] {
454
+ [data-ui-slider][data-orientation='horizontal'] [data-part-thumb] {
455
455
  inset-block-start: 50%;
456
456
  inset-inline-start: calc(var(--_position, 0) * 1%);
457
457
  margin-block-start: calc(var(--_thumb-size) / -2);
458
458
  margin-inline-start: calc(var(--_thumb-size) / -2);
459
459
  }
460
460
 
461
- [data-ui='slider'][data-orientation='vertical'] [data-part='thumb'] {
461
+ [data-ui-slider][data-orientation='vertical'] [data-part-thumb] {
462
462
  inset-block-end: calc(var(--_position, 0) * 1%);
463
463
  inset-inline-start: 50%;
464
464
  margin-block-end: calc(var(--_thumb-size) / -2);
@@ -470,7 +470,7 @@
470
470
  * the value set and its place in the form; the box around it is what a
471
471
  * reader sees, and the family's own pointer handling is what moves it.
472
472
  */
473
- [data-ui='slider'] [data-part='input'] {
473
+ [data-ui-slider] [data-part-input] {
474
474
  appearance: none;
475
475
  block-size: 100%;
476
476
  inline-size: 100%;
@@ -492,13 +492,13 @@
492
492
  * content that ran out of its box on every dense stage. The native parts are
493
493
  * withdrawn to nothing, as `text-field` withdraws the search decorations.
494
494
  */
495
- [data-ui='slider'] [data-part='input']::-webkit-slider-thumb {
495
+ [data-ui-slider] [data-part-input]::-webkit-slider-thumb {
496
496
  appearance: none;
497
497
  block-size: 0;
498
498
  inline-size: 0;
499
499
  }
500
500
 
501
- [data-ui='slider'] [data-part='input']::-webkit-slider-runnable-track {
501
+ [data-ui-slider] [data-part-input]::-webkit-slider-runnable-track {
502
502
  block-size: 0;
503
503
  }
504
504
 
@@ -509,7 +509,7 @@
509
509
  * beneath it already announces the value, and a second copy would announce
510
510
  * it twice.
511
511
  */
512
- [data-ui='slider'] [data-part='bubble'] {
512
+ [data-ui-slider] [data-part-bubble] {
513
513
  background-color: var(--slotted-slider-bubble-background, var(--slotted-surface-inverse));
514
514
  border-radius: var(--slotted-radius-sm, 4px);
515
515
  color: var(--slotted-slider-bubble-color, var(--slotted-text-inverse));
@@ -535,13 +535,13 @@
535
535
  unicode-bidi: plaintext;
536
536
  }
537
537
 
538
- [data-ui='slider'][data-orientation='horizontal'] [data-part='bubble'] {
538
+ [data-ui-slider][data-orientation='horizontal'] [data-part-bubble] {
539
539
  inset-block-end: calc(100% + var(--slotted-space-2, 0.25rem));
540
540
  inset-inline-start: 50%;
541
541
  translate: -50% 0;
542
542
  }
543
543
 
544
- [data-ui='slider'][data-orientation='horizontal']:dir(rtl) [data-part='bubble'] {
544
+ [data-ui-slider][data-orientation='horizontal']:dir(rtl) [data-part-bubble] {
545
545
  translate: 50% 0;
546
546
  }
547
547
 
@@ -550,7 +550,7 @@
550
550
  * on the other one. Two overlays on one edge is a scale whose labels sit
551
551
  * under its own values.
552
552
  */
553
- [data-ui='slider'][data-orientation='vertical'] [data-part='bubble'] {
553
+ [data-ui-slider][data-orientation='vertical'] [data-part-bubble] {
554
554
  inset-block-start: 50%;
555
555
  inset-inline-end: calc(100% + var(--slotted-space-2, 0.25rem));
556
556
  translate: 0 -50%;
@@ -562,15 +562,13 @@
562
562
  * alone, so nothing moves under a reader who asked for stillness — the
563
563
  * duration token collapses and the bubble simply appears.
564
564
  */
565
- [data-ui='slider'][data-value-label='always'] [data-part='bubble'],
566
- [data-ui='slider'][data-dragging] [data-part='thumb'][data-active] [data-part='bubble'],
567
- [data-ui='slider']
568
- [data-part='thumb']:has(> [data-part='input']:focus-visible)
569
- [data-part='bubble'] {
565
+ [data-ui-slider][data-value-label='always'] [data-part-bubble],
566
+ [data-ui-slider][data-dragging] [data-part-thumb][data-active] [data-part-bubble],
567
+ [data-ui-slider] [data-part-thumb]:has(> [data-part-input]:focus-visible) [data-part-bubble] {
570
568
  opacity: 1;
571
569
  }
572
570
 
573
- [data-ui='slider'][data-value-label='none'] [data-part='bubble'] {
571
+ [data-ui-slider][data-value-label='none'] [data-part-bubble] {
574
572
  display: none;
575
573
  }
576
574
 
@@ -580,8 +578,8 @@
580
578
  * ones it can meet, which is the order `STATE_PRECEDENCE` sets.
581
579
  */
582
580
 
583
- [data-ui='slider']:not([data-disabled]):not([data-readonly])
584
- [data-part='thumb']:hover:not(:disabled) {
581
+ [data-ui-slider]:not([data-disabled]):not([data-readonly])
582
+ [data-part-thumb]:hover:not(:disabled) {
585
583
  background-color: var(
586
584
  --slotted-slider-thumb-hover-background,
587
585
  var(--slotted-tone-accent-surface)
@@ -594,10 +592,10 @@
594
592
  * taken the gesture — and it collapses with the duration token under reduced
595
593
  * motion.
596
594
  */
597
- [data-ui='slider']:not([data-disabled]):not([data-readonly])
598
- [data-part='thumb']:active:not(:disabled),
599
- [data-ui='slider'][data-dragging]:not([data-disabled]):not([data-readonly])
600
- [data-part='thumb'][data-active] {
595
+ [data-ui-slider]:not([data-disabled]):not([data-readonly])
596
+ [data-part-thumb]:active:not(:disabled),
597
+ [data-ui-slider][data-dragging]:not([data-disabled]):not([data-readonly])
598
+ [data-part-thumb][data-active] {
601
599
  cursor: grabbing;
602
600
  scale: 1.15;
603
601
  }
@@ -606,7 +604,7 @@
606
604
  * The ring belongs to the thumb and answers the input's focus. The input is
607
605
  * `opacity: 0`, so nothing else in the family could draw it.
608
606
  */
609
- [data-ui='slider'] [data-part='thumb']:has(> [data-part='input']:focus-visible) {
607
+ [data-ui-slider] [data-part-thumb]:has(> [data-part-input]:focus-visible) {
610
608
  box-shadow: var(--slotted-control-shadow-focus-geometry, 0 1px 4px -1px)
611
609
  var(--slotted-focus-ring-color, Highlight);
612
610
  outline: var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);
@@ -619,21 +617,21 @@
619
617
  * `--slotted-focus-ring-color`, so pointing that one name at the invalid
620
618
  * colour moves the outline and the shadow together.
621
619
  */
622
- [data-ui='slider'][data-part='root'][data-invalid] {
620
+ [data-ui-slider][data-part-root][data-invalid] {
623
621
  --slotted-focus-ring-color: var(
624
622
  --slotted-slider-invalid-focus-ring-color,
625
623
  var(--slotted-focus-ring-color-invalid, Highlight)
626
624
  );
627
625
  }
628
626
 
629
- [data-ui='slider'][data-invalid] [data-part='indicator'] {
627
+ [data-ui-slider][data-invalid] [data-part-indicator] {
630
628
  background-color: var(
631
629
  --slotted-slider-invalid-indicator-color,
632
630
  var(--slotted-tone-danger-solid)
633
631
  );
634
632
  }
635
633
 
636
- [data-ui='slider'][data-invalid] [data-part='thumb'] {
634
+ [data-ui-slider][data-invalid] [data-part-thumb] {
637
635
  --_invalid-edge-width: var(
638
636
  --slotted-slider-invalid-edge-width,
639
637
  var(--slotted-control-invalid-edge-width, 1px)
@@ -657,7 +655,7 @@
657
655
  box-shadow: var(--_invalid-edge);
658
656
  }
659
657
 
660
- [data-ui='slider'][data-invalid] [data-part='thumb']:has(> [data-part='input']:focus-visible) {
658
+ [data-ui-slider][data-invalid] [data-part-thumb]:has(> [data-part-input]:focus-visible) {
661
659
  box-shadow:
662
660
  var(--_invalid-edge),
663
661
  var(--slotted-control-shadow-focus-geometry, 0 1px 4px -1px)
@@ -673,12 +671,12 @@
673
671
  * the first capture's defect, and it is the one `number-field` found in the
674
672
  * same state.
675
673
  */
676
- [data-ui='slider'][data-part='root'][data-readonly] [data-part='control'],
677
- [data-ui='slider'][data-part='root'][data-readonly] [data-part='thumb'] {
674
+ [data-ui-slider][data-part-root][data-readonly] [data-part-control],
675
+ [data-ui-slider][data-part-root][data-readonly] [data-part-thumb] {
678
676
  cursor: default;
679
677
  }
680
678
 
681
- [data-ui='slider'][data-part='root'][data-readonly] [data-part='indicator'] {
679
+ [data-ui-slider][data-part-root][data-readonly] [data-part-indicator] {
682
680
  background-color: var(--slotted-slider-readonly-indicator-color, var(--slotted-text-muted));
683
681
  }
684
682
 
@@ -689,7 +687,7 @@
689
687
  * two tokens the theme keeps apart in every scheme, which is what makes the
690
688
  * two states tell themselves apart.
691
689
  */
692
- [data-ui='slider'][data-part='root'][data-readonly] [data-part='thumb'] {
690
+ [data-ui-slider][data-part-root][data-readonly] [data-part-thumb] {
693
691
  border-color: var(
694
692
  --slotted-slider-readonly-thumb-border-color,
695
693
  var(--slotted-control-border-color, ButtonBorder)
@@ -701,8 +699,8 @@
701
699
  * because a control can be disabled by something that never told it so: a
702
700
  * disabled `fieldset` disables every control inside it.
703
701
  */
704
- [data-ui='slider'][data-part='root'][data-disabled] [data-part='track'],
705
- [data-ui='slider'][data-part='root']:has([data-part='input']:disabled) [data-part='track'] {
702
+ [data-ui-slider][data-part-root][data-disabled] [data-part-track],
703
+ [data-ui-slider][data-part-root]:has([data-part-input]:disabled) [data-part-track] {
706
704
  background-color: var(
707
705
  --slotted-slider-disabled-track-color,
708
706
  var(--slotted-disabled-background)
@@ -710,16 +708,16 @@
710
708
  border-color: var(--slotted-slider-disabled-border-color, var(--slotted-disabled-border));
711
709
  }
712
710
 
713
- [data-ui='slider'][data-part='root'][data-disabled] [data-part='indicator'],
714
- [data-ui='slider'][data-part='root']:has([data-part='input']:disabled) [data-part='indicator'] {
711
+ [data-ui-slider][data-part-root][data-disabled] [data-part-indicator],
712
+ [data-ui-slider][data-part-root]:has([data-part-input]:disabled) [data-part-indicator] {
715
713
  background-color: var(
716
714
  --slotted-slider-disabled-indicator-color,
717
715
  var(--slotted-disabled-foreground)
718
716
  );
719
717
  }
720
718
 
721
- [data-ui='slider'][data-part='root'][data-disabled] [data-part='thumb'],
722
- [data-ui='slider'][data-part='root']:has([data-part='input']:disabled) [data-part='thumb'] {
719
+ [data-ui-slider][data-part-root][data-disabled] [data-part-thumb],
720
+ [data-ui-slider][data-part-root]:has([data-part-input]:disabled) [data-part-thumb] {
723
721
  background-color: var(
724
722
  --slotted-slider-disabled-thumb-color,
725
723
  var(--slotted-disabled-background)
@@ -730,14 +728,14 @@
730
728
  cursor: not-allowed;
731
729
  }
732
730
 
733
- [data-ui='slider'][data-part='root'][data-disabled] [data-part='control'],
734
- [data-ui='slider'][data-part='root'][data-disabled] > [data-part='output'],
735
- [data-ui='slider'][data-part='root'][data-disabled] [data-part='mark-label'] {
731
+ [data-ui-slider][data-part-root][data-disabled] [data-part-control],
732
+ [data-ui-slider][data-part-root][data-disabled] > [data-part-output],
733
+ [data-ui-slider][data-part-root][data-disabled] [data-part-mark-label] {
736
734
  color: var(--slotted-disabled-foreground);
737
735
  cursor: not-allowed;
738
736
  }
739
737
 
740
- [data-ui='slider'][data-part='root'][data-disabled] [data-part='mark'] {
738
+ [data-ui-slider][data-part-root][data-disabled] [data-part-mark] {
741
739
  background-color: var(--slotted-disabled-foreground);
742
740
  }
743
741
 
@@ -749,26 +747,26 @@
749
747
  * with no value on it at all.
750
748
  */
751
749
  @media (forced-colors: active) {
752
- [data-ui='slider'] [data-part='track'] {
750
+ [data-ui-slider] [data-part-track] {
753
751
  background-color: ButtonFace;
754
752
  border-color: ButtonBorder;
755
753
  }
756
754
 
757
- [data-ui='slider'] [data-part='indicator'] {
755
+ [data-ui-slider] [data-part-indicator] {
758
756
  background-color: Highlight;
759
757
  }
760
758
 
761
- [data-ui='slider'] [data-part='thumb'] {
759
+ [data-ui-slider] [data-part-thumb] {
762
760
  background-color: ButtonFace;
763
761
  border-color: ButtonBorder;
764
762
  }
765
763
 
766
- [data-ui='slider'] [data-part='mark'] {
764
+ [data-ui-slider] [data-part-mark] {
767
765
  background-color: CanvasText;
768
766
  }
769
767
 
770
- [data-ui='slider'][data-part='root'][data-disabled] [data-part='indicator'],
771
- [data-ui='slider'][data-part='root'][data-disabled] [data-part='thumb'] {
768
+ [data-ui-slider][data-part-root][data-disabled] [data-part-indicator],
769
+ [data-ui-slider][data-part-root][data-disabled] [data-part-thumb] {
772
770
  background-color: Canvas;
773
771
  border-color: GrayText;
774
772
  }
@@ -776,14 +774,14 @@
776
774
  /* The invalid edge is a shadow, which forced colours remove: it comes back
777
775
  as an outline inside the thumb's border, and a focused invalid thumb
778
776
  draws its ring double. */
779
- [data-ui='slider'][data-invalid] [data-part='thumb'] {
777
+ [data-ui-slider][data-invalid] [data-part-thumb] {
780
778
  outline: var(--_invalid-edge-width) solid CanvasText;
781
779
  outline-offset: calc(
782
780
  -1 * (var(--slotted-border-width-thick, 2px) + var(--_invalid-edge-width))
783
781
  );
784
782
  }
785
783
 
786
- [data-ui='slider'][data-invalid] [data-part='thumb']:has(> [data-part='input']:focus-visible) {
784
+ [data-ui-slider][data-invalid] [data-part-thumb]:has(> [data-part-input]:focus-visible) {
787
785
  outline: calc(var(--slotted-focus-ring-width, 2px) + var(--_invalid-edge-width)) double
788
786
  var(--slotted-focus-ring-color, Highlight);
789
787
  outline-offset: var(--slotted-focus-ring-offset, 2px);