UNPKG

monday-ui-react-core

Version:

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

3 lines (2 loc) 2.62 kB
import{defineProperty as e}from"../../../../_virtual/_rollupPluginBabelHelpers.js";import o,{useRef as t,useCallback as s,useEffect as r,cloneElement as a}from"react";import i from"classnames";import{camelCase as n}from"lodash-es";import{CSSTransition as p}from"react-transition-group";import l from"../../../hooks/useClickOutside/index.js";import{chainFunctions as c,NOOP as d}from"../../../utils/function-utils.js";import m from"../../../hooks/useKeyEvent/index.js";import{HideShowEvent as u}from"../consts/dialog-show-hide-event.js";import{AnimationType as f}from"../../../constants/dialog.js";import{keyCodes as v}from"../../../constants/keyCodes.js";import"../../../constants/sizes.js";import"../../../constants/positions.js";import{getStyle as C}from"../../../helpers/typesciptCssModulesHelper.js";import y from"./DialogContent.module.scss.js";import E from"../../../hooks/useDisableScroll/index.js";var h={},j=[v.ESCAPE],k=o.forwardRef((function(v,k){var A=v.onEsc,x=void 0===A?d:A,b=v.children,g=v.position,S=v.wrapperClassName,N=v.isOpen,M=void 0!==N&&N,D=v.startingEdge,O=v.animationType,w=void 0===O?"expand":O,L=v.onMouseEnter,P=void 0===L?d:L,T=v.onMouseLeave,_=void 0===T?d:T,I=v.onClickOutside,H=void 0===I?d:I,K=v.onClick,R=void 0===K?d:K,z=v.onContextMenu,B=void 0===z?d:z,U=v.showDelay,W=v.styleObject,X=void 0===W?h:W,Y=v.isReferenceHidden,q=v.hasTooltip,F=void 0!==q&&q,G=v.containerSelector,J=v.disableContainerScroll,Q=void 0!==J&&J,V=v["data-testid"],Z=t(null),$=s((function(e){if(M)return H(e,u.CLICK_OUTSIDE)}),[M,H]),ee=s((function(e){M&&B(e)}),[M,B]);m({keys:j,callback:x}),l({callback:$,ref:Z}),l({eventName:"contextmenu",callback:ee,ref:Z});var oe=E("string"==typeof Q?Q:G),te=oe.disableScroll,se=oe.enableScroll;r((function(){Q&&(M?te():se())}),[Q,te,se,M]);var re={classNames:void 0};switch(w){case f.EXPAND:re.classNames={appear:y.expandAppear,appearActive:y.expandAppearActive,exit:y.expandExit};break;case f.OPACITY_AND_SLIDE:re.classNames={appear:y.opacitySlideAppear,appearActive:y.opacitySlideAppearActive}}return o.createElement("span",{className:i("monday-style-dialog-content-wrapper",y.contentWrapper,S),ref:k,"data-testid":V,style:X,onClickCapture:R,"data-popper-reference-hidden":Y},o.createElement(p,Object.assign({},re,{in:M,appear:!!w,timeout:U}),o.createElement("div",{className:i(y.contentComponent,C(y,n(g)),e(e({},C(y,n("edge-"+D)),D),y.hasTooltip,F)),ref:Z},o.Children.toArray(b).map((function(e){return a(e,{onMouseEnter:c([e.props.onMouseEnter,P]),onMouseLeave:c([e.props.onMouseLeave,_])})})))))}));export{k as DialogContent}; //# sourceMappingURL=DialogContent.js.map