vxe-pc-ui 4.16.16 → 4.16.18

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 (123) hide show
  1. package/dist/all.esm.js +46 -20
  2. package/dist/style.css +1 -1
  3. package/dist/style.min.css +1 -1
  4. package/es/button/src/button.js +3 -2
  5. package/es/button/style.css +2 -0
  6. package/es/button/style.min.css +1 -1
  7. package/es/color-picker/src/color-picker.js +4 -2
  8. package/es/date-picker/src/date-picker.js +3 -2
  9. package/es/date-range-picker/src/date-range-picker.js +3 -2
  10. package/es/drawer/src/drawer.js +7 -3
  11. package/es/icon/style.css +1 -1
  12. package/es/icon-picker/src/icon-picker.js +3 -2
  13. package/es/menu/src/menu.js +8 -4
  14. package/es/modal/src/modal.js +9 -5
  15. package/es/select/src/select.js +3 -2
  16. package/es/split/style.css +4 -0
  17. package/es/split/style.min.css +1 -1
  18. package/es/splitter/src/splitter.js +3 -1
  19. package/es/splitter/style.css +4 -0
  20. package/es/splitter/style.min.css +1 -1
  21. package/es/style.css +1 -1
  22. package/es/style.min.css +1 -1
  23. package/es/table-select/src/table-select.js +3 -2
  24. package/es/tree-select/src/tree-select.js +3 -2
  25. package/es/ui/index.js +1 -1
  26. package/es/ui/src/dom.js +3 -0
  27. package/es/ui/src/log.js +1 -1
  28. package/es/vxe-button/style.css +2 -0
  29. package/es/vxe-button/style.min.css +1 -1
  30. package/es/vxe-split/style.css +4 -0
  31. package/es/vxe-split/style.min.css +1 -1
  32. package/es/vxe-splitter/style.css +4 -0
  33. package/es/vxe-splitter/style.min.css +1 -1
  34. package/lib/button/src/button.js +4 -1
  35. package/lib/button/src/button.min.js +1 -1
  36. package/lib/button/style/style.css +2 -0
  37. package/lib/button/style/style.min.css +1 -1
  38. package/lib/color-picker/src/color-picker.js +5 -1
  39. package/lib/color-picker/src/color-picker.min.js +1 -1
  40. package/lib/date-picker/src/date-picker.js +4 -1
  41. package/lib/date-picker/src/date-picker.min.js +1 -1
  42. package/lib/date-range-picker/src/date-range-picker.js +4 -1
  43. package/lib/date-range-picker/src/date-range-picker.min.js +1 -1
  44. package/lib/drawer/src/drawer.js +6 -1
  45. package/lib/drawer/src/drawer.min.js +1 -1
  46. package/lib/icon/style/style.css +1 -1
  47. package/lib/icon/style/style.min.css +1 -1
  48. package/lib/icon-picker/src/icon-picker.js +4 -1
  49. package/lib/icon-picker/src/icon-picker.min.js +1 -1
  50. package/lib/index.umd.js +64 -19
  51. package/lib/index.umd.min.js +1 -1
  52. package/lib/menu/src/menu.js +8 -3
  53. package/lib/menu/src/menu.min.js +1 -1
  54. package/lib/modal/src/modal.js +9 -4
  55. package/lib/modal/src/modal.min.js +1 -1
  56. package/lib/select/src/select.js +4 -1
  57. package/lib/select/src/select.min.js +1 -1
  58. package/lib/split/style/style.css +4 -0
  59. package/lib/split/style/style.min.css +1 -1
  60. package/lib/splitter/src/splitter.js +3 -1
  61. package/lib/splitter/src/splitter.min.js +1 -1
  62. package/lib/splitter/style/style.css +4 -0
  63. package/lib/splitter/style/style.min.css +1 -1
  64. package/lib/style.css +1 -1
  65. package/lib/style.min.css +1 -1
  66. package/lib/table-select/src/table-select.js +4 -1
  67. package/lib/table-select/src/table-select.min.js +1 -1
  68. package/lib/tree-select/src/tree-select.js +4 -1
  69. package/lib/tree-select/src/tree-select.min.js +1 -1
  70. package/lib/ui/index.js +1 -1
  71. package/lib/ui/index.min.js +1 -1
  72. package/lib/ui/src/dom.js +4 -0
  73. package/lib/ui/src/dom.min.js +1 -1
  74. package/lib/ui/src/log.js +1 -1
  75. package/lib/ui/src/log.min.js +1 -1
  76. package/lib/vxe-button/style/style.css +2 -0
  77. package/lib/vxe-button/style/style.min.css +1 -1
  78. package/lib/vxe-split/style/style.css +4 -0
  79. package/lib/vxe-split/style/style.min.css +1 -1
  80. package/lib/vxe-splitter/style/style.css +4 -0
  81. package/lib/vxe-splitter/style/style.min.css +1 -1
  82. package/package.json +1 -1
  83. package/packages/button/src/button.ts +3 -2
  84. package/packages/color-picker/src/color-picker.ts +4 -2
  85. package/packages/date-picker/src/date-picker.ts +3 -2
  86. package/packages/date-range-picker/src/date-range-picker.ts +3 -2
  87. package/packages/drawer/src/drawer.ts +7 -3
  88. package/packages/icon-picker/src/icon-picker.ts +3 -2
  89. package/packages/menu/src/menu.ts +8 -4
  90. package/packages/modal/src/modal.ts +9 -5
  91. package/packages/select/src/select.ts +3 -2
  92. package/packages/splitter/src/splitter.ts +3 -1
  93. package/packages/table-select/src/table-select.ts +3 -2
  94. package/packages/tree-select/src/tree-select.ts +3 -2
  95. package/packages/ui/src/dom.ts +4 -0
  96. package/styles/components/button.scss +1 -0
  97. package/styles/components/splitter.scss +9 -0
  98. package/types/components/button.d.ts +1 -1
  99. package/types/components/color-picker.d.ts +1 -1
  100. package/types/components/date-picker.d.ts +1 -1
  101. package/types/components/date-range-picker.d.ts +1 -1
  102. package/types/components/drawer.d.ts +8 -0
  103. package/types/components/gantt.d.ts +8 -0
  104. package/types/components/icon-picker.d.ts +7 -0
  105. package/types/components/menu.d.ts +5 -1
  106. package/types/components/modal.d.ts +8 -0
  107. package/types/components/pulldown.d.ts +1 -1
  108. package/types/components/select.d.ts +1 -1
  109. package/types/components/table-select.d.ts +1 -1
  110. package/types/components/table.d.ts +17 -2
  111. package/types/components/tree-select.d.ts +1 -1
  112. /package/es/icon/{iconfont.1784622284955.ttf → iconfont.1784708567180.ttf} +0 -0
  113. /package/es/icon/{iconfont.1784622284955.woff → iconfont.1784708567180.woff} +0 -0
  114. /package/es/icon/{iconfont.1784622284955.woff2 → iconfont.1784708567180.woff2} +0 -0
  115. /package/es/{iconfont.1784622284955.ttf → iconfont.1784708567180.ttf} +0 -0
  116. /package/es/{iconfont.1784622284955.woff → iconfont.1784708567180.woff} +0 -0
  117. /package/es/{iconfont.1784622284955.woff2 → iconfont.1784708567180.woff2} +0 -0
  118. /package/lib/icon/style/{iconfont.1784622284955.ttf → iconfont.1784708567180.ttf} +0 -0
  119. /package/lib/icon/style/{iconfont.1784622284955.woff → iconfont.1784708567180.woff} +0 -0
  120. /package/lib/icon/style/{iconfont.1784622284955.woff2 → iconfont.1784708567180.woff2} +0 -0
  121. /package/lib/{iconfont.1784622284955.ttf → iconfont.1784708567180.ttf} +0 -0
  122. /package/lib/{iconfont.1784622284955.woff → iconfont.1784708567180.woff} +0 -0
  123. /package/lib/{iconfont.1784622284955.woff2 → iconfont.1784708567180.woff2} +0 -0
@@ -75,7 +75,11 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
75
75
  type: String,
76
76
  default: () => getConfig().menu.size || getConfig().size
77
77
  },
78
- menuConfig: Object
78
+ menuConfig: Object,
79
+ appendTo: {
80
+ type: [String, Function],
81
+ default: () => getConfig().menu.appendTo
82
+ }
79
83
  },
80
84
  emits: ['update:modelValue', 'click', 'option-menu', 'menu-click'],
81
85
  setup(props, context) {
@@ -695,7 +699,8 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
695
699
  const renderVN = () => {
696
700
  const {
697
701
  loading,
698
- collapseFixed
702
+ collapseFixed,
703
+ appendTo
699
704
  } = props;
700
705
  const {
701
706
  initialized,
@@ -734,7 +739,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
734
739
  }, menuList.map(child => isCollapsed ? renderCollapseChildren(child, menuList) : renderDefaultChildren(child, menuList))), footerSlot ? (0, _vue.h)('div', {
735
740
  class: 'vxe-menu--footer'
736
741
  }, footerSlot(stParams)) : (0, _ui.renderEmptyElement)($xeMenu), (0, _vue.h)(_vue.Teleport, {
737
- to: 'body',
742
+ to: (0, _dom.getPopupContainer)(appendTo),
738
743
  disabled: !initialized
739
744
  }, [(0, _vue.h)('div', Object.assign({
740
745
  ref: refCollapseElem,
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log"),_loading=_interopRequireDefault(require("../../loading"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let errLog=(0,_log.createComponentLog)("menu").errLog,{menus,getConfig,getIcon}=_ui.VxeUI;function createInternalData(){return{lastActiveTime:0,menuInitMaps:{},menuCacheMaps:{},menuKeyMaps:{},menuEffectMaps:{}}}function createReactData(){return{initialized:!1,isEnterCollapse:!1,collapseStyle:{},collapseZindex:0,activeName:"",menuList:[],itemHeight:1}}let nemuUniqueKey=1e8;var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeMenu",props:{modelValue:[String,Number],expandAll:Boolean,expandKeys:Array,accordion:{type:Boolean,default:()=>getConfig().menu.accordion},border:{type:[Boolean,String],default:()=>getConfig().menu.border},optionProps:{type:Object,default:()=>getConfig().menu.optionProps},collapsed:{type:Boolean,default:null},collapseFixed:Boolean,loading:Boolean,options:{type:Array,default:()=>[]},size:{type:String,default:()=>getConfig().menu.size||getConfig().size},menuConfig:Object},emits:["update:modelValue","click","option-menu","menu-click"],setup(E,e){let{emit:n,slots:d}=e;var t=_xeUtils.default.uniqueId();let i=(0,_vue.inject)("$xeLayoutAside",null),p=(0,_vue.ref)(),_=(0,_vue.ref)(),x=(0,_ui.useSize)(E).computeSize,C=(0,_vue.reactive)(createReactData()),y=createInternalData(),l={refElem:p},a=(0,_vue.computed)(()=>Object.assign({},getConfig().menu.menuConfig,E.menuConfig)),u=(0,_vue.computed)(()=>Object.assign({},getConfig().menu.optionProps,E.optionProps)),o=(0,_vue.computed)(()=>u.value.title||"title"),r=(0,_vue.computed)(()=>u.value.name||"name"),s=(0,_vue.computed)(()=>u.value.children||"children"),k=(0,_vue.computed)(()=>u.value.linkUrl||"linkUrl"),M=(0,_vue.computed)(()=>u.value.routerLink||"routerLink"),h=(0,_vue.computed)(()=>{var e=E.border;return e?!0===e?"first-group":e:""}),g=(0,_vue.computed)(()=>{var e=E.collapsed;return _xeUtils.default.isBoolean(e)?e:!!i&&!!i.props.collapsed}),f=(0,_vue.computed)(()=>{var e;return i?(e=i.getComputeMaps().computeVarStyle,e.value):{}}),c={computeSize:x},b={xID:t,props:E,context:e,reactData:C,internalData:y,getRefMaps:()=>l,getComputeMaps:()=>c},j=e=>""+(e.title||e.name),v=u=>{let o=C.activeName,r=y.menuInitMaps;_xeUtils.default.eachTree(C.menuList,(e,t,i,n,l,a)=>{e.itemKey===o?(a.forEach(e=>{e.isActive=!0,u&&(e.isExpand=!0,r[e.itemId]=!0)}),e.isExactActive=!0):(e.isExactActive=!1,e.isActive=!1)},{children:"childList"})},m=()=>{let{options:e,expandAll:c,expandKeys:t}=E,v={},m=o.value,d=r.value,p=s.value,_=k.value,x=M.value,h={},g=(t&&t.forEach(e=>{h[e]=!0}),{}),f={};C.menuList=_xeUtils.default.mapTree(e,(e,t,i,n,l)=>{var a=++nemuUniqueKey,u=e[d]||n.join(","),o=e[p],r=o&&0<o.length,s=!!r&&(_xeUtils.default.isBoolean(e.expanded)?e.expanded:h[u]||!!c),o=(s&&(v[a]=!0),{itemConf:e,title:e[m],name:e[d],icon:e.icon,linkUrl:e[_],linkTarget:e.linkTarget,routerLink:e[x],permissionCode:e.permissionCode,children:o,slots:e.slots,parentKey:l?l.name||n.slice(0,n.length-1).join(","):"",level:n.length,itemId:a,itemKey:u,isExactActive:!1,isActive:!1,isExpand:s,hasChild:r,childList:[]});return f[u]&&errLog("vxe.error.repeatKey",[d,e[d]]),g[a]=o,f[u]=o},{children:"children",mapChildren:"childList"}),y.menuInitMaps=v,y.menuCacheMaps=g,y.menuKeyMaps=f},I=()=>{var e=E.collapseFixed;e&&(0,_vue.nextTick)(()=>{var e,t=g.value,i=p.value;i&&(e=i.getBoundingClientRect(),i=i.parentNode,C.collapseStyle=t?{top:(0,_dom.toCssUnit)(e.top),left:(0,_dom.toCssUnit)(e.left),height:(0,_dom.toCssUnit)(i.clientHeight),zIndex:C.collapseZindex}:{})})},D=()=>{var e=E.collapseFixed;e&&(e=C.initialized,g.value&&!e&&(C.initialized=!0),C.isEnterCollapse=!1,C.collapseZindex<(0,_utils.getLastZIndex)()&&(C.collapseZindex=(0,_utils.nextZIndex)()),I())},T=(t,i,e)=>{var n=E.accordion;let{menuEffectMaps:l,menuInitMaps:a}=y,{itemId:u,hasChild:o,isExpand:r}=i;var s=g.value,c=!r;if(o){t.stopPropagation(),t.preventDefault(),l[u]&&clearTimeout(l[u]),n&&e.forEach(e=>{e!==i&&(e.isExpand=!1)}),i.isExpand=c,a[u]=!0;t=(s?_:p).value;if(t){n=t.querySelector(`.vxe-menu--item-wrapper[data-menu-id="${u}"]`);let e=n?n.querySelector(".vxe-menu--item-group"):null;e&&(c?(e.style.height="0",e.setAttribute("data-effect","y"),requestAnimationFrame(()=>{e.style.height=e.scrollHeight+"px"})):(e.style.height=e.scrollHeight+"px",e.setAttribute("data-effect","y"),requestAnimationFrame(()=>{e.style.height="0"})),l[u]=setTimeout(()=>{delete l[u],e.removeAttribute("data-effect"),e.style.height=""},350))}}},z=e=>{C.activeName=e,n("update:modelValue",e)},A=(n,l)=>{var e=E.menuConfig,t=a.value;(e?(0,_utils.isEnableConf)(t):t.enabled)&&({options:e,visibleMethod:t}=t,t&&!t({$menu:b,options:e,currentMenu:l,currentOption:l.itemConf})||_ui.VxeUI.contextMenu&&_ui.VxeUI.contextMenu.openByEvent(n,{options:e,events:{optionClick(e){var t=e.option,i=menus.get(t.code),i=i?i.menuMenuMethod:null,t={menu:t,currentMenu:l,currentOption:l.itemConf,$event:n,$menu:b};i&&i(t,n),q("menu-click",t,e.$event)}}})),q("option-menu",{currentMenu:l},n)},U=(e,t,i)=>{var{itemKey:n,linkUrl:l,routerLink:a,hasChild:u}=t,l=(!l&&!a&&u?T(e,t,i):(z(n),C.isEnterCollapse=!1,y.lastActiveTime=Date.now()),{currentMenu:t,currentOption:t.itemConf,option:t.itemConf,menu:t});q("click",l,e)},S=()=>{var e=y.lastActiveTime;e<Date.now()-500&&(C.isEnterCollapse=!0)},w=()=>{C.isEnterCollapse=!1},L=(e,t)=>e&&(_xeUtils.default.isString(e)&&(e=d[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[],q=(e,t,i)=>{n(e,(0,_ui.createEvent)(i,{$menu:b},t))},O=e=>{var t=p.value,t=t?t.querySelector(`.vxe-menu--item-wrapper[data-menu-id="${e}"]`):null;return!!t&&((0,_dom.scrollToView)(t),!0)};t={dispatchEvent:q,setExpandByMenuKey(e,t){let{menuKeyMaps:i,menuInitMaps:n}=y;return e&&(e=_xeUtils.default.isArray(e)?e:[e]).forEach(e=>{e=i[e];e&&(t&&(n[e.itemId]=!0),e.isExpand=!!t)}),(0,_vue.nextTick)()},clearAllExpandMenu(){var e=C.menuList;return _xeUtils.default.eachTree(e,e=>{e.isExpand=!1},{children:"childList"}),y.menuInitMaps={},(0,_vue.nextTick)()},scrollToMenuKey(e){var t=y.menuKeyMaps,t=t[e];if(!t)return(0,_vue.nextTick)();let i=t.itemId;return O(i)?(0,_vue.nextTick)():(0,_vue.nextTick)().then(()=>{O(i)})},scrollToActiveMenu(){var e=C.activeName;return e?b.scrollToMenuKey(e):(0,_vue.nextTick)().then(()=>{var e=C.activeName;if(e)return b.scrollToMenuKey(e)})}};Object.assign(b,t,{});let V=(t,i)=>{var{icon:e,isExpand:n,hasChild:l}=t,a=t.slots||{},u=a.default||d.option,o=a.title||d.optionTitle||d["option-title"],a=a.icon||d.optionIcon||d["option-icon"],r=j(t),s=g.value,s={currentMenu:t,currentOption:t.itemConf,option:t.itemConf,collapsed:s};return[u?(0,_ui.renderEmptyElement)(b):(0,_vue.h)("div",{class:"vxe-menu--item-link-icon"},a?L(a,s):e?[(0,_vue.h)("i",{class:e})]:[]),u?(0,_vue.h)("div",{class:"vxe-menu--item-custom-title"},L(u,s)):(0,_vue.h)("div",{class:"vxe-menu--item-link-title",title:r},o?L(o,s):r),l?(0,_vue.h)("div",{class:"vxe-menu--item-link-collapse",onClick(e){T(e,t,i)}},[(0,_vue.h)("i",{class:n?getIcon().MENU_ITEM_EXPAND_OPEN:getIcon().MENU_ITEM_EXPAND_CLOSE})]):(0,_ui.renderEmptyElement)(b)]},K=(t,i)=>{let{itemId:e,itemKey:n,level:l,hasChild:a,isActive:u,isExactActive:o,isExpand:r,linkUrl:s,routerLink:c,linkTarget:v,childList:m}=t;var d,p=C.isEnterCollapse,_=y.menuInitMaps,x=g.value;return t.permissionCode&&!_ui.permission.checkVisible(t.permissionCode)?(0,_ui.renderEmptyElement)(b):(d={onContextmenu(e){A(e,t)},onClick(e){U(e,t,i)}},(0,_vue.h)("div",{key:n,class:["vxe-menu--item-wrapper","vxe-menu--item-level"+l,{"has--child":a,"is--exact-active":o,"is--active":u,"is--expand":x=(!x||p)&&r}],"data-menu-id":e},[s?(0,_vue.h)("a",Object.assign({class:"vxe-menu--item-link is--link",href:s,target:v},d),V(t,i)):c?(0,_vue.h)((0,_vue.resolveComponent)("router-link"),Object.assign({class:"vxe-menu--item-link is--router",to:c,target:v},d),{default:()=>V(t,i)}):(0,_vue.h)("div",Object.assign({class:"vxe-menu--item-link is--default"},d),V(t,i)),a?(0,_vue.h)("div",{class:"vxe-menu--item-group"},x||_[e]?m.map(e=>K(e,m)):[]):(0,_ui.renderEmptyElement)(b)]))};let N=(0,_vue.ref)(0);return(0,_vue.watch)(()=>E.options?E.options.length:-1,()=>{N.value++}),(0,_vue.watch)(()=>E.options,()=>{N.value++}),(0,_vue.watch)(N,()=>{m(),v(!0),(0,_vue.nextTick)(()=>{b.scrollToActiveMenu()})}),(0,_vue.watch)(()=>E.modelValue,e=>{C.activeName=e}),(0,_vue.watch)(()=>C.activeName,()=>{v(!0)}),(0,_vue.watch)(g,()=>{D()}),(0,_vue.onMounted)(()=>{var e=E.menuConfig,t=_ui.VxeUI.getComponent("VxeContextMenu");e&&!t&&errLog("vxe.error.reqComp",["vxe-context-menu"]),_ui.globalEvents.on(b,"resize",I),I(),(0,_vue.nextTick)(()=>{b.scrollToActiveMenu()})}),(0,_vue.onBeforeUnmount)(()=>{_ui.globalEvents.off(b,"resize"),_xeUtils.default.assign(C,createReactData()),_xeUtils.default.assign(y,createInternalData())}),C.initialized=!!E.collapsed,C.activeName=E.modelValue,m(),v(!0),b.renderVN=()=>{var{loading:e,collapseFixed:t}=E;let{initialized:i,menuList:n,collapseStyle:l,isEnterCollapse:a}=C;var u=x.value;let o=g.value;var r=h.value,s=f.value,c=d.header,v=d.footer;let m={};t&&(m={onMouseenter:S,onMouseleave:w});t={collapsed:o};return(0,_vue.h)("div",{ref:p,class:["vxe-menu",{["border--"+r]:r,["size--"+u]:u,"is--collapsed":o,"is--loading":e}]},[c?(0,_vue.h)("div",{class:"vxe-menu--header"},c(t)):(0,_ui.renderEmptyElement)(b),(0,_vue.h)("div",{class:"vxe-menu--body"},n.map(e=>(o?(t,i)=>{let{itemId:e,itemKey:n,level:l,hasChild:a,isActive:u,isExactActive:o,routerLink:r,linkUrl:s,linkTarget:c,childList:v}=t;var m;return t.permissionCode&&!_ui.permission.checkVisible(t.permissionCode)?(0,_ui.renderEmptyElement)(b):(m={onContextmenu(e){A(e,t)},onClick(e){U(e,t,i)}},(0,_vue.h)("div",{key:n,class:["vxe-menu--item-wrapper","vxe-menu--item-level"+l,{"has--child":a,"is--exact-active":o,"is--active":u}],"data-menu-id":e},[s?(0,_vue.h)("a",Object.assign({class:"vxe-menu--item-link is--link",href:s,target:c},m),V(t,i)):r?(0,_vue.h)((0,_vue.resolveComponent)("router-link"),Object.assign({class:"vxe-menu--item-link is--router",to:r,target:c},m),{default:()=>V(t,i)}):(0,_vue.h)("div",Object.assign({class:"vxe-menu--item-link is--default"},m),V(t,i)),a?(0,_vue.h)("div",{class:"vxe-menu--item-group"},v.map(e=>K(e,v))):(0,_ui.renderEmptyElement)(b)]))}:K)(e,n))),v?(0,_vue.h)("div",{class:"vxe-menu--footer"},v(t)):(0,_ui.renderEmptyElement)(b),(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!i},[(0,_vue.h)("div",Object.assign({ref:_,class:["vxe-menu--collapse-wrapper",{["size--"+u]:u,"is--collapsed":o,"is--enter":a,"is--loading":e}],style:Object.assign({},s,l)},m),o?[c?(0,_vue.h)("div",{class:"vxe-menu--header"},c(t)):(0,_ui.renderEmptyElement)(b),(0,_vue.h)("div",{class:"vxe-menu--body"},n.map(e=>K(e,n))),v?(0,_vue.h)("div",{class:"vxe-menu--footer"},v(t)):(0,_ui.renderEmptyElement)(b)]:[])]),(0,_vue.h)(_loading.default,{class:"vxe-list-view--loading",modelValue:e})])},b},render(){return this.renderVN()}});
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log"),_loading=_interopRequireDefault(require("../../loading"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let errLog=(0,_log.createComponentLog)("menu").errLog,{menus,getConfig,getIcon}=_ui.VxeUI;function createInternalData(){return{lastActiveTime:0,menuInitMaps:{},menuCacheMaps:{},menuKeyMaps:{},menuEffectMaps:{}}}function createReactData(){return{initialized:!1,isEnterCollapse:!1,collapseStyle:{},collapseZindex:0,activeName:"",menuList:[],itemHeight:1}}let nemuUniqueKey=1e8;var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeMenu",props:{modelValue:[String,Number],expandAll:Boolean,expandKeys:Array,accordion:{type:Boolean,default:()=>getConfig().menu.accordion},border:{type:[Boolean,String],default:()=>getConfig().menu.border},optionProps:{type:Object,default:()=>getConfig().menu.optionProps},collapsed:{type:Boolean,default:null},collapseFixed:Boolean,loading:Boolean,options:{type:Array,default:()=>[]},size:{type:String,default:()=>getConfig().menu.size||getConfig().size},menuConfig:Object,appendTo:{type:[String,Function],default:()=>getConfig().menu.appendTo}},emits:["update:modelValue","click","option-menu","menu-click"],setup(C,e){let{emit:n,slots:p}=e;var t=_xeUtils.default.uniqueId();let i=(0,_vue.inject)("$xeLayoutAside",null),_=(0,_vue.ref)(),x=(0,_vue.ref)(),h=(0,_ui.useSize)(C).computeSize,E=(0,_vue.reactive)(createReactData()),y=createInternalData(),l={refElem:_},a=(0,_vue.computed)(()=>Object.assign({},getConfig().menu.menuConfig,C.menuConfig)),u=(0,_vue.computed)(()=>Object.assign({},getConfig().menu.optionProps,C.optionProps)),o=(0,_vue.computed)(()=>u.value.title||"title"),r=(0,_vue.computed)(()=>u.value.name||"name"),s=(0,_vue.computed)(()=>u.value.children||"children"),k=(0,_vue.computed)(()=>u.value.linkUrl||"linkUrl"),M=(0,_vue.computed)(()=>u.value.routerLink||"routerLink"),g=(0,_vue.computed)(()=>{var e=C.border;return e?!0===e?"first-group":e:""}),f=(0,_vue.computed)(()=>{var e=C.collapsed;return _xeUtils.default.isBoolean(e)?e:!!i&&!!i.props.collapsed}),T=(0,_vue.computed)(()=>{var e;return i?(e=i.getComputeMaps().computeVarStyle,e.value):{}}),c={computeSize:h},b={xID:t,props:C,context:e,reactData:E,internalData:y,getRefMaps:()=>l,getComputeMaps:()=>c},j=e=>""+(e.title||e.name),m=u=>{let o=E.activeName,r=y.menuInitMaps;_xeUtils.default.eachTree(E.menuList,(e,t,i,n,l,a)=>{e.itemKey===o?(a.forEach(e=>{e.isActive=!0,u&&(e.isExpand=!0,r[e.itemId]=!0)}),e.isExactActive=!0):(e.isExactActive=!1,e.isActive=!1)},{children:"childList"})},v=()=>{let{options:e,expandAll:c,expandKeys:t}=C,m={},v=o.value,d=r.value,p=s.value,_=k.value,x=M.value,h={},g=(t&&t.forEach(e=>{h[e]=!0}),{}),f={};E.menuList=_xeUtils.default.mapTree(e,(e,t,i,n,l)=>{var a=++nemuUniqueKey,u=e[d]||n.join(","),o=e[p],r=o&&0<o.length,s=!!r&&(_xeUtils.default.isBoolean(e.expanded)?e.expanded:h[u]||!!c),o=(s&&(m[a]=!0),{itemConf:e,title:e[v],name:e[d],icon:e.icon,linkUrl:e[_],linkTarget:e.linkTarget,routerLink:e[x],permissionCode:e.permissionCode,children:o,slots:e.slots,parentKey:l?l.name||n.slice(0,n.length-1).join(","):"",level:n.length,itemId:a,itemKey:u,isExactActive:!1,isActive:!1,isExpand:s,hasChild:r,childList:[]});return f[u]&&errLog("vxe.error.repeatKey",[d,e[d]]),g[a]=o,f[u]=o},{children:"children",mapChildren:"childList"}),y.menuInitMaps=m,y.menuCacheMaps=g,y.menuKeyMaps=f},d=()=>{var e=C.collapseFixed;e&&(0,_vue.nextTick)(()=>{var e,t=f.value,i=_.value;i&&(e=i.getBoundingClientRect(),i=i.parentNode,E.collapseStyle=t?{top:(0,_dom.toCssUnit)(e.top),left:(0,_dom.toCssUnit)(e.left),height:(0,_dom.toCssUnit)(i.clientHeight),zIndex:E.collapseZindex}:{})})},D=()=>{var e=C.collapseFixed;e&&(e=E.initialized,f.value&&!e&&(E.initialized=!0),E.isEnterCollapse=!1,E.collapseZindex<(0,_utils.getLastZIndex)()&&(E.collapseZindex=(0,_utils.nextZIndex)()),d())},I=(t,i,e)=>{var n=C.accordion;let{menuEffectMaps:l,menuInitMaps:a}=y,{itemId:u,hasChild:o,isExpand:r}=i;var s=f.value,c=!r;if(o){t.stopPropagation(),t.preventDefault(),l[u]&&clearTimeout(l[u]),n&&e.forEach(e=>{e!==i&&(e.isExpand=!1)}),i.isExpand=c,a[u]=!0;t=(s?x:_).value;if(t){n=t.querySelector(`.vxe-menu--item-wrapper[data-menu-id="${u}"]`);let e=n?n.querySelector(".vxe-menu--item-group"):null;e&&(c?(e.style.height="0",e.setAttribute("data-effect","y"),requestAnimationFrame(()=>{e.style.height=e.scrollHeight+"px"})):(e.style.height=e.scrollHeight+"px",e.setAttribute("data-effect","y"),requestAnimationFrame(()=>{e.style.height="0"})),l[u]=setTimeout(()=>{delete l[u],e.removeAttribute("data-effect"),e.style.height=""},350))}}},S=e=>{E.activeName=e,n("update:modelValue",e)},A=(n,l)=>{var e=C.menuConfig,t=a.value;(e?(0,_utils.isEnableConf)(t):t.enabled)&&({options:e,visibleMethod:t}=t,t&&!t({$menu:b,options:e,currentMenu:l,currentOption:l.itemConf})||_ui.VxeUI.contextMenu&&_ui.VxeUI.contextMenu.openByEvent(n,{options:e,events:{optionClick(e){var t=e.option,i=menus.get(t.code),i=i?i.menuMenuMethod:null,t={menu:t,currentMenu:l,currentOption:l.itemConf,$event:n,$menu:b};i&&i(t,n),q("menu-click",t,e.$event)}}})),q("option-menu",{currentMenu:l},n)},U=(e,t,i)=>{var{itemKey:n,linkUrl:l,routerLink:a,hasChild:u}=t,l=(!l&&!a&&u?I(e,t,i):(S(n),E.isEnterCollapse=!1,y.lastActiveTime=Date.now()),{currentMenu:t,currentOption:t.itemConf,option:t.itemConf,menu:t});q("click",l,e)},z=()=>{var e=y.lastActiveTime;e<Date.now()-500&&(E.isEnterCollapse=!0)},w=()=>{E.isEnterCollapse=!1},L=(e,t)=>e&&(_xeUtils.default.isString(e)&&(e=p[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[],q=(e,t,i)=>{n(e,(0,_ui.createEvent)(i,{$menu:b},t))},O=e=>{var t=_.value,t=t?t.querySelector(`.vxe-menu--item-wrapper[data-menu-id="${e}"]`):null;return!!t&&((0,_dom.scrollToView)(t),!0)};t={dispatchEvent:q,setExpandByMenuKey(e,t){let{menuKeyMaps:i,menuInitMaps:n}=y;return e&&(e=_xeUtils.default.isArray(e)?e:[e]).forEach(e=>{e=i[e];e&&(t&&(n[e.itemId]=!0),e.isExpand=!!t)}),(0,_vue.nextTick)()},clearAllExpandMenu(){var e=E.menuList;return _xeUtils.default.eachTree(e,e=>{e.isExpand=!1},{children:"childList"}),y.menuInitMaps={},(0,_vue.nextTick)()},scrollToMenuKey(e){var t=y.menuKeyMaps,t=t[e];if(!t)return(0,_vue.nextTick)();let i=t.itemId;return O(i)?(0,_vue.nextTick)():(0,_vue.nextTick)().then(()=>{O(i)})},scrollToActiveMenu(){var e=E.activeName;return e?b.scrollToMenuKey(e):(0,_vue.nextTick)().then(()=>{var e=E.activeName;if(e)return b.scrollToMenuKey(e)})}};Object.assign(b,t,{});let V=(t,i)=>{var{icon:e,isExpand:n,hasChild:l}=t,a=t.slots||{},u=a.default||p.option,o=a.title||p.optionTitle||p["option-title"],a=a.icon||p.optionIcon||p["option-icon"],r=j(t),s=f.value,s={currentMenu:t,currentOption:t.itemConf,option:t.itemConf,collapsed:s};return[u?(0,_ui.renderEmptyElement)(b):(0,_vue.h)("div",{class:"vxe-menu--item-link-icon"},a?L(a,s):e?[(0,_vue.h)("i",{class:e})]:[]),u?(0,_vue.h)("div",{class:"vxe-menu--item-custom-title"},L(u,s)):(0,_vue.h)("div",{class:"vxe-menu--item-link-title",title:r},o?L(o,s):r),l?(0,_vue.h)("div",{class:"vxe-menu--item-link-collapse",onClick(e){I(e,t,i)}},[(0,_vue.h)("i",{class:n?getIcon().MENU_ITEM_EXPAND_OPEN:getIcon().MENU_ITEM_EXPAND_CLOSE})]):(0,_ui.renderEmptyElement)(b)]},K=(t,i)=>{let{itemId:e,itemKey:n,level:l,hasChild:a,isActive:u,isExactActive:o,isExpand:r,linkUrl:s,routerLink:c,linkTarget:m,childList:v}=t;var d,p=E.isEnterCollapse,_=y.menuInitMaps,x=f.value;return t.permissionCode&&!_ui.permission.checkVisible(t.permissionCode)?(0,_ui.renderEmptyElement)(b):(d={onContextmenu(e){A(e,t)},onClick(e){U(e,t,i)}},(0,_vue.h)("div",{key:n,class:["vxe-menu--item-wrapper","vxe-menu--item-level"+l,{"has--child":a,"is--exact-active":o,"is--active":u,"is--expand":x=(!x||p)&&r}],"data-menu-id":e},[s?(0,_vue.h)("a",Object.assign({class:"vxe-menu--item-link is--link",href:s,target:m},d),V(t,i)):c?(0,_vue.h)((0,_vue.resolveComponent)("router-link"),Object.assign({class:"vxe-menu--item-link is--router",to:c,target:m},d),{default:()=>V(t,i)}):(0,_vue.h)("div",Object.assign({class:"vxe-menu--item-link is--default"},d),V(t,i)),a?(0,_vue.h)("div",{class:"vxe-menu--item-group"},x||_[e]?v.map(e=>K(e,v)):[]):(0,_ui.renderEmptyElement)(b)]))};let N=(0,_vue.ref)(0);return(0,_vue.watch)(()=>C.options?C.options.length:-1,()=>{N.value++}),(0,_vue.watch)(()=>C.options,()=>{N.value++}),(0,_vue.watch)(N,()=>{v(),m(!0),(0,_vue.nextTick)(()=>{b.scrollToActiveMenu()})}),(0,_vue.watch)(()=>C.modelValue,e=>{E.activeName=e}),(0,_vue.watch)(()=>E.activeName,()=>{m(!0)}),(0,_vue.watch)(f,()=>{D()}),(0,_vue.onMounted)(()=>{var e=C.menuConfig,t=_ui.VxeUI.getComponent("VxeContextMenu");e&&!t&&errLog("vxe.error.reqComp",["vxe-context-menu"]),_ui.globalEvents.on(b,"resize",d),d(),(0,_vue.nextTick)(()=>{b.scrollToActiveMenu()})}),(0,_vue.onBeforeUnmount)(()=>{_ui.globalEvents.off(b,"resize"),_xeUtils.default.assign(E,createReactData()),_xeUtils.default.assign(y,createInternalData())}),E.initialized=!!C.collapsed,E.activeName=C.modelValue,v(),m(!0),b.renderVN=()=>{var{loading:e,collapseFixed:t,appendTo:i}=C;let{initialized:n,menuList:l,collapseStyle:a,isEnterCollapse:u}=E;var o=h.value;let r=f.value;var s=g.value,c=T.value,m=p.header,v=p.footer;let d={};t&&(d={onMouseenter:z,onMouseleave:w});t={collapsed:r};return(0,_vue.h)("div",{ref:_,class:["vxe-menu",{["border--"+s]:s,["size--"+o]:o,"is--collapsed":r,"is--loading":e}]},[m?(0,_vue.h)("div",{class:"vxe-menu--header"},m(t)):(0,_ui.renderEmptyElement)(b),(0,_vue.h)("div",{class:"vxe-menu--body"},l.map(e=>(r?(t,i)=>{let{itemId:e,itemKey:n,level:l,hasChild:a,isActive:u,isExactActive:o,routerLink:r,linkUrl:s,linkTarget:c,childList:m}=t;var v;return t.permissionCode&&!_ui.permission.checkVisible(t.permissionCode)?(0,_ui.renderEmptyElement)(b):(v={onContextmenu(e){A(e,t)},onClick(e){U(e,t,i)}},(0,_vue.h)("div",{key:n,class:["vxe-menu--item-wrapper","vxe-menu--item-level"+l,{"has--child":a,"is--exact-active":o,"is--active":u}],"data-menu-id":e},[s?(0,_vue.h)("a",Object.assign({class:"vxe-menu--item-link is--link",href:s,target:c},v),V(t,i)):r?(0,_vue.h)((0,_vue.resolveComponent)("router-link"),Object.assign({class:"vxe-menu--item-link is--router",to:r,target:c},v),{default:()=>V(t,i)}):(0,_vue.h)("div",Object.assign({class:"vxe-menu--item-link is--default"},v),V(t,i)),a?(0,_vue.h)("div",{class:"vxe-menu--item-group"},m.map(e=>K(e,m))):(0,_ui.renderEmptyElement)(b)]))}:K)(e,l))),v?(0,_vue.h)("div",{class:"vxe-menu--footer"},v(t)):(0,_ui.renderEmptyElement)(b),(0,_vue.h)(_vue.Teleport,{to:(0,_dom.getPopupContainer)(i),disabled:!n},[(0,_vue.h)("div",Object.assign({ref:x,class:["vxe-menu--collapse-wrapper",{["size--"+o]:o,"is--collapsed":r,"is--enter":u,"is--loading":e}],style:Object.assign({},c,a)},d),r?[m?(0,_vue.h)("div",{class:"vxe-menu--header"},m(t)):(0,_ui.renderEmptyElement)(b),(0,_vue.h)("div",{class:"vxe-menu--body"},l.map(e=>K(e,l))),v?(0,_vue.h)("div",{class:"vxe-menu--footer"},v(t)):(0,_ui.renderEmptyElement)(b)]:[])]),(0,_vue.h)(_loading.default,{class:"vxe-list-view--loading",modelValue:e})])},b},render(){return this.renderVN()}});
@@ -166,6 +166,10 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
166
166
  type: Boolean,
167
167
  default: () => (0, _ui.getConfig)().modal.transfer
168
168
  },
169
+ appendTo: {
170
+ type: [String, Function],
171
+ default: () => (0, _ui.getConfig)().modal.appendTo
172
+ },
169
173
  storage: {
170
174
  type: Boolean,
171
175
  default: () => (0, _ui.getConfig)().modal.storage
@@ -1035,7 +1039,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
1035
1039
  } = (0, _dom.getDomNode)();
1036
1040
  const marginSize = _xeUtils.default.toNumber(props.marginSize);
1037
1041
  const targetElem = evnt.target;
1038
- const type = targetElem.getAttribute('type');
1042
+ const type = targetElem.getAttribute('data-type');
1039
1043
  const minWidth = _xeUtils.default.toNumber(props.minWidth);
1040
1044
  const minHeight = _xeUtils.default.toNumber(props.minHeight);
1041
1045
  const maxWidth = visibleWidth;
@@ -1421,7 +1425,8 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
1421
1425
  padding,
1422
1426
  lockView,
1423
1427
  mask,
1424
- resize
1428
+ resize,
1429
+ appendTo
1425
1430
  } = props;
1426
1431
  const {
1427
1432
  initialized,
@@ -1441,7 +1446,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
1441
1446
  ons.onMouseout = selfMouseoutEvent;
1442
1447
  }
1443
1448
  return (0, _vue.h)(_vue.Teleport, {
1444
- to: 'body',
1449
+ to: (0, _dom.getPopupContainer)(appendTo),
1445
1450
  disabled: btnTransfer ? !initialized : true
1446
1451
  }, [(0, _vue.h)('div', Object.assign({
1447
1452
  ref: refElem,
@@ -1483,7 +1488,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
1483
1488
  }, ['wl', 'wr', 'swst', 'sest', 'st', 'swlb', 'selb', 'sb'].map(type => {
1484
1489
  return (0, _vue.h)('span', {
1485
1490
  class: `${type}-resize`,
1486
- type: type,
1491
+ 'data-type': type,
1487
1492
  onMousedown: dragEvent
1488
1493
  });
1489
1494
  })) : (0, _ui.renderEmptyElement)($xeModal)])])])]);
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.allActiveModals=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_ui=require("../../ui"),_button=_interopRequireDefault(require("../../button")),_loading=_interopRequireDefault(require("../../loading")),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{warnLog,errLog}=(0,_log.createComponentLog)("modal"),allActiveModals=exports.allActiveModals=[],msgQueue=[],notifyQueue=[],lockScrollAttrKey="data-vxe-lock-scroll",lockScrollCssWidthKey="--vxe-ui-modal-lock-scroll-view-width";var _default=exports.default=(0,_comp.defineVxeComponent)({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],useHtml:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.useHtml},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},preload:Boolean,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:{type:[Number,String],default:()=>(0,_ui.getConfig)().modal.width},height:{type:[Number,String],default:()=>(0,_ui.getConfig)().modal.height},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(C,e){let{slots:k,emit:i}=e,s=_xeUtils.default.uniqueId(),V=(0,_vue.inject)("$xeModal",null),D=(0,_vue.inject)("$xeDrawer",null),I=(0,_vue.inject)("$xeTable",null),A=(0,_vue.inject)("$xeForm",null),N=(0,_ui.useSize)(C).computeSize,B=(0,_vue.reactive)({initialized:!1,visible:!1,contentVisible:!1,modalTop:0,modalZindex:0,prevZoomStatus:"",zoomStatus:"",revertLocat:null,prevLocat:null,firstOpen:!0,resizeFlag:1}),t={msgTimeout:void 0},M=(0,_vue.ref)(),T=(0,_vue.ref)(),O=(0,_vue.ref)(),n=(0,_vue.ref)(),u=(0,_vue.ref)(),Z={refElem:M},$=(0,_vue.computed)(()=>{var e=C.transfer;if(null===e){var t=(0,_ui.getConfig)().modal.transfer;if(_xeUtils.default.isBoolean(t))return t;if(I||V||D||A)return!0}return e}),E=(0,_vue.computed)(()=>"message"===C.type||"notification"===C.type),U=(0,_vue.computed)(()=>"minimize"===B.zoomStatus),W=(0,_vue.computed)(()=>"maximize"===B.zoomStatus),l=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().modal.zoomConfig,C.zoomConfig)),j={computeSize:N,computeZoomOpts:l},H={xID:s,props:C,context:e,reactData:B,internalData:t,getRefMaps:()=>Z,getComputeMaps:()=>j};let z=()=>T.value,r=()=>{var{width:e,height:t,minWidth:o,minHeight:i}=C,l=E.value,a=U.value,s=z();return s&&(s.style.width=e?(0,_dom.toCssUnit)(e):"",s.style.height=t?(0,_dom.toCssUnit)(t):"",s.style.minWidth=l||a||!o?"":(0,_dom.toCssUnit)(o),s.style.minHeight=l||a||!i?"":(0,_dom.toCssUnit)(i)),(0,_vue.nextTick)()},m=()=>{var e=C.zIndex,t=B.modalZindex;e?B.modalZindex=e:E.value?t<(0,_utils.getSubLastZIndex)()&&(B.modalZindex=(0,_utils.nextSubZIndex)()):t<(0,_utils.getLastZIndex)()&&(B.modalZindex=(0,_utils.nextZIndex)())},d=()=>(0,_vue.nextTick)().then(()=>{var o=C.position,i=_xeUtils.default.toNumber(C.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)?(0,_dom.toCssUnit)(u):Math.max(i,a/2-l.offsetWidth/2)+"px",e=o&&!r?(0,_dom.toCssUnit)(o):Math.max(i,s/2-l.offsetHeight/2)+"px",l.style.top=e,l.style.left=t}}),c=()=>{(0,_vue.nextTick)(()=>{var e=C.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)})})},v=()=>{-1<allActiveModals.indexOf(H)&&_xeUtils.default.remove(allActiveModals,e=>e===H)},g=()=>{var e=C.type,e="notification"===e?notifyQueue:msgQueue;-1<e.indexOf(H)&&_xeUtils.default.remove(e,e=>e===H),c()},a=e=>{let t=C.remember;var o=B.visible;let i=E.value;var l=C.beforeHideMethod||(0,_ui.getConfig)().modal.beforeHideMethod;let a={type:e};return o&&Promise.resolve(l?l(a):null).then(e=>{_xeUtils.default.isError(e)||(i&&g(),B.contentVisible=!1,t||y(),v(),w("before-hide",a,null),setTimeout(()=>{B.visible=!1,te(!1),w("hide",a,null)},200),x())}).catch(e=>e),(0,_vue.nextTick)()},q=e=>{var t="close";w(t,{type:t},e),a(t)},K=e=>{var t=C.confirmClosable,o="confirm";w(o,{type:o},e),t&&a(o)},P=e=>{var t=C.cancelClosable,o="cancel";w(o,{type:o},e),t&&a(o)},f=e=>{var t=(0,_ui.getConfig)().version,e=_xeUtils.default.toStringJSON(localStorage.getItem(e)||"");return e&&e._v===t?e:{_v:t}},S=()=>{var{id:e,storage:t,storageKey:o}=C,{zoomStatus:i,revertLocat:l}=B;i||e&&t&&(i=z())&&((t=f(o))[e]=[i.style.left,i.style.top,i.clientWidth,i.clientHeight].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)))},p=()=>{let{minimizeLayout:e,minimizeMaxSize:t,minimizeHorizontalOffset:s,minimizeVerticalOffset:n,minimizeOffsetMethod:u}=l.value,r="horizontal"===e,m=B.zoomStatus,o=[],i=[],d=(allActiveModals.forEach(e=>{e.xID!==H.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})):(B.prevZoomStatus=m,B.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||(B.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:H,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",minHeight:"",minWidth:""}),S(),{status:!0}}))},_=()=>{let l=B.zoomStatus;return B.prevZoomStatus=l,B.zoomStatus="maximize",(0,_vue.nextTick)().then(()=>{var e,t,o,i=z();return i&&(l||(e=_xeUtils.default.toNumber(C.marginSize),t=document.documentElement.clientWidth||document.body.clientWidth,o=document.documentElement.clientHeight||document.body.clientHeight,B.revertLocat={top:Math.max(e,o/2-i.offsetHeight/2),left:Math.max(e,t/2-i.offsetWidth/2),width:i.offsetWidth+(i.style.width?0:1),height:i.offsetHeight+(i.style.height?0:1)}),Object.assign(i.style,{top:"0",left:"0",width:"100%",height:"100%",minHeight:"",minWidth:""})),S(),{status:!0}})},h=()=>{var e=C.duration;-1!==e&&(t.msgTimeout=setTimeout(()=>a("close"),_xeUtils.default.toNumber(e)))},x=()=>{var e=document.documentElement,t=e.getAttribute(lockScrollAttrKey);t&&((t=t.split(",").filter(e=>e!==s)).length?e.setAttribute(lockScrollAttrKey,t.join(",")):(e.removeAttribute(lockScrollAttrKey),e.style.removeProperty(lockScrollCssWidthKey)))},o=()=>{let{remember:t,showFooter:o}=C;var e,{initialized:i,visible:l}=B,a=E.value;return i||(B.initialized=!0),l||(i=C.lockScroll,l=E.value,i&&!l&&(i=document.documentElement,l=document.body.clientWidth,(e=(e=i.getAttribute(lockScrollAttrKey))?e.split(","):[]).includes(s)||(e.push(s),i.setAttribute(lockScrollAttrKey,e.join(","))),i.style.setProperty(lockScrollCssWidthKey,l+"px")),B.visible=!0,B.contentVisible=!1,m(),allActiveModals.push(H),setTimeout(()=>{B.contentVisible=!0,(0,_vue.nextTick)(()=>{C.fullscreen||r(),o&&(e=n.value,t=u.value,e=e||t)&&e.focus();var e,t={type:""};te(!0),w("show",t,null)})},10),a?(-1===(e="notification"===(e=C.type)?notifyQueue:msgQueue).indexOf(H)&&e.push(H),c(),h()):(0,_vue.nextTick)(()=>{var e=B.firstOpen;e?(B.firstOpen=!1,(()=>{var{id:e,storage:t,storageKey:o}=C;return!!(e&&t&&f(o)[e])})()?(()=>{var e,t,o,i,l,a,{id:s,storage:n,storageKey:u}=C;s&&n&&(n=f(u)[s])&&(u=z(),[s,n,e,t,o,i,l,a]=n.split(","),u&&(s&&(u.style.left=s+"px"),n&&(u.style.top=n+"px"),e&&(u.style.width=e+"px"),t)&&(u.style.height=t+"px"),o)&&i&&(B.revertLocat={left:o,top:i,width:l,height:a})})():C.fullscreen?(0,_vue.nextTick)(()=>_()):(r(),d().then(()=>{setTimeout(()=>d(),20)}))):t||(r(),d().then(()=>{setTimeout(()=>d(),20)}))})),(0,_vue.nextTick)()},F=e=>{var t=M.value;C.maskClosable&&e.target===t&&a("mask")},Y=()=>{var e=t.msgTimeout;e&&E.value&&(clearTimeout(e),t.msgTimeout=void 0)},X=()=>{var e=t.msgTimeout;e||E.value&&h()},Q=t=>{if(_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.ESCAPE)){let e=_xeUtils.default.max(allActiveModals,e=>e.reactData.modalZindex);e&&setTimeout(()=>{e===H&&e.props.escClosable&&(w("close",{type:"exit"},t),a("exit"))},10)}};let y=()=>(B.prevZoomStatus=B.zoomStatus,(B.zoomStatus="",_vue.nextTick)().then(()=>{var e,t=B.revertLocat;return t?(e=z(),B.revertLocat=null,e&&Object.assign(e.style,{top:t.top+"px",left:t.left+"px",width:t.width+"px",height:t.height+"px"}),S(),(0,_vue.nextTick)().then(()=>({status:!0}))):{status:!1}})),b=t=>{let o=B.zoomStatus;return new Promise(e=>{if(t)return"maximize"===t?void e(_()):"minimize"===t?void e(p()):void e(y());e((o?y:_)())}).then(()=>B.zoomStatus||"revert")},R=t=>{var{zoomStatus:e,prevZoomStatus:o}=B;return b("minimize"===e?o||"revert":"minimize").then(e=>{e={type:e};w("zoom",e,t)})},L=t=>b().then(e=>{e={type:e};w("zoom",e,t)});let J=()=>{let t=B.modalZindex;allActiveModals.some(e=>e.reactData.visible&&e.reactData.modalZindex>t)&&m()},G=e=>{let t=C.storage;var o=B.zoomStatus;let d=_xeUtils.default.toNumber(C.marginSize),c=z();if(c&&"maximize"!==o&&0===e.button&&!(0,_dom.getEventTargetNode)(e,c,"trigger--btn").flag){e.preventDefault();let n=e.clientX-c.offsetLeft,u=e.clientY-c.offsetTop,{visibleHeight:r,visibleWidth:m}=(0,_dom.getDomNode)();document.onmousemove=e=>{e.preventDefault();var t=c.offsetWidth,o=c.offsetHeight,i=d,t=m-t-d-1,l=d,o=r-o-d-1;let a=e.clientX-n,s=e.clientY-u;(a=a>t?t:a)<i&&(a=i),(s=s>o?o:s)<l&&(s=l),c.style.left=a+"px",c.style.top=s+"px",c.className=c.className.replace(/\s?is--drag/,"")+" is--drag",w("move",{type:"move"},e),B.resizeFlag++},document.onmouseup=()=>{document.onmousemove=null,document.onmouseup=null,t&&(0,_vue.nextTick)(()=>{S()}),B.resizeFlag++,setTimeout(()=>{c.className=c.className.replace(/\s?is--drag/,"")},50)}}},ee=e=>{e.preventDefault();let a=C.storage,{visibleHeight:s,visibleWidth:n}=(0,_dom.getDomNode)(),u=_xeUtils.default.toNumber(C.marginSize);let r=e.target.getAttribute("type"),m=_xeUtils.default.toNumber(C.minWidth),d=_xeUtils.default.toNumber(C.minHeight),c=n,v=s,g=z(),f=g.clientWidth,p=g.clientHeight,_=e.clientX,h=e.clientY,x=g.offsetTop,y=g.offsetLeft,b={type:"resize"};document.onmousemove=e=>{e.preventDefault();let t,o,i,l;switch(r){case"wl":t=_-e.clientX,i=t+f,y-t>u&&i>m&&(g.style.width=`${i<c?i:c}px`,g.style.left=y-t+"px");break;case"swst":t=_-e.clientX,o=h-e.clientY,i=t+f,l=o+p,y-t>u&&i>m&&(g.style.width=`${i<c?i:c}px`,g.style.left=y-t+"px"),x-o>u&&l>d&&(g.style.height=`${l<v?l:v}px`,g.style.top=x-o+"px");break;case"swlb":t=_-e.clientX,o=e.clientY-h,i=t+f,l=o+p,y-t>u&&i>m&&(g.style.width=`${i<c?i:c}px`,g.style.left=y-t+"px"),x+l+u<s&&l>d&&(g.style.height=`${l<v?l:v}px`);break;case"st":o=h-e.clientY,l=p+o,x-o>u&&l>d&&(g.style.height=`${l<v?l:v}px`,g.style.top=x-o+"px");break;case"wr":t=e.clientX-_,i=t+f,y+i+u<n&&i>m&&(g.style.width=`${i<c?i:c}px`);break;case"sest":t=e.clientX-_,o=h-e.clientY,i=t+f,l=o+p,y+i+u<n&&i>m&&(g.style.width=`${i<c?i:c}px`),x-o>u&&l>d&&(g.style.height=`${l<v?l:v}px`,g.style.top=x-o+"px");break;case"selb":t=e.clientX-_,o=e.clientY-h,i=t+f,l=o+p,y+i+u<n&&i>m&&(g.style.width=`${i<c?i:c}px`),x+l+u<s&&l>d&&(g.style.height=`${l<v?l:v}px`);break;case"sb":o=e.clientY-h,l=o+p,x+l+u<s&&l>d&&(g.style.height=`${l<v?l:v}px`)}g.className=g.className.replace(/\s?is--drag/,"")+" is--drag",a&&S(),w("resize",b,e)},document.onmouseup=()=>{B.revertLocat=null,document.onmousemove=null,document.onmouseup=null,setTimeout(()=>{g.className=g.className.replace(/\s?is--drag/,"")},50)}},w=(e,t,o)=>{i(e,(0,_ui.createEvent)(o,{$modal:H},t))},te=e=>{i("update:modelValue",e)},oe=(e={dispatchEvent:w,open:o,close(){return a("close")},getBox:z,getPosition:()=>{if(!E.value){var e=z();if(e)return{top:e.offsetTop,left:e.offsetLeft}}return null},setPosition:(e,t)=>{var o;return E.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"===B.zoomStatus,isMaximized:()=>"maximize"===B.zoomStatus,zoom(){return b()},minimize(){return B.visible?p():Promise.resolve({status:!1})},maximize(){return B.visible?_():Promise.resolve({status:!1})},revert(){return B.visible?y():Promise.resolve({status:!1})}},Object.assign(H,e),()=>{var{slots:e={},showClose:t,showZoom:o,showMaximize:i,showMinimize:l,title:a}=C,s=B.zoomStatus,n=k.title||e.title,e=k.corner||e.corner,u=U.value,r=W.value;return[(0,_vue.h)("div",{class:"vxe-modal--header-title"},n?(0,_vn.getSlotVNs)(n({$modal:H,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:H}))):(0,_ui.renderEmptyElement)(H),(_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:R},[(0,_vue.h)("i",{class:"minimize"===s?(0,_ui.getIcon)().MODAL_ZOOM_REVERT:(0,_ui.getIcon)().MODAL_ZOOM_MIN})]):(0,_ui.renderEmptyElement)(H),(_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,_ui.renderEmptyElement)(H),t?(0,_vue.h)("div",{class:["vxe-modal--close-btn","trigger--btn"],title:(0,_ui.getI18n)("vxe.modal.close"),onClick:q},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().MODAL_CLOSE})]):(0,_ui.renderEmptyElement)(H)])]}),ie=()=>{var{slots:e={},showCancelButton:t,showConfirmButton:o,type:i,loading:l}=C,a=k.leftfoot||e.leftfoot,e=k.rightfoot||e.rightfoot,s=[];return(_xeUtils.default.isBoolean(t)?t:"confirm"===i)&&s.push((0,_vue.h)(_button.default,{key:1,ref:u,content:C.cancelButtonText||(0,_ui.getI18n)("vxe.button.cancel"),onClick:P})),(_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:C.confirmButtonText||(0,_ui.getI18n)("vxe.button.confirm"),onClick:K})),(0,_vue.h)("div",{class:"vxe-modal--footer-wrapper"},[(0,_vue.h)("div",{class:"vxe-modal--footer-left"},a?(0,_vn.getSlotVNs)(a({$modal:H})):[]),(0,_vue.h)("div",{class:"vxe-modal--footer-right"},e?(0,_vn.getSlotVNs)(e({$modal:H})):s)])};return H.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:g}=C,{initialized:f,modalTop:p,contentVisible:_,visible:h,zoomStatus:x}=B,e=k.aside||e.aside,y=N.value,b=E.value,z=U.value,S=$.value,w={};return b&&(w.onMouseover=Y,w.onMouseout=X),(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!S||!f},[(0,_vue.h)("div",Object.assign({ref:M,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":g,"is--mask":v,"is--visible":_,"is--active":h,"is--loading":n}],style:{zIndex:B.modalZindex,top:p?p+"px":null},onClick:F},w),[(0,_vue.h)("div",{ref:T,class:"vxe-modal--box",onMousedown:J},[!b&&!e||z?(0,_ui.renderEmptyElement)(H):(0,_vue.h)("div",{class:"vxe-modal--aside"},e?(0,_vn.getSlotVNs)(e({$modal:H})):[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,_ui.renderEmptyElement)(H)]),(0,_vue.h)("div",{class:"vxe-modal--container"},!B.initialized||u&&!B.visible?[]:[(()=>{var e,{slots:t={},showZoom:o,showMaximize:i,draggable:l}=C,t=k.header||t.header;return C.showHeader?(e={},l&&(e.onMousedown=G),(_xeUtils.default.isBoolean(i)?i:o)&&C.dblclickZoom&&"modal"===C.type&&(e.onDblclick=L),(0,_vue.h)("div",Object.assign({ref:O,class:["vxe-modal--header",{"is--ellipsis":C.showTitleOverflow}]},e),t?(0,_vn.getSlotVNs)(t({$modal:H})):oe())):(0,_ui.renderEmptyElement)(H)})(),(()=>{var{slots:e={},status:t,message:o,iconStatus:i,useHtml:l}=C,o=C.content||o,a=E.value,s=k.default||e.default,n=k.left||e.left,e=k.right||e.right,u=[];return a||!t&&!i||u.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()]]})])),u.push(l&&!s?(0,_vue.h)("div",{key:"hc",class:"vxe-modal--content",innerHTML:(0,_utils.getFuncText)(o)}):(0,_vue.h)("div",{key:"dc",class:"vxe-modal--content"},s?(0,_vn.getSlotVNs)(s({$modal:H})):(0,_utils.getFuncText)(o))),(0,_vue.h)("div",{class:"vxe-modal--body"},[n?(0,_vue.h)("div",{class:"vxe-modal--body-left"},(0,_vn.getSlotVNs)(n({$modal:H}))):(0,_ui.renderEmptyElement)(H),(0,_vue.h)("div",{class:"vxe-modal--body-default"},u),e?(0,_vue.h)("div",{class:"vxe-modal--body-right"},(0,_vn.getSlotVNs)(e({$modal:H}))):(0,_ui.renderEmptyElement)(H),a?(0,_ui.renderEmptyElement)(H):(0,_vue.h)(_loading.default,{class:"vxe-modal--loading",modelValue:C.loading})])})(),(()=>{var{slots:e={}}=C,e=k.footer||e.footer;return C.showFooter?(0,_vue.h)("div",{class:"vxe-modal--footer"},e?(0,_vn.getSlotVNs)(e({$modal:H})):[ie()]):(0,_ui.renderEmptyElement)(H)})(),!b&&g?(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:ee}))):(0,_ui.renderEmptyElement)(H)])])])])},(0,_vue.watch)(()=>C.width,r),(0,_vue.watch)(()=>C.height,r),(0,_vue.watch)(()=>C.modelValue,e=>{e?o():a("model")}),(0,_vue.onMounted)(()=>{"modal"===C.type&&C.showFooter&&!(C.showConfirmButton||C.showCancelButton||k.footer)&&warnLog("vxe.modal.footPropErr"),B.initialized=!!C.preload,(0,_vue.nextTick)(()=>{C.storage&&!C.id&&errLog("vxe.error.reqProp",["id"]),C.modelValue&&o(),r()}),C.escClosable&&_ui.globalEvents.on(H,"keydown",Q)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(H,"keydown"),g(),v(),x()}),(0,_vue.provide)("$xeModal",H),H},render(){return this.renderVN()}});
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.allActiveModals=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_ui=require("../../ui"),_button=_interopRequireDefault(require("../../button")),_loading=_interopRequireDefault(require("../../loading")),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{warnLog,errLog}=(0,_log.createComponentLog)("modal"),allActiveModals=exports.allActiveModals=[],msgQueue=[],notifyQueue=[],lockScrollAttrKey="data-vxe-lock-scroll",lockScrollCssWidthKey="--vxe-ui-modal-lock-scroll-view-width";var _default=exports.default=(0,_comp.defineVxeComponent)({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],useHtml:{type:Boolean,default:()=>(0,_ui.getConfig)().modal.useHtml},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},preload:Boolean,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:{type:[Number,String],default:()=>(0,_ui.getConfig)().modal.width},height:{type:[Number,String],default:()=>(0,_ui.getConfig)().modal.height},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},appendTo:{type:[String,Function],default:()=>(0,_ui.getConfig)().modal.appendTo},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(k,e){let{slots:N,emit:i}=e,s=_xeUtils.default.uniqueId(),w=(0,_vue.inject)("$xeModal",null),D=(0,_vue.inject)("$xeDrawer",null),I=(0,_vue.inject)("$xeTable",null),A=(0,_vue.inject)("$xeForm",null),T=(0,_ui.useSize)(k).computeSize,B=(0,_vue.reactive)({initialized:!1,visible:!1,contentVisible:!1,modalTop:0,modalZindex:0,prevZoomStatus:"",zoomStatus:"",revertLocat:null,prevLocat:null,firstOpen:!0,resizeFlag:1}),t={msgTimeout:void 0},M=(0,_vue.ref)(),O=(0,_vue.ref)(),E=(0,_vue.ref)(),n=(0,_vue.ref)(),u=(0,_vue.ref)(),Z={refElem:M},$=(0,_vue.computed)(()=>{var e=k.transfer;if(null===e){var t=(0,_ui.getConfig)().modal.transfer;if(_xeUtils.default.isBoolean(t))return t;if(I||w||D||A)return!0}return e}),U=(0,_vue.computed)(()=>"message"===k.type||"notification"===k.type),H=(0,_vue.computed)(()=>"minimize"===B.zoomStatus),W=(0,_vue.computed)(()=>"maximize"===B.zoomStatus),l=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().modal.zoomConfig,k.zoomConfig)),j={computeSize:T,computeZoomOpts:l},L={xID:s,props:k,context:e,reactData:B,internalData:t,getRefMaps:()=>Z,getComputeMaps:()=>j};let z=()=>O.value,r=()=>{var{width:e,height:t,minWidth:o,minHeight:i}=k,l=U.value,a=H.value,s=z();return s&&(s.style.width=e?(0,_dom.toCssUnit)(e):"",s.style.height=t?(0,_dom.toCssUnit)(t):"",s.style.minWidth=l||a||!o?"":(0,_dom.toCssUnit)(o),s.style.minHeight=l||a||!i?"":(0,_dom.toCssUnit)(i)),(0,_vue.nextTick)()},d=()=>{var e=k.zIndex,t=B.modalZindex;e?B.modalZindex=e:U.value?t<(0,_utils.getSubLastZIndex)()&&(B.modalZindex=(0,_utils.nextSubZIndex)()):t<(0,_utils.getLastZIndex)()&&(B.modalZindex=(0,_utils.nextZIndex)())},m=()=>(0,_vue.nextTick)().then(()=>{var o=k.position,i=_xeUtils.default.toNumber(k.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)?(0,_dom.toCssUnit)(u):Math.max(i,a/2-l.offsetWidth/2)+"px",e=o&&!r?(0,_dom.toCssUnit)(o):Math.max(i,s/2-l.offsetHeight/2)+"px",l.style.top=e,l.style.left=t}}),c=()=>{(0,_vue.nextTick)(()=>{var e=k.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)})})},g=()=>{-1<allActiveModals.indexOf(L)&&_xeUtils.default.remove(allActiveModals,e=>e===L)},f=()=>{var e=k.type,e="notification"===e?notifyQueue:msgQueue;-1<e.indexOf(L)&&_xeUtils.default.remove(e,e=>e===L),c()},a=e=>{let t=k.remember;var o=B.visible;let i=U.value;var l=k.beforeHideMethod||(0,_ui.getConfig)().modal.beforeHideMethod;let a={type:e};return o&&Promise.resolve(l?l(a):null).then(e=>{_xeUtils.default.isError(e)||(i&&f(),B.contentVisible=!1,t||y(),g(),C("before-hide",a,null),setTimeout(()=>{B.visible=!1,te(!1),C("hide",a,null)},200),x())}).catch(e=>e),(0,_vue.nextTick)()},q=e=>{var t="close";C(t,{type:t},e),a(t)},K=e=>{var t=k.confirmClosable,o="confirm";C(o,{type:o},e),t&&a(o)},P=e=>{var t=k.cancelClosable,o="cancel";C(o,{type:o},e),t&&a(o)},v=e=>{var t=(0,_ui.getConfig)().version,e=_xeUtils.default.toStringJSON(localStorage.getItem(e)||"");return e&&e._v===t?e:{_v:t}},S=()=>{var{id:e,storage:t,storageKey:o}=k,{zoomStatus:i,revertLocat:l}=B;i||e&&t&&(i=z())&&((t=v(o))[e]=[i.style.left,i.style.top,i.clientWidth,i.clientHeight].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)))},p=()=>{let{minimizeLayout:e,minimizeMaxSize:t,minimizeHorizontalOffset:s,minimizeVerticalOffset:n,minimizeOffsetMethod:u}=l.value,r="horizontal"===e,d=B.zoomStatus,o=[],i=[],m=(allActiveModals.forEach(e=>{e.xID!==L.xID&&"modal"===e.props.type&&"minimize"===e.reactData.zoomStatus&&("horizontal"===e.getComputeMaps().computeZoomOpts.value.minimizeLayout?o:i).push(e)}),r?o:i);return t&&m.length>=t?(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:(0,_ui.getI18n)("vxe.modal.miniMaxSize",[t])}),Promise.resolve({status:!1})):(B.prevZoomStatus=d,B.zoomStatus="minimize",(0,_vue.nextTick)().then(()=>{var e=z();if(!e)return{status:!1};var t=E.value;if(!t)return{status:!1};var o=(0,_dom.getDomNode)().visibleHeight,i=(d||(B.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"](m,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:L,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",minHeight:"",minWidth:""}),S(),{status:!0}}))},_=()=>{let l=B.zoomStatus;return B.prevZoomStatus=l,B.zoomStatus="maximize",(0,_vue.nextTick)().then(()=>{var e,t,o,i=z();return i&&(l||(e=_xeUtils.default.toNumber(k.marginSize),t=document.documentElement.clientWidth||document.body.clientWidth,o=document.documentElement.clientHeight||document.body.clientHeight,B.revertLocat={top:Math.max(e,o/2-i.offsetHeight/2),left:Math.max(e,t/2-i.offsetWidth/2),width:i.offsetWidth+(i.style.width?0:1),height:i.offsetHeight+(i.style.height?0:1)}),Object.assign(i.style,{top:"0",left:"0",width:"100%",height:"100%",minHeight:"",minWidth:""})),S(),{status:!0}})},h=()=>{var e=k.duration;-1!==e&&(t.msgTimeout=setTimeout(()=>a("close"),_xeUtils.default.toNumber(e)))},x=()=>{var e=document.documentElement,t=e.getAttribute(lockScrollAttrKey);t&&((t=t.split(",").filter(e=>e!==s)).length?e.setAttribute(lockScrollAttrKey,t.join(",")):(e.removeAttribute(lockScrollAttrKey),e.style.removeProperty(lockScrollCssWidthKey)))},o=()=>{let{remember:t,showFooter:o}=k;var e,{initialized:i,visible:l}=B,a=U.value;return i||(B.initialized=!0),l||(i=k.lockScroll,l=U.value,i&&!l&&(i=document.documentElement,l=document.body.clientWidth,(e=(e=i.getAttribute(lockScrollAttrKey))?e.split(","):[]).includes(s)||(e.push(s),i.setAttribute(lockScrollAttrKey,e.join(","))),i.style.setProperty(lockScrollCssWidthKey,l+"px")),B.visible=!0,B.contentVisible=!1,d(),allActiveModals.push(L),setTimeout(()=>{B.contentVisible=!0,(0,_vue.nextTick)(()=>{k.fullscreen||r(),o&&(e=n.value,t=u.value,e=e||t)&&e.focus();var e,t={type:""};te(!0),C("show",t,null)})},10),a?(-1===(e="notification"===(e=k.type)?notifyQueue:msgQueue).indexOf(L)&&e.push(L),c(),h()):(0,_vue.nextTick)(()=>{var e=B.firstOpen;e?(B.firstOpen=!1,(()=>{var{id:e,storage:t,storageKey:o}=k;return!!(e&&t&&v(o)[e])})()?(()=>{var e,t,o,i,l,a,{id:s,storage:n,storageKey:u}=k;s&&n&&(n=v(u)[s])&&(u=z(),[s,n,e,t,o,i,l,a]=n.split(","),u&&(s&&(u.style.left=s+"px"),n&&(u.style.top=n+"px"),e&&(u.style.width=e+"px"),t)&&(u.style.height=t+"px"),o)&&i&&(B.revertLocat={left:o,top:i,width:l,height:a})})():k.fullscreen?(0,_vue.nextTick)(()=>_()):(r(),m().then(()=>{setTimeout(()=>m(),20)}))):t||(r(),m().then(()=>{setTimeout(()=>m(),20)}))})),(0,_vue.nextTick)()},F=e=>{var t=M.value;k.maskClosable&&e.target===t&&a("mask")},Y=()=>{var e=t.msgTimeout;e&&U.value&&(clearTimeout(e),t.msgTimeout=void 0)},X=()=>{var e=t.msgTimeout;e||U.value&&h()},Q=t=>{if(_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.ESCAPE)){let e=_xeUtils.default.max(allActiveModals,e=>e.reactData.modalZindex);e&&setTimeout(()=>{e===L&&e.props.escClosable&&(C("close",{type:"exit"},t),a("exit"))},10)}};let y=()=>(B.prevZoomStatus=B.zoomStatus,(B.zoomStatus="",_vue.nextTick)().then(()=>{var e,t=B.revertLocat;return t?(e=z(),B.revertLocat=null,e&&Object.assign(e.style,{top:t.top+"px",left:t.left+"px",width:t.width+"px",height:t.height+"px"}),S(),(0,_vue.nextTick)().then(()=>({status:!0}))):{status:!1}})),b=t=>{let o=B.zoomStatus;return new Promise(e=>{if(t)return"maximize"===t?void e(_()):"minimize"===t?void e(p()):void e(y());e((o?y:_)())}).then(()=>B.zoomStatus||"revert")},R=t=>{var{zoomStatus:e,prevZoomStatus:o}=B;return b("minimize"===e?o||"revert":"minimize").then(e=>{e={type:e};C("zoom",e,t)})},V=t=>b().then(e=>{e={type:e};C("zoom",e,t)});let J=()=>{let t=B.modalZindex;allActiveModals.some(e=>e.reactData.visible&&e.reactData.modalZindex>t)&&d()},G=e=>{let t=k.storage;var o=B.zoomStatus;let m=_xeUtils.default.toNumber(k.marginSize),c=z();if(c&&"maximize"!==o&&0===e.button&&!(0,_dom.getEventTargetNode)(e,c,"trigger--btn").flag){e.preventDefault();let n=e.clientX-c.offsetLeft,u=e.clientY-c.offsetTop,{visibleHeight:r,visibleWidth:d}=(0,_dom.getDomNode)();document.onmousemove=e=>{e.preventDefault();var t=c.offsetWidth,o=c.offsetHeight,i=m,t=d-t-m-1,l=m,o=r-o-m-1;let a=e.clientX-n,s=e.clientY-u;(a=a>t?t:a)<i&&(a=i),(s=s>o?o:s)<l&&(s=l),c.style.left=a+"px",c.style.top=s+"px",c.className=c.className.replace(/\s?is--drag/,"")+" is--drag",C("move",{type:"move"},e),B.resizeFlag++},document.onmouseup=()=>{document.onmousemove=null,document.onmouseup=null,t&&(0,_vue.nextTick)(()=>{S()}),B.resizeFlag++,setTimeout(()=>{c.className=c.className.replace(/\s?is--drag/,"")},50)}}},ee=e=>{e.preventDefault();let a=k.storage,{visibleHeight:s,visibleWidth:n}=(0,_dom.getDomNode)(),u=_xeUtils.default.toNumber(k.marginSize);let r=e.target.getAttribute("data-type"),d=_xeUtils.default.toNumber(k.minWidth),m=_xeUtils.default.toNumber(k.minHeight),c=n,g=s,f=z(),v=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+v,y-t>u&&i>d&&(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+v,l=o+p,y-t>u&&i>d&&(f.style.width=`${i<c?i:c}px`,f.style.left=y-t+"px"),x-o>u&&l>m&&(f.style.height=`${l<g?l:g}px`,f.style.top=x-o+"px");break;case"swlb":t=_-e.clientX,o=e.clientY-h,i=t+v,l=o+p,y-t>u&&i>d&&(f.style.width=`${i<c?i:c}px`,f.style.left=y-t+"px"),x+l+u<s&&l>m&&(f.style.height=`${l<g?l:g}px`);break;case"st":o=h-e.clientY,l=p+o,x-o>u&&l>m&&(f.style.height=`${l<g?l:g}px`,f.style.top=x-o+"px");break;case"wr":t=e.clientX-_,i=t+v,y+i+u<n&&i>d&&(f.style.width=`${i<c?i:c}px`);break;case"sest":t=e.clientX-_,o=h-e.clientY,i=t+v,l=o+p,y+i+u<n&&i>d&&(f.style.width=`${i<c?i:c}px`),x-o>u&&l>m&&(f.style.height=`${l<g?l:g}px`,f.style.top=x-o+"px");break;case"selb":t=e.clientX-_,o=e.clientY-h,i=t+v,l=o+p,y+i+u<n&&i>d&&(f.style.width=`${i<c?i:c}px`),x+l+u<s&&l>m&&(f.style.height=`${l<g?l:g}px`);break;case"sb":o=e.clientY-h,l=o+p,x+l+u<s&&l>m&&(f.style.height=`${l<g?l:g}px`)}f.className=f.className.replace(/\s?is--drag/,"")+" is--drag",a&&S(),C("resize",b,e)},document.onmouseup=()=>{B.revertLocat=null,document.onmousemove=null,document.onmouseup=null,setTimeout(()=>{f.className=f.className.replace(/\s?is--drag/,"")},50)}},C=(e,t,o)=>{i(e,(0,_ui.createEvent)(o,{$modal:L},t))},te=e=>{i("update:modelValue",e)},oe=(e={dispatchEvent:C,open:o,close(){return a("close")},getBox:z,getPosition:()=>{if(!U.value){var e=z();if(e)return{top:e.offsetTop,left:e.offsetLeft}}return null},setPosition:(e,t)=>{var o;return U.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"===B.zoomStatus,isMaximized:()=>"maximize"===B.zoomStatus,zoom(){return b()},minimize(){return B.visible?p():Promise.resolve({status:!1})},maximize(){return B.visible?_():Promise.resolve({status:!1})},revert(){return B.visible?y():Promise.resolve({status:!1})}},Object.assign(L,e),()=>{var{slots:e={},showClose:t,showZoom:o,showMaximize:i,showMinimize:l,title:a}=k,s=B.zoomStatus,n=N.title||e.title,e=N.corner||e.corner,u=H.value,r=W.value;return[(0,_vue.h)("div",{class:"vxe-modal--header-title"},n?(0,_vn.getSlotVNs)(n({$modal:L,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:L}))):(0,_ui.renderEmptyElement)(L),(_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:R},[(0,_vue.h)("i",{class:"minimize"===s?(0,_ui.getIcon)().MODAL_ZOOM_REVERT:(0,_ui.getIcon)().MODAL_ZOOM_MIN})]):(0,_ui.renderEmptyElement)(L),(_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:V},[(0,_vue.h)("i",{class:"maximize"===s?(0,_ui.getIcon)().MODAL_ZOOM_OUT:(0,_ui.getIcon)().MODAL_ZOOM_IN})]):(0,_ui.renderEmptyElement)(L),t?(0,_vue.h)("div",{class:["vxe-modal--close-btn","trigger--btn"],title:(0,_ui.getI18n)("vxe.modal.close"),onClick:q},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().MODAL_CLOSE})]):(0,_ui.renderEmptyElement)(L)])]}),ie=()=>{var{slots:e={},showCancelButton:t,showConfirmButton:o,type:i,loading:l}=k,a=N.leftfoot||e.leftfoot,e=N.rightfoot||e.rightfoot,s=[];return(_xeUtils.default.isBoolean(t)?t:"confirm"===i)&&s.push((0,_vue.h)(_button.default,{key:1,ref:u,content:k.cancelButtonText||(0,_ui.getI18n)("vxe.button.cancel"),onClick:P})),(_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:k.confirmButtonText||(0,_ui.getI18n)("vxe.button.confirm"),onClick:K})),(0,_vue.h)("div",{class:"vxe-modal--footer-wrapper"},[(0,_vue.h)("div",{class:"vxe-modal--footer-left"},a?(0,_vn.getSlotVNs)(a({$modal:L})):[]),(0,_vue.h)("div",{class:"vxe-modal--footer-right"},e?(0,_vn.getSlotVNs)(e({$modal:L})):s)])};return L.renderVN=()=>{var{slots:e={},className:t,type:o,animat:i,draggable:l,iconStatus:a,position:s,loading:n,destroyOnClose:u,status:r,lockScroll:d,padding:m,lockView:c,mask:g,resize:f,appendTo:v}=k,{initialized:p,modalTop:_,contentVisible:h,visible:x,zoomStatus:y}=B,e=N.aside||e.aside,b=T.value,z=U.value,S=H.value,C=$.value,w={};return z&&(w.onMouseover=Y,w.onMouseout=X),(0,_vue.h)(_vue.Teleport,{to:(0,_dom.getPopupContainer)(v),disabled:!C||!p},[(0,_vue.h)("div",Object.assign({ref:M,class:["vxe-modal--wrapper","type--"+o,"zoom--"+(y||"revert"),t||"",s?"pos--"+s:"",{["size--"+b]:b,["status--"+r]:r,"is--padding":m,"is--animat":i,"lock--scroll":d,"lock--view":c,"is--draggable":l,"is--resize":f,"is--mask":g,"is--visible":h,"is--active":x,"is--loading":n}],style:{zIndex:B.modalZindex,top:_?_+"px":null},onClick:F},w),[(0,_vue.h)("div",{ref:O,class:"vxe-modal--box",onMousedown:J},[!z&&!e||S?(0,_ui.renderEmptyElement)(L):(0,_vue.h)("div",{class:"vxe-modal--aside"},e?(0,_vn.getSlotVNs)(e({$modal:L})):[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,_ui.renderEmptyElement)(L)]),(0,_vue.h)("div",{class:"vxe-modal--container"},!B.initialized||u&&!B.visible?[]:[(()=>{var e,{slots:t={},showZoom:o,showMaximize:i,draggable:l}=k,t=N.header||t.header;return k.showHeader?(e={},l&&(e.onMousedown=G),(_xeUtils.default.isBoolean(i)?i:o)&&k.dblclickZoom&&"modal"===k.type&&(e.onDblclick=V),(0,_vue.h)("div",Object.assign({ref:E,class:["vxe-modal--header",{"is--ellipsis":k.showTitleOverflow}]},e),t?(0,_vn.getSlotVNs)(t({$modal:L})):oe())):(0,_ui.renderEmptyElement)(L)})(),(()=>{var{slots:e={},status:t,message:o,iconStatus:i,useHtml:l}=k,o=k.content||o,a=U.value,s=N.default||e.default,n=N.left||e.left,e=N.right||e.right,u=[];return a||!t&&!i||u.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()]]})])),u.push(l&&!s?(0,_vue.h)("div",{key:"hc",class:"vxe-modal--content",innerHTML:(0,_utils.getFuncText)(o)}):(0,_vue.h)("div",{key:"dc",class:"vxe-modal--content"},s?(0,_vn.getSlotVNs)(s({$modal:L})):(0,_utils.getFuncText)(o))),(0,_vue.h)("div",{class:"vxe-modal--body"},[n?(0,_vue.h)("div",{class:"vxe-modal--body-left"},(0,_vn.getSlotVNs)(n({$modal:L}))):(0,_ui.renderEmptyElement)(L),(0,_vue.h)("div",{class:"vxe-modal--body-default"},u),e?(0,_vue.h)("div",{class:"vxe-modal--body-right"},(0,_vn.getSlotVNs)(e({$modal:L}))):(0,_ui.renderEmptyElement)(L),a?(0,_ui.renderEmptyElement)(L):(0,_vue.h)(_loading.default,{class:"vxe-modal--loading",modelValue:k.loading})])})(),(()=>{var{slots:e={}}=k,e=N.footer||e.footer;return k.showFooter?(0,_vue.h)("div",{class:"vxe-modal--footer"},e?(0,_vn.getSlotVNs)(e({$modal:L})):[ie()]):(0,_ui.renderEmptyElement)(L)})(),!z&&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","data-type":e,onMousedown:ee}))):(0,_ui.renderEmptyElement)(L)])])])])},(0,_vue.watch)(()=>k.width,r),(0,_vue.watch)(()=>k.height,r),(0,_vue.watch)(()=>k.modelValue,e=>{e?o():a("model")}),(0,_vue.onMounted)(()=>{"modal"===k.type&&k.showFooter&&!(k.showConfirmButton||k.showCancelButton||N.footer)&&warnLog("vxe.modal.footPropErr"),B.initialized=!!k.preload,(0,_vue.nextTick)(()=>{k.storage&&!k.id&&errLog("vxe.error.reqProp",["id"]),k.modelValue&&o(),r()}),k.escClosable&&_ui.globalEvents.on(L,"keydown",Q)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(L,"keydown"),f(),g(),x()}),(0,_vue.provide)("$xeModal",L),L},render(){return this.renderVN()}});
@@ -1725,6 +1725,9 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
1725
1725
  const inpPlaceholder = computeInpPlaceholder.value;
1726
1726
  const popupWrapperStyle = computePopupWrapperStyle.value;
1727
1727
  const popupOpts = computePopupOpts.value;
1728
+ const {
1729
+ appendTo
1730
+ } = popupOpts;
1728
1731
  const defaultSlot = slots.default;
1729
1732
  const headerSlot = slots.header;
1730
1733
  const footerSlot = slots.footer;
@@ -1778,7 +1781,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
1778
1781
  }, prefixSlot ? {
1779
1782
  prefix: () => prefixSlot({})
1780
1783
  } : {}), (0, _vue.h)(_vue.Teleport, {
1781
- to: 'body',
1784
+ to: (0, _dom.getPopupContainer)(appendTo),
1782
1785
  disabled: btnTransfer ? !initialized : true
1783
1786
  }, [(0, _vue.h)('div', {
1784
1787
  ref: refOptionPanel,
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log"),_input=_interopRequireDefault(require("../../input/src/input")),_button=_interopRequireDefault(require("../../button/src/button"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let errLog=(0,_log.createComponentLog)("select").errLog;function isOptionVisible(e){return!1!==e.visible}function getOptUniqueId(){return _xeUtils.default.uniqueId("opt_")}function createReactData(){return{initialized:!1,scrollYLoad:!1,bodyHeight:0,topSpaceHeight:0,optList:[],staticOptions:[],reactFlag:0,currentOption:null,searchValue:"",searchLoading:!1,panelIndex:0,panelStyle:{},panelPlacement:null,triggerFocusPanel:!1,visiblePanel:!1,isAniVisible:!1,isActivated:!1}}function createInternalData(){return{synchData:[],fullData:[],afterVisibleList:[],optAddMaps:{},optGroupKeyMaps:{},optFullValMaps:{},remoteValMaps:{},lastScrollLeft:0,lastScrollTop:0,scrollYStore:{startIndex:0,endIndex:0,visibleSize:0,offsetSize:0,rowHeight:0},lastScrollTime:0,hpTimeout:void 0}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeSelect",props:{modelValue:[String,Number,Boolean,Array],defaultConfig:Object,clearable:{type:Boolean,default:()=>(0,_ui.getConfig)().select.clearable},placeholder:String,readonly:{type:Boolean,default:null},loading:Boolean,disabled:{type:Boolean,default:null},multiple:Boolean,multiCharOverflow:{type:[Number,String],default:()=>(0,_ui.getConfig)().select.multiCharOverflow},prefixIcon:String,allowCreate:{type:Boolean,default:()=>(0,_ui.getConfig)().select.allowCreate},placement:String,lazyOptions:Array,options:Array,optionProps:Object,optionGroups:Array,optionGroupProps:Object,optionConfig:Object,className:[String,Function],popupClassName:[String,Function],max:{type:[String,Number],default:null},showRadio:{type:Boolean,default:()=>(0,_ui.getConfig)().select.showRadio},radioConfig:Object,showCheckbox:{type:Boolean,default:()=>(0,_ui.getConfig)().select.showCheckedButton},checkboxConfig:Object,zIndex:Number,size:{type:String,default:()=>(0,_ui.getConfig)().select.size||(0,_ui.getConfig)().size},filterable:Boolean,filterMethod:Function,filterConfig:Object,remote:Boolean,remoteConfig:Object,emptyText:String,checkedClosable:{type:Boolean,default:()=>(0,_ui.getConfig)().select.checkedClosable},clearClosable:{type:Boolean,default:()=>(0,_ui.getConfig)().select.clearClosable},showCloseButton:{type:Boolean,default:()=>(0,_ui.getConfig)().select.showCloseButton},showTotalButton:{type:Boolean,default:()=>(0,_ui.getConfig)().select.showTotalButton},showCheckedButton:{type:Boolean,default:()=>(0,_ui.getConfig)().select.showCheckedButton},showClearButton:{type:Boolean,default:()=>(0,_ui.getConfig)().select.showClearButton},transfer:{type:Boolean,default:null},popupConfig:Object,virtualYConfig:Object,scrollY:Object,remoteMethod:Function,optionId:{type:String,default:()=>(0,_ui.getConfig)().select.optionId},optionKey:Boolean},emits:["update:modelValue","change","default-change","all-change","clear","blur","focus","click","scroll","visible-change"],setup(k,e){let{slots:w,emit:a}=e,n=(0,_vue.inject)("$xeModal",null),C=(0,_vue.inject)("$xeDrawer",null),E=(0,_vue.inject)("$xeTable",null),i=(0,_vue.inject)("$xeForm",null),T=(0,_vue.inject)("xeFormItemInfo",null);var t=_xeUtils.default.uniqueId();let V=(0,_vue.ref)(),L=(0,_vue.ref)(),K=(0,_vue.ref)(),P=(0,_vue.ref)(),B=(0,_vue.ref)(),q=(0,_vue.ref)(),R=(0,_ui.useSize)(k).computeSize,A=(0,_vue.reactive)(createReactData()),M=createInternalData(),y={refElem:V},D={xID:t,props:k,context:e,reactData:A,internalData:M,getRefMaps:()=>y},$=(0,_vue.computed)(()=>{var e=k.readonly;return null===e?!!i&&i.props.readonly:e}),U=(0,_vue.computed)(()=>{var e=k.disabled;return null===e?!!i&&i.props.disabled:e}),G=(0,_vue.computed)(()=>{var e=k.transfer,t=j.value;if(_xeUtils.default.isBoolean(t.transfer))return t.transfer;if(null===e){t=(0,_ui.getConfig)().select.transfer;if(_xeUtils.default.isBoolean(t))return t;if(E||n||C||i)return!0}return e}),W=(0,_vue.computed)(()=>{var e=k.placeholder;return(e=e||(0,_ui.getConfig)().select.placeholder)?(0,_utils.getFuncText)(e):(0,_ui.getI18n)("vxe.base.pleaseSelect")}),O=(0,_vue.computed)(()=>Object.assign({},k.defaultConfig)),S=(0,_vue.computed)(()=>Object.assign({},k.optionProps)),I=(0,_vue.computed)(()=>Object.assign({},k.optionGroupProps)),v=(0,_vue.computed)(()=>S.value.label||"label"),N=(0,_vue.computed)(()=>S.value.value||"value"),X=(0,_vue.computed)(()=>I.value.label||"label"),Z=(0,_vue.computed)(()=>I.value.options||"options"),J=(0,_vue.computed)(()=>{var e=F.value;return ce(e)}),j=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().select.popupConfig,k.popupConfig)),Q=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().select.virtualYConfig||(0,_ui.getConfig)().select.scrollY,k.virtualYConfig||k.scrollY)),r=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().select.remoteConfig,k.remoteConfig)),ee=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().select.filterConfig,k.filterConfig)),te=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().select.optionConfig,k.optionConfig)),le=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().select.radioConfig,k.radioConfig)),ae=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().select.checkboxConfig,k.checkboxConfig)),ie=(0,_vue.computed)(()=>_xeUtils.default.toNumber(k.multiCharOverflow)),oe=(0,_vue.computed)(()=>{var{height:e,width:t}=j.value,l={};return t&&(l.width=(0,_dom.toCssUnit)(t)),e&&(l.height=(0,_dom.toCssUnit)(e),l.maxHeight=(0,_dom.toCssUnit)(e)),l}),F=(0,_vue.computed)(()=>{var{modelValue:e,multiple:t}=k;let l=[];return _xeUtils.default.isArray(e)?l=e:t?(0,_utils.eqEmptyValue)(e)||(l=-1<(""+e).indexOf(",")?(""+e).split(","):[e]):l=null==e?[]:[e],l}),ne=(0,_vue.computed)(()=>{var e=k.remote,t=A.reactFlag,l=F.value;return(e&&t?l.map(e=>ve(e)):l.map(e=>de(e))).join(", ")}),ue=(0,_vue.computed)(()=>{var{remote:e,multiple:t}=k,l=A.reactFlag,a=ie.value,i=F.value;return e&&l?i.map(e=>ve(e)).join(", "):(e=i.map(e=>de(e)),t&&0<a&&e.length>a?e.slice(0,a)+"...":e.join(", "))}),H=(e,t)=>e&&(_xeUtils.default.isString(e)&&(e=w[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[],s=(e,t,l)=>{a(e,(0,_ui.createEvent)(l,{$select:D},t))},re=e=>{a("update:modelValue",e)},se=e=>{re(e),s("default-change",{value:e},null)},c=()=>te.value.keyField||k.optionId||"_X_OPTION_KEY",z=e=>{e=e[c()];return e?encodeURIComponent(e):""},ce=e=>{var{multiple:t,max:l}=k;return!(!t||!l)&&e.length>=_xeUtils.default.toNumber(l)},ve=t=>{var e=k.lazyOptions,{remoteValMaps:l,optFullValMaps:a}=M;let i=N.value;var o=v.value,l=l[t]||a[t],a=l?l.item:null;if(a)return _xeUtils.default.toValueString(a[o]);if(e){l=e.find(e=>e[i]===t);if(l)return l[o]}return t},de=t=>{var e=k.lazyOptions,l=M.optFullValMaps;let a=N.value;var i=v.value,l=A.reactFlag?l[t]:null;if(l)return l.item[i];if(e){l=e.find(e=>e[a]===t);if(l)return l[i]}return t},d=()=>{let{remote:e,modelValue:t,filterable:l}=k,a=A.searchValue,{fullData:i,optFullValMaps:o}=M,n=v.value,u=N.value;let r=ee.value.filterMethod||k.filterMethod,s=(""+(a||"")).toLowerCase(),c=[];return(c=e?i.filter(isOptionVisible):l&&r?i.filter(e=>isOptionVisible(e)&&r({$select:D,group:null,option:e,searchValue:a,value:t})):l?i.filter(e=>isOptionVisible(e)&&(!s||-1<(""+(e[n]||e[u])).toLowerCase().indexOf(s))):i.filter(isOptionVisible)).forEach((e,t)=>{e=o[e[u]];e&&(e._index=t)}),M.afterVisibleList=c,(0,_vue.nextTick)()},pe=e=>{e&&(A.currentOption=e)},fe=()=>{var e=j.value.zIndex||k.zIndex;e?A.panelIndex=_xeUtils.default.toNumber(e):A.panelIndex<(0,_utils.getLastZIndex)()&&(A.panelIndex=(0,_utils.nextZIndex)())},p=()=>{let l=k.placement,a=A.panelIndex,i=V.value,o=B.value,n=G.value,u=j.value;var e=()=>{var e=(0,_dom.updatePanelPlacement)(i,o,{placement:u.placement||l,defaultPlacement:u.defaultPlacement,teleportTo:n}),t=Object.assign(e.style,{zIndex:a});A.panelStyle=t,A.panelPlacement=e.placement};return e(),(0,_vue.nextTick)().then(e)},ge=()=>{(0,_vue.nextTick)(()=>{var{isAniVisible:e,visiblePanel:t}=A,l=M.optFullValMaps,a=F.value;a.length&&e&&t&&(e=A.reactFlag?l[""+a[0]]:null)&&(A.currentOption=e.item,Fe(e.item))})},f=()=>{var{loading:e,filterable:t,remote:l}=k,{fullData:a,hpTimeout:i}=M,o=U.value,n=r.value;let u=F.value;e||o||(i&&(clearTimeout(i),M.hpTimeout=void 0),A.initialized||(A.initialized=!0),A.isActivated=!0,A.isAniVisible=!0,t&&(l&&n.enabled&&(n.autoLoad&&!a.length||a.length&&n.clearOnClose)?Be:(d(),m))(),setTimeout(()=>{A.visiblePanel=!0,Se(),x().then(()=>{(u&&u.length?ge:b)()}),p()},10),setTimeout(()=>{x().then(()=>b())},100),fe(),p(),s("visible-change",{visible:!0},null))},g=e=>{var{filterable:t,remote:l}=k,a=ee.value,i=r.value;l?i.clearOnClose&&(A.searchValue=""):t&&!a.clearOnClose||(A.searchValue=""),A.searchLoading=!1,A.visiblePanel=!1,M.hpTimeout=setTimeout(()=>{A.isAniVisible=!1},350),s("visible-change",{visible:!1},e||null)},u=(e,t,l)=>{re(t),t!==k.modelValue&&(s("change",{value:t,option:l},e),i)&&T&&i.triggerItemEvent(e,T.itemConfig.field,t)},_=(e,t)=>{M.remoteValMaps={},u(e,t,null),s("clear",{value:t},e)},_e=e=>{e=e.$event;_(e,null),g(e)},he=e=>{var e=e.$event,{multiple:t,max:l,checkedClosable:a}=k,i=A.optList,o=N.value;if(t){var n=F.value.slice(0);for(let e=0;e<i.length;e++){let t=i[e][o];if(ce(n)){_ui.VxeUI&&_ui.VxeUI.modal.message({content:(0,_ui.getI18n)("vxe.select.overSizeErr",[l]),status:"warning"});break}n.some(e=>e===t)||n.push(t)}u(e,n,i[0]),a&&g(e),s("all-change",{value:n},e)}},me=e=>{var t=k.clearClosable,e=e.$event;_(e,null),t&&g(e)},be=e=>{e=e.$event;g(e)},Y=(t,l)=>{var e=k.multiple,a=M.remoteValMaps;let i=l[N.value];var o=a[i];if(A.visiblePanel){if(o?o.item=l:a[i]={key:z(l),item:l,_index:-1},e){let e=[];o=F.value,a=_xeUtils.default.findIndexOf(o,e=>e===i);e=-1===a?o.concat([i]):o.filter(e=>e!==i),u(t,e,l)}else u(t,i,l),g(t);A.reactFlag++}},xe=e=>{var t=A.visiblePanel;U.value||t&&(t=B.value,(0,_dom.getEventTargetNode)(e,t).flag?p():g(e))},Ce=e=>{var t,l=A.visiblePanel,a=U.value,i=j.value.trigger;a||(a=V.value,t=B.value,A.isActivated=(0,_dom.getEventTargetNode)(e,a).flag||(0,_dom.getEventTargetNode)(e,t).flag,l&&!A.isActivated&&"manual"!==i&&g(e))},h=e=>{var t=e.disabled,e=z(e);return!t&&!qe(e)},Ee=(e,t)=>{var l=k.allowCreate,a=A.optList,{optFullValMaps:i,optAddMaps:o,afterVisibleList:n}=M,u=N.value;let r=n,s=0;if(l&&a.length&&(n=a[0],o[l=z(n)])&&(s=1,r=[o[l]].concat(r)),!e)if(t)for(let e=0;e<r.length;e++){var c=r[e];if(h(c))return c}else for(let e=r.length-1;0<=e;e--){var v=r[e];if(h(v))return v}let d=0;a=e?i[e[u]]:null;if(-1<(d=a?a._index+s:d))if(t)for(let e=d+1;e<=r.length-1;e++){var p=r[e];if(h(p))return p}else if(0<d)for(let e=d-1;0<=e;e--){var f=r[e];if(h(f))return f}return null},Te=t=>{var e=k.clearable,{visiblePanel:l,currentOption:a}=A,i=U.value,o=j.value.trigger;if(!i){var i=_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.TAB),n=_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.ENTER),u=_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.ESCAPE),r=_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.ARROW_UP),s=_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.ARROW_DOWN),c=_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.DELETE);if(i&&(A.isActivated=!1),l){if(u||i)"manual"!==o&&g(t);else if(n)a&&(t.preventDefault(),t.stopPropagation(),Y(t,a));else if(r||s){t.preventDefault();let e=Ee(a,s);(e=e||Ee(null,s))&&(pe(e),Fe(e,s))}}else(r||s||n)&&A.isActivated&&(t.preventDefault(),f());A.isActivated&&c&&e&&_(t,null)}},ye=e=>{var{visiblePanel:t,isActivated:l}=A,a=j.value.trigger;t&&"manual"!==a&&g(e),l&&(A.isActivated=!1),(t||l)&&(a=L.value)&&a.blur()},Oe=()=>{var e=A.visiblePanel;e&&p()},Se=()=>{k.filterable&&(0,_vue.nextTick)(()=>{var e=K.value;e&&e.focus()})},Ie=e=>{var t=U.value,l=j.value.trigger;t||A.visiblePanel||l&&"default"!==l||(A.triggerFocusPanel=!0,f(),setTimeout(()=>{A.triggerFocusPanel=!1},500)),s("focus",{},e)},Ve=e=>{var t=j.value.trigger;t&&"default"!==t||Me(e),s("click",{triggerButton:!1,visible:A.visiblePanel},e)},Le=e=>{A.isActivated=!1,s("blur",{},e)},ke=e=>{var t=j.value.trigger;t&&"default"!==t&&"icon"!==t||Me(e),s("click",{triggerButton:!0,visible:A.visiblePanel},e)},we=e=>{A.searchValue=e},Pe=()=>{A.isActivated=!0},Be=()=>{var{modelValue:e,remote:t}=k,l=A.searchValue,a=r.value,i=a.queryMethod||k.remoteMethod;t&&i&&a.enabled?(A.searchLoading=!0,Promise.resolve(i({$select:D,searchValue:l,value:e})).then(()=>(0,_vue.nextTick)()).catch(()=>(0,_vue.nextTick)()).finally(()=>{A.searchLoading=!1,d(),m()})):(d(),m())},Ae=_xeUtils.default.debounce(Be,350,{trailing:!0}),Me=e=>{e=e.$event;e.preventDefault(),A.triggerFocusPanel?A.triggerFocusPanel=!1:A.visiblePanel?g(e):f()},De=(e,t)=>!!t.disabled||!(!J.value||e),Ue=()=>{var e=A.scrollYLoad,{scrollYStore:t,afterVisibleList:l}=M;A.bodyHeight=e?l.length*t.rowHeight:0,A.topSpaceHeight=e?Math.max(t.startIndex*t.rowHeight,0):0},Ne=()=>{var{filterable:e,allowCreate:t}=k;let{scrollYLoad:l,searchValue:a}=A;var{optAddMaps:i,scrollYStore:o,afterVisibleList:n}=M;let u=v.value;var r=N.value,o=l?n.slice(o.startIndex,o.endIndex):n.slice(0);return e&&t&&a&&(o.some(e=>e[u]===a)||(n=i[a]||(0,_vue.reactive)({[c()]:a,[u]:a,[r]:a}),i[a]=n,o.unshift(n))),A.optList=o,(0,_vue.nextTick)()},m=()=>{Ne(),Ue()},je=()=>(0,_vue.nextTick)().then(()=>{var e=A.scrollYLoad,t=M.scrollYStore,l=q.value,a=Q.value;let i=0,o;(o=l?o||l.children[0]:o)&&(i=o.offsetHeight),i=Math.max(20,i),t.rowHeight=i,(e?(l=P.value,e=Math.max(8,l?Math.ceil(l.clientHeight/i):0),l=Math.max(0,Math.min(2,_xeUtils.default.toNumber(a.oSize))),t.offsetSize=l,t.visibleSize=e,t.endIndex=Math.max(t.startIndex,e+l,t.endIndex),m):Ue)()}),Fe=(e,t)=>{var l,a,{optFullValMaps:i,scrollYStore:o}=M,i=i[e[N.value]];i&&(e=i.key,-1<(i=i._index))&&(l=P.value,a=B.value)&&(a=a.querySelector(`[optid='${e}']`),l)&&(a?(e=l.offsetHeight,t?Math.ceil(a.offsetTop+a.offsetHeight-l.scrollTop)>=e?l.scrollTop=a.offsetTop+a.offsetHeight-e:(a.offsetTop+1<l.scrollTop||a.offsetTop+1>l.scrollTop+l.clientHeight)&&(l.scrollTop=a.offsetTop-1):a.offsetTop+1<l.scrollTop||a.offsetTop+1>l.scrollTop+l.clientHeight?l.scrollTop=a.offsetTop-1:a.offsetTop+a.offsetHeight-l.scrollTop>e&&(l.scrollTop=a.offsetTop+a.offsetHeight-e)):l.scrollTop=t?i*o.rowHeight-l.clientHeight+o.rowHeight:i*o.rowHeight)},He=(e,t)=>{var l=P.value;return l&&(_xeUtils.default.isNumber(e)&&(l.scrollLeft=e),_xeUtils.default.isNumber(t))&&(l.scrollTop=t),A.scrollYLoad?new Promise(e=>{setTimeout(()=>{(0,_vue.nextTick)(()=>{e()})},50)}):(0,_vue.nextTick)()},b=()=>{let{lastScrollLeft:e,lastScrollTop:t}=M;return o().then(()=>{if(e||t)return M.lastScrollLeft=0,M.lastScrollTop=0,He(e,t)})},x=()=>{var e=V.value;return e&&e.clientWidth&&e.clientHeight?je():Promise.resolve()},ze=e=>{var t=M.scrollYStore,{startIndex:l,endIndex:a,visibleSize:i,offsetSize:o,rowHeight:n}=t,e=e.target.scrollTop,e=Math.floor(e/n),n=Math.max(0,e-1-o),o=e+i+o;!(e<=l||a-i-1<=e)||l===n&&a===o||(t.startIndex=n,t.endIndex=o,m())},Ye=()=>{var e=M.lastScrollTime;return!!(e&&Date.now()<e+250)},Ke=e=>{var t=e.target,l=t.scrollTop,t=t.scrollLeft,a=t!==M.lastScrollLeft,i=l!==M.lastScrollTop;M.lastScrollTop=l,M.lastScrollLeft=t,A.scrollYLoad&&ze(e),M.lastScrollTime=Date.now(),s("scroll",{scrollLeft:t,scrollTop:l,isX:a,isY:i},e)},l=t=>{(e=>{let t=Z.value,l=N.value,a=c(),i={},o={},n=[],u=e=>{n.push(e);let t=z(e);t||(t=getOptUniqueId(),e[a]=t),o[e[l]]={key:t,item:e,_index:-1}};e.forEach(e=>{u(e),e[t]&&(i[e[a]]=e)[t].forEach(u)}),M.fullData=n,M.optGroupKeyMaps=i,M.optFullValMaps=o,A.reactFlag++,d()})(t||[]);var e=k.multiple,{isLoaded:l,fullData:a,scrollYStore:i}=M,o=O.value,n=Q.value;let u=N.value;if(Object.assign(i,{startIndex:0,endIndex:1,visibleSize:0}),M.synchData=t||[],A.scrollYLoad=!!n.enabled&&-1<n.gt&&(0===n.gt||n.gt<=a.length),Ne(),!l){i=o.selectMode;if(0<t.length&&_xeUtils.default.eqNull(k.modelValue)){if("all"===i)e?(0,_vue.nextTick)(()=>{se(t.map(e=>e[u]))}):errLog("vxe.error.notConflictProp",["default-config.selectMode=all","multiple=true"]);else if("first"===i||"last"===i){let e=_xeUtils.default[i](t);e&&(0,_vue.nextTick)(()=>{_xeUtils.default.eqNull(k.modelValue)&&se(e[u])})}M.isLoaded=!0}}return je().then(()=>{b()})},o=()=>{var e=P.value;return e&&(e.scrollTop=0,e.scrollLeft=0),M.lastScrollTop=0,(M.lastScrollLeft=0,_vue.nextTick)()},qe=e=>{var t=M.optGroupKeyMaps;return!!t[e]};t={dispatchEvent:s,loadData:l,reloadData(e){return M.isLoaded=!1,o(),l(e)},isPanelVisible(){return A.visiblePanel},togglePanel(){return(A.visiblePanel?g:f)(),(0,_vue.nextTick)()},hidePanel(){return A.visiblePanel&&g(),(0,_vue.nextTick)()},showPanel(){return A.visiblePanel||f(),(0,_vue.nextTick)()},refreshOption(){return d(),m(),(0,_vue.nextTick)()},focus(){var e=L.value;return e&&e.blur(),A.isActivated=!0,(0,_vue.nextTick)()},blur(){var e=L.value;return e&&e.blur(),(A.isActivated=!1,_vue.nextTick)()},recalculate:x,clearScroll:o};Object.assign(D,t);let Re=(t,l,e,a)=>{var{showIcon:i,trigger:o}=le.value;return l||!1===i?(0,_ui.renderEmptyElement)(D):(i={},o&&"default"!==o||(i.onClick=e=>{a||l||Y(e,t)}),(0,_vue.h)("div",Object.assign({key:2,class:["vxe-select-option--radio",{"is--checked":e,"is--disabled":a}]},i),[(0,_vue.h)("span",{class:["vxe-radio--icon",e?(0,_ui.getIcon)().RADIO_CHECKED:(0,_ui.getIcon)().RADIO_UNCHECKED]})]))},$e=(t,l,e,a)=>{var{showIcon:i,trigger:o}=ae.value;return l||!1===i?(0,_ui.renderEmptyElement)(D):(i={},o&&"default"!==o||(i.onClick=e=>{a||l||Y(e,t)}),(0,_vue.h)("div",Object.assign({key:3,class:["vxe-select-option--checkbox",{"is--checked":e,"is--disabled":a}]},i),[(0,_vue.h)("span",{class:["vxe-checkbox--icon",e?(0,_ui.getIcon)().CHECKBOX_CHECKED:(0,_ui.getIcon)().CHECKBOX_UNCHECKED]})]))},Ge=e=>{let{allowCreate:g,optionKey:_,multiple:t,showRadio:l,showCheckbox:a}=k,h=A.currentOption,m=M.optAddMaps;var i=te.value;let b=v.value,x=N.value,C=X.value,E=F.value,T=le.value,y=ae.value,{useKey:O,height:S}=i,I=w.option,V=a&&t,L=l&&!t;return e.map((t,e)=>{var{slots:l,className:a}=t,i=z(t),o=t[x];let n=qe(i);var u=!(!g||!m[i]),r=!u&&-1<E.indexOf(o),s=u||!n||isOptionVisible(t);let c=!u&&De(r,t);var l=(l?l.default:null)||I,v={option:t,group:n?t:null,$select:D};let d="";var p=[];V?p.push($e(t,n,r,c)):L&&p.push(Re(t,n,r,c));let f=[];f=l?H(l,v):[d=(0,_utils.getFuncText)(t[n?C:b]||o)],p.push((0,_vue.h)("div",{key:1,class:"vxe-select-option--label"},f));l={onMousedown:e=>{0===e.button&&e.stopPropagation()},onMouseenter:()=>{c||n||Ye()||pe(t)}};return(V?"option"!==y.trigger:L&&"option"!==T.trigger)||(l.onClick=e=>{c||n||Y(e,t)}),s?(0,_vue.h)("div",Object.assign({key:O||_?i:e,class:["vxe-select-option",a?_xeUtils.default.isFunction(a)?a(v):a:"",{"vxe-select-optgroup":n,"is--disabled":c,"is--selected":r,"is--add":u,"is--hover":h&&z(h)===i}],optid:i,title:d||null,style:S?{height:(0,_dom.toCssUnit)(S)}:void 0},l),g?[(0,_vue.h)("div",{key:1,class:"vxe-select-option--add-label"},p),u?(0,_vue.h)("div",{key:2,class:"vxe-select-option--add-icon"},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().SELECT_ADD_OPTION})]):(0,_ui.renderEmptyElement)(D)]:p):(0,_ui.renderEmptyElement)(D)})};return(0,_vue.watch)(()=>A.staticOptions,e=>{l(e)}),(0,_vue.watch)(()=>k.options,e=>{l(e||[])}),(0,_vue.watch)(()=>k.optionGroups,e=>{l(e||[])}),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var{options:e,optionGroups:t}=k;t?l(t):e&&l(e)}),_ui.globalEvents.on(D,"mousewheel",xe),_ui.globalEvents.on(D,"mousedown",Ce),_ui.globalEvents.on(D,"keydown",Te),_ui.globalEvents.on(D,"blur",ye),_ui.globalEvents.on(D,"resize",Oe)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(D,"mousewheel"),_ui.globalEvents.off(D,"mousedown"),_ui.globalEvents.off(D,"keydown"),_ui.globalEvents.off(D,"blur"),_ui.globalEvents.off(D,"resize"),_xeUtils.default.assign(A,createReactData()),_xeUtils.default.assign(M,createInternalData())}),(0,_vue.provide)("$xeSelect",D),D.renderVN=()=>{var{className:e,multiple:t,loading:l,filterable:a,showTotalButton:i,showCheckedButton:o,showClearButton:n,showCloseButton:u}=k,{initialized:r,isActivated:s,isAniVisible:c,optList:v,visiblePanel:d,bodyHeight:p,topSpaceHeight:f}=A,g=R.value,_=U.value,h=ue.value,m=ne.value,b=G.value,x=$.value,C=W.value,E=oe.value,T=j.value,y=w.default,O=w.header,S=w.footer;let I=w.prefix;T=T.className||k.popupClassName;return x?(0,_vue.h)("div",{ref:V,class:["vxe-select--readonly",e]},[(0,_vue.h)("div",{class:"vxe-select-slots",ref:"hideOption"},y?y({}):[]),(0,_vue.h)("span",{class:"vxe-select-label",title:m},h)]):(x=F.value,(0,_vue.h)("div",{ref:V,class:["vxe-select",e?_xeUtils.default.isFunction(e)?e({$select:D}):e:"",{["size--"+g]:g,"is--visible":d,"is--disabled":_,"is--filter":a,"is--loading":l,"is--active":s}]},[(0,_vue.h)("div",{class:"vxe-select-slots",ref:"hideOption"},y?y({}):[]),(0,_vue.h)(_input.default,{ref:L,clearable:k.clearable,placeholder:C,editable:!1,disabled:_,type:"text",prefixIcon:k.prefixIcon,suffixIcon:l?(0,_ui.getIcon)().SELECT_LOADED:d?(0,_ui.getIcon)().SELECT_OPEN:(0,_ui.getIcon)().SELECT_CLOSE,autoFocus:!1,title:m,modelValue:h,onClear:_e,onClick:Ve,onFocus:Ie,onBlur:Le,onSuffixClick:ke},I?{prefix:()=>I({})}:{}),(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!b||!r},[(0,_vue.h)("div",{ref:B,class:["vxe-table--ignore-clear vxe-select--panel",T?_xeUtils.default.isFunction(T)?T({$select:D}):T:"",{["size--"+g]:g,"is--transfer":b,"ani--leave":!l&&c,"ani--enter":!l&&d}],placement:A.panelPlacement,style:A.panelStyle},r&&(d||c)?[(0,_vue.h)("div",{class:"vxe-select--panel-wrapper",style:E},[a?(0,_vue.h)("div",{class:"vxe-select--panel-search"},[(0,_vue.h)(_input.default,{ref:K,class:"vxe-select-search--input",modelValue:A.searchValue,type:"text",clearable:!0,disabled:!1,readonly:!1,placeholder:(0,_ui.getI18n)("vxe.select.search"),prefixIcon:(0,_ui.getIcon)().INPUT_SEARCH,"onUpdate:modelValue":we,onFocus:Pe,onChange:Ae,onSearch:Ae})]):(0,_ui.renderEmptyElement)(D),o&&t||n||O?(0,_vue.h)("div",{class:"vxe-select--panel-header"},O?H(O,{}):[(0,_vue.h)("div",{class:"vxe-select--header-button"},[(0,_vue.h)("div",{class:"vxe-select--header-btns"},[o&&t?(0,_vue.h)(_button.default,{content:(0,_ui.getI18n)("vxe.select.allChecked"),mode:"text",onClick:he}):(0,_ui.renderEmptyElement)(D),n?(0,_vue.h)(_button.default,{content:(0,_ui.getI18n)("vxe.select.clear"),mode:"text",onClick:me}):(0,_ui.renderEmptyElement)(D)])])]):(0,_ui.renderEmptyElement)(D),(0,_vue.h)("div",{class:"vxe-select--panel-body"},[(0,_vue.h)("div",{ref:P,class:"vxe-select-option--wrapper",onScroll:Ke},[(0,_vue.h)("div",{class:"vxe-select--y-space",style:{height:p?p+"px":""}}),(0,_vue.h)("div",{ref:q,class:"vxe-select--body",style:{marginTop:f+"px"}},(()=>{var{optList:e,searchLoading:t}=A;return t?[(0,_vue.h)("div",{class:"vxe-select--search-loading"},[(0,_vue.h)("i",{class:["vxe-select--search-icon",(0,_ui.getIcon)().SELECT_LOADED]}),(0,_vue.h)("span",{class:"vxe-select--search-text"},(0,_ui.getI18n)("vxe.select.loadingText"))])]:e.length?Ge(e):[(0,_vue.h)("div",{class:"vxe-select--empty-placeholder"},k.emptyText||(0,_ui.getI18n)("vxe.select.emptyText"))]})())])]),S||i||u&&t?(0,_vue.h)("div",{class:"vxe-select--panel-footer"},S?H(S,{}):[(0,_vue.h)("div",{class:"vxe-select--footer-button"},[i?(0,_vue.h)("div",{class:"vxe-select--total-btns"},(0,_ui.getI18n)("vxe.select.total",[x.length,v.length])):(0,_ui.renderEmptyElement)(D),u&&t?(0,_vue.h)("div",{class:"vxe-select--oper-btns"},[(0,_vue.h)(_button.default,{content:(0,_ui.getI18n)("vxe.select.close"),mode:"text",onClick:be})]):(0,_ui.renderEmptyElement)(D)])]):(0,_ui.renderEmptyElement)(D)])]:[])])]))},D},render(){return this.renderVN()}});
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log"),_input=_interopRequireDefault(require("../../input/src/input")),_button=_interopRequireDefault(require("../../button/src/button"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let errLog=(0,_log.createComponentLog)("select").errLog;function isOptionVisible(e){return!1!==e.visible}function getOptUniqueId(){return _xeUtils.default.uniqueId("opt_")}function createReactData(){return{initialized:!1,scrollYLoad:!1,bodyHeight:0,topSpaceHeight:0,optList:[],staticOptions:[],reactFlag:0,currentOption:null,searchValue:"",searchLoading:!1,panelIndex:0,panelStyle:{},panelPlacement:null,triggerFocusPanel:!1,visiblePanel:!1,isAniVisible:!1,isActivated:!1}}function createInternalData(){return{synchData:[],fullData:[],afterVisibleList:[],optAddMaps:{},optGroupKeyMaps:{},optFullValMaps:{},remoteValMaps:{},lastScrollLeft:0,lastScrollTop:0,scrollYStore:{startIndex:0,endIndex:0,visibleSize:0,offsetSize:0,rowHeight:0},lastScrollTime:0,hpTimeout:void 0}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeSelect",props:{modelValue:[String,Number,Boolean,Array],defaultConfig:Object,clearable:{type:Boolean,default:()=>(0,_ui.getConfig)().select.clearable},placeholder:String,readonly:{type:Boolean,default:null},loading:Boolean,disabled:{type:Boolean,default:null},multiple:Boolean,multiCharOverflow:{type:[Number,String],default:()=>(0,_ui.getConfig)().select.multiCharOverflow},prefixIcon:String,allowCreate:{type:Boolean,default:()=>(0,_ui.getConfig)().select.allowCreate},placement:String,lazyOptions:Array,options:Array,optionProps:Object,optionGroups:Array,optionGroupProps:Object,optionConfig:Object,className:[String,Function],popupClassName:[String,Function],max:{type:[String,Number],default:null},showRadio:{type:Boolean,default:()=>(0,_ui.getConfig)().select.showRadio},radioConfig:Object,showCheckbox:{type:Boolean,default:()=>(0,_ui.getConfig)().select.showCheckedButton},checkboxConfig:Object,zIndex:Number,size:{type:String,default:()=>(0,_ui.getConfig)().select.size||(0,_ui.getConfig)().size},filterable:Boolean,filterMethod:Function,filterConfig:Object,remote:Boolean,remoteConfig:Object,emptyText:String,checkedClosable:{type:Boolean,default:()=>(0,_ui.getConfig)().select.checkedClosable},clearClosable:{type:Boolean,default:()=>(0,_ui.getConfig)().select.clearClosable},showCloseButton:{type:Boolean,default:()=>(0,_ui.getConfig)().select.showCloseButton},showTotalButton:{type:Boolean,default:()=>(0,_ui.getConfig)().select.showTotalButton},showCheckedButton:{type:Boolean,default:()=>(0,_ui.getConfig)().select.showCheckedButton},showClearButton:{type:Boolean,default:()=>(0,_ui.getConfig)().select.showClearButton},transfer:{type:Boolean,default:null},popupConfig:Object,virtualYConfig:Object,scrollY:Object,remoteMethod:Function,optionId:{type:String,default:()=>(0,_ui.getConfig)().select.optionId},optionKey:Boolean},emits:["update:modelValue","change","default-change","all-change","clear","blur","focus","click","scroll","visible-change"],setup(k,e){let{slots:w,emit:a}=e,n=(0,_vue.inject)("$xeModal",null),C=(0,_vue.inject)("$xeDrawer",null),E=(0,_vue.inject)("$xeTable",null),i=(0,_vue.inject)("$xeForm",null),T=(0,_vue.inject)("xeFormItemInfo",null);var t=_xeUtils.default.uniqueId();let L=(0,_vue.ref)(),P=(0,_vue.ref)(),q=(0,_vue.ref)(),B=(0,_vue.ref)(),A=(0,_vue.ref)(),R=(0,_vue.ref)(),$=(0,_ui.useSize)(k).computeSize,M=(0,_vue.reactive)(createReactData()),D=createInternalData(),y={refElem:L},U={xID:t,props:k,context:e,reactData:M,internalData:D,getRefMaps:()=>y},G=(0,_vue.computed)(()=>{var e=k.readonly;return null===e?!!i&&i.props.readonly:e}),N=(0,_vue.computed)(()=>{var e=k.disabled;return null===e?!!i&&i.props.disabled:e}),W=(0,_vue.computed)(()=>{var e=k.transfer,t=F.value;if(_xeUtils.default.isBoolean(t.transfer))return t.transfer;if(null===e){t=(0,_ui.getConfig)().select.transfer;if(_xeUtils.default.isBoolean(t))return t;if(E||n||C||i)return!0}return e}),X=(0,_vue.computed)(()=>{var e=k.placeholder;return(e=e||(0,_ui.getConfig)().select.placeholder)?(0,_utils.getFuncText)(e):(0,_ui.getI18n)("vxe.base.pleaseSelect")}),O=(0,_vue.computed)(()=>Object.assign({},k.defaultConfig)),S=(0,_vue.computed)(()=>Object.assign({},k.optionProps)),I=(0,_vue.computed)(()=>Object.assign({},k.optionGroupProps)),v=(0,_vue.computed)(()=>S.value.label||"label"),j=(0,_vue.computed)(()=>S.value.value||"value"),Z=(0,_vue.computed)(()=>I.value.label||"label"),V=(0,_vue.computed)(()=>I.value.options||"options"),J=(0,_vue.computed)(()=>{var e=H.value;return ce(e)}),F=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().select.popupConfig,k.popupConfig)),Q=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().select.virtualYConfig||(0,_ui.getConfig)().select.scrollY,k.virtualYConfig||k.scrollY)),r=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().select.remoteConfig,k.remoteConfig)),ee=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().select.filterConfig,k.filterConfig)),te=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().select.optionConfig,k.optionConfig)),le=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().select.radioConfig,k.radioConfig)),ae=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().select.checkboxConfig,k.checkboxConfig)),ie=(0,_vue.computed)(()=>_xeUtils.default.toNumber(k.multiCharOverflow)),oe=(0,_vue.computed)(()=>{var{height:e,width:t}=F.value,l={};return t&&(l.width=(0,_dom.toCssUnit)(t)),e&&(l.height=(0,_dom.toCssUnit)(e),l.maxHeight=(0,_dom.toCssUnit)(e)),l}),H=(0,_vue.computed)(()=>{var{modelValue:e,multiple:t}=k;let l=[];return _xeUtils.default.isArray(e)?l=e:t?(0,_utils.eqEmptyValue)(e)||(l=-1<(""+e).indexOf(",")?(""+e).split(","):[e]):l=null==e?[]:[e],l}),ne=(0,_vue.computed)(()=>{var e=k.remote,t=M.reactFlag,l=H.value;return(e&&t?l.map(e=>ve(e)):l.map(e=>de(e))).join(", ")}),ue=(0,_vue.computed)(()=>{var{remote:e,multiple:t}=k,l=M.reactFlag,a=ie.value,i=H.value;return e&&l?i.map(e=>ve(e)).join(", "):(e=i.map(e=>de(e)),t&&0<a&&e.length>a?e.slice(0,a)+"...":e.join(", "))}),z=(e,t)=>e&&(_xeUtils.default.isString(e)&&(e=w[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[],s=(e,t,l)=>{a(e,(0,_ui.createEvent)(l,{$select:U},t))},re=e=>{a("update:modelValue",e)},se=e=>{re(e),s("default-change",{value:e},null)},c=()=>te.value.keyField||k.optionId||"_X_OPTION_KEY",Y=e=>{e=e[c()];return e?encodeURIComponent(e):""},ce=e=>{var{multiple:t,max:l}=k;return!(!t||!l)&&e.length>=_xeUtils.default.toNumber(l)},ve=t=>{var e=k.lazyOptions,{remoteValMaps:l,optFullValMaps:a}=D;let i=j.value;var o=v.value,l=l[t]||a[t],a=l?l.item:null;if(a)return _xeUtils.default.toValueString(a[o]);if(e){l=e.find(e=>e[i]===t);if(l)return l[o]}return t},de=t=>{var e=k.lazyOptions,l=D.optFullValMaps;let a=j.value;var i=v.value,l=M.reactFlag?l[t]:null;if(l)return l.item[i];if(e){l=e.find(e=>e[a]===t);if(l)return l[i]}return t},d=()=>{let{remote:e,modelValue:t,filterable:l}=k,a=M.searchValue,{fullData:i,optFullValMaps:o}=D,n=v.value,u=j.value;let r=ee.value.filterMethod||k.filterMethod,s=(""+(a||"")).toLowerCase(),c=[];return(c=e?i.filter(isOptionVisible):l&&r?i.filter(e=>isOptionVisible(e)&&r({$select:U,group:null,option:e,searchValue:a,value:t})):l?i.filter(e=>isOptionVisible(e)&&(!s||-1<(""+(e[n]||e[u])).toLowerCase().indexOf(s))):i.filter(isOptionVisible)).forEach((e,t)=>{e=o[e[u]];e&&(e._index=t)}),D.afterVisibleList=c,(0,_vue.nextTick)()},pe=e=>{e&&(M.currentOption=e)},fe=()=>{var e=F.value.zIndex||k.zIndex;e?M.panelIndex=_xeUtils.default.toNumber(e):M.panelIndex<(0,_utils.getLastZIndex)()&&(M.panelIndex=(0,_utils.nextZIndex)())},p=()=>{let l=k.placement,a=M.panelIndex,i=L.value,o=A.value,n=W.value,u=F.value;var e=()=>{var e=(0,_dom.updatePanelPlacement)(i,o,{placement:u.placement||l,defaultPlacement:u.defaultPlacement,teleportTo:n}),t=Object.assign(e.style,{zIndex:a});M.panelStyle=t,M.panelPlacement=e.placement};return e(),(0,_vue.nextTick)().then(e)},ge=()=>{(0,_vue.nextTick)(()=>{var{isAniVisible:e,visiblePanel:t}=M,l=D.optFullValMaps,a=H.value;a.length&&e&&t&&(e=M.reactFlag?l[""+a[0]]:null)&&(M.currentOption=e.item,Fe(e.item))})},f=()=>{var{loading:e,filterable:t,remote:l}=k,{fullData:a,hpTimeout:i}=D,o=N.value,n=r.value;let u=H.value;e||o||(i&&(clearTimeout(i),D.hpTimeout=void 0),M.initialized||(M.initialized=!0),M.isActivated=!0,M.isAniVisible=!0,t&&(l&&n.enabled&&(n.autoLoad&&!a.length||a.length&&n.clearOnClose)?Be:(d(),m))(),setTimeout(()=>{M.visiblePanel=!0,Se(),x().then(()=>{(u&&u.length?ge:b)()}),p()},10),setTimeout(()=>{x().then(()=>b())},100),fe(),p(),s("visible-change",{visible:!0},null))},g=e=>{var{filterable:t,remote:l}=k,a=ee.value,i=r.value;l?i.clearOnClose&&(M.searchValue=""):t&&!a.clearOnClose||(M.searchValue=""),M.searchLoading=!1,M.visiblePanel=!1,D.hpTimeout=setTimeout(()=>{M.isAniVisible=!1},350),s("visible-change",{visible:!1},e||null)},u=(e,t,l)=>{re(t),t!==k.modelValue&&(s("change",{value:t,option:l},e),i)&&T&&i.triggerItemEvent(e,T.itemConfig.field,t)},_=(e,t)=>{D.remoteValMaps={},u(e,t,null),s("clear",{value:t},e)},_e=e=>{e=e.$event;_(e,null),g(e)},he=e=>{var e=e.$event,{multiple:t,max:l,checkedClosable:a}=k,i=M.optList,o=j.value;if(t){var n=H.value.slice(0);for(let e=0;e<i.length;e++){let t=i[e][o];if(ce(n)){_ui.VxeUI&&_ui.VxeUI.modal.message({content:(0,_ui.getI18n)("vxe.select.overSizeErr",[l]),status:"warning"});break}n.some(e=>e===t)||n.push(t)}u(e,n,i[0]),a&&g(e),s("all-change",{value:n},e)}},me=e=>{var t=k.clearClosable,e=e.$event;_(e,null),t&&g(e)},be=e=>{e=e.$event;g(e)},K=(t,l)=>{var e=k.multiple,a=D.remoteValMaps;let i=l[j.value];var o=a[i];if(M.visiblePanel){if(o?o.item=l:a[i]={key:Y(l),item:l,_index:-1},e){let e=[];o=H.value,a=_xeUtils.default.findIndexOf(o,e=>e===i);e=-1===a?o.concat([i]):o.filter(e=>e!==i),u(t,e,l)}else u(t,i,l),g(t);M.reactFlag++}},xe=e=>{var t=M.visiblePanel;N.value||t&&(t=A.value,(0,_dom.getEventTargetNode)(e,t).flag?p():g(e))},Ce=e=>{var t,l=M.visiblePanel,a=N.value,i=F.value.trigger;a||(a=L.value,t=A.value,M.isActivated=(0,_dom.getEventTargetNode)(e,a).flag||(0,_dom.getEventTargetNode)(e,t).flag,l&&!M.isActivated&&"manual"!==i&&g(e))},h=e=>{var t=e.disabled,e=Y(e);return!t&&!qe(e)},Ee=(e,t)=>{var l=k.allowCreate,a=M.optList,{optFullValMaps:i,optAddMaps:o,afterVisibleList:n}=D,u=j.value;let r=n,s=0;if(l&&a.length&&(n=a[0],o[l=Y(n)])&&(s=1,r=[o[l]].concat(r)),!e)if(t)for(let e=0;e<r.length;e++){var c=r[e];if(h(c))return c}else for(let e=r.length-1;0<=e;e--){var v=r[e];if(h(v))return v}let d=0;a=e?i[e[u]]:null;if(-1<(d=a?a._index+s:d))if(t)for(let e=d+1;e<=r.length-1;e++){var p=r[e];if(h(p))return p}else if(0<d)for(let e=d-1;0<=e;e--){var f=r[e];if(h(f))return f}return null},Te=t=>{var e=k.clearable,{visiblePanel:l,currentOption:a}=M,i=N.value,o=F.value.trigger;if(!i){var i=_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.TAB),n=_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.ENTER),u=_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.ESCAPE),r=_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.ARROW_UP),s=_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.ARROW_DOWN),c=_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.DELETE);if(i&&(M.isActivated=!1),l){if(u||i)"manual"!==o&&g(t);else if(n)a&&(t.preventDefault(),t.stopPropagation(),K(t,a));else if(r||s){t.preventDefault();let e=Ee(a,s);(e=e||Ee(null,s))&&(pe(e),Fe(e,s))}}else(r||s||n)&&M.isActivated&&(t.preventDefault(),f());M.isActivated&&c&&e&&_(t,null)}},ye=e=>{var{visiblePanel:t,isActivated:l}=M,a=F.value.trigger;t&&"manual"!==a&&g(e),l&&(M.isActivated=!1),(t||l)&&(a=P.value)&&a.blur()},Oe=()=>{var e=M.visiblePanel;e&&p()},Se=()=>{k.filterable&&(0,_vue.nextTick)(()=>{var e=q.value;e&&e.focus()})},Ie=e=>{var t=N.value,l=F.value.trigger;t||M.visiblePanel||l&&"default"!==l||(M.triggerFocusPanel=!0,f(),setTimeout(()=>{M.triggerFocusPanel=!1},500)),s("focus",{},e)},Ve=e=>{var t=F.value.trigger;t&&"default"!==t||Me(e),s("click",{triggerButton:!1,visible:M.visiblePanel},e)},Le=e=>{M.isActivated=!1,s("blur",{},e)},ke=e=>{var t=F.value.trigger;t&&"default"!==t&&"icon"!==t||Me(e),s("click",{triggerButton:!0,visible:M.visiblePanel},e)},we=e=>{M.searchValue=e},Pe=()=>{M.isActivated=!0},Be=()=>{var{modelValue:e,remote:t}=k,l=M.searchValue,a=r.value,i=a.queryMethod||k.remoteMethod;t&&i&&a.enabled?(M.searchLoading=!0,Promise.resolve(i({$select:U,searchValue:l,value:e})).then(()=>(0,_vue.nextTick)()).catch(()=>(0,_vue.nextTick)()).finally(()=>{M.searchLoading=!1,d(),m()})):(d(),m())},Ae=_xeUtils.default.debounce(Be,350,{trailing:!0}),Me=e=>{e=e.$event;e.preventDefault(),M.triggerFocusPanel?M.triggerFocusPanel=!1:M.visiblePanel?g(e):f()},De=(e,t)=>!!t.disabled||!(!J.value||e),Ue=()=>{var e=M.scrollYLoad,{scrollYStore:t,afterVisibleList:l}=D;M.bodyHeight=e?l.length*t.rowHeight:0,M.topSpaceHeight=e?Math.max(t.startIndex*t.rowHeight,0):0},Ne=()=>{var{filterable:e,allowCreate:t}=k;let{scrollYLoad:l,searchValue:a}=M;var{optAddMaps:i,scrollYStore:o,afterVisibleList:n}=D;let u=v.value;var r=j.value,o=l?n.slice(o.startIndex,o.endIndex):n.slice(0);return e&&t&&a&&(o.some(e=>e[u]===a)||(n=i[a]||(0,_vue.reactive)({[c()]:a,[u]:a,[r]:a}),i[a]=n,o.unshift(n))),M.optList=o,(0,_vue.nextTick)()},m=()=>{Ne(),Ue()},je=()=>(0,_vue.nextTick)().then(()=>{var e=M.scrollYLoad,t=D.scrollYStore,l=R.value,a=Q.value;let i=0,o;(o=l?o||l.children[0]:o)&&(i=o.offsetHeight),i=Math.max(20,i),t.rowHeight=i,(e?(l=B.value,e=Math.max(8,l?Math.ceil(l.clientHeight/i):0),l=Math.max(0,Math.min(2,_xeUtils.default.toNumber(a.oSize))),t.offsetSize=l,t.visibleSize=e,t.endIndex=Math.max(t.startIndex,e+l,t.endIndex),m):Ue)()}),Fe=(e,t)=>{var l,a,{optFullValMaps:i,scrollYStore:o}=D,i=i[e[j.value]];i&&(e=i.key,-1<(i=i._index))&&(l=B.value,a=A.value)&&(a=a.querySelector(`[optid='${e}']`),l)&&(a?(e=l.offsetHeight,t?Math.ceil(a.offsetTop+a.offsetHeight-l.scrollTop)>=e?l.scrollTop=a.offsetTop+a.offsetHeight-e:(a.offsetTop+1<l.scrollTop||a.offsetTop+1>l.scrollTop+l.clientHeight)&&(l.scrollTop=a.offsetTop-1):a.offsetTop+1<l.scrollTop||a.offsetTop+1>l.scrollTop+l.clientHeight?l.scrollTop=a.offsetTop-1:a.offsetTop+a.offsetHeight-l.scrollTop>e&&(l.scrollTop=a.offsetTop+a.offsetHeight-e)):l.scrollTop=t?i*o.rowHeight-l.clientHeight+o.rowHeight:i*o.rowHeight)},He=(e,t)=>{var l=B.value;return l&&(_xeUtils.default.isNumber(e)&&(l.scrollLeft=e),_xeUtils.default.isNumber(t))&&(l.scrollTop=t),M.scrollYLoad?new Promise(e=>{setTimeout(()=>{(0,_vue.nextTick)(()=>{e()})},50)}):(0,_vue.nextTick)()},b=()=>{let{lastScrollLeft:e,lastScrollTop:t}=D;return o().then(()=>{if(e||t)return D.lastScrollLeft=0,D.lastScrollTop=0,He(e,t)})},x=()=>{var e=L.value;return e&&e.clientWidth&&e.clientHeight?je():Promise.resolve()},ze=e=>{var t=D.scrollYStore,{startIndex:l,endIndex:a,visibleSize:i,offsetSize:o,rowHeight:n}=t,e=e.target.scrollTop,e=Math.floor(e/n),n=Math.max(0,e-1-o),o=e+i+o;!(e<=l||a-i-1<=e)||l===n&&a===o||(t.startIndex=n,t.endIndex=o,m())},Ye=()=>{var e=D.lastScrollTime;return!!(e&&Date.now()<e+250)},Ke=e=>{var t=e.target,l=t.scrollTop,t=t.scrollLeft,a=t!==D.lastScrollLeft,i=l!==D.lastScrollTop;D.lastScrollTop=l,D.lastScrollLeft=t,M.scrollYLoad&&ze(e),D.lastScrollTime=Date.now(),s("scroll",{scrollLeft:t,scrollTop:l,isX:a,isY:i},e)},l=t=>{(e=>{let t=V.value,l=j.value,a=c(),i={},o={},n=[],u=e=>{n.push(e);let t=Y(e);t||(t=getOptUniqueId(),e[a]=t),o[e[l]]={key:t,item:e,_index:-1}};e.forEach(e=>{u(e),e[t]&&(i[e[a]]=e)[t].forEach(u)}),D.fullData=n,D.optGroupKeyMaps=i,D.optFullValMaps=o,M.reactFlag++,d()})(t||[]);var e=k.multiple,{isLoaded:l,fullData:a,scrollYStore:i}=D,o=O.value,n=Q.value;let u=j.value;if(Object.assign(i,{startIndex:0,endIndex:1,visibleSize:0}),D.synchData=t||[],M.scrollYLoad=!!n.enabled&&-1<n.gt&&(0===n.gt||n.gt<=a.length),Ne(),!l){i=o.selectMode;if(0<t.length&&_xeUtils.default.eqNull(k.modelValue)){if("all"===i)e?(0,_vue.nextTick)(()=>{se(t.map(e=>e[u]))}):errLog("vxe.error.notConflictProp",["default-config.selectMode=all","multiple=true"]);else if("first"===i||"last"===i){let e=_xeUtils.default[i](t);e&&(0,_vue.nextTick)(()=>{_xeUtils.default.eqNull(k.modelValue)&&se(e[u])})}D.isLoaded=!0}}return je().then(()=>{b()})},o=()=>{var e=B.value;return e&&(e.scrollTop=0,e.scrollLeft=0),D.lastScrollTop=0,(D.lastScrollLeft=0,_vue.nextTick)()},qe=e=>{var t=D.optGroupKeyMaps;return!!t[e]};t={dispatchEvent:s,loadData:l,reloadData(e){return D.isLoaded=!1,o(),l(e)},isPanelVisible(){return M.visiblePanel},togglePanel(){return(M.visiblePanel?g:f)(),(0,_vue.nextTick)()},hidePanel(){return M.visiblePanel&&g(),(0,_vue.nextTick)()},showPanel(){return M.visiblePanel||f(),(0,_vue.nextTick)()},refreshOption(){return d(),m(),(0,_vue.nextTick)()},focus(){var e=P.value;return e&&e.blur(),M.isActivated=!0,(0,_vue.nextTick)()},blur(){var e=P.value;return e&&e.blur(),(M.isActivated=!1,_vue.nextTick)()},recalculate:x,clearScroll:o};Object.assign(U,t);let Re=(t,l,e,a)=>{var{showIcon:i,trigger:o}=le.value;return l||!1===i?(0,_ui.renderEmptyElement)(U):(i={},o&&"default"!==o||(i.onClick=e=>{a||l||K(e,t)}),(0,_vue.h)("div",Object.assign({key:2,class:["vxe-select-option--radio",{"is--checked":e,"is--disabled":a}]},i),[(0,_vue.h)("span",{class:["vxe-radio--icon",e?(0,_ui.getIcon)().RADIO_CHECKED:(0,_ui.getIcon)().RADIO_UNCHECKED]})]))},$e=(t,l,e,a)=>{var{showIcon:i,trigger:o}=ae.value;return l||!1===i?(0,_ui.renderEmptyElement)(U):(i={},o&&"default"!==o||(i.onClick=e=>{a||l||K(e,t)}),(0,_vue.h)("div",Object.assign({key:3,class:["vxe-select-option--checkbox",{"is--checked":e,"is--disabled":a}]},i),[(0,_vue.h)("span",{class:["vxe-checkbox--icon",e?(0,_ui.getIcon)().CHECKBOX_CHECKED:(0,_ui.getIcon)().CHECKBOX_UNCHECKED]})]))},Ge=e=>{let{allowCreate:g,optionKey:_,multiple:t,showRadio:l,showCheckbox:a}=k,h=M.currentOption,m=D.optAddMaps;var i=te.value;let b=v.value,x=j.value,C=Z.value,E=H.value,T=le.value,y=ae.value,{useKey:O,height:S}=i,I=w.option,V=a&&t,L=l&&!t;return e.map((t,e)=>{var{slots:l,className:a}=t,i=Y(t),o=t[x];let n=qe(i);var u=!(!g||!m[i]),r=!u&&-1<E.indexOf(o),s=u||!n||isOptionVisible(t);let c=!u&&De(r,t);var l=(l?l.default:null)||I,v={option:t,group:n?t:null,$select:U};let d="";var p=[];V?p.push($e(t,n,r,c)):L&&p.push(Re(t,n,r,c));let f=[];f=l?z(l,v):[d=(0,_utils.getFuncText)(t[n?C:b]||o)],p.push((0,_vue.h)("div",{key:1,class:"vxe-select-option--label"},f));l={onMousedown:e=>{0===e.button&&e.stopPropagation()},onMouseenter:()=>{c||n||Ye()||pe(t)}};return(V?"option"!==y.trigger:L&&"option"!==T.trigger)||(l.onClick=e=>{c||n||K(e,t)}),s?(0,_vue.h)("div",Object.assign({key:O||_?i:e,class:["vxe-select-option",a?_xeUtils.default.isFunction(a)?a(v):a:"",{"vxe-select-optgroup":n,"is--disabled":c,"is--selected":r,"is--add":u,"is--hover":h&&Y(h)===i}],optid:i,title:d||null,style:S?{height:(0,_dom.toCssUnit)(S)}:void 0},l),g?[(0,_vue.h)("div",{key:1,class:"vxe-select-option--add-label"},p),u?(0,_vue.h)("div",{key:2,class:"vxe-select-option--add-icon"},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().SELECT_ADD_OPTION})]):(0,_ui.renderEmptyElement)(U)]:p):(0,_ui.renderEmptyElement)(U)})};return(0,_vue.watch)(()=>M.staticOptions,e=>{l(e)}),(0,_vue.watch)(()=>k.options,e=>{l(e||[])}),(0,_vue.watch)(()=>k.optionGroups,e=>{l(e||[])}),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var{options:e,optionGroups:t}=k;t?l(t):e&&l(e)}),_ui.globalEvents.on(U,"mousewheel",xe),_ui.globalEvents.on(U,"mousedown",Ce),_ui.globalEvents.on(U,"keydown",Te),_ui.globalEvents.on(U,"blur",ye),_ui.globalEvents.on(U,"resize",Oe)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(U,"mousewheel"),_ui.globalEvents.off(U,"mousedown"),_ui.globalEvents.off(U,"keydown"),_ui.globalEvents.off(U,"blur"),_ui.globalEvents.off(U,"resize"),_xeUtils.default.assign(M,createReactData()),_xeUtils.default.assign(D,createInternalData())}),(0,_vue.provide)("$xeSelect",U),U.renderVN=()=>{var{className:e,multiple:t,loading:l,filterable:a,showTotalButton:i,showCheckedButton:o,showClearButton:n,showCloseButton:u}=k,{initialized:r,isActivated:s,isAniVisible:c,optList:v,visiblePanel:d,bodyHeight:p,topSpaceHeight:f}=M,g=$.value,_=N.value,h=ue.value,m=ne.value,b=W.value,x=G.value,C=X.value,E=oe.value,T=F.value,y=T.appendTo,O=w.default,S=w.header,I=w.footer;let V=w.prefix;T=T.className||k.popupClassName;return x?(0,_vue.h)("div",{ref:L,class:["vxe-select--readonly",e]},[(0,_vue.h)("div",{class:"vxe-select-slots",ref:"hideOption"},O?O({}):[]),(0,_vue.h)("span",{class:"vxe-select-label",title:m},h)]):(x=H.value,(0,_vue.h)("div",{ref:L,class:["vxe-select",e?_xeUtils.default.isFunction(e)?e({$select:U}):e:"",{["size--"+g]:g,"is--visible":d,"is--disabled":_,"is--filter":a,"is--loading":l,"is--active":s}]},[(0,_vue.h)("div",{class:"vxe-select-slots",ref:"hideOption"},O?O({}):[]),(0,_vue.h)(_input.default,{ref:P,clearable:k.clearable,placeholder:C,editable:!1,disabled:_,type:"text",prefixIcon:k.prefixIcon,suffixIcon:l?(0,_ui.getIcon)().SELECT_LOADED:d?(0,_ui.getIcon)().SELECT_OPEN:(0,_ui.getIcon)().SELECT_CLOSE,autoFocus:!1,title:m,modelValue:h,onClear:_e,onClick:Ve,onFocus:Ie,onBlur:Le,onSuffixClick:ke},V?{prefix:()=>V({})}:{}),(0,_vue.h)(_vue.Teleport,{to:(0,_dom.getPopupContainer)(y),disabled:!b||!r},[(0,_vue.h)("div",{ref:A,class:["vxe-table--ignore-clear vxe-select--panel",T?_xeUtils.default.isFunction(T)?T({$select:U}):T:"",{["size--"+g]:g,"is--transfer":b,"ani--leave":!l&&c,"ani--enter":!l&&d}],placement:M.panelPlacement,style:M.panelStyle},r&&(d||c)?[(0,_vue.h)("div",{class:"vxe-select--panel-wrapper",style:E},[a?(0,_vue.h)("div",{class:"vxe-select--panel-search"},[(0,_vue.h)(_input.default,{ref:q,class:"vxe-select-search--input",modelValue:M.searchValue,type:"text",clearable:!0,disabled:!1,readonly:!1,placeholder:(0,_ui.getI18n)("vxe.select.search"),prefixIcon:(0,_ui.getIcon)().INPUT_SEARCH,"onUpdate:modelValue":we,onFocus:Pe,onChange:Ae,onSearch:Ae})]):(0,_ui.renderEmptyElement)(U),o&&t||n||S?(0,_vue.h)("div",{class:"vxe-select--panel-header"},S?z(S,{}):[(0,_vue.h)("div",{class:"vxe-select--header-button"},[(0,_vue.h)("div",{class:"vxe-select--header-btns"},[o&&t?(0,_vue.h)(_button.default,{content:(0,_ui.getI18n)("vxe.select.allChecked"),mode:"text",onClick:he}):(0,_ui.renderEmptyElement)(U),n?(0,_vue.h)(_button.default,{content:(0,_ui.getI18n)("vxe.select.clear"),mode:"text",onClick:me}):(0,_ui.renderEmptyElement)(U)])])]):(0,_ui.renderEmptyElement)(U),(0,_vue.h)("div",{class:"vxe-select--panel-body"},[(0,_vue.h)("div",{ref:B,class:"vxe-select-option--wrapper",onScroll:Ke},[(0,_vue.h)("div",{class:"vxe-select--y-space",style:{height:p?p+"px":""}}),(0,_vue.h)("div",{ref:R,class:"vxe-select--body",style:{marginTop:f+"px"}},(()=>{var{optList:e,searchLoading:t}=M;return t?[(0,_vue.h)("div",{class:"vxe-select--search-loading"},[(0,_vue.h)("i",{class:["vxe-select--search-icon",(0,_ui.getIcon)().SELECT_LOADED]}),(0,_vue.h)("span",{class:"vxe-select--search-text"},(0,_ui.getI18n)("vxe.select.loadingText"))])]:e.length?Ge(e):[(0,_vue.h)("div",{class:"vxe-select--empty-placeholder"},k.emptyText||(0,_ui.getI18n)("vxe.select.emptyText"))]})())])]),I||i||u&&t?(0,_vue.h)("div",{class:"vxe-select--panel-footer"},I?z(I,{}):[(0,_vue.h)("div",{class:"vxe-select--footer-button"},[i?(0,_vue.h)("div",{class:"vxe-select--total-btns"},(0,_ui.getI18n)("vxe.select.total",[x.length,v.length])):(0,_ui.renderEmptyElement)(U),u&&t?(0,_vue.h)("div",{class:"vxe-select--oper-btns"},[(0,_vue.h)(_button.default,{content:(0,_ui.getI18n)("vxe.select.close"),mode:"text",onClick:be})]):(0,_ui.renderEmptyElement)(U)])]):(0,_ui.renderEmptyElement)(U)])]:[])])]))},U},render(){return this.renderVN()}});
@@ -268,6 +268,10 @@
268
268
  border: 1px solid var(--vxe-ui-base-popup-border-color);
269
269
  }
270
270
 
271
+ .vxe-splitter-wrapper.is--only-view > .vxe-splitter-panel-handle .vxe-splitter-panel-handle-bar {
272
+ width: 0;
273
+ }
274
+
271
275
  .vxe-splitter--render-vars {
272
276
  width: 0;
273
277
  height: 0;
@@ -1 +1 @@
1
- .vxe-splitter{position:relative;width:100%}.vxe-splitter.is--vertical>.vxe-splitter-wrapper{flex-direction:column}.vxe-splitter.is--vertical>.vxe-splitter-wrapper>.vxe-splitter-panel{width:100%}.vxe-splitter.is--drag{-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-splitter.is--drag.is-resize--immediate.is--horizontal{cursor:w-resize}.vxe-splitter.is--drag.is-resize--immediate.is--vertical{cursor:n-resize}.vxe-splitter.is--drag.is-resize--lazy.is--horizontal{cursor:col-resize}.vxe-splitter.is--drag.is-resize--lazy.is--vertical{cursor:row-resize}.vxe-splitter.is--drag>.vxe-splitter-wrapper>.vxe-splitter-panel>.vxe-splitter-panel--wrapper::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;background:0 0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-splitter--resizable-splitter-tip{display:none;position:absolute;top:0;left:0;z-index:7;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:col-resize}.vxe-splitter--resizable-splitter-tip.is-resize--lazy:before{content:"";display:block;height:100%;background-color:var(--vxe-ui-splitter-resizable-drag-line-color)}.vxe-splitter--resizable-splitter-tip.is--horizontal{width:1px;height:100%}.vxe-splitter--resizable-splitter-tip.is--horizontal .vxe-splitter--resizable-splitter-number-prev{right:0}.vxe-splitter--resizable-splitter-tip.is--horizontal .vxe-splitter--resizable-splitter-number-next{left:1px}.vxe-splitter--resizable-splitter-tip.is--vertical{width:100%;height:1px}.vxe-splitter--resizable-splitter-tip.is--vertical .vxe-splitter--resizable-splitter-number-prev{bottom:0}.vxe-splitter--resizable-splitter-tip.is--vertical .vxe-splitter--resizable-splitter-number-next{top:1px}.vxe-splitter--resizable-splitter-tip-number{position:absolute;top:0;left:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}.vxe-splitter--resizable-splitter-number-next,.vxe-splitter--resizable-splitter-number-prev{position:absolute;padding:.25em .25em;font-size:12px;border-radius:var(--vxe-ui-border-radius);white-space:nowrap;color:#fff;background-color:var(--vxe-ui-splitter-resizable-drag-line-color)}.vxe-splitter-wrapper{height:100%;display:flex;flex-direction:row;overflow:hidden}.vxe-splitter-wrapper.is--ah-btn>.vxe-splitter-panel-handle .vxe-splitter-panel-action-btn{opacity:0}.vxe-splitter-wrapper.is--ah-btn:hover>.vxe-splitter-panel-handle .vxe-splitter-panel-action-btn{opacity:1}.vxe-splitter-slots{display:none}.vxe-splitter-panel-handle{display:flex;position:relative;flex-shrink:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-splitter-panel--wrapper{position:relative;word-break:break-word;overflow:hidden;flex-grow:1}.vxe-splitter-panel--inner{height:100%;width:100%;overflow:auto}.vxe-splitter-panel--inner>.vxe-splitter{height:100%}.vxe-splitter-panel-handle-bar{background-color:var(--vxe-ui-splitter-handle-bar-background-color)}.vxe-splitter-panel-handle-bar:hover{background-color:var(--vxe-ui-splitter-handle-bar-hover-background-color)}.vxe-splitter-panel-action-btn-wrapper{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;pointer-events:none}.vxe-splitter-panel-action-btn{position:absolute;display:flex;flex-direction:row;align-items:center;justify-content:center;border-radius:var(--vxe-ui-base-border-radius);background-color:var(--vxe-ui-splitter-handle-button-background-color);cursor:pointer;pointer-events:all;transition:all .15s ease-in-out}.vxe-splitter-panel-action-btn:hover{color:#fff;background-color:var(--vxe-ui-font-primary-color)}.vxe-splitter-panel-action-btn:active{transform:scale(.9)}.vxe-splitter-panel-action-btn>i{font-size:.76em}.vxe-splitter-panel-handle.is--horizontal{flex-direction:row}.vxe-splitter-panel-handle.is--horizontal.is--border{border-width:1px 0 1px 0}.vxe-splitter-panel-handle.is--horizontal .vxe-splitter-panel-action-btn-wrapper{width:var(--vxe-ui-splitter-handle-bar-horizontal-width);height:var(--vxe-ui-splitter-handle-bar-horizontal-action-btn-height)}.vxe-splitter-panel-handle.is--horizontal .vxe-splitter-panel-handle-bar{width:var(--vxe-ui-splitter-handle-bar-horizontal-width);height:100%}.vxe-splitter-panel-handle.is--horizontal .vxe-splitter-panel-action-btn{width:var(--vxe-ui-splitter-handle-bar-horizontal-action-btn-width);height:var(--vxe-ui-splitter-handle-bar-horizontal-action-btn-height)}.vxe-splitter-panel-handle.is--horizontal .vxe-splitter-panel-action-btn.is--prev{left:calc(var(--vxe-ui-splitter-handle-bar-horizontal-action-btn-width) * -1 - .2em)}.vxe-splitter-panel-handle.is--horizontal .vxe-splitter-panel-action-btn.is--next{right:calc(var(--vxe-ui-splitter-handle-bar-horizontal-action-btn-width) * -1 - .2em)}.vxe-splitter-panel-handle.is--vertical{flex-direction:column}.vxe-splitter-panel-handle.is--vertical.is--border{border-width:0 1px 0 1px}.vxe-splitter-panel-handle.is--vertical .vxe-splitter-panel-action-btn-wrapper{height:var(--vxe-ui-splitter-handle-bar-vertical-height);width:var(--vxe-ui-splitter-handle-bar-vertical-action-btn-width)}.vxe-splitter-panel-handle.is--vertical .vxe-splitter-panel-handle-bar{height:var(--vxe-ui-splitter-handle-bar-vertical-height);width:100%}.vxe-splitter-panel-handle.is--vertical .vxe-splitter-panel-action-btn{height:var(--vxe-ui-splitter-handle-bar-vertical-action-btn-height);width:var(--vxe-ui-splitter-handle-bar-vertical-action-btn-width)}.vxe-splitter-panel-handle.is--vertical .vxe-splitter-panel-action-btn.is--prev{top:calc(var(--vxe-ui-splitter-handle-bar-vertical-action-btn-height) * -1 - .2em)}.vxe-splitter-panel-handle.is--vertical .vxe-splitter-panel-action-btn.is--next{bottom:calc(var(--vxe-ui-splitter-handle-bar-vertical-action-btn-height) * -1 - .2em)}.vxe-splitter-panel-handle.is--resize.is-resize--immediate.is--horizontal .vxe-splitter-panel-handle-bar{cursor:w-resize}.vxe-splitter-panel-handle.is--resize.is-resize--immediate.is--vertical .vxe-splitter-panel-handle-bar{cursor:n-resize}.vxe-splitter-panel-handle.is--resize.is-resize--immediate>.vxe-splitter-panel-handle-bar:active{background-color:var(--vxe-ui-font-primary-color)}.vxe-splitter-panel-handle.is--resize.is-resize--lazy.is--horizontal .vxe-splitter-panel-handle-bar{cursor:col-resize}.vxe-splitter-panel-handle.is--resize.is-resize--lazy.is--vertical .vxe-splitter-panel-handle-bar{cursor:row-resize}.vxe-splitter-panel{display:flex;position:relative;overflow:hidden}.vxe-splitter-panel.is--fill{flex-grow:1}.vxe-splitter-panel.is--hidden.is--horizontal{width:0}.vxe-splitter-panel.is--hidden.is--vertical{height:0}.vxe-splitter-panel.is--padding>.vxe-splitter-panel--wrapper{padding:var(--vxe-ui-layout-padding-default)}.vxe-splitter-panel.is--height:not(.is--fill),.vxe-splitter-panel.is--hidden:not(.is--fill),.vxe-splitter-panel.is--width:not(.is--fill){flex-shrink:0}.vxe-splitter-panel.is--border>.vxe-splitter-panel--wrapper{border:1px solid var(--vxe-ui-base-popup-border-color)}.vxe-splitter--render-vars{width:0;height:0;overflow:hidden}.vxe-splitter--render-vars .vxe-splitter--handle-bar-info{width:var(--vxe-ui-splitter-handle-bar-horizontal-width);height:var(--vxe-ui-splitter-handle-bar-vertical-height)}.vxe-modal--content>.vxe-splitter{height:100%}.vxe-splitter{font-size:var(--vxe-ui-font-size-default)}.vxe-splitter.size--medium{font-size:var(--vxe-ui-font-size-medium)}.vxe-splitter.size--small{font-size:var(--vxe-ui-font-size-small)}.vxe-splitter.size--mini{font-size:var(--vxe-ui-font-size-mini)}
1
+ .vxe-splitter{position:relative;width:100%}.vxe-splitter.is--vertical>.vxe-splitter-wrapper{flex-direction:column}.vxe-splitter.is--vertical>.vxe-splitter-wrapper>.vxe-splitter-panel{width:100%}.vxe-splitter.is--drag{-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-splitter.is--drag.is-resize--immediate.is--horizontal{cursor:w-resize}.vxe-splitter.is--drag.is-resize--immediate.is--vertical{cursor:n-resize}.vxe-splitter.is--drag.is-resize--lazy.is--horizontal{cursor:col-resize}.vxe-splitter.is--drag.is-resize--lazy.is--vertical{cursor:row-resize}.vxe-splitter.is--drag>.vxe-splitter-wrapper>.vxe-splitter-panel>.vxe-splitter-panel--wrapper::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;background:0 0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-splitter--resizable-splitter-tip{display:none;position:absolute;top:0;left:0;z-index:7;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:col-resize}.vxe-splitter--resizable-splitter-tip.is-resize--lazy:before{content:"";display:block;height:100%;background-color:var(--vxe-ui-splitter-resizable-drag-line-color)}.vxe-splitter--resizable-splitter-tip.is--horizontal{width:1px;height:100%}.vxe-splitter--resizable-splitter-tip.is--horizontal .vxe-splitter--resizable-splitter-number-prev{right:0}.vxe-splitter--resizable-splitter-tip.is--horizontal .vxe-splitter--resizable-splitter-number-next{left:1px}.vxe-splitter--resizable-splitter-tip.is--vertical{width:100%;height:1px}.vxe-splitter--resizable-splitter-tip.is--vertical .vxe-splitter--resizable-splitter-number-prev{bottom:0}.vxe-splitter--resizable-splitter-tip.is--vertical .vxe-splitter--resizable-splitter-number-next{top:1px}.vxe-splitter--resizable-splitter-tip-number{position:absolute;top:0;left:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}.vxe-splitter--resizable-splitter-number-next,.vxe-splitter--resizable-splitter-number-prev{position:absolute;padding:.25em .25em;font-size:12px;border-radius:var(--vxe-ui-border-radius);white-space:nowrap;color:#fff;background-color:var(--vxe-ui-splitter-resizable-drag-line-color)}.vxe-splitter-wrapper{height:100%;display:flex;flex-direction:row;overflow:hidden}.vxe-splitter-wrapper.is--ah-btn>.vxe-splitter-panel-handle .vxe-splitter-panel-action-btn{opacity:0}.vxe-splitter-wrapper.is--ah-btn:hover>.vxe-splitter-panel-handle .vxe-splitter-panel-action-btn{opacity:1}.vxe-splitter-slots{display:none}.vxe-splitter-panel-handle{display:flex;position:relative;flex-shrink:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-splitter-panel--wrapper{position:relative;word-break:break-word;overflow:hidden;flex-grow:1}.vxe-splitter-panel--inner{height:100%;width:100%;overflow:auto}.vxe-splitter-panel--inner>.vxe-splitter{height:100%}.vxe-splitter-panel-handle-bar{background-color:var(--vxe-ui-splitter-handle-bar-background-color)}.vxe-splitter-panel-handle-bar:hover{background-color:var(--vxe-ui-splitter-handle-bar-hover-background-color)}.vxe-splitter-panel-action-btn-wrapper{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;pointer-events:none}.vxe-splitter-panel-action-btn{position:absolute;display:flex;flex-direction:row;align-items:center;justify-content:center;border-radius:var(--vxe-ui-base-border-radius);background-color:var(--vxe-ui-splitter-handle-button-background-color);cursor:pointer;pointer-events:all;transition:all .15s ease-in-out}.vxe-splitter-panel-action-btn:hover{color:#fff;background-color:var(--vxe-ui-font-primary-color)}.vxe-splitter-panel-action-btn:active{transform:scale(.9)}.vxe-splitter-panel-action-btn>i{font-size:.76em}.vxe-splitter-panel-handle.is--horizontal{flex-direction:row}.vxe-splitter-panel-handle.is--horizontal.is--border{border-width:1px 0 1px 0}.vxe-splitter-panel-handle.is--horizontal .vxe-splitter-panel-action-btn-wrapper{width:var(--vxe-ui-splitter-handle-bar-horizontal-width);height:var(--vxe-ui-splitter-handle-bar-horizontal-action-btn-height)}.vxe-splitter-panel-handle.is--horizontal .vxe-splitter-panel-handle-bar{width:var(--vxe-ui-splitter-handle-bar-horizontal-width);height:100%}.vxe-splitter-panel-handle.is--horizontal .vxe-splitter-panel-action-btn{width:var(--vxe-ui-splitter-handle-bar-horizontal-action-btn-width);height:var(--vxe-ui-splitter-handle-bar-horizontal-action-btn-height)}.vxe-splitter-panel-handle.is--horizontal .vxe-splitter-panel-action-btn.is--prev{left:calc(var(--vxe-ui-splitter-handle-bar-horizontal-action-btn-width) * -1 - .2em)}.vxe-splitter-panel-handle.is--horizontal .vxe-splitter-panel-action-btn.is--next{right:calc(var(--vxe-ui-splitter-handle-bar-horizontal-action-btn-width) * -1 - .2em)}.vxe-splitter-panel-handle.is--vertical{flex-direction:column}.vxe-splitter-panel-handle.is--vertical.is--border{border-width:0 1px 0 1px}.vxe-splitter-panel-handle.is--vertical .vxe-splitter-panel-action-btn-wrapper{height:var(--vxe-ui-splitter-handle-bar-vertical-height);width:var(--vxe-ui-splitter-handle-bar-vertical-action-btn-width)}.vxe-splitter-panel-handle.is--vertical .vxe-splitter-panel-handle-bar{height:var(--vxe-ui-splitter-handle-bar-vertical-height);width:100%}.vxe-splitter-panel-handle.is--vertical .vxe-splitter-panel-action-btn{height:var(--vxe-ui-splitter-handle-bar-vertical-action-btn-height);width:var(--vxe-ui-splitter-handle-bar-vertical-action-btn-width)}.vxe-splitter-panel-handle.is--vertical .vxe-splitter-panel-action-btn.is--prev{top:calc(var(--vxe-ui-splitter-handle-bar-vertical-action-btn-height) * -1 - .2em)}.vxe-splitter-panel-handle.is--vertical .vxe-splitter-panel-action-btn.is--next{bottom:calc(var(--vxe-ui-splitter-handle-bar-vertical-action-btn-height) * -1 - .2em)}.vxe-splitter-panel-handle.is--resize.is-resize--immediate.is--horizontal .vxe-splitter-panel-handle-bar{cursor:w-resize}.vxe-splitter-panel-handle.is--resize.is-resize--immediate.is--vertical .vxe-splitter-panel-handle-bar{cursor:n-resize}.vxe-splitter-panel-handle.is--resize.is-resize--immediate>.vxe-splitter-panel-handle-bar:active{background-color:var(--vxe-ui-font-primary-color)}.vxe-splitter-panel-handle.is--resize.is-resize--lazy.is--horizontal .vxe-splitter-panel-handle-bar{cursor:col-resize}.vxe-splitter-panel-handle.is--resize.is-resize--lazy.is--vertical .vxe-splitter-panel-handle-bar{cursor:row-resize}.vxe-splitter-panel{display:flex;position:relative;overflow:hidden}.vxe-splitter-panel.is--fill{flex-grow:1}.vxe-splitter-panel.is--hidden.is--horizontal{width:0}.vxe-splitter-panel.is--hidden.is--vertical{height:0}.vxe-splitter-panel.is--padding>.vxe-splitter-panel--wrapper{padding:var(--vxe-ui-layout-padding-default)}.vxe-splitter-panel.is--height:not(.is--fill),.vxe-splitter-panel.is--hidden:not(.is--fill),.vxe-splitter-panel.is--width:not(.is--fill){flex-shrink:0}.vxe-splitter-panel.is--border>.vxe-splitter-panel--wrapper{border:1px solid var(--vxe-ui-base-popup-border-color)}.vxe-splitter-wrapper.is--only-view>.vxe-splitter-panel-handle .vxe-splitter-panel-handle-bar{width:0}.vxe-splitter--render-vars{width:0;height:0;overflow:hidden}.vxe-splitter--render-vars .vxe-splitter--handle-bar-info{width:var(--vxe-ui-splitter-handle-bar-horizontal-width);height:var(--vxe-ui-splitter-handle-bar-vertical-height)}.vxe-modal--content>.vxe-splitter{height:100%}.vxe-splitter{font-size:var(--vxe-ui-font-size-default)}.vxe-splitter.size--medium{font-size:var(--vxe-ui-font-size-medium)}.vxe-splitter.size--small{font-size:var(--vxe-ui-font-size-small)}.vxe-splitter.size--mini{font-size:var(--vxe-ui-font-size-mini)}
@@ -873,6 +873,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
873
873
  const {
874
874
  autoItems
875
875
  } = computeAutoItems.value;
876
+ const isOnlyView = visibleItems.length <= 1;
876
877
  const itemVNs = [];
877
878
  itemList.forEach((prevItem, index) => {
878
879
  const {
@@ -945,7 +946,8 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
945
946
  });
946
947
  return (0, _vue.h)('div', {
947
948
  class: ['vxe-splitter-wrapper', {
948
- 'is--ah-btn': autoHideButton
949
+ 'is--ah-btn': autoHideButton,
950
+ 'is--only-view': isOnlyView
949
951
  }]
950
952
  }, itemVNs);
951
953
  };
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_ui=require("../../ui"),_vn=require("../../ui/src/vn"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_log=require("../../ui/src/log"),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{warnLog,errLog}=(0,_log.createComponentLog)("splitter");var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeSplitter",props:{width:[Number,String],height:[Number,String],vertical:{type:Boolean,default:()=>(0,_ui.getConfig)().splitter.vertical},border:{type:Boolean,default:()=>(0,_ui.getConfig)().splitter.border},padding:{type:Boolean,default:()=>(0,_ui.getConfig)().splitter.padding},resize:{type:Boolean,default:()=>(0,_ui.getConfig)().splitter.resize},items:Array,itemConfig:Object,barConfig:Object,resizeConfig:Object,actionConfig:Object,size:{type:String,default:()=>(0,_ui.getConfig)().splitter.size||(0,_ui.getConfig)().size}},emits:["action-dblclick","action-click","toggle-expand","resize-start","resize-drag","resize-end"],setup(u,e){let{emit:r,slots:n}=e;var t=_xeUtils.default.uniqueId();let a=(0,_vue.ref)(),h=(0,_vue.ref)(),O=(0,_vue.ref)(),o=(0,_ui.useSize)(u).computeSize,A=(0,_vue.reactive)({staticItems:[],itemList:[],barWidth:0,barHeight:0,resizeFlag:0}),p={wrapperWidth:0,wrapperHeight:0},M=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().splitter.itemConfig,u.itemConfig)),s=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().splitter.barConfig,u.barConfig)),P=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().splitter.resizeConfig,u.resizeConfig)),d=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().splitter.actionConfig,u.actionConfig)),v=(0,_vue.computed)(()=>A.itemList.filter(e=>e.isExpand)),g=(0,_vue.computed)(()=>{var e=u.vertical;let n=[],a=0,o=0;return A.itemList.forEach(e?e=>{var{renderHeight:t,resizeHeight:i,foldHeight:r,isExpand:l,height:s}=e,l=l?r||i||t:0;s||n.push(e),a+=l}:e=>{var{renderWidth:t,resizeWidth:i,foldWidth:r,isExpand:l,width:s}=e,l=l?r||i||t:0;s||n.push(e),o+=l}),{autoItems:n,heightCount:a,heightRatio:a/100,widthCount:o,widthRatio:o/100}}),m=(0,_vue.computed)(()=>{var{width:e,height:t}=u,{width:i,height:r}=s.value,l={};return t&&(l.height=(0,_dom.toCssUnit)(t)),e&&(l.width=(0,_dom.toCssUnit)(e)),r&&(l["--vxe-ui-splitter-handle-bar-vertical-height"]=(0,_dom.toCssUnit)(r)),i&&(l["--vxe-ui-splitter-handle-bar-horizontal-width"]=(0,_dom.toCssUnit)(i)),l}),i={computeItemOpts:M,computeBarOpts:s,computeActionOpts:d},l={refElem:a},f={xID:t,props:u,context:e,reactData:A,internalData:p,getRefMaps:()=>l,getComputeMaps:()=>i},D=(e,t,i)=>{r(e,(0,_ui.createEvent)(i,{$splitter:f},t))},y=(e,t)=>e&&(_xeUtils.default.isString(e)&&(e=n[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[],c=(e,t,i)=>{var r=u.vertical,l="SPLIT_TOP_ACTION",s="SPLIT_BOTTOM_ACTION",n="SPLIT_LEFT_ACTION",a="SPLIT_RIGHT_ACTION";let o="";return(o=r?i?t.isExpand?s:l:e.isExpand?l:s:i?t.isExpand?a:n:e.isExpand?n:a)?(0,_ui.getIcon)()[o]:""};let x=(e,t)=>{var i=A.staticItems,{showPrevButton:r,showNextButton:l}=d.value;let s={isExpand:!0,renderWidth:0,resizeWidth:0,foldWidth:0,renderHeight:0,resizeHeight:0,foldHeight:0};return A.itemList=e.map(e=>(e.showAction&&warnLog("vxe.error.removeProp",["show-action"]),e.slots&&_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||n[e]||errLog("vxe.error.notSlot",[e])}),Object.assign({},t?null:s,e,t?s:null,{id:_xeUtils.default.uniqueId()}))),i.length&&errLog("vxe.error.errConflicts",["<vxe-splitter-panel ...>","items"]),(r||l)&&2<A.itemList.length&&errLog("vxe.error.errConflicts",["action-config.showPrevButton | action-config.showNextButton","Only supports 2 item"]),q()},_=e=>x(e||[],!1);let b=t=>{var i=A.itemList;let r=-1,l=null,s=null,n=null;for(let e=0;e<i.length;e++){var a=i[e];if(a.name===t){r=e,l=a,s=i[e-1]||null,n=i[e+1]||null;break}}return{index:r,currItem:l,prevItem:s,nextItem:n}},E=(e,t)=>{var i,r,e=b(e);return e&&({currItem:e,prevItem:i,nextItem:r}=e,e)&&(t?!e.isExpand:e.isExpand)&&(r?r.isExpand&&C(null,e,r,!1):i&&i.isExpand&&C(null,i,e,!0)),(0,_vue.nextTick)()};let q=()=>(0,_vue.nextTick)().then(()=>{var e=u.vertical,t=A.itemList,r=a.value,o=h.value;if(r){var d=r.clientWidth,r=r.clientHeight;if(d&&r){o&&(A.barWidth=o.offsetWidth,A.barHeight=o.offsetHeight);let l=d-(e?0:A.barWidth*(t.length-1)),s=r-(e?A.barHeight*(t.length-1):0);o=M.value;let i=_xeUtils.default.toNumber(o.minWidth),n=_xeUtils.default.toNumber(o.minHeight),a=[];if(e){let r=0;if(t.forEach(e=>{var t=e.height;let i=0;t?(i=(0,_dom.isScale)(t)?s*_xeUtils.default.toNumber(t)/100:_xeUtils.default.toNumber(t),e.renderHeight=i):a.push(e),r+=i}),a.length){let t=(s-r)/a.length;a.forEach(e=>{e.renderHeight=Math.max(_xeUtils.default.toNumber((0,_utils.getGlobalDefaultConfig)(e.minHeight,n)),t)})}}else{let r=0;if(t.forEach(e=>{var t=e.width;let i=0;t?(i=(0,_dom.isScale)(t)?l*_xeUtils.default.toNumber(t)/100:_xeUtils.default.toNumber(t),e.renderWidth=i):a.push(e),r+=i}),a.length){let t=(l-r)/a.length;a.forEach(e=>{e.renderWidth=Math.max(_xeUtils.default.toNumber((0,_utils.getGlobalDefaultConfig)(e.minWidth,i)),t)})}}p.wrapperWidth=l,p.wrapperHeight=s}}}),z=e=>{let{resize:t,vertical:U}=u;var N=A.itemList;if(t){e.preventDefault();var S=e.currentTarget,T=S.parentElement;let L=a.value;if(L){let I=T.previousElementSibling,W=T.nextElementSibling;if(I&&W){let t=I.getAttribute("itemid"),i=W.getAttribute("itemid"),H=N.find(e=>e.id===t),y=N.find(e=>e.id===i);if(H&&y){let s=L.getBoundingClientRect();T=S.getBoundingClientRect();let n=O.value,a=n?n.children[0]:null;N=M.value;let t=P.value.immediate;var S=_xeUtils.default.toNumber(N.minWidth),N=_xeUtils.default.toNumber(N.minHeight),k=Math.ceil(T.width-(e.clientX-T.left)),T=Math.ceil(e.clientY-T.top);let i=I.offsetWidth,r=W.offsetWidth;var B=_xeUtils.default.toNumber(H?(0,_utils.getGlobalDefaultConfig)(H.minWidth,S):S),S=_xeUtils.default.toNumber(y?(0,_utils.getGlobalDefaultConfig)(y.minWidth,S):S);let l=I.offsetLeft+B-k,o=W.offsetLeft+W.offsetWidth-S-k,d=e.clientX-s.left,u=-1,h=0,p=0,v=d,g=I.offsetHeight,m=W.offsetHeight;B=_xeUtils.default.toNumber(H?(0,_utils.getGlobalDefaultConfig)(H.minHeight,N):N),S=_xeUtils.default.toNumber(y?(0,_utils.getGlobalDefaultConfig)(y.minHeight,N):N);let f=I.offsetTop+B+T,c=W.offsetTop+W.offsetHeight-S+T,x=e.clientY-s.top,_=-1,b=0,E=0,z=x,C=i=>{if(n){var r=a?a.children[0]:null,l=a?a.children[1]:null;if(U){let e=0,t=(r&&(_<0?r.style.display="none":(r.textContent=Math.floor(b)+"px",r.style.display="block",e=r.offsetWidth)),l&&(_<0?(l.textContent=Math.floor(E)+"px",l.style.display="block",e=l.offsetWidth):l.style.display="none"),Math.max(1,i.clientX-s.left-e/2));t>s.width-e-1&&(t=s.width-e-1),n.style.left="0",n.style.top=z+"px",a&&(a.style.left=t+"px")}else{let e=0,t=(r&&(u<0?r.style.display="none":(r.textContent=Math.floor(h)+"px",r.style.display="block",e=r.offsetHeight)),l&&(u<0?(l.textContent=Math.floor(p)+"px",l.style.display="block",e=l.offsetHeight):l.style.display="none"),Math.max(1,i.clientY-s.top-e/2));t>s.height-e-1&&(t=s.height-e-1),n.style.top="0",n.style.left=v+"px",a&&(a.style.top=t+"px")}}},w=e=>{U?((z=(z=e.clientY-s.top)<f?f:z)>c&&(z=c),_=z-x,b=g+_,E=m-_):((v=(v=e.clientX-s.left)<l?l:v)>o&&(v=o),u=v-d,h=i+u,p=r-u),t&&(U?(I.style.height=(0,_dom.toCssUnit)(b),W.style.height=(0,_dom.toCssUnit)(E)):(I.style.width=(0,_dom.toCssUnit)(h),W.style.width=(0,_dom.toCssUnit)(p))),n&&C(e),D("resize-drag",{prevItem:H,nextItem:y,offsetHeight:_,offsetWidth:u},e)};document.onmousemove=e=>{e.preventDefault(),w(e),A.resizeFlag++},document.onmouseup=e=>{document.onmousemove=null,document.onmouseup=null,n&&(n.style.display=""),U?(H.resizeHeight=b,y.resizeHeight=E):(H.resizeWidth=h,y.resizeWidth=p),(0,_dom.removeClass)(L,"is--drag"),D("resize-end",{prevItem:H,nextItem:y,offsetHeight:_,offsetWidth:u},e),q(),A.resizeFlag++},n&&(n.style.display="block",C(e)),w(e),(0,_dom.addClass)(L,"is--drag"),D("resize-start",{prevItem:H,nextItem:y},e)}}}}},C=(e,t,i,r)=>{var l=u.vertical;let s=!1,n=t;r?(n=i,s=!i.isExpand,i.isExpand=s):(s=!t.isExpand,t.isExpand=s),l?t.isExpand&&i.isExpand?(t.foldHeight=0,i.foldHeight=0):t.isExpand?(i.foldHeight=0,t.foldHeight=(t.resizeHeight||t.renderHeight)+(i.resizeHeight||i.renderHeight)):(t.foldHeight=0,i.foldHeight=(t.resizeHeight||t.renderHeight)+(i.resizeHeight||i.renderHeight)):t.isExpand&&i.isExpand?(t.foldWidth=0,i.foldWidth=0):t.isExpand?(i.foldWidth=0,t.foldWidth=(t.resizeWidth||t.renderWidth)+(i.resizeWidth||i.renderWidth)):(t.foldWidth=0,i.foldWidth=(t.resizeWidth||t.renderWidth)+(i.resizeWidth||i.renderWidth)),e&&D("toggle-expand",{prevItem:t,nextItem:i,expanded:s,item:n},e),q(),A.resizeFlag++},w=e=>{var t=A.itemList,i=d.value,r=e.currentTarget.parentElement.parentElement;let l=r.previousElementSibling.getAttribute("itemid");var s=t.find(e=>e.id===l);let n=r.nextElementSibling.getAttribute("itemid");r=t.find(e=>e.id===n);"dblclick"===i.trigger&&s&&r&&r.isExpand&&C(e,s,r,!1),D("action-dblclick",{prevItem:s,nextItem:r},e)},H=e=>{var t=A.itemList,i=d.value,r=e.currentTarget.parentElement.parentElement;let l=r.previousElementSibling.getAttribute("itemid");var s=t.find(e=>e.id===l);let n=r.nextElementSibling.getAttribute("itemid");r=t.find(e=>e.id===n);"dblclick"!==i.trigger&&s&&r&&r.isExpand&&C(e,s,r,!1),D("action-click",{prevItem:s,nextItem:r},e)},I=e=>{var t=A.itemList,i=d.value,r=e.currentTarget.parentElement.parentElement;let l=r.previousElementSibling.getAttribute("itemid");var s=t.find(e=>e.id===l);let n=r.nextElementSibling.getAttribute("itemid");r=t.find(e=>e.id===n);"dblclick"===i.trigger&&s&&r&&s.isExpand&&C(e,s,r,!0),D("action-dblclick",{prevItem:s,nextItem:r},e)},U=e=>{var t=A.itemList,i=d.value,r=e.currentTarget.parentElement.parentElement;let l=r.previousElementSibling.getAttribute("itemid");var s=t.find(e=>e.id===l);let n=r.nextElementSibling.getAttribute("itemid");r=t.find(e=>e.id===n);"dblclick"!==i.trigger&&s&&r&&s.isExpand&&C(e,s,r,!0),D("action-click",{prevItem:s,nextItem:r},e)},N=()=>{q()};t={dispatchEvent:D,setItemExpand:E,toggleItemExpand:e=>{var t=b(e);if(t){t=t.currItem;if(t)return E(e,!t.isExpand)}return(0,_vue.nextTick)()},getItemExpand:e=>{e=b(e);if(e){e=e.currItem;if(e)return e.isExpand}return!1},recalculate:q,reset:()=>{var e=A.itemList;return e.forEach(e=>{e.isExpand=!0,e.foldHeight=0,e.foldWidth=0,e.resizeHeight=0,e.resizeWidth=0}),(0,_vue.nextTick)()},loadItem:_,reloadItem:e=>x(e||[],!0)};Object.assign(f,t,{});let S=(e,t)=>{var{border:i,resize:r,vertical:l}=u,s=A.itemList,n=d.value,a=n.direction,o=_xeUtils.default.isBoolean(n.showPrevButton)?n.showPrevButton:s.some(e=>e.showAction),n=_xeUtils.default.isBoolean(n.showNextButton)?n.showNextButton:"next"===a&&s.some(e=>e.showAction),a=P.value.immediate;return(0,_vue.h)("div",{class:["vxe-splitter-panel-handle",l?"is--vertical":"is--horizontal",a?"is-resize--immediate":"is-resize--lazy",{"is--resize":r,"is--border":i}]},[(0,_vue.h)("div",{class:"vxe-splitter-panel-handle-bar",onMousedown:z}),2===s.length?(0,_vue.h)("div",{class:"vxe-splitter-panel-action-btn-wrapper"},[o&&t.isExpand?(0,_vue.h)("div",{class:["vxe-splitter-panel-action-btn",e.isExpand?"is--prev":"is--next"],onDblclick:w,onClick:H},[(0,_vue.h)("i",{class:c(e,t,!1)})]):(0,_ui.renderEmptyElement)(f),n&&e.isExpand?(0,_vue.h)("div",{class:["vxe-splitter-panel-action-btn",t.isExpand?"is--next":"is--prev"],onDblclick:I,onClick:U},[(0,_vue.h)("i",{class:c(e,t,!0)})]):(0,_ui.renderEmptyElement)(f)]):(0,_ui.renderEmptyElement)(f)])};let W=(0,_vue.ref)(0);(0,_vue.watch)(()=>u.items?u.items.length:-1,()=>{W.value++}),(0,_vue.watch)(()=>u.items,()=>{W.value++}),(0,_vue.watch)(W,()=>{_(u.items||[])}),(0,_vue.watch)(()=>A.staticItems,e=>{var{showPrevButton:t,showNextButton:i}=d.value;u.items&&u.items.length&&errLog("vxe.error.errConflicts",["<vxe-splitter-panel ...>","items"]),A.itemList=e||[],(t||i)&&2<A.itemList.length&&errLog("vxe.error.modelConflicts",["action-config.showPrevButton | action-config.showNextButton","<vxe-splitter-panel ...> Only supports 2 panel"]),A.itemList.forEach(e=>{e.showAction&&warnLog("vxe.error.removeProp",["showAction"])}),q()});let L;return(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{q()});var e=a.value,e=(e&&(L=_ui.globalResize.create(()=>{q()})).observe(e),d.value);e.direction&&errLog("vxe.error.delProp",["action-config.direction","action-config.showPrevButton | action-config.showNextButton"]),_ui.globalEvents.on(f,"resize",N)}),(0,_vue.onUnmounted)(()=>{L&&L.disconnect(),_ui.globalEvents.off(f,"resize")}),(0,_vue.onActivated)(()=>{q()}),u.items&&_(u.items),(0,_vue.provide)("$xeSplitter",f),f.renderVN=()=>{var e=u.vertical,t=o.value,i=P.value,r=m.value,{immediate:i,showTip:l}=i,s=n.default;return(0,_vue.h)("div",{ref:a,class:["vxe-splitter",e?"is--vertical":"is--horizontal",i?"is-resize--immediate":"is-resize--lazy",{["size--"+t]:t}],style:r},[(0,_vue.h)("div",{class:"vxe-splitter-slots"},s?s({}):[]),(()=>{let{border:f,padding:c,resize:x,vertical:_}=u,b=A.itemList,E=o.value;var e=d.value.autoHideButton;let z=P.value.immediate,C=v.value,w=g.value.autoItems,H=[];return b.forEach((e,t)=>{var{id:i,name:r,slots:l,renderHeight:s,resizeHeight:n,foldHeight:a,renderWidth:o,resizeWidth:d,foldWidth:u,isExpand:h}=e,t=b[t+1],l=l?l.default:null,p={};let v=h?u||d||o:0,g=h?a||n||s:0,m=(1===w.length&&(_?e.height||(g=0):e.width||(v=0)),!0);_?g&&1<C.length&&(m=!1,p.height=(0,_dom.toCssUnit)(g)):v&&1<C.length&&(m=!1,p.width=(0,_dom.toCssUnit)(v)),H.push((0,_vue.h)("div",{itemid:i,class:["vxe-splitter-panel",_?"is--vertical":"is--horizontal",z?"is-resize--immediate":"is-resize--lazy",{["size--"+E]:E,"is--resize":x,"is--padding":c,"is--border":f,"is--height":g,"is--width":v,"is--visible":h,"is--hidden":!h,"is--fill":h&&m}],style:p},[(0,_vue.h)("div",{itemid:i,class:"vxe-splitter-panel--wrapper"},[(0,_vue.h)("div",{class:"vxe-splitter-panel--inner"},l?y(l,{name:r,isExpand:h}):[])])])),t&&H.push(S(e,t))}),(0,_vue.h)("div",{class:["vxe-splitter-wrapper",{"is--ah-btn":e}]},H)})(),(0,_vue.h)("div",{ref:O,class:["vxe-splitter--resizable-splitter-tip",e?"is--vertical":"is--horizontal",i?"is-resize--immediate":"is-resize--lazy"]},l?[(0,_vue.h)("div",{class:"vxe-splitter--resizable-splitter-tip-number"},[(0,_vue.h)("div",{class:"vxe-splitter--resizable-splitter-number-prev"}),(0,_vue.h)("div",{class:"vxe-splitter--resizable-splitter-number-next"})])]:[]),(0,_vue.h)("div",{class:"vxe-splitter--render-vars"},[(0,_vue.h)("div",{ref:h,class:"vxe-splitter--handle-bar-info"})])])},f},render(){return this.renderVN()}});
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_ui=require("../../ui"),_vn=require("../../ui/src/vn"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_log=require("../../ui/src/log"),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{warnLog,errLog}=(0,_log.createComponentLog)("splitter");var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeSplitter",props:{width:[Number,String],height:[Number,String],vertical:{type:Boolean,default:()=>(0,_ui.getConfig)().splitter.vertical},border:{type:Boolean,default:()=>(0,_ui.getConfig)().splitter.border},padding:{type:Boolean,default:()=>(0,_ui.getConfig)().splitter.padding},resize:{type:Boolean,default:()=>(0,_ui.getConfig)().splitter.resize},items:Array,itemConfig:Object,barConfig:Object,resizeConfig:Object,actionConfig:Object,size:{type:String,default:()=>(0,_ui.getConfig)().splitter.size||(0,_ui.getConfig)().size}},emits:["action-dblclick","action-click","toggle-expand","resize-start","resize-drag","resize-end"],setup(u,e){let{emit:r,slots:n}=e;var t=_xeUtils.default.uniqueId();let a=(0,_vue.ref)(),h=(0,_vue.ref)(),O=(0,_vue.ref)(),o=(0,_ui.useSize)(u).computeSize,A=(0,_vue.reactive)({staticItems:[],itemList:[],barWidth:0,barHeight:0,resizeFlag:0}),p={wrapperWidth:0,wrapperHeight:0},M=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().splitter.itemConfig,u.itemConfig)),s=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().splitter.barConfig,u.barConfig)),P=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().splitter.resizeConfig,u.resizeConfig)),d=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().splitter.actionConfig,u.actionConfig)),v=(0,_vue.computed)(()=>A.itemList.filter(e=>e.isExpand)),g=(0,_vue.computed)(()=>{var e=u.vertical;let n=[],a=0,o=0;return A.itemList.forEach(e?e=>{var{renderHeight:t,resizeHeight:i,foldHeight:r,isExpand:l,height:s}=e,l=l?r||i||t:0;s||n.push(e),a+=l}:e=>{var{renderWidth:t,resizeWidth:i,foldWidth:r,isExpand:l,width:s}=e,l=l?r||i||t:0;s||n.push(e),o+=l}),{autoItems:n,heightCount:a,heightRatio:a/100,widthCount:o,widthRatio:o/100}}),m=(0,_vue.computed)(()=>{var{width:e,height:t}=u,{width:i,height:r}=s.value,l={};return t&&(l.height=(0,_dom.toCssUnit)(t)),e&&(l.width=(0,_dom.toCssUnit)(e)),r&&(l["--vxe-ui-splitter-handle-bar-vertical-height"]=(0,_dom.toCssUnit)(r)),i&&(l["--vxe-ui-splitter-handle-bar-horizontal-width"]=(0,_dom.toCssUnit)(i)),l}),i={computeItemOpts:M,computeBarOpts:s,computeActionOpts:d},l={refElem:a},f={xID:t,props:u,context:e,reactData:A,internalData:p,getRefMaps:()=>l,getComputeMaps:()=>i},D=(e,t,i)=>{r(e,(0,_ui.createEvent)(i,{$splitter:f},t))},y=(e,t)=>e&&(_xeUtils.default.isString(e)&&(e=n[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[],c=(e,t,i)=>{var r=u.vertical,l="SPLIT_TOP_ACTION",s="SPLIT_BOTTOM_ACTION",n="SPLIT_LEFT_ACTION",a="SPLIT_RIGHT_ACTION";let o="";return(o=r?i?t.isExpand?s:l:e.isExpand?l:s:i?t.isExpand?a:n:e.isExpand?n:a)?(0,_ui.getIcon)()[o]:""};let x=(e,t)=>{var i=A.staticItems,{showPrevButton:r,showNextButton:l}=d.value;let s={isExpand:!0,renderWidth:0,resizeWidth:0,foldWidth:0,renderHeight:0,resizeHeight:0,foldHeight:0};return A.itemList=e.map(e=>(e.showAction&&warnLog("vxe.error.removeProp",["show-action"]),e.slots&&_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||n[e]||errLog("vxe.error.notSlot",[e])}),Object.assign({},t?null:s,e,t?s:null,{id:_xeUtils.default.uniqueId()}))),i.length&&errLog("vxe.error.errConflicts",["<vxe-splitter-panel ...>","items"]),(r||l)&&2<A.itemList.length&&errLog("vxe.error.errConflicts",["action-config.showPrevButton | action-config.showNextButton","Only supports 2 item"]),q()},_=e=>x(e||[],!1);let b=t=>{var i=A.itemList;let r=-1,l=null,s=null,n=null;for(let e=0;e<i.length;e++){var a=i[e];if(a.name===t){r=e,l=a,s=i[e-1]||null,n=i[e+1]||null;break}}return{index:r,currItem:l,prevItem:s,nextItem:n}},E=(e,t)=>{var i,r,e=b(e);return e&&({currItem:e,prevItem:i,nextItem:r}=e,e)&&(t?!e.isExpand:e.isExpand)&&(r?r.isExpand&&C(null,e,r,!1):i&&i.isExpand&&C(null,i,e,!0)),(0,_vue.nextTick)()};let q=()=>(0,_vue.nextTick)().then(()=>{var e=u.vertical,t=A.itemList,r=a.value,o=h.value;if(r){var d=r.clientWidth,r=r.clientHeight;if(d&&r){o&&(A.barWidth=o.offsetWidth,A.barHeight=o.offsetHeight);let l=d-(e?0:A.barWidth*(t.length-1)),s=r-(e?A.barHeight*(t.length-1):0);o=M.value;let i=_xeUtils.default.toNumber(o.minWidth),n=_xeUtils.default.toNumber(o.minHeight),a=[];if(e){let r=0;if(t.forEach(e=>{var t=e.height;let i=0;t?(i=(0,_dom.isScale)(t)?s*_xeUtils.default.toNumber(t)/100:_xeUtils.default.toNumber(t),e.renderHeight=i):a.push(e),r+=i}),a.length){let t=(s-r)/a.length;a.forEach(e=>{e.renderHeight=Math.max(_xeUtils.default.toNumber((0,_utils.getGlobalDefaultConfig)(e.minHeight,n)),t)})}}else{let r=0;if(t.forEach(e=>{var t=e.width;let i=0;t?(i=(0,_dom.isScale)(t)?l*_xeUtils.default.toNumber(t)/100:_xeUtils.default.toNumber(t),e.renderWidth=i):a.push(e),r+=i}),a.length){let t=(l-r)/a.length;a.forEach(e=>{e.renderWidth=Math.max(_xeUtils.default.toNumber((0,_utils.getGlobalDefaultConfig)(e.minWidth,i)),t)})}}p.wrapperWidth=l,p.wrapperHeight=s}}}),z=e=>{let{resize:t,vertical:U}=u;var N=A.itemList;if(t){e.preventDefault();var S=e.currentTarget,T=S.parentElement;let L=a.value;if(L){let I=T.previousElementSibling,W=T.nextElementSibling;if(I&&W){let t=I.getAttribute("itemid"),i=W.getAttribute("itemid"),H=N.find(e=>e.id===t),y=N.find(e=>e.id===i);if(H&&y){let s=L.getBoundingClientRect();T=S.getBoundingClientRect();let n=O.value,a=n?n.children[0]:null;N=M.value;let t=P.value.immediate;var S=_xeUtils.default.toNumber(N.minWidth),N=_xeUtils.default.toNumber(N.minHeight),k=Math.ceil(T.width-(e.clientX-T.left)),T=Math.ceil(e.clientY-T.top);let i=I.offsetWidth,r=W.offsetWidth;var B=_xeUtils.default.toNumber(H?(0,_utils.getGlobalDefaultConfig)(H.minWidth,S):S),S=_xeUtils.default.toNumber(y?(0,_utils.getGlobalDefaultConfig)(y.minWidth,S):S);let l=I.offsetLeft+B-k,o=W.offsetLeft+W.offsetWidth-S-k,d=e.clientX-s.left,u=-1,h=0,p=0,v=d,g=I.offsetHeight,m=W.offsetHeight;B=_xeUtils.default.toNumber(H?(0,_utils.getGlobalDefaultConfig)(H.minHeight,N):N),S=_xeUtils.default.toNumber(y?(0,_utils.getGlobalDefaultConfig)(y.minHeight,N):N);let f=I.offsetTop+B+T,c=W.offsetTop+W.offsetHeight-S+T,x=e.clientY-s.top,_=-1,b=0,E=0,z=x,C=i=>{if(n){var r=a?a.children[0]:null,l=a?a.children[1]:null;if(U){let e=0,t=(r&&(_<0?r.style.display="none":(r.textContent=Math.floor(b)+"px",r.style.display="block",e=r.offsetWidth)),l&&(_<0?(l.textContent=Math.floor(E)+"px",l.style.display="block",e=l.offsetWidth):l.style.display="none"),Math.max(1,i.clientX-s.left-e/2));t>s.width-e-1&&(t=s.width-e-1),n.style.left="0",n.style.top=z+"px",a&&(a.style.left=t+"px")}else{let e=0,t=(r&&(u<0?r.style.display="none":(r.textContent=Math.floor(h)+"px",r.style.display="block",e=r.offsetHeight)),l&&(u<0?(l.textContent=Math.floor(p)+"px",l.style.display="block",e=l.offsetHeight):l.style.display="none"),Math.max(1,i.clientY-s.top-e/2));t>s.height-e-1&&(t=s.height-e-1),n.style.top="0",n.style.left=v+"px",a&&(a.style.top=t+"px")}}},w=e=>{U?((z=(z=e.clientY-s.top)<f?f:z)>c&&(z=c),_=z-x,b=g+_,E=m-_):((v=(v=e.clientX-s.left)<l?l:v)>o&&(v=o),u=v-d,h=i+u,p=r-u),t&&(U?(I.style.height=(0,_dom.toCssUnit)(b),W.style.height=(0,_dom.toCssUnit)(E)):(I.style.width=(0,_dom.toCssUnit)(h),W.style.width=(0,_dom.toCssUnit)(p))),n&&C(e),D("resize-drag",{prevItem:H,nextItem:y,offsetHeight:_,offsetWidth:u},e)};document.onmousemove=e=>{e.preventDefault(),w(e),A.resizeFlag++},document.onmouseup=e=>{document.onmousemove=null,document.onmouseup=null,n&&(n.style.display=""),U?(H.resizeHeight=b,y.resizeHeight=E):(H.resizeWidth=h,y.resizeWidth=p),(0,_dom.removeClass)(L,"is--drag"),D("resize-end",{prevItem:H,nextItem:y,offsetHeight:_,offsetWidth:u},e),q(),A.resizeFlag++},n&&(n.style.display="block",C(e)),w(e),(0,_dom.addClass)(L,"is--drag"),D("resize-start",{prevItem:H,nextItem:y},e)}}}}},C=(e,t,i,r)=>{var l=u.vertical;let s=!1,n=t;r?(n=i,s=!i.isExpand,i.isExpand=s):(s=!t.isExpand,t.isExpand=s),l?t.isExpand&&i.isExpand?(t.foldHeight=0,i.foldHeight=0):t.isExpand?(i.foldHeight=0,t.foldHeight=(t.resizeHeight||t.renderHeight)+(i.resizeHeight||i.renderHeight)):(t.foldHeight=0,i.foldHeight=(t.resizeHeight||t.renderHeight)+(i.resizeHeight||i.renderHeight)):t.isExpand&&i.isExpand?(t.foldWidth=0,i.foldWidth=0):t.isExpand?(i.foldWidth=0,t.foldWidth=(t.resizeWidth||t.renderWidth)+(i.resizeWidth||i.renderWidth)):(t.foldWidth=0,i.foldWidth=(t.resizeWidth||t.renderWidth)+(i.resizeWidth||i.renderWidth)),e&&D("toggle-expand",{prevItem:t,nextItem:i,expanded:s,item:n},e),q(),A.resizeFlag++},w=e=>{var t=A.itemList,i=d.value,r=e.currentTarget.parentElement.parentElement;let l=r.previousElementSibling.getAttribute("itemid");var s=t.find(e=>e.id===l);let n=r.nextElementSibling.getAttribute("itemid");r=t.find(e=>e.id===n);"dblclick"===i.trigger&&s&&r&&r.isExpand&&C(e,s,r,!1),D("action-dblclick",{prevItem:s,nextItem:r},e)},H=e=>{var t=A.itemList,i=d.value,r=e.currentTarget.parentElement.parentElement;let l=r.previousElementSibling.getAttribute("itemid");var s=t.find(e=>e.id===l);let n=r.nextElementSibling.getAttribute("itemid");r=t.find(e=>e.id===n);"dblclick"!==i.trigger&&s&&r&&r.isExpand&&C(e,s,r,!1),D("action-click",{prevItem:s,nextItem:r},e)},I=e=>{var t=A.itemList,i=d.value,r=e.currentTarget.parentElement.parentElement;let l=r.previousElementSibling.getAttribute("itemid");var s=t.find(e=>e.id===l);let n=r.nextElementSibling.getAttribute("itemid");r=t.find(e=>e.id===n);"dblclick"===i.trigger&&s&&r&&s.isExpand&&C(e,s,r,!0),D("action-dblclick",{prevItem:s,nextItem:r},e)},U=e=>{var t=A.itemList,i=d.value,r=e.currentTarget.parentElement.parentElement;let l=r.previousElementSibling.getAttribute("itemid");var s=t.find(e=>e.id===l);let n=r.nextElementSibling.getAttribute("itemid");r=t.find(e=>e.id===n);"dblclick"!==i.trigger&&s&&r&&s.isExpand&&C(e,s,r,!0),D("action-click",{prevItem:s,nextItem:r},e)},N=()=>{q()};t={dispatchEvent:D,setItemExpand:E,toggleItemExpand:e=>{var t=b(e);if(t){t=t.currItem;if(t)return E(e,!t.isExpand)}return(0,_vue.nextTick)()},getItemExpand:e=>{e=b(e);if(e){e=e.currItem;if(e)return e.isExpand}return!1},recalculate:q,reset:()=>{var e=A.itemList;return e.forEach(e=>{e.isExpand=!0,e.foldHeight=0,e.foldWidth=0,e.resizeHeight=0,e.resizeWidth=0}),(0,_vue.nextTick)()},loadItem:_,reloadItem:e=>x(e||[],!0)};Object.assign(f,t,{});let S=(e,t)=>{var{border:i,resize:r,vertical:l}=u,s=A.itemList,n=d.value,a=n.direction,o=_xeUtils.default.isBoolean(n.showPrevButton)?n.showPrevButton:s.some(e=>e.showAction),n=_xeUtils.default.isBoolean(n.showNextButton)?n.showNextButton:"next"===a&&s.some(e=>e.showAction),a=P.value.immediate;return(0,_vue.h)("div",{class:["vxe-splitter-panel-handle",l?"is--vertical":"is--horizontal",a?"is-resize--immediate":"is-resize--lazy",{"is--resize":r,"is--border":i}]},[(0,_vue.h)("div",{class:"vxe-splitter-panel-handle-bar",onMousedown:z}),2===s.length?(0,_vue.h)("div",{class:"vxe-splitter-panel-action-btn-wrapper"},[o&&t.isExpand?(0,_vue.h)("div",{class:["vxe-splitter-panel-action-btn",e.isExpand?"is--prev":"is--next"],onDblclick:w,onClick:H},[(0,_vue.h)("i",{class:c(e,t,!1)})]):(0,_ui.renderEmptyElement)(f),n&&e.isExpand?(0,_vue.h)("div",{class:["vxe-splitter-panel-action-btn",t.isExpand?"is--next":"is--prev"],onDblclick:I,onClick:U},[(0,_vue.h)("i",{class:c(e,t,!0)})]):(0,_ui.renderEmptyElement)(f)]):(0,_ui.renderEmptyElement)(f)])};let W=(0,_vue.ref)(0);(0,_vue.watch)(()=>u.items?u.items.length:-1,()=>{W.value++}),(0,_vue.watch)(()=>u.items,()=>{W.value++}),(0,_vue.watch)(W,()=>{_(u.items||[])}),(0,_vue.watch)(()=>A.staticItems,e=>{var{showPrevButton:t,showNextButton:i}=d.value;u.items&&u.items.length&&errLog("vxe.error.errConflicts",["<vxe-splitter-panel ...>","items"]),A.itemList=e||[],(t||i)&&2<A.itemList.length&&errLog("vxe.error.modelConflicts",["action-config.showPrevButton | action-config.showNextButton","<vxe-splitter-panel ...> Only supports 2 panel"]),A.itemList.forEach(e=>{e.showAction&&warnLog("vxe.error.removeProp",["showAction"])}),q()});let L;return(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{q()});var e=a.value,e=(e&&(L=_ui.globalResize.create(()=>{q()})).observe(e),d.value);e.direction&&errLog("vxe.error.delProp",["action-config.direction","action-config.showPrevButton | action-config.showNextButton"]),_ui.globalEvents.on(f,"resize",N)}),(0,_vue.onUnmounted)(()=>{L&&L.disconnect(),_ui.globalEvents.off(f,"resize")}),(0,_vue.onActivated)(()=>{q()}),u.items&&_(u.items),(0,_vue.provide)("$xeSplitter",f),f.renderVN=()=>{var e=u.vertical,t=o.value,i=P.value,r=m.value,{immediate:i,showTip:l}=i,s=n.default;return(0,_vue.h)("div",{ref:a,class:["vxe-splitter",e?"is--vertical":"is--horizontal",i?"is-resize--immediate":"is-resize--lazy",{["size--"+t]:t}],style:r},[(0,_vue.h)("div",{class:"vxe-splitter-slots"},s?s({}):[]),(()=>{let{border:f,padding:c,resize:x,vertical:_}=u,b=A.itemList,E=o.value;var e=d.value.autoHideButton;let z=P.value.immediate,C=v.value,w=g.value.autoItems;var t=C.length<=1;let H=[];return b.forEach((e,t)=>{var{id:i,name:r,slots:l,renderHeight:s,resizeHeight:n,foldHeight:a,renderWidth:o,resizeWidth:d,foldWidth:u,isExpand:h}=e,t=b[t+1],l=l?l.default:null,p={};let v=h?u||d||o:0,g=h?a||n||s:0,m=(1===w.length&&(_?e.height||(g=0):e.width||(v=0)),!0);_?g&&1<C.length&&(m=!1,p.height=(0,_dom.toCssUnit)(g)):v&&1<C.length&&(m=!1,p.width=(0,_dom.toCssUnit)(v)),H.push((0,_vue.h)("div",{itemid:i,class:["vxe-splitter-panel",_?"is--vertical":"is--horizontal",z?"is-resize--immediate":"is-resize--lazy",{["size--"+E]:E,"is--resize":x,"is--padding":c,"is--border":f,"is--height":g,"is--width":v,"is--visible":h,"is--hidden":!h,"is--fill":h&&m}],style:p},[(0,_vue.h)("div",{itemid:i,class:"vxe-splitter-panel--wrapper"},[(0,_vue.h)("div",{class:"vxe-splitter-panel--inner"},l?y(l,{name:r,isExpand:h}):[])])])),t&&H.push(S(e,t))}),(0,_vue.h)("div",{class:["vxe-splitter-wrapper",{"is--ah-btn":e,"is--only-view":t}]},H)})(),(0,_vue.h)("div",{ref:O,class:["vxe-splitter--resizable-splitter-tip",e?"is--vertical":"is--horizontal",i?"is-resize--immediate":"is-resize--lazy"]},l?[(0,_vue.h)("div",{class:"vxe-splitter--resizable-splitter-tip-number"},[(0,_vue.h)("div",{class:"vxe-splitter--resizable-splitter-number-prev"}),(0,_vue.h)("div",{class:"vxe-splitter--resizable-splitter-number-next"})])]:[]),(0,_vue.h)("div",{class:"vxe-splitter--render-vars"},[(0,_vue.h)("div",{ref:h,class:"vxe-splitter--handle-bar-info"})])])},f},render(){return this.renderVN()}});
@@ -268,6 +268,10 @@
268
268
  border: 1px solid var(--vxe-ui-base-popup-border-color);
269
269
  }
270
270
 
271
+ .vxe-splitter-wrapper.is--only-view > .vxe-splitter-panel-handle .vxe-splitter-panel-handle-bar {
272
+ width: 0;
273
+ }
274
+
271
275
  .vxe-splitter--render-vars {
272
276
  width: 0;
273
277
  height: 0;