{"version":3,"file":"utils.mjs","sources":["../../../../../../packages/components/virtual-list/src/utils.ts"],"sourcesContent":["// @ts-nocheck\nimport {\n  BACKWARD,\n  FORWARD,\n  HORIZONTAL,\n  LTR,\n  PageKey,\n  RTL,\n  RTL_OFFSET_NAG,\n  RTL_OFFSET_POS_ASC,\n  RTL_OFFSET_POS_DESC,\n} from './defaults'\n\nimport type { CSSProperties } from 'vue'\nimport type { Direction, LayoutDirection, RTLOffsetType } from './types'\n\nexport const getScrollDir = (prev: number, cur: number) =>\n  prev < cur ? FORWARD : BACKWARD\n\nexport const isHorizontal = (dir: string) =>\n  dir === LTR || dir === RTL || dir === HORIZONTAL\n\nexport const isRTL = (dir: Direction) => dir === RTL\n\nlet cachedRTLResult: RTLOffsetType | null = null\n\nexport function getRTLOffsetType(recalculate = false): RTLOffsetType {\n  if (cachedRTLResult === null || recalculate) {\n    const outerDiv = document.createElement('div')\n    const outerStyle = outerDiv.style\n    outerStyle.width = '50px'\n    outerStyle.height = '50px'\n    outerStyle.overflow = 'scroll'\n    outerStyle.direction = 'rtl'\n\n    const innerDiv = document.createElement('div')\n    const innerStyle = innerDiv.style\n    innerStyle.width = '100px'\n    innerStyle.height = '100px'\n\n    outerDiv.appendChild(innerDiv)\n\n    document.body.appendChild(outerDiv)\n\n    if (outerDiv.scrollLeft > 0) {\n      cachedRTLResult = RTL_OFFSET_POS_DESC\n    } else {\n      outerDiv.scrollLeft = 1\n      if (outerDiv.scrollLeft === 0) {\n        cachedRTLResult = RTL_OFFSET_NAG\n      } else {\n        cachedRTLResult = RTL_OFFSET_POS_ASC\n      }\n    }\n\n    document.body.removeChild(outerDiv)\n\n    return cachedRTLResult\n  }\n\n  return cachedRTLResult\n}\n\nexport const getRelativePos = (\n  e: TouchEvent | MouseEvent,\n  layout: LayoutDirection\n) => {\n  return 'touches' in e ? e.touches[0][PageKey[layout]] : e[PageKey[layout]]\n}\n\ntype RenderThumbStyleParams = {\n  bar: {\n    size: 'height' | 'width'\n    axis: 'X' | 'Y'\n  }\n  size: string\n  move: number\n}\n\nexport function renderThumbStyle(\n  { move, size, bar }: RenderThumbStyleParams,\n  layout: string\n) {\n  const style: CSSProperties = {}\n  const translate = `translate${bar.axis}(${move}px)`\n\n  style[bar.size] = size\n  style.transform = translate\n  style.msTransform = translate\n  // polyfill\n  ;(style as any).webkitTransform = translate\n\n  if (layout === 'horizontal') {\n    style.height = '100%'\n  } else {\n    style.width = '100%'\n  }\n\n  return style\n}\n"],"names":[],"mappings":";;AAgBO,MAAM,eAAe,CAAC,IAAA,EAAc,GACzC,KAAA,IAAA,GAAO,MAAM,OAAU,GAAA,SAAA;AAElB,MAAM,eAAe,CAAC,GAAA,KAC3B,QAAQ,GAAO,IAAA,GAAA,KAAQ,OAAO,GAAQ,KAAA,WAAA;AAE3B,MAAA,KAAA,GAAQ,CAAC,GAAA,KAAmB,GAAQ,KAAA,IAAA;AAEjD,IAAI,eAAwC,GAAA,IAAA,CAAA;AAE5B,SAAA,gBAAA,CAAiB,cAAc,KAAsB,EAAA;AACnE,EAAI,IAAA,eAAA,KAAoB,QAAQ,WAAa,EAAA;AAC3C,IAAM,MAAA,QAAA,GAAW,QAAS,CAAA,aAAA,CAAc,KAAK,CAAA,CAAA;AAC7C,IAAA,MAAM,aAAa,QAAS,CAAA,KAAA,CAAA;AAC5B,IAAA,UAAA,CAAW,KAAQ,GAAA,MAAA,CAAA;AACnB,IAAA,UAAA,CAAW,MAAS,GAAA,MAAA,CAAA;AACpB,IAAA,UAAA,CAAW,QAAW,GAAA,QAAA,CAAA;AACtB,IAAA,UAAA,CAAW,SAAY,GAAA,KAAA,CAAA;AAEvB,IAAM,MAAA,QAAA,GAAW,QAAS,CAAA,aAAA,CAAc,KAAK,CAAA,CAAA;AAC7C,IAAA,MAAM,aAAa,QAAS,CAAA,KAAA,CAAA;AAC5B,IAAA,UAAA,CAAW,KAAQ,GAAA,OAAA,CAAA;AACnB,IAAA,UAAA,CAAW,MAAS,GAAA,OAAA,CAAA;AAEpB,IAAA,QAAA,CAAS,YAAY,QAAQ,CAAA,CAAA;AAE7B,IAAS,QAAA,CAAA,IAAA,CAAK,YAAY,QAAQ,CAAA,CAAA;AAElC,IAAI,IAAA,QAAA,CAAS,aAAa,CAAG,EAAA;AAC3B,MAAkB,eAAA,GAAA,mBAAA,CAAA;AAAA,KACb,MAAA;AACL,MAAA,QAAA,CAAS,UAAa,GAAA,CAAA,CAAA;AACtB,MAAI,IAAA,QAAA,CAAS,eAAe,CAAG,EAAA;AAC7B,QAAkB,eAAA,GAAA,cAAA,CAAA;AAAA,OACb,MAAA;AACL,QAAkB,eAAA,GAAA,kBAAA,CAAA;AAAA,OACpB;AAAA,KACF;AAEA,IAAS,QAAA,CAAA,IAAA,CAAK,YAAY,QAAQ,CAAA,CAAA;AAElC,IAAO,OAAA,eAAA,CAAA;AAAA,GACT;AAEA,EAAO,OAAA,eAAA,CAAA;AACT,CAAA;AAEa,MAAA,cAAA,GAAiB,CAC5B,CAAA,EACA,MACG,KAAA;AACH,EAAO,OAAA,SAAA,IAAa,IAAI,CAAE,CAAA,OAAA,CAAQ,GAAG,OAAQ,CAAA,MAAA,CAAA,CAAA,GAAW,EAAE,OAAQ,CAAA,MAAA,CAAA,CAAA,CAAA;AACpE,EAAA;AAWO,SAAS,iBACd,EAAE,IAAA,EAAM,IAAM,EAAA,GAAA,IACd,MACA,EAAA;AACA,EAAA,MAAM,QAAuB,EAAC,CAAA;AAC9B,EAAM,MAAA,SAAA,GAAY,CAAY,SAAA,EAAA,GAAA,CAAI,IAAQ,CAAA,CAAA,EAAA,IAAA,CAAA,GAAA,CAAA,CAAA;AAE1C,EAAA,KAAA,CAAM,IAAI,IAAQ,CAAA,GAAA,IAAA,CAAA;AAClB,EAAA,KAAA,CAAM,SAAY,GAAA,SAAA,CAAA;AAClB,EAAA,KAAA,CAAM,WAAc,GAAA,SAAA,CAAA;AAEnB,EAAC,MAAc,eAAkB,GAAA,SAAA,CAAA;AAElC,EAAA,IAAI,WAAW,YAAc,EAAA;AAC3B,IAAA,KAAA,CAAM,MAAS,GAAA,MAAA,CAAA;AAAA,GACV,MAAA;AACL,IAAA,KAAA,CAAM,KAAQ,GAAA,MAAA,CAAA;AAAA,GAChB;AAEA,EAAO,OAAA,KAAA,CAAA;AACT;;;;"}