UNPKG

@lanaco/lnc-react-ui

Version:

React component library

16 lines (15 loc) 2.56 kB
"use strict";const T=require("react/jsx-runtime"),s=require("react"),n=require("./index-BPVoEhTF.cjs"),c=require("./emotion-styled.browser.esm-Cle7tAM9.cjs"),w=c.newStyled.div` padding: 0.25rem; gap: ${t=>t.itemsGap}; display: flex; flex-direction: column; ${t=>t.widthFitContent==!1&&"min-width: 12.5rem"}; height: 100%; justify-content: space-between; & > .start-menu-items-lnc, > .end-menu-items-lnc { display: flex; flex-direction: column; gap: ${t=>t.itemsGap}; } `,N=s.forwardRef((t,r)=>{const{widthFitContent:M=!1,itemsGap:I="0.25rem",onItemSelected:u=()=>{},className:j="",style:P={},color:o="primary",size:p="small",children:f,...S}=t,i=s.useRef(),g=s.Children.map(f,(e,y)=>{var a,m,E,_,l;if(s.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"))return y==0&&e.props.justifyToEnd!==!0?(e.props.ref&&(i.current=r),s.cloneElement(e,{ref:r||i,color:o,size:p,onItemSelected:u})):e.props.justifyToEnd!==!0||e.props.__TYPE__=="NESTED_ITEM"||((E=e==null?void 0:e.type)==null?void 0:E.displayName)==="NESTED_ITEM"?s.cloneElement(e,{color:o,size:p,onItemSelected:u}):void 0;if(((_=e.props)==null?void 0:_.justifyToEnd)==!1||!((l=e.props)!=null&&l.justifyToEnd))return e}),x=s.Children.map(f,(e,y)=>{var a,m,E;if(s.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")&&e.props.justifyToEnd==!0)return y==0?(e.props.ref&&(i.current=r),s.cloneElement(e,{ref:r||i,color:e.props.color?e.props.color:o,size:p,onItemSelected:u})):s.cloneElement(e,{color:e.props.color?e.props.color:o,size:p,onItemSelected:u});if(((E=e.props)==null?void 0:E.justifyToEnd)==!0)return e});return T.jsxs(w,{ref:r,widthFitContent:M,itemsGap:I,size:p,color:o,className:"lnc-ui-treemenu "+j,style:P,...S,children:[T.jsx("div",{className:"nested-item-lnc start-menu-items-lnc",children:g}),T.jsx("div",{className:"nested-item-lnc end-menu-items-lnc",children:x})]})});N.propTypes={widthFitContent:n.PropTypes.bool,itemsGap:n.PropTypes.string,onItemSelected:n.PropTypes.func,className:n.PropTypes.string,style:n.PropTypes.object,color:n.PropTypes.oneOf(["primary","secondary","success","warning","danger","information","neutral","gray"]),size:n.PropTypes.oneOf(["small","medium","large"])};module.exports=N;