details
The details
component help disclosing data upon toggling the widget into an "open" state.
An heading is obligatory using the summary
HTML tag.
If you want to use multiple details, please use the detailsGroup component.
component variations
details default
Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum.
<details class="a-details">
<summary class="highlight">
<i class="a-icon boschicon-bosch-ic-down"></i>
Lorem ipsum dolor sit amet
</summary>
<p>
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy
eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
voluptua. At vero eos et accusam et justo duo dolores et ea rebum.
</p>
</details>
details small
Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum.
<details class="a-details a-details--small">
<summary class="highlight">
<i class="a-icon boschicon-bosch-ic-down"></i>
Lorem ipsum dolor sit amet
</summary>
<p>
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy
eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
voluptua. At vero eos et accusam et justo duo dolores et ea rebum.
</p>
</details>
additional content
styles SCSS
.a-details {
@include size-m;
// Hide the native arrow
summary::-webkit-details-marker {
display: none;
}
summary {
align-items: center;
background: var(--integrated__enabled__fill__default);
color: var(--integrated__enabled__front__default);
cursor: pointer;
display: flex;
padding: 0;
&:hover {
color: var(--integrated__enabled__front__hovered);
}
&:active {
color: var(--integrated__enabled__front__pressed);
}
&:focus-visible {
@include focus-outside;
}
}
.a-icon {
@include size-m;
margin-right: 0.5rem;
}
// Open state
&[open] {
.a-icon {
&::before {
content: var(--boschicon-bosch-ic-up);
}
}
}
p {
margin: 0;
padding: 0.5rem 0 1rem 1.5rem;
}
&--small {
@include size-s;
.a-icon {
@include size-s;
margin-right: 0.375rem;
}
p {
@include size-s;
padding-left: 1.125rem;
}
}
}