vxe-pc-ui
Version:
A vue based PC component library
1 lines • 4.63 kB
JavaScript
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.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 _xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(t){return t&&t.__esModule?t:{default:t}}let tpImgEl;function initTpImg(){return tpImgEl||((tpImgEl=new Image).src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="),tpImgEl}function getTpImg(){return tpImgEl||initTpImg()}let reClsMap={};function getClsRE(t){return reClsMap[t]||(reClsMap[t]=new RegExp(`(?:^|\\s)${t}(?!\\S)`,"g")),reClsMap[t]}function getNodeOffset(t,e,o){if(t){var s=t.parentNode;if(o.top+=t.offsetTop,o.left+=t.offsetLeft,s&&s!==document.documentElement&&s!==document.body&&(o.top-=s.scrollTop,o.left-=s.scrollLeft),(!e||t!==e&&t.offsetParent!==e)&&t.offsetParent)return getNodeOffset(t.offsetParent,e,o)}return o}function isPx(t){return t&&/^\d+(\.\d+)?(px)?$/.test(t)}function isScale(t){return t&&/^\d+(\.\d+)?%$/.test(t)}function hasClass(t,e){return!!(t&&t.className&&t.className.match&&t.className.match(getClsRE(e)))}function removeClass(t,e){t&&hasClass(t,e)&&(t.className=t.className.replace(getClsRE(e),""))}function addClass(t,e){t&&!hasClass(t,e)&&(removeClass(t,e),t.className=t.className+" "+e)}function hasControlKey(t){return t.ctrlKey||t.metaKey}function toCssUnit(t,e="px"){return _xeUtils.default.isNumber(t)||/^\d+$/.test(""+t)?""+t+e:""+(t||"")}function getDomNode(){var t=document.documentElement,e=document.body;return{scrollTop:t.scrollTop||e.scrollTop,scrollLeft:t.scrollLeft||e.scrollLeft,visibleHeight:t.clientHeight||e.clientHeight,visibleWidth:t.clientWidth||e.clientWidth}}function getEventTargetNode(t,e,o,s){let l,n=t.target.shadowRoot&&t.composed&&t.composedPath()[0]||t.target;for(;n&&n.nodeType&&n!==document;){if(o&&hasClass(n,o)&&(!s||s(n)))l=n;else if(n===e)return{flag:!o||!!l,container:e,targetElem:l};n=n.parentNode}return{flag:!1}}function getOffsetPos(t,e){return getNodeOffset(t,e,{left:0,top:0})}function getAbsolutePos(t){var t=t.getBoundingClientRect(),e=t.top,t=t.left,{scrollTop:o,scrollLeft:s,visibleHeight:l,visibleWidth:n}=getDomNode();return{boundingTop:e,top:o+e,boundingLeft:t,left:s+t,visibleHeight:l,visibleWidth:n}}function getPaddingTopBottomSize(t){return t?(t=getComputedStyle(t),_xeUtils.default.toNumber(t.paddingTop)+_xeUtils.default.toNumber(t.paddingBottom)):0}function getPaddingLeftRightSize(t){return t?(t=getComputedStyle(t),_xeUtils.default.toNumber(t.paddingLeft)+_xeUtils.default.toNumber(t.paddingRight)):0}let scrollIntoViewIfNeeded="scrollIntoViewIfNeeded",scrollIntoView="scrollIntoView";function scrollToView(t){t&&(t[scrollIntoViewIfNeeded]?t[scrollIntoViewIfNeeded]():t[scrollIntoView]&&t[scrollIntoView]())}function triggerEvent(t,e){t&&t.dispatchEvent(new Event(e))}function isNodeElement(t){return t&&1===t.nodeType}function updatePanelPlacement(t,e,o){var{placement:o,defaultPlacement:s,teleportTo:l,marginSize:n}=Object.assign({teleportTo:!1,marginSize:18},o);let i="bottom",r="",a="",d="";var p,f,g,u,c,m,C,h="",x={};return e&&t&&(C=document.documentElement,p=document.body,f=t.offsetHeight,g=e.offsetHeight,u=e.offsetWidth,e=e.getBoundingClientRect(),c=t.getBoundingClientRect(),m=C.clientHeight||p.clientHeight,C=C.clientWidth||p.clientWidth,h=t.offsetWidth,l?(d=c.left,r=c.top+f,"top"===o?(i="top",r=c.top-g):o||("top"===s?(i="top",(r=c.top-g)<n&&(i="bottom",r=c.top+f),r+g+n>m&&(i="top",r=c.top-g)):(r+g+n>m&&(i="top",r=c.top-g),r<n&&(i="bottom",r=c.top+f))),d+u+n>C&&(d-=d+u+n-C),d<n&&(d=n)):("top"===o?(i="top",a=f):o||(r=f,c.top+f+g+n>m&&c.top-f-g>n&&(i="top",r="",a=f)),e.left+e.width+n>C&&(d=-(e.left+e.width+n-C))),_xeUtils.default.isNumber(r)&&(x.top=toCssUnit(r)),_xeUtils.default.isNumber(a)&&(x.bottom=toCssUnit(a)),_xeUtils.default.isNumber(d)&&(x.left=toCssUnit(d)),_xeUtils.default.isNumber("")&&(x.right=toCssUnit("")),_xeUtils.default.isNumber(h))&&(x.minWidth=toCssUnit(h)),{top:r||0,bottom:a||0,left:d||0,right:0,style:x,placement:i}}