vxe-pc-ui 4.20.9 → 4.20.10

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 (102) hide show
  1. package/dist/all.esm.js +1863 -2038
  2. package/dist/style.css +1 -1
  3. package/dist/style.min.css +1 -1
  4. package/es/date-panel/src/date-panel.js +58 -36
  5. package/es/date-panel/style.css +22 -20
  6. package/es/date-panel/style.min.css +1 -1
  7. package/es/icon/style.css +1 -1
  8. package/es/icon-picker/src/icon-picker.js +74 -38
  9. package/es/icon-picker/style.css +9 -3
  10. package/es/icon-picker/style.min.css +1 -1
  11. package/es/list/src/list.js +8 -164
  12. package/es/scrollbar/src/scrollbar.js +20 -173
  13. package/es/select/src/select.js +243 -8
  14. package/es/select/style.css +44 -0
  15. package/es/select/style.min.css +1 -1
  16. package/es/style.css +1 -1
  17. package/es/style.min.css +1 -1
  18. package/es/tooltip/src/tooltip.js +2 -4
  19. package/es/tooltip/style.css +2 -0
  20. package/es/tooltip/style.min.css +1 -1
  21. package/es/tree/src/tree.js +17 -172
  22. package/es/ui/index.js +1 -1
  23. package/es/ui/src/log.js +1 -1
  24. package/es/vxe-date-panel/style.css +22 -20
  25. package/es/vxe-date-panel/style.min.css +1 -1
  26. package/es/vxe-icon-picker/style.css +9 -3
  27. package/es/vxe-icon-picker/style.min.css +1 -1
  28. package/es/vxe-select/style.css +44 -0
  29. package/es/vxe-select/style.min.css +1 -1
  30. package/es/vxe-tooltip/style.css +2 -0
  31. package/es/vxe-tooltip/style.min.css +1 -1
  32. package/lib/date-panel/src/date-panel.js +56 -34
  33. package/lib/date-panel/src/date-panel.min.js +1 -1
  34. package/lib/date-panel/style/style.css +22 -20
  35. package/lib/date-panel/style/style.min.css +1 -1
  36. package/lib/icon/style/style.css +1 -1
  37. package/lib/icon/style/style.min.css +1 -1
  38. package/lib/icon-picker/src/icon-picker.js +101 -45
  39. package/lib/icon-picker/src/icon-picker.min.js +1 -1
  40. package/lib/icon-picker/style/style.css +9 -3
  41. package/lib/icon-picker/style/style.min.css +1 -1
  42. package/lib/index.umd.js +813 -756
  43. package/lib/index.umd.min.js +1 -1
  44. package/lib/list/src/list.js +25 -194
  45. package/lib/list/src/list.min.js +1 -1
  46. package/lib/scrollbar/src/scrollbar.js +34 -199
  47. package/lib/scrollbar/src/scrollbar.min.js +1 -1
  48. package/lib/select/src/select.js +315 -68
  49. package/lib/select/src/select.min.js +1 -1
  50. package/lib/select/style/style.css +44 -0
  51. package/lib/select/style/style.min.css +1 -1
  52. package/lib/style.css +1 -1
  53. package/lib/style.min.css +1 -1
  54. package/lib/tooltip/src/tooltip.js +2 -4
  55. package/lib/tooltip/src/tooltip.min.js +1 -1
  56. package/lib/tooltip/style/style.css +2 -0
  57. package/lib/tooltip/style/style.min.css +1 -1
  58. package/lib/tree/src/tree.js +36 -201
  59. package/lib/tree/src/tree.min.js +1 -1
  60. package/lib/ui/index.js +1 -1
  61. package/lib/ui/index.min.js +1 -1
  62. package/lib/ui/src/log.js +1 -1
  63. package/lib/ui/src/log.min.js +1 -1
  64. package/lib/vxe-date-panel/style/style.css +22 -20
  65. package/lib/vxe-date-panel/style/style.min.css +1 -1
  66. package/lib/vxe-icon-picker/style/style.css +9 -3
  67. package/lib/vxe-icon-picker/style/style.min.css +1 -1
  68. package/lib/vxe-select/style/style.css +44 -0
  69. package/lib/vxe-select/style/style.min.css +1 -1
  70. package/lib/vxe-tooltip/style/style.css +2 -0
  71. package/lib/vxe-tooltip/style/style.min.css +1 -1
  72. package/package.json +2 -2
  73. package/packages/date-panel/src/date-panel.ts +58 -36
  74. package/packages/icon-picker/src/icon-picker.ts +80 -38
  75. package/packages/list/src/list.ts +24 -181
  76. package/packages/scrollbar/src/scrollbar.ts +36 -188
  77. package/packages/select/src/select.ts +278 -8
  78. package/packages/tooltip/src/tooltip.ts +2 -4
  79. package/packages/tree/src/tree.ts +33 -189
  80. package/styles/components/date-panel.scss +31 -29
  81. package/styles/components/icon-picker.scss +9 -3
  82. package/styles/components/select.scss +77 -0
  83. package/styles/components/tooltip.scss +1 -0
  84. package/types/components/gantt-module/gantt-view.d.ts +7 -16
  85. package/types/components/icon-picker.d.ts +21 -1
  86. package/types/components/list.d.ts +4 -0
  87. package/types/components/scrollbar.d.ts +7 -14
  88. package/types/components/select.d.ts +28 -3
  89. package/types/components/table.d.ts +20 -18
  90. package/types/components/tree.d.ts +7 -16
  91. /package/es/icon/{iconfont.1792139440389.ttf → iconfont.1792219842406.ttf} +0 -0
  92. /package/es/icon/{iconfont.1792139440389.woff → iconfont.1792219842406.woff} +0 -0
  93. /package/es/icon/{iconfont.1792139440389.woff2 → iconfont.1792219842406.woff2} +0 -0
  94. /package/es/{iconfont.1792139440389.ttf → iconfont.1792219842406.ttf} +0 -0
  95. /package/es/{iconfont.1792139440389.woff → iconfont.1792219842406.woff} +0 -0
  96. /package/es/{iconfont.1792139440389.woff2 → iconfont.1792219842406.woff2} +0 -0
  97. /package/lib/icon/style/{iconfont.1792139440389.ttf → iconfont.1792219842406.ttf} +0 -0
  98. /package/lib/icon/style/{iconfont.1792139440389.woff → iconfont.1792219842406.woff} +0 -0
  99. /package/lib/icon/style/{iconfont.1792139440389.woff2 → iconfont.1792219842406.woff2} +0 -0
  100. /package/lib/{iconfont.1792139440389.ttf → iconfont.1792219842406.ttf} +0 -0
  101. /package/lib/{iconfont.1792139440389.woff → iconfont.1792219842406.woff} +0 -0
  102. /package/lib/{iconfont.1792139440389.woff2 → iconfont.1792219842406.woff2} +0 -0
@@ -438,9 +438,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
438
438
  return updateTipStyle().then(() => {
439
439
  return updateTipStyle();
440
440
  }).then(() => {
441
- setTimeout(() => {
442
- updateTipStyle();
443
- }, 15);
441
+ return updateTipStyle();
444
442
  });
445
443
  },
446
444
  isActived() {
@@ -574,7 +572,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
574
572
  (0, _vue.onMounted)(() => {
575
573
  const $scrollbar = contentScrollbar.value;
576
574
  if ($scrollbar) {
577
- const viewEl = $scrollbar.getViewElem();
575
+ const viewEl = $scrollbar.getScrollViewElem();
578
576
  if (viewEl) {
579
577
  viewEl.addEventListener('wheel', wheelEvent, {
580
578
  passive: false
@@ -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"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_vn=require("../../ui/src/vn"),_scrollbar=_interopRequireDefault(require("../../scrollbar"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{baseUtils,getConfig,createEvent,globalEvents}=_ui.VxeUI,getDefVal=baseUtils.getDefVal;function createReactData(){return{target:null,isUpdate:!1,visible:!1,tipPos:null,tipContent:"",tipActive:!1,tipTarget:null,tipZindex:0,tipStore:{style:{},placement:"",arrowStyle:{}}}}function createInternalData(){return{}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTooltip",props:{modelValue:Boolean,size:{type:String,default:()=>getConfig().tooltip.size||getConfig().size},selector:[String,Element],trigger:{type:String,default:()=>getConfig().tooltip.trigger||"hover"},theme:{type:String,default:()=>getConfig().tooltip.theme||"dark"},content:{type:[String,Number],default:null},useHtml:{type:Boolean,default:()=>_xeUtils.default.isBoolean(getConfig().tooltip.useHtml)?getConfig().tooltip.useHtml:null},useHTML:{type:Boolean,default:()=>getConfig().tooltip.useHTML},zIndex:[String,Number],popupClassName:[String,Function],width:{type:[String,Number],default:()=>getConfig().tooltip.Width},height:{type:[String,Number],default:()=>getConfig().tooltip.height},minWidth:{type:[String,Number],default:()=>getConfig().tooltip.minWidth},minHeight:{type:[String,Number],default:()=>getConfig().tooltip.minHeight},maxWidth:{type:[String,Number],default:()=>getConfig().tooltip.maxWidth},maxHeight:{type:[String,Number],default:()=>getConfig().tooltip.maxHeight},placement:{type:String,default:()=>getConfig().tooltip.placement},defaultPlacement:{type:String,default:()=>getConfig().tooltip.defaultPlacement},isArrow:{type:Boolean,default:()=>getConfig().tooltip.isArrow},enterable:{type:Boolean,default:()=>getConfig().tooltip.enterable},enterDelay:{type:Number,default:()=>getConfig().tooltip.enterDelay},leaveDelay:{type:Number,default:()=>getConfig().tooltip.leaveDelay},appendTo:{type:[String,Function],default:()=>getConfig().tooltip.appendTo},useScrollbar:{type:Boolean,default:()=>getDefVal(getConfig().tooltip.useScrollbar,getConfig().useScrollbar)},scrollbarConfig:Object},emits:["update:modelValue","show","hide"],setup(m,e){let{slots:p,emit:i}=e;var t=_xeUtils.default.uniqueId();let d=_ui.useFns.useSize(m).computeSize,c=_ui.useFns.useVScrollbar(m).computeIsVScrollbar,h=(0,_vue.reactive)(createReactData()),a=createInternalData(),_=(0,_vue.ref)(),v=(0,_vue.ref)(),g=(0,_vue.ref)(),f=(0,_vue.computed)(()=>{var{width:e,height:t,minHeight:l,minWidth:i,maxHeight:n,maxWidth:o}=m,a={};return e&&(a.width=(0,_dom.toCssUnit)(e)),t&&(a.height=(0,_dom.toCssUnit)(t)),i&&(a.minWidth=(0,_dom.toCssUnit)(i)),l&&(a.minHeight=(0,_dom.toCssUnit)(l)),o&&(a.maxWidth=(0,_dom.toCssUnit)(o)),n&&(a.maxHeight=(0,_dom.toCssUnit)(n)),a}),l={refElem:_},x={xID:t,props:m,context:e,reactData:h,internalData:a,getRefMaps:()=>l},r=(e,t,l)=>{i(e,createEvent(l,{$tooltip:x},t))},n=e=>{e!==h.visible&&(h.visible=e,h.isUpdate=!0,i("update:modelValue",e))},o=()=>{var e=m.zIndex;e?h.tipZindex=_xeUtils.default.toNumber(e):h.tipZindex<(0,_utils.getLastZIndex)()&&(h.tipZindex=(0,_utils.nextZIndex)())},u=()=>{h.visible?x.close():T(h.target||U(),m.content)},s=()=>{T(h.target||U(),m.content)},y=()=>{var{trigger:e,enterable:t,leaveDelay:l}=m;h.tipActive=!1,t&&"hover"===e?setTimeout(()=>{h.tipActive||x.close()},l):x.close()},b=()=>{h.tipActive=!0},C=()=>{var{trigger:e,enterable:t,leaveDelay:l}=m;h.tipActive=!1,t&&"hover"===e&&setTimeout(()=>{h.tipActive||x.close()},l)},S=()=>{var e=m.appendTo,t=h.tipStore,l=_.value;return l&&!l.parentNode&&(0,_dom.getPopupAppendElement)(e).appendChild(l),n(!0),o(),t.placement="top",t.style={width:"auto",left:0,top:0,zIndex:m.zIndex||h.tipZindex},t.arrowStyle={left:"50%"},x.updatePlacement().then(()=>x.updatePlacement())},w=()=>{a.showDelayTip=_xeUtils.default.debounce(()=>{h.tipActive&&S()},m.enterDelay,{leading:!1,trailing:!0})},T=(e,t,l)=>{var i=p.content;if((i||""!==t&&!_xeUtils.default.eqNull(t))&&e){var i=a.showDelayTip,{trigger:n,enterDelay:o}=m;if(h.tipPos=l?{x:l.clientX,y:l.clientY,oLeft:l.offsetX,oTop:l.offsetY}:null,h.tipActive=!0,h.tipTarget=e,h.tipContent=t,h.visible)return x.updatePlacement();if(!o||"hover"!==n)return e=S(),r("show",{},l||null),e;i&&i(),r("show",{},l||null)}return(0,_vue.nextTick)()},U=()=>{var e=m.selector;if(e){if(_xeUtils.default.isElement(e))return e;if(_xeUtils.default.isString(e))return document.querySelector(e)}return null},D=()=>{var{placement:l,defaultPlacement:i,appendTo:n,isArrow:o}=m,{tipTarget:a,tipStore:r,tipPos:u,tipZindex:s}=h,p=_.value;if(a&&p){var d=a.getBoundingClientRect(),c=a.offsetWidth,v=a.offsetHeight,g=p.offsetWidth,f=d.left;let e=0,t=0;u&&(u.oLeft||u.oTop)&&(e=f,t=d.top+v,o?e=e+Math.max(8,Math.min(c-8,u.oLeft))-g/2:(e=u.x+1,t=u.y+1));f=(0,_dom.updatePanelPlacement)(a,p,{defaultTop:t,defaultLeft:e,placement:l,defaultPlacement:i,appendTo:n,isMinWidth:!1,teleportTo:!0}),d=Object.assign(f.style,{zIndex:s});r.placement=f.placement,r.style=d,r.arrowStyle.left=f.arrowLeft?f.arrowLeft+"px":""}return(0,_vue.nextTick)()};t={dispatchEvent:r,openByEvent(e,t,l){return T(t||h.target||U(),l,e)},open(e,t){return T(e||h.target||U(),t)},close(){return h.tipPos=null,h.tipTarget=null,h.tipActive=!1,Object.assign(h.tipStore,{style:{},placement:"",arrowStyle:null}),n(!1),r("hide",{},null),(0,_vue.nextTick)()},toVisible(e,t){return T(e,t)},updatePlacement(){return D().then(()=>D()).then(()=>{setTimeout(()=>{D()},15)})},isActived(){return h.tipActive},setActived(e){h.tipActive=!!e}};let N=e=>{e.stopPropagation()},E=()=>{h.visible&&x.updatePlacement()},V=()=>{x.close()};e={handleCloseEvent:y};Object.assign(x,t,e);return(0,_vue.watch)(()=>m.enterDelay,()=>{w()}),(0,_vue.watch)(()=>m.content,e=>{h.tipContent=e}),(0,_vue.watch)(()=>m.modelValue,e=>{h.isUpdate||(e?T(h.target||U(),m.content):x.close()),h.isUpdate=!1}),w(),(0,_vue.onMounted)(()=>{var e=v.value,e=(e&&(e=e.getViewElem())&&(e.addEventListener("wheel",N,{passive:!1}),a.scrollbarViewEl=e),g.value);e&&e.addEventListener("wheel",N,{passive:!1}),(0,_vue.nextTick)(()=>{var e,{trigger:t,content:i}=m;let n=_.value;if(n){let l=n.parentNode;l&&(h.tipContent=i,h.tipZindex=(0,_utils.nextZIndex)(),_xeUtils.default.arrayEach(n.children,(e,t)=>{t&&(l.insertBefore(e,n),h.target||(h.target=e))}),l.removeChild(n),e=h.target,e&&("hover"===t?(e.onmouseenter=s,e.onmouseleave=y):"click"===t&&(e.onclick=u)),m.modelValue)&&T(e||U(),i)}}),globalEvents.on(x,"blur",V),globalEvents.on(x,"scroll",E)}),(0,_vue.onBeforeUnmount)(()=>{var e=h.target,t=a.scrollbarViewEl,l=_.value,e=(e&&(e.onmouseenter=null,e.onmouseleave=null,e.onclick=null),g.value);e&&e.removeEventListener("wheel",N),t&&t.removeEventListener("wheel",N),l&&(e=l.parentNode)&&e.removeChild(l),globalEvents.off(x,"blur"),globalEvents.off(x,"scroll"),_xeUtils.default.assign(h,createReactData()),_xeUtils.default.assign(a,createInternalData())}),x.renderVN=()=>{var{popupClassName:e,theme:t,isArrow:l,enterable:i}=m,{tipActive:n,visible:o,tipStore:a}=h,r=p.default,u=d.value;let s;return i&&(s={onMouseenter:b,onMouseleave:C}),(0,_vue.h)("div",Object.assign({ref:_,class:["vxe-tooltip--wrapper","theme--"+t,e?_xeUtils.default.isFunction(e)?e({$tooltip:x}):e:"",{["size--"+u]:u,["placement--"+a.placement]:a.placement,"is--enterable":i,"is--visible":o,"is--arrow":l,"is--active":n}],style:a.style},s),[(0,_vue.h)("div",{key:"tby",class:"vxe-tooltip--body"},[(()=>{var{theme:e,useHtml:t,useHTML:l}=m,i=h.tipContent,n=c.value,o=f.value,a=p.content;let r=[];return a?r.push((0,_vue.h)("div",{key:"ct"},(0,_vn.getSlotVNs)(a({})))):(_xeUtils.default.isBoolean(t)?t:l)?r.push((0,_vue.h)("div",{key:"ch",innerHTML:i})):r.push((0,_vue.h)("span",{key:"cd"},""+i)),n?(0,_vue.h)(_scrollbar.default,{key:5,ref:v,class:"vxe-tooltip--scrollbar-content",theme:e,viewClassName:"vxe-tooltip--scrollbar-content-view",viewInnerClassName:"vxe-tooltip--scrollbar-content-inner",viewStyle:o},{default:()=>r}):(0,_vue.h)("div",{key:3,ref:g,class:"vxe-tooltip--content",style:o},r)})(),(0,_vue.h)("div",{class:"vxe-tooltip--arrow",style:a.arrowStyle})]),...r?(0,_vn.getSlotVNs)(r({})):[]])},x},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"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_vn=require("../../ui/src/vn"),_scrollbar=_interopRequireDefault(require("../../scrollbar"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{baseUtils,getConfig,createEvent,globalEvents}=_ui.VxeUI,getDefVal=baseUtils.getDefVal;function createReactData(){return{target:null,isUpdate:!1,visible:!1,tipPos:null,tipContent:"",tipActive:!1,tipTarget:null,tipZindex:0,tipStore:{style:{},placement:"",arrowStyle:{}}}}function createInternalData(){return{}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTooltip",props:{modelValue:Boolean,size:{type:String,default:()=>getConfig().tooltip.size||getConfig().size},selector:[String,Element],trigger:{type:String,default:()=>getConfig().tooltip.trigger||"hover"},theme:{type:String,default:()=>getConfig().tooltip.theme||"dark"},content:{type:[String,Number],default:null},useHtml:{type:Boolean,default:()=>_xeUtils.default.isBoolean(getConfig().tooltip.useHtml)?getConfig().tooltip.useHtml:null},useHTML:{type:Boolean,default:()=>getConfig().tooltip.useHTML},zIndex:[String,Number],popupClassName:[String,Function],width:{type:[String,Number],default:()=>getConfig().tooltip.Width},height:{type:[String,Number],default:()=>getConfig().tooltip.height},minWidth:{type:[String,Number],default:()=>getConfig().tooltip.minWidth},minHeight:{type:[String,Number],default:()=>getConfig().tooltip.minHeight},maxWidth:{type:[String,Number],default:()=>getConfig().tooltip.maxWidth},maxHeight:{type:[String,Number],default:()=>getConfig().tooltip.maxHeight},placement:{type:String,default:()=>getConfig().tooltip.placement},defaultPlacement:{type:String,default:()=>getConfig().tooltip.defaultPlacement},isArrow:{type:Boolean,default:()=>getConfig().tooltip.isArrow},enterable:{type:Boolean,default:()=>getConfig().tooltip.enterable},enterDelay:{type:Number,default:()=>getConfig().tooltip.enterDelay},leaveDelay:{type:Number,default:()=>getConfig().tooltip.leaveDelay},appendTo:{type:[String,Function],default:()=>getConfig().tooltip.appendTo},useScrollbar:{type:Boolean,default:()=>getDefVal(getConfig().tooltip.useScrollbar,getConfig().useScrollbar)},scrollbarConfig:Object},emits:["update:modelValue","show","hide"],setup(m,e){let{slots:p,emit:i}=e;var t=_xeUtils.default.uniqueId();let d=_ui.useFns.useSize(m).computeSize,c=_ui.useFns.useVScrollbar(m).computeIsVScrollbar,h=(0,_vue.reactive)(createReactData()),a=createInternalData(),_=(0,_vue.ref)(),v=(0,_vue.ref)(),g=(0,_vue.ref)(),f=(0,_vue.computed)(()=>{var{width:e,height:t,minHeight:l,minWidth:i,maxHeight:n,maxWidth:o}=m,a={};return e&&(a.width=(0,_dom.toCssUnit)(e)),t&&(a.height=(0,_dom.toCssUnit)(t)),i&&(a.minWidth=(0,_dom.toCssUnit)(i)),l&&(a.minHeight=(0,_dom.toCssUnit)(l)),o&&(a.maxWidth=(0,_dom.toCssUnit)(o)),n&&(a.maxHeight=(0,_dom.toCssUnit)(n)),a}),l={refElem:_},x={xID:t,props:m,context:e,reactData:h,internalData:a,getRefMaps:()=>l},r=(e,t,l)=>{i(e,createEvent(l,{$tooltip:x},t))},n=e=>{e!==h.visible&&(h.visible=e,h.isUpdate=!0,i("update:modelValue",e))},o=()=>{var e=m.zIndex;e?h.tipZindex=_xeUtils.default.toNumber(e):h.tipZindex<(0,_utils.getLastZIndex)()&&(h.tipZindex=(0,_utils.nextZIndex)())},u=()=>{h.visible?x.close():U(h.target||D(),m.content)},s=()=>{U(h.target||D(),m.content)},y=()=>{var{trigger:e,enterable:t,leaveDelay:l}=m;h.tipActive=!1,t&&"hover"===e?setTimeout(()=>{h.tipActive||x.close()},l):x.close()},b=()=>{h.tipActive=!0},C=()=>{var{trigger:e,enterable:t,leaveDelay:l}=m;h.tipActive=!1,t&&"hover"===e&&setTimeout(()=>{h.tipActive||x.close()},l)},S=()=>{var e=m.appendTo,t=h.tipStore,l=_.value;return l&&!l.parentNode&&(0,_dom.getPopupAppendElement)(e).appendChild(l),n(!0),o(),t.placement="top",t.style={width:"auto",left:0,top:0,zIndex:m.zIndex||h.tipZindex},t.arrowStyle={left:"50%"},x.updatePlacement().then(()=>x.updatePlacement())},w=()=>{a.showDelayTip=_xeUtils.default.debounce(()=>{h.tipActive&&S()},m.enterDelay,{leading:!1,trailing:!0})},U=(e,t,l)=>{var i=p.content;if((i||""!==t&&!_xeUtils.default.eqNull(t))&&e){var i=a.showDelayTip,{trigger:n,enterDelay:o}=m;if(h.tipPos=l?{x:l.clientX,y:l.clientY,oLeft:l.offsetX,oTop:l.offsetY}:null,h.tipActive=!0,h.tipTarget=e,h.tipContent=t,h.visible)return x.updatePlacement();if(!o||"hover"!==n)return e=S(),r("show",{},l||null),e;i&&i(),r("show",{},l||null)}return(0,_vue.nextTick)()},D=()=>{var e=m.selector;if(e){if(_xeUtils.default.isElement(e))return e;if(_xeUtils.default.isString(e))return document.querySelector(e)}return null},T=()=>{var{placement:l,defaultPlacement:i,appendTo:n,isArrow:o}=m,{tipTarget:a,tipStore:r,tipPos:u,tipZindex:s}=h,p=_.value;if(a&&p){var d=a.getBoundingClientRect(),c=a.offsetWidth,v=a.offsetHeight,g=p.offsetWidth,f=d.left;let e=0,t=0;u&&(u.oLeft||u.oTop)&&(e=f,t=d.top+v,o?e=e+Math.max(8,Math.min(c-8,u.oLeft))-g/2:(e=u.x+1,t=u.y+1));f=(0,_dom.updatePanelPlacement)(a,p,{defaultTop:t,defaultLeft:e,placement:l,defaultPlacement:i,appendTo:n,isMinWidth:!1,teleportTo:!0}),d=Object.assign(f.style,{zIndex:s});r.placement=f.placement,r.style=d,r.arrowStyle.left=f.arrowLeft?f.arrowLeft+"px":""}return(0,_vue.nextTick)()};t={dispatchEvent:r,openByEvent(e,t,l){return U(t||h.target||D(),l,e)},open(e,t){return U(e||h.target||D(),t)},close(){return h.tipPos=null,h.tipTarget=null,h.tipActive=!1,Object.assign(h.tipStore,{style:{},placement:"",arrowStyle:null}),n(!1),r("hide",{},null),(0,_vue.nextTick)()},toVisible(e,t){return U(e,t)},updatePlacement(){return T().then(()=>T()).then(()=>T())},isActived(){return h.tipActive},setActived(e){h.tipActive=!!e}};let N=e=>{e.stopPropagation()},E=()=>{h.visible&&x.updatePlacement()},V=()=>{x.close()};e={handleCloseEvent:y};Object.assign(x,t,e);return(0,_vue.watch)(()=>m.enterDelay,()=>{w()}),(0,_vue.watch)(()=>m.content,e=>{h.tipContent=e}),(0,_vue.watch)(()=>m.modelValue,e=>{h.isUpdate||(e?U(h.target||D(),m.content):x.close()),h.isUpdate=!1}),w(),(0,_vue.onMounted)(()=>{var e=v.value,e=(e&&(e=e.getScrollViewElem())&&(e.addEventListener("wheel",N,{passive:!1}),a.scrollbarViewEl=e),g.value);e&&e.addEventListener("wheel",N,{passive:!1}),(0,_vue.nextTick)(()=>{var e,{trigger:t,content:i}=m;let n=_.value;if(n){let l=n.parentNode;l&&(h.tipContent=i,h.tipZindex=(0,_utils.nextZIndex)(),_xeUtils.default.arrayEach(n.children,(e,t)=>{t&&(l.insertBefore(e,n),h.target||(h.target=e))}),l.removeChild(n),e=h.target,e&&("hover"===t?(e.onmouseenter=s,e.onmouseleave=y):"click"===t&&(e.onclick=u)),m.modelValue)&&U(e||D(),i)}}),globalEvents.on(x,"blur",V),globalEvents.on(x,"scroll",E)}),(0,_vue.onBeforeUnmount)(()=>{var e=h.target,t=a.scrollbarViewEl,l=_.value,e=(e&&(e.onmouseenter=null,e.onmouseleave=null,e.onclick=null),g.value);e&&e.removeEventListener("wheel",N),t&&t.removeEventListener("wheel",N),l&&(e=l.parentNode)&&e.removeChild(l),globalEvents.off(x,"blur"),globalEvents.off(x,"scroll"),_xeUtils.default.assign(h,createReactData()),_xeUtils.default.assign(a,createInternalData())}),x.renderVN=()=>{var{popupClassName:e,theme:t,isArrow:l,enterable:i}=m,{tipActive:n,visible:o,tipStore:a}=h,r=p.default,u=d.value;let s;return i&&(s={onMouseenter:b,onMouseleave:C}),(0,_vue.h)("div",Object.assign({ref:_,class:["vxe-tooltip--wrapper","theme--"+t,e?_xeUtils.default.isFunction(e)?e({$tooltip:x}):e:"",{["size--"+u]:u,["placement--"+a.placement]:a.placement,"is--enterable":i,"is--visible":o,"is--arrow":l,"is--active":n}],style:a.style},s),[(0,_vue.h)("div",{key:"tby",class:"vxe-tooltip--body"},[(()=>{var{theme:e,useHtml:t,useHTML:l}=m,i=h.tipContent,n=c.value,o=f.value,a=p.content;let r=[];return a?r.push((0,_vue.h)("div",{key:"ct"},(0,_vn.getSlotVNs)(a({})))):(_xeUtils.default.isBoolean(t)?t:l)?r.push((0,_vue.h)("div",{key:"ch",innerHTML:i})):r.push((0,_vue.h)("span",{key:"cd"},""+i)),n?(0,_vue.h)(_scrollbar.default,{key:5,ref:v,class:"vxe-tooltip--scrollbar-content",theme:e,viewClassName:"vxe-tooltip--scrollbar-content-view",viewInnerClassName:"vxe-tooltip--scrollbar-content-inner",viewStyle:o},{default:()=>r}):(0,_vue.h)("div",{key:3,ref:g,class:"vxe-tooltip--content",style:o},r)})(),(0,_vue.h)("div",{class:"vxe-tooltip--arrow",style:a.arrowStyle})]),...r?(0,_vn.getSlotVNs)(r({})):[]])},x},render(){return this.renderVN()}});
@@ -28,6 +28,8 @@
28
28
  .vxe-tooltip--wrapper .vxe-tooltip--content,
29
29
  .vxe-tooltip--wrapper .vxe-tooltip--scrollbar-content-view {
30
30
  padding: 8px 12px;
31
+ width: -moz-max-content;
32
+ width: max-content;
31
33
  max-width: 600px;
32
34
  max-height: 800px;
33
35
  white-space: pre-line;
@@ -1 +1 @@
1
- .vxe-tooltip--wrapper{display:none;position:absolute;top:-100%;left:-100%;font-size:12px;color:var(--vxe-ui-font-color);font-family:var(--vxe-ui-font-family);pointer-events:none}.vxe-tooltip--wrapper.is--visible{display:inline-block}.vxe-tooltip--wrapper.is--arrow .vxe-tooltip--arrow{display:block}.vxe-tooltip--wrapper.is--enterable:after{content:"";position:absolute;left:0;width:100%;height:6px;background-color:transparent}.vxe-tooltip--wrapper.is--enterable .vxe-tooltip--body{pointer-events:all}.vxe-tooltip--wrapper .vxe-tooltip--content,.vxe-tooltip--wrapper .vxe-tooltip--scrollbar-content-view{padding:8px 12px;max-width:600px;max-height:800px;white-space:pre-line;border-radius:var(--vxe-ui-base-border-radius);overflow:auto}.vxe-tooltip--wrapper .vxe-tooltip--arrow{display:none;position:absolute;border-color:transparent;border-width:6px;border-style:solid;left:50%;transform:translateX(-6px)}.vxe-tooltip--wrapper .vxe-tooltip--arrow:before{content:"";position:absolute;border-color:transparent;border-width:5px;border-style:solid;left:-5px}.vxe-tooltip--wrapper.placement--top.is--arrow{padding-bottom:6px}.vxe-tooltip--wrapper.placement--top.is--enterable:after{bottom:-6px}.vxe-tooltip--wrapper.placement--top .vxe-tooltip--arrow{bottom:-11px}.vxe-tooltip--wrapper.placement--top .vxe-tooltip--arrow:before{top:-7px}.vxe-tooltip--wrapper.placement--bottom.is--arrow{padding-top:6px}.vxe-tooltip--wrapper.placement--bottom.is--enterable:after{top:-6px}.vxe-tooltip--wrapper.placement--bottom .vxe-tooltip--arrow{top:-11px}.vxe-tooltip--wrapper.placement--bottom .vxe-tooltip--arrow:before{top:-3px}.vxe-tooltip--body{position:relative;border-radius:var(--vxe-ui-base-border-radius);white-space:normal;word-break:break-word;box-shadow:2px 2px 4px -2px rgba(0,0,0,.2)}.vxe-tooltip--wrapper.theme--light .vxe-tooltip--body{background-color:var(--vxe-ui-layout-background-color);border:1px solid var(--vxe-ui-input-border-color)}.vxe-tooltip--wrapper.theme--light.placement--top .vxe-tooltip--arrow{border-top-color:var(--vxe-ui-input-border-color)}.vxe-tooltip--wrapper.theme--light.placement--top .vxe-tooltip--arrow:before{border-top-color:var(--vxe-ui-layout-background-color)}.vxe-tooltip--wrapper.theme--light.placement--bottom .vxe-tooltip--arrow{border-bottom-color:var(--vxe-ui-input-border-color)}.vxe-tooltip--wrapper.theme--light.placement--bottom .vxe-tooltip--arrow:before{border-bottom-color:var(--vxe-ui-layout-background-color)}.vxe-tooltip--wrapper.theme--dark .vxe-tooltip--body{background:var(--vxe-ui-tooltip-dark-background-color);color:var(--vxe-ui-tooltip-dark-color)}.vxe-tooltip--wrapper.theme--dark.placement--top .vxe-tooltip--arrow{border-top-color:var(--vxe-ui-tooltip-dark-background-color)}.vxe-tooltip--wrapper.theme--dark.placement--top .vxe-tooltip--arrow:before{border-top-color:var(--vxe-ui-tooltip-dark-background-color)}.vxe-tooltip--wrapper.theme--dark.placement--bottom .vxe-tooltip--arrow{border-bottom-color:var(--vxe-ui-tooltip-dark-background-color)}.vxe-tooltip--wrapper.theme--dark.placement--bottom .vxe-tooltip--arrow:before{border-bottom-color:var(--vxe-ui-tooltip-dark-background-color)}
1
+ .vxe-tooltip--wrapper{display:none;position:absolute;top:-100%;left:-100%;font-size:12px;color:var(--vxe-ui-font-color);font-family:var(--vxe-ui-font-family);pointer-events:none}.vxe-tooltip--wrapper.is--visible{display:inline-block}.vxe-tooltip--wrapper.is--arrow .vxe-tooltip--arrow{display:block}.vxe-tooltip--wrapper.is--enterable:after{content:"";position:absolute;left:0;width:100%;height:6px;background-color:transparent}.vxe-tooltip--wrapper.is--enterable .vxe-tooltip--body{pointer-events:all}.vxe-tooltip--wrapper .vxe-tooltip--content,.vxe-tooltip--wrapper .vxe-tooltip--scrollbar-content-view{padding:8px 12px;width:-moz-max-content;width:max-content;max-width:600px;max-height:800px;white-space:pre-line;border-radius:var(--vxe-ui-base-border-radius);overflow:auto}.vxe-tooltip--wrapper .vxe-tooltip--arrow{display:none;position:absolute;border-color:transparent;border-width:6px;border-style:solid;left:50%;transform:translateX(-6px)}.vxe-tooltip--wrapper .vxe-tooltip--arrow:before{content:"";position:absolute;border-color:transparent;border-width:5px;border-style:solid;left:-5px}.vxe-tooltip--wrapper.placement--top.is--arrow{padding-bottom:6px}.vxe-tooltip--wrapper.placement--top.is--enterable:after{bottom:-6px}.vxe-tooltip--wrapper.placement--top .vxe-tooltip--arrow{bottom:-11px}.vxe-tooltip--wrapper.placement--top .vxe-tooltip--arrow:before{top:-7px}.vxe-tooltip--wrapper.placement--bottom.is--arrow{padding-top:6px}.vxe-tooltip--wrapper.placement--bottom.is--enterable:after{top:-6px}.vxe-tooltip--wrapper.placement--bottom .vxe-tooltip--arrow{top:-11px}.vxe-tooltip--wrapper.placement--bottom .vxe-tooltip--arrow:before{top:-3px}.vxe-tooltip--body{position:relative;border-radius:var(--vxe-ui-base-border-radius);white-space:normal;word-break:break-word;box-shadow:2px 2px 4px -2px rgba(0,0,0,.2)}.vxe-tooltip--wrapper.theme--light .vxe-tooltip--body{background-color:var(--vxe-ui-layout-background-color);border:1px solid var(--vxe-ui-input-border-color)}.vxe-tooltip--wrapper.theme--light.placement--top .vxe-tooltip--arrow{border-top-color:var(--vxe-ui-input-border-color)}.vxe-tooltip--wrapper.theme--light.placement--top .vxe-tooltip--arrow:before{border-top-color:var(--vxe-ui-layout-background-color)}.vxe-tooltip--wrapper.theme--light.placement--bottom .vxe-tooltip--arrow{border-bottom-color:var(--vxe-ui-input-border-color)}.vxe-tooltip--wrapper.theme--light.placement--bottom .vxe-tooltip--arrow:before{border-bottom-color:var(--vxe-ui-layout-background-color)}.vxe-tooltip--wrapper.theme--dark .vxe-tooltip--body{background:var(--vxe-ui-tooltip-dark-background-color);color:var(--vxe-ui-tooltip-dark-color)}.vxe-tooltip--wrapper.theme--dark.placement--top .vxe-tooltip--arrow{border-top-color:var(--vxe-ui-tooltip-dark-background-color)}.vxe-tooltip--wrapper.theme--dark.placement--top .vxe-tooltip--arrow:before{border-top-color:var(--vxe-ui-tooltip-dark-background-color)}.vxe-tooltip--wrapper.theme--dark.placement--bottom .vxe-tooltip--arrow{border-bottom-color:var(--vxe-ui-tooltip-dark-background-color)}.vxe-tooltip--wrapper.theme--dark.placement--bottom .vxe-tooltip--arrow:before{border-bottom-color:var(--vxe-ui-tooltip-dark-background-color)}
@@ -24,17 +24,14 @@ const {
24
24
  } = (0, _log.createComponentLog)('tree');
25
25
  const {
26
26
  menus,
27
- scrollbarUtils,
28
27
  getConfig,
29
28
  getI18n,
30
- getIcon
29
+ getIcon,
30
+ baseUtils
31
31
  } = _ui.VxeUI;
32
32
  const {
33
- getThumbOffsetSize,
34
- getThumbSize,
35
- getScrollFromClick,
36
- getScrollFromDrag
37
- } = scrollbarUtils;
33
+ getDefVal
34
+ } = baseUtils;
38
35
  /**
39
36
  * 生成节点的唯一主键
40
37
  */
@@ -239,7 +236,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
239
236
  virtualYConfig: Object,
240
237
  useScrollbar: {
241
238
  type: Boolean,
242
- default: () => (0, _utils.getDefaultConfig)(getConfig().tree.useScrollbar, getConfig().useScrollbar)
239
+ default: () => getDefVal(getConfig().tree.useScrollbar, getConfig().useScrollbar)
243
240
  },
244
241
  scrollbarConfig: Object
245
242
  },
@@ -250,28 +247,24 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
250
247
  slots
251
248
  } = context;
252
249
  const xID = _xeUtils.default.uniqueId();
253
- const {
254
- computeSize
255
- } = _ui.useFns.useSize(props);
256
- const {
257
- computeIsVScrollbar
258
- } = _ui.useFns.useVScrollbar(props);
259
250
  const refElem = (0, _vue.ref)();
260
251
  const refHeaderWrapperElem = (0, _vue.ref)();
261
252
  const refFooterWrapperElem = (0, _vue.ref)();
262
253
  const refVirtualWrapper = (0, _vue.ref)();
263
254
  const refVirtualSpaceElem = (0, _vue.ref)();
264
255
  const refVirtualBody = (0, _vue.ref)();
265
- const refTrackXElem = (0, _vue.ref)();
266
- const refTrackYElem = (0, _vue.ref)();
267
- const refThumbXElem = (0, _vue.ref)();
268
- const refThumbYElem = (0, _vue.ref)();
269
256
  const refDragNodeLineElem = (0, _vue.ref)();
270
257
  const refDragTipElem = (0, _vue.ref)();
271
258
  const refTooltip = (0, _vue.ref)();
272
259
  const crossTreeDragNodeInfo = (0, _store.getCrossTreeDragNodeInfo)();
273
260
  const internalData = createInternalData();
274
261
  const reactData = (0, _vue.reactive)(createReactData());
262
+ const {
263
+ computeSize
264
+ } = _ui.useFns.useSize(props);
265
+ const {
266
+ computeIsVScrollbar
267
+ } = _ui.useFns.useVScrollbar(props);
275
268
  const refMaps = {
276
269
  refElem
277
270
  };
@@ -414,32 +407,32 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
414
407
  const computeScrollXHeight = (0, _vue.computed)(() => {
415
408
  const scrollbarOpts = computeScrollbarOpts.value;
416
409
  const scrollbarXOpts = computeScrollbarXOpts.value;
417
- return (0, _utils.getDefaultConfig)((0, _utils.getDefaultConfig)(scrollbarXOpts.height, scrollbarOpts.height), getConfig().scrollbar.height);
410
+ return getDefVal(getDefVal(scrollbarXOpts.height, scrollbarOpts.height), getConfig().scrollbar.height);
418
411
  });
419
412
  const computeScrollYWidth = (0, _vue.computed)(() => {
420
413
  const scrollbarOpts = computeScrollbarOpts.value;
421
414
  const scrollbarYOpts = computeScrollbarYOpts.value;
422
- return (0, _utils.getDefaultConfig)((0, _utils.getDefaultConfig)(scrollbarYOpts.width, scrollbarOpts.width), getConfig().scrollbar.width);
415
+ return getDefVal(getDefVal(scrollbarYOpts.width, scrollbarOpts.width), getConfig().scrollbar.width);
423
416
  });
424
417
  const computeScrollXVisible = (0, _vue.computed)(() => {
425
418
  const scrollbarOpts = computeScrollbarOpts.value;
426
419
  const scrollbarXOpts = computeScrollbarXOpts.value;
427
- return (0, _utils.getDefaultConfig)(scrollbarXOpts.visible, scrollbarOpts.visible);
420
+ return getDefVal(scrollbarXOpts.visible, scrollbarOpts.visible);
428
421
  });
429
422
  const computeScrollYVisible = (0, _vue.computed)(() => {
430
423
  const scrollbarOpts = computeScrollbarOpts.value;
431
424
  const scrollbarYOpts = computeScrollbarYOpts.value;
432
- return (0, _utils.getDefaultConfig)(scrollbarYOpts.visible, scrollbarOpts.visible);
425
+ return getDefVal(scrollbarYOpts.visible, scrollbarOpts.visible);
433
426
  });
434
427
  const computeScrollXAutoHide = (0, _vue.computed)(() => {
435
428
  const scrollbarOpts = computeScrollbarOpts.value;
436
429
  const scrollbarXOpts = computeScrollbarXOpts.value;
437
- return (0, _utils.getDefaultConfig)((0, _utils.getDefaultConfig)(scrollbarXOpts.autoHide, scrollbarOpts.autoHide), getConfig().scrollbar.autoHide);
430
+ return getDefVal(getDefVal(scrollbarXOpts.autoHide, scrollbarOpts.autoHide), getConfig().scrollbar.autoHide);
438
431
  });
439
432
  const computeScrollYAutoHide = (0, _vue.computed)(() => {
440
433
  const scrollbarOpts = computeScrollbarOpts.value;
441
434
  const scrollbarYOpts = computeScrollbarYOpts.value;
442
- return (0, _utils.getDefaultConfig)((0, _utils.getDefaultConfig)(scrollbarYOpts.autoHide, scrollbarOpts.autoHide), getConfig().scrollbar.autoHide);
435
+ return getDefVal(getDefVal(scrollbarYOpts.autoHide, scrollbarOpts.autoHide), getConfig().scrollbar.autoHide);
443
436
  });
444
437
  const computeScrollbarWrapperClss = (0, _vue.computed)(() => {
445
438
  const {
@@ -482,6 +475,21 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
482
475
  getRefMaps: () => refMaps,
483
476
  getComputeMaps: () => computeMaps
484
477
  };
478
+ const {
479
+ refTrackXElem,
480
+ refTrackYElem,
481
+ refThumbXElem,
482
+ refThumbYElem,
483
+ updateThumbSize,
484
+ updateThumbOffset,
485
+ clickTrackXEvent,
486
+ clickTrackYEvent,
487
+ pointerdownThumbXEvent,
488
+ pointermoveThumbXEvent,
489
+ cleatPointerThumbEvent,
490
+ pointerdownThumbYEvent,
491
+ pointermoveThumbYEvent
492
+ } = _ui.useFns.useInitVScrollbar($xeTree);
485
493
  const getNodeId = node => {
486
494
  if (!node) {
487
495
  return '';
@@ -2031,6 +2039,10 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
2031
2039
  };
2032
2040
  const treeMethods = {
2033
2041
  dispatchEvent,
2042
+ getScrollViewElem() {
2043
+ const viewEl = refVirtualWrapper.value;
2044
+ return viewEl || null;
2045
+ },
2034
2046
  getNodeId,
2035
2047
  getNodeById(nodeid) {
2036
2048
  const {
@@ -3494,183 +3506,6 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
3494
3506
  }
3495
3507
  }
3496
3508
  };
3497
- const updateThumbSize = () => {
3498
- const viewEl = refVirtualWrapper.value;
3499
- if (!viewEl) {
3500
- return;
3501
- }
3502
- if (!viewEl.clientHeight || !viewEl.clientHeight) {
3503
- return;
3504
- }
3505
- const trackXEl = refTrackXElem.value;
3506
- const xThumbWidth = trackXEl ? getThumbSize(viewEl.clientWidth, viewEl.scrollWidth, trackXEl.clientWidth) : 0;
3507
- const thumbXElem = refThumbXElem.value;
3508
- if (thumbXElem) {
3509
- thumbXElem.style.width = xThumbWidth + 'px';
3510
- }
3511
- reactData.xThumbWidth = xThumbWidth;
3512
- const trackYEl = refTrackYElem.value;
3513
- const yThumbHeight = trackYEl ? getThumbSize(viewEl.clientHeight, viewEl.scrollHeight, trackYEl.clientHeight) : 0;
3514
- const thumbYElem = refThumbYElem.value;
3515
- if (thumbYElem) {
3516
- thumbYElem.style.height = yThumbHeight + 'px';
3517
- }
3518
- reactData.yThumbHeight = yThumbHeight;
3519
- };
3520
- const updateThumbOffset = () => {
3521
- const viewEl = refVirtualWrapper.value;
3522
- if (!viewEl) {
3523
- return;
3524
- }
3525
- if (!viewEl.clientHeight || !viewEl.clientHeight) {
3526
- return;
3527
- }
3528
- const {
3529
- xThumbWidth,
3530
- yThumbHeight
3531
- } = reactData;
3532
- const trackXEl = refTrackXElem.value;
3533
- const thumbXElem = refThumbXElem.value;
3534
- const xThumbLeft = trackXEl && xThumbWidth ? getThumbOffsetSize(viewEl.scrollLeft, viewEl.clientWidth, viewEl.scrollWidth, trackXEl.clientWidth, xThumbWidth) : 0;
3535
- internalData.xThumbLeft = xThumbLeft;
3536
- if (thumbXElem && xThumbWidth) {
3537
- thumbXElem.style.width = xThumbWidth + 'px';
3538
- thumbXElem.style.transform = `translateX(${xThumbLeft}px)`;
3539
- }
3540
- const trackYEl = refTrackYElem.value;
3541
- const thumbYElem = refThumbYElem.value;
3542
- const yThumbTop = trackYEl && yThumbHeight ? getThumbOffsetSize(viewEl.scrollTop, viewEl.clientHeight, viewEl.scrollHeight, trackYEl.clientHeight, yThumbHeight) : 0;
3543
- internalData.yThumbTop = yThumbTop;
3544
- if (thumbYElem && yThumbHeight) {
3545
- thumbYElem.style.height = yThumbHeight + 'px';
3546
- thumbYElem.style.transform = `translateY(${yThumbTop}px)`;
3547
- }
3548
- };
3549
- const clickTrackXEvent = evnt => {
3550
- const trackEl = evnt.currentTarget;
3551
- if (trackEl !== evnt.target) {
3552
- return;
3553
- }
3554
- const viewEl = refVirtualWrapper.value;
3555
- if (!viewEl) {
3556
- return;
3557
- }
3558
- const {
3559
- xThumbWidth
3560
- } = reactData;
3561
- const trackRect = trackEl.getBoundingClientRect();
3562
- viewEl.scrollTo({
3563
- left: getScrollFromClick(evnt.clientX - trackRect.left, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth),
3564
- behavior: 'auto'
3565
- });
3566
- };
3567
- const clickTrackYEvent = evnt => {
3568
- const trackEl = evnt.currentTarget;
3569
- if (trackEl !== evnt.target) {
3570
- return;
3571
- }
3572
- const viewEl = refVirtualWrapper.value;
3573
- if (!viewEl) {
3574
- return;
3575
- }
3576
- const {
3577
- yThumbHeight
3578
- } = reactData;
3579
- const trackRect = trackEl.getBoundingClientRect();
3580
- viewEl.scrollTo({
3581
- top: getScrollFromClick(evnt.clientY - trackRect.top, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight),
3582
- behavior: 'auto'
3583
- });
3584
- };
3585
- const pointerdownThumbXEvent = evnt => {
3586
- const thumbEl = evnt.currentTarget;
3587
- internalData.isThumbDrag = true;
3588
- thumbEl.setPointerCapture(evnt.pointerId);
3589
- const viewEl = refVirtualWrapper.value;
3590
- if (!viewEl) {
3591
- return;
3592
- }
3593
- const {
3594
- xThumbWidth
3595
- } = reactData;
3596
- const trackEl = thumbEl.parentElement;
3597
- const trackRect = trackEl.getBoundingClientRect();
3598
- const pointerPosition = evnt.clientX - trackRect.left;
3599
- // 记录 thumb 的偏移
3600
- const thumbOffset = getThumbOffsetSize(viewEl.scrollLeft, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth);
3601
- internalData.thumbDragOffset = pointerPosition - thumbOffset;
3602
- };
3603
- const pointermoveThumbXEvent = evnt => {
3604
- const thumbEl = evnt.currentTarget;
3605
- if (!thumbEl.hasPointerCapture(evnt.pointerId)) {
3606
- return;
3607
- }
3608
- const {
3609
- isThumbDrag,
3610
- thumbDragOffset
3611
- } = internalData;
3612
- if (isThumbDrag) {
3613
- const viewEl = refVirtualWrapper.value;
3614
- if (!viewEl) {
3615
- return;
3616
- }
3617
- const {
3618
- xThumbWidth
3619
- } = reactData;
3620
- const thumbEl = evnt.currentTarget;
3621
- const trackEl = thumbEl.parentElement;
3622
- const trackRect = trackEl.getBoundingClientRect();
3623
- // 更新偏移
3624
- viewEl.scrollLeft = getScrollFromDrag(evnt.clientX - trackRect.left, thumbDragOffset, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth);
3625
- }
3626
- };
3627
- const cleatPointerThumbEvent = evnt => {
3628
- const thumbEl = evnt.currentTarget;
3629
- thumbEl.releasePointerCapture(evnt.pointerId);
3630
- internalData.isThumbDrag = false;
3631
- };
3632
- const pointerdownThumbYEvent = evnt => {
3633
- const thumbEl = evnt.currentTarget;
3634
- internalData.isThumbDrag = true;
3635
- thumbEl.setPointerCapture(evnt.pointerId);
3636
- const viewEl = refVirtualWrapper.value;
3637
- if (!viewEl) {
3638
- return;
3639
- }
3640
- const {
3641
- yThumbHeight
3642
- } = reactData;
3643
- const trackEl = thumbEl.parentElement;
3644
- const trackRect = trackEl.getBoundingClientRect();
3645
- const pointerPosition = evnt.clientY - trackRect.top;
3646
- // 记录 thumb 的偏移
3647
- const thumbOffset = getThumbOffsetSize(viewEl.scrollTop, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight);
3648
- internalData.thumbDragOffset = pointerPosition - thumbOffset;
3649
- };
3650
- const pointermoveThumbYEvent = evnt => {
3651
- const thumbEl = evnt.currentTarget;
3652
- if (!thumbEl.hasPointerCapture(evnt.pointerId)) {
3653
- return;
3654
- }
3655
- const {
3656
- isThumbDrag,
3657
- thumbDragOffset
3658
- } = internalData;
3659
- if (isThumbDrag) {
3660
- const viewEl = refVirtualWrapper.value;
3661
- if (!viewEl) {
3662
- return;
3663
- }
3664
- const {
3665
- yThumbHeight
3666
- } = reactData;
3667
- const thumbEl = evnt.currentTarget;
3668
- const trackEl = thumbEl.parentElement;
3669
- const trackRect = trackEl.getBoundingClientRect();
3670
- // 更新偏移
3671
- viewEl.scrollTop = getScrollFromDrag(evnt.clientY - trackRect.top, thumbDragOffset, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight);
3672
- }
3673
- };
3674
3509
  Object.assign($xeTree, treeMethods, treePrivateMethods);
3675
3510
  const renderDragIcon = (node, nodeid) => {
3676
3511
  const {