@slotted/styles 0.1.0-beta.7 → 0.1.0-beta.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +35 -35
- package/src/app-shell/app-shell.css +280 -299
- package/src/aspect-ratio/aspect-ratio.css +9 -9
- package/src/attachment/attachment.css +91 -99
- package/src/avatar/avatar.css +41 -41
- package/src/avatar-group/avatar-group.css +21 -22
- package/src/badge/badge.css +37 -37
- package/src/breadcrumb/breadcrumb.css +37 -37
- package/src/button/button.css +88 -69
- package/src/button-group/button-group.css +69 -73
- 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 +147 -151
- package/src/chart/chart.css +225 -240
- 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 +99 -101
- 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 +99 -104
- package/src/dashboard-grid/dashboard-grid.css +104 -107
- package/src/data-grid/data-grid.css +458 -456
- package/src/data-grid/data-grid.tokens.json +2 -0
- package/src/data-list/data-list.css +67 -69
- package/src/date-field/date-field.css +50 -50
- 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 +73 -78
- 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 +312 -148
- package/src/divider/divider.css +18 -18
- package/src/drawer/drawer.css +186 -209
- package/src/entity-picker/entity-picker.css +220 -239
- 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 +21 -24
- 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 +15 -15
- 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 +28 -28
- package/src/kbd/kbd.css +26 -26
- package/src/link/link.css +15 -15
- package/src/list/list.css +20 -20
- package/src/list-item/list-item.css +66 -66
- 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 +63 -65
- package/src/menubar/menubar.css +13 -13
- package/src/message/message.css +174 -202
- package/src/message-scroller/message-scroller.css +41 -42
- package/src/multi-select/multi-select.css +131 -137
- package/src/navigation-menu/navigation-menu.css +167 -188
- package/src/notification-center/notification-center.css +134 -148
- package/src/number-field/number-field.css +76 -81
- package/src/otp-input/otp-input.css +48 -48
- package/src/page/page.css +23 -23
- package/src/page-header/page-header.css +219 -280
- package/src/pagination/pagination.css +68 -72
- package/src/popover/popover.css +40 -49
- package/src/progress-indicator/progress-indicator.css +85 -90
- package/src/prompt-composer/prompt-composer.css +94 -99
- package/src/prose/prose.css +71 -75
- package/src/radio-group/radio-group.css +98 -103
- package/src/rating/rating.css +132 -132
- package/src/result-state/result-state.css +74 -77
- package/src/saved-views/saved-views.css +41 -47
- package/src/scroll-area/scroll-area.css +32 -35
- package/src/section/section.css +16 -16
- package/src/segmented-control/segmented-control.css +77 -79
- package/src/select/select.css +113 -115
- package/src/side-navigation/side-navigation.css +170 -180
- package/src/skeleton/skeleton.css +47 -48
- package/src/slider/slider.css +86 -88
- package/src/sparkline/sparkline.css +32 -32
- package/src/spinner/spinner.css +4 -4
- package/src/split-button/split-button.css +26 -31
- package/src/splitter/splitter.css +35 -35
- package/src/stack/stack.css +24 -24
- package/src/stat-card/stat-card.css +102 -103
- 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 +189 -198
- package/src/table-of-contents/table-of-contents.css +51 -54
- package/src/tabs/tabs.css +157 -172
- package/src/tag/tag.css +67 -71
- package/src/tags-input/tags-input.css +124 -74
- package/src/tags-input/tags-input.tokens.json +6 -1
- package/src/text-field/text-field.css +108 -126
- package/src/textarea/textarea.css +26 -26
- package/src/time-field/time-field.css +67 -67
- 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 +244 -266
- package/src/toast/toast.css +81 -90
- package/src/toggle/toggle.css +29 -33
- package/src/toggle-group/toggle-group.css +67 -71
- 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 +36 -36
- package/src/upload/upload.css +224 -224
- package/src/visually-hidden/visually-hidden.css +1 -1
- package/src/wizard/wizard.css +185 -197
package/src/tabs/tabs.css
CHANGED
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
* │ panel │
|
|
17
17
|
* └──────────────────────────────────────────────────┘
|
|
18
18
|
*/
|
|
19
|
-
[data-ui
|
|
19
|
+
[data-ui-tabs] {
|
|
20
20
|
/**
|
|
21
21
|
* The control scales, read once at the root, so `size` and the three
|
|
22
22
|
* densities are one decision each rather than one per rule.
|
|
@@ -95,7 +95,7 @@
|
|
|
95
95
|
row-gap: var(--slotted-tabs-gap, var(--slotted-space-6, 1rem));
|
|
96
96
|
}
|
|
97
97
|
|
|
98
|
-
[data-ui
|
|
98
|
+
[data-ui-tabs][data-size='sm'] {
|
|
99
99
|
--_height: var(--slotted-control-height-sm, 30px);
|
|
100
100
|
--_font-size: var(--slotted-control-font-size-sm, 0.8125rem);
|
|
101
101
|
--_padding-inline: var(--slotted-control-padding-inline-sm, 0.625rem);
|
|
@@ -104,7 +104,7 @@
|
|
|
104
104
|
--_inner-size: var(--slotted-control-inner-size-sm, 22px);
|
|
105
105
|
}
|
|
106
106
|
|
|
107
|
-
[data-ui
|
|
107
|
+
[data-ui-tabs][data-size='lg'] {
|
|
108
108
|
--_height: var(--slotted-control-height-lg, 40px);
|
|
109
109
|
--_font-size: var(--slotted-control-font-size-lg, 1rem);
|
|
110
110
|
--_padding-inline: var(--slotted-control-padding-inline-lg, 1rem);
|
|
@@ -123,7 +123,7 @@
|
|
|
123
123
|
* the panel: the distance the row gap keeps in a horizontal family. Without
|
|
124
124
|
* it the panel's first letter touched the track on the list's end edge.
|
|
125
125
|
*/
|
|
126
|
-
[data-ui
|
|
126
|
+
[data-ui-tabs][data-orientation='vertical'] {
|
|
127
127
|
/* The inset runs along the block axis, where a tab has no padding. */
|
|
128
128
|
--_marker-inset: var(--slotted-tabs-marker-inset, 0px);
|
|
129
129
|
|
|
@@ -139,7 +139,7 @@
|
|
|
139
139
|
* which is on the border box and therefore does not scroll with the tabs —
|
|
140
140
|
* a track drawn on the content would slide away with the first tab.
|
|
141
141
|
*/
|
|
142
|
-
[data-ui
|
|
142
|
+
[data-ui-tabs] > [data-part-list] {
|
|
143
143
|
align-items: stretch;
|
|
144
144
|
display: flex;
|
|
145
145
|
gap: var(--slotted-tabs-list-gap, var(--_list-gap));
|
|
@@ -166,7 +166,7 @@
|
|
|
166
166
|
scrollbar-width: thin;
|
|
167
167
|
}
|
|
168
168
|
|
|
169
|
-
[data-ui
|
|
169
|
+
[data-ui-tabs][data-overflowing] > [data-part-list] {
|
|
170
170
|
scrollbar-width: none;
|
|
171
171
|
}
|
|
172
172
|
|
|
@@ -177,7 +177,7 @@
|
|
|
177
177
|
* the padding the marker lies over the line, flush with the list's edge. The
|
|
178
178
|
* shadow is the box's, so the line does not scroll with the tabs.
|
|
179
179
|
*/
|
|
180
|
-
[data-ui
|
|
180
|
+
[data-ui-tabs][data-variant='line'][data-track='line'] > [data-part-list] {
|
|
181
181
|
/* How far the hover bar reaches past an item to stand on the track. */
|
|
182
182
|
--_track-reach: var(--_track-size);
|
|
183
183
|
|
|
@@ -206,15 +206,15 @@
|
|
|
206
206
|
* horizontal rule wants — a row of equal shares has a middle — and in a
|
|
207
207
|
* column it produces a ragged left edge nobody can scan.
|
|
208
208
|
*/
|
|
209
|
-
[data-ui
|
|
210
|
-
> :where([data-part
|
|
211
|
-
> :where([data-part
|
|
212
|
-
> [data-part
|
|
209
|
+
[data-ui-tabs][data-orientation='vertical']
|
|
210
|
+
> :where([data-part-list])
|
|
211
|
+
> :where([data-part-item])
|
|
212
|
+
> [data-part-tab] {
|
|
213
213
|
justify-content: start;
|
|
214
214
|
text-align: start;
|
|
215
215
|
}
|
|
216
216
|
|
|
217
|
-
[data-ui
|
|
217
|
+
[data-ui-tabs][data-orientation='vertical'] > [data-part-list] {
|
|
218
218
|
flex-direction: column;
|
|
219
219
|
grid-column: 1;
|
|
220
220
|
grid-row: 1;
|
|
@@ -223,15 +223,15 @@
|
|
|
223
223
|
}
|
|
224
224
|
|
|
225
225
|
/* A shadow takes no logical offset, so the line's side is mirrored by hand. */
|
|
226
|
-
[data-ui
|
|
227
|
-
> [data-part
|
|
226
|
+
[data-ui-tabs][data-orientation='vertical'][data-variant='line'][data-track='line']
|
|
227
|
+
> [data-part-list] {
|
|
228
228
|
box-shadow: inset calc(-1 * var(--_track-size)) 0 0 var(--_track-color);
|
|
229
229
|
padding-block-end: 0;
|
|
230
230
|
padding-inline-end: var(--_track-size);
|
|
231
231
|
}
|
|
232
232
|
|
|
233
|
-
[data-ui
|
|
234
|
-
> [data-part
|
|
233
|
+
[data-ui-tabs][data-orientation='vertical'][data-variant='line'][data-track='line']:dir(rtl)
|
|
234
|
+
> [data-part-list] {
|
|
235
235
|
box-shadow: inset var(--_track-size) 0 0 var(--_track-color);
|
|
236
236
|
}
|
|
237
237
|
|
|
@@ -244,7 +244,7 @@
|
|
|
244
244
|
* label is what gives way, and it is the only place a horizontal label ever
|
|
245
245
|
* truncates.
|
|
246
246
|
*/
|
|
247
|
-
[data-ui
|
|
247
|
+
[data-ui-tabs][data-fit='equal'] > [data-part-list] {
|
|
248
248
|
display: grid;
|
|
249
249
|
grid-auto-columns: minmax(0, 1fr);
|
|
250
250
|
grid-auto-flow: column;
|
|
@@ -253,15 +253,15 @@
|
|
|
253
253
|
}
|
|
254
254
|
|
|
255
255
|
/** Equal shares are shares of the line, so each item takes the one it is given. */
|
|
256
|
-
[data-ui
|
|
256
|
+
[data-ui-tabs][data-fit='equal'] > :where([data-part-list]) > [data-part-item] {
|
|
257
257
|
min-inline-size: 0;
|
|
258
258
|
}
|
|
259
259
|
|
|
260
|
-
[data-ui
|
|
261
|
-
> :where([data-part
|
|
262
|
-
> :where([data-part
|
|
263
|
-
> :where([data-part
|
|
264
|
-
> [data-part
|
|
260
|
+
[data-ui-tabs][data-fit='equal']
|
|
261
|
+
> :where([data-part-list])
|
|
262
|
+
> :where([data-part-item])
|
|
263
|
+
> :where([data-part-tab])
|
|
264
|
+
> [data-part-label] {
|
|
265
265
|
overflow: hidden;
|
|
266
266
|
text-overflow: ellipsis;
|
|
267
267
|
white-space: nowrap;
|
|
@@ -274,7 +274,7 @@
|
|
|
274
274
|
* contain a `button`: a dismissible tab needs a box for its second control.
|
|
275
275
|
* It also carries the hover bar, under the tab and not the control.
|
|
276
276
|
*/
|
|
277
|
-
[data-ui
|
|
277
|
+
[data-ui-tabs] > :where([data-part-list]) > [data-part-item] {
|
|
278
278
|
align-items: stretch;
|
|
279
279
|
display: grid;
|
|
280
280
|
grid-auto-flow: column;
|
|
@@ -288,7 +288,7 @@
|
|
|
288
288
|
position: relative;
|
|
289
289
|
}
|
|
290
290
|
|
|
291
|
-
[data-ui
|
|
291
|
+
[data-ui-tabs] > :where([data-part-list]) > :where([data-part-item]) > [data-part-tab] {
|
|
292
292
|
align-items: center;
|
|
293
293
|
appearance: none;
|
|
294
294
|
background-color: transparent;
|
|
@@ -320,10 +320,10 @@
|
|
|
320
320
|
* inset there: the control carries it instead, measured from the mark rather
|
|
321
321
|
* than from the box.
|
|
322
322
|
*/
|
|
323
|
-
[data-ui
|
|
324
|
-
> :where([data-part
|
|
325
|
-
> [data-part
|
|
326
|
-
> [data-part
|
|
323
|
+
[data-ui-tabs]
|
|
324
|
+
> :where([data-part-list])
|
|
325
|
+
> [data-part-item]:has(> [data-part-dismiss])
|
|
326
|
+
> [data-part-tab] {
|
|
327
327
|
padding-inline-end: 0;
|
|
328
328
|
}
|
|
329
329
|
|
|
@@ -333,11 +333,11 @@
|
|
|
333
333
|
* needs something to be aligned against, and a label in another script needs
|
|
334
334
|
* to read its own way inside a page that reads the other.
|
|
335
335
|
*/
|
|
336
|
-
[data-ui
|
|
337
|
-
> :where([data-part
|
|
338
|
-
> :where([data-part
|
|
339
|
-
> :where([data-part
|
|
340
|
-
> [data-part
|
|
336
|
+
[data-ui-tabs]
|
|
337
|
+
> :where([data-part-list])
|
|
338
|
+
> :where([data-part-item])
|
|
339
|
+
> :where([data-part-tab])
|
|
340
|
+
> [data-part-label] {
|
|
341
341
|
min-inline-size: 0;
|
|
342
342
|
unicode-bidi: plaintext;
|
|
343
343
|
}
|
|
@@ -349,11 +349,11 @@
|
|
|
349
349
|
* gives way. An icon box reads `--slotted-icon-size` from the slot, so it
|
|
350
350
|
* takes the tab's icon step.
|
|
351
351
|
*/
|
|
352
|
-
[data-ui
|
|
353
|
-
> :where([data-part
|
|
354
|
-
> :where([data-part
|
|
355
|
-
> :where([data-part
|
|
356
|
-
> :is([data-part
|
|
352
|
+
[data-ui-tabs]
|
|
353
|
+
> :where([data-part-list])
|
|
354
|
+
> :where([data-part-item])
|
|
355
|
+
> :where([data-part-tab])
|
|
356
|
+
> :is([data-part-start], [data-part-end]) {
|
|
357
357
|
--slotted-icon-size: var(--_icon-size);
|
|
358
358
|
|
|
359
359
|
align-items: center;
|
|
@@ -372,10 +372,10 @@
|
|
|
372
372
|
* meeting a line that runs under all of them. What that variant says on
|
|
373
373
|
* hover is where the mark would go, and it says it on the item, below.
|
|
374
374
|
*/
|
|
375
|
-
[data-ui
|
|
376
|
-
> :where([data-part
|
|
377
|
-
> :where([data-part
|
|
378
|
-
> [data-part
|
|
375
|
+
[data-ui-tabs]
|
|
376
|
+
> :where([data-part-list])
|
|
377
|
+
> :where([data-part-item])
|
|
378
|
+
> [data-part-tab]:not(:disabled):not([aria-selected='true']):hover {
|
|
379
379
|
color: var(--slotted-tabs-hover-color, var(--slotted-text, CanvasText));
|
|
380
380
|
}
|
|
381
381
|
|
|
@@ -385,20 +385,20 @@
|
|
|
385
385
|
* and goes one step further on press is what a segmented control does —
|
|
386
386
|
* the fill has a box to belong to and no line to meet.
|
|
387
387
|
*/
|
|
388
|
-
[data-ui
|
|
389
|
-
> :where([data-part
|
|
390
|
-
> :where([data-part
|
|
391
|
-
> [data-part
|
|
388
|
+
[data-ui-tabs][data-variant='contained']
|
|
389
|
+
> :where([data-part-list])
|
|
390
|
+
> :where([data-part-item])
|
|
391
|
+
> [data-part-tab]:not(:disabled):not([aria-selected='true']):hover {
|
|
392
392
|
background-color: var(
|
|
393
393
|
--slotted-tabs-hover-background,
|
|
394
394
|
var(--slotted-tone-secondary-subtle-hover)
|
|
395
395
|
);
|
|
396
396
|
}
|
|
397
397
|
|
|
398
|
-
[data-ui
|
|
399
|
-
> :where([data-part
|
|
400
|
-
> :where([data-part
|
|
401
|
-
> [data-part
|
|
398
|
+
[data-ui-tabs][data-variant='contained']
|
|
399
|
+
> :where([data-part-list])
|
|
400
|
+
> :where([data-part-item])
|
|
401
|
+
> [data-part-tab]:not(:disabled):active {
|
|
402
402
|
background-color: var(
|
|
403
403
|
--slotted-tabs-active-background,
|
|
404
404
|
var(--slotted-tone-secondary-subtle-active)
|
|
@@ -416,10 +416,10 @@
|
|
|
416
416
|
* focus became one blue shape that said neither of the two things — the
|
|
417
417
|
* capture is what showed it.
|
|
418
418
|
*/
|
|
419
|
-
[data-ui
|
|
420
|
-
> :where([data-part
|
|
421
|
-
> :where([data-part
|
|
422
|
-
> [data-part
|
|
419
|
+
[data-ui-tabs]
|
|
420
|
+
> :where([data-part-list])
|
|
421
|
+
> :where([data-part-item])
|
|
422
|
+
> [data-part-tab]:focus-visible {
|
|
423
423
|
outline: var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);
|
|
424
424
|
outline-offset: calc(-1 * (var(--slotted-focus-ring-offset, 2px) + var(--_marker-size)));
|
|
425
425
|
}
|
|
@@ -430,25 +430,19 @@
|
|
|
430
430
|
* and nothing about it reaches the edge the scroller clips at — and an inset
|
|
431
431
|
* ring on a twenty-four pixel box would be drawn through the mark.
|
|
432
432
|
*/
|
|
433
|
-
[data-ui
|
|
434
|
-
> :where([data-part
|
|
435
|
-
> :where([data-part
|
|
436
|
-
> [data-part
|
|
433
|
+
[data-ui-tabs]
|
|
434
|
+
> :where([data-part-list])
|
|
435
|
+
> :where([data-part-item])
|
|
436
|
+
> [data-part-dismiss]:focus-visible {
|
|
437
437
|
outline: var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);
|
|
438
438
|
outline-offset: var(--slotted-focus-ring-offset, 2px);
|
|
439
439
|
}
|
|
440
440
|
|
|
441
|
-
[data-ui
|
|
442
|
-
> :where([data-part='list'])
|
|
443
|
-
> [data-part='item'][data-selected]
|
|
444
|
-
> [data-part='tab'] {
|
|
441
|
+
[data-ui-tabs] > :where([data-part-list]) > [data-part-item][data-selected] > [data-part-tab] {
|
|
445
442
|
color: var(--slotted-tabs-selected-color, var(--slotted-tone-accent-text));
|
|
446
443
|
}
|
|
447
444
|
|
|
448
|
-
[data-ui
|
|
449
|
-
> :where([data-part='list'])
|
|
450
|
-
> :where([data-part='item'])
|
|
451
|
-
> [data-part='tab']:disabled {
|
|
445
|
+
[data-ui-tabs] > :where([data-part-list]) > :where([data-part-item]) > [data-part-tab]:disabled {
|
|
452
446
|
color: var(--slotted-disabled-foreground, GrayText);
|
|
453
447
|
cursor: not-allowed;
|
|
454
448
|
}
|
|
@@ -469,9 +463,13 @@
|
|
|
469
463
|
* end padding, so the end inset is nought there. Below the width of a short
|
|
470
464
|
* label it keeps a minimum length, centred on the content. It stands
|
|
471
465
|
* `--slotted-tabs-marker-offset` above the list's edge, over the track, and the axes are physical in this one rule
|
|
472
|
-
* because the measurement is: the
|
|
466
|
+
* because the measurement is: the position is from the list's left edge.
|
|
467
|
+
* Position and length are both layout properties, so one thread advances
|
|
468
|
+
* both edges in the same frame: a composited `translate` beside a
|
|
469
|
+
* main-thread `inline-size` drifted apart while the panel rendered, and the
|
|
470
|
+
* bar grew and shrank on its way between tabs of unequal widths.
|
|
473
471
|
*/
|
|
474
|
-
[data-ui
|
|
472
|
+
[data-ui-tabs] > :where([data-part-list]) > [data-part-marker] {
|
|
475
473
|
--_start-inset: var(--_marker-inset);
|
|
476
474
|
--_end-inset: var(--_marker-inset);
|
|
477
475
|
--_left-inset: var(--_start-inset);
|
|
@@ -483,26 +481,24 @@
|
|
|
483
481
|
border-radius: var(--_marker-radius);
|
|
484
482
|
inline-size: var(--_length);
|
|
485
483
|
inset-block-end: calc(var(--_marker-lift, 0px) + var(--_marker-offset));
|
|
486
|
-
left:
|
|
484
|
+
left: calc(
|
|
485
|
+
var(--_indicator-start, 0px) + var(--_left-inset) + (var(--_span) - var(--_length)) / 2
|
|
486
|
+
);
|
|
487
487
|
pointer-events: none;
|
|
488
488
|
position: absolute;
|
|
489
|
-
translate: calc(
|
|
490
|
-
var(--_indicator-start, 0px) + var(--_left-inset) + (var(--_span) - var(--_length)) / 2
|
|
491
|
-
)
|
|
492
|
-
0;
|
|
493
489
|
}
|
|
494
490
|
|
|
495
|
-
[data-ui
|
|
491
|
+
[data-ui-tabs]:dir(rtl) > :where([data-part-list]) > [data-part-marker] {
|
|
496
492
|
--_left-inset: var(--_end-inset);
|
|
497
493
|
}
|
|
498
494
|
|
|
499
|
-
[data-ui
|
|
500
|
-
> [data-part
|
|
501
|
-
> [data-part
|
|
495
|
+
[data-ui-tabs]:not([data-orientation='vertical'])
|
|
496
|
+
> [data-part-list]:has(> [data-part-item][data-selected] > [data-part-dismiss])
|
|
497
|
+
> [data-part-marker] {
|
|
502
498
|
--_end-inset: 0px;
|
|
503
499
|
}
|
|
504
500
|
|
|
505
|
-
[data-ui
|
|
501
|
+
[data-ui-tabs] > :where([data-part-list]) > [data-part-marker][hidden] {
|
|
506
502
|
display: none;
|
|
507
503
|
}
|
|
508
504
|
|
|
@@ -516,17 +512,18 @@
|
|
|
516
512
|
* distance in its first frame and read as a jump. Under reduced motion it
|
|
517
513
|
* jumps.
|
|
518
514
|
*/
|
|
519
|
-
[data-ui
|
|
515
|
+
[data-ui-tabs] > :where([data-part-list]) > [data-part-marker][data-moving] {
|
|
520
516
|
--_marker-easing: var(--slotted-tabs-marker-easing, cubic-bezier(0.4, 0, 0.2, 1));
|
|
521
517
|
|
|
522
518
|
transition:
|
|
523
|
-
|
|
519
|
+
left var(--slotted-duration-medium) var(--_marker-easing),
|
|
520
|
+
top var(--slotted-duration-medium) var(--_marker-easing),
|
|
524
521
|
inline-size var(--slotted-duration-medium) var(--_marker-easing),
|
|
525
522
|
block-size var(--slotted-duration-medium) var(--_marker-easing);
|
|
526
523
|
}
|
|
527
524
|
|
|
528
525
|
@media (prefers-reduced-motion: reduce) {
|
|
529
|
-
[data-ui
|
|
526
|
+
[data-ui-tabs] > :where([data-part-list]) > [data-part-marker][data-moving] {
|
|
530
527
|
transition: none;
|
|
531
528
|
}
|
|
532
529
|
}
|
|
@@ -540,7 +537,7 @@
|
|
|
540
537
|
* stops at the tab where a closing control follows: that control is the
|
|
541
538
|
* tab's inline padding on either side of the glyph.
|
|
542
539
|
*/
|
|
543
|
-
[data-ui
|
|
540
|
+
[data-ui-tabs] > :where([data-part-list]) > [data-part-item]::before {
|
|
544
541
|
background-color: var(--slotted-tabs-hover-marker-color, var(--slotted-border-strong));
|
|
545
542
|
block-size: var(--_marker-size);
|
|
546
543
|
border-radius: var(--_marker-radius);
|
|
@@ -557,26 +554,22 @@
|
|
|
557
554
|
opacity var(--slotted-control-transition-duration) var(--slotted-control-transition-easing);
|
|
558
555
|
}
|
|
559
556
|
|
|
560
|
-
[data-ui
|
|
561
|
-
> :where([data-part
|
|
562
|
-
> [data-part
|
|
557
|
+
[data-ui-tabs]:not([data-orientation='vertical'])
|
|
558
|
+
> :where([data-part-list])
|
|
559
|
+
> [data-part-item]:has(> [data-part-dismiss])::before {
|
|
563
560
|
inset-inline-end: calc(2 * var(--_padding-inline) + var(--_icon-size));
|
|
564
561
|
}
|
|
565
562
|
|
|
566
|
-
[data-ui
|
|
567
|
-
> :where([data-part
|
|
568
|
-
> [data-part
|
|
569
|
-
> [data-part='tab']:not(:disabled):hover
|
|
570
|
-
)::before {
|
|
563
|
+
[data-ui-tabs][data-variant='line']
|
|
564
|
+
> :where([data-part-list])
|
|
565
|
+
> [data-part-item]:not([data-selected]):has(> [data-part-tab]:not(:disabled):hover)::before {
|
|
571
566
|
opacity: var(--slotted-tabs-hover-marker-opacity, 0.5);
|
|
572
567
|
}
|
|
573
568
|
|
|
574
569
|
/** Press takes the bar to the label's own ink: the two say one thing. */
|
|
575
|
-
[data-ui
|
|
576
|
-
> :where([data-part
|
|
577
|
-
> [data-part
|
|
578
|
-
> [data-part='tab']:not(:disabled):active
|
|
579
|
-
)::before {
|
|
570
|
+
[data-ui-tabs][data-variant='line']
|
|
571
|
+
> :where([data-part-list])
|
|
572
|
+
> [data-part-item]:not([data-selected]):has(> [data-part-tab]:not(:disabled):active)::before {
|
|
580
573
|
background-color: var(--slotted-tabs-active-marker-color, var(--slotted-text));
|
|
581
574
|
}
|
|
582
575
|
|
|
@@ -585,20 +578,19 @@
|
|
|
585
578
|
* the block axis, where the inset defaults to nought because a tab has no
|
|
586
579
|
* block padding.
|
|
587
580
|
*/
|
|
588
|
-
[data-ui
|
|
589
|
-
> :where([data-part='list'])
|
|
590
|
-
> [data-part='marker'] {
|
|
581
|
+
[data-ui-tabs][data-orientation='vertical'] > :where([data-part-list]) > [data-part-marker] {
|
|
591
582
|
block-size: var(--_length);
|
|
592
583
|
inline-size: var(--_marker-size);
|
|
593
|
-
inset-block:
|
|
584
|
+
inset-block: calc(
|
|
585
|
+
var(--_indicator-start, 0px) + var(--_start-inset) + (var(--_span) - var(--_length)) / 2
|
|
586
|
+
)
|
|
587
|
+
auto;
|
|
594
588
|
inset-inline: auto calc(var(--_marker-lift, 0px) + var(--_marker-offset));
|
|
595
|
-
translate: 0
|
|
596
|
-
calc(var(--_indicator-start, 0px) + var(--_start-inset) + (var(--_span) - var(--_length)) / 2);
|
|
597
589
|
}
|
|
598
590
|
|
|
599
|
-
[data-ui
|
|
600
|
-
> :where([data-part
|
|
601
|
-
> [data-part
|
|
591
|
+
[data-ui-tabs][data-orientation='vertical']
|
|
592
|
+
> :where([data-part-list])
|
|
593
|
+
> [data-part-item]::before {
|
|
602
594
|
block-size: auto;
|
|
603
595
|
inline-size: var(--_marker-size);
|
|
604
596
|
inset-block: var(--_marker-inset);
|
|
@@ -622,7 +614,7 @@
|
|
|
622
614
|
* the first capture showed; the `line` variant keeps the full width, because
|
|
623
615
|
* there the track is the edge of the panel below it.
|
|
624
616
|
*/
|
|
625
|
-
[data-ui
|
|
617
|
+
[data-ui-tabs][data-variant='contained'] > [data-part-list] {
|
|
626
618
|
/* The marker underlines the label inside the selected surface, a step above its edge. */
|
|
627
619
|
--_marker-lift: calc(2 * var(--slotted-space-1, 0.125rem));
|
|
628
620
|
|
|
@@ -633,15 +625,15 @@
|
|
|
633
625
|
padding: var(--slotted-space-1, 0.125rem);
|
|
634
626
|
}
|
|
635
627
|
|
|
636
|
-
[data-ui
|
|
628
|
+
[data-ui-tabs][data-variant='contained'] > :where([data-part-list]) > [data-part-item] {
|
|
637
629
|
border-radius: var(--slotted-radius-sm, 4px);
|
|
638
630
|
transition: background-color var(--slotted-control-transition-duration)
|
|
639
631
|
var(--slotted-control-transition-easing);
|
|
640
632
|
}
|
|
641
633
|
|
|
642
|
-
[data-ui
|
|
643
|
-
> :where([data-part
|
|
644
|
-
> [data-part
|
|
634
|
+
[data-ui-tabs][data-variant='contained']
|
|
635
|
+
> :where([data-part-list])
|
|
636
|
+
> [data-part-item][data-selected] {
|
|
645
637
|
background-color: var(--slotted-tabs-contained-selected-background, var(--slotted-surface));
|
|
646
638
|
box-shadow: var(--slotted-shadow-xs);
|
|
647
639
|
}
|
|
@@ -664,10 +656,7 @@
|
|
|
664
656
|
* Neutral, as the dialog's close and the paging controls: removing a tab
|
|
665
657
|
* closes a view and destroys nothing, so the danger tone overstated it.
|
|
666
658
|
*/
|
|
667
|
-
[data-ui
|
|
668
|
-
> :where([data-part='list'])
|
|
669
|
-
> :where([data-part='item'])
|
|
670
|
-
> [data-part='dismiss'] {
|
|
659
|
+
[data-ui-tabs] > :where([data-part-list]) > :where([data-part-item]) > [data-part-dismiss] {
|
|
671
660
|
--slotted-icon-size: var(--_icon-size);
|
|
672
661
|
|
|
673
662
|
align-items: center;
|
|
@@ -696,27 +685,24 @@
|
|
|
696
685
|
is the one a mouse sees: a transparent box centred on the control reaches
|
|
697
686
|
44 pixels, and the ground and the ring stay square. */
|
|
698
687
|
@media (pointer: coarse) {
|
|
699
|
-
[data-ui
|
|
700
|
-
> :where([data-part='list'])
|
|
701
|
-
> :where([data-part='item'])
|
|
702
|
-
> [data-part='dismiss'] {
|
|
688
|
+
[data-ui-tabs] > :where([data-part-list]) > :where([data-part-item]) > [data-part-dismiss] {
|
|
703
689
|
position: relative;
|
|
704
690
|
}
|
|
705
691
|
|
|
706
|
-
[data-ui
|
|
707
|
-
> :where([data-part
|
|
708
|
-
> :where([data-part
|
|
709
|
-
> [data-part
|
|
692
|
+
[data-ui-tabs]
|
|
693
|
+
> :where([data-part-list])
|
|
694
|
+
> :where([data-part-item])
|
|
695
|
+
> [data-part-dismiss]::after {
|
|
710
696
|
content: '';
|
|
711
697
|
inset: min(0px, calc((100% - var(--slotted-target-comfortable, 44px)) / 2));
|
|
712
698
|
position: absolute;
|
|
713
699
|
}
|
|
714
700
|
}
|
|
715
701
|
|
|
716
|
-
[data-ui
|
|
717
|
-
> :where([data-part
|
|
718
|
-
> :where([data-part
|
|
719
|
-
> [data-part
|
|
702
|
+
[data-ui-tabs]
|
|
703
|
+
> :where([data-part-list])
|
|
704
|
+
> :where([data-part-item])
|
|
705
|
+
> [data-part-dismiss]:not(:disabled):hover {
|
|
720
706
|
background-color: var(
|
|
721
707
|
--slotted-tabs-dismiss-hover-background,
|
|
722
708
|
var(--slotted-tone-secondary-subtle-hover)
|
|
@@ -724,10 +710,10 @@
|
|
|
724
710
|
color: var(--slotted-tabs-dismiss-hover-color, var(--slotted-text, CanvasText));
|
|
725
711
|
}
|
|
726
712
|
|
|
727
|
-
[data-ui
|
|
728
|
-
> :where([data-part
|
|
729
|
-
> :where([data-part
|
|
730
|
-
> [data-part
|
|
713
|
+
[data-ui-tabs]
|
|
714
|
+
> :where([data-part-list])
|
|
715
|
+
> :where([data-part-item])
|
|
716
|
+
> [data-part-dismiss]:not(:disabled):active {
|
|
731
717
|
background-color: var(
|
|
732
718
|
--slotted-tabs-dismiss-active-background,
|
|
733
719
|
var(--slotted-tone-secondary-subtle-active)
|
|
@@ -735,10 +721,10 @@
|
|
|
735
721
|
color: var(--slotted-tabs-dismiss-active-color, var(--slotted-text, CanvasText));
|
|
736
722
|
}
|
|
737
723
|
|
|
738
|
-
[data-ui
|
|
739
|
-
> :where([data-part
|
|
740
|
-
> :where([data-part
|
|
741
|
-
> [data-part
|
|
724
|
+
[data-ui-tabs]
|
|
725
|
+
> :where([data-part-list])
|
|
726
|
+
> :where([data-part-item])
|
|
727
|
+
> [data-part-dismiss]:disabled {
|
|
742
728
|
color: var(--slotted-disabled-foreground, GrayText);
|
|
743
729
|
cursor: not-allowed;
|
|
744
730
|
}
|
|
@@ -761,7 +747,7 @@
|
|
|
761
747
|
* list as they move, and Cloudscape's own guidance warns against extra
|
|
762
748
|
* stops before a tab list.
|
|
763
749
|
*/
|
|
764
|
-
[data-ui
|
|
750
|
+
[data-ui-tabs] > [data-part-scroll] {
|
|
765
751
|
--slotted-icon-size: var(--_icon-size);
|
|
766
752
|
|
|
767
753
|
align-items: center;
|
|
@@ -793,31 +779,30 @@
|
|
|
793
779
|
* is read from the control itself — a paging control at its end is
|
|
794
780
|
* disabled — so the family needs no second signal for it.
|
|
795
781
|
*/
|
|
796
|
-
[data-ui
|
|
797
|
-
> [data-part
|
|
782
|
+
[data-ui-tabs]:has(> [data-part-scroll][data-direction='start']:not(:disabled))
|
|
783
|
+
> [data-part-list] {
|
|
798
784
|
mask-image: linear-gradient(to right, transparent, black var(--_fade));
|
|
799
785
|
}
|
|
800
786
|
|
|
801
|
-
[data-ui
|
|
802
|
-
> [data-part='list'] {
|
|
787
|
+
[data-ui-tabs]:has(> [data-part-scroll][data-direction='end']:not(:disabled)) > [data-part-list] {
|
|
803
788
|
mask-image: linear-gradient(to left, transparent, black var(--_fade));
|
|
804
789
|
}
|
|
805
790
|
|
|
806
791
|
/* The start edge is the right one in a right-to-left document. */
|
|
807
|
-
[data-ui
|
|
808
|
-
> [data-part
|
|
792
|
+
[data-ui-tabs]:dir(rtl):has(> [data-part-scroll][data-direction='start']:not(:disabled))
|
|
793
|
+
> [data-part-list] {
|
|
809
794
|
mask-image: linear-gradient(to left, transparent, black var(--_fade));
|
|
810
795
|
}
|
|
811
796
|
|
|
812
|
-
[data-ui
|
|
813
|
-
> [data-part
|
|
797
|
+
[data-ui-tabs]:dir(rtl):has(> [data-part-scroll][data-direction='end']:not(:disabled))
|
|
798
|
+
> [data-part-list] {
|
|
814
799
|
mask-image: linear-gradient(to right, transparent, black var(--_fade));
|
|
815
800
|
}
|
|
816
801
|
|
|
817
|
-
[data-ui
|
|
818
|
-
> [data-part
|
|
802
|
+
[data-ui-tabs]:has(> [data-part-scroll][data-direction='start']:not(:disabled)):has(
|
|
803
|
+
> [data-part-scroll][data-direction='end']:not(:disabled)
|
|
819
804
|
)
|
|
820
|
-
> [data-part
|
|
805
|
+
> [data-part-list] {
|
|
821
806
|
mask-image: linear-gradient(
|
|
822
807
|
to right,
|
|
823
808
|
transparent,
|
|
@@ -831,19 +816,19 @@
|
|
|
831
816
|
for both axes. As wide as its glyph and as tall as the row, it stood 24
|
|
832
817
|
wide and 44 tall beside tabs grown to the comfortable height. */
|
|
833
818
|
@media (pointer: coarse) {
|
|
834
|
-
[data-ui
|
|
819
|
+
[data-ui-tabs] > [data-part-scroll] {
|
|
835
820
|
min-block-size: max(var(--slotted-target-comfortable, 44px), var(--_height));
|
|
836
821
|
min-inline-size: max(var(--slotted-target-comfortable, 44px), var(--_height));
|
|
837
822
|
}
|
|
838
823
|
}
|
|
839
824
|
|
|
840
|
-
[data-ui
|
|
825
|
+
[data-ui-tabs] > [data-part-scroll][data-direction='start'] {
|
|
841
826
|
grid-column: 1;
|
|
842
827
|
grid-row: 1;
|
|
843
828
|
margin-inline-end: var(--slotted-tabs-actions-gap, var(--slotted-space-4, 0.5rem));
|
|
844
829
|
}
|
|
845
830
|
|
|
846
|
-
[data-ui
|
|
831
|
+
[data-ui-tabs] > [data-part-scroll][data-direction='end'] {
|
|
847
832
|
grid-column: 3;
|
|
848
833
|
margin-inline-start: var(--slotted-tabs-actions-gap, var(--slotted-space-4, 0.5rem));
|
|
849
834
|
grid-row: 1;
|
|
@@ -858,26 +843,26 @@
|
|
|
858
843
|
* own mirror holds: the two compose, so the start control points back in
|
|
859
844
|
* both directions.
|
|
860
845
|
*/
|
|
861
|
-
[data-ui
|
|
846
|
+
[data-ui-tabs] > [data-part-scroll][data-direction='start'] > [data-ui-icon] {
|
|
862
847
|
rotate: 0.5turn;
|
|
863
848
|
}
|
|
864
849
|
|
|
865
850
|
/* The ground moves under the pointer and nothing else does (R2). */
|
|
866
|
-
[data-ui
|
|
851
|
+
[data-ui-tabs] > [data-part-scroll]:not(:disabled):hover {
|
|
867
852
|
background-color: var(
|
|
868
853
|
--slotted-tabs-hover-background,
|
|
869
854
|
var(--slotted-tone-secondary-subtle-hover)
|
|
870
855
|
);
|
|
871
856
|
}
|
|
872
857
|
|
|
873
|
-
[data-ui
|
|
858
|
+
[data-ui-tabs] > [data-part-scroll]:not(:disabled):active {
|
|
874
859
|
background-color: var(
|
|
875
860
|
--slotted-tabs-active-background,
|
|
876
861
|
var(--slotted-tone-secondary-subtle-active)
|
|
877
862
|
);
|
|
878
863
|
}
|
|
879
864
|
|
|
880
|
-
[data-ui
|
|
865
|
+
[data-ui-tabs] > [data-part-scroll]:focus-visible {
|
|
881
866
|
outline: var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);
|
|
882
867
|
outline-offset: calc(-1 * var(--slotted-focus-ring-width, 2px));
|
|
883
868
|
}
|
|
@@ -888,18 +873,18 @@
|
|
|
888
873
|
* not removed — so the list never moves under the pointer that is using
|
|
889
874
|
* the other one.
|
|
890
875
|
*/
|
|
891
|
-
[data-ui
|
|
876
|
+
[data-ui-tabs] > [data-part-scroll]:disabled {
|
|
892
877
|
cursor: default;
|
|
893
878
|
visibility: hidden;
|
|
894
879
|
}
|
|
895
880
|
|
|
896
|
-
[data-ui
|
|
881
|
+
[data-ui-tabs][data-orientation='vertical'] > [data-part-scroll] {
|
|
897
882
|
display: none;
|
|
898
883
|
}
|
|
899
884
|
|
|
900
885
|
/* ── Actions, and the panels ──────────────────────────────────────────── */
|
|
901
886
|
|
|
902
|
-
[data-ui
|
|
887
|
+
[data-ui-tabs] > [data-part-actions] {
|
|
903
888
|
align-items: center;
|
|
904
889
|
align-self: center;
|
|
905
890
|
display: flex;
|
|
@@ -909,7 +894,7 @@
|
|
|
909
894
|
min-inline-size: 0;
|
|
910
895
|
}
|
|
911
896
|
|
|
912
|
-
[data-ui
|
|
897
|
+
[data-ui-tabs][data-orientation='vertical'] > [data-part-actions] {
|
|
913
898
|
grid-column: 1;
|
|
914
899
|
grid-row: 2;
|
|
915
900
|
}
|
|
@@ -928,14 +913,14 @@
|
|
|
928
913
|
* their own element, which is one declaration against a layout that
|
|
929
914
|
* otherwise breaks for every reader on a narrow screen.
|
|
930
915
|
*/
|
|
931
|
-
[data-ui
|
|
916
|
+
[data-ui-tabs] > [data-part-panel] {
|
|
932
917
|
grid-column: 1 / -1;
|
|
933
918
|
grid-row: 2;
|
|
934
919
|
min-inline-size: 0;
|
|
935
920
|
overflow-wrap: anywhere;
|
|
936
921
|
}
|
|
937
922
|
|
|
938
|
-
[data-ui
|
|
923
|
+
[data-ui-tabs][data-orientation='vertical'] > [data-part-panel] {
|
|
939
924
|
grid-column: 2;
|
|
940
925
|
grid-row: 1 / -1;
|
|
941
926
|
}
|
|
@@ -946,7 +931,7 @@
|
|
|
946
931
|
* than relied on. It is the attribute and not a class because a screen
|
|
947
932
|
* reader, find-in-page and `:target` all already understand it.
|
|
948
933
|
*/
|
|
949
|
-
[data-ui
|
|
934
|
+
[data-ui-tabs] > [data-part-panel][hidden] {
|
|
950
935
|
display: none;
|
|
951
936
|
}
|
|
952
937
|
|
|
@@ -956,7 +941,7 @@
|
|
|
956
941
|
* own content and has no padding of its own, so an inset ring is drawn
|
|
957
942
|
* through the first line of it.
|
|
958
943
|
*/
|
|
959
|
-
[data-ui
|
|
944
|
+
[data-ui-tabs] > [data-part-panel]:focus-visible {
|
|
960
945
|
outline: var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);
|
|
961
946
|
outline-offset: var(--slotted-focus-ring-offset, 2px);
|
|
962
947
|
}
|
|
@@ -969,7 +954,7 @@
|
|
|
969
954
|
* panel instead, which needs a clipping viewport that traps horizontal
|
|
970
955
|
* scrolling and fights the list's own scroll.
|
|
971
956
|
*/
|
|
972
|
-
[data-ui
|
|
957
|
+
[data-ui-tabs] > [data-part-panel]:not([hidden]) {
|
|
973
958
|
animation: slotted-tabs-panel-in var(--slotted-duration-short) var(--slotted-easing-enter);
|
|
974
959
|
}
|
|
975
960
|
|
|
@@ -987,11 +972,11 @@
|
|
|
987
972
|
* adds is the track: a disabled family should not read as a live one with
|
|
988
973
|
* grey labels.
|
|
989
974
|
*/
|
|
990
|
-
[data-ui
|
|
975
|
+
[data-ui-tabs][data-disabled] {
|
|
991
976
|
--_track-color: var(--slotted-disabled-border, GrayText);
|
|
992
977
|
}
|
|
993
978
|
|
|
994
|
-
[data-ui
|
|
979
|
+
[data-ui-tabs][data-disabled][data-variant='contained'] > [data-part-list] {
|
|
995
980
|
background-color: var(--slotted-disabled-background, Canvas);
|
|
996
981
|
}
|
|
997
982
|
|
|
@@ -1000,7 +985,7 @@
|
|
|
1000
985
|
* decoration in an unthemed page should disappear rather than shout, and a
|
|
1001
986
|
* marker painted `GrayText` with no theme would be the loudest thing on it.
|
|
1002
987
|
*/
|
|
1003
|
-
[data-ui
|
|
988
|
+
[data-ui-tabs][data-disabled] > :where([data-part-list]) > [data-part-marker] {
|
|
1004
989
|
background-color: var(--slotted-disabled-border);
|
|
1005
990
|
}
|
|
1006
991
|
|
|
@@ -1014,27 +999,27 @@
|
|
|
1014
999
|
*/
|
|
1015
1000
|
@media (forced-colors: active) {
|
|
1016
1001
|
/* A shadow is not drawn under forced colours: the track is a border again. */
|
|
1017
|
-
[data-ui
|
|
1002
|
+
[data-ui-tabs][data-variant='line'][data-track='line'] > [data-part-list] {
|
|
1018
1003
|
border-block-end: var(--_track-size) solid CanvasText;
|
|
1019
1004
|
padding-block-end: 0;
|
|
1020
1005
|
}
|
|
1021
1006
|
|
|
1022
|
-
[data-ui
|
|
1023
|
-
> [data-part
|
|
1007
|
+
[data-ui-tabs][data-orientation='vertical'][data-variant='line'][data-track='line']
|
|
1008
|
+
> [data-part-list] {
|
|
1024
1009
|
border-block-end: 0;
|
|
1025
1010
|
border-inline-end: var(--_track-size) solid CanvasText;
|
|
1026
1011
|
padding-inline-end: 0;
|
|
1027
1012
|
}
|
|
1028
1013
|
|
|
1029
1014
|
/* The marker's ground would flatten to Canvas with every other ground. */
|
|
1030
|
-
[data-ui
|
|
1015
|
+
[data-ui-tabs] > :where([data-part-list]) > [data-part-marker] {
|
|
1031
1016
|
background-color: Highlight;
|
|
1032
1017
|
forced-color-adjust: none;
|
|
1033
1018
|
}
|
|
1034
1019
|
|
|
1035
|
-
[data-ui
|
|
1036
|
-
> :where([data-part
|
|
1037
|
-
> [data-part
|
|
1020
|
+
[data-ui-tabs][data-variant='contained']
|
|
1021
|
+
> :where([data-part-list])
|
|
1022
|
+
> [data-part-item][data-selected] {
|
|
1038
1023
|
border: var(--slotted-border-width-thin, 1px) solid Highlight;
|
|
1039
1024
|
}
|
|
1040
1025
|
}
|