element-plus
Version:
A Component Library for Vue 3
1 lines • 1.76 kB
Source Map (JSON)
{"version":3,"file":"util.mjs","sources":["../../../../../../packages/components/scrollbar/src/util.ts"],"sourcesContent":["import type { CSSProperties } from 'vue'\nimport type { ThumbProps } from './thumb'\n\nexport const GAP = 4 // top 2 + bottom 2 of bar instance\n\nexport const BAR_MAP = {\n vertical: {\n offset: 'offsetHeight',\n scroll: 'scrollTop',\n scrollSize: 'scrollHeight',\n size: 'height',\n key: 'vertical',\n axis: 'Y',\n client: 'clientY',\n direction: 'top',\n },\n horizontal: {\n offset: 'offsetWidth',\n scroll: 'scrollLeft',\n scrollSize: 'scrollWidth',\n size: 'width',\n key: 'horizontal',\n axis: 'X',\n client: 'clientX',\n direction: 'left',\n },\n} as const\n\nexport const renderThumbStyle = ({\n move,\n size,\n bar,\n}: Pick<ThumbProps, 'move' | 'size'> & {\n bar: (typeof BAR_MAP)[keyof typeof BAR_MAP]\n}): CSSProperties => ({\n [bar.size]: size,\n transform: `translate${bar.axis}(${move}%)`,\n})\n"],"names":[],"mappings":"AAGO,MAAM,GAAM,GAAA,EAAA;AAEZ,MAAM,OAAU,GAAA;AAAA,EACrB,QAAU,EAAA;AAAA,IACR,MAAQ,EAAA,cAAA;AAAA,IACR,MAAQ,EAAA,WAAA;AAAA,IACR,UAAY,EAAA,cAAA;AAAA,IACZ,IAAM,EAAA,QAAA;AAAA,IACN,GAAK,EAAA,UAAA;AAAA,IACL,IAAM,EAAA,GAAA;AAAA,IACN,MAAQ,EAAA,SAAA;AAAA,IACR,SAAW,EAAA,KAAA;AAAA,GACb;AAAA,EACA,UAAY,EAAA;AAAA,IACV,MAAQ,EAAA,aAAA;AAAA,IACR,MAAQ,EAAA,YAAA;AAAA,IACR,UAAY,EAAA,aAAA;AAAA,IACZ,IAAM,EAAA,OAAA;AAAA,IACN,GAAK,EAAA,YAAA;AAAA,IACL,IAAM,EAAA,GAAA;AAAA,IACN,MAAQ,EAAA,SAAA;AAAA,IACR,SAAW,EAAA,MAAA;AAAA,GACb;AACF,EAAA;AAEO,MAAM,mBAAmB,CAAC;AAAA,EAC/B,IAAA;AAAA,EACA,IAAA;AAAA,EACA,GAAA;AACF,CAEsB,MAAA;AAAA,EACpB,CAAC,IAAI,IAAO,GAAA,IAAA;AAAA,EACZ,SAAA,EAAW,CAAY,SAAA,EAAA,GAAA,CAAI,IAAQ,CAAA,CAAA,EAAA,IAAA,CAAA,EAAA,CAAA;AACrC,CAAA;;;;"}