{"version":3,"file":"useAutoRotate.cjs","sources":["../../../../src/lib/Carousel/useAutoRotate.ts"],"sourcesContent":["import type {MutableRefObject} from 'react';\n\nimport {useInterval} from '@/internal/hooks/useInterval.ts';\nimport {useIsInViewport} from '@/internal/hooks/useIsInViewport.tsx';\nimport {useDocumentVisible} from '@/internal/hooks/useDocumentVisible.ts';\n\ntype Props = {\n    rotateFn: () => void;\n    interval?: number | null;\n    ref: MutableRefObject<HTMLElement | null>;\n};\n\nexport const useAutoRotate = ({rotateFn, interval = null, ref}: Props) => {\n    const isInViewport = useIsInViewport(ref);\n    const isActiveTab = useDocumentVisible();\n    const isEnabled = Boolean(interval) && isInViewport && isActiveTab;\n    useInterval({callback: rotateFn, interval, condition: isEnabled});\n};\n"],"names":["useAutoRotate","rotateFn","interval","ref","isInViewport","useIsInViewport","isActiveTab","useDocumentVisible","isEnabled","useInterval"],"mappings":"oQAYaA,EAAgB,CAAC,CAAC,SAAAC,EAAU,SAAAC,EAAW,KAAM,IAAAC,KAAgB,CAChE,MAAAC,EAAeC,kBAAgBF,CAAG,EAClCG,EAAcC,EAAAA,mBAAmB,EACjCC,EAAY,EAAQN,GAAaE,GAAgBE,EACvDG,EAAA,YAAY,CAAC,SAAUR,EAAU,SAAAC,EAAU,UAAWM,EAAU,CACpE"}