{"version":3,"file":"useLoadingState.cjs","sources":["../../../../src/internal/MediaEmbeds/useLoadingState.ts"],"sourcesContent":["import type {MutableRefObject, Dispatch, SetStateAction, SyntheticEvent} from 'react';\nimport {useCallback, useState} from 'react';\n\nexport type Props = {\n    embedRef: MutableRefObject<HTMLMediaElement | null>;\n    setDuration: Dispatch<SetStateAction<number>>;\n    onReady: (event: SyntheticEvent<HTMLVideoElement>) => void;\n    onError: (event: SyntheticEvent<HTMLVideoElement>) => void;\n};\n\nexport const useLoadingState = ({embedRef, setDuration, onReady, onError}: Props) => {\n    const handleLoadedMetaData = useCallback(() => {\n        embedRef.current?.duration && setDuration(embedRef.current?.duration);\n    }, [setDuration, embedRef]);\n\n    const [readyToPlay, setReadyToPlay] = useState(false);\n\n    const handleCanPlay = useCallback(\n        (event: SyntheticEvent<HTMLVideoElement>) => {\n            setReadyToPlay(true);\n            onReady(event);\n        },\n        [onReady]\n    );\n\n    const handleError = useCallback(\n        (event: SyntheticEvent<HTMLVideoElement>) => {\n            onError(event);\n        },\n        [onError]\n    );\n\n    return {handleLoadedMetaData, readyToPlay, handleCanPlay, handleError};\n};\n"],"names":["useLoadingState","embedRef","setDuration","onReady","onError","handleLoadedMetaData","useCallback","_a","_b","readyToPlay","setReadyToPlay","useState","handleCanPlay","event","handleError"],"mappings":"sHAUaA,EAAkB,CAAC,CAAC,SAAAC,EAAU,YAAAC,EAAa,QAAAC,EAAS,QAAAC,KAAoB,CAC3E,MAAAC,EAAuBC,EAAAA,YAAY,IAAM,UAC3CC,EAAAN,EAAS,UAAT,MAAAM,EAAkB,UAAYL,GAAYM,EAAAP,EAAS,UAAT,YAAAO,EAAkB,QAAQ,CAAA,EACrE,CAACN,EAAaD,CAAQ,CAAC,EAEpB,CAACQ,EAAaC,CAAc,EAAIC,EAAAA,SAAS,EAAK,EAE9CC,EAAgBN,EAAA,YACjBO,GAA4C,CACzCH,EAAe,EAAI,EACnBP,EAAQU,CAAK,CACjB,EACA,CAACV,CAAO,CACZ,EAEMW,EAAcR,EAAA,YACfO,GAA4C,CACzCT,EAAQS,CAAK,CACjB,EACA,CAACT,CAAO,CACZ,EAEA,MAAO,CAAC,qBAAAC,EAAsB,YAAAI,EAAa,cAAAG,EAAe,YAAAE,CAAW,CACzE"}