@uva-glass/component-library
Version:
React components UvA
59 lines (58 loc) • 1.86 kB
JavaScript
import { jsxs as e, jsx as n } from "react/jsx-runtime";
import { c as i } from "../../clsx-OuTLNxxd.js";
import { useState as x, useId as m } from "react";
import { Icon as u } from "../Icon/Icon.js";
import '../../assets/AccordionCard.css';const c = {
"accordion-card": "_accordion-card_2u4nr_1",
"accordion-card__title": "_accordion-card__title_2u4nr_7",
"accordion-card__title-icon": "_accordion-card__title-icon_2u4nr_25",
"accordion-card__title-icon--expanded": "_accordion-card__title-icon--expanded_2u4nr_30",
"accordion-card__content": "_accordion-card__content_2u4nr_35",
"accordion-card__content--expanded": "_accordion-card__content--expanded_2u4nr_40"
}, v = ({ title: t, content: _, expanded: s = !1 }) => {
const [o, d] = x(s), a = m(), l = (p) => {
const { code: r } = p;
(r === "Enter" || r === "Space") && d(!o);
};
return /* @__PURE__ */ e("div", { className: c["accordion-card"], children: [
/* @__PURE__ */ e(
"div",
{
className: c["accordion-card__title"],
id: a,
role: "button",
tabIndex: 0,
onClick: () => d(!o),
onKeyUp: l,
"aria-expanded": o,
children: [
/* @__PURE__ */ n(
u,
{
className: i(c["accordion-card__title-icon"], {
[c["accordion-card__title-icon--expanded"]]: o
}),
name: "CheveronLeft",
size: 16
}
),
/* @__PURE__ */ n("h3", { children: t })
]
}
),
/* @__PURE__ */ n(
"div",
{
"aria-labelledby": a,
className: i(c["accordion-card__content"], {
[c["accordion-card__content--expanded"]]: o
}),
children: _
}
)
] });
};
export {
v as AccordionCard
};
//# sourceMappingURL=AccordionCard.js.map