<div class='accordion '>
<details open>
<summary>
<div class='wrapper'>
<h3 class="heading ">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi sollicitudin mauris vel nisi condimentum accumsan. Phasellus eget est condimentum erat fringilla congue.
</h3>
<span class="icon fal fa-plus-square fa-lg icon-plus" aria-hidden="true"></span>
<span class="icon fal fa-minus-square fa-lg icon-minus" aria-hidden="true"></span>
</div>
</summary>
<div class='card-body'>
<div class='paragraph '>
<p>First, Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi sollicitudin mauris vel nisi condimentum accumsan. Phasellus eget est condimentum erat fringilla congue.</p>
</div>
</div>
</details>
<details open>
<summary>
<div class='wrapper'>
<h3 class="heading ">
Title of the tab
</h3>
<span class="icon fal fa-plus-square fa-lg icon-plus" aria-hidden="true"></span>
<span class="icon fal fa-minus-square fa-lg icon-minus" aria-hidden="true"></span>
</div>
</summary>
<div class='card-body'>
<div class='paragraph '>
<p>First, Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi sollicitudin mauris vel nisi condimentum accumsan. Phasellus eget est condimentum erat fringilla congue.</p>
</div>
</div>
</details>
<details open>
<summary>
<div class='wrapper'>
<h3 class="heading ">
Title of the tab
</h3>
<span class="icon fal fa-plus-square fa-lg icon-plus" aria-hidden="true"></span>
<span class="icon fal fa-minus-square fa-lg icon-minus" aria-hidden="true"></span>
</div>
</summary>
<div class='card-body'>
<div class='paragraph '>
<p>First, Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi sollicitudin mauris vel nisi condimentum accumsan. Phasellus eget est condimentum erat fringilla congue.</p>
</div>
</div>
</details>
</div>
<div class='accordion {{modifier}}'>
{{#each items}}
<details open>
<summary>
<div class='wrapper'>
{{render '@heading' heading}}
{{render '@icon' @root.icon-plus}}
{{render '@icon' @root.icon-minus}}
</div>
</summary>
<div class='card-body'>
{{render '@paragraph' paragraph}}
</div>
</details>
{{/each}}
</div>
{
"icon-plus": {
"style": "fal",
"icon": "fa-plus-square",
"modifier": "icon-plus",
"size": "fa-lg"
},
"icon-minus": {
"style": "fal",
"icon": "fa-minus-square",
"modifier": "icon-minus",
"size": "fa-lg"
},
"items": [
{
"heading": {
"tag": "h3",
"text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi sollicitudin mauris vel nisi condimentum accumsan. Phasellus eget est condimentum erat fringilla congue."
},
"paragraph": {
"text": "First, Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi sollicitudin mauris vel nisi condimentum accumsan. Phasellus eget est condimentum erat fringilla congue."
},
"index": "1"
},
{
"heading": {
"tag": "h3",
"text": "Title of the tab"
},
"paragraph": {
"text": "First, Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi sollicitudin mauris vel nisi condimentum accumsan. Phasellus eget est condimentum erat fringilla congue."
},
"index": "2"
},
{
"heading": {
"tag": "h3",
"text": "Title of the tab"
},
"paragraph": {
"text": "First, Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi sollicitudin mauris vel nisi condimentum accumsan. Phasellus eget est condimentum erat fringilla congue."
},
"index": "3"
}
]
}
.accordion {
details {
@apply border border-solid border-gray border-b-0 lg:border-0 lg:border-b overflow-auto;
.wrapper {
@apply cursor-pointer list-none p-4 pb-3 flex justify-between text-left w-full;
}
summary {
& > * {
@apply inline;
}
h3 {
@apply text-red m-0;
}
.icon {
@apply mt-1 ml-4;
}
.icon-plus {
@apply inline;
}
.icon-minus {
@apply hidden;
}
&:focus {
outline: 0 !important;
box-shadow: 0 0 0 0 rgba(0, 0, 0, 0) !important;
}
}
.card-body {
@apply py-2;
.paragraph {
@apply px-4;
a {
@apply text-red underline;
}
}
}
&[open] {
summary {
.icon-plus {
@apply hidden;
}
.icon-minus {
@apply inline;
}
}
}
}
details:last-child {
border-bottom: 1px solid #e3e3e3;
}
}
(function () {
'use strict';
// Close all details after iframe is loaded
$(window).on('load', function (e) {
document.body
.querySelectorAll('.accordion details')
.forEach((e) =>
e.hasAttribute('open')
? e.removeAttribute('open')
: e.setAttribute('open', true)
);
});
})();
No notes defined.