UNPKG

@uva-glass/component-library

Version:

React components UvA

95 lines (94 loc) 3.43 kB
import { jsx as c, jsxs as d } from "react/jsx-runtime"; import { c as _ } from "../../clsx-OuTLNxxd.js"; import { forwardRef as u, useState as I, useId as v, useImperativeHandle as C } from "react"; import { Icon as l } from "../Icon/Icon.js"; import '../../assets/Accordion.css';const N = "_accordion_19w0n_1", b = "_accordion__title_19w0n_6", y = "_accordion__content_19w0n_66", n = { accordion: N, accordion__title: b, "accordion__title-icon": "_accordion__title-icon_19w0n_21", "accordion__title-icon-right": "_accordion__title-icon-right_19w0n_22", "accordion__title-icon--margin-0": "_accordion__title-icon--margin-0_19w0n_28", "accordion__title-icon--margin-025": "_accordion__title-icon--margin-025_19w0n_32", "accordion__title-icon--margin-050": "_accordion__title-icon--margin-050_19w0n_36", "accordion__title-icon--margin-075": "_accordion__title-icon--margin-075_19w0n_40", "accordion__title-icon--margin-100": "_accordion__title-icon--margin-100_19w0n_44", "accordion__title-icon--margin-150": "_accordion__title-icon--margin-150_19w0n_48", "accordion__title-icon--margin-200": "_accordion__title-icon--margin-200_19w0n_52", "accordion__title-icon--expanded": "_accordion__title-icon--expanded_19w0n_60", "accordion__title-icon-right--expanded": "_accordion__title-icon-right--expanded_19w0n_61", accordion__content: y, "accordion__content--expanded": "_accordion__content--expanded_19w0n_70" }, S = u( ({ title: s, content: m, expanded: g = !1, cheveronPlacement: t = "right", cheveronMargin: e = "050" }, p) => { const [o, i] = I(g), a = v(); function x(h) { const { code: r } = h; (r === "Enter" || r === "Space") && i(!o); } const w = () => { i(!1); }, f = () => { i(!0); }; return C(p, () => ({ closeContent: w, openContent: f })), /* @__PURE__ */ c("div", { children: /* @__PURE__ */ d("div", { className: n.accordion, children: [ /* @__PURE__ */ d( "div", { className: n.accordion__title, id: a, role: "button", tabIndex: 0, onClick: () => i(!o), onKeyUp: x, "aria-expanded": o, children: [ t === "left" && /* @__PURE__ */ c( l, { className: _( n["accordion__title-icon"], n[`accordion__title-icon--margin-${e}`], { [n["accordion__title-icon--expanded"]]: o } ), name: "CheveronLeft", size: 16 } ), s, t === "right" && /* @__PURE__ */ c( l, { className: _( n["accordion__title-icon-right"], n[`accordion__title-icon--margin-${e}`], { [n["accordion__title-icon-right--expanded"]]: o } ), name: "CheveronLeft", size: 16 } ) ] } ), /* @__PURE__ */ c( "div", { "aria-labelledby": a, className: _(n.accordion__content, { [n["accordion__content--expanded"]]: o }), children: m } ) ] }) }); } ); export { S as Accordion }; //# sourceMappingURL=Accordion.js.map