{"version":3,"file":"fixUtil.mjs","sources":["../../../../../../../packages/vue-components/vc-table/src/utils/fixUtil.ts"],"sourcesContent":["import type { FixedType, StickyOffsets } from '../interface';\n\nexport interface FixedInfo {\n  fixLeft: number | false;\n  fixRight: number | false;\n  lastFixLeft: boolean;\n  firstFixRight: boolean;\n\n  // For Rtl Direction\n  lastFixRight: boolean;\n  firstFixLeft: boolean;\n\n  isSticky: boolean;\n}\n\nexport function getCellFixedInfo(\n  colStart: number,\n  colEnd: number,\n  columns: ReadonlyArray<{ fixed?: FixedType }>,\n  stickyOffsets: StickyOffsets,\n  direction: 'ltr' | 'rtl',\n): FixedInfo {\n  const startColumn = columns[colStart] || {};\n  const endColumn = columns[colEnd] || {};\n\n  let fixLeft: number;\n  let fixRight: number;\n\n  if (startColumn.fixed === 'left')\n    fixLeft = stickyOffsets.left[colStart];\n  else if (endColumn.fixed === 'right')\n    fixRight = stickyOffsets.right[colEnd];\n\n  let lastFixLeft = false;\n  let firstFixRight = false;\n\n  let lastFixRight = false;\n  let firstFixLeft = false;\n\n  const nextColumn = columns[colEnd + 1];\n  const prevColumn = columns[colStart - 1];\n\n  if (direction === 'rtl') {\n    if (fixLeft !== undefined) {\n      const prevFixLeft = prevColumn && prevColumn.fixed === 'left';\n      firstFixLeft = !prevFixLeft;\n    } else if (fixRight !== undefined) {\n      const nextFixRight = nextColumn && nextColumn.fixed === 'right';\n      lastFixRight = !nextFixRight;\n    }\n  } else if (fixLeft !== undefined) {\n    const nextFixLeft = nextColumn && nextColumn.fixed === 'left';\n    lastFixLeft = !nextFixLeft;\n  } else if (fixRight !== undefined) {\n    const prevFixRight = prevColumn && prevColumn.fixed === 'right';\n    firstFixRight = !prevFixRight;\n  }\n\n  return {\n    fixLeft,\n    fixRight,\n    lastFixLeft,\n    firstFixRight,\n    lastFixRight,\n    firstFixLeft,\n    isSticky: stickyOffsets.isSticky,\n  };\n}\n"],"names":[],"mappings":"AAeO,SAAS,gBACd,CAAA,QAAA,EACA,MACA,EAAA,OAAA,EACA,eACA,SACW,EAAA;AACX,EAAA,MAAM,WAAc,GAAA,OAAA,CAAQ,QAAQ,CAAA,IAAK,EAAC,CAAA;AAC1C,EAAA,MAAM,SAAY,GAAA,OAAA,CAAQ,MAAM,CAAA,IAAK,EAAC,CAAA;AAEtC,EAAI,IAAA,OAAA,CAAA;AACJ,EAAI,IAAA,QAAA,CAAA;AAEJ,EAAA,IAAI,YAAY,KAAU,KAAA,MAAA;AACxB,IAAU,OAAA,GAAA,aAAA,CAAc,KAAK,QAAQ,CAAA,CAAA;AAAA,OAAA,IAC9B,UAAU,KAAU,KAAA,OAAA;AAC3B,IAAW,QAAA,GAAA,aAAA,CAAc,MAAM,MAAM,CAAA,CAAA;AAEvC,EAAA,IAAI,WAAc,GAAA,KAAA,CAAA;AAClB,EAAA,IAAI,aAAgB,GAAA,KAAA,CAAA;AAEpB,EAAA,IAAI,YAAe,GAAA,KAAA,CAAA;AACnB,EAAA,IAAI,YAAe,GAAA,KAAA,CAAA;AAEnB,EAAM,MAAA,UAAA,GAAa,OAAQ,CAAA,MAAA,GAAS,CAAC,CAAA,CAAA;AACrC,EAAM,MAAA,UAAA,GAAa,OAAQ,CAAA,QAAA,GAAW,CAAC,CAAA,CAAA;AAEvC,EAAA,IAAI,cAAc,KAAO,EAAA;AACvB,IAAA,IAAI,YAAY,KAAW,CAAA,EAAA;AACzB,MAAM,MAAA,WAAA,GAAc,UAAc,IAAA,UAAA,CAAW,KAAU,KAAA,MAAA,CAAA;AACvD,MAAA,YAAA,GAAe,CAAC,WAAA,CAAA;AAAA,KAClB,MAAA,IAAW,aAAa,KAAW,CAAA,EAAA;AACjC,MAAM,MAAA,YAAA,GAAe,UAAc,IAAA,UAAA,CAAW,KAAU,KAAA,OAAA,CAAA;AACxD,MAAA,YAAA,GAAe,CAAC,YAAA,CAAA;AAAA,KAClB;AAAA,GACF,MAAA,IAAW,YAAY,KAAW,CAAA,EAAA;AAChC,IAAM,MAAA,WAAA,GAAc,UAAc,IAAA,UAAA,CAAW,KAAU,KAAA,MAAA,CAAA;AACvD,IAAA,WAAA,GAAc,CAAC,WAAA,CAAA;AAAA,GACjB,MAAA,IAAW,aAAa,KAAW,CAAA,EAAA;AACjC,IAAM,MAAA,YAAA,GAAe,UAAc,IAAA,UAAA,CAAW,KAAU,KAAA,OAAA,CAAA;AACxD,IAAA,aAAA,GAAgB,CAAC,YAAA,CAAA;AAAA,GACnB;AAEA,EAAO,OAAA;AAAA,IACL,OAAA;AAAA,IACA,QAAA;AAAA,IACA,WAAA;AAAA,IACA,aAAA;AAAA,IACA,YAAA;AAAA,IACA,YAAA;AAAA,IACA,UAAU,aAAc,CAAA,QAAA;AAAA,GAC1B,CAAA;AACF;;;;"}