@slotted/styles 0.1.0-beta.0 → 0.1.0-beta.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/accordion/accordion.css +10 -10
- package/src/action-bar/action-bar.css +31 -32
- package/src/action-sheet/action-sheet.css +36 -36
- package/src/alert/alert.css +43 -35
- package/src/alert/alert.tokens.json +5 -0
- package/src/app-shell/app-shell.css +356 -301
- package/src/aspect-ratio/aspect-ratio.css +9 -9
- package/src/attachment/attachment.css +91 -99
- package/src/avatar/avatar.css +71 -41
- package/src/avatar/avatar.tokens.json +7 -0
- package/src/avatar-group/avatar-group.css +21 -22
- package/src/badge/badge.css +45 -37
- package/src/badge/badge.tokens.json +5 -0
- package/src/breadcrumb/breadcrumb.css +37 -37
- package/src/button/button.css +139 -64
- package/src/button/button.tokens.json +10 -0
- package/src/button-group/button-group.css +76 -72
- package/src/button-group/button-group.tokens.json +2 -0
- package/src/calendar/calendar.css +93 -103
- package/src/card/card.css +54 -61
- package/src/carousel/carousel.css +150 -161
- package/src/cascader/cascader.css +152 -153
- package/src/cascader/cascader.tokens.json +1 -0
- package/src/chart/chart.css +242 -239
- package/src/chart/chart.tokens.json +1 -0
- package/src/checkbox/checkbox.css +119 -124
- package/src/checkbox-group/checkbox-group.css +7 -7
- package/src/code-block/code-block.css +81 -85
- package/src/collapsible/collapsible.css +69 -76
- package/src/color-picker/color-picker.css +83 -91
- package/src/column-manager/column-manager.css +106 -114
- package/src/combobox/combobox.css +132 -107
- package/src/combobox/combobox.tokens.json +1 -0
- package/src/command-palette/command-palette.css +84 -90
- package/src/container/container.css +24 -24
- package/src/context-menu/context-menu.css +8 -8
- package/src/currency-field/currency-field.css +210 -88
- package/src/currency-field/currency-field.tokens.json +13 -0
- package/src/dashboard-grid/dashboard-grid.css +148 -116
- package/src/data-grid/data-grid.css +504 -469
- package/src/data-grid/data-grid.tokens.json +2 -0
- package/src/data-list/data-list.css +81 -70
- package/src/data-list/data-list.tokens.json +2 -1
- package/src/date-field/date-field.css +55 -52
- package/src/date-field/date-field.tokens.json +1 -0
- package/src/date-picker/date-picker.css +40 -42
- package/src/date-range-picker/date-range-picker.css +114 -118
- package/src/datetime-field/datetime-field.css +78 -80
- package/src/datetime-field/datetime-field.tokens.json +1 -0
- package/src/datetime-picker/datetime-picker.css +61 -63
- package/src/datetime-range-picker/datetime-range-picker.css +149 -156
- package/src/description-list/description-list.css +61 -64
- package/src/detail-panel/detail-panel.css +70 -70
- package/src/dialog/dialog.css +334 -153
- package/src/dialog/dialog.tokens.json +5 -0
- package/src/divider/divider.css +18 -18
- package/src/drawer/drawer.css +186 -209
- package/src/entity-picker/entity-picker.css +238 -241
- package/src/entity-picker/entity-picker.tokens.json +1 -0
- package/src/event-calendar/event-calendar.css +343 -385
- package/src/field/field.css +74 -78
- package/src/field-group/field-group.css +22 -25
- package/src/filter-bar/filter-bar.css +193 -209
- package/src/form/form.css +34 -24
- package/src/form/form.tokens.json +1 -0
- package/src/fullscreen/fullscreen.css +24 -25
- package/src/grid/grid.css +28 -28
- package/src/highlight/highlight.css +6 -6
- package/src/hover-card/hover-card.css +6 -6
- package/src/icon/icon.css +19 -15
- package/src/icon/icon.tokens.json +1 -0
- package/src/image/image.css +39 -39
- package/src/import-export-center/import-export-center.css +135 -156
- package/src/inline/inline.css +27 -27
- package/src/inline-message/inline-message.css +52 -28
- package/src/inline-message/inline-message.tokens.json +4 -0
- package/src/kbd/kbd.css +30 -26
- package/src/link/link.css +15 -15
- package/src/list/list.css +44 -17
- package/src/list/list.tokens.json +4 -0
- package/src/list-item/list-item.css +80 -66
- package/src/list-item/list-item.tokens.json +7 -0
- package/src/listbox/listbox.css +56 -59
- package/src/loading-overlay/loading-overlay.css +75 -92
- package/src/markdown/markdown.css +17 -17
- package/src/menu/menu.css +83 -63
- package/src/menubar/menubar.css +13 -13
- package/src/message/message.css +182 -202
- package/src/message/message.tokens.json +5 -0
- package/src/message-scroller/message-scroller.css +41 -42
- package/src/multi-select/multi-select.css +152 -145
- package/src/multi-select/multi-select.tokens.json +1 -0
- package/src/navigation-menu/navigation-menu.css +167 -188
- package/src/notification-center/notification-center.css +140 -148
- package/src/notification-center/notification-center.tokens.json +3 -0
- package/src/number-field/number-field.css +84 -83
- package/src/number-field/number-field.tokens.json +1 -0
- package/src/otp-input/otp-input.css +67 -57
- package/src/otp-input/otp-input.tokens.json +1 -0
- package/src/page/page.css +23 -23
- package/src/page-header/page-header.css +268 -281
- package/src/page-header/page-header.tokens.json +1 -0
- package/src/pagination/pagination.css +68 -72
- package/src/popover/popover.css +40 -49
- package/src/progress-indicator/progress-indicator.css +177 -120
- package/src/progress-indicator/progress-indicator.tokens.json +1 -1
- package/src/prompt-composer/prompt-composer.css +221 -102
- package/src/prompt-composer/prompt-composer.tokens.json +15 -0
- package/src/prose/prose.css +71 -75
- package/src/radio-group/radio-group.css +98 -103
- package/src/rating/rating.css +136 -132
- package/src/rating/rating.tokens.json +1 -0
- package/src/result-state/result-state.css +74 -77
- package/src/runtime-properties.mjs +2 -0
- package/src/saved-views/saved-views.css +41 -47
- package/src/scroll-area/scroll-area.css +39 -32
- package/src/section/section.css +161 -41
- package/src/section/section.tokens.json +7 -2
- package/src/segmented-control/segmented-control.css +254 -97
- package/src/segmented-control/segmented-control.tokens.json +15 -11
- package/src/select/select.css +118 -117
- package/src/select/select.tokens.json +1 -0
- package/src/side-navigation/side-navigation.css +179 -182
- package/src/side-navigation/side-navigation.tokens.json +1 -0
- package/src/skeleton/skeleton.css +47 -48
- package/src/slider/slider.css +86 -88
- package/src/sparkline/sparkline.css +62 -40
- package/src/sparkline/sparkline.tokens.json +2 -0
- package/src/spinner/spinner.css +39 -182
- package/src/spinner/spinner.tokens.json +0 -2
- package/src/split-button/split-button.css +30 -31
- package/src/split-button/split-button.tokens.json +1 -0
- package/src/splitter/splitter.css +35 -35
- package/src/stack/stack.css +24 -24
- package/src/stat-card/stat-card.css +341 -224
- package/src/stat-card/stat-card.tokens.json +3 -0
- package/src/status-indicator/status-indicator.css +28 -28
- package/src/stepper/stepper.css +58 -62
- package/src/switch/switch.css +86 -92
- package/src/table/table.css +310 -165
- package/src/table/table.tokens.json +6 -0
- package/src/table-of-contents/table-of-contents.css +51 -54
- package/src/tabs/tabs.css +330 -302
- package/src/tabs/tabs.tokens.json +8 -5
- package/src/tag/tag.css +79 -71
- package/src/tag/tag.tokens.json +9 -0
- package/src/tags-input/tags-input.css +145 -82
- package/src/tags-input/tags-input.tokens.json +7 -1
- package/src/text-field/text-field.css +132 -136
- package/src/text-field/text-field.tokens.json +1 -0
- package/src/textarea/textarea.css +31 -28
- package/src/textarea/textarea.tokens.json +1 -0
- package/src/time-field/time-field.css +72 -69
- package/src/time-field/time-field.tokens.json +1 -0
- package/src/time-picker/time-picker.css +56 -58
- package/src/time-range-picker/time-range-picker.css +126 -133
- package/src/timeline/timeline.css +254 -266
- package/src/timeline/timeline.tokens.json +5 -0
- package/src/toast/toast.css +89 -90
- package/src/toast/toast.tokens.json +5 -0
- package/src/toggle/toggle.css +62 -25
- package/src/toggle/toggle.tokens.json +8 -0
- package/src/toggle-group/toggle-group.css +106 -60
- package/src/toggle-group/toggle-group.tokens.json +10 -0
- package/src/toolbar/toolbar.css +30 -35
- package/src/tooltip/tooltip.css +26 -26
- package/src/top-navigation/top-navigation.css +243 -259
- package/src/tour/tour.css +51 -60
- package/src/transfer/transfer.css +160 -164
- package/src/tree/tree.css +103 -111
- package/src/typography/typography.css +40 -36
- package/src/typography/typography.tokens.json +1 -0
- package/src/upload/upload.css +224 -224
- package/src/visually-hidden/visually-hidden.css +1 -1
- package/src/wizard/wizard.css +185 -197
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* its own `container-name`, so a paginator nested inside another family's
|
|
12
12
|
* container answers its own inline size and not that one's.
|
|
13
13
|
*/
|
|
14
|
-
[data-ui
|
|
14
|
+
[data-ui-pagination] {
|
|
15
15
|
--_target: var(--slotted-pagination-target, var(--slotted-control-height-md, 34px));
|
|
16
16
|
--_radius: var(--slotted-pagination-radius, var(--slotted-control-radius, 4px));
|
|
17
17
|
--_muted: var(--slotted-pagination-color-muted, var(--slotted-text-muted, GrayText));
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
* figures are tabular.
|
|
55
55
|
*/
|
|
56
56
|
|
|
57
|
-
[data-ui
|
|
57
|
+
[data-ui-pagination] [data-part-list] {
|
|
58
58
|
align-items: center;
|
|
59
59
|
column-gap: var(--slotted-pagination-item-gap, var(--slotted-space-1, 0.125rem));
|
|
60
60
|
display: flex;
|
|
@@ -63,42 +63,41 @@
|
|
|
63
63
|
padding: 0;
|
|
64
64
|
}
|
|
65
65
|
|
|
66
|
-
[data-ui
|
|
66
|
+
[data-ui-pagination] [data-part-item] {
|
|
67
67
|
display: flex;
|
|
68
68
|
}
|
|
69
69
|
|
|
70
|
-
[data-ui
|
|
71
|
-
:is([data-part='status'], [data-part='summary'], [data-part='page-size-label']) {
|
|
70
|
+
[data-ui-pagination] :is([data-part-status], [data-part-summary], [data-part-page-size-label]) {
|
|
72
71
|
margin-inline: var(--slotted-pagination-text-gap, var(--slotted-space-4, 0.5rem));
|
|
73
72
|
}
|
|
74
73
|
|
|
75
74
|
/* The air belongs between things, never against the family's own edge. */
|
|
76
|
-
[data-ui
|
|
77
|
-
:is([data-part
|
|
75
|
+
[data-ui-pagination]
|
|
76
|
+
:is([data-part-status], [data-part-summary], [data-part-page-size-label]):first-child {
|
|
78
77
|
margin-inline-start: 0;
|
|
79
78
|
}
|
|
80
79
|
|
|
81
|
-
[data-ui
|
|
82
|
-
:is([data-part
|
|
80
|
+
[data-ui-pagination]
|
|
81
|
+
:is([data-part-status], [data-part-summary], [data-part-page-size-label]):last-child {
|
|
83
82
|
margin-inline-end: 0;
|
|
84
83
|
}
|
|
85
84
|
|
|
86
85
|
/* Two sentences side by side share one step of air, not two: the page
|
|
87
86
|
size's label and the range read eighteen pixels apart while the range
|
|
88
87
|
and the trigger read ten. */
|
|
89
|
-
[data-ui
|
|
90
|
-
:is([data-part
|
|
91
|
-
+ :is([data-part
|
|
88
|
+
[data-ui-pagination]
|
|
89
|
+
:is([data-part-status], [data-part-summary], [data-part-page-size-label])
|
|
90
|
+
+ :is([data-part-status], [data-part-summary], [data-part-page-size-label]) {
|
|
92
91
|
margin-inline-start: 0;
|
|
93
92
|
}
|
|
94
93
|
|
|
95
|
-
[data-ui
|
|
94
|
+
[data-ui-pagination]
|
|
96
95
|
:is(
|
|
97
|
-
[data-part
|
|
98
|
-
[data-part
|
|
99
|
-
[data-part
|
|
100
|
-
[data-part
|
|
101
|
-
[data-part
|
|
96
|
+
[data-part-page],
|
|
97
|
+
[data-part-first],
|
|
98
|
+
[data-part-previous],
|
|
99
|
+
[data-part-next],
|
|
100
|
+
[data-part-last]
|
|
102
101
|
) {
|
|
103
102
|
align-items: center;
|
|
104
103
|
appearance: none;
|
|
@@ -137,7 +136,7 @@
|
|
|
137
136
|
* as unavailable, which is the difference this family needs to keep for the
|
|
138
137
|
* trigger that actually is.
|
|
139
138
|
*/
|
|
140
|
-
[data-ui
|
|
139
|
+
[data-ui-pagination] [data-part-page]:not([aria-current]:not([aria-current='false'])) {
|
|
141
140
|
color: var(--_muted);
|
|
142
141
|
}
|
|
143
142
|
|
|
@@ -150,7 +149,7 @@
|
|
|
150
149
|
* of pagination links — so what a screen reader announces and what the eye
|
|
151
150
|
* sees are one fact rather than two.
|
|
152
151
|
*/
|
|
153
|
-
[data-ui
|
|
152
|
+
[data-ui-pagination] [data-part-page][aria-current]:not([aria-current='false']) {
|
|
154
153
|
background-color: var(
|
|
155
154
|
--slotted-pagination-current-surface,
|
|
156
155
|
var(--slotted-tone-accent-solid, Highlight)
|
|
@@ -171,38 +170,38 @@
|
|
|
171
170
|
* different page.
|
|
172
171
|
*/
|
|
173
172
|
|
|
174
|
-
[data-ui
|
|
173
|
+
[data-ui-pagination]
|
|
175
174
|
:is(
|
|
176
|
-
[data-part
|
|
177
|
-
[data-part
|
|
178
|
-
[data-part
|
|
179
|
-
[data-part
|
|
180
|
-
[data-part
|
|
175
|
+
[data-part-page],
|
|
176
|
+
[data-part-first],
|
|
177
|
+
[data-part-previous],
|
|
178
|
+
[data-part-next],
|
|
179
|
+
[data-part-last]
|
|
181
180
|
):not([data-disabled], [data-loading], [aria-current]:not([aria-current='false'])):hover {
|
|
182
181
|
background-color: var(--_hover-surface);
|
|
183
182
|
color: var(--_strong);
|
|
184
183
|
}
|
|
185
184
|
|
|
186
|
-
[data-ui
|
|
185
|
+
[data-ui-pagination]
|
|
187
186
|
:is(
|
|
188
|
-
[data-part
|
|
189
|
-
[data-part
|
|
190
|
-
[data-part
|
|
191
|
-
[data-part
|
|
192
|
-
[data-part
|
|
187
|
+
[data-part-page],
|
|
188
|
+
[data-part-first],
|
|
189
|
+
[data-part-previous],
|
|
190
|
+
[data-part-next],
|
|
191
|
+
[data-part-last]
|
|
193
192
|
):not([data-disabled], [data-loading], [aria-current]:not([aria-current='false'])):active {
|
|
194
193
|
background-color: var(--_active-surface);
|
|
195
194
|
color: var(--_strong);
|
|
196
195
|
}
|
|
197
196
|
|
|
198
|
-
[data-ui
|
|
197
|
+
[data-ui-pagination]
|
|
199
198
|
:is(
|
|
200
|
-
[data-part
|
|
201
|
-
[data-part
|
|
202
|
-
[data-part
|
|
203
|
-
[data-part
|
|
204
|
-
[data-part
|
|
205
|
-
[data-part
|
|
199
|
+
[data-part-page],
|
|
200
|
+
[data-part-first],
|
|
201
|
+
[data-part-previous],
|
|
202
|
+
[data-part-next],
|
|
203
|
+
[data-part-last],
|
|
204
|
+
[data-part-page-size]
|
|
206
205
|
):focus-visible {
|
|
207
206
|
outline: var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);
|
|
208
207
|
outline-offset: var(--slotted-focus-ring-offset, 2px);
|
|
@@ -215,11 +214,11 @@
|
|
|
215
214
|
* destination the binding did not render, which is the shape `link` already
|
|
216
215
|
* ships and the only one that stops a middle click as well as a left one.
|
|
217
216
|
*/
|
|
218
|
-
[data-ui
|
|
217
|
+
[data-ui-pagination] :is([data-disabled], [data-loading]) {
|
|
219
218
|
color: var(--slotted-pagination-color-disabled, var(--slotted-disabled-foreground, GrayText));
|
|
220
219
|
}
|
|
221
220
|
|
|
222
|
-
[data-ui
|
|
221
|
+
[data-ui-pagination] [data-disabled] {
|
|
223
222
|
cursor: not-allowed;
|
|
224
223
|
}
|
|
225
224
|
|
|
@@ -230,11 +229,8 @@
|
|
|
230
229
|
* `STATE_PRECEDENCE` — a saturated chip inside a grey row reads as the one
|
|
231
230
|
* thing still operable, which is exactly backwards.
|
|
232
231
|
*/
|
|
233
|
-
[data-ui
|
|
234
|
-
[data-part
|
|
235
|
-
[data-disabled],
|
|
236
|
-
[data-loading]
|
|
237
|
-
) {
|
|
232
|
+
[data-ui-pagination]
|
|
233
|
+
[data-part-page][aria-current]:not([aria-current='false']):is([data-disabled], [data-loading]) {
|
|
238
234
|
background-color: var(--slotted-disabled-background, Canvas);
|
|
239
235
|
color: var(--slotted-disabled-foreground, GrayText);
|
|
240
236
|
}
|
|
@@ -244,7 +240,7 @@
|
|
|
244
240
|
* paginator that emptied itself while loading would move the control the
|
|
245
241
|
* reader is about to press again.
|
|
246
242
|
*/
|
|
247
|
-
[data-ui
|
|
243
|
+
[data-ui-pagination] [data-loading] {
|
|
248
244
|
cursor: progress;
|
|
249
245
|
}
|
|
250
246
|
|
|
@@ -256,7 +252,7 @@
|
|
|
256
252
|
* content, and omitted content is exactly what it holds. It is announced to
|
|
257
253
|
* nobody, which is what Zag, MUI and Primer all ship.
|
|
258
254
|
*/
|
|
259
|
-
[data-ui
|
|
255
|
+
[data-ui-pagination] [data-part-ellipsis] {
|
|
260
256
|
align-items: center;
|
|
261
257
|
block-size: var(--_target);
|
|
262
258
|
color: var(--_muted);
|
|
@@ -289,12 +285,12 @@
|
|
|
289
285
|
* compose, and a chevron turned half a turn is the chevron flipped.
|
|
290
286
|
*/
|
|
291
287
|
|
|
292
|
-
[data-ui
|
|
293
|
-
:is([data-part
|
|
288
|
+
[data-ui-pagination]
|
|
289
|
+
:is([data-part-first], [data-part-previous], [data-part-next], [data-part-last]) {
|
|
294
290
|
--slotted-icon-size: var(--_glyph);
|
|
295
291
|
}
|
|
296
292
|
|
|
297
|
-
[data-ui
|
|
293
|
+
[data-ui-pagination] :is([data-part-first], [data-part-previous]) > [data-ui-icon] {
|
|
298
294
|
rotate: 0.5turn;
|
|
299
295
|
}
|
|
300
296
|
|
|
@@ -307,7 +303,7 @@
|
|
|
307
303
|
* the breakpoint.
|
|
308
304
|
*/
|
|
309
305
|
|
|
310
|
-
[data-ui
|
|
306
|
+
[data-ui-pagination] :is([data-part-status], [data-part-summary]) {
|
|
311
307
|
color: var(--_muted);
|
|
312
308
|
font-variant-numeric: tabular-nums;
|
|
313
309
|
/* Only the paragraph's own block margin: the inline air between the
|
|
@@ -322,11 +318,11 @@
|
|
|
322
318
|
* consumer wrote, and forbidding it to wrap pushed the trigger after it onto
|
|
323
319
|
* a line of its own at 240 pixels.
|
|
324
320
|
*/
|
|
325
|
-
[data-ui
|
|
321
|
+
[data-ui-pagination] [data-part-summary] {
|
|
326
322
|
white-space: nowrap;
|
|
327
323
|
}
|
|
328
324
|
|
|
329
|
-
[data-ui
|
|
325
|
+
[data-ui-pagination] [data-part-summary] {
|
|
330
326
|
align-items: center;
|
|
331
327
|
block-size: var(--_target);
|
|
332
328
|
display: none;
|
|
@@ -349,7 +345,7 @@
|
|
|
349
345
|
* family that has three schemes.
|
|
350
346
|
*/
|
|
351
347
|
|
|
352
|
-
[data-ui
|
|
348
|
+
[data-ui-pagination] [data-part-page-size-label] {
|
|
353
349
|
align-items: center;
|
|
354
350
|
color: var(--_muted);
|
|
355
351
|
column-gap: var(--slotted-pagination-page-size-gap, var(--slotted-space-3, 0.375rem));
|
|
@@ -358,7 +354,7 @@
|
|
|
358
354
|
white-space: nowrap;
|
|
359
355
|
}
|
|
360
356
|
|
|
361
|
-
[data-ui
|
|
357
|
+
[data-ui-pagination] [data-part-page-size-label] > [data-ui-icon] {
|
|
362
358
|
--slotted-icon-size: var(--_glyph);
|
|
363
359
|
|
|
364
360
|
inset-block-start: 50%;
|
|
@@ -369,7 +365,7 @@
|
|
|
369
365
|
translate: 0 -50%;
|
|
370
366
|
}
|
|
371
367
|
|
|
372
|
-
[data-ui
|
|
368
|
+
[data-ui-pagination] [data-part-page-size] {
|
|
373
369
|
appearance: none;
|
|
374
370
|
background-color: var(
|
|
375
371
|
--slotted-pagination-page-size-surface,
|
|
@@ -390,11 +386,11 @@
|
|
|
390
386
|
var(--slotted-control-transition-easing);
|
|
391
387
|
}
|
|
392
388
|
|
|
393
|
-
[data-ui
|
|
389
|
+
[data-ui-pagination] [data-part-page-size]:not(:disabled):hover {
|
|
394
390
|
border-color: var(--slotted-border-strong, ButtonBorder);
|
|
395
391
|
}
|
|
396
392
|
|
|
397
|
-
[data-ui
|
|
393
|
+
[data-ui-pagination] [data-part-page-size]:disabled {
|
|
398
394
|
background-color: var(--slotted-disabled-background, Canvas);
|
|
399
395
|
border-color: var(--slotted-disabled-border, GrayText);
|
|
400
396
|
color: var(--slotted-disabled-foreground, GrayText);
|
|
@@ -415,11 +411,11 @@
|
|
|
415
411
|
*/
|
|
416
412
|
|
|
417
413
|
@container slotted-pagination (max-width: 22rem) {
|
|
418
|
-
[data-ui
|
|
414
|
+
[data-ui-pagination] [data-part-list] {
|
|
419
415
|
display: none;
|
|
420
416
|
}
|
|
421
417
|
|
|
422
|
-
[data-ui
|
|
418
|
+
[data-ui-pagination] [data-part-summary] {
|
|
423
419
|
display: flex;
|
|
424
420
|
}
|
|
425
421
|
|
|
@@ -433,7 +429,7 @@
|
|
|
433
429
|
* no summary, and hiding its range left two chevrons and no sentence at
|
|
434
430
|
* all — which the 240-pixel capture showed and no test could have.
|
|
435
431
|
*/
|
|
436
|
-
[data-ui
|
|
432
|
+
[data-ui-pagination]:has([data-part-summary]) [data-part-status] {
|
|
437
433
|
display: none;
|
|
438
434
|
}
|
|
439
435
|
|
|
@@ -442,7 +438,7 @@
|
|
|
442
438
|
* split across two. At this width the label and its select are most of the
|
|
443
439
|
* row, and the trigger that did not fit landed alone underneath.
|
|
444
440
|
*/
|
|
445
|
-
[data-ui
|
|
441
|
+
[data-ui-pagination] [data-part-page-size-label] {
|
|
446
442
|
flex-basis: 100%;
|
|
447
443
|
margin-inline: 0;
|
|
448
444
|
}
|
|
@@ -453,7 +449,7 @@
|
|
|
453
449
|
* select still sized to its content left the mark floating in the gap
|
|
454
450
|
* between the two.
|
|
455
451
|
*/
|
|
456
|
-
[data-ui
|
|
452
|
+
[data-ui-pagination] [data-part-page-size] {
|
|
457
453
|
flex: 1;
|
|
458
454
|
}
|
|
459
455
|
|
|
@@ -463,7 +459,7 @@
|
|
|
463
459
|
* of its own. Basing it at nought lets the row keep every control on one
|
|
464
460
|
* line and gives the sentence whatever is left.
|
|
465
461
|
*/
|
|
466
|
-
[data-ui
|
|
462
|
+
[data-ui-pagination] [data-part-status] {
|
|
467
463
|
flex: 1 1 0;
|
|
468
464
|
}
|
|
469
465
|
}
|
|
@@ -480,19 +476,19 @@
|
|
|
480
476
|
*/
|
|
481
477
|
|
|
482
478
|
@media (forced-colors: active) {
|
|
483
|
-
[data-ui
|
|
479
|
+
[data-ui-pagination] [data-part-page][aria-current]:not([aria-current='false']) {
|
|
484
480
|
background-color: Highlight;
|
|
485
481
|
color: HighlightText;
|
|
486
482
|
forced-color-adjust: none;
|
|
487
483
|
}
|
|
488
484
|
|
|
489
|
-
[data-ui
|
|
485
|
+
[data-ui-pagination]
|
|
490
486
|
:is(
|
|
491
|
-
[data-part
|
|
492
|
-
[data-part
|
|
493
|
-
[data-part
|
|
494
|
-
[data-part
|
|
495
|
-
[data-part
|
|
487
|
+
[data-part-page],
|
|
488
|
+
[data-part-first],
|
|
489
|
+
[data-part-previous],
|
|
490
|
+
[data-part-next],
|
|
491
|
+
[data-part-last]
|
|
496
492
|
):not([data-disabled], [data-loading], [aria-current]:not([aria-current='false'])):hover {
|
|
497
493
|
border-color: ButtonBorder;
|
|
498
494
|
}
|
package/src/popover/popover.css
CHANGED
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
* gaps inside the header and the footer read it too, so a dense popover is a
|
|
40
40
|
* tighter popover rather than a smaller one.
|
|
41
41
|
*/
|
|
42
|
-
[data-ui
|
|
42
|
+
[data-ui-popover] {
|
|
43
43
|
--_gap: var(--slotted-popover-gap, var(--slotted-space-4, 0.5rem));
|
|
44
44
|
|
|
45
45
|
--_surface: var(--slotted-popover-surface, var(--slotted-surface-raised, #ffffff));
|
|
@@ -99,12 +99,12 @@
|
|
|
99
99
|
translate var(--slotted-duration-short) var(--slotted-easing-exit);
|
|
100
100
|
}
|
|
101
101
|
|
|
102
|
-
[data-ui
|
|
102
|
+
[data-ui-popover][data-side='top'] {
|
|
103
103
|
translate: 0 var(--_enter-distance);
|
|
104
104
|
}
|
|
105
105
|
|
|
106
106
|
/* A lateral side has no block direction to arrive from, so it only fades. */
|
|
107
|
-
[data-ui
|
|
107
|
+
[data-ui-popover]:is([data-side='left'], [data-side='right']) {
|
|
108
108
|
translate: 0 0;
|
|
109
109
|
}
|
|
110
110
|
|
|
@@ -117,7 +117,7 @@
|
|
|
117
117
|
* A keyframe states where it starts. The exit stays a transition: it
|
|
118
118
|
* leaves from wherever the layer is, on the closed rule's durations.
|
|
119
119
|
*/
|
|
120
|
-
[data-ui
|
|
120
|
+
[data-ui-popover][data-open] {
|
|
121
121
|
opacity: 1;
|
|
122
122
|
translate: 0 0;
|
|
123
123
|
transition: none;
|
|
@@ -128,15 +128,15 @@
|
|
|
128
128
|
* with the side, and a layer written open in static markup — the harness,
|
|
129
129
|
* a docs snippet — is simply there, and is photographed where it stands.
|
|
130
130
|
*/
|
|
131
|
-
[data-ui
|
|
131
|
+
[data-ui-popover][data-open][data-positioned] {
|
|
132
132
|
animation: slotted-popover-enter-down var(--slotted-duration-medium) var(--slotted-easing-enter);
|
|
133
133
|
}
|
|
134
134
|
|
|
135
|
-
[data-ui
|
|
135
|
+
[data-ui-popover][data-open][data-positioned][data-side='top'] {
|
|
136
136
|
animation-name: slotted-popover-enter-up;
|
|
137
137
|
}
|
|
138
138
|
|
|
139
|
-
[data-ui
|
|
139
|
+
[data-ui-popover][data-open][data-positioned]:is([data-side='left'], [data-side='right']) {
|
|
140
140
|
animation-name: slotted-popover-fade;
|
|
141
141
|
}
|
|
142
142
|
|
|
@@ -162,27 +162,27 @@
|
|
|
162
162
|
|
|
163
163
|
/* Stillness keeps the fade and drops the movement (R7). */
|
|
164
164
|
@media (prefers-reduced-motion: reduce) {
|
|
165
|
-
[data-ui
|
|
166
|
-
[data-ui
|
|
167
|
-
[data-ui
|
|
168
|
-
[data-ui
|
|
165
|
+
[data-ui-popover],
|
|
166
|
+
[data-ui-popover][data-side='top'],
|
|
167
|
+
[data-ui-popover][data-side='left'],
|
|
168
|
+
[data-ui-popover][data-side='right'] {
|
|
169
169
|
translate: 0 0;
|
|
170
170
|
transition: opacity var(--slotted-duration-short) var(--slotted-easing-exit);
|
|
171
171
|
}
|
|
172
172
|
|
|
173
|
-
[data-ui
|
|
174
|
-
[data-ui
|
|
175
|
-
[data-ui
|
|
176
|
-
[data-ui
|
|
173
|
+
[data-ui-popover][data-open][data-positioned],
|
|
174
|
+
[data-ui-popover][data-open][data-positioned][data-side='top'],
|
|
175
|
+
[data-ui-popover][data-open][data-positioned][data-side='left'],
|
|
176
|
+
[data-ui-popover][data-open][data-positioned][data-side='right'] {
|
|
177
177
|
animation-name: slotted-popover-fade;
|
|
178
178
|
}
|
|
179
179
|
}
|
|
180
180
|
|
|
181
|
-
[data-ui
|
|
181
|
+
[data-ui-popover][data-detached] {
|
|
182
182
|
visibility: hidden;
|
|
183
183
|
}
|
|
184
184
|
|
|
185
|
-
[data-ui
|
|
185
|
+
[data-ui-popover][data-size='sm'] {
|
|
186
186
|
--_inset-block: var(--slotted-popover-padding-block-sm, var(--slotted-space-4, 0.5rem));
|
|
187
187
|
--_inset-inline: var(--slotted-popover-padding-inline-sm, var(--slotted-space-5, 0.75rem));
|
|
188
188
|
--_title-font-size: var(--slotted-font-size-md, 0.875rem);
|
|
@@ -190,7 +190,7 @@
|
|
|
190
190
|
--_measure: var(--slotted-popover-measure-sm, 16rem);
|
|
191
191
|
}
|
|
192
192
|
|
|
193
|
-
[data-ui
|
|
193
|
+
[data-ui-popover][data-size='lg'] {
|
|
194
194
|
--_inset-block: var(--slotted-popover-padding-block-lg, var(--slotted-space-6, 1rem));
|
|
195
195
|
--_inset-inline: var(--slotted-popover-padding-inline-lg, var(--slotted-space-7, 1.25rem));
|
|
196
196
|
--_title-font-size: var(--slotted-font-size-xl, 1.125rem);
|
|
@@ -203,7 +203,7 @@
|
|
|
203
203
|
* property for. The layer's own padding is added back, so the panel and the
|
|
204
204
|
* anchor share an edge rather than being inset from one another.
|
|
205
205
|
*/
|
|
206
|
-
[data-ui
|
|
206
|
+
[data-ui-popover][data-width='anchor'] {
|
|
207
207
|
inline-size: calc(var(--slotted-positioner-anchor-width, 0px) + 2 * var(--_gap));
|
|
208
208
|
max-inline-size: var(--slotted-positioner-available-width, 100vw);
|
|
209
209
|
}
|
|
@@ -214,7 +214,7 @@
|
|
|
214
214
|
* of the document, so the family closes the popover and puts focus back on
|
|
215
215
|
* the trigger, from which the next `Tab` continues down the page.
|
|
216
216
|
*/
|
|
217
|
-
[data-ui
|
|
217
|
+
[data-ui-popover] > [data-part-focus-guard] {
|
|
218
218
|
position: absolute;
|
|
219
219
|
inline-size: 1px;
|
|
220
220
|
block-size: 1px;
|
|
@@ -225,7 +225,7 @@
|
|
|
225
225
|
pointer-events: none;
|
|
226
226
|
}
|
|
227
227
|
|
|
228
|
-
[data-ui
|
|
228
|
+
[data-ui-popover] > [data-part-content] {
|
|
229
229
|
box-sizing: border-box;
|
|
230
230
|
display: grid;
|
|
231
231
|
grid-template-rows: auto minmax(0, 1fr) auto;
|
|
@@ -271,14 +271,14 @@
|
|
|
271
271
|
* what it owns. Two children or more are the consumer's own layout and keep
|
|
272
272
|
* their auto rows.
|
|
273
273
|
*/
|
|
274
|
-
[data-ui
|
|
275
|
-
> [data-part
|
|
276
|
-
> :only-child:not([data-part
|
|
274
|
+
[data-ui-popover]
|
|
275
|
+
> [data-part-content]
|
|
276
|
+
> :only-child:not([data-part-header], [data-part-body], [data-part-footer]) {
|
|
277
277
|
grid-row: 2;
|
|
278
278
|
min-block-size: 0;
|
|
279
279
|
}
|
|
280
280
|
|
|
281
|
-
[data-ui
|
|
281
|
+
[data-ui-popover] > [data-part-content]:focus-visible {
|
|
282
282
|
outline: var(--slotted-focus-ring-width, 2px) solid
|
|
283
283
|
var(--slotted-focus-ring-color, currentColor);
|
|
284
284
|
outline-offset: calc(-1 * var(--slotted-focus-ring-width, 2px));
|
|
@@ -289,7 +289,7 @@
|
|
|
289
289
|
* on the first row so it stays level with the title rather than centring
|
|
290
290
|
* itself against a description the title may not have.
|
|
291
291
|
*/
|
|
292
|
-
[data-ui
|
|
292
|
+
[data-ui-popover] > [data-part-content] > [data-part-header] {
|
|
293
293
|
display: grid;
|
|
294
294
|
grid-template-columns: minmax(0, 1fr) auto;
|
|
295
295
|
column-gap: var(--_row-gap);
|
|
@@ -299,7 +299,7 @@
|
|
|
299
299
|
padding-inline: var(--_inset-inline);
|
|
300
300
|
}
|
|
301
301
|
|
|
302
|
-
[data-ui
|
|
302
|
+
[data-ui-popover] > [data-part-content] > [data-part-header] > [data-part-title] {
|
|
303
303
|
grid-column: 1;
|
|
304
304
|
margin: 0;
|
|
305
305
|
font-family: var(
|
|
@@ -314,7 +314,7 @@
|
|
|
314
314
|
unicode-bidi: plaintext;
|
|
315
315
|
}
|
|
316
316
|
|
|
317
|
-
[data-ui
|
|
317
|
+
[data-ui-popover] > [data-part-content] > [data-part-header] > [data-part-description] {
|
|
318
318
|
grid-column: 1;
|
|
319
319
|
margin: 0;
|
|
320
320
|
font-size: var(--slotted-font-size-sm, 0.8125rem);
|
|
@@ -331,7 +331,7 @@
|
|
|
331
331
|
* is pulled level with the title's cap height by the negative
|
|
332
332
|
* block margin rather than by stretching the row.
|
|
333
333
|
*/
|
|
334
|
-
[data-ui
|
|
334
|
+
[data-ui-popover] > [data-part-content] > [data-part-header] > [data-part-close] {
|
|
335
335
|
grid-column: 2;
|
|
336
336
|
grid-row: 1;
|
|
337
337
|
display: inline-flex;
|
|
@@ -357,25 +357,16 @@
|
|
|
357
357
|
var(--slotted-control-transition-easing, var(--slotted-easing-standard));
|
|
358
358
|
}
|
|
359
359
|
|
|
360
|
-
[data-ui
|
|
361
|
-
> [data-part='content']
|
|
362
|
-
> [data-part='header']
|
|
363
|
-
> [data-part='close']:enabled:hover {
|
|
360
|
+
[data-ui-popover] > [data-part-content] > [data-part-header] > [data-part-close]:enabled:hover {
|
|
364
361
|
background: var(--slotted-tone-secondary-subtle-hover, rgb(15 23 42 / 0.06));
|
|
365
362
|
color: var(--_text);
|
|
366
363
|
}
|
|
367
364
|
|
|
368
|
-
[data-ui
|
|
369
|
-
> [data-part='content']
|
|
370
|
-
> [data-part='header']
|
|
371
|
-
> [data-part='close']:enabled:active {
|
|
365
|
+
[data-ui-popover] > [data-part-content] > [data-part-header] > [data-part-close]:enabled:active {
|
|
372
366
|
background: var(--slotted-tone-secondary-subtle-active, rgb(15 23 42 / 0.1));
|
|
373
367
|
}
|
|
374
368
|
|
|
375
|
-
[data-ui
|
|
376
|
-
> [data-part='content']
|
|
377
|
-
> [data-part='header']
|
|
378
|
-
> [data-part='close']:focus-visible {
|
|
369
|
+
[data-ui-popover] > [data-part-content] > [data-part-header] > [data-part-close]:focus-visible {
|
|
379
370
|
outline: var(--slotted-focus-ring-width, 2px) solid
|
|
380
371
|
var(--slotted-focus-ring-color, currentColor);
|
|
381
372
|
outline-offset: var(--slotted-focus-ring-offset, 2px);
|
|
@@ -386,7 +377,7 @@
|
|
|
386
377
|
* there is no header, so a popover holding one sentence is not inset twice at
|
|
387
378
|
* the top and once at the bottom.
|
|
388
379
|
*/
|
|
389
|
-
[data-ui
|
|
380
|
+
[data-ui-popover] > [data-part-content] > [data-part-body] {
|
|
390
381
|
grid-row: 2;
|
|
391
382
|
min-block-size: 0;
|
|
392
383
|
overflow-x: hidden;
|
|
@@ -437,11 +428,11 @@
|
|
|
437
428
|
center bottom / 100% var(--slotted-space-3, 0.375rem) no-repeat scroll;
|
|
438
429
|
}
|
|
439
430
|
|
|
440
|
-
[data-ui
|
|
431
|
+
[data-ui-popover] > [data-part-content] > [data-part-body]:first-child {
|
|
441
432
|
padding-block-start: var(--_inset-block);
|
|
442
433
|
}
|
|
443
434
|
|
|
444
|
-
[data-ui
|
|
435
|
+
[data-ui-popover] > [data-part-content] > [data-part-footer] {
|
|
445
436
|
grid-row: 3;
|
|
446
437
|
display: flex;
|
|
447
438
|
flex-wrap: wrap;
|
|
@@ -468,7 +459,7 @@
|
|
|
468
459
|
* of a diamond. Clamped here, the arrow meets a straight edge whatever
|
|
469
460
|
* padding, gap or radius a theme sets.
|
|
470
461
|
*/
|
|
471
|
-
[data-ui
|
|
462
|
+
[data-ui-popover] > [data-part-arrow] {
|
|
472
463
|
--_arrow-x: clamp(
|
|
473
464
|
calc(var(--_gap) + var(--_radius)),
|
|
474
465
|
var(--slotted-positioner-arrow-x, 0px),
|
|
@@ -488,7 +479,7 @@
|
|
|
488
479
|
border: 0 solid var(--_border-color);
|
|
489
480
|
}
|
|
490
481
|
|
|
491
|
-
[data-ui
|
|
482
|
+
[data-ui-popover][data-side='top'] > [data-part-arrow] {
|
|
492
483
|
left: var(--_arrow-x);
|
|
493
484
|
top: auto;
|
|
494
485
|
bottom: calc(var(--_gap) - var(--_arrow-size) / 2);
|
|
@@ -497,7 +488,7 @@
|
|
|
497
488
|
border-bottom-right-radius: var(--_arrow-tip-radius);
|
|
498
489
|
}
|
|
499
490
|
|
|
500
|
-
[data-ui
|
|
491
|
+
[data-ui-popover][data-side='bottom'] > [data-part-arrow] {
|
|
501
492
|
left: var(--_arrow-x);
|
|
502
493
|
top: calc(var(--_gap) - var(--_arrow-size) / 2);
|
|
503
494
|
bottom: auto;
|
|
@@ -506,7 +497,7 @@
|
|
|
506
497
|
border-top-left-radius: var(--_arrow-tip-radius);
|
|
507
498
|
}
|
|
508
499
|
|
|
509
|
-
[data-ui
|
|
500
|
+
[data-ui-popover][data-side='left'] > [data-part-arrow] {
|
|
510
501
|
top: var(--_arrow-y);
|
|
511
502
|
left: auto;
|
|
512
503
|
right: calc(var(--_gap) - var(--_arrow-size) / 2);
|
|
@@ -515,7 +506,7 @@
|
|
|
515
506
|
border-top-right-radius: var(--_arrow-tip-radius);
|
|
516
507
|
}
|
|
517
508
|
|
|
518
|
-
[data-ui
|
|
509
|
+
[data-ui-popover][data-side='right'] > [data-part-arrow] {
|
|
519
510
|
top: var(--_arrow-y);
|
|
520
511
|
left: calc(var(--_gap) - var(--_arrow-size) / 2);
|
|
521
512
|
right: auto;
|