@slotted/styles 0.1.0-beta.0 → 0.1.0-beta.10

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 (176) 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 +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 +139 -64
  17. package/src/button/button.tokens.json +10 -0
  18. package/src/button-group/button-group.css +76 -72
  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 +84 -90
  36. package/src/container/container.css +24 -24
  37. package/src/context-menu/context-menu.css +8 -8
  38. package/src/currency-field/currency-field.css +210 -88
  39. package/src/currency-field/currency-field.tokens.json +13 -0
  40. package/src/dashboard-grid/dashboard-grid.css +148 -116
  41. package/src/data-grid/data-grid.css +504 -469
  42. package/src/data-grid/data-grid.tokens.json +2 -0
  43. package/src/data-list/data-list.css +81 -70
  44. package/src/data-list/data-list.tokens.json +2 -1
  45. package/src/date-field/date-field.css +55 -52
  46. package/src/date-field/date-field.tokens.json +1 -0
  47. package/src/date-picker/date-picker.css +40 -42
  48. package/src/date-range-picker/date-range-picker.css +114 -118
  49. package/src/datetime-field/datetime-field.css +78 -80
  50. package/src/datetime-field/datetime-field.tokens.json +1 -0
  51. package/src/datetime-picker/datetime-picker.css +61 -63
  52. package/src/datetime-range-picker/datetime-range-picker.css +149 -156
  53. package/src/description-list/description-list.css +61 -64
  54. package/src/detail-panel/detail-panel.css +70 -70
  55. package/src/dialog/dialog.css +334 -153
  56. package/src/dialog/dialog.tokens.json +5 -0
  57. package/src/divider/divider.css +18 -18
  58. package/src/drawer/drawer.css +186 -209
  59. package/src/entity-picker/entity-picker.css +238 -241
  60. package/src/entity-picker/entity-picker.tokens.json +1 -0
  61. package/src/event-calendar/event-calendar.css +343 -385
  62. package/src/field/field.css +74 -78
  63. package/src/field-group/field-group.css +22 -25
  64. package/src/filter-bar/filter-bar.css +193 -209
  65. package/src/form/form.css +34 -24
  66. package/src/form/form.tokens.json +1 -0
  67. package/src/fullscreen/fullscreen.css +24 -25
  68. package/src/grid/grid.css +28 -28
  69. package/src/highlight/highlight.css +6 -6
  70. package/src/hover-card/hover-card.css +6 -6
  71. package/src/icon/icon.css +19 -15
  72. package/src/icon/icon.tokens.json +1 -0
  73. package/src/image/image.css +39 -39
  74. package/src/import-export-center/import-export-center.css +135 -156
  75. package/src/inline/inline.css +27 -27
  76. package/src/inline-message/inline-message.css +52 -28
  77. package/src/inline-message/inline-message.tokens.json +4 -0
  78. package/src/kbd/kbd.css +30 -26
  79. package/src/link/link.css +15 -15
  80. package/src/list/list.css +44 -17
  81. package/src/list/list.tokens.json +4 -0
  82. package/src/list-item/list-item.css +80 -66
  83. package/src/list-item/list-item.tokens.json +7 -0
  84. package/src/listbox/listbox.css +56 -59
  85. package/src/loading-overlay/loading-overlay.css +75 -92
  86. package/src/markdown/markdown.css +17 -17
  87. package/src/menu/menu.css +83 -63
  88. package/src/menubar/menubar.css +13 -13
  89. package/src/message/message.css +182 -202
  90. package/src/message/message.tokens.json +5 -0
  91. package/src/message-scroller/message-scroller.css +41 -42
  92. package/src/multi-select/multi-select.css +152 -145
  93. package/src/multi-select/multi-select.tokens.json +1 -0
  94. package/src/navigation-menu/navigation-menu.css +167 -188
  95. package/src/notification-center/notification-center.css +140 -148
  96. package/src/notification-center/notification-center.tokens.json +3 -0
  97. package/src/number-field/number-field.css +84 -83
  98. package/src/number-field/number-field.tokens.json +1 -0
  99. package/src/otp-input/otp-input.css +67 -57
  100. package/src/otp-input/otp-input.tokens.json +1 -0
  101. package/src/page/page.css +23 -23
  102. package/src/page-header/page-header.css +268 -281
  103. package/src/page-header/page-header.tokens.json +1 -0
  104. package/src/pagination/pagination.css +68 -72
  105. package/src/popover/popover.css +40 -49
  106. package/src/progress-indicator/progress-indicator.css +177 -120
  107. package/src/progress-indicator/progress-indicator.tokens.json +1 -1
  108. package/src/prompt-composer/prompt-composer.css +221 -102
  109. package/src/prompt-composer/prompt-composer.tokens.json +15 -0
  110. package/src/prose/prose.css +71 -75
  111. package/src/radio-group/radio-group.css +98 -103
  112. package/src/rating/rating.css +136 -132
  113. package/src/rating/rating.tokens.json +1 -0
  114. package/src/result-state/result-state.css +74 -77
  115. package/src/runtime-properties.mjs +2 -0
  116. package/src/saved-views/saved-views.css +41 -47
  117. package/src/scroll-area/scroll-area.css +39 -32
  118. package/src/section/section.css +161 -41
  119. package/src/section/section.tokens.json +7 -2
  120. package/src/segmented-control/segmented-control.css +254 -97
  121. package/src/segmented-control/segmented-control.tokens.json +15 -11
  122. package/src/select/select.css +118 -117
  123. package/src/select/select.tokens.json +1 -0
  124. package/src/side-navigation/side-navigation.css +179 -182
  125. package/src/side-navigation/side-navigation.tokens.json +1 -0
  126. package/src/skeleton/skeleton.css +47 -48
  127. package/src/slider/slider.css +86 -88
  128. package/src/sparkline/sparkline.css +62 -40
  129. package/src/sparkline/sparkline.tokens.json +2 -0
  130. package/src/spinner/spinner.css +39 -182
  131. package/src/spinner/spinner.tokens.json +0 -2
  132. package/src/split-button/split-button.css +30 -31
  133. package/src/split-button/split-button.tokens.json +1 -0
  134. package/src/splitter/splitter.css +35 -35
  135. package/src/stack/stack.css +24 -24
  136. package/src/stat-card/stat-card.css +341 -224
  137. package/src/stat-card/stat-card.tokens.json +3 -0
  138. package/src/status-indicator/status-indicator.css +28 -28
  139. package/src/stepper/stepper.css +58 -62
  140. package/src/switch/switch.css +86 -92
  141. package/src/table/table.css +310 -165
  142. package/src/table/table.tokens.json +6 -0
  143. package/src/table-of-contents/table-of-contents.css +51 -54
  144. package/src/tabs/tabs.css +330 -302
  145. package/src/tabs/tabs.tokens.json +8 -5
  146. package/src/tag/tag.css +79 -71
  147. package/src/tag/tag.tokens.json +9 -0
  148. package/src/tags-input/tags-input.css +145 -82
  149. package/src/tags-input/tags-input.tokens.json +7 -1
  150. package/src/text-field/text-field.css +132 -136
  151. package/src/text-field/text-field.tokens.json +1 -0
  152. package/src/textarea/textarea.css +31 -28
  153. package/src/textarea/textarea.tokens.json +1 -0
  154. package/src/time-field/time-field.css +72 -69
  155. package/src/time-field/time-field.tokens.json +1 -0
  156. package/src/time-picker/time-picker.css +56 -58
  157. package/src/time-range-picker/time-range-picker.css +126 -133
  158. package/src/timeline/timeline.css +254 -266
  159. package/src/timeline/timeline.tokens.json +5 -0
  160. package/src/toast/toast.css +89 -90
  161. package/src/toast/toast.tokens.json +5 -0
  162. package/src/toggle/toggle.css +62 -25
  163. package/src/toggle/toggle.tokens.json +8 -0
  164. package/src/toggle-group/toggle-group.css +106 -60
  165. package/src/toggle-group/toggle-group.tokens.json +10 -0
  166. package/src/toolbar/toolbar.css +30 -35
  167. package/src/tooltip/tooltip.css +26 -26
  168. package/src/top-navigation/top-navigation.css +243 -259
  169. package/src/tour/tour.css +51 -60
  170. package/src/transfer/transfer.css +160 -164
  171. package/src/tree/tree.css +103 -111
  172. package/src/typography/typography.css +40 -36
  173. package/src/typography/typography.tokens.json +1 -0
  174. package/src/upload/upload.css +224 -224
  175. package/src/visually-hidden/visually-hidden.css +1 -1
  176. package/src/wizard/wizard.css +185 -197
@@ -73,6 +73,7 @@
73
73
  "--slotted-tone-danger-solid",
74
74
  "--slotted-tone-danger-surface",
75
75
  "--slotted-tone-danger-text",
76
+ "--slotted-tone-info-solid",
76
77
  "--slotted-tone-secondary-border",
77
78
  "--slotted-tone-secondary-subtle-active",
78
79
  "--slotted-tone-secondary-subtle-hover",
@@ -21,7 +21,7 @@
21
21
  * actions stacks when the box is narrow, and the `inline` row becomes a
22
22
  * column at the same point.
23
23
  */
24
- [data-ui='result-state'][data-part='root'] {
24
+ [data-ui-result-state][data-part-root] {
25
25
  /**
26
26
  * Prose sizes come from the type scale, which does not vary by density,
27
27
  * and the mark comes from the control scales, which do. That is where
@@ -204,7 +204,7 @@
204
204
  * it. The middle track can still shrink below its content, which is what
205
205
  * lets a long sentence wrap inside a narrow cell.
206
206
  */
207
- [data-ui='result-state'][data-part='root'][data-reach='inline'] {
207
+ [data-ui-result-state][data-part-root][data-reach='inline'] {
208
208
  --_title-font-size: var(
209
209
  --slotted-result-state-title-font-size,
210
210
  var(--slotted-font-size-sm, 0.8125rem)
@@ -234,7 +234,7 @@
234
234
  * the type scale's top step — the size a page-level heading takes in this
235
235
  * library, and one no control font size can reach.
236
236
  */
237
- [data-ui='result-state'][data-part='root'][data-reach='page'] {
237
+ [data-ui-result-state][data-part-root][data-reach='page'] {
238
238
  --_title-font-size: var(
239
239
  --slotted-result-state-title-font-size,
240
240
  var(--slotted-font-size-3xl, 1.5rem)
@@ -273,22 +273,22 @@
273
273
  * would otherwise ship: the title looks centred until the description wraps
274
274
  * onto a second line.
275
275
  */
276
- [data-ui='result-state'][data-part='root'][data-align='center'] {
276
+ [data-ui-result-state][data-part-root][data-align='center'] {
277
277
  justify-items: center;
278
278
  text-align: center;
279
279
  }
280
280
 
281
- [data-ui='result-state'][data-part='root'][data-align='start'] {
281
+ [data-ui-result-state][data-part-root][data-align='start'] {
282
282
  justify-items: start;
283
283
  text-align: start;
284
284
  }
285
285
 
286
- [data-ui='result-state'][data-part='root'][data-reach='inline'][data-align='center'] {
286
+ [data-ui-result-state][data-part-root][data-reach='inline'][data-align='center'] {
287
287
  justify-content: center;
288
288
  justify-items: stretch;
289
289
  }
290
290
 
291
- [data-ui='result-state'][data-part='root'][data-reach='inline'][data-align='start'] {
291
+ [data-ui-result-state][data-part-root][data-reach='inline'][data-align='start'] {
292
292
  justify-content: start;
293
293
  justify-items: stretch;
294
294
  }
@@ -313,7 +313,7 @@
313
313
  * names it, the declaration is invalid at computed-value time and the box
314
314
  * paints nothing at all.
315
315
  */
316
- [data-ui='result-state'] > [data-part='media']:empty {
316
+ [data-ui-result-state] > [data-part-media]:empty {
317
317
  background: var(--slotted-result-state-media) center / contain no-repeat;
318
318
  block-size: var(--_media-size);
319
319
  display: none;
@@ -331,7 +331,7 @@
331
331
  * loaded reserves the room it will take and nothing below it moves when it
332
332
  * does.
333
333
  */
334
- [data-ui='result-state'] > [data-part='media']:not(:empty) {
334
+ [data-ui-result-state] > [data-part-media]:not(:empty) {
335
335
  align-items: center;
336
336
  background-color: transparent;
337
337
  block-size: var(--_media-size);
@@ -341,14 +341,14 @@
341
341
  min-inline-size: var(--_media-size);
342
342
  }
343
343
 
344
- [data-ui='result-state'] > [data-part='media']:not(:empty) > * {
344
+ [data-ui-result-state] > [data-part-media]:not(:empty) > * {
345
345
  block-size: 100%;
346
346
  inline-size: auto;
347
347
  max-inline-size: 100%;
348
348
  }
349
349
 
350
350
  /** Supplied artwork on the same line, centred on the same axis by its own size. */
351
- [data-ui='result-state'][data-reach='inline'] > [data-part='media']:not(:empty) {
351
+ [data-ui-result-state][data-reach='inline'] > [data-part-media]:not(:empty) {
352
352
  align-self: start;
353
353
  grid-column: 1;
354
354
  grid-row: 1;
@@ -385,8 +385,8 @@
385
385
  * at the three densities and its corners stay concentric — the outer radius
386
386
  * is the inner one plus the ring.
387
387
  */
388
- [data-ui='result-state']:not([data-reach='inline'])[data-illustration='tile']
389
- > [data-part='media']:not(:empty) {
388
+ [data-ui-result-state]:not([data-reach='inline'])[data-illustration='tile']
389
+ > [data-part-media]:not(:empty) {
390
390
  --_ring: var(--slotted-space-2, 0.25rem);
391
391
  --_inner-radius: var(--slotted-radius-lg, 8px);
392
392
 
@@ -411,8 +411,8 @@
411
411
  * because the root is the stacking context (`isolation` above) and the tile
412
412
  * is not one.
413
413
  */
414
- [data-ui='result-state']:not([data-reach='inline'])[data-illustration='tile']
415
- > [data-part='media']:not(:empty)::before {
414
+ [data-ui-result-state]:not([data-reach='inline'])[data-illustration='tile']
415
+ > [data-part-media]:not(:empty)::before {
416
416
  background-color: var(--slotted-surface-raised);
417
417
  border: var(--slotted-border-width-thin, 1px) solid var(--slotted-border-subtle);
418
418
  border-radius: var(--_inner-radius);
@@ -423,8 +423,8 @@
423
423
  z-index: -1;
424
424
  }
425
425
 
426
- [data-ui='result-state']:not([data-reach='inline'])[data-illustration='tile']
427
- > [data-part='media']:not(:empty)
426
+ [data-ui-result-state]:not([data-reach='inline'])[data-illustration='tile']
427
+ > [data-part-media]:not(:empty)
428
428
  > * {
429
429
  block-size: var(--_art-glyph);
430
430
  inline-size: var(--_art-glyph);
@@ -454,8 +454,8 @@
454
454
  * of those bounds: 0.325 of a side along the lean and 0.145 down, the
455
455
  * centre of the sheared stack measured against the centre of the square.
456
456
  */
457
- [data-ui='result-state']:not([data-reach='inline'])[data-illustration='stack']
458
- > [data-part='media']:not(:empty) {
457
+ [data-ui-result-state]:not([data-reach='inline'])[data-illustration='stack']
458
+ > [data-part-media]:not(:empty) {
459
459
  --_side: calc(var(--_art) + var(--slotted-space-2, 0.25rem));
460
460
  --_lean: 1;
461
461
  --_step-x: calc(var(--_side) * -0.36 * var(--_lean));
@@ -482,15 +482,15 @@
482
482
  }
483
483
 
484
484
  /** Depth is read from the reading edge, so the stack leans the other way. */
485
- [data-ui='result-state']:not([data-reach='inline'])[data-illustration='stack']:dir(rtl)
486
- > [data-part='media']:not(:empty) {
485
+ [data-ui-result-state]:not([data-reach='inline'])[data-illustration='stack']:dir(rtl)
486
+ > [data-part-media]:not(:empty) {
487
487
  --_lean: -1;
488
488
  }
489
489
 
490
- [data-ui='result-state']:not([data-reach='inline'])[data-illustration='stack']
491
- > [data-part='media']:not(:empty)::before,
492
- [data-ui='result-state']:not([data-reach='inline'])[data-illustration='stack']
493
- > [data-part='media']:not(:empty)::after {
490
+ [data-ui-result-state]:not([data-reach='inline'])[data-illustration='stack']
491
+ > [data-part-media]:not(:empty)::before,
492
+ [data-ui-result-state]:not([data-reach='inline'])[data-illustration='stack']
493
+ > [data-part-media]:not(:empty)::after {
494
494
  background-color: var(--slotted-surface-raised);
495
495
  border: var(--_layer-border) solid var(--slotted-border-subtle);
496
496
  border-radius: inherit;
@@ -507,8 +507,8 @@
507
507
  * because a face drawn in the control edge is read by `field-surface.test.mjs`
508
508
  * as a field, and this is a drawing.
509
509
  */
510
- [data-ui='result-state']:not([data-reach='inline'])[data-illustration='stack']
511
- > [data-part='media']:not(:empty)::before {
510
+ [data-ui-result-state]:not([data-reach='inline'])[data-illustration='stack']
511
+ > [data-part-media]:not(:empty)::before {
512
512
  border-color: color-mix(
513
513
  in oklab,
514
514
  var(--slotted-border-subtle),
@@ -518,8 +518,8 @@
518
518
  z-index: -1;
519
519
  }
520
520
 
521
- [data-ui='result-state']:not([data-reach='inline'])[data-illustration='stack']
522
- > [data-part='media']:not(:empty)::after {
521
+ [data-ui-result-state]:not([data-reach='inline'])[data-illustration='stack']
522
+ > [data-part-media]:not(:empty)::after {
523
523
  transition: translate var(--slotted-duration-long) var(--slotted-easing-enter);
524
524
  translate: var(--_step-x) var(--_step-y);
525
525
  z-index: -2;
@@ -531,8 +531,8 @@
531
531
  * same size and the glyph is a size smaller, because a glyph as tall as
532
532
  * the title's line box competes with the title.
533
533
  */
534
- [data-ui='result-state']:not([data-reach='inline'])[data-illustration='stack']
535
- > [data-part='media']:not(:empty)
534
+ [data-ui-result-state]:not([data-reach='inline'])[data-illustration='stack']
535
+ > [data-part-media]:not(:empty)
536
536
  > * {
537
537
  block-size: calc(var(--_side) * 0.5);
538
538
  inline-size: calc(var(--_side) * 0.5);
@@ -558,8 +558,7 @@
558
558
  * sunken surface is on another one; a mask would clip the cards behind,
559
559
  * which stand outside the box. The drawing does not fade.
560
560
  */
561
- [data-ui='result-state']:not([data-reach='inline'])[data-illustration='cards']
562
- > [data-part='media'] {
561
+ [data-ui-result-state]:not([data-reach='inline'])[data-illustration='cards'] > [data-part-media] {
563
562
  --_pad: var(--slotted-space-6, 1rem);
564
563
  --_gap: var(--slotted-space-5, 0.75rem);
565
564
  --_thumb: var(--slotted-control-height-sm, 30px);
@@ -649,8 +648,8 @@
649
648
  }
650
649
 
651
650
  /** No thumbnail without a glyph: the lines start at the padding. */
652
- [data-ui='result-state']:not([data-reach='inline'])[data-illustration='cards']
653
- > [data-part='media']:empty {
651
+ [data-ui-result-state]:not([data-reach='inline'])[data-illustration='cards']
652
+ > [data-part-media]:empty {
654
653
  --_lines-x: var(--_pad);
655
654
  }
656
655
 
@@ -660,15 +659,15 @@
660
659
  * transform: a transformed box is a stacking context, and the cards behind
661
660
  * would then paint over the front one.
662
661
  */
663
- [data-ui='result-state']:not([data-reach='inline'])[data-illustration='cards']:dir(rtl)
664
- > [data-part='media'] {
662
+ [data-ui-result-state]:not([data-reach='inline'])[data-illustration='cards']:dir(rtl)
663
+ > [data-part-media] {
665
664
  --_edge: right;
666
665
  }
667
666
 
668
- [data-ui='result-state']:not([data-reach='inline'])[data-illustration='cards']
669
- > [data-part='media']::before,
670
- [data-ui='result-state']:not([data-reach='inline'])[data-illustration='cards']
671
- > [data-part='media']::after {
667
+ [data-ui-result-state]:not([data-reach='inline'])[data-illustration='cards']
668
+ > [data-part-media]::before,
669
+ [data-ui-result-state]:not([data-reach='inline'])[data-illustration='cards']
670
+ > [data-part-media]::after {
672
671
  background-color: var(--slotted-surface-sunken);
673
672
  block-size: 100%;
674
673
  border: var(--slotted-border-width-thin, 1px) solid var(--slotted-border-subtle);
@@ -682,15 +681,15 @@
682
681
  }
683
682
 
684
683
  /** The farthest card, painted first. */
685
- [data-ui='result-state']:not([data-reach='inline'])[data-illustration='cards']
686
- > [data-part='media']::before {
684
+ [data-ui-result-state]:not([data-reach='inline'])[data-illustration='cards']
685
+ > [data-part-media]::before {
687
686
  border-color: var(--_ink-2);
688
687
  inset-inline: calc(2 * var(--_step) - var(--slotted-border-width-thin, 1px));
689
688
  translate: 0 calc(-2 * var(--_step));
690
689
  }
691
690
 
692
- [data-ui='result-state']:not([data-reach='inline'])[data-illustration='cards']
693
- > [data-part='media']::after {
691
+ [data-ui-result-state]:not([data-reach='inline'])[data-illustration='cards']
692
+ > [data-part-media]::after {
694
693
  inset-inline: calc(var(--_step) - var(--slotted-border-width-thin, 1px));
695
694
  translate: 0 calc(-1 * var(--_step));
696
695
  }
@@ -699,8 +698,8 @@
699
698
  * The thumbnail is the page's glyph on the sunken surface, padded from its
700
699
  * edge to the glyph size.
701
700
  */
702
- [data-ui='result-state']:not([data-reach='inline'])[data-illustration='cards']
703
- > [data-part='media']
701
+ [data-ui-result-state]:not([data-reach='inline'])[data-illustration='cards']
702
+ > [data-part-media]
704
703
  > * {
705
704
  background-color: var(--slotted-surface-sunken);
706
705
  block-size: var(--_thumb);
@@ -717,13 +716,13 @@
717
716
  * inside the grid, and it is the half of the pair that `minmax(0, …)` on the
718
717
  * track cannot supply on its own.
719
718
  */
720
- [data-ui='result-state'] > [data-part='content'] {
719
+ [data-ui-result-state] > [data-part-content] {
721
720
  display: grid;
722
721
  min-inline-size: 0;
723
722
  row-gap: var(--_text-gap);
724
723
  }
725
724
 
726
- [data-ui='result-state'][data-reach='inline'] > [data-part='content'] {
725
+ [data-ui-result-state][data-reach='inline'] > [data-part-content] {
727
726
  grid-column: 2;
728
727
  grid-row: 1;
729
728
  }
@@ -739,7 +738,7 @@
739
738
  * Nothing is removed: the whole string stays in the DOM, in the accessibility
740
739
  * tree, and findable by a page search.
741
740
  */
742
- [data-ui='result-state'] [data-part='title'] {
741
+ [data-ui-result-state] [data-part-title] {
743
742
  font-family: var(
744
743
  --slotted-result-state-title-font-family,
745
744
  var(
@@ -765,7 +764,7 @@
765
764
  * first and two lines of equal weight give them no order to read in. It is
766
765
  * the pair the theme measures against all three neutral surfaces.
767
766
  */
768
- [data-ui='result-state'] [data-part='description'] {
767
+ [data-ui-result-state] [data-part-description] {
769
768
  color: var(--slotted-text-muted);
770
769
  font-size: var(--_description-font-size);
771
770
  line-height: var(--slotted-line-height-md, 1.5);
@@ -781,7 +780,7 @@
781
780
  * own `button` and `a`, because those families already own what a button and
782
781
  * a link are.
783
782
  */
784
- [data-ui='result-state'] > [data-part='actions'] {
783
+ [data-ui-result-state] > [data-part-actions] {
785
784
  align-items: center;
786
785
  display: flex;
787
786
  flex-wrap: wrap;
@@ -789,14 +788,12 @@
789
788
  min-inline-size: 0;
790
789
  }
791
790
 
792
- [data-ui='result-state'][data-align='center'] > [data-part='actions'] {
791
+ [data-ui-result-state][data-align='center'] > [data-part-actions] {
793
792
  justify-content: center;
794
793
  }
795
794
 
796
795
  /** The pause between the message and its answer (`--_actions-gap`). */
797
- [data-ui='result-state']:not([data-reach='inline'])
798
- > [data-part='content']
799
- + [data-part='actions'] {
796
+ [data-ui-result-state]:not([data-reach='inline']) > [data-part-content] + [data-part-actions] {
800
797
  margin-block-start: calc(var(--_actions-gap) - var(--_row-gap));
801
798
  }
802
799
 
@@ -811,7 +808,7 @@
811
808
  * the control stand proud of the line by the same distance above and below —
812
809
  * a distance the region's own block inset already holds.
813
810
  */
814
- [data-ui='result-state'][data-reach='inline'] > [data-part='actions'] {
811
+ [data-ui-result-state][data-reach='inline'] > [data-part-actions] {
815
812
  /**
816
813
  * `align-content` rather than `align-items`, because the row is allowed to
817
814
  * wrap and a wrapping flex container aligns its *lines*: with the line
@@ -834,14 +831,14 @@
834
831
  * is set one step down and in the muted role rather than made a third
835
832
  * control.
836
833
  */
837
- [data-ui='result-state'] > [data-part='footer'] {
834
+ [data-ui-result-state] > [data-part-footer] {
838
835
  color: var(--slotted-text-muted);
839
836
  font-size: var(--slotted-font-size-sm, 0.8125rem);
840
837
  line-height: var(--slotted-line-height-sm, 1.45);
841
838
  min-inline-size: 0;
842
839
  }
843
840
 
844
- [data-ui='result-state'][data-reach='inline'] > [data-part='footer'] {
841
+ [data-ui-result-state][data-reach='inline'] > [data-part-footer] {
845
842
  grid-column: 2;
846
843
  grid-row: 2;
847
844
  }
@@ -854,7 +851,7 @@
854
851
  * is not animated: a focus indicator that fades in is a focus indicator that
855
852
  * is not there yet.
856
853
  */
857
- [data-ui='result-state'][data-part='root']:focus-visible {
854
+ [data-ui-result-state][data-part-root]:focus-visible {
858
855
  outline: var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);
859
856
  outline-offset: var(--slotted-focus-ring-offset, 2px);
860
857
  }
@@ -866,7 +863,7 @@
866
863
  * is the composition change the 240-pixel capture exists to check.
867
864
  */
868
865
  @container slotted-result-state (max-width: 20rem) {
869
- [data-ui='result-state'] > [data-part='actions'] {
866
+ [data-ui-result-state] > [data-part-actions] {
870
867
  /**
871
868
  * Stacked, and each control still its own width. How wide a control is
872
869
  * belongs to the control, and `button` already ships `fullWidth` for a
@@ -875,15 +872,15 @@
875
872
  flex-direction: column;
876
873
  }
877
874
 
878
- [data-ui='result-state'][data-align='center'] > [data-part='actions'] {
875
+ [data-ui-result-state][data-align='center'] > [data-part-actions] {
879
876
  align-items: center;
880
877
  }
881
878
 
882
- [data-ui='result-state'][data-align='start'] > [data-part='actions'] {
879
+ [data-ui-result-state][data-align='start'] > [data-part-actions] {
883
880
  align-items: flex-start;
884
881
  }
885
882
 
886
- [data-ui='result-state'][data-reach='inline'] {
883
+ [data-ui-result-state][data-reach='inline'] {
887
884
  grid-template-columns: auto minmax(0, 1fr);
888
885
  }
889
886
 
@@ -891,14 +888,14 @@
891
888
  * Below the words now, so the box goes back to its own height: a row of
892
889
  * controls held to one line box only makes sense while it is on that line.
893
890
  */
894
- [data-ui='result-state'][data-reach='inline'] > [data-part='actions'] {
891
+ [data-ui-result-state][data-reach='inline'] > [data-part-actions] {
895
892
  block-size: auto;
896
893
  grid-column: 2;
897
894
  grid-row: 2;
898
895
  margin-inline-start: 0;
899
896
  }
900
897
 
901
- [data-ui='result-state'][data-reach='inline'] > [data-part='footer'] {
898
+ [data-ui-result-state][data-reach='inline'] > [data-part-footer] {
902
899
  grid-column: 2;
903
900
  grid-row: 3;
904
901
  }
@@ -913,7 +910,7 @@
913
910
  * because the root's own `display: grid` would win over the user agent's
914
911
  * rule for `[hidden]`.
915
912
  */
916
- [data-ui='result-state'][data-part='root'][hidden] {
913
+ [data-ui-result-state][data-part-root][hidden] {
917
914
  display: none;
918
915
  opacity: 0;
919
916
  transition:
@@ -932,41 +929,41 @@
932
929
  * collapses under reduced motion.
933
930
  */
934
931
  @starting-style {
935
- [data-ui='result-state'][data-part='root']:is([data-live='polite'], [data-live='assertive']) {
932
+ [data-ui-result-state][data-part-root]:is([data-live='polite'], [data-live='assertive']) {
936
933
  opacity: 0;
937
934
  }
938
935
 
939
- [data-ui='result-state'][data-part='root']:is([data-live='polite'], [data-live='assertive'])
940
- > [data-part='media'] {
936
+ [data-ui-result-state][data-part-root]:is([data-live='polite'], [data-live='assertive'])
937
+ > [data-part-media] {
941
938
  --_step-x: 0px;
942
939
  --_step-y: 0px;
943
940
  }
944
941
 
945
- [data-ui='result-state'][data-part='root']:is(
942
+ [data-ui-result-state][data-part-root]:is(
946
943
  [data-live='polite'],
947
944
  [data-live='assertive']
948
945
  )[data-illustration='tile']
949
- > [data-part='media'] {
946
+ > [data-part-media] {
950
947
  opacity: 0;
951
948
  scale: 0.96;
952
949
  }
953
950
 
954
- [data-ui='result-state'][data-part='root']:is(
951
+ [data-ui-result-state][data-part-root]:is(
955
952
  [data-live='polite'],
956
953
  [data-live='assertive']
957
954
  )[data-illustration='cards']
958
- > [data-part='media']::before,
959
- [data-ui='result-state'][data-part='root']:is(
955
+ > [data-part-media]::before,
956
+ [data-ui-result-state][data-part-root]:is(
960
957
  [data-live='polite'],
961
958
  [data-live='assertive']
962
959
  )[data-illustration='cards']
963
- > [data-part='media']::after {
960
+ > [data-part-media]::after {
964
961
  translate: 0 0;
965
962
  }
966
963
  }
967
964
 
968
965
  /** The farther of two moving layers leaves a short step after the nearer. */
969
- [data-ui='result-state'][data-illustration='cards'] > [data-part='media']::before {
966
+ [data-ui-result-state][data-illustration='cards'] > [data-part-media]::before {
970
967
  transition-delay: var(--slotted-duration-short);
971
968
  }
972
969
 
@@ -143,6 +143,8 @@ export const RUNTIME_PROPERTY_PREFIXES = [
143
143
  '--slotted-data-grid-pinned-bottom-offset',
144
144
  '--slotted-data-grid-window-start',
145
145
  '--slotted-data-grid-window-total',
146
+ /** The scroller's measured width, which holds a detail, a group row and the empty state to the frame. */
147
+ '--slotted-data-grid-viewport',
146
148
  /** The measured body row height, which the skeleton rows take while the rows load. */
147
149
  '--slotted-data-grid-loader-row-size',
148
150
  '--slotted-data-grid-leading',