{"version":3,"file":"useSticky.cjs","sources":["../../../../../../../packages/vue-components/vc-table/src/hooks/useSticky.ts"],"sourcesContent":["import type { ComputedRef, Ref } from 'vue';\nimport type { TableSticky } from '../interface';\nimport { canUseDom } from '@antdv/utils';\nimport { computed } from 'vue';\n\n// fix ssr render\nconst defaultContainer = canUseDom() ? window : null;\n\n/** Sticky header hooks */\nexport default function useSticky(\n  stickyRef: Ref<boolean | TableSticky>,\n  prefixClsRef: Ref<string>,\n): ComputedRef<{\n    isSticky: boolean;\n    offsetHeader: number;\n    offsetSummary: number;\n    offsetScroll: number;\n    stickyClassName: string;\n    container: Window | HTMLElement;\n  }> {\n  return computed(() => {\n    const {\n      offsetHeader = 0,\n      offsetSummary = 0,\n      offsetScroll = 0,\n      getContainer = () => defaultContainer,\n    } = typeof stickyRef.value === 'object' ? stickyRef.value : {};\n\n    const container = getContainer() || defaultContainer;\n    const isSticky = !!stickyRef.value;\n    return {\n      isSticky,\n      stickyClassName: isSticky ? `${prefixClsRef.value}-sticky-holder` : '',\n      offsetHeader,\n      offsetSummary,\n      offsetScroll,\n      container,\n    };\n  });\n}\n"],"names":["canUseDom","computed"],"mappings":";;;;;;;;AAMA,MAAM,gBAAA,GAAmBA,mBAAU,EAAA,GAAI,MAAS,GAAA,IAAA,CAAA;AAGxB,SAAA,SAAA,CACtB,WACA,YAQG,EAAA;AACH,EAAA,OAAOC,aAAS,MAAM;AACpB,IAAM,MAAA;AAAA,MACJ,YAAe,GAAA,CAAA;AAAA,MACf,aAAgB,GAAA,CAAA;AAAA,MAChB,YAAe,GAAA,CAAA;AAAA,MACf,eAAe,MAAM,gBAAA;AAAA,QACnB,OAAO,SAAA,CAAU,UAAU,QAAW,GAAA,SAAA,CAAU,QAAQ,EAAC,CAAA;AAE7D,IAAM,MAAA,SAAA,GAAY,cAAkB,IAAA,gBAAA,CAAA;AACpC,IAAM,MAAA,QAAA,GAAW,CAAC,CAAC,SAAU,CAAA,KAAA,CAAA;AAC7B,IAAO,OAAA;AAAA,MACL,QAAA;AAAA,MACA,eAAiB,EAAA,QAAA,GAAW,CAAG,EAAA,YAAA,CAAa,KAAK,CAAmB,cAAA,CAAA,GAAA,EAAA;AAAA,MACpE,YAAA;AAAA,MACA,aAAA;AAAA,MACA,YAAA;AAAA,MACA,SAAA;AAAA,KACF,CAAA;AAAA,GACD,CAAA,CAAA;AACH;;;;"}