@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
|
@@ -2210,6 +2210,7 @@
|
|
|
2210
2210
|
.locale-picker,
|
|
2211
2211
|
.text-size-picker,
|
|
2212
2212
|
.search-picker,
|
|
2213
|
+
.link-picker,
|
|
2213
2214
|
.share-picker,
|
|
2214
2215
|
.date-time-picker
|
|
2215
2216
|
) {
|
|
@@ -2222,6 +2223,7 @@
|
|
|
2222
2223
|
.locale-picker-button,
|
|
2223
2224
|
.text-size-picker-button,
|
|
2224
2225
|
.search-picker-button,
|
|
2226
|
+
.link-picker-button,
|
|
2225
2227
|
.share-picker-button,
|
|
2226
2228
|
.date-time-picker-button
|
|
2227
2229
|
) {
|
|
@@ -2257,6 +2259,7 @@
|
|
|
2257
2259
|
.locale-picker-icon,
|
|
2258
2260
|
.text-size-picker-icon,
|
|
2259
2261
|
.motion-picker-icon,
|
|
2262
|
+
.link-picker-icon,
|
|
2260
2263
|
.share-picker-icon,
|
|
2261
2264
|
.search-picker-icon
|
|
2262
2265
|
) {
|
|
@@ -2315,6 +2318,31 @@
|
|
|
2315
2318
|
background-color: var(--lily-surface-alt);
|
|
2316
2319
|
}
|
|
2317
2320
|
|
|
2321
|
+
/* link-picker's list holds real page links (a disclosure, not a menu),
|
|
2322
|
+
so its items get the share list's treatment; the current page is
|
|
2323
|
+
marked by aria-current and shown in bold. */
|
|
2324
|
+
:where(.link-picker-list) > :where(.link-picker-list-item) {
|
|
2325
|
+
list-style: none;
|
|
2326
|
+
}
|
|
2327
|
+
|
|
2328
|
+
:where(.link-picker-link) {
|
|
2329
|
+
display: block;
|
|
2330
|
+
padding: var(--lily-space-xs) var(--lily-space-sm);
|
|
2331
|
+
color: var(--lily-text);
|
|
2332
|
+
text-decoration: none;
|
|
2333
|
+
border-radius: var(--lily-radius-sm);
|
|
2334
|
+
cursor: pointer;
|
|
2335
|
+
}
|
|
2336
|
+
|
|
2337
|
+
:where(.link-picker-link:hover) {
|
|
2338
|
+
background-color: var(--lily-surface-alt);
|
|
2339
|
+
}
|
|
2340
|
+
|
|
2341
|
+
:where(.link-picker-link[aria-current="page"]) {
|
|
2342
|
+
font-weight: 600;
|
|
2343
|
+
background-color: var(--lily-surface-sunken);
|
|
2344
|
+
}
|
|
2345
|
+
|
|
2318
2346
|
/* Copy feedback. Never display:none this — that silences the live
|
|
2319
2347
|
region for screen-reader users. */
|
|
2320
2348
|
:where(.share-picker-status) {
|
|
@@ -2596,6 +2624,7 @@
|
|
|
2596
2624
|
.locale-picker-tooltip,
|
|
2597
2625
|
.text-size-picker-tooltip,
|
|
2598
2626
|
.motion-picker-tooltip,
|
|
2627
|
+
.link-picker-tooltip,
|
|
2599
2628
|
.share-picker-tooltip,
|
|
2600
2629
|
.search-picker-tooltip,
|
|
2601
2630
|
.date-time-picker-tooltip
|
|
@@ -2620,6 +2649,7 @@
|
|
|
2620
2649
|
.locale-picker-tooltip,
|
|
2621
2650
|
.text-size-picker-tooltip,
|
|
2622
2651
|
.motion-picker-tooltip,
|
|
2652
|
+
.link-picker-tooltip,
|
|
2623
2653
|
.share-picker-tooltip,
|
|
2624
2654
|
.search-picker-tooltip,
|
|
2625
2655
|
.date-time-picker-tooltip
|
|
@@ -2636,6 +2666,7 @@
|
|
|
2636
2666
|
.locale-picker-tooltip,
|
|
2637
2667
|
.text-size-picker-tooltip,
|
|
2638
2668
|
.motion-picker-tooltip,
|
|
2669
|
+
.link-picker-tooltip,
|
|
2639
2670
|
.share-picker-tooltip,
|
|
2640
2671
|
.search-picker-tooltip,
|
|
2641
2672
|
.date-time-picker-tooltip
|
|
@@ -2688,6 +2719,8 @@
|
|
|
2688
2719
|
.theme-picker-list,
|
|
2689
2720
|
.locale-picker-list,
|
|
2690
2721
|
.text-size-picker-list,
|
|
2722
|
+
.motion-picker-list,
|
|
2723
|
+
.link-picker-list,
|
|
2691
2724
|
.share-picker-list,
|
|
2692
2725
|
.search-picker-panel
|
|
2693
2726
|
) {
|
|
@@ -2713,17 +2746,60 @@
|
|
|
2713
2746
|
.theme-picker-list,
|
|
2714
2747
|
.locale-picker-list,
|
|
2715
2748
|
.text-size-picker-list,
|
|
2749
|
+
.motion-picker-list,
|
|
2750
|
+
.link-picker-list,
|
|
2716
2751
|
.share-picker-list,
|
|
2717
2752
|
.search-picker-panel
|
|
2718
2753
|
)[hidden] {
|
|
2719
2754
|
display: none;
|
|
2720
2755
|
}
|
|
2721
2756
|
|
|
2722
|
-
|
|
2757
|
+
/* Popups open under their button, aligned to its start edge, and flip to
|
|
2758
|
+
its end edge (or above it) when they would run off the viewport. A header
|
|
2759
|
+
picker near the right edge otherwise overflows, and focusing the popup
|
|
2760
|
+
scrolls the whole page sideways. `position: fixed` makes the viewport the
|
|
2761
|
+
containing block that the flip fallbacks are checked against; browsers
|
|
2762
|
+
without anchor positioning keep the absolute placement above. */
|
|
2763
|
+
@supports (position-area: block-end) {
|
|
2764
|
+
:where(.theme-picker) { anchor-name: --lily-theme-picker; }
|
|
2765
|
+
:where(.locale-picker) { anchor-name: --lily-locale-picker; }
|
|
2766
|
+
:where(.text-size-picker) { anchor-name: --lily-text-size-picker; }
|
|
2767
|
+
:where(.motion-picker) { anchor-name: --lily-motion-picker; }
|
|
2768
|
+
:where(.link-picker) { anchor-name: --lily-link-picker; }
|
|
2769
|
+
:where(.share-picker) { anchor-name: --lily-share-picker; }
|
|
2770
|
+
:where(.search-picker) { anchor-name: --lily-search-picker; }
|
|
2771
|
+
:where(.theme-picker-list) { position-anchor: --lily-theme-picker; }
|
|
2772
|
+
:where(.locale-picker-list) { position-anchor: --lily-locale-picker; }
|
|
2773
|
+
:where(.text-size-picker-list) { position-anchor: --lily-text-size-picker; }
|
|
2774
|
+
:where(.motion-picker-list) { position-anchor: --lily-motion-picker; }
|
|
2775
|
+
:where(.link-picker-list) { position-anchor: --lily-link-picker; }
|
|
2776
|
+
:where(.share-picker-list) { position-anchor: --lily-share-picker; }
|
|
2777
|
+
:where(.search-picker-panel) { position-anchor: --lily-search-picker; }
|
|
2778
|
+
:where(
|
|
2779
|
+
.theme-picker-list,
|
|
2780
|
+
.locale-picker-list,
|
|
2781
|
+
.text-size-picker-list,
|
|
2782
|
+
.motion-picker-list,
|
|
2783
|
+
.link-picker-list,
|
|
2784
|
+
.share-picker-list,
|
|
2785
|
+
.search-picker-panel
|
|
2786
|
+
) {
|
|
2787
|
+
position: fixed;
|
|
2788
|
+
inset: auto;
|
|
2789
|
+
position-area: block-end span-inline-end;
|
|
2790
|
+
position-try-fallbacks: flip-inline, flip-block, flip-block flip-inline;
|
|
2791
|
+
min-width: 0;
|
|
2792
|
+
width: max-content;
|
|
2793
|
+
max-width: calc(100vw - 1rem);
|
|
2794
|
+
}
|
|
2795
|
+
}
|
|
2796
|
+
|
|
2797
|
+
:where(.theme-picker-list, .locale-picker-list, .text-size-picker-list, .motion-picker-list)
|
|
2723
2798
|
> :where(
|
|
2724
2799
|
.theme-picker-option,
|
|
2725
2800
|
.locale-picker-option,
|
|
2726
|
-
.text-size-picker-option
|
|
2801
|
+
.text-size-picker-option,
|
|
2802
|
+
.motion-picker-option
|
|
2727
2803
|
) {
|
|
2728
2804
|
padding: var(--lily-space-xs) var(--lily-space-sm);
|
|
2729
2805
|
border-radius: var(--lily-radius-sm);
|
|
@@ -2732,7 +2808,7 @@
|
|
|
2732
2808
|
|
|
2733
2809
|
/* data-active is the keyboard cursor (aria-activedescendant); focus
|
|
2734
2810
|
stays on the listbox, so this is the only visible cue for it. */
|
|
2735
|
-
:where(.theme-picker-list, .locale-picker-list, .text-size-picker-list)
|
|
2811
|
+
:where(.theme-picker-list, .locale-picker-list, .text-size-picker-list, .motion-picker-list)
|
|
2736
2812
|
> :where([data-active]) {
|
|
2737
2813
|
background-color: var(--lily-surface-alt);
|
|
2738
2814
|
outline: var(--lily-focus-ring);
|
|
@@ -2741,7 +2817,7 @@
|
|
|
2741
2817
|
|
|
2742
2818
|
/* aria-selected marks the applied theme/locale, which is not the
|
|
2743
2819
|
same thing as the keyboard cursor. Both can be visible at once. */
|
|
2744
|
-
:where(.theme-picker-list, .locale-picker-list, .text-size-picker-list)
|
|
2820
|
+
:where(.theme-picker-list, .locale-picker-list, .text-size-picker-list, .motion-picker-list)
|
|
2745
2821
|
> :where([aria-selected="true"]) {
|
|
2746
2822
|
font-weight: 600;
|
|
2747
2823
|
background-color: var(--lily-surface-sunken);
|
|
@@ -2222,6 +2222,7 @@
|
|
|
2222
2222
|
.locale-picker,
|
|
2223
2223
|
.text-size-picker,
|
|
2224
2224
|
.search-picker,
|
|
2225
|
+
.link-picker,
|
|
2225
2226
|
.share-picker,
|
|
2226
2227
|
.date-time-picker
|
|
2227
2228
|
) {
|
|
@@ -2234,6 +2235,7 @@
|
|
|
2234
2235
|
.locale-picker-button,
|
|
2235
2236
|
.text-size-picker-button,
|
|
2236
2237
|
.search-picker-button,
|
|
2238
|
+
.link-picker-button,
|
|
2237
2239
|
.share-picker-button,
|
|
2238
2240
|
.date-time-picker-button
|
|
2239
2241
|
) {
|
|
@@ -2269,6 +2271,7 @@
|
|
|
2269
2271
|
.locale-picker-icon,
|
|
2270
2272
|
.text-size-picker-icon,
|
|
2271
2273
|
.motion-picker-icon,
|
|
2274
|
+
.link-picker-icon,
|
|
2272
2275
|
.share-picker-icon,
|
|
2273
2276
|
.search-picker-icon
|
|
2274
2277
|
) {
|
|
@@ -2327,6 +2330,31 @@
|
|
|
2327
2330
|
background-color: var(--lily-surface-alt);
|
|
2328
2331
|
}
|
|
2329
2332
|
|
|
2333
|
+
/* link-picker's list holds real page links (a disclosure, not a menu),
|
|
2334
|
+
so its items get the share list's treatment; the current page is
|
|
2335
|
+
marked by aria-current and shown in bold. */
|
|
2336
|
+
:where(.link-picker-list) > :where(.link-picker-list-item) {
|
|
2337
|
+
list-style: none;
|
|
2338
|
+
}
|
|
2339
|
+
|
|
2340
|
+
:where(.link-picker-link) {
|
|
2341
|
+
display: block;
|
|
2342
|
+
padding: var(--lily-space-xs) var(--lily-space-sm);
|
|
2343
|
+
color: var(--lily-text);
|
|
2344
|
+
text-decoration: none;
|
|
2345
|
+
border-radius: var(--lily-radius-sm);
|
|
2346
|
+
cursor: pointer;
|
|
2347
|
+
}
|
|
2348
|
+
|
|
2349
|
+
:where(.link-picker-link:hover) {
|
|
2350
|
+
background-color: var(--lily-surface-alt);
|
|
2351
|
+
}
|
|
2352
|
+
|
|
2353
|
+
:where(.link-picker-link[aria-current="page"]) {
|
|
2354
|
+
font-weight: 600;
|
|
2355
|
+
background-color: var(--lily-surface-sunken);
|
|
2356
|
+
}
|
|
2357
|
+
|
|
2330
2358
|
/* Copy feedback. Never display:none this — that silences the live
|
|
2331
2359
|
region for screen-reader users. */
|
|
2332
2360
|
:where(.share-picker-status) {
|
|
@@ -2608,6 +2636,7 @@
|
|
|
2608
2636
|
.locale-picker-tooltip,
|
|
2609
2637
|
.text-size-picker-tooltip,
|
|
2610
2638
|
.motion-picker-tooltip,
|
|
2639
|
+
.link-picker-tooltip,
|
|
2611
2640
|
.share-picker-tooltip,
|
|
2612
2641
|
.search-picker-tooltip,
|
|
2613
2642
|
.date-time-picker-tooltip
|
|
@@ -2632,6 +2661,7 @@
|
|
|
2632
2661
|
.locale-picker-tooltip,
|
|
2633
2662
|
.text-size-picker-tooltip,
|
|
2634
2663
|
.motion-picker-tooltip,
|
|
2664
|
+
.link-picker-tooltip,
|
|
2635
2665
|
.share-picker-tooltip,
|
|
2636
2666
|
.search-picker-tooltip,
|
|
2637
2667
|
.date-time-picker-tooltip
|
|
@@ -2648,6 +2678,7 @@
|
|
|
2648
2678
|
.locale-picker-tooltip,
|
|
2649
2679
|
.text-size-picker-tooltip,
|
|
2650
2680
|
.motion-picker-tooltip,
|
|
2681
|
+
.link-picker-tooltip,
|
|
2651
2682
|
.share-picker-tooltip,
|
|
2652
2683
|
.search-picker-tooltip,
|
|
2653
2684
|
.date-time-picker-tooltip
|
|
@@ -2700,6 +2731,8 @@
|
|
|
2700
2731
|
.theme-picker-list,
|
|
2701
2732
|
.locale-picker-list,
|
|
2702
2733
|
.text-size-picker-list,
|
|
2734
|
+
.motion-picker-list,
|
|
2735
|
+
.link-picker-list,
|
|
2703
2736
|
.share-picker-list,
|
|
2704
2737
|
.search-picker-panel
|
|
2705
2738
|
) {
|
|
@@ -2725,17 +2758,60 @@
|
|
|
2725
2758
|
.theme-picker-list,
|
|
2726
2759
|
.locale-picker-list,
|
|
2727
2760
|
.text-size-picker-list,
|
|
2761
|
+
.motion-picker-list,
|
|
2762
|
+
.link-picker-list,
|
|
2728
2763
|
.share-picker-list,
|
|
2729
2764
|
.search-picker-panel
|
|
2730
2765
|
)[hidden] {
|
|
2731
2766
|
display: none;
|
|
2732
2767
|
}
|
|
2733
2768
|
|
|
2734
|
-
|
|
2769
|
+
/* Popups open under their button, aligned to its start edge, and flip to
|
|
2770
|
+
its end edge (or above it) when they would run off the viewport. A header
|
|
2771
|
+
picker near the right edge otherwise overflows, and focusing the popup
|
|
2772
|
+
scrolls the whole page sideways. `position: fixed` makes the viewport the
|
|
2773
|
+
containing block that the flip fallbacks are checked against; browsers
|
|
2774
|
+
without anchor positioning keep the absolute placement above. */
|
|
2775
|
+
@supports (position-area: block-end) {
|
|
2776
|
+
:where(.theme-picker) { anchor-name: --lily-theme-picker; }
|
|
2777
|
+
:where(.locale-picker) { anchor-name: --lily-locale-picker; }
|
|
2778
|
+
:where(.text-size-picker) { anchor-name: --lily-text-size-picker; }
|
|
2779
|
+
:where(.motion-picker) { anchor-name: --lily-motion-picker; }
|
|
2780
|
+
:where(.link-picker) { anchor-name: --lily-link-picker; }
|
|
2781
|
+
:where(.share-picker) { anchor-name: --lily-share-picker; }
|
|
2782
|
+
:where(.search-picker) { anchor-name: --lily-search-picker; }
|
|
2783
|
+
:where(.theme-picker-list) { position-anchor: --lily-theme-picker; }
|
|
2784
|
+
:where(.locale-picker-list) { position-anchor: --lily-locale-picker; }
|
|
2785
|
+
:where(.text-size-picker-list) { position-anchor: --lily-text-size-picker; }
|
|
2786
|
+
:where(.motion-picker-list) { position-anchor: --lily-motion-picker; }
|
|
2787
|
+
:where(.link-picker-list) { position-anchor: --lily-link-picker; }
|
|
2788
|
+
:where(.share-picker-list) { position-anchor: --lily-share-picker; }
|
|
2789
|
+
:where(.search-picker-panel) { position-anchor: --lily-search-picker; }
|
|
2790
|
+
:where(
|
|
2791
|
+
.theme-picker-list,
|
|
2792
|
+
.locale-picker-list,
|
|
2793
|
+
.text-size-picker-list,
|
|
2794
|
+
.motion-picker-list,
|
|
2795
|
+
.link-picker-list,
|
|
2796
|
+
.share-picker-list,
|
|
2797
|
+
.search-picker-panel
|
|
2798
|
+
) {
|
|
2799
|
+
position: fixed;
|
|
2800
|
+
inset: auto;
|
|
2801
|
+
position-area: block-end span-inline-end;
|
|
2802
|
+
position-try-fallbacks: flip-inline, flip-block, flip-block flip-inline;
|
|
2803
|
+
min-width: 0;
|
|
2804
|
+
width: max-content;
|
|
2805
|
+
max-width: calc(100vw - 1rem);
|
|
2806
|
+
}
|
|
2807
|
+
}
|
|
2808
|
+
|
|
2809
|
+
:where(.theme-picker-list, .locale-picker-list, .text-size-picker-list, .motion-picker-list)
|
|
2735
2810
|
> :where(
|
|
2736
2811
|
.theme-picker-option,
|
|
2737
2812
|
.locale-picker-option,
|
|
2738
|
-
.text-size-picker-option
|
|
2813
|
+
.text-size-picker-option,
|
|
2814
|
+
.motion-picker-option
|
|
2739
2815
|
) {
|
|
2740
2816
|
padding: var(--lily-space-xs) var(--lily-space-sm);
|
|
2741
2817
|
border-radius: var(--lily-radius-sm);
|
|
@@ -2744,7 +2820,7 @@
|
|
|
2744
2820
|
|
|
2745
2821
|
/* data-active is the keyboard cursor (aria-activedescendant); focus
|
|
2746
2822
|
stays on the listbox, so this is the only visible cue for it. */
|
|
2747
|
-
:where(.theme-picker-list, .locale-picker-list, .text-size-picker-list)
|
|
2823
|
+
:where(.theme-picker-list, .locale-picker-list, .text-size-picker-list, .motion-picker-list)
|
|
2748
2824
|
> :where([data-active]) {
|
|
2749
2825
|
background-color: var(--lily-surface-alt);
|
|
2750
2826
|
outline: var(--lily-focus-ring);
|
|
@@ -2753,7 +2829,7 @@
|
|
|
2753
2829
|
|
|
2754
2830
|
/* aria-selected marks the applied theme/locale, which is not the
|
|
2755
2831
|
same thing as the keyboard cursor. Both can be visible at once. */
|
|
2756
|
-
:where(.theme-picker-list, .locale-picker-list, .text-size-picker-list)
|
|
2832
|
+
:where(.theme-picker-list, .locale-picker-list, .text-size-picker-list, .motion-picker-list)
|
|
2757
2833
|
> :where([aria-selected="true"]) {
|
|
2758
2834
|
font-weight: 600;
|
|
2759
2835
|
background-color: var(--lily-surface-sunken);
|
|
@@ -2306,6 +2306,7 @@
|
|
|
2306
2306
|
.locale-picker,
|
|
2307
2307
|
.text-size-picker,
|
|
2308
2308
|
.search-picker,
|
|
2309
|
+
.link-picker,
|
|
2309
2310
|
.share-picker,
|
|
2310
2311
|
.date-time-picker
|
|
2311
2312
|
) {
|
|
@@ -2318,6 +2319,7 @@
|
|
|
2318
2319
|
.locale-picker-button,
|
|
2319
2320
|
.text-size-picker-button,
|
|
2320
2321
|
.search-picker-button,
|
|
2322
|
+
.link-picker-button,
|
|
2321
2323
|
.share-picker-button,
|
|
2322
2324
|
.date-time-picker-button
|
|
2323
2325
|
) {
|
|
@@ -2353,6 +2355,7 @@
|
|
|
2353
2355
|
.locale-picker-icon,
|
|
2354
2356
|
.text-size-picker-icon,
|
|
2355
2357
|
.motion-picker-icon,
|
|
2358
|
+
.link-picker-icon,
|
|
2356
2359
|
.share-picker-icon,
|
|
2357
2360
|
.search-picker-icon
|
|
2358
2361
|
) {
|
|
@@ -2411,6 +2414,31 @@
|
|
|
2411
2414
|
background-color: var(--lily-surface-alt);
|
|
2412
2415
|
}
|
|
2413
2416
|
|
|
2417
|
+
/* link-picker's list holds real page links (a disclosure, not a menu),
|
|
2418
|
+
so its items get the share list's treatment; the current page is
|
|
2419
|
+
marked by aria-current and shown in bold. */
|
|
2420
|
+
:where(.link-picker-list) > :where(.link-picker-list-item) {
|
|
2421
|
+
list-style: none;
|
|
2422
|
+
}
|
|
2423
|
+
|
|
2424
|
+
:where(.link-picker-link) {
|
|
2425
|
+
display: block;
|
|
2426
|
+
padding: var(--lily-space-xs) var(--lily-space-sm);
|
|
2427
|
+
color: var(--lily-text);
|
|
2428
|
+
text-decoration: none;
|
|
2429
|
+
border-radius: var(--lily-radius-sm);
|
|
2430
|
+
cursor: pointer;
|
|
2431
|
+
}
|
|
2432
|
+
|
|
2433
|
+
:where(.link-picker-link:hover) {
|
|
2434
|
+
background-color: var(--lily-surface-alt);
|
|
2435
|
+
}
|
|
2436
|
+
|
|
2437
|
+
:where(.link-picker-link[aria-current="page"]) {
|
|
2438
|
+
font-weight: 600;
|
|
2439
|
+
background-color: var(--lily-surface-sunken);
|
|
2440
|
+
}
|
|
2441
|
+
|
|
2414
2442
|
/* Copy feedback. Never display:none this — that silences the live
|
|
2415
2443
|
region for screen-reader users. */
|
|
2416
2444
|
:where(.share-picker-status) {
|
|
@@ -2692,6 +2720,7 @@
|
|
|
2692
2720
|
.locale-picker-tooltip,
|
|
2693
2721
|
.text-size-picker-tooltip,
|
|
2694
2722
|
.motion-picker-tooltip,
|
|
2723
|
+
.link-picker-tooltip,
|
|
2695
2724
|
.share-picker-tooltip,
|
|
2696
2725
|
.search-picker-tooltip,
|
|
2697
2726
|
.date-time-picker-tooltip
|
|
@@ -2716,6 +2745,7 @@
|
|
|
2716
2745
|
.locale-picker-tooltip,
|
|
2717
2746
|
.text-size-picker-tooltip,
|
|
2718
2747
|
.motion-picker-tooltip,
|
|
2748
|
+
.link-picker-tooltip,
|
|
2719
2749
|
.share-picker-tooltip,
|
|
2720
2750
|
.search-picker-tooltip,
|
|
2721
2751
|
.date-time-picker-tooltip
|
|
@@ -2732,6 +2762,7 @@
|
|
|
2732
2762
|
.locale-picker-tooltip,
|
|
2733
2763
|
.text-size-picker-tooltip,
|
|
2734
2764
|
.motion-picker-tooltip,
|
|
2765
|
+
.link-picker-tooltip,
|
|
2735
2766
|
.share-picker-tooltip,
|
|
2736
2767
|
.search-picker-tooltip,
|
|
2737
2768
|
.date-time-picker-tooltip
|
|
@@ -2784,6 +2815,8 @@
|
|
|
2784
2815
|
.theme-picker-list,
|
|
2785
2816
|
.locale-picker-list,
|
|
2786
2817
|
.text-size-picker-list,
|
|
2818
|
+
.motion-picker-list,
|
|
2819
|
+
.link-picker-list,
|
|
2787
2820
|
.share-picker-list,
|
|
2788
2821
|
.search-picker-panel
|
|
2789
2822
|
) {
|
|
@@ -2809,17 +2842,60 @@
|
|
|
2809
2842
|
.theme-picker-list,
|
|
2810
2843
|
.locale-picker-list,
|
|
2811
2844
|
.text-size-picker-list,
|
|
2845
|
+
.motion-picker-list,
|
|
2846
|
+
.link-picker-list,
|
|
2812
2847
|
.share-picker-list,
|
|
2813
2848
|
.search-picker-panel
|
|
2814
2849
|
)[hidden] {
|
|
2815
2850
|
display: none;
|
|
2816
2851
|
}
|
|
2817
2852
|
|
|
2818
|
-
|
|
2853
|
+
/* Popups open under their button, aligned to its start edge, and flip to
|
|
2854
|
+
its end edge (or above it) when they would run off the viewport. A header
|
|
2855
|
+
picker near the right edge otherwise overflows, and focusing the popup
|
|
2856
|
+
scrolls the whole page sideways. `position: fixed` makes the viewport the
|
|
2857
|
+
containing block that the flip fallbacks are checked against; browsers
|
|
2858
|
+
without anchor positioning keep the absolute placement above. */
|
|
2859
|
+
@supports (position-area: block-end) {
|
|
2860
|
+
:where(.theme-picker) { anchor-name: --lily-theme-picker; }
|
|
2861
|
+
:where(.locale-picker) { anchor-name: --lily-locale-picker; }
|
|
2862
|
+
:where(.text-size-picker) { anchor-name: --lily-text-size-picker; }
|
|
2863
|
+
:where(.motion-picker) { anchor-name: --lily-motion-picker; }
|
|
2864
|
+
:where(.link-picker) { anchor-name: --lily-link-picker; }
|
|
2865
|
+
:where(.share-picker) { anchor-name: --lily-share-picker; }
|
|
2866
|
+
:where(.search-picker) { anchor-name: --lily-search-picker; }
|
|
2867
|
+
:where(.theme-picker-list) { position-anchor: --lily-theme-picker; }
|
|
2868
|
+
:where(.locale-picker-list) { position-anchor: --lily-locale-picker; }
|
|
2869
|
+
:where(.text-size-picker-list) { position-anchor: --lily-text-size-picker; }
|
|
2870
|
+
:where(.motion-picker-list) { position-anchor: --lily-motion-picker; }
|
|
2871
|
+
:where(.link-picker-list) { position-anchor: --lily-link-picker; }
|
|
2872
|
+
:where(.share-picker-list) { position-anchor: --lily-share-picker; }
|
|
2873
|
+
:where(.search-picker-panel) { position-anchor: --lily-search-picker; }
|
|
2874
|
+
:where(
|
|
2875
|
+
.theme-picker-list,
|
|
2876
|
+
.locale-picker-list,
|
|
2877
|
+
.text-size-picker-list,
|
|
2878
|
+
.motion-picker-list,
|
|
2879
|
+
.link-picker-list,
|
|
2880
|
+
.share-picker-list,
|
|
2881
|
+
.search-picker-panel
|
|
2882
|
+
) {
|
|
2883
|
+
position: fixed;
|
|
2884
|
+
inset: auto;
|
|
2885
|
+
position-area: block-end span-inline-end;
|
|
2886
|
+
position-try-fallbacks: flip-inline, flip-block, flip-block flip-inline;
|
|
2887
|
+
min-width: 0;
|
|
2888
|
+
width: max-content;
|
|
2889
|
+
max-width: calc(100vw - 1rem);
|
|
2890
|
+
}
|
|
2891
|
+
}
|
|
2892
|
+
|
|
2893
|
+
:where(.theme-picker-list, .locale-picker-list, .text-size-picker-list, .motion-picker-list)
|
|
2819
2894
|
> :where(
|
|
2820
2895
|
.theme-picker-option,
|
|
2821
2896
|
.locale-picker-option,
|
|
2822
|
-
.text-size-picker-option
|
|
2897
|
+
.text-size-picker-option,
|
|
2898
|
+
.motion-picker-option
|
|
2823
2899
|
) {
|
|
2824
2900
|
padding: var(--lily-space-xs) var(--lily-space-sm);
|
|
2825
2901
|
border-radius: var(--lily-radius-sm);
|
|
@@ -2828,7 +2904,7 @@
|
|
|
2828
2904
|
|
|
2829
2905
|
/* data-active is the keyboard cursor (aria-activedescendant); focus
|
|
2830
2906
|
stays on the listbox, so this is the only visible cue for it. */
|
|
2831
|
-
:where(.theme-picker-list, .locale-picker-list, .text-size-picker-list)
|
|
2907
|
+
:where(.theme-picker-list, .locale-picker-list, .text-size-picker-list, .motion-picker-list)
|
|
2832
2908
|
> :where([data-active]) {
|
|
2833
2909
|
background-color: var(--lily-surface-alt);
|
|
2834
2910
|
outline: var(--lily-focus-ring);
|
|
@@ -2837,7 +2913,7 @@
|
|
|
2837
2913
|
|
|
2838
2914
|
/* aria-selected marks the applied theme/locale, which is not the
|
|
2839
2915
|
same thing as the keyboard cursor. Both can be visible at once. */
|
|
2840
|
-
:where(.theme-picker-list, .locale-picker-list, .text-size-picker-list)
|
|
2916
|
+
:where(.theme-picker-list, .locale-picker-list, .text-size-picker-list, .motion-picker-list)
|
|
2841
2917
|
> :where([aria-selected="true"]) {
|
|
2842
2918
|
font-weight: 600;
|
|
2843
2919
|
background-color: var(--lily-surface-sunken);
|
|
@@ -2893,6 +2893,7 @@
|
|
|
2893
2893
|
.locale-picker,
|
|
2894
2894
|
.text-size-picker,
|
|
2895
2895
|
.search-picker,
|
|
2896
|
+
.link-picker,
|
|
2896
2897
|
.share-picker,
|
|
2897
2898
|
.date-time-picker
|
|
2898
2899
|
) {
|
|
@@ -2905,6 +2906,7 @@
|
|
|
2905
2906
|
.locale-picker-button,
|
|
2906
2907
|
.text-size-picker-button,
|
|
2907
2908
|
.search-picker-button,
|
|
2909
|
+
.link-picker-button,
|
|
2908
2910
|
.share-picker-button,
|
|
2909
2911
|
.date-time-picker-button
|
|
2910
2912
|
) {
|
|
@@ -2940,6 +2942,7 @@
|
|
|
2940
2942
|
.locale-picker-icon,
|
|
2941
2943
|
.text-size-picker-icon,
|
|
2942
2944
|
.motion-picker-icon,
|
|
2945
|
+
.link-picker-icon,
|
|
2943
2946
|
.share-picker-icon,
|
|
2944
2947
|
.search-picker-icon
|
|
2945
2948
|
) {
|
|
@@ -2998,6 +3001,31 @@
|
|
|
2998
3001
|
background-color: var(--lily-surface-alt);
|
|
2999
3002
|
}
|
|
3000
3003
|
|
|
3004
|
+
/* link-picker's list holds real page links (a disclosure, not a menu),
|
|
3005
|
+
so its items get the share list's treatment; the current page is
|
|
3006
|
+
marked by aria-current and shown in bold. */
|
|
3007
|
+
:where(.link-picker-list) > :where(.link-picker-list-item) {
|
|
3008
|
+
list-style: none;
|
|
3009
|
+
}
|
|
3010
|
+
|
|
3011
|
+
:where(.link-picker-link) {
|
|
3012
|
+
display: block;
|
|
3013
|
+
padding: var(--lily-space-xs) var(--lily-space-sm);
|
|
3014
|
+
color: var(--lily-text);
|
|
3015
|
+
text-decoration: none;
|
|
3016
|
+
border-radius: var(--lily-radius-sm);
|
|
3017
|
+
cursor: pointer;
|
|
3018
|
+
}
|
|
3019
|
+
|
|
3020
|
+
:where(.link-picker-link:hover) {
|
|
3021
|
+
background-color: var(--lily-surface-alt);
|
|
3022
|
+
}
|
|
3023
|
+
|
|
3024
|
+
:where(.link-picker-link[aria-current="page"]) {
|
|
3025
|
+
font-weight: 600;
|
|
3026
|
+
background-color: var(--lily-surface-sunken);
|
|
3027
|
+
}
|
|
3028
|
+
|
|
3001
3029
|
/* Copy feedback. Never display:none this — that silences the live
|
|
3002
3030
|
region for screen-reader users. */
|
|
3003
3031
|
:where(.share-picker-status) {
|
|
@@ -3279,6 +3307,7 @@
|
|
|
3279
3307
|
.locale-picker-tooltip,
|
|
3280
3308
|
.text-size-picker-tooltip,
|
|
3281
3309
|
.motion-picker-tooltip,
|
|
3310
|
+
.link-picker-tooltip,
|
|
3282
3311
|
.share-picker-tooltip,
|
|
3283
3312
|
.search-picker-tooltip,
|
|
3284
3313
|
.date-time-picker-tooltip
|
|
@@ -3303,6 +3332,7 @@
|
|
|
3303
3332
|
.locale-picker-tooltip,
|
|
3304
3333
|
.text-size-picker-tooltip,
|
|
3305
3334
|
.motion-picker-tooltip,
|
|
3335
|
+
.link-picker-tooltip,
|
|
3306
3336
|
.share-picker-tooltip,
|
|
3307
3337
|
.search-picker-tooltip,
|
|
3308
3338
|
.date-time-picker-tooltip
|
|
@@ -3319,6 +3349,7 @@
|
|
|
3319
3349
|
.locale-picker-tooltip,
|
|
3320
3350
|
.text-size-picker-tooltip,
|
|
3321
3351
|
.motion-picker-tooltip,
|
|
3352
|
+
.link-picker-tooltip,
|
|
3322
3353
|
.share-picker-tooltip,
|
|
3323
3354
|
.search-picker-tooltip,
|
|
3324
3355
|
.date-time-picker-tooltip
|
|
@@ -3371,6 +3402,8 @@
|
|
|
3371
3402
|
.theme-picker-list,
|
|
3372
3403
|
.locale-picker-list,
|
|
3373
3404
|
.text-size-picker-list,
|
|
3405
|
+
.motion-picker-list,
|
|
3406
|
+
.link-picker-list,
|
|
3374
3407
|
.share-picker-list,
|
|
3375
3408
|
.search-picker-panel
|
|
3376
3409
|
) {
|
|
@@ -3396,17 +3429,60 @@
|
|
|
3396
3429
|
.theme-picker-list,
|
|
3397
3430
|
.locale-picker-list,
|
|
3398
3431
|
.text-size-picker-list,
|
|
3432
|
+
.motion-picker-list,
|
|
3433
|
+
.link-picker-list,
|
|
3399
3434
|
.share-picker-list,
|
|
3400
3435
|
.search-picker-panel
|
|
3401
3436
|
)[hidden] {
|
|
3402
3437
|
display: none;
|
|
3403
3438
|
}
|
|
3404
3439
|
|
|
3405
|
-
|
|
3440
|
+
/* Popups open under their button, aligned to its start edge, and flip to
|
|
3441
|
+
its end edge (or above it) when they would run off the viewport. A header
|
|
3442
|
+
picker near the right edge otherwise overflows, and focusing the popup
|
|
3443
|
+
scrolls the whole page sideways. `position: fixed` makes the viewport the
|
|
3444
|
+
containing block that the flip fallbacks are checked against; browsers
|
|
3445
|
+
without anchor positioning keep the absolute placement above. */
|
|
3446
|
+
@supports (position-area: block-end) {
|
|
3447
|
+
:where(.theme-picker) { anchor-name: --lily-theme-picker; }
|
|
3448
|
+
:where(.locale-picker) { anchor-name: --lily-locale-picker; }
|
|
3449
|
+
:where(.text-size-picker) { anchor-name: --lily-text-size-picker; }
|
|
3450
|
+
:where(.motion-picker) { anchor-name: --lily-motion-picker; }
|
|
3451
|
+
:where(.link-picker) { anchor-name: --lily-link-picker; }
|
|
3452
|
+
:where(.share-picker) { anchor-name: --lily-share-picker; }
|
|
3453
|
+
:where(.search-picker) { anchor-name: --lily-search-picker; }
|
|
3454
|
+
:where(.theme-picker-list) { position-anchor: --lily-theme-picker; }
|
|
3455
|
+
:where(.locale-picker-list) { position-anchor: --lily-locale-picker; }
|
|
3456
|
+
:where(.text-size-picker-list) { position-anchor: --lily-text-size-picker; }
|
|
3457
|
+
:where(.motion-picker-list) { position-anchor: --lily-motion-picker; }
|
|
3458
|
+
:where(.link-picker-list) { position-anchor: --lily-link-picker; }
|
|
3459
|
+
:where(.share-picker-list) { position-anchor: --lily-share-picker; }
|
|
3460
|
+
:where(.search-picker-panel) { position-anchor: --lily-search-picker; }
|
|
3461
|
+
:where(
|
|
3462
|
+
.theme-picker-list,
|
|
3463
|
+
.locale-picker-list,
|
|
3464
|
+
.text-size-picker-list,
|
|
3465
|
+
.motion-picker-list,
|
|
3466
|
+
.link-picker-list,
|
|
3467
|
+
.share-picker-list,
|
|
3468
|
+
.search-picker-panel
|
|
3469
|
+
) {
|
|
3470
|
+
position: fixed;
|
|
3471
|
+
inset: auto;
|
|
3472
|
+
position-area: block-end span-inline-end;
|
|
3473
|
+
position-try-fallbacks: flip-inline, flip-block, flip-block flip-inline;
|
|
3474
|
+
min-width: 0;
|
|
3475
|
+
width: max-content;
|
|
3476
|
+
max-width: calc(100vw - 1rem);
|
|
3477
|
+
}
|
|
3478
|
+
}
|
|
3479
|
+
|
|
3480
|
+
:where(.theme-picker-list, .locale-picker-list, .text-size-picker-list, .motion-picker-list)
|
|
3406
3481
|
> :where(
|
|
3407
3482
|
.theme-picker-option,
|
|
3408
3483
|
.locale-picker-option,
|
|
3409
|
-
.text-size-picker-option
|
|
3484
|
+
.text-size-picker-option,
|
|
3485
|
+
.motion-picker-option
|
|
3410
3486
|
) {
|
|
3411
3487
|
padding: var(--lily-space-xs) var(--lily-space-sm);
|
|
3412
3488
|
border-radius: var(--lily-radius-sm);
|
|
@@ -3415,7 +3491,7 @@
|
|
|
3415
3491
|
|
|
3416
3492
|
/* data-active is the keyboard cursor (aria-activedescendant); focus
|
|
3417
3493
|
stays on the listbox, so this is the only visible cue for it. */
|
|
3418
|
-
:where(.theme-picker-list, .locale-picker-list, .text-size-picker-list)
|
|
3494
|
+
:where(.theme-picker-list, .locale-picker-list, .text-size-picker-list, .motion-picker-list)
|
|
3419
3495
|
> :where([data-active]) {
|
|
3420
3496
|
background-color: var(--lily-surface-alt);
|
|
3421
3497
|
outline: var(--lily-focus-ring);
|
|
@@ -3424,7 +3500,7 @@
|
|
|
3424
3500
|
|
|
3425
3501
|
/* aria-selected marks the applied theme/locale, which is not the
|
|
3426
3502
|
same thing as the keyboard cursor. Both can be visible at once. */
|
|
3427
|
-
:where(.theme-picker-list, .locale-picker-list, .text-size-picker-list)
|
|
3503
|
+
:where(.theme-picker-list, .locale-picker-list, .text-size-picker-list, .motion-picker-list)
|
|
3428
3504
|
> :where([aria-selected="true"]) {
|
|
3429
3505
|
font-weight: 600;
|
|
3430
3506
|
background-color: var(--lily-surface-sunken);
|