@slotted/styles 0.1.0-beta.1 → 0.1.0-beta.11
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 +35 -42
- 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 +149 -68
- package/src/button/button.tokens.json +10 -0
- package/src/button-group/button-group.css +79 -74
- 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 +103 -90
- package/src/command-palette/command-palette.tokens.json +1 -0
- 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 +535 -470
- package/src/data-grid/data-grid.tokens.json +4 -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 +86 -71
- package/src/detail-panel/detail-panel.tokens.json +2 -0
- package/src/dialog/dialog.css +372 -153
- package/src/dialog/dialog.tokens.json +6 -0
- package/src/divider/divider.css +18 -18
- package/src/drawer/drawer.css +205 -210
- package/src/drawer/drawer.tokens.json +1 -0
- 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 +39 -23
- package/src/page/page.tokens.json +1 -0
- package/src/page-header/page-header.css +323 -283
- package/src/page-header/page-header.tokens.json +5 -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 +83 -180
- package/src/spinner/spinner.tokens.json +0 -1
- 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 +337 -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 +108 -90
- package/src/toast/toast.tokens.json +6 -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
package/src/dialog/dialog.css
CHANGED
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
* a dialog is the ordinary case, and a descendant rule would paint the inner
|
|
36
36
|
* panel's header with the outer panel's tone.
|
|
37
37
|
*/
|
|
38
|
-
[data-ui
|
|
38
|
+
[data-ui-dialog] {
|
|
39
39
|
/**
|
|
40
40
|
* The panel's measure, per size step. Five named steps rather than the
|
|
41
41
|
* pixel string Material, Carbon and Ant all take: a theme can retune a
|
|
@@ -52,8 +52,12 @@
|
|
|
52
52
|
--_measure: var(--slotted-dialog-measure, 32rem);
|
|
53
53
|
/** The air between the panel and the edge of the layer. */
|
|
54
54
|
--_layer-padding: var(--slotted-space-8, 1.5rem);
|
|
55
|
-
/**
|
|
56
|
-
|
|
55
|
+
/**
|
|
56
|
+
* The panel's own inset, which every row reads. The panel draws none of it
|
|
57
|
+
* itself: the header, the body and the footer carry it, and a layout of the
|
|
58
|
+
* consumer's own that skips them reads the same two public tokens.
|
|
59
|
+
*/
|
|
60
|
+
--_padding-inline: var(--slotted-dialog-padding-inline, var(--slotted-space-8, 1.5rem));
|
|
57
61
|
/**
|
|
58
62
|
* Three insets, not one number used three times, because the three rows
|
|
59
63
|
* hold three different things.
|
|
@@ -72,7 +76,7 @@
|
|
|
72
76
|
* paragraph reads as a slab around a button: twenty above and below a
|
|
73
77
|
* thirty-four pixel control is a seventy-four pixel bar for one line.
|
|
74
78
|
*/
|
|
75
|
-
--_padding-block: var(--slotted-space-7, 1.25rem);
|
|
79
|
+
--_padding-block: var(--slotted-dialog-padding-block, var(--slotted-space-7, 1.25rem));
|
|
76
80
|
--_header-padding-block: var(--slotted-space-6, 1rem);
|
|
77
81
|
--_footer-padding-block: var(--slotted-space-5, 0.75rem);
|
|
78
82
|
--_gap: var(--slotted-space-5, 0.75rem);
|
|
@@ -155,7 +159,7 @@
|
|
|
155
159
|
* `data-open` either, and a hidden layer in that frame refuses the focus
|
|
156
160
|
* scope's initial focus.
|
|
157
161
|
*/
|
|
158
|
-
[data-ui
|
|
162
|
+
[data-ui-dialog][inert] {
|
|
159
163
|
content-visibility: hidden;
|
|
160
164
|
pointer-events: none;
|
|
161
165
|
}
|
|
@@ -168,32 +172,32 @@
|
|
|
168
172
|
* pointer, and a press on the page is the outside press the dismissal policy
|
|
169
173
|
* answers.
|
|
170
174
|
*/
|
|
171
|
-
[data-ui
|
|
175
|
+
[data-ui-dialog]:not([data-modal]) {
|
|
172
176
|
pointer-events: none;
|
|
173
177
|
}
|
|
174
178
|
|
|
175
|
-
[data-ui
|
|
179
|
+
[data-ui-dialog]:not([data-modal]) > [data-part-backdrop] {
|
|
176
180
|
visibility: hidden;
|
|
177
181
|
}
|
|
178
182
|
|
|
179
|
-
[data-ui
|
|
183
|
+
[data-ui-dialog]:not([data-modal]) > [data-part-viewport] > [data-part-content] {
|
|
180
184
|
pointer-events: auto;
|
|
181
185
|
}
|
|
182
186
|
|
|
183
|
-
[data-ui
|
|
187
|
+
[data-ui-dialog][data-size='sm'] {
|
|
184
188
|
--_measure: var(--slotted-dialog-measure, 24rem);
|
|
185
|
-
--_padding-inline: var(--slotted-space-7, 1.25rem);
|
|
186
|
-
--_padding-block: var(--slotted-space-6, 1rem);
|
|
189
|
+
--_padding-inline: var(--slotted-dialog-padding-inline-sm, var(--slotted-space-7, 1.25rem));
|
|
190
|
+
--_padding-block: var(--slotted-dialog-padding-block-sm, var(--slotted-space-6, 1rem));
|
|
187
191
|
--_header-padding-block: var(--slotted-space-5, 0.75rem);
|
|
188
192
|
--_footer-padding-block: var(--slotted-space-4, 0.5rem);
|
|
189
193
|
--_title-font-size: var(--slotted-font-size-lg, 1rem);
|
|
190
194
|
}
|
|
191
195
|
|
|
192
|
-
[data-ui
|
|
196
|
+
[data-ui-dialog][data-size='lg'] {
|
|
193
197
|
--_measure: var(--slotted-dialog-measure, 42rem);
|
|
194
198
|
}
|
|
195
199
|
|
|
196
|
-
[data-ui
|
|
200
|
+
[data-ui-dialog][data-size='xl'] {
|
|
197
201
|
--_measure: var(--slotted-dialog-measure, 56rem);
|
|
198
202
|
}
|
|
199
203
|
|
|
@@ -201,7 +205,7 @@
|
|
|
201
205
|
* `full` is the step a dialog that is a document takes: the panel spends the
|
|
202
206
|
* whole layer minus its padding, and the measure stops capping it.
|
|
203
207
|
*/
|
|
204
|
-
[data-ui
|
|
208
|
+
[data-ui-dialog][data-size='full'] {
|
|
205
209
|
--_measure: var(--slotted-dialog-measure, none);
|
|
206
210
|
}
|
|
207
211
|
|
|
@@ -214,7 +218,7 @@
|
|
|
214
218
|
* is `none` in that mode, and a panel separated only by elevation would sit
|
|
215
219
|
* on an opaque ground with nothing to mark its edge.
|
|
216
220
|
*/
|
|
217
|
-
[data-ui
|
|
221
|
+
[data-ui-dialog] > [data-part-backdrop] {
|
|
218
222
|
grid-area: 1 / 1;
|
|
219
223
|
background: var(--slotted-dialog-scrim, var(--slotted-scrim, Canvas));
|
|
220
224
|
opacity: 0;
|
|
@@ -234,7 +238,7 @@
|
|
|
234
238
|
* The panel below arrives over the same duration and the same curve, so the
|
|
235
239
|
* two halves of one layer arrive together.
|
|
236
240
|
*/
|
|
237
|
-
[data-ui
|
|
241
|
+
[data-ui-dialog][data-open] > [data-part-backdrop] {
|
|
238
242
|
opacity: 1;
|
|
239
243
|
transition: opacity var(--slotted-duration-long) var(--slotted-easing-standard);
|
|
240
244
|
}
|
|
@@ -248,7 +252,7 @@
|
|
|
248
252
|
* start edge as soon as the item cannot fit, which is the only reading that
|
|
249
253
|
* keeps the title reachable at 200% zoom and in a short window.
|
|
250
254
|
*/
|
|
251
|
-
[data-ui
|
|
255
|
+
[data-ui-dialog] > [data-part-viewport] {
|
|
252
256
|
grid-area: 1 / 1;
|
|
253
257
|
display: grid;
|
|
254
258
|
grid-template-columns: minmax(0, 1fr);
|
|
@@ -268,7 +272,7 @@
|
|
|
268
272
|
overscroll-behavior: contain;
|
|
269
273
|
}
|
|
270
274
|
|
|
271
|
-
[data-ui
|
|
275
|
+
[data-ui-dialog][data-placement='top'] > [data-part-viewport] {
|
|
272
276
|
align-content: safe start;
|
|
273
277
|
}
|
|
274
278
|
|
|
@@ -280,7 +284,16 @@
|
|
|
280
284
|
*/
|
|
281
285
|
/* ── The panel ────────────────────────────────────────────────────────── */
|
|
282
286
|
|
|
283
|
-
[data-ui
|
|
287
|
+
[data-ui-dialog] > [data-part-viewport] > [data-part-content] {
|
|
288
|
+
/**
|
|
289
|
+
* The inset the rows carry, stated where a layout of the consumer's own can
|
|
290
|
+
* read it: the panel draws no padding, so content written straight inside
|
|
291
|
+
* it reads `--slotted-dialog-inset-inline` for its padding and stands
|
|
292
|
+
* in the column the header, the body and the footer stand in.
|
|
293
|
+
*/
|
|
294
|
+
--slotted-dialog-inset-inline: var(--_padding-inline);
|
|
295
|
+
--slotted-dialog-inset-block: var(--_padding-block);
|
|
296
|
+
|
|
284
297
|
display: grid;
|
|
285
298
|
grid-template-rows: auto minmax(0, 1fr) auto;
|
|
286
299
|
inline-size: 100%;
|
|
@@ -343,6 +356,21 @@
|
|
|
343
356
|
*/
|
|
344
357
|
opacity: 0;
|
|
345
358
|
transition: opacity var(--slotted-duration-short) var(--slotted-easing-exit);
|
|
359
|
+
|
|
360
|
+
/**
|
|
361
|
+
* A theme draws the panel as a material with a surface that has alpha and
|
|
362
|
+
* this filter, `none` unless set. The panel's own fade keeps the filter
|
|
363
|
+
* drawn; an ancestor's opacity below one is what removes it.
|
|
364
|
+
*/
|
|
365
|
+
-webkit-backdrop-filter: var(--slotted-dialog-backdrop-filter, none);
|
|
366
|
+
backdrop-filter: var(--slotted-dialog-backdrop-filter, none);
|
|
367
|
+
}
|
|
368
|
+
|
|
369
|
+
@media (prefers-reduced-transparency: reduce), (forced-colors: active) {
|
|
370
|
+
[data-ui-dialog] > [data-part-viewport] > [data-part-content] {
|
|
371
|
+
-webkit-backdrop-filter: none;
|
|
372
|
+
backdrop-filter: none;
|
|
373
|
+
}
|
|
346
374
|
}
|
|
347
375
|
|
|
348
376
|
/**
|
|
@@ -355,7 +383,7 @@
|
|
|
355
383
|
* the edge it sits on, and it is on the same rule now for the same reason:
|
|
356
384
|
* the type inside it is what the slide was resampling (DG4).
|
|
357
385
|
*/
|
|
358
|
-
[data-ui
|
|
386
|
+
[data-ui-dialog][data-open] > [data-part-viewport] > [data-part-content] {
|
|
359
387
|
opacity: 1;
|
|
360
388
|
transition: opacity var(--slotted-duration-long) var(--slotted-easing-standard);
|
|
361
389
|
}
|
|
@@ -369,10 +397,20 @@
|
|
|
369
397
|
* travelling, and there is no travel to stop (DG4).
|
|
370
398
|
*/
|
|
371
399
|
|
|
372
|
-
[data-ui
|
|
400
|
+
[data-ui-dialog][data-scroll='viewport'] > [data-part-viewport] > [data-part-content] {
|
|
373
401
|
max-block-size: none;
|
|
374
402
|
}
|
|
375
403
|
|
|
404
|
+
/**
|
|
405
|
+
* A form written around the header, the body and the footer, so Enter in
|
|
406
|
+
* any field and the footer's submit belong to one form. It draws no box:
|
|
407
|
+
* its children are the panel's rows, and every rule of a part is written a
|
|
408
|
+
* second time through it, so the parts keep the panel's inset and rows.
|
|
409
|
+
*/
|
|
410
|
+
[data-ui-dialog] > [data-part-viewport] > [data-part-content] > form {
|
|
411
|
+
display: contents;
|
|
412
|
+
}
|
|
413
|
+
|
|
376
414
|
/* ── The header ───────────────────────────────────────────────────────── */
|
|
377
415
|
|
|
378
416
|
/**
|
|
@@ -396,7 +434,8 @@
|
|
|
396
434
|
* `interpolate-size`. The cost is a rule over a footer that sometimes has
|
|
397
435
|
* nothing above it to separate.
|
|
398
436
|
*/
|
|
399
|
-
[data-ui
|
|
437
|
+
[data-ui-dialog] > [data-part-viewport] > [data-part-content] > form > [data-part-header],
|
|
438
|
+
[data-ui-dialog] > [data-part-viewport] > [data-part-content] > [data-part-header] {
|
|
400
439
|
display: grid;
|
|
401
440
|
grid-template-columns: auto minmax(0, 1fr) auto auto;
|
|
402
441
|
align-items: start;
|
|
@@ -421,16 +460,28 @@
|
|
|
421
460
|
* where the mark would have gone, and moved as soon as a tone was set. Where
|
|
422
461
|
* it goes is now a rule rather than an accident of the grid.
|
|
423
462
|
*/
|
|
424
|
-
[data-ui
|
|
425
|
-
> [data-part
|
|
426
|
-
> [data-part
|
|
427
|
-
>
|
|
463
|
+
[data-ui-dialog]
|
|
464
|
+
> [data-part-viewport]
|
|
465
|
+
> [data-part-content]
|
|
466
|
+
> form
|
|
467
|
+
> [data-part-header]
|
|
468
|
+
> *:not(
|
|
469
|
+
[data-part-icon],
|
|
470
|
+
[data-part-title],
|
|
471
|
+
[data-part-description],
|
|
472
|
+
[data-part-fullscreen],
|
|
473
|
+
[data-part-close]
|
|
474
|
+
),
|
|
475
|
+
[data-ui-dialog]
|
|
476
|
+
> [data-part-viewport]
|
|
477
|
+
> [data-part-content]
|
|
478
|
+
> [data-part-header]
|
|
428
479
|
> *:not(
|
|
429
|
-
[data-part
|
|
430
|
-
[data-part
|
|
431
|
-
[data-part
|
|
432
|
-
[data-part
|
|
433
|
-
[data-part
|
|
480
|
+
[data-part-icon],
|
|
481
|
+
[data-part-title],
|
|
482
|
+
[data-part-description],
|
|
483
|
+
[data-part-fullscreen],
|
|
484
|
+
[data-part-close]
|
|
434
485
|
) {
|
|
435
486
|
grid-column: 2;
|
|
436
487
|
/**
|
|
@@ -453,11 +504,17 @@
|
|
|
453
504
|
* colours every tone becomes one system colour and the silhouette is all
|
|
454
505
|
* that is left.
|
|
455
506
|
*/
|
|
456
|
-
[data-ui
|
|
457
|
-
> [data-part
|
|
458
|
-
> [data-part
|
|
459
|
-
>
|
|
460
|
-
> [data-part
|
|
507
|
+
[data-ui-dialog]
|
|
508
|
+
> [data-part-viewport]
|
|
509
|
+
> [data-part-content]
|
|
510
|
+
> form
|
|
511
|
+
> [data-part-header]
|
|
512
|
+
> [data-part-icon],
|
|
513
|
+
[data-ui-dialog]
|
|
514
|
+
> [data-part-viewport]
|
|
515
|
+
> [data-part-content]
|
|
516
|
+
> [data-part-header]
|
|
517
|
+
> [data-part-icon] {
|
|
461
518
|
--slotted-icon-size: var(--_status-size);
|
|
462
519
|
|
|
463
520
|
grid-column: 1;
|
|
@@ -478,23 +535,27 @@
|
|
|
478
535
|
margin-inline-end: var(--_mark-gap);
|
|
479
536
|
}
|
|
480
537
|
|
|
481
|
-
[data-ui
|
|
538
|
+
[data-ui-dialog][data-tone='accent'] {
|
|
482
539
|
--_tone-color: var(--slotted-tone-accent-text, CanvasText);
|
|
483
540
|
}
|
|
484
541
|
|
|
485
|
-
[data-ui
|
|
542
|
+
[data-ui-dialog][data-tone='secondary'] {
|
|
486
543
|
--_tone-color: var(--slotted-tone-secondary-text, CanvasText);
|
|
487
544
|
}
|
|
488
545
|
|
|
489
|
-
[data-ui
|
|
546
|
+
[data-ui-dialog][data-tone='success'] {
|
|
490
547
|
--_tone-color: var(--slotted-tone-success-text, CanvasText);
|
|
491
548
|
}
|
|
492
549
|
|
|
493
|
-
[data-ui
|
|
550
|
+
[data-ui-dialog][data-tone='info'] {
|
|
551
|
+
--_tone-color: var(--slotted-tone-info-text, CanvasText);
|
|
552
|
+
}
|
|
553
|
+
|
|
554
|
+
[data-ui-dialog][data-tone='warning'] {
|
|
494
555
|
--_tone-color: var(--slotted-tone-warning-text, CanvasText);
|
|
495
556
|
}
|
|
496
557
|
|
|
497
|
-
[data-ui
|
|
558
|
+
[data-ui-dialog][data-tone='danger'] {
|
|
498
559
|
--_tone-color: var(--slotted-tone-danger-text, CanvasText);
|
|
499
560
|
}
|
|
500
561
|
|
|
@@ -506,11 +567,17 @@
|
|
|
506
567
|
* panel past the layer, and the panel is centred, so both of its edges leave
|
|
507
568
|
* the screen at once.
|
|
508
569
|
*/
|
|
509
|
-
[data-ui
|
|
510
|
-
> [data-part
|
|
511
|
-
> [data-part
|
|
512
|
-
>
|
|
513
|
-
> [data-part
|
|
570
|
+
[data-ui-dialog]
|
|
571
|
+
> [data-part-viewport]
|
|
572
|
+
> [data-part-content]
|
|
573
|
+
> form
|
|
574
|
+
> [data-part-header]
|
|
575
|
+
> [data-part-title],
|
|
576
|
+
[data-ui-dialog]
|
|
577
|
+
> [data-part-viewport]
|
|
578
|
+
> [data-part-content]
|
|
579
|
+
> [data-part-header]
|
|
580
|
+
> [data-part-title] {
|
|
514
581
|
grid-column: 2;
|
|
515
582
|
grid-row: 1;
|
|
516
583
|
margin: 0;
|
|
@@ -529,11 +596,17 @@
|
|
|
529
596
|
color: var(--slotted-dialog-title-color, var(--slotted-text, CanvasText));
|
|
530
597
|
}
|
|
531
598
|
|
|
532
|
-
[data-ui
|
|
533
|
-
> [data-part
|
|
534
|
-
> [data-part
|
|
535
|
-
>
|
|
536
|
-
> [data-part
|
|
599
|
+
[data-ui-dialog]
|
|
600
|
+
> [data-part-viewport]
|
|
601
|
+
> [data-part-content]
|
|
602
|
+
> form
|
|
603
|
+
> [data-part-header]
|
|
604
|
+
> [data-part-description],
|
|
605
|
+
[data-ui-dialog]
|
|
606
|
+
> [data-part-viewport]
|
|
607
|
+
> [data-part-content]
|
|
608
|
+
> [data-part-header]
|
|
609
|
+
> [data-part-description] {
|
|
537
610
|
grid-column: 2;
|
|
538
611
|
grid-row: 2;
|
|
539
612
|
margin: 0;
|
|
@@ -552,11 +625,18 @@
|
|
|
552
625
|
* weight instead, which is what both product confirmations in the survey do
|
|
553
626
|
* with a span of their own.
|
|
554
627
|
*/
|
|
555
|
-
[data-ui
|
|
556
|
-
> [data-part
|
|
557
|
-
> [data-part
|
|
558
|
-
>
|
|
559
|
-
> [data-part
|
|
628
|
+
[data-ui-dialog]
|
|
629
|
+
> [data-part-viewport]
|
|
630
|
+
> [data-part-content]
|
|
631
|
+
> form
|
|
632
|
+
> [data-part-header]
|
|
633
|
+
> [data-part-description]
|
|
634
|
+
:is(strong, b),
|
|
635
|
+
[data-ui-dialog]
|
|
636
|
+
> [data-part-viewport]
|
|
637
|
+
> [data-part-content]
|
|
638
|
+
> [data-part-header]
|
|
639
|
+
> [data-part-description]
|
|
560
640
|
:is(strong, b) {
|
|
561
641
|
font-weight: var(--slotted-font-weight-semibold, 600);
|
|
562
642
|
color: var(--slotted-dialog-title-color, var(--slotted-text, CanvasText));
|
|
@@ -572,11 +652,17 @@
|
|
|
572
652
|
* in an `icon` box, sized here through the icon token so the box and the
|
|
573
653
|
* formula above read one length.
|
|
574
654
|
*/
|
|
575
|
-
[data-ui
|
|
576
|
-
> [data-part
|
|
577
|
-
> [data-part
|
|
578
|
-
>
|
|
579
|
-
> [data-part
|
|
655
|
+
[data-ui-dialog]
|
|
656
|
+
> [data-part-viewport]
|
|
657
|
+
> [data-part-content]
|
|
658
|
+
> form
|
|
659
|
+
> [data-part-header]
|
|
660
|
+
> [data-part-close],
|
|
661
|
+
[data-ui-dialog]
|
|
662
|
+
> [data-part-viewport]
|
|
663
|
+
> [data-part-content]
|
|
664
|
+
> [data-part-header]
|
|
665
|
+
> [data-part-close] {
|
|
580
666
|
--slotted-icon-size: var(--_icon-size);
|
|
581
667
|
|
|
582
668
|
grid-column: 4;
|
|
@@ -604,11 +690,17 @@
|
|
|
604
690
|
var(--slotted-control-transition-easing, var(--slotted-easing-standard));
|
|
605
691
|
}
|
|
606
692
|
|
|
607
|
-
[data-ui
|
|
608
|
-
> [data-part
|
|
609
|
-
> [data-part
|
|
610
|
-
>
|
|
611
|
-
> [data-part
|
|
693
|
+
[data-ui-dialog]
|
|
694
|
+
> [data-part-viewport]
|
|
695
|
+
> [data-part-content]
|
|
696
|
+
> form
|
|
697
|
+
> [data-part-header]
|
|
698
|
+
> [data-part-close]:not(:disabled):hover,
|
|
699
|
+
[data-ui-dialog]
|
|
700
|
+
> [data-part-viewport]
|
|
701
|
+
> [data-part-content]
|
|
702
|
+
> [data-part-header]
|
|
703
|
+
> [data-part-close]:not(:disabled):hover {
|
|
612
704
|
/* The ground moves under the pointer and nothing else does (R2). */
|
|
613
705
|
background-color: var(
|
|
614
706
|
--slotted-dialog-close-hover-background,
|
|
@@ -616,22 +708,34 @@
|
|
|
616
708
|
);
|
|
617
709
|
}
|
|
618
710
|
|
|
619
|
-
[data-ui
|
|
620
|
-
> [data-part
|
|
621
|
-
> [data-part
|
|
622
|
-
>
|
|
623
|
-
> [data-part
|
|
711
|
+
[data-ui-dialog]
|
|
712
|
+
> [data-part-viewport]
|
|
713
|
+
> [data-part-content]
|
|
714
|
+
> form
|
|
715
|
+
> [data-part-header]
|
|
716
|
+
> [data-part-close]:not(:disabled):active,
|
|
717
|
+
[data-ui-dialog]
|
|
718
|
+
> [data-part-viewport]
|
|
719
|
+
> [data-part-content]
|
|
720
|
+
> [data-part-header]
|
|
721
|
+
> [data-part-close]:not(:disabled):active {
|
|
624
722
|
background-color: var(
|
|
625
723
|
--slotted-dialog-close-active-background,
|
|
626
724
|
var(--slotted-tone-secondary-subtle-active)
|
|
627
725
|
);
|
|
628
726
|
}
|
|
629
727
|
|
|
630
|
-
[data-ui
|
|
631
|
-
> [data-part
|
|
632
|
-
> [data-part
|
|
633
|
-
>
|
|
634
|
-
> [data-part
|
|
728
|
+
[data-ui-dialog]
|
|
729
|
+
> [data-part-viewport]
|
|
730
|
+
> [data-part-content]
|
|
731
|
+
> form
|
|
732
|
+
> [data-part-header]
|
|
733
|
+
> [data-part-close]:focus-visible,
|
|
734
|
+
[data-ui-dialog]
|
|
735
|
+
> [data-part-viewport]
|
|
736
|
+
> [data-part-content]
|
|
737
|
+
> [data-part-header]
|
|
738
|
+
> [data-part-close]:focus-visible {
|
|
635
739
|
outline: var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);
|
|
636
740
|
outline-offset: calc(-1 * var(--slotted-focus-ring-offset, 2px));
|
|
637
741
|
}
|
|
@@ -652,11 +756,17 @@
|
|
|
652
756
|
* glyph is the binding's, chosen from the state: the mark says what the
|
|
653
757
|
* press does next, so it is the opposite of the state the panel is in.
|
|
654
758
|
*/
|
|
655
|
-
[data-ui
|
|
656
|
-
> [data-part
|
|
657
|
-
> [data-part
|
|
658
|
-
>
|
|
659
|
-
> [data-part
|
|
759
|
+
[data-ui-dialog]
|
|
760
|
+
> [data-part-viewport]
|
|
761
|
+
> [data-part-content]
|
|
762
|
+
> form
|
|
763
|
+
> [data-part-header]
|
|
764
|
+
> [data-part-fullscreen],
|
|
765
|
+
[data-ui-dialog]
|
|
766
|
+
> [data-part-viewport]
|
|
767
|
+
> [data-part-content]
|
|
768
|
+
> [data-part-header]
|
|
769
|
+
> [data-part-fullscreen] {
|
|
660
770
|
--slotted-icon-size: var(--_icon-size);
|
|
661
771
|
|
|
662
772
|
grid-column: 3;
|
|
@@ -687,20 +797,33 @@
|
|
|
687
797
|
* glyph on every side, and a second gap between them would set them further
|
|
688
798
|
* apart than either is from the words.
|
|
689
799
|
*/
|
|
690
|
-
[data-ui
|
|
691
|
-
> [data-part
|
|
692
|
-
> [data-part
|
|
693
|
-
>
|
|
694
|
-
> [data-part
|
|
695
|
-
|
|
800
|
+
[data-ui-dialog]
|
|
801
|
+
> [data-part-viewport]
|
|
802
|
+
> [data-part-content]
|
|
803
|
+
> form
|
|
804
|
+
> [data-part-header]
|
|
805
|
+
> [data-part-fullscreen]
|
|
806
|
+
+ [data-part-close],
|
|
807
|
+
[data-ui-dialog]
|
|
808
|
+
> [data-part-viewport]
|
|
809
|
+
> [data-part-content]
|
|
810
|
+
> [data-part-header]
|
|
811
|
+
> [data-part-fullscreen]
|
|
812
|
+
+ [data-part-close] {
|
|
696
813
|
margin-inline-start: 0;
|
|
697
814
|
}
|
|
698
815
|
|
|
699
|
-
[data-ui
|
|
700
|
-
> [data-part
|
|
701
|
-
> [data-part
|
|
702
|
-
>
|
|
703
|
-
> [data-part
|
|
816
|
+
[data-ui-dialog]
|
|
817
|
+
> [data-part-viewport]
|
|
818
|
+
> [data-part-content]
|
|
819
|
+
> form
|
|
820
|
+
> [data-part-header]
|
|
821
|
+
> [data-part-fullscreen]:not(:disabled):hover,
|
|
822
|
+
[data-ui-dialog]
|
|
823
|
+
> [data-part-viewport]
|
|
824
|
+
> [data-part-content]
|
|
825
|
+
> [data-part-header]
|
|
826
|
+
> [data-part-fullscreen]:not(:disabled):hover {
|
|
704
827
|
/* The ground moves under the pointer and nothing else does (R2). */
|
|
705
828
|
background-color: var(
|
|
706
829
|
--slotted-dialog-close-hover-background,
|
|
@@ -708,22 +831,34 @@
|
|
|
708
831
|
);
|
|
709
832
|
}
|
|
710
833
|
|
|
711
|
-
[data-ui
|
|
712
|
-
> [data-part
|
|
713
|
-
> [data-part
|
|
714
|
-
>
|
|
715
|
-
> [data-part
|
|
834
|
+
[data-ui-dialog]
|
|
835
|
+
> [data-part-viewport]
|
|
836
|
+
> [data-part-content]
|
|
837
|
+
> form
|
|
838
|
+
> [data-part-header]
|
|
839
|
+
> [data-part-fullscreen]:not(:disabled):active,
|
|
840
|
+
[data-ui-dialog]
|
|
841
|
+
> [data-part-viewport]
|
|
842
|
+
> [data-part-content]
|
|
843
|
+
> [data-part-header]
|
|
844
|
+
> [data-part-fullscreen]:not(:disabled):active {
|
|
716
845
|
background-color: var(
|
|
717
846
|
--slotted-dialog-close-active-background,
|
|
718
847
|
var(--slotted-tone-secondary-subtle-active)
|
|
719
848
|
);
|
|
720
849
|
}
|
|
721
850
|
|
|
722
|
-
[data-ui
|
|
723
|
-
> [data-part
|
|
724
|
-
> [data-part
|
|
725
|
-
>
|
|
726
|
-
> [data-part
|
|
851
|
+
[data-ui-dialog]
|
|
852
|
+
> [data-part-viewport]
|
|
853
|
+
> [data-part-content]
|
|
854
|
+
> form
|
|
855
|
+
> [data-part-header]
|
|
856
|
+
> [data-part-fullscreen]:focus-visible,
|
|
857
|
+
[data-ui-dialog]
|
|
858
|
+
> [data-part-viewport]
|
|
859
|
+
> [data-part-content]
|
|
860
|
+
> [data-part-header]
|
|
861
|
+
> [data-part-fullscreen]:focus-visible {
|
|
727
862
|
outline: var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);
|
|
728
863
|
outline-offset: calc(-1 * var(--slotted-focus-ring-offset, 2px));
|
|
729
864
|
}
|
|
@@ -735,38 +870,63 @@
|
|
|
735
870
|
* controls touch, so neither reaches across the edge they share.
|
|
736
871
|
*/
|
|
737
872
|
@media (pointer: coarse) {
|
|
738
|
-
[data-ui
|
|
739
|
-
> [data-part
|
|
740
|
-
> [data-part
|
|
741
|
-
>
|
|
742
|
-
>
|
|
873
|
+
[data-ui-dialog]
|
|
874
|
+
> [data-part-viewport]
|
|
875
|
+
> [data-part-content]
|
|
876
|
+
> form
|
|
877
|
+
> [data-part-header]
|
|
878
|
+
> :is([data-part-close], [data-part-fullscreen]),
|
|
879
|
+
[data-ui-dialog]
|
|
880
|
+
> [data-part-viewport]
|
|
881
|
+
> [data-part-content]
|
|
882
|
+
> [data-part-header]
|
|
883
|
+
> :is([data-part-close], [data-part-fullscreen]) {
|
|
743
884
|
position: relative;
|
|
744
885
|
}
|
|
745
886
|
|
|
746
|
-
[data-ui
|
|
747
|
-
> [data-part
|
|
748
|
-
> [data-part
|
|
749
|
-
>
|
|
750
|
-
>
|
|
887
|
+
[data-ui-dialog]
|
|
888
|
+
> [data-part-viewport]
|
|
889
|
+
> [data-part-content]
|
|
890
|
+
> form
|
|
891
|
+
> [data-part-header]
|
|
892
|
+
> :is([data-part-close], [data-part-fullscreen])::before,
|
|
893
|
+
[data-ui-dialog]
|
|
894
|
+
> [data-part-viewport]
|
|
895
|
+
> [data-part-content]
|
|
896
|
+
> [data-part-header]
|
|
897
|
+
> :is([data-part-close], [data-part-fullscreen])::before {
|
|
751
898
|
content: '';
|
|
752
899
|
inset: min(0px, calc((100% - var(--slotted-target-comfortable, 44px)) / 2));
|
|
753
900
|
position: absolute;
|
|
754
901
|
}
|
|
755
902
|
|
|
756
|
-
[data-ui
|
|
757
|
-
> [data-part
|
|
758
|
-
> [data-part
|
|
759
|
-
>
|
|
760
|
-
> [data-part
|
|
903
|
+
[data-ui-dialog]
|
|
904
|
+
> [data-part-viewport]
|
|
905
|
+
> [data-part-content]
|
|
906
|
+
> form
|
|
907
|
+
> [data-part-header]
|
|
908
|
+
> [data-part-fullscreen]:has(+ [data-part-close])::before,
|
|
909
|
+
[data-ui-dialog]
|
|
910
|
+
> [data-part-viewport]
|
|
911
|
+
> [data-part-content]
|
|
912
|
+
> [data-part-header]
|
|
913
|
+
> [data-part-fullscreen]:has(+ [data-part-close])::before {
|
|
761
914
|
inset-inline-end: 0;
|
|
762
915
|
}
|
|
763
916
|
|
|
764
|
-
[data-ui
|
|
765
|
-
> [data-part
|
|
766
|
-
> [data-part
|
|
767
|
-
>
|
|
768
|
-
> [data-part
|
|
769
|
-
|
|
917
|
+
[data-ui-dialog]
|
|
918
|
+
> [data-part-viewport]
|
|
919
|
+
> [data-part-content]
|
|
920
|
+
> form
|
|
921
|
+
> [data-part-header]
|
|
922
|
+
> [data-part-fullscreen]
|
|
923
|
+
+ [data-part-close]::before,
|
|
924
|
+
[data-ui-dialog]
|
|
925
|
+
> [data-part-viewport]
|
|
926
|
+
> [data-part-content]
|
|
927
|
+
> [data-part-header]
|
|
928
|
+
> [data-part-fullscreen]
|
|
929
|
+
+ [data-part-close]::before {
|
|
770
930
|
inset-inline-start: 0;
|
|
771
931
|
}
|
|
772
932
|
}
|
|
@@ -779,15 +939,21 @@
|
|
|
779
939
|
* `dismissable-layer` covers the modal case; this covers the non-modal one,
|
|
780
940
|
* where the page behind is not locked at all.
|
|
781
941
|
*/
|
|
782
|
-
[data-ui
|
|
783
|
-
> [data-part
|
|
784
|
-
> [data-part
|
|
785
|
-
>
|
|
942
|
+
[data-ui-dialog]
|
|
943
|
+
> [data-part-viewport]
|
|
944
|
+
> [data-part-content]
|
|
945
|
+
> form
|
|
946
|
+
> [data-part-body]:not(:first-child),
|
|
947
|
+
[data-ui-dialog]
|
|
948
|
+
> [data-part-viewport]
|
|
949
|
+
> [data-part-content]
|
|
950
|
+
> [data-part-body]:not(:first-child) {
|
|
786
951
|
border-block-start: var(--_rule-size) solid
|
|
787
952
|
var(--slotted-dialog-rule-color, var(--slotted-border-subtle, ButtonBorder));
|
|
788
953
|
}
|
|
789
954
|
|
|
790
|
-
[data-ui
|
|
955
|
+
[data-ui-dialog] > [data-part-viewport] > [data-part-content] > form > [data-part-body],
|
|
956
|
+
[data-ui-dialog] > [data-part-viewport] > [data-part-content] > [data-part-body] {
|
|
791
957
|
min-block-size: 0;
|
|
792
958
|
overflow-x: hidden;
|
|
793
959
|
overflow-y: auto;
|
|
@@ -801,10 +967,15 @@
|
|
|
801
967
|
color: var(--slotted-dialog-body-color, var(--slotted-text, CanvasText));
|
|
802
968
|
}
|
|
803
969
|
|
|
804
|
-
[data-ui
|
|
805
|
-
> [data-part
|
|
806
|
-
> [data-part
|
|
807
|
-
>
|
|
970
|
+
[data-ui-dialog][data-scroll='viewport']
|
|
971
|
+
> [data-part-viewport]
|
|
972
|
+
> [data-part-content]
|
|
973
|
+
> form
|
|
974
|
+
> [data-part-body],
|
|
975
|
+
[data-ui-dialog][data-scroll='viewport']
|
|
976
|
+
> [data-part-viewport]
|
|
977
|
+
> [data-part-content]
|
|
978
|
+
> [data-part-body] {
|
|
808
979
|
overflow: visible;
|
|
809
980
|
}
|
|
810
981
|
|
|
@@ -815,10 +986,12 @@
|
|
|
815
986
|
* header, the close button and Escape all stay operable: a loading dialog a
|
|
816
987
|
* reader cannot leave is the worse failure of the two.
|
|
817
988
|
*/
|
|
818
|
-
[data-ui
|
|
819
|
-
> [data-part
|
|
820
|
-
> [data-part
|
|
821
|
-
>
|
|
989
|
+
[data-ui-dialog][data-loading]
|
|
990
|
+
> [data-part-viewport]
|
|
991
|
+
> [data-part-content]
|
|
992
|
+
> form
|
|
993
|
+
> [data-part-body],
|
|
994
|
+
[data-ui-dialog][data-loading] > [data-part-viewport] > [data-part-content] > [data-part-body] {
|
|
822
995
|
min-block-size: var(--slotted-space-12, 4rem);
|
|
823
996
|
}
|
|
824
997
|
|
|
@@ -830,7 +1003,8 @@
|
|
|
830
1003
|
* reason `content` is bounded — an unbounded panel pushes it past the fold,
|
|
831
1004
|
* which is the whole failure the three-row grid exists to prevent.
|
|
832
1005
|
*/
|
|
833
|
-
[data-ui
|
|
1006
|
+
[data-ui-dialog] > [data-part-viewport] > [data-part-content] > form > [data-part-footer],
|
|
1007
|
+
[data-ui-dialog] > [data-part-viewport] > [data-part-content] > [data-part-footer] {
|
|
834
1008
|
display: flex;
|
|
835
1009
|
flex-wrap: wrap;
|
|
836
1010
|
align-items: center;
|
|
@@ -841,10 +1015,15 @@
|
|
|
841
1015
|
background: var(--slotted-dialog-footer-surface, var(--slotted-surface-sunken, Canvas));
|
|
842
1016
|
}
|
|
843
1017
|
|
|
844
|
-
[data-ui
|
|
845
|
-
> [data-part
|
|
846
|
-
> [data-part
|
|
847
|
-
>
|
|
1018
|
+
[data-ui-dialog]
|
|
1019
|
+
> [data-part-viewport]
|
|
1020
|
+
> [data-part-content]
|
|
1021
|
+
> form
|
|
1022
|
+
> [data-part-footer]:not(:first-child),
|
|
1023
|
+
[data-ui-dialog]
|
|
1024
|
+
> [data-part-viewport]
|
|
1025
|
+
> [data-part-content]
|
|
1026
|
+
> [data-part-footer]:not(:first-child) {
|
|
848
1027
|
border-block-start: var(--_rule-size) solid
|
|
849
1028
|
var(--slotted-dialog-rule-color, var(--slotted-border-subtle, ButtonBorder));
|
|
850
1029
|
}
|
|
@@ -872,7 +1051,7 @@
|
|
|
872
1051
|
* writes their own three-row grid, which is the whole of what they are taking
|
|
873
1052
|
* over.
|
|
874
1053
|
*/
|
|
875
|
-
[data-ui
|
|
1054
|
+
[data-ui-dialog][data-surface='plain'] > [data-part-viewport] > [data-part-content] {
|
|
876
1055
|
display: block;
|
|
877
1056
|
background: none;
|
|
878
1057
|
border: 0;
|
|
@@ -881,10 +1060,38 @@
|
|
|
881
1060
|
overflow: visible;
|
|
882
1061
|
}
|
|
883
1062
|
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
1063
|
+
/**
|
|
1064
|
+
* The children fade in the panel's place, at the panel's durations. A plain
|
|
1065
|
+
* panel paints nothing, so the picture is the same; what changes is that no
|
|
1066
|
+
* ancestor of a child's material is below full opacity, which in Chromium
|
|
1067
|
+
* would draw no backdrop filter until the fade ended — a command palette
|
|
1068
|
+
* drawn as a material showed the page sharp behind it for the whole fade.
|
|
1069
|
+
*/
|
|
1070
|
+
[data-ui-dialog][data-surface='plain'] > [data-part-viewport] > [data-part-content] {
|
|
1071
|
+
opacity: 1;
|
|
1072
|
+
transition: none;
|
|
1073
|
+
}
|
|
1074
|
+
[data-ui-dialog][data-surface='plain'] > [data-part-viewport] > [data-part-content] > * {
|
|
1075
|
+
opacity: 0;
|
|
1076
|
+
transition: opacity var(--slotted-duration-short) var(--slotted-easing-exit);
|
|
1077
|
+
}
|
|
1078
|
+
[data-ui-dialog][data-surface='plain'][data-open]
|
|
1079
|
+
> [data-part-viewport]
|
|
1080
|
+
> [data-part-content]
|
|
1081
|
+
> * {
|
|
1082
|
+
opacity: 1;
|
|
1083
|
+
transition: opacity var(--slotted-duration-long) var(--slotted-easing-standard);
|
|
1084
|
+
}
|
|
1085
|
+
|
|
1086
|
+
[data-ui-dialog][data-surface='plain']
|
|
1087
|
+
> [data-part-viewport]
|
|
1088
|
+
> [data-part-content]
|
|
1089
|
+
> form
|
|
1090
|
+
> :is([data-part-header], [data-part-body], [data-part-footer]),
|
|
1091
|
+
[data-ui-dialog][data-surface='plain']
|
|
1092
|
+
> [data-part-viewport]
|
|
1093
|
+
> [data-part-content]
|
|
1094
|
+
> :is([data-part-header], [data-part-body], [data-part-footer]) {
|
|
888
1095
|
background: none;
|
|
889
1096
|
border: 0;
|
|
890
1097
|
padding: 0;
|
|
@@ -909,16 +1116,18 @@
|
|
|
909
1116
|
* a literal because `@container (max-inline-size: var(--x))` is invalid CSS.
|
|
910
1117
|
*/
|
|
911
1118
|
@container slotted-dialog (max-inline-size: 30rem) {
|
|
912
|
-
[data-ui
|
|
1119
|
+
[data-ui-dialog][data-full-screen='narrow'] > [data-part-viewport] {
|
|
913
1120
|
align-content: stretch;
|
|
914
1121
|
padding: 0;
|
|
915
1122
|
}
|
|
916
1123
|
|
|
917
|
-
[data-ui
|
|
1124
|
+
[data-ui-dialog][data-full-screen='narrow'] > [data-part-viewport] > [data-part-content] {
|
|
918
1125
|
max-inline-size: none;
|
|
919
1126
|
block-size: 100%;
|
|
920
1127
|
border-radius: 0;
|
|
921
1128
|
border: 0;
|
|
1129
|
+
box-sizing: border-box;
|
|
1130
|
+
padding-block-end: var(--slotted-keyboard-inset, 0px);
|
|
922
1131
|
}
|
|
923
1132
|
}
|
|
924
1133
|
|
|
@@ -930,14 +1139,14 @@
|
|
|
930
1139
|
* owns both — a panel that animated its own box would animate `inset`,
|
|
931
1140
|
* `inline-size` and `block-size`, which is the rule R7 exists to state.
|
|
932
1141
|
*/
|
|
933
|
-
[data-ui
|
|
934
|
-
[data-ui
|
|
1142
|
+
[data-ui-dialog][data-full-screen='always'] > [data-part-viewport],
|
|
1143
|
+
[data-ui-dialog][data-fullscreen] > [data-part-viewport] {
|
|
935
1144
|
align-content: stretch;
|
|
936
1145
|
padding: 0;
|
|
937
1146
|
}
|
|
938
1147
|
|
|
939
|
-
[data-ui
|
|
940
|
-
[data-ui
|
|
1148
|
+
[data-ui-dialog][data-full-screen='always'] > [data-part-viewport] > [data-part-content],
|
|
1149
|
+
[data-ui-dialog][data-fullscreen] > [data-part-viewport] > [data-part-content] {
|
|
941
1150
|
max-inline-size: none;
|
|
942
1151
|
block-size: 100%;
|
|
943
1152
|
border-radius: 0;
|
|
@@ -948,6 +1157,16 @@
|
|
|
948
1157
|
* layer, which on a phone is a stray line under the browser chrome.
|
|
949
1158
|
*/
|
|
950
1159
|
border: 0;
|
|
1160
|
+
/**
|
|
1161
|
+
* The virtual keyboard. `observeKeyboardInset` in `@slotted/core/measure`
|
|
1162
|
+
* measures what the keyboard covers, the binding writes it on the open
|
|
1163
|
+
* layer, and the panel's rows end above the keys: a full-screen panel is
|
|
1164
|
+
* the layout viewport's height, and the keyboard shrinks only the visual
|
|
1165
|
+
* one. Nought under `interactive-widget=resizes-content`, whose layout
|
|
1166
|
+
* already shrank.
|
|
1167
|
+
*/
|
|
1168
|
+
box-sizing: border-box;
|
|
1169
|
+
padding-block-end: var(--slotted-keyboard-inset, 0px);
|
|
951
1170
|
}
|
|
952
1171
|
|
|
953
1172
|
/* ── Forced colours ───────────────────────────────────────────────────── */
|
|
@@ -960,7 +1179,7 @@
|
|
|
960
1179
|
* a system border is read at.
|
|
961
1180
|
*/
|
|
962
1181
|
@media (forced-colors: active) {
|
|
963
|
-
[data-ui
|
|
1182
|
+
[data-ui-dialog] > [data-part-viewport] > [data-part-content] {
|
|
964
1183
|
border-color: CanvasText;
|
|
965
1184
|
border-width: var(--slotted-border-width-thick, 2px);
|
|
966
1185
|
}
|