@slotted/styles 0.1.0-beta.7 → 0.1.0-beta.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/accordion/accordion.css +10 -10
- package/src/action-bar/action-bar.css +31 -32
- package/src/action-sheet/action-sheet.css +36 -36
- package/src/alert/alert.css +35 -35
- package/src/app-shell/app-shell.css +280 -299
- package/src/aspect-ratio/aspect-ratio.css +9 -9
- package/src/attachment/attachment.css +91 -99
- package/src/avatar/avatar.css +41 -41
- package/src/avatar-group/avatar-group.css +21 -22
- package/src/badge/badge.css +37 -37
- package/src/breadcrumb/breadcrumb.css +37 -37
- package/src/button/button.css +88 -69
- package/src/button-group/button-group.css +69 -73
- package/src/calendar/calendar.css +93 -103
- package/src/card/card.css +54 -61
- package/src/carousel/carousel.css +150 -161
- package/src/cascader/cascader.css +147 -151
- package/src/chart/chart.css +225 -240
- package/src/checkbox/checkbox.css +119 -124
- package/src/checkbox-group/checkbox-group.css +7 -7
- package/src/code-block/code-block.css +81 -85
- package/src/collapsible/collapsible.css +69 -76
- package/src/color-picker/color-picker.css +83 -91
- package/src/column-manager/column-manager.css +106 -114
- package/src/combobox/combobox.css +99 -101
- package/src/command-palette/command-palette.css +84 -90
- package/src/container/container.css +24 -24
- package/src/context-menu/context-menu.css +8 -8
- package/src/currency-field/currency-field.css +99 -104
- package/src/dashboard-grid/dashboard-grid.css +104 -107
- package/src/data-grid/data-grid.css +458 -456
- package/src/data-grid/data-grid.tokens.json +2 -0
- package/src/data-list/data-list.css +67 -69
- package/src/date-field/date-field.css +50 -50
- package/src/date-picker/date-picker.css +40 -42
- package/src/date-range-picker/date-range-picker.css +114 -118
- package/src/datetime-field/datetime-field.css +73 -78
- package/src/datetime-picker/datetime-picker.css +61 -63
- package/src/datetime-range-picker/datetime-range-picker.css +149 -156
- package/src/description-list/description-list.css +61 -64
- package/src/detail-panel/detail-panel.css +70 -70
- package/src/dialog/dialog.css +312 -148
- package/src/divider/divider.css +18 -18
- package/src/drawer/drawer.css +186 -209
- package/src/entity-picker/entity-picker.css +220 -239
- package/src/event-calendar/event-calendar.css +343 -385
- package/src/field/field.css +74 -78
- package/src/field-group/field-group.css +22 -25
- package/src/filter-bar/filter-bar.css +193 -209
- package/src/form/form.css +21 -24
- package/src/fullscreen/fullscreen.css +24 -25
- package/src/grid/grid.css +28 -28
- package/src/highlight/highlight.css +6 -6
- package/src/hover-card/hover-card.css +6 -6
- package/src/icon/icon.css +15 -15
- package/src/image/image.css +39 -39
- package/src/import-export-center/import-export-center.css +135 -156
- package/src/inline/inline.css +27 -27
- package/src/inline-message/inline-message.css +28 -28
- package/src/kbd/kbd.css +26 -26
- package/src/link/link.css +15 -15
- package/src/list/list.css +20 -20
- package/src/list-item/list-item.css +66 -66
- package/src/listbox/listbox.css +56 -59
- package/src/loading-overlay/loading-overlay.css +75 -92
- package/src/markdown/markdown.css +17 -17
- package/src/menu/menu.css +63 -65
- package/src/menubar/menubar.css +13 -13
- package/src/message/message.css +174 -202
- package/src/message-scroller/message-scroller.css +41 -42
- package/src/multi-select/multi-select.css +131 -137
- package/src/navigation-menu/navigation-menu.css +167 -188
- package/src/notification-center/notification-center.css +134 -148
- package/src/number-field/number-field.css +76 -81
- package/src/otp-input/otp-input.css +48 -48
- package/src/page/page.css +23 -23
- package/src/page-header/page-header.css +219 -280
- package/src/pagination/pagination.css +68 -72
- package/src/popover/popover.css +40 -49
- package/src/progress-indicator/progress-indicator.css +85 -90
- package/src/prompt-composer/prompt-composer.css +94 -99
- package/src/prose/prose.css +71 -75
- package/src/radio-group/radio-group.css +98 -103
- package/src/rating/rating.css +132 -132
- package/src/result-state/result-state.css +74 -77
- package/src/saved-views/saved-views.css +41 -47
- package/src/scroll-area/scroll-area.css +32 -35
- package/src/section/section.css +16 -16
- package/src/segmented-control/segmented-control.css +77 -79
- package/src/select/select.css +113 -115
- package/src/side-navigation/side-navigation.css +170 -180
- package/src/skeleton/skeleton.css +47 -48
- package/src/slider/slider.css +86 -88
- package/src/sparkline/sparkline.css +32 -32
- package/src/spinner/spinner.css +4 -4
- package/src/split-button/split-button.css +26 -31
- package/src/splitter/splitter.css +35 -35
- package/src/stack/stack.css +24 -24
- package/src/stat-card/stat-card.css +102 -103
- package/src/status-indicator/status-indicator.css +28 -28
- package/src/stepper/stepper.css +58 -62
- package/src/switch/switch.css +86 -92
- package/src/table/table.css +189 -198
- package/src/table-of-contents/table-of-contents.css +51 -54
- package/src/tabs/tabs.css +157 -172
- package/src/tag/tag.css +67 -71
- package/src/tags-input/tags-input.css +124 -74
- package/src/tags-input/tags-input.tokens.json +6 -1
- package/src/text-field/text-field.css +108 -126
- package/src/textarea/textarea.css +26 -26
- package/src/time-field/time-field.css +67 -67
- package/src/time-picker/time-picker.css +56 -58
- package/src/time-range-picker/time-range-picker.css +126 -133
- package/src/timeline/timeline.css +244 -266
- package/src/toast/toast.css +81 -90
- package/src/toggle/toggle.css +29 -33
- package/src/toggle-group/toggle-group.css +67 -71
- package/src/toolbar/toolbar.css +30 -35
- package/src/tooltip/tooltip.css +26 -26
- package/src/top-navigation/top-navigation.css +243 -259
- package/src/tour/tour.css +51 -60
- package/src/transfer/transfer.css +160 -164
- package/src/tree/tree.css +103 -111
- package/src/typography/typography.css +36 -36
- package/src/upload/upload.css +224 -224
- package/src/visually-hidden/visually-hidden.css +1 -1
- package/src/wizard/wizard.css +185 -197
package/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
|
|
@@ -159,7 +159,7 @@
|
|
|
159
159
|
* `data-open` either, and a hidden layer in that frame refuses the focus
|
|
160
160
|
* scope's initial focus.
|
|
161
161
|
*/
|
|
162
|
-
[data-ui
|
|
162
|
+
[data-ui-dialog][inert] {
|
|
163
163
|
content-visibility: hidden;
|
|
164
164
|
pointer-events: none;
|
|
165
165
|
}
|
|
@@ -172,19 +172,19 @@
|
|
|
172
172
|
* pointer, and a press on the page is the outside press the dismissal policy
|
|
173
173
|
* answers.
|
|
174
174
|
*/
|
|
175
|
-
[data-ui
|
|
175
|
+
[data-ui-dialog]:not([data-modal]) {
|
|
176
176
|
pointer-events: none;
|
|
177
177
|
}
|
|
178
178
|
|
|
179
|
-
[data-ui
|
|
179
|
+
[data-ui-dialog]:not([data-modal]) > [data-part-backdrop] {
|
|
180
180
|
visibility: hidden;
|
|
181
181
|
}
|
|
182
182
|
|
|
183
|
-
[data-ui
|
|
183
|
+
[data-ui-dialog]:not([data-modal]) > [data-part-viewport] > [data-part-content] {
|
|
184
184
|
pointer-events: auto;
|
|
185
185
|
}
|
|
186
186
|
|
|
187
|
-
[data-ui
|
|
187
|
+
[data-ui-dialog][data-size='sm'] {
|
|
188
188
|
--_measure: var(--slotted-dialog-measure, 24rem);
|
|
189
189
|
--_padding-inline: var(--slotted-dialog-padding-inline-sm, var(--slotted-space-7, 1.25rem));
|
|
190
190
|
--_padding-block: var(--slotted-dialog-padding-block-sm, var(--slotted-space-6, 1rem));
|
|
@@ -193,11 +193,11 @@
|
|
|
193
193
|
--_title-font-size: var(--slotted-font-size-lg, 1rem);
|
|
194
194
|
}
|
|
195
195
|
|
|
196
|
-
[data-ui
|
|
196
|
+
[data-ui-dialog][data-size='lg'] {
|
|
197
197
|
--_measure: var(--slotted-dialog-measure, 42rem);
|
|
198
198
|
}
|
|
199
199
|
|
|
200
|
-
[data-ui
|
|
200
|
+
[data-ui-dialog][data-size='xl'] {
|
|
201
201
|
--_measure: var(--slotted-dialog-measure, 56rem);
|
|
202
202
|
}
|
|
203
203
|
|
|
@@ -205,7 +205,7 @@
|
|
|
205
205
|
* `full` is the step a dialog that is a document takes: the panel spends the
|
|
206
206
|
* whole layer minus its padding, and the measure stops capping it.
|
|
207
207
|
*/
|
|
208
|
-
[data-ui
|
|
208
|
+
[data-ui-dialog][data-size='full'] {
|
|
209
209
|
--_measure: var(--slotted-dialog-measure, none);
|
|
210
210
|
}
|
|
211
211
|
|
|
@@ -218,7 +218,7 @@
|
|
|
218
218
|
* is `none` in that mode, and a panel separated only by elevation would sit
|
|
219
219
|
* on an opaque ground with nothing to mark its edge.
|
|
220
220
|
*/
|
|
221
|
-
[data-ui
|
|
221
|
+
[data-ui-dialog] > [data-part-backdrop] {
|
|
222
222
|
grid-area: 1 / 1;
|
|
223
223
|
background: var(--slotted-dialog-scrim, var(--slotted-scrim, Canvas));
|
|
224
224
|
opacity: 0;
|
|
@@ -238,7 +238,7 @@
|
|
|
238
238
|
* The panel below arrives over the same duration and the same curve, so the
|
|
239
239
|
* two halves of one layer arrive together.
|
|
240
240
|
*/
|
|
241
|
-
[data-ui
|
|
241
|
+
[data-ui-dialog][data-open] > [data-part-backdrop] {
|
|
242
242
|
opacity: 1;
|
|
243
243
|
transition: opacity var(--slotted-duration-long) var(--slotted-easing-standard);
|
|
244
244
|
}
|
|
@@ -252,7 +252,7 @@
|
|
|
252
252
|
* start edge as soon as the item cannot fit, which is the only reading that
|
|
253
253
|
* keeps the title reachable at 200% zoom and in a short window.
|
|
254
254
|
*/
|
|
255
|
-
[data-ui
|
|
255
|
+
[data-ui-dialog] > [data-part-viewport] {
|
|
256
256
|
grid-area: 1 / 1;
|
|
257
257
|
display: grid;
|
|
258
258
|
grid-template-columns: minmax(0, 1fr);
|
|
@@ -272,7 +272,7 @@
|
|
|
272
272
|
overscroll-behavior: contain;
|
|
273
273
|
}
|
|
274
274
|
|
|
275
|
-
[data-ui
|
|
275
|
+
[data-ui-dialog][data-placement='top'] > [data-part-viewport] {
|
|
276
276
|
align-content: safe start;
|
|
277
277
|
}
|
|
278
278
|
|
|
@@ -284,7 +284,7 @@
|
|
|
284
284
|
*/
|
|
285
285
|
/* ── The panel ────────────────────────────────────────────────────────── */
|
|
286
286
|
|
|
287
|
-
[data-ui
|
|
287
|
+
[data-ui-dialog] > [data-part-viewport] > [data-part-content] {
|
|
288
288
|
/**
|
|
289
289
|
* The inset the rows carry, stated where a layout of the consumer's own can
|
|
290
290
|
* read it: the panel draws no padding, so content written straight inside
|
|
@@ -368,7 +368,7 @@
|
|
|
368
368
|
* the edge it sits on, and it is on the same rule now for the same reason:
|
|
369
369
|
* the type inside it is what the slide was resampling (DG4).
|
|
370
370
|
*/
|
|
371
|
-
[data-ui
|
|
371
|
+
[data-ui-dialog][data-open] > [data-part-viewport] > [data-part-content] {
|
|
372
372
|
opacity: 1;
|
|
373
373
|
transition: opacity var(--slotted-duration-long) var(--slotted-easing-standard);
|
|
374
374
|
}
|
|
@@ -382,10 +382,20 @@
|
|
|
382
382
|
* travelling, and there is no travel to stop (DG4).
|
|
383
383
|
*/
|
|
384
384
|
|
|
385
|
-
[data-ui
|
|
385
|
+
[data-ui-dialog][data-scroll='viewport'] > [data-part-viewport] > [data-part-content] {
|
|
386
386
|
max-block-size: none;
|
|
387
387
|
}
|
|
388
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
|
+
|
|
389
399
|
/* ── The header ───────────────────────────────────────────────────────── */
|
|
390
400
|
|
|
391
401
|
/**
|
|
@@ -409,7 +419,8 @@
|
|
|
409
419
|
* `interpolate-size`. The cost is a rule over a footer that sometimes has
|
|
410
420
|
* nothing above it to separate.
|
|
411
421
|
*/
|
|
412
|
-
[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] {
|
|
413
424
|
display: grid;
|
|
414
425
|
grid-template-columns: auto minmax(0, 1fr) auto auto;
|
|
415
426
|
align-items: start;
|
|
@@ -434,16 +445,28 @@
|
|
|
434
445
|
* where the mark would have gone, and moved as soon as a tone was set. Where
|
|
435
446
|
* it goes is now a rule rather than an accident of the grid.
|
|
436
447
|
*/
|
|
437
|
-
[data-ui
|
|
438
|
-
> [data-part
|
|
439
|
-
> [data-part
|
|
440
|
-
>
|
|
448
|
+
[data-ui-dialog]
|
|
449
|
+
> [data-part-viewport]
|
|
450
|
+
> [data-part-content]
|
|
451
|
+
> form
|
|
452
|
+
> [data-part-header]
|
|
441
453
|
> *:not(
|
|
442
|
-
[data-part
|
|
443
|
-
[data-part
|
|
444
|
-
[data-part
|
|
445
|
-
[data-part
|
|
446
|
-
[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]
|
|
447
470
|
) {
|
|
448
471
|
grid-column: 2;
|
|
449
472
|
/**
|
|
@@ -466,11 +489,17 @@
|
|
|
466
489
|
* colours every tone becomes one system colour and the silhouette is all
|
|
467
490
|
* that is left.
|
|
468
491
|
*/
|
|
469
|
-
[data-ui
|
|
470
|
-
> [data-part
|
|
471
|
-
> [data-part
|
|
472
|
-
>
|
|
473
|
-
> [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] {
|
|
474
503
|
--slotted-icon-size: var(--_status-size);
|
|
475
504
|
|
|
476
505
|
grid-column: 1;
|
|
@@ -491,23 +520,23 @@
|
|
|
491
520
|
margin-inline-end: var(--_mark-gap);
|
|
492
521
|
}
|
|
493
522
|
|
|
494
|
-
[data-ui
|
|
523
|
+
[data-ui-dialog][data-tone='accent'] {
|
|
495
524
|
--_tone-color: var(--slotted-tone-accent-text, CanvasText);
|
|
496
525
|
}
|
|
497
526
|
|
|
498
|
-
[data-ui
|
|
527
|
+
[data-ui-dialog][data-tone='secondary'] {
|
|
499
528
|
--_tone-color: var(--slotted-tone-secondary-text, CanvasText);
|
|
500
529
|
}
|
|
501
530
|
|
|
502
|
-
[data-ui
|
|
531
|
+
[data-ui-dialog][data-tone='success'] {
|
|
503
532
|
--_tone-color: var(--slotted-tone-success-text, CanvasText);
|
|
504
533
|
}
|
|
505
534
|
|
|
506
|
-
[data-ui
|
|
535
|
+
[data-ui-dialog][data-tone='warning'] {
|
|
507
536
|
--_tone-color: var(--slotted-tone-warning-text, CanvasText);
|
|
508
537
|
}
|
|
509
538
|
|
|
510
|
-
[data-ui
|
|
539
|
+
[data-ui-dialog][data-tone='danger'] {
|
|
511
540
|
--_tone-color: var(--slotted-tone-danger-text, CanvasText);
|
|
512
541
|
}
|
|
513
542
|
|
|
@@ -519,11 +548,17 @@
|
|
|
519
548
|
* panel past the layer, and the panel is centred, so both of its edges leave
|
|
520
549
|
* the screen at once.
|
|
521
550
|
*/
|
|
522
|
-
[data-ui
|
|
523
|
-
> [data-part
|
|
524
|
-
> [data-part
|
|
525
|
-
>
|
|
526
|
-
> [data-part
|
|
551
|
+
[data-ui-dialog]
|
|
552
|
+
> [data-part-viewport]
|
|
553
|
+
> [data-part-content]
|
|
554
|
+
> form
|
|
555
|
+
> [data-part-header]
|
|
556
|
+
> [data-part-title],
|
|
557
|
+
[data-ui-dialog]
|
|
558
|
+
> [data-part-viewport]
|
|
559
|
+
> [data-part-content]
|
|
560
|
+
> [data-part-header]
|
|
561
|
+
> [data-part-title] {
|
|
527
562
|
grid-column: 2;
|
|
528
563
|
grid-row: 1;
|
|
529
564
|
margin: 0;
|
|
@@ -542,11 +577,17 @@
|
|
|
542
577
|
color: var(--slotted-dialog-title-color, var(--slotted-text, CanvasText));
|
|
543
578
|
}
|
|
544
579
|
|
|
545
|
-
[data-ui
|
|
546
|
-
> [data-part
|
|
547
|
-
> [data-part
|
|
548
|
-
>
|
|
549
|
-
> [data-part
|
|
580
|
+
[data-ui-dialog]
|
|
581
|
+
> [data-part-viewport]
|
|
582
|
+
> [data-part-content]
|
|
583
|
+
> form
|
|
584
|
+
> [data-part-header]
|
|
585
|
+
> [data-part-description],
|
|
586
|
+
[data-ui-dialog]
|
|
587
|
+
> [data-part-viewport]
|
|
588
|
+
> [data-part-content]
|
|
589
|
+
> [data-part-header]
|
|
590
|
+
> [data-part-description] {
|
|
550
591
|
grid-column: 2;
|
|
551
592
|
grid-row: 2;
|
|
552
593
|
margin: 0;
|
|
@@ -565,11 +606,18 @@
|
|
|
565
606
|
* weight instead, which is what both product confirmations in the survey do
|
|
566
607
|
* with a span of their own.
|
|
567
608
|
*/
|
|
568
|
-
[data-ui
|
|
569
|
-
> [data-part
|
|
570
|
-
> [data-part
|
|
571
|
-
>
|
|
572
|
-
> [data-part
|
|
609
|
+
[data-ui-dialog]
|
|
610
|
+
> [data-part-viewport]
|
|
611
|
+
> [data-part-content]
|
|
612
|
+
> form
|
|
613
|
+
> [data-part-header]
|
|
614
|
+
> [data-part-description]
|
|
615
|
+
:is(strong, b),
|
|
616
|
+
[data-ui-dialog]
|
|
617
|
+
> [data-part-viewport]
|
|
618
|
+
> [data-part-content]
|
|
619
|
+
> [data-part-header]
|
|
620
|
+
> [data-part-description]
|
|
573
621
|
:is(strong, b) {
|
|
574
622
|
font-weight: var(--slotted-font-weight-semibold, 600);
|
|
575
623
|
color: var(--slotted-dialog-title-color, var(--slotted-text, CanvasText));
|
|
@@ -585,11 +633,17 @@
|
|
|
585
633
|
* in an `icon` box, sized here through the icon token so the box and the
|
|
586
634
|
* formula above read one length.
|
|
587
635
|
*/
|
|
588
|
-
[data-ui
|
|
589
|
-
> [data-part
|
|
590
|
-
> [data-part
|
|
591
|
-
>
|
|
592
|
-
> [data-part
|
|
636
|
+
[data-ui-dialog]
|
|
637
|
+
> [data-part-viewport]
|
|
638
|
+
> [data-part-content]
|
|
639
|
+
> form
|
|
640
|
+
> [data-part-header]
|
|
641
|
+
> [data-part-close],
|
|
642
|
+
[data-ui-dialog]
|
|
643
|
+
> [data-part-viewport]
|
|
644
|
+
> [data-part-content]
|
|
645
|
+
> [data-part-header]
|
|
646
|
+
> [data-part-close] {
|
|
593
647
|
--slotted-icon-size: var(--_icon-size);
|
|
594
648
|
|
|
595
649
|
grid-column: 4;
|
|
@@ -617,11 +671,17 @@
|
|
|
617
671
|
var(--slotted-control-transition-easing, var(--slotted-easing-standard));
|
|
618
672
|
}
|
|
619
673
|
|
|
620
|
-
[data-ui
|
|
621
|
-
> [data-part
|
|
622
|
-
> [data-part
|
|
623
|
-
>
|
|
624
|
-
> [data-part
|
|
674
|
+
[data-ui-dialog]
|
|
675
|
+
> [data-part-viewport]
|
|
676
|
+
> [data-part-content]
|
|
677
|
+
> form
|
|
678
|
+
> [data-part-header]
|
|
679
|
+
> [data-part-close]:not(:disabled):hover,
|
|
680
|
+
[data-ui-dialog]
|
|
681
|
+
> [data-part-viewport]
|
|
682
|
+
> [data-part-content]
|
|
683
|
+
> [data-part-header]
|
|
684
|
+
> [data-part-close]:not(:disabled):hover {
|
|
625
685
|
/* The ground moves under the pointer and nothing else does (R2). */
|
|
626
686
|
background-color: var(
|
|
627
687
|
--slotted-dialog-close-hover-background,
|
|
@@ -629,22 +689,34 @@
|
|
|
629
689
|
);
|
|
630
690
|
}
|
|
631
691
|
|
|
632
|
-
[data-ui
|
|
633
|
-
> [data-part
|
|
634
|
-
> [data-part
|
|
635
|
-
>
|
|
636
|
-
> [data-part
|
|
692
|
+
[data-ui-dialog]
|
|
693
|
+
> [data-part-viewport]
|
|
694
|
+
> [data-part-content]
|
|
695
|
+
> form
|
|
696
|
+
> [data-part-header]
|
|
697
|
+
> [data-part-close]:not(:disabled):active,
|
|
698
|
+
[data-ui-dialog]
|
|
699
|
+
> [data-part-viewport]
|
|
700
|
+
> [data-part-content]
|
|
701
|
+
> [data-part-header]
|
|
702
|
+
> [data-part-close]:not(:disabled):active {
|
|
637
703
|
background-color: var(
|
|
638
704
|
--slotted-dialog-close-active-background,
|
|
639
705
|
var(--slotted-tone-secondary-subtle-active)
|
|
640
706
|
);
|
|
641
707
|
}
|
|
642
708
|
|
|
643
|
-
[data-ui
|
|
644
|
-
> [data-part
|
|
645
|
-
> [data-part
|
|
646
|
-
>
|
|
647
|
-
> [data-part
|
|
709
|
+
[data-ui-dialog]
|
|
710
|
+
> [data-part-viewport]
|
|
711
|
+
> [data-part-content]
|
|
712
|
+
> form
|
|
713
|
+
> [data-part-header]
|
|
714
|
+
> [data-part-close]:focus-visible,
|
|
715
|
+
[data-ui-dialog]
|
|
716
|
+
> [data-part-viewport]
|
|
717
|
+
> [data-part-content]
|
|
718
|
+
> [data-part-header]
|
|
719
|
+
> [data-part-close]:focus-visible {
|
|
648
720
|
outline: var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);
|
|
649
721
|
outline-offset: calc(-1 * var(--slotted-focus-ring-offset, 2px));
|
|
650
722
|
}
|
|
@@ -665,11 +737,17 @@
|
|
|
665
737
|
* glyph is the binding's, chosen from the state: the mark says what the
|
|
666
738
|
* press does next, so it is the opposite of the state the panel is in.
|
|
667
739
|
*/
|
|
668
|
-
[data-ui
|
|
669
|
-
> [data-part
|
|
670
|
-
> [data-part
|
|
671
|
-
>
|
|
672
|
-
> [data-part
|
|
740
|
+
[data-ui-dialog]
|
|
741
|
+
> [data-part-viewport]
|
|
742
|
+
> [data-part-content]
|
|
743
|
+
> form
|
|
744
|
+
> [data-part-header]
|
|
745
|
+
> [data-part-fullscreen],
|
|
746
|
+
[data-ui-dialog]
|
|
747
|
+
> [data-part-viewport]
|
|
748
|
+
> [data-part-content]
|
|
749
|
+
> [data-part-header]
|
|
750
|
+
> [data-part-fullscreen] {
|
|
673
751
|
--slotted-icon-size: var(--_icon-size);
|
|
674
752
|
|
|
675
753
|
grid-column: 3;
|
|
@@ -700,20 +778,33 @@
|
|
|
700
778
|
* glyph on every side, and a second gap between them would set them further
|
|
701
779
|
* apart than either is from the words.
|
|
702
780
|
*/
|
|
703
|
-
[data-ui
|
|
704
|
-
> [data-part
|
|
705
|
-
> [data-part
|
|
706
|
-
>
|
|
707
|
-
> [data-part
|
|
708
|
-
|
|
781
|
+
[data-ui-dialog]
|
|
782
|
+
> [data-part-viewport]
|
|
783
|
+
> [data-part-content]
|
|
784
|
+
> form
|
|
785
|
+
> [data-part-header]
|
|
786
|
+
> [data-part-fullscreen]
|
|
787
|
+
+ [data-part-close],
|
|
788
|
+
[data-ui-dialog]
|
|
789
|
+
> [data-part-viewport]
|
|
790
|
+
> [data-part-content]
|
|
791
|
+
> [data-part-header]
|
|
792
|
+
> [data-part-fullscreen]
|
|
793
|
+
+ [data-part-close] {
|
|
709
794
|
margin-inline-start: 0;
|
|
710
795
|
}
|
|
711
796
|
|
|
712
|
-
[data-ui
|
|
713
|
-
> [data-part
|
|
714
|
-
> [data-part
|
|
715
|
-
>
|
|
716
|
-
> [data-part
|
|
797
|
+
[data-ui-dialog]
|
|
798
|
+
> [data-part-viewport]
|
|
799
|
+
> [data-part-content]
|
|
800
|
+
> form
|
|
801
|
+
> [data-part-header]
|
|
802
|
+
> [data-part-fullscreen]:not(:disabled):hover,
|
|
803
|
+
[data-ui-dialog]
|
|
804
|
+
> [data-part-viewport]
|
|
805
|
+
> [data-part-content]
|
|
806
|
+
> [data-part-header]
|
|
807
|
+
> [data-part-fullscreen]:not(:disabled):hover {
|
|
717
808
|
/* The ground moves under the pointer and nothing else does (R2). */
|
|
718
809
|
background-color: var(
|
|
719
810
|
--slotted-dialog-close-hover-background,
|
|
@@ -721,22 +812,34 @@
|
|
|
721
812
|
);
|
|
722
813
|
}
|
|
723
814
|
|
|
724
|
-
[data-ui
|
|
725
|
-
> [data-part
|
|
726
|
-
> [data-part
|
|
727
|
-
>
|
|
728
|
-
> [data-part
|
|
815
|
+
[data-ui-dialog]
|
|
816
|
+
> [data-part-viewport]
|
|
817
|
+
> [data-part-content]
|
|
818
|
+
> form
|
|
819
|
+
> [data-part-header]
|
|
820
|
+
> [data-part-fullscreen]:not(:disabled):active,
|
|
821
|
+
[data-ui-dialog]
|
|
822
|
+
> [data-part-viewport]
|
|
823
|
+
> [data-part-content]
|
|
824
|
+
> [data-part-header]
|
|
825
|
+
> [data-part-fullscreen]:not(:disabled):active {
|
|
729
826
|
background-color: var(
|
|
730
827
|
--slotted-dialog-close-active-background,
|
|
731
828
|
var(--slotted-tone-secondary-subtle-active)
|
|
732
829
|
);
|
|
733
830
|
}
|
|
734
831
|
|
|
735
|
-
[data-ui
|
|
736
|
-
> [data-part
|
|
737
|
-
> [data-part
|
|
738
|
-
>
|
|
739
|
-
> [data-part
|
|
832
|
+
[data-ui-dialog]
|
|
833
|
+
> [data-part-viewport]
|
|
834
|
+
> [data-part-content]
|
|
835
|
+
> form
|
|
836
|
+
> [data-part-header]
|
|
837
|
+
> [data-part-fullscreen]:focus-visible,
|
|
838
|
+
[data-ui-dialog]
|
|
839
|
+
> [data-part-viewport]
|
|
840
|
+
> [data-part-content]
|
|
841
|
+
> [data-part-header]
|
|
842
|
+
> [data-part-fullscreen]:focus-visible {
|
|
740
843
|
outline: var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);
|
|
741
844
|
outline-offset: calc(-1 * var(--slotted-focus-ring-offset, 2px));
|
|
742
845
|
}
|
|
@@ -748,38 +851,63 @@
|
|
|
748
851
|
* controls touch, so neither reaches across the edge they share.
|
|
749
852
|
*/
|
|
750
853
|
@media (pointer: coarse) {
|
|
751
|
-
[data-ui
|
|
752
|
-
> [data-part
|
|
753
|
-
> [data-part
|
|
754
|
-
>
|
|
755
|
-
>
|
|
854
|
+
[data-ui-dialog]
|
|
855
|
+
> [data-part-viewport]
|
|
856
|
+
> [data-part-content]
|
|
857
|
+
> form
|
|
858
|
+
> [data-part-header]
|
|
859
|
+
> :is([data-part-close], [data-part-fullscreen]),
|
|
860
|
+
[data-ui-dialog]
|
|
861
|
+
> [data-part-viewport]
|
|
862
|
+
> [data-part-content]
|
|
863
|
+
> [data-part-header]
|
|
864
|
+
> :is([data-part-close], [data-part-fullscreen]) {
|
|
756
865
|
position: relative;
|
|
757
866
|
}
|
|
758
867
|
|
|
759
|
-
[data-ui
|
|
760
|
-
> [data-part
|
|
761
|
-
> [data-part
|
|
762
|
-
>
|
|
763
|
-
>
|
|
868
|
+
[data-ui-dialog]
|
|
869
|
+
> [data-part-viewport]
|
|
870
|
+
> [data-part-content]
|
|
871
|
+
> form
|
|
872
|
+
> [data-part-header]
|
|
873
|
+
> :is([data-part-close], [data-part-fullscreen])::before,
|
|
874
|
+
[data-ui-dialog]
|
|
875
|
+
> [data-part-viewport]
|
|
876
|
+
> [data-part-content]
|
|
877
|
+
> [data-part-header]
|
|
878
|
+
> :is([data-part-close], [data-part-fullscreen])::before {
|
|
764
879
|
content: '';
|
|
765
880
|
inset: min(0px, calc((100% - var(--slotted-target-comfortable, 44px)) / 2));
|
|
766
881
|
position: absolute;
|
|
767
882
|
}
|
|
768
883
|
|
|
769
|
-
[data-ui
|
|
770
|
-
> [data-part
|
|
771
|
-
> [data-part
|
|
772
|
-
>
|
|
773
|
-
> [data-part
|
|
884
|
+
[data-ui-dialog]
|
|
885
|
+
> [data-part-viewport]
|
|
886
|
+
> [data-part-content]
|
|
887
|
+
> form
|
|
888
|
+
> [data-part-header]
|
|
889
|
+
> [data-part-fullscreen]:has(+ [data-part-close])::before,
|
|
890
|
+
[data-ui-dialog]
|
|
891
|
+
> [data-part-viewport]
|
|
892
|
+
> [data-part-content]
|
|
893
|
+
> [data-part-header]
|
|
894
|
+
> [data-part-fullscreen]:has(+ [data-part-close])::before {
|
|
774
895
|
inset-inline-end: 0;
|
|
775
896
|
}
|
|
776
897
|
|
|
777
|
-
[data-ui
|
|
778
|
-
> [data-part
|
|
779
|
-
> [data-part
|
|
780
|
-
>
|
|
781
|
-
> [data-part
|
|
782
|
-
|
|
898
|
+
[data-ui-dialog]
|
|
899
|
+
> [data-part-viewport]
|
|
900
|
+
> [data-part-content]
|
|
901
|
+
> form
|
|
902
|
+
> [data-part-header]
|
|
903
|
+
> [data-part-fullscreen]
|
|
904
|
+
+ [data-part-close]::before,
|
|
905
|
+
[data-ui-dialog]
|
|
906
|
+
> [data-part-viewport]
|
|
907
|
+
> [data-part-content]
|
|
908
|
+
> [data-part-header]
|
|
909
|
+
> [data-part-fullscreen]
|
|
910
|
+
+ [data-part-close]::before {
|
|
783
911
|
inset-inline-start: 0;
|
|
784
912
|
}
|
|
785
913
|
}
|
|
@@ -792,15 +920,21 @@
|
|
|
792
920
|
* `dismissable-layer` covers the modal case; this covers the non-modal one,
|
|
793
921
|
* where the page behind is not locked at all.
|
|
794
922
|
*/
|
|
795
|
-
[data-ui
|
|
796
|
-
> [data-part
|
|
797
|
-
> [data-part
|
|
798
|
-
>
|
|
923
|
+
[data-ui-dialog]
|
|
924
|
+
> [data-part-viewport]
|
|
925
|
+
> [data-part-content]
|
|
926
|
+
> form
|
|
927
|
+
> [data-part-body]:not(:first-child),
|
|
928
|
+
[data-ui-dialog]
|
|
929
|
+
> [data-part-viewport]
|
|
930
|
+
> [data-part-content]
|
|
931
|
+
> [data-part-body]:not(:first-child) {
|
|
799
932
|
border-block-start: var(--_rule-size) solid
|
|
800
933
|
var(--slotted-dialog-rule-color, var(--slotted-border-subtle, ButtonBorder));
|
|
801
934
|
}
|
|
802
935
|
|
|
803
|
-
[data-ui
|
|
936
|
+
[data-ui-dialog] > [data-part-viewport] > [data-part-content] > form > [data-part-body],
|
|
937
|
+
[data-ui-dialog] > [data-part-viewport] > [data-part-content] > [data-part-body] {
|
|
804
938
|
min-block-size: 0;
|
|
805
939
|
overflow-x: hidden;
|
|
806
940
|
overflow-y: auto;
|
|
@@ -814,10 +948,15 @@
|
|
|
814
948
|
color: var(--slotted-dialog-body-color, var(--slotted-text, CanvasText));
|
|
815
949
|
}
|
|
816
950
|
|
|
817
|
-
[data-ui
|
|
818
|
-
> [data-part
|
|
819
|
-
> [data-part
|
|
820
|
-
>
|
|
951
|
+
[data-ui-dialog][data-scroll='viewport']
|
|
952
|
+
> [data-part-viewport]
|
|
953
|
+
> [data-part-content]
|
|
954
|
+
> form
|
|
955
|
+
> [data-part-body],
|
|
956
|
+
[data-ui-dialog][data-scroll='viewport']
|
|
957
|
+
> [data-part-viewport]
|
|
958
|
+
> [data-part-content]
|
|
959
|
+
> [data-part-body] {
|
|
821
960
|
overflow: visible;
|
|
822
961
|
}
|
|
823
962
|
|
|
@@ -828,10 +967,12 @@
|
|
|
828
967
|
* header, the close button and Escape all stay operable: a loading dialog a
|
|
829
968
|
* reader cannot leave is the worse failure of the two.
|
|
830
969
|
*/
|
|
831
|
-
[data-ui
|
|
832
|
-
> [data-part
|
|
833
|
-
> [data-part
|
|
834
|
-
>
|
|
970
|
+
[data-ui-dialog][data-loading]
|
|
971
|
+
> [data-part-viewport]
|
|
972
|
+
> [data-part-content]
|
|
973
|
+
> form
|
|
974
|
+
> [data-part-body],
|
|
975
|
+
[data-ui-dialog][data-loading] > [data-part-viewport] > [data-part-content] > [data-part-body] {
|
|
835
976
|
min-block-size: var(--slotted-space-12, 4rem);
|
|
836
977
|
}
|
|
837
978
|
|
|
@@ -843,7 +984,8 @@
|
|
|
843
984
|
* reason `content` is bounded — an unbounded panel pushes it past the fold,
|
|
844
985
|
* which is the whole failure the three-row grid exists to prevent.
|
|
845
986
|
*/
|
|
846
|
-
[data-ui
|
|
987
|
+
[data-ui-dialog] > [data-part-viewport] > [data-part-content] > form > [data-part-footer],
|
|
988
|
+
[data-ui-dialog] > [data-part-viewport] > [data-part-content] > [data-part-footer] {
|
|
847
989
|
display: flex;
|
|
848
990
|
flex-wrap: wrap;
|
|
849
991
|
align-items: center;
|
|
@@ -854,10 +996,15 @@
|
|
|
854
996
|
background: var(--slotted-dialog-footer-surface, var(--slotted-surface-sunken, Canvas));
|
|
855
997
|
}
|
|
856
998
|
|
|
857
|
-
[data-ui
|
|
858
|
-
> [data-part
|
|
859
|
-
> [data-part
|
|
860
|
-
>
|
|
999
|
+
[data-ui-dialog]
|
|
1000
|
+
> [data-part-viewport]
|
|
1001
|
+
> [data-part-content]
|
|
1002
|
+
> form
|
|
1003
|
+
> [data-part-footer]:not(:first-child),
|
|
1004
|
+
[data-ui-dialog]
|
|
1005
|
+
> [data-part-viewport]
|
|
1006
|
+
> [data-part-content]
|
|
1007
|
+
> [data-part-footer]:not(:first-child) {
|
|
861
1008
|
border-block-start: var(--_rule-size) solid
|
|
862
1009
|
var(--slotted-dialog-rule-color, var(--slotted-border-subtle, ButtonBorder));
|
|
863
1010
|
}
|
|
@@ -885,7 +1032,7 @@
|
|
|
885
1032
|
* writes their own three-row grid, which is the whole of what they are taking
|
|
886
1033
|
* over.
|
|
887
1034
|
*/
|
|
888
|
-
[data-ui
|
|
1035
|
+
[data-ui-dialog][data-surface='plain'] > [data-part-viewport] > [data-part-content] {
|
|
889
1036
|
display: block;
|
|
890
1037
|
background: none;
|
|
891
1038
|
border: 0;
|
|
@@ -894,10 +1041,15 @@
|
|
|
894
1041
|
overflow: visible;
|
|
895
1042
|
}
|
|
896
1043
|
|
|
897
|
-
[data-ui
|
|
898
|
-
> [data-part
|
|
899
|
-
> [data-part
|
|
900
|
-
>
|
|
1044
|
+
[data-ui-dialog][data-surface='plain']
|
|
1045
|
+
> [data-part-viewport]
|
|
1046
|
+
> [data-part-content]
|
|
1047
|
+
> form
|
|
1048
|
+
> :is([data-part-header], [data-part-body], [data-part-footer]),
|
|
1049
|
+
[data-ui-dialog][data-surface='plain']
|
|
1050
|
+
> [data-part-viewport]
|
|
1051
|
+
> [data-part-content]
|
|
1052
|
+
> :is([data-part-header], [data-part-body], [data-part-footer]) {
|
|
901
1053
|
background: none;
|
|
902
1054
|
border: 0;
|
|
903
1055
|
padding: 0;
|
|
@@ -922,16 +1074,18 @@
|
|
|
922
1074
|
* a literal because `@container (max-inline-size: var(--x))` is invalid CSS.
|
|
923
1075
|
*/
|
|
924
1076
|
@container slotted-dialog (max-inline-size: 30rem) {
|
|
925
|
-
[data-ui
|
|
1077
|
+
[data-ui-dialog][data-full-screen='narrow'] > [data-part-viewport] {
|
|
926
1078
|
align-content: stretch;
|
|
927
1079
|
padding: 0;
|
|
928
1080
|
}
|
|
929
1081
|
|
|
930
|
-
[data-ui
|
|
1082
|
+
[data-ui-dialog][data-full-screen='narrow'] > [data-part-viewport] > [data-part-content] {
|
|
931
1083
|
max-inline-size: none;
|
|
932
1084
|
block-size: 100%;
|
|
933
1085
|
border-radius: 0;
|
|
934
1086
|
border: 0;
|
|
1087
|
+
box-sizing: border-box;
|
|
1088
|
+
padding-block-end: var(--slotted-keyboard-inset, 0px);
|
|
935
1089
|
}
|
|
936
1090
|
}
|
|
937
1091
|
|
|
@@ -943,14 +1097,14 @@
|
|
|
943
1097
|
* owns both — a panel that animated its own box would animate `inset`,
|
|
944
1098
|
* `inline-size` and `block-size`, which is the rule R7 exists to state.
|
|
945
1099
|
*/
|
|
946
|
-
[data-ui
|
|
947
|
-
[data-ui
|
|
1100
|
+
[data-ui-dialog][data-full-screen='always'] > [data-part-viewport],
|
|
1101
|
+
[data-ui-dialog][data-fullscreen] > [data-part-viewport] {
|
|
948
1102
|
align-content: stretch;
|
|
949
1103
|
padding: 0;
|
|
950
1104
|
}
|
|
951
1105
|
|
|
952
|
-
[data-ui
|
|
953
|
-
[data-ui
|
|
1106
|
+
[data-ui-dialog][data-full-screen='always'] > [data-part-viewport] > [data-part-content],
|
|
1107
|
+
[data-ui-dialog][data-fullscreen] > [data-part-viewport] > [data-part-content] {
|
|
954
1108
|
max-inline-size: none;
|
|
955
1109
|
block-size: 100%;
|
|
956
1110
|
border-radius: 0;
|
|
@@ -961,6 +1115,16 @@
|
|
|
961
1115
|
* layer, which on a phone is a stray line under the browser chrome.
|
|
962
1116
|
*/
|
|
963
1117
|
border: 0;
|
|
1118
|
+
/**
|
|
1119
|
+
* The virtual keyboard. `observeKeyboardInset` in `@slotted/core/measure`
|
|
1120
|
+
* measures what the keyboard covers, the binding writes it on the open
|
|
1121
|
+
* layer, and the panel's rows end above the keys: a full-screen panel is
|
|
1122
|
+
* the layout viewport's height, and the keyboard shrinks only the visual
|
|
1123
|
+
* one. Nought under `interactive-widget=resizes-content`, whose layout
|
|
1124
|
+
* already shrank.
|
|
1125
|
+
*/
|
|
1126
|
+
box-sizing: border-box;
|
|
1127
|
+
padding-block-end: var(--slotted-keyboard-inset, 0px);
|
|
964
1128
|
}
|
|
965
1129
|
|
|
966
1130
|
/* ── Forced colours ───────────────────────────────────────────────────── */
|
|
@@ -973,7 +1137,7 @@
|
|
|
973
1137
|
* a system border is read at.
|
|
974
1138
|
*/
|
|
975
1139
|
@media (forced-colors: active) {
|
|
976
|
-
[data-ui
|
|
1140
|
+
[data-ui-dialog] > [data-part-viewport] > [data-part-content] {
|
|
977
1141
|
border-color: CanvasText;
|
|
978
1142
|
border-width: var(--slotted-border-width-thick, 2px);
|
|
979
1143
|
}
|