UNPKG

@vuesax-alpha/nightly

Version:
1 lines 1.65 kB
{"version":3,"file":"bar2.mjs","sources":["../../../../../../packages/components/scrollbar/src/bar.vue"],"sourcesContent":["<template>\n <thumb\n :move=\"moveX\"\n :ratio=\"ratioX\"\n :size=\"width\"\n :always=\"always\"\n :style=\"`height: ${thickness}px`\"\n />\n <thumb\n :move=\"moveY\"\n :ratio=\"ratioY\"\n :size=\"height\"\n vertical\n :always=\"always\"\n :style=\"`width: ${thickness}px`\"\n />\n</template>\n<script lang=\"ts\" setup>\nimport { ref } from 'vue'\nimport { GAP } from './util'\nimport Thumb from './thumb.vue'\nimport { barProps } from './bar'\n\nconst props = defineProps(barProps)\n\nconst moveX = ref(0)\nconst moveY = ref(0)\n\nconst handleScroll = (wrap: HTMLDivElement) => {\n if (wrap) {\n const offsetHeight = wrap.offsetHeight - GAP\n const offsetWidth = wrap.offsetWidth - GAP\n\n moveY.value = ((wrap.scrollTop * 100) / offsetHeight) * props.ratioY\n moveX.value = ((wrap.scrollLeft * 100) / offsetWidth) * props.ratioX\n }\n}\n\ndefineExpose({\n handleScroll,\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;AAyBM,IAAA,MAAA,KAAA,GAAQ,IAAI,CAAC,CAAA,CAAA;AACb,IAAA,MAAA,KAAA,GAAQ,IAAI,CAAC,CAAA,CAAA;AAEb,IAAA,MAAA,YAAA,GAAe,CAAC,IAAyB,KAAA;AAC7C,MAAA,IAAI,IAAM,EAAA;AACF,QAAA,MAAA,YAAA,GAAe,KAAK,YAAe,GAAA,GAAA,CAAA;AACnC,QAAA,MAAA,WAAA,GAAc,KAAK,WAAc,GAAA,GAAA,CAAA;AAEvC,QAAA,KAAA,CAAM,KAAU,GAAA,IAAA,CAAK,SAAY,GAAA,GAAA,GAAO,eAAgB,KAAM,CAAA,MAAA,CAAA;AAC9D,QAAA,KAAA,CAAM,KAAU,GAAA,IAAA,CAAK,UAAa,GAAA,GAAA,GAAO,cAAe,KAAM,CAAA,MAAA,CAAA;AAAA,OAChE;AAAA,KACF,CAAA;AAEa,IAAA,QAAA,CAAA;AAAA,MACX,YAAA;AAAA,KACD,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}