@postenbring/hedwig-react
Version:
React components for [Hedwig Design System](https://github.com/bring/hedwig-design-system).
45 lines (43 loc) • 1.32 kB
JavaScript
import {
AccordionItemContext
} from "./chunk-YQFL5UN4.mjs";
import {
__objRest,
__spreadProps,
__spreadValues
} from "./chunk-YOSPWY5K.mjs";
// src/accordion/accordion-header.tsx
import { forwardRef, useContext } from "react";
import { clsx } from "@postenbring/hedwig-css/typed-classname";
import { jsx } from "react/jsx-runtime";
var AccordionHeader = forwardRef(
(_a, ref) => {
var _b = _a, { children, className, onClick } = _b, rest = __objRest(_b, ["children", "className", "onClick"]);
const context = useContext(AccordionItemContext);
if (context === null) {
return null;
}
const expandOrCollapse = (e) => {
context.setOpen(!context.open);
onClick == null ? void 0 : onClick(e);
};
return /* @__PURE__ */ jsx(
"button",
__spreadProps(__spreadValues({}, rest), {
"aria-expanded": context.open,
"aria-controls": context.contentId,
"data-state": context.open ? "open" : "closed",
className: clsx("hds-accordion-item-header", className),
onClick: expandOrCollapse,
ref,
type: "button",
children: /* @__PURE__ */ jsx("span", { children })
})
);
}
);
AccordionHeader.displayName = "Accordion.Header";
export {
AccordionHeader
};
//# sourceMappingURL=chunk-MYVC3HMO.mjs.map