UNPKG

element-plus

Version:

A Component Library for Vue 3

48 lines (45 loc) 1.61 kB
import { defineComponent, ref, openBlock, createElementBlock, Fragment, createVNode } from 'vue'; import { GAP } from './util.mjs'; import Thumb from './thumb2.mjs'; import { barProps } from './bar.mjs'; import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs'; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "bar", props: barProps, setup(__props, { expose }) { const props = __props; const moveX = ref(0); const moveY = ref(0); const handleScroll = (wrap) => { if (wrap) { const offsetHeight = wrap.offsetHeight - GAP; const offsetWidth = wrap.offsetWidth - GAP; moveY.value = wrap.scrollTop * 100 / offsetHeight * props.ratioY; moveX.value = wrap.scrollLeft * 100 / offsetWidth * props.ratioX; } }; expose({ handleScroll }); return (_ctx, _cache) => { return openBlock(), createElementBlock(Fragment, null, [ createVNode(Thumb, { move: moveX.value, ratio: _ctx.ratioX, size: _ctx.width, always: _ctx.always }, null, 8, ["move", "ratio", "size", "always"]), createVNode(Thumb, { move: moveY.value, ratio: _ctx.ratioY, size: _ctx.height, vertical: "", always: _ctx.always }, null, 8, ["move", "ratio", "size", "always"]) ], 64); }; } }); var Bar = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "/home/runner/work/element-plus/element-plus/packages/components/scrollbar/src/bar.vue"]]); export { Bar as default }; //# sourceMappingURL=bar2.mjs.map