@slotted/styles 0.1.0-beta.1 → 0.1.0-beta.11

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 (180) hide show
  1. package/package.json +1 -1
  2. package/src/accordion/accordion.css +10 -10
  3. package/src/action-bar/action-bar.css +35 -42
  4. package/src/action-sheet/action-sheet.css +36 -36
  5. package/src/alert/alert.css +43 -35
  6. package/src/alert/alert.tokens.json +5 -0
  7. package/src/app-shell/app-shell.css +356 -301
  8. package/src/aspect-ratio/aspect-ratio.css +9 -9
  9. package/src/attachment/attachment.css +91 -99
  10. package/src/avatar/avatar.css +71 -41
  11. package/src/avatar/avatar.tokens.json +7 -0
  12. package/src/avatar-group/avatar-group.css +21 -22
  13. package/src/badge/badge.css +45 -37
  14. package/src/badge/badge.tokens.json +5 -0
  15. package/src/breadcrumb/breadcrumb.css +37 -37
  16. package/src/button/button.css +149 -68
  17. package/src/button/button.tokens.json +10 -0
  18. package/src/button-group/button-group.css +79 -74
  19. package/src/button-group/button-group.tokens.json +2 -0
  20. package/src/calendar/calendar.css +93 -103
  21. package/src/card/card.css +54 -61
  22. package/src/carousel/carousel.css +150 -161
  23. package/src/cascader/cascader.css +152 -153
  24. package/src/cascader/cascader.tokens.json +1 -0
  25. package/src/chart/chart.css +242 -239
  26. package/src/chart/chart.tokens.json +1 -0
  27. package/src/checkbox/checkbox.css +119 -124
  28. package/src/checkbox-group/checkbox-group.css +7 -7
  29. package/src/code-block/code-block.css +81 -85
  30. package/src/collapsible/collapsible.css +69 -76
  31. package/src/color-picker/color-picker.css +83 -91
  32. package/src/column-manager/column-manager.css +106 -114
  33. package/src/combobox/combobox.css +132 -107
  34. package/src/combobox/combobox.tokens.json +1 -0
  35. package/src/command-palette/command-palette.css +103 -90
  36. package/src/command-palette/command-palette.tokens.json +1 -0
  37. package/src/container/container.css +24 -24
  38. package/src/context-menu/context-menu.css +8 -8
  39. package/src/currency-field/currency-field.css +210 -88
  40. package/src/currency-field/currency-field.tokens.json +13 -0
  41. package/src/dashboard-grid/dashboard-grid.css +148 -116
  42. package/src/data-grid/data-grid.css +535 -470
  43. package/src/data-grid/data-grid.tokens.json +4 -0
  44. package/src/data-list/data-list.css +81 -70
  45. package/src/data-list/data-list.tokens.json +2 -1
  46. package/src/date-field/date-field.css +55 -52
  47. package/src/date-field/date-field.tokens.json +1 -0
  48. package/src/date-picker/date-picker.css +40 -42
  49. package/src/date-range-picker/date-range-picker.css +114 -118
  50. package/src/datetime-field/datetime-field.css +78 -80
  51. package/src/datetime-field/datetime-field.tokens.json +1 -0
  52. package/src/datetime-picker/datetime-picker.css +61 -63
  53. package/src/datetime-range-picker/datetime-range-picker.css +149 -156
  54. package/src/description-list/description-list.css +61 -64
  55. package/src/detail-panel/detail-panel.css +86 -71
  56. package/src/detail-panel/detail-panel.tokens.json +2 -0
  57. package/src/dialog/dialog.css +372 -153
  58. package/src/dialog/dialog.tokens.json +6 -0
  59. package/src/divider/divider.css +18 -18
  60. package/src/drawer/drawer.css +205 -210
  61. package/src/drawer/drawer.tokens.json +1 -0
  62. package/src/entity-picker/entity-picker.css +238 -241
  63. package/src/entity-picker/entity-picker.tokens.json +1 -0
  64. package/src/event-calendar/event-calendar.css +343 -385
  65. package/src/field/field.css +74 -78
  66. package/src/field-group/field-group.css +22 -25
  67. package/src/filter-bar/filter-bar.css +193 -209
  68. package/src/form/form.css +34 -24
  69. package/src/form/form.tokens.json +1 -0
  70. package/src/fullscreen/fullscreen.css +24 -25
  71. package/src/grid/grid.css +28 -28
  72. package/src/highlight/highlight.css +6 -6
  73. package/src/hover-card/hover-card.css +6 -6
  74. package/src/icon/icon.css +19 -15
  75. package/src/icon/icon.tokens.json +1 -0
  76. package/src/image/image.css +39 -39
  77. package/src/import-export-center/import-export-center.css +135 -156
  78. package/src/inline/inline.css +27 -27
  79. package/src/inline-message/inline-message.css +52 -28
  80. package/src/inline-message/inline-message.tokens.json +4 -0
  81. package/src/kbd/kbd.css +30 -26
  82. package/src/link/link.css +15 -15
  83. package/src/list/list.css +44 -17
  84. package/src/list/list.tokens.json +4 -0
  85. package/src/list-item/list-item.css +80 -66
  86. package/src/list-item/list-item.tokens.json +7 -0
  87. package/src/listbox/listbox.css +56 -59
  88. package/src/loading-overlay/loading-overlay.css +75 -92
  89. package/src/markdown/markdown.css +17 -17
  90. package/src/menu/menu.css +83 -63
  91. package/src/menubar/menubar.css +13 -13
  92. package/src/message/message.css +182 -202
  93. package/src/message/message.tokens.json +5 -0
  94. package/src/message-scroller/message-scroller.css +41 -42
  95. package/src/multi-select/multi-select.css +152 -145
  96. package/src/multi-select/multi-select.tokens.json +1 -0
  97. package/src/navigation-menu/navigation-menu.css +167 -188
  98. package/src/notification-center/notification-center.css +140 -148
  99. package/src/notification-center/notification-center.tokens.json +3 -0
  100. package/src/number-field/number-field.css +84 -83
  101. package/src/number-field/number-field.tokens.json +1 -0
  102. package/src/otp-input/otp-input.css +67 -57
  103. package/src/otp-input/otp-input.tokens.json +1 -0
  104. package/src/page/page.css +39 -23
  105. package/src/page/page.tokens.json +1 -0
  106. package/src/page-header/page-header.css +323 -283
  107. package/src/page-header/page-header.tokens.json +5 -0
  108. package/src/pagination/pagination.css +68 -72
  109. package/src/popover/popover.css +40 -49
  110. package/src/progress-indicator/progress-indicator.css +177 -120
  111. package/src/progress-indicator/progress-indicator.tokens.json +1 -1
  112. package/src/prompt-composer/prompt-composer.css +221 -102
  113. package/src/prompt-composer/prompt-composer.tokens.json +15 -0
  114. package/src/prose/prose.css +71 -75
  115. package/src/radio-group/radio-group.css +98 -103
  116. package/src/rating/rating.css +136 -132
  117. package/src/rating/rating.tokens.json +1 -0
  118. package/src/result-state/result-state.css +74 -77
  119. package/src/runtime-properties.mjs +2 -0
  120. package/src/saved-views/saved-views.css +41 -47
  121. package/src/scroll-area/scroll-area.css +39 -32
  122. package/src/section/section.css +161 -41
  123. package/src/section/section.tokens.json +7 -2
  124. package/src/segmented-control/segmented-control.css +254 -97
  125. package/src/segmented-control/segmented-control.tokens.json +15 -11
  126. package/src/select/select.css +118 -117
  127. package/src/select/select.tokens.json +1 -0
  128. package/src/side-navigation/side-navigation.css +179 -182
  129. package/src/side-navigation/side-navigation.tokens.json +1 -0
  130. package/src/skeleton/skeleton.css +47 -48
  131. package/src/slider/slider.css +86 -88
  132. package/src/sparkline/sparkline.css +62 -40
  133. package/src/sparkline/sparkline.tokens.json +2 -0
  134. package/src/spinner/spinner.css +83 -180
  135. package/src/spinner/spinner.tokens.json +0 -1
  136. package/src/split-button/split-button.css +30 -31
  137. package/src/split-button/split-button.tokens.json +1 -0
  138. package/src/splitter/splitter.css +35 -35
  139. package/src/stack/stack.css +24 -24
  140. package/src/stat-card/stat-card.css +341 -224
  141. package/src/stat-card/stat-card.tokens.json +3 -0
  142. package/src/status-indicator/status-indicator.css +28 -28
  143. package/src/stepper/stepper.css +58 -62
  144. package/src/switch/switch.css +86 -92
  145. package/src/table/table.css +310 -165
  146. package/src/table/table.tokens.json +6 -0
  147. package/src/table-of-contents/table-of-contents.css +51 -54
  148. package/src/tabs/tabs.css +337 -302
  149. package/src/tabs/tabs.tokens.json +8 -5
  150. package/src/tag/tag.css +79 -71
  151. package/src/tag/tag.tokens.json +9 -0
  152. package/src/tags-input/tags-input.css +145 -82
  153. package/src/tags-input/tags-input.tokens.json +7 -1
  154. package/src/text-field/text-field.css +132 -136
  155. package/src/text-field/text-field.tokens.json +1 -0
  156. package/src/textarea/textarea.css +31 -28
  157. package/src/textarea/textarea.tokens.json +1 -0
  158. package/src/time-field/time-field.css +72 -69
  159. package/src/time-field/time-field.tokens.json +1 -0
  160. package/src/time-picker/time-picker.css +56 -58
  161. package/src/time-range-picker/time-range-picker.css +126 -133
  162. package/src/timeline/timeline.css +254 -266
  163. package/src/timeline/timeline.tokens.json +5 -0
  164. package/src/toast/toast.css +108 -90
  165. package/src/toast/toast.tokens.json +6 -0
  166. package/src/toggle/toggle.css +62 -25
  167. package/src/toggle/toggle.tokens.json +8 -0
  168. package/src/toggle-group/toggle-group.css +106 -60
  169. package/src/toggle-group/toggle-group.tokens.json +10 -0
  170. package/src/toolbar/toolbar.css +30 -35
  171. package/src/tooltip/tooltip.css +26 -26
  172. package/src/top-navigation/top-navigation.css +243 -259
  173. package/src/tour/tour.css +51 -60
  174. package/src/transfer/transfer.css +160 -164
  175. package/src/tree/tree.css +103 -111
  176. package/src/typography/typography.css +40 -36
  177. package/src/typography/typography.tokens.json +1 -0
  178. package/src/upload/upload.css +224 -224
  179. package/src/visually-hidden/visually-hidden.css +1 -1
  180. package/src/wizard/wizard.css +185 -197
@@ -14,7 +14,7 @@
14
14
  * the arrows reach the buttons through it because the items are found by
15
15
  * being focusable rather than by being children.
16
16
  */
17
- [data-ui='toolbar'] {
17
+ [data-ui-toolbar] {
18
18
  /**
19
19
  * The bar's own rhythm, from the control scales, so the three densities
20
20
  * move it without a rule of their own.
@@ -44,7 +44,7 @@
44
44
  padding: var(--slotted-toolbar-inset, var(--_pad));
45
45
  }
46
46
 
47
- [data-ui='toolbar'][data-size='sm'] {
47
+ [data-ui-toolbar][data-size='sm'] {
48
48
  --_gap: var(--slotted-control-gap-sm, 0.25rem);
49
49
  --_inset: var(--slotted-space-1, 0.125rem);
50
50
  --_height: var(--slotted-control-height-sm, 30px);
@@ -54,7 +54,7 @@
54
54
  --_inner-size: var(--slotted-control-inner-size-sm, 22px);
55
55
  }
56
56
 
57
- [data-ui='toolbar'][data-size='lg'] {
57
+ [data-ui-toolbar][data-size='lg'] {
58
58
  --_gap: var(--slotted-control-gap-lg, 0.5rem);
59
59
  --_inset: var(--slotted-space-3, 0.375rem);
60
60
  --_height: var(--slotted-control-height-lg, 40px);
@@ -70,7 +70,7 @@
70
70
  * renders an empty container often, and an empty box still consumes the gap
71
71
  * of the row that holds it.
72
72
  */
73
- [data-ui='toolbar']:empty {
73
+ [data-ui-toolbar]:empty {
74
74
  display: none;
75
75
  }
76
76
 
@@ -81,7 +81,7 @@
81
81
  * natural widths is a ragged edge rather than a bar. A row centres them,
82
82
  * because two controls of different heights in one line share a middle.
83
83
  */
84
- [data-ui='toolbar'][data-orientation='vertical'] {
84
+ [data-ui-toolbar][data-orientation='vertical'] {
85
85
  align-items: stretch;
86
86
  flex-direction: column;
87
87
  inline-size: fit-content;
@@ -94,7 +94,7 @@
94
94
  * above a table is already standing on a surface, and a second one there
95
95
  * reads as a box nobody asked for.
96
96
  */
97
- [data-ui='toolbar'][data-variant='outline'] {
97
+ [data-ui-toolbar][data-variant='outline'] {
98
98
  --_pad: max(
99
99
  var(--_inset),
100
100
  calc(var(--slotted-focus-ring-offset, 2px) + var(--slotted-focus-ring-width, 2px))
@@ -121,7 +121,7 @@
121
121
  * design — its spacer exists so the first item "can wrap to the next line
122
122
  * and get clipped".
123
123
  */
124
- [data-ui='toolbar']:is([data-overflow='scroll'], [data-overflow='menu']) {
124
+ [data-ui-toolbar]:is([data-overflow='scroll'], [data-overflow='menu']) {
125
125
  /**
126
126
  * A scroll container clips at its padding edge whether or not a scrollbar
127
127
  * is drawn, and a control's focus ring is drawn outward. The bar therefore
@@ -139,7 +139,7 @@
139
139
  scrollbar-width: thin;
140
140
  }
141
141
 
142
- [data-ui='toolbar']:is(
142
+ [data-ui-toolbar]:is(
143
143
  [data-overflow='scroll'],
144
144
  [data-overflow='menu']
145
145
  )[data-orientation='vertical'] {
@@ -155,7 +155,7 @@
155
155
  * gets instead — and the collapse would then measure a control at a width it
156
156
  * only has while it is being squeezed.
157
157
  */
158
- [data-ui='toolbar']:is([data-overflow='scroll'], [data-overflow='menu']) > * {
158
+ [data-ui-toolbar]:is([data-overflow='scroll'], [data-overflow='menu']) > * {
159
159
  flex: none;
160
160
  }
161
161
 
@@ -171,13 +171,13 @@
171
171
  * It paints nothing. Everything a reader sees inside it belongs to the
172
172
  * control the consumer placed.
173
173
  */
174
- [data-ui='toolbar'] [data-part='item'] {
174
+ [data-ui-toolbar] [data-part-item] {
175
175
  align-items: center;
176
176
  display: inline-flex;
177
177
  min-inline-size: 0;
178
178
  }
179
179
 
180
- [data-ui='toolbar'][data-orientation='vertical'] [data-part='item'] {
180
+ [data-ui-toolbar][data-orientation='vertical'] [data-part-item] {
181
181
  align-items: stretch;
182
182
  flex-direction: column;
183
183
  }
@@ -189,13 +189,8 @@
189
189
  * without this rule every collapsed unit stayed on the bar and the collapse
190
190
  * did nothing at all.
191
191
  */
192
- [data-ui='toolbar']
193
- :is(
194
- [data-part='item'],
195
- [data-part='group'],
196
- [data-part='separator'],
197
- [data-part='overflow']
198
- )[hidden] {
192
+ [data-ui-toolbar]
193
+ :is([data-part-item], [data-part-group], [data-part-separator], [data-part-overflow])[hidden] {
199
194
  display: none;
200
195
  }
201
196
 
@@ -216,7 +211,7 @@
216
211
  * Its accessible name carries the count, so what a reader hears is a number
217
212
  * rather than three dots.
218
213
  */
219
- [data-ui='toolbar'] [data-part='overflow'] {
214
+ [data-ui-toolbar] [data-part-overflow] {
220
215
  --slotted-icon-size: var(--_icon-size);
221
216
 
222
217
  align-items: center;
@@ -249,14 +244,14 @@
249
244
  }
250
245
 
251
246
  /* The ground moves under the pointer and nothing else does (R2). */
252
- [data-ui='toolbar'] [data-part='overflow']:not(:disabled):hover {
247
+ [data-ui-toolbar] [data-part-overflow]:not(:disabled):hover {
253
248
  background-color: var(
254
249
  --slotted-toolbar-overflow-hover-background,
255
250
  var(--slotted-tone-secondary-subtle-hover)
256
251
  );
257
252
  }
258
253
 
259
- [data-ui='toolbar'] [data-part='overflow']:not(:disabled):active {
254
+ [data-ui-toolbar] [data-part-overflow]:not(:disabled):active {
260
255
  background-color: var(
261
256
  --slotted-toolbar-overflow-active-background,
262
257
  var(--slotted-tone-secondary-subtle-active)
@@ -268,7 +263,7 @@
268
263
  * reader who moved the pointer off the trigger loses every sign of which
269
264
  * control the layer belongs to.
270
265
  */
271
- [data-ui='toolbar'] [data-part='overflow'][data-open] {
266
+ [data-ui-toolbar] [data-part-overflow][data-open] {
272
267
  background-color: var(
273
268
  --slotted-toolbar-overflow-open-background,
274
269
  var(--slotted-tone-secondary-subtle-active)
@@ -286,13 +281,13 @@
286
281
  it are, and square: one value for both axes, so a bar taller than the
287
282
  comfortable target does not stand it on end. */
288
283
  @media (pointer: coarse) {
289
- [data-ui='toolbar'] [data-part='overflow'] {
284
+ [data-ui-toolbar] [data-part-overflow] {
290
285
  min-block-size: max(var(--slotted-target-comfortable, 44px), var(--_height));
291
286
  min-inline-size: max(var(--slotted-target-comfortable, 44px), var(--_height));
292
287
  }
293
288
  }
294
289
 
295
- [data-ui='toolbar'] [data-part='overflow']:disabled {
290
+ [data-ui-toolbar] [data-part-overflow]:disabled {
296
291
  color: var(--slotted-disabled-foreground, GrayText);
297
292
  cursor: default;
298
293
  }
@@ -302,7 +297,7 @@
302
297
  * edge, and the trigger is the control closest to it, so an outward ring here
303
298
  * is the one this family cannot afford.
304
299
  */
305
- [data-ui='toolbar'] [data-part='overflow']:focus-visible {
300
+ [data-ui-toolbar] [data-part-overflow]:focus-visible {
306
301
  outline: var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);
307
302
  outline-offset: calc(-1 * var(--slotted-focus-ring-width, 2px));
308
303
  }
@@ -321,7 +316,7 @@
321
316
  * puts the clusters of a loosely spaced bar closer together than the
322
317
  * controls inside them.
323
318
  */
324
- [data-ui='toolbar'] [data-part='group'] {
319
+ [data-ui-toolbar] [data-part-group] {
325
320
  align-items: center;
326
321
  display: flex;
327
322
  flex-wrap: inherit;
@@ -329,25 +324,25 @@
329
324
  min-inline-size: 0;
330
325
  }
331
326
 
332
- [data-ui='toolbar'][data-orientation='vertical'] [data-part='group'] {
327
+ [data-ui-toolbar][data-orientation='vertical'] [data-part-group] {
333
328
  align-items: stretch;
334
329
  flex-direction: column;
335
330
  }
336
331
 
337
- [data-ui='toolbar'] [data-part='group']:not(:first-child) {
332
+ [data-ui-toolbar] [data-part-group]:not(:first-child) {
338
333
  margin-inline-start: calc(var(--_gap) / 2);
339
334
  }
340
335
 
341
- [data-ui='toolbar'] [data-part='group']:not(:last-child) {
336
+ [data-ui-toolbar] [data-part-group]:not(:last-child) {
342
337
  margin-inline-end: calc(var(--_gap) / 2);
343
338
  }
344
339
 
345
- [data-ui='toolbar'][data-orientation='vertical'] [data-part='group']:not(:first-child) {
340
+ [data-ui-toolbar][data-orientation='vertical'] [data-part-group]:not(:first-child) {
346
341
  margin-block-start: calc(var(--_gap) / 2);
347
342
  margin-inline-start: 0;
348
343
  }
349
344
 
350
- [data-ui='toolbar'][data-orientation='vertical'] [data-part='group']:not(:last-child) {
345
+ [data-ui-toolbar][data-orientation='vertical'] [data-part-group]:not(:last-child) {
351
346
  margin-block-end: calc(var(--_gap) / 2);
352
347
  margin-inline-end: 0;
353
348
  }
@@ -365,7 +360,7 @@
365
360
  * It is one border width. A thick rule in a bar of hairlines is not a
366
361
  * stronger boundary, it is a slab.
367
362
  */
368
- [data-ui='toolbar'] [data-part='separator'] {
363
+ [data-ui-toolbar] [data-part-separator] {
369
364
  align-self: stretch;
370
365
  /**
371
366
  * The control edge rather than the subtle rule `divider` reaches for: this
@@ -391,7 +386,7 @@
391
386
  min-block-size: calc(var(--_height) - 2 * var(--_separator-inset));
392
387
  }
393
388
 
394
- [data-ui='toolbar'][data-orientation='vertical'] [data-part='separator'] {
389
+ [data-ui-toolbar][data-orientation='vertical'] [data-part-separator] {
395
390
  block-size: var(--slotted-border-width-thin, 1px);
396
391
  inline-size: auto;
397
392
  margin-block: calc(var(--_gap) / 2);
@@ -405,7 +400,7 @@
405
400
  * so keeping the paint is the only way the boundary is still there to read.
406
401
  */
407
402
  @media (forced-colors: active) {
408
- [data-ui='toolbar'] [data-part='separator'] {
403
+ [data-ui-toolbar] [data-part-separator] {
409
404
  background-color: CanvasText;
410
405
  forced-color-adjust: none;
411
406
  }
@@ -426,7 +421,7 @@
426
421
  * afterwards, so a zero-width spacer moves what follows to the end of its own
427
422
  * line and pushes nothing onto the next one.
428
423
  */
429
- [data-ui='toolbar'] [data-part='spacer'] {
424
+ [data-ui-toolbar] [data-part-spacer] {
430
425
  flex: 1 1 0;
431
426
  min-block-size: 0;
432
427
  min-inline-size: 0;
@@ -32,7 +32,7 @@
32
32
  * answered in logical properties without mirroring in the wrong direction.
33
33
  * Symmetric padding answers every side at once.
34
34
  */
35
- [data-ui='tooltip'] {
35
+ [data-ui-tooltip] {
36
36
  /**
37
37
  * The distance between the trigger and the painted surface, and the band
38
38
  * the arrow stands in. A consumer who raises `sideOffset` past it leaves
@@ -139,12 +139,12 @@
139
139
  translate var(--slotted-duration-short) var(--slotted-easing-exit);
140
140
  }
141
141
 
142
- [data-ui='tooltip'][data-side='top'] {
142
+ [data-ui-tooltip][data-side='top'] {
143
143
  translate: 0 var(--_enter-distance);
144
144
  }
145
145
 
146
146
  /* A lateral side has no block direction to arrive from, so it only fades. */
147
- [data-ui='tooltip']:is([data-side='left'], [data-side='right']) {
147
+ [data-ui-tooltip]:is([data-side='left'], [data-side='right']) {
148
148
  translate: 0 0;
149
149
  }
150
150
 
@@ -162,7 +162,7 @@
162
162
  * A keyframe states where it starts. The exit stays a transition: it
163
163
  * leaves from wherever the layer is, on the closed rule's durations.
164
164
  */
165
- [data-ui='tooltip'][data-open] {
165
+ [data-ui-tooltip][data-open] {
166
166
  opacity: 1;
167
167
  translate: 0 0;
168
168
  transition: none;
@@ -173,15 +173,15 @@
173
173
  * with the side, and a layer written open in static markup — the harness,
174
174
  * a docs snippet — is simply there, and is photographed where it stands.
175
175
  */
176
- [data-ui='tooltip'][data-open][data-positioned] {
176
+ [data-ui-tooltip][data-open][data-positioned] {
177
177
  animation: slotted-tooltip-enter-down var(--slotted-duration-medium) var(--slotted-easing-enter);
178
178
  }
179
179
 
180
- [data-ui='tooltip'][data-open][data-positioned][data-side='top'] {
180
+ [data-ui-tooltip][data-open][data-positioned][data-side='top'] {
181
181
  animation-name: slotted-tooltip-enter-up;
182
182
  }
183
183
 
184
- [data-ui='tooltip'][data-open][data-positioned]:is([data-side='left'], [data-side='right']) {
184
+ [data-ui-tooltip][data-open][data-positioned]:is([data-side='left'], [data-side='right']) {
185
185
  animation-name: slotted-tooltip-fade;
186
186
  }
187
187
 
@@ -207,23 +207,23 @@
207
207
 
208
208
  /* Stillness keeps the fade and drops the movement (R7). */
209
209
  @media (prefers-reduced-motion: reduce) {
210
- [data-ui='tooltip'],
211
- [data-ui='tooltip'][data-side='top'],
212
- [data-ui='tooltip'][data-side='left'],
213
- [data-ui='tooltip'][data-side='right'] {
210
+ [data-ui-tooltip],
211
+ [data-ui-tooltip][data-side='top'],
212
+ [data-ui-tooltip][data-side='left'],
213
+ [data-ui-tooltip][data-side='right'] {
214
214
  translate: 0 0;
215
215
  transition: opacity var(--slotted-duration-short) var(--slotted-easing-exit);
216
216
  }
217
217
 
218
- [data-ui='tooltip'][data-open][data-positioned],
219
- [data-ui='tooltip'][data-open][data-positioned][data-side='top'],
220
- [data-ui='tooltip'][data-open][data-positioned][data-side='left'],
221
- [data-ui='tooltip'][data-open][data-positioned][data-side='right'] {
218
+ [data-ui-tooltip][data-open][data-positioned],
219
+ [data-ui-tooltip][data-open][data-positioned][data-side='top'],
220
+ [data-ui-tooltip][data-open][data-positioned][data-side='left'],
221
+ [data-ui-tooltip][data-open][data-positioned][data-side='right'] {
222
222
  animation-name: slotted-tooltip-fade;
223
223
  }
224
224
  }
225
225
 
226
- [data-ui='tooltip'][data-open][data-hoverable] {
226
+ [data-ui-tooltip][data-open][data-hoverable] {
227
227
  pointer-events: auto;
228
228
  }
229
229
 
@@ -232,11 +232,11 @@
232
232
  * `hideWhenDetached`: the layer comes back when the anchor does, and nothing
233
233
  * has moved the consumer's own `open` because a rectangle changed size.
234
234
  */
235
- [data-ui='tooltip'][data-detached] {
235
+ [data-ui-tooltip][data-detached] {
236
236
  visibility: hidden;
237
237
  }
238
238
 
239
- [data-ui='tooltip'][data-size='sm'] {
239
+ [data-ui-tooltip][data-size='sm'] {
240
240
  --_padding-inline: var(--slotted-control-padding-inline-sm, 0.625rem);
241
241
  --_padding-block: var(--slotted-control-gap-sm, 0.375rem);
242
242
  --_font-size: var(--slotted-control-font-size-sm, 0.75rem);
@@ -248,14 +248,14 @@
248
248
  * want to read as a small panel rather than as a label. It takes the raised
249
249
  * surface and the edge that surface needs to separate from the page.
250
250
  */
251
- [data-ui='tooltip'][data-variant='surface'] {
251
+ [data-ui-tooltip][data-variant='surface'] {
252
252
  --_surface: var(--slotted-tooltip-surface-raised, var(--slotted-surface-raised, #ffffff));
253
253
  --_text: var(--slotted-tooltip-text-raised, var(--slotted-text, #0f172a));
254
254
  --_border-color: var(--slotted-tooltip-border-color, var(--slotted-border-subtle, #e2e8f0));
255
255
  --_border-width: var(--slotted-border-width-thin, 1px);
256
256
  }
257
257
 
258
- [data-ui='tooltip'] > [data-part='content'] {
258
+ [data-ui-tooltip] > [data-part-content] {
259
259
  box-sizing: border-box;
260
260
  display: block;
261
261
  max-inline-size: 100%;
@@ -304,7 +304,7 @@
304
304
  * the reader's writing direction. Mirroring either would move an already
305
305
  * correct arrow to the wrong edge in a right-to-left document, so
306
306
  * `packages/styles/src/logical.test.mjs` exempts exactly the rules that
307
- * select `[data-part='arrow']`, and nothing else.
307
+ * select `[data-part-arrow]`, and nothing else.
308
308
  *
309
309
  * ── Why it is painted over the surface and not behind it ─────────────
310
310
  *
@@ -320,7 +320,7 @@
320
320
  * `arrowPadding` keeps it clear of the corners, where the content's radius
321
321
  * would leave the base uncovered.
322
322
  */
323
- [data-ui='tooltip'] > [data-part='arrow'] {
323
+ [data-ui-tooltip] > [data-part-arrow] {
324
324
  position: absolute;
325
325
  z-index: 1;
326
326
  inline-size: var(--_arrow-size);
@@ -330,7 +330,7 @@
330
330
  border: 0 solid var(--_border-color);
331
331
  }
332
332
 
333
- [data-ui='tooltip'][data-side='top'] > [data-part='arrow'] {
333
+ [data-ui-tooltip][data-side='top'] > [data-part-arrow] {
334
334
  left: var(--slotted-positioner-arrow-x, 0);
335
335
  top: auto;
336
336
  bottom: calc(var(--_gap) - var(--_arrow-size) / 2);
@@ -339,7 +339,7 @@
339
339
  border-bottom-right-radius: var(--_arrow-tip-radius);
340
340
  }
341
341
 
342
- [data-ui='tooltip'][data-side='bottom'] > [data-part='arrow'] {
342
+ [data-ui-tooltip][data-side='bottom'] > [data-part-arrow] {
343
343
  left: var(--slotted-positioner-arrow-x, 0);
344
344
  top: calc(var(--_gap) - var(--_arrow-size) / 2);
345
345
  bottom: auto;
@@ -348,7 +348,7 @@
348
348
  border-top-left-radius: var(--_arrow-tip-radius);
349
349
  }
350
350
 
351
- [data-ui='tooltip'][data-side='left'] > [data-part='arrow'] {
351
+ [data-ui-tooltip][data-side='left'] > [data-part-arrow] {
352
352
  top: var(--slotted-positioner-arrow-y, 0);
353
353
  left: auto;
354
354
  right: calc(var(--_gap) - var(--_arrow-size) / 2);
@@ -357,7 +357,7 @@
357
357
  border-top-right-radius: var(--_arrow-tip-radius);
358
358
  }
359
359
 
360
- [data-ui='tooltip'][data-side='right'] > [data-part='arrow'] {
360
+ [data-ui-tooltip][data-side='right'] > [data-part-arrow] {
361
361
  top: var(--slotted-positioner-arrow-y, 0);
362
362
  left: calc(var(--_gap) - var(--_arrow-size) / 2);
363
363
  right: auto;