@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
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* A set of disclosures that share a value.
|
|
4
4
|
*
|
|
5
5
|
* Nothing here selects into `collapsible`. A rule reaching
|
|
6
|
-
* `[data-ui
|
|
6
|
+
* `[data-ui-collapsible]` from this stylesheet would make one family's DOM
|
|
7
7
|
* part of another's contract, so moving an item inside a wrapper would change
|
|
8
8
|
* its appearance with no test to notice — the rule `checkbox-group` set for
|
|
9
9
|
* every group family in the library. The group arranges its items and draws
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* The set is a single column. A horizontally stacked set of sections of which
|
|
14
14
|
* one is open is a tab list, and `tabs` owns it.
|
|
15
15
|
*/
|
|
16
|
-
[data-ui
|
|
16
|
+
[data-ui-accordion] {
|
|
17
17
|
--_rule-size: var(--slotted-border-width-thin, 1px);
|
|
18
18
|
/**
|
|
19
19
|
* The distance between two cards under `separated`. Every other variant
|
|
@@ -28,11 +28,11 @@
|
|
|
28
28
|
min-inline-size: 0;
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
-
[data-ui
|
|
31
|
+
[data-ui-accordion][data-size='sm'] {
|
|
32
32
|
--_gap: var(--slotted-space-3, 0.375rem);
|
|
33
33
|
}
|
|
34
34
|
|
|
35
|
-
[data-ui
|
|
35
|
+
[data-ui-accordion][data-size='lg'] {
|
|
36
36
|
--_gap: var(--slotted-space-5, 0.75rem);
|
|
37
37
|
}
|
|
38
38
|
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
* one list and what keeps an item from having to know whether it is the last
|
|
44
44
|
* one. The bottom of the stack is the set's own edge, so the set draws it.
|
|
45
45
|
*/
|
|
46
|
-
[data-ui
|
|
46
|
+
[data-ui-accordion][data-variant='ruled'] {
|
|
47
47
|
border-block-end: var(--_rule-size) solid
|
|
48
48
|
var(--slotted-accordion-rule-color, var(--slotted-border-subtle, ButtonBorder));
|
|
49
49
|
}
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
* own edge is the rule above the first item and below the last, and `clip` is
|
|
54
54
|
* what makes the corner an item's hover fill meets the corner the frame drew.
|
|
55
55
|
*/
|
|
56
|
-
[data-ui
|
|
56
|
+
[data-ui-accordion][data-variant='framed'] {
|
|
57
57
|
background-color: var(--slotted-accordion-surface, var(--slotted-surface-raised, Canvas));
|
|
58
58
|
border: var(--_rule-size) solid
|
|
59
59
|
var(--slotted-accordion-rule-color, var(--slotted-border-subtle, ButtonBorder));
|
|
@@ -70,9 +70,9 @@
|
|
|
70
70
|
* The child is reached structurally rather than by its identity. Which
|
|
71
71
|
* element is first is the group's own layout fact; what that element is
|
|
72
72
|
* inside remains the item family's, which is why nothing here names
|
|
73
|
-
* `[data-ui
|
|
73
|
+
* `[data-ui-collapsible]` or one of its parts.
|
|
74
74
|
*/
|
|
75
|
-
[data-ui
|
|
75
|
+
[data-ui-accordion][data-variant='framed'] > :first-child {
|
|
76
76
|
border-block-start-color: transparent;
|
|
77
77
|
}
|
|
78
78
|
|
|
@@ -81,7 +81,7 @@
|
|
|
81
81
|
* border and radius, and the only thing left for the set is the air between
|
|
82
82
|
* them.
|
|
83
83
|
*/
|
|
84
|
-
[data-ui
|
|
84
|
+
[data-ui-accordion][data-variant='separated'] {
|
|
85
85
|
row-gap: var(--slotted-accordion-gap, var(--_gap));
|
|
86
86
|
}
|
|
87
87
|
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
* native one, which is what actually stops the press; this is the colour that
|
|
91
91
|
* says so for the words the set draws itself, if a consumer puts any in it.
|
|
92
92
|
*/
|
|
93
|
-
[data-ui
|
|
93
|
+
[data-ui-accordion][data-disabled] {
|
|
94
94
|
color: var(--slotted-disabled-foreground, GrayText);
|
|
95
95
|
}
|
|
96
96
|
}
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
* overflow trigger. Everything else a reader sees belongs to the control the
|
|
19
19
|
* consumer placed.
|
|
20
20
|
*/
|
|
21
|
-
[data-ui
|
|
21
|
+
[data-ui-action-bar] {
|
|
22
22
|
/**
|
|
23
23
|
* The bar's own rhythm, from the control scales, so the three densities
|
|
24
24
|
* move it without a rule of their own.
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
padding-inline: var(--slotted-action-bar-inset-inline, var(--_inset-inline));
|
|
57
57
|
}
|
|
58
58
|
|
|
59
|
-
[data-ui
|
|
59
|
+
[data-ui-action-bar][data-size='sm'] {
|
|
60
60
|
--_gap: var(--slotted-control-gap-sm, 0.375rem);
|
|
61
61
|
--_inset-block: var(--slotted-space-3, 0.375rem);
|
|
62
62
|
--_inset-inline: var(--slotted-space-4, 0.5rem);
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
--_separator-inset: var(--slotted-space-1, 0.125rem);
|
|
67
67
|
}
|
|
68
68
|
|
|
69
|
-
[data-ui
|
|
69
|
+
[data-ui-action-bar][data-size='lg'] {
|
|
70
70
|
--_gap: var(--slotted-control-gap-lg, 0.5rem);
|
|
71
71
|
--_inset-block: var(--slotted-space-5, 0.75rem);
|
|
72
72
|
--_inset-inline: var(--slotted-space-6, 1rem);
|
|
@@ -82,8 +82,8 @@
|
|
|
82
82
|
* still consumes the gap of the column that holds it — and, under `raised`,
|
|
83
83
|
* draws a rule straight across the screen with nothing under it.
|
|
84
84
|
*/
|
|
85
|
-
[data-ui
|
|
86
|
-
:has([data-part
|
|
85
|
+
[data-ui-action-bar]:not(:has([data-part-actions] > *:not([hidden]))):not(
|
|
86
|
+
:has([data-part-status])
|
|
87
87
|
) {
|
|
88
88
|
display: none;
|
|
89
89
|
}
|
|
@@ -99,7 +99,7 @@
|
|
|
99
99
|
* or above a table. It takes the surface and one hairline at the top, which
|
|
100
100
|
* is the whole of the separation a bar at the end of a region needs.
|
|
101
101
|
*/
|
|
102
|
-
[data-ui
|
|
102
|
+
[data-ui-action-bar][data-variant='raised'] {
|
|
103
103
|
background-color: var(--slotted-action-bar-background, var(--slotted-surface, Canvas));
|
|
104
104
|
border-block-start: var(--slotted-border-width-thin, 1px) solid
|
|
105
105
|
var(--slotted-action-bar-border-color, var(--slotted-border-subtle, ButtonBorder));
|
|
@@ -120,7 +120,7 @@
|
|
|
120
120
|
* of the surveyed implementations composes with the page's own chrome; each
|
|
121
121
|
* of them fixes the bar and then compensates.
|
|
122
122
|
*/
|
|
123
|
-
[data-ui
|
|
123
|
+
[data-ui-action-bar][data-sticky] {
|
|
124
124
|
inset-block-end: var(--slotted-page-sticky-bottom, 0px);
|
|
125
125
|
position: sticky;
|
|
126
126
|
z-index: var(--slotted-z-index-sticky, 100);
|
|
@@ -133,13 +133,13 @@
|
|
|
133
133
|
* existence under the reader's hands is the jump
|
|
134
134
|
* `docs/component-features.md` §11 forbids by name.
|
|
135
135
|
*/
|
|
136
|
-
[data-ui
|
|
136
|
+
[data-ui-action-bar][data-status] {
|
|
137
137
|
transition:
|
|
138
138
|
translate var(--_duration) var(--_easing),
|
|
139
139
|
opacity var(--_duration) var(--_easing);
|
|
140
140
|
}
|
|
141
141
|
|
|
142
|
-
[data-ui
|
|
142
|
+
[data-ui-action-bar]:is([data-status='entering'], [data-status='exiting']) {
|
|
143
143
|
opacity: 0;
|
|
144
144
|
translate: 0 100%;
|
|
145
145
|
}
|
|
@@ -151,7 +151,7 @@
|
|
|
151
151
|
* what is selected. It takes what is left over and gives way first, so a long
|
|
152
152
|
* message shortens itself rather than pushing the actions off the bar.
|
|
153
153
|
*/
|
|
154
|
-
[data-ui
|
|
154
|
+
[data-ui-action-bar] [data-part-status] {
|
|
155
155
|
align-items: center;
|
|
156
156
|
color: var(--slotted-action-bar-status-color, var(--slotted-text-muted, GrayText));
|
|
157
157
|
display: flex;
|
|
@@ -171,7 +171,7 @@
|
|
|
171
171
|
* action and never the last action itself. The property is logical, so the
|
|
172
172
|
* anchor mirrors with the bar in a right-to-left document.
|
|
173
173
|
*/
|
|
174
|
-
[data-ui
|
|
174
|
+
[data-ui-action-bar] [data-part-actions] {
|
|
175
175
|
align-items: center;
|
|
176
176
|
display: flex;
|
|
177
177
|
flex: 0 0 auto;
|
|
@@ -196,12 +196,12 @@
|
|
|
196
196
|
* buttons, Polaris puts them at the end, Fluent at the start. The anchor is
|
|
197
197
|
* what `end` is, so the other two are the ones that state a margin.
|
|
198
198
|
*/
|
|
199
|
-
[data-ui
|
|
199
|
+
[data-ui-action-bar][data-align='start'] [data-part-actions] {
|
|
200
200
|
justify-content: flex-start;
|
|
201
201
|
margin-inline: 0 auto;
|
|
202
202
|
}
|
|
203
203
|
|
|
204
|
-
[data-ui
|
|
204
|
+
[data-ui-action-bar][data-align='center'] [data-part-actions] {
|
|
205
205
|
justify-content: center;
|
|
206
206
|
margin-inline: auto;
|
|
207
207
|
}
|
|
@@ -210,8 +210,7 @@
|
|
|
210
210
|
* A bar with no status region at all still puts its run where `align` says,
|
|
211
211
|
* which without this is where the first `auto` margin happens to leave it.
|
|
212
212
|
*/
|
|
213
|
-
[data-ui
|
|
214
|
-
[data-part='actions'] {
|
|
213
|
+
[data-ui-action-bar][data-align='center']:not(:has([data-part-status])) [data-part-actions] {
|
|
215
214
|
margin-inline: auto;
|
|
216
215
|
}
|
|
217
216
|
|
|
@@ -225,7 +224,7 @@
|
|
|
225
224
|
* It paints nothing: everything a reader sees inside it belongs to the
|
|
226
225
|
* control the consumer placed.
|
|
227
226
|
*/
|
|
228
|
-
[data-ui
|
|
227
|
+
[data-ui-action-bar] [data-part-action] {
|
|
229
228
|
align-items: center;
|
|
230
229
|
display: inline-flex;
|
|
231
230
|
flex: none;
|
|
@@ -239,8 +238,8 @@
|
|
|
239
238
|
* and without this every collapsed unit stays on the bar and the collapse
|
|
240
239
|
* does nothing at all.
|
|
241
240
|
*/
|
|
242
|
-
[data-ui
|
|
243
|
-
:is([data-part
|
|
241
|
+
[data-ui-action-bar]
|
|
242
|
+
:is([data-part-action], [data-part-separator], [data-part-overflow])[hidden] {
|
|
244
243
|
display: none;
|
|
245
244
|
}
|
|
246
245
|
|
|
@@ -257,7 +256,7 @@
|
|
|
257
256
|
* It is a part of this family rather than the `divider` family because its
|
|
258
257
|
* geometry belongs to the bar: it is measured against the controls beside it.
|
|
259
258
|
*/
|
|
260
|
-
[data-ui
|
|
259
|
+
[data-ui-action-bar] [data-part-separator] {
|
|
261
260
|
align-self: stretch;
|
|
262
261
|
background-color: var(
|
|
263
262
|
--slotted-action-bar-separator-color,
|
|
@@ -283,7 +282,7 @@
|
|
|
283
282
|
* Its accessible name carries the count, so what a reader hears is a number
|
|
284
283
|
* rather than three dots.
|
|
285
284
|
*/
|
|
286
|
-
[data-ui
|
|
285
|
+
[data-ui-action-bar] [data-part-overflow] {
|
|
287
286
|
align-items: center;
|
|
288
287
|
appearance: none;
|
|
289
288
|
background-color: transparent;
|
|
@@ -321,7 +320,7 @@
|
|
|
321
320
|
}
|
|
322
321
|
|
|
323
322
|
/* The ground moves under the pointer and nothing else does. */
|
|
324
|
-
[data-ui
|
|
323
|
+
[data-ui-action-bar] [data-part-overflow]:not(:disabled):hover {
|
|
325
324
|
background-color: var(
|
|
326
325
|
--slotted-action-bar-overflow-hover-background,
|
|
327
326
|
var(--slotted-tone-secondary-subtle-hover)
|
|
@@ -329,7 +328,7 @@
|
|
|
329
328
|
color: var(--slotted-action-bar-overflow-hover-color, var(--slotted-text, CanvasText));
|
|
330
329
|
}
|
|
331
330
|
|
|
332
|
-
[data-ui
|
|
331
|
+
[data-ui-action-bar] [data-part-overflow]:not(:disabled):active {
|
|
333
332
|
background-color: var(
|
|
334
333
|
--slotted-action-bar-overflow-active-background,
|
|
335
334
|
var(--slotted-tone-secondary-subtle-active)
|
|
@@ -341,7 +340,7 @@
|
|
|
341
340
|
* reader who moved the pointer off the trigger loses every sign of which
|
|
342
341
|
* control the layer belongs to.
|
|
343
342
|
*/
|
|
344
|
-
[data-ui
|
|
343
|
+
[data-ui-action-bar] [data-part-overflow][data-open] {
|
|
345
344
|
background-color: var(
|
|
346
345
|
--slotted-action-bar-overflow-open-background,
|
|
347
346
|
var(--slotted-tone-secondary-subtle-active)
|
|
@@ -355,12 +354,12 @@
|
|
|
355
354
|
* looking operable, and it answers neither hover nor press, which is the
|
|
356
355
|
* precedence `docs/state-and-events.md` fixes.
|
|
357
356
|
*/
|
|
358
|
-
[data-ui
|
|
357
|
+
[data-ui-action-bar] [data-part-overflow]:disabled {
|
|
359
358
|
color: var(--slotted-disabled-foreground, GrayText);
|
|
360
359
|
cursor: default;
|
|
361
360
|
}
|
|
362
361
|
|
|
363
|
-
[data-ui
|
|
362
|
+
[data-ui-action-bar] [data-part-overflow]:focus-visible {
|
|
364
363
|
outline: var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);
|
|
365
364
|
outline-offset: var(--slotted-focus-ring-offset, 2px);
|
|
366
365
|
}
|
|
@@ -389,7 +388,7 @@
|
|
|
389
388
|
* the order a form is read in, and only the paint is reversed. `stretch`
|
|
390
389
|
* fills the column, because a column of natural widths is a ragged edge.
|
|
391
390
|
*/
|
|
392
|
-
[data-ui
|
|
391
|
+
[data-ui-action-bar] [data-part-actions] {
|
|
393
392
|
--_stacked: 1;
|
|
394
393
|
|
|
395
394
|
align-items: stretch;
|
|
@@ -398,7 +397,7 @@
|
|
|
398
397
|
margin-inline: 0;
|
|
399
398
|
}
|
|
400
399
|
|
|
401
|
-
[data-ui
|
|
400
|
+
[data-ui-action-bar] [data-part-action] > * {
|
|
402
401
|
inline-size: 100%;
|
|
403
402
|
}
|
|
404
403
|
|
|
@@ -409,7 +408,7 @@
|
|
|
409
408
|
* painted at the top of the column by the reversal, which is where the
|
|
410
409
|
* action that confirms belongs.
|
|
411
410
|
*/
|
|
412
|
-
[data-ui
|
|
411
|
+
[data-ui-action-bar] [data-part-overflow] {
|
|
413
412
|
display: none;
|
|
414
413
|
}
|
|
415
414
|
|
|
@@ -417,7 +416,7 @@
|
|
|
417
416
|
* A rule that divided two controls in a row divides two rows here, so it
|
|
418
417
|
* turns with them.
|
|
419
418
|
*/
|
|
420
|
-
[data-ui
|
|
419
|
+
[data-ui-action-bar] [data-part-separator] {
|
|
421
420
|
block-size: var(--slotted-border-width-thin, 1px);
|
|
422
421
|
inline-size: auto;
|
|
423
422
|
margin-block: calc(var(--_gap) / 2);
|
|
@@ -425,14 +424,14 @@
|
|
|
425
424
|
min-block-size: 0;
|
|
426
425
|
}
|
|
427
426
|
|
|
428
|
-
[data-ui
|
|
427
|
+
[data-ui-action-bar] [data-part-status] {
|
|
429
428
|
flex: 1 1 100%;
|
|
430
429
|
}
|
|
431
430
|
|
|
432
431
|
/* What the consumer put in the status, addressed as the part's child and
|
|
433
432
|
never by a class of its own: while the bar is a column the status fills
|
|
434
433
|
the row, as an action does two rules above. */
|
|
435
|
-
[data-ui
|
|
434
|
+
[data-ui-action-bar] [data-part-status] > * {
|
|
436
435
|
align-content: space-between;
|
|
437
436
|
inline-size: 100%;
|
|
438
437
|
}
|
|
@@ -447,7 +446,7 @@
|
|
|
447
446
|
* destructive action and a frequent one is still there to read.
|
|
448
447
|
*/
|
|
449
448
|
@media (forced-colors: active) {
|
|
450
|
-
[data-ui
|
|
449
|
+
[data-ui-action-bar] [data-part-separator] {
|
|
451
450
|
background-color: CanvasText;
|
|
452
451
|
forced-color-adjust: none;
|
|
453
452
|
}
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
* Every part is reached with a child combinator, except the rows of the
|
|
23
23
|
* list, which a group may hold one level down.
|
|
24
24
|
*/
|
|
25
|
-
[data-ui
|
|
25
|
+
[data-ui-action-sheet] {
|
|
26
26
|
/** The row's inset, which the header, every item and the footer share. */
|
|
27
27
|
--_inset: var(--slotted-control-padding-inline-lg, 16px);
|
|
28
28
|
--_gap: var(--slotted-control-gap-lg, 8px);
|
|
@@ -93,7 +93,7 @@
|
|
|
93
93
|
}
|
|
94
94
|
|
|
95
95
|
@media (pointer: coarse) {
|
|
96
|
-
[data-ui
|
|
96
|
+
[data-ui-action-sheet] {
|
|
97
97
|
--_label-size: var(--slotted-font-size-lg, 1rem);
|
|
98
98
|
}
|
|
99
99
|
}
|
|
@@ -105,7 +105,7 @@
|
|
|
105
105
|
* set small and the actions large — the hierarchy UIKit and Ionic draw, and
|
|
106
106
|
* the reverse of `drawer`, whose title names a task the body carries out.
|
|
107
107
|
*/
|
|
108
|
-
[data-ui
|
|
108
|
+
[data-ui-action-sheet] > [data-part-header] {
|
|
109
109
|
border-block-end: var(--_rule-size) solid var(--_rule);
|
|
110
110
|
display: grid;
|
|
111
111
|
padding-block: var(--slotted-space-6, 1rem) var(--slotted-space-5, 0.75rem);
|
|
@@ -113,7 +113,7 @@
|
|
|
113
113
|
row-gap: var(--slotted-space-1, 0.125rem);
|
|
114
114
|
}
|
|
115
115
|
|
|
116
|
-
[data-ui
|
|
116
|
+
[data-ui-action-sheet] [data-part-title] {
|
|
117
117
|
color: var(--slotted-text, CanvasText);
|
|
118
118
|
font-family: var(
|
|
119
119
|
--slotted-font-family-heading,
|
|
@@ -126,7 +126,7 @@
|
|
|
126
126
|
overflow-wrap: anywhere;
|
|
127
127
|
}
|
|
128
128
|
|
|
129
|
-
[data-ui
|
|
129
|
+
[data-ui-action-sheet] [data-part-message] {
|
|
130
130
|
color: var(--_muted);
|
|
131
131
|
font-size: var(--slotted-font-size-sm, 0.8125rem);
|
|
132
132
|
line-height: var(--slotted-line-height-sm, 1.45);
|
|
@@ -147,7 +147,7 @@
|
|
|
147
147
|
* row was 44 pixels and a three-line label was painted over the two items
|
|
148
148
|
* below it.
|
|
149
149
|
*/
|
|
150
|
-
[data-ui
|
|
150
|
+
[data-ui-action-sheet] > [data-part-list] {
|
|
151
151
|
--_mark: 0px;
|
|
152
152
|
--_column-gap: 0px;
|
|
153
153
|
|
|
@@ -170,7 +170,7 @@
|
|
|
170
170
|
padding-inline: var(--_list-inset);
|
|
171
171
|
}
|
|
172
172
|
|
|
173
|
-
[data-ui
|
|
173
|
+
[data-ui-action-sheet] > [data-part-list]:has([data-part-icon]) {
|
|
174
174
|
--_mark: var(--_icon-size);
|
|
175
175
|
--_column-gap: var(--_gap);
|
|
176
176
|
}
|
|
@@ -179,17 +179,17 @@
|
|
|
179
179
|
* The home indicator sits under the last row of a sheet with no footer, so
|
|
180
180
|
* that row carries the bottom inset instead.
|
|
181
181
|
*/
|
|
182
|
-
[data-ui
|
|
182
|
+
[data-ui-action-sheet]:not(:has(> [data-part-footer])) > [data-part-list] {
|
|
183
183
|
padding-block-end: calc(var(--slotted-space-2, 0.25rem) + env(safe-area-inset-bottom, 0px));
|
|
184
184
|
}
|
|
185
185
|
|
|
186
|
-
[data-ui
|
|
186
|
+
[data-ui-action-sheet] [data-part-group] {
|
|
187
187
|
display: grid;
|
|
188
188
|
grid-auto-rows: max-content;
|
|
189
189
|
grid-template-columns: minmax(0, 1fr);
|
|
190
190
|
}
|
|
191
191
|
|
|
192
|
-
[data-ui
|
|
192
|
+
[data-ui-action-sheet] [data-part-group-label] {
|
|
193
193
|
color: var(--_muted);
|
|
194
194
|
font-size: var(--slotted-font-size-sm, 0.8125rem);
|
|
195
195
|
font-weight: var(--slotted-font-weight-semibold, 600);
|
|
@@ -198,7 +198,7 @@
|
|
|
198
198
|
padding-inline: calc(var(--_inset) - var(--_list-inset));
|
|
199
199
|
}
|
|
200
200
|
|
|
201
|
-
[data-ui
|
|
201
|
+
[data-ui-action-sheet] [data-part-separator] {
|
|
202
202
|
background-color: var(--_rule);
|
|
203
203
|
block-size: var(--_rule-size);
|
|
204
204
|
border: 0;
|
|
@@ -215,7 +215,7 @@
|
|
|
215
215
|
* `min-block-size` rather than a height, because an item with a description
|
|
216
216
|
* is two lines tall and still has to clear the target.
|
|
217
217
|
*/
|
|
218
|
-
[data-ui
|
|
218
|
+
[data-ui-action-sheet] [data-part-item] {
|
|
219
219
|
align-content: center;
|
|
220
220
|
appearance: none;
|
|
221
221
|
background: transparent;
|
|
@@ -251,13 +251,13 @@
|
|
|
251
251
|
* pointer that has not moved focus yet, before the script has run, still
|
|
252
252
|
* gets the hover.
|
|
253
253
|
*/
|
|
254
|
-
[data-ui
|
|
254
|
+
[data-ui-action-sheet] [data-part-item]:focus {
|
|
255
255
|
background-color: var(--_highlight);
|
|
256
256
|
outline: none;
|
|
257
257
|
}
|
|
258
258
|
|
|
259
259
|
@media (hover: hover) {
|
|
260
|
-
[data-ui
|
|
260
|
+
[data-ui-action-sheet] [data-part-item]:hover:not([data-disabled]):not([data-loading]) {
|
|
261
261
|
background-color: var(--_highlight);
|
|
262
262
|
}
|
|
263
263
|
}
|
|
@@ -266,12 +266,12 @@
|
|
|
266
266
|
* Inset, so the ring follows the row's own corner and never meets the
|
|
267
267
|
* neighbour's edge.
|
|
268
268
|
*/
|
|
269
|
-
[data-ui
|
|
269
|
+
[data-ui-action-sheet] [data-part-item]:focus-visible {
|
|
270
270
|
outline: var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);
|
|
271
271
|
outline-offset: calc(-1 * var(--slotted-focus-ring-width, 2px));
|
|
272
272
|
}
|
|
273
273
|
|
|
274
|
-
[data-ui
|
|
274
|
+
[data-ui-action-sheet] [data-part-item]:active:not([data-disabled]):not([data-loading]) {
|
|
275
275
|
background-color: var(--_highlight-active);
|
|
276
276
|
}
|
|
277
277
|
|
|
@@ -279,16 +279,16 @@
|
|
|
279
279
|
* Focusable and inert, as the menu pattern requires, and legible rather than
|
|
280
280
|
* faded: the words keep the theme's disabled ink at its contrast.
|
|
281
281
|
*/
|
|
282
|
-
[data-ui
|
|
282
|
+
[data-ui-action-sheet] [data-part-item][data-disabled] {
|
|
283
283
|
color: var(--slotted-disabled-foreground, GrayText);
|
|
284
284
|
cursor: not-allowed;
|
|
285
285
|
}
|
|
286
286
|
|
|
287
|
-
[data-ui
|
|
287
|
+
[data-ui-action-sheet] [data-part-item][data-disabled]:focus {
|
|
288
288
|
background-color: var(--slotted-disabled-background, ButtonFace);
|
|
289
289
|
}
|
|
290
290
|
|
|
291
|
-
[data-ui
|
|
291
|
+
[data-ui-action-sheet] [data-part-item][data-loading] {
|
|
292
292
|
cursor: progress;
|
|
293
293
|
}
|
|
294
294
|
|
|
@@ -298,7 +298,7 @@
|
|
|
298
298
|
* The mark sits on the label's first line rather than on the middle of a
|
|
299
299
|
* two-line item: the line box is the item's, and the box is one line tall.
|
|
300
300
|
*/
|
|
301
|
-
[data-ui
|
|
301
|
+
[data-ui-action-sheet] [data-part-icon] {
|
|
302
302
|
--slotted-icon-size: var(--_icon-size);
|
|
303
303
|
--slotted-spinner-size: var(--_icon-size);
|
|
304
304
|
|
|
@@ -311,19 +311,19 @@
|
|
|
311
311
|
justify-content: center;
|
|
312
312
|
}
|
|
313
313
|
|
|
314
|
-
[data-ui
|
|
314
|
+
[data-ui-action-sheet] [data-part-icon] > * {
|
|
315
315
|
flex: none;
|
|
316
316
|
font-size: var(--_icon-size);
|
|
317
317
|
}
|
|
318
318
|
|
|
319
|
-
[data-ui
|
|
319
|
+
[data-ui-action-sheet] [data-part-label] {
|
|
320
320
|
grid-column: 2;
|
|
321
321
|
grid-row: 1;
|
|
322
322
|
min-inline-size: 0;
|
|
323
323
|
overflow-wrap: anywhere;
|
|
324
324
|
}
|
|
325
325
|
|
|
326
|
-
[data-ui
|
|
326
|
+
[data-ui-action-sheet] [data-part-description] {
|
|
327
327
|
color: var(--_muted);
|
|
328
328
|
font-size: var(--slotted-font-size-sm, 0.8125rem);
|
|
329
329
|
grid-column: 2;
|
|
@@ -333,7 +333,7 @@
|
|
|
333
333
|
overflow-wrap: anywhere;
|
|
334
334
|
}
|
|
335
335
|
|
|
336
|
-
[data-ui
|
|
336
|
+
[data-ui-action-sheet] [data-part-item][data-disabled] > [data-part-description] {
|
|
337
337
|
color: inherit;
|
|
338
338
|
}
|
|
339
339
|
|
|
@@ -344,31 +344,31 @@
|
|
|
344
344
|
* The tone paints the words, the mark and the highlight together; `danger`
|
|
345
345
|
* is the destructive action.
|
|
346
346
|
*/
|
|
347
|
-
[data-ui
|
|
347
|
+
[data-ui-action-sheet] [data-part-item][data-tone='accent'] {
|
|
348
348
|
--_accent: var(--slotted-tone-accent-text);
|
|
349
349
|
--_highlight: var(--slotted-tone-accent-surface);
|
|
350
350
|
--_highlight-active: var(--slotted-tone-accent-subtle-active);
|
|
351
351
|
}
|
|
352
352
|
|
|
353
|
-
[data-ui
|
|
353
|
+
[data-ui-action-sheet] [data-part-item][data-tone='secondary'] {
|
|
354
354
|
--_accent: var(--slotted-tone-secondary-text);
|
|
355
355
|
--_highlight: var(--slotted-tone-secondary-surface);
|
|
356
356
|
--_highlight-active: var(--slotted-tone-secondary-subtle-active);
|
|
357
357
|
}
|
|
358
358
|
|
|
359
|
-
[data-ui
|
|
359
|
+
[data-ui-action-sheet] [data-part-item][data-tone='success'] {
|
|
360
360
|
--_accent: var(--slotted-tone-success-text);
|
|
361
361
|
--_highlight: var(--slotted-tone-success-surface);
|
|
362
362
|
--_highlight-active: var(--slotted-tone-success-subtle-active);
|
|
363
363
|
}
|
|
364
364
|
|
|
365
|
-
[data-ui
|
|
365
|
+
[data-ui-action-sheet] [data-part-item][data-tone='warning'] {
|
|
366
366
|
--_accent: var(--slotted-tone-warning-text);
|
|
367
367
|
--_highlight: var(--slotted-tone-warning-surface);
|
|
368
368
|
--_highlight-active: var(--slotted-tone-warning-subtle-active);
|
|
369
369
|
}
|
|
370
370
|
|
|
371
|
-
[data-ui
|
|
371
|
+
[data-ui-action-sheet] [data-part-item][data-tone='danger'] {
|
|
372
372
|
--_accent: var(--slotted-tone-danger-text);
|
|
373
373
|
--_highlight: var(--slotted-tone-danger-surface);
|
|
374
374
|
--_highlight-active: var(--slotted-tone-danger-subtle-active);
|
|
@@ -381,7 +381,7 @@
|
|
|
381
381
|
* more action. It carries the bottom safe-area inset, which is where a
|
|
382
382
|
* phone's home indicator sits.
|
|
383
383
|
*/
|
|
384
|
-
[data-ui
|
|
384
|
+
[data-ui-action-sheet] > [data-part-footer] {
|
|
385
385
|
background: var(--slotted-action-sheet-footer-surface, var(--slotted-surface-sunken, Canvas));
|
|
386
386
|
border-block-start: var(--_rule-size) solid var(--_rule);
|
|
387
387
|
display: grid;
|
|
@@ -395,7 +395,7 @@
|
|
|
395
395
|
* A button with a face, on the band: the one control of the sheet that is
|
|
396
396
|
* not an item, and the one that always works — it is never disabled.
|
|
397
397
|
*/
|
|
398
|
-
[data-ui
|
|
398
|
+
[data-ui-action-sheet] [data-part-cancel] {
|
|
399
399
|
appearance: none;
|
|
400
400
|
background: var(--slotted-control-surface, ButtonFace);
|
|
401
401
|
border: var(--slotted-control-border-width, 1px) solid
|
|
@@ -421,7 +421,7 @@
|
|
|
421
421
|
}
|
|
422
422
|
|
|
423
423
|
@media (hover: hover) {
|
|
424
|
-
[data-ui
|
|
424
|
+
[data-ui-action-sheet] [data-part-cancel]:hover:not(:disabled) {
|
|
425
425
|
background: var(--slotted-tone-secondary-subtle-hover, ButtonFace);
|
|
426
426
|
}
|
|
427
427
|
}
|
|
@@ -430,13 +430,13 @@
|
|
|
430
430
|
* `button`'s press: the face settles a hairline and gives up its lift. It is
|
|
431
431
|
* instant, as a press is, and the ground eases back on release.
|
|
432
432
|
*/
|
|
433
|
-
[data-ui
|
|
433
|
+
[data-ui-action-sheet] [data-part-cancel]:active:not(:disabled) {
|
|
434
434
|
background: var(--slotted-tone-secondary-subtle-active, ButtonFace);
|
|
435
435
|
box-shadow: none;
|
|
436
436
|
translate: 0 var(--slotted-border-width-thin, 1px);
|
|
437
437
|
}
|
|
438
438
|
|
|
439
|
-
[data-ui
|
|
439
|
+
[data-ui-action-sheet] [data-part-cancel]:focus-visible {
|
|
440
440
|
outline: var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);
|
|
441
441
|
outline-offset: var(--slotted-focus-ring-offset, 2px);
|
|
442
442
|
}
|
|
@@ -448,13 +448,13 @@
|
|
|
448
448
|
* so the focused row would lose its highlight.
|
|
449
449
|
*/
|
|
450
450
|
@media (forced-colors: active) {
|
|
451
|
-
[data-ui
|
|
451
|
+
[data-ui-action-sheet] [data-part-item]:focus {
|
|
452
452
|
background-color: Highlight;
|
|
453
453
|
color: HighlightText;
|
|
454
454
|
forced-color-adjust: none;
|
|
455
455
|
}
|
|
456
456
|
|
|
457
|
-
[data-ui
|
|
457
|
+
[data-ui-action-sheet] [data-part-item][data-disabled]:focus {
|
|
458
458
|
background-color: Highlight;
|
|
459
459
|
color: GrayText;
|
|
460
460
|
}
|