@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
@@ -24,7 +24,7 @@
24
24
  * some, so the ring is held off the edge at the foundation's offset, where
25
25
  * the joined bar draws it inward.
26
26
  */
27
- [data-ui='toggle'][data-part='root'] {
27
+ [data-ui-toggle][data-part-root] {
28
28
  --_height: var(--slotted-control-height-md, 34px);
29
29
  --_padding-inline: var(--slotted-control-padding-inline-md, 13px);
30
30
  --_font-size: var(--slotted-control-font-size-md, 13px);
@@ -93,7 +93,7 @@
93
93
 
94
94
  /* ── Size ─────────────────────────────────────────────────────────────── */
95
95
 
96
- [data-ui='toggle'][data-part='root'][data-size='sm'] {
96
+ [data-ui-toggle][data-part-root][data-size='sm'] {
97
97
  --_height: var(--slotted-control-height-sm, 30px);
98
98
  --_padding-inline: var(--slotted-control-padding-inline-sm, 10px);
99
99
  --_font-size: var(--slotted-control-font-size-sm, 12px);
@@ -101,7 +101,7 @@
101
101
  --_gap: var(--slotted-control-gap-sm, 6px);
102
102
  }
103
103
 
104
- [data-ui='toggle'][data-part='root'][data-size='lg'] {
104
+ [data-ui-toggle][data-part-root][data-size='lg'] {
105
105
  --_height: var(--slotted-control-height-lg, 38px);
106
106
  --_padding-inline: var(--slotted-control-padding-inline-lg, 16px);
107
107
  --_font-size: var(--slotted-control-font-size-lg, 14px);
@@ -118,12 +118,12 @@
118
118
  * words: the Angular binding projects the words into a box it always
119
119
  * renders, and a box with nothing in it must not hold the gap open either.
120
120
  */
121
- [data-ui='toggle'][data-part='root']:not(:has([data-part='label']:not(:empty))) {
121
+ [data-ui-toggle][data-part-root]:not(:has([data-part-label]:not(:empty))) {
122
122
  inline-size: var(--_height);
123
123
  padding-inline: 0;
124
124
  }
125
125
 
126
- [data-ui='toggle'] [data-part='label']:empty {
126
+ [data-ui-toggle] [data-part-label]:empty {
127
127
  display: none;
128
128
  }
129
129
 
@@ -132,7 +132,7 @@
132
132
  * from its container, and a bare glyph host such as `ng-icon` reads the
133
133
  * slot's font-size, so both are the glyph scale.
134
134
  */
135
- [data-ui='toggle'] [data-part='icon'] {
135
+ [data-ui-toggle] [data-part-icon] {
136
136
  --slotted-icon-size: var(--_icon-size);
137
137
 
138
138
  block-size: var(--_icon-size);
@@ -142,7 +142,7 @@
142
142
  inline-size: var(--_icon-size);
143
143
  }
144
144
 
145
- [data-ui='toggle'] [data-part='icon'] > * {
145
+ [data-ui-toggle] [data-part-icon] > * {
146
146
  block-size: 100%;
147
147
  display: block;
148
148
  inline-size: 100%;
@@ -155,7 +155,7 @@
155
155
  * whole in the DOM — the library's rule is that truncation never removes
156
156
  * content.
157
157
  */
158
- [data-ui='toggle'] [data-part='label'] {
158
+ [data-ui-toggle] [data-part-label] {
159
159
  overflow: hidden;
160
160
  text-overflow: ellipsis;
161
161
  white-space: nowrap;
@@ -163,7 +163,7 @@
163
163
 
164
164
  /* ── The edge ─────────────────────────────────────────────────────────── */
165
165
 
166
- [data-ui='toggle'][data-part='root'][data-variant='outline'] {
166
+ [data-ui-toggle][data-part-root][data-variant='outline'] {
167
167
  border-color: var(--_border-color);
168
168
  /* A framed control lifts off its ground at rest, as button's outline does. */
169
169
  box-shadow: var(--slotted-toggle-shadow, var(--slotted-control-shadow, none));
@@ -177,7 +177,7 @@
177
177
  * `STATE_PRECEDENCE` sets. Both variants take the edge: a ghost toggle that
178
178
  * is on has become a framed thing, and the edge is half of what says so.
179
179
  */
180
- [data-ui='toggle'][data-part='root'][data-pressed]:not(:disabled):not([data-disabled]) {
180
+ [data-ui-toggle][data-part-root][data-pressed]:not(:disabled):not([data-disabled]) {
181
181
  background: var(
182
182
  --slotted-toggle-pressed-background,
183
183
  var(--slotted-tone-accent-subtle-active, Highlight)
@@ -198,18 +198,14 @@
198
198
  * is on answers the pointer on the accent ground's own steps, so the two
199
199
  * states share no surface in any of theirs.
200
200
  */
201
- [data-ui='toggle'][data-part='root']:hover:not(:disabled):not([data-disabled]):not(
202
- [data-pressed]
203
- ) {
201
+ [data-ui-toggle][data-part-root]:hover:not(:disabled):not([data-disabled]):not([data-pressed]) {
204
202
  background: var(
205
203
  --slotted-toggle-hover-background,
206
204
  var(--slotted-tone-secondary-subtle-hover, ButtonFace)
207
205
  );
208
206
  }
209
207
 
210
- [data-ui='toggle'][data-part='root']:active:not(:disabled):not([data-disabled]):not(
211
- [data-pressed]
212
- ) {
208
+ [data-ui-toggle][data-part-root]:active:not(:disabled):not([data-disabled]):not([data-pressed]) {
213
209
  background: var(
214
210
  --slotted-toggle-active-background,
215
211
  var(--slotted-tone-secondary-subtle-active, ButtonFace)
@@ -220,14 +216,14 @@
220
216
  transition-duration: var(--slotted-duration-instant);
221
217
  }
222
218
 
223
- [data-ui='toggle'][data-part='root'][data-pressed]:hover:not(:disabled):not([data-disabled]) {
219
+ [data-ui-toggle][data-part-root][data-pressed]:hover:not(:disabled):not([data-disabled]) {
224
220
  background: var(
225
221
  --slotted-toggle-pressed-hover-background,
226
222
  var(--slotted-tone-accent-subtle-hover, Highlight)
227
223
  );
228
224
  }
229
225
 
230
- [data-ui='toggle'][data-part='root'][data-pressed]:active:not(:disabled):not([data-disabled]) {
226
+ [data-ui-toggle][data-part-root][data-pressed]:active:not(:disabled):not([data-disabled]) {
231
227
  background: var(
232
228
  --slotted-toggle-pressed-background,
233
229
  var(--slotted-tone-accent-subtle-active, Highlight)
@@ -241,18 +237,18 @@
241
237
  * The same chip `toggle-group` draws: a rounded item with the control edge,
242
238
  * pressed in the neutral tone's ink.
243
239
  */
244
- [data-ui='toggle'][data-part='root'][data-variant='chips'] {
240
+ [data-ui-toggle][data-part-root][data-variant='chips'] {
245
241
  border-color: var(--_border-color);
246
242
  border-radius: var(--slotted-toggle-chips-radius, var(--slotted-radius-full, 9999px));
247
243
  font-weight: var(--slotted-font-weight-medium, 500);
248
244
  }
249
245
 
250
- [data-ui='toggle'][data-part='root'][data-variant='chips'][data-pressed]:not(:disabled):not(
246
+ [data-ui-toggle][data-part-root][data-variant='chips'][data-pressed]:not(:disabled):not(
251
247
  [data-disabled]
252
248
  ),
253
- [data-ui='toggle'][data-part='root'][data-variant='chips'][data-pressed]:active:not(
254
- :disabled
255
- ):not([data-disabled]) {
249
+ [data-ui-toggle][data-part-root][data-variant='chips'][data-pressed]:active:not(:disabled):not(
250
+ [data-disabled]
251
+ ) {
256
252
  background: var(
257
253
  --slotted-toggle-chips-pressed-background,
258
254
  var(--slotted-tone-neutral-solid, CanvasText)
@@ -264,15 +260,15 @@
264
260
  color: var(--slotted-toggle-chips-pressed-color, var(--slotted-tone-neutral-on-solid, Canvas));
265
261
  }
266
262
 
267
- [data-ui='toggle'][data-part='root'][data-variant='chips'][data-pressed]:hover:not(:disabled):not(
263
+ [data-ui-toggle][data-part-root][data-variant='chips'][data-pressed]:hover:not(:disabled):not(
268
264
  [data-disabled]
269
265
  ) {
270
266
  background: var(--slotted-tone-neutral-solid-hover, CanvasText);
271
267
  border-color: var(--slotted-tone-neutral-solid-hover, CanvasText);
272
268
  }
273
269
 
274
- [data-ui='toggle'][data-part='root'][data-variant='chips']:disabled,
275
- [data-ui='toggle'][data-part='root'][data-variant='chips'][data-disabled] {
270
+ [data-ui-toggle][data-part-root][data-variant='chips']:disabled,
271
+ [data-ui-toggle][data-part-root][data-variant='chips'][data-disabled] {
276
272
  border-color: var(--slotted-disabled-border, GrayText);
277
273
  }
278
274
 
@@ -282,7 +278,7 @@
282
278
  * A standalone control has room around it, so the ring is held off the
283
279
  * edge the way every other control in the library holds it.
284
280
  */
285
- [data-ui='toggle'][data-part='root']:focus-visible {
281
+ [data-ui-toggle][data-part-root]:focus-visible {
286
282
  outline: var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);
287
283
  outline-offset: var(--slotted-focus-ring-offset, 2px);
288
284
  }
@@ -293,15 +289,15 @@
293
289
  * `[data-disabled]` as well as `:disabled`, because a control taken out of
294
290
  * action with a `fieldset` carries no attribute of its own.
295
291
  */
296
- [data-ui='toggle'][data-part='root']:disabled,
297
- [data-ui='toggle'][data-part='root'][data-disabled] {
292
+ [data-ui-toggle][data-part-root]:disabled,
293
+ [data-ui-toggle][data-part-root][data-disabled] {
298
294
  background: transparent;
299
295
  color: var(--slotted-toggle-disabled-color, var(--slotted-disabled-foreground, GrayText));
300
296
  cursor: not-allowed;
301
297
  }
302
298
 
303
- [data-ui='toggle'][data-part='root'][data-variant='outline']:disabled,
304
- [data-ui='toggle'][data-part='root'][data-variant='outline'][data-disabled] {
299
+ [data-ui-toggle][data-part-root][data-variant='outline']:disabled,
300
+ [data-ui-toggle][data-part-root][data-variant='outline'][data-disabled] {
305
301
  border-color: var(
306
302
  --slotted-toggle-disabled-border-color,
307
303
  var(--slotted-disabled-border, GrayText)
@@ -317,8 +313,8 @@
317
313
  * cannot change. In `high-contrast` the ground is the page's own white, and
318
314
  * the edge is then the only thing carrying it.
319
315
  */
320
- [data-ui='toggle'][data-part='root'][data-pressed]:disabled,
321
- [data-ui='toggle'][data-part='root'][data-pressed][data-disabled] {
316
+ [data-ui-toggle][data-part-root][data-pressed]:disabled,
317
+ [data-ui-toggle][data-part-root][data-pressed][data-disabled] {
322
318
  background: var(
323
319
  --slotted-toggle-disabled-pressed-background,
324
320
  var(--slotted-disabled-background, ButtonFace)
@@ -32,7 +32,7 @@
32
32
  * correctly: a coloured border inside a grey one, and an edge that was one
33
33
  * pixel in places and two in others.
34
34
  */
35
- [data-ui='toggle-group'][data-part='root'] {
35
+ [data-ui-toggle-group][data-part-root] {
36
36
  --_height: var(--slotted-control-height-md, 34px);
37
37
  --_padding-inline: var(--slotted-control-padding-inline-md, 13px);
38
38
  --_font-size: var(--slotted-control-font-size-md, 13px);
@@ -76,13 +76,13 @@
76
76
  * from a permission filter renders one often, and an empty box still eats a
77
77
  * gap in the row that holds it — `button-group` records the same defect.
78
78
  */
79
- [data-ui='toggle-group'][data-part='root']:empty {
79
+ [data-ui-toggle-group][data-part-root]:empty {
80
80
  display: none;
81
81
  }
82
82
 
83
83
  /* ── Size ─────────────────────────────────────────────────────────────── */
84
84
 
85
- [data-ui='toggle-group'][data-part='root'][data-size='sm'] {
85
+ [data-ui-toggle-group][data-part-root][data-size='sm'] {
86
86
  --_height: var(--slotted-control-height-sm, 30px);
87
87
  --_padding-inline: var(--slotted-control-padding-inline-sm, 10px);
88
88
  --_font-size: var(--slotted-control-font-size-sm, 12px);
@@ -90,7 +90,7 @@
90
90
  --_gap: var(--slotted-control-gap-sm, 6px);
91
91
  }
92
92
 
93
- [data-ui='toggle-group'][data-part='root'][data-size='lg'] {
93
+ [data-ui-toggle-group][data-part-root][data-size='lg'] {
94
94
  --_height: var(--slotted-control-height-lg, 38px);
95
95
  --_padding-inline: var(--slotted-control-padding-inline-lg, 16px);
96
96
  --_font-size: var(--slotted-control-font-size-lg, 14px);
@@ -100,7 +100,7 @@
100
100
 
101
101
  /* ── Orientation ──────────────────────────────────────────────────────── */
102
102
 
103
- [data-ui='toggle-group'][data-part='root'][data-orientation='vertical'] {
103
+ [data-ui-toggle-group][data-part-root][data-orientation='vertical'] {
104
104
  flex-direction: column;
105
105
  }
106
106
 
@@ -111,18 +111,18 @@
111
111
  * shrinks to its content, which is what a set of formatting toggles beside a
112
112
  * paragraph needs and what every surveyed implementation defaults to.
113
113
  */
114
- [data-ui='toggle-group'][data-part='root'][data-full-width] {
114
+ [data-ui-toggle-group][data-part-root][data-full-width] {
115
115
  display: flex;
116
116
  inline-size: 100%;
117
117
  }
118
118
 
119
- [data-ui='toggle-group'][data-part='root'][data-full-width] [data-part='item'] {
119
+ [data-ui-toggle-group][data-part-root][data-full-width] [data-part-item] {
120
120
  flex: 1 1 0;
121
121
  }
122
122
 
123
123
  /* ── The item ─────────────────────────────────────────────────────────── */
124
124
 
125
- [data-ui='toggle-group'] [data-part='item'] {
125
+ [data-ui-toggle-group] [data-part-item] {
126
126
  align-items: center;
127
127
  appearance: none;
128
128
  background: transparent;
@@ -176,11 +176,11 @@
176
176
  * An item with no words is a square holding one mark, so its inline padding
177
177
  * is whatever centres that mark rather than the padding a label needs.
178
178
  */
179
- [data-ui='toggle-group'] [data-part='item']:not(:has([data-part='label'])) {
179
+ [data-ui-toggle-group] [data-part-item]:not(:has([data-part-label])) {
180
180
  padding-inline: 0;
181
181
  }
182
182
 
183
- [data-ui='toggle-group'] [data-part='icon'] {
183
+ [data-ui-toggle-group] [data-part-icon] {
184
184
  block-size: var(--_icon-size);
185
185
  display: inline-flex;
186
186
  flex: none;
@@ -193,7 +193,7 @@
193
193
  * and what an icon beside it is aligned against. The string stays whole in
194
194
  * the DOM — the library's rule is that truncation never removes content.
195
195
  */
196
- [data-ui='toggle-group'] [data-part='label'] {
196
+ [data-ui-toggle-group] [data-part-label] {
197
197
  overflow: hidden;
198
198
  text-overflow: ellipsis;
199
199
  white-space: nowrap;
@@ -201,12 +201,12 @@
201
201
 
202
202
  /* ── The edge ─────────────────────────────────────────────────────────── */
203
203
 
204
- [data-ui='toggle-group'][data-part='root'][data-variant='outline'] [data-part='item'] {
204
+ [data-ui-toggle-group][data-part-root][data-variant='outline'] [data-part-item] {
205
205
  border-color: var(--_border-color);
206
206
  /* A framed item lifts off its ground at rest, as button's outline does. */
207
207
  box-shadow: var(--slotted-toggle-group-shadow, var(--slotted-control-shadow, none));
208
208
  }
209
- [data-ui='toggle-group'][data-part='root']:not([data-attached]) {
209
+ [data-ui-toggle-group][data-part-root]:not([data-attached]) {
210
210
  gap: var(--_separation);
211
211
  }
212
212
 
@@ -231,54 +231,54 @@
231
231
  * anything: an item that is on replaces the grey line in its column with its
232
232
  * own, and the bar's outline stays one pixel everywhere.
233
233
  */
234
- [data-ui='toggle-group'][data-part='root'][data-attached]:not([data-orientation='vertical'])
235
- [data-part='item']
236
- + [data-part='item'] {
234
+ [data-ui-toggle-group][data-part-root][data-attached]:not([data-orientation='vertical'])
235
+ [data-part-item]
236
+ + [data-part-item] {
237
237
  margin-inline-start: var(--_overlap);
238
238
  }
239
239
 
240
- [data-ui='toggle-group'][data-part='root'][data-attached][data-orientation='vertical']
241
- [data-part='item']
242
- + [data-part='item'] {
240
+ [data-ui-toggle-group][data-part-root][data-attached][data-orientation='vertical']
241
+ [data-part-item]
242
+ + [data-part-item] {
243
243
  margin-block-start: var(--_overlap);
244
244
  }
245
245
 
246
- [data-ui='toggle-group'][data-part='root'][data-attached]:not([data-orientation='vertical'])
247
- [data-part='item'] {
246
+ [data-ui-toggle-group][data-part-root][data-attached]:not([data-orientation='vertical'])
247
+ [data-part-item] {
248
248
  border-end-start-radius: 0;
249
249
  border-end-end-radius: 0;
250
250
  border-start-start-radius: 0;
251
251
  border-start-end-radius: 0;
252
252
  }
253
253
 
254
- [data-ui='toggle-group'][data-part='root'][data-attached]:not([data-orientation='vertical'])
255
- [data-part='item']:first-child {
254
+ [data-ui-toggle-group][data-part-root][data-attached]:not([data-orientation='vertical'])
255
+ [data-part-item]:first-child {
256
256
  border-end-start-radius: var(--_radius);
257
257
  border-start-start-radius: var(--_radius);
258
258
  }
259
259
 
260
- [data-ui='toggle-group'][data-part='root'][data-attached]:not([data-orientation='vertical'])
261
- [data-part='item']:last-child {
260
+ [data-ui-toggle-group][data-part-root][data-attached]:not([data-orientation='vertical'])
261
+ [data-part-item]:last-child {
262
262
  border-end-end-radius: var(--_radius);
263
263
  border-start-end-radius: var(--_radius);
264
264
  }
265
265
 
266
- [data-ui='toggle-group'][data-part='root'][data-attached][data-orientation='vertical']
267
- [data-part='item'] {
266
+ [data-ui-toggle-group][data-part-root][data-attached][data-orientation='vertical']
267
+ [data-part-item] {
268
268
  border-end-start-radius: 0;
269
269
  border-end-end-radius: 0;
270
270
  border-start-start-radius: 0;
271
271
  border-start-end-radius: 0;
272
272
  }
273
273
 
274
- [data-ui='toggle-group'][data-part='root'][data-attached][data-orientation='vertical']
275
- [data-part='item']:first-child {
274
+ [data-ui-toggle-group][data-part-root][data-attached][data-orientation='vertical']
275
+ [data-part-item]:first-child {
276
276
  border-start-end-radius: var(--_radius);
277
277
  border-start-start-radius: var(--_radius);
278
278
  }
279
279
 
280
- [data-ui='toggle-group'][data-part='root'][data-attached][data-orientation='vertical']
281
- [data-part='item']:last-child {
280
+ [data-ui-toggle-group][data-part-root][data-attached][data-orientation='vertical']
281
+ [data-part-item]:last-child {
282
282
  border-end-end-radius: var(--_radius);
283
283
  border-end-start-radius: var(--_radius);
284
284
  }
@@ -290,29 +290,29 @@
290
290
  * four edges, and the neighbour after it gives up the leading edge that would
291
291
  * otherwise be painted over the accent one.
292
292
  */
293
- [data-ui='toggle-group'][data-part='root'][data-variant='outline'][data-attached]:not(
293
+ [data-ui-toggle-group][data-part-root][data-variant='outline'][data-attached]:not(
294
294
  [data-orientation='vertical']
295
295
  )
296
- [data-part='item']:not(:last-child):not([data-pressed]) {
296
+ [data-part-item]:not(:last-child):not([data-pressed]) {
297
297
  border-inline-end-color: transparent;
298
298
  }
299
299
 
300
- [data-ui='toggle-group'][data-part='root'][data-variant='outline'][data-attached][data-orientation='vertical']
301
- [data-part='item']:not(:last-child):not([data-pressed]) {
300
+ [data-ui-toggle-group][data-part-root][data-variant='outline'][data-attached][data-orientation='vertical']
301
+ [data-part-item]:not(:last-child):not([data-pressed]) {
302
302
  border-block-end-color: transparent;
303
303
  }
304
304
 
305
- [data-ui='toggle-group'][data-part='root'][data-variant='outline'][data-attached]:not(
305
+ [data-ui-toggle-group][data-part-root][data-variant='outline'][data-attached]:not(
306
306
  [data-orientation='vertical']
307
307
  )
308
- [data-part='item'][data-pressed]
309
- + [data-part='item'] {
308
+ [data-part-item][data-pressed]
309
+ + [data-part-item] {
310
310
  border-inline-start-color: transparent;
311
311
  }
312
312
 
313
- [data-ui='toggle-group'][data-part='root'][data-variant='outline'][data-attached][data-orientation='vertical']
314
- [data-part='item'][data-pressed]
315
- + [data-part='item'] {
313
+ [data-ui-toggle-group][data-part-root][data-variant='outline'][data-attached][data-orientation='vertical']
314
+ [data-part-item][data-pressed]
315
+ + [data-part-item] {
316
316
  border-block-start-color: transparent;
317
317
  }
318
318
 
@@ -327,7 +327,7 @@
327
327
  * It sits above hover and below disabled, which is the order
328
328
  * `STATE_PRECEDENCE` sets.
329
329
  */
330
- [data-ui='toggle-group'] [data-part='item'][data-pressed]:not(:disabled):not([data-disabled]) {
330
+ [data-ui-toggle-group] [data-part-item][data-pressed]:not(:disabled):not([data-disabled]) {
331
331
  background: var(
332
332
  --slotted-toggle-group-pressed-background,
333
333
  var(--slotted-tone-accent-subtle-active, Highlight)
@@ -342,7 +342,7 @@
342
342
  );
343
343
  }
344
344
 
345
- [data-ui='toggle-group'] [data-part='item'][data-pressed] {
345
+ [data-ui-toggle-group] [data-part-item][data-pressed] {
346
346
  z-index: 1;
347
347
  }
348
348
 
@@ -355,16 +355,16 @@
355
355
  * that is on answers the pointer on the accent ground's own steps, so the
356
356
  * two states share no surface in any of theirs.
357
357
  */
358
- [data-ui='toggle-group']
359
- [data-part='item']:hover:not(:disabled):not([data-disabled]):not([data-pressed]) {
358
+ [data-ui-toggle-group]
359
+ [data-part-item]:hover:not(:disabled):not([data-disabled]):not([data-pressed]) {
360
360
  background: var(
361
361
  --slotted-toggle-group-hover-background,
362
362
  var(--slotted-tone-secondary-subtle-hover, ButtonFace)
363
363
  );
364
364
  }
365
365
 
366
- [data-ui='toggle-group']
367
- [data-part='item']:active:not(:disabled):not([data-disabled]):not([data-pressed]) {
366
+ [data-ui-toggle-group]
367
+ [data-part-item]:active:not(:disabled):not([data-disabled]):not([data-pressed]) {
368
368
  background: var(
369
369
  --slotted-toggle-group-active-background,
370
370
  var(--slotted-tone-secondary-subtle-active, ButtonFace)
@@ -375,16 +375,14 @@
375
375
  transition-duration: var(--slotted-duration-instant);
376
376
  }
377
377
 
378
- [data-ui='toggle-group']
379
- [data-part='item'][data-pressed]:hover:not(:disabled):not([data-disabled]) {
378
+ [data-ui-toggle-group] [data-part-item][data-pressed]:hover:not(:disabled):not([data-disabled]) {
380
379
  background: var(
381
380
  --slotted-toggle-group-pressed-hover-background,
382
381
  var(--slotted-tone-accent-subtle-hover, Highlight)
383
382
  );
384
383
  }
385
384
 
386
- [data-ui='toggle-group']
387
- [data-part='item'][data-pressed]:active:not(:disabled):not([data-disabled]) {
385
+ [data-ui-toggle-group] [data-part-item][data-pressed]:active:not(:disabled):not([data-disabled]) {
388
386
  background: var(
389
387
  --slotted-toggle-group-pressed-background,
390
388
  var(--slotted-tone-accent-subtle-active, Highlight)
@@ -401,21 +399,21 @@
401
399
  * under its own label — which is the one state a chip has to say at a
402
400
  * glance. Hover and press move the ground of a chip at rest only.
403
401
  */
404
- [data-ui='toggle-group'][data-part='root'][data-variant='chips'] {
402
+ [data-ui-toggle-group][data-part-root][data-variant='chips'] {
405
403
  flex-wrap: wrap;
406
404
  gap: var(--slotted-toggle-group-chips-gap, var(--slotted-space-3, 0.375rem));
407
405
  }
408
406
 
409
- [data-ui='toggle-group'][data-part='root'][data-variant='chips'] [data-part='item'] {
407
+ [data-ui-toggle-group][data-part-root][data-variant='chips'] [data-part-item] {
410
408
  border-color: var(--_border-color);
411
409
  border-radius: var(--slotted-toggle-group-chips-radius, var(--slotted-radius-full, 9999px));
412
410
  font-weight: var(--slotted-font-weight-medium, 500);
413
411
  }
414
412
 
415
- [data-ui='toggle-group'][data-part='root'][data-variant='chips']
416
- [data-part='item'][data-pressed]:not(:disabled):not([data-disabled]),
417
- [data-ui='toggle-group'][data-part='root'][data-variant='chips']
418
- [data-part='item'][data-pressed]:active:not(:disabled):not([data-disabled]) {
413
+ [data-ui-toggle-group][data-part-root][data-variant='chips']
414
+ [data-part-item][data-pressed]:not(:disabled):not([data-disabled]),
415
+ [data-ui-toggle-group][data-part-root][data-variant='chips']
416
+ [data-part-item][data-pressed]:active:not(:disabled):not([data-disabled]) {
419
417
  background: var(
420
418
  --slotted-toggle-group-chips-pressed-background,
421
419
  var(--slotted-tone-neutral-solid, CanvasText)
@@ -430,15 +428,14 @@
430
428
  );
431
429
  }
432
430
 
433
- [data-ui='toggle-group'][data-part='root'][data-variant='chips']
434
- [data-part='item'][data-pressed]:hover:not(:disabled):not([data-disabled]) {
431
+ [data-ui-toggle-group][data-part-root][data-variant='chips']
432
+ [data-part-item][data-pressed]:hover:not(:disabled):not([data-disabled]) {
435
433
  background: var(--slotted-tone-neutral-solid-hover, CanvasText);
436
434
  border-color: var(--slotted-tone-neutral-solid-hover, CanvasText);
437
435
  }
438
436
 
439
- [data-ui='toggle-group'][data-part='root'][data-variant='chips'] [data-part='item']:disabled,
440
- [data-ui='toggle-group'][data-part='root'][data-variant='chips']
441
- [data-part='item'][data-disabled] {
437
+ [data-ui-toggle-group][data-part-root][data-variant='chips'] [data-part-item]:disabled,
438
+ [data-ui-toggle-group][data-part-root][data-variant='chips'] [data-part-item][data-disabled] {
442
439
  border-color: var(--slotted-disabled-border, GrayText);
443
440
  }
444
441
 
@@ -449,7 +446,7 @@
449
446
  * edge the way every other control in the library holds it. The focused item
450
447
  * is raised above every other, including one that is on.
451
448
  */
452
- [data-ui='toggle-group'] [data-part='item']:focus-visible {
449
+ [data-ui-toggle-group] [data-part-item]:focus-visible {
453
450
  outline: var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);
454
451
  outline-offset: var(--slotted-focus-ring-offset, 2px);
455
452
  z-index: 2;
@@ -467,7 +464,7 @@
467
464
  * gives. It then replaces that item's own border rather than standing beside
468
465
  * it, and every seam in the bar stays one line wide.
469
466
  */
470
- [data-ui='toggle-group'][data-part='root'][data-attached] [data-part='item']:focus-visible {
467
+ [data-ui-toggle-group][data-part-root][data-attached] [data-part-item]:focus-visible {
471
468
  outline-offset: calc(-1 * var(--slotted-focus-ring-width, 2px));
472
469
  }
473
470
 
@@ -478,16 +475,15 @@
478
475
  * out of action with a `fieldset` and its items then carry no attribute of
479
476
  * their own.
480
477
  */
481
- [data-ui='toggle-group'] [data-part='item']:disabled,
482
- [data-ui='toggle-group'] [data-part='item'][data-disabled] {
478
+ [data-ui-toggle-group] [data-part-item]:disabled,
479
+ [data-ui-toggle-group] [data-part-item][data-disabled] {
483
480
  background: transparent;
484
481
  color: var(--slotted-toggle-group-disabled-color, var(--slotted-disabled-foreground, GrayText));
485
482
  cursor: default;
486
483
  }
487
484
 
488
- [data-ui='toggle-group'][data-part='root'][data-variant='outline'] [data-part='item']:disabled,
489
- [data-ui='toggle-group'][data-part='root'][data-variant='outline']
490
- [data-part='item'][data-disabled] {
485
+ [data-ui-toggle-group][data-part-root][data-variant='outline'] [data-part-item]:disabled,
486
+ [data-ui-toggle-group][data-part-root][data-variant='outline'] [data-part-item][data-disabled] {
491
487
  border-color: var(
492
488
  --slotted-toggle-group-disabled-border-color,
493
489
  var(--slotted-disabled-border, GrayText)
@@ -503,8 +499,8 @@
503
499
  * a control they cannot change. In `high-contrast` the ground is the page's
504
500
  * own white, and the edge is then the only thing carrying it.
505
501
  */
506
- [data-ui='toggle-group'] [data-part='item'][data-pressed]:disabled,
507
- [data-ui='toggle-group'] [data-part='item'][data-pressed][data-disabled] {
502
+ [data-ui-toggle-group] [data-part-item][data-pressed]:disabled,
503
+ [data-ui-toggle-group] [data-part-item][data-pressed][data-disabled] {
508
504
  background: var(
509
505
  --slotted-toggle-group-disabled-pressed-background,
510
506
  var(--slotted-disabled-background, ButtonFace)