You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
117 lines
2.1 KiB
SCSS
117 lines
2.1 KiB
SCSS
/**
|
|
* Accordion (<details>)
|
|
*/
|
|
|
|
details {
|
|
display: block;
|
|
margin-bottom: var(--spacing);
|
|
padding-bottom: var(--spacing);
|
|
border-bottom: var(--border-width) solid var(--accordion-border-color);
|
|
|
|
summary {
|
|
line-height: 1rem;
|
|
list-style-type: none;
|
|
cursor: pointer;
|
|
|
|
&:not([role]) {
|
|
color: var(--accordion-close-summary-color);
|
|
}
|
|
|
|
@if $enable-transitions {
|
|
transition: color var(--transition);
|
|
}
|
|
|
|
// Reset marker
|
|
&::-webkit-details-marker {
|
|
display: none;
|
|
}
|
|
|
|
&::marker {
|
|
display: none;
|
|
}
|
|
|
|
&::-moz-list-bullet {
|
|
list-style-type: none;
|
|
}
|
|
|
|
// Marker
|
|
&::after {
|
|
display: block;
|
|
width: 1rem;
|
|
height: 1rem;
|
|
margin-inline-start: calc(var(--spacing, 1rem) * 0.5);
|
|
float: right;
|
|
transform: rotate(-90deg);
|
|
background-image: var(--icon-chevron);
|
|
background-position: right center;
|
|
background-size: 1rem auto;
|
|
background-repeat: no-repeat;
|
|
content: "";
|
|
|
|
@if $enable-transitions {
|
|
transition: transform var(--transition);
|
|
}
|
|
}
|
|
|
|
&:focus {
|
|
outline: none;
|
|
|
|
&:not([role="button"]) {
|
|
color: var(--accordion-active-summary-color);
|
|
}
|
|
}
|
|
|
|
// Type button
|
|
&[role="button"] {
|
|
width: 100%;
|
|
text-align: left;
|
|
|
|
// Marker
|
|
&::after {
|
|
height: calc(1rem * var(--line-height, 1.5));
|
|
background-image: var(--icon-chevron-button);
|
|
}
|
|
|
|
@if $enable-classes {
|
|
// .contrast
|
|
&:not(.outline).contrast {
|
|
// Marker
|
|
&::after {
|
|
background-image: var(--icon-chevron-button-inverse);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// Open
|
|
&[open] {
|
|
> summary {
|
|
margin-bottom: calc(var(--spacing));
|
|
|
|
&:not([role]) {
|
|
&:not(:focus) {
|
|
color: var(--accordion-open-summary-color);
|
|
}
|
|
}
|
|
|
|
&::after {
|
|
transform: rotate(0);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
[dir="rtl"] {
|
|
details {
|
|
summary {
|
|
text-align: right;
|
|
|
|
&::after {
|
|
float: left;
|
|
background-position: left center;
|
|
}
|
|
}
|
|
}
|
|
}
|