import type { BarMap } from './types' export const BAR_MAP: BarMap = { vertical: { offset: 'offsetHeight', scroll: 'scrollTop', scrollSize: 'scrollHeight', size: 'height', key: 'vertical', axis: 'Y', client: 'clientY', direction: 'top' }, horizontal: { offset: 'offsetWidth', scroll: 'scrollLeft', scrollSize: 'scrollWidth', size: 'width', key: 'horizontal', axis: 'X', client: 'clientX', direction: 'left' } } export function renderThumbStyle({ move, size, bar }: any) { const style = {} as any const translate = `translate${bar.axis}(${move}%)` style[bar.size] = size style.transform = translate style.msTransform = translate style.webkitTransform = translate return style } function extend(to: T, _from: K): T & K { return Object.assign(to, _from) } export function toObject(arr: Array): Record { const res = {} for (let i = 0; i < arr.length; i++) { if (arr[i]) { extend(res, arr[i]) } } return res }