blob: c5ded3343da5d0453192f3375a6be32e61784615 (
plain) (
blame)
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
97
98
|
@use '../base' as *;
/* --------------------------------
File#: _2_dropdown
Title: Dropdown
Descr: A hoverable link that toggles the visibility of a dropdown list
Usage: codyhouse.co/license
-------------------------------- */
:root {
--dropdown-item-padding: var(--space-xxs) var(--space-sm);
}
.dropdown {
position: relative;
}
.dropdown__menu {
border-radius: var(--radius-md);
background-color: var(--color-bg-light);
box-shadow: var(--inner-glow), var(--shadow-sm);
z-index: var(--z-index-popover, 5);
position: absolute;
left: 0;
top: 100%;
opacity: 0;
visibility: hidden;
}
.dropdown__wrapper {
max-height: 24px;
}
@media (pointer: fine) { // user has pointing device (e.g., mouse)
.dropdown__wrapper,
.open-dropdown {
&:hover .dropdown__menu,
&:focus .dropdown__menu {
opacity: 1;
visibility: visible;
}
}
.dropdown__sub-wrapper:hover > .dropdown__menu {
left: 100%;
}
}
@media not all and (pointer: fine) {
.dropdown__trigger-icon {
display: none;
}
}
.dropdown__item {
display: block;
text-decoration: none;
color: var(--color-contrast-high);
padding: var(--dropdown-item-padding);
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
&:hover, &.dropdown__item--hover {
background-color: alpha(var(--color-contrast-higher), 0.075);
}
}
.dropdown__separator { // h line divider
height: 1px;
background-color: var(--color-contrast-lower);
margin: var(--dropdown-item-padding);
}
.dropdown__sub-wrapper {
position: relative;
> .dropdown__item { // item w/ right arrow
position: relative;
padding-right: calc(var(--space-sm) + 12px);
.icon { // right arrow
position: absolute;
display: block;
width: 12px;
height: 12px;
right: var(--space-xxs);
top: calc(50% - 6px);
}
}
> .dropdown__menu { // sub menu
top: calc(var(--space-xxs) * -1);
box-shadow: var(--inner-glow), var(--shadow-md);
}
}
|