1 | .md-menu { |
2 | display: none; |
3 | z-index: 2; |
4 | box-sizing: border-box; |
5 | cursor: default; |
6 | padding: 0.25rem 0; |
7 | border-radius: |
8 | var(--md-sys-shape-corner-extra-small-default-size); |
9 | background-color: var(--md-sys-color-surface-container-low); |
10 | box-shadow: var(--md-box_shadow_level2); |
11 | transform: translateY(-50%) scaleY(0); |
12 | transition-timing-function: |
13 | cubic-bezier(var(--md-sys-motion-easing-standard-x0), |
14 | var(--md-sys-motion-easing-standard-y0), |
15 | var(--md-sys-motion-easing-standard-x1), |
16 | var(--md-sys-motion-easing-standard-y1)); |
17 | transition-property: display, transform; |
18 | transition-behavior: allow-discrete; |
19 | transition-duration: var(--md-sys-motion-duration-500); |
20 | } |
21 | |
22 | .md-menu.open { |
23 | display: block; |
24 | transform: translateY(0) scaleY(1); |
25 | } |
26 | |
27 | @starting-style { |
28 | .md-menu.open { |
29 | display: block; |
30 | transform: translateY(-50%) scaleY(0); |
31 | } |
32 | } |
33 | |
34 | |
35 | .md-menu>*::after { |
36 | content: ""; |
37 | position: absolute; |
38 | z-index: -2; |
39 | top: 0; |
40 | right: 0; |
41 | left: 0; |
42 | bottom: 0; |
43 | } |
44 | |
45 | |
46 | .md-menu>.selected::after { |
47 | background-color: var(--md-sys-color-secondary-container); |
48 | } |
49 | |
50 | |
51 | .md-menu>* { |
52 | position: relative; |
53 | display: block; |
54 | box-sizing: border-box; |
55 | height: 3rem; |
56 | line-height: 3rem; |
57 | padding: 0 0.75rem; |
58 | color: var(--md-sys-color-on-surface); |
59 | font-family: var(--md-sys-typescale-label-large-font); |
60 | font-weight: var(--md-sys-typescale-label-large-weight); |
61 | font-size: var(--md-sys-typescale-label-large-size); |
62 | font-style: var(--md-sys-typescale-label-large-font-style); |
63 | letter-spacing: var(--md-sys-typescale-label-large-tracking); |
64 | text-transform: var(--md-sys-typescale-label-large-text-transform); |
65 | text-decoration: var(--md-sys-typescale-label-large-text-decoration); |
66 | white-space: nowrap; |
67 | text-overflow: ellipsis; |
68 | overflow: hidden; |
69 | } |
70 | |
71 | |
72 | .md-menu>.selected { |
73 | color: var(--md-sys-color-on-secondary-container); |
74 | } |
75 | |
76 | |
77 | .md-menu>*::before { |
78 | content: ""; |
79 | position: absolute; |
80 | z-index: -1; |
81 | top: 0; |
82 | right: 0; |
83 | left: 0; |
84 | bottom: 0; |
85 | } |
86 | |
87 | |
88 | .md-menu>* span { |
89 | position: relative; |
90 | margin-right: 0.75rem; |
91 | vertical-align: middle; |
92 | color: var(--md-sys-color-on-surface-variant); |
93 | font-size: 1.5rem; |
94 | width: 1.5rem; |
95 | height: 1.5rem; |
96 | } |
97 | |
98 | |
99 | .md-menu>.selected span { |
100 | color: var(--md-sys-color-on-secondary-container); |
101 | } |
102 | |
103 | |
104 | .md-menu>:hover::before { |
105 | background-color: var(--md-sys-color-on-surface); |
106 | opacity: var(--md-sys-state-hover-state-layer-opacity); |
107 | } |
108 | |
109 | |
110 | .md-menu>:hover { |
111 | color: var(--md-sys-color-on-surface); |
112 | } |
113 | |
114 | |
115 | .md-menu>:hover span { |
116 | color: var(--md-sys-color-on-surface-variant); |
117 | } |
118 | |
119 | |
120 | .md-menu>:focus::before { |
121 | background-color: var(--md-sys-color-on-surface); |
122 | opacity: var(--md-sys-state-focus-state-layer-opacity); |
123 | } |
124 | |
125 | |
126 | .md-menu>:focus { |
127 | color: var(--md-sys-color-on-surface); |
128 | outline: none; |
129 | } |
130 | |
131 | |
132 | .md-menu>:focus span { |
133 | color: var(--md-sys-color-on-surface-variant); |
134 | } |
135 | |
136 | |
137 | .md-menu>:active { |
138 | background-position: center; |
139 | background-image: |
140 | radial-gradient(circle, var(--md-riple-color) 1%, transparent 1%); |
141 | background-size: 100%; |
142 | animation-name: md-ripple; |
143 | animation-duration: var(--md-sys-motion-duration-500); |
144 | color: var(--md-sys-color-on-surface); |
145 | } |
146 | |
147 | |
148 | .md-menu>:active::before { |
149 | background-color: var(--md-sys-color-on-surface); |
150 | opacity: var(--md-sys-state-pressed-state-layer-opacity); |
151 | } |
152 | |
153 | |
154 | |
155 | .md-menu>:active span { |
156 | color: var(--md-sys-color-on-surface-variant); |
157 | } |
158 | |
159 | .md-menu input[type="radio"] { |
160 | appearance: none; |
161 | transform: scaleX(0); |
162 | } |