define(["require","exports","tslib","react","classnames","react-dom","external/lodash","modules/clean/react/css","jquery"],(function(t,e,o,i,n,s,r,l,u){"use strict";var a;Object.defineProperty(e,"__esModule",{value:!0}),i=o.__importDefault(i),n=o.__importDefault(n),s=o.__importStar(s),r=o.__importStar(r),u=o.__importDefault(u),(function(t){t.TOP="TOP",t.BOTTOM="BOTTOM",t.LEFT="LEFT",t.RIGHT="RIGHT",t.BOTTOM_RIGHT="BOTTOM_RIGHT"})(a||(a={})),e.TooltipPosition=a;var p=function(){var t="tooltip-holder",e=u.default("#"+t);return e.length||(e=u.default("
").attr({id:t,style:"z-index: "+1e4}).prependTo("body")),e[0]},d=function(){var t=p();s.unmountComponentAtNode(t),t.parentNode.removeChild(t)},c=(function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.setTooltipBubbleRef=function(t){e.tooltipBubbleRef=t},e.centerAndShow=function(){if(e.tooltipBubbleRef&&e.props.targetRef){var t=u.default(e.tooltipBubbleRef),o=e.props.targetRef.getBoundingClientRect(),i=e.tooltipBubbleRef.getBoundingClientRect();if([a.TOP,a.BOTTOM].includes(e.props.position)){var n=u.default(window).width(),s=o.left+o.width/2-i.width/2;s<0?s=0:s+i.width>n&&(s=n-i.width-7),t.css("right",n-s-i.width+"px")}else if([a.LEFT,a.RIGHT].includes(e.props.position)){var r=u.default(window).height(),l=o.top+o.height/2-i.height/2;l<0?l=0:l+i.height>r&&(l=r-i.height-7),t.css("top",l+"px")}t.show()}},e}return o.__extends(e,t),e.prototype.componentDidMount=function(){this.centerAndShow()},e.prototype.componentDidUpdate=function(){this.centerAndShow()},Object.defineProperty(e.prototype,"styles",{get:function(){if(!this.props.targetRef)return{};var t=this.props.targetRef.getBoundingClientRect();switch(this.props.position){case a.TOP:return{bottom:t.height-t.top+7};case a.BOTTOM:return{top:t.bottom+7};case a.LEFT:return{right:t.width-t.left+7};case a.RIGHT:return{left:t.right+7};case a.BOTTOM_RIGHT:return{left:t.right-7,top:t.bottom+7}}return{}},enumerable:!0,configurable:!0}),e.prototype.render=function(){return i.default.createElement("div",{className:n.default("tooltip-bubble",this.props.className),ref:this.setTooltipBubbleRef,style:this.styles,onMouseMove:this.props.onMouseMove,onMouseEnter:this.props.onMouseEnter,onMouseLeave:this.props.onMouseLeave},i.default.createElement("div",{className:"tooltip-inner"},this.props.contents))},e.displayName="TooltipBubble",e})(i.default.Component),h=l.requireCssWithComponent((function(){return null}),["/static/css/components/tooltip-vflnF5ZlX.css"]),f=(function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.state={visible:!1,eventId:r.uniqueId()},e.setTargetRef=function(t){e.targetRef=t},e.show=function(){e.state.visible&&!e.lastTimeout||(e.renderTooltip(),e.setState({visible:!0}),e.props.on_show&&e.props.on_show(),e.clearTimeout())},e.hide=function(){if(e.state.visible||e.lastTimeout){var t=p();if(e.lastTimeout)u.default(t).attr("data-event-id")===e.state.eventId&&d();else d();e.setState({visible:!1})}},e.scheduleShow=function(){e.clearTimeout(),e.lastTimeout=setTimeout(e.show,e.props.show_delay)},e.scheduleHide=function(){e.clearTimeout(),e.lastTimeout=setTimeout(e.hide,e.props.hide_delay)},e.clearTimeout=function(){e.lastTimeout&&(clearTimeout(e.lastTimeout),e.lastTimeout=null)},e.onMouseEnter=function(){e.props.disableAutoHide||(e.props.show_delay?e.scheduleShow():e.show())},e.onMouseLeave=function(){e.props.disableAutoHide||(e.props.hide_delay?e.scheduleHide():e.hide())},e.renderTooltip=function(){d();var t=p();u.default("#tooltip-holder").css("position","fixed"),u.default("#tooltip-holder").css("left","0"),u.default("#tooltip-holder").css("right","0"),e.props.hide_delay&&u.default("#tooltip-holder").attr("data-event-id",e.state.eventId),e.props.position===a.TOP?(u.default("#tooltip-holder").css("top","auto"),u.default("#tooltip-holder").css("bottom","0")):(u.default("#tooltip-holder").css("top","0"),u.default("#tooltip-holder").css("bottom","auto"));var o=i.default.createElement(c,{position:e.props.position,contents:e.props.tooltip_contents,className:e.props.tooltip_classname,onMouseMove:e.props.interaction_enabled?e.clearTimeout:void 0,onMouseEnter:e.props.interaction_enabled?e.onMouseEnter:void 0,onMouseLeave:e.props.interaction_enabled?e.onMouseLeave:void 0,targetRef:e.targetRef});s.render(o,t)},e}return o.__extends(e,t),e.prototype.componentDidMount=function(){this.props.disableAutoHide||u.default(document).bind("scroll."+this.state.eventId,this.hide)},e.prototype.componentDidUpdate=function(){this.state.visible&&this.renderTooltip()},e.prototype.componentWillUnmount=function(){this.props.disableAutoHide||u.default(document).unbind("scroll."+this.state.eventId),d()},e.prototype.render=function(){return i.default.createElement("div",{className:"tooltip-target",onFocus:this.onMouseEnter,onMouseEnter:this.onMouseEnter,onMouseLeave:this.onMouseLeave,onBlur:this.onMouseLeave,id:this.state.eventId,ref:this.setTargetRef,tabIndex:this.props.is_focusable?0:void 0},this.props.children,i.default.createElement(h,null))},e.displayName="Tooltip",e})(i.default.Component);e.Tooltip=f})); //# sourceMappingURL=tooltip.min.js-vfl3kwqLw.map