@slotted/styles 0.1.0-beta.1 → 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
@@ -39,7 +39,7 @@
39
39
  * itself;
40
40
  * - only focus is raised.
41
41
  */
42
- [data-ui='split-button'][data-part='root'] {
42
+ [data-ui-split-button][data-part-root] {
43
43
  --_radius: var(--slotted-split-button-radius, var(--slotted-control-radius, 4px));
44
44
  --_overlap: calc(-1 * var(--slotted-control-border-width, 1px));
45
45
 
@@ -68,19 +68,19 @@
68
68
  * square from the control height and stays so, because a wide chevron is a
69
69
  * second button nobody asked for.
70
70
  */
71
- [data-ui='split-button'][data-part='root'][data-full-width] {
71
+ [data-ui-split-button][data-part-root][data-full-width] {
72
72
  display: flex;
73
73
  inline-size: 100%;
74
74
  }
75
75
 
76
- [data-ui='split-button'][data-part='root'][data-full-width] > [data-part='primary'] {
76
+ [data-ui-split-button][data-part-root][data-full-width] > [data-part-primary] {
77
77
  flex: 1 1 0;
78
78
  min-inline-size: 0;
79
79
  }
80
80
 
81
81
  /* ── The shape ────────────────────────────────────────────────────────── */
82
82
 
83
- [data-ui='split-button'][data-part='root'] > [data-part='primary'] {
83
+ [data-ui-split-button][data-part-root] > [data-part-primary] {
84
84
  border-end-end-radius: 0;
85
85
  border-end-start-radius: var(--_radius);
86
86
  border-start-end-radius: 0;
@@ -90,7 +90,7 @@
90
90
  min-inline-size: 0;
91
91
  }
92
92
 
93
- [data-ui='split-button'][data-part='root'] > [data-part='menu-trigger'] {
93
+ [data-ui-split-button][data-part-root] > [data-part-menu-trigger] {
94
94
  border-end-end-radius: var(--_radius);
95
95
  border-end-start-radius: 0;
96
96
  border-start-end-radius: var(--_radius);
@@ -113,19 +113,15 @@
113
113
  * `button-group` records: the rule has to outrank every border rule `button`
114
114
  * writes for the same control whatever order the two sheets load in.
115
115
  */
116
- [data-ui='split-button'][data-part='root']
117
- > [data-ui='button'][data-variant='outline'][data-pressed],
118
- [data-ui='split-button'][data-part='root']
119
- > [data-ui='button'][data-variant='outline'][data-disabled],
120
- [data-ui='split-button'][data-part='root'] > [data-ui='button'][data-variant='outline']:disabled {
116
+ [data-ui-split-button][data-part-root] > [data-ui-button][data-variant='outline'][data-pressed],
117
+ [data-ui-split-button][data-part-root] > [data-ui-button][data-variant='outline'][data-disabled],
118
+ [data-ui-split-button][data-part-root] > [data-ui-button][data-variant='outline']:disabled {
121
119
  border-color: var(--slotted-control-border-color, ButtonBorder);
122
120
  }
123
121
 
124
- [data-ui='split-button'][data-part='root']
125
- > [data-ui='button'][data-variant='ghost'][data-pressed],
126
- [data-ui='split-button'][data-part='root']
127
- > [data-ui='button'][data-variant='ghost'][data-disabled],
128
- [data-ui='split-button'][data-part='root'] > [data-ui='button'][data-variant='ghost']:disabled {
122
+ [data-ui-split-button][data-part-root] > [data-ui-button][data-variant='ghost'][data-pressed],
123
+ [data-ui-split-button][data-part-root] > [data-ui-button][data-variant='ghost'][data-disabled],
124
+ [data-ui-split-button][data-part-root] > [data-ui-button][data-variant='ghost']:disabled {
129
125
  border-color: transparent;
130
126
  }
131
127
 
@@ -136,8 +132,7 @@
136
132
  * narrowed, because a narrower border box would move its label by half a
137
133
  * pixel — and the trigger's leading edge is the one seen.
138
134
  */
139
- [data-ui='split-button'][data-part='root']
140
- > [data-ui='button'][data-part='primary'][data-variant] {
135
+ [data-ui-split-button][data-part-root] > [data-ui-button][data-part-primary][data-variant] {
141
136
  border-inline-end-color: transparent;
142
137
  }
143
138
 
@@ -153,28 +148,32 @@
153
148
  * one. It is painted on the trigger's leading edge, the one edge the rule
154
149
  * above leaves in the column.
155
150
  */
156
- [data-ui='split-button'][data-part='root'] > [data-tone='accent'] {
151
+ [data-ui-split-button][data-part-root] > [data-tone='accent'] {
157
152
  --_seam: var(--slotted-tone-accent-solid-active);
158
153
  }
159
154
 
160
- [data-ui='split-button'][data-part='root'] > [data-tone='secondary'] {
155
+ [data-ui-split-button][data-part-root] > [data-tone='secondary'] {
161
156
  --_seam: var(--slotted-tone-secondary-solid-active);
162
157
  }
163
158
 
164
- [data-ui='split-button'][data-part='root'] > [data-tone='success'] {
159
+ [data-ui-split-button][data-part-root] > [data-tone='success'] {
165
160
  --_seam: var(--slotted-tone-success-solid-active);
166
161
  }
167
162
 
168
- [data-ui='split-button'][data-part='root'] > [data-tone='warning'] {
163
+ [data-ui-split-button][data-part-root] > [data-tone='info'] {
164
+ --_seam: var(--slotted-tone-info-solid-active);
165
+ }
166
+
167
+ [data-ui-split-button][data-part-root] > [data-tone='warning'] {
169
168
  --_seam: var(--slotted-tone-warning-solid-active);
170
169
  }
171
170
 
172
- [data-ui='split-button'][data-part='root'] > [data-tone='danger'] {
171
+ [data-ui-split-button][data-part-root] > [data-tone='danger'] {
173
172
  --_seam: var(--slotted-tone-danger-solid-active);
174
173
  }
175
174
 
176
- [data-ui='split-button'][data-part='root']
177
- > [data-ui='button'][data-variant='solid'][data-part='menu-trigger'] {
175
+ [data-ui-split-button][data-part-root]
176
+ > [data-ui-button][data-variant='solid'][data-part-menu-trigger] {
178
177
  border-inline-start-color: var(--_seam, ButtonBorder);
179
178
  }
180
179
 
@@ -184,10 +183,10 @@
184
183
  * and the seam takes that border so the bar reads as one unavailable
185
184
  * control rather than as a grey one with a coloured line through it.
186
185
  */
187
- [data-ui='split-button'][data-part='root']
188
- > [data-ui='button'][data-variant='solid'][data-part='menu-trigger']:disabled,
189
- [data-ui='split-button'][data-part='root']
190
- > [data-ui='button'][data-variant='solid'][data-part='menu-trigger'][data-disabled] {
186
+ [data-ui-split-button][data-part-root]
187
+ > [data-ui-button][data-variant='solid'][data-part-menu-trigger]:disabled,
188
+ [data-ui-split-button][data-part-root]
189
+ > [data-ui-button][data-variant='solid'][data-part-menu-trigger][data-disabled] {
191
190
  border-inline-start-color: var(--slotted-disabled-border, ButtonBorder);
192
191
  }
193
192
 
@@ -197,7 +196,7 @@
197
196
  * follows it in the DOM. Hover and press repaint a fill and never an edge,
198
197
  * so there is nothing to lift for them — `button-group`'s reading.
199
198
  */
200
- [data-ui='split-button'][data-part='root'] > *:focus-visible {
199
+ [data-ui-split-button][data-part-root] > *:focus-visible {
201
200
  z-index: 1;
202
201
  }
203
202
 
@@ -235,7 +234,7 @@
235
234
  * send. `pointer-events: none` is also what takes hover away without a
236
235
  * state the stylesheet would have to hold back.
237
236
  */
238
- [data-ui='split-button'][data-part='root'][data-loading] > [data-part='menu-trigger'] {
237
+ [data-ui-split-button][data-part-root][data-loading] > [data-part-menu-trigger] {
239
238
  pointer-events: none;
240
239
  }
241
240
 
@@ -246,7 +245,7 @@
246
245
  * puts it back — `button-group`'s rule for the same case.
247
246
  */
248
247
  @media (forced-colors: active) {
249
- [data-ui='split-button'][data-part='root'] > [data-ui='button'][data-pressed] {
248
+ [data-ui-split-button][data-part-root] > [data-ui-button][data-pressed] {
250
249
  border-color: Highlight;
251
250
  }
252
251
  }
@@ -6,6 +6,7 @@
6
6
  "--slotted-split-button-radius",
7
7
  "--slotted-tone-accent-solid-active",
8
8
  "--slotted-tone-danger-solid-active",
9
+ "--slotted-tone-info-solid-active",
9
10
  "--slotted-tone-secondary-solid-active",
10
11
  "--slotted-tone-success-solid-active",
11
12
  "--slotted-tone-warning-solid-active"
@@ -15,7 +15,7 @@
15
15
  *
16
16
  * `touch-action: none` so a drag is not read as a scroll on the way past.
17
17
  */
18
- [data-ui='splitter'] {
18
+ [data-ui-splitter] {
19
19
  /**
20
20
  * The track is what the pointer sees and `--slotted-target-min` is what it
21
21
  * gets: `::before` below is a transparent box centred on the track, which
@@ -111,9 +111,9 @@
111
111
  * `data-dragging` and rest as the same picture. Closing the gap hands those
112
112
  * pixels to the lines, and the pair roughly doubles instead.
113
113
  */
114
- [data-ui='splitter']:not([data-disabled]):hover,
115
- [data-ui='splitter']:not([data-disabled]):focus-visible,
116
- [data-ui='splitter'][data-dragging] {
114
+ [data-ui-splitter]:not([data-disabled]):hover,
115
+ [data-ui-splitter]:not([data-disabled]):focus-visible,
116
+ [data-ui-splitter][data-dragging] {
117
117
  --_gap: var(--slotted-space-4, 0.5rem);
118
118
  }
119
119
 
@@ -124,14 +124,14 @@
124
124
  * other. A container that packs its children instead of stretching them
125
125
  * would otherwise size the bar from its content.
126
126
  */
127
- [data-ui='splitter'][data-orientation='vertical'] {
127
+ [data-ui-splitter][data-orientation='vertical'] {
128
128
  flex-direction: column;
129
129
  inline-size: var(--_track);
130
130
  align-self: stretch;
131
131
  cursor: col-resize;
132
132
  }
133
133
 
134
- [data-ui='splitter'][data-orientation='horizontal'] {
134
+ [data-ui-splitter][data-orientation='horizontal'] {
135
135
  flex-direction: row;
136
136
  block-size: var(--_track);
137
137
  justify-self: stretch;
@@ -142,18 +142,18 @@
142
142
  * The reach. Transparent, centred on the track, and the reason a sixteen-pixel
143
143
  * picture is a twenty-four-pixel target.
144
144
  */
145
- [data-ui='splitter']::before {
145
+ [data-ui-splitter]::before {
146
146
  content: '';
147
147
  position: absolute;
148
148
  --_overhang: calc((var(--_reach) - var(--_track)) / -2);
149
149
  }
150
150
 
151
- [data-ui='splitter'][data-orientation='vertical']::before {
151
+ [data-ui-splitter][data-orientation='vertical']::before {
152
152
  inset-block: 0;
153
153
  inset-inline: var(--_overhang);
154
154
  }
155
155
 
156
- [data-ui='splitter'][data-orientation='horizontal']::before {
156
+ [data-ui-splitter][data-orientation='horizontal']::before {
157
157
  inset-inline: 0;
158
158
  inset-block: var(--_overhang);
159
159
  }
@@ -181,7 +181,7 @@
181
181
  * A proportion leaves slack at every track length. That slack is what the
182
182
  * hand claims.
183
183
  */
184
- [data-ui='splitter'] > [data-part='line'] {
184
+ [data-ui-splitter] > [data-part-line] {
185
185
  flex: 0 1 min(var(--_line-length), 20%);
186
186
  min-block-size: 0;
187
187
  min-inline-size: 0;
@@ -193,28 +193,28 @@
193
193
  var(--slotted-control-transition-easing, var(--slotted-easing-standard));
194
194
  }
195
195
 
196
- [data-ui='splitter'][data-orientation='vertical'] > [data-part='line'] {
196
+ [data-ui-splitter][data-orientation='vertical'] > [data-part-line] {
197
197
  inline-size: var(--_line);
198
198
  }
199
199
 
200
- [data-ui='splitter'][data-orientation='horizontal'] > [data-part='line'] {
200
+ [data-ui-splitter][data-orientation='horizontal'] > [data-part-line] {
201
201
  block-size: var(--_line);
202
202
  }
203
203
 
204
204
  /* Solid at the grip, gone at the far end. Four rules, one per direction. */
205
- [data-ui='splitter'][data-orientation='vertical'] > [data-part='line']:first-child {
205
+ [data-ui-splitter][data-orientation='vertical'] > [data-part-line]:first-child {
206
206
  background: linear-gradient(to bottom, transparent, var(--_rest));
207
207
  }
208
208
 
209
- [data-ui='splitter'][data-orientation='vertical'] > [data-part='line']:last-child {
209
+ [data-ui-splitter][data-orientation='vertical'] > [data-part-line]:last-child {
210
210
  background: linear-gradient(to top, transparent, var(--_rest));
211
211
  }
212
212
 
213
- [data-ui='splitter'][data-orientation='horizontal'] > [data-part='line']:first-child {
213
+ [data-ui-splitter][data-orientation='horizontal'] > [data-part-line]:first-child {
214
214
  background: linear-gradient(to right, transparent, var(--_rest));
215
215
  }
216
216
 
217
- [data-ui='splitter'][data-orientation='horizontal'] > [data-part='line']:last-child {
217
+ [data-ui-splitter][data-orientation='horizontal'] > [data-part-line]:last-child {
218
218
  background: linear-gradient(to left, transparent, var(--_rest));
219
219
  }
220
220
 
@@ -227,9 +227,9 @@
227
227
  * Hover is held back for `data-disabled`, which is the shared rule from
228
228
  * `packages/styles/src/states.test.mjs`.
229
229
  */
230
- [data-ui='splitter']:not([data-disabled]):hover > [data-part='line'],
231
- [data-ui='splitter']:not([data-disabled]):focus-visible > [data-part='line'],
232
- [data-ui='splitter'][data-dragging] > [data-part='line'] {
230
+ [data-ui-splitter]:not([data-disabled]):hover > [data-part-line],
231
+ [data-ui-splitter]:not([data-disabled]):focus-visible > [data-part-line],
232
+ [data-ui-splitter][data-dragging] > [data-part-line] {
233
233
  flex-basis: 100%;
234
234
  background: var(--_active);
235
235
  }
@@ -245,7 +245,7 @@
245
245
  * pixels, and the second saying cost the first its shape.
246
246
  */
247
247
 
248
- [data-ui='splitter']:focus-visible {
248
+ [data-ui-splitter]:focus-visible {
249
249
  outline: var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);
250
250
  outline-offset: calc(-1 * var(--slotted-focus-ring-offset, 2px));
251
251
  }
@@ -259,7 +259,7 @@
259
259
  * are one mark and have to move together, and `currentColor` is the one place
260
260
  * that says so.
261
261
  */
262
- [data-ui='splitter'] > [data-part='grip'] {
262
+ [data-ui-splitter] > [data-part-grip] {
263
263
  flex: none;
264
264
  color: var(--_rest);
265
265
  background-image: radial-gradient(circle at center, currentColor 40%, transparent 42%);
@@ -269,19 +269,19 @@
269
269
  var(--slotted-control-transition-easing, var(--slotted-easing-standard));
270
270
  }
271
271
 
272
- [data-ui='splitter'][data-orientation='vertical'] > [data-part='grip'] {
272
+ [data-ui-splitter][data-orientation='vertical'] > [data-part-grip] {
273
273
  inline-size: calc(2 * var(--_dot));
274
274
  block-size: calc(3 * var(--_dot));
275
275
  }
276
276
 
277
- [data-ui='splitter'][data-orientation='horizontal'] > [data-part='grip'] {
277
+ [data-ui-splitter][data-orientation='horizontal'] > [data-part-grip] {
278
278
  inline-size: calc(3 * var(--_dot));
279
279
  block-size: calc(2 * var(--_dot));
280
280
  }
281
281
 
282
- [data-ui='splitter']:not([data-disabled]):hover > [data-part='grip'],
283
- [data-ui='splitter']:not([data-disabled]):focus-visible > [data-part='grip'],
284
- [data-ui='splitter'][data-dragging] > [data-part='grip'] {
282
+ [data-ui-splitter]:not([data-disabled]):hover > [data-part-grip],
283
+ [data-ui-splitter]:not([data-disabled]):focus-visible > [data-part-grip],
284
+ [data-ui-splitter][data-dragging] > [data-part-grip] {
285
285
  color: var(--_active);
286
286
  }
287
287
 
@@ -290,7 +290,7 @@
290
290
  * separator can still read its value — so this changes the picture and the
291
291
  * cursor and nothing about the focus.
292
292
  */
293
- [data-ui='splitter'][data-disabled] {
293
+ [data-ui-splitter][data-disabled] {
294
294
  cursor: default;
295
295
  --_rest: var(--slotted-splitter-disabled-line-color, var(--slotted-disabled-border, GrayText));
296
296
  }
@@ -301,23 +301,23 @@
301
301
  * grip's gradient is replaced for the same reason.
302
302
  */
303
303
  @media (forced-colors: active) {
304
- [data-ui='splitter'] > [data-part='line'] {
304
+ [data-ui-splitter] > [data-part-line] {
305
305
  background: ButtonBorder;
306
306
  forced-color-adjust: none;
307
307
  }
308
308
 
309
- [data-ui='splitter']:not([data-disabled]):hover > [data-part='line'],
310
- [data-ui='splitter'][data-dragging] > [data-part='line'] {
309
+ [data-ui-splitter]:not([data-disabled]):hover > [data-part-line],
310
+ [data-ui-splitter][data-dragging] > [data-part-line] {
311
311
  background: ButtonText;
312
312
  }
313
313
 
314
- [data-ui='splitter'] > [data-part='grip'] {
314
+ [data-ui-splitter] > [data-part-grip] {
315
315
  background-image: none;
316
316
  background-color: ButtonBorder;
317
317
  }
318
318
 
319
- [data-ui='splitter'][data-disabled] > [data-part='line'],
320
- [data-ui='splitter'][data-disabled] > [data-part='grip'] {
319
+ [data-ui-splitter][data-disabled] > [data-part-line],
320
+ [data-ui-splitter][data-disabled] > [data-part-grip] {
321
321
  background: GrayText;
322
322
  }
323
323
  }
@@ -328,8 +328,8 @@
328
328
  * without travelling.
329
329
  */
330
330
  @media (prefers-reduced-motion: reduce) {
331
- [data-ui='splitter'] > [data-part='line'],
332
- [data-ui='splitter'] > [data-part='grip'] {
331
+ [data-ui-splitter] > [data-part-line],
332
+ [data-ui-splitter] > [data-part-grip] {
333
333
  transition-duration: var(--slotted-duration-instant);
334
334
  }
335
335
  }
@@ -10,7 +10,7 @@
10
10
  * base rule, so a nested layout can never inherit the separation of the one
11
11
  * above it.
12
12
  */
13
- [data-ui='stack'] {
13
+ [data-ui-stack] {
14
14
  --_gap: var(--slotted-space-6, 1rem);
15
15
 
16
16
  display: flex;
@@ -25,55 +25,55 @@
25
25
  }
26
26
 
27
27
  /* Separation is a step on the scale, never a length the consumer states. */
28
- [data-ui='stack'][data-gap='0'] {
28
+ [data-ui-stack][data-gap='0'] {
29
29
  --_gap: 0;
30
30
  }
31
31
 
32
- [data-ui='stack'][data-gap='1'] {
32
+ [data-ui-stack][data-gap='1'] {
33
33
  --_gap: var(--slotted-space-1, 0.125rem);
34
34
  }
35
35
 
36
- [data-ui='stack'][data-gap='2'] {
36
+ [data-ui-stack][data-gap='2'] {
37
37
  --_gap: var(--slotted-space-2, 0.25rem);
38
38
  }
39
39
 
40
- [data-ui='stack'][data-gap='3'] {
40
+ [data-ui-stack][data-gap='3'] {
41
41
  --_gap: var(--slotted-space-3, 0.375rem);
42
42
  }
43
43
 
44
- [data-ui='stack'][data-gap='4'] {
44
+ [data-ui-stack][data-gap='4'] {
45
45
  --_gap: var(--slotted-space-4, 0.5rem);
46
46
  }
47
47
 
48
- [data-ui='stack'][data-gap='5'] {
48
+ [data-ui-stack][data-gap='5'] {
49
49
  --_gap: var(--slotted-space-5, 0.75rem);
50
50
  }
51
51
 
52
- [data-ui='stack'][data-gap='6'] {
52
+ [data-ui-stack][data-gap='6'] {
53
53
  --_gap: var(--slotted-space-6, 1rem);
54
54
  }
55
55
 
56
- [data-ui='stack'][data-gap='7'] {
56
+ [data-ui-stack][data-gap='7'] {
57
57
  --_gap: var(--slotted-space-7, 1.25rem);
58
58
  }
59
59
 
60
- [data-ui='stack'][data-gap='8'] {
60
+ [data-ui-stack][data-gap='8'] {
61
61
  --_gap: var(--slotted-space-8, 1.5rem);
62
62
  }
63
63
 
64
- [data-ui='stack'][data-gap='9'] {
64
+ [data-ui-stack][data-gap='9'] {
65
65
  --_gap: var(--slotted-space-9, 2rem);
66
66
  }
67
67
 
68
- [data-ui='stack'][data-gap='10'] {
68
+ [data-ui-stack][data-gap='10'] {
69
69
  --_gap: var(--slotted-space-10, 2.5rem);
70
70
  }
71
71
 
72
- [data-ui='stack'][data-gap='11'] {
72
+ [data-ui-stack][data-gap='11'] {
73
73
  --_gap: var(--slotted-space-11, 3rem);
74
74
  }
75
75
 
76
- [data-ui='stack'][data-gap='12'] {
76
+ [data-ui-stack][data-gap='12'] {
77
77
  --_gap: var(--slotted-space-12, 4rem);
78
78
  }
79
79
 
@@ -82,19 +82,19 @@
82
82
  * axis. The keywords are the logical ones, so a right-to-left document is the
83
83
  * same component mirrored rather than a second stylesheet.
84
84
  */
85
- [data-ui='stack'][data-align='start'] {
85
+ [data-ui-stack][data-align='start'] {
86
86
  align-items: start;
87
87
  }
88
88
 
89
- [data-ui='stack'][data-align='center'] {
89
+ [data-ui-stack][data-align='center'] {
90
90
  align-items: center;
91
91
  }
92
92
 
93
- [data-ui='stack'][data-align='end'] {
93
+ [data-ui-stack][data-align='end'] {
94
94
  align-items: end;
95
95
  }
96
96
 
97
- [data-ui='stack'][data-align='stretch'] {
97
+ [data-ui-stack][data-align='stretch'] {
98
98
  align-items: stretch;
99
99
  }
100
100
 
@@ -102,27 +102,27 @@
102
102
  * `justify` positions children along the flow, which for a stack is the block
103
103
  * axis. It moves nothing until the stack is given a block size to distribute.
104
104
  */
105
- [data-ui='stack'][data-justify='start'] {
105
+ [data-ui-stack][data-justify='start'] {
106
106
  justify-content: start;
107
107
  }
108
108
 
109
- [data-ui='stack'][data-justify='center'] {
109
+ [data-ui-stack][data-justify='center'] {
110
110
  justify-content: center;
111
111
  }
112
112
 
113
- [data-ui='stack'][data-justify='end'] {
113
+ [data-ui-stack][data-justify='end'] {
114
114
  justify-content: end;
115
115
  }
116
116
 
117
- [data-ui='stack'][data-justify='between'] {
117
+ [data-ui-stack][data-justify='between'] {
118
118
  justify-content: space-between;
119
119
  }
120
120
 
121
- [data-ui='stack'][data-justify='around'] {
121
+ [data-ui-stack][data-justify='around'] {
122
122
  justify-content: space-around;
123
123
  }
124
124
 
125
- [data-ui='stack'][data-justify='evenly'] {
125
+ [data-ui-stack][data-justify='evenly'] {
126
126
  justify-content: space-evenly;
127
127
  }
128
128
  }