UNPKG

element-plus

Version:

A Component Library for Vue 3

1 lines 3.92 kB
{"version":3,"file":"utils.mjs","sources":["../../../../../../packages/components/virtual-list/src/utils.ts"],"sourcesContent":["import {\n BACKWARD,\n FORWARD,\n HORIZONTAL,\n LTR,\n RTL,\n RTL_OFFSET_NAG,\n RTL_OFFSET_POS_ASC,\n RTL_OFFSET_POS_DESC,\n} from './defaults'\n\nimport type { CSSProperties } from 'vue'\nimport type { Direction, RTLOffsetType } from './types'\n\nexport const getScrollDir = (prev: number, cur: number) =>\n prev < cur ? FORWARD : BACKWARD\n\nexport const isHorizontal = (dir: string) =>\n dir === LTR || dir === RTL || dir === HORIZONTAL\n\nexport const isRTL = (dir: Direction) => dir === RTL\n\nlet cachedRTLResult: RTLOffsetType | null = null\n\nexport function getRTLOffsetType(recalculate = false): RTLOffsetType {\n if (cachedRTLResult === null || recalculate) {\n const outerDiv = document.createElement('div')\n const outerStyle = outerDiv.style\n outerStyle.width = '50px'\n outerStyle.height = '50px'\n outerStyle.overflow = 'scroll'\n outerStyle.direction = 'rtl'\n\n const innerDiv = document.createElement('div')\n const innerStyle = innerDiv.style\n innerStyle.width = '100px'\n innerStyle.height = '100px'\n\n outerDiv.appendChild(innerDiv)\n\n document.body.appendChild(outerDiv)\n\n if (outerDiv.scrollLeft > 0) {\n cachedRTLResult = RTL_OFFSET_POS_DESC\n } else {\n outerDiv.scrollLeft = 1\n if (outerDiv.scrollLeft === 0) {\n cachedRTLResult = RTL_OFFSET_NAG\n } else {\n cachedRTLResult = RTL_OFFSET_POS_ASC\n }\n }\n\n document.body.removeChild(outerDiv)\n\n return cachedRTLResult\n }\n\n return cachedRTLResult\n}\n\ntype RenderThumbStyleParams = {\n bar: {\n size: 'height' | 'width'\n axis: 'X' | 'Y'\n }\n size: string\n move: number\n}\n\nexport function renderThumbStyle(\n { move, size, bar }: RenderThumbStyleParams,\n layout: string\n) {\n const style: CSSProperties = {}\n const translate = `translate${bar.axis}(${move}px)`\n\n style[bar.size] = size\n style.transform = translate\n\n if (layout === 'horizontal') {\n style.height = '100%'\n } else {\n style.width = '100%'\n }\n\n return style\n}\n"],"names":[],"mappings":";;AAcO,MAAM,eAAe,CAAC,IAAA,EAAc,GACzC,KAAA,IAAA,GAAO,MAAM,OAAU,GAAA,SAAA;AAElB,MAAM,eAAe,CAAC,GAAA,KAC3B,QAAQ,GAAO,IAAA,GAAA,KAAQ,OAAO,GAAQ,KAAA,WAAA;AAE3B,MAAA,KAAA,GAAQ,CAAC,GAAA,KAAmB,GAAQ,KAAA,IAAA;AAEjD,IAAI,eAAwC,GAAA,IAAA,CAAA;AAE5B,SAAA,gBAAA,CAAiB,cAAc,KAAsB,EAAA;AACnE,EAAI,IAAA,eAAA,KAAoB,QAAQ,WAAa,EAAA;AAC3C,IAAM,MAAA,QAAA,GAAW,QAAS,CAAA,aAAA,CAAc,KAAK,CAAA,CAAA;AAC7C,IAAA,MAAM,aAAa,QAAS,CAAA,KAAA,CAAA;AAC5B,IAAA,UAAA,CAAW,KAAQ,GAAA,MAAA,CAAA;AACnB,IAAA,UAAA,CAAW,MAAS,GAAA,MAAA,CAAA;AACpB,IAAA,UAAA,CAAW,QAAW,GAAA,QAAA,CAAA;AACtB,IAAA,UAAA,CAAW,SAAY,GAAA,KAAA,CAAA;AAEvB,IAAM,MAAA,QAAA,GAAW,QAAS,CAAA,aAAA,CAAc,KAAK,CAAA,CAAA;AAC7C,IAAA,MAAM,aAAa,QAAS,CAAA,KAAA,CAAA;AAC5B,IAAA,UAAA,CAAW,KAAQ,GAAA,OAAA,CAAA;AACnB,IAAA,UAAA,CAAW,MAAS,GAAA,OAAA,CAAA;AAEpB,IAAA,QAAA,CAAS,YAAY,QAAQ,CAAA,CAAA;AAE7B,IAAS,QAAA,CAAA,IAAA,CAAK,YAAY,QAAQ,CAAA,CAAA;AAElC,IAAI,IAAA,QAAA,CAAS,aAAa,CAAG,EAAA;AAC3B,MAAkB,eAAA,GAAA,mBAAA,CAAA;AAAA,KACb,MAAA;AACL,MAAA,QAAA,CAAS,UAAa,GAAA,CAAA,CAAA;AACtB,MAAI,IAAA,QAAA,CAAS,eAAe,CAAG,EAAA;AAC7B,QAAkB,eAAA,GAAA,cAAA,CAAA;AAAA,OACb,MAAA;AACL,QAAkB,eAAA,GAAA,kBAAA,CAAA;AAAA,OACpB;AAAA,KACF;AAEA,IAAS,QAAA,CAAA,IAAA,CAAK,YAAY,QAAQ,CAAA,CAAA;AAElC,IAAO,OAAA,eAAA,CAAA;AAAA,GACT;AAEA,EAAO,OAAA,eAAA,CAAA;AACT,CAAA;AAWO,SAAS,iBACd,EAAE,IAAA,EAAM,IAAM,EAAA,GAAA,IACd,MACA,EAAA;AACA,EAAA,MAAM,QAAuB,EAAC,CAAA;AAC9B,EAAM,MAAA,SAAA,GAAY,CAAY,SAAA,EAAA,GAAA,CAAI,IAAQ,CAAA,CAAA,EAAA,IAAA,CAAA,GAAA,CAAA,CAAA;AAE1C,EAAA,KAAA,CAAM,IAAI,IAAQ,CAAA,GAAA,IAAA,CAAA;AAClB,EAAA,KAAA,CAAM,SAAY,GAAA,SAAA,CAAA;AAElB,EAAA,IAAI,WAAW,YAAc,EAAA;AAC3B,IAAA,KAAA,CAAM,MAAS,GAAA,MAAA,CAAA;AAAA,GACV,MAAA;AACL,IAAA,KAAA,CAAM,KAAQ,GAAA,MAAA,CAAA;AAAA,GAChB;AAEA,EAAO,OAAA,KAAA,CAAA;AACT;;;;"}