UNPKG

@lanaco/lnc-react-ui

Version:

React component library

60 lines (59 loc) 1.77 kB
import { jsxs as D } from "react/jsx-runtime"; import { forwardRef as N, useState as O, Children as i, isValidElement as c, cloneElement as l } from "react"; import { s as R } from "./emotion-styled.browser.esm-DfbrHHed.js"; import { c as S, d as g, i as x } from "./utils-BUdHa0nB.js"; import { u as I } from "./emotion-element-f0de968e.browser.esm-CkCiQliQ.js"; import { u as T } from "./useUpdateEffect-CuYWz7EA.js"; const M = R.div` color: ${(t) => !t.disabled && S(t.theme, "Accordion", "primary", "enabled", "text")}; background-color: transparent; ${(t) => g(t.theme, "Accordion", t.size, "enabled")}; ${(t) => t.disabled === !0 ? x(t.theme) : ""} `, V = N((t, f) => { const { expanded: a = !1, disabled: n = !1, change: u = () => { }, size: r = "small", className: C = "", style: A = {}, children: m, ..._ } = t, y = { theme: I(), size: r, style: A, className: "lnc-ui-accordion " + C }, [o, d] = O(a); T(() => { d(a); }, [a]); const p = (e) => { u(!o, e), d(!o); }, E = i.map(m, (e) => { var s; if (c(e) && (e.props.__TYPE__ == "ACCORDION_SUMMARY" || ((s = e == null ? void 0 : e.type) == null ? void 0 : s.displayName) === "ACCORDION_SUMMARY")) return l(e, { size: r, onClick: p, onExpand: p, isExpanded: o, disabled: n }); }), b = i.map(m, (e) => { var s; if (c(e) && (e.props.__TYPE__ == "ACCORDION_DETAILS" || ((s = e == null ? void 0 : e.type) == null ? void 0 : s.displayName) === "ACCORDION_DETAILS")) return l(e, { size: r, isExpanded: o }); }); return /* @__PURE__ */ D(M, { ref: f, ...y, disabled: n, ..._, children: [ E, b ] }); }); export { V as default };