@slotted/styles 0.1.0-beta.1 → 0.1.0-beta.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/accordion/accordion.css +10 -10
- package/src/action-bar/action-bar.css +31 -32
- package/src/action-sheet/action-sheet.css +36 -36
- package/src/alert/alert.css +43 -35
- package/src/alert/alert.tokens.json +5 -0
- package/src/app-shell/app-shell.css +356 -301
- package/src/aspect-ratio/aspect-ratio.css +9 -9
- package/src/attachment/attachment.css +91 -99
- package/src/avatar/avatar.css +71 -41
- package/src/avatar/avatar.tokens.json +7 -0
- package/src/avatar-group/avatar-group.css +21 -22
- package/src/badge/badge.css +45 -37
- package/src/badge/badge.tokens.json +5 -0
- package/src/breadcrumb/breadcrumb.css +37 -37
- package/src/button/button.css +139 -64
- package/src/button/button.tokens.json +10 -0
- package/src/button-group/button-group.css +76 -72
- package/src/button-group/button-group.tokens.json +2 -0
- package/src/calendar/calendar.css +93 -103
- package/src/card/card.css +54 -61
- package/src/carousel/carousel.css +150 -161
- package/src/cascader/cascader.css +152 -153
- package/src/cascader/cascader.tokens.json +1 -0
- package/src/chart/chart.css +242 -239
- package/src/chart/chart.tokens.json +1 -0
- package/src/checkbox/checkbox.css +119 -124
- package/src/checkbox-group/checkbox-group.css +7 -7
- package/src/code-block/code-block.css +81 -85
- package/src/collapsible/collapsible.css +69 -76
- package/src/color-picker/color-picker.css +83 -91
- package/src/column-manager/column-manager.css +106 -114
- package/src/combobox/combobox.css +132 -107
- package/src/combobox/combobox.tokens.json +1 -0
- package/src/command-palette/command-palette.css +84 -90
- package/src/container/container.css +24 -24
- package/src/context-menu/context-menu.css +8 -8
- package/src/currency-field/currency-field.css +210 -88
- package/src/currency-field/currency-field.tokens.json +13 -0
- package/src/dashboard-grid/dashboard-grid.css +148 -116
- package/src/data-grid/data-grid.css +504 -469
- package/src/data-grid/data-grid.tokens.json +2 -0
- package/src/data-list/data-list.css +81 -70
- package/src/data-list/data-list.tokens.json +2 -1
- package/src/date-field/date-field.css +55 -52
- package/src/date-field/date-field.tokens.json +1 -0
- package/src/date-picker/date-picker.css +40 -42
- package/src/date-range-picker/date-range-picker.css +114 -118
- package/src/datetime-field/datetime-field.css +78 -80
- package/src/datetime-field/datetime-field.tokens.json +1 -0
- package/src/datetime-picker/datetime-picker.css +61 -63
- package/src/datetime-range-picker/datetime-range-picker.css +149 -156
- package/src/description-list/description-list.css +61 -64
- package/src/detail-panel/detail-panel.css +70 -70
- package/src/dialog/dialog.css +334 -153
- package/src/dialog/dialog.tokens.json +5 -0
- package/src/divider/divider.css +18 -18
- package/src/drawer/drawer.css +186 -209
- package/src/entity-picker/entity-picker.css +238 -241
- package/src/entity-picker/entity-picker.tokens.json +1 -0
- package/src/event-calendar/event-calendar.css +343 -385
- package/src/field/field.css +74 -78
- package/src/field-group/field-group.css +22 -25
- package/src/filter-bar/filter-bar.css +193 -209
- package/src/form/form.css +34 -24
- package/src/form/form.tokens.json +1 -0
- package/src/fullscreen/fullscreen.css +24 -25
- package/src/grid/grid.css +28 -28
- package/src/highlight/highlight.css +6 -6
- package/src/hover-card/hover-card.css +6 -6
- package/src/icon/icon.css +19 -15
- package/src/icon/icon.tokens.json +1 -0
- package/src/image/image.css +39 -39
- package/src/import-export-center/import-export-center.css +135 -156
- package/src/inline/inline.css +27 -27
- package/src/inline-message/inline-message.css +52 -28
- package/src/inline-message/inline-message.tokens.json +4 -0
- package/src/kbd/kbd.css +30 -26
- package/src/link/link.css +15 -15
- package/src/list/list.css +44 -17
- package/src/list/list.tokens.json +4 -0
- package/src/list-item/list-item.css +80 -66
- package/src/list-item/list-item.tokens.json +7 -0
- package/src/listbox/listbox.css +56 -59
- package/src/loading-overlay/loading-overlay.css +75 -92
- package/src/markdown/markdown.css +17 -17
- package/src/menu/menu.css +83 -63
- package/src/menubar/menubar.css +13 -13
- package/src/message/message.css +182 -202
- package/src/message/message.tokens.json +5 -0
- package/src/message-scroller/message-scroller.css +41 -42
- package/src/multi-select/multi-select.css +152 -145
- package/src/multi-select/multi-select.tokens.json +1 -0
- package/src/navigation-menu/navigation-menu.css +167 -188
- package/src/notification-center/notification-center.css +140 -148
- package/src/notification-center/notification-center.tokens.json +3 -0
- package/src/number-field/number-field.css +84 -83
- package/src/number-field/number-field.tokens.json +1 -0
- package/src/otp-input/otp-input.css +67 -57
- package/src/otp-input/otp-input.tokens.json +1 -0
- package/src/page/page.css +23 -23
- package/src/page-header/page-header.css +268 -281
- package/src/page-header/page-header.tokens.json +1 -0
- package/src/pagination/pagination.css +68 -72
- package/src/popover/popover.css +40 -49
- package/src/progress-indicator/progress-indicator.css +177 -120
- package/src/progress-indicator/progress-indicator.tokens.json +1 -1
- package/src/prompt-composer/prompt-composer.css +221 -102
- package/src/prompt-composer/prompt-composer.tokens.json +15 -0
- package/src/prose/prose.css +71 -75
- package/src/radio-group/radio-group.css +98 -103
- package/src/rating/rating.css +136 -132
- package/src/rating/rating.tokens.json +1 -0
- package/src/result-state/result-state.css +74 -77
- package/src/runtime-properties.mjs +2 -0
- package/src/saved-views/saved-views.css +41 -47
- package/src/scroll-area/scroll-area.css +39 -32
- package/src/section/section.css +161 -41
- package/src/section/section.tokens.json +7 -2
- package/src/segmented-control/segmented-control.css +254 -97
- package/src/segmented-control/segmented-control.tokens.json +15 -11
- package/src/select/select.css +118 -117
- package/src/select/select.tokens.json +1 -0
- package/src/side-navigation/side-navigation.css +179 -182
- package/src/side-navigation/side-navigation.tokens.json +1 -0
- package/src/skeleton/skeleton.css +47 -48
- package/src/slider/slider.css +86 -88
- package/src/sparkline/sparkline.css +62 -40
- package/src/sparkline/sparkline.tokens.json +2 -0
- package/src/spinner/spinner.css +39 -182
- package/src/spinner/spinner.tokens.json +0 -2
- package/src/split-button/split-button.css +30 -31
- package/src/split-button/split-button.tokens.json +1 -0
- package/src/splitter/splitter.css +35 -35
- package/src/stack/stack.css +24 -24
- package/src/stat-card/stat-card.css +341 -224
- package/src/stat-card/stat-card.tokens.json +3 -0
- package/src/status-indicator/status-indicator.css +28 -28
- package/src/stepper/stepper.css +58 -62
- package/src/switch/switch.css +86 -92
- package/src/table/table.css +310 -165
- package/src/table/table.tokens.json +6 -0
- package/src/table-of-contents/table-of-contents.css +51 -54
- package/src/tabs/tabs.css +330 -302
- package/src/tabs/tabs.tokens.json +8 -5
- package/src/tag/tag.css +79 -71
- package/src/tag/tag.tokens.json +9 -0
- package/src/tags-input/tags-input.css +145 -82
- package/src/tags-input/tags-input.tokens.json +7 -1
- package/src/text-field/text-field.css +132 -136
- package/src/text-field/text-field.tokens.json +1 -0
- package/src/textarea/textarea.css +31 -28
- package/src/textarea/textarea.tokens.json +1 -0
- package/src/time-field/time-field.css +72 -69
- package/src/time-field/time-field.tokens.json +1 -0
- package/src/time-picker/time-picker.css +56 -58
- package/src/time-range-picker/time-range-picker.css +126 -133
- package/src/timeline/timeline.css +254 -266
- package/src/timeline/timeline.tokens.json +5 -0
- package/src/toast/toast.css +89 -90
- package/src/toast/toast.tokens.json +5 -0
- package/src/toggle/toggle.css +62 -25
- package/src/toggle/toggle.tokens.json +8 -0
- package/src/toggle-group/toggle-group.css +106 -60
- package/src/toggle-group/toggle-group.tokens.json +10 -0
- package/src/toolbar/toolbar.css +30 -35
- package/src/tooltip/tooltip.css +26 -26
- package/src/top-navigation/top-navigation.css +243 -259
- package/src/tour/tour.css +51 -60
- package/src/transfer/transfer.css +160 -164
- package/src/tree/tree.css +103 -111
- package/src/typography/typography.css +40 -36
- package/src/typography/typography.tokens.json +1 -0
- package/src/upload/upload.css +224 -224
- package/src/visually-hidden/visually-hidden.css +1 -1
- package/src/wizard/wizard.css +185 -197
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%;
|
|
@@ -355,7 +368,7 @@
|
|
|
355
368
|
* the edge it sits on, and it is on the same rule now for the same reason:
|
|
356
369
|
* the type inside it is what the slide was resampling (DG4).
|
|
357
370
|
*/
|
|
358
|
-
[data-ui
|
|
371
|
+
[data-ui-dialog][data-open] > [data-part-viewport] > [data-part-content] {
|
|
359
372
|
opacity: 1;
|
|
360
373
|
transition: opacity var(--slotted-duration-long) var(--slotted-easing-standard);
|
|
361
374
|
}
|
|
@@ -369,10 +382,20 @@
|
|
|
369
382
|
* travelling, and there is no travel to stop (DG4).
|
|
370
383
|
*/
|
|
371
384
|
|
|
372
|
-
[data-ui
|
|
385
|
+
[data-ui-dialog][data-scroll='viewport'] > [data-part-viewport] > [data-part-content] {
|
|
373
386
|
max-block-size: none;
|
|
374
387
|
}
|
|
375
388
|
|
|
389
|
+
/**
|
|
390
|
+
* A form written around the header, the body and the footer, so Enter in
|
|
391
|
+
* any field and the footer's submit belong to one form. It draws no box:
|
|
392
|
+
* its children are the panel's rows, and every rule of a part is written a
|
|
393
|
+
* second time through it, so the parts keep the panel's inset and rows.
|
|
394
|
+
*/
|
|
395
|
+
[data-ui-dialog] > [data-part-viewport] > [data-part-content] > form {
|
|
396
|
+
display: contents;
|
|
397
|
+
}
|
|
398
|
+
|
|
376
399
|
/* ── The header ───────────────────────────────────────────────────────── */
|
|
377
400
|
|
|
378
401
|
/**
|
|
@@ -396,7 +419,8 @@
|
|
|
396
419
|
* `interpolate-size`. The cost is a rule over a footer that sometimes has
|
|
397
420
|
* nothing above it to separate.
|
|
398
421
|
*/
|
|
399
|
-
[data-ui
|
|
422
|
+
[data-ui-dialog] > [data-part-viewport] > [data-part-content] > form > [data-part-header],
|
|
423
|
+
[data-ui-dialog] > [data-part-viewport] > [data-part-content] > [data-part-header] {
|
|
400
424
|
display: grid;
|
|
401
425
|
grid-template-columns: auto minmax(0, 1fr) auto auto;
|
|
402
426
|
align-items: start;
|
|
@@ -421,16 +445,28 @@
|
|
|
421
445
|
* where the mark would have gone, and moved as soon as a tone was set. Where
|
|
422
446
|
* it goes is now a rule rather than an accident of the grid.
|
|
423
447
|
*/
|
|
424
|
-
[data-ui
|
|
425
|
-
> [data-part
|
|
426
|
-
> [data-part
|
|
427
|
-
>
|
|
448
|
+
[data-ui-dialog]
|
|
449
|
+
> [data-part-viewport]
|
|
450
|
+
> [data-part-content]
|
|
451
|
+
> form
|
|
452
|
+
> [data-part-header]
|
|
428
453
|
> *:not(
|
|
429
|
-
[data-part
|
|
430
|
-
[data-part
|
|
431
|
-
[data-part
|
|
432
|
-
[data-part
|
|
433
|
-
[data-part
|
|
454
|
+
[data-part-icon],
|
|
455
|
+
[data-part-title],
|
|
456
|
+
[data-part-description],
|
|
457
|
+
[data-part-fullscreen],
|
|
458
|
+
[data-part-close]
|
|
459
|
+
),
|
|
460
|
+
[data-ui-dialog]
|
|
461
|
+
> [data-part-viewport]
|
|
462
|
+
> [data-part-content]
|
|
463
|
+
> [data-part-header]
|
|
464
|
+
> *:not(
|
|
465
|
+
[data-part-icon],
|
|
466
|
+
[data-part-title],
|
|
467
|
+
[data-part-description],
|
|
468
|
+
[data-part-fullscreen],
|
|
469
|
+
[data-part-close]
|
|
434
470
|
) {
|
|
435
471
|
grid-column: 2;
|
|
436
472
|
/**
|
|
@@ -453,11 +489,17 @@
|
|
|
453
489
|
* colours every tone becomes one system colour and the silhouette is all
|
|
454
490
|
* that is left.
|
|
455
491
|
*/
|
|
456
|
-
[data-ui
|
|
457
|
-
> [data-part
|
|
458
|
-
> [data-part
|
|
459
|
-
>
|
|
460
|
-
> [data-part
|
|
492
|
+
[data-ui-dialog]
|
|
493
|
+
> [data-part-viewport]
|
|
494
|
+
> [data-part-content]
|
|
495
|
+
> form
|
|
496
|
+
> [data-part-header]
|
|
497
|
+
> [data-part-icon],
|
|
498
|
+
[data-ui-dialog]
|
|
499
|
+
> [data-part-viewport]
|
|
500
|
+
> [data-part-content]
|
|
501
|
+
> [data-part-header]
|
|
502
|
+
> [data-part-icon] {
|
|
461
503
|
--slotted-icon-size: var(--_status-size);
|
|
462
504
|
|
|
463
505
|
grid-column: 1;
|
|
@@ -478,23 +520,27 @@
|
|
|
478
520
|
margin-inline-end: var(--_mark-gap);
|
|
479
521
|
}
|
|
480
522
|
|
|
481
|
-
[data-ui
|
|
523
|
+
[data-ui-dialog][data-tone='accent'] {
|
|
482
524
|
--_tone-color: var(--slotted-tone-accent-text, CanvasText);
|
|
483
525
|
}
|
|
484
526
|
|
|
485
|
-
[data-ui
|
|
527
|
+
[data-ui-dialog][data-tone='secondary'] {
|
|
486
528
|
--_tone-color: var(--slotted-tone-secondary-text, CanvasText);
|
|
487
529
|
}
|
|
488
530
|
|
|
489
|
-
[data-ui
|
|
531
|
+
[data-ui-dialog][data-tone='success'] {
|
|
490
532
|
--_tone-color: var(--slotted-tone-success-text, CanvasText);
|
|
491
533
|
}
|
|
492
534
|
|
|
493
|
-
[data-ui
|
|
535
|
+
[data-ui-dialog][data-tone='info'] {
|
|
536
|
+
--_tone-color: var(--slotted-tone-info-text, CanvasText);
|
|
537
|
+
}
|
|
538
|
+
|
|
539
|
+
[data-ui-dialog][data-tone='warning'] {
|
|
494
540
|
--_tone-color: var(--slotted-tone-warning-text, CanvasText);
|
|
495
541
|
}
|
|
496
542
|
|
|
497
|
-
[data-ui
|
|
543
|
+
[data-ui-dialog][data-tone='danger'] {
|
|
498
544
|
--_tone-color: var(--slotted-tone-danger-text, CanvasText);
|
|
499
545
|
}
|
|
500
546
|
|
|
@@ -506,11 +552,17 @@
|
|
|
506
552
|
* panel past the layer, and the panel is centred, so both of its edges leave
|
|
507
553
|
* the screen at once.
|
|
508
554
|
*/
|
|
509
|
-
[data-ui
|
|
510
|
-
> [data-part
|
|
511
|
-
> [data-part
|
|
512
|
-
>
|
|
513
|
-
> [data-part
|
|
555
|
+
[data-ui-dialog]
|
|
556
|
+
> [data-part-viewport]
|
|
557
|
+
> [data-part-content]
|
|
558
|
+
> form
|
|
559
|
+
> [data-part-header]
|
|
560
|
+
> [data-part-title],
|
|
561
|
+
[data-ui-dialog]
|
|
562
|
+
> [data-part-viewport]
|
|
563
|
+
> [data-part-content]
|
|
564
|
+
> [data-part-header]
|
|
565
|
+
> [data-part-title] {
|
|
514
566
|
grid-column: 2;
|
|
515
567
|
grid-row: 1;
|
|
516
568
|
margin: 0;
|
|
@@ -529,11 +581,17 @@
|
|
|
529
581
|
color: var(--slotted-dialog-title-color, var(--slotted-text, CanvasText));
|
|
530
582
|
}
|
|
531
583
|
|
|
532
|
-
[data-ui
|
|
533
|
-
> [data-part
|
|
534
|
-
> [data-part
|
|
535
|
-
>
|
|
536
|
-
> [data-part
|
|
584
|
+
[data-ui-dialog]
|
|
585
|
+
> [data-part-viewport]
|
|
586
|
+
> [data-part-content]
|
|
587
|
+
> form
|
|
588
|
+
> [data-part-header]
|
|
589
|
+
> [data-part-description],
|
|
590
|
+
[data-ui-dialog]
|
|
591
|
+
> [data-part-viewport]
|
|
592
|
+
> [data-part-content]
|
|
593
|
+
> [data-part-header]
|
|
594
|
+
> [data-part-description] {
|
|
537
595
|
grid-column: 2;
|
|
538
596
|
grid-row: 2;
|
|
539
597
|
margin: 0;
|
|
@@ -552,11 +610,18 @@
|
|
|
552
610
|
* weight instead, which is what both product confirmations in the survey do
|
|
553
611
|
* with a span of their own.
|
|
554
612
|
*/
|
|
555
|
-
[data-ui
|
|
556
|
-
> [data-part
|
|
557
|
-
> [data-part
|
|
558
|
-
>
|
|
559
|
-
> [data-part
|
|
613
|
+
[data-ui-dialog]
|
|
614
|
+
> [data-part-viewport]
|
|
615
|
+
> [data-part-content]
|
|
616
|
+
> form
|
|
617
|
+
> [data-part-header]
|
|
618
|
+
> [data-part-description]
|
|
619
|
+
:is(strong, b),
|
|
620
|
+
[data-ui-dialog]
|
|
621
|
+
> [data-part-viewport]
|
|
622
|
+
> [data-part-content]
|
|
623
|
+
> [data-part-header]
|
|
624
|
+
> [data-part-description]
|
|
560
625
|
:is(strong, b) {
|
|
561
626
|
font-weight: var(--slotted-font-weight-semibold, 600);
|
|
562
627
|
color: var(--slotted-dialog-title-color, var(--slotted-text, CanvasText));
|
|
@@ -572,11 +637,17 @@
|
|
|
572
637
|
* in an `icon` box, sized here through the icon token so the box and the
|
|
573
638
|
* formula above read one length.
|
|
574
639
|
*/
|
|
575
|
-
[data-ui
|
|
576
|
-
> [data-part
|
|
577
|
-
> [data-part
|
|
578
|
-
>
|
|
579
|
-
> [data-part
|
|
640
|
+
[data-ui-dialog]
|
|
641
|
+
> [data-part-viewport]
|
|
642
|
+
> [data-part-content]
|
|
643
|
+
> form
|
|
644
|
+
> [data-part-header]
|
|
645
|
+
> [data-part-close],
|
|
646
|
+
[data-ui-dialog]
|
|
647
|
+
> [data-part-viewport]
|
|
648
|
+
> [data-part-content]
|
|
649
|
+
> [data-part-header]
|
|
650
|
+
> [data-part-close] {
|
|
580
651
|
--slotted-icon-size: var(--_icon-size);
|
|
581
652
|
|
|
582
653
|
grid-column: 4;
|
|
@@ -604,11 +675,17 @@
|
|
|
604
675
|
var(--slotted-control-transition-easing, var(--slotted-easing-standard));
|
|
605
676
|
}
|
|
606
677
|
|
|
607
|
-
[data-ui
|
|
608
|
-
> [data-part
|
|
609
|
-
> [data-part
|
|
610
|
-
>
|
|
611
|
-
> [data-part
|
|
678
|
+
[data-ui-dialog]
|
|
679
|
+
> [data-part-viewport]
|
|
680
|
+
> [data-part-content]
|
|
681
|
+
> form
|
|
682
|
+
> [data-part-header]
|
|
683
|
+
> [data-part-close]:not(:disabled):hover,
|
|
684
|
+
[data-ui-dialog]
|
|
685
|
+
> [data-part-viewport]
|
|
686
|
+
> [data-part-content]
|
|
687
|
+
> [data-part-header]
|
|
688
|
+
> [data-part-close]:not(:disabled):hover {
|
|
612
689
|
/* The ground moves under the pointer and nothing else does (R2). */
|
|
613
690
|
background-color: var(
|
|
614
691
|
--slotted-dialog-close-hover-background,
|
|
@@ -616,22 +693,34 @@
|
|
|
616
693
|
);
|
|
617
694
|
}
|
|
618
695
|
|
|
619
|
-
[data-ui
|
|
620
|
-
> [data-part
|
|
621
|
-
> [data-part
|
|
622
|
-
>
|
|
623
|
-
> [data-part
|
|
696
|
+
[data-ui-dialog]
|
|
697
|
+
> [data-part-viewport]
|
|
698
|
+
> [data-part-content]
|
|
699
|
+
> form
|
|
700
|
+
> [data-part-header]
|
|
701
|
+
> [data-part-close]:not(:disabled):active,
|
|
702
|
+
[data-ui-dialog]
|
|
703
|
+
> [data-part-viewport]
|
|
704
|
+
> [data-part-content]
|
|
705
|
+
> [data-part-header]
|
|
706
|
+
> [data-part-close]:not(:disabled):active {
|
|
624
707
|
background-color: var(
|
|
625
708
|
--slotted-dialog-close-active-background,
|
|
626
709
|
var(--slotted-tone-secondary-subtle-active)
|
|
627
710
|
);
|
|
628
711
|
}
|
|
629
712
|
|
|
630
|
-
[data-ui
|
|
631
|
-
> [data-part
|
|
632
|
-
> [data-part
|
|
633
|
-
>
|
|
634
|
-
> [data-part
|
|
713
|
+
[data-ui-dialog]
|
|
714
|
+
> [data-part-viewport]
|
|
715
|
+
> [data-part-content]
|
|
716
|
+
> form
|
|
717
|
+
> [data-part-header]
|
|
718
|
+
> [data-part-close]:focus-visible,
|
|
719
|
+
[data-ui-dialog]
|
|
720
|
+
> [data-part-viewport]
|
|
721
|
+
> [data-part-content]
|
|
722
|
+
> [data-part-header]
|
|
723
|
+
> [data-part-close]:focus-visible {
|
|
635
724
|
outline: var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);
|
|
636
725
|
outline-offset: calc(-1 * var(--slotted-focus-ring-offset, 2px));
|
|
637
726
|
}
|
|
@@ -652,11 +741,17 @@
|
|
|
652
741
|
* glyph is the binding's, chosen from the state: the mark says what the
|
|
653
742
|
* press does next, so it is the opposite of the state the panel is in.
|
|
654
743
|
*/
|
|
655
|
-
[data-ui
|
|
656
|
-
> [data-part
|
|
657
|
-
> [data-part
|
|
658
|
-
>
|
|
659
|
-
> [data-part
|
|
744
|
+
[data-ui-dialog]
|
|
745
|
+
> [data-part-viewport]
|
|
746
|
+
> [data-part-content]
|
|
747
|
+
> form
|
|
748
|
+
> [data-part-header]
|
|
749
|
+
> [data-part-fullscreen],
|
|
750
|
+
[data-ui-dialog]
|
|
751
|
+
> [data-part-viewport]
|
|
752
|
+
> [data-part-content]
|
|
753
|
+
> [data-part-header]
|
|
754
|
+
> [data-part-fullscreen] {
|
|
660
755
|
--slotted-icon-size: var(--_icon-size);
|
|
661
756
|
|
|
662
757
|
grid-column: 3;
|
|
@@ -687,20 +782,33 @@
|
|
|
687
782
|
* glyph on every side, and a second gap between them would set them further
|
|
688
783
|
* apart than either is from the words.
|
|
689
784
|
*/
|
|
690
|
-
[data-ui
|
|
691
|
-
> [data-part
|
|
692
|
-
> [data-part
|
|
693
|
-
>
|
|
694
|
-
> [data-part
|
|
695
|
-
|
|
785
|
+
[data-ui-dialog]
|
|
786
|
+
> [data-part-viewport]
|
|
787
|
+
> [data-part-content]
|
|
788
|
+
> form
|
|
789
|
+
> [data-part-header]
|
|
790
|
+
> [data-part-fullscreen]
|
|
791
|
+
+ [data-part-close],
|
|
792
|
+
[data-ui-dialog]
|
|
793
|
+
> [data-part-viewport]
|
|
794
|
+
> [data-part-content]
|
|
795
|
+
> [data-part-header]
|
|
796
|
+
> [data-part-fullscreen]
|
|
797
|
+
+ [data-part-close] {
|
|
696
798
|
margin-inline-start: 0;
|
|
697
799
|
}
|
|
698
800
|
|
|
699
|
-
[data-ui
|
|
700
|
-
> [data-part
|
|
701
|
-
> [data-part
|
|
702
|
-
>
|
|
703
|
-
> [data-part
|
|
801
|
+
[data-ui-dialog]
|
|
802
|
+
> [data-part-viewport]
|
|
803
|
+
> [data-part-content]
|
|
804
|
+
> form
|
|
805
|
+
> [data-part-header]
|
|
806
|
+
> [data-part-fullscreen]:not(:disabled):hover,
|
|
807
|
+
[data-ui-dialog]
|
|
808
|
+
> [data-part-viewport]
|
|
809
|
+
> [data-part-content]
|
|
810
|
+
> [data-part-header]
|
|
811
|
+
> [data-part-fullscreen]:not(:disabled):hover {
|
|
704
812
|
/* The ground moves under the pointer and nothing else does (R2). */
|
|
705
813
|
background-color: var(
|
|
706
814
|
--slotted-dialog-close-hover-background,
|
|
@@ -708,22 +816,34 @@
|
|
|
708
816
|
);
|
|
709
817
|
}
|
|
710
818
|
|
|
711
|
-
[data-ui
|
|
712
|
-
> [data-part
|
|
713
|
-
> [data-part
|
|
714
|
-
>
|
|
715
|
-
> [data-part
|
|
819
|
+
[data-ui-dialog]
|
|
820
|
+
> [data-part-viewport]
|
|
821
|
+
> [data-part-content]
|
|
822
|
+
> form
|
|
823
|
+
> [data-part-header]
|
|
824
|
+
> [data-part-fullscreen]:not(:disabled):active,
|
|
825
|
+
[data-ui-dialog]
|
|
826
|
+
> [data-part-viewport]
|
|
827
|
+
> [data-part-content]
|
|
828
|
+
> [data-part-header]
|
|
829
|
+
> [data-part-fullscreen]:not(:disabled):active {
|
|
716
830
|
background-color: var(
|
|
717
831
|
--slotted-dialog-close-active-background,
|
|
718
832
|
var(--slotted-tone-secondary-subtle-active)
|
|
719
833
|
);
|
|
720
834
|
}
|
|
721
835
|
|
|
722
|
-
[data-ui
|
|
723
|
-
> [data-part
|
|
724
|
-
> [data-part
|
|
725
|
-
>
|
|
726
|
-
> [data-part
|
|
836
|
+
[data-ui-dialog]
|
|
837
|
+
> [data-part-viewport]
|
|
838
|
+
> [data-part-content]
|
|
839
|
+
> form
|
|
840
|
+
> [data-part-header]
|
|
841
|
+
> [data-part-fullscreen]:focus-visible,
|
|
842
|
+
[data-ui-dialog]
|
|
843
|
+
> [data-part-viewport]
|
|
844
|
+
> [data-part-content]
|
|
845
|
+
> [data-part-header]
|
|
846
|
+
> [data-part-fullscreen]:focus-visible {
|
|
727
847
|
outline: var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);
|
|
728
848
|
outline-offset: calc(-1 * var(--slotted-focus-ring-offset, 2px));
|
|
729
849
|
}
|
|
@@ -735,38 +855,63 @@
|
|
|
735
855
|
* controls touch, so neither reaches across the edge they share.
|
|
736
856
|
*/
|
|
737
857
|
@media (pointer: coarse) {
|
|
738
|
-
[data-ui
|
|
739
|
-
> [data-part
|
|
740
|
-
> [data-part
|
|
741
|
-
>
|
|
742
|
-
>
|
|
858
|
+
[data-ui-dialog]
|
|
859
|
+
> [data-part-viewport]
|
|
860
|
+
> [data-part-content]
|
|
861
|
+
> form
|
|
862
|
+
> [data-part-header]
|
|
863
|
+
> :is([data-part-close], [data-part-fullscreen]),
|
|
864
|
+
[data-ui-dialog]
|
|
865
|
+
> [data-part-viewport]
|
|
866
|
+
> [data-part-content]
|
|
867
|
+
> [data-part-header]
|
|
868
|
+
> :is([data-part-close], [data-part-fullscreen]) {
|
|
743
869
|
position: relative;
|
|
744
870
|
}
|
|
745
871
|
|
|
746
|
-
[data-ui
|
|
747
|
-
> [data-part
|
|
748
|
-
> [data-part
|
|
749
|
-
>
|
|
750
|
-
>
|
|
872
|
+
[data-ui-dialog]
|
|
873
|
+
> [data-part-viewport]
|
|
874
|
+
> [data-part-content]
|
|
875
|
+
> form
|
|
876
|
+
> [data-part-header]
|
|
877
|
+
> :is([data-part-close], [data-part-fullscreen])::before,
|
|
878
|
+
[data-ui-dialog]
|
|
879
|
+
> [data-part-viewport]
|
|
880
|
+
> [data-part-content]
|
|
881
|
+
> [data-part-header]
|
|
882
|
+
> :is([data-part-close], [data-part-fullscreen])::before {
|
|
751
883
|
content: '';
|
|
752
884
|
inset: min(0px, calc((100% - var(--slotted-target-comfortable, 44px)) / 2));
|
|
753
885
|
position: absolute;
|
|
754
886
|
}
|
|
755
887
|
|
|
756
|
-
[data-ui
|
|
757
|
-
> [data-part
|
|
758
|
-
> [data-part
|
|
759
|
-
>
|
|
760
|
-
> [data-part
|
|
888
|
+
[data-ui-dialog]
|
|
889
|
+
> [data-part-viewport]
|
|
890
|
+
> [data-part-content]
|
|
891
|
+
> form
|
|
892
|
+
> [data-part-header]
|
|
893
|
+
> [data-part-fullscreen]:has(+ [data-part-close])::before,
|
|
894
|
+
[data-ui-dialog]
|
|
895
|
+
> [data-part-viewport]
|
|
896
|
+
> [data-part-content]
|
|
897
|
+
> [data-part-header]
|
|
898
|
+
> [data-part-fullscreen]:has(+ [data-part-close])::before {
|
|
761
899
|
inset-inline-end: 0;
|
|
762
900
|
}
|
|
763
901
|
|
|
764
|
-
[data-ui
|
|
765
|
-
> [data-part
|
|
766
|
-
> [data-part
|
|
767
|
-
>
|
|
768
|
-
> [data-part
|
|
769
|
-
|
|
902
|
+
[data-ui-dialog]
|
|
903
|
+
> [data-part-viewport]
|
|
904
|
+
> [data-part-content]
|
|
905
|
+
> form
|
|
906
|
+
> [data-part-header]
|
|
907
|
+
> [data-part-fullscreen]
|
|
908
|
+
+ [data-part-close]::before,
|
|
909
|
+
[data-ui-dialog]
|
|
910
|
+
> [data-part-viewport]
|
|
911
|
+
> [data-part-content]
|
|
912
|
+
> [data-part-header]
|
|
913
|
+
> [data-part-fullscreen]
|
|
914
|
+
+ [data-part-close]::before {
|
|
770
915
|
inset-inline-start: 0;
|
|
771
916
|
}
|
|
772
917
|
}
|
|
@@ -779,15 +924,21 @@
|
|
|
779
924
|
* `dismissable-layer` covers the modal case; this covers the non-modal one,
|
|
780
925
|
* where the page behind is not locked at all.
|
|
781
926
|
*/
|
|
782
|
-
[data-ui
|
|
783
|
-
> [data-part
|
|
784
|
-
> [data-part
|
|
785
|
-
>
|
|
927
|
+
[data-ui-dialog]
|
|
928
|
+
> [data-part-viewport]
|
|
929
|
+
> [data-part-content]
|
|
930
|
+
> form
|
|
931
|
+
> [data-part-body]:not(:first-child),
|
|
932
|
+
[data-ui-dialog]
|
|
933
|
+
> [data-part-viewport]
|
|
934
|
+
> [data-part-content]
|
|
935
|
+
> [data-part-body]:not(:first-child) {
|
|
786
936
|
border-block-start: var(--_rule-size) solid
|
|
787
937
|
var(--slotted-dialog-rule-color, var(--slotted-border-subtle, ButtonBorder));
|
|
788
938
|
}
|
|
789
939
|
|
|
790
|
-
[data-ui
|
|
940
|
+
[data-ui-dialog] > [data-part-viewport] > [data-part-content] > form > [data-part-body],
|
|
941
|
+
[data-ui-dialog] > [data-part-viewport] > [data-part-content] > [data-part-body] {
|
|
791
942
|
min-block-size: 0;
|
|
792
943
|
overflow-x: hidden;
|
|
793
944
|
overflow-y: auto;
|
|
@@ -801,10 +952,15 @@
|
|
|
801
952
|
color: var(--slotted-dialog-body-color, var(--slotted-text, CanvasText));
|
|
802
953
|
}
|
|
803
954
|
|
|
804
|
-
[data-ui
|
|
805
|
-
> [data-part
|
|
806
|
-
> [data-part
|
|
807
|
-
>
|
|
955
|
+
[data-ui-dialog][data-scroll='viewport']
|
|
956
|
+
> [data-part-viewport]
|
|
957
|
+
> [data-part-content]
|
|
958
|
+
> form
|
|
959
|
+
> [data-part-body],
|
|
960
|
+
[data-ui-dialog][data-scroll='viewport']
|
|
961
|
+
> [data-part-viewport]
|
|
962
|
+
> [data-part-content]
|
|
963
|
+
> [data-part-body] {
|
|
808
964
|
overflow: visible;
|
|
809
965
|
}
|
|
810
966
|
|
|
@@ -815,10 +971,12 @@
|
|
|
815
971
|
* header, the close button and Escape all stay operable: a loading dialog a
|
|
816
972
|
* reader cannot leave is the worse failure of the two.
|
|
817
973
|
*/
|
|
818
|
-
[data-ui
|
|
819
|
-
> [data-part
|
|
820
|
-
> [data-part
|
|
821
|
-
>
|
|
974
|
+
[data-ui-dialog][data-loading]
|
|
975
|
+
> [data-part-viewport]
|
|
976
|
+
> [data-part-content]
|
|
977
|
+
> form
|
|
978
|
+
> [data-part-body],
|
|
979
|
+
[data-ui-dialog][data-loading] > [data-part-viewport] > [data-part-content] > [data-part-body] {
|
|
822
980
|
min-block-size: var(--slotted-space-12, 4rem);
|
|
823
981
|
}
|
|
824
982
|
|
|
@@ -830,7 +988,8 @@
|
|
|
830
988
|
* reason `content` is bounded — an unbounded panel pushes it past the fold,
|
|
831
989
|
* which is the whole failure the three-row grid exists to prevent.
|
|
832
990
|
*/
|
|
833
|
-
[data-ui
|
|
991
|
+
[data-ui-dialog] > [data-part-viewport] > [data-part-content] > form > [data-part-footer],
|
|
992
|
+
[data-ui-dialog] > [data-part-viewport] > [data-part-content] > [data-part-footer] {
|
|
834
993
|
display: flex;
|
|
835
994
|
flex-wrap: wrap;
|
|
836
995
|
align-items: center;
|
|
@@ -841,10 +1000,15 @@
|
|
|
841
1000
|
background: var(--slotted-dialog-footer-surface, var(--slotted-surface-sunken, Canvas));
|
|
842
1001
|
}
|
|
843
1002
|
|
|
844
|
-
[data-ui
|
|
845
|
-
> [data-part
|
|
846
|
-
> [data-part
|
|
847
|
-
>
|
|
1003
|
+
[data-ui-dialog]
|
|
1004
|
+
> [data-part-viewport]
|
|
1005
|
+
> [data-part-content]
|
|
1006
|
+
> form
|
|
1007
|
+
> [data-part-footer]:not(:first-child),
|
|
1008
|
+
[data-ui-dialog]
|
|
1009
|
+
> [data-part-viewport]
|
|
1010
|
+
> [data-part-content]
|
|
1011
|
+
> [data-part-footer]:not(:first-child) {
|
|
848
1012
|
border-block-start: var(--_rule-size) solid
|
|
849
1013
|
var(--slotted-dialog-rule-color, var(--slotted-border-subtle, ButtonBorder));
|
|
850
1014
|
}
|
|
@@ -872,7 +1036,7 @@
|
|
|
872
1036
|
* writes their own three-row grid, which is the whole of what they are taking
|
|
873
1037
|
* over.
|
|
874
1038
|
*/
|
|
875
|
-
[data-ui
|
|
1039
|
+
[data-ui-dialog][data-surface='plain'] > [data-part-viewport] > [data-part-content] {
|
|
876
1040
|
display: block;
|
|
877
1041
|
background: none;
|
|
878
1042
|
border: 0;
|
|
@@ -881,10 +1045,15 @@
|
|
|
881
1045
|
overflow: visible;
|
|
882
1046
|
}
|
|
883
1047
|
|
|
884
|
-
[data-ui
|
|
885
|
-
> [data-part
|
|
886
|
-
> [data-part
|
|
887
|
-
>
|
|
1048
|
+
[data-ui-dialog][data-surface='plain']
|
|
1049
|
+
> [data-part-viewport]
|
|
1050
|
+
> [data-part-content]
|
|
1051
|
+
> form
|
|
1052
|
+
> :is([data-part-header], [data-part-body], [data-part-footer]),
|
|
1053
|
+
[data-ui-dialog][data-surface='plain']
|
|
1054
|
+
> [data-part-viewport]
|
|
1055
|
+
> [data-part-content]
|
|
1056
|
+
> :is([data-part-header], [data-part-body], [data-part-footer]) {
|
|
888
1057
|
background: none;
|
|
889
1058
|
border: 0;
|
|
890
1059
|
padding: 0;
|
|
@@ -909,16 +1078,18 @@
|
|
|
909
1078
|
* a literal because `@container (max-inline-size: var(--x))` is invalid CSS.
|
|
910
1079
|
*/
|
|
911
1080
|
@container slotted-dialog (max-inline-size: 30rem) {
|
|
912
|
-
[data-ui
|
|
1081
|
+
[data-ui-dialog][data-full-screen='narrow'] > [data-part-viewport] {
|
|
913
1082
|
align-content: stretch;
|
|
914
1083
|
padding: 0;
|
|
915
1084
|
}
|
|
916
1085
|
|
|
917
|
-
[data-ui
|
|
1086
|
+
[data-ui-dialog][data-full-screen='narrow'] > [data-part-viewport] > [data-part-content] {
|
|
918
1087
|
max-inline-size: none;
|
|
919
1088
|
block-size: 100%;
|
|
920
1089
|
border-radius: 0;
|
|
921
1090
|
border: 0;
|
|
1091
|
+
box-sizing: border-box;
|
|
1092
|
+
padding-block-end: var(--slotted-keyboard-inset, 0px);
|
|
922
1093
|
}
|
|
923
1094
|
}
|
|
924
1095
|
|
|
@@ -930,14 +1101,14 @@
|
|
|
930
1101
|
* owns both — a panel that animated its own box would animate `inset`,
|
|
931
1102
|
* `inline-size` and `block-size`, which is the rule R7 exists to state.
|
|
932
1103
|
*/
|
|
933
|
-
[data-ui
|
|
934
|
-
[data-ui
|
|
1104
|
+
[data-ui-dialog][data-full-screen='always'] > [data-part-viewport],
|
|
1105
|
+
[data-ui-dialog][data-fullscreen] > [data-part-viewport] {
|
|
935
1106
|
align-content: stretch;
|
|
936
1107
|
padding: 0;
|
|
937
1108
|
}
|
|
938
1109
|
|
|
939
|
-
[data-ui
|
|
940
|
-
[data-ui
|
|
1110
|
+
[data-ui-dialog][data-full-screen='always'] > [data-part-viewport] > [data-part-content],
|
|
1111
|
+
[data-ui-dialog][data-fullscreen] > [data-part-viewport] > [data-part-content] {
|
|
941
1112
|
max-inline-size: none;
|
|
942
1113
|
block-size: 100%;
|
|
943
1114
|
border-radius: 0;
|
|
@@ -948,6 +1119,16 @@
|
|
|
948
1119
|
* layer, which on a phone is a stray line under the browser chrome.
|
|
949
1120
|
*/
|
|
950
1121
|
border: 0;
|
|
1122
|
+
/**
|
|
1123
|
+
* The virtual keyboard. `observeKeyboardInset` in `@slotted/core/measure`
|
|
1124
|
+
* measures what the keyboard covers, the binding writes it on the open
|
|
1125
|
+
* layer, and the panel's rows end above the keys: a full-screen panel is
|
|
1126
|
+
* the layout viewport's height, and the keyboard shrinks only the visual
|
|
1127
|
+
* one. Nought under `interactive-widget=resizes-content`, whose layout
|
|
1128
|
+
* already shrank.
|
|
1129
|
+
*/
|
|
1130
|
+
box-sizing: border-box;
|
|
1131
|
+
padding-block-end: var(--slotted-keyboard-inset, 0px);
|
|
951
1132
|
}
|
|
952
1133
|
|
|
953
1134
|
/* ── Forced colours ───────────────────────────────────────────────────── */
|
|
@@ -960,7 +1141,7 @@
|
|
|
960
1141
|
* a system border is read at.
|
|
961
1142
|
*/
|
|
962
1143
|
@media (forced-colors: active) {
|
|
963
|
-
[data-ui
|
|
1144
|
+
[data-ui-dialog] > [data-part-viewport] > [data-part-content] {
|
|
964
1145
|
border-color: CanvasText;
|
|
965
1146
|
border-width: var(--slotted-border-width-thick, 2px);
|
|
966
1147
|
}
|