vxe-pc-ui 4.3.58 → 4.3.59

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/es/icon/style.css +1 -1
  2. package/es/modal/src/modal.js +31 -21
  3. package/es/style.css +1 -1
  4. package/es/style.min.css +1 -1
  5. package/es/ui/index.js +1 -1
  6. package/es/ui/src/log.js +1 -1
  7. package/lib/icon/style/style.css +1 -1
  8. package/lib/icon/style/style.min.css +1 -1
  9. package/lib/index.umd.js +23 -21
  10. package/lib/index.umd.min.js +1 -1
  11. package/lib/modal/src/modal.js +21 -19
  12. package/lib/modal/src/modal.min.js +1 -1
  13. package/lib/style.css +1 -1
  14. package/lib/style.min.css +1 -1
  15. package/lib/ui/index.js +1 -1
  16. package/lib/ui/index.min.js +1 -1
  17. package/lib/ui/src/log.js +1 -1
  18. package/lib/ui/src/log.min.js +1 -1
  19. package/package.json +1 -1
  20. package/packages/modal/src/modal.ts +30 -21
  21. package/types/components/table.d.ts +8 -0
  22. /package/es/icon/{iconfont.1735882030135.ttf → iconfont.1735897721275.ttf} +0 -0
  23. /package/es/icon/{iconfont.1735882030135.woff → iconfont.1735897721275.woff} +0 -0
  24. /package/es/icon/{iconfont.1735882030135.woff2 → iconfont.1735897721275.woff2} +0 -0
  25. /package/es/{iconfont.1735882030135.ttf → iconfont.1735897721275.ttf} +0 -0
  26. /package/es/{iconfont.1735882030135.woff → iconfont.1735897721275.woff} +0 -0
  27. /package/es/{iconfont.1735882030135.woff2 → iconfont.1735897721275.woff2} +0 -0
  28. /package/lib/icon/style/{iconfont.1735882030135.ttf → iconfont.1735897721275.ttf} +0 -0
  29. /package/lib/icon/style/{iconfont.1735882030135.woff → iconfont.1735897721275.woff} +0 -0
  30. /package/lib/icon/style/{iconfont.1735882030135.woff2 → iconfont.1735897721275.woff2} +0 -0
  31. /package/lib/{iconfont.1735882030135.ttf → iconfont.1735897721275.ttf} +0 -0
  32. /package/lib/{iconfont.1735882030135.woff → iconfont.1735897721275.woff} +0 -0
  33. /package/lib/{iconfont.1735882030135.woff2 → iconfont.1735897721275.woff2} +0 -0
@@ -411,20 +411,18 @@ var _default = exports.default = (0, _vue.defineComponent)({
411
411
  const hasPosStorage = () => {
412
412
  const {
413
413
  id,
414
- remember,
415
414
  storage,
416
415
  storageKey
417
416
  } = props;
418
- return !!(id && remember && storage && getStorageMap(storageKey)[id]);
417
+ return !!(id && storage && getStorageMap(storageKey)[id]);
419
418
  };
420
419
  const restorePosStorage = () => {
421
420
  const {
422
421
  id,
423
- remember,
424
422
  storage,
425
423
  storageKey
426
424
  } = props;
427
- if (id && remember && storage) {
425
+ if (id && storage) {
428
426
  const posStorage = getStorageMap(storageKey)[id];
429
427
  if (posStorage) {
430
428
  const boxElem = getBox();
@@ -467,14 +465,17 @@ var _default = exports.default = (0, _vue.defineComponent)({
467
465
  const savePosStorage = () => {
468
466
  const {
469
467
  id,
470
- remember,
471
468
  storage,
472
469
  storageKey
473
470
  } = props;
474
471
  const {
472
+ zoomStatus,
475
473
  revertLocat
476
474
  } = reactData;
477
- if (id && remember && storage) {
475
+ if (zoomStatus) {
476
+ return;
477
+ }
478
+ if (id && storage) {
478
479
  const boxElem = getBox();
479
480
  if (!boxElem) {
480
481
  return;
@@ -710,21 +711,24 @@ var _default = exports.default = (0, _vue.defineComponent)({
710
711
  const {
711
712
  firstOpen
712
713
  } = reactData;
713
- if (!remember || firstOpen) {
714
- updatePosition().then(() => {
715
- setTimeout(() => updatePosition(), 20);
716
- });
717
- }
718
714
  if (firstOpen) {
719
715
  reactData.firstOpen = false;
720
716
  if (hasPosStorage()) {
721
717
  restorePosStorage();
722
- } else if (fullscreen) {
723
- (0, _vue.nextTick)(() => handleMaximize());
718
+ } else {
719
+ if (fullscreen) {
720
+ (0, _vue.nextTick)(() => handleMaximize());
721
+ } else {
722
+ updatePosition().then(() => {
723
+ setTimeout(() => updatePosition(), 20);
724
+ });
725
+ }
724
726
  }
725
727
  } else {
726
- if (fullscreen) {
727
- (0, _vue.nextTick)(() => handleMaximize());
728
+ if (!remember) {
729
+ updatePosition().then(() => {
730
+ setTimeout(() => updatePosition(), 20);
731
+ });
728
732
  }
729
733
  }
730
734
  });
@@ -897,7 +901,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
897
901
  };
898
902
  const mousedownEvent = evnt => {
899
903
  const {
900
- remember,
901
904
  storage
902
905
  } = props;
903
906
  const {
@@ -950,7 +953,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
950
953
  document.onmouseup = () => {
951
954
  document.onmousemove = domMousemove;
952
955
  document.onmouseup = domMouseup;
953
- if (remember && storage) {
956
+ if (storage) {
954
957
  (0, _vue.nextTick)(() => {
955
958
  savePosStorage();
956
959
  });
@@ -964,7 +967,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
964
967
  const dragEvent = evnt => {
965
968
  evnt.preventDefault();
966
969
  const {
967
- remember,
968
970
  storage
969
971
  } = props;
970
972
  const {
@@ -1105,7 +1107,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
1105
1107
  break;
1106
1108
  }
1107
1109
  boxElem.className = boxElem.className.replace(/\s?is--drag/, '') + ' is--drag';
1108
- if (remember && storage) {
1110
+ if (storage) {
1109
1111
  savePosStorage();
1110
1112
  }
1111
1113
  dispatchEvent('resize', params, evnt);
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.allActiveModals=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_ui=require("../../ui"),_button=_interopRequireDefault(require("../../button/src/button")),_index=_interopRequireDefault(require("../../loading/index")),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const allActiveModals=exports.allActiveModals=[],msgQueue=[],notifyQueue=[],lockScrollAttrKey="data-vxe-lock-scroll",lockScrollCssWidthKey="--vxe-ui-modal-lock-scroll-view-width";var _default=exports.default=(0,_vue.defineComponent)({name:"VxeModal",props:{modelValue:Boolean,id:String,type:{type:String,default:"modal"},loading:{type:Boolean,default:null},status:String,iconStatus:String,className:String,top:{type:[Number,String],default:()=>(0,_ui.getConfig)().modal.top},position:[String,Object],title:String,duration:{type:[Number,String],default:()=>(0,_ui.getConfig)().modal.duration},content:[Number,String],showCancelButton:{type:Boolean,default:null},cancelButtonText:{type:String,default:()=>(0,_ui.getConfig)().modal.cancelButtonText},showConfirmButton:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.showConfirmButton},confirmButtonText:{type:String,default:()=>(0,_ui.getConfig)().modal.confirmButtonText},lockView:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.lockView},lockScroll:Boolean,mask:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.mask},maskClosable:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.maskClosable},escClosable:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.escClosable},cancelClosable:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.cancelClosable},confirmClosable:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.confirmClosable},resize:Boolean,showHeader:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.showHeader},showFooter:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.showFooter},showZoom:Boolean,zoomConfig:Object,showMaximize:{type:Boolean,default:()=>(0,_utils.handleBooleanDefaultValue)((0,_ui.getConfig)().modal.showMaximize)},showMinimize:{type:Boolean,default:()=>(0,_utils.handleBooleanDefaultValue)((0,_ui.getConfig)().modal.showMinimize)},showClose:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.showClose},dblclickZoom:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.dblclickZoom},width:[Number,String],height:[Number,String],minWidth:{type:[Number,String],default:()=>(0,_ui.getConfig)().modal.minWidth},minHeight:{type:[Number,String],default:()=>(0,_ui.getConfig)().modal.minHeight},zIndex:Number,marginSize:{type:[Number,String],default:()=>(0,_ui.getConfig)().modal.marginSize},fullscreen:Boolean,draggable:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.draggable},remember:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.remember},destroyOnClose:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.destroyOnClose},showTitleOverflow:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.showTitleOverflow},transfer:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.transfer},storage:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.storage},storageKey:{type:String,default:()=>(0,_ui.getConfig)().modal.storageKey},padding:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.padding},size:{type:String,default:()=>(0,_ui.getConfig)().modal.size||(0,_ui.getConfig)().size},beforeHideMethod:Function,slots:Object,message:[Number,String],animat:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.animat}},emits:["update:modelValue","show","hide","before-hide","close","confirm","cancel","zoom","resize","move"],setup(w,e){const{slots:S,emit:s}=e,a=_xeUtils.default.uniqueId(),N=(0,_ui.useSize)(w)["computeSize"],k=(0,_vue.reactive)({initialized:!1,visible:!1,contentVisible:!1,modalTop:0,modalZindex:0,prevZoomStatus:"",zoomStatus:"",revertLocat:null,prevLocat:null,firstOpen:!0}),t={msgTimeout:void 0},B=(0,_vue.ref)(),O=(0,_vue.ref)(),T=(0,_vue.ref)(),n=(0,_vue.ref)(),u=(0,_vue.ref)(),o={refElem:B},M=(0,_vue.computed)(()=>"message"===w.type||"notification"===w.type),V=(0,_vue.computed)(()=>"minimize"===k.zoomStatus),z=(0,_vue.computed)(()=>"maximize"===k.zoomStatus),l=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().modal.zoomConfig,w.zoomConfig)),A={computeSize:N,computeZoomOpts:l},U={xID:a,props:w,context:e,reactData:k,internalData:t,getRefMaps:()=>o,getComputeMaps:()=>A};const C=()=>{return O.value},r=()=>{var{width:e,height:t}=w,o=C();return o&&(o.style.width=e?(0,_dom.toCssUnit)(e):"",o.style.height=t?(0,_dom.toCssUnit)(t):""),(0,_vue.nextTick)()},d=()=>{var e=w["zIndex"],t=k["modalZindex"];e?k.modalZindex=e:t<(0,_utils.getLastZIndex)()&&(k.modalZindex=(0,_utils.nextZIndex)())},c=()=>(0,_vue.nextTick)().then(()=>{var o=w["position"],i=_xeUtils.default.toNumber(w.marginSize),l=C();if(l){var a=document.documentElement.clientWidth||document.body.clientWidth,s=document.documentElement.clientHeight||document.body.clientHeight,n="center"===o,{top:o,left:u}=_xeUtils.default.isString(o)?{top:o,left:o}:Object.assign({},o),r=n||"center"===o;let e="",t="";t=u&&!(n||"center"===u)?isNaN(u)?u:u+"px":Math.max(i,a/2-l.offsetWidth/2)+"px",e=o&&!r?isNaN(o)?o:o+"px":Math.max(i,s/2-l.offsetHeight/2)+"px",l.style.top=e,l.style.left=t}}),v=()=>{(0,_vue.nextTick)(()=>{var e=w["type"],e="notification"===e?notifyQueue:msgQueue;let o=0;e.forEach(e=>{var t=e.getBox();t&&(o+=_xeUtils.default.toNumber(e.props.top),e.reactData.modalTop=o,o+=t.clientHeight)})})},m=()=>{var e=w["type"],e="notification"===e?notifyQueue:msgQueue;-1<e.indexOf(U)&&_xeUtils.default.remove(e,e=>e===U),v()},i=e=>{const t=w["remember"];var o=k["visible"];const i=M.value;var l=w.beforeHideMethod||(0,_ui.getConfig)().modal.beforeHideMethod;const a={type:e};return o&&Promise.resolve(l?l(a):null).then(e=>{_xeUtils.default.isError(e)||(i&&m(),k.contentVisible=!1,t||b(),_xeUtils.default.remove(allActiveModals,e=>e===U),I("before-hide",a,null),setTimeout(()=>{k.visible=!1,s("update:modelValue",!1),I("hide",a,null)},200),h())}).catch(e=>e),(0,_vue.nextTick)()},Z=e=>{var t="close";I(t,{type:t},e),i(t)},E=e=>{var t=w["confirmClosable"],o="confirm";I(o,{type:o},e),t&&i(o)},$=e=>{var t=w["cancelClosable"],o="cancel";I(o,{type:o},e),t&&i(o)},f=e=>{var t=(0,_ui.getConfig)().version,e=_xeUtils.default.toStringJSON(localStorage.getItem(e)||"");return e&&e._v===t?e:{_v:t}},D=()=>{var{id:e,remember:t,storage:o,storageKey:i}=w,l=k["revertLocat"];e&&t&&o&&(t=C())&&((o=f(i))[e]=[t.style.left,t.style.top,t.style.width,t.style.height].concat(l?[l.left,l.top,l.width,l.height]:[]).map(e=>e?_xeUtils.default.toNumber(e):"").join(","),localStorage.setItem(i,_xeUtils.default.toJSONString(o)))},g=()=>{const{minimizeLayout:e,minimizeMaxSize:t,minimizeHorizontalOffset:s,minimizeVerticalOffset:n,minimizeOffsetMethod:u}=l.value,r="horizontal"===e,m=k.zoomStatus,o=[],i=[],d=(allActiveModals.forEach(e=>{e.xID!==U.xID&&"modal"===e.props.type&&"minimize"===e.reactData.zoomStatus&&("horizontal"===e.getComputeMaps().computeZoomOpts.value.minimizeLayout?o:i).push(e)}),r?o:i);return t&&d.length>=t?(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:(0,_ui.getI18n)("vxe.modal.miniMaxSize",[t])}),Promise.resolve({status:!1})):(k.prevZoomStatus=m,k.zoomStatus="minimize",(0,_vue.nextTick)().then(()=>{var e=C();if(!e)return{status:!1};var t=T.value;if(!t)return{status:!1};var o=(0,_dom.getDomNode)()["visibleHeight"],i=(m||(k.revertLocat={top:e.offsetTop,left:e.offsetLeft,width:e.offsetWidth+(e.style.width?0:1),height:e.offsetHeight+(e.style.height?0:1)}),_xeUtils.default[r?"max":"min"](d,e=>{e=e.getBox();return e?_xeUtils.default.toNumber(e.style[r?"left":"top"]):0}));let l=o-t.offsetHeight-16,a=16;if(i){o=i.getBox();if(o){i=_xeUtils.default.toNumber(o.style.left),o=_xeUtils.default.toNumber(o.style.top);let e={};e=r?Object.assign({},s):Object.assign({},n),a=i+_xeUtils.default.toNumber(e.left),l=o+_xeUtils.default.toNumber(e.top),u&&(e=u({$modal:U,left:a,top:l}),a=_xeUtils.default.toNumber(e.left),l=_xeUtils.default.toNumber(e.top))}}return Object.assign(e.style,{top:l+"px",left:a+"px",width:"200px",height:t.offsetHeight+"px"}),D(),{status:!0}}))},p=()=>{const t=k.zoomStatus;return k.prevZoomStatus=t,k.zoomStatus="maximize",(0,_vue.nextTick)().then(()=>{var e=C();return e&&(t||(k.revertLocat={top:e.offsetTop,left:e.offsetLeft,width:e.offsetWidth+(e.style.width?0:1),height:e.offsetHeight+(e.style.height?0:1)}),Object.assign(e.style,{top:"0",left:"0",width:"100%",height:"100%"})),D(),{status:!0}})},_=()=>{var e=w["duration"];-1!==e&&(t.msgTimeout=setTimeout(()=>i("close"),_xeUtils.default.toNumber(e)))},h=()=>{var e=document.documentElement,t=e.getAttribute(lockScrollAttrKey);t&&((t=t.split(",").filter(e=>e!==a)).length?e.setAttribute(lockScrollAttrKey,t.join(",")):(e.removeAttribute(lockScrollAttrKey),e.style.removeProperty(lockScrollCssWidthKey)))},x=()=>{const{remember:m,showFooter:o}=w;var e,{initialized:t,visible:i}=k,l=M.value;return t||(k.initialized=!0),i||(t=w.lockScroll,i=M.value,t&&!i&&(t=document.documentElement,i=document.body.clientWidth,(e=(e=t.getAttribute(lockScrollAttrKey))?e.split(","):[]).includes(a)||(e.push(a),t.setAttribute(lockScrollAttrKey,e.join(","))),t.style.setProperty(lockScrollCssWidthKey,i+"px")),k.visible=!0,k.contentVisible=!1,d(),allActiveModals.push(U),m||(0,_vue.nextTick)(()=>{r()}),setTimeout(()=>{k.contentVisible=!0,(0,_vue.nextTick)(()=>{o&&(e=n.value,t=u.value,e=e||t)&&e.focus();var e,t={type:""};s("update:modelValue",!0),I("show",t,null)})},10),l?(-1===(e="notification"===(e=w.type)?notifyQueue:msgQueue).indexOf(U)&&e.push(U),v(),_()):(0,_vue.nextTick)(()=>{var e,t,o,i,l,a,s,n,u=w["fullscreen"],r=k["firstOpen"];m&&!r||c().then(()=>{setTimeout(()=>c(),20)}),r&&(k.firstOpen=!1,(()=>{var{id:e,remember:t,storage:o,storageKey:i}=w;return!!(e&&t&&o&&f(i)[e])})())?({id:r,remember:a,storage:s,storageKey:n}=w,r&&a&&s&&(a=f(n)[r])&&(s=C(),[n,r,a,e,t,o,i,l]=a.split(","),s&&(n&&(s.style.left=n+"px"),r&&(s.style.top=r+"px"),a&&(s.style.width=a+"px"),e)&&(s.style.height=e+"px"),t)&&o&&(k.revertLocat={left:t,top:o,width:i,height:l})):u&&(0,_vue.nextTick)(()=>p())})),(0,_vue.nextTick)()},H=e=>{var t=B.value;w.maskClosable&&e.target===t&&i("mask")},j=()=>{var e=t["msgTimeout"];e&&M.value&&(clearTimeout(e),t.msgTimeout=void 0)},K=()=>{var e=t["msgTimeout"];e||M.value&&_()},W=e=>{if(_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ESCAPE)){const t=_xeUtils.default.max(allActiveModals,e=>e.reactData.modalZindex);t&&setTimeout(()=>{t===U&&t.props.escClosable&&(I("close",{type:"exit"},e),i("exit"))},10)}};const b=()=>(k.prevZoomStatus=k.zoomStatus,(k.zoomStatus="",_vue.nextTick)().then(()=>{var e,t=k["revertLocat"];return t?(e=C(),k.revertLocat=null,e&&Object.assign(e.style,{top:t.top+"px",left:t.left+"px",width:t.width+"px",height:t.height+"px"}),D(),(0,_vue.nextTick)().then(()=>({status:!0}))):{status:!1}})),y=t=>{const o=k["zoomStatus"];return new Promise(e=>{if(t)return"maximize"===t?void e(p()):"minimize"===t?void e(g()):void e(b());e((o?b:p)())}).then(()=>k.zoomStatus||"revert")},q=t=>{var{zoomStatus:e,prevZoomStatus:o}=k;return y("minimize"===e?o||"revert":"minimize").then(e=>{e={type:e};I("zoom",e,t)})},L=t=>y().then(e=>{e={type:e};I("zoom",e,t)});const P=()=>{const t=k["modalZindex"];allActiveModals.some(e=>e.reactData.visible&&e.reactData.modalZindex>t)&&d()},Y=e=>{const{remember:t,storage:o}=w;var i=k["zoomStatus"];const n=_xeUtils.default.toNumber(w.marginSize),u=C();if(u&&"maximize"!==i&&0===e.button&&!(0,_dom.getEventTargetNode)(e,u,"trigger--btn").flag){e.preventDefault();const l=document.onmousemove,a=document.onmouseup,r=e.clientX-u.offsetLeft,m=e.clientY-u.offsetTop,{visibleHeight:d,visibleWidth:c}=(0,_dom.getDomNode)();document.onmousemove=e=>{e.preventDefault();var t=u.offsetWidth,o=u.offsetHeight,i=n,t=c-t-n-1,l=n,o=d-o-n-1;let a=e.clientX-r,s=e.clientY-m;(a=a>t?t:a)<i&&(a=i),(s=s>o?o:s)<l&&(s=l),u.style.left=a+"px",u.style.top=s+"px",u.className=u.className.replace(/\s?is--drag/,"")+" is--drag",I("move",{type:"move"},e)},document.onmouseup=()=>{document.onmousemove=l,document.onmouseup=a,t&&o&&(0,_vue.nextTick)(()=>{D()}),setTimeout(()=>{u.className=u.className.replace(/\s?is--drag/,"")},50)}}},X=e=>{e.preventDefault();const{remember:a,storage:s}=w,{visibleHeight:n,visibleWidth:u}=(0,_dom.getDomNode)(),r=_xeUtils.default.toNumber(w.marginSize);const m=e.target.getAttribute("type"),d=_xeUtils.default.toNumber(w.minWidth),c=_xeUtils.default.toNumber(w.minHeight),v=u,f=n,g=C(),t=document.onmousemove,o=document.onmouseup,p=g.clientWidth,_=g.clientHeight,h=e.clientX,x=e.clientY,b=g.offsetTop,y=g.offsetLeft,z={type:"resize"};document.onmousemove=e=>{e.preventDefault();let t,o,i,l;switch(m){case"wl":t=h-e.clientX,i=t+p,y-t>r&&i>d&&(g.style.width=`${i<v?i:v}px`,g.style.left=y-t+"px");break;case"swst":t=h-e.clientX,o=x-e.clientY,i=t+p,l=o+_,y-t>r&&i>d&&(g.style.width=`${i<v?i:v}px`,g.style.left=y-t+"px"),b-o>r&&l>c&&(g.style.height=`${l<f?l:f}px`,g.style.top=b-o+"px");break;case"swlb":t=h-e.clientX,o=e.clientY-x,i=t+p,l=o+_,y-t>r&&i>d&&(g.style.width=`${i<v?i:v}px`,g.style.left=y-t+"px"),b+l+r<n&&l>c&&(g.style.height=`${l<f?l:f}px`);break;case"st":o=x-e.clientY,l=_+o,b-o>r&&l>c&&(g.style.height=`${l<f?l:f}px`,g.style.top=b-o+"px");break;case"wr":t=e.clientX-h,i=t+p,y+i+r<u&&i>d&&(g.style.width=`${i<v?i:v}px`);break;case"sest":t=e.clientX-h,o=x-e.clientY,i=t+p,l=o+_,y+i+r<u&&i>d&&(g.style.width=`${i<v?i:v}px`),b-o>r&&l>c&&(g.style.height=`${l<f?l:f}px`,g.style.top=b-o+"px");break;case"selb":t=e.clientX-h,o=e.clientY-x,i=t+p,l=o+_,y+i+r<u&&i>d&&(g.style.width=`${i<v?i:v}px`),b+l+r<n&&l>c&&(g.style.height=`${l<f?l:f}px`);break;case"sb":o=e.clientY-x,l=o+_,b+l+r<n&&l>c&&(g.style.height=`${l<f?l:f}px`)}g.className=g.className.replace(/\s?is--drag/,"")+" is--drag",a&&s&&D(),I("resize",z,e)},document.onmouseup=()=>{k.revertLocat=null,document.onmousemove=t,document.onmouseup=o,setTimeout(()=>{g.className=g.className.replace(/\s?is--drag/,"")},50)}},I=(e,t,o)=>{s(e,(0,_ui.createEvent)(o,{$modal:U},t))},F=(e={dispatchEvent:I,open:x,close(){return i("close")},getBox:C,getPosition:()=>{if(!M.value){var e=C();if(e)return{top:e.offsetTop,left:e.offsetLeft}}return null},setPosition:(e,t)=>{var o;return M.value||(o=C())&&(_xeUtils.default.isNumber(e)&&(o.style.top=e+"px"),_xeUtils.default.isNumber(t))&&(o.style.left=t+"px"),(0,_vue.nextTick)()},isMinimized:()=>"minimize"===k.zoomStatus,isMaximized:()=>"maximize"===k.zoomStatus,zoom(){return y()},minimize(){return k.visible?g():Promise.resolve({status:!1})},maximize(){return k.visible?p():Promise.resolve({status:!1})},revert(){return k.visible?b():Promise.resolve({status:!1})}},Object.assign(U,e),()=>{var{slots:e={},showClose:t,showZoom:o,showMaximize:i,showMinimize:l,title:a}=w,s=k["zoomStatus"],n=S.title||e.title,e=S.corner||e.corner,u=V.value,r=z.value;return[(0,_vue.h)("div",{class:"vxe-modal--header-title"},n?(0,_vn.getSlotVNs)(n({$modal:U,minimized:u,maximized:r})):a?(0,_utils.getFuncText)(a):(0,_ui.getI18n)("vxe.alert.title")),(0,_vue.h)("div",{class:"vxe-modal--header-right"},[e&&!u?(0,_vue.h)("div",{class:"vxe-modal--corner-wrapper"},(0,_vn.getSlotVNs)(e({$modal:U}))):(0,_vue.createCommentVNode)(),(_xeUtils.default.isBoolean(l)?l:o)?(0,_vue.h)("div",{class:["vxe-modal--zoom-btn","trigger--btn"],title:(0,_ui.getI18n)("vxe.modal.zoom"+("minimize"===s?"Out":"Min")),onClick:q},[(0,_vue.h)("i",{class:"minimize"===s?(0,_ui.getIcon)().MODAL_ZOOM_REVERT:(0,_ui.getIcon)().MODAL_ZOOM_MIN})]):(0,_vue.createCommentVNode)(),(_xeUtils.default.isBoolean(i)?i:o)&&"minimize"!==s?(0,_vue.h)("div",{class:["vxe-modal--zoom-btn","trigger--btn"],title:(0,_ui.getI18n)("vxe.modal.zoom"+("maximize"===s?"Out":"In")),onClick:L},[(0,_vue.h)("i",{class:"maximize"===s?(0,_ui.getIcon)().MODAL_ZOOM_OUT:(0,_ui.getIcon)().MODAL_ZOOM_IN})]):(0,_vue.createCommentVNode)(),t?(0,_vue.h)("div",{class:["vxe-modal--close-btn","trigger--btn"],title:(0,_ui.getI18n)("vxe.modal.close"),onClick:Z},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().MODAL_CLOSE})]):(0,_vue.createCommentVNode)()])]}),Q=()=>{var{slots:e={},showCancelButton:t,showConfirmButton:o,type:i,loading:l}=w,a=S.leftfoot||e.leftfoot,e=S.rightfoot||e.rightfoot,s=[];return(_xeUtils.default.isBoolean(t)?t:"confirm"===i)&&s.push((0,_vue.h)(_button.default,{key:1,ref:u,content:w.cancelButtonText||(0,_ui.getI18n)("vxe.button.cancel"),onClick:$})),(_xeUtils.default.isBoolean(o)?o:"confirm"===i||"alert"===i)&&s.push((0,_vue.h)(_button.default,{key:2,ref:n,loading:l,status:"primary",content:w.confirmButtonText||(0,_ui.getI18n)("vxe.button.confirm"),onClick:E})),(0,_vue.h)("div",{class:"vxe-modal--footer-wrapper"},[(0,_vue.h)("div",{class:"vxe-modal--footer-left"},a?(0,_vn.getSlotVNs)(a({$modal:U})):[]),(0,_vue.h)("div",{class:"vxe-modal--footer-right"},e?(0,_vn.getSlotVNs)(e({$modal:U})):s)])};return U.renderVN=()=>{var{slots:e={},className:t,type:o,animat:i,draggable:l,iconStatus:a,position:s,loading:n,destroyOnClose:u,status:r,lockScroll:m,padding:d,lockView:c,mask:v,resize:f}=w,{initialized:g,modalTop:p,contentVisible:_,visible:h,zoomStatus:x}=k,e=S.aside||e.aside,b=N.value,y=M.value,z=V.value,C={};return y&&(C.onMouseover=j,C.onMouseout=K),(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!w.transfer||!g},[(0,_vue.h)("div",Object.assign({ref:B,class:["vxe-modal--wrapper","type--"+o,"zoom--"+(x||"revert"),t||"",s?"pos--"+s:"",{["size--"+b]:b,["status--"+r]:r,"is--padding":d,"is--animat":i,"lock--scroll":m,"lock--view":c,"is--draggable":l,"is--resize":f,"is--mask":v,"is--visible":_,"is--active":h,"is--loading":n}],style:{zIndex:k.modalZindex,top:p?p+"px":null},onClick:H},C),[(0,_vue.h)("div",{ref:O,class:"vxe-modal--box",onMousedown:P},[!y&&!e||z?(0,_vue.createCommentVNode)():(0,_vue.h)("div",{class:"vxe-modal--aside"},e?(0,_vn.getSlotVNs)(e({$modal:U})):[r||a?(0,_vue.h)("div",{class:"vxe-modal--status-wrapper"},[(0,_vue.h)("i",{class:["vxe-modal--status-icon",a||(0,_ui.getIcon)()[("MODAL_"+r).toLocaleUpperCase()]]})]):(0,_vue.createCommentVNode)()]),(0,_vue.h)("div",{class:"vxe-modal--container"},!k.initialized||u&&!k.visible?[]:[(()=>{var e,{slots:t={},showZoom:o,showMaximize:i,draggable:l}=w,a=M.value,t=S.header||t.header;return w.showHeader?(e={},l&&(e.onMousedown=Y),(_xeUtils.default.isBoolean(i)?i:o)&&w.dblclickZoom&&"modal"===w.type&&(e.onDblclick=L),(0,_vue.h)("div",Object.assign({ref:T,class:["vxe-modal--header",{"is--ellipsis":!a&&w.showTitleOverflow}]},e),t?(0,_vn.getSlotVNs)(t({$modal:U})):F())):(0,_vue.createCommentVNode)()})(),(()=>{var{slots:e={},status:t,message:o,iconStatus:i}=w,o=w.content||o,l=M.value,a=S.default||e.default,s=S.left||e.left,e=S.right||e.right,n=[];return l||!t&&!i||n.push((0,_vue.h)("div",{class:"vxe-modal--status-wrapper"},[(0,_vue.h)("i",{class:["vxe-modal--status-icon",i||(0,_ui.getIcon)()[("MODAL_"+t).toLocaleUpperCase()]]})])),n.push((0,_vue.h)("div",{class:"vxe-modal--content"},a?(0,_vn.getSlotVNs)(a({$modal:U})):(0,_utils.getFuncText)(o))),(0,_vue.h)("div",{class:"vxe-modal--body"},[s?(0,_vue.h)("div",{class:"vxe-modal--body-left"},(0,_vn.getSlotVNs)(s({$modal:U}))):(0,_vue.createCommentVNode)(),(0,_vue.h)("div",{class:"vxe-modal--body-default"},n),e?(0,_vue.h)("div",{class:"vxe-modal--body-right"},(0,_vn.getSlotVNs)(e({$modal:U}))):(0,_vue.createCommentVNode)(),l?(0,_vue.createCommentVNode)():(0,_vue.h)(_index.default,{class:"vxe-modal--loading",modelValue:w.loading})])})(),(()=>{var{slots:e={}}=w,e=S.footer||e.footer;return w.showFooter?(0,_vue.h)("div",{class:"vxe-modal--footer"},e?(0,_vn.getSlotVNs)(e({$modal:U})):[Q()]):(0,_vue.createCommentVNode)()})(),!y&&f?(0,_vue.h)("span",{class:"vxe-modal--resize"},["wl","wr","swst","sest","st","swlb","selb","sb"].map(e=>(0,_vue.h)("span",{class:e+"-resize",type:e,onMousedown:X}))):(0,_vue.createCommentVNode)()])])])])},(0,_vue.watch)(()=>w.width,r),(0,_vue.watch)(()=>w.height,r),(0,_vue.watch)(()=>w.modelValue,e=>{e?x():i("model")}),(0,_vue.onMounted)(()=>{"development"===process.env.NODE_ENV&&"modal"===w.type&&w.showFooter&&!(w.showConfirmButton||w.showCancelButton||S.footer)&&(0,_log.warnLog)("vxe.modal.footPropErr"),(0,_vue.nextTick)(()=>{w.storage&&!w.id&&(0,_log.errLog)("vxe.error.reqProp",["modal.id"]),w.modelValue&&x(),r()}),w.escClosable&&_ui.globalEvents.on(U,"keydown",W)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(U,"keydown"),m(),h()}),(0,_vue.provide)("$xeModal",U),U},render(){return this.renderVN()}});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.allActiveModals=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_ui=require("../../ui"),_button=_interopRequireDefault(require("../../button/src/button")),_index=_interopRequireDefault(require("../../loading/index")),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const allActiveModals=exports.allActiveModals=[],msgQueue=[],notifyQueue=[],lockScrollAttrKey="data-vxe-lock-scroll",lockScrollCssWidthKey="--vxe-ui-modal-lock-scroll-view-width";var _default=exports.default=(0,_vue.defineComponent)({name:"VxeModal",props:{modelValue:Boolean,id:String,type:{type:String,default:"modal"},loading:{type:Boolean,default:null},status:String,iconStatus:String,className:String,top:{type:[Number,String],default:()=>(0,_ui.getConfig)().modal.top},position:[String,Object],title:String,duration:{type:[Number,String],default:()=>(0,_ui.getConfig)().modal.duration},content:[Number,String],showCancelButton:{type:Boolean,default:null},cancelButtonText:{type:String,default:()=>(0,_ui.getConfig)().modal.cancelButtonText},showConfirmButton:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.showConfirmButton},confirmButtonText:{type:String,default:()=>(0,_ui.getConfig)().modal.confirmButtonText},lockView:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.lockView},lockScroll:Boolean,mask:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.mask},maskClosable:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.maskClosable},escClosable:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.escClosable},cancelClosable:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.cancelClosable},confirmClosable:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.confirmClosable},resize:Boolean,showHeader:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.showHeader},showFooter:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.showFooter},showZoom:Boolean,zoomConfig:Object,showMaximize:{type:Boolean,default:()=>(0,_utils.handleBooleanDefaultValue)((0,_ui.getConfig)().modal.showMaximize)},showMinimize:{type:Boolean,default:()=>(0,_utils.handleBooleanDefaultValue)((0,_ui.getConfig)().modal.showMinimize)},showClose:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.showClose},dblclickZoom:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.dblclickZoom},width:[Number,String],height:[Number,String],minWidth:{type:[Number,String],default:()=>(0,_ui.getConfig)().modal.minWidth},minHeight:{type:[Number,String],default:()=>(0,_ui.getConfig)().modal.minHeight},zIndex:Number,marginSize:{type:[Number,String],default:()=>(0,_ui.getConfig)().modal.marginSize},fullscreen:Boolean,draggable:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.draggable},remember:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.remember},destroyOnClose:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.destroyOnClose},showTitleOverflow:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.showTitleOverflow},transfer:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.transfer},storage:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.storage},storageKey:{type:String,default:()=>(0,_ui.getConfig)().modal.storageKey},padding:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.padding},size:{type:String,default:()=>(0,_ui.getConfig)().modal.size||(0,_ui.getConfig)().size},beforeHideMethod:Function,slots:Object,message:[Number,String],animat:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.animat}},emits:["update:modelValue","show","hide","before-hide","close","confirm","cancel","zoom","resize","move"],setup(S,e){const{slots:w,emit:s}=e,a=_xeUtils.default.uniqueId(),N=(0,_ui.useSize)(S)["computeSize"],k=(0,_vue.reactive)({initialized:!1,visible:!1,contentVisible:!1,modalTop:0,modalZindex:0,prevZoomStatus:"",zoomStatus:"",revertLocat:null,prevLocat:null,firstOpen:!0}),t={msgTimeout:void 0},T=(0,_vue.ref)(),B=(0,_vue.ref)(),O=(0,_vue.ref)(),n=(0,_vue.ref)(),u=(0,_vue.ref)(),o={refElem:T},M=(0,_vue.computed)(()=>"message"===S.type||"notification"===S.type),V=(0,_vue.computed)(()=>"minimize"===k.zoomStatus),I=(0,_vue.computed)(()=>"maximize"===k.zoomStatus),l=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().modal.zoomConfig,S.zoomConfig)),A={computeSize:N,computeZoomOpts:l},U={xID:a,props:S,context:e,reactData:k,internalData:t,getRefMaps:()=>o,getComputeMaps:()=>A};const z=()=>{return B.value},r=()=>{var{width:e,height:t}=S,o=z();return o&&(o.style.width=e?(0,_dom.toCssUnit)(e):"",o.style.height=t?(0,_dom.toCssUnit)(t):""),(0,_vue.nextTick)()},d=()=>{var e=S["zIndex"],t=k["modalZindex"];e?k.modalZindex=e:t<(0,_utils.getLastZIndex)()&&(k.modalZindex=(0,_utils.nextZIndex)())},c=()=>(0,_vue.nextTick)().then(()=>{var o=S["position"],i=_xeUtils.default.toNumber(S.marginSize),l=z();if(l){var a=document.documentElement.clientWidth||document.body.clientWidth,s=document.documentElement.clientHeight||document.body.clientHeight,n="center"===o,{top:o,left:u}=_xeUtils.default.isString(o)?{top:o,left:o}:Object.assign({},o),r=n||"center"===o;let e="",t="";t=u&&!(n||"center"===u)?isNaN(u)?u:u+"px":Math.max(i,a/2-l.offsetWidth/2)+"px",e=o&&!r?isNaN(o)?o:o+"px":Math.max(i,s/2-l.offsetHeight/2)+"px",l.style.top=e,l.style.left=t}}),v=()=>{(0,_vue.nextTick)(()=>{var e=S["type"],e="notification"===e?notifyQueue:msgQueue;let o=0;e.forEach(e=>{var t=e.getBox();t&&(o+=_xeUtils.default.toNumber(e.props.top),e.reactData.modalTop=o,o+=t.clientHeight)})})},m=()=>{var e=S["type"],e="notification"===e?notifyQueue:msgQueue;-1<e.indexOf(U)&&_xeUtils.default.remove(e,e=>e===U),v()},i=e=>{const t=S["remember"];var o=k["visible"];const i=M.value;var l=S.beforeHideMethod||(0,_ui.getConfig)().modal.beforeHideMethod;const a={type:e};return o&&Promise.resolve(l?l(a):null).then(e=>{_xeUtils.default.isError(e)||(i&&m(),k.contentVisible=!1,t||y(),_xeUtils.default.remove(allActiveModals,e=>e===U),L("before-hide",a,null),setTimeout(()=>{k.visible=!1,s("update:modelValue",!1),L("hide",a,null)},200),h())}).catch(e=>e),(0,_vue.nextTick)()},Z=e=>{var t="close";L(t,{type:t},e),i(t)},E=e=>{var t=S["confirmClosable"],o="confirm";L(o,{type:o},e),t&&i(o)},$=e=>{var t=S["cancelClosable"],o="cancel";L(o,{type:o},e),t&&i(o)},f=e=>{var t=(0,_ui.getConfig)().version,e=_xeUtils.default.toStringJSON(localStorage.getItem(e)||"");return e&&e._v===t?e:{_v:t}},C=()=>{var{id:e,storage:t,storageKey:o}=S,{zoomStatus:i,revertLocat:l}=k;i||e&&t&&(i=z())&&((t=f(o))[e]=[i.style.left,i.style.top,i.style.width,i.style.height].concat(l?[l.left,l.top,l.width,l.height]:[]).map(e=>e?_xeUtils.default.toNumber(e):"").join(","),localStorage.setItem(o,_xeUtils.default.toJSONString(t)))},g=()=>{const{minimizeLayout:e,minimizeMaxSize:t,minimizeHorizontalOffset:s,minimizeVerticalOffset:n,minimizeOffsetMethod:u}=l.value,r="horizontal"===e,m=k.zoomStatus,o=[],i=[],d=(allActiveModals.forEach(e=>{e.xID!==U.xID&&"modal"===e.props.type&&"minimize"===e.reactData.zoomStatus&&("horizontal"===e.getComputeMaps().computeZoomOpts.value.minimizeLayout?o:i).push(e)}),r?o:i);return t&&d.length>=t?(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:(0,_ui.getI18n)("vxe.modal.miniMaxSize",[t])}),Promise.resolve({status:!1})):(k.prevZoomStatus=m,k.zoomStatus="minimize",(0,_vue.nextTick)().then(()=>{var e=z();if(!e)return{status:!1};var t=O.value;if(!t)return{status:!1};var o=(0,_dom.getDomNode)()["visibleHeight"],i=(m||(k.revertLocat={top:e.offsetTop,left:e.offsetLeft,width:e.offsetWidth+(e.style.width?0:1),height:e.offsetHeight+(e.style.height?0:1)}),_xeUtils.default[r?"max":"min"](d,e=>{e=e.getBox();return e?_xeUtils.default.toNumber(e.style[r?"left":"top"]):0}));let l=o-t.offsetHeight-16,a=16;if(i){o=i.getBox();if(o){i=_xeUtils.default.toNumber(o.style.left),o=_xeUtils.default.toNumber(o.style.top);let e={};e=r?Object.assign({},s):Object.assign({},n),a=i+_xeUtils.default.toNumber(e.left),l=o+_xeUtils.default.toNumber(e.top),u&&(e=u({$modal:U,left:a,top:l}),a=_xeUtils.default.toNumber(e.left),l=_xeUtils.default.toNumber(e.top))}}return Object.assign(e.style,{top:l+"px",left:a+"px",width:"200px",height:t.offsetHeight+"px"}),C(),{status:!0}}))},p=()=>{const t=k.zoomStatus;return k.prevZoomStatus=t,k.zoomStatus="maximize",(0,_vue.nextTick)().then(()=>{var e=z();return e&&(t||(k.revertLocat={top:e.offsetTop,left:e.offsetLeft,width:e.offsetWidth+(e.style.width?0:1),height:e.offsetHeight+(e.style.height?0:1)}),Object.assign(e.style,{top:"0",left:"0",width:"100%",height:"100%"})),C(),{status:!0}})},_=()=>{var e=S["duration"];-1!==e&&(t.msgTimeout=setTimeout(()=>i("close"),_xeUtils.default.toNumber(e)))},h=()=>{var e=document.documentElement,t=e.getAttribute(lockScrollAttrKey);t&&((t=t.split(",").filter(e=>e!==a)).length?e.setAttribute(lockScrollAttrKey,t.join(",")):(e.removeAttribute(lockScrollAttrKey),e.style.removeProperty(lockScrollCssWidthKey)))},x=()=>{const{remember:m,showFooter:o}=S;var e,{initialized:t,visible:i}=k,l=M.value;return t||(k.initialized=!0),i||(t=S.lockScroll,i=M.value,t&&!i&&(t=document.documentElement,i=document.body.clientWidth,(e=(e=t.getAttribute(lockScrollAttrKey))?e.split(","):[]).includes(a)||(e.push(a),t.setAttribute(lockScrollAttrKey,e.join(","))),t.style.setProperty(lockScrollCssWidthKey,i+"px")),k.visible=!0,k.contentVisible=!1,d(),allActiveModals.push(U),m||(0,_vue.nextTick)(()=>{r()}),setTimeout(()=>{k.contentVisible=!0,(0,_vue.nextTick)(()=>{o&&(e=n.value,t=u.value,e=e||t)&&e.focus();var e,t={type:""};s("update:modelValue",!0),L("show",t,null)})},10),l?(-1===(e="notification"===(e=S.type)?notifyQueue:msgQueue).indexOf(U)&&e.push(U),v(),_()):(0,_vue.nextTick)(()=>{var e,t,o,i,l,a,s,n,u=S["fullscreen"],r=k["firstOpen"];r?(k.firstOpen=!1,(()=>{var{id:e,storage:t,storageKey:o}=S;return!!(e&&t&&f(o)[e])})()?({id:r,storage:s,storageKey:n}=S,r&&s&&(s=f(n)[r])&&(n=z(),[r,s,e,t,o,i,l,a]=s.split(","),n&&(r&&(n.style.left=r+"px"),s&&(n.style.top=s+"px"),e&&(n.style.width=e+"px"),t)&&(n.style.height=t+"px"),o)&&i&&(k.revertLocat={left:o,top:i,width:l,height:a})):u?(0,_vue.nextTick)(()=>p()):c().then(()=>{setTimeout(()=>c(),20)})):m||c().then(()=>{setTimeout(()=>c(),20)})})),(0,_vue.nextTick)()},H=e=>{var t=T.value;S.maskClosable&&e.target===t&&i("mask")},j=()=>{var e=t["msgTimeout"];e&&M.value&&(clearTimeout(e),t.msgTimeout=void 0)},K=()=>{var e=t["msgTimeout"];e||M.value&&_()},W=e=>{if(_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ESCAPE)){const t=_xeUtils.default.max(allActiveModals,e=>e.reactData.modalZindex);t&&setTimeout(()=>{t===U&&t.props.escClosable&&(L("close",{type:"exit"},e),i("exit"))},10)}};const y=()=>(k.prevZoomStatus=k.zoomStatus,(k.zoomStatus="",_vue.nextTick)().then(()=>{var e,t=k["revertLocat"];return t?(e=z(),k.revertLocat=null,e&&Object.assign(e.style,{top:t.top+"px",left:t.left+"px",width:t.width+"px",height:t.height+"px"}),C(),(0,_vue.nextTick)().then(()=>({status:!0}))):{status:!1}})),b=t=>{const o=k["zoomStatus"];return new Promise(e=>{if(t)return"maximize"===t?void e(p()):"minimize"===t?void e(g()):void e(y());e((o?y:p)())}).then(()=>k.zoomStatus||"revert")},q=t=>{var{zoomStatus:e,prevZoomStatus:o}=k;return b("minimize"===e?o||"revert":"minimize").then(e=>{e={type:e};L("zoom",e,t)})},D=t=>b().then(e=>{e={type:e};L("zoom",e,t)});const P=()=>{const t=k["modalZindex"];allActiveModals.some(e=>e.reactData.visible&&e.reactData.modalZindex>t)&&d()},Y=e=>{const t=S["storage"];var o=k["zoomStatus"];const n=_xeUtils.default.toNumber(S.marginSize),u=z();if(u&&"maximize"!==o&&0===e.button&&!(0,_dom.getEventTargetNode)(e,u,"trigger--btn").flag){e.preventDefault();const i=document.onmousemove,l=document.onmouseup,r=e.clientX-u.offsetLeft,m=e.clientY-u.offsetTop,{visibleHeight:d,visibleWidth:c}=(0,_dom.getDomNode)();document.onmousemove=e=>{e.preventDefault();var t=u.offsetWidth,o=u.offsetHeight,i=n,t=c-t-n-1,l=n,o=d-o-n-1;let a=e.clientX-r,s=e.clientY-m;(a=a>t?t:a)<i&&(a=i),(s=s>o?o:s)<l&&(s=l),u.style.left=a+"px",u.style.top=s+"px",u.className=u.className.replace(/\s?is--drag/,"")+" is--drag",L("move",{type:"move"},e)},document.onmouseup=()=>{document.onmousemove=i,document.onmouseup=l,t&&(0,_vue.nextTick)(()=>{C()}),setTimeout(()=>{u.className=u.className.replace(/\s?is--drag/,"")},50)}}},X=e=>{e.preventDefault();const a=S["storage"],{visibleHeight:s,visibleWidth:n}=(0,_dom.getDomNode)(),u=_xeUtils.default.toNumber(S.marginSize);const r=e.target.getAttribute("type"),m=_xeUtils.default.toNumber(S.minWidth),d=_xeUtils.default.toNumber(S.minHeight),c=n,v=s,f=z(),t=document.onmousemove,o=document.onmouseup,g=f.clientWidth,p=f.clientHeight,_=e.clientX,h=e.clientY,x=f.offsetTop,y=f.offsetLeft,b={type:"resize"};document.onmousemove=e=>{e.preventDefault();let t,o,i,l;switch(r){case"wl":t=_-e.clientX,i=t+g,y-t>u&&i>m&&(f.style.width=`${i<c?i:c}px`,f.style.left=y-t+"px");break;case"swst":t=_-e.clientX,o=h-e.clientY,i=t+g,l=o+p,y-t>u&&i>m&&(f.style.width=`${i<c?i:c}px`,f.style.left=y-t+"px"),x-o>u&&l>d&&(f.style.height=`${l<v?l:v}px`,f.style.top=x-o+"px");break;case"swlb":t=_-e.clientX,o=e.clientY-h,i=t+g,l=o+p,y-t>u&&i>m&&(f.style.width=`${i<c?i:c}px`,f.style.left=y-t+"px"),x+l+u<s&&l>d&&(f.style.height=`${l<v?l:v}px`);break;case"st":o=h-e.clientY,l=p+o,x-o>u&&l>d&&(f.style.height=`${l<v?l:v}px`,f.style.top=x-o+"px");break;case"wr":t=e.clientX-_,i=t+g,y+i+u<n&&i>m&&(f.style.width=`${i<c?i:c}px`);break;case"sest":t=e.clientX-_,o=h-e.clientY,i=t+g,l=o+p,y+i+u<n&&i>m&&(f.style.width=`${i<c?i:c}px`),x-o>u&&l>d&&(f.style.height=`${l<v?l:v}px`,f.style.top=x-o+"px");break;case"selb":t=e.clientX-_,o=e.clientY-h,i=t+g,l=o+p,y+i+u<n&&i>m&&(f.style.width=`${i<c?i:c}px`),x+l+u<s&&l>d&&(f.style.height=`${l<v?l:v}px`);break;case"sb":o=e.clientY-h,l=o+p,x+l+u<s&&l>d&&(f.style.height=`${l<v?l:v}px`)}f.className=f.className.replace(/\s?is--drag/,"")+" is--drag",a&&C(),L("resize",b,e)},document.onmouseup=()=>{k.revertLocat=null,document.onmousemove=t,document.onmouseup=o,setTimeout(()=>{f.className=f.className.replace(/\s?is--drag/,"")},50)}},L=(e,t,o)=>{s(e,(0,_ui.createEvent)(o,{$modal:U},t))},F=(e={dispatchEvent:L,open:x,close(){return i("close")},getBox:z,getPosition:()=>{if(!M.value){var e=z();if(e)return{top:e.offsetTop,left:e.offsetLeft}}return null},setPosition:(e,t)=>{var o;return M.value||(o=z())&&(_xeUtils.default.isNumber(e)&&(o.style.top=e+"px"),_xeUtils.default.isNumber(t))&&(o.style.left=t+"px"),(0,_vue.nextTick)()},isMinimized:()=>"minimize"===k.zoomStatus,isMaximized:()=>"maximize"===k.zoomStatus,zoom(){return b()},minimize(){return k.visible?g():Promise.resolve({status:!1})},maximize(){return k.visible?p():Promise.resolve({status:!1})},revert(){return k.visible?y():Promise.resolve({status:!1})}},Object.assign(U,e),()=>{var{slots:e={},showClose:t,showZoom:o,showMaximize:i,showMinimize:l,title:a}=S,s=k["zoomStatus"],n=w.title||e.title,e=w.corner||e.corner,u=V.value,r=I.value;return[(0,_vue.h)("div",{class:"vxe-modal--header-title"},n?(0,_vn.getSlotVNs)(n({$modal:U,minimized:u,maximized:r})):a?(0,_utils.getFuncText)(a):(0,_ui.getI18n)("vxe.alert.title")),(0,_vue.h)("div",{class:"vxe-modal--header-right"},[e&&!u?(0,_vue.h)("div",{class:"vxe-modal--corner-wrapper"},(0,_vn.getSlotVNs)(e({$modal:U}))):(0,_vue.createCommentVNode)(),(_xeUtils.default.isBoolean(l)?l:o)?(0,_vue.h)("div",{class:["vxe-modal--zoom-btn","trigger--btn"],title:(0,_ui.getI18n)("vxe.modal.zoom"+("minimize"===s?"Out":"Min")),onClick:q},[(0,_vue.h)("i",{class:"minimize"===s?(0,_ui.getIcon)().MODAL_ZOOM_REVERT:(0,_ui.getIcon)().MODAL_ZOOM_MIN})]):(0,_vue.createCommentVNode)(),(_xeUtils.default.isBoolean(i)?i:o)&&"minimize"!==s?(0,_vue.h)("div",{class:["vxe-modal--zoom-btn","trigger--btn"],title:(0,_ui.getI18n)("vxe.modal.zoom"+("maximize"===s?"Out":"In")),onClick:D},[(0,_vue.h)("i",{class:"maximize"===s?(0,_ui.getIcon)().MODAL_ZOOM_OUT:(0,_ui.getIcon)().MODAL_ZOOM_IN})]):(0,_vue.createCommentVNode)(),t?(0,_vue.h)("div",{class:["vxe-modal--close-btn","trigger--btn"],title:(0,_ui.getI18n)("vxe.modal.close"),onClick:Z},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().MODAL_CLOSE})]):(0,_vue.createCommentVNode)()])]}),Q=()=>{var{slots:e={},showCancelButton:t,showConfirmButton:o,type:i,loading:l}=S,a=w.leftfoot||e.leftfoot,e=w.rightfoot||e.rightfoot,s=[];return(_xeUtils.default.isBoolean(t)?t:"confirm"===i)&&s.push((0,_vue.h)(_button.default,{key:1,ref:u,content:S.cancelButtonText||(0,_ui.getI18n)("vxe.button.cancel"),onClick:$})),(_xeUtils.default.isBoolean(o)?o:"confirm"===i||"alert"===i)&&s.push((0,_vue.h)(_button.default,{key:2,ref:n,loading:l,status:"primary",content:S.confirmButtonText||(0,_ui.getI18n)("vxe.button.confirm"),onClick:E})),(0,_vue.h)("div",{class:"vxe-modal--footer-wrapper"},[(0,_vue.h)("div",{class:"vxe-modal--footer-left"},a?(0,_vn.getSlotVNs)(a({$modal:U})):[]),(0,_vue.h)("div",{class:"vxe-modal--footer-right"},e?(0,_vn.getSlotVNs)(e({$modal:U})):s)])};return U.renderVN=()=>{var{slots:e={},className:t,type:o,animat:i,draggable:l,iconStatus:a,position:s,loading:n,destroyOnClose:u,status:r,lockScroll:m,padding:d,lockView:c,mask:v,resize:f}=S,{initialized:g,modalTop:p,contentVisible:_,visible:h,zoomStatus:x}=k,e=w.aside||e.aside,y=N.value,b=M.value,z=V.value,C={};return b&&(C.onMouseover=j,C.onMouseout=K),(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!S.transfer||!g},[(0,_vue.h)("div",Object.assign({ref:T,class:["vxe-modal--wrapper","type--"+o,"zoom--"+(x||"revert"),t||"",s?"pos--"+s:"",{["size--"+y]:y,["status--"+r]:r,"is--padding":d,"is--animat":i,"lock--scroll":m,"lock--view":c,"is--draggable":l,"is--resize":f,"is--mask":v,"is--visible":_,"is--active":h,"is--loading":n}],style:{zIndex:k.modalZindex,top:p?p+"px":null},onClick:H},C),[(0,_vue.h)("div",{ref:B,class:"vxe-modal--box",onMousedown:P},[!b&&!e||z?(0,_vue.createCommentVNode)():(0,_vue.h)("div",{class:"vxe-modal--aside"},e?(0,_vn.getSlotVNs)(e({$modal:U})):[r||a?(0,_vue.h)("div",{class:"vxe-modal--status-wrapper"},[(0,_vue.h)("i",{class:["vxe-modal--status-icon",a||(0,_ui.getIcon)()[("MODAL_"+r).toLocaleUpperCase()]]})]):(0,_vue.createCommentVNode)()]),(0,_vue.h)("div",{class:"vxe-modal--container"},!k.initialized||u&&!k.visible?[]:[(()=>{var e,{slots:t={},showZoom:o,showMaximize:i,draggable:l}=S,a=M.value,t=w.header||t.header;return S.showHeader?(e={},l&&(e.onMousedown=Y),(_xeUtils.default.isBoolean(i)?i:o)&&S.dblclickZoom&&"modal"===S.type&&(e.onDblclick=D),(0,_vue.h)("div",Object.assign({ref:O,class:["vxe-modal--header",{"is--ellipsis":!a&&S.showTitleOverflow}]},e),t?(0,_vn.getSlotVNs)(t({$modal:U})):F())):(0,_vue.createCommentVNode)()})(),(()=>{var{slots:e={},status:t,message:o,iconStatus:i}=S,o=S.content||o,l=M.value,a=w.default||e.default,s=w.left||e.left,e=w.right||e.right,n=[];return l||!t&&!i||n.push((0,_vue.h)("div",{class:"vxe-modal--status-wrapper"},[(0,_vue.h)("i",{class:["vxe-modal--status-icon",i||(0,_ui.getIcon)()[("MODAL_"+t).toLocaleUpperCase()]]})])),n.push((0,_vue.h)("div",{class:"vxe-modal--content"},a?(0,_vn.getSlotVNs)(a({$modal:U})):(0,_utils.getFuncText)(o))),(0,_vue.h)("div",{class:"vxe-modal--body"},[s?(0,_vue.h)("div",{class:"vxe-modal--body-left"},(0,_vn.getSlotVNs)(s({$modal:U}))):(0,_vue.createCommentVNode)(),(0,_vue.h)("div",{class:"vxe-modal--body-default"},n),e?(0,_vue.h)("div",{class:"vxe-modal--body-right"},(0,_vn.getSlotVNs)(e({$modal:U}))):(0,_vue.createCommentVNode)(),l?(0,_vue.createCommentVNode)():(0,_vue.h)(_index.default,{class:"vxe-modal--loading",modelValue:S.loading})])})(),(()=>{var{slots:e={}}=S,e=w.footer||e.footer;return S.showFooter?(0,_vue.h)("div",{class:"vxe-modal--footer"},e?(0,_vn.getSlotVNs)(e({$modal:U})):[Q()]):(0,_vue.createCommentVNode)()})(),!b&&f?(0,_vue.h)("span",{class:"vxe-modal--resize"},["wl","wr","swst","sest","st","swlb","selb","sb"].map(e=>(0,_vue.h)("span",{class:e+"-resize",type:e,onMousedown:X}))):(0,_vue.createCommentVNode)()])])])])},(0,_vue.watch)(()=>S.width,r),(0,_vue.watch)(()=>S.height,r),(0,_vue.watch)(()=>S.modelValue,e=>{e?x():i("model")}),(0,_vue.onMounted)(()=>{"development"===process.env.NODE_ENV&&"modal"===S.type&&S.showFooter&&!(S.showConfirmButton||S.showCancelButton||w.footer)&&(0,_log.warnLog)("vxe.modal.footPropErr"),(0,_vue.nextTick)(()=>{S.storage&&!S.id&&(0,_log.errLog)("vxe.error.reqProp",["modal.id"]),S.modelValue&&x(),r()}),S.escClosable&&_ui.globalEvents.on(U,"keydown",W)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(U,"keydown"),m(),h()}),(0,_vue.provide)("$xeModal",U),U},render(){return this.renderVN()}});