UNPKG

monday-ui-react-core

Version:

Official monday.com UI resources for application development in React.js

3 lines (2 loc) 2.22 kB
import e from"classnames";import t,{useRef as s}from"react";import{getTestId as o,ComponentDefaultTestId as n}from"../../../tests/testIds.js";import i from"../../Button/Button.js";import r from"../../Tooltip/Tooltip.js";import l from"../../../hooks/useMergeRef.js";import m from"../MenuItem/hooks/useMenuItemMouseEvents.js";import u from"../MenuItem/hooks/useMenuItemKeyboardEvents.js";import{DialogPosition as a}from"../../../constants/positions.js";import{backwardCompatibilityForProperties as d}from"../../../helpers/backwardCompatibilityForProperties.js";import{withStaticProps as c}from"../../../types/withStaticProps.js";import p from"../../Text/Text.js";import I from"./MenuItemButton.module.scss.js";var f=function a(c){var f=c.className,v=c.classname,M=c.kind,b=void 0===M?a.kinds.PRIMARY:M,h=c.leftIcon,x=void 0===h?null:h,k=c.rightIcon,j=void 0===k?null:k,E=c.disabled,S=void 0!==E&&E,y=c.disableReason,C=c.index,T=c.activeItemIndex,B=void 0===T?-1:T,O=c.onClick,A=c.tooltipPosition,R=void 0===A?a.tooltipPositions.RIGHT:A,N=c.tooltipShowDelay,P=void 0===N?300:N,w=c.children,g=c.resetOpenSubMenuIndex,D=c.setSubMenuIsOpenByIndex,L=c.setActiveItemIndex,U=c.menuRef,z=c.closeMenu,_=c.useDocumentEventListeners,F=c.id,G=c["data-testid"],H=s(null),K=s(null),X=l(H,K),Y=d([f,v]),q=S&&y,J=y,Q=B===C,V=m({ref:H,resetOpenSubMenuIndex:g,setSubMenuIsOpenByIndex:D,isActive:Q,setActiveItemIndex:L,index:C,hasChildren:!1}),W=u({onClick:O,disabled:S,isActive:Q,index:C,setActiveItemIndex:L,hasChildren:!1,shouldShowSubMenu:!1,setSubMenuIsOpenByIndex:D,menuRef:U,isMouseEnter:V,closeMenu:z,useDocumentEventListeners:_}).onClickCallback;return t.createElement(r,{content:q?J:null,position:R,showDelay:P},t.createElement(p,{type:p.types.TEXT2,element:"li","data-testid":G||o(n.MENU_ITEM_BUTTON,F),id:F,className:e(I.itemButton,Y),ref:X,role:"menuitem","aria-current":Q},t.createElement(i,{className:I.buttonComponent,active:Q,disabled:S,leftIcon:x,rightIcon:j,onClick:W,kind:b,size:i.sizes.SMALL,blurOnMouseUp:!1},t.createElement("div",{className:I.content},w))))};Object.assign(f,{isSelectable:!0,isMenuChild:!0});var v=c(f,{kinds:i.kinds,tooltipPositions:a});export{v as default}; //# sourceMappingURL=MenuItemButton.js.map