{"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;;;;"}