@chief-editor/ui
Version:
UI Component for chief editor
1 lines • 2.56 kB
JavaScript
var __assign=this&&this.__assign||function(){return(__assign=Object.assign||function(e){for(var r,o=1,t=arguments.length;o<t;o++)for(var s in r=arguments[o])Object.prototype.hasOwnProperty.call(r,s)&&(e[s]=r[s]);return e}).apply(this,arguments)},__rest=this&&this.__rest||function(e,r){var o={};for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&r.indexOf(t)<0&&(o[t]=e[t]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var s=0;for(t=Object.getOwnPropertySymbols(e);s<t.length;s++)r.indexOf(t[s])<0&&Object.prototype.propertyIsEnumerable.call(e,t[s])&&(o[t[s]]=e[t[s]])}return o};import React,{useMemo}from"react";import{classnames,guid}from"@co-hooks/util";import{RcPopper,RcTriggerGroup}from"@rc-hooks/popper";import{useToggle}from"@rc-hooks/use";import{usePrefixCls}from"../../hooks";import{ClickTrigger as PopoverClickTrigger}from"../popover/components/ClickTrigger";import{HoverTrigger as PopoverHoverTrigger}from"../popover/components/HoverTrigger";import{TooltipContent}from"./TooltipContent";export function Tooltip(e){var r=useToggle(!1),o=r[0],t=r[1],s=r[2],a=useMemo((function(){return guid()}),[]),n=useMemo((function(){return[a]}),[]),i=e.trigger,l=void 0===i?"hover":i,p=e.showDelay,c=e.hideDelay,g=void 0===c?0:c,m=e.placement,f=e.offset,v=e.preventOverflow,u=e.overflowBoundaries,h=e.arrow,d=void 0===h||h,w=e.arrowOffset,y=e.getArrow,_=e.hideToDestroy,T=e.lazyInit,O=e.zIndex,C=e.popoverStyle,b=e.className,P=e.content,R=e.children,k=e.disableAnimation,A=e.scaleAnimation,D=e.afterClose,I=e.wrapperClassName,N=e.popoverClassName,x=__rest(e,["trigger","showDelay","hideDelay","placement","offset","preventOverflow","overflowBoundaries","arrow","arrowOffset","getArrow","hideToDestroy","lazyInit","zIndex","popoverStyle","className","content","children","disableAnimation","scaleAnimation","afterClose","wrapperClassName","popoverClassName"]),j=classnames(usePrefixCls("tooltip"),b),z=__assign({className:j},x),E={placement:m,offset:f,preventOverflow:v,overflowBoundaries:u,arrow:d,arrowOffset:w,getArrow:y,hideToDestroy:_,lazyInit:T,zIndex:O,disableAnimation:k,scaleAnimation:A,afterClose:D,wrapperClassName:I,onShow:t,onHide:s};return React.createElement(RcPopper,null,React.createElement(RcTriggerGroup,{triggerGroupId:a},"click"===l&&React.createElement(PopoverClickTrigger,__assign({},z),R),"hover"===l&&React.createElement(PopoverHoverTrigger,__assign({},z,{showDelay:p,hideDelay:g}),R)),React.createElement(TooltipContent,__assign({},E,{className:N,show:o&&!1!==P&&""!==P&&null!=P,content:P,style:C,triggerIds:n})))}