@slotted/styles 0.1.0-beta.1 → 0.1.0-beta.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
|
|
48
48
|
/* ── The control ──────────────────────────────────────────────────────── */
|
|
49
49
|
|
|
50
|
-
[data-ui
|
|
50
|
+
[data-ui-cascader][data-part-root] {
|
|
51
51
|
--_font-size: var(--slotted-control-font-size-md, 13px);
|
|
52
52
|
--_height: var(--slotted-control-height-md, 34px);
|
|
53
53
|
--_padding-inline: var(--slotted-control-padding-inline-md, 13px);
|
|
@@ -85,18 +85,18 @@
|
|
|
85
85
|
box-shadow var(--slotted-control-transition-duration) var(--slotted-control-transition-easing);
|
|
86
86
|
}
|
|
87
87
|
|
|
88
|
-
[data-ui
|
|
88
|
+
[data-ui-cascader][data-part-root]:has(> [data-part-clear]) {
|
|
89
89
|
grid-template-columns: minmax(0, 1fr) auto auto;
|
|
90
90
|
}
|
|
91
91
|
|
|
92
|
-
[data-ui
|
|
92
|
+
[data-ui-cascader][data-part-root]:not([data-full-width]) {
|
|
93
93
|
inline-size: auto;
|
|
94
94
|
}
|
|
95
95
|
|
|
96
96
|
/* The trigger fills the frame and the two marks sit over it, for the reason
|
|
97
97
|
`select` writes above its own trigger: the chevron ends the control, and
|
|
98
98
|
the clear button is a sibling of the button rather than a widget in it. */
|
|
99
|
-
[data-ui
|
|
99
|
+
[data-ui-cascader] > [data-part-trigger] {
|
|
100
100
|
align-items: center;
|
|
101
101
|
appearance: none;
|
|
102
102
|
background-color: transparent;
|
|
@@ -120,7 +120,7 @@
|
|
|
120
120
|
-webkit-tap-highlight-color: transparent;
|
|
121
121
|
}
|
|
122
122
|
|
|
123
|
-
[data-ui
|
|
123
|
+
[data-ui-cascader][data-part-root]:has(> [data-part-clear]) > [data-part-trigger] {
|
|
124
124
|
padding-inline-end: calc(
|
|
125
125
|
var(--_padding-inline) + var(--_icon-size) + var(--_gap) + var(--_action-size) + var(--_gap)
|
|
126
126
|
);
|
|
@@ -133,7 +133,7 @@
|
|
|
133
133
|
* and eliding the middle of the road to it. The whole path stays in the DOM,
|
|
134
134
|
* so the trigger's name is never the ellipsis.
|
|
135
135
|
*/
|
|
136
|
-
[data-ui
|
|
136
|
+
[data-ui-cascader] [data-part-value] {
|
|
137
137
|
align-items: baseline;
|
|
138
138
|
display: flex;
|
|
139
139
|
flex: 1 1 auto;
|
|
@@ -142,7 +142,7 @@
|
|
|
142
142
|
white-space: nowrap;
|
|
143
143
|
}
|
|
144
144
|
|
|
145
|
-
[data-ui
|
|
145
|
+
[data-ui-cascader] [data-part-value-segment] {
|
|
146
146
|
flex: 0 1 auto;
|
|
147
147
|
/* Two characters and the ellipsis, the least a segment can say. */
|
|
148
148
|
min-inline-size: 2.5ch;
|
|
@@ -160,26 +160,26 @@
|
|
|
160
160
|
* shortfall, and the last segment overflowed the value unclipped by its own
|
|
161
161
|
* ellipsis at a weight of 0.001.
|
|
162
162
|
*/
|
|
163
|
-
[data-ui
|
|
163
|
+
[data-ui-cascader] [data-part-value-segment] {
|
|
164
164
|
flex-shrink: 100;
|
|
165
165
|
}
|
|
166
166
|
|
|
167
|
-
[data-ui
|
|
167
|
+
[data-ui-cascader] [data-part-value-segment]:first-child {
|
|
168
168
|
flex-shrink: 50;
|
|
169
169
|
}
|
|
170
170
|
|
|
171
|
-
[data-ui
|
|
171
|
+
[data-ui-cascader] [data-part-value-segment]:last-child {
|
|
172
172
|
flex-shrink: 1;
|
|
173
173
|
}
|
|
174
174
|
|
|
175
|
-
[data-ui
|
|
175
|
+
[data-ui-cascader] [data-part-value-separator] {
|
|
176
176
|
color: var(--slotted-cascader-separator-color, var(--slotted-text-muted, GrayText));
|
|
177
177
|
flex: none;
|
|
178
178
|
padding-inline: var(--slotted-space-2, 0.25rem);
|
|
179
179
|
}
|
|
180
180
|
|
|
181
181
|
/* Nothing chosen yet: the same weight, one step quieter. */
|
|
182
|
-
[data-ui
|
|
182
|
+
[data-ui-cascader] [data-part-placeholder] {
|
|
183
183
|
color: var(--slotted-cascader-placeholder-color, var(--slotted-text-muted, GrayText));
|
|
184
184
|
flex: 1 1 auto;
|
|
185
185
|
min-inline-size: 0;
|
|
@@ -189,7 +189,7 @@
|
|
|
189
189
|
}
|
|
190
190
|
|
|
191
191
|
/* A multiple selection shows its chips in the content lane, as `select`'s. */
|
|
192
|
-
[data-ui
|
|
192
|
+
[data-ui-cascader][data-part-root] > [data-part-tags] {
|
|
193
193
|
align-items: center;
|
|
194
194
|
display: flex;
|
|
195
195
|
gap: var(--slotted-space-2, 0.25rem);
|
|
@@ -201,12 +201,12 @@
|
|
|
201
201
|
pointer-events: none;
|
|
202
202
|
}
|
|
203
203
|
|
|
204
|
-
[data-ui
|
|
204
|
+
[data-ui-cascader] > [data-part-tags] > * {
|
|
205
205
|
pointer-events: auto;
|
|
206
206
|
position: relative;
|
|
207
207
|
}
|
|
208
208
|
|
|
209
|
-
[data-ui
|
|
209
|
+
[data-ui-cascader] [data-part-summary] {
|
|
210
210
|
display: block;
|
|
211
211
|
overflow: hidden;
|
|
212
212
|
text-overflow: ellipsis;
|
|
@@ -214,7 +214,7 @@
|
|
|
214
214
|
white-space: nowrap;
|
|
215
215
|
}
|
|
216
216
|
|
|
217
|
-
[data-ui
|
|
217
|
+
[data-ui-cascader][data-part-root]:not([data-narrow]) [data-part-summary] {
|
|
218
218
|
block-size: 1px;
|
|
219
219
|
clip-path: inset(50%);
|
|
220
220
|
inline-size: 1px;
|
|
@@ -222,11 +222,11 @@
|
|
|
222
222
|
white-space: nowrap;
|
|
223
223
|
}
|
|
224
224
|
|
|
225
|
-
[data-ui
|
|
225
|
+
[data-ui-cascader][data-part-root][data-narrow] > [data-part-tags] {
|
|
226
226
|
display: none;
|
|
227
227
|
}
|
|
228
228
|
|
|
229
|
-
[data-ui
|
|
229
|
+
[data-ui-cascader] > [data-part-arrow] {
|
|
230
230
|
--slotted-icon-size: var(--_icon-size);
|
|
231
231
|
|
|
232
232
|
align-items: center;
|
|
@@ -240,17 +240,17 @@
|
|
|
240
240
|
pointer-events: none;
|
|
241
241
|
}
|
|
242
242
|
|
|
243
|
-
[data-ui
|
|
243
|
+
[data-ui-cascader] > [data-part-arrow] > [data-ui-icon] {
|
|
244
244
|
transition: rotate var(--slotted-control-transition-duration)
|
|
245
245
|
var(--slotted-control-transition-easing);
|
|
246
246
|
}
|
|
247
247
|
|
|
248
|
-
[data-ui
|
|
248
|
+
[data-ui-cascader][data-open] > [data-part-arrow] > [data-ui-icon] {
|
|
249
249
|
rotate: 180deg;
|
|
250
250
|
}
|
|
251
251
|
|
|
252
252
|
/* The ring where the chevron stands, while the value's path is resolving. */
|
|
253
|
-
[data-ui
|
|
253
|
+
[data-ui-cascader] > [data-part-busy] {
|
|
254
254
|
--slotted-spinner-size: var(--_icon-size);
|
|
255
255
|
|
|
256
256
|
color: var(--slotted-cascader-arrow-color, var(--slotted-text-muted, GrayText));
|
|
@@ -259,7 +259,7 @@
|
|
|
259
259
|
pointer-events: none;
|
|
260
260
|
}
|
|
261
261
|
|
|
262
|
-
[data-ui
|
|
262
|
+
[data-ui-cascader] > [data-part-clear] {
|
|
263
263
|
--slotted-icon-size: var(--_icon-size);
|
|
264
264
|
|
|
265
265
|
align-items: center;
|
|
@@ -286,14 +286,14 @@
|
|
|
286
286
|
}
|
|
287
287
|
|
|
288
288
|
/* The hit area recovered outside the paint, as `select`'s. */
|
|
289
|
-
[data-ui
|
|
289
|
+
[data-ui-cascader] > [data-part-clear]::after {
|
|
290
290
|
content: '';
|
|
291
291
|
inset: min(0px, calc((100% - var(--slotted-target-min, 24px)) / 2));
|
|
292
292
|
position: absolute;
|
|
293
293
|
}
|
|
294
294
|
|
|
295
295
|
@media (pointer: coarse) {
|
|
296
|
-
[data-ui
|
|
296
|
+
[data-ui-cascader] > [data-part-clear]::after {
|
|
297
297
|
inset: min(0px, calc((100% - var(--slotted-target-comfortable, 44px)) / 2));
|
|
298
298
|
inset-inline-end: 0;
|
|
299
299
|
}
|
|
@@ -301,7 +301,7 @@
|
|
|
301
301
|
|
|
302
302
|
/* ── Size ─────────────────────────────────────────────────────────────── */
|
|
303
303
|
|
|
304
|
-
[data-ui
|
|
304
|
+
[data-ui-cascader][data-part-root][data-size='sm'] {
|
|
305
305
|
--_font-size: var(--slotted-control-font-size-sm, 12px);
|
|
306
306
|
--_height: var(--slotted-control-height-sm, 30px);
|
|
307
307
|
--_padding-inline: var(--slotted-control-padding-inline-sm, 10px);
|
|
@@ -310,7 +310,7 @@
|
|
|
310
310
|
--_inner-size: var(--slotted-control-inner-size-sm, 22px);
|
|
311
311
|
}
|
|
312
312
|
|
|
313
|
-
[data-ui
|
|
313
|
+
[data-ui-cascader][data-part-root][data-size='lg'] {
|
|
314
314
|
--_font-size: var(--slotted-control-font-size-lg, 14px);
|
|
315
315
|
--_height: var(--slotted-control-height-lg, 38px);
|
|
316
316
|
--_padding-inline: var(--slotted-control-padding-inline-lg, 16px);
|
|
@@ -321,12 +321,12 @@
|
|
|
321
321
|
|
|
322
322
|
/* ── Variant ──────────────────────────────────────────────────────────── */
|
|
323
323
|
|
|
324
|
-
[data-ui
|
|
324
|
+
[data-ui-cascader][data-part-root][data-variant='subtle'] {
|
|
325
325
|
background-color: var(--slotted-surface-sunken, Canvas);
|
|
326
326
|
border-color: var(--slotted-border-subtle, ButtonBorder);
|
|
327
327
|
}
|
|
328
328
|
|
|
329
|
-
[data-ui
|
|
329
|
+
[data-ui-cascader][data-part-root][data-variant='plain'] {
|
|
330
330
|
background-color: transparent;
|
|
331
331
|
border-color: transparent;
|
|
332
332
|
border-radius: var(--slotted-radius-none, 0px);
|
|
@@ -334,51 +334,51 @@
|
|
|
334
334
|
}
|
|
335
335
|
|
|
336
336
|
@media (forced-colors: active) {
|
|
337
|
-
[data-ui
|
|
337
|
+
[data-ui-cascader][data-part-root][data-variant='plain'] {
|
|
338
338
|
border-color: ButtonBorder;
|
|
339
339
|
}
|
|
340
340
|
}
|
|
341
341
|
|
|
342
342
|
/* ── States on the control ────────────────────────────────────────────── */
|
|
343
343
|
|
|
344
|
-
[data-ui
|
|
344
|
+
[data-ui-cascader][data-part-root]:hover:not([data-disabled]):not([data-readonly]):not(
|
|
345
345
|
[data-invalid]
|
|
346
346
|
) {
|
|
347
347
|
border-color: var(--slotted-cascader-hover-border-color, var(--slotted-tone-accent-border));
|
|
348
348
|
}
|
|
349
349
|
|
|
350
|
-
[data-ui
|
|
350
|
+
[data-ui-cascader][data-part-root][data-variant='subtle']:hover:not([data-disabled]):not(
|
|
351
351
|
[data-readonly]
|
|
352
352
|
):not([data-invalid]) {
|
|
353
353
|
background-color: var(--slotted-tone-secondary-subtle-hover);
|
|
354
354
|
}
|
|
355
355
|
|
|
356
|
-
[data-ui
|
|
356
|
+
[data-ui-cascader][data-part-root][data-variant='plain']:hover:not([data-disabled]):not(
|
|
357
357
|
[data-readonly]
|
|
358
358
|
):not([data-invalid]) {
|
|
359
359
|
background-color: var(--slotted-tone-secondary-subtle-hover);
|
|
360
360
|
border-color: transparent;
|
|
361
361
|
}
|
|
362
362
|
|
|
363
|
-
[data-ui
|
|
363
|
+
[data-ui-cascader][data-part-root]:has(> [data-part-trigger]:focus-visible) {
|
|
364
364
|
box-shadow: var(--slotted-control-shadow-focus-geometry, 0 1px 4px -1px)
|
|
365
365
|
var(--slotted-focus-ring-color, Highlight);
|
|
366
366
|
outline: var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);
|
|
367
|
-
outline-offset: var(--slotted-focus-ring-offset, 2px);
|
|
367
|
+
outline-offset: var(--slotted-control-focus-ring-offset, var(--slotted-focus-ring-offset, 2px));
|
|
368
368
|
}
|
|
369
369
|
|
|
370
|
-
[data-ui
|
|
371
|
-
> [data-part
|
|
370
|
+
[data-ui-cascader][data-part-root][data-variant='plain']:has(
|
|
371
|
+
> [data-part-trigger]:focus-visible
|
|
372
372
|
) {
|
|
373
373
|
box-shadow: none;
|
|
374
374
|
outline-offset: calc(var(--slotted-focus-ring-offset, 2px) * -1);
|
|
375
375
|
}
|
|
376
376
|
|
|
377
|
-
[data-ui
|
|
377
|
+
[data-ui-cascader][data-part-root][data-open]:not([data-disabled]) {
|
|
378
378
|
border-color: var(--slotted-cascader-open-border-color, var(--slotted-tone-accent-border));
|
|
379
379
|
}
|
|
380
380
|
|
|
381
|
-
[data-ui
|
|
381
|
+
[data-ui-cascader][data-part-root][data-invalid] {
|
|
382
382
|
--slotted-focus-ring-color: var(--slotted-focus-ring-color-invalid, Highlight);
|
|
383
383
|
--_invalid-edge-width: var(
|
|
384
384
|
--slotted-cascader-invalid-edge-width,
|
|
@@ -400,15 +400,15 @@
|
|
|
400
400
|
box-shadow: var(--_invalid-edge);
|
|
401
401
|
}
|
|
402
402
|
|
|
403
|
-
[data-ui
|
|
403
|
+
[data-ui-cascader][data-part-root][data-invalid]:has(> [data-part-trigger]:focus-visible) {
|
|
404
404
|
box-shadow:
|
|
405
405
|
var(--_invalid-edge),
|
|
406
406
|
var(--slotted-control-shadow-focus-geometry, 0 1px 4px -1px)
|
|
407
407
|
var(--slotted-focus-ring-color, Highlight);
|
|
408
408
|
}
|
|
409
409
|
|
|
410
|
-
[data-ui
|
|
411
|
-
> [data-part
|
|
410
|
+
[data-ui-cascader][data-part-root][data-variant='plain'][data-invalid]:has(
|
|
411
|
+
> [data-part-trigger]:focus-visible
|
|
412
412
|
) {
|
|
413
413
|
/* The ring lies inside the box here, over the border and an edge as wide as
|
|
414
414
|
it; the edge reaches past the ring. */
|
|
@@ -426,23 +426,24 @@
|
|
|
426
426
|
* control draws its ring double, which a valid ring is not.
|
|
427
427
|
*/
|
|
428
428
|
@media (forced-colors: active) {
|
|
429
|
-
[data-ui
|
|
429
|
+
[data-ui-cascader][data-part-root][data-invalid] {
|
|
430
430
|
outline: var(--_invalid-edge-width) solid CanvasText;
|
|
431
431
|
outline-offset: calc(
|
|
432
432
|
-1 * (var(--slotted-control-border-width, 1px) + var(--_invalid-edge-width))
|
|
433
433
|
);
|
|
434
434
|
}
|
|
435
435
|
|
|
436
|
-
[data-ui
|
|
437
|
-
> [data-part='trigger']:focus-visible
|
|
438
|
-
) {
|
|
436
|
+
[data-ui-cascader][data-part-root][data-invalid]:has(> [data-part-trigger]:focus-visible) {
|
|
439
437
|
outline: calc(var(--slotted-focus-ring-width, 2px) + var(--_invalid-edge-width)) double
|
|
440
438
|
var(--slotted-focus-ring-color, Highlight);
|
|
441
|
-
outline-offset: var(
|
|
439
|
+
outline-offset: var(
|
|
440
|
+
--slotted-control-focus-ring-offset,
|
|
441
|
+
var(--slotted-focus-ring-offset, 2px)
|
|
442
|
+
);
|
|
442
443
|
}
|
|
443
444
|
|
|
444
|
-
[data-ui
|
|
445
|
-
> [data-part
|
|
445
|
+
[data-ui-cascader][data-part-root][data-variant='plain'][data-invalid]:has(
|
|
446
|
+
> [data-part-trigger]:focus-visible
|
|
446
447
|
) {
|
|
447
448
|
outline: calc(var(--slotted-focus-ring-width, 2px) + var(--_invalid-edge-width)) double
|
|
448
449
|
var(--slotted-focus-ring-color, Highlight);
|
|
@@ -452,46 +453,46 @@
|
|
|
452
453
|
}
|
|
453
454
|
}
|
|
454
455
|
|
|
455
|
-
[data-ui
|
|
456
|
+
[data-ui-cascader][data-part-root][data-readonly] {
|
|
456
457
|
background-color: var(--slotted-tone-secondary-subtle-hover);
|
|
457
458
|
}
|
|
458
459
|
|
|
459
460
|
/* The chevron of a control nobody may open steps down to the muted ink it
|
|
460
461
|
already has plus the disabled one, rather than fading by opacity. */
|
|
461
|
-
[data-ui
|
|
462
|
+
[data-ui-cascader][data-part-root][data-readonly] > [data-part-arrow] {
|
|
462
463
|
color: var(--slotted-disabled-foreground);
|
|
463
464
|
}
|
|
464
465
|
|
|
465
|
-
[data-ui
|
|
466
|
-
[data-ui
|
|
466
|
+
[data-ui-cascader][data-part-root][data-disabled],
|
|
467
|
+
[data-ui-cascader][data-part-root]:has(> [data-part-trigger]:disabled) {
|
|
467
468
|
background-color: var(--slotted-disabled-background);
|
|
468
469
|
border-color: var(--slotted-disabled-border);
|
|
469
470
|
box-shadow: none;
|
|
470
471
|
color: var(--slotted-disabled-foreground);
|
|
471
472
|
}
|
|
472
473
|
|
|
473
|
-
[data-ui
|
|
474
|
-
[data-ui
|
|
474
|
+
[data-ui-cascader][data-part-root][data-disabled] > [data-part-trigger],
|
|
475
|
+
[data-ui-cascader][data-part-root] > [data-part-trigger]:disabled {
|
|
475
476
|
cursor: not-allowed;
|
|
476
477
|
}
|
|
477
478
|
|
|
478
|
-
[data-ui
|
|
479
|
+
[data-ui-cascader] > [data-part-clear]:hover:not(:disabled):not([data-disabled]) {
|
|
479
480
|
background-color: var(--slotted-tone-secondary-subtle-hover);
|
|
480
481
|
color: var(--slotted-text, CanvasText);
|
|
481
482
|
}
|
|
482
483
|
|
|
483
|
-
[data-ui
|
|
484
|
+
[data-ui-cascader] > [data-part-clear]:active:not(:disabled):not([data-disabled]) {
|
|
484
485
|
background-color: var(--slotted-tone-secondary-subtle-active);
|
|
485
486
|
}
|
|
486
487
|
|
|
487
|
-
[data-ui
|
|
488
|
+
[data-ui-cascader] > [data-part-clear]:focus-visible {
|
|
488
489
|
outline: var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);
|
|
489
490
|
outline-offset: calc(var(--slotted-focus-ring-offset, 2px) * -1);
|
|
490
491
|
}
|
|
491
492
|
|
|
492
493
|
/* ── The layer ────────────────────────────────────────────────────────── */
|
|
493
494
|
|
|
494
|
-
[data-ui
|
|
495
|
+
[data-ui-cascader]:is([data-part-positioner], [data-part-content]) {
|
|
495
496
|
--_surface: var(--slotted-cascader-surface, var(--slotted-surface-raised, #ffffff));
|
|
496
497
|
--_text: var(--slotted-text, #0f172a);
|
|
497
498
|
--_muted: var(--slotted-text-muted, #5b6b7f);
|
|
@@ -546,7 +547,7 @@
|
|
|
546
547
|
);
|
|
547
548
|
}
|
|
548
549
|
|
|
549
|
-
[data-ui
|
|
550
|
+
[data-ui-cascader][data-part-positioner] {
|
|
550
551
|
position: absolute;
|
|
551
552
|
inset-block-start: 0;
|
|
552
553
|
z-index: calc(var(--slotted-z-index-popover, 1100) + var(--slotted-layer-depth, 0));
|
|
@@ -562,27 +563,27 @@
|
|
|
562
563
|
translate var(--slotted-duration-short) var(--slotted-easing-exit);
|
|
563
564
|
}
|
|
564
565
|
|
|
565
|
-
[data-ui
|
|
566
|
+
[data-ui-cascader][data-part-positioner][data-side='top'] {
|
|
566
567
|
translate: 0 var(--_enter-distance);
|
|
567
568
|
}
|
|
568
569
|
|
|
569
|
-
[data-ui
|
|
570
|
+
[data-ui-cascader][data-part-positioner]:is([data-side='left'], [data-side='right']) {
|
|
570
571
|
translate: 0 0;
|
|
571
572
|
}
|
|
572
573
|
|
|
573
574
|
/* The entrance is a keyframe, the exit a transition: `select`'s reasoning. */
|
|
574
|
-
[data-ui
|
|
575
|
+
[data-ui-cascader][data-part-positioner][data-open] {
|
|
575
576
|
opacity: 1;
|
|
576
577
|
translate: 0 0;
|
|
577
578
|
transition: none;
|
|
578
579
|
}
|
|
579
580
|
|
|
580
|
-
[data-ui
|
|
581
|
+
[data-ui-cascader][data-part-positioner][data-open][data-positioned] {
|
|
581
582
|
animation: slotted-cascader-enter-down var(--slotted-duration-medium)
|
|
582
583
|
var(--slotted-easing-enter);
|
|
583
584
|
}
|
|
584
585
|
|
|
585
|
-
[data-ui
|
|
586
|
+
[data-ui-cascader][data-part-positioner][data-open][data-positioned][data-side='top'] {
|
|
586
587
|
animation-name: slotted-cascader-enter-up;
|
|
587
588
|
}
|
|
588
589
|
|
|
@@ -607,19 +608,19 @@
|
|
|
607
608
|
}
|
|
608
609
|
|
|
609
610
|
@media (prefers-reduced-motion: reduce) {
|
|
610
|
-
[data-ui
|
|
611
|
-
[data-ui
|
|
611
|
+
[data-ui-cascader][data-part-positioner],
|
|
612
|
+
[data-ui-cascader][data-part-positioner][data-side='top'] {
|
|
612
613
|
translate: 0 0;
|
|
613
614
|
transition: opacity var(--slotted-duration-short) var(--slotted-easing-exit);
|
|
614
615
|
}
|
|
615
616
|
|
|
616
|
-
[data-ui
|
|
617
|
-
[data-ui
|
|
617
|
+
[data-ui-cascader][data-part-positioner][data-open][data-positioned],
|
|
618
|
+
[data-ui-cascader][data-part-positioner][data-open][data-positioned][data-side='top'] {
|
|
618
619
|
animation-name: slotted-cascader-fade;
|
|
619
620
|
}
|
|
620
621
|
}
|
|
621
622
|
|
|
622
|
-
[data-ui
|
|
623
|
+
[data-ui-cascader][data-part-positioner][data-detached] {
|
|
623
624
|
visibility: hidden;
|
|
624
625
|
}
|
|
625
626
|
|
|
@@ -628,7 +629,7 @@
|
|
|
628
629
|
* path is deep, up to the room the positioner reports; one level at a time
|
|
629
630
|
* takes the control's width, and never less than one column.
|
|
630
631
|
*/
|
|
631
|
-
[data-ui
|
|
632
|
+
[data-ui-cascader][data-part-positioner][data-layout='columns'] {
|
|
632
633
|
inline-size: max-content;
|
|
633
634
|
max-inline-size: var(--slotted-positioner-available-width, 100vw);
|
|
634
635
|
min-inline-size: var(--slotted-positioner-anchor-width, auto);
|
|
@@ -640,18 +641,18 @@
|
|
|
640
641
|
* control it hangs from. The reserved strip beside it is the layer's, which
|
|
641
642
|
* takes no pointer.
|
|
642
643
|
*/
|
|
643
|
-
[data-ui
|
|
644
|
+
[data-ui-cascader][data-part-positioner][data-layout='columns'] > [data-part-content] {
|
|
644
645
|
inline-size: max-content;
|
|
645
646
|
max-inline-size: 100%;
|
|
646
647
|
min-inline-size: min(var(--slotted-positioner-anchor-width, 0px), 100%);
|
|
647
648
|
}
|
|
648
649
|
|
|
649
|
-
[data-ui
|
|
650
|
+
[data-ui-cascader][data-part-positioner]:is([data-layout='drill'], [data-layout='tree']) {
|
|
650
651
|
inline-size: max(var(--slotted-positioner-anchor-width, 0px), var(--_column-measure));
|
|
651
652
|
max-inline-size: var(--slotted-positioner-available-width, 100vw);
|
|
652
653
|
}
|
|
653
654
|
|
|
654
|
-
[data-ui
|
|
655
|
+
[data-ui-cascader]:is([data-part-positioner], [data-part-content])[data-size='sm'] {
|
|
655
656
|
--_item-inset: calc(var(--slotted-control-padding-inline-sm, 0.625rem) - var(--_inset-inline));
|
|
656
657
|
--_item-height: var(--slotted-control-height-sm, 30px);
|
|
657
658
|
--_content-font-size: var(--slotted-control-font-size-sm, 12px);
|
|
@@ -661,7 +662,7 @@
|
|
|
661
662
|
--_column-gap: var(--slotted-control-gap-sm, 0.375rem);
|
|
662
663
|
}
|
|
663
664
|
|
|
664
|
-
[data-ui
|
|
665
|
+
[data-ui-cascader]:is([data-part-positioner], [data-part-content])[data-size='lg'] {
|
|
665
666
|
--_item-inset: calc(var(--slotted-control-padding-inline-lg, 1rem) - var(--_inset-inline));
|
|
666
667
|
--_item-height: var(--slotted-control-height-lg, 38px);
|
|
667
668
|
--_content-font-size: var(--slotted-control-font-size-lg, 14px);
|
|
@@ -678,7 +679,7 @@
|
|
|
678
679
|
* panel — bounded by the height the positioner reports. The panel is the one
|
|
679
680
|
* that gives, and inside it each column scrolls on its own.
|
|
680
681
|
*/
|
|
681
|
-
[data-ui
|
|
682
|
+
[data-ui-cascader] > [data-part-content] {
|
|
682
683
|
background: var(--_surface);
|
|
683
684
|
border: var(--_border-width) solid var(--_border-color);
|
|
684
685
|
border-radius: var(--_radius);
|
|
@@ -699,7 +700,7 @@
|
|
|
699
700
|
pointer-events: auto;
|
|
700
701
|
}
|
|
701
702
|
|
|
702
|
-
[data-ui
|
|
703
|
+
[data-ui-cascader] > [data-part-content]:focus-visible {
|
|
703
704
|
outline: none;
|
|
704
705
|
}
|
|
705
706
|
|
|
@@ -710,7 +711,7 @@
|
|
|
710
711
|
* and is as wide as its columns up to its container. The tree inside it
|
|
711
712
|
* takes focus here, and the surface draws the ring for it.
|
|
712
713
|
*/
|
|
713
|
-
[data-ui
|
|
714
|
+
[data-ui-cascader][data-part-content] {
|
|
714
715
|
background: var(--_surface);
|
|
715
716
|
border: var(--_border-width) solid var(--_border-color);
|
|
716
717
|
border-radius: var(--_radius);
|
|
@@ -726,14 +727,14 @@
|
|
|
726
727
|
overflow: hidden;
|
|
727
728
|
}
|
|
728
729
|
|
|
729
|
-
[data-ui
|
|
730
|
+
[data-ui-cascader][data-part-content]:has(> [data-part-panel]:focus-visible) {
|
|
730
731
|
outline: var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);
|
|
731
732
|
outline-offset: var(--slotted-focus-ring-offset, 2px);
|
|
732
733
|
}
|
|
733
734
|
|
|
734
735
|
/* ── The search field ─────────────────────────────────────────────────── */
|
|
735
736
|
|
|
736
|
-
[data-ui
|
|
737
|
+
[data-ui-cascader] [data-part-search] {
|
|
737
738
|
align-items: center;
|
|
738
739
|
border-block-end: var(--_border-width) solid var(--_border-color);
|
|
739
740
|
box-sizing: border-box;
|
|
@@ -745,7 +746,7 @@
|
|
|
745
746
|
padding-inline: calc(var(--_inset-inline) + var(--_item-inset));
|
|
746
747
|
}
|
|
747
748
|
|
|
748
|
-
[data-ui
|
|
749
|
+
[data-ui-cascader] [data-part-search] > [data-ui-icon] {
|
|
749
750
|
--slotted-icon-size: var(--_content-icon-size);
|
|
750
751
|
|
|
751
752
|
color: var(--_muted);
|
|
@@ -754,7 +755,7 @@
|
|
|
754
755
|
|
|
755
756
|
/* No ring: the field holds focus for as long as the popup is open, so a
|
|
756
757
|
ring would be a border, not a state. The caret says where focus is. */
|
|
757
|
-
[data-ui
|
|
758
|
+
[data-ui-cascader] [data-part-search-input] {
|
|
758
759
|
background-color: transparent;
|
|
759
760
|
border: 0;
|
|
760
761
|
color: inherit;
|
|
@@ -766,7 +767,7 @@
|
|
|
766
767
|
text-overflow: ellipsis;
|
|
767
768
|
}
|
|
768
769
|
|
|
769
|
-
[data-ui
|
|
770
|
+
[data-ui-cascader] [data-part-search-input]::placeholder {
|
|
770
771
|
color: var(--_muted);
|
|
771
772
|
text-overflow: ellipsis;
|
|
772
773
|
}
|
|
@@ -784,7 +785,7 @@
|
|
|
784
785
|
* (`cascaderCrumbs`), so the row is as tall at the tenth level as at the
|
|
785
786
|
* second and the list under it does not move down as the reader drills.
|
|
786
787
|
*/
|
|
787
|
-
[data-ui
|
|
788
|
+
[data-ui-cascader] [data-part-breadcrumb] {
|
|
788
789
|
align-items: center;
|
|
789
790
|
border-block-end: var(--_border-width) solid var(--_border-color);
|
|
790
791
|
color: var(--_muted);
|
|
@@ -802,13 +803,13 @@
|
|
|
802
803
|
white-space: nowrap;
|
|
803
804
|
}
|
|
804
805
|
|
|
805
|
-
[data-ui
|
|
806
|
+
[data-ui-cascader] [data-part-breadcrumb] > [data-ui-icon] {
|
|
806
807
|
--slotted-icon-size: var(--_secondary-font-size);
|
|
807
808
|
|
|
808
809
|
flex: none;
|
|
809
810
|
}
|
|
810
811
|
|
|
811
|
-
[data-ui
|
|
812
|
+
[data-ui-cascader] [data-part-crumb] {
|
|
812
813
|
appearance: none;
|
|
813
814
|
background-color: transparent;
|
|
814
815
|
border: 0;
|
|
@@ -833,24 +834,24 @@
|
|
|
833
834
|
color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing);
|
|
834
835
|
}
|
|
835
836
|
|
|
836
|
-
[data-ui
|
|
837
|
+
[data-ui-cascader] [data-part-crumb]:hover:not([aria-current]):not(:disabled) {
|
|
837
838
|
background-color: var(--_highlight);
|
|
838
839
|
color: var(--_text);
|
|
839
840
|
}
|
|
840
841
|
|
|
841
|
-
[data-ui
|
|
842
|
+
[data-ui-cascader] [data-part-crumb]:active:not([aria-current]):not(:disabled) {
|
|
842
843
|
background-color: var(--_highlight-active);
|
|
843
844
|
}
|
|
844
845
|
|
|
845
846
|
/* Outside the crumb: an inset ring sat on the first letter of a label the
|
|
846
847
|
crumb's own padding barely clears. The row's block padding holds it. */
|
|
847
|
-
[data-ui
|
|
848
|
+
[data-ui-cascader] [data-part-crumb]:focus-visible {
|
|
848
849
|
outline: var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);
|
|
849
850
|
outline-offset: 0;
|
|
850
851
|
}
|
|
851
852
|
|
|
852
853
|
/* The level on show: where the reader is, and not a place to go. */
|
|
853
|
-
[data-ui
|
|
854
|
+
[data-ui-cascader] [data-part-crumb][aria-current] {
|
|
854
855
|
color: var(--_text);
|
|
855
856
|
cursor: default;
|
|
856
857
|
flex-shrink: 1;
|
|
@@ -859,7 +860,7 @@
|
|
|
859
860
|
}
|
|
860
861
|
|
|
861
862
|
/* The fold: the middle of a deep trail as one crumb, its ellipsis whole. */
|
|
862
|
-
[data-ui
|
|
863
|
+
[data-ui-cascader] [data-part-crumb][data-collapsed] {
|
|
863
864
|
flex: none;
|
|
864
865
|
min-inline-size: var(--slotted-target-min, 24px);
|
|
865
866
|
}
|
|
@@ -873,7 +874,7 @@
|
|
|
873
874
|
* scrolled them instead, and at 420 pixels the third column sat under the
|
|
874
875
|
* rounded edge with nothing on a touch screen saying there was more.
|
|
875
876
|
*/
|
|
876
|
-
[data-ui
|
|
877
|
+
[data-ui-cascader] [data-part-panel] {
|
|
877
878
|
display: flex;
|
|
878
879
|
flex: 1 1 auto;
|
|
879
880
|
min-block-size: 0;
|
|
@@ -887,7 +888,7 @@
|
|
|
887
888
|
* one before by a hairline from the border scale — the edge a reader follows
|
|
888
889
|
* from a branch to its children.
|
|
889
890
|
*/
|
|
890
|
-
[data-ui
|
|
891
|
+
[data-ui-cascader] [data-part-column] {
|
|
891
892
|
align-content: start;
|
|
892
893
|
box-sizing: border-box;
|
|
893
894
|
display: grid;
|
|
@@ -911,18 +912,18 @@
|
|
|
911
912
|
padding-inline: var(--_inset-inline);
|
|
912
913
|
}
|
|
913
914
|
|
|
914
|
-
[data-ui
|
|
915
|
+
[data-ui-cascader] [data-part-column] + [data-part-column] {
|
|
915
916
|
border-inline-start: var(--_border-width) solid var(--_border-color);
|
|
916
917
|
}
|
|
917
918
|
|
|
918
919
|
/* One level at a time, or every level in one run: the column is the panel. */
|
|
919
|
-
[data-ui
|
|
920
|
+
[data-ui-cascader]:is([data-layout='drill'], [data-layout='tree']) [data-part-column] {
|
|
920
921
|
flex: 1 1 auto;
|
|
921
922
|
inline-size: auto;
|
|
922
923
|
}
|
|
923
924
|
|
|
924
925
|
/* A level still loading says so to a reader while its rows wait. */
|
|
925
|
-
[data-ui
|
|
926
|
+
[data-ui-cascader] [data-part-column][aria-busy='true'] {
|
|
926
927
|
cursor: progress;
|
|
927
928
|
}
|
|
928
929
|
|
|
@@ -933,7 +934,7 @@
|
|
|
933
934
|
* cursor is `aria-activedescendant`, so a node is neither focusable nor a
|
|
934
935
|
* button, as `select`'s option is not.
|
|
935
936
|
*/
|
|
936
|
-
[data-ui
|
|
937
|
+
[data-ui-cascader] [data-part-node] {
|
|
937
938
|
align-content: center;
|
|
938
939
|
border-radius: var(--_item-radius);
|
|
939
940
|
box-sizing: border-box;
|
|
@@ -962,7 +963,7 @@
|
|
|
962
963
|
* carrying `aria-level`, because a node that held its children would paint
|
|
963
964
|
* its highlight over them.
|
|
964
965
|
*/
|
|
965
|
-
[data-ui
|
|
966
|
+
[data-ui-cascader][data-layout='tree'] [data-part-node] {
|
|
966
967
|
/* Its own tracks rather than the column's: a subgrid gives every row the
|
|
967
968
|
widest padding among them, so the first capture drew every level at the
|
|
968
969
|
deepest indent. The end tracks still line up, because every node ends in
|
|
@@ -980,55 +981,55 @@
|
|
|
980
981
|
* dark scheme, where no neutral ground below the cursor lifts, the ink
|
|
981
982
|
* carries it alone.
|
|
982
983
|
*/
|
|
983
|
-
[data-ui
|
|
984
|
+
[data-ui-cascader] [data-part-node][data-expanded] {
|
|
984
985
|
background-color: var(--_path);
|
|
985
986
|
}
|
|
986
987
|
|
|
987
988
|
/* And a weight, which is what carries the road where no ground does: the
|
|
988
989
|
high-contrast scheme draws the path ground as its own surface. */
|
|
989
|
-
[data-ui
|
|
990
|
+
[data-ui-cascader] [data-part-node][data-expanded] > [data-part-label] {
|
|
990
991
|
font-weight: var(--slotted-font-weight-semibold, 600);
|
|
991
992
|
}
|
|
992
993
|
|
|
993
|
-
[data-ui
|
|
994
|
+
[data-ui-cascader][data-layout='tree'] [data-part-node][data-expanded] {
|
|
994
995
|
background-color: transparent;
|
|
995
996
|
}
|
|
996
997
|
|
|
997
998
|
/* The cursor, a ground and a one-pixel ring, for the reason `select` gives. */
|
|
998
|
-
[data-ui
|
|
999
|
+
[data-ui-cascader] [data-part-node][data-current] {
|
|
999
1000
|
background-color: var(--_highlight);
|
|
1000
1001
|
box-shadow: inset 0 0 0 var(--slotted-border-width-thin, 1px)
|
|
1001
1002
|
var(--slotted-cascader-highlight-ring, var(--slotted-tone-accent-border));
|
|
1002
1003
|
}
|
|
1003
1004
|
|
|
1004
|
-
[data-ui
|
|
1005
|
+
[data-ui-cascader] [data-part-node]:not([data-disabled]):active {
|
|
1005
1006
|
background-color: var(--_highlight-active);
|
|
1006
1007
|
}
|
|
1007
1008
|
|
|
1008
|
-
[data-ui
|
|
1009
|
+
[data-ui-cascader] [data-part-node][data-selected] {
|
|
1009
1010
|
color: var(--_selected-color);
|
|
1010
1011
|
}
|
|
1011
1012
|
|
|
1012
|
-
[data-ui
|
|
1013
|
+
[data-ui-cascader] [data-part-node][data-selected] > [data-part-label] {
|
|
1013
1014
|
font-weight: var(--slotted-font-weight-medium, 500);
|
|
1014
1015
|
}
|
|
1015
1016
|
|
|
1016
|
-
[data-ui
|
|
1017
|
+
[data-ui-cascader] [data-part-node][data-disabled] {
|
|
1017
1018
|
color: var(--slotted-disabled-foreground, #64748b);
|
|
1018
1019
|
cursor: not-allowed;
|
|
1019
1020
|
}
|
|
1020
1021
|
|
|
1021
1022
|
/* The cursor lifts on a disabled node too; the ink and the ring step down. */
|
|
1022
|
-
[data-ui
|
|
1023
|
+
[data-ui-cascader] [data-part-node][data-disabled][data-current] {
|
|
1023
1024
|
box-shadow: inset 0 0 0 var(--slotted-border-width-thin, 1px)
|
|
1024
1025
|
var(--slotted-disabled-border, #cbd5e1);
|
|
1025
1026
|
}
|
|
1026
1027
|
|
|
1027
1028
|
/* ── The cells ────────────────────────────────────────────────────────── */
|
|
1028
1029
|
|
|
1029
|
-
[data-ui
|
|
1030
|
-
[data-part
|
|
1031
|
-
> :is([data-part
|
|
1030
|
+
[data-ui-cascader]
|
|
1031
|
+
[data-part-node]
|
|
1032
|
+
> :is([data-part-indicator], [data-part-icon], [data-part-expander]) {
|
|
1032
1033
|
block-size: 1lh;
|
|
1033
1034
|
}
|
|
1034
1035
|
|
|
@@ -1036,7 +1037,7 @@
|
|
|
1036
1037
|
* Track two: the node's own picture, content the consumer supplies and the
|
|
1037
1038
|
* column sizes. No stylesheet fills it.
|
|
1038
1039
|
*/
|
|
1039
|
-
[data-ui
|
|
1040
|
+
[data-ui-cascader] [data-part-node] > [data-part-icon] {
|
|
1040
1041
|
--slotted-icon-size: var(--_content-icon-size);
|
|
1041
1042
|
|
|
1042
1043
|
align-items: center;
|
|
@@ -1048,12 +1049,12 @@
|
|
|
1048
1049
|
margin-inline-end: var(--_column-gap);
|
|
1049
1050
|
}
|
|
1050
1051
|
|
|
1051
|
-
[data-ui
|
|
1052
|
+
[data-ui-cascader] [data-part-node] > [data-part-icon] > * {
|
|
1052
1053
|
font-size: var(--_content-icon-size);
|
|
1053
1054
|
}
|
|
1054
1055
|
|
|
1055
1056
|
/* Track three, the only one that gives way: two lines, then an ellipsis. */
|
|
1056
|
-
[data-ui
|
|
1057
|
+
[data-ui-cascader] [data-part-node] > [data-part-label] {
|
|
1057
1058
|
display: -webkit-box;
|
|
1058
1059
|
grid-column: 3;
|
|
1059
1060
|
grid-row: 1;
|
|
@@ -1068,7 +1069,7 @@
|
|
|
1068
1069
|
* The path of a search hit, or the line under a label. Quieter by the
|
|
1069
1070
|
* secondary step and never in the way of the label above it.
|
|
1070
1071
|
*/
|
|
1071
|
-
[data-ui
|
|
1072
|
+
[data-ui-cascader] [data-part-node] > [data-part-description] {
|
|
1072
1073
|
color: var(--_muted);
|
|
1073
1074
|
font-size: var(--_secondary-font-size);
|
|
1074
1075
|
grid-column: 3;
|
|
@@ -1080,12 +1081,12 @@
|
|
|
1080
1081
|
white-space: nowrap;
|
|
1081
1082
|
}
|
|
1082
1083
|
|
|
1083
|
-
[data-ui
|
|
1084
|
+
[data-ui-cascader] [data-part-node][data-disabled] > [data-part-description] {
|
|
1084
1085
|
color: inherit;
|
|
1085
1086
|
}
|
|
1086
1087
|
|
|
1087
1088
|
/* Track four: the count of a branch, or how many inside it are chosen. */
|
|
1088
|
-
[data-ui
|
|
1089
|
+
[data-ui-cascader] [data-part-node] > [data-part-meta] {
|
|
1089
1090
|
color: var(--_muted);
|
|
1090
1091
|
font-size: var(--_secondary-font-size);
|
|
1091
1092
|
font-variant-numeric: tabular-nums;
|
|
@@ -1096,8 +1097,8 @@
|
|
|
1096
1097
|
white-space: nowrap;
|
|
1097
1098
|
}
|
|
1098
1099
|
|
|
1099
|
-
[data-ui
|
|
1100
|
-
[data-ui
|
|
1100
|
+
[data-ui-cascader] [data-part-node][data-selected] > [data-part-meta],
|
|
1101
|
+
[data-ui-cascader] [data-part-node][data-indeterminate] > [data-part-meta] {
|
|
1101
1102
|
color: var(--_selected-color);
|
|
1102
1103
|
}
|
|
1103
1104
|
|
|
@@ -1106,7 +1107,7 @@
|
|
|
1106
1107
|
* direction, from the `directional` icon box the binding draws, and takes
|
|
1107
1108
|
* the label's ink on the path.
|
|
1108
1109
|
*/
|
|
1109
|
-
[data-ui
|
|
1110
|
+
[data-ui-cascader] [data-part-node] > [data-part-expander] {
|
|
1110
1111
|
--slotted-icon-size: var(--_content-icon-size);
|
|
1111
1112
|
|
|
1112
1113
|
align-items: center;
|
|
@@ -1122,27 +1123,25 @@
|
|
|
1122
1123
|
var(--slotted-control-transition-easing);
|
|
1123
1124
|
}
|
|
1124
1125
|
|
|
1125
|
-
[data-ui
|
|
1126
|
-
[data-part='node']:is([data-expanded], [data-current])
|
|
1127
|
-
> [data-part='expander'] {
|
|
1126
|
+
[data-ui-cascader] [data-part-node]:is([data-expanded], [data-current]) > [data-part-expander] {
|
|
1128
1127
|
color: inherit;
|
|
1129
1128
|
}
|
|
1130
1129
|
|
|
1131
|
-
[data-ui
|
|
1130
|
+
[data-ui-cascader] [data-part-node] > [data-part-expander] > [data-ui-icon] {
|
|
1132
1131
|
transition: rotate var(--slotted-control-transition-duration)
|
|
1133
1132
|
var(--slotted-control-transition-easing);
|
|
1134
1133
|
}
|
|
1135
1134
|
|
|
1136
1135
|
/* In the tree the level opens under the node, so the chevron turns down. */
|
|
1137
|
-
[data-ui
|
|
1138
|
-
[data-part
|
|
1139
|
-
> [data-part
|
|
1140
|
-
> [data-ui
|
|
1136
|
+
[data-ui-cascader][data-layout='tree']
|
|
1137
|
+
[data-part-node][data-expanded]
|
|
1138
|
+
> [data-part-expander]
|
|
1139
|
+
> [data-ui-icon] {
|
|
1141
1140
|
rotate: 90deg;
|
|
1142
1141
|
}
|
|
1143
1142
|
|
|
1144
1143
|
/* A branch whose level is on its way: the ring stands where the chevron stood. */
|
|
1145
|
-
[data-ui
|
|
1144
|
+
[data-ui-cascader] [data-part-expander] > [data-ui-spinner] {
|
|
1146
1145
|
--slotted-spinner-size: var(--_content-icon-size);
|
|
1147
1146
|
}
|
|
1148
1147
|
|
|
@@ -1151,7 +1150,7 @@
|
|
|
1151
1150
|
* track, because only a node that is not a branch — or a branch the consumer
|
|
1152
1151
|
* made selectable — carries it.
|
|
1153
1152
|
*/
|
|
1154
|
-
[data-ui
|
|
1153
|
+
[data-ui-cascader] [data-part-node] > [data-part-indicator] {
|
|
1155
1154
|
--slotted-icon-size: var(--_content-icon-size);
|
|
1156
1155
|
|
|
1157
1156
|
align-items: center;
|
|
@@ -1169,7 +1168,7 @@
|
|
|
1169
1168
|
scale var(--slotted-duration-short) var(--slotted-easing-exit);
|
|
1170
1169
|
}
|
|
1171
1170
|
|
|
1172
|
-
[data-ui
|
|
1171
|
+
[data-ui-cascader] [data-part-node][data-selected] > [data-part-indicator] {
|
|
1173
1172
|
opacity: 1;
|
|
1174
1173
|
scale: 1;
|
|
1175
1174
|
transition:
|
|
@@ -1183,7 +1182,7 @@
|
|
|
1183
1182
|
* same solid ground when chosen, and the mark — a check, or the dash while
|
|
1184
1183
|
* part of the branch is chosen — revealed along its stroke.
|
|
1185
1184
|
*/
|
|
1186
|
-
[data-ui
|
|
1185
|
+
[data-ui-cascader][data-selection='multiple'] [data-part-node] > [data-part-indicator] {
|
|
1187
1186
|
--_mark-inset: var(--slotted-cascader-mark-inset, 2px);
|
|
1188
1187
|
--_check-border: var(--slotted-border-width-medium, 1.5px);
|
|
1189
1188
|
--slotted-icon-size: calc(var(--_check-size) - 2 * var(--_mark-inset));
|
|
@@ -1209,10 +1208,10 @@
|
|
|
1209
1208
|
var(--slotted-control-transition-easing);
|
|
1210
1209
|
}
|
|
1211
1210
|
|
|
1212
|
-
[data-ui
|
|
1213
|
-
[data-part
|
|
1214
|
-
> [data-part
|
|
1215
|
-
> [data-ui
|
|
1211
|
+
[data-ui-cascader][data-selection='multiple']
|
|
1212
|
+
[data-part-node]
|
|
1213
|
+
> [data-part-indicator]
|
|
1214
|
+
> [data-ui-icon] {
|
|
1216
1215
|
clip-path: inset(0% 100% 0% 0%);
|
|
1217
1216
|
color: var(--slotted-tone-accent-on-solid);
|
|
1218
1217
|
inset-block-start: calc(var(--_mark-inset) - var(--_check-border));
|
|
@@ -1225,24 +1224,24 @@
|
|
|
1225
1224
|
opacity var(--slotted-duration-medium) var(--slotted-control-transition-easing);
|
|
1226
1225
|
}
|
|
1227
1226
|
|
|
1228
|
-
[data-ui
|
|
1229
|
-
[data-part
|
|
1230
|
-
> [data-part
|
|
1227
|
+
[data-ui-cascader][data-selection='multiple']
|
|
1228
|
+
[data-part-node]:is([data-selected], [data-indeterminate])
|
|
1229
|
+
> [data-part-indicator] {
|
|
1231
1230
|
background-color: var(--slotted-tone-accent-solid);
|
|
1232
1231
|
border-color: var(--slotted-tone-accent-solid);
|
|
1233
1232
|
}
|
|
1234
1233
|
|
|
1235
|
-
[data-ui
|
|
1236
|
-
[data-part
|
|
1237
|
-
> [data-part
|
|
1238
|
-
> [data-ui
|
|
1234
|
+
[data-ui-cascader][data-selection='multiple']
|
|
1235
|
+
[data-part-node]:is([data-selected], [data-indeterminate])
|
|
1236
|
+
> [data-part-indicator]
|
|
1237
|
+
> [data-ui-icon] {
|
|
1239
1238
|
clip-path: inset(0% 0% 0% 0%);
|
|
1240
1239
|
opacity: 1;
|
|
1241
1240
|
}
|
|
1242
1241
|
|
|
1243
|
-
[data-ui
|
|
1244
|
-
[data-part
|
|
1245
|
-
> [data-part
|
|
1242
|
+
[data-ui-cascader][data-selection='multiple']
|
|
1243
|
+
[data-part-node][data-disabled]
|
|
1244
|
+
> [data-part-indicator] {
|
|
1246
1245
|
background-color: var(--slotted-disabled-background, Canvas);
|
|
1247
1246
|
border-color: var(--slotted-disabled-border, GrayText);
|
|
1248
1247
|
}
|
|
@@ -1254,7 +1253,7 @@
|
|
|
1254
1253
|
* the height of a node, descending in width, from `skeleton`'s sheet. The
|
|
1255
1254
|
* column's `aria-busy` is what a reader hears.
|
|
1256
1255
|
*/
|
|
1257
|
-
[data-ui
|
|
1256
|
+
[data-ui-cascader] [data-part-loader] {
|
|
1258
1257
|
align-items: center;
|
|
1259
1258
|
display: flex;
|
|
1260
1259
|
grid-column: 1 / -1;
|
|
@@ -1262,15 +1261,15 @@
|
|
|
1262
1261
|
padding-inline: var(--_item-inset);
|
|
1263
1262
|
}
|
|
1264
1263
|
|
|
1265
|
-
[data-ui
|
|
1264
|
+
[data-ui-cascader] [data-part-loader] > [data-ui-skeleton] {
|
|
1266
1265
|
flex: 1 1 auto;
|
|
1267
1266
|
}
|
|
1268
1267
|
|
|
1269
|
-
[data-ui
|
|
1268
|
+
[data-ui-cascader] [data-part-loader]:nth-child(3n + 2) > [data-ui-skeleton] {
|
|
1270
1269
|
flex: 0 1 78%;
|
|
1271
1270
|
}
|
|
1272
1271
|
|
|
1273
|
-
[data-ui
|
|
1272
|
+
[data-ui-cascader] [data-part-loader]:nth-child(3n) > [data-ui-skeleton] {
|
|
1274
1273
|
flex: 0 1 56%;
|
|
1275
1274
|
}
|
|
1276
1275
|
|
|
@@ -1279,7 +1278,7 @@
|
|
|
1279
1278
|
* with its retry. Centred sentences in their own bidi run, as `select`'s are,
|
|
1280
1279
|
* and never narrower than a word.
|
|
1281
1280
|
*/
|
|
1282
|
-
[data-ui
|
|
1281
|
+
[data-ui-cascader] :is([data-part-empty], [data-part-status]) {
|
|
1283
1282
|
align-items: center;
|
|
1284
1283
|
color: var(--_muted);
|
|
1285
1284
|
display: flex;
|
|
@@ -1293,26 +1292,26 @@
|
|
|
1293
1292
|
unicode-bidi: plaintext;
|
|
1294
1293
|
}
|
|
1295
1294
|
|
|
1296
|
-
[data-ui
|
|
1295
|
+
[data-ui-cascader] [data-part-status]:empty {
|
|
1297
1296
|
display: none;
|
|
1298
1297
|
}
|
|
1299
1298
|
|
|
1300
1299
|
/* ── Forced colours ───────────────────────────────────────────────────── */
|
|
1301
1300
|
|
|
1302
1301
|
@media (forced-colors: active) {
|
|
1303
|
-
[data-ui
|
|
1302
|
+
[data-ui-cascader] [data-part-node][data-current] {
|
|
1304
1303
|
background-color: Highlight;
|
|
1305
1304
|
color: HighlightText;
|
|
1306
1305
|
forced-color-adjust: none;
|
|
1307
1306
|
}
|
|
1308
1307
|
|
|
1309
|
-
[data-ui
|
|
1308
|
+
[data-ui-cascader] [data-part-node][data-disabled][data-current] {
|
|
1310
1309
|
background-color: Highlight;
|
|
1311
1310
|
color: GrayText;
|
|
1312
1311
|
}
|
|
1313
1312
|
|
|
1314
1313
|
/* The path would lose its ground to Canvas: an outline keeps the road. */
|
|
1315
|
-
[data-ui
|
|
1314
|
+
[data-ui-cascader] [data-part-node][data-expanded]:not([data-current]) {
|
|
1316
1315
|
outline: 1px solid CanvasText;
|
|
1317
1316
|
outline-offset: -1px;
|
|
1318
1317
|
}
|