@chief-editor/ui
Version:
UI Component for chief editor
1 lines • 3.95 kB
JavaScript
;var __assign=this&&this.__assign||function(){return(__assign=Object.assign||function(e){for(var t,r=1,a=arguments.length;r<a;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)},__rest=this&&this.__rest||function(e,t){var r={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&t.indexOf(a)<0&&(r[a]=e[a]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(a=Object.getOwnPropertySymbols(e);o<a.length;o++)t.indexOf(a[o])<0&&Object.prototype.propertyIsEnumerable.call(e,a[o])&&(r[a[o]]=e[a[o]])}return r},__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(exports,"__esModule",{value:!0});var dom_1=require("@co-hooks/dom"),animation_1=require("@rc-hooks/animation"),mask_1=require("@rc-hooks/mask"),portal_1=require("@rc-hooks/portal"),use_1=require("@rc-hooks/use"),react_1=__importStar(require("react")),layer_1=require("../../context/layer"),hooks_1=require("../../hooks");function getWrapperStyle(e){return{position:e,top:0,right:0,bottom:0,left:0,pointerEvents:"none"}}function getPositionStyle(e,t){void 0===t&&(t=!1);var r={pointerEvents:t?"none":"auto",position:"absolute",zIndex:2};switch(e.horizontal){case"left":r.left=(e.left||0)+"px";break;case"right":r.right=(e.right||0)+"px";break;case"center":r.left="50%",r.transform="translateX(-50%)";break;case"dock":r.left=(e.left||0)+"px",r.right=(e.right||0)+"px"}switch(e.vertical){case"top":r.top=(e.top||0)+"px";break;case"bottom":r.bottom=(e.bottom||0)+"px";break;case"center":r.top="50%",r.transform="translateY(-50%)";break;case"dock":r.top=(e.top||0)+"px",r.bottom=(e.bottom||0)+"px"}return"center"===e.horizontal&&"center"===e.vertical&&(r.transform="translate(-50%, -50%)"),r}var ACTIVE_POSTION={fixed:!0,absolute:!0,relative:!0};function getWrapperPosition(e){var t=getComputedStyle(e).position;return e===document.body?"fixed":(ACTIVE_POSTION[t||""]||(e.style.position="relative"),"absolute")}function RcDialogFC(e){var t=e.show,r=void 0!==t&&t,a=e.maskClassName,o=e.maskStyle,n=void 0===o?{}:o,i=e.onMaskClick,s=e.children,l=e.getContainer,c=e.zIndex,p=e.mask,u=e.preventPointerEvent,_=void 0!==u&&u,f=e.forceFixed,m=void 0!==f&&f,d=e.wrapperClassName,h=e.wrapperStyle,v=e.animation,g=void 0===v?{disabled:!0}:v,b=e.wrapperRef,y=void 0===b?null:b,k=e.style,x=e.horizontal,C=e.left,O=e.right,S=e.top,w=e.bottom,P=e.vertical,E=__rest(e,["show","maskClassName","maskStyle","onMaskClick","children","getContainer","zIndex","mask","preventPointerEvent","forceFixed","wrapperClassName","wrapperStyle","animation","wrapperRef","style","horizontal","left","right","top","bottom","vertical"]),R={horizontal:x,left:C,right:O,top:S,bottom:w,vertical:P},I=use_1.useRefGetter(l),z=hooks_1.useLayer(),j=react_1.useRef(null),q=react_1.useRef(null),N=use_1.useCombineRef(y,j),M=react_1.useState("absolute"),F=M[0],T=M[1],W=react_1.useMemo((function(){return null!=c?c:dom_1.getZIndex()}),[c,r]),D=react_1.useCallback((function(){var e=I();return e?e():z()}),[]),L=react_1.useCallback((function(){var e=D();e&&T(m?"fixed":getWrapperPosition(e))}),[]);return animation_1.useCSSEnterLeave(j,g),react_1.default.createElement(portal_1.RcPortal,{getContainer:D,onUpdated:L},r&&react_1.default.createElement("div",{ref:N,className:d,style:__assign(__assign({zIndex:W},getWrapperStyle(F)),h)},p&&react_1.default.createElement(mask_1.RcMask,{show:!0,className:a,style:__assign(__assign({},n),{zIndex:1}),onClick:i}),react_1.default.createElement(layer_1.LayerContext.Provider,{value:q},react_1.default.createElement("div",__assign({},E,{ref:q,style:__assign(__assign({},getPositionStyle(R,_)),k)}),s))))}exports.RcDialog=react_1.default.forwardRef((function(e,t){return react_1.default.createElement(RcDialogFC,__assign({},e,{wrapperRef:t}))}));