monday-ui-react-core
Version:
Official monday.com UI resources for application development in React.js
3 lines (2 loc) • 2.31 kB
JavaScript
import{__rest as e}from"../../../../_virtual/_tslib.js";import o,{forwardRef as t,useRef as i,useMemo as s}from"react";import"../../../constants/dialog.js";import"../../../constants/sizes.js";import{DialogPosition as n}from"../../../constants/positions.js";import l from"../../Tooltip/Tooltip.js";import a from"../../Icon/Icon.js";import r from"../../../hooks/useIsOverflowing/useIsOverflowing.js";import{withStaticProps as c}from"../../../types/withStaticProps.js";import m from"../../Label/Label.js";import p from"./MenuItem.module.scss.js";import d from"./components/BaseMenuItem/BaseMenuItem.js";import u from"./components/MenuItemIcon/MenuItemIcon.js";import{backwardCompatibilityForProperties as b}from"../../../helpers/backwardCompatibilityForProperties.js";var f=t((function(t,n){var a=t.className,c=t.classname,j=t.iconWrapperClassName,v=t.title,y=void 0===v?"":v,I=t.label,g=void 0===I?"":I,h=t.icon,k=void 0===h?"":h,C=t.iconType,E=t.iconBackgroundColor,N=t.disabled,w=void 0!==N&&N,P=t.disableReason,M=t.selected,T=void 0!==M&&M,O=t.key,B=t.children,S=t.tooltipContent,x=t.tooltipPosition,D=void 0===x?f.tooltipPositions.RIGHT:x,L=t.tooltipShowDelay,R=void 0===L?300:L,F=t.tooltipProps,W=t["aria-label"],_=e(t,["className","classname","iconWrapperClassName","title","label","icon","iconType","iconBackgroundColor","disabled","disableReason","selected","key","children","tooltipContent","tooltipPosition","tooltipShowDelay","tooltipProps","aria-label"]),z=b([a,c]),G=i(),H=null!=W?W:y,V=r({ref:G})||w||S,q=s((function(){return w?P:S||y}),[P,w,y,S]),A=s((function(){if(g)return"string"==typeof g?o.createElement(m,{kind:m.kinds.LINE,text:g}):o.isValidElement(g)&&g.type===m?g:void 0}),[g]);return o.createElement(d,Object.assign({key:O,ref:n,subMenu:B,className:z,disabled:w,selected:T},_),o.createElement(o.Fragment,null,!!k&&o.createElement(u,{icon:k,type:C,label:H,disabled:w,selected:T,backgroundColor:E,wrapperClassName:j}),o.createElement(l,Object.assign({content:V?q:null,position:D,showDelay:R},F),o.createElement("div",{ref:G,className:p.title},y),o.createElement("div",{className:p.hiddenTitle,"aria-hidden":!0,tabIndex:-1},y)),A))}));Object.assign(f,{isSelectable:!0,isMenuChild:!0});var j=c(f,{iconType:a.type,tooltipPositions:n});export{j as default};
//# sourceMappingURL=MenuItem.js.map