UNPKG

@lanaco/lnc-react-ui

Version:

React component library

7 lines (6 loc) 1.62 kB
"use strict";const g=require("react/jsx-runtime"),t=require("react"),o=require("./index-BPVoEhTF.cjs"),x=require("./emotion-styled.browser.esm-Cle7tAM9.cjs"),c=require("./utils-NZLCh-J5.cjs"),R=require("./emotion-element-f0de968e.browser.esm-B7k6i6lC.cjs"),S=require("./useUpdateEffect-BtMgpgIV.cjs"),N=x.newStyled.div` color: ${s=>!s.disabled&&c.getColorRgbaValue(s.theme,"Accordion","primary","enabled","text")}; background-color: transparent; ${s=>c.getComponentTypographyCss(s.theme,"Accordion",s.size,"enabled")}; ${s=>s.disabled===!0?c.getDisabledStateCss(s.theme):""} `,u=t.forwardRef((s,y)=>{const{expanded:a=!1,disabled:i=!1,change:_=()=>{},size:l="small",className:C="",style:b={},children:p,...f}=s,E={theme:R.useTheme(),size:l,style:b,className:"lnc-ui-accordion "+C},[r,d]=t.useState(a);S.useUpdateEffect(()=>{d(a)},[a]);const m=e=>{_(!r,e),d(!r)},T=t.Children.map(p,e=>{var n;if(t.isValidElement(e)&&(e.props.__TYPE__=="ACCORDION_SUMMARY"||((n=e==null?void 0:e.type)==null?void 0:n.displayName)==="ACCORDION_SUMMARY"))return t.cloneElement(e,{size:l,onClick:m,onExpand:m,isExpanded:r,disabled:i})}),A=t.Children.map(p,e=>{var n;if(t.isValidElement(e)&&(e.props.__TYPE__=="ACCORDION_DETAILS"||((n=e==null?void 0:e.type)==null?void 0:n.displayName)==="ACCORDION_DETAILS"))return t.cloneElement(e,{size:l,isExpanded:r})});return g.jsxs(N,{ref:y,...E,disabled:i,...f,children:[T,A]})});u.propTypes={expanded:o.PropTypes.bool,disabled:o.PropTypes.bool,change:o.PropTypes.func,className:o.PropTypes.string,style:o.PropTypes.object,size:o.PropTypes.oneOf(["small","medium","large"])};module.exports=u;