UNPKG

@postenbring/hedwig-react

Version:

React components for [Hedwig Design System](https://github.com/bring/hedwig-design-system).

43 lines (41 loc) 1.41 kB
import { AccordionItemContext } from "./chunk-YQFL5UN4.mjs"; import { __objRest, __spreadProps, __spreadValues } from "./chunk-YOSPWY5K.mjs"; // src/accordion/accordion-item.tsx import { forwardRef, useId, useState } from "react"; import { clsx } from "@postenbring/hedwig-css/typed-classname"; import { jsx } from "react/jsx-runtime"; var AccordionItem = forwardRef( (_a, ref) => { var _b = _a, { children, defaultOpen, open: outerOpen, onOpenChange, className } = _b, rest = __objRest(_b, ["children", "defaultOpen", "open", "onOpenChange", "className"]); const contentId = useId(); const [innerOpen, setInnerOpen] = useState(defaultOpen != null ? defaultOpen : false); const open = outerOpen != null ? outerOpen : innerOpen; const handleOpen = () => { if (outerOpen !== void 0) { onOpenChange && onOpenChange(!open); } else { setInnerOpen(!open); } }; return /* @__PURE__ */ jsx( "div", __spreadProps(__spreadValues({}, rest), { "data-state": open ? "open" : "closed", className: clsx("hds-accordion-item", className), ref, children: /* @__PURE__ */ jsx(AccordionItemContext.Provider, { value: { contentId, open, setOpen: handleOpen }, children }) }) ); } ); AccordionItem.displayName = "Accordion.Item"; export { AccordionItem }; //# sourceMappingURL=chunk-EZVEYJOX.mjs.map