UNPKG

@lanaco/lnc-react-ui

Version:

React component library

7 lines (6 loc) 1.58 kB
"use strict";const t=require("react/jsx-runtime"),o=require("react"),w=require("./emotion-styled.browser.esm-DwHBgTPn.cjs"),M=require("./utils-BK6B_Y9X.cjs"),S=require("./motion-B_VPZaJq.cjs"),q=require("./emotion-element-f0de968e.browser.esm-B7k6i6lC.cjs"),b=require("./index-DZoWlChs.cjs"),h=w.styled(S.motion.div)` margin-left: 0.3rem; padding-left: 0.3rem; border-left: ${r=>`2px solid ${M.getColorRgbaValue(r.theme,"MenuItem",r.color,"focus","background")}`}; border-radius: 2px; `,l=o.forwardRef((r,j)=>{const{item:u,onItemSelected:c=()=>{},defaultOpen:d=!1,animation:p={animate:{opacity:1,height:"auto"},exit:{opacity:0,height:0},initial:{opacity:0,height:0},transition:{type:"tween",duration:.15,opacity:{duration:.15,ease:"easeOut"},height:{duration:.15}}},className:E="",style:_={},color:s="primary",size:n="small",children:y,...N}=r,g=q.useTheme(),[i,f]=o.useState(d),x=()=>{f(!i)},T=o.cloneElement(u,{isNested:!0,showNested:i,toggleNested:x,color:s,size:n}),I=o.Children.map(y,(e,D)=>{var a,m;return o.isValidElement(e)&&(e.props.__TYPE__=="MENU_ITEM"||((a=e==null?void 0:e.type)==null?void 0:a.displayName)==="MENU_ITEM"||e.props.__TYPE__=="NESTED_ITEM"||((m=e==null?void 0:e.type)==null?void 0:m.displayName)==="NESTED_ITEM")?o.cloneElement(e,{color:e.props.color?e.props.color:s,size:n,onItemSelected:c}):e});return t.jsxs(t.Fragment,{children:[t.jsx(t.Fragment,{children:T}),t.jsx(b.AnimatePresence,{children:i&&t.jsx(h,{...p,theme:g,color:s,size:n,className:"nested-item-lnc "+E,style:_,...N,children:I})})]})});l.displayName="NESTED_ITEM";module.exports=l;