UNPKG

rc-tc-ifn

Version:

React simple. Truncate text and tooltip if need (Hooks)

2 lines (1 loc) 3.51 kB
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("joinclass"),require("react-tooltip-z")):"function"==typeof define&&define.amd?define(["exports","react","joinclass","react-tooltip-z"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TooltipIfn={},e.React,e.joinclass,e.reactTooltipZ)}(this,(function(e,t,o,n){"use strict";function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var a=i(t),l=i(o),r=function(){return r=Object.assign||function(e){for(var t,o=1,n=arguments.length;o<n;o++)for(var i in t=arguments[o])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},r.apply(this,arguments)};var d={padding:"initial",margin:"initial",display:"inline-block",whiteSpace:"nowrap",textOverflow:"ellipsis",overflow:"hidden"},s=function(e){var o=e.children,i=e.id,s=e.className,c=e.truncateClassName,f=e.tagName,u=void 0===f?"span":f,p=e.tagTruncate,h=void 0===p?"span":p,m=e.tooltipClassName,v=e.tooltipContent,y=e.placement,w=void 0===y?"top":y,b=e.showDelay,g=void 0===b?250:b,C=e.animationDisplay,N=void 0===C?"fade":C,O=e.backgroundColor,j=e.tooltipColor,S=e.constrainWidth,k=void 0===S||S,W=e.onClick,x=void 0===W?function(){}:W,E=e.onMouseEnter,I=void 0===E?function(){}:E,T=e.onMouseLeave,M=void 0===T?function(){}:T,D=e.onShown,H=void 0===D?function(){}:D,z=e.onHidden,P=void 0===z?function(){}:z,R=e.mouseWheel,q=void 0===R||R,L=e.hideIfResize,_=void 0===L||L,A=e.hideIfScroll,V=e.top,Z=e.bottom,B=e.right,F=e.left,G=e.arrowCentered,J=e.forceHide,K=e.width,Q=e.wrapWidth,U=function(e,t){var o={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(o[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(n=Object.getOwnPropertySymbols(e);i<n.length;i++)t.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(e,n[i])&&(o[n[i]]=e[n[i]])}return o}(e,["children","id","className","truncateClassName","tagName","tagTruncate","tooltipClassName","tooltipContent","placement","showDelay","animationDisplay","backgroundColor","tooltipColor","constrainWidth","onClick","onMouseEnter","onMouseLeave","onShown","onHidden","mouseWheel","hideIfResize","hideIfScroll","top","bottom","right","left","arrowCentered","forceHide","width","wrapWidth"]),X=t.useState(!1),Y=X[0],$=X[1],ee=t.useState(!1),te=ee[0],oe=ee[1],ne=t.useRef(null);t.useEffect((function(){var e=ne.current||{},t=e.clientWidth,o=void 0===t?0:t,n=e.scrollWidth;oe(o<(void 0===n?0:n))}),[o,K]);var ie=function(){var e=r(r({},d),U.style||{});return!e.width&&K&&(e.width=K),e},ae=h,le=a.default.Children.toArray(o)[0];return a.default.createElement(n.Tooltip,{tagName:u,className:l.default("dk-tooltip-if-need",s),style:{display:"inline-block",width:Q},tooltipClassName:m,tooltipContent:v||o,placement:w,trigger:"manual",backgroundColor:O,tooltipColor:j,constrainWidth:k,showDelay:g,animationDisplay:N,onClick:x,onMouseEnter:function(e){te&&$(!0),I(e),H()},onMouseLeave:function(e){te&&$(!1),M(e),P()},onShown:H,onHidden:function(){P(),$(!1)},mouseWheel:q,shareContext:!1,showSync:Y,hideIfResize:_,hideIfScroll:A,top:V,bottom:Z,right:B,left:F,arrowCentered:G,forceHide:J},a.default.isValidElement(le)?a.default.cloneElement(le,r(r({},le.props),{ref:ne,className:l.default("dk-text-truncate",le.props.className,c),style:ie()})):a.default.createElement(ae,{id:i,ref:ne,className:l.default("dk-text-truncate",c),style:ie()},o))};e.TooltipIfn=s,e.default=s,Object.defineProperty(e,"__esModule",{value:!0})}));