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