vxe-pc-ui 3.20.2 → 3.20.6

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/es/button/src/button.js +1 -0
  2. package/es/cascader/src/cascader.js +1 -0
  3. package/es/color-picker/src/color-picker.js +1 -0
  4. package/es/date-picker/src/date-picker.js +1 -0
  5. package/es/date-range-picker/src/date-range-picker.js +1 -0
  6. package/es/icon/style.css +1 -1
  7. package/es/icon-picker/src/icon-picker.js +1 -0
  8. package/es/list/src/list.js +3 -2
  9. package/es/pulldown/src/pulldown.js +1 -0
  10. package/es/scrollbar/src/scrollbar.js +2 -2
  11. package/es/select/src/select.js +1 -0
  12. package/es/style.css +1 -1
  13. package/es/style.min.css +1 -1
  14. package/es/table-select/src/table-select.js +1 -0
  15. package/es/tooltip/src/tooltip.js +2 -1
  16. package/es/tree/src/tree.js +2 -2
  17. package/es/tree-select/src/tree-select.js +1 -0
  18. package/es/ui/index.js +1 -1
  19. package/es/ui/src/dom.js +11 -8
  20. package/es/ui/src/log.js +1 -1
  21. package/lib/button/src/button.js +1 -0
  22. package/lib/button/src/button.min.js +1 -1
  23. package/lib/cascader/src/cascader.js +1 -0
  24. package/lib/cascader/src/cascader.min.js +1 -1
  25. package/lib/color-picker/src/color-picker.js +1 -0
  26. package/lib/color-picker/src/color-picker.min.js +1 -1
  27. package/lib/date-picker/src/date-picker.js +1 -0
  28. package/lib/date-picker/src/date-picker.min.js +1 -1
  29. package/lib/date-range-picker/src/date-range-picker.js +1 -0
  30. package/lib/date-range-picker/src/date-range-picker.min.js +1 -1
  31. package/lib/icon/style/style.css +1 -1
  32. package/lib/icon/style/style.min.css +1 -1
  33. package/lib/icon-picker/src/icon-picker.js +1 -0
  34. package/lib/icon-picker/src/icon-picker.min.js +1 -1
  35. package/lib/index.umd.js +99 -119
  36. package/lib/index.umd.min.js +1 -1
  37. package/lib/list/src/list.js +57 -46
  38. package/lib/list/src/list.min.js +1 -1
  39. package/lib/pulldown/src/pulldown.js +1 -0
  40. package/lib/pulldown/src/pulldown.min.js +1 -1
  41. package/lib/scrollbar/src/scrollbar.js +15 -11
  42. package/lib/scrollbar/src/scrollbar.min.js +1 -1
  43. package/lib/select/src/select.js +1 -0
  44. package/lib/select/src/select.min.js +1 -1
  45. package/lib/style.css +1 -1
  46. package/lib/style.min.css +1 -1
  47. package/lib/table-select/src/table-select.js +1 -0
  48. package/lib/table-select/src/table-select.min.js +1 -1
  49. package/lib/tooltip/src/tooltip.js +2 -0
  50. package/lib/tooltip/src/tooltip.min.js +1 -1
  51. package/lib/tree/src/tree.js +15 -11
  52. package/lib/tree/src/tree.min.js +1 -1
  53. package/lib/tree-select/src/tree-select.js +1 -0
  54. package/lib/tree-select/src/tree-select.min.js +1 -1
  55. package/lib/ui/index.js +1 -1
  56. package/lib/ui/index.min.js +1 -1
  57. package/lib/ui/src/dom.js +11 -7
  58. package/lib/ui/src/dom.min.js +1 -1
  59. package/lib/ui/src/log.js +1 -1
  60. package/lib/ui/src/log.min.js +1 -1
  61. package/package.json +2 -2
  62. package/packages/button/src/button.ts +2 -1
  63. package/packages/cascader/src/cascader.ts +1 -0
  64. package/packages/color-picker/src/color-picker.ts +1 -0
  65. package/packages/date-picker/src/date-picker.ts +1 -0
  66. package/packages/date-range-picker/src/date-range-picker.ts +1 -0
  67. package/packages/icon-picker/src/icon-picker.ts +1 -0
  68. package/packages/list/src/list.ts +5 -2
  69. package/packages/pulldown/src/pulldown.ts +1 -0
  70. package/packages/scrollbar/src/scrollbar.ts +3 -2
  71. package/packages/select/src/select.ts +1 -0
  72. package/packages/table-select/src/table-select.ts +1 -0
  73. package/packages/tooltip/src/tooltip.ts +2 -1
  74. package/packages/tree/src/tree.ts +3 -2
  75. package/packages/tree-select/src/tree-select.ts +1 -0
  76. package/packages/ui/src/dom.ts +12 -8
  77. package/types/components/button.d.ts +4 -0
  78. package/types/components/cascader.d.ts +4 -0
  79. package/types/components/gantt-plugins/extend-gantt-chart.d.ts +1 -1
  80. package/types/components/layout-aside.d.ts +15 -0
  81. package/types/components/layout-body.d.ts +3 -0
  82. package/types/components/list.d.ts +15 -0
  83. package/types/components/number-input.d.ts +12 -2
  84. package/types/components/table-plugins/extend-pivot-table.d.ts +1 -1
  85. package/types/components/table.d.ts +3 -0
  86. package/types/components/tree.d.ts +12 -0
  87. package/es/scrollbar/src/util.js +0 -54
  88. package/lib/scrollbar/src/util.js +0 -63
  89. package/lib/scrollbar/src/util.min.js +0 -1
  90. package/packages/scrollbar/src/util.ts +0 -57
  91. /package/es/icon/{iconfont.1792034961185.ttf → iconfont.1792054426799.ttf} +0 -0
  92. /package/es/icon/{iconfont.1792034961185.woff → iconfont.1792054426799.woff} +0 -0
  93. /package/es/icon/{iconfont.1792034961185.woff2 → iconfont.1792054426799.woff2} +0 -0
  94. /package/es/{iconfont.1792034961185.ttf → iconfont.1792054426799.ttf} +0 -0
  95. /package/es/{iconfont.1792034961185.woff → iconfont.1792054426799.woff} +0 -0
  96. /package/es/{iconfont.1792034961185.woff2 → iconfont.1792054426799.woff2} +0 -0
  97. /package/lib/icon/style/{iconfont.1792034961185.ttf → iconfont.1792054426799.ttf} +0 -0
  98. /package/lib/icon/style/{iconfont.1792034961185.woff → iconfont.1792054426799.woff} +0 -0
  99. /package/lib/icon/style/{iconfont.1792034961185.woff2 → iconfont.1792054426799.woff2} +0 -0
  100. /package/lib/{iconfont.1792034961185.ttf → iconfont.1792054426799.ttf} +0 -0
  101. /package/lib/{iconfont.1792034961185.woff → iconfont.1792054426799.woff} +0 -0
  102. /package/lib/{iconfont.1792034961185.woff2 → iconfont.1792054426799.woff2} +0 -0
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.addClass=addClass,exports.getAbsolutePos=getAbsolutePos,exports.getDomNode=getDomNode,exports.getEventTargetNode=getEventTargetNode,exports.getOffsetPos=getOffsetPos,exports.getPaddingLeftRightSize=getPaddingLeftRightSize,exports.getPaddingTopBottomSize=getPaddingTopBottomSize,exports.getPopupAppendElement=getPopupAppendElement,exports.getPopupContainer=getPopupContainer,exports.getPopupWrapperElement=getPopupWrapperElement,exports.getPropClass=getPropClass,exports.getTpImg=getTpImg,exports.hasClass=hasClass,exports.hasControlKey=hasControlKey,exports.initTpImg=initTpImg,exports.isNodeElement=isNodeElement,exports.isPx=isPx,exports.isScale=isScale,exports.removeClass=removeClass,exports.scrollToView=scrollToView,exports.toCssUnit=toCssUnit,exports.triggerEvent=triggerEvent,exports.updatePanelPlacement=updatePanelPlacement;var tpImgEl,_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function initTpImg(){return tpImgEl||((tpImgEl=new Image).src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="),tpImgEl}function getTpImg(){return tpImgEl||initTpImg()}function getPropClass(e,t){return e&&(_xeUtils.default.isFunction(e)?e(t):e)||""}var reClsMap={};function getClsRE(e){return reClsMap[e]||(reClsMap[e]=new RegExp("(?:^|\\s)".concat(e,"(?!\\S)"),"g")),reClsMap[e]}function getNodeOffset(e,t,o){if(e){var n=e.parentNode;if(o.top+=e.offsetTop,o.left+=e.offsetLeft,n&&n!==document.documentElement&&n!==document.body&&(o.top-=n.scrollTop,o.left-=n.scrollLeft),(!t||e!==t&&e.offsetParent!==t)&&e.offsetParent)return getNodeOffset(e.offsetParent,t,o)}return o}function isPx(e){return e&&/^\d+(\.\d+)?(px)?$/.test(e)}function isScale(e){return e&&/^\d+(\.\d+)?%$/.test(e)}function hasClass(e,t){return!!e&&(e.classList?e.classList.contains(t):!!(e.className&&e.className.match&&e.className.match(getClsRE(t))))}function removeClass(e,t){e&&hasClass(e,t)&&(e.className=e.className.replace(getClsRE(t),""))}function addClass(e,t){e&&!hasClass(e,t)&&(removeClass(e,t),e.className="".concat(e.className," ").concat(t))}function hasControlKey(e){return e.ctrlKey||e.metaKey}function toCssUnit(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:"px";return _xeUtils.default.isNumber(e)||/^\d+$/.test("".concat(e))?"".concat(e).concat(t):"".concat(e||"")}function getDomNode(){var e=document.documentElement,t=document.body;return{scrollTop:e.scrollTop||t.scrollTop,scrollLeft:e.scrollLeft||t.scrollLeft,visibleHeight:e.clientHeight||t.clientHeight,visibleWidth:e.clientWidth||t.clientWidth}}function getEventTargetNode(e,t,o,n){for(var s,i=e.target.shadowRoot&&e.composed&&e.composedPath()[0]||e.target;i&&i.nodeType&&i!==document;){if(o&&hasClass(i,o)&&(!n||n(i)))s=i;else if(i===t)return{flag:!o||!!s,container:t,targetElem:s};i=i.parentNode}return{flag:!1}}function getOffsetPos(e,t){return getNodeOffset(e,t,{left:0,top:0})}function getAbsolutePos(e){var e=e.getBoundingClientRect(),t=e.top,e=e.left,o=getDomNode();return{boundingTop:t,top:o.scrollTop+t,boundingLeft:e,left:o.scrollLeft+e,visibleHeight:o.visibleHeight,visibleWidth:o.visibleWidth}}function getPaddingTopBottomSize(e){return e?(e=getComputedStyle(e),_xeUtils.default.toNumber(e.paddingTop)+_xeUtils.default.toNumber(e.paddingBottom)):0}function getPaddingLeftRightSize(e){return e?(e=getComputedStyle(e),_xeUtils.default.toNumber(e.paddingLeft)+_xeUtils.default.toNumber(e.paddingRight)):0}var scrollIntoViewIfNeeded="scrollIntoViewIfNeeded",scrollIntoView="scrollIntoView";function scrollToView(e){e&&(e[scrollIntoViewIfNeeded]?e[scrollIntoViewIfNeeded]():e[scrollIntoView]&&e[scrollIntoView]())}function triggerEvent(e,t){e&&e.dispatchEvent(new Event(t))}function isNodeElement(e){return e&&1===e.nodeType}function updatePanelPlacement(e,t,o){var n,s,i,l,r,a,p,d,u,c,o=Object.assign({teleportTo:!1,marginSize:18,isMinWidth:!0},o),g=o.defaultTop,f=o.defaultLeft,m=o.placement,C=o.defaultPlacement,x=o.teleportTo,h=o.marginSize,o=o.isMinWidth,P="bottom",A="",N="",E=0,b="",v="",T={};return t&&e&&(a=document.body,d=getPopupWrapperElement(t))&&(n=e.offsetWidth,s=e.offsetHeight,i=t.offsetWidth,l=t.offsetHeight,d=d.getBoundingClientRect(),t=t.getBoundingClientRect(),c=e.getBoundingClientRect(),r=a.clientHeight,a=a.clientWidth,p=d.left,d=d.top,u=c.left,c=c.top,b=e.offsetWidth,x?(A=g||c+s,"top"===m?(P="top",A=c-l):m||("top"===C?(P="top",(A=g?A:c-l)<h&&(P="bottom",A=c+s),r<A+l+h&&(P="top",A=c-l)):(r<A+l+h&&(P="top",A=c-l),A<h&&(P="bottom",A=c+s))),a<(E=f||u-(i-n)/2)+i+h&&(E-=E+i+h-a),E<h&&(E=h),A-=d,E-=p):("top"===m?(P="top",N=s):m||r<c+(A=s)+l+h&&h<c-s-l&&(P="top",A="",N=s),t.left+t.width+h>a&&(E=-(t.left+t.width+h-a))),_xeUtils.default.isNumber(A)&&(T.top=toCssUnit(A)),_xeUtils.default.isNumber(N)&&(T.bottom=toCssUnit(N)),_xeUtils.default.isNumber(E)&&(T.left=toCssUnit(E)),o&&_xeUtils.default.isNumber(b)&&(T.minWidth=toCssUnit(b)),E===u?n<=i&&(v=n/2):E<u&&(v=u+n<E+i?u-E+n/2:u-E+(i-(u-E))/2)),{top:A||0,bottom:N||0,left:E||0,arrowLeft:v||0,style:T,placement:P}}function getPopupWrapperElement(e){var t;return e&&(t=document.body,(e=e.parentElement)===t?document.documentElement:e)||null}function getPopupContainer(e){return(e&&_xeUtils.default.isFunction(e)?e({}):e)||"body"}function getPopupAppendElement(e){e=getPopupContainer(e);return _xeUtils.default.isString(e)?document.querySelector(e)||document.body:e}
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.addClass=addClass,exports.getAbsolutePos=getAbsolutePos,exports.getDomNode=getDomNode,exports.getEventTargetNode=getEventTargetNode,exports.getOffsetPos=getOffsetPos,exports.getPaddingLeftRightSize=getPaddingLeftRightSize,exports.getPaddingTopBottomSize=getPaddingTopBottomSize,exports.getPopupAppendElement=getPopupAppendElement,exports.getPopupContainer=getPopupContainer,exports.getPopupWrapperElement=getPopupWrapperElement,exports.getPropClass=getPropClass,exports.getTpImg=getTpImg,exports.hasClass=hasClass,exports.hasControlKey=hasControlKey,exports.initTpImg=initTpImg,exports.isNodeElement=isNodeElement,exports.isPx=isPx,exports.isScale=isScale,exports.removeClass=removeClass,exports.scrollToView=scrollToView,exports.toCssUnit=toCssUnit,exports.triggerEvent=triggerEvent,exports.updatePanelPlacement=updatePanelPlacement;var tpImgEl,_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function initTpImg(){return tpImgEl||((tpImgEl=new Image).src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="),tpImgEl}function getTpImg(){return tpImgEl||initTpImg()}function getPropClass(e,t){return e&&(_xeUtils.default.isFunction(e)?e(t):e)||""}var reClsMap={};function getClsRE(e){return reClsMap[e]||(reClsMap[e]=new RegExp("(?:^|\\s)".concat(e,"(?!\\S)"),"g")),reClsMap[e]}function getNodeOffset(e,t,o){if(e){var n=e.parentNode;if(o.top+=e.offsetTop,o.left+=e.offsetLeft,n&&n!==document.documentElement&&n!==document.body&&(o.top-=n.scrollTop,o.left-=n.scrollLeft),(!t||e!==t&&e.offsetParent!==t)&&e.offsetParent)return getNodeOffset(e.offsetParent,t,o)}return o}function isPx(e){return e&&/^\d+(\.\d+)?(px)?$/.test(e)}function isScale(e){return e&&/^\d+(\.\d+)?%$/.test(e)}function hasClass(e,t){return!!e&&(e.classList?e.classList.contains(t):!!(e.className&&e.className.match&&e.className.match(getClsRE(t))))}function removeClass(e,t){e&&hasClass(e,t)&&(e.className=e.className.replace(getClsRE(t),""))}function addClass(e,t){e&&!hasClass(e,t)&&(removeClass(e,t),e.className="".concat(e.className," ").concat(t))}function hasControlKey(e){return e.ctrlKey||e.metaKey}function toCssUnit(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:"px";return _xeUtils.default.isNumber(e)||/^\d+$/.test("".concat(e))?"".concat(e).concat(t):"".concat(e||"")}function getDomNode(){var e=document.documentElement,t=document.body;return{scrollTop:e.scrollTop||t.scrollTop,scrollLeft:e.scrollLeft||t.scrollLeft,visibleHeight:e.clientHeight||t.clientHeight,visibleWidth:e.clientWidth||t.clientWidth}}function getEventTargetNode(e,t,o,n){for(var s,l=e.target.shadowRoot&&e.composed&&e.composedPath()[0]||e.target;l&&l.nodeType&&l!==document;){if(o&&hasClass(l,o)&&(!n||n(l)))s=l;else if(l===t)return{flag:!o||!!s,container:t,targetElem:s};l=l.parentNode}return{flag:!1}}function getOffsetPos(e,t){return getNodeOffset(e,t,{left:0,top:0})}function getAbsolutePos(e){var e=e.getBoundingClientRect(),t=e.top,e=e.left,o=getDomNode();return{boundingTop:t,top:o.scrollTop+t,boundingLeft:e,left:o.scrollLeft+e,visibleHeight:o.visibleHeight,visibleWidth:o.visibleWidth}}function getPaddingTopBottomSize(e){return e?(e=getComputedStyle(e),_xeUtils.default.toNumber(e.paddingTop)+_xeUtils.default.toNumber(e.paddingBottom)):0}function getPaddingLeftRightSize(e){return e?(e=getComputedStyle(e),_xeUtils.default.toNumber(e.paddingLeft)+_xeUtils.default.toNumber(e.paddingRight)):0}var scrollIntoViewIfNeeded="scrollIntoViewIfNeeded",scrollIntoView="scrollIntoView";function scrollToView(e){e&&(e[scrollIntoViewIfNeeded]?e[scrollIntoViewIfNeeded]():e[scrollIntoView]&&e[scrollIntoView]())}function triggerEvent(e,t){e&&e.dispatchEvent(new Event(t))}function isNodeElement(e){return e&&1===e.nodeType}function updatePanelPlacement(e,t,o){var n,s,l,i,r,a,p,d,u,c,g,o=Object.assign({appendTo:"",teleportTo:!1,marginSize:18,isMinWidth:!0},o),f=o.defaultTop,m=o.defaultLeft,C=o.placement,x=o.defaultPlacement,h=o.teleportTo,P=o.marginSize,A=o.isMinWidth,N="bottom",E="",b="",T=0,v="",I="",U={};return t&&e&&(a=document.body,o=getPopupWrapperElement(h?getPopupAppendElement(o.appendTo):t))&&(n=e.offsetWidth,s=e.offsetHeight,l=t.offsetWidth,i=t.offsetHeight,u=o.getBoundingClientRect(),t=t.getBoundingClientRect(),g=e.getBoundingClientRect(),r=a.clientHeight,a=a.clientWidth,p=o.scrollLeft,o=o.scrollTop,d=u.left,u=u.top,c=g.left,g=g.top,v=e.offsetWidth,h?(E=(f||g+s)-o,"top"===C?(N="top",E=g-i):C||("top"===x?(N="top",(E=f?E:g-i)<P&&(N="bottom",E=g+s),r<E+i+P&&(N="top",E=g-i)):(r<E+i+P&&(N="top",E=g-i),E<P&&(N="bottom",E=g+s))),a<(T=(m||c-(l-n)/2)-p)+l+P&&(T-=T+l+P-a),T<P&&(T=P),E-=u,T-=d):("top"===C?(N="top",b=s):C||r<g+(E=s)+i+P&&P<g-s-i&&(N="top",E="",b=s),t.left+t.width+P>a&&(T=-(t.left+t.width+P-a))),_xeUtils.default.isNumber(E)&&(U.top=toCssUnit(E)),_xeUtils.default.isNumber(b)&&(U.bottom=toCssUnit(b)),_xeUtils.default.isNumber(T)&&(U.left=toCssUnit(T)),A&&_xeUtils.default.isNumber(v)&&(U.minWidth=toCssUnit(v)),T===c?n<=l&&(I=n/2):T<c&&(I=c+n<T+l?c-T+n/2:c-T+(l-(c-T))/2)),{top:E||0,bottom:b||0,left:T||0,arrowLeft:I||0,style:U,placement:N}}function getPopupWrapperElement(e){var t;return e&&(t=document.body,(e=e.parentElement)===t?document.documentElement:e)||null}function getPopupContainer(e){return(e&&_xeUtils.default.isFunction(e)?e({}):e)||"body"}function getPopupAppendElement(e){e=getPopupContainer(e);return _xeUtils.default.isString(e)?document.querySelector(e)||document.body:e}
package/lib/ui/src/log.js CHANGED
@@ -7,7 +7,7 @@ exports.createComponentLog = createComponentLog;
7
7
  exports.warnLog = exports.errLog = void 0;
8
8
  var _core = require("@vxe-ui/core");
9
9
  var log = _core.VxeUI.log;
10
- var uiVersion = "ui v".concat("3.20.2");
10
+ var uiVersion = "ui v".concat("3.20.6");
11
11
  function createComponentLog(name) {
12
12
  var tableVersion = _core.VxeUI.tableVersion ? "table v".concat(_core.VxeUI.tableVersion) : '';
13
13
  var ganttVersion = _core.VxeUI.ganttVersion ? "gantt v".concat(_core.VxeUI.ganttVersion) : '';
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.createComponentLog=createComponentLog,exports.warnLog=exports.errLog=void 0;var _core=require("@vxe-ui/core"),log=_core.VxeUI.log,uiVersion="ui v".concat("3.20.2");function createComponentLog(e){var r=_core.VxeUI.tableVersion?"table v".concat(_core.VxeUI.tableVersion):"",o=_core.VxeUI.ganttVersion?"gantt v".concat(_core.VxeUI.ganttVersion):"",n=_core.VxeUI.designVersion?"design v".concat(_core.VxeUI.designVersion):"",r=[uiVersion,r,o,n].filter(function(e){return e}).join(" ");return{warnLog:log.create("warn",r+"] ["+e),errLog:log.create("error",r+"] ["+e)}}var warnLog=exports.warnLog=log.create("warn",uiVersion),errLog=exports.errLog=log.create("error",uiVersion);
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.createComponentLog=createComponentLog,exports.warnLog=exports.errLog=void 0;var _core=require("@vxe-ui/core"),log=_core.VxeUI.log,uiVersion="ui v".concat("3.20.6");function createComponentLog(e){var r=_core.VxeUI.tableVersion?"table v".concat(_core.VxeUI.tableVersion):"",o=_core.VxeUI.ganttVersion?"gantt v".concat(_core.VxeUI.ganttVersion):"",n=_core.VxeUI.designVersion?"design v".concat(_core.VxeUI.designVersion):"",r=[uiVersion,r,o,n].filter(function(e){return e}).join(" ");return{warnLog:log.create("warn",r+"] ["+e),errLog:log.create("error",r+"] ["+e)}}var warnLog=exports.warnLog=log.create("warn",uiVersion),errLog=exports.errLog=log.create("error",uiVersion);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vxe-pc-ui",
3
- "version": "3.20.2",
3
+ "version": "3.20.6",
4
4
  "description": "A vue based PC component library",
5
5
  "scripts": {
6
6
  "update": "npm install --legacy-peer-deps",
@@ -25,7 +25,7 @@
25
25
  "style": "lib/style.css",
26
26
  "typings": "types/index.d.ts",
27
27
  "dependencies": {
28
- "@vxe-ui/core": "^3.4.31"
28
+ "@vxe-ui/core": "^3.4.32"
29
29
  },
30
30
  "devDependencies": {
31
31
  "@typescript-eslint/eslint-plugin": "^6.21.0",
@@ -439,7 +439,8 @@ export default /* define-vxe-component start */ defineVxeComponent({
439
439
  const handleStyle = () => {
440
440
  const ppObj = updatePanelPlacement(targetElem, panelElem, {
441
441
  placement: popupOpts.placement || placement,
442
- defaultPlacement: (popupOpts as any).defaultPlacement,
442
+ defaultPlacement: popupOpts.defaultPlacement,
443
+ appendTo: popupOpts.appendTo,
443
444
  teleportTo: btnTransfer
444
445
  })
445
446
  const panelStyle: { [key: string]: string | number } = Object.assign(ppObj.style, {
@@ -918,6 +918,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
918
918
  const ppObj = updatePanelPlacement(targetElem, panelElem, {
919
919
  placement: popupOpts.placement,
920
920
  defaultPlacement: popupOpts.defaultPlacement,
921
+ appendTo: popupOpts.appendTo,
921
922
  teleportTo: btnTransfer,
922
923
  isMinWidth: false
923
924
  })
@@ -386,6 +386,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
386
386
  const ppObj = updatePanelPlacement(targetElem, panelElem, {
387
387
  placement: popupOpts.placement || placement,
388
388
  defaultPlacement: popupOpts.defaultPlacement,
389
+ appendTo: popupOpts.appendTo,
389
390
  teleportTo: btnTransfer
390
391
  })
391
392
  const panelStyle: { [key: string]: string | number } = Object.assign(ppObj.style, {
@@ -1404,6 +1404,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
1404
1404
  const ppObj = updatePanelPlacement(targetElem, panelElem, {
1405
1405
  placement: popupOpts.placement || placement,
1406
1406
  defaultPlacement: popupOpts.defaultPlacement,
1407
+ appendTo: popupOpts.appendTo,
1407
1408
  teleportTo: btnTransfer
1408
1409
  })
1409
1410
  const panelStyle: { [key: string]: string | number } = Object.assign(ppObj.style, {
@@ -1180,6 +1180,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
1180
1180
  const ppObj = updatePanelPlacement(targetElem, panelElem, {
1181
1181
  placement: popupOpts.placement || placement,
1182
1182
  defaultPlacement: popupOpts.defaultPlacement,
1183
+ appendTo: popupOpts.appendTo,
1183
1184
  teleportTo: btnTransfer
1184
1185
  })
1185
1186
  const panelStyle: { [key: string]: string | number } = Object.assign(ppObj.style, {
@@ -369,6 +369,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
369
369
  const ppObj = updatePanelPlacement(targetElem, panelElem, {
370
370
  placement: popupOpts.placement || placement,
371
371
  defaultPlacement: popupOpts.defaultPlacement,
372
+ appendTo: popupOpts.appendTo,
372
373
  teleportTo: btnTransfer
373
374
  })
374
375
  const panelStyle: { [key: string]: string | number } = Object.assign(ppObj.style, {
@@ -1,19 +1,22 @@
1
1
  import { PropType, CreateElement, VNode } from 'vue'
2
2
  import { defineVxeComponent } from '../../ui/src/comp'
3
3
  import XEUtils, { XEBrowse } from 'xe-utils'
4
- import { VxeUI, getConfig, getIcon, getI18n, domUtils, menus, globalEvents, globalResize, createEvent, globalMixins, renderEmptyElement } from '../../ui'
4
+ import { VxeUI, createEvent, globalMixins, renderEmptyElement } from '../../ui'
5
5
  import { crossListDragRowGlobal, getCrossListDragRowInfo } from './store'
6
6
  import { addClass, getTpImg, hasClass, isScale, removeClass, toCssUnit } from '../../ui/src/dom'
7
7
  import { isEnableConf, getText, enModelValue, deModelValue, getDefaultConfig } from '../../ui/src/utils'
8
8
  import { getSlotVNs } from '../../ui/src/vn'
9
9
  import { createComponentLog } from '../../ui/src/log'
10
10
  import { moveRowAnimateToTb, clearRowAnimate } from '../../ui/src/anime'
11
- import { getThumbOffsetSize, getThumbSize, getScrollFromClick, getScrollFromDrag } from '../../scrollbar/src/util'
12
11
  import { getItemCacheObj } from './util'
13
12
  import VxeLoadingComponent from '../../loading'
14
13
 
15
14
  import type { VxeListPropTypes, VxeListEmits, VxeComponentSizeType, ListReactData, VxeListDefines, ValueOf, ListInternalData, VxeListConstructor, VxeListPrivateMethods, VxeComponentStyleType, VxeScrollbarPropTypes } from '../../../types'
16
15
 
16
+ const { getConfig, getIcon, getI18n, domUtils, scrollbarUtils, menus, globalEvents, globalResize } = VxeUI
17
+
18
+ const { getThumbOffsetSize, getThumbSize, getScrollFromClick, getScrollFromDrag } = scrollbarUtils
19
+
17
20
  const { warnLog, errLog } = createComponentLog('tree')
18
21
 
19
22
  let crossListDragRowObj: {
@@ -188,6 +188,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
188
188
  const ppObj = updatePanelPlacement(targetElem, panelElem, {
189
189
  placement: popupOpts.placement || placement,
190
190
  defaultPlacement: popupOpts.defaultPlacement,
191
+ appendTo: popupOpts.appendTo,
191
192
  teleportTo: btnTransfer
192
193
  })
193
194
  const panelStyle: { [key: string]: string | number } = Object.assign(ppObj.style, {
@@ -3,14 +3,15 @@ import { defineVxeComponent } from '../../ui/src/comp'
3
3
  import XEUtils from 'xe-utils'
4
4
  import { VxeUI } from '../../ui'
5
5
  import { toCssUnit } from '../../ui/src/dom'
6
- import { getThumbOffsetSize, getThumbSize, getScrollFromClick, getScrollFromDrag } from './util'
7
6
  import { getDefaultConfig } from '../../ui/src/utils'
8
7
 
9
8
  import VxeLoadingComponent from '../../loading'
10
9
 
11
10
  import type { ScrollbarReactData, ScrollbarInternalData, VxeScrollbarEmits, ValueOf, VxeScrollbarPropTypes, VxeComponentStyleType } from '../../../types'
12
11
 
13
- const { getConfig, createEvent, domUtils, globalResize, globalEvents, renderEmptyElement } = VxeUI
12
+ const { getConfig, createEvent, domUtils, scrollbarUtils, globalResize, globalEvents, renderEmptyElement } = VxeUI
13
+
14
+ const { getThumbOffsetSize, getThumbSize, getScrollFromClick, getScrollFromDrag } = scrollbarUtils
14
15
 
15
16
  function createReactData (): ScrollbarReactData {
16
17
  return {
@@ -827,6 +827,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
827
827
  const ppObj = updatePanelPlacement(targetElem, panelElem, {
828
828
  placement: popupOpts.placement || placement,
829
829
  defaultPlacement: popupOpts.defaultPlacement,
830
+ appendTo: popupOpts.appendTo,
830
831
  teleportTo: btnTransfer
831
832
  })
832
833
  const panelStyle: { [key: string]: string | number } = Object.assign(ppObj.style, {
@@ -477,6 +477,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
477
477
  const ppObj = updatePanelPlacement(targetElem, panelElem, {
478
478
  placement: popupOpts.placement || placement,
479
479
  defaultPlacement: popupOpts.defaultPlacement,
480
+ appendTo: popupOpts.appendTo,
480
481
  teleportTo: btnTransfer
481
482
  })
482
483
  const panelStyle: { [key: string]: string | number } = Object.assign(ppObj.style, {
@@ -234,7 +234,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
234
234
  const props = $xeTooltip
235
235
  const reactData = $xeTooltip.reactData
236
236
 
237
- const { placement, defaultPlacement, isArrow } = props
237
+ const { placement, defaultPlacement, appendTo, isArrow } = props
238
238
  const { tipTarget: targetElem, tipStore, tipPos, tipZindex } = reactData
239
239
  const panelElem = $xeTooltip.$refs.refElem as HTMLElement
240
240
  if (!targetElem || !panelElem) {
@@ -268,6 +268,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
268
268
  defaultLeft: left,
269
269
  placement: placement,
270
270
  defaultPlacement: defaultPlacement,
271
+ appendTo: appendTo,
271
272
  isMinWidth: false,
272
273
  teleportTo: true
273
274
  })
@@ -9,7 +9,6 @@ import { crossTreeDragNodeGlobal, getCrossTreeDragNodeInfo } from './store'
9
9
  import { toCssUnit, isScale, getPaddingTopBottomSize, addClass, removeClass, getTpImg, hasControlKey, getEventTargetNode, hasClass } from '../../ui/src/dom'
10
10
  import { isEnableConf, enModelValue, deModelValue, getText, getDefaultConfig } from '../../ui/src/utils'
11
11
  import { moveRowAnimateToTb, clearRowAnimate } from '../../ui/src/anime'
12
- import { getThumbOffsetSize, getThumbSize, getScrollFromClick, getScrollFromDrag } from '../../scrollbar/src/util'
13
12
  import VxeLoadingComponent from '../../loading'
14
13
  import VxeTooltipComponent from '../../tooltip'
15
14
 
@@ -17,7 +16,9 @@ import type { TreeReactData, VxeTreeEmits, VxeTreeConstructor, VxeTreePropTypes,
17
16
 
18
17
  const { warnLog, errLog } = createComponentLog('tree')
19
18
 
20
- const { menus, getConfig, getI18n, getIcon } = VxeUI
19
+ const { menus, scrollbarUtils, getConfig, getI18n, getIcon } = VxeUI
20
+
21
+ const { getThumbOffsetSize, getThumbSize, getScrollFromClick, getScrollFromDrag } = scrollbarUtils
21
22
 
22
23
  let crossTreeDragNodeObj: {
23
24
  $oldTree: VxeTreeConstructor & VxeTreePrivateMethods
@@ -568,6 +568,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
568
568
  isMinWidth: !popupOpts.width,
569
569
  placement: popupOpts.placement || placement,
570
570
  defaultPlacement: popupOpts.defaultPlacement,
571
+ appendTo: popupOpts.appendTo,
571
572
  teleportTo: btnTransfer
572
573
  })
573
574
  const panelStyle: { [key: string]: string | number } = Object.assign(ppObj.style, {
@@ -179,6 +179,7 @@ interface PanelPlacementOptions {
179
179
  defaultLeft?: number
180
180
  placement?: '' | 'top' | 'bottom' | null
181
181
  defaultPlacement?: '' | 'top' | 'bottom' | null
182
+ appendTo?: string | HTMLElement | ((params: any) => string | HTMLElement)
182
183
  teleportTo?: boolean
183
184
  marginSize?: number
184
185
  isMinWidth?: boolean
@@ -188,7 +189,8 @@ interface PanelPlacementOptions {
188
189
  * 通用定位计算
189
190
  */
190
191
  export function updatePanelPlacement (targetElem: HTMLElement | null | undefined, panelElem: HTMLElement | null | undefined, options: PanelPlacementOptions) {
191
- const { defaultTop, defaultLeft, placement, defaultPlacement, teleportTo, marginSize, isMinWidth } = Object.assign({
192
+ const { defaultTop, defaultLeft, placement, defaultPlacement, appendTo, teleportTo, marginSize, isMinWidth } = Object.assign({
193
+ appendTo: '',
192
194
  teleportTo: false,
193
195
  marginSize: 18,
194
196
  isMinWidth: true
@@ -202,7 +204,7 @@ export function updatePanelPlacement (targetElem: HTMLElement | null | undefined
202
204
  const stys: Record<string, string> = {}
203
205
  if (panelElem && targetElem) {
204
206
  const bodyEl = document.body
205
- const parentWrapperEl = getPopupWrapperElement(panelElem)
207
+ const parentWrapperEl = getPopupWrapperElement(teleportTo ? getPopupAppendElement(appendTo) : panelElem)
206
208
  if (parentWrapperEl) {
207
209
  const targetWidth = targetElem.offsetWidth
208
210
  const targetHeight = targetElem.offsetHeight
@@ -215,16 +217,18 @@ export function updatePanelPlacement (targetElem: HTMLElement | null | undefined
215
217
  const visibleHeight = bodyEl.clientHeight
216
218
  const visibleWidth = bodyEl.clientWidth
217
219
 
218
- const offsetLeft = parentWrapperRect.left
219
- const offsetTop = parentWrapperRect.top
220
+ const parentWrapperScrollLeft = parentWrapperEl.scrollLeft
221
+ const parentWrapperScrollTop = parentWrapperEl.scrollTop
222
+ const parentWrapperOffsetLeft = parentWrapperRect.left
223
+ const parentWrapperOffsetTop = parentWrapperRect.top
220
224
  const targetLeft = targetRect.left
221
225
  const targetTop = targetRect.top
222
226
 
223
227
  minWidth = targetElem.offsetWidth
224
228
 
225
229
  if (teleportTo) {
226
- left = defaultLeft || (targetLeft - (panelWidth - targetWidth) / 2)
227
- top = defaultTop || (targetTop + targetHeight)
230
+ left = (defaultLeft || (targetLeft - (panelWidth - targetWidth) / 2)) - parentWrapperScrollLeft
231
+ top = (defaultTop || (targetTop + targetHeight)) - parentWrapperScrollTop
228
232
  if (placement === 'top') {
229
233
  panelPlacement = 'top'
230
234
  top = targetTop - panelHeight
@@ -267,8 +271,8 @@ export function updatePanelPlacement (targetElem: HTMLElement | null | undefined
267
271
  }
268
272
 
269
273
  // 偏移
270
- top -= offsetTop
271
- left -= offsetLeft
274
+ top -= parentWrapperOffsetTop
275
+ left -= parentWrapperOffsetLeft
272
276
  } else {
273
277
  if (placement === 'top') {
274
278
  panelPlacement = 'top'
@@ -86,6 +86,10 @@ export namespace VxeButtonPropTypes {
86
86
 
87
87
  export type DestroyOnClose = boolean
88
88
  export interface PopupConfig {
89
+ /**
90
+ * 默认弹出面板方向
91
+ */
92
+ defaultPlacement?: 'top' | 'bottom' | '' | null
89
93
  /**
90
94
  * 设置弹出面板方向
91
95
  */
@@ -143,6 +143,10 @@ export namespace VxeCascaderPropTypes {
143
143
  */
144
144
  defaultPlacement?: 'top' | 'bottom' | '' | null
145
145
  transfer?: boolean
146
+ /**
147
+ * 挂载到指定元素下
148
+ */
149
+ appendTo?: string | HTMLElement | ((params: {}) => string | HTMLElement)
146
150
  height?: number | string
147
151
  nodeWidth?: number | string
148
152
  nodeHeight?: number | string
@@ -37,7 +37,7 @@ export interface VxeGanttExtendChartPrivateMethods<D = any> {
37
37
  * 内部方法
38
38
  * @private
39
39
  */
40
- handleTaskBarMousedownEvent(evnt: MouseEvent, params: {
40
+ handleTaskBarModnEvent(evnt: MouseEvent, params: {
41
41
  $gantt: VxeGanttConstructor<D>
42
42
  row: D
43
43
  scaleType: VxeGanttDefines.ColumnScaleType
@@ -43,10 +43,25 @@ export namespace VxeLayoutAsidePropTypes {
43
43
  }
44
44
 
45
45
  export interface VxeLayoutAsideProps {
46
+ /**
47
+ * 宽度
48
+ */
46
49
  width?: VxeLayoutAsidePropTypes.Width
50
+ /**
51
+ * 是否折叠
52
+ */
47
53
  collapsed?: VxeLayoutAsidePropTypes.Collapsed
54
+ /**
55
+ * 折叠后宽度
56
+ */
48
57
  collapseWidth?: VxeLayoutAsidePropTypes.CollapseWidth
58
+ /**
59
+ * 加载中
60
+ */
49
61
  loading?: VxeLayoutAsidePropTypes.Loading
62
+ /**
63
+ * 显示内边距
64
+ */
50
65
  padding?: VxeLayoutAsidePropTypes.Padding
51
66
  size?: VxeLayoutAsidePropTypes.Size
52
67
  collapseConfig?: VxeLayoutAsidePropTypes.CollapseConfig
@@ -38,6 +38,9 @@ export namespace VxeLayoutBodyPropTypes {
38
38
  }
39
39
  export interface VxeLayoutBodyProps {
40
40
  size?: VxeLayoutBodyPropTypes.Size
41
+ /**
42
+ * 加载中
43
+ */
41
44
  loading?: VxeLayoutBodyPropTypes.Loading
42
45
  padding?: VxeLayoutBodyPropTypes.Padding
43
46
  showBacktop?: VxeLayoutBodyPropTypes.ShowBacktop
@@ -235,8 +235,17 @@ export namespace VxeListPropTypes {
235
235
  export interface VxeListProps<D = any> {
236
236
  size?: VxeListPropTypes.Size
237
237
  data?: D[]
238
+ /**
239
+ * 高度
240
+ */
238
241
  height?: VxeListPropTypes.Height
242
+ /**
243
+ * 最大高度
244
+ */
239
245
  maxHeight?: VxeListPropTypes.MaxHeight
246
+ /**
247
+ * 加载中
248
+ */
240
249
  loading?: VxeListPropTypes.Loading
241
250
  autoResize?: VxeListPropTypes.AutoResize
242
251
  syncResize?: VxeListPropTypes.SyncResize
@@ -250,7 +259,13 @@ export interface VxeListProps<D = any> {
250
259
  checkboxConfig?: VxeListPropTypes.CheckboxConfig
251
260
  rowConfig?: VxeListPropTypes.RowConfig
252
261
  dragConfig?: VxeListPropTypes.DragConfig
262
+ /**
263
+ * 右键菜单配置项
264
+ */
253
265
  menuConfig?: VxeListPropTypes.MenuConfig
266
+ /**
267
+ * 纵向虚拟滚动配置
268
+ */
254
269
  virtualYConfig?: VxeListPropTypes.VirtualYConfig
255
270
  /**
256
271
  * 使用虚拟滚动条
@@ -32,7 +32,6 @@ export namespace VxeNumberInputPropTypes {
32
32
  export type FloatContent = string
33
33
  export type FloatAlign = VxeComponentAlignType
34
34
  export type MaxLength = string | number | null
35
- export type Multiple = boolean
36
35
  export type AutoComplete = string
37
36
  export type Align = string
38
37
  export type Form = string
@@ -119,6 +118,9 @@ export namespace VxeNumberInputPropTypes {
119
118
  }
120
119
 
121
120
  export interface VxeNumberInputProps {
121
+ /**
122
+ * 尺寸大小
123
+ */
122
124
  size?: VxeNumberInputPropTypes.Size
123
125
  value?: VxeNumberInputPropTypes.ModelValue
124
126
  className?: VxeNumberInputPropTypes.ClassName
@@ -129,7 +131,13 @@ export interface VxeNumberInputProps {
129
131
  width?: VxeNumberInputPropTypes.Width
130
132
  immediate?: VxeNumberInputPropTypes.Immediate
131
133
  name?: VxeNumberInputPropTypes.Name
134
+ /**
135
+ * 控件类型
136
+ */
132
137
  type?: VxeNumberInputPropTypes.Type
138
+ /**
139
+ * 显示清除按钮
140
+ */
133
141
  clearable?: VxeNumberInputPropTypes.Clearable
134
142
  readonly?: VxeNumberInputPropTypes.Readonly
135
143
  disabled?: VxeNumberInputPropTypes.Disabled
@@ -137,8 +145,10 @@ export interface VxeNumberInputProps {
137
145
  floatContent?: VxeNumberInputPropTypes.FloatContent
138
146
  floatAlign?: VxeNumberInputPropTypes.FloatAlign
139
147
  maxLength?: VxeNumberInputPropTypes.MaxLength
140
- multiple?: VxeNumberInputPropTypes.Multiple
141
148
  autoComplete?: VxeNumberInputPropTypes.AutoComplete
149
+ /**
150
+ * 对齐方式
151
+ */
142
152
  align?: VxeNumberInputPropTypes.Align
143
153
  form?: VxeNumberInputPropTypes.Form
144
154
 
@@ -45,7 +45,7 @@ export interface VxeTableExtendPivotTablePrivateMethods<D = any> {
45
45
  * 内部方法
46
46
  * @private
47
47
  */
48
- handlePivotTableAggregatePanelDragendEvent(evnt: DragEvent): void
48
+ handlePivotTableAggPanelDragendEvent(evnt: DragEvent): void
49
49
  }
50
50
 
51
51
  declare module '../table' {
@@ -3514,6 +3514,9 @@ export namespace VxeTablePropTypes {
3514
3514
  }
3515
3515
 
3516
3516
  export interface VxeTableProps<D = any> {
3517
+ /**
3518
+ * 尺寸大小
3519
+ */
3517
3520
  size?: VxeTablePropTypes.Size
3518
3521
  /**
3519
3522
  * 唯一标识
@@ -339,10 +339,22 @@ export namespace VxeTreePropTypes {
339
339
  }
340
340
 
341
341
  export interface VxeTreeProps<D = any> {
342
+ /**
343
+ * 数据源
344
+ */
342
345
  data?: VxeTreePropTypes.Data<D>
343
346
  autoResize?: VxeTreePropTypes.AutoResize
347
+ /**
348
+ * 高度
349
+ */
344
350
  height?: VxeTreePropTypes.Height
351
+ /**
352
+ * 最小高度
353
+ */
345
354
  minHeight?: VxeTreePropTypes.MinHeight
355
+ /**
356
+ * 最大高度
357
+ */
346
358
  maxHeight?: VxeTreePropTypes.MaxHeight
347
359
  loading?: VxeTreePropTypes.Loading
348
360
  loadingConfig?: VxeTreePropTypes.LoadingConfig
@@ -1,54 +0,0 @@
1
- /**
2
- * 计算滚动条滑块的长度
3
- */
4
- export function getThumbSize(viewportSize, contentSize, trackSize) {
5
- if (contentSize <= viewportSize) {
6
- return 0;
7
- }
8
- const ratio = viewportSize / contentSize;
9
- const ideal = trackSize * ratio;
10
- return Math.max(20, Math.min(ideal, trackSize));
11
- }
12
- /**
13
- * 计算滚动条滑块的偏移位置
14
- */
15
- export function getThumbOffsetSize(offsetSize, viewportSize, contentSize, trackSize, thumbSize) {
16
- const maxScroll = contentSize - viewportSize;
17
- if (maxScroll <= 0) {
18
- return 0;
19
- }
20
- const maxThumbOffset = trackSize - thumbSize;
21
- if (maxThumbOffset <= 0) {
22
- return 0;
23
- }
24
- const clamped = Math.min(Math.max(offsetSize, 0), maxScroll);
25
- const ratio = clamped / maxScroll;
26
- return ratio * maxThumbOffset;
27
- }
28
- /**
29
- * 根据点击轨道的位置,计算滑块的偏移位置
30
- */
31
- export function getScrollFromClick(clickPosition, viewportSize, contentSize, trackSize, thumbSize) {
32
- const maxThumbOffset = trackSize - thumbSize;
33
- const maxScroll = contentSize - viewportSize;
34
- if (maxScroll <= 0 || maxThumbOffset <= 0) {
35
- return 0;
36
- }
37
- let thumbOffset = clickPosition - thumbSize / 2;
38
- thumbOffset = Math.min(Math.max(thumbOffset, 0), maxThumbOffset);
39
- const scrollOffset = (thumbOffset / maxThumbOffset) * maxScroll;
40
- return scrollOffset;
41
- }
42
- /**
43
- * 拖拽 thumb 时,根据鼠标位置计算滑块的偏移位置
44
- */
45
- export function getScrollFromDrag(pointerPosition, dragOffset, viewportSize, contentSize, trackSize, thumbSize) {
46
- const maxScroll = contentSize - viewportSize;
47
- const maxThumbOffset = trackSize - thumbSize;
48
- if (maxScroll <= 0 || maxThumbOffset <= 0) {
49
- return 0;
50
- }
51
- let thumbOffset = pointerPosition - dragOffset;
52
- thumbOffset = Math.min(Math.max(thumbOffset, 0), maxThumbOffset);
53
- return (thumbOffset / maxThumbOffset) * maxScroll;
54
- }
@@ -1,63 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getScrollFromClick = getScrollFromClick;
7
- exports.getScrollFromDrag = getScrollFromDrag;
8
- exports.getThumbOffsetSize = getThumbOffsetSize;
9
- exports.getThumbSize = getThumbSize;
10
- /**
11
- * 计算滚动条滑块的长度
12
- */
13
- function getThumbSize(viewportSize, contentSize, trackSize) {
14
- if (contentSize <= viewportSize) {
15
- return 0;
16
- }
17
- var ratio = viewportSize / contentSize;
18
- var ideal = trackSize * ratio;
19
- return Math.max(20, Math.min(ideal, trackSize));
20
- }
21
- /**
22
- * 计算滚动条滑块的偏移位置
23
- */
24
- function getThumbOffsetSize(offsetSize, viewportSize, contentSize, trackSize, thumbSize) {
25
- var maxScroll = contentSize - viewportSize;
26
- if (maxScroll <= 0) {
27
- return 0;
28
- }
29
- var maxThumbOffset = trackSize - thumbSize;
30
- if (maxThumbOffset <= 0) {
31
- return 0;
32
- }
33
- var clamped = Math.min(Math.max(offsetSize, 0), maxScroll);
34
- var ratio = clamped / maxScroll;
35
- return ratio * maxThumbOffset;
36
- }
37
- /**
38
- * 根据点击轨道的位置,计算滑块的偏移位置
39
- */
40
- function getScrollFromClick(clickPosition, viewportSize, contentSize, trackSize, thumbSize) {
41
- var maxThumbOffset = trackSize - thumbSize;
42
- var maxScroll = contentSize - viewportSize;
43
- if (maxScroll <= 0 || maxThumbOffset <= 0) {
44
- return 0;
45
- }
46
- var thumbOffset = clickPosition - thumbSize / 2;
47
- thumbOffset = Math.min(Math.max(thumbOffset, 0), maxThumbOffset);
48
- var scrollOffset = thumbOffset / maxThumbOffset * maxScroll;
49
- return scrollOffset;
50
- }
51
- /**
52
- * 拖拽 thumb 时,根据鼠标位置计算滑块的偏移位置
53
- */
54
- function getScrollFromDrag(pointerPosition, dragOffset, viewportSize, contentSize, trackSize, thumbSize) {
55
- var maxScroll = contentSize - viewportSize;
56
- var maxThumbOffset = trackSize - thumbSize;
57
- if (maxScroll <= 0 || maxThumbOffset <= 0) {
58
- return 0;
59
- }
60
- var thumbOffset = pointerPosition - dragOffset;
61
- thumbOffset = Math.min(Math.max(thumbOffset, 0), maxThumbOffset);
62
- return thumbOffset / maxThumbOffset * maxScroll;
63
- }
@@ -1 +0,0 @@
1
- function getThumbSize(t,e,r){return e<=t?0:Math.max(20,Math.min(r*(t/e),r))}function getThumbOffsetSize(t,e,r,o,m){r-=e;return r<=0||(e=o-m)<=0?0:Math.min(Math.max(t,0),r)/r*e}function getScrollFromClick(t,e,r,o,m){o-=m,r-=e;return r<=0||o<=0?0:(e=t-m/2,(e=Math.min(Math.max(e,0),o))/o*r)}function getScrollFromDrag(t,e,r,o,m,i){o-=r,r=m-i;return o<=0||r<=0?0:(m=t-e,(m=Math.min(Math.max(m,0),r))/r*o)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.getScrollFromClick=getScrollFromClick,exports.getScrollFromDrag=getScrollFromDrag,exports.getThumbOffsetSize=getThumbOffsetSize,exports.getThumbSize=getThumbSize;