@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.
- package/package.json +1 -1
- package/src/accordion/accordion.css +10 -10
- package/src/action-bar/action-bar.css +31 -32
- package/src/action-sheet/action-sheet.css +36 -36
- package/src/alert/alert.css +43 -35
- package/src/alert/alert.tokens.json +5 -0
- package/src/app-shell/app-shell.css +356 -301
- package/src/aspect-ratio/aspect-ratio.css +9 -9
- package/src/attachment/attachment.css +91 -99
- package/src/avatar/avatar.css +71 -41
- package/src/avatar/avatar.tokens.json +7 -0
- package/src/avatar-group/avatar-group.css +21 -22
- package/src/badge/badge.css +45 -37
- package/src/badge/badge.tokens.json +5 -0
- package/src/breadcrumb/breadcrumb.css +37 -37
- package/src/button/button.css +139 -64
- package/src/button/button.tokens.json +10 -0
- package/src/button-group/button-group.css +76 -72
- package/src/button-group/button-group.tokens.json +2 -0
- package/src/calendar/calendar.css +93 -103
- package/src/card/card.css +54 -61
- package/src/carousel/carousel.css +150 -161
- package/src/cascader/cascader.css +152 -153
- package/src/cascader/cascader.tokens.json +1 -0
- package/src/chart/chart.css +242 -239
- package/src/chart/chart.tokens.json +1 -0
- package/src/checkbox/checkbox.css +119 -124
- package/src/checkbox-group/checkbox-group.css +7 -7
- package/src/code-block/code-block.css +81 -85
- package/src/collapsible/collapsible.css +69 -76
- package/src/color-picker/color-picker.css +83 -91
- package/src/column-manager/column-manager.css +106 -114
- package/src/combobox/combobox.css +132 -107
- package/src/combobox/combobox.tokens.json +1 -0
- package/src/command-palette/command-palette.css +84 -90
- package/src/container/container.css +24 -24
- package/src/context-menu/context-menu.css +8 -8
- package/src/currency-field/currency-field.css +210 -88
- package/src/currency-field/currency-field.tokens.json +13 -0
- package/src/dashboard-grid/dashboard-grid.css +148 -116
- package/src/data-grid/data-grid.css +504 -469
- package/src/data-grid/data-grid.tokens.json +2 -0
- package/src/data-list/data-list.css +81 -70
- package/src/data-list/data-list.tokens.json +2 -1
- package/src/date-field/date-field.css +55 -52
- package/src/date-field/date-field.tokens.json +1 -0
- package/src/date-picker/date-picker.css +40 -42
- package/src/date-range-picker/date-range-picker.css +114 -118
- package/src/datetime-field/datetime-field.css +78 -80
- package/src/datetime-field/datetime-field.tokens.json +1 -0
- package/src/datetime-picker/datetime-picker.css +61 -63
- package/src/datetime-range-picker/datetime-range-picker.css +149 -156
- package/src/description-list/description-list.css +61 -64
- package/src/detail-panel/detail-panel.css +70 -70
- package/src/dialog/dialog.css +334 -153
- package/src/dialog/dialog.tokens.json +5 -0
- package/src/divider/divider.css +18 -18
- package/src/drawer/drawer.css +186 -209
- package/src/entity-picker/entity-picker.css +238 -241
- package/src/entity-picker/entity-picker.tokens.json +1 -0
- package/src/event-calendar/event-calendar.css +343 -385
- package/src/field/field.css +74 -78
- package/src/field-group/field-group.css +22 -25
- package/src/filter-bar/filter-bar.css +193 -209
- package/src/form/form.css +34 -24
- package/src/form/form.tokens.json +1 -0
- package/src/fullscreen/fullscreen.css +24 -25
- package/src/grid/grid.css +28 -28
- package/src/highlight/highlight.css +6 -6
- package/src/hover-card/hover-card.css +6 -6
- package/src/icon/icon.css +19 -15
- package/src/icon/icon.tokens.json +1 -0
- package/src/image/image.css +39 -39
- package/src/import-export-center/import-export-center.css +135 -156
- package/src/inline/inline.css +27 -27
- package/src/inline-message/inline-message.css +52 -28
- package/src/inline-message/inline-message.tokens.json +4 -0
- package/src/kbd/kbd.css +30 -26
- package/src/link/link.css +15 -15
- package/src/list/list.css +44 -17
- package/src/list/list.tokens.json +4 -0
- package/src/list-item/list-item.css +80 -66
- package/src/list-item/list-item.tokens.json +7 -0
- package/src/listbox/listbox.css +56 -59
- package/src/loading-overlay/loading-overlay.css +75 -92
- package/src/markdown/markdown.css +17 -17
- package/src/menu/menu.css +83 -63
- package/src/menubar/menubar.css +13 -13
- package/src/message/message.css +182 -202
- package/src/message/message.tokens.json +5 -0
- package/src/message-scroller/message-scroller.css +41 -42
- package/src/multi-select/multi-select.css +152 -145
- package/src/multi-select/multi-select.tokens.json +1 -0
- package/src/navigation-menu/navigation-menu.css +167 -188
- package/src/notification-center/notification-center.css +140 -148
- package/src/notification-center/notification-center.tokens.json +3 -0
- package/src/number-field/number-field.css +84 -83
- package/src/number-field/number-field.tokens.json +1 -0
- package/src/otp-input/otp-input.css +67 -57
- package/src/otp-input/otp-input.tokens.json +1 -0
- package/src/page/page.css +23 -23
- package/src/page-header/page-header.css +268 -281
- package/src/page-header/page-header.tokens.json +1 -0
- package/src/pagination/pagination.css +68 -72
- package/src/popover/popover.css +40 -49
- package/src/progress-indicator/progress-indicator.css +177 -120
- package/src/progress-indicator/progress-indicator.tokens.json +1 -1
- package/src/prompt-composer/prompt-composer.css +221 -102
- package/src/prompt-composer/prompt-composer.tokens.json +15 -0
- package/src/prose/prose.css +71 -75
- package/src/radio-group/radio-group.css +98 -103
- package/src/rating/rating.css +136 -132
- package/src/rating/rating.tokens.json +1 -0
- package/src/result-state/result-state.css +74 -77
- package/src/runtime-properties.mjs +2 -0
- package/src/saved-views/saved-views.css +41 -47
- package/src/scroll-area/scroll-area.css +39 -32
- package/src/section/section.css +161 -41
- package/src/section/section.tokens.json +7 -2
- package/src/segmented-control/segmented-control.css +254 -97
- package/src/segmented-control/segmented-control.tokens.json +15 -11
- package/src/select/select.css +118 -117
- package/src/select/select.tokens.json +1 -0
- package/src/side-navigation/side-navigation.css +179 -182
- package/src/side-navigation/side-navigation.tokens.json +1 -0
- package/src/skeleton/skeleton.css +47 -48
- package/src/slider/slider.css +86 -88
- package/src/sparkline/sparkline.css +62 -40
- package/src/sparkline/sparkline.tokens.json +2 -0
- package/src/spinner/spinner.css +39 -182
- package/src/spinner/spinner.tokens.json +0 -2
- package/src/split-button/split-button.css +30 -31
- package/src/split-button/split-button.tokens.json +1 -0
- package/src/splitter/splitter.css +35 -35
- package/src/stack/stack.css +24 -24
- package/src/stat-card/stat-card.css +341 -224
- package/src/stat-card/stat-card.tokens.json +3 -0
- package/src/status-indicator/status-indicator.css +28 -28
- package/src/stepper/stepper.css +58 -62
- package/src/switch/switch.css +86 -92
- package/src/table/table.css +310 -165
- package/src/table/table.tokens.json +6 -0
- package/src/table-of-contents/table-of-contents.css +51 -54
- package/src/tabs/tabs.css +330 -302
- package/src/tabs/tabs.tokens.json +8 -5
- package/src/tag/tag.css +79 -71
- package/src/tag/tag.tokens.json +9 -0
- package/src/tags-input/tags-input.css +145 -82
- package/src/tags-input/tags-input.tokens.json +7 -1
- package/src/text-field/text-field.css +132 -136
- package/src/text-field/text-field.tokens.json +1 -0
- package/src/textarea/textarea.css +31 -28
- package/src/textarea/textarea.tokens.json +1 -0
- package/src/time-field/time-field.css +72 -69
- package/src/time-field/time-field.tokens.json +1 -0
- package/src/time-picker/time-picker.css +56 -58
- package/src/time-range-picker/time-range-picker.css +126 -133
- package/src/timeline/timeline.css +254 -266
- package/src/timeline/timeline.tokens.json +5 -0
- package/src/toast/toast.css +89 -90
- package/src/toast/toast.tokens.json +5 -0
- package/src/toggle/toggle.css +62 -25
- package/src/toggle/toggle.tokens.json +8 -0
- package/src/toggle-group/toggle-group.css +106 -60
- package/src/toggle-group/toggle-group.tokens.json +10 -0
- package/src/toolbar/toolbar.css +30 -35
- package/src/tooltip/tooltip.css +26 -26
- package/src/top-navigation/top-navigation.css +243 -259
- package/src/tour/tour.css +51 -60
- package/src/transfer/transfer.css +160 -164
- package/src/tree/tree.css +103 -111
- package/src/typography/typography.css +40 -36
- package/src/typography/typography.tokens.json +1 -0
- package/src/upload/upload.css +224 -224
- package/src/visually-hidden/visually-hidden.css +1 -1
- package/src/wizard/wizard.css +185 -197
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
* control's padding or gap at the family's size step, and the list is a
|
|
26
26
|
* number of control heights tall.
|
|
27
27
|
*/
|
|
28
|
-
[data-ui
|
|
28
|
+
[data-ui-transfer] {
|
|
29
29
|
--_text: var(--slotted-text, CanvasText);
|
|
30
30
|
--_muted: var(--slotted-text-muted, GrayText);
|
|
31
31
|
--_rule: var(--slotted-border-subtle, ButtonBorder);
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
container-type: inline-size;
|
|
63
63
|
}
|
|
64
64
|
|
|
65
|
-
[data-ui
|
|
65
|
+
[data-ui-transfer][data-size='sm'] {
|
|
66
66
|
--_option-height: var(--slotted-control-height-sm, 30px);
|
|
67
67
|
--_option-inset: var(--slotted-control-padding-inline-sm, 10px);
|
|
68
68
|
--_mark: var(--slotted-control-icon-size-sm, 14px);
|
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
--_font-size: var(--slotted-control-font-size-sm, 12px);
|
|
71
71
|
}
|
|
72
72
|
|
|
73
|
-
[data-ui
|
|
73
|
+
[data-ui-transfer][data-size='lg'] {
|
|
74
74
|
--_option-height: var(--slotted-control-height-lg, 38px);
|
|
75
75
|
--_option-inset: var(--slotted-control-padding-inline-lg, 16px);
|
|
76
76
|
--_mark: var(--slotted-control-icon-size-lg, 18px);
|
|
@@ -80,11 +80,11 @@
|
|
|
80
80
|
|
|
81
81
|
/* ── The switch, which only steps lay out ─────────────────────────────── */
|
|
82
82
|
|
|
83
|
-
[data-ui
|
|
83
|
+
[data-ui-transfer] > [data-part-switch] {
|
|
84
84
|
display: none;
|
|
85
85
|
}
|
|
86
86
|
|
|
87
|
-
[data-ui
|
|
87
|
+
[data-ui-transfer] > [data-part-switch] > [data-ui-segmented-control] {
|
|
88
88
|
inline-size: 100%;
|
|
89
89
|
}
|
|
90
90
|
|
|
@@ -95,7 +95,7 @@
|
|
|
95
95
|
* The actions centre on the panes' block size, which is the lists' middle
|
|
96
96
|
* give or take the header, and the eye reads them as belonging to both.
|
|
97
97
|
*/
|
|
98
|
-
[data-ui
|
|
98
|
+
[data-ui-transfer] > [data-part-body] {
|
|
99
99
|
align-items: center;
|
|
100
100
|
column-gap: var(--_gap);
|
|
101
101
|
display: grid;
|
|
@@ -114,7 +114,7 @@
|
|
|
114
114
|
* listbox inside is `plain`: a box inside a box is what the variant exists
|
|
115
115
|
* to prevent.
|
|
116
116
|
*/
|
|
117
|
-
[data-ui
|
|
117
|
+
[data-ui-transfer] > [data-part-body] > [data-part-pane] {
|
|
118
118
|
align-self: stretch;
|
|
119
119
|
background: var(--_surface);
|
|
120
120
|
border: var(--slotted-border-width-thin, 1px) solid var(--_edge);
|
|
@@ -136,7 +136,7 @@
|
|
|
136
136
|
* then the option's, less half of what the select-all box is wider than
|
|
137
137
|
* the check. The box then stands centred over the marks it selects.
|
|
138
138
|
*/
|
|
139
|
-
[data-ui
|
|
139
|
+
[data-ui-transfer] > [data-part-body] > [data-part-pane] > [data-part-pane-header] {
|
|
140
140
|
align-items: center;
|
|
141
141
|
/* A stated step rather than the control gap: the box's focus ring is
|
|
142
142
|
drawn four pixels out, and at dense the control gap is four and six
|
|
@@ -151,31 +151,31 @@
|
|
|
151
151
|
);
|
|
152
152
|
}
|
|
153
153
|
|
|
154
|
-
[data-ui
|
|
155
|
-
> [data-part
|
|
156
|
-
> [data-part
|
|
157
|
-
> [data-part
|
|
158
|
-
> [data-part
|
|
154
|
+
[data-ui-transfer]
|
|
155
|
+
> [data-part-body]
|
|
156
|
+
> [data-part-pane]
|
|
157
|
+
> [data-part-pane-header]
|
|
158
|
+
> [data-part-select-all] {
|
|
159
159
|
display: inline-flex;
|
|
160
160
|
flex: none;
|
|
161
161
|
}
|
|
162
162
|
|
|
163
163
|
/* The box stands alone: its name is on the input, and the Angular binding's
|
|
164
164
|
empty label would otherwise keep the grid's gap after the box. */
|
|
165
|
-
[data-ui
|
|
166
|
-
> [data-part
|
|
167
|
-
> [data-part
|
|
168
|
-
> [data-part
|
|
169
|
-
> [data-part
|
|
170
|
-
> [data-ui
|
|
165
|
+
[data-ui-transfer]
|
|
166
|
+
> [data-part-body]
|
|
167
|
+
> [data-part-pane]
|
|
168
|
+
> [data-part-pane-header]
|
|
169
|
+
> [data-part-select-all]
|
|
170
|
+
> [data-ui-checkbox] {
|
|
171
171
|
column-gap: 0;
|
|
172
172
|
}
|
|
173
173
|
|
|
174
|
-
[data-ui
|
|
175
|
-
> [data-part
|
|
176
|
-
> [data-part
|
|
177
|
-
> [data-part
|
|
178
|
-
> [data-part
|
|
174
|
+
[data-ui-transfer]
|
|
175
|
+
> [data-part-body]
|
|
176
|
+
> [data-part-pane]
|
|
177
|
+
> [data-part-pane-header]
|
|
178
|
+
> [data-part-title] {
|
|
179
179
|
color: var(--_text);
|
|
180
180
|
font-weight: var(--slotted-font-weight-semibold, 600);
|
|
181
181
|
min-inline-size: 0;
|
|
@@ -187,11 +187,11 @@
|
|
|
187
187
|
* title instead, and a figure that jumps as it counts is read as a change of
|
|
188
188
|
* meaning. Tabular figures keep "9 of 12" and "10 of 12" the same width.
|
|
189
189
|
*/
|
|
190
|
-
[data-ui
|
|
191
|
-
> [data-part
|
|
192
|
-
> [data-part
|
|
193
|
-
> [data-part
|
|
194
|
-
> [data-part
|
|
190
|
+
[data-ui-transfer]
|
|
191
|
+
> [data-part-body]
|
|
192
|
+
> [data-part-pane]
|
|
193
|
+
> [data-part-pane-header]
|
|
194
|
+
> [data-part-count] {
|
|
195
195
|
color: var(--_muted);
|
|
196
196
|
flex: none;
|
|
197
197
|
font-size: var(--slotted-font-size-xs, 0.75rem);
|
|
@@ -201,24 +201,24 @@
|
|
|
201
201
|
white-space: nowrap;
|
|
202
202
|
}
|
|
203
203
|
|
|
204
|
-
[data-ui
|
|
204
|
+
[data-ui-transfer] > [data-part-body] > [data-part-pane] > [data-part-search] {
|
|
205
205
|
padding-block-end: var(--slotted-space-4, 0.5rem);
|
|
206
206
|
padding-inline: var(--slotted-space-4, 0.5rem);
|
|
207
207
|
}
|
|
208
208
|
|
|
209
|
-
[data-ui
|
|
210
|
-
> [data-part
|
|
211
|
-
> [data-part
|
|
212
|
-
> [data-part
|
|
213
|
-
> [data-ui
|
|
209
|
+
[data-ui-transfer]
|
|
210
|
+
> [data-part-body]
|
|
211
|
+
> [data-part-pane]
|
|
212
|
+
> [data-part-search]
|
|
213
|
+
> [data-ui-text-field] {
|
|
214
214
|
inline-size: 100%;
|
|
215
215
|
}
|
|
216
216
|
|
|
217
|
-
[data-ui
|
|
218
|
-
> [data-part
|
|
219
|
-
> [data-part
|
|
220
|
-
> [data-part
|
|
221
|
-
[data-part
|
|
217
|
+
[data-ui-transfer]
|
|
218
|
+
> [data-part-body]
|
|
219
|
+
> [data-part-pane]
|
|
220
|
+
> [data-part-search]
|
|
221
|
+
[data-part-search-icon] {
|
|
222
222
|
/* Holds the search `Glyph` the binding draws, at the icon size the text
|
|
223
223
|
field's start slot states. */
|
|
224
224
|
display: inline-flex;
|
|
@@ -231,7 +231,7 @@
|
|
|
231
231
|
* not change the height of the page. The listbox fills it and scrolls
|
|
232
232
|
* inside it; its measure cap is lifted, because the pane is the measure.
|
|
233
233
|
*/
|
|
234
|
-
[data-ui
|
|
234
|
+
[data-ui-transfer] > [data-part-body] > [data-part-pane] > [data-part-list] {
|
|
235
235
|
block-size: calc(var(--_rows) * var(--_option-height) + 2 * var(--_list-inset));
|
|
236
236
|
border-block-start: var(--slotted-border-width-thin, 1px) solid var(--_rule);
|
|
237
237
|
box-sizing: content-box;
|
|
@@ -239,11 +239,7 @@
|
|
|
239
239
|
position: relative;
|
|
240
240
|
}
|
|
241
241
|
|
|
242
|
-
[data-ui
|
|
243
|
-
> [data-part='body']
|
|
244
|
-
> [data-part='pane']
|
|
245
|
-
> [data-part='list']
|
|
246
|
-
> [data-ui='listbox'] {
|
|
242
|
+
[data-ui-transfer] > [data-part-body] > [data-part-pane] > [data-part-list] > [data-ui-listbox] {
|
|
247
243
|
--slotted-listbox-measure: none;
|
|
248
244
|
|
|
249
245
|
block-size: 100%;
|
|
@@ -254,21 +250,21 @@
|
|
|
254
250
|
* An empty list says so in the middle of the space it would fill, rather
|
|
255
251
|
* than in a row at the top that reads as the first option.
|
|
256
252
|
*/
|
|
257
|
-
[data-ui
|
|
258
|
-
> [data-part
|
|
259
|
-
> [data-part
|
|
260
|
-
> [data-part
|
|
261
|
-
> [data-ui
|
|
253
|
+
[data-ui-transfer]
|
|
254
|
+
> [data-part-body]
|
|
255
|
+
> [data-part-pane]
|
|
256
|
+
> [data-part-list]
|
|
257
|
+
> [data-ui-listbox]:has(> [data-part-empty]) {
|
|
262
258
|
align-content: center;
|
|
263
259
|
}
|
|
264
260
|
|
|
265
|
-
[data-ui
|
|
266
|
-
> [data-part
|
|
267
|
-
> [data-part
|
|
268
|
-
> [data-part
|
|
269
|
-
> [data-ui
|
|
270
|
-
> [data-part
|
|
271
|
-
> [data-part
|
|
261
|
+
[data-ui-transfer]
|
|
262
|
+
> [data-part-body]
|
|
263
|
+
> [data-part-pane]
|
|
264
|
+
> [data-part-list]
|
|
265
|
+
> [data-ui-listbox]
|
|
266
|
+
> [data-part-empty]
|
|
267
|
+
> [data-part-empty] {
|
|
272
268
|
/* The mark above the words is the `Glyph` the binding draws: an empty tray,
|
|
273
269
|
or a failed search while a query is typed. */
|
|
274
270
|
--slotted-icon-size: var(--_mark);
|
|
@@ -278,12 +274,12 @@
|
|
|
278
274
|
}
|
|
279
275
|
|
|
280
276
|
/** An option the collection does not hold: the key, in the muted ink. */
|
|
281
|
-
[data-ui
|
|
282
|
-
> [data-part
|
|
283
|
-
> [data-part
|
|
284
|
-
> [data-part
|
|
285
|
-
> [data-ui
|
|
286
|
-
[data-part
|
|
277
|
+
[data-ui-transfer]
|
|
278
|
+
> [data-part-body]
|
|
279
|
+
> [data-part-pane]
|
|
280
|
+
> [data-part-list]
|
|
281
|
+
> [data-ui-listbox]
|
|
282
|
+
[data-part-option]:has(> [data-part-indicator][data-unresolved]) {
|
|
287
283
|
color: var(--_muted);
|
|
288
284
|
font-family: var(--slotted-font-family-mono, ui-monospace, monospace);
|
|
289
285
|
}
|
|
@@ -293,11 +289,11 @@
|
|
|
293
289
|
* so nothing moves while the reader aims. Its offset is measured by script,
|
|
294
290
|
* which is the one thing the stylesheet cannot know.
|
|
295
291
|
*/
|
|
296
|
-
[data-ui
|
|
297
|
-
> [data-part
|
|
298
|
-
> [data-part
|
|
299
|
-
> [data-part
|
|
300
|
-
> [data-part
|
|
292
|
+
[data-ui-transfer]
|
|
293
|
+
> [data-part-body]
|
|
294
|
+
> [data-part-pane]
|
|
295
|
+
> [data-part-list]
|
|
296
|
+
> [data-part-drop-indicator] {
|
|
301
297
|
block-size: 0;
|
|
302
298
|
inset-block-start: var(--_drop-offset, 0);
|
|
303
299
|
inset-inline: calc(var(--_list-inset) + var(--slotted-space-2, 0.25rem));
|
|
@@ -305,11 +301,11 @@
|
|
|
305
301
|
position: absolute;
|
|
306
302
|
}
|
|
307
303
|
|
|
308
|
-
[data-ui
|
|
309
|
-
> [data-part
|
|
310
|
-
> [data-part
|
|
311
|
-
> [data-part
|
|
312
|
-
> [data-part
|
|
304
|
+
[data-ui-transfer]
|
|
305
|
+
> [data-part-body]
|
|
306
|
+
> [data-part-pane]
|
|
307
|
+
> [data-part-list]
|
|
308
|
+
> [data-part-drop-indicator]::before {
|
|
313
309
|
background-color: var(--slotted-tone-accent-solid);
|
|
314
310
|
block-size: var(--slotted-border-width-thick, 2px);
|
|
315
311
|
border-radius: var(--slotted-radius-full, 9999px);
|
|
@@ -320,12 +316,12 @@
|
|
|
320
316
|
}
|
|
321
317
|
|
|
322
318
|
/* An option being carried is the ghost of itself where it came from. */
|
|
323
|
-
[data-ui
|
|
324
|
-
> [data-part
|
|
325
|
-
> [data-part
|
|
326
|
-
> [data-part
|
|
327
|
-
> [data-ui
|
|
328
|
-
[data-part
|
|
319
|
+
[data-ui-transfer]
|
|
320
|
+
> [data-part-body]
|
|
321
|
+
> [data-part-pane]
|
|
322
|
+
> [data-part-list]
|
|
323
|
+
> [data-ui-listbox]
|
|
324
|
+
[data-part-option]:has(> [data-part-indicator][data-dragging]) {
|
|
329
325
|
opacity: 0.5;
|
|
330
326
|
}
|
|
331
327
|
|
|
@@ -333,13 +329,13 @@
|
|
|
333
329
|
* The pane a drop would land in. The accent edge at 3:1 is the signal; the
|
|
334
330
|
* ring doubles it, so the edge reads at a glance without the pane moving.
|
|
335
331
|
*/
|
|
336
|
-
[data-ui
|
|
332
|
+
[data-ui-transfer] > [data-part-body] > [data-part-pane][data-drop-target] {
|
|
337
333
|
border-color: var(--slotted-tone-accent-border, Highlight);
|
|
338
334
|
box-shadow: 0 0 0 var(--slotted-border-width-thin, 1px)
|
|
339
335
|
var(--slotted-tone-accent-border, Highlight);
|
|
340
336
|
}
|
|
341
337
|
|
|
342
|
-
[data-ui
|
|
338
|
+
[data-ui-transfer] > [data-part-body] > [data-part-pane] > [data-part-pane-footer] {
|
|
343
339
|
border-block-start: var(--slotted-border-width-thin, 1px) solid var(--_rule);
|
|
344
340
|
color: var(--_muted);
|
|
345
341
|
font-size: var(--slotted-font-size-xs, 0.75rem);
|
|
@@ -350,7 +346,7 @@
|
|
|
350
346
|
|
|
351
347
|
/* ── The pane's states ────────────────────────────────────────────────── */
|
|
352
348
|
|
|
353
|
-
[data-ui
|
|
349
|
+
[data-ui-transfer][data-invalid] > [data-part-body] > [data-part-pane] {
|
|
354
350
|
--_edge: var(--slotted-tone-danger-border, Mark);
|
|
355
351
|
/* Width as well as colour (WCAG 1.4.1): in `high-contrast` the danger
|
|
356
352
|
border is the resting edge's black. An edge inside the border, so
|
|
@@ -360,7 +356,7 @@
|
|
|
360
356
|
--_shadow: inset 0 0 0 var(--_invalid-edge-width) var(--_edge);
|
|
361
357
|
}
|
|
362
358
|
|
|
363
|
-
[data-ui
|
|
359
|
+
[data-ui-transfer][data-disabled] {
|
|
364
360
|
--_surface: var(--slotted-disabled-background, Canvas);
|
|
365
361
|
--_edge: var(--slotted-disabled-border, GrayText);
|
|
366
362
|
--_text: var(--slotted-disabled-foreground, GrayText);
|
|
@@ -376,32 +372,32 @@
|
|
|
376
372
|
* buttons inside each, which is how the eye tells "toward Chosen" from
|
|
377
373
|
* "toward Available" before reading either.
|
|
378
374
|
*/
|
|
379
|
-
[data-ui
|
|
375
|
+
[data-ui-transfer] > [data-part-body] > [data-part-actions] {
|
|
380
376
|
display: grid;
|
|
381
377
|
gap: var(--slotted-space-3, 0.375rem);
|
|
382
378
|
grid-auto-rows: auto;
|
|
383
379
|
min-inline-size: 0;
|
|
384
380
|
}
|
|
385
381
|
|
|
386
|
-
[data-ui
|
|
387
|
-
[data-ui
|
|
382
|
+
[data-ui-transfer] > [data-part-body] > [data-part-actions] > [data-part-move-to-source],
|
|
383
|
+
[data-ui-transfer] > [data-part-body] > [data-part-actions] > [data-part-reorder] {
|
|
388
384
|
margin-block-start: var(--slotted-space-4, 0.5rem);
|
|
389
385
|
}
|
|
390
386
|
|
|
391
|
-
[data-ui
|
|
387
|
+
[data-ui-transfer] > [data-part-body] > [data-part-actions] > [data-ui-button] {
|
|
392
388
|
inline-size: 100%;
|
|
393
389
|
}
|
|
394
390
|
|
|
395
|
-
[data-ui
|
|
391
|
+
[data-ui-transfer] > [data-part-body] > [data-part-actions] > [data-part-reorder] {
|
|
396
392
|
display: grid;
|
|
397
393
|
gap: var(--slotted-space-3, 0.375rem);
|
|
398
394
|
}
|
|
399
395
|
|
|
400
|
-
[data-ui
|
|
401
|
-
> [data-part
|
|
402
|
-
> [data-part
|
|
403
|
-
> [data-part
|
|
404
|
-
> [data-ui
|
|
396
|
+
[data-ui-transfer]
|
|
397
|
+
> [data-part-body]
|
|
398
|
+
> [data-part-actions]
|
|
399
|
+
> [data-part-reorder]
|
|
400
|
+
> [data-ui-button] {
|
|
405
401
|
inline-size: 100%;
|
|
406
402
|
}
|
|
407
403
|
|
|
@@ -416,37 +412,37 @@
|
|
|
416
412
|
* Toward the source is the other way along the inline axis, and a
|
|
417
413
|
* right-to-left document turns both.
|
|
418
414
|
*/
|
|
419
|
-
[data-ui
|
|
420
|
-
> [data-part
|
|
421
|
-
> [data-part
|
|
422
|
-
> :is([data-part
|
|
423
|
-
> [data-part
|
|
424
|
-
> [data-ui
|
|
425
|
-
[data-ui
|
|
426
|
-
> [data-part
|
|
427
|
-
> [data-part
|
|
428
|
-
> :is([data-part
|
|
429
|
-
> [data-part
|
|
430
|
-
> [data-ui
|
|
415
|
+
[data-ui-transfer]
|
|
416
|
+
> [data-part-body]
|
|
417
|
+
> [data-part-actions]
|
|
418
|
+
> :is([data-part-move-to-source], [data-part-move-all-to-source])
|
|
419
|
+
> [data-part-start]
|
|
420
|
+
> [data-ui-icon],
|
|
421
|
+
[data-ui-transfer]:dir(rtl)
|
|
422
|
+
> [data-part-body]
|
|
423
|
+
> [data-part-actions]
|
|
424
|
+
> :is([data-part-move-to-target], [data-part-move-all-to-target])
|
|
425
|
+
> [data-part-end]
|
|
426
|
+
> [data-ui-icon] {
|
|
431
427
|
scale: -1 1;
|
|
432
428
|
}
|
|
433
429
|
|
|
434
|
-
[data-ui
|
|
435
|
-
> [data-part
|
|
436
|
-
> [data-part
|
|
437
|
-
> :is([data-part
|
|
438
|
-
> [data-part
|
|
439
|
-
> [data-ui
|
|
430
|
+
[data-ui-transfer]:dir(rtl)
|
|
431
|
+
> [data-part-body]
|
|
432
|
+
> [data-part-actions]
|
|
433
|
+
> :is([data-part-move-to-source], [data-part-move-all-to-source])
|
|
434
|
+
> [data-part-start]
|
|
435
|
+
> [data-ui-icon] {
|
|
440
436
|
scale: 1 1;
|
|
441
437
|
}
|
|
442
438
|
|
|
443
|
-
[data-ui
|
|
444
|
-
> [data-part
|
|
445
|
-
> [data-part
|
|
446
|
-
> [data-part
|
|
447
|
-
> [data-part
|
|
448
|
-
> [data-part
|
|
449
|
-
> [data-ui
|
|
439
|
+
[data-ui-transfer]
|
|
440
|
+
> [data-part-body]
|
|
441
|
+
> [data-part-actions]
|
|
442
|
+
> [data-part-reorder]
|
|
443
|
+
> [data-part-move-up]
|
|
444
|
+
> [data-part-start]
|
|
445
|
+
> [data-ui-icon] {
|
|
450
446
|
scale: 1 -1;
|
|
451
447
|
}
|
|
452
448
|
|
|
@@ -463,93 +459,93 @@
|
|
|
463
459
|
* `layout="auto"` under the container step, because a container condition
|
|
464
460
|
* cannot be a selector.
|
|
465
461
|
*/
|
|
466
|
-
[data-ui
|
|
462
|
+
[data-ui-transfer][data-layout='steps'] > [data-part-switch] {
|
|
467
463
|
display: block;
|
|
468
464
|
}
|
|
469
465
|
|
|
470
|
-
[data-ui
|
|
466
|
+
[data-ui-transfer][data-layout='steps'] > [data-part-body] {
|
|
471
467
|
grid-template-columns: minmax(0, 1fr);
|
|
472
468
|
row-gap: var(--slotted-space-4, 0.5rem);
|
|
473
469
|
}
|
|
474
470
|
|
|
475
|
-
[data-ui
|
|
476
|
-
> [data-part
|
|
477
|
-
> [data-part
|
|
471
|
+
[data-ui-transfer][data-layout='steps']
|
|
472
|
+
> [data-part-body]
|
|
473
|
+
> [data-part-pane]:not([data-current]) {
|
|
478
474
|
display: none;
|
|
479
475
|
}
|
|
480
476
|
|
|
481
|
-
[data-ui
|
|
477
|
+
[data-ui-transfer][data-layout='steps'] > [data-part-body] > [data-part-actions] {
|
|
482
478
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
483
479
|
}
|
|
484
480
|
|
|
485
|
-
[data-ui
|
|
486
|
-
> [data-part
|
|
487
|
-
> [data-part
|
|
488
|
-
> :is([data-part
|
|
481
|
+
[data-ui-transfer][data-layout='steps']
|
|
482
|
+
> [data-part-body]
|
|
483
|
+
> [data-part-actions]
|
|
484
|
+
> :is([data-part-move-to-source], [data-part-reorder]) {
|
|
489
485
|
margin-block-start: 0;
|
|
490
486
|
}
|
|
491
487
|
|
|
492
|
-
[data-ui
|
|
493
|
-
> [data-part
|
|
494
|
-
> [data-part
|
|
495
|
-
> :is([data-part
|
|
496
|
-
[data-ui
|
|
497
|
-
> [data-part
|
|
498
|
-
> [data-part
|
|
499
|
-
> :is([data-part
|
|
488
|
+
[data-ui-transfer][data-layout='steps'][data-pane='source']
|
|
489
|
+
> [data-part-body]
|
|
490
|
+
> [data-part-actions]
|
|
491
|
+
> :is([data-part-move-to-source], [data-part-move-all-to-source], [data-part-reorder]),
|
|
492
|
+
[data-ui-transfer][data-layout='steps'][data-pane='target']
|
|
493
|
+
> [data-part-body]
|
|
494
|
+
> [data-part-actions]
|
|
495
|
+
> :is([data-part-move-to-target], [data-part-move-all-to-target]) {
|
|
500
496
|
display: none;
|
|
501
497
|
}
|
|
502
498
|
|
|
503
|
-
[data-ui
|
|
504
|
-
> [data-part
|
|
505
|
-
> [data-part
|
|
506
|
-
> [data-part
|
|
499
|
+
[data-ui-transfer][data-layout='steps']
|
|
500
|
+
> [data-part-body]
|
|
501
|
+
> [data-part-actions]
|
|
502
|
+
> [data-part-reorder] {
|
|
507
503
|
grid-column: 1 / -1;
|
|
508
504
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
509
505
|
}
|
|
510
506
|
|
|
511
507
|
@container transfer (inline-size < 36rem) {
|
|
512
|
-
[data-ui
|
|
508
|
+
[data-ui-transfer][data-layout='auto'] > [data-part-switch] {
|
|
513
509
|
display: block;
|
|
514
510
|
}
|
|
515
511
|
|
|
516
|
-
[data-ui
|
|
512
|
+
[data-ui-transfer][data-layout='auto'] > [data-part-body] {
|
|
517
513
|
grid-template-columns: minmax(0, 1fr);
|
|
518
514
|
row-gap: var(--slotted-space-4, 0.5rem);
|
|
519
515
|
}
|
|
520
516
|
|
|
521
|
-
[data-ui
|
|
522
|
-
> [data-part
|
|
523
|
-
> [data-part
|
|
517
|
+
[data-ui-transfer][data-layout='auto']
|
|
518
|
+
> [data-part-body]
|
|
519
|
+
> [data-part-pane]:not([data-current]) {
|
|
524
520
|
display: none;
|
|
525
521
|
}
|
|
526
522
|
|
|
527
|
-
[data-ui
|
|
523
|
+
[data-ui-transfer][data-layout='auto'] > [data-part-body] > [data-part-actions] {
|
|
528
524
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
529
525
|
}
|
|
530
526
|
|
|
531
|
-
[data-ui
|
|
532
|
-
> [data-part
|
|
533
|
-
> [data-part
|
|
534
|
-
> :is([data-part
|
|
527
|
+
[data-ui-transfer][data-layout='auto']
|
|
528
|
+
> [data-part-body]
|
|
529
|
+
> [data-part-actions]
|
|
530
|
+
> :is([data-part-move-to-source], [data-part-reorder]) {
|
|
535
531
|
margin-block-start: 0;
|
|
536
532
|
}
|
|
537
533
|
|
|
538
|
-
[data-ui
|
|
539
|
-
> [data-part
|
|
540
|
-
> [data-part
|
|
541
|
-
> :is([data-part
|
|
542
|
-
[data-ui
|
|
543
|
-
> [data-part
|
|
544
|
-
> [data-part
|
|
545
|
-
> :is([data-part
|
|
534
|
+
[data-ui-transfer][data-layout='auto'][data-pane='source']
|
|
535
|
+
> [data-part-body]
|
|
536
|
+
> [data-part-actions]
|
|
537
|
+
> :is([data-part-move-to-source], [data-part-move-all-to-source], [data-part-reorder]),
|
|
538
|
+
[data-ui-transfer][data-layout='auto'][data-pane='target']
|
|
539
|
+
> [data-part-body]
|
|
540
|
+
> [data-part-actions]
|
|
541
|
+
> :is([data-part-move-to-target], [data-part-move-all-to-target]) {
|
|
546
542
|
display: none;
|
|
547
543
|
}
|
|
548
544
|
|
|
549
|
-
[data-ui
|
|
550
|
-
> [data-part
|
|
551
|
-
> [data-part
|
|
552
|
-
> [data-part
|
|
545
|
+
[data-ui-transfer][data-layout='auto']
|
|
546
|
+
> [data-part-body]
|
|
547
|
+
> [data-part-actions]
|
|
548
|
+
> [data-part-reorder] {
|
|
553
549
|
grid-column: 1 / -1;
|
|
554
550
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
555
551
|
}
|
|
@@ -561,7 +557,7 @@
|
|
|
561
557
|
* draws no focus ring of its own.
|
|
562
558
|
*/
|
|
563
559
|
@media (forced-colors: active) {
|
|
564
|
-
[data-ui
|
|
560
|
+
[data-ui-transfer][data-invalid] > [data-part-body] > [data-part-pane] {
|
|
565
561
|
outline: var(--_invalid-edge-width) solid CanvasText;
|
|
566
562
|
outline-offset: calc(
|
|
567
563
|
-1 * (var(--slotted-border-width-thin, 1px) + var(--_invalid-edge-width))
|