Accordions

Find the source code here.

Overview

Accordions are great way to compact content blocs and display required ones by clicking on it.

Solo Accordion

Enables accordion feature individually

Click here to toggle content below

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam tempus finibus magna et dictum. Aenean volutpat et nisi id interdum. Integer nec lectus gravida, aliquet odio a, elementum turpis. Sed efficitur ligula lacus, ut laoreet lorem vulputate eget. Vivamus eget nulla elementum, auctor nisi vitae, elementum tortor.

Click here to toggle content below

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam tempus finibus magna et dictum. Aenean volutpat et nisi id interdum. Integer nec lectus gravida, aliquet odio a, elementum turpis. Sed efficitur ligula lacus, ut laoreet lorem vulputate eget. Vivamus eget nulla elementum, auctor nisi vitae, elementum tortor.

Click here to toggle content below

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam tempus finibus magna et dictum. Aenean volutpat et nisi id interdum. Integer nec lectus gravida, aliquet odio a, elementum turpis. Sed efficitur ligula lacus, ut laoreet lorem vulputate eget. Vivamus eget nulla elementum, auctor nisi vitae, elementum tortor.

Copied !

import {
	SoloAccordion,
	SoloAccordionContent,
	SoloAccordionTrigger
} from "$components/accordion.component";

export function SoloAccordionExample() {
	return (
		<>
			<SoloAccordion class="bg-white border rounded">
				<SoloAccordionTrigger class="p-4">
					<h2>Click here to toggle content below</h2>
				</SoloAccordionTrigger>
				<SoloAccordionContent class="p-4">
					Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam tempus
					finibus magna et dictum. Aenean volutpat et nisi id interdum. Integer
					nec lectus gravida, aliquet odio a, elementum turpis. Sed efficitur
					ligula lacus, ut laoreet lorem vulputate eget. Vivamus eget nulla
					elementum, auctor nisi vitae, elementum tortor.
				</SoloAccordionContent>
			</SoloAccordion>
			<SoloAccordion class="bg-black text-white border rounded">
				<SoloAccordionTrigger class="p-4">
					<h2>Click here to toggle content below</h2>
				</SoloAccordionTrigger>
				<SoloAccordionContent class="p-4">
					Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam tempus
					finibus magna et dictum. Aenean volutpat et nisi id interdum. Integer
					nec lectus gravida, aliquet odio a, elementum turpis. Sed efficitur
					ligula lacus, ut laoreet lorem vulputate eget. Vivamus eget nulla
					elementum, auctor nisi vitae, elementum tortor.
				</SoloAccordionContent>
			</SoloAccordion>
			<SoloAccordion class="bg-slate-300 border rounded">
				<SoloAccordionTrigger class="p-4">
					<h2>Click here to toggle content below</h2>
				</SoloAccordionTrigger>
				<SoloAccordionContent class="p-4">
					Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam tempus
					finibus magna et dictum. Aenean volutpat et nisi id interdum. Integer
					nec lectus gravida, aliquet odio a, elementum turpis. Sed efficitur
					ligula lacus, ut laoreet lorem vulputate eget. Vivamus eget nulla
					elementum, auctor nisi vitae, elementum tortor.
				</SoloAccordionContent>
			</SoloAccordion>
		</>
	);
}

Group Accordion

Groups accordions and display only one (closing previous opened one).

Click here and close all others.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam tempus finibus magna et dictum. Aenean volutpat et nisi id interdum. Integer nec lectus gravida, aliquet odio a, elementum turpis. Sed efficitur ligula lacus, ut laoreet lorem vulputate eget. Vivamus eget nulla elementum, auctor nisi vitae, elementum tortor.

Click here and close all others.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam tempus finibus magna et dictum. Aenean volutpat et nisi id interdum. Integer nec lectus gravida, aliquet odio a, elementum turpis. Sed efficitur ligula lacus, ut laoreet lorem vulputate eget. Vivamus eget nulla elementum, auctor nisi vitae, elementum tortor.

Click here and close all others.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam tempus finibus magna et dictum. Aenean volutpat et nisi id interdum. Integer nec lectus gravida, aliquet odio a, elementum turpis. Sed efficitur ligula lacus, ut laoreet lorem vulputate eget. Vivamus eget nulla elementum, auctor nisi vitae, elementum tortor.

Copied !

import {
	GroupAccordionList,
	GroupAccordionItem,
	GroupAccordionTrigger,
	GroupAccordionContent
} from "$components/accordion.component";

export function GroupAccordionExample() {
	return (
		<GroupAccordionList class="gap-y-4">
			<GroupAccordionItem class="bg-white border rounded">
				<GroupAccordionTrigger
					class="p-4"
					x-bind:class="{ 'border-b': isActive(id) }"
				>
					<h2>Click here and close all others.</h2>
				</GroupAccordionTrigger>
				<GroupAccordionContent class="p-4">
					Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam tempus
					finibus magna et dictum. Aenean volutpat et nisi id interdum. Integer
					nec lectus gravida, aliquet odio a, elementum turpis. Sed efficitur
					ligula lacus, ut laoreet lorem vulputate eget. Vivamus eget nulla
					elementum, auctor nisi vitae, elementum tortor.
				</GroupAccordionContent>
			</GroupAccordionItem>
			<GroupAccordionItem class="bg-black text-white border rounded">
				<GroupAccordionTrigger class="p-4">
					<h2>Click here and close all others.</h2>
				</GroupAccordionTrigger>
				<GroupAccordionContent class="p-4">
					Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam tempus
					finibus magna et dictum. Aenean volutpat et nisi id interdum. Integer
					nec lectus gravida, aliquet odio a, elementum turpis. Sed efficitur
					ligula lacus, ut laoreet lorem vulputate eget. Vivamus eget nulla
					elementum, auctor nisi vitae, elementum tortor.
				</GroupAccordionContent>
			</GroupAccordionItem>
			<GroupAccordionItem class="bg-slate-300 border rounded">
				<GroupAccordionTrigger class="p-4">
					<h2>Click here and close all others.</h2>
				</GroupAccordionTrigger>
				<GroupAccordionContent class="p-4">
					Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam tempus
					finibus magna et dictum. Aenean volutpat et nisi id interdum. Integer
					nec lectus gravida, aliquet odio a, elementum turpis. Sed efficitur
					ligula lacus, ut laoreet lorem vulputate eget. Vivamus eget nulla
					elementum, auctor nisi vitae, elementum tortor.
				</GroupAccordionContent>
			</GroupAccordionItem>
		</GroupAccordionList>
	);
}