-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathaccordion.css
More file actions
66 lines (66 loc) · 1.89 KB
/
Copy pathaccordion.css
File metadata and controls
66 lines (66 loc) · 1.89 KB
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
/**
* @file accordion.scss
* @component Accordion (Molecule)
* @description Native <details> and <summary> based accordion with smooth
* animations using the modern ::details-content specification.
*
* @section Local Tokens
* --details-border-color : Border surrounding the entire component.
* --summary-bg-color : Background color of the summary (header) area.
* --accordion-transition : Speed and easing for icons and expansion.
*/
details {
--details-border-color: var(--color-neutral-20, #e5e5e5);
--details-border-radius: var(--radius-sm, 3px);
--summary-bg-color: var(--color-neutral-10, #f5f5f5);
--accordion-transition: 0.3s ease;
}
[data-theme=dark] details {
--details-border-color: var(--color-neutral-90, #222);
--summary-bg-color: var(--color-neutral-90, #222);
}
details {
margin-bottom: var(--space-lg);
border: 1px solid var(--details-border-color);
border-radius: var(--details-border-radius);
overflow: hidden;
}
details summary {
padding: var(--space-sm);
display: flex;
justify-content: space-between;
align-items: center;
cursor: pointer;
background-color: var(--summary-bg-color);
border-radius: var(--details-border-radius) var(--details-border-radius) 0 0;
list-style: none;
margin: 0;
/* Hide default browser markers */
}
details summary::-webkit-details-marker {
display: none;
}
details summary::-moz-list-bullet {
display: none;
}
details summary .icon {
width: 1.25rem;
height: 1.25rem;
transition: transform var(--accordion-transition);
}
details[open] summary .icon {
transform: rotate(180deg);
}
details .accordion__content {
padding: var(--space-sm);
}
details .accordion__content > .paragraph:last-child {
margin-bottom: 0;
}
details::details-content {
block-size: 0;
transition: block-size var(--accordion-transition), content-visibility 0.5s allow-discrete;
}
details[open]::details-content {
block-size: auto;
}