@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
|
@@ -97,7 +97,7 @@
|
|
|
97
97
|
* authored stylesheet has to know which of three things it is painting, and
|
|
98
98
|
* a prop would be a fourth way to pick a component already picked.
|
|
99
99
|
*/
|
|
100
|
-
[data-ui
|
|
100
|
+
[data-ui-progress-indicator][data-part-root] {
|
|
101
101
|
/**
|
|
102
102
|
* The ink, and it is the tone's `text` role rather than its `solid` one.
|
|
103
103
|
* Two reasons, and the second is the one that decides it. The indicator is
|
|
@@ -231,7 +231,7 @@
|
|
|
231
231
|
* user agent's `[hidden]`, and a family that painted through its own
|
|
232
232
|
* withdrawal would flash exactly what the delay exists to prevent.
|
|
233
233
|
*/
|
|
234
|
-
[data-ui
|
|
234
|
+
[data-ui-progress-indicator][hidden] {
|
|
235
235
|
display: none;
|
|
236
236
|
}
|
|
237
237
|
|
|
@@ -253,23 +253,23 @@
|
|
|
253
253
|
* It is the same substitution `badge` and `status-indicator` make for their
|
|
254
254
|
* own neutral marks, for the same reason.
|
|
255
255
|
*/
|
|
256
|
-
[data-ui
|
|
256
|
+
[data-ui-progress-indicator][data-part-root][data-tone='secondary'] {
|
|
257
257
|
--_ink: var(--slotted-progress-indicator-indicator-color, var(--slotted-border-strong));
|
|
258
258
|
}
|
|
259
259
|
|
|
260
|
-
[data-ui
|
|
260
|
+
[data-ui-progress-indicator][data-part-root][data-tone='success'] {
|
|
261
261
|
--_ink: var(--slotted-progress-indicator-indicator-color, var(--slotted-tone-success-text));
|
|
262
262
|
}
|
|
263
263
|
|
|
264
|
-
[data-ui
|
|
264
|
+
[data-ui-progress-indicator][data-part-root][data-tone='warning'] {
|
|
265
265
|
--_ink: var(--slotted-progress-indicator-indicator-color, var(--slotted-tone-warning-text));
|
|
266
266
|
}
|
|
267
267
|
|
|
268
|
-
[data-ui
|
|
268
|
+
[data-ui-progress-indicator][data-part-root][data-tone='danger'] {
|
|
269
269
|
--_ink: var(--slotted-progress-indicator-indicator-color, var(--slotted-tone-danger-text));
|
|
270
270
|
}
|
|
271
271
|
|
|
272
|
-
[data-ui
|
|
272
|
+
[data-ui-progress-indicator][data-part-root][data-buffered] {
|
|
273
273
|
--_buffer-color: var(
|
|
274
274
|
--slotted-progress-indicator-buffer-color,
|
|
275
275
|
color-mix(in oklab, var(--_ink) 52%, var(--slotted-surface))
|
|
@@ -286,14 +286,14 @@
|
|
|
286
286
|
* component layer of the token contract stays as `avatar` left it.
|
|
287
287
|
*/
|
|
288
288
|
|
|
289
|
-
[data-ui
|
|
289
|
+
[data-ui-progress-indicator][data-part-root][data-size='sm'] {
|
|
290
290
|
--_font-size: var(--slotted-control-font-size-sm, 12px);
|
|
291
291
|
--_text-gap: var(--slotted-space-3, 0.375rem);
|
|
292
292
|
--_thickness: var(--slotted-progress-indicator-thickness, var(--slotted-space-2, 0.25rem));
|
|
293
293
|
--_size: var(--slotted-progress-indicator-size, var(--slotted-control-height-sm, 30px));
|
|
294
294
|
}
|
|
295
295
|
|
|
296
|
-
[data-ui
|
|
296
|
+
[data-ui-progress-indicator][data-part-root][data-size='lg'] {
|
|
297
297
|
--_font-size: var(--slotted-control-font-size-lg, 14px);
|
|
298
298
|
--_row-gap: var(--slotted-space-4, 0.5rem);
|
|
299
299
|
--_thickness: var(--slotted-progress-indicator-thickness, var(--slotted-space-4, 0.5rem));
|
|
@@ -313,7 +313,7 @@
|
|
|
313
313
|
* character, so a grid column sized to its content collapses to that
|
|
314
314
|
* character.
|
|
315
315
|
*/
|
|
316
|
-
[data-ui
|
|
316
|
+
[data-ui-progress-indicator] [data-part-label] {
|
|
317
317
|
color: var(--slotted-text, CanvasText);
|
|
318
318
|
min-inline-size: 0;
|
|
319
319
|
overflow-wrap: break-word;
|
|
@@ -326,7 +326,7 @@
|
|
|
326
326
|
* is the muted step, because the number annotates the bar rather than
|
|
327
327
|
* naming it.
|
|
328
328
|
*/
|
|
329
|
-
[data-ui
|
|
329
|
+
[data-ui-progress-indicator] [data-part-value] {
|
|
330
330
|
color: var(--slotted-text-muted, GrayText);
|
|
331
331
|
font-variant-numeric: tabular-nums;
|
|
332
332
|
white-space: nowrap;
|
|
@@ -344,7 +344,7 @@
|
|
|
344
344
|
* inline end, which is the right edge of an English page and the left edge
|
|
345
345
|
* of an Arabic one, with no mirrored rule to write.
|
|
346
346
|
*/
|
|
347
|
-
[data-ui
|
|
347
|
+
[data-ui-progress-indicator][data-part-root][data-shape='linear'] {
|
|
348
348
|
align-items: baseline;
|
|
349
349
|
column-gap: var(--_text-gap);
|
|
350
350
|
display: grid;
|
|
@@ -352,16 +352,16 @@
|
|
|
352
352
|
row-gap: var(--_row-gap);
|
|
353
353
|
}
|
|
354
354
|
|
|
355
|
-
[data-ui
|
|
355
|
+
[data-ui-progress-indicator][data-shape='linear'] > [data-part-label] {
|
|
356
356
|
grid-column: 1;
|
|
357
357
|
}
|
|
358
358
|
|
|
359
|
-
[data-ui
|
|
359
|
+
[data-ui-progress-indicator][data-shape='linear'] > [data-part-value] {
|
|
360
360
|
grid-column: 2;
|
|
361
361
|
justify-self: end;
|
|
362
362
|
}
|
|
363
363
|
|
|
364
|
-
[data-ui
|
|
364
|
+
[data-ui-progress-indicator][data-shape='linear'] > [data-part-track] {
|
|
365
365
|
grid-column: 1 / -1;
|
|
366
366
|
}
|
|
367
367
|
|
|
@@ -379,7 +379,7 @@
|
|
|
379
379
|
* block axis has to let a crest out. A single `clip` is what sliced the
|
|
380
380
|
* crests flat in the first capture of this family.
|
|
381
381
|
*/
|
|
382
|
-
[data-ui
|
|
382
|
+
[data-ui-progress-indicator][data-shape='linear'] [data-part-track] {
|
|
383
383
|
background-color: var(--_buffer-color);
|
|
384
384
|
block-size: var(--_thickness);
|
|
385
385
|
border-radius: var(--_radius);
|
|
@@ -397,7 +397,7 @@
|
|
|
397
397
|
* notch — the shape M3 took in 2024 and the one no other surveyed
|
|
398
398
|
* implementation draws.
|
|
399
399
|
*/
|
|
400
|
-
[data-ui
|
|
400
|
+
[data-ui-progress-indicator][data-shape='linear'] [data-part-track]::before {
|
|
401
401
|
background-color: var(--_track-color);
|
|
402
402
|
border-radius: inherit;
|
|
403
403
|
content: '';
|
|
@@ -413,7 +413,7 @@
|
|
|
413
413
|
* and it is the detail that makes a bar at four per cent read as four per
|
|
414
414
|
* cent of something rather than as a stray mark.
|
|
415
415
|
*/
|
|
416
|
-
[data-ui
|
|
416
|
+
[data-ui-progress-indicator][data-shape='linear'] [data-part-track]::after {
|
|
417
417
|
background-color: var(--_ink);
|
|
418
418
|
border-radius: var(--slotted-radius-full, 9999px);
|
|
419
419
|
content: '';
|
|
@@ -423,7 +423,7 @@
|
|
|
423
423
|
position: absolute;
|
|
424
424
|
}
|
|
425
425
|
|
|
426
|
-
[data-ui
|
|
426
|
+
[data-ui-progress-indicator][data-shape='linear'] [data-part-indicator] {
|
|
427
427
|
background-color: var(--_ink);
|
|
428
428
|
block-size: 100%;
|
|
429
429
|
border-radius: inherit;
|
|
@@ -446,8 +446,8 @@
|
|
|
446
446
|
* way along it. Keyed on the number, it goes when the fill arrives.
|
|
447
447
|
*/
|
|
448
448
|
@container style(--slotted-progress-indicator-percent: 100) {
|
|
449
|
-
[data-ui
|
|
450
|
-
[data-ui
|
|
449
|
+
[data-ui-progress-indicator][data-shape='linear'] [data-part-track]::before,
|
|
450
|
+
[data-ui-progress-indicator][data-shape='linear'] [data-part-track]::after {
|
|
451
451
|
content: none;
|
|
452
452
|
}
|
|
453
453
|
}
|
|
@@ -459,17 +459,15 @@
|
|
|
459
459
|
* one replaces recorded, and `inset-inline-start` is why a translation runs
|
|
460
460
|
* the way the document reads instead of the way the screen does.
|
|
461
461
|
*/
|
|
462
|
-
[data-ui
|
|
463
|
-
[data-part='track']::before {
|
|
462
|
+
[data-ui-progress-indicator][data-shape='linear'][data-indeterminate] [data-part-track]::before {
|
|
464
463
|
inset-inline-start: 0;
|
|
465
464
|
}
|
|
466
465
|
|
|
467
|
-
[data-ui
|
|
468
|
-
[data-part='track']::after {
|
|
466
|
+
[data-ui-progress-indicator][data-shape='linear'][data-indeterminate] [data-part-track]::after {
|
|
469
467
|
content: none;
|
|
470
468
|
}
|
|
471
469
|
|
|
472
|
-
[data-ui
|
|
470
|
+
[data-ui-progress-indicator][data-shape='linear'][data-indeterminate] [data-part-indicator] {
|
|
473
471
|
animation: slotted-progress-indicator-travel var(--slotted-duration-loop-slow)
|
|
474
472
|
var(--slotted-easing-standard) infinite;
|
|
475
473
|
inline-size: calc(1% * var(--slotted-progress-indicator-travel-size));
|
|
@@ -515,7 +513,7 @@
|
|
|
515
513
|
* The stacking layer is a token, so an application's own stacking contract
|
|
516
514
|
* still decides. Every router progress bar in the field types a number here.
|
|
517
515
|
*/
|
|
518
|
-
[data-ui
|
|
516
|
+
[data-ui-progress-indicator][data-part-root][data-placement='page'] {
|
|
519
517
|
--_radius: var(--slotted-progress-indicator-radius, var(--slotted-radius-none, 0px));
|
|
520
518
|
--_track-color: var(--slotted-progress-indicator-track-color, transparent);
|
|
521
519
|
--_gap: var(--slotted-progress-indicator-gap, 0);
|
|
@@ -526,7 +524,7 @@
|
|
|
526
524
|
z-index: var(--slotted-z-index-sticky, 100);
|
|
527
525
|
}
|
|
528
526
|
|
|
529
|
-
[data-ui
|
|
527
|
+
[data-ui-progress-indicator][data-placement='page'] [data-part-track]::after {
|
|
530
528
|
content: none;
|
|
531
529
|
}
|
|
532
530
|
|
|
@@ -548,7 +546,7 @@
|
|
|
548
546
|
* the edge. `app-shell` writes it for a content region that scrolls with
|
|
549
547
|
* the document. It is a composition value, not a design token.
|
|
550
548
|
*/
|
|
551
|
-
[data-ui
|
|
549
|
+
[data-ui-progress-indicator][data-part-root]:is(
|
|
552
550
|
[data-placement='edge-start'],
|
|
553
551
|
[data-placement='edge-end']
|
|
554
552
|
) {
|
|
@@ -560,16 +558,16 @@
|
|
|
560
558
|
position: var(--slotted-progress-indicator-position, absolute);
|
|
561
559
|
}
|
|
562
560
|
|
|
563
|
-
[data-ui
|
|
561
|
+
[data-ui-progress-indicator][data-part-root][data-placement='edge-start'] {
|
|
564
562
|
inset-block-start: 0;
|
|
565
563
|
}
|
|
566
564
|
|
|
567
|
-
[data-ui
|
|
565
|
+
[data-ui-progress-indicator][data-part-root][data-placement='edge-end'] {
|
|
568
566
|
inset-block-end: 0;
|
|
569
567
|
}
|
|
570
568
|
|
|
571
|
-
[data-ui
|
|
572
|
-
[data-part
|
|
569
|
+
[data-ui-progress-indicator]:is([data-placement='edge-start'], [data-placement='edge-end'])
|
|
570
|
+
[data-part-track]::after {
|
|
573
571
|
content: none;
|
|
574
572
|
}
|
|
575
573
|
|
|
@@ -596,7 +594,7 @@
|
|
|
596
594
|
* back into its edge rather than on the frame it is asked to. The theme
|
|
597
595
|
* collapses both steps under `prefers-reduced-motion`.
|
|
598
596
|
*/
|
|
599
|
-
[data-ui
|
|
597
|
+
[data-ui-progress-indicator][data-part-root]:is(
|
|
600
598
|
[data-placement='page'],
|
|
601
599
|
[data-placement='edge-start'],
|
|
602
600
|
[data-placement='edge-end']
|
|
@@ -616,11 +614,11 @@
|
|
|
616
614
|
}
|
|
617
615
|
}
|
|
618
616
|
|
|
619
|
-
[data-ui
|
|
617
|
+
[data-ui-progress-indicator][data-part-root][data-placement='edge-end'] {
|
|
620
618
|
--_withdrawn: inset(100% 0 0 0);
|
|
621
619
|
}
|
|
622
620
|
|
|
623
|
-
[data-ui
|
|
621
|
+
[data-ui-progress-indicator][data-part-root]:is(
|
|
624
622
|
[data-placement='page'],
|
|
625
623
|
[data-placement='edge-start'],
|
|
626
624
|
[data-placement='edge-end']
|
|
@@ -642,8 +640,8 @@
|
|
|
642
640
|
* centred in it would be four-pixel type. Ant Design and MUI both put it
|
|
643
641
|
* inside because both draw rings twice this size.
|
|
644
642
|
*/
|
|
645
|
-
[data-ui
|
|
646
|
-
[data-ui
|
|
643
|
+
[data-ui-progress-indicator][data-part-root][data-shape='circular'],
|
|
644
|
+
[data-ui-progress-indicator][data-part-root][data-shape='morph'] {
|
|
647
645
|
align-items: center;
|
|
648
646
|
column-gap: var(--_text-gap);
|
|
649
647
|
display: inline-flex;
|
|
@@ -657,7 +655,7 @@
|
|
|
657
655
|
* and this family's circle are the same object, and Button can stop drawing
|
|
658
656
|
* its own.
|
|
659
657
|
*/
|
|
660
|
-
[data-ui
|
|
658
|
+
[data-ui-progress-indicator][data-shape='circular'] svg {
|
|
661
659
|
--_stroke: var(--slotted-progress-indicator-stroke, 6);
|
|
662
660
|
|
|
663
661
|
block-size: var(--_size);
|
|
@@ -669,8 +667,8 @@
|
|
|
669
667
|
rotate: -90deg;
|
|
670
668
|
}
|
|
671
669
|
|
|
672
|
-
[data-ui
|
|
673
|
-
[data-ui
|
|
670
|
+
[data-ui-progress-indicator][data-shape='circular'] [data-part-track],
|
|
671
|
+
[data-ui-progress-indicator][data-shape='circular'] [data-part-indicator] {
|
|
674
672
|
fill: none;
|
|
675
673
|
stroke-linecap: round;
|
|
676
674
|
stroke-width: var(--_stroke);
|
|
@@ -680,7 +678,7 @@
|
|
|
680
678
|
it by a second smoothing. */
|
|
681
679
|
}
|
|
682
680
|
|
|
683
|
-
[data-ui
|
|
681
|
+
[data-ui-progress-indicator][data-shape='circular'] [data-part-indicator] {
|
|
684
682
|
stroke: var(--_ink);
|
|
685
683
|
stroke-dasharray: var(--_percent) 100;
|
|
686
684
|
/**
|
|
@@ -698,7 +696,7 @@
|
|
|
698
696
|
* path is four device pixels of a 44-pixel ring, which is the gap M3
|
|
699
697
|
* specifies for the bar.
|
|
700
698
|
*/
|
|
701
|
-
[data-ui
|
|
699
|
+
[data-ui-progress-indicator][data-shape='circular'] [data-part-track] {
|
|
702
700
|
/**
|
|
703
701
|
* Three and two tenths of the path is four device pixels of a 44-pixel
|
|
704
702
|
* ring, and it collapses to nothing at nought per cent by the same clamp
|
|
@@ -720,7 +718,7 @@
|
|
|
720
718
|
* travel, not the stated value.
|
|
721
719
|
*/
|
|
722
720
|
@container style(--slotted-progress-indicator-percent: 100) {
|
|
723
|
-
[data-ui
|
|
721
|
+
[data-ui-progress-indicator][data-shape='circular'] [data-part-track] {
|
|
724
722
|
stroke: transparent;
|
|
725
723
|
}
|
|
726
724
|
}
|
|
@@ -735,16 +733,15 @@
|
|
|
735
733
|
* do not divide into each other, so the sweep never repeats the same shape
|
|
736
734
|
* in the same orientation.
|
|
737
735
|
*/
|
|
738
|
-
[data-ui
|
|
736
|
+
[data-ui-progress-indicator][data-shape='circular'][data-indeterminate] [data-part-track] {
|
|
739
737
|
stroke: transparent;
|
|
740
738
|
}
|
|
741
739
|
|
|
742
|
-
[data-ui
|
|
740
|
+
[data-ui-progress-indicator][data-shape='circular'][data-indeterminate] svg {
|
|
743
741
|
animation: slotted-progress-indicator-turn var(--slotted-duration-loop) linear infinite;
|
|
744
742
|
}
|
|
745
743
|
|
|
746
|
-
[data-ui
|
|
747
|
-
[data-part='indicator'] {
|
|
744
|
+
[data-ui-progress-indicator][data-shape='circular'][data-indeterminate] [data-part-indicator] {
|
|
748
745
|
animation: slotted-progress-indicator-sweep var(--slotted-duration-loop-slow)
|
|
749
746
|
var(--slotted-easing-standard) infinite;
|
|
750
747
|
stroke-opacity: 1;
|
|
@@ -818,7 +815,7 @@
|
|
|
818
815
|
* at fast and slow loads, and the geometry below carries the sign once per
|
|
819
816
|
* shape.
|
|
820
817
|
*/
|
|
821
|
-
[data-ui
|
|
818
|
+
[data-ui-progress-indicator][data-part-root][data-wave] {
|
|
822
819
|
--slotted-progress-indicator-wave-amplitude: min(
|
|
823
820
|
clamp(0, calc((var(--_percent) - 6) / 10), 1),
|
|
824
821
|
clamp(0, calc((96 - var(--_percent)) / 12), 1)
|
|
@@ -832,7 +829,7 @@
|
|
|
832
829
|
* throughout, which is what M3 draws: `hasWavyEffect(isDeterminate)` is the
|
|
833
830
|
* flag that separates the two.
|
|
834
831
|
*/
|
|
835
|
-
[data-ui
|
|
832
|
+
[data-ui-progress-indicator][data-part-root][data-wave][data-indeterminate] {
|
|
836
833
|
--slotted-progress-indicator-wave-amplitude: 1;
|
|
837
834
|
}
|
|
838
835
|
|
|
@@ -862,12 +859,12 @@
|
|
|
862
859
|
* container the path measures itself against: `cqi` is how a dash stated in
|
|
863
860
|
* thicknesses learns how many thicknesses the track is.
|
|
864
861
|
*/
|
|
865
|
-
[data-ui
|
|
862
|
+
[data-ui-progress-indicator][data-shape='linear'][data-wave] [data-part-track] {
|
|
866
863
|
container-type: inline-size;
|
|
867
864
|
margin-block: calc(0.75 * var(--_thickness));
|
|
868
865
|
}
|
|
869
866
|
|
|
870
|
-
[data-ui
|
|
867
|
+
[data-ui-progress-indicator][data-shape='linear'][data-wave] [data-part-indicator] {
|
|
871
868
|
/** One wavelength, in thicknesses. */
|
|
872
869
|
--_wave-length: 10;
|
|
873
870
|
|
|
@@ -888,7 +885,7 @@
|
|
|
888
885
|
* anchored to the inline start, and its centre is the one point that stays
|
|
889
886
|
* inside the track.
|
|
890
887
|
*/
|
|
891
|
-
[data-ui
|
|
888
|
+
[data-ui-progress-indicator][data-shape='linear'][data-wave] [data-part-indicator]:dir(rtl) {
|
|
892
889
|
transform: scaleX(-1);
|
|
893
890
|
}
|
|
894
891
|
|
|
@@ -915,7 +912,7 @@
|
|
|
915
912
|
* one thickness, and at nought it is not painted at all, by the same clamp
|
|
916
913
|
* the ring uses on its own cap.
|
|
917
914
|
*/
|
|
918
|
-
[data-ui
|
|
915
|
+
[data-ui-progress-indicator][data-shape='linear'][data-wave] [data-part-indicator] path {
|
|
919
916
|
/** The track's length, in thicknesses: a ratio of two lengths, read as a number. */
|
|
920
917
|
--_track-units: tan(atan2(100cqi, var(--_thickness)));
|
|
921
918
|
--_window-start: 0;
|
|
@@ -941,8 +938,8 @@
|
|
|
941
938
|
* says at every moment of the fill's own transition. An indeterminate bar
|
|
942
939
|
* carries a different path and is left to the markup.
|
|
943
940
|
*/
|
|
944
|
-
[data-ui
|
|
945
|
-
[data-part
|
|
941
|
+
[data-ui-progress-indicator][data-shape='linear'][data-wave]:not([data-indeterminate])
|
|
942
|
+
[data-part-indicator]
|
|
946
943
|
path {
|
|
947
944
|
animation: slotted-progress-indicator-flatten-bar var(--_scrub) var(--_taper) both paused;
|
|
948
945
|
animation-delay: calc(
|
|
@@ -955,16 +952,16 @@
|
|
|
955
952
|
* is unknown — `IndeterminateActiveWaveWavelength` — so the markup carries
|
|
956
953
|
* the tighter path, and the window is the travelling bar's own two numbers.
|
|
957
954
|
*/
|
|
958
|
-
[data-ui
|
|
959
|
-
[data-part
|
|
955
|
+
[data-ui-progress-indicator][data-shape='linear'][data-wave][data-indeterminate]
|
|
956
|
+
[data-part-indicator] {
|
|
960
957
|
--_wave-length: 5;
|
|
961
958
|
|
|
962
959
|
animation: slotted-progress-indicator-travel var(--slotted-duration-loop-slow)
|
|
963
960
|
var(--slotted-easing-standard) infinite;
|
|
964
961
|
}
|
|
965
962
|
|
|
966
|
-
[data-ui
|
|
967
|
-
[data-part
|
|
963
|
+
[data-ui-progress-indicator][data-shape='linear'][data-wave][data-indeterminate]
|
|
964
|
+
[data-part-indicator]
|
|
968
965
|
path {
|
|
969
966
|
--_window-start: var(--slotted-progress-indicator-travel-start);
|
|
970
967
|
--_window-size: var(--slotted-progress-indicator-travel-size);
|
|
@@ -984,7 +981,7 @@
|
|
|
984
981
|
* wavy keeps its weight, and the crest may pass the viewBox by the tenth of
|
|
985
982
|
* a unit the stroke needs.
|
|
986
983
|
*/
|
|
987
|
-
[data-ui
|
|
984
|
+
[data-ui-progress-indicator][data-shape='circular'][data-wave] svg {
|
|
988
985
|
--_stroke: var(--slotted-progress-indicator-stroke, 5);
|
|
989
986
|
|
|
990
987
|
block-size: calc(1.2 * var(--_size));
|
|
@@ -1010,7 +1007,7 @@
|
|
|
1010
1007
|
* far end fell into the gap as the pattern shifted, and a full ring opened
|
|
1011
1008
|
* a hole at twelve o'clock.
|
|
1012
1009
|
*/
|
|
1013
|
-
[data-ui
|
|
1010
|
+
[data-ui-progress-indicator][data-shape='circular'][data-wave] [data-part-indicator] {
|
|
1014
1011
|
rotate: calc(-45deg * var(--slotted-progress-indicator-wave-phase));
|
|
1015
1012
|
stroke-dasharray: var(--_percent) calc(100 - var(--_percent));
|
|
1016
1013
|
stroke-dashoffset: calc(-12.5 * var(--slotted-progress-indicator-wave-phase));
|
|
@@ -1020,8 +1017,8 @@
|
|
|
1020
1017
|
transform-origin: 50% 50%;
|
|
1021
1018
|
}
|
|
1022
1019
|
|
|
1023
|
-
[data-ui
|
|
1024
|
-
[data-part
|
|
1020
|
+
[data-ui-progress-indicator][data-shape='circular'][data-wave]:not([data-indeterminate])
|
|
1021
|
+
[data-part-indicator] {
|
|
1025
1022
|
animation: slotted-progress-indicator-flatten-ring var(--_scrub) var(--_taper) both paused;
|
|
1026
1023
|
animation-delay: calc(
|
|
1027
1024
|
-1 * var(--_scrub) * (1 - var(--slotted-progress-indicator-wave-amplitude))
|
|
@@ -1046,7 +1043,7 @@
|
|
|
1046
1043
|
* each pair must share a command list, and `progress.test.ts` holds both
|
|
1047
1044
|
* copies to `@slotted/core/progress`.
|
|
1048
1045
|
*/
|
|
1049
|
-
[data-ui
|
|
1046
|
+
[data-ui-progress-indicator][data-part-root][data-wave] {
|
|
1050
1047
|
--_scrub: var(--slotted-duration-long);
|
|
1051
1048
|
--_taper: cubic-bezier(0.45, 0, 0.55, 1);
|
|
1052
1049
|
}
|
|
@@ -1090,7 +1087,7 @@
|
|
|
1090
1087
|
* never shows the same shape in the same orientation twice — which is what
|
|
1091
1088
|
* makes a five-second wait bearable to watch and a spinning ring not.
|
|
1092
1089
|
*/
|
|
1093
|
-
[data-ui
|
|
1090
|
+
[data-ui-progress-indicator][data-shape='morph'] [data-part-track] {
|
|
1094
1091
|
block-size: var(--_size);
|
|
1095
1092
|
border-radius: var(--slotted-radius-full, 9999px);
|
|
1096
1093
|
display: grid;
|
|
@@ -1106,7 +1103,7 @@
|
|
|
1106
1103
|
* pair the bar's own track holds and clears the 3:1 the loading indicator
|
|
1107
1104
|
* documentation asks for between a contained shape and its container.
|
|
1108
1105
|
*/
|
|
1109
|
-
[data-ui
|
|
1106
|
+
[data-ui-progress-indicator][data-shape='morph'][data-contained] [data-part-track] {
|
|
1110
1107
|
background-color: var(--_track-color);
|
|
1111
1108
|
}
|
|
1112
1109
|
|
|
@@ -1137,7 +1134,7 @@
|
|
|
1137
1134
|
* each target and settle. Both animations take it, at the same period and on
|
|
1138
1135
|
* the same keyframe boundaries, because in M3 they are one spring.
|
|
1139
1136
|
*/
|
|
1140
|
-
[data-ui
|
|
1137
|
+
[data-ui-progress-indicator][data-shape='morph'] [data-part-track] {
|
|
1141
1138
|
animation: slotted-progress-indicator-drift calc(2 * var(--slotted-duration-loop-slow)) linear
|
|
1142
1139
|
infinite;
|
|
1143
1140
|
}
|
|
@@ -1151,7 +1148,7 @@
|
|
|
1151
1148
|
* hurry, and a multiple of one inherits that where a fourth token would be a
|
|
1152
1149
|
* scale step added for a single family.
|
|
1153
1150
|
*/
|
|
1154
|
-
[data-ui
|
|
1151
|
+
[data-ui-progress-indicator][data-shape='morph'] [data-part-indicator] {
|
|
1155
1152
|
animation:
|
|
1156
1153
|
slotted-progress-indicator-morph calc(2 * var(--slotted-duration-loop-slow))
|
|
1157
1154
|
var(--slotted-easing-emphasized) infinite,
|
|
@@ -1177,7 +1174,7 @@
|
|
|
1177
1174
|
* pixels. `round()` is what states that, and it states it once for the three
|
|
1178
1175
|
* steps rather than as three numbers.
|
|
1179
1176
|
*/
|
|
1180
|
-
[data-ui
|
|
1177
|
+
[data-ui-progress-indicator][data-shape='morph'][data-contained] [data-part-indicator] {
|
|
1181
1178
|
--_shape: round(nearest, calc(0.79 * var(--_size)), 2px);
|
|
1182
1179
|
|
|
1183
1180
|
block-size: var(--_shape);
|
|
@@ -1469,10 +1466,10 @@
|
|
|
1469
1466
|
* `path` is left out: the wave's paths carry the paused ramp below, which
|
|
1470
1467
|
* is a value and survives.
|
|
1471
1468
|
*/
|
|
1472
|
-
[data-ui
|
|
1473
|
-
[data-ui
|
|
1474
|
-
[data-ui
|
|
1475
|
-
[data-ui
|
|
1469
|
+
[data-ui-progress-indicator][data-part-root],
|
|
1470
|
+
[data-ui-progress-indicator] [data-part-indicator]:not(path),
|
|
1471
|
+
[data-ui-progress-indicator] [data-part-track],
|
|
1472
|
+
[data-ui-progress-indicator] svg {
|
|
1476
1473
|
animation: none !important;
|
|
1477
1474
|
}
|
|
1478
1475
|
|
|
@@ -1482,8 +1479,7 @@
|
|
|
1482
1479
|
* than as a value: pinned to either end it would read as nought per cent
|
|
1483
1480
|
* or as a hundred, which is a number this indicator does not have.
|
|
1484
1481
|
*/
|
|
1485
|
-
[data-ui
|
|
1486
|
-
[data-part='indicator'] {
|
|
1482
|
+
[data-ui-progress-indicator][data-shape='linear'][data-indeterminate] [data-part-indicator] {
|
|
1487
1483
|
--slotted-progress-indicator-travel-size: 46;
|
|
1488
1484
|
--slotted-progress-indicator-travel-start: 27;
|
|
1489
1485
|
}
|
|
@@ -1493,8 +1489,7 @@
|
|
|
1493
1489
|
* is unmistakably a fraction of something rather than a full circle or an
|
|
1494
1490
|
* empty one.
|
|
1495
1491
|
*/
|
|
1496
|
-
[data-ui
|
|
1497
|
-
[data-part='indicator'] {
|
|
1492
|
+
[data-ui-progress-indicator][data-shape='circular'][data-indeterminate] [data-part-indicator] {
|
|
1498
1493
|
stroke-dasharray: 34 100;
|
|
1499
1494
|
}
|
|
1500
1495
|
|
|
@@ -1503,7 +1498,7 @@
|
|
|
1503
1498
|
* range survives, because it is a value rather than motion: a ring at four
|
|
1504
1499
|
* per cent is a circle whether or not anything moves.
|
|
1505
1500
|
*/
|
|
1506
|
-
[data-ui
|
|
1501
|
+
[data-ui-progress-indicator][data-part-root][data-wave] {
|
|
1507
1502
|
animation: none;
|
|
1508
1503
|
}
|
|
1509
1504
|
}
|
|
@@ -1525,14 +1520,14 @@
|
|
|
1525
1520
|
* with it, and a gap is a refinement rather than a meaning.
|
|
1526
1521
|
*/
|
|
1527
1522
|
@media (forced-colors: active) {
|
|
1528
|
-
[data-ui
|
|
1523
|
+
[data-ui-progress-indicator][data-shape='linear'] [data-part-track] {
|
|
1529
1524
|
background-color: Canvas;
|
|
1530
1525
|
outline: var(--slotted-border-width-thin, 1px) solid ButtonBorder;
|
|
1531
1526
|
outline-offset: calc(-1 * var(--slotted-border-width-thin, 1px));
|
|
1532
1527
|
}
|
|
1533
1528
|
|
|
1534
|
-
[data-ui
|
|
1535
|
-
[data-ui
|
|
1529
|
+
[data-ui-progress-indicator][data-shape='linear'] [data-part-track]::before,
|
|
1530
|
+
[data-ui-progress-indicator][data-shape='linear'] [data-part-track]::after {
|
|
1536
1531
|
content: none;
|
|
1537
1532
|
}
|
|
1538
1533
|
|
|
@@ -1541,13 +1536,13 @@
|
|
|
1541
1536
|
* draws its edge in a system colour, and an outline here would be a
|
|
1542
1537
|
* second line beside the first.
|
|
1543
1538
|
*/
|
|
1544
|
-
[data-ui
|
|
1545
|
-
[data-part
|
|
1539
|
+
[data-ui-progress-indicator]:is([data-placement='edge-start'], [data-placement='edge-end'])
|
|
1540
|
+
[data-part-track] {
|
|
1546
1541
|
background-color: transparent;
|
|
1547
1542
|
outline: none;
|
|
1548
1543
|
}
|
|
1549
1544
|
|
|
1550
|
-
[data-ui
|
|
1545
|
+
[data-ui-progress-indicator] [data-part-indicator] {
|
|
1551
1546
|
background-color: Highlight;
|
|
1552
1547
|
}
|
|
1553
1548
|
|
|
@@ -1556,20 +1551,20 @@
|
|
|
1556
1551
|
* way the ring does: the box behind it stays clear and the path takes
|
|
1557
1552
|
* the highlight.
|
|
1558
1553
|
*/
|
|
1559
|
-
[data-ui
|
|
1554
|
+
[data-ui-progress-indicator][data-shape='linear'][data-wave] [data-part-indicator] {
|
|
1560
1555
|
background-color: transparent;
|
|
1561
1556
|
}
|
|
1562
1557
|
|
|
1563
|
-
[data-ui
|
|
1558
|
+
[data-ui-progress-indicator][data-shape='linear'][data-wave] [data-part-indicator] path {
|
|
1564
1559
|
stroke: Highlight;
|
|
1565
1560
|
}
|
|
1566
1561
|
|
|
1567
|
-
[data-ui
|
|
1562
|
+
[data-ui-progress-indicator][data-shape='circular'] [data-part-indicator] {
|
|
1568
1563
|
background-color: transparent;
|
|
1569
1564
|
stroke: Highlight;
|
|
1570
1565
|
}
|
|
1571
1566
|
|
|
1572
|
-
[data-ui
|
|
1567
|
+
[data-ui-progress-indicator][data-shape='circular'] [data-part-track] {
|
|
1573
1568
|
stroke: ButtonBorder;
|
|
1574
1569
|
}
|
|
1575
1570
|
|
|
@@ -1578,7 +1573,7 @@
|
|
|
1578
1573
|
* loader exists — and loses the container behind it, which in a forced
|
|
1579
1574
|
* palette would be a `Canvas` disc on a `Canvas` page.
|
|
1580
1575
|
*/
|
|
1581
|
-
[data-ui
|
|
1576
|
+
[data-ui-progress-indicator][data-shape='morph'][data-contained] [data-part-track] {
|
|
1582
1577
|
background-color: Canvas;
|
|
1583
1578
|
}
|
|
1584
1579
|
}
|