@slotted/styles 0.1.0-beta.8 → 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 +300 -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 +143 -162
- 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
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
* the name that says so, which is the convention `docs/build-briefing.md`
|
|
42
42
|
* sets. They are not design tokens and no theme writes them.
|
|
43
43
|
*/
|
|
44
|
-
[data-ui
|
|
44
|
+
[data-ui-segmented-control][data-part-root] {
|
|
45
45
|
--_count: var(--slotted-segmented-control-count, 1);
|
|
46
46
|
--_index: var(--slotted-segmented-control-index, 0);
|
|
47
47
|
--_height: var(--slotted-control-height-md, 34px);
|
|
@@ -112,13 +112,13 @@
|
|
|
112
112
|
position: relative;
|
|
113
113
|
}
|
|
114
114
|
|
|
115
|
-
[data-ui
|
|
115
|
+
[data-ui-segmented-control][data-part-root]:empty {
|
|
116
116
|
display: none;
|
|
117
117
|
}
|
|
118
118
|
|
|
119
119
|
/* ── Size ─────────────────────────────────────────────────────────────── */
|
|
120
120
|
|
|
121
|
-
[data-ui
|
|
121
|
+
[data-ui-segmented-control][data-part-root][data-size='sm'] {
|
|
122
122
|
--_height: var(--slotted-control-height-sm, 30px);
|
|
123
123
|
--_padding-inline: var(--slotted-control-padding-inline-sm, 10px);
|
|
124
124
|
--_font-size: var(--slotted-control-font-size-sm, 12px);
|
|
@@ -126,7 +126,7 @@
|
|
|
126
126
|
--_gap: var(--slotted-control-gap-sm, 6px);
|
|
127
127
|
}
|
|
128
128
|
|
|
129
|
-
[data-ui
|
|
129
|
+
[data-ui-segmented-control][data-part-root][data-size='lg'] {
|
|
130
130
|
--_height: var(--slotted-control-height-lg, 38px);
|
|
131
131
|
--_padding-inline: var(--slotted-control-padding-inline-lg, 16px);
|
|
132
132
|
--_font-size: var(--slotted-control-font-size-lg, 14px);
|
|
@@ -136,13 +136,13 @@
|
|
|
136
136
|
|
|
137
137
|
/* ── Orientation and width ────────────────────────────────────────────── */
|
|
138
138
|
|
|
139
|
-
[data-ui
|
|
139
|
+
[data-ui-segmented-control][data-part-root][data-orientation='vertical'] {
|
|
140
140
|
grid-auto-columns: auto;
|
|
141
141
|
grid-auto-flow: row;
|
|
142
142
|
grid-auto-rows: minmax(0, 1fr);
|
|
143
143
|
}
|
|
144
144
|
|
|
145
|
-
[data-ui
|
|
145
|
+
[data-ui-segmented-control][data-part-root][data-full-width] {
|
|
146
146
|
display: grid;
|
|
147
147
|
inline-size: 100%;
|
|
148
148
|
}
|
|
@@ -164,7 +164,7 @@
|
|
|
164
164
|
* words at a width it chose for itself is a question with no answer — it
|
|
165
165
|
* chose a width that fits them.
|
|
166
166
|
*/
|
|
167
|
-
[data-ui
|
|
167
|
+
[data-ui-segmented-control][data-part-root][data-condense='icons'] {
|
|
168
168
|
container-name: slotted-segmented-control;
|
|
169
169
|
container-type: inline-size;
|
|
170
170
|
display: grid;
|
|
@@ -173,7 +173,7 @@
|
|
|
173
173
|
|
|
174
174
|
/* ── The segment ──────────────────────────────────────────────────────── */
|
|
175
175
|
|
|
176
|
-
[data-ui
|
|
176
|
+
[data-ui-segmented-control] [data-part-item] {
|
|
177
177
|
align-items: center;
|
|
178
178
|
block-size: var(--_inner);
|
|
179
179
|
border-radius: var(--_thumb-radius);
|
|
@@ -218,7 +218,7 @@
|
|
|
218
218
|
}
|
|
219
219
|
|
|
220
220
|
/** The hover and press ground, under the thumb; see the segment above. */
|
|
221
|
-
[data-ui
|
|
221
|
+
[data-ui-segmented-control] [data-part-item]::after {
|
|
222
222
|
background: transparent;
|
|
223
223
|
border-radius: inherit;
|
|
224
224
|
content: '';
|
|
@@ -231,11 +231,11 @@
|
|
|
231
231
|
|
|
232
232
|
/* An empty label is no label: a binding that always renders the span must
|
|
233
233
|
not leave a flex gap after the icon of a segment without words. */
|
|
234
|
-
[data-ui
|
|
234
|
+
[data-ui-segmented-control] [data-part-item]:not(:has([data-part-label]:not(:empty))) {
|
|
235
235
|
padding-inline: 0;
|
|
236
236
|
}
|
|
237
237
|
|
|
238
|
-
[data-ui
|
|
238
|
+
[data-ui-segmented-control] [data-part-label]:empty {
|
|
239
239
|
display: none;
|
|
240
240
|
}
|
|
241
241
|
|
|
@@ -254,7 +254,7 @@
|
|
|
254
254
|
* ground would otherwise meet it. It lies under the thumb, so a thumb that
|
|
255
255
|
* crosses it while sliding passes over it.
|
|
256
256
|
*/
|
|
257
|
-
[data-ui
|
|
257
|
+
[data-ui-segmented-control] [data-part-item] + [data-part-item]::before {
|
|
258
258
|
/* No system colour behind it: an unthemed decoration disappears rather
|
|
259
259
|
than shouting, which is what `fallbacks.test.mjs` holds a pseudo-element
|
|
260
260
|
to. In forced colours the thumb's own edge is what divides. */
|
|
@@ -272,22 +272,22 @@
|
|
|
272
272
|
z-index: -1;
|
|
273
273
|
}
|
|
274
274
|
|
|
275
|
-
[data-ui
|
|
276
|
-
[data-part
|
|
277
|
-
+ [data-part
|
|
275
|
+
[data-ui-segmented-control][data-part-root][data-orientation='vertical']
|
|
276
|
+
[data-part-item]
|
|
277
|
+
+ [data-part-item]::before {
|
|
278
278
|
block-size: var(--_border-width);
|
|
279
279
|
inline-size: auto;
|
|
280
280
|
inset-block: calc((var(--_spacing) + var(--_border-width)) / -2) auto;
|
|
281
281
|
inset-inline: 25%;
|
|
282
282
|
}
|
|
283
283
|
|
|
284
|
-
[data-ui
|
|
285
|
-
[data-ui
|
|
286
|
-
[data-ui
|
|
287
|
-
[data-part
|
|
288
|
-
[data-ui
|
|
289
|
-
[data-part
|
|
290
|
-
+ [data-part
|
|
284
|
+
[data-ui-segmented-control] [data-part-item][data-checked]::before,
|
|
285
|
+
[data-ui-segmented-control] [data-part-item][data-checked] + [data-part-item]::before,
|
|
286
|
+
[data-ui-segmented-control][data-part-root]:not([data-readonly])
|
|
287
|
+
[data-part-item]:hover:has([data-part-control]:enabled)::before,
|
|
288
|
+
[data-ui-segmented-control][data-part-root]:not([data-readonly])
|
|
289
|
+
[data-part-item]:hover:has([data-part-control]:enabled)
|
|
290
|
+
+ [data-part-item]::before {
|
|
291
291
|
opacity: 0;
|
|
292
292
|
}
|
|
293
293
|
|
|
@@ -298,7 +298,7 @@
|
|
|
298
298
|
* thumb's — which is what keeps the smallest step at the tightest density
|
|
299
299
|
* above the WCAG minimum.
|
|
300
300
|
*/
|
|
301
|
-
[data-ui
|
|
301
|
+
[data-ui-segmented-control] [data-part-control] {
|
|
302
302
|
appearance: none;
|
|
303
303
|
background: none;
|
|
304
304
|
border: 0;
|
|
@@ -314,7 +314,7 @@
|
|
|
314
314
|
position: absolute;
|
|
315
315
|
}
|
|
316
316
|
|
|
317
|
-
[data-ui
|
|
317
|
+
[data-ui-segmented-control] [data-part-icon] {
|
|
318
318
|
block-size: var(--_icon-size);
|
|
319
319
|
display: inline-flex;
|
|
320
320
|
flex: none;
|
|
@@ -326,7 +326,7 @@
|
|
|
326
326
|
* narrow clips rather than wrapping the segment onto a second line. The
|
|
327
327
|
* string stays whole in the DOM: truncation never removes content.
|
|
328
328
|
*/
|
|
329
|
-
[data-ui
|
|
329
|
+
[data-ui-segmented-control] [data-part-label] {
|
|
330
330
|
/* Clipped along the line only: `hidden` on a one-line box cut the
|
|
331
331
|
descenders and the accents above the cap height. A clipped box is not a
|
|
332
332
|
scroll container, so the flex minimum is given back by hand, or the words
|
|
@@ -361,7 +361,7 @@
|
|
|
361
361
|
* it in where it belongs rather than sliding it from an edge the reader has
|
|
362
362
|
* never seen — which is what Mantine does.
|
|
363
363
|
*/
|
|
364
|
-
[data-ui
|
|
364
|
+
[data-ui-segmented-control] [data-part-indicator] {
|
|
365
365
|
/* A raised surface with a hairline and the lightest elevation: the chosen
|
|
366
366
|
segment sits on the track rather than being painted into it. In a dark
|
|
367
367
|
scheme the raised surface is darker than the tinted track, and a thumb
|
|
@@ -404,12 +404,11 @@
|
|
|
404
404
|
}
|
|
405
405
|
}
|
|
406
406
|
|
|
407
|
-
[data-ui
|
|
407
|
+
[data-ui-segmented-control] [data-part-indicator]:dir(rtl) {
|
|
408
408
|
translate: calc(var(--_index) * (-100% - var(--_spacing)));
|
|
409
409
|
}
|
|
410
410
|
|
|
411
|
-
[data-ui
|
|
412
|
-
[data-part='indicator'] {
|
|
411
|
+
[data-ui-segmented-control][data-part-root][data-orientation='vertical'] [data-part-indicator] {
|
|
413
412
|
block-size: calc(
|
|
414
413
|
(100% - var(--_inset) * 2 - var(--_spacing) * (var(--_count) - 1)) / var(--_count)
|
|
415
414
|
);
|
|
@@ -425,7 +424,7 @@
|
|
|
425
424
|
* was, because a label that thickens when it is chosen moves every label
|
|
426
425
|
* beside it.
|
|
427
426
|
*/
|
|
428
|
-
[data-ui
|
|
427
|
+
[data-ui-segmented-control] [data-part-item][data-checked] {
|
|
429
428
|
color: var(--slotted-segmented-control-checked-color, var(--slotted-text, CanvasText));
|
|
430
429
|
}
|
|
431
430
|
|
|
@@ -440,9 +439,9 @@
|
|
|
440
439
|
* records — a tinted hover on a row of choices reads as a row of status
|
|
441
440
|
* chips before it reads as one of them being pointed at.
|
|
442
441
|
*/
|
|
443
|
-
[data-ui
|
|
444
|
-
[data-part
|
|
445
|
-
[data-part
|
|
442
|
+
[data-ui-segmented-control][data-part-root]:not([data-readonly])
|
|
443
|
+
[data-part-item]:hover:not([data-disabled]):not([data-checked]):has(
|
|
444
|
+
[data-part-control]:enabled
|
|
446
445
|
)::after {
|
|
447
446
|
background: var(
|
|
448
447
|
--slotted-segmented-control-hover-background,
|
|
@@ -455,9 +454,9 @@
|
|
|
455
454
|
* own pace, which is the rule every activating family here writes: the
|
|
456
455
|
* duration belongs to the state being entered.
|
|
457
456
|
*/
|
|
458
|
-
[data-ui
|
|
459
|
-
[data-part
|
|
460
|
-
[data-part
|
|
457
|
+
[data-ui-segmented-control][data-part-root]:not([data-readonly])
|
|
458
|
+
[data-part-item]:active:not([data-disabled]):not([data-checked]):has(
|
|
459
|
+
[data-part-control]:enabled
|
|
461
460
|
)::after {
|
|
462
461
|
background: var(
|
|
463
462
|
--slotted-segmented-control-active-background,
|
|
@@ -488,13 +487,13 @@
|
|
|
488
487
|
* it, so a segment that is both checked and focused shows one ring rather
|
|
489
488
|
* than a ring and a border a pixel apart.
|
|
490
489
|
*/
|
|
491
|
-
[data-ui
|
|
490
|
+
[data-ui-segmented-control] [data-part-item]:has([data-part-control]:focus-visible) {
|
|
492
491
|
outline: var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);
|
|
493
492
|
outline-offset: calc(-1 * var(--slotted-focus-ring-width, 2px));
|
|
494
493
|
z-index: 2;
|
|
495
494
|
}
|
|
496
495
|
|
|
497
|
-
[data-ui
|
|
496
|
+
[data-ui-segmented-control] [data-part-control]:focus-visible {
|
|
498
497
|
outline: none;
|
|
499
498
|
}
|
|
500
499
|
|
|
@@ -505,7 +504,7 @@
|
|
|
505
504
|
* that draws one, which is what `--slotted-focus-ring-color-invalid` exists
|
|
506
505
|
* for and what keeps the outline and its shadow the same colour.
|
|
507
506
|
*/
|
|
508
|
-
[data-ui
|
|
507
|
+
[data-ui-segmented-control][data-part-root][data-invalid] {
|
|
509
508
|
--slotted-focus-ring-color: var(
|
|
510
509
|
--slotted-segmented-control-invalid-focus-ring-color,
|
|
511
510
|
var(--slotted-focus-ring-color-invalid, Highlight)
|
|
@@ -541,14 +540,14 @@
|
|
|
541
540
|
* legible, still focusable and still copyable, and it must not be mistaken
|
|
542
541
|
* for a disabled one — which is what `docs/component-features.md` §2.5 asks.
|
|
543
542
|
*/
|
|
544
|
-
[data-ui
|
|
545
|
-
[data-ui
|
|
543
|
+
[data-ui-segmented-control][data-part-root][data-readonly] [data-part-item],
|
|
544
|
+
[data-ui-segmented-control][data-part-root][data-readonly] [data-part-control] {
|
|
546
545
|
cursor: default;
|
|
547
546
|
}
|
|
548
547
|
|
|
549
548
|
/* ── Disabled ─────────────────────────────────────────────────────────── */
|
|
550
549
|
|
|
551
|
-
[data-ui
|
|
550
|
+
[data-ui-segmented-control] [data-part-item][data-disabled] {
|
|
552
551
|
color: var(
|
|
553
552
|
--slotted-segmented-control-disabled-color,
|
|
554
553
|
var(--slotted-disabled-foreground, GrayText)
|
|
@@ -556,7 +555,7 @@
|
|
|
556
555
|
cursor: default;
|
|
557
556
|
}
|
|
558
557
|
|
|
559
|
-
[data-ui
|
|
558
|
+
[data-ui-segmented-control] [data-part-control]:disabled {
|
|
560
559
|
cursor: default;
|
|
561
560
|
}
|
|
562
561
|
|
|
@@ -568,14 +567,14 @@
|
|
|
568
567
|
* is the ground the thumb is read against, so it is the one thing that has
|
|
569
568
|
* to stay.
|
|
570
569
|
*/
|
|
571
|
-
[data-ui
|
|
570
|
+
[data-ui-segmented-control][data-part-root][data-disabled] {
|
|
572
571
|
border-color: var(
|
|
573
572
|
--slotted-segmented-control-disabled-border-color,
|
|
574
573
|
var(--slotted-disabled-border, GrayText)
|
|
575
574
|
);
|
|
576
575
|
}
|
|
577
576
|
|
|
578
|
-
[data-ui
|
|
577
|
+
[data-ui-segmented-control][data-part-root][data-disabled] [data-part-indicator] {
|
|
579
578
|
background: var(
|
|
580
579
|
--slotted-segmented-control-disabled-indicator-background,
|
|
581
580
|
var(--slotted-disabled-background, ButtonFace)
|
|
@@ -596,7 +595,7 @@
|
|
|
596
595
|
* dividers, no ground — the underline is the mark, and it sits under the
|
|
597
596
|
* word rather than on an edge of a box (R1).
|
|
598
597
|
*/
|
|
599
|
-
[data-ui
|
|
598
|
+
[data-ui-segmented-control][data-part-root][data-variant='underline'] {
|
|
600
599
|
--_inner: var(--_height);
|
|
601
600
|
|
|
602
601
|
background: none;
|
|
@@ -608,64 +607,63 @@
|
|
|
608
607
|
padding: 0;
|
|
609
608
|
}
|
|
610
609
|
|
|
611
|
-
[data-ui
|
|
612
|
-
[data-ui
|
|
613
|
-
[data-part
|
|
614
|
-
+ [data-part
|
|
615
|
-
[data-ui
|
|
616
|
-
[data-part='item']::after {
|
|
610
|
+
[data-ui-segmented-control][data-part-root][data-variant='underline'] [data-part-indicator],
|
|
611
|
+
[data-ui-segmented-control][data-part-root][data-variant='underline']
|
|
612
|
+
[data-part-item]
|
|
613
|
+
+ [data-part-item]::before,
|
|
614
|
+
[data-ui-segmented-control][data-part-root][data-variant='underline'] [data-part-item]::after {
|
|
617
615
|
display: none;
|
|
618
616
|
}
|
|
619
617
|
|
|
620
|
-
[data-ui
|
|
618
|
+
[data-ui-segmented-control][data-part-root][data-variant='underline'] [data-part-item] {
|
|
621
619
|
color: var(--slotted-segmented-control-underline-color, var(--slotted-text-muted, GrayText));
|
|
622
620
|
font-weight: var(--slotted-font-weight-medium, 500);
|
|
623
621
|
min-inline-size: var(--slotted-target-min, 24px);
|
|
624
622
|
padding-inline: 0;
|
|
625
623
|
}
|
|
626
624
|
|
|
627
|
-
[data-ui
|
|
628
|
-
[data-part
|
|
625
|
+
[data-ui-segmented-control][data-part-root][data-variant='underline']
|
|
626
|
+
[data-part-item][data-checked] {
|
|
629
627
|
color: var(
|
|
630
628
|
--slotted-segmented-control-underline-checked-color,
|
|
631
629
|
var(--slotted-text, CanvasText)
|
|
632
630
|
);
|
|
633
631
|
}
|
|
634
632
|
|
|
635
|
-
[data-ui
|
|
636
|
-
[data-part
|
|
637
|
-
[data-part
|
|
633
|
+
[data-ui-segmented-control][data-part-root][data-variant='underline']
|
|
634
|
+
[data-part-item][data-checked]
|
|
635
|
+
[data-part-label] {
|
|
638
636
|
text-decoration-color: currentColor;
|
|
639
637
|
text-decoration-line: underline;
|
|
640
638
|
text-decoration-thickness: var(--slotted-border-width-thick, 2px);
|
|
641
639
|
text-underline-offset: 0.35em;
|
|
642
640
|
}
|
|
643
641
|
|
|
644
|
-
[data-ui
|
|
645
|
-
[data-part
|
|
646
|
-
[data-part
|
|
642
|
+
[data-ui-segmented-control][data-part-root][data-variant='underline'][data-invalid]
|
|
643
|
+
[data-part-item][data-checked]
|
|
644
|
+
[data-part-label] {
|
|
647
645
|
text-decoration-color: var(--slotted-tone-danger-border, CanvasText);
|
|
648
646
|
}
|
|
649
647
|
|
|
650
|
-
[data-ui
|
|
651
|
-
[data-part
|
|
652
|
-
[data-part
|
|
648
|
+
[data-ui-segmented-control][data-part-root][data-variant='underline']:not([data-readonly])
|
|
649
|
+
[data-part-item]:hover:not([data-disabled]):not([data-checked]):has(
|
|
650
|
+
[data-part-control]:enabled
|
|
653
651
|
),
|
|
654
|
-
[data-ui
|
|
655
|
-
[data-part
|
|
656
|
-
[data-part
|
|
652
|
+
[data-ui-segmented-control][data-part-root][data-variant='underline']:not([data-readonly])
|
|
653
|
+
[data-part-item]:active:not([data-disabled]):not([data-checked]):has(
|
|
654
|
+
[data-part-control]:enabled
|
|
657
655
|
) {
|
|
658
656
|
background: none;
|
|
659
657
|
color: var(--slotted-text, CanvasText);
|
|
660
658
|
}
|
|
661
659
|
|
|
662
|
-
[data-ui
|
|
663
|
-
[data-part
|
|
660
|
+
[data-ui-segmented-control][data-part-root][data-variant='underline']
|
|
661
|
+
[data-part-item]:has([data-part-control]:focus-visible) {
|
|
664
662
|
outline-offset: var(--slotted-focus-ring-offset, 2px);
|
|
665
663
|
}
|
|
666
664
|
|
|
667
|
-
[data-ui
|
|
668
|
-
[data-part
|
|
665
|
+
[data-ui-segmented-control][data-part-root][data-variant='underline']
|
|
666
|
+
[data-part-item][data-disabled] {
|
|
669
667
|
color: var(--slotted-disabled-foreground, GrayText);
|
|
670
668
|
}
|
|
671
669
|
|
|
@@ -682,9 +680,9 @@
|
|
|
682
680
|
* because `@container (max-inline-size: var(--x))` is invalid CSS.
|
|
683
681
|
*/
|
|
684
682
|
@container slotted-segmented-control (max-inline-size: 20rem) {
|
|
685
|
-
[data-ui
|
|
686
|
-
[data-part
|
|
687
|
-
[data-part
|
|
683
|
+
[data-ui-segmented-control][data-part-root][data-condense='icons']
|
|
684
|
+
[data-part-item]:has([data-part-icon])
|
|
685
|
+
[data-part-label] {
|
|
688
686
|
block-size: 1px;
|
|
689
687
|
clip-path: inset(50%);
|
|
690
688
|
inline-size: 1px;
|
|
@@ -693,8 +691,8 @@
|
|
|
693
691
|
white-space: nowrap;
|
|
694
692
|
}
|
|
695
693
|
|
|
696
|
-
[data-ui
|
|
697
|
-
[data-part
|
|
694
|
+
[data-ui-segmented-control][data-part-root][data-condense='icons']
|
|
695
|
+
[data-part-item]:has([data-part-icon]) {
|
|
698
696
|
padding-inline: 0;
|
|
699
697
|
}
|
|
700
698
|
}
|
|
@@ -707,15 +705,15 @@
|
|
|
707
705
|
@media (forced-colors: active) {
|
|
708
706
|
/* The neutral track is a tint, and a tint flattens to Canvas: the edge
|
|
709
707
|
says where the control is, and the thumb's edge says which is chosen. */
|
|
710
|
-
[data-ui
|
|
708
|
+
[data-ui-segmented-control][data-part-root]:not([data-variant='underline']) {
|
|
711
709
|
border-color: ButtonBorder;
|
|
712
710
|
}
|
|
713
711
|
|
|
714
|
-
[data-ui
|
|
712
|
+
[data-ui-segmented-control] [data-part-indicator] {
|
|
715
713
|
border-color: Highlight;
|
|
716
714
|
}
|
|
717
715
|
|
|
718
|
-
[data-ui
|
|
716
|
+
[data-ui-segmented-control][data-part-root][data-invalid] {
|
|
719
717
|
outline: var(--_invalid-edge-width) solid CanvasText;
|
|
720
718
|
outline-offset: calc(-1 * (var(--_border-width) + var(--_invalid-edge-width)));
|
|
721
719
|
}
|