zaphyra's git: domsonic

subsonic web-client

1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 
23 
24 
25 
26 
27 
28 
29 
30 
31 
32 
33 
34 
35 
36 
37 
38 
39 
40 
41 
42 
43 
44 
45 
46 
47 
48 
49 
50 
51 
52 
53 
54 
55 
56 
57 
58 
59 
60 
61 
62 
63 
64 
65 
66 
67 
68 
69 
70 
71 
72 
73 
74 
75 
76 
77 
78 
79 
80 
81 
82 
83 
84 
85 
86 
87 
88 
89 
90 
91 
92 
93 
94 
95 
96 details.dropdown {
  summary::marker {
    content: '' !important;
  }

  &[open] > summary + ul {
    transform: scaleY(1);
    opacity: 1;
  }

  &[open][direction=up] > summary + ul {
    transform: translateY(calc(-100% + -3.5rem));    
  }

  &[open] > summary {
    &::before {
      display: block;
      z-index: 1;
      position: fixed;
      width: 100vw;
      height: 100vh;
      inset: 0;
      background: none;
      content: "";
      cursor: default;
    }
  } 

  ul {
    z-index: 10;
    position: absolute;
    display: flex;
    flex-direction: column;
    min-width: fit-content;
    min-height: fit-content;
    width: 100%;
    padding: 0;
    color: var(--color);
    border: 1px solid var(--secondary-border);
    border-radius: var(--border-radius);
    background-color: var(--secondary-background);
    box-shadow: var(--box-shadow);
    opacity: 0;

    li:has(a) {
      padding: 0;

      a {
        margin: 0;
      }
    }

    li {
      &[role="button"] {
        margin: unset;
        border-radius: unset;
      }
      
      &.divider {
        border-bottom: 1px solid var(--secondary-border);
        padding: 0 !important;
      }

      &:not(:has(a)),
      &> a {
        width: 100%;
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        padding: .5rem .75rem !important;
      }

      &:first-of-type {
        margin-top: 0 !important;
      }
      &:last-of-type {
        margin-bottom: 0 !important;
      }

      &:first-of-type:hover {
        border-radius: calc(var(--border-radius) * 0.8) calc(var(--border-radius) * 0.8) 0 0;
      }
      &:last-of-type:hover {
        border-radius: 0 0 calc(var(--border-radius) * 0.8) calc(var(--border-radius) * 0.8);
      }
    }
  }

  .active,
  .action:hover {
    transition: background-color var(--transition), color var(--transition), text-decoration var(--transition), box-shadow var(--transition);
    background-color: #ffffff0b;
    cursor: pointer;
  }
}