@lilydesignsystem/themes 0.3.0 → 0.4.0
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/dist/abyss.css +80 -4
- package/dist/acid.css +80 -4
- package/dist/adobe-spectrum.css +80 -4
- package/dist/aqua.css +80 -4
- package/dist/autumn.css +80 -4
- package/dist/black.css +80 -4
- package/dist/bumblebee.css +80 -4
- package/dist/business.css +80 -4
- package/dist/caramellatte.css +80 -4
- package/dist/cmyk.css +80 -4
- package/dist/coffee.css +80 -4
- package/dist/corporate.css +80 -4
- package/dist/cupcake.css +80 -4
- package/dist/cyberpunk.css +80 -4
- package/dist/dark.css +80 -4
- package/dist/dim.css +80 -4
- package/dist/dracula.css +80 -4
- package/dist/emerald.css +80 -4
- package/dist/fantasy.css +80 -4
- package/dist/forest.css +80 -4
- package/dist/garden.css +80 -4
- package/dist/halloween.css +80 -4
- package/dist/lemonade.css +80 -4
- package/dist/light.css +80 -4
- package/dist/lofi.css +80 -4
- package/dist/luxury.css +80 -4
- package/dist/mozilla-protocol.css +80 -4
- package/dist/night.css +80 -4
- package/dist/nord.css +80 -4
- package/dist/pastel.css +80 -4
- package/dist/retro.css +80 -4
- package/dist/silk.css +80 -4
- package/dist/sunset.css +80 -4
- package/dist/synthwave.css +80 -4
- package/dist/united-kingdom-government-digital-service.css +80 -4
- package/dist/united-kingdom-national-health-service-england-for-patients.css +80 -4
- package/dist/united-kingdom-national-health-service-england-for-practitioners.css +80 -4
- package/dist/united-kingdom-national-health-service-scotland-for-patients.css +80 -4
- package/dist/united-kingdom-national-health-service-scotland-for-practitioners.css +80 -4
- package/dist/united-kingdom-national-health-service-wales-for-patients.css +80 -4
- package/dist/united-kingdom-national-health-service-wales-for-practitioners.css +80 -4
- package/dist/united-states-web-design-system.css +80 -4
- package/dist/valentine.css +80 -4
- package/dist/winter.css +80 -4
- package/dist/wireframe.css +80 -4
- package/package.json +1 -1
|
@@ -3035,6 +3035,7 @@
|
|
|
3035
3035
|
.locale-picker,
|
|
3036
3036
|
.text-size-picker,
|
|
3037
3037
|
.search-picker,
|
|
3038
|
+
.link-picker,
|
|
3038
3039
|
.share-picker,
|
|
3039
3040
|
.date-time-picker
|
|
3040
3041
|
) {
|
|
@@ -3047,6 +3048,7 @@
|
|
|
3047
3048
|
.locale-picker-button,
|
|
3048
3049
|
.text-size-picker-button,
|
|
3049
3050
|
.search-picker-button,
|
|
3051
|
+
.link-picker-button,
|
|
3050
3052
|
.share-picker-button,
|
|
3051
3053
|
.date-time-picker-button
|
|
3052
3054
|
) {
|
|
@@ -3082,6 +3084,7 @@
|
|
|
3082
3084
|
.locale-picker-icon,
|
|
3083
3085
|
.text-size-picker-icon,
|
|
3084
3086
|
.motion-picker-icon,
|
|
3087
|
+
.link-picker-icon,
|
|
3085
3088
|
.share-picker-icon,
|
|
3086
3089
|
.search-picker-icon
|
|
3087
3090
|
) {
|
|
@@ -3140,6 +3143,31 @@
|
|
|
3140
3143
|
background-color: var(--lily-surface-alt);
|
|
3141
3144
|
}
|
|
3142
3145
|
|
|
3146
|
+
/* link-picker's list holds real page links (a disclosure, not a menu),
|
|
3147
|
+
so its items get the share list's treatment; the current page is
|
|
3148
|
+
marked by aria-current and shown in bold. */
|
|
3149
|
+
:where(.link-picker-list) > :where(.link-picker-list-item) {
|
|
3150
|
+
list-style: none;
|
|
3151
|
+
}
|
|
3152
|
+
|
|
3153
|
+
:where(.link-picker-link) {
|
|
3154
|
+
display: block;
|
|
3155
|
+
padding: var(--lily-space-xs) var(--lily-space-sm);
|
|
3156
|
+
color: var(--lily-text);
|
|
3157
|
+
text-decoration: none;
|
|
3158
|
+
border-radius: var(--lily-radius-sm);
|
|
3159
|
+
cursor: pointer;
|
|
3160
|
+
}
|
|
3161
|
+
|
|
3162
|
+
:where(.link-picker-link:hover) {
|
|
3163
|
+
background-color: var(--lily-surface-alt);
|
|
3164
|
+
}
|
|
3165
|
+
|
|
3166
|
+
:where(.link-picker-link[aria-current="page"]) {
|
|
3167
|
+
font-weight: 600;
|
|
3168
|
+
background-color: var(--lily-surface-sunken);
|
|
3169
|
+
}
|
|
3170
|
+
|
|
3143
3171
|
/* Copy feedback. Never display:none this — that silences the live
|
|
3144
3172
|
region for screen-reader users. */
|
|
3145
3173
|
:where(.share-picker-status) {
|
|
@@ -3421,6 +3449,7 @@
|
|
|
3421
3449
|
.locale-picker-tooltip,
|
|
3422
3450
|
.text-size-picker-tooltip,
|
|
3423
3451
|
.motion-picker-tooltip,
|
|
3452
|
+
.link-picker-tooltip,
|
|
3424
3453
|
.share-picker-tooltip,
|
|
3425
3454
|
.search-picker-tooltip,
|
|
3426
3455
|
.date-time-picker-tooltip
|
|
@@ -3445,6 +3474,7 @@
|
|
|
3445
3474
|
.locale-picker-tooltip,
|
|
3446
3475
|
.text-size-picker-tooltip,
|
|
3447
3476
|
.motion-picker-tooltip,
|
|
3477
|
+
.link-picker-tooltip,
|
|
3448
3478
|
.share-picker-tooltip,
|
|
3449
3479
|
.search-picker-tooltip,
|
|
3450
3480
|
.date-time-picker-tooltip
|
|
@@ -3461,6 +3491,7 @@
|
|
|
3461
3491
|
.locale-picker-tooltip,
|
|
3462
3492
|
.text-size-picker-tooltip,
|
|
3463
3493
|
.motion-picker-tooltip,
|
|
3494
|
+
.link-picker-tooltip,
|
|
3464
3495
|
.share-picker-tooltip,
|
|
3465
3496
|
.search-picker-tooltip,
|
|
3466
3497
|
.date-time-picker-tooltip
|
|
@@ -3513,6 +3544,8 @@
|
|
|
3513
3544
|
.theme-picker-list,
|
|
3514
3545
|
.locale-picker-list,
|
|
3515
3546
|
.text-size-picker-list,
|
|
3547
|
+
.motion-picker-list,
|
|
3548
|
+
.link-picker-list,
|
|
3516
3549
|
.share-picker-list,
|
|
3517
3550
|
.search-picker-panel
|
|
3518
3551
|
) {
|
|
@@ -3538,17 +3571,60 @@
|
|
|
3538
3571
|
.theme-picker-list,
|
|
3539
3572
|
.locale-picker-list,
|
|
3540
3573
|
.text-size-picker-list,
|
|
3574
|
+
.motion-picker-list,
|
|
3575
|
+
.link-picker-list,
|
|
3541
3576
|
.share-picker-list,
|
|
3542
3577
|
.search-picker-panel
|
|
3543
3578
|
)[hidden] {
|
|
3544
3579
|
display: none;
|
|
3545
3580
|
}
|
|
3546
3581
|
|
|
3547
|
-
|
|
3582
|
+
/* Popups open under their button, aligned to its start edge, and flip to
|
|
3583
|
+
its end edge (or above it) when they would run off the viewport. A header
|
|
3584
|
+
picker near the right edge otherwise overflows, and focusing the popup
|
|
3585
|
+
scrolls the whole page sideways. `position: fixed` makes the viewport the
|
|
3586
|
+
containing block that the flip fallbacks are checked against; browsers
|
|
3587
|
+
without anchor positioning keep the absolute placement above. */
|
|
3588
|
+
@supports (position-area: block-end) {
|
|
3589
|
+
:where(.theme-picker) { anchor-name: --lily-theme-picker; }
|
|
3590
|
+
:where(.locale-picker) { anchor-name: --lily-locale-picker; }
|
|
3591
|
+
:where(.text-size-picker) { anchor-name: --lily-text-size-picker; }
|
|
3592
|
+
:where(.motion-picker) { anchor-name: --lily-motion-picker; }
|
|
3593
|
+
:where(.link-picker) { anchor-name: --lily-link-picker; }
|
|
3594
|
+
:where(.share-picker) { anchor-name: --lily-share-picker; }
|
|
3595
|
+
:where(.search-picker) { anchor-name: --lily-search-picker; }
|
|
3596
|
+
:where(.theme-picker-list) { position-anchor: --lily-theme-picker; }
|
|
3597
|
+
:where(.locale-picker-list) { position-anchor: --lily-locale-picker; }
|
|
3598
|
+
:where(.text-size-picker-list) { position-anchor: --lily-text-size-picker; }
|
|
3599
|
+
:where(.motion-picker-list) { position-anchor: --lily-motion-picker; }
|
|
3600
|
+
:where(.link-picker-list) { position-anchor: --lily-link-picker; }
|
|
3601
|
+
:where(.share-picker-list) { position-anchor: --lily-share-picker; }
|
|
3602
|
+
:where(.search-picker-panel) { position-anchor: --lily-search-picker; }
|
|
3603
|
+
:where(
|
|
3604
|
+
.theme-picker-list,
|
|
3605
|
+
.locale-picker-list,
|
|
3606
|
+
.text-size-picker-list,
|
|
3607
|
+
.motion-picker-list,
|
|
3608
|
+
.link-picker-list,
|
|
3609
|
+
.share-picker-list,
|
|
3610
|
+
.search-picker-panel
|
|
3611
|
+
) {
|
|
3612
|
+
position: fixed;
|
|
3613
|
+
inset: auto;
|
|
3614
|
+
position-area: block-end span-inline-end;
|
|
3615
|
+
position-try-fallbacks: flip-inline, flip-block, flip-block flip-inline;
|
|
3616
|
+
min-width: 0;
|
|
3617
|
+
width: max-content;
|
|
3618
|
+
max-width: calc(100vw - 1rem);
|
|
3619
|
+
}
|
|
3620
|
+
}
|
|
3621
|
+
|
|
3622
|
+
:where(.theme-picker-list, .locale-picker-list, .text-size-picker-list, .motion-picker-list)
|
|
3548
3623
|
> :where(
|
|
3549
3624
|
.theme-picker-option,
|
|
3550
3625
|
.locale-picker-option,
|
|
3551
|
-
.text-size-picker-option
|
|
3626
|
+
.text-size-picker-option,
|
|
3627
|
+
.motion-picker-option
|
|
3552
3628
|
) {
|
|
3553
3629
|
padding: var(--lily-space-xs) var(--lily-space-sm);
|
|
3554
3630
|
border-radius: var(--lily-radius-sm);
|
|
@@ -3557,7 +3633,7 @@
|
|
|
3557
3633
|
|
|
3558
3634
|
/* data-active is the keyboard cursor (aria-activedescendant); focus
|
|
3559
3635
|
stays on the listbox, so this is the only visible cue for it. */
|
|
3560
|
-
:where(.theme-picker-list, .locale-picker-list, .text-size-picker-list)
|
|
3636
|
+
:where(.theme-picker-list, .locale-picker-list, .text-size-picker-list, .motion-picker-list)
|
|
3561
3637
|
> :where([data-active]) {
|
|
3562
3638
|
background-color: var(--lily-surface-alt);
|
|
3563
3639
|
outline: var(--lily-focus-ring);
|
|
@@ -3566,7 +3642,7 @@
|
|
|
3566
3642
|
|
|
3567
3643
|
/* aria-selected marks the applied theme/locale, which is not the
|
|
3568
3644
|
same thing as the keyboard cursor. Both can be visible at once. */
|
|
3569
|
-
:where(.theme-picker-list, .locale-picker-list, .text-size-picker-list)
|
|
3645
|
+
:where(.theme-picker-list, .locale-picker-list, .text-size-picker-list, .motion-picker-list)
|
|
3570
3646
|
> :where([aria-selected="true"]) {
|
|
3571
3647
|
font-weight: 600;
|
|
3572
3648
|
background-color: var(--lily-surface-sunken);
|
|
@@ -2079,6 +2079,7 @@
|
|
|
2079
2079
|
.locale-picker,
|
|
2080
2080
|
.text-size-picker,
|
|
2081
2081
|
.search-picker,
|
|
2082
|
+
.link-picker,
|
|
2082
2083
|
.share-picker,
|
|
2083
2084
|
.date-time-picker
|
|
2084
2085
|
) {
|
|
@@ -2091,6 +2092,7 @@
|
|
|
2091
2092
|
.locale-picker-button,
|
|
2092
2093
|
.text-size-picker-button,
|
|
2093
2094
|
.search-picker-button,
|
|
2095
|
+
.link-picker-button,
|
|
2094
2096
|
.share-picker-button,
|
|
2095
2097
|
.date-time-picker-button
|
|
2096
2098
|
) {
|
|
@@ -2126,6 +2128,7 @@
|
|
|
2126
2128
|
.locale-picker-icon,
|
|
2127
2129
|
.text-size-picker-icon,
|
|
2128
2130
|
.motion-picker-icon,
|
|
2131
|
+
.link-picker-icon,
|
|
2129
2132
|
.share-picker-icon,
|
|
2130
2133
|
.search-picker-icon
|
|
2131
2134
|
) {
|
|
@@ -2184,6 +2187,31 @@
|
|
|
2184
2187
|
background-color: var(--lily-surface-alt);
|
|
2185
2188
|
}
|
|
2186
2189
|
|
|
2190
|
+
/* link-picker's list holds real page links (a disclosure, not a menu),
|
|
2191
|
+
so its items get the share list's treatment; the current page is
|
|
2192
|
+
marked by aria-current and shown in bold. */
|
|
2193
|
+
:where(.link-picker-list) > :where(.link-picker-list-item) {
|
|
2194
|
+
list-style: none;
|
|
2195
|
+
}
|
|
2196
|
+
|
|
2197
|
+
:where(.link-picker-link) {
|
|
2198
|
+
display: block;
|
|
2199
|
+
padding: var(--lily-space-xs) var(--lily-space-sm);
|
|
2200
|
+
color: var(--lily-text);
|
|
2201
|
+
text-decoration: none;
|
|
2202
|
+
border-radius: var(--lily-radius-sm);
|
|
2203
|
+
cursor: pointer;
|
|
2204
|
+
}
|
|
2205
|
+
|
|
2206
|
+
:where(.link-picker-link:hover) {
|
|
2207
|
+
background-color: var(--lily-surface-alt);
|
|
2208
|
+
}
|
|
2209
|
+
|
|
2210
|
+
:where(.link-picker-link[aria-current="page"]) {
|
|
2211
|
+
font-weight: 600;
|
|
2212
|
+
background-color: var(--lily-surface-sunken);
|
|
2213
|
+
}
|
|
2214
|
+
|
|
2187
2215
|
/* Copy feedback. Never display:none this — that silences the live
|
|
2188
2216
|
region for screen-reader users. */
|
|
2189
2217
|
:where(.share-picker-status) {
|
|
@@ -2465,6 +2493,7 @@
|
|
|
2465
2493
|
.locale-picker-tooltip,
|
|
2466
2494
|
.text-size-picker-tooltip,
|
|
2467
2495
|
.motion-picker-tooltip,
|
|
2496
|
+
.link-picker-tooltip,
|
|
2468
2497
|
.share-picker-tooltip,
|
|
2469
2498
|
.search-picker-tooltip,
|
|
2470
2499
|
.date-time-picker-tooltip
|
|
@@ -2489,6 +2518,7 @@
|
|
|
2489
2518
|
.locale-picker-tooltip,
|
|
2490
2519
|
.text-size-picker-tooltip,
|
|
2491
2520
|
.motion-picker-tooltip,
|
|
2521
|
+
.link-picker-tooltip,
|
|
2492
2522
|
.share-picker-tooltip,
|
|
2493
2523
|
.search-picker-tooltip,
|
|
2494
2524
|
.date-time-picker-tooltip
|
|
@@ -2505,6 +2535,7 @@
|
|
|
2505
2535
|
.locale-picker-tooltip,
|
|
2506
2536
|
.text-size-picker-tooltip,
|
|
2507
2537
|
.motion-picker-tooltip,
|
|
2538
|
+
.link-picker-tooltip,
|
|
2508
2539
|
.share-picker-tooltip,
|
|
2509
2540
|
.search-picker-tooltip,
|
|
2510
2541
|
.date-time-picker-tooltip
|
|
@@ -2557,6 +2588,8 @@
|
|
|
2557
2588
|
.theme-picker-list,
|
|
2558
2589
|
.locale-picker-list,
|
|
2559
2590
|
.text-size-picker-list,
|
|
2591
|
+
.motion-picker-list,
|
|
2592
|
+
.link-picker-list,
|
|
2560
2593
|
.share-picker-list,
|
|
2561
2594
|
.search-picker-panel
|
|
2562
2595
|
) {
|
|
@@ -2582,17 +2615,60 @@
|
|
|
2582
2615
|
.theme-picker-list,
|
|
2583
2616
|
.locale-picker-list,
|
|
2584
2617
|
.text-size-picker-list,
|
|
2618
|
+
.motion-picker-list,
|
|
2619
|
+
.link-picker-list,
|
|
2585
2620
|
.share-picker-list,
|
|
2586
2621
|
.search-picker-panel
|
|
2587
2622
|
)[hidden] {
|
|
2588
2623
|
display: none;
|
|
2589
2624
|
}
|
|
2590
2625
|
|
|
2591
|
-
|
|
2626
|
+
/* Popups open under their button, aligned to its start edge, and flip to
|
|
2627
|
+
its end edge (or above it) when they would run off the viewport. A header
|
|
2628
|
+
picker near the right edge otherwise overflows, and focusing the popup
|
|
2629
|
+
scrolls the whole page sideways. `position: fixed` makes the viewport the
|
|
2630
|
+
containing block that the flip fallbacks are checked against; browsers
|
|
2631
|
+
without anchor positioning keep the absolute placement above. */
|
|
2632
|
+
@supports (position-area: block-end) {
|
|
2633
|
+
:where(.theme-picker) { anchor-name: --lily-theme-picker; }
|
|
2634
|
+
:where(.locale-picker) { anchor-name: --lily-locale-picker; }
|
|
2635
|
+
:where(.text-size-picker) { anchor-name: --lily-text-size-picker; }
|
|
2636
|
+
:where(.motion-picker) { anchor-name: --lily-motion-picker; }
|
|
2637
|
+
:where(.link-picker) { anchor-name: --lily-link-picker; }
|
|
2638
|
+
:where(.share-picker) { anchor-name: --lily-share-picker; }
|
|
2639
|
+
:where(.search-picker) { anchor-name: --lily-search-picker; }
|
|
2640
|
+
:where(.theme-picker-list) { position-anchor: --lily-theme-picker; }
|
|
2641
|
+
:where(.locale-picker-list) { position-anchor: --lily-locale-picker; }
|
|
2642
|
+
:where(.text-size-picker-list) { position-anchor: --lily-text-size-picker; }
|
|
2643
|
+
:where(.motion-picker-list) { position-anchor: --lily-motion-picker; }
|
|
2644
|
+
:where(.link-picker-list) { position-anchor: --lily-link-picker; }
|
|
2645
|
+
:where(.share-picker-list) { position-anchor: --lily-share-picker; }
|
|
2646
|
+
:where(.search-picker-panel) { position-anchor: --lily-search-picker; }
|
|
2647
|
+
:where(
|
|
2648
|
+
.theme-picker-list,
|
|
2649
|
+
.locale-picker-list,
|
|
2650
|
+
.text-size-picker-list,
|
|
2651
|
+
.motion-picker-list,
|
|
2652
|
+
.link-picker-list,
|
|
2653
|
+
.share-picker-list,
|
|
2654
|
+
.search-picker-panel
|
|
2655
|
+
) {
|
|
2656
|
+
position: fixed;
|
|
2657
|
+
inset: auto;
|
|
2658
|
+
position-area: block-end span-inline-end;
|
|
2659
|
+
position-try-fallbacks: flip-inline, flip-block, flip-block flip-inline;
|
|
2660
|
+
min-width: 0;
|
|
2661
|
+
width: max-content;
|
|
2662
|
+
max-width: calc(100vw - 1rem);
|
|
2663
|
+
}
|
|
2664
|
+
}
|
|
2665
|
+
|
|
2666
|
+
:where(.theme-picker-list, .locale-picker-list, .text-size-picker-list, .motion-picker-list)
|
|
2592
2667
|
> :where(
|
|
2593
2668
|
.theme-picker-option,
|
|
2594
2669
|
.locale-picker-option,
|
|
2595
|
-
.text-size-picker-option
|
|
2670
|
+
.text-size-picker-option,
|
|
2671
|
+
.motion-picker-option
|
|
2596
2672
|
) {
|
|
2597
2673
|
padding: var(--lily-space-xs) var(--lily-space-sm);
|
|
2598
2674
|
border-radius: var(--lily-radius-sm);
|
|
@@ -2601,7 +2677,7 @@
|
|
|
2601
2677
|
|
|
2602
2678
|
/* data-active is the keyboard cursor (aria-activedescendant); focus
|
|
2603
2679
|
stays on the listbox, so this is the only visible cue for it. */
|
|
2604
|
-
:where(.theme-picker-list, .locale-picker-list, .text-size-picker-list)
|
|
2680
|
+
:where(.theme-picker-list, .locale-picker-list, .text-size-picker-list, .motion-picker-list)
|
|
2605
2681
|
> :where([data-active]) {
|
|
2606
2682
|
background-color: var(--lily-surface-alt);
|
|
2607
2683
|
outline: var(--lily-focus-ring);
|
|
@@ -2610,7 +2686,7 @@
|
|
|
2610
2686
|
|
|
2611
2687
|
/* aria-selected marks the applied theme/locale, which is not the
|
|
2612
2688
|
same thing as the keyboard cursor. Both can be visible at once. */
|
|
2613
|
-
:where(.theme-picker-list, .locale-picker-list, .text-size-picker-list)
|
|
2689
|
+
:where(.theme-picker-list, .locale-picker-list, .text-size-picker-list, .motion-picker-list)
|
|
2614
2690
|
> :where([aria-selected="true"]) {
|
|
2615
2691
|
font-weight: 600;
|
|
2616
2692
|
background-color: var(--lily-surface-sunken);
|
package/dist/valentine.css
CHANGED
|
@@ -2079,6 +2079,7 @@
|
|
|
2079
2079
|
.locale-picker,
|
|
2080
2080
|
.text-size-picker,
|
|
2081
2081
|
.search-picker,
|
|
2082
|
+
.link-picker,
|
|
2082
2083
|
.share-picker,
|
|
2083
2084
|
.date-time-picker
|
|
2084
2085
|
) {
|
|
@@ -2091,6 +2092,7 @@
|
|
|
2091
2092
|
.locale-picker-button,
|
|
2092
2093
|
.text-size-picker-button,
|
|
2093
2094
|
.search-picker-button,
|
|
2095
|
+
.link-picker-button,
|
|
2094
2096
|
.share-picker-button,
|
|
2095
2097
|
.date-time-picker-button
|
|
2096
2098
|
) {
|
|
@@ -2126,6 +2128,7 @@
|
|
|
2126
2128
|
.locale-picker-icon,
|
|
2127
2129
|
.text-size-picker-icon,
|
|
2128
2130
|
.motion-picker-icon,
|
|
2131
|
+
.link-picker-icon,
|
|
2129
2132
|
.share-picker-icon,
|
|
2130
2133
|
.search-picker-icon
|
|
2131
2134
|
) {
|
|
@@ -2184,6 +2187,31 @@
|
|
|
2184
2187
|
background-color: var(--lily-surface-alt);
|
|
2185
2188
|
}
|
|
2186
2189
|
|
|
2190
|
+
/* link-picker's list holds real page links (a disclosure, not a menu),
|
|
2191
|
+
so its items get the share list's treatment; the current page is
|
|
2192
|
+
marked by aria-current and shown in bold. */
|
|
2193
|
+
:where(.link-picker-list) > :where(.link-picker-list-item) {
|
|
2194
|
+
list-style: none;
|
|
2195
|
+
}
|
|
2196
|
+
|
|
2197
|
+
:where(.link-picker-link) {
|
|
2198
|
+
display: block;
|
|
2199
|
+
padding: var(--lily-space-xs) var(--lily-space-sm);
|
|
2200
|
+
color: var(--lily-text);
|
|
2201
|
+
text-decoration: none;
|
|
2202
|
+
border-radius: var(--lily-radius-sm);
|
|
2203
|
+
cursor: pointer;
|
|
2204
|
+
}
|
|
2205
|
+
|
|
2206
|
+
:where(.link-picker-link:hover) {
|
|
2207
|
+
background-color: var(--lily-surface-alt);
|
|
2208
|
+
}
|
|
2209
|
+
|
|
2210
|
+
:where(.link-picker-link[aria-current="page"]) {
|
|
2211
|
+
font-weight: 600;
|
|
2212
|
+
background-color: var(--lily-surface-sunken);
|
|
2213
|
+
}
|
|
2214
|
+
|
|
2187
2215
|
/* Copy feedback. Never display:none this — that silences the live
|
|
2188
2216
|
region for screen-reader users. */
|
|
2189
2217
|
:where(.share-picker-status) {
|
|
@@ -2465,6 +2493,7 @@
|
|
|
2465
2493
|
.locale-picker-tooltip,
|
|
2466
2494
|
.text-size-picker-tooltip,
|
|
2467
2495
|
.motion-picker-tooltip,
|
|
2496
|
+
.link-picker-tooltip,
|
|
2468
2497
|
.share-picker-tooltip,
|
|
2469
2498
|
.search-picker-tooltip,
|
|
2470
2499
|
.date-time-picker-tooltip
|
|
@@ -2489,6 +2518,7 @@
|
|
|
2489
2518
|
.locale-picker-tooltip,
|
|
2490
2519
|
.text-size-picker-tooltip,
|
|
2491
2520
|
.motion-picker-tooltip,
|
|
2521
|
+
.link-picker-tooltip,
|
|
2492
2522
|
.share-picker-tooltip,
|
|
2493
2523
|
.search-picker-tooltip,
|
|
2494
2524
|
.date-time-picker-tooltip
|
|
@@ -2505,6 +2535,7 @@
|
|
|
2505
2535
|
.locale-picker-tooltip,
|
|
2506
2536
|
.text-size-picker-tooltip,
|
|
2507
2537
|
.motion-picker-tooltip,
|
|
2538
|
+
.link-picker-tooltip,
|
|
2508
2539
|
.share-picker-tooltip,
|
|
2509
2540
|
.search-picker-tooltip,
|
|
2510
2541
|
.date-time-picker-tooltip
|
|
@@ -2557,6 +2588,8 @@
|
|
|
2557
2588
|
.theme-picker-list,
|
|
2558
2589
|
.locale-picker-list,
|
|
2559
2590
|
.text-size-picker-list,
|
|
2591
|
+
.motion-picker-list,
|
|
2592
|
+
.link-picker-list,
|
|
2560
2593
|
.share-picker-list,
|
|
2561
2594
|
.search-picker-panel
|
|
2562
2595
|
) {
|
|
@@ -2582,17 +2615,60 @@
|
|
|
2582
2615
|
.theme-picker-list,
|
|
2583
2616
|
.locale-picker-list,
|
|
2584
2617
|
.text-size-picker-list,
|
|
2618
|
+
.motion-picker-list,
|
|
2619
|
+
.link-picker-list,
|
|
2585
2620
|
.share-picker-list,
|
|
2586
2621
|
.search-picker-panel
|
|
2587
2622
|
)[hidden] {
|
|
2588
2623
|
display: none;
|
|
2589
2624
|
}
|
|
2590
2625
|
|
|
2591
|
-
|
|
2626
|
+
/* Popups open under their button, aligned to its start edge, and flip to
|
|
2627
|
+
its end edge (or above it) when they would run off the viewport. A header
|
|
2628
|
+
picker near the right edge otherwise overflows, and focusing the popup
|
|
2629
|
+
scrolls the whole page sideways. `position: fixed` makes the viewport the
|
|
2630
|
+
containing block that the flip fallbacks are checked against; browsers
|
|
2631
|
+
without anchor positioning keep the absolute placement above. */
|
|
2632
|
+
@supports (position-area: block-end) {
|
|
2633
|
+
:where(.theme-picker) { anchor-name: --lily-theme-picker; }
|
|
2634
|
+
:where(.locale-picker) { anchor-name: --lily-locale-picker; }
|
|
2635
|
+
:where(.text-size-picker) { anchor-name: --lily-text-size-picker; }
|
|
2636
|
+
:where(.motion-picker) { anchor-name: --lily-motion-picker; }
|
|
2637
|
+
:where(.link-picker) { anchor-name: --lily-link-picker; }
|
|
2638
|
+
:where(.share-picker) { anchor-name: --lily-share-picker; }
|
|
2639
|
+
:where(.search-picker) { anchor-name: --lily-search-picker; }
|
|
2640
|
+
:where(.theme-picker-list) { position-anchor: --lily-theme-picker; }
|
|
2641
|
+
:where(.locale-picker-list) { position-anchor: --lily-locale-picker; }
|
|
2642
|
+
:where(.text-size-picker-list) { position-anchor: --lily-text-size-picker; }
|
|
2643
|
+
:where(.motion-picker-list) { position-anchor: --lily-motion-picker; }
|
|
2644
|
+
:where(.link-picker-list) { position-anchor: --lily-link-picker; }
|
|
2645
|
+
:where(.share-picker-list) { position-anchor: --lily-share-picker; }
|
|
2646
|
+
:where(.search-picker-panel) { position-anchor: --lily-search-picker; }
|
|
2647
|
+
:where(
|
|
2648
|
+
.theme-picker-list,
|
|
2649
|
+
.locale-picker-list,
|
|
2650
|
+
.text-size-picker-list,
|
|
2651
|
+
.motion-picker-list,
|
|
2652
|
+
.link-picker-list,
|
|
2653
|
+
.share-picker-list,
|
|
2654
|
+
.search-picker-panel
|
|
2655
|
+
) {
|
|
2656
|
+
position: fixed;
|
|
2657
|
+
inset: auto;
|
|
2658
|
+
position-area: block-end span-inline-end;
|
|
2659
|
+
position-try-fallbacks: flip-inline, flip-block, flip-block flip-inline;
|
|
2660
|
+
min-width: 0;
|
|
2661
|
+
width: max-content;
|
|
2662
|
+
max-width: calc(100vw - 1rem);
|
|
2663
|
+
}
|
|
2664
|
+
}
|
|
2665
|
+
|
|
2666
|
+
:where(.theme-picker-list, .locale-picker-list, .text-size-picker-list, .motion-picker-list)
|
|
2592
2667
|
> :where(
|
|
2593
2668
|
.theme-picker-option,
|
|
2594
2669
|
.locale-picker-option,
|
|
2595
|
-
.text-size-picker-option
|
|
2670
|
+
.text-size-picker-option,
|
|
2671
|
+
.motion-picker-option
|
|
2596
2672
|
) {
|
|
2597
2673
|
padding: var(--lily-space-xs) var(--lily-space-sm);
|
|
2598
2674
|
border-radius: var(--lily-radius-sm);
|
|
@@ -2601,7 +2677,7 @@
|
|
|
2601
2677
|
|
|
2602
2678
|
/* data-active is the keyboard cursor (aria-activedescendant); focus
|
|
2603
2679
|
stays on the listbox, so this is the only visible cue for it. */
|
|
2604
|
-
:where(.theme-picker-list, .locale-picker-list, .text-size-picker-list)
|
|
2680
|
+
:where(.theme-picker-list, .locale-picker-list, .text-size-picker-list, .motion-picker-list)
|
|
2605
2681
|
> :where([data-active]) {
|
|
2606
2682
|
background-color: var(--lily-surface-alt);
|
|
2607
2683
|
outline: var(--lily-focus-ring);
|
|
@@ -2610,7 +2686,7 @@
|
|
|
2610
2686
|
|
|
2611
2687
|
/* aria-selected marks the applied theme/locale, which is not the
|
|
2612
2688
|
same thing as the keyboard cursor. Both can be visible at once. */
|
|
2613
|
-
:where(.theme-picker-list, .locale-picker-list, .text-size-picker-list)
|
|
2689
|
+
:where(.theme-picker-list, .locale-picker-list, .text-size-picker-list, .motion-picker-list)
|
|
2614
2690
|
> :where([aria-selected="true"]) {
|
|
2615
2691
|
font-weight: 600;
|
|
2616
2692
|
background-color: var(--lily-surface-sunken);
|
package/dist/winter.css
CHANGED
|
@@ -2079,6 +2079,7 @@
|
|
|
2079
2079
|
.locale-picker,
|
|
2080
2080
|
.text-size-picker,
|
|
2081
2081
|
.search-picker,
|
|
2082
|
+
.link-picker,
|
|
2082
2083
|
.share-picker,
|
|
2083
2084
|
.date-time-picker
|
|
2084
2085
|
) {
|
|
@@ -2091,6 +2092,7 @@
|
|
|
2091
2092
|
.locale-picker-button,
|
|
2092
2093
|
.text-size-picker-button,
|
|
2093
2094
|
.search-picker-button,
|
|
2095
|
+
.link-picker-button,
|
|
2094
2096
|
.share-picker-button,
|
|
2095
2097
|
.date-time-picker-button
|
|
2096
2098
|
) {
|
|
@@ -2126,6 +2128,7 @@
|
|
|
2126
2128
|
.locale-picker-icon,
|
|
2127
2129
|
.text-size-picker-icon,
|
|
2128
2130
|
.motion-picker-icon,
|
|
2131
|
+
.link-picker-icon,
|
|
2129
2132
|
.share-picker-icon,
|
|
2130
2133
|
.search-picker-icon
|
|
2131
2134
|
) {
|
|
@@ -2184,6 +2187,31 @@
|
|
|
2184
2187
|
background-color: var(--lily-surface-alt);
|
|
2185
2188
|
}
|
|
2186
2189
|
|
|
2190
|
+
/* link-picker's list holds real page links (a disclosure, not a menu),
|
|
2191
|
+
so its items get the share list's treatment; the current page is
|
|
2192
|
+
marked by aria-current and shown in bold. */
|
|
2193
|
+
:where(.link-picker-list) > :where(.link-picker-list-item) {
|
|
2194
|
+
list-style: none;
|
|
2195
|
+
}
|
|
2196
|
+
|
|
2197
|
+
:where(.link-picker-link) {
|
|
2198
|
+
display: block;
|
|
2199
|
+
padding: var(--lily-space-xs) var(--lily-space-sm);
|
|
2200
|
+
color: var(--lily-text);
|
|
2201
|
+
text-decoration: none;
|
|
2202
|
+
border-radius: var(--lily-radius-sm);
|
|
2203
|
+
cursor: pointer;
|
|
2204
|
+
}
|
|
2205
|
+
|
|
2206
|
+
:where(.link-picker-link:hover) {
|
|
2207
|
+
background-color: var(--lily-surface-alt);
|
|
2208
|
+
}
|
|
2209
|
+
|
|
2210
|
+
:where(.link-picker-link[aria-current="page"]) {
|
|
2211
|
+
font-weight: 600;
|
|
2212
|
+
background-color: var(--lily-surface-sunken);
|
|
2213
|
+
}
|
|
2214
|
+
|
|
2187
2215
|
/* Copy feedback. Never display:none this — that silences the live
|
|
2188
2216
|
region for screen-reader users. */
|
|
2189
2217
|
:where(.share-picker-status) {
|
|
@@ -2465,6 +2493,7 @@
|
|
|
2465
2493
|
.locale-picker-tooltip,
|
|
2466
2494
|
.text-size-picker-tooltip,
|
|
2467
2495
|
.motion-picker-tooltip,
|
|
2496
|
+
.link-picker-tooltip,
|
|
2468
2497
|
.share-picker-tooltip,
|
|
2469
2498
|
.search-picker-tooltip,
|
|
2470
2499
|
.date-time-picker-tooltip
|
|
@@ -2489,6 +2518,7 @@
|
|
|
2489
2518
|
.locale-picker-tooltip,
|
|
2490
2519
|
.text-size-picker-tooltip,
|
|
2491
2520
|
.motion-picker-tooltip,
|
|
2521
|
+
.link-picker-tooltip,
|
|
2492
2522
|
.share-picker-tooltip,
|
|
2493
2523
|
.search-picker-tooltip,
|
|
2494
2524
|
.date-time-picker-tooltip
|
|
@@ -2505,6 +2535,7 @@
|
|
|
2505
2535
|
.locale-picker-tooltip,
|
|
2506
2536
|
.text-size-picker-tooltip,
|
|
2507
2537
|
.motion-picker-tooltip,
|
|
2538
|
+
.link-picker-tooltip,
|
|
2508
2539
|
.share-picker-tooltip,
|
|
2509
2540
|
.search-picker-tooltip,
|
|
2510
2541
|
.date-time-picker-tooltip
|
|
@@ -2557,6 +2588,8 @@
|
|
|
2557
2588
|
.theme-picker-list,
|
|
2558
2589
|
.locale-picker-list,
|
|
2559
2590
|
.text-size-picker-list,
|
|
2591
|
+
.motion-picker-list,
|
|
2592
|
+
.link-picker-list,
|
|
2560
2593
|
.share-picker-list,
|
|
2561
2594
|
.search-picker-panel
|
|
2562
2595
|
) {
|
|
@@ -2582,17 +2615,60 @@
|
|
|
2582
2615
|
.theme-picker-list,
|
|
2583
2616
|
.locale-picker-list,
|
|
2584
2617
|
.text-size-picker-list,
|
|
2618
|
+
.motion-picker-list,
|
|
2619
|
+
.link-picker-list,
|
|
2585
2620
|
.share-picker-list,
|
|
2586
2621
|
.search-picker-panel
|
|
2587
2622
|
)[hidden] {
|
|
2588
2623
|
display: none;
|
|
2589
2624
|
}
|
|
2590
2625
|
|
|
2591
|
-
|
|
2626
|
+
/* Popups open under their button, aligned to its start edge, and flip to
|
|
2627
|
+
its end edge (or above it) when they would run off the viewport. A header
|
|
2628
|
+
picker near the right edge otherwise overflows, and focusing the popup
|
|
2629
|
+
scrolls the whole page sideways. `position: fixed` makes the viewport the
|
|
2630
|
+
containing block that the flip fallbacks are checked against; browsers
|
|
2631
|
+
without anchor positioning keep the absolute placement above. */
|
|
2632
|
+
@supports (position-area: block-end) {
|
|
2633
|
+
:where(.theme-picker) { anchor-name: --lily-theme-picker; }
|
|
2634
|
+
:where(.locale-picker) { anchor-name: --lily-locale-picker; }
|
|
2635
|
+
:where(.text-size-picker) { anchor-name: --lily-text-size-picker; }
|
|
2636
|
+
:where(.motion-picker) { anchor-name: --lily-motion-picker; }
|
|
2637
|
+
:where(.link-picker) { anchor-name: --lily-link-picker; }
|
|
2638
|
+
:where(.share-picker) { anchor-name: --lily-share-picker; }
|
|
2639
|
+
:where(.search-picker) { anchor-name: --lily-search-picker; }
|
|
2640
|
+
:where(.theme-picker-list) { position-anchor: --lily-theme-picker; }
|
|
2641
|
+
:where(.locale-picker-list) { position-anchor: --lily-locale-picker; }
|
|
2642
|
+
:where(.text-size-picker-list) { position-anchor: --lily-text-size-picker; }
|
|
2643
|
+
:where(.motion-picker-list) { position-anchor: --lily-motion-picker; }
|
|
2644
|
+
:where(.link-picker-list) { position-anchor: --lily-link-picker; }
|
|
2645
|
+
:where(.share-picker-list) { position-anchor: --lily-share-picker; }
|
|
2646
|
+
:where(.search-picker-panel) { position-anchor: --lily-search-picker; }
|
|
2647
|
+
:where(
|
|
2648
|
+
.theme-picker-list,
|
|
2649
|
+
.locale-picker-list,
|
|
2650
|
+
.text-size-picker-list,
|
|
2651
|
+
.motion-picker-list,
|
|
2652
|
+
.link-picker-list,
|
|
2653
|
+
.share-picker-list,
|
|
2654
|
+
.search-picker-panel
|
|
2655
|
+
) {
|
|
2656
|
+
position: fixed;
|
|
2657
|
+
inset: auto;
|
|
2658
|
+
position-area: block-end span-inline-end;
|
|
2659
|
+
position-try-fallbacks: flip-inline, flip-block, flip-block flip-inline;
|
|
2660
|
+
min-width: 0;
|
|
2661
|
+
width: max-content;
|
|
2662
|
+
max-width: calc(100vw - 1rem);
|
|
2663
|
+
}
|
|
2664
|
+
}
|
|
2665
|
+
|
|
2666
|
+
:where(.theme-picker-list, .locale-picker-list, .text-size-picker-list, .motion-picker-list)
|
|
2592
2667
|
> :where(
|
|
2593
2668
|
.theme-picker-option,
|
|
2594
2669
|
.locale-picker-option,
|
|
2595
|
-
.text-size-picker-option
|
|
2670
|
+
.text-size-picker-option,
|
|
2671
|
+
.motion-picker-option
|
|
2596
2672
|
) {
|
|
2597
2673
|
padding: var(--lily-space-xs) var(--lily-space-sm);
|
|
2598
2674
|
border-radius: var(--lily-radius-sm);
|
|
@@ -2601,7 +2677,7 @@
|
|
|
2601
2677
|
|
|
2602
2678
|
/* data-active is the keyboard cursor (aria-activedescendant); focus
|
|
2603
2679
|
stays on the listbox, so this is the only visible cue for it. */
|
|
2604
|
-
:where(.theme-picker-list, .locale-picker-list, .text-size-picker-list)
|
|
2680
|
+
:where(.theme-picker-list, .locale-picker-list, .text-size-picker-list, .motion-picker-list)
|
|
2605
2681
|
> :where([data-active]) {
|
|
2606
2682
|
background-color: var(--lily-surface-alt);
|
|
2607
2683
|
outline: var(--lily-focus-ring);
|
|
@@ -2610,7 +2686,7 @@
|
|
|
2610
2686
|
|
|
2611
2687
|
/* aria-selected marks the applied theme/locale, which is not the
|
|
2612
2688
|
same thing as the keyboard cursor. Both can be visible at once. */
|
|
2613
|
-
:where(.theme-picker-list, .locale-picker-list, .text-size-picker-list)
|
|
2689
|
+
:where(.theme-picker-list, .locale-picker-list, .text-size-picker-list, .motion-picker-list)
|
|
2614
2690
|
> :where([aria-selected="true"]) {
|
|
2615
2691
|
font-weight: 600;
|
|
2616
2692
|
background-color: var(--lily-surface-sunken);
|