UNPKG

@chief-editor/ui

Version:

UI Component for chief editor

1 lines 2.91 kB
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 n in r=arguments[o])Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n]);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 n=0;for(t=Object.getOwnPropertySymbols(e);n<t.length;n++)r.indexOf(t[n])<0&&Object.prototype.propertyIsEnumerable.call(e,t[n])&&(o[t[n]]=e[t[n]])}return o};import{RcPopper,RcTriggerGroup}from"@rc-hooks/popper";import{guid}from"@co-hooks/util";import React,{useMemo}from"react";import{ClickTrigger}from"./components/ClickTrigger";import{FocusTrigger}from"./components/FocusTrigger";import{HoverTrigger}from"./components/HoverTrigger";import{ManualTrigger}from"./components/ManualTrigger";import{ContextMenuTrigger}from"./components/ContextMenuTrigger";import{PopoverContent}from"./PopoverContent";export function Popover(e){var r=e.trigger,o=void 0===r?"click":r,t=e.showDelay,n=e.hideDelay,a=e.children,i=e.show,s=e.placement,l=e.offset,g=e.preventOverflow,p=e.overflowBoundaries,c=e.arrow,m=e.arrowOffset,f=e.getArrow,u=e.getPopper,v=e.hideToDestroy,w=e.lazyInit,T=e.zIndex,d=e.onShow,h=e.onHide,y=e.disableToggleClose,_=e.popoverClassName,C=e.popoverStyle,O=e.className,P=e.scaleAnimation,b=e.disableAnimation,R=e.afterClose,M=e.wrapperClassName,x=__rest(e,["trigger","showDelay","hideDelay","children","show","placement","offset","preventOverflow","overflowBoundaries","arrow","arrowOffset","getArrow","getPopper","hideToDestroy","lazyInit","zIndex","onShow","onHide","disableToggleClose","popoverClassName","popoverStyle","className","scaleAnimation","disableAnimation","afterClose","wrapperClassName"]),k=__assign({className:O,disableToggleClose:y},x),A={show:i,placement:s,offset:l,preventOverflow:g,overflowBoundaries:p,arrow:c,arrowOffset:m,getArrow:f,getPopper:u,hideToDestroy:v,lazyInit:w,zIndex:T,onShow:d,onHide:h,scaleAnimation:P,disableAnimation:b,afterClose:R,wrapperClassName:M},D=useMemo((function(){return guid()}),[]),E=useMemo((function(){return[D]}),[]);return React.createElement(RcPopper,null,React.createElement(RcTriggerGroup,{triggerGroupId:D},"click"===o&&React.createElement(ClickTrigger,__assign({},k),a),"focus"===o&&React.createElement(FocusTrigger,__assign({},k),a),"hover"===o&&React.createElement(HoverTrigger,__assign({},k,{showDelay:t,hideDelay:n}),a),"manual"===o&&React.createElement(ManualTrigger,__assign({},k,{show:i}),a),"contextmenu"===o&&React.createElement(ContextMenuTrigger,__assign({},k),a)),React.createElement(PopoverContent,__assign({},A,{style:C,className:_,triggerIds:E})))}Popover.ClickTrigger=ClickTrigger,Popover.HoverTrigger=HoverTrigger,Popover.FocusTrigger=FocusTrigger,Popover.ManualTrigger=ManualTrigger;