All checks were successful
Deploy Docs to Synology / deploy (push) Successful in 4s
22 lines
903 B
JavaScript
22 lines
903 B
JavaScript
// components/Accordion.js
|
|
import { Tag } from "sigpro";
|
|
|
|
export const Accordion = (props) => {
|
|
const name = props.name || `accordion-${Math.random().toString(36).slice(2, 9)}`;
|
|
|
|
if (props.items && Array.isArray(props.items)) {
|
|
return Tag("div", { class: `space-y-2 ${props.class ?? ''}` },
|
|
props.items.map(item => Tag("div", { class: `collapse ${item.class ?? ''}` }, [
|
|
Tag("input", { type: "radio", name, checked: item.open }),
|
|
Tag("div", { class: "collapse-title text-xl font-medium" }, item.title),
|
|
Tag("div", { class: "collapse-content" }, item.children)
|
|
]))
|
|
);
|
|
}
|
|
|
|
return Tag("div", { class: `collapse ${props.class ?? ''}` }, [
|
|
Tag("input", { type: "radio", name, checked: props.open }),
|
|
Tag("div", { class: "collapse-title text-xl font-medium" }, props.title),
|
|
Tag("div", { class: "collapse-content" }, props.children)
|
|
]);
|
|
}; |