vxe-pc-ui 4.19.7 → 4.19.8

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 (85) hide show
  1. package/dist/all.esm.js +1893 -1837
  2. package/dist/style.css +1 -1
  3. package/dist/style.min.css +1 -1
  4. package/es/card/src/card.js +35 -12
  5. package/es/card/style.css +42 -44
  6. package/es/card/style.min.css +1 -1
  7. package/es/icon/style.css +1 -1
  8. package/es/list/src/list.js +6 -2
  9. package/es/scrollbar/src/scrollbar.js +9 -1
  10. package/es/scrollbar/style.css +5 -5
  11. package/es/scrollbar/style.min.css +1 -1
  12. package/es/style.css +1 -1
  13. package/es/style.min.css +1 -1
  14. package/es/tabs/src/tabs.js +27 -8
  15. package/es/tabs/style.css +4 -2
  16. package/es/tabs/style.min.css +1 -1
  17. package/es/tree/src/tree.js +6 -2
  18. package/es/ui/index.js +1 -1
  19. package/es/ui/src/log.js +1 -1
  20. package/es/vxe-card/style.css +42 -44
  21. package/es/vxe-card/style.min.css +1 -1
  22. package/es/vxe-scrollbar/style.css +5 -5
  23. package/es/vxe-scrollbar/style.min.css +1 -1
  24. package/es/vxe-tabs/style.css +4 -2
  25. package/es/vxe-tabs/style.min.css +1 -1
  26. package/lib/card/src/card.js +42 -6
  27. package/lib/card/src/card.min.js +1 -1
  28. package/lib/card/style/style.css +42 -44
  29. package/lib/card/style/style.min.css +1 -1
  30. package/lib/icon/style/style.css +1 -1
  31. package/lib/icon/style/style.min.css +1 -1
  32. package/lib/index.umd.js +2474 -2390
  33. package/lib/index.umd.min.js +1 -1
  34. package/lib/list/src/list.js +5 -1
  35. package/lib/list/src/list.min.js +1 -1
  36. package/lib/scrollbar/src/scrollbar.js +9 -1
  37. package/lib/scrollbar/src/scrollbar.min.js +1 -1
  38. package/lib/scrollbar/style/style.css +5 -5
  39. package/lib/scrollbar/style/style.min.css +1 -1
  40. package/lib/style.css +1 -1
  41. package/lib/style.min.css +1 -1
  42. package/lib/tabs/src/tabs.js +40 -8
  43. package/lib/tabs/src/tabs.min.js +1 -1
  44. package/lib/tabs/style/style.css +4 -2
  45. package/lib/tabs/style/style.min.css +1 -1
  46. package/lib/tree/src/tree.js +5 -1
  47. package/lib/tree/src/tree.min.js +1 -1
  48. package/lib/ui/index.js +1 -1
  49. package/lib/ui/index.min.js +1 -1
  50. package/lib/ui/src/log.js +1 -1
  51. package/lib/ui/src/log.min.js +1 -1
  52. package/lib/vxe-card/style/style.css +42 -44
  53. package/lib/vxe-card/style/style.min.css +1 -1
  54. package/lib/vxe-scrollbar/style/style.css +5 -5
  55. package/lib/vxe-scrollbar/style/style.min.css +1 -1
  56. package/lib/vxe-tabs/style/style.css +4 -2
  57. package/lib/vxe-tabs/style/style.min.css +1 -1
  58. package/package.json +1 -1
  59. package/packages/card/src/card.ts +55 -12
  60. package/packages/list/src/list.ts +6 -2
  61. package/packages/scrollbar/src/scrollbar.ts +10 -1
  62. package/packages/tabs/src/tabs.ts +34 -8
  63. package/packages/tree/src/tree.ts +6 -2
  64. package/styles/components/card.scss +44 -58
  65. package/styles/components/scrollbar.scss +15 -11
  66. package/styles/components/tabs.scss +2 -1
  67. package/types/components/card.d.ts +11 -0
  68. package/types/components/grid.d.ts +37 -0
  69. package/types/components/layout-aside.d.ts +6 -0
  70. package/types/components/layout-body.d.ts +6 -0
  71. package/types/components/menu.d.ts +6 -0
  72. package/types/components/table.d.ts +1 -2
  73. package/types/components/tabs.d.ts +11 -0
  74. /package/es/icon/{iconfont.1791794447472.ttf → iconfont.1791862962954.ttf} +0 -0
  75. /package/es/icon/{iconfont.1791794447472.woff → iconfont.1791862962954.woff} +0 -0
  76. /package/es/icon/{iconfont.1791794447472.woff2 → iconfont.1791862962954.woff2} +0 -0
  77. /package/es/{iconfont.1791794447472.ttf → iconfont.1791862962954.ttf} +0 -0
  78. /package/es/{iconfont.1791794447472.woff → iconfont.1791862962954.woff} +0 -0
  79. /package/es/{iconfont.1791794447472.woff2 → iconfont.1791862962954.woff2} +0 -0
  80. /package/lib/icon/style/{iconfont.1791794447472.ttf → iconfont.1791862962954.ttf} +0 -0
  81. /package/lib/icon/style/{iconfont.1791794447472.woff → iconfont.1791862962954.woff} +0 -0
  82. /package/lib/icon/style/{iconfont.1791794447472.woff2 → iconfont.1791862962954.woff2} +0 -0
  83. /package/lib/{iconfont.1791794447472.ttf → iconfont.1791862962954.ttf} +0 -0
  84. /package/lib/{iconfont.1791794447472.woff → iconfont.1791862962954.woff} +0 -0
  85. /package/lib/{iconfont.1791794447472.woff2 → iconfont.1791862962954.woff2} +0 -0
@@ -411,8 +411,12 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
411
411
  const recalculate = () => {
412
412
  const el = refElem.value;
413
413
  if (el) {
414
- const parentEl = el.parentElement;
414
+ let parentEl = el.parentElement;
415
415
  let parentHeight = 0;
416
+ // 如果是虚拟滚动条
417
+ if (parentEl && (0, _dom.hasClass)(parentEl, 'vxe-scrollbar--view-inner')) {
418
+ parentEl = parentEl.parentElement;
419
+ }
416
420
  if (parentEl) {
417
421
  const parentStyle = getComputedStyle(parentEl);
418
422
  parentHeight = parentEl.clientHeight - Math.ceil(_xeUtils.default.toNumber(parentStyle.paddingLeft) + _xeUtils.default.toNumber(parentStyle.paddingRight));
@@ -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"),_store=require("./store"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_log=require("../../ui/src/log"),_anime=require("../../ui/src/anime"),_util=require("./util"),_loading=_interopRequireDefault(require("../../loading"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{warnLog,errLog}=(0,_log.createComponentLog)("tree");function getRowKeyByField(e,t){return e?""+(e[t]||""):""}function getRowIdByField(e,t){return e?(e=getRowKeyByField(e,t),(0,_utils.enModelValue)(e)):""}function createReactData(){return{scrollYLoad:!1,bodyHeight:0,headHeight:0,footHeight:0,customHeight:0,customMaxHeight:0,parentHeight:0,topSpaceHeight:0,rowList:[],selectRadioRow:null,currRowFlag:1,updateCheckboxFlag:1,isAllChecked:!1,isAllIndeterminate:!1,insertRowFlag:1,removeRowFlag:1,dragRow:null,dragTipText:"",isCrossDragRow:!1}}function createInternalData(){return{resizeObserver:void 0,fullData:[],afterList:[],fullKeyMaps:{},rowMaps:{},lastScrollLeft:0,lastScrollTop:0,scrollYStore:{startIndex:0,endIndex:0,visibleSize:0,offsetSize:0,rowHeight:0},currentRow:null,selectCheckboxMaps:{},insertRowMaps:{},removeRowMaps:{}}}let crossListDragRowObj=null;var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeList",props:{data:Array,height:[Number,String],maxHeight:[Number,String],loading:Boolean,className:[String,Function],size:{type:String,default:()=>(0,_ui.getConfig)().list.size||(0,_ui.getConfig)().size},autoResize:{type:Boolean,default:()=>(0,_ui.getConfig)().list.autoResize},syncResize:[Boolean,String,Number],showSeq:{type:Boolean,default:()=>(0,_ui.getConfig)().list.showSeq},showRadio:{type:Boolean,default:()=>(0,_ui.getConfig)().list.showRadio},checkRowKey:[String,Number],radioConfig:Object,showCheckbox:{type:Boolean,default:()=>(0,_ui.getConfig)().list.showCheckbox},checkRowKeys:Array,checkboxConfig:Object,rowConfig:Object,dragConfig:Object,menuConfig:Object,virtualYConfig:Object,scrollY:Object},emits:["update:checkRowKey","update:checkRowKeys","row-click","row-dblclick","current-change","radio-change","checkbox-change","checkbox-all","scroll","row-dragstart","row-dragover","row-dragend","row-remove-dragend","row-insert-dragend","row-menu","menu-click"],setup(S,e){let{slots:T,emit:o}=e;var t=_xeUtils.default.uniqueId();let i=_xeUtils.default.browse(),j=(0,_ui.useSize)(S).computeSize,F=(0,_vue.reactive)(createReactData()),H=createInternalData(),v=(0,_store.getCrossListDragRowInfo)(),b=(0,_vue.ref)(),N=(0,_vue.ref)(),P=(0,_vue.ref)(),y=(0,_vue.ref)(),z=(0,_vue.ref)(),Y=(0,_vue.ref)(),V=(0,_vue.ref)(),h={refElem:b},B={xID:t,props:S,context:e,reactData:F,internalData:H,getRefMaps:()=>h},O=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().list.rowConfig,S.rowConfig)),K=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().list.dragConfig,S.dragConfig)),w=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().list.virtualYConfig||(0,_ui.getConfig)().list.scrollY,S.virtualYConfig||S.scrollY)),A=(0,_vue.computed)(()=>{var e=O.value.keyField;return e||""}),U=(0,_vue.computed)(()=>{var e=S.dragConfig,t=K.value;return e&&(0,_utils.isEnableConf)(t)}),f=(0,_vue.computed)(()=>{var e=O.value.height;return e}),$=(0,_vue.computed)(()=>Object.assign({showIcon:!0},(0,_ui.getConfig)().list.radioConfig,S.radioConfig)),q=(0,_vue.computed)(()=>Object.assign({showIcon:!0},(0,_ui.getConfig)().list.checkboxConfig,S.checkboxConfig)),x=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().list.menuConfig,S.menuConfig)),X=(0,_vue.computed)(()=>{var e=f.value,t={};return e&&(t["--vxe-ui-list-row-height"]=(0,_dom.toCssUnit)(e)),t}),G=(0,_vue.computed)(()=>{var{height:e,maxHeight:t}=S,{customHeight:r,customMaxHeight:o,headHeight:l,footHeight:a}=F,i={};return e?i.height=(0,_dom.toCssUnit)(Math.max(20,r-l-a)):t&&(i.height="auto",i.maxHeight=(0,_dom.toCssUnit)(Math.max(20,o-l-a))),i}),R=(e,t,r)=>{o(e,(0,_ui.createEvent)(r,{$list:B},t))},s=e=>{o("update:checkRowKeys",e)},n=e=>{o("update:checkRowKey",e)},_=e=>getRowIdByField(e,A.value),p=e=>{var t=F.parentHeight,e=S[e];let r=0;return r=e?"100%"===e||"auto"===e?t:(r=(0,_dom.isScale)(e)?Math.floor((_xeUtils.default.toInteger(e)||1)/100*t):_xeUtils.default.toNumber(e),Math.max(40,r)):r},W=()=>{var e=N.value,t=P.value;F.headHeight=e?Math.floor(e.offsetHeight):0,F.footHeight=t?Math.floor(t.offsetHeight):0,F.customHeight=p("height"),F.customMaxHeight=p("maxHeight")},m=()=>{var e=F.scrollYLoad,{scrollYStore:t,fullData:r}=H;F.bodyHeight=e?r.length*t.rowHeight:0,F.topSpaceHeight=e?Math.max(t.startIndex*t.rowHeight,0):0},J=()=>{var e=H.fullData;H.afterList=e.slice(0),se()},C=e=>{var t=F.scrollYLoad;let{fullData:r,scrollYStore:o,rowMaps:l}=H,a=A.value;e&&J();e=t?r.slice(o.startIndex,o.endIndex):r.slice(0);return a&&e.forEach((e,t)=>{e=getRowIdByField(e,a),e=l[e];e&&(e.$index=t)}),F.rowList=e,(0,_vue.nextTick)()},Q=()=>{C(),m()},Z=()=>(0,_vue.nextTick)().then(()=>{var e=F.scrollYLoad,t=H.scrollYStore,r=z.value,o=w.value;let l=0,a;(a=r?(a=o.sItem?r.querySelector(o.sItem):a)||r.children[0]:a)&&(l=a.offsetHeight),l=Math.max(12,l),t.rowHeight=l,(e?(r=y.value,e=Math.max(8,Math.ceil(r.clientHeight/l)),r=o.oSize?_xeUtils.default.toNumber(o.oSize):i.edge?10:0,t.offsetSize=r,t.visibleSize=e,t.endIndex=Math.max(t.startIndex+e+r,t.endIndex),Q):m)()}),ee=()=>{var e=y.value;return e&&(e.scrollTop=0),(0,_vue.nextTick)()},te=(e,t)=>{var r=y.value;return e&&!_xeUtils.default.isNumber(e)&&(t=e.top,e=e.left),_xeUtils.default.isNumber(e)&&(r.scrollLeft=e),_xeUtils.default.isNumber(t)&&(r.scrollTop=t),F.scrollYLoad?new Promise(e=>{setTimeout(()=>{(0,_vue.nextTick)(()=>{e()})},50)}):(0,_vue.nextTick)()},re=()=>{let{lastScrollLeft:e,lastScrollTop:t}=H;return ee().then(()=>{if(e||t)return H.lastScrollLeft=0,H.lastScrollTop=0,te(e,t)})},k=()=>{var t=b.value;if(t){var r,o=t.parentElement;let e=0;if(o&&(r=getComputedStyle(o),e=o.clientHeight-Math.ceil(_xeUtils.default.toNumber(r.paddingLeft)+_xeUtils.default.toNumber(r.paddingRight))),F.parentHeight=e,W(),t.clientWidth&&t.clientHeight)return Z()}return(0,_vue.nextTick)()},oe=e=>{var t=H.scrollYStore,{startIndex:r,endIndex:o,visibleSize:l,offsetSize:a,rowHeight:i}=t,e=e.target.scrollTop,e=Math.floor(e/i),i=Math.max(0,e-1-a),a=e+l+a;!(e<=r||o-l-1<=e)||r===i&&o===a||(t.startIndex=i,t.endIndex=a,Q())},le=e=>{var t=e.target,r=t.scrollTop,t=t.scrollLeft,o=t!==H.lastScrollLeft,l=r!==H.lastScrollTop;H.lastScrollTop=r,H.lastScrollLeft=t,F.scrollYLoad&&oe(e),R("scroll",{scrollLeft:t,scrollTop:r,isX:o,isY:l},e)},ae=()=>{var e=S.checkRowKey,t=H.fullKeyMaps;e?(t=t[e],F.selectRadioRow=t||null):F.selectRadioRow=null},ie=()=>{var e=S.checkRowKeys,t=H.fullKeyMaps,r=A.value,o={};if(e&&e.length)for(var l of e){l=t[l];l&&(o[getRowIdByField(l,r)]=l)}H.selectCheckboxMaps=o,g()},se=()=>{let{afterList:e,rowMaps:l}=H,a=A.value,i=0;e.forEach((e,t)=>{var r=getRowIdByField(e,a),o=l[r];o?o._index=i:(o={item:e,index:t,$index:-1,_index:i},l[r]=o),i++})},ne=()=>{var e=H.fullData;let l=A.value,a={},i={};l&&e.forEach((e,t)=>{var r=getRowIdByField(e,l),o=getRowKeyByField(e,l);a[o]=e,i[r]={item:e,index:t,$index:-1,_index:-1}}),H.fullKeyMaps=a,H.rowMaps=i},r=e=>{var t=H.scrollYStore,r=w.value,e=e?e.slice(0):[];return Object.assign(t,{startIndex:0,endIndex:1,visibleSize:0}),H.fullData=e,H.insertRowMaps={},F.insertRowFlag++,H.removeRowMaps={},F.removeRowFlag++,F.scrollYLoad=!!r.enabled&&-1<r.gt&&(0===r.gt||r.gt<=e.length),ne(),C(!0),ae(),ie(),Z().then(()=>{re()})},ue=()=>{I(),D(),k()},ce=()=>{var e=b.value;if(e){let t="row--drag-origin";_xeUtils.default.arrayEach(e.querySelectorAll("."+t),e=>{(e.draggable=!1,_dom.removeClass)(e,t)})}},de=e=>{var t=w.value.sItem,r=b.value;if(r){e=_(e);_xeUtils.default.arrayEach(r.querySelectorAll(`.vxe-list--row[rowid="${e}"]`+(t?t+`[rowid="${e}"]`:"")),e=>{(0,_dom.addClass)(e,"row--drag-origin")})}},ge=e=>{var t=F.dragRow,r=K.value.tooltipMethod;let o="";o=r?""+(r({$list:B,row:t})||""):(0,_ui.getI18n)("vxe.list.dragTip",[e.textContent||""]),F.dragTipText=o},u=()=>{var e=V.value,t=Y.value;e&&(e.style.display=""),t&&(t.style.display="")},D=()=>{crossListDragRowObj=null,v.row=null},ve=()=>{var e=F.dragRow;e&&(u(),ce(),D(),F.dragRow=null)},he=(e,t)=>{e.stopPropagation();var r=t.row,{isCrossListDrag:o,trigger:l,dragStartMethod:a}=K.value,i=e.currentTarget,l="row"===l?i:i.parentElement.parentElement;ce(),a&&!a(t)?(l.draggable=!1,F.dragRow=null,u()):(o&&(v.row=r,crossListDragRowObj={$oldList:B,$newList:null}),i={row:r},F.dragRow=r,F.isCrossDragRow=!1,l.draggable=!0,de(r),ge(l),R("row-dragstart",i,e))},we=()=>{ve()},c=(e,t,r,o)=>{var l=b.value;if(l){var a=l.getBoundingClientRect(),i=l.clientHeight;if(t){var s=Y.value;if(s)if(r){var n=t.getBoundingClientRect();let e=t.clientHeight;t=Math.max(1,n.y-a.y);t+e>i&&(e=i-t),s.style.display="block",s.style.top=t+"px",s.style.height=e+"px",s.setAttribute("drag-pos",o)}else s.style.display=""}n=V.value;n&&(n.style.display="block",n.style.top=Math.min(l.clientHeight-l.scrollTop-n.clientHeight,e.clientY-a.y)+"px",n.style.left=Math.min(l.clientWidth-l.scrollLeft-n.clientWidth-1,e.clientX-a.x)+"px",n.setAttribute("drag-status",r?"normal":"disabled"))}},I=()=>{var e=b.value;u(),ce(),(0,_anime.clearRowAnimate)(e,[".vxe-list--row"]),F.dragRow=null},fe=(l,a,i,s)=>{let n=H.fullData;var e=K.value;let{animation:g,dragEndMethod:t}=e;e=t||(e?e.dragEndMethod:null);let v="bottom"===s?1:0,h=b.value,w={status:!1};if(h&&i&&a){if(i!==a){var f={oldRow:a,newRow:i,dragRow:a,dragPos:s,offsetIndex:v};let u=_(a),c=E(n,u);var x,p=L(i);let d=0,t=-1,r=void(g&&(p=h.querySelector(`.vxe-list--row[rowid="${p}"]`),x=h.querySelector(`.vxe-list--row[rowid="${u}"]`),(p=p||x)&&(d=p.offsetHeight),x)&&(t=x.offsetTop)),o;return Promise.resolve(!e||e(f)).then(e=>{if(!e)return w;r=M(n,a),n.splice(r,1);var e=M(n,i);return o=e+v,n.splice(o,0,a),C(),F.scrollYLoad&&m(),l&&(e={oldRow:a,newRow:i,dragRow:a,dragPos:s,offsetIndex:v,_index:{newIndex:o,oldIndex:r}},R("row-dragend",e,l)),(0,_vue.nextTick)().then(()=>{if(g){var o=F.rowList,l=H.fullData,a=E(l,u),i=l[0],i=M(l,i),s=h;if(-1<i){var n=i+l.length;let e=-1,t=-1,r=1;c<i?(e=0,t=a-i):c>n?(n=E(o,u),e=n+1,t=l.length,r=-1):a>c?(e=c-i,t=e+a-c):(e=a-i,t=e+c-a+1,r=-1);o=l.slice(e,t);if(o.length){let t=[];o.forEach(e=>{e=_(e);t.push(`.vxe-list--row[rowid="${e}"]`)});n=s.querySelectorAll(t.join(","));(0,_anime.moveRowAnimateToTb)(n,r*d)}}i=[`.vxe-list--row[rowid="${u}"]`],a=s.querySelectorAll(i.join(",")),l=a[0];-1<t&&l&&(0,_anime.moveRowAnimateToTb)(a,t-l.offsetTop)}k()}).then(()=>({status:!0}))}).catch(()=>w).then(e=>(I(),D(),e))}I(),D()}return Promise.resolve(w)},xe=e=>{e.dataTransfer&&e.dataTransfer.setDragImage((0,_dom.getTpImg)(),0,0)},pe=e=>{var t=F.dragRow,{prevDragRow:r,prevDragPos:o}=H,l=K.value.isCrossListDrag;if(l&&crossListDragRowObj){l=crossListDragRowObj.$newList;if(l&&l.xID!==B.xID)return void l.handleCrossListRowDragInsertEvent(e)}fe(e,t,r,o)},Re=e=>{var t=F.dragRow,r=H.fullData,o=K.value.isCrossListDrag,l=(t||e.preventDefault(),e.currentTarget),a=l.getAttribute("rowid")||"",r=d(r,a);if(r){e.preventDefault();var i=e.clientY-l.getBoundingClientRect().y<l.clientHeight/2?"top":"bottom";if(H.prevDragRow=r,H.prevDragPos=i,o&&crossListDragRowObj){var{$oldList:o,$newList:s}=crossListDragRowObj;if(o){var n=o.reactData;if(o.xID!==B.xID)return s&&s.xID!==B.xID&&s.hideCrossListRowDropClearStatus(),o.hideCrossListRowDropClearStatus(),n.isCrossDragRow=!0,F.dragTipText=n.dragTipText,crossListDragRowObj.$newList=B,void c(e,l,!0,i);s&&s.hideCrossListRowDropClearStatus(),F.isCrossDragRow=!1,n.isCrossDragRow=!1,crossListDragRowObj.$newList=null}}t&&_(t)===a?c(e,l,!1,i):(o={oldRow:t,targetRow:r,dragPos:i,dragRow:t,offsetIndex:"bottom"==i?1:0},c(e,l,!0,i),R("row-dragover",o,e))}},_e=(e,t)=>{var{trigger:r,disabledMethod:o}=K.value;let l=!1;U.value&&(l="row"===r);r={row:t,$list:B};!l||o&&o(r)||he(e,r)},me=(e,t)=>{var{showRadio:r,showCheckbox:o}=S,l=H.currentRow,a=$.value,i=q.value,s=O.value.isCurrent;let n=!1,u=!1,c=!1;s?(n=!0,Te(e,t)):l&&(H.currentRow=null,F.currRowFlag++),r&&"row"===a.trigger&&(u=!0,Fe(e,t)),o&&"row"===i.trigger&&(c=!0,Se(e,t)),R("row-click",{row:t,triggerCurrent:n,triggerRadio:u,triggerCheckbox:c},e)},Ce=(e,t)=>{R("row-dblclick",{row:t},e)},L=e=>getRowKeyByField(e,A.value),l=(e,t)=>""+e==""+t,be=(e,t)=>!(!e||!t)&&(e===t||l(_(e),_(t))),ye=(e,t)=>e&&l(L(e),t);let d=(e,t)=>{let r=A.value;return _xeUtils.default.find(e,e=>l(getRowIdByField(e,r),t))},M=(e,t)=>t?_xeUtils.default.findIndexOf(e,e=>be(e,t)):-1,E=(e,t)=>{let r=A.value;return _xeUtils.default.findIndexOf(e,e=>l(getRowIdByField(e,r),t))},ke=e=>{var t=F.selectRadioRow;return L(t)===e};let De=e=>{var t=F.updateCheckboxFlag,r=H.selectCheckboxMaps;return!(!t||!r[e])};t=()=>{var e=F.updateCheckboxFlag,t=H.selectCheckboxMaps;let r=[];return e&&_xeUtils.default.each(t,e=>{e&&r.push(e)}),r};let Ie=()=>{var e=F.updateCheckboxFlag,t=H.selectCheckboxMaps;let r=A.value,o=[];return e&&_xeUtils.default.each(t,e=>{e&&(e=getRowKeyByField(e,r),o.push(e))}),o},Le=()=>{H.selectCheckboxMaps={},F.updateCheckboxFlag++,F.isAllChecked=!1,F.isAllIndeterminate=!1;return s([]),(0,_vue.nextTick)()},Me=e=>{var{fullData:t,selectCheckboxMaps:r}=H,o=A.value;if(e){var l,a=[];for(l of t){var i=getRowKeyByField(l,o);r[getRowIdByField(l,o)]=l,a.push(i)}return s(a),g()}return Le()},g=()=>{var{selectCheckboxMaps:e,fullData:t}=H,r=A.value,o=q.value.checkMethod;let l=!1,a=!1;if(o){for(var i of t)if(o({row:i,$list:B}))if(e[getRowIdByField(i,r)])l=!0;else if(a=!0,l)break}else for(var s of t)if(e[getRowIdByField(s,r)])l=!0;else if(a=!0,l)break;return F.isAllChecked=l&&!a,F.isAllIndeterminate=l&&a,F.updateCheckboxFlag++,(0,_vue.nextTick)()},Ee=e=>{var t=F.isAllChecked,t=!t;t?Me(!0):Le(),R("checkbox-all",{checked:t},e)},Se=(t,r)=>{t.preventDefault(),t.stopPropagation();var o=H.selectCheckboxMaps,l=q.value.checkMethod,a=_(r),l=!!l&&!l({$list:B,row:r});if(!l){let e=!1;o[a]?delete o[a]:(e=!0,o[a]=r),F.updateCheckboxFlag++,g();l=_xeUtils.default.keys(o).map(_utils.deModelValue);s(l),R("checkbox-change",{row:r,value:l,checked:e},t)}},Te=(e,t)=>{e.preventDefault();var r=O.value.currentMethod;let o=!1;(o=r?!r({row:t}):o)||(H.currentRow=t,F.currRowFlag++,R("current-change",{row:t,checked:!0},e))},Fe=(t,r)=>{t.preventDefault(),t.stopPropagation();var o=F.selectRadioRow,{strict:l,checkMethod:a}=$.value,i=L(r),a=!!a&&!a({$list:B,row:r});if(!a){a=i;let e=!0;l&&o&&i===L(o)?(e=!1,F.selectRadioRow=null):F.selectRadioRow=r,n(a),R("radio-change",{row:r,value:a,checked:e},t)}},He=(e,t)=>{let{fullData:o,rowMaps:l}=H,a=A.value,i=t?"push":"unshift";e.forEach(e=>{var t=getRowIdByField(e,a),r=(0,_util.getItemCacheObj)(e);o[i](e),l[t]=r})},Be=(e,t,r)=>{let{fullData:o,rowMaps:l,removeRowMaps:a,insertRowMaps:i}=H,s=A.value;if(!s)return errLog("vxe.error.reqSupportProp",["insert() | insertAt() | insertNextAt()","row-config.keyField"]),Promise.resolve({row:null,rows:[]});_xeUtils.default.isArray(e)||(e=[e]);let n=t;if((_xeUtils.default.isString(t)||_xeUtils.default.isNumber(t))&&(t=l[t])&&(n=t.item),!e.length)return Promise.resolve({row:null,rows:[]});let u=e.map(e=>_xeUtils.default.assign({},e));if(_xeUtils.default.eqNull(n))He(u,!1);else if(-1===n)He(u,!0);else{t=o.findIndex(e=>n[s]===e[s]);if(-1<t){u.forEach(e=>{var t=getRowIdByField(e,s),e=(0,_util.getItemCacheObj)(e);l[t]=e});let e=t;r&&(e+=1),o.splice(e,0,...u)}else warnLog("vxe.error.unableInsert"),He(u,!0)}return u.forEach(e=>{var t=getRowIdByField(e,s);a[t]?(delete a[t],i[t]&&delete i[t]):i[t]=e}),F.removeRowFlag++,F.insertRowFlag++,ne(),C(!0),se(),g(),F.scrollYLoad&&m(),(0,_vue.nextTick)().then(()=>({row:u.length?u[u.length-1]:null,rows:u}))},Oe=(o,l)=>{var e=S.menuConfig,t=x.value,r=O.value.isCurrent;(e?(0,_utils.isEnableConf)(t):t.enabled)&&({options:e,visibleMethod:t}=t,t&&!t({$list:B,options:e,row:l})||(r?Te(o,l):H.currentRow&&(H.currentRow=null,F.currRowFlag++),_ui.VxeUI.contextMenu&&_ui.VxeUI.contextMenu.openByEvent(o,{options:e,events:{optionClick(e){var t=e.option,r=_ui.menus.get(t.code),r=r?r.listMenuMethod:null,t={menu:t,row:l,$event:o,$list:B};r&&r(t,o),R("menu-click",t,e.$event)}}}))),R("row-menu",{row:l},o)};e={dispatchEvent:R,loadData:r,reloadData(e){return ee(),r(e)},getFullData(){var e=H.fullData;return e},recalculate:k,scrollTo:te,refreshScroll:re,clearScroll:ee,getRowKey:L,eqRowKey:l,eqRow:be,eqRowByKey:ye,findRow:(e,t)=>t?_xeUtils.default.find(e,e=>be(e,t)):null,findRowByKey:d,findRowIndexOf:M,findRowIndexOfByKey:E,isCheckedByRadioRowKey:ke,isCheckedByRadioRow:e=>ke(L(e)),isCheckedByCheckboxRowKey:De,isCheckedByCheckboxRow:e=>De(L(e)),setCurrentRow:e=>(H.currentRow=e,F.currRowFlag++,(0,_vue.nextTick)()),setCurrentRowByKey:e=>{var t=H.fullData;return H.currentRow=d(t,e),F.currRowFlag++,(0,_vue.nextTick)()},getCurrentRow:()=>{var e=H.currentRow;return e},getCurrentRowKey:()=>{var e=H.currentRow;return e?L(e):null},clearCurrentRow:()=>(H.currentRow=null,F.currRowFlag++,(0,_vue.nextTick)()),setRadioRow:e=>{F.selectRadioRow=e;e=L(e);return n(e),(0,_vue.nextTick)()},setRadioRowByKey:e=>{var t=H.fullData,t=(F.selectRadioRow=d(t,e),e);return n(t),(0,_vue.nextTick)()},getRadioRow:()=>{var e=F.selectRadioRow;return e},getRadioRowKey:()=>{var e=F.selectRadioRow;return e?L(e):null},clearRadioRow:()=>(F.selectRadioRow=null,n(null),(0,_vue.nextTick)()),setCheckboxRow:(e,t)=>{let r=H.selectCheckboxMaps,o=A.value;(e?_xeUtils.default.isArray(e)?e:[e]:[]).forEach(t?e=>{var t=getRowIdByField(e,o);r[t]||(r[t]=e)}:e=>{e=getRowIdByField(e,o);r[e]&&delete r[e]});e=Ie();return s(e),g()},setCheckboxRowByKey:(e,t)=>{let{selectCheckboxMaps:r,fullKeyMaps:o}=H,l=A.value;(e?_xeUtils.default.isArray(e)?e:[e]:[]).forEach(t?e=>{var t,e=o[e||""];e&&(t=getRowIdByField(e,l),e)&&!r[t]&&(r[t]=e)}:e=>{var e=o[e||""];e&&(e=getRowIdByField(e,l),r[e])&&delete r[e]});e=Ie();return s(e),g()},getCheckboxRecords:t,getCheckboxRows:t,getCheckboxRowKeys:Ie,clearCheckboxRow:Le,setAllCheckboxRow:Me,insert(e){return Be(e,null)},insertAt(e,t){return Be(e,t)},insertNextAt(e,t){return Be(e,t,!0)},getInsertRecords(){var e=H.insertRowMaps;let t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},isInsertByRow(e){e=_(e);return!!F.insertRowFlag&&!!H.insertRowMaps[e]},remove(e){let{fullData:r,insertRowMaps:t,removeRowMaps:o}=H;if(!A.value)return errLog("vxe.error.reqSupportProp",["insert() | insertAt() | insertNextAt()","row-config.keyField"]),Promise.resolve({row:null,rows:[]});let l=[];return e?_xeUtils.default.isArray(e)||(e=[e]):e=r,e.length?(e.forEach(e=>{var t;B.isInsertByRow(e)||(t=_(e),o[t]=e)}),r===e?(e=l=r.slice(0),H.fullData=[]):e.forEach(e=>{let t=_(e);var e=_xeUtils.default.findIndexOf(r,e=>t===_(e));-1<e&&(e=r.splice(e,1),l.push(e[0]))}),e.forEach(e=>{e=_(e);t[e]&&delete t[e]}),F.removeRowFlag++,F.insertRowFlag++,ne(),C(!0),se(),g(),F.scrollYLoad&&m(),(0,_vue.nextTick)().then(()=>k()).then(()=>({row:l.length?l[l.length-1]:null,rows:l}))):Promise.resolve({row:null,rows:[]})},getRemoveRecords(){var e=H.removeRowMaps;let t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},isRemoveByRow(e){e=_(e);return!!F.removeRowFlag&&!!H.removeRowMaps[e]},getRecordset(){return{insertRecords:B.getInsertRecords(),removeRecords:B.getRemoveRecords()}}};Object.assign(B,e,{handleCrossListRowDragCancelEvent(){I(),D()},handleCrossListRowDragFinishEvent(t){var l=F.rowList,a=H.rowMaps;let{animation:i,isCrossListDrag:e}=K.value,s=b.value;if(s&&e&&crossListDragRowObj&&v){var n=v.row;if(n){var u=_(n),a=a[u];let r=0,e=-1,o=(a&&(i&&(u=s.querySelector(`.vxe-list--row[rowid="${u}"]`))&&(r=u.offsetHeight),e=a.$index),-1<e&&e<l.length-1?l.slice(e+1):[]);u=[n];B.remove(u).then(()=>{if(i&&r&&o.length){var e=s;let t=[];o.forEach(e=>{e=_(e);t.push(`.vxe-list--row[rowid="${e}"]`)});e=e.querySelectorAll(t.join(","));(0,_anime.moveRowAnimateToTb)(e,r)}}),R("row-remove-dragend",{row:n},t),ue()}}},handleCrossListRowDragoverEmptyEvent(e){var t,r=F.rowList,o=K.value.isCrossListDrag;o&&crossListDragRowObj&&!r.length&&({$oldList:o,$newList:r}=crossListDragRowObj,o)&&(t=o).xID!==B.xID&&(r&&r.xID!==B.xID&&r.hideCrossListRowDropClearStatus(),e.preventDefault(),o.hideCrossListRowDropClearStatus(),crossListDragRowObj.$newList=B,H.prevDragRow=null,F.dragTipText=t.dragTipText,c(e,e.currentTarget,!0,""))},handleCrossListRowDragInsertEvent(n){let{prevDragRow:u,prevDragPos:c}=H;let{animation:d,isCrossListDrag:e,dragEndMethod:t}=K.value;if(e&&crossListDragRowObj&&v){let l=v.row,i=crossListDragRowObj.$oldList,s=b.value;if(s&&(i&&l)){let a=l,r=-1;u&&(r="bottom"===c?1:0);var g={oldRow:a,newRow:u,dragRow:a,dragPos:c,offsetIndex:r};let o={status:!1};Promise.resolve(!t||t(g)).then(e=>{if(!e)return i&&i.xID!==B.xID&&i.handleCrossListRowDragCancelEvent(n),ue(),o;let t=Promise.resolve();e=[a];i.handleCrossListRowDragFinishEvent(n),t=u?"bottom"===c?B.insertNextAt(e,u):B.insertAt(e,u):B.insert(e),B.dispatchEvent("row-insert-dragend",{oldRow:l,newRow:u,dragRow:a,dragPos:c,offsetIndex:r},n),I(),t.then(()=>{var e=F.rowList,r=H.rowMaps,o=_(a),r=r[o];let l=0,t=-1;r&&(d&&(o=s.querySelector(`.vxe-list--row[rowid="${o}"]`))&&(l=o.offsetHeight),t=r.$index);o=-1<t?e.slice(t):[];if(d&&l&&o.length){r=s;let t=[];o.forEach(e=>{e=_(e);t.push(`.vxe-list--row[rowid="${e}"]`)});e=r.querySelectorAll(t.join(","));(0,_anime.moveRowAnimateToTb)(e,-l)}})})}}},hideCrossListRowDropClearStatus(){u()}});let Ke=(t,e,r,o)=>{var l=S.showRadio,{showIcon:a,visibleMethod:i}=$.value,i=!i||i({$list:B,row:t});return l&&a&&i?(0,_vue.h)("div",{key:"ct2",class:["vxe-list--radio-option",{"is--checked":o,"is--disabled":r}],onClick(e){r||Fe(e,t)}},[(0,_vue.h)("span",{class:["vxe-radio--icon",o?(0,_ui.getIcon)().RADIO_CHECKED:r?(0,_ui.getIcon)().RADIO_DISABLED_UNCHECKED:(0,_ui.getIcon)().RADIO_UNCHECKED]})]):(0,_ui.renderEmptyElement)(B)},Ae=(t,e,r,o)=>{var l=S.showCheckbox,{showIcon:a,visibleMethod:i}=q.value,i=!i||i({$list:B,row:t});return l&&a&&i?(0,_vue.h)("div",{key:"ct3",class:["vxe-list--checkbox-option",{"is--checked":o,"is--disabled":r}],onClick(e){r||Se(e,t)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",o?(0,_ui.getIcon)().CHECKBOX_CHECKED:r?(0,_ui.getIcon)().CHECKBOX_DISABLED_UNCHECKED:(0,_ui.getIcon)().CHECKBOX_UNCHECKED]})]):(0,_ui.renderEmptyElement)(B)};let Ue=(0,_vue.ref)(0),a=((0,_vue.watch)(()=>S.data?S.data.length:-1,()=>{Ue.value++}),(0,_vue.watch)(()=>S.data,()=>{Ue.value++}),(0,_vue.watch)(Ue,()=>{r(S.data||[])}),(0,_vue.ref)(0)),$e=((0,_vue.watch)(()=>S.height,()=>{a.value++}),(0,_vue.watch)(()=>S.maxHeight,()=>{a.value++}),(0,_vue.watch)(()=>S.syncResize,()=>{a.value++}),(0,_vue.watch)(f,()=>{a.value++}),(0,_vue.watch)(a,()=>{(0,_vue.nextTick)(()=>{k()})}),(0,_vue.watch)(()=>S.checkRowKey,()=>{ae()}),(0,_vue.ref)(0));return(0,_vue.watch)(()=>S.checkRowKeys?S.checkRowKeys.length:-1,()=>{$e.value++}),(0,_vue.watch)(()=>S.checkRowKeys,()=>{$e.value++}),(0,_vue.watch)($e,()=>{ie()}),(0,_vue.onActivated)(()=>{k().then(()=>re())}),(0,_vue.nextTick)(()=>{r(S.data||[])}),(0,_vue.onMounted)(()=>{var{showSeq:e,showRadio:t,showCheckbox:r}=S,o=O.value.useKey,l=U.value,a=A.value;a||(e&&errLog("vxe.error.reqSupportProp",["show-seq","row-config.keyField"]),t&&errLog("vxe.error.reqSupportProp",["show-radio","row-config.keyField"]),r&&errLog("vxe.error.reqSupportProp",["show-checkbox","row-config.keyField"]),l&&errLog("vxe.error.reqSupportProp",["drag-config","row-config.keyField"])),o&&!a&&errLog("vxe.error.reqSupportProp",["row-config.useKey","row-config.keyField"]),S.autoResize&&(e=b.value,(t=_ui.globalResize.create(()=>k())).observe(e),e&&t.observe(e.parentElement),H.resizeObserver=t),k(),_ui.globalEvents.on(B,"resize",k)}),(0,_vue.onBeforeUnmount)(()=>{var e=H.resizeObserver;e&&e.disconnect(),_ui.globalEvents.off(B,"resize"),_xeUtils.default.assign(F,createReactData()),_xeUtils.default.assign(H,createInternalData())}),B.renderVN=()=>{var{showCheckbox:e,className:t,loading:r}=S,{bodyHeight:o,topSpaceHeight:l,rowList:a,isAllChecked:i,isAllIndeterminate:s}=F,n=T.default,u=T.header,c=T.footer,d=j.value,g=X.value,v=G.value,h=$.value,w=q.value,{showHeader:f,headerTitle:x}=w,{trigger:p,isCrossListDrag:R}=K.value,{isHover:_,padding:m}=O.value,C=U.value,e=e&&!1!==f,f={};return R&&!a.length&&(f.onDragover=B.handleCrossListRowDragoverEmptyEvent),(0,_vue.h)("div",Object.assign({ref:b,class:["vxe-list",t?_xeUtils.default.isFunction(t)?t({$list:B}):t:"",{["size--"+d]:d,"is--drag":C,"is--loading":r}],style:g},f),[u||e?(0,_vue.h)("div",{ref:N,class:"vxe-list--header-wrapper"},[e?(0,_vue.h)("div",{class:"vxe-list--header-left"},[(0,_vue.h)("div",{class:["vxe-list--checkbox-header",{"is--checked":i,"is--indeterminate":s}],onClick:Ee},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",i?(0,_ui.getIcon)().CHECKBOX_CHECKED:s?(0,_ui.getIcon)().CHECKBOX_INDETERMINATE:(0,_ui.getIcon)().CHECKBOX_UNCHECKED]}),(0,_vue.h)("span",{class:"vxe-checkbox--label"},_xeUtils.default.eqNull(x)?(0,_ui.getI18n)("vxe.list.allChecked"):(0,_utils.getText)(x))])]):(0,_ui.renderEmptyElement)(B),u?(0,_vue.h)("div",{class:"vxe-list--header-content"},u({items:a,$list:B})):(0,_ui.renderEmptyElement)(B)]):(0,_ui.renderEmptyElement)(B),(0,_vue.h)("div",{ref:y,class:"vxe-list--virtual-wrapper",style:v,onScroll:le},[(0,_vue.h)("div",{class:"vxe-list--y-space",style:{height:o?o+"px":""}}),(0,_vue.h)("div",{ref:z,class:["vxe-list--body",{"trigger--row":"row"===p,"checkbox--highlight":w.highlight,"radio--highlight":h.highlight,"row--hover":_,"is--padding":m}],style:{marginTop:l?l+"px":""}},n?n({items:a,$list:B}):a.map((e,t)=>((t,e)=>{var{showRadio:r,showCheckbox:o}=S,{selectRadioRow:l,currRowFlag:a,updateCheckboxFlag:i}=F,{selectCheckboxMaps:s,currentRow:n}=H,u=T.content,c=T.extra,{trigger:d,icon:g,disabledMethod:v,visibleMethod:h}=K.value,w=$.value,f=q.value,{useKey:x,contentField:p,className:R,isCurrent:_}=O.value,m=U.value,C=A.value,b=R&&_xeUtils.default.isFunction(R),x=C||x||m||_||r||o,_=x&&C?getRowIdByField(t,C):"",y=(0,_utils.enModelValue)(_);let k={row:t,$list:B},D=!1,I=!1,L=(r&&(D=l&&(t===l||ye(l,_)),I=!!w.checkMethod&&!w.checkMethod({$list:B,row:t})),!1),M=!1;o&&(L=!(!i||!s[y]),M=!!f.checkMethod&&!f.checkMethod({$list:B,row:t}));l=[];r&&l.push(Ke(t,y,I,D)),o&&l.push(Ae(t,y,M,L));let E=!1;m&&C&&(!h||h(k))&&(w={},"row"!==d&&(E=!(!v||!v(k)),w.onMousedown=e=>{E||he(e,k)},w.onMouseup=we),l.push((0,_vue.h)("div",{key:"ct1",class:"vxe-list--row-drag"},[(0,_vue.h)("span",Object.assign({class:"vxe-list--drag-handle"},w),[(0,_vue.h)("i",{class:g||(0,_ui.getIcon)().LIST_DRAG})])]))),l.push((0,_vue.h)("div",{key:"ct5",class:"vxe-list--row-content"},u?u(k):p?(0,_utils.getText)(t[p]):"")),c&&l.push((0,_vue.h)("div",{key:"ct7",class:"vxe-list--row-extra"},c(k)));i={onMousedown(e){_e(e,t)},onMouseup:we,onClick(e){me(e,t)},onDblclick(e){Ce(e,t)},onContextmenu(e){Oe(e,t)}};return m&&(i.onDragstart=xe,i.onDragend=pe,i.onDragover=Re),(0,_vue.h)("div",Object.assign({key:x&&C?y:e,class:["vxe-list--row",b?R(k):R||"",{"is--drag-disabled":E,"is--current":a&&n&&ye(n,_),"is-radio--disabled":I,"is-radio--checked":D,"is-checkbox--disabled":M,"is-checkbox--checked":L}],rowid:x&&C?y:void 0},i),l)})(e,t)))]),c?(0,_vue.h)("div",{ref:P,class:"vxe-list--footer-wrapper"},c({items:a,$list:B})):(0,_ui.renderEmptyElement)(B),(()=>{var{dragRow:e,dragTipText:t}=F,r=K.value;return U.value?(0,_vue.h)("div",{class:"vxe-list--drag-wrapper"},[(0,_vue.h)("div",{ref:Y,class:["vxe-list--drag-row-line",{"is--guides":r.showGuidesStatus}]}),e&&r.showDragTip?(0,_vue.h)("div",{ref:V,class:"vxe-list--drag-sort-tip"},[(0,_vue.h)("div",{class:"vxe-list--drag-sort-tip-wrapper"},[(0,_vue.h)("div",{class:"vxe-list--drag-sort-tip-status"},[(0,_vue.h)("span",{class:["vxe-list--drag-sort-tip-normal-status",(0,_ui.getIcon)().LIST_DRAG_STATUS_NODE]}),(0,_vue.h)("span",{class:["vxe-list--drag-sort-tip-disabled-status",(0,_ui.getIcon)().LIST_DRAG_DISABLED]})]),(0,_vue.h)("div",{class:"vxe-list--drag-sort-tip-content"},t)])]):(0,_ui.renderEmptyElement)(B)]):(0,_ui.renderEmptyElement)(B)})(),(0,_vue.h)(_loading.default,{class:"vxe-list--loading",modelValue:r})])},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"),_store=require("./store"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_log=require("../../ui/src/log"),_anime=require("../../ui/src/anime"),_util=require("./util"),_loading=_interopRequireDefault(require("../../loading"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{warnLog,errLog}=(0,_log.createComponentLog)("tree");function getRowKeyByField(e,t){return e?""+(e[t]||""):""}function getRowIdByField(e,t){return e?(e=getRowKeyByField(e,t),(0,_utils.enModelValue)(e)):""}function createReactData(){return{scrollYLoad:!1,bodyHeight:0,headHeight:0,footHeight:0,customHeight:0,customMaxHeight:0,parentHeight:0,topSpaceHeight:0,rowList:[],selectRadioRow:null,currRowFlag:1,updateCheckboxFlag:1,isAllChecked:!1,isAllIndeterminate:!1,insertRowFlag:1,removeRowFlag:1,dragRow:null,dragTipText:"",isCrossDragRow:!1}}function createInternalData(){return{resizeObserver:void 0,fullData:[],afterList:[],fullKeyMaps:{},rowMaps:{},lastScrollLeft:0,lastScrollTop:0,scrollYStore:{startIndex:0,endIndex:0,visibleSize:0,offsetSize:0,rowHeight:0},currentRow:null,selectCheckboxMaps:{},insertRowMaps:{},removeRowMaps:{}}}let crossListDragRowObj=null;var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeList",props:{data:Array,height:[Number,String],maxHeight:[Number,String],loading:Boolean,className:[String,Function],size:{type:String,default:()=>(0,_ui.getConfig)().list.size||(0,_ui.getConfig)().size},autoResize:{type:Boolean,default:()=>(0,_ui.getConfig)().list.autoResize},syncResize:[Boolean,String,Number],showSeq:{type:Boolean,default:()=>(0,_ui.getConfig)().list.showSeq},showRadio:{type:Boolean,default:()=>(0,_ui.getConfig)().list.showRadio},checkRowKey:[String,Number],radioConfig:Object,showCheckbox:{type:Boolean,default:()=>(0,_ui.getConfig)().list.showCheckbox},checkRowKeys:Array,checkboxConfig:Object,rowConfig:Object,dragConfig:Object,menuConfig:Object,virtualYConfig:Object,scrollY:Object},emits:["update:checkRowKey","update:checkRowKeys","row-click","row-dblclick","current-change","radio-change","checkbox-change","checkbox-all","scroll","row-dragstart","row-dragover","row-dragend","row-remove-dragend","row-insert-dragend","row-menu","menu-click"],setup(S,e){let{slots:T,emit:o}=e;var t=_xeUtils.default.uniqueId();let i=_xeUtils.default.browse(),j=(0,_ui.useSize)(S).computeSize,F=(0,_vue.reactive)(createReactData()),H=createInternalData(),v=(0,_store.getCrossListDragRowInfo)(),b=(0,_vue.ref)(),N=(0,_vue.ref)(),P=(0,_vue.ref)(),y=(0,_vue.ref)(),z=(0,_vue.ref)(),Y=(0,_vue.ref)(),V=(0,_vue.ref)(),h={refElem:b},B={xID:t,props:S,context:e,reactData:F,internalData:H,getRefMaps:()=>h},O=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().list.rowConfig,S.rowConfig)),K=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().list.dragConfig,S.dragConfig)),w=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().list.virtualYConfig||(0,_ui.getConfig)().list.scrollY,S.virtualYConfig||S.scrollY)),A=(0,_vue.computed)(()=>{var e=O.value.keyField;return e||""}),U=(0,_vue.computed)(()=>{var e=S.dragConfig,t=K.value;return e&&(0,_utils.isEnableConf)(t)}),f=(0,_vue.computed)(()=>{var e=O.value.height;return e}),$=(0,_vue.computed)(()=>Object.assign({showIcon:!0},(0,_ui.getConfig)().list.radioConfig,S.radioConfig)),q=(0,_vue.computed)(()=>Object.assign({showIcon:!0},(0,_ui.getConfig)().list.checkboxConfig,S.checkboxConfig)),x=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().list.menuConfig,S.menuConfig)),X=(0,_vue.computed)(()=>{var e=f.value,t={};return e&&(t["--vxe-ui-list-row-height"]=(0,_dom.toCssUnit)(e)),t}),G=(0,_vue.computed)(()=>{var{height:e,maxHeight:t}=S,{customHeight:r,customMaxHeight:o,headHeight:l,footHeight:a}=F,i={};return e?i.height=(0,_dom.toCssUnit)(Math.max(20,r-l-a)):t&&(i.height="auto",i.maxHeight=(0,_dom.toCssUnit)(Math.max(20,o-l-a))),i}),R=(e,t,r)=>{o(e,(0,_ui.createEvent)(r,{$list:B},t))},s=e=>{o("update:checkRowKeys",e)},n=e=>{o("update:checkRowKey",e)},_=e=>getRowIdByField(e,A.value),p=e=>{var t=F.parentHeight,e=S[e];let r=0;return r=e?"100%"===e||"auto"===e?t:(r=(0,_dom.isScale)(e)?Math.floor((_xeUtils.default.toInteger(e)||1)/100*t):_xeUtils.default.toNumber(e),Math.max(40,r)):r},W=()=>{var e=N.value,t=P.value;F.headHeight=e?Math.floor(e.offsetHeight):0,F.footHeight=t?Math.floor(t.offsetHeight):0,F.customHeight=p("height"),F.customMaxHeight=p("maxHeight")},m=()=>{var e=F.scrollYLoad,{scrollYStore:t,fullData:r}=H;F.bodyHeight=e?r.length*t.rowHeight:0,F.topSpaceHeight=e?Math.max(t.startIndex*t.rowHeight,0):0},J=()=>{var e=H.fullData;H.afterList=e.slice(0),se()},C=e=>{var t=F.scrollYLoad;let{fullData:r,scrollYStore:o,rowMaps:l}=H,a=A.value;e&&J();e=t?r.slice(o.startIndex,o.endIndex):r.slice(0);return a&&e.forEach((e,t)=>{e=getRowIdByField(e,a),e=l[e];e&&(e.$index=t)}),F.rowList=e,(0,_vue.nextTick)()},Q=()=>{C(),m()},Z=()=>(0,_vue.nextTick)().then(()=>{var e=F.scrollYLoad,t=H.scrollYStore,r=z.value,o=w.value;let l=0,a;(a=r?(a=o.sItem?r.querySelector(o.sItem):a)||r.children[0]:a)&&(l=a.offsetHeight),l=Math.max(12,l),t.rowHeight=l,(e?(r=y.value,e=Math.max(8,Math.ceil(r.clientHeight/l)),r=o.oSize?_xeUtils.default.toNumber(o.oSize):i.edge?10:0,t.offsetSize=r,t.visibleSize=e,t.endIndex=Math.max(t.startIndex+e+r,t.endIndex),Q):m)()}),ee=()=>{var e=y.value;return e&&(e.scrollTop=0),(0,_vue.nextTick)()},te=(e,t)=>{var r=y.value;return e&&!_xeUtils.default.isNumber(e)&&(t=e.top,e=e.left),_xeUtils.default.isNumber(e)&&(r.scrollLeft=e),_xeUtils.default.isNumber(t)&&(r.scrollTop=t),F.scrollYLoad?new Promise(e=>{setTimeout(()=>{(0,_vue.nextTick)(()=>{e()})},50)}):(0,_vue.nextTick)()},re=()=>{let{lastScrollLeft:e,lastScrollTop:t}=H;return ee().then(()=>{if(e||t)return H.lastScrollLeft=0,H.lastScrollTop=0,te(e,t)})},k=()=>{var r,o=b.value;if(o){let e=o.parentElement,t=0;if((e=e&&(0,_dom.hasClass)(e,"vxe-scrollbar--view-inner")?e.parentElement:e)&&(r=getComputedStyle(e),t=e.clientHeight-Math.ceil(_xeUtils.default.toNumber(r.paddingLeft)+_xeUtils.default.toNumber(r.paddingRight))),F.parentHeight=t,W(),o.clientWidth&&o.clientHeight)return Z()}return(0,_vue.nextTick)()},oe=e=>{var t=H.scrollYStore,{startIndex:r,endIndex:o,visibleSize:l,offsetSize:a,rowHeight:i}=t,e=e.target.scrollTop,e=Math.floor(e/i),i=Math.max(0,e-1-a),a=e+l+a;!(e<=r||o-l-1<=e)||r===i&&o===a||(t.startIndex=i,t.endIndex=a,Q())},le=e=>{var t=e.target,r=t.scrollTop,t=t.scrollLeft,o=t!==H.lastScrollLeft,l=r!==H.lastScrollTop;H.lastScrollTop=r,H.lastScrollLeft=t,F.scrollYLoad&&oe(e),R("scroll",{scrollLeft:t,scrollTop:r,isX:o,isY:l},e)},ae=()=>{var e=S.checkRowKey,t=H.fullKeyMaps;e?(t=t[e],F.selectRadioRow=t||null):F.selectRadioRow=null},ie=()=>{var e=S.checkRowKeys,t=H.fullKeyMaps,r=A.value,o={};if(e&&e.length)for(var l of e){l=t[l];l&&(o[getRowIdByField(l,r)]=l)}H.selectCheckboxMaps=o,g()},se=()=>{let{afterList:e,rowMaps:l}=H,a=A.value,i=0;e.forEach((e,t)=>{var r=getRowIdByField(e,a),o=l[r];o?o._index=i:(o={item:e,index:t,$index:-1,_index:i},l[r]=o),i++})},ne=()=>{var e=H.fullData;let l=A.value,a={},i={};l&&e.forEach((e,t)=>{var r=getRowIdByField(e,l),o=getRowKeyByField(e,l);a[o]=e,i[r]={item:e,index:t,$index:-1,_index:-1}}),H.fullKeyMaps=a,H.rowMaps=i},r=e=>{var t=H.scrollYStore,r=w.value,e=e?e.slice(0):[];return Object.assign(t,{startIndex:0,endIndex:1,visibleSize:0}),H.fullData=e,H.insertRowMaps={},F.insertRowFlag++,H.removeRowMaps={},F.removeRowFlag++,F.scrollYLoad=!!r.enabled&&-1<r.gt&&(0===r.gt||r.gt<=e.length),ne(),C(!0),ae(),ie(),Z().then(()=>{re()})},ue=()=>{I(),D(),k()},ce=()=>{var e=b.value;if(e){let t="row--drag-origin";_xeUtils.default.arrayEach(e.querySelectorAll("."+t),e=>{(e.draggable=!1,_dom.removeClass)(e,t)})}},de=e=>{var t=w.value.sItem,r=b.value;if(r){e=_(e);_xeUtils.default.arrayEach(r.querySelectorAll(`.vxe-list--row[rowid="${e}"]`+(t?t+`[rowid="${e}"]`:"")),e=>{(0,_dom.addClass)(e,"row--drag-origin")})}},ge=e=>{var t=F.dragRow,r=K.value.tooltipMethod;let o="";o=r?""+(r({$list:B,row:t})||""):(0,_ui.getI18n)("vxe.list.dragTip",[e.textContent||""]),F.dragTipText=o},u=()=>{var e=V.value,t=Y.value;e&&(e.style.display=""),t&&(t.style.display="")},D=()=>{crossListDragRowObj=null,v.row=null},ve=()=>{var e=F.dragRow;e&&(u(),ce(),D(),F.dragRow=null)},he=(e,t)=>{e.stopPropagation();var r=t.row,{isCrossListDrag:o,trigger:l,dragStartMethod:a}=K.value,i=e.currentTarget,l="row"===l?i:i.parentElement.parentElement;ce(),a&&!a(t)?(l.draggable=!1,F.dragRow=null,u()):(o&&(v.row=r,crossListDragRowObj={$oldList:B,$newList:null}),i={row:r},F.dragRow=r,F.isCrossDragRow=!1,l.draggable=!0,de(r),ge(l),R("row-dragstart",i,e))},we=()=>{ve()},c=(e,t,r,o)=>{var l=b.value;if(l){var a=l.getBoundingClientRect(),i=l.clientHeight;if(t){var s=Y.value;if(s)if(r){var n=t.getBoundingClientRect();let e=t.clientHeight;t=Math.max(1,n.y-a.y);t+e>i&&(e=i-t),s.style.display="block",s.style.top=t+"px",s.style.height=e+"px",s.setAttribute("drag-pos",o)}else s.style.display=""}n=V.value;n&&(n.style.display="block",n.style.top=Math.min(l.clientHeight-l.scrollTop-n.clientHeight,e.clientY-a.y)+"px",n.style.left=Math.min(l.clientWidth-l.scrollLeft-n.clientWidth-1,e.clientX-a.x)+"px",n.setAttribute("drag-status",r?"normal":"disabled"))}},I=()=>{var e=b.value;u(),ce(),(0,_anime.clearRowAnimate)(e,[".vxe-list--row"]),F.dragRow=null},fe=(l,a,i,s)=>{let n=H.fullData;var e=K.value;let{animation:g,dragEndMethod:t}=e;e=t||(e?e.dragEndMethod:null);let v="bottom"===s?1:0,h=b.value,w={status:!1};if(h&&i&&a){if(i!==a){var f={oldRow:a,newRow:i,dragRow:a,dragPos:s,offsetIndex:v};let u=_(a),c=E(n,u);var x,p=L(i);let d=0,t=-1,r=void(g&&(p=h.querySelector(`.vxe-list--row[rowid="${p}"]`),x=h.querySelector(`.vxe-list--row[rowid="${u}"]`),(p=p||x)&&(d=p.offsetHeight),x)&&(t=x.offsetTop)),o;return Promise.resolve(!e||e(f)).then(e=>{if(!e)return w;r=M(n,a),n.splice(r,1);var e=M(n,i);return o=e+v,n.splice(o,0,a),C(),F.scrollYLoad&&m(),l&&(e={oldRow:a,newRow:i,dragRow:a,dragPos:s,offsetIndex:v,_index:{newIndex:o,oldIndex:r}},R("row-dragend",e,l)),(0,_vue.nextTick)().then(()=>{if(g){var o=F.rowList,l=H.fullData,a=E(l,u),i=l[0],i=M(l,i),s=h;if(-1<i){var n=i+l.length;let e=-1,t=-1,r=1;c<i?(e=0,t=a-i):c>n?(n=E(o,u),e=n+1,t=l.length,r=-1):a>c?(e=c-i,t=e+a-c):(e=a-i,t=e+c-a+1,r=-1);o=l.slice(e,t);if(o.length){let t=[];o.forEach(e=>{e=_(e);t.push(`.vxe-list--row[rowid="${e}"]`)});n=s.querySelectorAll(t.join(","));(0,_anime.moveRowAnimateToTb)(n,r*d)}}i=[`.vxe-list--row[rowid="${u}"]`],a=s.querySelectorAll(i.join(",")),l=a[0];-1<t&&l&&(0,_anime.moveRowAnimateToTb)(a,t-l.offsetTop)}k()}).then(()=>({status:!0}))}).catch(()=>w).then(e=>(I(),D(),e))}I(),D()}return Promise.resolve(w)},xe=e=>{e.dataTransfer&&e.dataTransfer.setDragImage((0,_dom.getTpImg)(),0,0)},pe=e=>{var t=F.dragRow,{prevDragRow:r,prevDragPos:o}=H,l=K.value.isCrossListDrag;if(l&&crossListDragRowObj){l=crossListDragRowObj.$newList;if(l&&l.xID!==B.xID)return void l.handleCrossListRowDragInsertEvent(e)}fe(e,t,r,o)},Re=e=>{var t=F.dragRow,r=H.fullData,o=K.value.isCrossListDrag,l=(t||e.preventDefault(),e.currentTarget),a=l.getAttribute("rowid")||"",r=d(r,a);if(r){e.preventDefault();var i=e.clientY-l.getBoundingClientRect().y<l.clientHeight/2?"top":"bottom";if(H.prevDragRow=r,H.prevDragPos=i,o&&crossListDragRowObj){var{$oldList:o,$newList:s}=crossListDragRowObj;if(o){var n=o.reactData;if(o.xID!==B.xID)return s&&s.xID!==B.xID&&s.hideCrossListRowDropClearStatus(),o.hideCrossListRowDropClearStatus(),n.isCrossDragRow=!0,F.dragTipText=n.dragTipText,crossListDragRowObj.$newList=B,void c(e,l,!0,i);s&&s.hideCrossListRowDropClearStatus(),F.isCrossDragRow=!1,n.isCrossDragRow=!1,crossListDragRowObj.$newList=null}}t&&_(t)===a?c(e,l,!1,i):(o={oldRow:t,targetRow:r,dragPos:i,dragRow:t,offsetIndex:"bottom"==i?1:0},c(e,l,!0,i),R("row-dragover",o,e))}},_e=(e,t)=>{var{trigger:r,disabledMethod:o}=K.value;let l=!1;U.value&&(l="row"===r);r={row:t,$list:B};!l||o&&o(r)||he(e,r)},me=(e,t)=>{var{showRadio:r,showCheckbox:o}=S,l=H.currentRow,a=$.value,i=q.value,s=O.value.isCurrent;let n=!1,u=!1,c=!1;s?(n=!0,Te(e,t)):l&&(H.currentRow=null,F.currRowFlag++),r&&"row"===a.trigger&&(u=!0,Fe(e,t)),o&&"row"===i.trigger&&(c=!0,Se(e,t)),R("row-click",{row:t,triggerCurrent:n,triggerRadio:u,triggerCheckbox:c},e)},Ce=(e,t)=>{R("row-dblclick",{row:t},e)},L=e=>getRowKeyByField(e,A.value),l=(e,t)=>""+e==""+t,be=(e,t)=>!(!e||!t)&&(e===t||l(_(e),_(t))),ye=(e,t)=>e&&l(L(e),t);let d=(e,t)=>{let r=A.value;return _xeUtils.default.find(e,e=>l(getRowIdByField(e,r),t))},M=(e,t)=>t?_xeUtils.default.findIndexOf(e,e=>be(e,t)):-1,E=(e,t)=>{let r=A.value;return _xeUtils.default.findIndexOf(e,e=>l(getRowIdByField(e,r),t))},ke=e=>{var t=F.selectRadioRow;return L(t)===e};let De=e=>{var t=F.updateCheckboxFlag,r=H.selectCheckboxMaps;return!(!t||!r[e])};t=()=>{var e=F.updateCheckboxFlag,t=H.selectCheckboxMaps;let r=[];return e&&_xeUtils.default.each(t,e=>{e&&r.push(e)}),r};let Ie=()=>{var e=F.updateCheckboxFlag,t=H.selectCheckboxMaps;let r=A.value,o=[];return e&&_xeUtils.default.each(t,e=>{e&&(e=getRowKeyByField(e,r),o.push(e))}),o},Le=()=>{H.selectCheckboxMaps={},F.updateCheckboxFlag++,F.isAllChecked=!1,F.isAllIndeterminate=!1;return s([]),(0,_vue.nextTick)()},Me=e=>{var{fullData:t,selectCheckboxMaps:r}=H,o=A.value;if(e){var l,a=[];for(l of t){var i=getRowKeyByField(l,o);r[getRowIdByField(l,o)]=l,a.push(i)}return s(a),g()}return Le()},g=()=>{var{selectCheckboxMaps:e,fullData:t}=H,r=A.value,o=q.value.checkMethod;let l=!1,a=!1;if(o){for(var i of t)if(o({row:i,$list:B}))if(e[getRowIdByField(i,r)])l=!0;else if(a=!0,l)break}else for(var s of t)if(e[getRowIdByField(s,r)])l=!0;else if(a=!0,l)break;return F.isAllChecked=l&&!a,F.isAllIndeterminate=l&&a,F.updateCheckboxFlag++,(0,_vue.nextTick)()},Ee=e=>{var t=F.isAllChecked,t=!t;t?Me(!0):Le(),R("checkbox-all",{checked:t},e)},Se=(t,r)=>{t.preventDefault(),t.stopPropagation();var o=H.selectCheckboxMaps,l=q.value.checkMethod,a=_(r),l=!!l&&!l({$list:B,row:r});if(!l){let e=!1;o[a]?delete o[a]:(e=!0,o[a]=r),F.updateCheckboxFlag++,g();l=_xeUtils.default.keys(o).map(_utils.deModelValue);s(l),R("checkbox-change",{row:r,value:l,checked:e},t)}},Te=(e,t)=>{e.preventDefault();var r=O.value.currentMethod;let o=!1;(o=r?!r({row:t}):o)||(H.currentRow=t,F.currRowFlag++,R("current-change",{row:t,checked:!0},e))},Fe=(t,r)=>{t.preventDefault(),t.stopPropagation();var o=F.selectRadioRow,{strict:l,checkMethod:a}=$.value,i=L(r),a=!!a&&!a({$list:B,row:r});if(!a){a=i;let e=!0;l&&o&&i===L(o)?(e=!1,F.selectRadioRow=null):F.selectRadioRow=r,n(a),R("radio-change",{row:r,value:a,checked:e},t)}},He=(e,t)=>{let{fullData:o,rowMaps:l}=H,a=A.value,i=t?"push":"unshift";e.forEach(e=>{var t=getRowIdByField(e,a),r=(0,_util.getItemCacheObj)(e);o[i](e),l[t]=r})},Be=(e,t,r)=>{let{fullData:o,rowMaps:l,removeRowMaps:a,insertRowMaps:i}=H,s=A.value;if(!s)return errLog("vxe.error.reqSupportProp",["insert() | insertAt() | insertNextAt()","row-config.keyField"]),Promise.resolve({row:null,rows:[]});_xeUtils.default.isArray(e)||(e=[e]);let n=t;if((_xeUtils.default.isString(t)||_xeUtils.default.isNumber(t))&&(t=l[t])&&(n=t.item),!e.length)return Promise.resolve({row:null,rows:[]});let u=e.map(e=>_xeUtils.default.assign({},e));if(_xeUtils.default.eqNull(n))He(u,!1);else if(-1===n)He(u,!0);else{t=o.findIndex(e=>n[s]===e[s]);if(-1<t){u.forEach(e=>{var t=getRowIdByField(e,s),e=(0,_util.getItemCacheObj)(e);l[t]=e});let e=t;r&&(e+=1),o.splice(e,0,...u)}else warnLog("vxe.error.unableInsert"),He(u,!0)}return u.forEach(e=>{var t=getRowIdByField(e,s);a[t]?(delete a[t],i[t]&&delete i[t]):i[t]=e}),F.removeRowFlag++,F.insertRowFlag++,ne(),C(!0),se(),g(),F.scrollYLoad&&m(),(0,_vue.nextTick)().then(()=>({row:u.length?u[u.length-1]:null,rows:u}))},Oe=(o,l)=>{var e=S.menuConfig,t=x.value,r=O.value.isCurrent;(e?(0,_utils.isEnableConf)(t):t.enabled)&&({options:e,visibleMethod:t}=t,t&&!t({$list:B,options:e,row:l})||(r?Te(o,l):H.currentRow&&(H.currentRow=null,F.currRowFlag++),_ui.VxeUI.contextMenu&&_ui.VxeUI.contextMenu.openByEvent(o,{options:e,events:{optionClick(e){var t=e.option,r=_ui.menus.get(t.code),r=r?r.listMenuMethod:null,t={menu:t,row:l,$event:o,$list:B};r&&r(t,o),R("menu-click",t,e.$event)}}}))),R("row-menu",{row:l},o)};e={dispatchEvent:R,loadData:r,reloadData(e){return ee(),r(e)},getFullData(){var e=H.fullData;return e},recalculate:k,scrollTo:te,refreshScroll:re,clearScroll:ee,getRowKey:L,eqRowKey:l,eqRow:be,eqRowByKey:ye,findRow:(e,t)=>t?_xeUtils.default.find(e,e=>be(e,t)):null,findRowByKey:d,findRowIndexOf:M,findRowIndexOfByKey:E,isCheckedByRadioRowKey:ke,isCheckedByRadioRow:e=>ke(L(e)),isCheckedByCheckboxRowKey:De,isCheckedByCheckboxRow:e=>De(L(e)),setCurrentRow:e=>(H.currentRow=e,F.currRowFlag++,(0,_vue.nextTick)()),setCurrentRowByKey:e=>{var t=H.fullData;return H.currentRow=d(t,e),F.currRowFlag++,(0,_vue.nextTick)()},getCurrentRow:()=>{var e=H.currentRow;return e},getCurrentRowKey:()=>{var e=H.currentRow;return e?L(e):null},clearCurrentRow:()=>(H.currentRow=null,F.currRowFlag++,(0,_vue.nextTick)()),setRadioRow:e=>{F.selectRadioRow=e;e=L(e);return n(e),(0,_vue.nextTick)()},setRadioRowByKey:e=>{var t=H.fullData,t=(F.selectRadioRow=d(t,e),e);return n(t),(0,_vue.nextTick)()},getRadioRow:()=>{var e=F.selectRadioRow;return e},getRadioRowKey:()=>{var e=F.selectRadioRow;return e?L(e):null},clearRadioRow:()=>(F.selectRadioRow=null,n(null),(0,_vue.nextTick)()),setCheckboxRow:(e,t)=>{let r=H.selectCheckboxMaps,o=A.value;(e?_xeUtils.default.isArray(e)?e:[e]:[]).forEach(t?e=>{var t=getRowIdByField(e,o);r[t]||(r[t]=e)}:e=>{e=getRowIdByField(e,o);r[e]&&delete r[e]});e=Ie();return s(e),g()},setCheckboxRowByKey:(e,t)=>{let{selectCheckboxMaps:r,fullKeyMaps:o}=H,l=A.value;(e?_xeUtils.default.isArray(e)?e:[e]:[]).forEach(t?e=>{var t,e=o[e||""];e&&(t=getRowIdByField(e,l),e)&&!r[t]&&(r[t]=e)}:e=>{var e=o[e||""];e&&(e=getRowIdByField(e,l),r[e])&&delete r[e]});e=Ie();return s(e),g()},getCheckboxRecords:t,getCheckboxRows:t,getCheckboxRowKeys:Ie,clearCheckboxRow:Le,setAllCheckboxRow:Me,insert(e){return Be(e,null)},insertAt(e,t){return Be(e,t)},insertNextAt(e,t){return Be(e,t,!0)},getInsertRecords(){var e=H.insertRowMaps;let t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},isInsertByRow(e){e=_(e);return!!F.insertRowFlag&&!!H.insertRowMaps[e]},remove(e){let{fullData:r,insertRowMaps:t,removeRowMaps:o}=H;if(!A.value)return errLog("vxe.error.reqSupportProp",["insert() | insertAt() | insertNextAt()","row-config.keyField"]),Promise.resolve({row:null,rows:[]});let l=[];return e?_xeUtils.default.isArray(e)||(e=[e]):e=r,e.length?(e.forEach(e=>{var t;B.isInsertByRow(e)||(t=_(e),o[t]=e)}),r===e?(e=l=r.slice(0),H.fullData=[]):e.forEach(e=>{let t=_(e);var e=_xeUtils.default.findIndexOf(r,e=>t===_(e));-1<e&&(e=r.splice(e,1),l.push(e[0]))}),e.forEach(e=>{e=_(e);t[e]&&delete t[e]}),F.removeRowFlag++,F.insertRowFlag++,ne(),C(!0),se(),g(),F.scrollYLoad&&m(),(0,_vue.nextTick)().then(()=>k()).then(()=>({row:l.length?l[l.length-1]:null,rows:l}))):Promise.resolve({row:null,rows:[]})},getRemoveRecords(){var e=H.removeRowMaps;let t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},isRemoveByRow(e){e=_(e);return!!F.removeRowFlag&&!!H.removeRowMaps[e]},getRecordset(){return{insertRecords:B.getInsertRecords(),removeRecords:B.getRemoveRecords()}}};Object.assign(B,e,{handleCrossListRowDragCancelEvent(){I(),D()},handleCrossListRowDragFinishEvent(t){var l=F.rowList,a=H.rowMaps;let{animation:i,isCrossListDrag:e}=K.value,s=b.value;if(s&&e&&crossListDragRowObj&&v){var n=v.row;if(n){var u=_(n),a=a[u];let r=0,e=-1,o=(a&&(i&&(u=s.querySelector(`.vxe-list--row[rowid="${u}"]`))&&(r=u.offsetHeight),e=a.$index),-1<e&&e<l.length-1?l.slice(e+1):[]);u=[n];B.remove(u).then(()=>{if(i&&r&&o.length){var e=s;let t=[];o.forEach(e=>{e=_(e);t.push(`.vxe-list--row[rowid="${e}"]`)});e=e.querySelectorAll(t.join(","));(0,_anime.moveRowAnimateToTb)(e,r)}}),R("row-remove-dragend",{row:n},t),ue()}}},handleCrossListRowDragoverEmptyEvent(e){var t,r=F.rowList,o=K.value.isCrossListDrag;o&&crossListDragRowObj&&!r.length&&({$oldList:o,$newList:r}=crossListDragRowObj,o)&&(t=o).xID!==B.xID&&(r&&r.xID!==B.xID&&r.hideCrossListRowDropClearStatus(),e.preventDefault(),o.hideCrossListRowDropClearStatus(),crossListDragRowObj.$newList=B,H.prevDragRow=null,F.dragTipText=t.dragTipText,c(e,e.currentTarget,!0,""))},handleCrossListRowDragInsertEvent(n){let{prevDragRow:u,prevDragPos:c}=H;let{animation:d,isCrossListDrag:e,dragEndMethod:t}=K.value;if(e&&crossListDragRowObj&&v){let l=v.row,i=crossListDragRowObj.$oldList,s=b.value;if(s&&(i&&l)){let a=l,r=-1;u&&(r="bottom"===c?1:0);var g={oldRow:a,newRow:u,dragRow:a,dragPos:c,offsetIndex:r};let o={status:!1};Promise.resolve(!t||t(g)).then(e=>{if(!e)return i&&i.xID!==B.xID&&i.handleCrossListRowDragCancelEvent(n),ue(),o;let t=Promise.resolve();e=[a];i.handleCrossListRowDragFinishEvent(n),t=u?"bottom"===c?B.insertNextAt(e,u):B.insertAt(e,u):B.insert(e),B.dispatchEvent("row-insert-dragend",{oldRow:l,newRow:u,dragRow:a,dragPos:c,offsetIndex:r},n),I(),t.then(()=>{var e=F.rowList,r=H.rowMaps,o=_(a),r=r[o];let l=0,t=-1;r&&(d&&(o=s.querySelector(`.vxe-list--row[rowid="${o}"]`))&&(l=o.offsetHeight),t=r.$index);o=-1<t?e.slice(t):[];if(d&&l&&o.length){r=s;let t=[];o.forEach(e=>{e=_(e);t.push(`.vxe-list--row[rowid="${e}"]`)});e=r.querySelectorAll(t.join(","));(0,_anime.moveRowAnimateToTb)(e,-l)}})})}}},hideCrossListRowDropClearStatus(){u()}});let Ke=(t,e,r,o)=>{var l=S.showRadio,{showIcon:a,visibleMethod:i}=$.value,i=!i||i({$list:B,row:t});return l&&a&&i?(0,_vue.h)("div",{key:"ct2",class:["vxe-list--radio-option",{"is--checked":o,"is--disabled":r}],onClick(e){r||Fe(e,t)}},[(0,_vue.h)("span",{class:["vxe-radio--icon",o?(0,_ui.getIcon)().RADIO_CHECKED:r?(0,_ui.getIcon)().RADIO_DISABLED_UNCHECKED:(0,_ui.getIcon)().RADIO_UNCHECKED]})]):(0,_ui.renderEmptyElement)(B)},Ae=(t,e,r,o)=>{var l=S.showCheckbox,{showIcon:a,visibleMethod:i}=q.value,i=!i||i({$list:B,row:t});return l&&a&&i?(0,_vue.h)("div",{key:"ct3",class:["vxe-list--checkbox-option",{"is--checked":o,"is--disabled":r}],onClick(e){r||Se(e,t)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",o?(0,_ui.getIcon)().CHECKBOX_CHECKED:r?(0,_ui.getIcon)().CHECKBOX_DISABLED_UNCHECKED:(0,_ui.getIcon)().CHECKBOX_UNCHECKED]})]):(0,_ui.renderEmptyElement)(B)};let Ue=(0,_vue.ref)(0),a=((0,_vue.watch)(()=>S.data?S.data.length:-1,()=>{Ue.value++}),(0,_vue.watch)(()=>S.data,()=>{Ue.value++}),(0,_vue.watch)(Ue,()=>{r(S.data||[])}),(0,_vue.ref)(0)),$e=((0,_vue.watch)(()=>S.height,()=>{a.value++}),(0,_vue.watch)(()=>S.maxHeight,()=>{a.value++}),(0,_vue.watch)(()=>S.syncResize,()=>{a.value++}),(0,_vue.watch)(f,()=>{a.value++}),(0,_vue.watch)(a,()=>{(0,_vue.nextTick)(()=>{k()})}),(0,_vue.watch)(()=>S.checkRowKey,()=>{ae()}),(0,_vue.ref)(0));return(0,_vue.watch)(()=>S.checkRowKeys?S.checkRowKeys.length:-1,()=>{$e.value++}),(0,_vue.watch)(()=>S.checkRowKeys,()=>{$e.value++}),(0,_vue.watch)($e,()=>{ie()}),(0,_vue.onActivated)(()=>{k().then(()=>re())}),(0,_vue.nextTick)(()=>{r(S.data||[])}),(0,_vue.onMounted)(()=>{var{showSeq:e,showRadio:t,showCheckbox:r}=S,o=O.value.useKey,l=U.value,a=A.value;a||(e&&errLog("vxe.error.reqSupportProp",["show-seq","row-config.keyField"]),t&&errLog("vxe.error.reqSupportProp",["show-radio","row-config.keyField"]),r&&errLog("vxe.error.reqSupportProp",["show-checkbox","row-config.keyField"]),l&&errLog("vxe.error.reqSupportProp",["drag-config","row-config.keyField"])),o&&!a&&errLog("vxe.error.reqSupportProp",["row-config.useKey","row-config.keyField"]),S.autoResize&&(e=b.value,(t=_ui.globalResize.create(()=>k())).observe(e),e&&t.observe(e.parentElement),H.resizeObserver=t),k(),_ui.globalEvents.on(B,"resize",k)}),(0,_vue.onBeforeUnmount)(()=>{var e=H.resizeObserver;e&&e.disconnect(),_ui.globalEvents.off(B,"resize"),_xeUtils.default.assign(F,createReactData()),_xeUtils.default.assign(H,createInternalData())}),B.renderVN=()=>{var{showCheckbox:e,className:t,loading:r}=S,{bodyHeight:o,topSpaceHeight:l,rowList:a,isAllChecked:i,isAllIndeterminate:s}=F,n=T.default,u=T.header,c=T.footer,d=j.value,g=X.value,v=G.value,h=$.value,w=q.value,{showHeader:f,headerTitle:x}=w,{trigger:p,isCrossListDrag:R}=K.value,{isHover:_,padding:m}=O.value,C=U.value,e=e&&!1!==f,f={};return R&&!a.length&&(f.onDragover=B.handleCrossListRowDragoverEmptyEvent),(0,_vue.h)("div",Object.assign({ref:b,class:["vxe-list",t?_xeUtils.default.isFunction(t)?t({$list:B}):t:"",{["size--"+d]:d,"is--drag":C,"is--loading":r}],style:g},f),[u||e?(0,_vue.h)("div",{ref:N,class:"vxe-list--header-wrapper"},[e?(0,_vue.h)("div",{class:"vxe-list--header-left"},[(0,_vue.h)("div",{class:["vxe-list--checkbox-header",{"is--checked":i,"is--indeterminate":s}],onClick:Ee},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",i?(0,_ui.getIcon)().CHECKBOX_CHECKED:s?(0,_ui.getIcon)().CHECKBOX_INDETERMINATE:(0,_ui.getIcon)().CHECKBOX_UNCHECKED]}),(0,_vue.h)("span",{class:"vxe-checkbox--label"},_xeUtils.default.eqNull(x)?(0,_ui.getI18n)("vxe.list.allChecked"):(0,_utils.getText)(x))])]):(0,_ui.renderEmptyElement)(B),u?(0,_vue.h)("div",{class:"vxe-list--header-content"},u({items:a,$list:B})):(0,_ui.renderEmptyElement)(B)]):(0,_ui.renderEmptyElement)(B),(0,_vue.h)("div",{ref:y,class:"vxe-list--virtual-wrapper",style:v,onScroll:le},[(0,_vue.h)("div",{class:"vxe-list--y-space",style:{height:o?o+"px":""}}),(0,_vue.h)("div",{ref:z,class:["vxe-list--body",{"trigger--row":"row"===p,"checkbox--highlight":w.highlight,"radio--highlight":h.highlight,"row--hover":_,"is--padding":m}],style:{marginTop:l?l+"px":""}},n?n({items:a,$list:B}):a.map((e,t)=>((t,e)=>{var{showRadio:r,showCheckbox:o}=S,{selectRadioRow:l,currRowFlag:a,updateCheckboxFlag:i}=F,{selectCheckboxMaps:s,currentRow:n}=H,u=T.content,c=T.extra,{trigger:d,icon:g,disabledMethod:v,visibleMethod:h}=K.value,w=$.value,f=q.value,{useKey:x,contentField:p,className:R,isCurrent:_}=O.value,m=U.value,C=A.value,b=R&&_xeUtils.default.isFunction(R),x=C||x||m||_||r||o,_=x&&C?getRowIdByField(t,C):"",y=(0,_utils.enModelValue)(_);let k={row:t,$list:B},D=!1,I=!1,L=(r&&(D=l&&(t===l||ye(l,_)),I=!!w.checkMethod&&!w.checkMethod({$list:B,row:t})),!1),M=!1;o&&(L=!(!i||!s[y]),M=!!f.checkMethod&&!f.checkMethod({$list:B,row:t}));l=[];r&&l.push(Ke(t,y,I,D)),o&&l.push(Ae(t,y,M,L));let E=!1;m&&C&&(!h||h(k))&&(w={},"row"!==d&&(E=!(!v||!v(k)),w.onMousedown=e=>{E||he(e,k)},w.onMouseup=we),l.push((0,_vue.h)("div",{key:"ct1",class:"vxe-list--row-drag"},[(0,_vue.h)("span",Object.assign({class:"vxe-list--drag-handle"},w),[(0,_vue.h)("i",{class:g||(0,_ui.getIcon)().LIST_DRAG})])]))),l.push((0,_vue.h)("div",{key:"ct5",class:"vxe-list--row-content"},u?u(k):p?(0,_utils.getText)(t[p]):"")),c&&l.push((0,_vue.h)("div",{key:"ct7",class:"vxe-list--row-extra"},c(k)));i={onMousedown(e){_e(e,t)},onMouseup:we,onClick(e){me(e,t)},onDblclick(e){Ce(e,t)},onContextmenu(e){Oe(e,t)}};return m&&(i.onDragstart=xe,i.onDragend=pe,i.onDragover=Re),(0,_vue.h)("div",Object.assign({key:x&&C?y:e,class:["vxe-list--row",b?R(k):R||"",{"is--drag-disabled":E,"is--current":a&&n&&ye(n,_),"is-radio--disabled":I,"is-radio--checked":D,"is-checkbox--disabled":M,"is-checkbox--checked":L}],rowid:x&&C?y:void 0},i),l)})(e,t)))]),c?(0,_vue.h)("div",{ref:P,class:"vxe-list--footer-wrapper"},c({items:a,$list:B})):(0,_ui.renderEmptyElement)(B),(()=>{var{dragRow:e,dragTipText:t}=F,r=K.value;return U.value?(0,_vue.h)("div",{class:"vxe-list--drag-wrapper"},[(0,_vue.h)("div",{ref:Y,class:["vxe-list--drag-row-line",{"is--guides":r.showGuidesStatus}]}),e&&r.showDragTip?(0,_vue.h)("div",{ref:V,class:"vxe-list--drag-sort-tip"},[(0,_vue.h)("div",{class:"vxe-list--drag-sort-tip-wrapper"},[(0,_vue.h)("div",{class:"vxe-list--drag-sort-tip-status"},[(0,_vue.h)("span",{class:["vxe-list--drag-sort-tip-normal-status",(0,_ui.getIcon)().LIST_DRAG_STATUS_NODE]}),(0,_vue.h)("span",{class:["vxe-list--drag-sort-tip-disabled-status",(0,_ui.getIcon)().LIST_DRAG_DISABLED]})]),(0,_vue.h)("div",{class:"vxe-list--drag-sort-tip-content"},t)])]):(0,_ui.renderEmptyElement)(B)]):(0,_ui.renderEmptyElement)(B)})(),(0,_vue.h)(_loading.default,{class:"vxe-list--loading",modelValue:r})])},B},render(){return this.renderVN()}});
@@ -262,6 +262,9 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
262
262
  if (!viewEl) {
263
263
  return;
264
264
  }
265
+ if (!viewEl.clientHeight || !viewEl.clientHeight) {
266
+ return;
267
+ }
265
268
  const trackXEl = refTrackXElem.value;
266
269
  const xThumbWidth = trackXEl ? (0, _util.getThumbSize)(viewEl.clientWidth, viewEl.scrollWidth, trackXEl.clientWidth) : 0;
267
270
  const thumbXElem = refThumbXElem.value;
@@ -282,6 +285,9 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
282
285
  if (!viewEl) {
283
286
  return;
284
287
  }
288
+ if (!viewEl.clientHeight || !viewEl.clientHeight) {
289
+ return;
290
+ }
285
291
  const {
286
292
  xThumbWidth,
287
293
  yThumbHeight
@@ -597,7 +603,9 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
597
603
  reFlag.value++;
598
604
  });
599
605
  (0, _vue.watch)(reFlag, () => {
600
- $xeScrollbar.recalculate();
606
+ $xeScrollbar.recalculate().then(() => {
607
+ $xeScrollbar.recalculate();
608
+ });
601
609
  });
602
610
  (0, _vue.onMounted)(() => {
603
611
  const {
@@ -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"),_util=require("./util"),_loading=_interopRequireDefault(require("../../loading"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,createEvent,domUtils,globalResize,globalEvents,renderEmptyElement}=_ui.VxeUI;function createReactData(){return{yThumbHeight:0,xThumbWidth:0}}function createInternalData(){return{thumbDragOffset:0,yThumbTop:0,xThumbLeft:0,lastScrollTop:0,lastScrollLeft:0}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeScrollbar",props:{id:[String,Number],width:[String,Number],height:[String,Number],minWidth:[String,Number],minHeight:[String,Number],maxWidth:[String,Number],maxHeight:[String,Number],loading:Boolean,native:{type:Boolean,default:()=>getConfig().scrollbar.native},padding:{type:Boolean,default:()=>getConfig().scrollbar.padding},xConfig:Object,yConfig:Object,className:{type:String,default:()=>getConfig().scrollbar.className},viewAttrs:{type:Object,default:()=>getConfig().scrollbar.viewAttrs},viewClassName:{type:String,default:()=>getConfig().scrollbar.viewClassName},viewInnerClassName:{type:String,default:()=>getConfig().scrollbar.viewInnerClassName},autoResize:{type:Boolean,default:()=>getConfig().scrollbar.autoResize},syncResize:[Boolean,String,Number]},emits:["scroll","scroll-boundary"],setup(v,e){let{emit:i,slots:h}=e;var t=_xeUtils.default.uniqueId();let g=(0,_vue.ref)(),d=(0,_vue.ref)(),m=(0,_vue.ref)(),f=(0,_vue.ref)(),b=(0,_vue.ref)(),p=(0,_vue.ref)(),_=(0,_vue.ref)(),T=(0,_vue.reactive)(createReactData()),x=createInternalData(),C=(0,_vue.computed)(()=>{var{width:e,height:t,minWidth:l,minHeight:i,maxWidth:r,maxHeight:o}=v,a=w.value,u=S.value,n={};return e&&(n.width=(0,_dom.toCssUnit)(e)),t&&(n.height=(0,_dom.toCssUnit)(t)),l&&(n.minWidth=(0,_dom.toCssUnit)(l)),i&&(n.minHeight=(0,_dom.toCssUnit)(i)),r&&(n.maxWidth=(0,_dom.toCssUnit)(r)),o&&(n.maxHeight=(0,_dom.toCssUnit)(o)),u.width&&(n["--vxe-ui-scrollbar-y-width"]=(0,_dom.toCssUnit)(u.width)),a.height&&(n["--vxe-ui-scrollbar-x-height"]=(0,_dom.toCssUnit)(a.height)),n}),y=(0,_vue.computed)(()=>{var{native:e,className:t,padding:l}=v,{yThumbHeight:i,xThumbWidth:r}=T,o=w.value,a=S.value,u=s.value,n=c.value;return domUtils.buildClass(["vxe-scrollbar","ov-x--"+(o.visible||"visible"),"ov-y--"+(a.visible||"visible"),"sx-pos--"+(u?"top":"bottom"),"sy-pos--"+(n?"left":"right"),e?"is--native":"is--virtual",t],{"is--padding":l,"ov-x--auto-hide":o.autoHide,"ov-y--auto-hide":a.autoHide,"overflow-y":i,"overflow-x":r})}),H=(0,_vue.computed)(()=>{var e=v.viewClassName;return domUtils.buildClass(["vxe-scrollbar--view",e])}),W=(0,_vue.computed)(()=>{var e=v.viewInnerClassName;return domUtils.buildClass(["vxe-scrollbar--view-inner",e])}),w=(0,_vue.computed)(()=>Object.assign({},getConfig().scrollbar.xConfig,v.xConfig)),S=(0,_vue.computed)(()=>Object.assign({},getConfig().scrollbar.yConfig,v.yConfig)),s=(0,_vue.computed)(()=>"top"===w.value.position),c=(0,_vue.computed)(()=>"left"===S.value.position),l={refElem:g},r={},D={xID:t,props:v,context:e,reactData:T,internalData:x,getRefMaps:()=>l,getComputeMaps:()=>r},N=(e,t,l)=>{i(e,createEvent(l,{$scrollbar:D},t))};t={dispatchEvent:N,scrollTo(e,t){var l=d.value;l&&(_xeUtils.default.isNumber(e)?l.scrollTo(e,t||0):l.scrollTo(e))},scrollIntoView(){var e=d.value;e&&e.scrollIntoView()},setScrollTop(e){var t=d.value;t&&(t.scrollTop=e)},setScrollLeft(e){var t=d.value;t&&(t.scrollLeft=e)},getScrollTop(){var e=d.value;return e?e.scrollTop:0},getScrollLeft(){var e=d.value;return e?e.scrollLeft:0},clearScroll(){var e=d.value;e&&(e.scrollTop=0,e.scrollLeft=0)},recalculate(){return o(),R(),(0,_vue.nextTick)()}};let o=()=>{var e,t,l=d.value;l&&(t=(t=f.value)?(0,_util.getThumbSize)(l.clientWidth,l.scrollWidth,t.clientWidth):0,(e=p.value)&&(e.style.width=t+"px"),T.xThumbWidth=t,t=(e=b.value)?(0,_util.getThumbSize)(l.clientHeight,l.scrollHeight,e.clientHeight):0,(l=_.value)&&(l.style.height=t+"px"),T.yThumbHeight=t)},R=()=>{var e,t,l,i,r=d.value;r&&({xThumbWidth:t,yThumbHeight:e}=T,i=f.value,l=p.value,i=i&&t?(0,_util.getThumbOffsetSize)(r.scrollLeft,r.clientWidth,r.scrollWidth,i.clientWidth,t):0,x.xThumbLeft=i,l&&t&&(l.style.width=t+"px",l.style.transform=`translateX(${i}px)`),t=b.value,l=_.value,i=t&&e?(0,_util.getThumbOffsetSize)(r.scrollTop,r.clientHeight,r.scrollHeight,t.clientHeight,e):0,x.yThumbTop=i,l)&&e&&(l.style.height=e+"px",l.style.transform=`translateY(${i}px)`)},L=e=>{var{xThumbWidth:t,yThumbHeight:l}=T,{lastScrollTop:i,lastScrollLeft:r}=x,o=w.value,a=S.value,{scrollTop:u,scrollLeft:n,clientWidth:s,clientHeight:c,scrollHeight:v,scrollWidth:h}=e.currentTarget;let g="",d=!1,m=!1,f=!1,b=!1;i!==u&&(a=_xeUtils.default.toNumber(a.threshold)||1,i<u?(g="bottom",0<l&&v-a<=u+c&&(m=!0)):(g="top",0<l&&u<=a&&(d=!0))),r!==n&&(i=_xeUtils.default.toNumber(o.threshold)||1,r<n?(g="right",0<t&&h-i<=n+s&&(b=!0)):(g="left",0<t&&n<=i&&(f=!0))),R(),x.lastScrollTop=u,x.lastScrollLeft=n,(m||d||b||f)&&N("scroll-boundary",{direction:g,isTop:d,isBottom:m,isLeft:f,isRight:b,scrollTop:u,scrollLeft:n,clientWidth:s,clientHeight:c,scrollHeight:v,scrollWidth:h},e),N("scroll",{direction:g,isTop:0<l&&u<=0,isBottom:0<l&&v<=u+c,isLeft:0<t&&n<=0,isRight:0<t&&h<=n+s,scrollTop:u,scrollLeft:n,clientWidth:s,clientHeight:c,scrollHeight:v,scrollWidth:h},e)},O=e=>{var t,l,i,r=e.currentTarget;r===e.target&&(t=d.value)&&(l=T.xThumbWidth,i=r.getBoundingClientRect(),t.scrollTo({left:(0,_util.getScrollFromClick)(e.clientX-i.left,t.clientWidth,t.scrollWidth,r.clientWidth,l),behavior:"auto"}))},U=e=>{var t,l,i,r=e.currentTarget;r===e.target&&(t=d.value)&&(l=T.yThumbHeight,i=r.getBoundingClientRect(),t.scrollTo({top:(0,_util.getScrollFromClick)(e.clientY-i.top,t.clientHeight,t.scrollHeight,r.clientHeight,l),behavior:"auto"}))},z=e=>{var t,l,i=e.currentTarget,r=(x.isThumbDrag=!0,i.setPointerCapture(e.pointerId),d.value);r&&(t=T.xThumbWidth,l=(i=i.parentElement).getBoundingClientRect(),e=e.clientX-l.left,l=(0,_util.getThumbOffsetSize)(r.scrollLeft,r.clientWidth,r.scrollWidth,i.clientWidth,t),x.thumbDragOffset=e-l)},E=t=>{let e=t.currentTarget;if(e.hasPointerCapture(t.pointerId)){var{isThumbDrag:l,thumbDragOffset:i}=x;if(l){l=d.value;if(l){var r=T.xThumbWidth;let e=t.currentTarget;var o=e.parentElement,a=o.getBoundingClientRect();l.scrollLeft=(0,_util.getScrollFromDrag)(t.clientX-a.left,i,l.clientWidth,l.scrollWidth,o.clientWidth,r)}}}},I=e=>{e.currentTarget.releasePointerCapture(e.pointerId),x.isThumbDrag=!1},B=e=>{var t,l,i=e.currentTarget,r=(x.isThumbDrag=!0,i.setPointerCapture(e.pointerId),d.value);r&&(t=T.yThumbHeight,l=(i=i.parentElement).getBoundingClientRect(),e=e.clientY-l.top,l=(0,_util.getThumbOffsetSize)(r.scrollTop,r.clientHeight,r.scrollHeight,i.clientHeight,t),x.thumbDragOffset=e-l)},P=t=>{let e=t.currentTarget;if(e.hasPointerCapture(t.pointerId)){var{isThumbDrag:l,thumbDragOffset:i}=x;if(l){l=d.value;if(l){var r=T.yThumbHeight;let e=t.currentTarget;var o=e.parentElement,a=o.getBoundingClientRect();l.scrollTop=(0,_util.getScrollFromDrag)(t.clientY-a.top,i,l.clientHeight,l.scrollHeight,o.clientHeight,r)}}}};Object.assign(D,t,{});let a=(0,_vue.ref)(0);return(0,_vue.watch)(()=>v.height,()=>{a.value++}),(0,_vue.watch)(()=>v.width,()=>{a.value++}),(0,_vue.watch)(()=>v.minHeight,()=>{a.value++}),(0,_vue.watch)(()=>v.minWidth,()=>{a.value++}),(0,_vue.watch)(()=>v.maxHeight,()=>{a.value++}),(0,_vue.watch)(()=>v.maxWidth,()=>{a.value++}),(0,_vue.watch)(()=>v.native,()=>{a.value++}),(0,_vue.watch)(()=>v.syncResize,()=>{a.value++}),(0,_vue.watch)(a,()=>{D.recalculate()}),(0,_vue.onMounted)(()=>{var e=v.autoResize,t=d.value,l=m.value;e&&(e=globalResize.create(()=>{v.autoResize&&a.value++}),t&&e.observe(t),l&&e.observe(l),x.resizeObserver=e),a.value++,globalEvents.on(D,"resize",()=>{a.value++})}),(0,_vue.onBeforeUnmount)(()=>{var e=x.resizeObserver;e&&e.disconnect(),globalEvents.off(D,"resize")}),D.renderVN=()=>{var{id:e,native:t,loading:l,viewAttrs:i}=v,r=C.value,o=y.value,a=H.value,u=W.value,n=w.value,s=S.value,c=h.default;return(0,_vue.h)("div",{ref:g,id:e||null,class:o,style:r},[(0,_vue.h)("div",Object.assign({ref:d,class:a,onScroll:L},i),[(0,_vue.h)("div",{key:"vi",ref:m,class:u},c?c({}):[])]),t||"hidden"===n.visible?renderEmptyElement(D):(0,_vue.h)("div",{ref:f,class:"vxe-scrollbar--track-x",onClick:O},[(0,_vue.h)("div",{ref:p,class:"vxe-scrollbar--thumb-x",onPointerdown:z,onPointermove:E,onPointerup:I,onPointercancel:I,onLostpointercapture:I})]),t||"hidden"===s.visible?renderEmptyElement(D):(0,_vue.h)("div",{ref:b,class:"vxe-scrollbar--track-y",onClick:U},[(0,_vue.h)("div",{ref:_,class:"vxe-scrollbar--thumb-y",onPointerdown:B,onPointermove:P,onPointerup:I,onPointercancel:I,onLostpointercapture:I})]),(0,_vue.h)(_loading.default,{class:"vxe-scrollbar--loading",modelValue:l})])},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"),_util=require("./util"),_loading=_interopRequireDefault(require("../../loading"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,createEvent,domUtils,globalResize,globalEvents,renderEmptyElement}=_ui.VxeUI;function createReactData(){return{yThumbHeight:0,xThumbWidth:0}}function createInternalData(){return{thumbDragOffset:0,yThumbTop:0,xThumbLeft:0,lastScrollTop:0,lastScrollLeft:0}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeScrollbar",props:{id:[String,Number],width:[String,Number],height:[String,Number],minWidth:[String,Number],minHeight:[String,Number],maxWidth:[String,Number],maxHeight:[String,Number],loading:Boolean,native:{type:Boolean,default:()=>getConfig().scrollbar.native},padding:{type:Boolean,default:()=>getConfig().scrollbar.padding},xConfig:Object,yConfig:Object,className:{type:String,default:()=>getConfig().scrollbar.className},viewAttrs:{type:Object,default:()=>getConfig().scrollbar.viewAttrs},viewClassName:{type:String,default:()=>getConfig().scrollbar.viewClassName},viewInnerClassName:{type:String,default:()=>getConfig().scrollbar.viewInnerClassName},autoResize:{type:Boolean,default:()=>getConfig().scrollbar.autoResize},syncResize:[Boolean,String,Number]},emits:["scroll","scroll-boundary"],setup(v,e){let{emit:i,slots:h}=e;var t=_xeUtils.default.uniqueId();let g=(0,_vue.ref)(),d=(0,_vue.ref)(),m=(0,_vue.ref)(),f=(0,_vue.ref)(),b=(0,_vue.ref)(),p=(0,_vue.ref)(),_=(0,_vue.ref)(),T=(0,_vue.reactive)(createReactData()),x=createInternalData(),C=(0,_vue.computed)(()=>{var{width:e,height:t,minWidth:l,minHeight:i,maxWidth:r,maxHeight:o}=v,a=w.value,u=S.value,n={};return e&&(n.width=(0,_dom.toCssUnit)(e)),t&&(n.height=(0,_dom.toCssUnit)(t)),l&&(n.minWidth=(0,_dom.toCssUnit)(l)),i&&(n.minHeight=(0,_dom.toCssUnit)(i)),r&&(n.maxWidth=(0,_dom.toCssUnit)(r)),o&&(n.maxHeight=(0,_dom.toCssUnit)(o)),u.width&&(n["--vxe-ui-scrollbar-y-width"]=(0,_dom.toCssUnit)(u.width)),a.height&&(n["--vxe-ui-scrollbar-x-height"]=(0,_dom.toCssUnit)(a.height)),n}),y=(0,_vue.computed)(()=>{var{native:e,className:t,padding:l}=v,{yThumbHeight:i,xThumbWidth:r}=T,o=w.value,a=S.value,u=s.value,n=c.value;return domUtils.buildClass(["vxe-scrollbar","ov-x--"+(o.visible||"visible"),"ov-y--"+(a.visible||"visible"),"sx-pos--"+(u?"top":"bottom"),"sy-pos--"+(n?"left":"right"),e?"is--native":"is--virtual",t],{"is--padding":l,"ov-x--auto-hide":o.autoHide,"ov-y--auto-hide":a.autoHide,"overflow-y":i,"overflow-x":r})}),H=(0,_vue.computed)(()=>{var e=v.viewClassName;return domUtils.buildClass(["vxe-scrollbar--view",e])}),W=(0,_vue.computed)(()=>{var e=v.viewInnerClassName;return domUtils.buildClass(["vxe-scrollbar--view-inner",e])}),w=(0,_vue.computed)(()=>Object.assign({},getConfig().scrollbar.xConfig,v.xConfig)),S=(0,_vue.computed)(()=>Object.assign({},getConfig().scrollbar.yConfig,v.yConfig)),s=(0,_vue.computed)(()=>"top"===w.value.position),c=(0,_vue.computed)(()=>"left"===S.value.position),l={refElem:g},r={},D={xID:t,props:v,context:e,reactData:T,internalData:x,getRefMaps:()=>l,getComputeMaps:()=>r},N=(e,t,l)=>{i(e,createEvent(l,{$scrollbar:D},t))};t={dispatchEvent:N,scrollTo(e,t){var l=d.value;l&&(_xeUtils.default.isNumber(e)?l.scrollTo(e,t||0):l.scrollTo(e))},scrollIntoView(){var e=d.value;e&&e.scrollIntoView()},setScrollTop(e){var t=d.value;t&&(t.scrollTop=e)},setScrollLeft(e){var t=d.value;t&&(t.scrollLeft=e)},getScrollTop(){var e=d.value;return e?e.scrollTop:0},getScrollLeft(){var e=d.value;return e?e.scrollLeft:0},clearScroll(){var e=d.value;e&&(e.scrollTop=0,e.scrollLeft=0)},recalculate(){return o(),R(),(0,_vue.nextTick)()}};let o=()=>{var e,t,l=d.value;l&&l.clientHeight&&(t=(t=f.value)?(0,_util.getThumbSize)(l.clientWidth,l.scrollWidth,t.clientWidth):0,(e=p.value)&&(e.style.width=t+"px"),T.xThumbWidth=t,t=(e=b.value)?(0,_util.getThumbSize)(l.clientHeight,l.scrollHeight,e.clientHeight):0,(l=_.value)&&(l.style.height=t+"px"),T.yThumbHeight=t)},R=()=>{var e,t,l,i,r=d.value;r&&r.clientHeight&&({xThumbWidth:t,yThumbHeight:e}=T,i=f.value,l=p.value,i=i&&t?(0,_util.getThumbOffsetSize)(r.scrollLeft,r.clientWidth,r.scrollWidth,i.clientWidth,t):0,x.xThumbLeft=i,l&&t&&(l.style.width=t+"px",l.style.transform=`translateX(${i}px)`),t=b.value,l=_.value,i=t&&e?(0,_util.getThumbOffsetSize)(r.scrollTop,r.clientHeight,r.scrollHeight,t.clientHeight,e):0,x.yThumbTop=i,l)&&e&&(l.style.height=e+"px",l.style.transform=`translateY(${i}px)`)},L=e=>{var{xThumbWidth:t,yThumbHeight:l}=T,{lastScrollTop:i,lastScrollLeft:r}=x,o=w.value,a=S.value,{scrollTop:u,scrollLeft:n,clientWidth:s,clientHeight:c,scrollHeight:v,scrollWidth:h}=e.currentTarget;let g="",d=!1,m=!1,f=!1,b=!1;i!==u&&(a=_xeUtils.default.toNumber(a.threshold)||1,i<u?(g="bottom",0<l&&v-a<=u+c&&(m=!0)):(g="top",0<l&&u<=a&&(d=!0))),r!==n&&(i=_xeUtils.default.toNumber(o.threshold)||1,r<n?(g="right",0<t&&h-i<=n+s&&(b=!0)):(g="left",0<t&&n<=i&&(f=!0))),R(),x.lastScrollTop=u,x.lastScrollLeft=n,(m||d||b||f)&&N("scroll-boundary",{direction:g,isTop:d,isBottom:m,isLeft:f,isRight:b,scrollTop:u,scrollLeft:n,clientWidth:s,clientHeight:c,scrollHeight:v,scrollWidth:h},e),N("scroll",{direction:g,isTop:0<l&&u<=0,isBottom:0<l&&v<=u+c,isLeft:0<t&&n<=0,isRight:0<t&&h<=n+s,scrollTop:u,scrollLeft:n,clientWidth:s,clientHeight:c,scrollHeight:v,scrollWidth:h},e)},O=e=>{var t,l,i,r=e.currentTarget;r===e.target&&(t=d.value)&&(l=T.xThumbWidth,i=r.getBoundingClientRect(),t.scrollTo({left:(0,_util.getScrollFromClick)(e.clientX-i.left,t.clientWidth,t.scrollWidth,r.clientWidth,l),behavior:"auto"}))},U=e=>{var t,l,i,r=e.currentTarget;r===e.target&&(t=d.value)&&(l=T.yThumbHeight,i=r.getBoundingClientRect(),t.scrollTo({top:(0,_util.getScrollFromClick)(e.clientY-i.top,t.clientHeight,t.scrollHeight,r.clientHeight,l),behavior:"auto"}))},z=e=>{var t,l,i=e.currentTarget,r=(x.isThumbDrag=!0,i.setPointerCapture(e.pointerId),d.value);r&&(t=T.xThumbWidth,l=(i=i.parentElement).getBoundingClientRect(),e=e.clientX-l.left,l=(0,_util.getThumbOffsetSize)(r.scrollLeft,r.clientWidth,r.scrollWidth,i.clientWidth,t),x.thumbDragOffset=e-l)},E=t=>{let e=t.currentTarget;if(e.hasPointerCapture(t.pointerId)){var{isThumbDrag:l,thumbDragOffset:i}=x;if(l){l=d.value;if(l){var r=T.xThumbWidth;let e=t.currentTarget;var o=e.parentElement,a=o.getBoundingClientRect();l.scrollLeft=(0,_util.getScrollFromDrag)(t.clientX-a.left,i,l.clientWidth,l.scrollWidth,o.clientWidth,r)}}}},I=e=>{e.currentTarget.releasePointerCapture(e.pointerId),x.isThumbDrag=!1},B=e=>{var t,l,i=e.currentTarget,r=(x.isThumbDrag=!0,i.setPointerCapture(e.pointerId),d.value);r&&(t=T.yThumbHeight,l=(i=i.parentElement).getBoundingClientRect(),e=e.clientY-l.top,l=(0,_util.getThumbOffsetSize)(r.scrollTop,r.clientHeight,r.scrollHeight,i.clientHeight,t),x.thumbDragOffset=e-l)},P=t=>{let e=t.currentTarget;if(e.hasPointerCapture(t.pointerId)){var{isThumbDrag:l,thumbDragOffset:i}=x;if(l){l=d.value;if(l){var r=T.yThumbHeight;let e=t.currentTarget;var o=e.parentElement,a=o.getBoundingClientRect();l.scrollTop=(0,_util.getScrollFromDrag)(t.clientY-a.top,i,l.clientHeight,l.scrollHeight,o.clientHeight,r)}}}};Object.assign(D,t,{});let a=(0,_vue.ref)(0);return(0,_vue.watch)(()=>v.height,()=>{a.value++}),(0,_vue.watch)(()=>v.width,()=>{a.value++}),(0,_vue.watch)(()=>v.minHeight,()=>{a.value++}),(0,_vue.watch)(()=>v.minWidth,()=>{a.value++}),(0,_vue.watch)(()=>v.maxHeight,()=>{a.value++}),(0,_vue.watch)(()=>v.maxWidth,()=>{a.value++}),(0,_vue.watch)(()=>v.native,()=>{a.value++}),(0,_vue.watch)(()=>v.syncResize,()=>{a.value++}),(0,_vue.watch)(a,()=>{D.recalculate().then(()=>{D.recalculate()})}),(0,_vue.onMounted)(()=>{var e=v.autoResize,t=d.value,l=m.value;e&&(e=globalResize.create(()=>{v.autoResize&&a.value++}),t&&e.observe(t),l&&e.observe(l),x.resizeObserver=e),a.value++,globalEvents.on(D,"resize",()=>{a.value++})}),(0,_vue.onBeforeUnmount)(()=>{var e=x.resizeObserver;e&&e.disconnect(),globalEvents.off(D,"resize")}),D.renderVN=()=>{var{id:e,native:t,loading:l,viewAttrs:i}=v,r=C.value,o=y.value,a=H.value,u=W.value,n=w.value,s=S.value,c=h.default;return(0,_vue.h)("div",{ref:g,id:e||null,class:o,style:r},[(0,_vue.h)("div",Object.assign({ref:d,class:a,onScroll:L},i),[(0,_vue.h)("div",{key:"vi",ref:m,class:u},c?c({}):[])]),t||"hidden"===n.visible?renderEmptyElement(D):(0,_vue.h)("div",{ref:f,class:"vxe-scrollbar--track-x",onClick:O},[(0,_vue.h)("div",{ref:p,class:"vxe-scrollbar--thumb-x",onPointerdown:z,onPointermove:E,onPointerup:I,onPointercancel:I,onLostpointercapture:I})]),t||"hidden"===s.visible?renderEmptyElement(D):(0,_vue.h)("div",{ref:b,class:"vxe-scrollbar--track-y",onClick:U},[(0,_vue.h)("div",{ref:_,class:"vxe-scrollbar--thumb-y",onPointerdown:B,onPointermove:P,onPointerup:I,onPointercancel:I,onLostpointercapture:I})]),(0,_vue.h)(_loading.default,{class:"vxe-scrollbar--loading",modelValue:l})])},D},render(){return this.renderVN()}});
@@ -1,5 +1,4 @@
1
1
  .vxe-scrollbar {
2
- width: 100%;
3
2
  position: relative;
4
3
  }
5
4
  .vxe-scrollbar.is--virtual > .vxe-scrollbar--view {
@@ -56,6 +55,7 @@
56
55
  display: none;
57
56
  position: absolute;
58
57
  background-color: var(--vxe-ui-scrollbar-track-background-color);
58
+ overflow: hidden;
59
59
  -webkit-user-select: none;
60
60
  -moz-user-select: none;
61
61
  user-select: none;
@@ -107,16 +107,16 @@
107
107
  left: var(--vxe-ui-scrollbar-y-width);
108
108
  }
109
109
 
110
- .vxe-scrollbar.is--padding.sx-pos--top {
110
+ .vxe-scrollbar.is--padding.overflow-x.sx-pos--top {
111
111
  padding-top: var(--vxe-ui-scrollbar-x-height);
112
112
  }
113
- .vxe-scrollbar.is--padding.sx-pos--bottom {
113
+ .vxe-scrollbar.is--padding.overflow-x.sx-pos--bottom {
114
114
  padding-bottom: var(--vxe-ui-scrollbar-x-height);
115
115
  }
116
- .vxe-scrollbar.is--padding.sy-pos--left {
116
+ .vxe-scrollbar.is--padding.overflow-y.sy-pos--left {
117
117
  padding-left: var(--vxe-ui-scrollbar-y-width);
118
118
  }
119
- .vxe-scrollbar.is--padding.sy-pos--right {
119
+ .vxe-scrollbar.is--padding.overflow-y.sy-pos--right {
120
120
  padding-right: var(--vxe-ui-scrollbar-y-width);
121
121
  }
122
122
 
@@ -1 +1 @@
1
- .vxe-scrollbar{width:100%;position:relative}.vxe-scrollbar.is--virtual>.vxe-scrollbar--view{scrollbar-width:none;-ms-overflow-style:none}.vxe-scrollbar.is--virtual>.vxe-scrollbar--view::-webkit-scrollbar{display:none}.vxe-scrollbar.is--virtual.ov-x--auto-hide:hover>.vxe-scrollbar--track-x{opacity:1}.vxe-scrollbar.is--virtual.ov-x--auto-hide>.vxe-scrollbar--track-x{opacity:0;transition:opacity .8s ease-in-out}.vxe-scrollbar.is--virtual.ov-y--auto-hide:hover>.vxe-scrollbar--track-y{opacity:1}.vxe-scrollbar.is--virtual.ov-y--auto-hide>.vxe-scrollbar--track-y{opacity:0;transition:opacity .8s ease-in-out}.vxe-scrollbar.is--native>.vxe-scrollbar--view::-webkit-scrollbar{width:var(--vxe-ui-scrollbar-y-width);height:var(--vxe-ui-scrollbar-x-height)}.vxe-scrollbar.is--native>.vxe-scrollbar--view::-webkit-scrollbar-thumb{border-radius:var(--vxe-ui-base-border-radius);background-color:var(--vxe-ui-scrollbar-thumb-background-color)}.vxe-scrollbar.is--native>.vxe-scrollbar--view::-webkit-scrollbar-thumb:hover{background-color:var(--vxe-ui-scrollbar-thumb-hover-background-color)}.vxe-scrollbar.is--native>.vxe-scrollbar--view::-webkit-scrollbar-thumb:active{background-color:var(--vxe-ui-scrollbar-thumb-active-background-color)}.vxe-scrollbar.ov-x--hidden>.vxe-scrollbar--view{overflow-x:hidden}.vxe-scrollbar.ov-y--hidden>.vxe-scrollbar--view{overflow-y:hidden}.vxe-scrollbar--view{height:100%;width:100%;overflow-x:auto;overflow-y:auto}.vxe-scrollbar--track-x,.vxe-scrollbar--track-y{display:none;position:absolute;background-color:var(--vxe-ui-scrollbar-track-background-color);-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-scrollbar.overflow-x>.vxe-scrollbar--track-x{display:block}.vxe-scrollbar.overflow-y>.vxe-scrollbar--track-y{display:block}.vxe-scrollbar--track-x{width:100%;left:0;height:var(--vxe-ui-scrollbar-x-height);padding:var(--vxe-ui-scrollbar-track-padding) 0}.vxe-scrollbar--track-y{height:100%;top:0;width:var(--vxe-ui-scrollbar-y-width);padding:0 var(--vxe-ui-scrollbar-track-padding)}.vxe-scrollbar.sx-pos--top>.vxe-scrollbar--track-x{top:0}.vxe-scrollbar.sx-pos--bottom>.vxe-scrollbar--track-x{bottom:0}.vxe-scrollbar.sy-pos--left>.vxe-scrollbar--track-y{left:0}.vxe-scrollbar.sy-pos--right>.vxe-scrollbar--track-y{right:0}.vxe-scrollbar.overflow-x.overflow-y>.vxe-scrollbar--track-x{width:calc(100% - var(--vxe-ui-scrollbar-x-height))}.vxe-scrollbar.overflow-x.overflow-y>.vxe-scrollbar--track-y{height:calc(100% - var(--vxe-ui-scrollbar-y-width))}.vxe-scrollbar.overflow-x.overflow-y.sx-pos--top.sy-pos--left>.vxe-scrollbar--track-y,.vxe-scrollbar.overflow-x.overflow-y.sx-pos--top.sy-pos--right>.vxe-scrollbar--track-y{top:var(--vxe-ui-scrollbar-x-height)}.vxe-scrollbar.overflow-x.overflow-y.sy-pos--left.sx-pos--bottom>.vxe-scrollbar--track-x,.vxe-scrollbar.overflow-x.overflow-y.sy-pos--left.sx-pos--top>.vxe-scrollbar--track-x{left:var(--vxe-ui-scrollbar-y-width)}.vxe-scrollbar.is--padding.sx-pos--top{padding-top:var(--vxe-ui-scrollbar-x-height)}.vxe-scrollbar.is--padding.sx-pos--bottom{padding-bottom:var(--vxe-ui-scrollbar-x-height)}.vxe-scrollbar.is--padding.sy-pos--left{padding-left:var(--vxe-ui-scrollbar-y-width)}.vxe-scrollbar.is--padding.sy-pos--right{padding-right:var(--vxe-ui-scrollbar-y-width)}.vxe-scrollbar--thumb-y{width:100%}.vxe-scrollbar--thumb-x{height:100%}.vxe-scrollbar--thumb-x,.vxe-scrollbar--thumb-y{border-radius:var(--vxe-ui-scrollbar-thumb-border-radius);background-color:var(--vxe-ui-scrollbar-thumb-background-color)}.vxe-scrollbar--thumb-x:hover,.vxe-scrollbar--thumb-y:hover{background-color:var(--vxe-ui-scrollbar-thumb-hover-background-color)}.vxe-scrollbar--thumb-x:active,.vxe-scrollbar--thumb-y:active{background-color:var(--vxe-ui-scrollbar-thumb-active-background-color)}
1
+ .vxe-scrollbar{position:relative}.vxe-scrollbar.is--virtual>.vxe-scrollbar--view{scrollbar-width:none;-ms-overflow-style:none}.vxe-scrollbar.is--virtual>.vxe-scrollbar--view::-webkit-scrollbar{display:none}.vxe-scrollbar.is--virtual.ov-x--auto-hide:hover>.vxe-scrollbar--track-x{opacity:1}.vxe-scrollbar.is--virtual.ov-x--auto-hide>.vxe-scrollbar--track-x{opacity:0;transition:opacity .8s ease-in-out}.vxe-scrollbar.is--virtual.ov-y--auto-hide:hover>.vxe-scrollbar--track-y{opacity:1}.vxe-scrollbar.is--virtual.ov-y--auto-hide>.vxe-scrollbar--track-y{opacity:0;transition:opacity .8s ease-in-out}.vxe-scrollbar.is--native>.vxe-scrollbar--view::-webkit-scrollbar{width:var(--vxe-ui-scrollbar-y-width);height:var(--vxe-ui-scrollbar-x-height)}.vxe-scrollbar.is--native>.vxe-scrollbar--view::-webkit-scrollbar-thumb{border-radius:var(--vxe-ui-base-border-radius);background-color:var(--vxe-ui-scrollbar-thumb-background-color)}.vxe-scrollbar.is--native>.vxe-scrollbar--view::-webkit-scrollbar-thumb:hover{background-color:var(--vxe-ui-scrollbar-thumb-hover-background-color)}.vxe-scrollbar.is--native>.vxe-scrollbar--view::-webkit-scrollbar-thumb:active{background-color:var(--vxe-ui-scrollbar-thumb-active-background-color)}.vxe-scrollbar.ov-x--hidden>.vxe-scrollbar--view{overflow-x:hidden}.vxe-scrollbar.ov-y--hidden>.vxe-scrollbar--view{overflow-y:hidden}.vxe-scrollbar--view{height:100%;width:100%;overflow-x:auto;overflow-y:auto}.vxe-scrollbar--track-x,.vxe-scrollbar--track-y{display:none;position:absolute;background-color:var(--vxe-ui-scrollbar-track-background-color);overflow:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-scrollbar.overflow-x>.vxe-scrollbar--track-x{display:block}.vxe-scrollbar.overflow-y>.vxe-scrollbar--track-y{display:block}.vxe-scrollbar--track-x{width:100%;left:0;height:var(--vxe-ui-scrollbar-x-height);padding:var(--vxe-ui-scrollbar-track-padding) 0}.vxe-scrollbar--track-y{height:100%;top:0;width:var(--vxe-ui-scrollbar-y-width);padding:0 var(--vxe-ui-scrollbar-track-padding)}.vxe-scrollbar.sx-pos--top>.vxe-scrollbar--track-x{top:0}.vxe-scrollbar.sx-pos--bottom>.vxe-scrollbar--track-x{bottom:0}.vxe-scrollbar.sy-pos--left>.vxe-scrollbar--track-y{left:0}.vxe-scrollbar.sy-pos--right>.vxe-scrollbar--track-y{right:0}.vxe-scrollbar.overflow-x.overflow-y>.vxe-scrollbar--track-x{width:calc(100% - var(--vxe-ui-scrollbar-x-height))}.vxe-scrollbar.overflow-x.overflow-y>.vxe-scrollbar--track-y{height:calc(100% - var(--vxe-ui-scrollbar-y-width))}.vxe-scrollbar.overflow-x.overflow-y.sx-pos--top.sy-pos--left>.vxe-scrollbar--track-y,.vxe-scrollbar.overflow-x.overflow-y.sx-pos--top.sy-pos--right>.vxe-scrollbar--track-y{top:var(--vxe-ui-scrollbar-x-height)}.vxe-scrollbar.overflow-x.overflow-y.sy-pos--left.sx-pos--bottom>.vxe-scrollbar--track-x,.vxe-scrollbar.overflow-x.overflow-y.sy-pos--left.sx-pos--top>.vxe-scrollbar--track-x{left:var(--vxe-ui-scrollbar-y-width)}.vxe-scrollbar.is--padding.overflow-x.sx-pos--top{padding-top:var(--vxe-ui-scrollbar-x-height)}.vxe-scrollbar.is--padding.overflow-x.sx-pos--bottom{padding-bottom:var(--vxe-ui-scrollbar-x-height)}.vxe-scrollbar.is--padding.overflow-y.sy-pos--left{padding-left:var(--vxe-ui-scrollbar-y-width)}.vxe-scrollbar.is--padding.overflow-y.sy-pos--right{padding-right:var(--vxe-ui-scrollbar-y-width)}.vxe-scrollbar--thumb-y{width:100%}.vxe-scrollbar--thumb-x{height:100%}.vxe-scrollbar--thumb-x,.vxe-scrollbar--thumb-y{border-radius:var(--vxe-ui-scrollbar-thumb-border-radius);background-color:var(--vxe-ui-scrollbar-thumb-background-color)}.vxe-scrollbar--thumb-x:hover,.vxe-scrollbar--thumb-y:hover{background-color:var(--vxe-ui-scrollbar-thumb-hover-background-color)}.vxe-scrollbar--thumb-x:active,.vxe-scrollbar--thumb-y:active{background-color:var(--vxe-ui-scrollbar-thumb-active-background-color)}