Details
Table of Contents
The details component enhances the default details behavior.
Installation
npm install @fylgja/details
Then include the component in to your code via;
@use "@fylgja/details";
// Or via PostCSS import
@import "@fylgja/details";
How to use
Out of the box all the styling is done directly, so no extra steps are needed.
And the details element wil look relativity the same as the browser default.
The style should be changeable for many purposes, think a sub menu toggle or a accordion.
Config
As with almost all of our components, CSS variables can be configured to add your own look/style.
Want direct control on the base styles, here are the following SCSS variables can you modify.
$details-animation: details-show 200ms ease-in-out !default;
$details-margin: 1em 0 !default;
Tip
If you need the common accordion style you can use the Card component, and a little extra CSS.
Details element 1
..
Details element 2
..
Details element 3
..
<div class="accordion">
<details class="card">
<summary class="card-action">Details element 1</summary>
<div class="card-content pt-0">..</div>
</details>
<details class="card">
<summary class="card-action">Details element 2</summary>
<div class="card-content pt-0">..</div>
</details>
<details class="card">
<summary class="card-action">Details element 3</summary>
<div class="card-content pt-0">..</div>
</details>
</div>
.accordion {
--card-elevation: none;
--card-border: 1px solid #ccc;
--card-padding: 0.5em 0.8em;
}
.accordion > details:first-of-type {
border-radius: 4px 4px 0 0;
margin-bottom: 0;
}
.accordion > details:last-of-type {
border-radius: 0 0 4px 4px;
margin-top: 0;
}
.accordion > details:not(:last-of-type) {
border-bottom: 0;
}
.accordion > details:not(:first-of-type):not(:last-of-type) {
border-radius: 0;
margin-top: 0;
margin-bottom: 0;
}
Noticed a typo or is something unclear? Help us improve this page on GitHub.