UNPKG

@lanaco/lnc-react-ui

Version:

React component library

16 lines (15 loc) 2.2 kB
"use strict";const f=require("react/jsx-runtime"),t=require("react"),w=require("./emotion-styled.browser.esm-DwHBgTPn.cjs"),C=w.styled.div` padding: 0.25rem; gap: ${s=>s.itemsGap}; display: flex; flex-direction: column; ${s=>s.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: ${s=>s.itemsGap}; } `,D=t.forwardRef((s,n)=>{const{widthFitContent:N=!1,itemsGap:l="0.25rem",onItemSelected:a=()=>{},className:M="",style:I={},color:r="primary",size:o="small",children:T,...j}=s,u=t.useRef(),S=t.Children.map(T,(e,_)=>{var p,m,E,y,i;if(t.isValidElement(e)&&(e.props.__TYPE__=="MENU_ITEM"||((p=e==null?void 0:e.type)==null?void 0:p.displayName)==="MENU_ITEM"||e.props.__TYPE__=="NESTED_ITEM"||((m=e==null?void 0:e.type)==null?void 0:m.displayName)==="NESTED_ITEM"))return _==0&&e.props.justifyToEnd!==!0?(e.props.ref&&(u.current=n),t.cloneElement(e,{ref:n||u,color:r,size:o,onItemSelected:a})):e.props.justifyToEnd!==!0||e.props.__TYPE__=="NESTED_ITEM"||((E=e==null?void 0:e.type)==null?void 0:E.displayName)==="NESTED_ITEM"?t.cloneElement(e,{color:r,size:o,onItemSelected:a}):void 0;if(((y=e.props)==null?void 0:y.justifyToEnd)==!1||!((i=e.props)!=null&&i.justifyToEnd))return e}),x=t.Children.map(T,(e,_)=>{var p,m,E;if(t.isValidElement(e)&&(e.props.__TYPE__=="MENU_ITEM"||((p=e==null?void 0:e.type)==null?void 0:p.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 _==0?(e.props.ref&&(u.current=n),t.cloneElement(e,{ref:n||u,color:e.props.color?e.props.color:r,size:o,onItemSelected:a})):t.cloneElement(e,{color:e.props.color?e.props.color:r,size:o,onItemSelected:a});if(((E=e.props)==null?void 0:E.justifyToEnd)==!0)return e});return f.jsxs(C,{ref:n,widthFitContent:N,itemsGap:l,size:o,color:r,className:"lnc-ui-treemenu "+M,style:I,...j,children:[f.jsx("div",{className:"nested-item-lnc start-menu-items-lnc",children:S}),f.jsx("div",{className:"nested-item-lnc end-menu-items-lnc",children:x})]})});module.exports=D;