@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
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
* the result-state inside are theirs, reached with child combinators so a
|
|
27
27
|
* `title`, an `actions` or a `description` of theirs is never restyled.
|
|
28
28
|
*/
|
|
29
|
-
[data-ui
|
|
29
|
+
[data-ui-notification-center] {
|
|
30
30
|
--_text: var(--slotted-text, CanvasText);
|
|
31
31
|
--_muted: var(--slotted-text-muted, GrayText);
|
|
32
32
|
--_rule: var(--slotted-notification-center-border, var(--slotted-border-subtle, ButtonBorder));
|
|
@@ -128,7 +128,7 @@
|
|
|
128
128
|
* would collapse to nothing; `sm` states a floor, capped by the viewport
|
|
129
129
|
* for a phone, and `100%` keeps it filling a host that has a width.
|
|
130
130
|
*/
|
|
131
|
-
[data-ui
|
|
131
|
+
[data-ui-notification-center][data-size='sm'] {
|
|
132
132
|
min-inline-size: var(
|
|
133
133
|
--slotted-notification-center-min-inline-size-sm,
|
|
134
134
|
min(22rem, calc(100vw - var(--slotted-space-8, 2rem)))
|
|
@@ -165,7 +165,7 @@
|
|
|
165
165
|
* The title pushes the rest to the end; a control that wraps lands at the
|
|
166
166
|
* end of its own line, under the one before it, not at the start.
|
|
167
167
|
*/
|
|
168
|
-
[data-ui
|
|
168
|
+
[data-ui-notification-center] > [data-part-header] {
|
|
169
169
|
align-items: center;
|
|
170
170
|
border-block-end: var(--_rule-size) solid var(--_rule);
|
|
171
171
|
display: flex;
|
|
@@ -177,7 +177,7 @@
|
|
|
177
177
|
padding-inline: var(--_inset-inline);
|
|
178
178
|
}
|
|
179
179
|
|
|
180
|
-
[data-ui
|
|
180
|
+
[data-ui-notification-center] > [data-part-header] > [data-part-title] {
|
|
181
181
|
align-items: center;
|
|
182
182
|
color: var(--_text);
|
|
183
183
|
display: inline-flex;
|
|
@@ -203,7 +203,7 @@
|
|
|
203
203
|
* is what waits.
|
|
204
204
|
*/
|
|
205
205
|
/** One measure for both dimensions: a single digit is a circle, two digits a pill. */
|
|
206
|
-
[data-ui
|
|
206
|
+
[data-ui-notification-center] [data-part-count] {
|
|
207
207
|
align-items: center;
|
|
208
208
|
background-color: var(--slotted-surface-sunken, Canvas);
|
|
209
209
|
block-size: var(--_count-box);
|
|
@@ -223,21 +223,18 @@
|
|
|
223
223
|
padding-inline: var(--slotted-space-2, 0.25rem);
|
|
224
224
|
}
|
|
225
225
|
|
|
226
|
-
[data-ui
|
|
227
|
-
> [data-part='header']
|
|
228
|
-
> [data-part='title']
|
|
229
|
-
> [data-part='count'] {
|
|
226
|
+
[data-ui-notification-center] > [data-part-header] > [data-part-title] > [data-part-count] {
|
|
230
227
|
background-color: var(--slotted-tone-accent-surface, Canvas);
|
|
231
228
|
color: var(--slotted-tone-accent-text, Highlight);
|
|
232
229
|
}
|
|
233
230
|
|
|
234
231
|
/** The slot a Button sits in, pushed to the end of the row; the consumer's actions after it. */
|
|
235
|
-
[data-ui
|
|
232
|
+
[data-ui-notification-center] > [data-part-header] > [data-part-mark-all] {
|
|
236
233
|
display: inline-flex;
|
|
237
234
|
}
|
|
238
235
|
|
|
239
236
|
/** The consumer's controls read at the row's meta size: a link beside a small button, not beside the title. */
|
|
240
|
-
[data-ui
|
|
237
|
+
[data-ui-notification-center] > [data-part-header] > [data-part-actions] {
|
|
241
238
|
align-items: center;
|
|
242
239
|
display: inline-flex;
|
|
243
240
|
font-size: var(--_meta-size);
|
|
@@ -251,7 +248,7 @@
|
|
|
251
248
|
* The strip sits on the header's rule, so the tabs family's own track is
|
|
252
249
|
* off (`track="none"`) and the marker lands on the line the header drew.
|
|
253
250
|
*/
|
|
254
|
-
[data-ui
|
|
251
|
+
[data-ui-notification-center] > [data-part-views] {
|
|
255
252
|
border-block-end: var(--_rule-size) solid var(--_rule);
|
|
256
253
|
min-inline-size: 0;
|
|
257
254
|
padding-inline: var(--_inset-inline);
|
|
@@ -265,8 +262,8 @@
|
|
|
265
262
|
* the idiom `timeline` set for the same two controls; `fresh` in the accent
|
|
266
263
|
* pair so it reads as something new, `more` in the secondary.
|
|
267
264
|
*/
|
|
268
|
-
[data-ui
|
|
269
|
-
[data-ui
|
|
265
|
+
[data-ui-notification-center] > [data-part-fresh],
|
|
266
|
+
[data-ui-notification-center] > button[data-part-more] {
|
|
270
267
|
align-items: center;
|
|
271
268
|
appearance: none;
|
|
272
269
|
background-color: var(--_ground);
|
|
@@ -292,35 +289,35 @@
|
|
|
292
289
|
color var(--_duration) var(--_easing);
|
|
293
290
|
}
|
|
294
291
|
|
|
295
|
-
[data-ui
|
|
292
|
+
[data-ui-notification-center] > [data-part-fresh] {
|
|
296
293
|
background-color: var(--slotted-tone-accent-surface, Canvas);
|
|
297
294
|
border-color: var(--slotted-tone-accent-border, Highlight);
|
|
298
295
|
color: var(--slotted-tone-accent-text, Highlight);
|
|
299
296
|
}
|
|
300
297
|
|
|
301
|
-
[data-ui
|
|
298
|
+
[data-ui-notification-center] > [data-part-fresh]:enabled:hover {
|
|
302
299
|
background-color: var(--slotted-tone-accent-subtle-hover, Canvas);
|
|
303
300
|
}
|
|
304
301
|
|
|
305
|
-
[data-ui
|
|
302
|
+
[data-ui-notification-center] > [data-part-fresh]:enabled:active {
|
|
306
303
|
background-color: var(--slotted-tone-accent-subtle-active, Canvas);
|
|
307
304
|
}
|
|
308
305
|
|
|
309
|
-
[data-ui
|
|
306
|
+
[data-ui-notification-center] > button[data-part-more]:enabled:hover {
|
|
310
307
|
background-color: var(--_hover);
|
|
311
308
|
}
|
|
312
309
|
|
|
313
|
-
[data-ui
|
|
310
|
+
[data-ui-notification-center] > button[data-part-more]:enabled:active {
|
|
314
311
|
background-color: var(--_active);
|
|
315
312
|
}
|
|
316
313
|
|
|
317
|
-
[data-ui
|
|
314
|
+
[data-ui-notification-center] > button[data-part-more]:disabled {
|
|
318
315
|
color: var(--slotted-disabled-foreground, GrayText);
|
|
319
316
|
cursor: default;
|
|
320
317
|
}
|
|
321
318
|
|
|
322
319
|
/** Under growing=scroll the sentinel is a box the observer watches, and it says it is waiting. */
|
|
323
|
-
[data-ui
|
|
320
|
+
[data-ui-notification-center] > div[data-part-more] {
|
|
324
321
|
color: var(--_muted);
|
|
325
322
|
font-size: var(--_meta-size);
|
|
326
323
|
line-height: var(--_meta-line-height);
|
|
@@ -330,8 +327,8 @@
|
|
|
330
327
|
text-align: center;
|
|
331
328
|
}
|
|
332
329
|
|
|
333
|
-
[data-ui
|
|
334
|
-
[data-ui
|
|
330
|
+
[data-ui-notification-center] > [data-part-fresh]:focus-visible,
|
|
331
|
+
[data-ui-notification-center] > button[data-part-more]:focus-visible {
|
|
335
332
|
outline: var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);
|
|
336
333
|
outline-offset: var(--slotted-focus-ring-offset, 2px);
|
|
337
334
|
}
|
|
@@ -347,7 +344,7 @@
|
|
|
347
344
|
* is `scroll-area`'s: a reserved gutter so the rows do not move when the
|
|
348
345
|
* feed grows past the panel, the thin platform bar, the family's ink on it.
|
|
349
346
|
*/
|
|
350
|
-
[data-ui
|
|
347
|
+
[data-ui-notification-center] > [data-part-feed] {
|
|
351
348
|
display: flex;
|
|
352
349
|
flex: 1 1 auto;
|
|
353
350
|
flex-direction: column;
|
|
@@ -361,17 +358,17 @@
|
|
|
361
358
|
}
|
|
362
359
|
|
|
363
360
|
/** The footer draws its own rule above, so the last row gives up the one below it: one seam, not two. */
|
|
364
|
-
[data-ui
|
|
365
|
-
> [data-part
|
|
366
|
-
> [data-part
|
|
367
|
-
[data-ui
|
|
368
|
-
> [data-part
|
|
369
|
-
> [data-part
|
|
370
|
-
> [data-part
|
|
361
|
+
[data-ui-notification-center]
|
|
362
|
+
> [data-part-feed]:has(+ [data-part-footer])
|
|
363
|
+
> [data-part-item]:last-child,
|
|
364
|
+
[data-ui-notification-center]
|
|
365
|
+
> [data-part-feed]:has(+ [data-part-footer])
|
|
366
|
+
> [data-part-group]:last-child
|
|
367
|
+
> [data-part-item]:last-child {
|
|
371
368
|
border-block-end: 0;
|
|
372
369
|
}
|
|
373
370
|
|
|
374
|
-
[data-ui
|
|
371
|
+
[data-ui-notification-center] > [data-part-feed] > [data-part-group] {
|
|
375
372
|
display: flex;
|
|
376
373
|
flex-direction: column;
|
|
377
374
|
min-inline-size: 0;
|
|
@@ -381,10 +378,7 @@
|
|
|
381
378
|
* A group's heading: an overline in the muted text, on the feed's inset, so
|
|
382
379
|
* the groups read as one list with dates between rather than as boxes.
|
|
383
380
|
*/
|
|
384
|
-
[data-ui
|
|
385
|
-
> [data-part='feed']
|
|
386
|
-
> [data-part='group']
|
|
387
|
-
> [data-part='group-label'] {
|
|
381
|
+
[data-ui-notification-center] > [data-part-feed] > [data-part-group] > [data-part-group-label] {
|
|
388
382
|
color: var(--_muted);
|
|
389
383
|
font-size: var(--slotted-font-size-xs, 0.75rem);
|
|
390
384
|
font-weight: var(--slotted-font-weight-semibold, 600);
|
|
@@ -403,7 +397,7 @@
|
|
|
403
397
|
* rows and not as a column of cards. The visual, the title's first line
|
|
404
398
|
* and the controls are centred on one axis.
|
|
405
399
|
*/
|
|
406
|
-
[data-ui
|
|
400
|
+
[data-ui-notification-center] > [data-part-feed] [data-part-item] {
|
|
407
401
|
align-items: flex-start;
|
|
408
402
|
border-block-end: var(--_rule-size) solid var(--_rule);
|
|
409
403
|
display: grid;
|
|
@@ -416,29 +410,29 @@
|
|
|
416
410
|
transition: background-color var(--_duration) var(--_easing);
|
|
417
411
|
}
|
|
418
412
|
|
|
419
|
-
[data-ui
|
|
413
|
+
[data-ui-notification-center] > [data-part-feed] [data-part-item][data-tone='secondary'] {
|
|
420
414
|
--_tone-solid: var(--slotted-tone-secondary-solid, ButtonText);
|
|
421
415
|
--_tone-text: var(--slotted-tone-secondary-text, ButtonText);
|
|
422
416
|
--_tone-surface: var(--slotted-tone-secondary-surface, Canvas);
|
|
423
417
|
}
|
|
424
|
-
[data-ui
|
|
418
|
+
[data-ui-notification-center] > [data-part-feed] [data-part-item][data-tone='success'] {
|
|
425
419
|
--_tone-solid: var(--slotted-tone-success-solid, ButtonText);
|
|
426
420
|
--_tone-text: var(--slotted-tone-success-text, ButtonText);
|
|
427
421
|
--_tone-surface: var(--slotted-tone-success-surface, Canvas);
|
|
428
422
|
}
|
|
429
|
-
[data-ui
|
|
423
|
+
[data-ui-notification-center] > [data-part-feed] [data-part-item][data-tone='warning'] {
|
|
430
424
|
--_tone-solid: var(--slotted-tone-warning-solid, ButtonText);
|
|
431
425
|
--_tone-text: var(--slotted-tone-warning-text, ButtonText);
|
|
432
426
|
--_tone-surface: var(--slotted-tone-warning-surface, Canvas);
|
|
433
427
|
}
|
|
434
|
-
[data-ui
|
|
428
|
+
[data-ui-notification-center] > [data-part-feed] [data-part-item][data-tone='danger'] {
|
|
435
429
|
--_tone-solid: var(--slotted-tone-danger-solid, ButtonText);
|
|
436
430
|
--_tone-text: var(--slotted-tone-danger-text, ButtonText);
|
|
437
431
|
--_tone-surface: var(--slotted-tone-danger-surface, Canvas);
|
|
438
432
|
}
|
|
439
433
|
|
|
440
434
|
/** Unread stands on the wash; read stands on the surface. The dot says the same thing a second way. */
|
|
441
|
-
[data-ui
|
|
435
|
+
[data-ui-notification-center] > [data-part-feed] [data-part-item]:not([data-read]) {
|
|
442
436
|
background-color: var(--_unread-ground);
|
|
443
437
|
}
|
|
444
438
|
|
|
@@ -447,9 +441,7 @@
|
|
|
447
441
|
* vocabulary's: an item is never disabled, and the rule says so where the
|
|
448
442
|
* states test looks.
|
|
449
443
|
*/
|
|
450
|
-
[data-ui
|
|
451
|
-
> [data-part='feed']
|
|
452
|
-
[data-part='item']:not([data-disabled]):hover {
|
|
444
|
+
[data-ui-notification-center] > [data-part-feed] [data-part-item]:not([data-disabled]):hover {
|
|
453
445
|
background-color: var(--_hover);
|
|
454
446
|
}
|
|
455
447
|
|
|
@@ -458,12 +450,12 @@
|
|
|
458
450
|
* ring is drawn inward, because the rows touch and an outward ring would be
|
|
459
451
|
* cut by the neighbours.
|
|
460
452
|
*/
|
|
461
|
-
[data-ui
|
|
453
|
+
[data-ui-notification-center] > [data-part-feed] [data-part-item]:focus-visible {
|
|
462
454
|
outline: var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);
|
|
463
455
|
outline-offset: calc(var(--slotted-focus-ring-offset, 2px) * -1);
|
|
464
456
|
}
|
|
465
457
|
|
|
466
|
-
[data-ui
|
|
458
|
+
[data-ui-notification-center] > [data-part-feed] [data-part-item] > [data-part-visual] {
|
|
467
459
|
align-items: center;
|
|
468
460
|
display: flex;
|
|
469
461
|
grid-column: 1;
|
|
@@ -472,10 +464,10 @@
|
|
|
472
464
|
}
|
|
473
465
|
|
|
474
466
|
/** Without a visual the words take the column. */
|
|
475
|
-
[data-ui
|
|
476
|
-
> [data-part
|
|
477
|
-
[data-part
|
|
478
|
-
> [data-part
|
|
467
|
+
[data-ui-notification-center]
|
|
468
|
+
> [data-part-feed]
|
|
469
|
+
[data-part-item]:not(:has(> [data-part-visual]))
|
|
470
|
+
> [data-part-content] {
|
|
479
471
|
grid-column: 1 / 3;
|
|
480
472
|
}
|
|
481
473
|
|
|
@@ -504,10 +496,10 @@
|
|
|
504
496
|
* the consumer put there. The disc is the wrapper's own background, centred
|
|
505
497
|
* on the box the glyph is centred in, so the two stay concentric.
|
|
506
498
|
*/
|
|
507
|
-
[data-ui
|
|
508
|
-
> [data-part
|
|
509
|
-
[data-part
|
|
510
|
-
> [data-part
|
|
499
|
+
[data-ui-notification-center]
|
|
500
|
+
> [data-part-feed]
|
|
501
|
+
[data-part-item]
|
|
502
|
+
> [data-part-visual]:empty:not([data-tone]) {
|
|
511
503
|
display: none;
|
|
512
504
|
}
|
|
513
505
|
|
|
@@ -517,10 +509,10 @@
|
|
|
517
509
|
* rather than percentages of the ray (Chrome paints a `calc(100% - …)`
|
|
518
510
|
* stop as a ramp several pixels wide).
|
|
519
511
|
*/
|
|
520
|
-
[data-ui
|
|
521
|
-
> [data-part
|
|
522
|
-
[data-part
|
|
523
|
-
> [data-part
|
|
512
|
+
[data-ui-notification-center]
|
|
513
|
+
> [data-part-feed]
|
|
514
|
+
[data-part-item]
|
|
515
|
+
> [data-part-visual][data-tone]:has(> [data-tone-glyph]) {
|
|
524
516
|
--slotted-icon-size: var(--_visual-glyph);
|
|
525
517
|
|
|
526
518
|
align-items: center;
|
|
@@ -541,7 +533,7 @@
|
|
|
541
533
|
* line and the offset centres that line on the visual — a visual taller
|
|
542
534
|
* than the line pushes the words down, never the other way.
|
|
543
535
|
*/
|
|
544
|
-
[data-ui
|
|
536
|
+
[data-ui-notification-center] > [data-part-feed] [data-part-item] > [data-part-content] {
|
|
545
537
|
display: flex;
|
|
546
538
|
flex-direction: column;
|
|
547
539
|
font-size: var(--_item-title-size);
|
|
@@ -552,11 +544,11 @@
|
|
|
552
544
|
min-inline-size: 0;
|
|
553
545
|
}
|
|
554
546
|
|
|
555
|
-
[data-ui
|
|
556
|
-
> [data-part
|
|
557
|
-
[data-part
|
|
558
|
-
> [data-part
|
|
559
|
-
> [data-part
|
|
547
|
+
[data-ui-notification-center]
|
|
548
|
+
> [data-part-feed]
|
|
549
|
+
[data-part-item]
|
|
550
|
+
> [data-part-content]
|
|
551
|
+
> [data-part-title] {
|
|
560
552
|
-webkit-box-orient: vertical;
|
|
561
553
|
-webkit-line-clamp: var(--slotted-notification-center-title-clamp, 2);
|
|
562
554
|
color: var(--_text);
|
|
@@ -571,11 +563,11 @@
|
|
|
571
563
|
}
|
|
572
564
|
|
|
573
565
|
/** Unread says so with weight as well as with the dot and the wash. */
|
|
574
|
-
[data-ui
|
|
575
|
-
> [data-part
|
|
576
|
-
[data-part
|
|
577
|
-
> [data-part
|
|
578
|
-
> [data-part
|
|
566
|
+
[data-ui-notification-center]
|
|
567
|
+
> [data-part-feed]
|
|
568
|
+
[data-part-item]:not([data-read])
|
|
569
|
+
> [data-part-content]
|
|
570
|
+
> [data-part-title] {
|
|
579
571
|
font-weight: var(--slotted-font-weight-semibold, 600);
|
|
580
572
|
}
|
|
581
573
|
|
|
@@ -584,38 +576,38 @@
|
|
|
584
576
|
* opens the thing, and the controls stand above it so they take their own
|
|
585
577
|
* press. The ring stays on the article, which is what has focus.
|
|
586
578
|
*/
|
|
587
|
-
[data-ui
|
|
588
|
-
> [data-part
|
|
589
|
-
[data-part
|
|
590
|
-
> [data-part
|
|
591
|
-
> a[data-part
|
|
579
|
+
[data-ui-notification-center]
|
|
580
|
+
> [data-part-feed]
|
|
581
|
+
[data-part-item]
|
|
582
|
+
> [data-part-content]
|
|
583
|
+
> a[data-part-title]::after {
|
|
592
584
|
content: '';
|
|
593
585
|
inset: 0;
|
|
594
586
|
position: absolute;
|
|
595
587
|
}
|
|
596
588
|
|
|
597
|
-
[data-ui
|
|
598
|
-
> [data-part
|
|
599
|
-
[data-part
|
|
600
|
-
> [data-part
|
|
601
|
-
> a[data-part
|
|
589
|
+
[data-ui-notification-center]
|
|
590
|
+
> [data-part-feed]
|
|
591
|
+
[data-part-item]
|
|
592
|
+
> [data-part-content]
|
|
593
|
+
> a[data-part-title]:not([data-disabled]):hover {
|
|
602
594
|
text-decoration: underline;
|
|
603
595
|
text-underline-offset: 0.15em;
|
|
604
596
|
}
|
|
605
597
|
|
|
606
|
-
[data-ui
|
|
607
|
-
> [data-part
|
|
608
|
-
[data-part
|
|
609
|
-
> [data-part
|
|
610
|
-
> a[data-part
|
|
598
|
+
[data-ui-notification-center]
|
|
599
|
+
> [data-part-feed]
|
|
600
|
+
[data-part-item]
|
|
601
|
+
> [data-part-content]
|
|
602
|
+
> a[data-part-title]:focus-visible {
|
|
611
603
|
outline: none;
|
|
612
604
|
}
|
|
613
605
|
|
|
614
|
-
[data-ui
|
|
615
|
-
> [data-part
|
|
616
|
-
[data-part
|
|
617
|
-
> [data-part
|
|
618
|
-
> [data-part
|
|
606
|
+
[data-ui-notification-center]
|
|
607
|
+
> [data-part-feed]
|
|
608
|
+
[data-part-item]
|
|
609
|
+
> [data-part-content]
|
|
610
|
+
> [data-part-description] {
|
|
619
611
|
-webkit-box-orient: vertical;
|
|
620
612
|
-webkit-line-clamp: var(--slotted-notification-center-description-clamp, 3);
|
|
621
613
|
color: var(--_muted);
|
|
@@ -627,11 +619,11 @@
|
|
|
627
619
|
overflow-wrap: anywhere;
|
|
628
620
|
}
|
|
629
621
|
|
|
630
|
-
[data-ui
|
|
631
|
-
> [data-part
|
|
632
|
-
[data-part
|
|
633
|
-
> [data-part
|
|
634
|
-
> [data-part
|
|
622
|
+
[data-ui-notification-center]
|
|
623
|
+
> [data-part-feed]
|
|
624
|
+
[data-part-item]
|
|
625
|
+
> [data-part-content]
|
|
626
|
+
> [data-part-time] {
|
|
635
627
|
color: var(--_muted);
|
|
636
628
|
font-size: var(--_meta-size);
|
|
637
629
|
font-variant-numeric: tabular-nums;
|
|
@@ -639,11 +631,11 @@
|
|
|
639
631
|
}
|
|
640
632
|
|
|
641
633
|
/** The consumer's controls for the item, above the covering link. */
|
|
642
|
-
[data-ui
|
|
643
|
-
> [data-part
|
|
644
|
-
[data-part
|
|
645
|
-
> [data-part
|
|
646
|
-
> [data-part
|
|
634
|
+
[data-ui-notification-center]
|
|
635
|
+
> [data-part-feed]
|
|
636
|
+
[data-part-item]
|
|
637
|
+
> [data-part-content]
|
|
638
|
+
> [data-part-actions] {
|
|
647
639
|
align-items: center;
|
|
648
640
|
display: flex;
|
|
649
641
|
flex-wrap: wrap;
|
|
@@ -655,7 +647,7 @@
|
|
|
655
647
|
|
|
656
648
|
/* ── The family's controls ───────────────────────────────────────────── */
|
|
657
649
|
|
|
658
|
-
[data-ui
|
|
650
|
+
[data-ui-notification-center] > [data-part-feed] [data-part-item] > [data-part-controls] {
|
|
659
651
|
display: flex;
|
|
660
652
|
gap: var(--slotted-space-1, 0.125rem);
|
|
661
653
|
grid-column: 3;
|
|
@@ -674,10 +666,10 @@
|
|
|
674
666
|
* unread, `dot` while read (the control offers to mark it unread), and `x`
|
|
675
667
|
* to dismiss; the control hands its icon box the glyph size.
|
|
676
668
|
*/
|
|
677
|
-
[data-ui
|
|
678
|
-
> [data-part
|
|
679
|
-
[data-part
|
|
680
|
-
> [data-part
|
|
669
|
+
[data-ui-notification-center]
|
|
670
|
+
> [data-part-feed]
|
|
671
|
+
[data-part-item]
|
|
672
|
+
> [data-part-controls]
|
|
681
673
|
> button {
|
|
682
674
|
--slotted-icon-size: var(--_glyph);
|
|
683
675
|
|
|
@@ -700,10 +692,10 @@
|
|
|
700
692
|
background-color var(--_duration) var(--_easing);
|
|
701
693
|
}
|
|
702
694
|
|
|
703
|
-
[data-ui
|
|
704
|
-
> [data-part
|
|
705
|
-
[data-part
|
|
706
|
-
> [data-part
|
|
695
|
+
[data-ui-notification-center]
|
|
696
|
+
> [data-part-feed]
|
|
697
|
+
[data-part-item]
|
|
698
|
+
> [data-part-controls]
|
|
707
699
|
> button::before {
|
|
708
700
|
/* The halo: the target minimum, centred on the box, taking the press and drawing nothing. */
|
|
709
701
|
block-size: max(var(--_control), var(--slotted-target-min, 24px));
|
|
@@ -715,58 +707,58 @@
|
|
|
715
707
|
translate: -50% -50%;
|
|
716
708
|
}
|
|
717
709
|
|
|
718
|
-
[data-ui
|
|
719
|
-
> [data-part
|
|
720
|
-
[data-part
|
|
721
|
-
> [data-part
|
|
710
|
+
[data-ui-notification-center]
|
|
711
|
+
> [data-part-feed]
|
|
712
|
+
[data-part-item]
|
|
713
|
+
> [data-part-controls]
|
|
722
714
|
> button:enabled:hover {
|
|
723
715
|
background-color: var(--_hover);
|
|
724
716
|
color: var(--_text);
|
|
725
717
|
}
|
|
726
718
|
|
|
727
|
-
[data-ui
|
|
728
|
-
> [data-part
|
|
729
|
-
[data-part
|
|
730
|
-
> [data-part
|
|
719
|
+
[data-ui-notification-center]
|
|
720
|
+
> [data-part-feed]
|
|
721
|
+
[data-part-item]
|
|
722
|
+
> [data-part-controls]
|
|
731
723
|
> button:enabled:active {
|
|
732
724
|
background-color: var(--_active);
|
|
733
725
|
}
|
|
734
726
|
|
|
735
|
-
[data-ui
|
|
736
|
-
> [data-part
|
|
737
|
-
[data-part
|
|
738
|
-
> [data-part
|
|
727
|
+
[data-ui-notification-center]
|
|
728
|
+
> [data-part-feed]
|
|
729
|
+
[data-part-item]
|
|
730
|
+
> [data-part-controls]
|
|
739
731
|
> button:focus-visible {
|
|
740
732
|
outline: var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);
|
|
741
733
|
outline-offset: var(--slotted-focus-ring-offset, 2px);
|
|
742
734
|
}
|
|
743
735
|
|
|
744
736
|
/** The `controls` axis: a product with its own triage keeps one of the two, or neither. */
|
|
745
|
-
[data-ui
|
|
746
|
-
> [data-part
|
|
747
|
-
[data-part
|
|
748
|
-
> [data-part
|
|
749
|
-
> [data-part
|
|
750
|
-
[data-ui
|
|
751
|
-
> [data-part
|
|
752
|
-
[data-part
|
|
753
|
-
> [data-part
|
|
754
|
-
> [data-part
|
|
755
|
-
[data-ui
|
|
756
|
-
> [data-part
|
|
757
|
-
[data-part
|
|
758
|
-
> [data-part
|
|
737
|
+
[data-ui-notification-center][data-controls='read']
|
|
738
|
+
> [data-part-feed]
|
|
739
|
+
[data-part-item]
|
|
740
|
+
> [data-part-controls]
|
|
741
|
+
> [data-part-dismiss],
|
|
742
|
+
[data-ui-notification-center][data-controls='dismiss']
|
|
743
|
+
> [data-part-feed]
|
|
744
|
+
[data-part-item]
|
|
745
|
+
> [data-part-controls]
|
|
746
|
+
> [data-part-read-toggle],
|
|
747
|
+
[data-ui-notification-center][data-controls='none']
|
|
748
|
+
> [data-part-feed]
|
|
749
|
+
[data-part-item]
|
|
750
|
+
> [data-part-controls] {
|
|
759
751
|
display: none;
|
|
760
752
|
}
|
|
761
753
|
|
|
762
754
|
/* ── Loading, empty and the footer ───────────────────────────────────── */
|
|
763
755
|
|
|
764
756
|
/** The waiting rows are skeleton's; the family gives them the item's inset and rule, and no wash. */
|
|
765
|
-
[data-ui
|
|
757
|
+
[data-ui-notification-center] > [data-part-feed] > [data-part-item][aria-hidden] {
|
|
766
758
|
background-color: transparent;
|
|
767
759
|
}
|
|
768
760
|
|
|
769
|
-
[data-ui
|
|
761
|
+
[data-ui-notification-center] > [data-part-empty] {
|
|
770
762
|
color: var(--_muted);
|
|
771
763
|
display: grid;
|
|
772
764
|
font-size: var(--_meta-size);
|
|
@@ -778,7 +770,7 @@
|
|
|
778
770
|
text-align: center;
|
|
779
771
|
}
|
|
780
772
|
|
|
781
|
-
[data-ui
|
|
773
|
+
[data-ui-notification-center] > [data-part-footer] {
|
|
782
774
|
align-items: center;
|
|
783
775
|
border-block-start: var(--_rule-size) solid var(--_rule);
|
|
784
776
|
display: flex;
|
|
@@ -799,14 +791,11 @@
|
|
|
799
791
|
* the title.
|
|
800
792
|
*/
|
|
801
793
|
@container notification-center (max-width: 319px) {
|
|
802
|
-
[data-ui
|
|
794
|
+
[data-ui-notification-center] > [data-part-feed] [data-part-item] {
|
|
803
795
|
grid-template-columns: auto minmax(0, 1fr);
|
|
804
796
|
}
|
|
805
797
|
|
|
806
|
-
[data-ui
|
|
807
|
-
> [data-part='feed']
|
|
808
|
-
[data-part='item']
|
|
809
|
-
> [data-part='controls'] {
|
|
798
|
+
[data-ui-notification-center] > [data-part-feed] [data-part-item] > [data-part-controls] {
|
|
810
799
|
grid-column: 2;
|
|
811
800
|
justify-content: flex-end;
|
|
812
801
|
margin-block-start: var(--slotted-space-2, 0.25rem);
|
|
@@ -827,10 +816,7 @@
|
|
|
827
816
|
* the halo already reached there.
|
|
828
817
|
*/
|
|
829
818
|
@media (pointer: coarse) {
|
|
830
|
-
[data-ui
|
|
831
|
-
> [data-part='feed']
|
|
832
|
-
[data-part='item']
|
|
833
|
-
> [data-part='controls'] {
|
|
819
|
+
[data-ui-notification-center] > [data-part-feed] [data-part-item] > [data-part-controls] {
|
|
834
820
|
--_control: var(--slotted-target-comfortable, 44px);
|
|
835
821
|
|
|
836
822
|
margin-block-start: calc((var(--_visual) - var(--_control)) / 2);
|
|
@@ -846,7 +832,7 @@
|
|
|
846
832
|
* carries unread.
|
|
847
833
|
*/
|
|
848
834
|
@media (forced-colors: active) {
|
|
849
|
-
[data-ui
|
|
835
|
+
[data-ui-notification-center] [data-part-count] {
|
|
850
836
|
background-color: Highlight;
|
|
851
837
|
border-color: Highlight;
|
|
852
838
|
color: HighlightText;
|