UNPKG

element-plus

Version:

A Component Library for Vue 3

51 lines (48 loc) 1.71 kB
import { LTR, RTL, HORIZONTAL, FORWARD, BACKWARD, RTL_OFFSET_POS_DESC, RTL_OFFSET_NAG, RTL_OFFSET_POS_ASC } from './defaults.mjs'; const getScrollDir = (prev, cur) => prev < cur ? FORWARD : BACKWARD; const isHorizontal = (dir) => dir === LTR || dir === RTL || dir === HORIZONTAL; const isRTL = (dir) => dir === RTL; let cachedRTLResult = null; function getRTLOffsetType(recalculate = false) { if (cachedRTLResult === null || recalculate) { const outerDiv = document.createElement("div"); const outerStyle = outerDiv.style; outerStyle.width = "50px"; outerStyle.height = "50px"; outerStyle.overflow = "scroll"; outerStyle.direction = "rtl"; const innerDiv = document.createElement("div"); const innerStyle = innerDiv.style; innerStyle.width = "100px"; innerStyle.height = "100px"; outerDiv.appendChild(innerDiv); document.body.appendChild(outerDiv); if (outerDiv.scrollLeft > 0) { cachedRTLResult = RTL_OFFSET_POS_DESC; } else { outerDiv.scrollLeft = 1; if (outerDiv.scrollLeft === 0) { cachedRTLResult = RTL_OFFSET_NAG; } else { cachedRTLResult = RTL_OFFSET_POS_ASC; } } document.body.removeChild(outerDiv); return cachedRTLResult; } return cachedRTLResult; } function renderThumbStyle({ move, size, bar }, layout) { const style = {}; const translate = `translate${bar.axis}(${move}px)`; style[bar.size] = size; style.transform = translate; if (layout === "horizontal") { style.height = "100%"; } else { style.width = "100%"; } return style; } export { getRTLOffsetType, getScrollDir, isHorizontal, isRTL, renderThumbStyle }; //# sourceMappingURL=utils.mjs.map