{"version":3,"file":"useStickyOffsets.mjs","sources":["../../../../../../../packages/vue-components/vc-table/src/hooks/useStickyOffsets.ts"],"sourcesContent":["import type { ComputedRef, Ref } from 'vue';\n\nimport type { StickyOffsets } from '../interface';\nimport { computed } from 'vue';\n\n/**\n * Get sticky column offset width\n */\nfunction useStickyOffsets(\n  colWidthsRef: Ref<number[]>,\n  columnCountRef: Ref<number>,\n  directionRef: Ref<'ltr' | 'rtl'>,\n) {\n  const stickyOffsets: ComputedRef<StickyOffsets> = computed(() => {\n    const leftOffsets: number[] = [];\n    const rightOffsets: number[] = [];\n    let left = 0;\n    let right = 0;\n\n    const colWidths = colWidthsRef.value;\n    const columnCount = columnCountRef.value;\n    const direction = directionRef.value;\n\n    for (let start = 0; start < columnCount; start += 1) {\n      if (direction === 'rtl') {\n        // Left offset\n        rightOffsets[start] = right;\n        right += colWidths[start] || 0;\n\n        // Right offset\n        const end = columnCount - start - 1;\n        leftOffsets[end] = left;\n        left += colWidths[end] || 0;\n      } else {\n        // Left offset\n        leftOffsets[start] = left;\n        left += colWidths[start] || 0;\n\n        // Right offset\n        const end = columnCount - start - 1;\n        rightOffsets[end] = right;\n        right += colWidths[end] || 0;\n      }\n    }\n\n    return {\n      left: leftOffsets,\n      right: rightOffsets,\n    };\n  });\n\n  return stickyOffsets;\n}\n\nexport default useStickyOffsets;\n"],"names":[],"mappings":";;AAQA,SAAS,gBAAA,CACP,YACA,EAAA,cAAA,EACA,YACA,EAAA;AACA,EAAM,MAAA,aAAA,GAA4C,SAAS,MAAM;AAC/D,IAAA,MAAM,cAAwB,EAAC,CAAA;AAC/B,IAAA,MAAM,eAAyB,EAAC,CAAA;AAChC,IAAA,IAAI,IAAO,GAAA,CAAA,CAAA;AACX,IAAA,IAAI,KAAQ,GAAA,CAAA,CAAA;AAEZ,IAAA,MAAM,YAAY,YAAa,CAAA,KAAA,CAAA;AAC/B,IAAA,MAAM,cAAc,cAAe,CAAA,KAAA,CAAA;AACnC,IAAA,MAAM,YAAY,YAAa,CAAA,KAAA,CAAA;AAE/B,IAAA,KAAA,IAAS,KAAQ,GAAA,CAAA,EAAG,KAAQ,GAAA,WAAA,EAAa,SAAS,CAAG,EAAA;AACnD,MAAA,IAAI,cAAc,KAAO,EAAA;AAEvB,QAAA,YAAA,CAAa,KAAK,CAAI,GAAA,KAAA,CAAA;AACtB,QAAS,KAAA,IAAA,SAAA,CAAU,KAAK,CAAK,IAAA,CAAA,CAAA;AAG7B,QAAM,MAAA,GAAA,GAAM,cAAc,KAAQ,GAAA,CAAA,CAAA;AAClC,QAAA,WAAA,CAAY,GAAG,CAAI,GAAA,IAAA,CAAA;AACnB,QAAQ,IAAA,IAAA,SAAA,CAAU,GAAG,CAAK,IAAA,CAAA,CAAA;AAAA,OACrB,MAAA;AAEL,QAAA,WAAA,CAAY,KAAK,CAAI,GAAA,IAAA,CAAA;AACrB,QAAQ,IAAA,IAAA,SAAA,CAAU,KAAK,CAAK,IAAA,CAAA,CAAA;AAG5B,QAAM,MAAA,GAAA,GAAM,cAAc,KAAQ,GAAA,CAAA,CAAA;AAClC,QAAA,YAAA,CAAa,GAAG,CAAI,GAAA,KAAA,CAAA;AACpB,QAAS,KAAA,IAAA,SAAA,CAAU,GAAG,CAAK,IAAA,CAAA,CAAA;AAAA,OAC7B;AAAA,KACF;AAEA,IAAO,OAAA;AAAA,MACL,IAAM,EAAA,WAAA;AAAA,MACN,KAAO,EAAA,YAAA;AAAA,KACT,CAAA;AAAA,GACD,CAAA,CAAA;AAED,EAAO,OAAA,aAAA,CAAA;AACT;;;;"}