@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
package/dist/sunset.css
CHANGED
|
@@ -2078,6 +2078,7 @@
|
|
|
2078
2078
|
.locale-picker,
|
|
2079
2079
|
.text-size-picker,
|
|
2080
2080
|
.search-picker,
|
|
2081
|
+
.link-picker,
|
|
2081
2082
|
.share-picker,
|
|
2082
2083
|
.date-time-picker
|
|
2083
2084
|
) {
|
|
@@ -2090,6 +2091,7 @@
|
|
|
2090
2091
|
.locale-picker-button,
|
|
2091
2092
|
.text-size-picker-button,
|
|
2092
2093
|
.search-picker-button,
|
|
2094
|
+
.link-picker-button,
|
|
2093
2095
|
.share-picker-button,
|
|
2094
2096
|
.date-time-picker-button
|
|
2095
2097
|
) {
|
|
@@ -2125,6 +2127,7 @@
|
|
|
2125
2127
|
.locale-picker-icon,
|
|
2126
2128
|
.text-size-picker-icon,
|
|
2127
2129
|
.motion-picker-icon,
|
|
2130
|
+
.link-picker-icon,
|
|
2128
2131
|
.share-picker-icon,
|
|
2129
2132
|
.search-picker-icon
|
|
2130
2133
|
) {
|
|
@@ -2183,6 +2186,31 @@
|
|
|
2183
2186
|
background-color: var(--lily-surface-alt);
|
|
2184
2187
|
}
|
|
2185
2188
|
|
|
2189
|
+
/* link-picker's list holds real page links (a disclosure, not a menu),
|
|
2190
|
+
so its items get the share list's treatment; the current page is
|
|
2191
|
+
marked by aria-current and shown in bold. */
|
|
2192
|
+
:where(.link-picker-list) > :where(.link-picker-list-item) {
|
|
2193
|
+
list-style: none;
|
|
2194
|
+
}
|
|
2195
|
+
|
|
2196
|
+
:where(.link-picker-link) {
|
|
2197
|
+
display: block;
|
|
2198
|
+
padding: var(--lily-space-xs) var(--lily-space-sm);
|
|
2199
|
+
color: var(--lily-text);
|
|
2200
|
+
text-decoration: none;
|
|
2201
|
+
border-radius: var(--lily-radius-sm);
|
|
2202
|
+
cursor: pointer;
|
|
2203
|
+
}
|
|
2204
|
+
|
|
2205
|
+
:where(.link-picker-link:hover) {
|
|
2206
|
+
background-color: var(--lily-surface-alt);
|
|
2207
|
+
}
|
|
2208
|
+
|
|
2209
|
+
:where(.link-picker-link[aria-current="page"]) {
|
|
2210
|
+
font-weight: 600;
|
|
2211
|
+
background-color: var(--lily-surface-sunken);
|
|
2212
|
+
}
|
|
2213
|
+
|
|
2186
2214
|
/* Copy feedback. Never display:none this — that silences the live
|
|
2187
2215
|
region for screen-reader users. */
|
|
2188
2216
|
:where(.share-picker-status) {
|
|
@@ -2464,6 +2492,7 @@
|
|
|
2464
2492
|
.locale-picker-tooltip,
|
|
2465
2493
|
.text-size-picker-tooltip,
|
|
2466
2494
|
.motion-picker-tooltip,
|
|
2495
|
+
.link-picker-tooltip,
|
|
2467
2496
|
.share-picker-tooltip,
|
|
2468
2497
|
.search-picker-tooltip,
|
|
2469
2498
|
.date-time-picker-tooltip
|
|
@@ -2488,6 +2517,7 @@
|
|
|
2488
2517
|
.locale-picker-tooltip,
|
|
2489
2518
|
.text-size-picker-tooltip,
|
|
2490
2519
|
.motion-picker-tooltip,
|
|
2520
|
+
.link-picker-tooltip,
|
|
2491
2521
|
.share-picker-tooltip,
|
|
2492
2522
|
.search-picker-tooltip,
|
|
2493
2523
|
.date-time-picker-tooltip
|
|
@@ -2504,6 +2534,7 @@
|
|
|
2504
2534
|
.locale-picker-tooltip,
|
|
2505
2535
|
.text-size-picker-tooltip,
|
|
2506
2536
|
.motion-picker-tooltip,
|
|
2537
|
+
.link-picker-tooltip,
|
|
2507
2538
|
.share-picker-tooltip,
|
|
2508
2539
|
.search-picker-tooltip,
|
|
2509
2540
|
.date-time-picker-tooltip
|
|
@@ -2556,6 +2587,8 @@
|
|
|
2556
2587
|
.theme-picker-list,
|
|
2557
2588
|
.locale-picker-list,
|
|
2558
2589
|
.text-size-picker-list,
|
|
2590
|
+
.motion-picker-list,
|
|
2591
|
+
.link-picker-list,
|
|
2559
2592
|
.share-picker-list,
|
|
2560
2593
|
.search-picker-panel
|
|
2561
2594
|
) {
|
|
@@ -2581,17 +2614,60 @@
|
|
|
2581
2614
|
.theme-picker-list,
|
|
2582
2615
|
.locale-picker-list,
|
|
2583
2616
|
.text-size-picker-list,
|
|
2617
|
+
.motion-picker-list,
|
|
2618
|
+
.link-picker-list,
|
|
2584
2619
|
.share-picker-list,
|
|
2585
2620
|
.search-picker-panel
|
|
2586
2621
|
)[hidden] {
|
|
2587
2622
|
display: none;
|
|
2588
2623
|
}
|
|
2589
2624
|
|
|
2590
|
-
|
|
2625
|
+
/* Popups open under their button, aligned to its start edge, and flip to
|
|
2626
|
+
its end edge (or above it) when they would run off the viewport. A header
|
|
2627
|
+
picker near the right edge otherwise overflows, and focusing the popup
|
|
2628
|
+
scrolls the whole page sideways. `position: fixed` makes the viewport the
|
|
2629
|
+
containing block that the flip fallbacks are checked against; browsers
|
|
2630
|
+
without anchor positioning keep the absolute placement above. */
|
|
2631
|
+
@supports (position-area: block-end) {
|
|
2632
|
+
:where(.theme-picker) { anchor-name: --lily-theme-picker; }
|
|
2633
|
+
:where(.locale-picker) { anchor-name: --lily-locale-picker; }
|
|
2634
|
+
:where(.text-size-picker) { anchor-name: --lily-text-size-picker; }
|
|
2635
|
+
:where(.motion-picker) { anchor-name: --lily-motion-picker; }
|
|
2636
|
+
:where(.link-picker) { anchor-name: --lily-link-picker; }
|
|
2637
|
+
:where(.share-picker) { anchor-name: --lily-share-picker; }
|
|
2638
|
+
:where(.search-picker) { anchor-name: --lily-search-picker; }
|
|
2639
|
+
:where(.theme-picker-list) { position-anchor: --lily-theme-picker; }
|
|
2640
|
+
:where(.locale-picker-list) { position-anchor: --lily-locale-picker; }
|
|
2641
|
+
:where(.text-size-picker-list) { position-anchor: --lily-text-size-picker; }
|
|
2642
|
+
:where(.motion-picker-list) { position-anchor: --lily-motion-picker; }
|
|
2643
|
+
:where(.link-picker-list) { position-anchor: --lily-link-picker; }
|
|
2644
|
+
:where(.share-picker-list) { position-anchor: --lily-share-picker; }
|
|
2645
|
+
:where(.search-picker-panel) { position-anchor: --lily-search-picker; }
|
|
2646
|
+
:where(
|
|
2647
|
+
.theme-picker-list,
|
|
2648
|
+
.locale-picker-list,
|
|
2649
|
+
.text-size-picker-list,
|
|
2650
|
+
.motion-picker-list,
|
|
2651
|
+
.link-picker-list,
|
|
2652
|
+
.share-picker-list,
|
|
2653
|
+
.search-picker-panel
|
|
2654
|
+
) {
|
|
2655
|
+
position: fixed;
|
|
2656
|
+
inset: auto;
|
|
2657
|
+
position-area: block-end span-inline-end;
|
|
2658
|
+
position-try-fallbacks: flip-inline, flip-block, flip-block flip-inline;
|
|
2659
|
+
min-width: 0;
|
|
2660
|
+
width: max-content;
|
|
2661
|
+
max-width: calc(100vw - 1rem);
|
|
2662
|
+
}
|
|
2663
|
+
}
|
|
2664
|
+
|
|
2665
|
+
:where(.theme-picker-list, .locale-picker-list, .text-size-picker-list, .motion-picker-list)
|
|
2591
2666
|
> :where(
|
|
2592
2667
|
.theme-picker-option,
|
|
2593
2668
|
.locale-picker-option,
|
|
2594
|
-
.text-size-picker-option
|
|
2669
|
+
.text-size-picker-option,
|
|
2670
|
+
.motion-picker-option
|
|
2595
2671
|
) {
|
|
2596
2672
|
padding: var(--lily-space-xs) var(--lily-space-sm);
|
|
2597
2673
|
border-radius: var(--lily-radius-sm);
|
|
@@ -2600,7 +2676,7 @@
|
|
|
2600
2676
|
|
|
2601
2677
|
/* data-active is the keyboard cursor (aria-activedescendant); focus
|
|
2602
2678
|
stays on the listbox, so this is the only visible cue for it. */
|
|
2603
|
-
:where(.theme-picker-list, .locale-picker-list, .text-size-picker-list)
|
|
2679
|
+
:where(.theme-picker-list, .locale-picker-list, .text-size-picker-list, .motion-picker-list)
|
|
2604
2680
|
> :where([data-active]) {
|
|
2605
2681
|
background-color: var(--lily-surface-alt);
|
|
2606
2682
|
outline: var(--lily-focus-ring);
|
|
@@ -2609,7 +2685,7 @@
|
|
|
2609
2685
|
|
|
2610
2686
|
/* aria-selected marks the applied theme/locale, which is not the
|
|
2611
2687
|
same thing as the keyboard cursor. Both can be visible at once. */
|
|
2612
|
-
:where(.theme-picker-list, .locale-picker-list, .text-size-picker-list)
|
|
2688
|
+
:where(.theme-picker-list, .locale-picker-list, .text-size-picker-list, .motion-picker-list)
|
|
2613
2689
|
> :where([aria-selected="true"]) {
|
|
2614
2690
|
font-weight: 600;
|
|
2615
2691
|
background-color: var(--lily-surface-sunken);
|
package/dist/synthwave.css
CHANGED
|
@@ -2078,6 +2078,7 @@
|
|
|
2078
2078
|
.locale-picker,
|
|
2079
2079
|
.text-size-picker,
|
|
2080
2080
|
.search-picker,
|
|
2081
|
+
.link-picker,
|
|
2081
2082
|
.share-picker,
|
|
2082
2083
|
.date-time-picker
|
|
2083
2084
|
) {
|
|
@@ -2090,6 +2091,7 @@
|
|
|
2090
2091
|
.locale-picker-button,
|
|
2091
2092
|
.text-size-picker-button,
|
|
2092
2093
|
.search-picker-button,
|
|
2094
|
+
.link-picker-button,
|
|
2093
2095
|
.share-picker-button,
|
|
2094
2096
|
.date-time-picker-button
|
|
2095
2097
|
) {
|
|
@@ -2125,6 +2127,7 @@
|
|
|
2125
2127
|
.locale-picker-icon,
|
|
2126
2128
|
.text-size-picker-icon,
|
|
2127
2129
|
.motion-picker-icon,
|
|
2130
|
+
.link-picker-icon,
|
|
2128
2131
|
.share-picker-icon,
|
|
2129
2132
|
.search-picker-icon
|
|
2130
2133
|
) {
|
|
@@ -2183,6 +2186,31 @@
|
|
|
2183
2186
|
background-color: var(--lily-surface-alt);
|
|
2184
2187
|
}
|
|
2185
2188
|
|
|
2189
|
+
/* link-picker's list holds real page links (a disclosure, not a menu),
|
|
2190
|
+
so its items get the share list's treatment; the current page is
|
|
2191
|
+
marked by aria-current and shown in bold. */
|
|
2192
|
+
:where(.link-picker-list) > :where(.link-picker-list-item) {
|
|
2193
|
+
list-style: none;
|
|
2194
|
+
}
|
|
2195
|
+
|
|
2196
|
+
:where(.link-picker-link) {
|
|
2197
|
+
display: block;
|
|
2198
|
+
padding: var(--lily-space-xs) var(--lily-space-sm);
|
|
2199
|
+
color: var(--lily-text);
|
|
2200
|
+
text-decoration: none;
|
|
2201
|
+
border-radius: var(--lily-radius-sm);
|
|
2202
|
+
cursor: pointer;
|
|
2203
|
+
}
|
|
2204
|
+
|
|
2205
|
+
:where(.link-picker-link:hover) {
|
|
2206
|
+
background-color: var(--lily-surface-alt);
|
|
2207
|
+
}
|
|
2208
|
+
|
|
2209
|
+
:where(.link-picker-link[aria-current="page"]) {
|
|
2210
|
+
font-weight: 600;
|
|
2211
|
+
background-color: var(--lily-surface-sunken);
|
|
2212
|
+
}
|
|
2213
|
+
|
|
2186
2214
|
/* Copy feedback. Never display:none this — that silences the live
|
|
2187
2215
|
region for screen-reader users. */
|
|
2188
2216
|
:where(.share-picker-status) {
|
|
@@ -2464,6 +2492,7 @@
|
|
|
2464
2492
|
.locale-picker-tooltip,
|
|
2465
2493
|
.text-size-picker-tooltip,
|
|
2466
2494
|
.motion-picker-tooltip,
|
|
2495
|
+
.link-picker-tooltip,
|
|
2467
2496
|
.share-picker-tooltip,
|
|
2468
2497
|
.search-picker-tooltip,
|
|
2469
2498
|
.date-time-picker-tooltip
|
|
@@ -2488,6 +2517,7 @@
|
|
|
2488
2517
|
.locale-picker-tooltip,
|
|
2489
2518
|
.text-size-picker-tooltip,
|
|
2490
2519
|
.motion-picker-tooltip,
|
|
2520
|
+
.link-picker-tooltip,
|
|
2491
2521
|
.share-picker-tooltip,
|
|
2492
2522
|
.search-picker-tooltip,
|
|
2493
2523
|
.date-time-picker-tooltip
|
|
@@ -2504,6 +2534,7 @@
|
|
|
2504
2534
|
.locale-picker-tooltip,
|
|
2505
2535
|
.text-size-picker-tooltip,
|
|
2506
2536
|
.motion-picker-tooltip,
|
|
2537
|
+
.link-picker-tooltip,
|
|
2507
2538
|
.share-picker-tooltip,
|
|
2508
2539
|
.search-picker-tooltip,
|
|
2509
2540
|
.date-time-picker-tooltip
|
|
@@ -2556,6 +2587,8 @@
|
|
|
2556
2587
|
.theme-picker-list,
|
|
2557
2588
|
.locale-picker-list,
|
|
2558
2589
|
.text-size-picker-list,
|
|
2590
|
+
.motion-picker-list,
|
|
2591
|
+
.link-picker-list,
|
|
2559
2592
|
.share-picker-list,
|
|
2560
2593
|
.search-picker-panel
|
|
2561
2594
|
) {
|
|
@@ -2581,17 +2614,60 @@
|
|
|
2581
2614
|
.theme-picker-list,
|
|
2582
2615
|
.locale-picker-list,
|
|
2583
2616
|
.text-size-picker-list,
|
|
2617
|
+
.motion-picker-list,
|
|
2618
|
+
.link-picker-list,
|
|
2584
2619
|
.share-picker-list,
|
|
2585
2620
|
.search-picker-panel
|
|
2586
2621
|
)[hidden] {
|
|
2587
2622
|
display: none;
|
|
2588
2623
|
}
|
|
2589
2624
|
|
|
2590
|
-
|
|
2625
|
+
/* Popups open under their button, aligned to its start edge, and flip to
|
|
2626
|
+
its end edge (or above it) when they would run off the viewport. A header
|
|
2627
|
+
picker near the right edge otherwise overflows, and focusing the popup
|
|
2628
|
+
scrolls the whole page sideways. `position: fixed` makes the viewport the
|
|
2629
|
+
containing block that the flip fallbacks are checked against; browsers
|
|
2630
|
+
without anchor positioning keep the absolute placement above. */
|
|
2631
|
+
@supports (position-area: block-end) {
|
|
2632
|
+
:where(.theme-picker) { anchor-name: --lily-theme-picker; }
|
|
2633
|
+
:where(.locale-picker) { anchor-name: --lily-locale-picker; }
|
|
2634
|
+
:where(.text-size-picker) { anchor-name: --lily-text-size-picker; }
|
|
2635
|
+
:where(.motion-picker) { anchor-name: --lily-motion-picker; }
|
|
2636
|
+
:where(.link-picker) { anchor-name: --lily-link-picker; }
|
|
2637
|
+
:where(.share-picker) { anchor-name: --lily-share-picker; }
|
|
2638
|
+
:where(.search-picker) { anchor-name: --lily-search-picker; }
|
|
2639
|
+
:where(.theme-picker-list) { position-anchor: --lily-theme-picker; }
|
|
2640
|
+
:where(.locale-picker-list) { position-anchor: --lily-locale-picker; }
|
|
2641
|
+
:where(.text-size-picker-list) { position-anchor: --lily-text-size-picker; }
|
|
2642
|
+
:where(.motion-picker-list) { position-anchor: --lily-motion-picker; }
|
|
2643
|
+
:where(.link-picker-list) { position-anchor: --lily-link-picker; }
|
|
2644
|
+
:where(.share-picker-list) { position-anchor: --lily-share-picker; }
|
|
2645
|
+
:where(.search-picker-panel) { position-anchor: --lily-search-picker; }
|
|
2646
|
+
:where(
|
|
2647
|
+
.theme-picker-list,
|
|
2648
|
+
.locale-picker-list,
|
|
2649
|
+
.text-size-picker-list,
|
|
2650
|
+
.motion-picker-list,
|
|
2651
|
+
.link-picker-list,
|
|
2652
|
+
.share-picker-list,
|
|
2653
|
+
.search-picker-panel
|
|
2654
|
+
) {
|
|
2655
|
+
position: fixed;
|
|
2656
|
+
inset: auto;
|
|
2657
|
+
position-area: block-end span-inline-end;
|
|
2658
|
+
position-try-fallbacks: flip-inline, flip-block, flip-block flip-inline;
|
|
2659
|
+
min-width: 0;
|
|
2660
|
+
width: max-content;
|
|
2661
|
+
max-width: calc(100vw - 1rem);
|
|
2662
|
+
}
|
|
2663
|
+
}
|
|
2664
|
+
|
|
2665
|
+
:where(.theme-picker-list, .locale-picker-list, .text-size-picker-list, .motion-picker-list)
|
|
2591
2666
|
> :where(
|
|
2592
2667
|
.theme-picker-option,
|
|
2593
2668
|
.locale-picker-option,
|
|
2594
|
-
.text-size-picker-option
|
|
2669
|
+
.text-size-picker-option,
|
|
2670
|
+
.motion-picker-option
|
|
2595
2671
|
) {
|
|
2596
2672
|
padding: var(--lily-space-xs) var(--lily-space-sm);
|
|
2597
2673
|
border-radius: var(--lily-radius-sm);
|
|
@@ -2600,7 +2676,7 @@
|
|
|
2600
2676
|
|
|
2601
2677
|
/* data-active is the keyboard cursor (aria-activedescendant); focus
|
|
2602
2678
|
stays on the listbox, so this is the only visible cue for it. */
|
|
2603
|
-
:where(.theme-picker-list, .locale-picker-list, .text-size-picker-list)
|
|
2679
|
+
:where(.theme-picker-list, .locale-picker-list, .text-size-picker-list, .motion-picker-list)
|
|
2604
2680
|
> :where([data-active]) {
|
|
2605
2681
|
background-color: var(--lily-surface-alt);
|
|
2606
2682
|
outline: var(--lily-focus-ring);
|
|
@@ -2609,7 +2685,7 @@
|
|
|
2609
2685
|
|
|
2610
2686
|
/* aria-selected marks the applied theme/locale, which is not the
|
|
2611
2687
|
same thing as the keyboard cursor. Both can be visible at once. */
|
|
2612
|
-
:where(.theme-picker-list, .locale-picker-list, .text-size-picker-list)
|
|
2688
|
+
:where(.theme-picker-list, .locale-picker-list, .text-size-picker-list, .motion-picker-list)
|
|
2613
2689
|
> :where([aria-selected="true"]) {
|
|
2614
2690
|
font-weight: 600;
|
|
2615
2691
|
background-color: var(--lily-surface-sunken);
|
|
@@ -2083,6 +2083,7 @@
|
|
|
2083
2083
|
.locale-picker,
|
|
2084
2084
|
.text-size-picker,
|
|
2085
2085
|
.search-picker,
|
|
2086
|
+
.link-picker,
|
|
2086
2087
|
.share-picker,
|
|
2087
2088
|
.date-time-picker
|
|
2088
2089
|
) {
|
|
@@ -2095,6 +2096,7 @@
|
|
|
2095
2096
|
.locale-picker-button,
|
|
2096
2097
|
.text-size-picker-button,
|
|
2097
2098
|
.search-picker-button,
|
|
2099
|
+
.link-picker-button,
|
|
2098
2100
|
.share-picker-button,
|
|
2099
2101
|
.date-time-picker-button
|
|
2100
2102
|
) {
|
|
@@ -2130,6 +2132,7 @@
|
|
|
2130
2132
|
.locale-picker-icon,
|
|
2131
2133
|
.text-size-picker-icon,
|
|
2132
2134
|
.motion-picker-icon,
|
|
2135
|
+
.link-picker-icon,
|
|
2133
2136
|
.share-picker-icon,
|
|
2134
2137
|
.search-picker-icon
|
|
2135
2138
|
) {
|
|
@@ -2188,6 +2191,31 @@
|
|
|
2188
2191
|
background-color: var(--lily-surface-alt);
|
|
2189
2192
|
}
|
|
2190
2193
|
|
|
2194
|
+
/* link-picker's list holds real page links (a disclosure, not a menu),
|
|
2195
|
+
so its items get the share list's treatment; the current page is
|
|
2196
|
+
marked by aria-current and shown in bold. */
|
|
2197
|
+
:where(.link-picker-list) > :where(.link-picker-list-item) {
|
|
2198
|
+
list-style: none;
|
|
2199
|
+
}
|
|
2200
|
+
|
|
2201
|
+
:where(.link-picker-link) {
|
|
2202
|
+
display: block;
|
|
2203
|
+
padding: var(--lily-space-xs) var(--lily-space-sm);
|
|
2204
|
+
color: var(--lily-text);
|
|
2205
|
+
text-decoration: none;
|
|
2206
|
+
border-radius: var(--lily-radius-sm);
|
|
2207
|
+
cursor: pointer;
|
|
2208
|
+
}
|
|
2209
|
+
|
|
2210
|
+
:where(.link-picker-link:hover) {
|
|
2211
|
+
background-color: var(--lily-surface-alt);
|
|
2212
|
+
}
|
|
2213
|
+
|
|
2214
|
+
:where(.link-picker-link[aria-current="page"]) {
|
|
2215
|
+
font-weight: 600;
|
|
2216
|
+
background-color: var(--lily-surface-sunken);
|
|
2217
|
+
}
|
|
2218
|
+
|
|
2191
2219
|
/* Copy feedback. Never display:none this — that silences the live
|
|
2192
2220
|
region for screen-reader users. */
|
|
2193
2221
|
:where(.share-picker-status) {
|
|
@@ -2469,6 +2497,7 @@
|
|
|
2469
2497
|
.locale-picker-tooltip,
|
|
2470
2498
|
.text-size-picker-tooltip,
|
|
2471
2499
|
.motion-picker-tooltip,
|
|
2500
|
+
.link-picker-tooltip,
|
|
2472
2501
|
.share-picker-tooltip,
|
|
2473
2502
|
.search-picker-tooltip,
|
|
2474
2503
|
.date-time-picker-tooltip
|
|
@@ -2493,6 +2522,7 @@
|
|
|
2493
2522
|
.locale-picker-tooltip,
|
|
2494
2523
|
.text-size-picker-tooltip,
|
|
2495
2524
|
.motion-picker-tooltip,
|
|
2525
|
+
.link-picker-tooltip,
|
|
2496
2526
|
.share-picker-tooltip,
|
|
2497
2527
|
.search-picker-tooltip,
|
|
2498
2528
|
.date-time-picker-tooltip
|
|
@@ -2509,6 +2539,7 @@
|
|
|
2509
2539
|
.locale-picker-tooltip,
|
|
2510
2540
|
.text-size-picker-tooltip,
|
|
2511
2541
|
.motion-picker-tooltip,
|
|
2542
|
+
.link-picker-tooltip,
|
|
2512
2543
|
.share-picker-tooltip,
|
|
2513
2544
|
.search-picker-tooltip,
|
|
2514
2545
|
.date-time-picker-tooltip
|
|
@@ -2561,6 +2592,8 @@
|
|
|
2561
2592
|
.theme-picker-list,
|
|
2562
2593
|
.locale-picker-list,
|
|
2563
2594
|
.text-size-picker-list,
|
|
2595
|
+
.motion-picker-list,
|
|
2596
|
+
.link-picker-list,
|
|
2564
2597
|
.share-picker-list,
|
|
2565
2598
|
.search-picker-panel
|
|
2566
2599
|
) {
|
|
@@ -2586,17 +2619,60 @@
|
|
|
2586
2619
|
.theme-picker-list,
|
|
2587
2620
|
.locale-picker-list,
|
|
2588
2621
|
.text-size-picker-list,
|
|
2622
|
+
.motion-picker-list,
|
|
2623
|
+
.link-picker-list,
|
|
2589
2624
|
.share-picker-list,
|
|
2590
2625
|
.search-picker-panel
|
|
2591
2626
|
)[hidden] {
|
|
2592
2627
|
display: none;
|
|
2593
2628
|
}
|
|
2594
2629
|
|
|
2595
|
-
|
|
2630
|
+
/* Popups open under their button, aligned to its start edge, and flip to
|
|
2631
|
+
its end edge (or above it) when they would run off the viewport. A header
|
|
2632
|
+
picker near the right edge otherwise overflows, and focusing the popup
|
|
2633
|
+
scrolls the whole page sideways. `position: fixed` makes the viewport the
|
|
2634
|
+
containing block that the flip fallbacks are checked against; browsers
|
|
2635
|
+
without anchor positioning keep the absolute placement above. */
|
|
2636
|
+
@supports (position-area: block-end) {
|
|
2637
|
+
:where(.theme-picker) { anchor-name: --lily-theme-picker; }
|
|
2638
|
+
:where(.locale-picker) { anchor-name: --lily-locale-picker; }
|
|
2639
|
+
:where(.text-size-picker) { anchor-name: --lily-text-size-picker; }
|
|
2640
|
+
:where(.motion-picker) { anchor-name: --lily-motion-picker; }
|
|
2641
|
+
:where(.link-picker) { anchor-name: --lily-link-picker; }
|
|
2642
|
+
:where(.share-picker) { anchor-name: --lily-share-picker; }
|
|
2643
|
+
:where(.search-picker) { anchor-name: --lily-search-picker; }
|
|
2644
|
+
:where(.theme-picker-list) { position-anchor: --lily-theme-picker; }
|
|
2645
|
+
:where(.locale-picker-list) { position-anchor: --lily-locale-picker; }
|
|
2646
|
+
:where(.text-size-picker-list) { position-anchor: --lily-text-size-picker; }
|
|
2647
|
+
:where(.motion-picker-list) { position-anchor: --lily-motion-picker; }
|
|
2648
|
+
:where(.link-picker-list) { position-anchor: --lily-link-picker; }
|
|
2649
|
+
:where(.share-picker-list) { position-anchor: --lily-share-picker; }
|
|
2650
|
+
:where(.search-picker-panel) { position-anchor: --lily-search-picker; }
|
|
2651
|
+
:where(
|
|
2652
|
+
.theme-picker-list,
|
|
2653
|
+
.locale-picker-list,
|
|
2654
|
+
.text-size-picker-list,
|
|
2655
|
+
.motion-picker-list,
|
|
2656
|
+
.link-picker-list,
|
|
2657
|
+
.share-picker-list,
|
|
2658
|
+
.search-picker-panel
|
|
2659
|
+
) {
|
|
2660
|
+
position: fixed;
|
|
2661
|
+
inset: auto;
|
|
2662
|
+
position-area: block-end span-inline-end;
|
|
2663
|
+
position-try-fallbacks: flip-inline, flip-block, flip-block flip-inline;
|
|
2664
|
+
min-width: 0;
|
|
2665
|
+
width: max-content;
|
|
2666
|
+
max-width: calc(100vw - 1rem);
|
|
2667
|
+
}
|
|
2668
|
+
}
|
|
2669
|
+
|
|
2670
|
+
:where(.theme-picker-list, .locale-picker-list, .text-size-picker-list, .motion-picker-list)
|
|
2596
2671
|
> :where(
|
|
2597
2672
|
.theme-picker-option,
|
|
2598
2673
|
.locale-picker-option,
|
|
2599
|
-
.text-size-picker-option
|
|
2674
|
+
.text-size-picker-option,
|
|
2675
|
+
.motion-picker-option
|
|
2600
2676
|
) {
|
|
2601
2677
|
padding: var(--lily-space-xs) var(--lily-space-sm);
|
|
2602
2678
|
border-radius: var(--lily-radius-sm);
|
|
@@ -2605,7 +2681,7 @@
|
|
|
2605
2681
|
|
|
2606
2682
|
/* data-active is the keyboard cursor (aria-activedescendant); focus
|
|
2607
2683
|
stays on the listbox, so this is the only visible cue for it. */
|
|
2608
|
-
:where(.theme-picker-list, .locale-picker-list, .text-size-picker-list)
|
|
2684
|
+
:where(.theme-picker-list, .locale-picker-list, .text-size-picker-list, .motion-picker-list)
|
|
2609
2685
|
> :where([data-active]) {
|
|
2610
2686
|
background-color: var(--lily-surface-alt);
|
|
2611
2687
|
outline: var(--lily-focus-ring);
|
|
@@ -2614,7 +2690,7 @@
|
|
|
2614
2690
|
|
|
2615
2691
|
/* aria-selected marks the applied theme/locale, which is not the
|
|
2616
2692
|
same thing as the keyboard cursor. Both can be visible at once. */
|
|
2617
|
-
:where(.theme-picker-list, .locale-picker-list, .text-size-picker-list)
|
|
2693
|
+
:where(.theme-picker-list, .locale-picker-list, .text-size-picker-list, .motion-picker-list)
|
|
2618
2694
|
> :where([aria-selected="true"]) {
|
|
2619
2695
|
font-weight: 600;
|
|
2620
2696
|
background-color: var(--lily-surface-sunken);
|
|
@@ -2119,6 +2119,7 @@
|
|
|
2119
2119
|
.locale-picker,
|
|
2120
2120
|
.text-size-picker,
|
|
2121
2121
|
.search-picker,
|
|
2122
|
+
.link-picker,
|
|
2122
2123
|
.share-picker,
|
|
2123
2124
|
.date-time-picker
|
|
2124
2125
|
) {
|
|
@@ -2131,6 +2132,7 @@
|
|
|
2131
2132
|
.locale-picker-button,
|
|
2132
2133
|
.text-size-picker-button,
|
|
2133
2134
|
.search-picker-button,
|
|
2135
|
+
.link-picker-button,
|
|
2134
2136
|
.share-picker-button,
|
|
2135
2137
|
.date-time-picker-button
|
|
2136
2138
|
) {
|
|
@@ -2166,6 +2168,7 @@
|
|
|
2166
2168
|
.locale-picker-icon,
|
|
2167
2169
|
.text-size-picker-icon,
|
|
2168
2170
|
.motion-picker-icon,
|
|
2171
|
+
.link-picker-icon,
|
|
2169
2172
|
.share-picker-icon,
|
|
2170
2173
|
.search-picker-icon
|
|
2171
2174
|
) {
|
|
@@ -2224,6 +2227,31 @@
|
|
|
2224
2227
|
background-color: var(--lily-surface-alt);
|
|
2225
2228
|
}
|
|
2226
2229
|
|
|
2230
|
+
/* link-picker's list holds real page links (a disclosure, not a menu),
|
|
2231
|
+
so its items get the share list's treatment; the current page is
|
|
2232
|
+
marked by aria-current and shown in bold. */
|
|
2233
|
+
:where(.link-picker-list) > :where(.link-picker-list-item) {
|
|
2234
|
+
list-style: none;
|
|
2235
|
+
}
|
|
2236
|
+
|
|
2237
|
+
:where(.link-picker-link) {
|
|
2238
|
+
display: block;
|
|
2239
|
+
padding: var(--lily-space-xs) var(--lily-space-sm);
|
|
2240
|
+
color: var(--lily-text);
|
|
2241
|
+
text-decoration: none;
|
|
2242
|
+
border-radius: var(--lily-radius-sm);
|
|
2243
|
+
cursor: pointer;
|
|
2244
|
+
}
|
|
2245
|
+
|
|
2246
|
+
:where(.link-picker-link:hover) {
|
|
2247
|
+
background-color: var(--lily-surface-alt);
|
|
2248
|
+
}
|
|
2249
|
+
|
|
2250
|
+
:where(.link-picker-link[aria-current="page"]) {
|
|
2251
|
+
font-weight: 600;
|
|
2252
|
+
background-color: var(--lily-surface-sunken);
|
|
2253
|
+
}
|
|
2254
|
+
|
|
2227
2255
|
/* Copy feedback. Never display:none this — that silences the live
|
|
2228
2256
|
region for screen-reader users. */
|
|
2229
2257
|
:where(.share-picker-status) {
|
|
@@ -2505,6 +2533,7 @@
|
|
|
2505
2533
|
.locale-picker-tooltip,
|
|
2506
2534
|
.text-size-picker-tooltip,
|
|
2507
2535
|
.motion-picker-tooltip,
|
|
2536
|
+
.link-picker-tooltip,
|
|
2508
2537
|
.share-picker-tooltip,
|
|
2509
2538
|
.search-picker-tooltip,
|
|
2510
2539
|
.date-time-picker-tooltip
|
|
@@ -2529,6 +2558,7 @@
|
|
|
2529
2558
|
.locale-picker-tooltip,
|
|
2530
2559
|
.text-size-picker-tooltip,
|
|
2531
2560
|
.motion-picker-tooltip,
|
|
2561
|
+
.link-picker-tooltip,
|
|
2532
2562
|
.share-picker-tooltip,
|
|
2533
2563
|
.search-picker-tooltip,
|
|
2534
2564
|
.date-time-picker-tooltip
|
|
@@ -2545,6 +2575,7 @@
|
|
|
2545
2575
|
.locale-picker-tooltip,
|
|
2546
2576
|
.text-size-picker-tooltip,
|
|
2547
2577
|
.motion-picker-tooltip,
|
|
2578
|
+
.link-picker-tooltip,
|
|
2548
2579
|
.share-picker-tooltip,
|
|
2549
2580
|
.search-picker-tooltip,
|
|
2550
2581
|
.date-time-picker-tooltip
|
|
@@ -2597,6 +2628,8 @@
|
|
|
2597
2628
|
.theme-picker-list,
|
|
2598
2629
|
.locale-picker-list,
|
|
2599
2630
|
.text-size-picker-list,
|
|
2631
|
+
.motion-picker-list,
|
|
2632
|
+
.link-picker-list,
|
|
2600
2633
|
.share-picker-list,
|
|
2601
2634
|
.search-picker-panel
|
|
2602
2635
|
) {
|
|
@@ -2622,17 +2655,60 @@
|
|
|
2622
2655
|
.theme-picker-list,
|
|
2623
2656
|
.locale-picker-list,
|
|
2624
2657
|
.text-size-picker-list,
|
|
2658
|
+
.motion-picker-list,
|
|
2659
|
+
.link-picker-list,
|
|
2625
2660
|
.share-picker-list,
|
|
2626
2661
|
.search-picker-panel
|
|
2627
2662
|
)[hidden] {
|
|
2628
2663
|
display: none;
|
|
2629
2664
|
}
|
|
2630
2665
|
|
|
2631
|
-
|
|
2666
|
+
/* Popups open under their button, aligned to its start edge, and flip to
|
|
2667
|
+
its end edge (or above it) when they would run off the viewport. A header
|
|
2668
|
+
picker near the right edge otherwise overflows, and focusing the popup
|
|
2669
|
+
scrolls the whole page sideways. `position: fixed` makes the viewport the
|
|
2670
|
+
containing block that the flip fallbacks are checked against; browsers
|
|
2671
|
+
without anchor positioning keep the absolute placement above. */
|
|
2672
|
+
@supports (position-area: block-end) {
|
|
2673
|
+
:where(.theme-picker) { anchor-name: --lily-theme-picker; }
|
|
2674
|
+
:where(.locale-picker) { anchor-name: --lily-locale-picker; }
|
|
2675
|
+
:where(.text-size-picker) { anchor-name: --lily-text-size-picker; }
|
|
2676
|
+
:where(.motion-picker) { anchor-name: --lily-motion-picker; }
|
|
2677
|
+
:where(.link-picker) { anchor-name: --lily-link-picker; }
|
|
2678
|
+
:where(.share-picker) { anchor-name: --lily-share-picker; }
|
|
2679
|
+
:where(.search-picker) { anchor-name: --lily-search-picker; }
|
|
2680
|
+
:where(.theme-picker-list) { position-anchor: --lily-theme-picker; }
|
|
2681
|
+
:where(.locale-picker-list) { position-anchor: --lily-locale-picker; }
|
|
2682
|
+
:where(.text-size-picker-list) { position-anchor: --lily-text-size-picker; }
|
|
2683
|
+
:where(.motion-picker-list) { position-anchor: --lily-motion-picker; }
|
|
2684
|
+
:where(.link-picker-list) { position-anchor: --lily-link-picker; }
|
|
2685
|
+
:where(.share-picker-list) { position-anchor: --lily-share-picker; }
|
|
2686
|
+
:where(.search-picker-panel) { position-anchor: --lily-search-picker; }
|
|
2687
|
+
:where(
|
|
2688
|
+
.theme-picker-list,
|
|
2689
|
+
.locale-picker-list,
|
|
2690
|
+
.text-size-picker-list,
|
|
2691
|
+
.motion-picker-list,
|
|
2692
|
+
.link-picker-list,
|
|
2693
|
+
.share-picker-list,
|
|
2694
|
+
.search-picker-panel
|
|
2695
|
+
) {
|
|
2696
|
+
position: fixed;
|
|
2697
|
+
inset: auto;
|
|
2698
|
+
position-area: block-end span-inline-end;
|
|
2699
|
+
position-try-fallbacks: flip-inline, flip-block, flip-block flip-inline;
|
|
2700
|
+
min-width: 0;
|
|
2701
|
+
width: max-content;
|
|
2702
|
+
max-width: calc(100vw - 1rem);
|
|
2703
|
+
}
|
|
2704
|
+
}
|
|
2705
|
+
|
|
2706
|
+
:where(.theme-picker-list, .locale-picker-list, .text-size-picker-list, .motion-picker-list)
|
|
2632
2707
|
> :where(
|
|
2633
2708
|
.theme-picker-option,
|
|
2634
2709
|
.locale-picker-option,
|
|
2635
|
-
.text-size-picker-option
|
|
2710
|
+
.text-size-picker-option,
|
|
2711
|
+
.motion-picker-option
|
|
2636
2712
|
) {
|
|
2637
2713
|
padding: var(--lily-space-xs) var(--lily-space-sm);
|
|
2638
2714
|
border-radius: var(--lily-radius-sm);
|
|
@@ -2641,7 +2717,7 @@
|
|
|
2641
2717
|
|
|
2642
2718
|
/* data-active is the keyboard cursor (aria-activedescendant); focus
|
|
2643
2719
|
stays on the listbox, so this is the only visible cue for it. */
|
|
2644
|
-
:where(.theme-picker-list, .locale-picker-list, .text-size-picker-list)
|
|
2720
|
+
:where(.theme-picker-list, .locale-picker-list, .text-size-picker-list, .motion-picker-list)
|
|
2645
2721
|
> :where([data-active]) {
|
|
2646
2722
|
background-color: var(--lily-surface-alt);
|
|
2647
2723
|
outline: var(--lily-focus-ring);
|
|
@@ -2650,7 +2726,7 @@
|
|
|
2650
2726
|
|
|
2651
2727
|
/* aria-selected marks the applied theme/locale, which is not the
|
|
2652
2728
|
same thing as the keyboard cursor. Both can be visible at once. */
|
|
2653
|
-
:where(.theme-picker-list, .locale-picker-list, .text-size-picker-list)
|
|
2729
|
+
:where(.theme-picker-list, .locale-picker-list, .text-size-picker-list, .motion-picker-list)
|
|
2654
2730
|
> :where([aria-selected="true"]) {
|
|
2655
2731
|
font-weight: 600;
|
|
2656
2732
|
background-color: var(--lily-surface-sunken);
|