@slotted/styles 0.1.0-beta.8 → 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 +300 -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 +143 -162
  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
package/src/tag/tag.css CHANGED
@@ -23,7 +23,7 @@
23
23
  * disagrees with the type it contains and no density can leave one of its
24
24
  * controls unhittable.
25
25
  */
26
- [data-ui='tag'][data-part='root'] {
26
+ [data-ui-tag][data-part-root] {
27
27
  /**
28
28
  * Tone. The neutral fill is the tone's `solid-hover` step rather than its
29
29
  * `solid` one, for the reason `badge` recorded: `solid` is the colour of
@@ -65,7 +65,7 @@
65
65
  * `tags-input` set it from the room their frame has left); and the edge,
66
66
  * so a host can mark one chip — the one that answered a duplicate —
67
67
  * without reaching into this sheet. Both are read here, once, and a host
68
- * writes `[data-ui='tag']` nowhere.
68
+ * writes `[data-ui-tag]` nowhere.
69
69
  */
70
70
  --_inset-block: var(--slotted-tag-inset-block, var(--slotted-space-2, 0.25rem));
71
71
  --_inset-inline: var(--slotted-space-4, 0.5rem);
@@ -147,7 +147,7 @@
147
147
  * the sheet that was missing it, and the two hosts that collapse a row of
148
148
  * chips both write the attribute and neither could have known.
149
149
  */
150
- [data-ui='tag'][data-part='root'][hidden] {
150
+ [data-ui-tag][data-part-root][hidden] {
151
151
  display: none;
152
152
  }
153
153
 
@@ -157,11 +157,11 @@
157
157
  * The one tone whose fill is the colour of the page. It keeps the tone's own
158
158
  * border, where the other four let their fill be their edge.
159
159
  */
160
- [data-ui='tag'][data-part='root'][data-tone='secondary'] {
160
+ [data-ui-tag][data-part-root][data-tone='secondary'] {
161
161
  --_edge: var(--_border);
162
162
  }
163
163
 
164
- [data-ui='tag'][data-part='root'][data-tone='accent'] {
164
+ [data-ui-tag][data-part-root][data-tone='accent'] {
165
165
  --_solid: var(--slotted-tone-accent-solid);
166
166
  --_solid-hover: var(--slotted-tone-accent-solid-hover);
167
167
  --_solid-active: var(--slotted-tone-accent-solid-active);
@@ -173,7 +173,7 @@
173
173
  --_text: var(--slotted-tone-accent-text);
174
174
  }
175
175
 
176
- [data-ui='tag'][data-part='root'][data-tone='success'] {
176
+ [data-ui-tag][data-part-root][data-tone='success'] {
177
177
  --_solid: var(--slotted-tone-success-solid);
178
178
  --_solid-hover: var(--slotted-tone-success-solid-hover);
179
179
  --_solid-active: var(--slotted-tone-success-solid-active);
@@ -185,7 +185,7 @@
185
185
  --_text: var(--slotted-tone-success-text);
186
186
  }
187
187
 
188
- [data-ui='tag'][data-part='root'][data-tone='warning'] {
188
+ [data-ui-tag][data-part-root][data-tone='warning'] {
189
189
  --_solid: var(--slotted-tone-warning-solid);
190
190
  --_solid-hover: var(--slotted-tone-warning-solid-hover);
191
191
  --_solid-active: var(--slotted-tone-warning-solid-active);
@@ -197,7 +197,7 @@
197
197
  --_text: var(--slotted-tone-warning-text);
198
198
  }
199
199
 
200
- [data-ui='tag'][data-part='root'][data-tone='danger'] {
200
+ [data-ui-tag][data-part-root][data-tone='danger'] {
201
201
  --_solid: var(--slotted-tone-danger-solid);
202
202
  --_solid-hover: var(--slotted-tone-danger-solid-hover);
203
203
  --_solid-active: var(--slotted-tone-danger-solid-active);
@@ -220,19 +220,19 @@
220
220
  * converges with `outline` — which is what a high-contrast scheme is for.
221
221
  */
222
222
 
223
- [data-ui='tag'][data-part='root'][data-variant='solid'] {
223
+ [data-ui-tag][data-part-root][data-variant='solid'] {
224
224
  background-color: var(--_solid, ButtonFace);
225
225
  border-color: var(--_edge, ButtonFace);
226
226
  color: var(--_on-solid, ButtonText);
227
227
  }
228
228
 
229
- [data-ui='tag'][data-part='root'][data-variant='soft'] {
229
+ [data-ui-tag][data-part-root][data-variant='soft'] {
230
230
  background-color: var(--_surface, ButtonFace);
231
231
  border-color: var(--_border, ButtonBorder);
232
232
  color: var(--_text, ButtonText);
233
233
  }
234
234
 
235
- [data-ui='tag'][data-part='root'][data-variant='outline'] {
235
+ [data-ui-tag][data-part-root][data-variant='outline'] {
236
236
  background-color: transparent;
237
237
  border-color: var(--_border, ButtonBorder);
238
238
  color: var(--_text, ButtonText);
@@ -240,7 +240,7 @@
240
240
 
241
241
  /* ── Size ─────────────────────────────────────────────────────────────── */
242
242
 
243
- [data-ui='tag'][data-part='root'][data-size='sm'] {
243
+ [data-ui-tag][data-part-root][data-size='sm'] {
244
244
  --_font-size: var(--slotted-control-font-size-sm, 12px);
245
245
  --_inset-block: var(--slotted-tag-inset-block, var(--slotted-space-1, 0.125rem));
246
246
  --_inset-inline: var(--slotted-space-3, 0.375rem);
@@ -252,7 +252,7 @@
252
252
  * the same reason: a 12px chip and a 13px chip should not carry visibly
253
253
  * different glyphs.
254
254
  */
255
- [data-ui='tag'][data-part='root'][data-size='lg'] {
255
+ [data-ui-tag][data-part-root][data-size='lg'] {
256
256
  --_font-size: var(--slotted-control-font-size-lg, 14px);
257
257
  --_icon-size: var(--slotted-control-icon-size-md, 16px);
258
258
  --_inner-size: var(--slotted-control-inner-size-md, 24px);
@@ -263,7 +263,7 @@
263
263
 
264
264
  /* ── Shape ────────────────────────────────────────────────────────────── */
265
265
 
266
- [data-ui='tag'][data-part='root'][data-shape='square'] {
266
+ [data-ui-tag][data-part-root][data-shape='square'] {
267
267
  --_radius: var(--slotted-radius-sm, 4px);
268
268
  }
269
269
 
@@ -275,7 +275,7 @@
275
275
  * ground around itself. It is a `span` when the tag does nothing and the
276
276
  * element its member names when it does.
277
277
  */
278
- [data-ui='tag'] [data-part='body'] {
278
+ [data-ui-tag] [data-part-body] {
279
279
  align-items: center;
280
280
  /* The root paints the ground; the body paints only its own states. */
281
281
  background-color: transparent;
@@ -304,7 +304,7 @@
304
304
  }
305
305
 
306
306
  /* The only child rounds both ends, which is every tag that cannot be removed. */
307
- [data-ui='tag'] [data-part='body']:last-child {
307
+ [data-ui-tag] [data-part-body]:last-child {
308
308
  border-end-end-radius: var(--_inner-radius);
309
309
  border-start-end-radius: var(--_inner-radius);
310
310
  }
@@ -318,11 +318,11 @@
318
318
  * mostly of air. What is left is the gap the chip uses between any two things
319
319
  * inside it.
320
320
  */
321
- [data-ui='tag'] [data-part='body']:has(+ [data-part='remove']) {
321
+ [data-ui-tag] [data-part-body]:has(+ [data-part-remove]) {
322
322
  padding-inline-end: var(--_gap);
323
323
  }
324
324
 
325
- [data-ui='tag'] [data-part='body']:is(a, button) {
325
+ [data-ui-tag] [data-part-body]:is(a, button) {
326
326
  cursor: pointer;
327
327
  }
328
328
 
@@ -332,7 +332,7 @@
332
332
  * Where the line is clipped. `min-inline-size: 0` is what lets the box
333
333
  * shrink below its content inside the flex body.
334
334
  */
335
- [data-ui='tag'] [data-part='label'] {
335
+ [data-ui-tag] [data-part-label] {
336
336
  min-inline-size: 0;
337
337
  overflow: hidden;
338
338
  text-overflow: ellipsis;
@@ -349,7 +349,7 @@
349
349
  }
350
350
 
351
351
  @supports (text-box: trim-both cap alphabetic) {
352
- [data-ui='tag'] [data-part='label'] {
352
+ [data-ui-tag] [data-part-label] {
353
353
  /**
354
354
  * The line box a flex container centres is not symmetric around the
355
355
  * letters inside it: the ascender reaches further above the cap than the
@@ -375,8 +375,8 @@
375
375
  * from its container, and a bare glyph host such as `ng-icon` reads the
376
376
  * slot's font-size, so both are the glyph scale.
377
377
  */
378
- [data-ui='tag'] [data-part='start'],
379
- [data-ui='tag'] [data-part='end'] {
378
+ [data-ui-tag] [data-part-start],
379
+ [data-ui-tag] [data-part-end] {
380
380
  --slotted-icon-size: var(--_icon-size);
381
381
 
382
382
  align-items: center;
@@ -390,8 +390,8 @@
390
390
  line-height: 1;
391
391
  }
392
392
 
393
- [data-ui='tag'] [data-part='start'] > *,
394
- [data-ui='tag'] [data-part='end'] > * {
393
+ [data-ui-tag] [data-part-start] > *,
394
+ [data-ui-tag] [data-part-end] > * {
395
395
  block-size: 100%;
396
396
  display: block;
397
397
  inline-size: 100%;
@@ -410,7 +410,7 @@
410
410
  * `hideSingleSelectionIndicator` to avoid it; the transition is the third
411
411
  * answer, and the theme collapses its duration under reduced motion.
412
412
  */
413
- [data-ui='tag'] [data-part='indicator'] {
413
+ [data-ui-tag] [data-part-indicator] {
414
414
  --slotted-icon-size: var(--_icon-size);
415
415
 
416
416
  align-items: center;
@@ -433,7 +433,7 @@
433
433
  opacity var(--slotted-duration-short) var(--slotted-easing-standard);
434
434
  }
435
435
 
436
- [data-ui='tag'][data-part='root'][data-selected] [data-part='indicator'] {
436
+ [data-ui-tag][data-part-root][data-selected] [data-part-indicator] {
437
437
  inline-size: var(--_icon-size);
438
438
  margin-inline-end: 0;
439
439
  opacity: 1;
@@ -457,7 +457,7 @@
457
457
  * The mark is the `x` glyph the binding renders; the control hands its icon
458
458
  * box the chip's glyph size.
459
459
  */
460
- [data-ui='tag'] [data-part='remove'] {
460
+ [data-ui-tag] [data-part-remove] {
461
461
  --slotted-icon-size: var(--_icon-size);
462
462
 
463
463
  align-items: center;
@@ -491,7 +491,7 @@
491
491
  * falls short and is inert on the two larger sizes, where the chip is already
492
492
  * taller than the minimum.
493
493
  */
494
- [data-ui='tag'] [data-part='remove']::after {
494
+ [data-ui-tag] [data-part-remove]::after {
495
495
  content: '';
496
496
  inset: min(0px, calc((100% - var(--slotted-target-min, 24px)) / 2));
497
497
  position: absolute;
@@ -504,7 +504,7 @@
504
504
  * segment 24 wide and 32 tall. The halo above grows to 44 pixels around it.
505
505
  */
506
506
  @media (pointer: coarse) {
507
- [data-ui='tag'] [data-part='remove'] {
507
+ [data-ui-tag] [data-part-remove] {
508
508
  inline-size: max(
509
509
  var(--slotted-target-min, 24px),
510
510
  min(calc(var(--_icon-size) + 2 * var(--slotted-space-2, 0.25rem)), var(--_inner-size)),
@@ -512,14 +512,14 @@
512
512
  );
513
513
  }
514
514
 
515
- [data-ui='tag'] [data-part='remove']::after {
515
+ [data-ui-tag] [data-part-remove]::after {
516
516
  inset: min(0px, calc((100% - var(--slotted-target-comfortable, 44px)) / 2));
517
517
  }
518
518
  }
519
519
 
520
520
  /* A tag that is only a remove control is not a tag, but the rounding is one
521
521
  rule either way rather than a case the sheet has to know about. */
522
- [data-ui='tag'] [data-part='remove']:first-child {
522
+ [data-ui-tag] [data-part-remove]:first-child {
523
523
  border-end-start-radius: var(--_inner-radius);
524
524
  border-start-start-radius: var(--_inner-radius);
525
525
  }
@@ -531,7 +531,7 @@
531
531
  * is the rule `button` set for `pressed`: "on" is never one shade away from
532
532
  * "hovered".
533
533
  */
534
- [data-ui='tag'][data-part='root'][data-selected]:not([data-disabled]) {
534
+ [data-ui-tag][data-part-root][data-selected]:not([data-disabled]) {
535
535
  background-color: var(--_solid, ButtonFace);
536
536
  border-color: var(--_edge, ButtonBorder);
537
537
  color: var(--_on-solid, ButtonText);
@@ -558,7 +558,7 @@
558
558
  * the two component tokens are for.
559
559
  */
560
560
 
561
- [data-ui='tag'][data-part='root'] {
561
+ [data-ui-tag][data-part-root] {
562
562
  --_state-hover: color-mix(
563
563
  in oklab,
564
564
  currentColor var(--slotted-tag-state-layer-hover, 8%),
@@ -571,27 +571,23 @@
571
571
  );
572
572
  }
573
573
 
574
- [data-ui='tag'][data-part='root'][data-variant='soft']:not([data-disabled]):not([data-selected])
575
- :is([data-part='body']:is(a, button), [data-part='remove']):hover:not(:disabled) {
574
+ [data-ui-tag][data-part-root][data-variant='soft']:not([data-disabled]):not([data-selected])
575
+ :is([data-part-body]:is(a, button), [data-part-remove]):hover:not(:disabled) {
576
576
  background-color: var(--_state-hover);
577
577
  }
578
578
 
579
- [data-ui='tag'][data-part='root'][data-variant='soft']:not([data-disabled]):not([data-selected])
580
- :is([data-part='body']:is(a, button), [data-part='remove']):active:not(:disabled) {
579
+ [data-ui-tag][data-part-root][data-variant='soft']:not([data-disabled]):not([data-selected])
580
+ :is([data-part-body]:is(a, button), [data-part-remove]):active:not(:disabled) {
581
581
  background-color: var(--_state-active);
582
582
  }
583
583
 
584
- [data-ui='tag'][data-part='root'][data-variant='outline']:not([data-disabled]):not(
585
- [data-selected]
586
- )
587
- :is([data-part='body']:is(a, button), [data-part='remove']):hover:not(:disabled) {
584
+ [data-ui-tag][data-part-root][data-variant='outline']:not([data-disabled]):not([data-selected])
585
+ :is([data-part-body]:is(a, button), [data-part-remove]):hover:not(:disabled) {
588
586
  background-color: var(--_subtle-hover, ButtonFace);
589
587
  }
590
588
 
591
- [data-ui='tag'][data-part='root'][data-variant='outline']:not([data-disabled]):not(
592
- [data-selected]
593
- )
594
- :is([data-part='body']:is(a, button), [data-part='remove']):active:not(:disabled) {
589
+ [data-ui-tag][data-part-root][data-variant='outline']:not([data-disabled]):not([data-selected])
590
+ :is([data-part-body]:is(a, button), [data-part-remove]):active:not(:disabled) {
595
591
  background-color: var(--_subtle-active, ButtonFace);
596
592
  }
597
593
 
@@ -599,17 +595,17 @@
599
595
  * A filled chip washes along its own ramp, as `button` does — and a selected
600
596
  * chip is a filled chip whatever its variant, so the two share these rules.
601
597
  */
602
- [data-ui='tag'][data-part='root'][data-variant='solid']:not([data-disabled])
603
- :is([data-part='body']:is(a, button), [data-part='remove']):hover:not(:disabled),
604
- [data-ui='tag'][data-part='root'][data-selected]:not([data-disabled])
605
- :is([data-part='body']:is(a, button), [data-part='remove']):hover:not(:disabled) {
598
+ [data-ui-tag][data-part-root][data-variant='solid']:not([data-disabled])
599
+ :is([data-part-body]:is(a, button), [data-part-remove]):hover:not(:disabled),
600
+ [data-ui-tag][data-part-root][data-selected]:not([data-disabled])
601
+ :is([data-part-body]:is(a, button), [data-part-remove]):hover:not(:disabled) {
606
602
  background-color: var(--_solid-hover, Highlight);
607
603
  }
608
604
 
609
- [data-ui='tag'][data-part='root'][data-variant='solid']:not([data-disabled])
610
- :is([data-part='body']:is(a, button), [data-part='remove']):active:not(:disabled),
611
- [data-ui='tag'][data-part='root'][data-selected]:not([data-disabled])
612
- :is([data-part='body']:is(a, button), [data-part='remove']):active:not(:disabled) {
605
+ [data-ui-tag][data-part-root][data-variant='solid']:not([data-disabled])
606
+ :is([data-part-body]:is(a, button), [data-part-remove]):active:not(:disabled),
607
+ [data-ui-tag][data-part-root][data-selected]:not([data-disabled])
608
+ :is([data-part-body]:is(a, button), [data-part-remove]):active:not(:disabled) {
613
609
  background-color: var(--_solid-active, Highlight);
614
610
  }
615
611
 
@@ -637,8 +633,8 @@
637
633
  * target: a rounded rectangle floating inside the segment would be prettier
638
634
  * and would say the hit area is somewhere it is not.
639
635
  */
640
- [data-ui='tag'] [data-part='body']:focus-visible,
641
- [data-ui='tag'] [data-part='remove']:focus-visible {
636
+ [data-ui-tag] [data-part-body]:focus-visible,
637
+ [data-ui-tag] [data-part-remove]:focus-visible {
642
638
  outline: var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);
643
639
  outline-offset: calc(-2 * var(--slotted-focus-ring-width, 2px));
644
640
  }
@@ -648,7 +644,7 @@
648
644
  * It is drawn for one moment: the group takes focus when the last tag it
649
645
  * held is removed, so the keyboard is not returned to the top of the page.
650
646
  */
651
- [data-ui='tag'][data-part='group']:focus-visible {
647
+ [data-ui-tag][data-part-group]:focus-visible {
652
648
  outline: var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);
653
649
  outline-offset: var(--slotted-focus-ring-offset, 2px);
654
650
  }
@@ -664,7 +660,7 @@
664
660
  * a control and a control that keeps its place in the tab sequence carries
665
661
  * `aria-disabled` and no `:disabled`.
666
662
  */
667
- [data-ui='tag'][data-part='root'][data-disabled] {
663
+ [data-ui-tag][data-part-root][data-disabled] {
668
664
  color: var(--slotted-disabled-foreground, GrayText);
669
665
  }
670
666
 
@@ -676,21 +672,21 @@
676
672
  * capture showed "Disabled selected" as a check and two words floating on
677
673
  * the page with no box around them.
678
674
  */
679
- [data-ui='tag'][data-part='root'][data-variant='solid'][data-disabled],
680
- [data-ui='tag'][data-part='root'][data-variant='soft'][data-disabled],
681
- [data-ui='tag'][data-part='root'][data-selected][data-disabled] {
675
+ [data-ui-tag][data-part-root][data-variant='solid'][data-disabled],
676
+ [data-ui-tag][data-part-root][data-variant='soft'][data-disabled],
677
+ [data-ui-tag][data-part-root][data-selected][data-disabled] {
682
678
  background-color: var(--slotted-disabled-background, Canvas);
683
679
  border-color: var(--slotted-disabled-border, GrayText);
684
680
  }
685
681
 
686
- [data-ui='tag'][data-part='root'][data-variant='outline'][data-disabled] {
682
+ [data-ui-tag][data-part-root][data-variant='outline'][data-disabled] {
687
683
  background-color: transparent;
688
684
  border-color: var(--slotted-disabled-border, GrayText);
689
685
  }
690
686
 
691
- [data-ui='tag'][data-part='root'][data-disabled] :is([data-part='body'], [data-part='remove']),
692
- [data-ui='tag'] [data-part='body']:disabled,
693
- [data-ui='tag'] [data-part='remove']:disabled {
687
+ [data-ui-tag][data-part-root][data-disabled] :is([data-part-body], [data-part-remove]),
688
+ [data-ui-tag] [data-part-body]:disabled,
689
+ [data-ui-tag] [data-part-remove]:disabled {
694
690
  background-color: transparent;
695
691
  cursor: not-allowed;
696
692
  }
@@ -699,7 +695,7 @@
699
695
  * A remove control the consumer disabled on its own, inside a chip that is
700
696
  * otherwise operable. It loses its colour rather than the whole chip's.
701
697
  */
702
- [data-ui='tag'] [data-part='remove']:disabled {
698
+ [data-ui-tag] [data-part-remove]:disabled {
703
699
  color: var(--slotted-disabled-foreground, GrayText);
704
700
  }
705
701
 
@@ -711,14 +707,14 @@
711
707
  * the arrow keys move between the controls inside it — the APG Toolbar
712
708
  * pattern, which is a container for grouping a set of controls.
713
709
  */
714
- [data-ui='tag'][data-part='group'] {
710
+ [data-ui-tag][data-part-group] {
715
711
  align-items: center;
716
712
  display: flex;
717
713
  flex-wrap: wrap;
718
714
  gap: var(--slotted-tag-group-gap, var(--slotted-space-2, 0.25rem));
719
715
  }
720
716
 
721
- [data-ui='tag'][data-part='group'][data-orientation='vertical'] {
717
+ [data-ui-tag][data-part-group][data-orientation='vertical'] {
722
718
  align-items: start;
723
719
  flex-direction: column;
724
720
  flex-wrap: nowrap;
@@ -731,7 +727,7 @@
731
727
  * that holds it — the defect `button-group` recorded when it found the same
732
728
  * thing.
733
729
  */
734
- [data-ui='tag'][data-part='group']:empty {
730
+ [data-ui-tag][data-part-group]:empty {
735
731
  display: none;
736
732
  }
737
733
 
@@ -750,17 +746,17 @@
750
746
  * pair instead.
751
747
  */
752
748
  @media (forced-colors: active) {
753
- [data-ui='tag'][data-part='root'] {
749
+ [data-ui-tag][data-part-root] {
754
750
  border-color: currentColor;
755
751
  }
756
752
 
757
- [data-ui='tag'][data-part='root'][data-selected]:not([data-disabled]) {
753
+ [data-ui-tag][data-part-root][data-selected]:not([data-disabled]) {
758
754
  background-color: Highlight;
759
755
  color: HighlightText;
760
756
  forced-color-adjust: none;
761
757
  }
762
758
 
763
- [data-ui='tag'][data-part='root'][data-disabled] {
759
+ [data-ui-tag][data-part-root][data-disabled] {
764
760
  border-color: GrayText;
765
761
  color: GrayText;
766
762
  }