From c34fb76a2a83589a178c353fe81641e18d1fa91b Mon Sep 17 00:00:00 2001 From: Natxo <1172351+natxocc@users.noreply.github.com> Date: Tue, 31 Mar 2026 12:14:10 +0200 Subject: [PATCH] Add Accordion component for collapsible sections --- src/components/Accordion.js | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 src/components/Accordion.js diff --git a/src/components/Accordion.js b/src/components/Accordion.js new file mode 100644 index 0000000..5c7d0d3 --- /dev/null +++ b/src/components/Accordion.js @@ -0,0 +1,24 @@ +import { $html } from "sigpro"; +import { joinClass } from "../core/utils.js"; + +/** ACCORDION */ +export const Accordion = (props, children) => { + const { title, name, open, ...rest } = props; + + return $html( + "div", + { + ...rest, + class: joinClass("collapse collapse-arrow bg-base-200 mb-2", props.class), + }, + [ + $html("input", { + type: name ? "radio" : "checkbox", + name: name, + checked: open + }), + $html("div", { class: "collapse-title text-xl font-medium" }, title), + $html("div", { class: "collapse-content" }, children), + ], + ); +};