@chief-editor/ui
Version:
UI Component for chief editor
1 lines • 2.48 kB
JavaScript
;var __assign=this&&this.__assign||function(){return(__assign=Object.assign||function(r){for(var e,t=1,o=arguments.length;t<o;t++)for(var s in e=arguments[t])Object.prototype.hasOwnProperty.call(e,s)&&(r[s]=e[s]);return r}).apply(this,arguments)},__rest=this&&this.__rest||function(r,e){var t={};for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&e.indexOf(o)<0&&(t[o]=r[o]);if(null!=r&&"function"==typeof Object.getOwnPropertySymbols){var s=0;for(o=Object.getOwnPropertySymbols(r);s<o.length;s++)e.indexOf(o[s])<0&&Object.prototype.propertyIsEnumerable.call(r,o[s])&&(t[o[s]]=r[o[s]])}return t},__importStar=this&&this.__importStar||function(r){if(r&&r.__esModule)return r;var e={};if(null!=r)for(var t in r)Object.hasOwnProperty.call(r,t)&&(e[t]=r[t]);return e.default=r,e};Object.defineProperty(exports,"__esModule",{value:!0});var dom_1=require("@rc-hooks/dom"),util_1=require("@co-hooks/util"),react_1=__importStar(require("react")),hooks_1=require("../../hooks"),PopoverWrapper_1=require("./PopoverWrapper"),dirPrefix={left:-1,top:-1,right:1,bottom:1},arrowOffsetForPlacement={"left-start":{x:0,y:10},"left-end":{x:0,y:-10},"right-start":{x:0,y:10},"right-end":{x:0,y:-10},"top-start":{x:16,y:0},"top-end":{x:-16,y:0},"bottom-start":{x:16,y:0},"bottom-end":{x:-16,y:0}};function PopoverContent(r){var e=r.triggerIds,t=r.arrow,o=r.offset,s=void 0===o?dom_1.getDefaultOffset():o,a=r.placement,i=void 0===a?"bottom-start":a,n=r.className,p=r.arrowOffset,f=__rest(r,["triggerIds","arrow","offset","placement","className","arrowOffset"]),l=util_1.classnames(hooks_1.usePrefixCls("popover"),n),c=__assign({},s);if(t){var _=i.split("-")[0],u="top"===_||"bottom"===_;Object.assign(c,{x:s.x+(u?0:10*dirPrefix[_]),y:s.y+(u?10*dirPrefix[_]:0)})}var m={left:hooks_1.usePrefixCls("popover-arrow",{dir:"left"}),right:hooks_1.usePrefixCls("popover-arrow",{dir:"right"}),top:hooks_1.usePrefixCls("popover-arrow",{dir:"top"}),bottom:hooks_1.usePrefixCls("popover-arrow",{dir:"bottom"})},d=hooks_1.usePrefixCls("popover-arrow-inner"),v=react_1.useCallback((function(r){var e=m[r.arrowDirection];return react_1.default.createElement("span",{className:e},react_1.default.createElement("span",{className:d}))}),[]);return react_1.default.createElement(PopoverWrapper_1.PopoverWrapper,__assign({},f,{className:l,getArrow:v,arrow:t,placement:i,offset:c,triggerIds:e,arrowOffset:p||arrowOffsetForPlacement[i]||dom_1.getDefaultOffset()}))}exports.PopoverContent=PopoverContent;