{"version":3,"file":"Countdown.cjs","sources":["../../../../src/components/countdown/Countdown.tsx"],"sourcesContent":["import React, { useState, type CSSProperties, type FC, useEffect } from \"react\";\nimport type { CountdownProps } from \"./types.js\";\n\nexport const Countdown: FC<CountdownProps> = ({\n    className,\n    from,\n    isPaused,\n    ...rest\n}) => {\n    const [remainingSeconds, setRemainingSeconds] = useState(\n        Math.floor(from / 1000),\n    );\n\n    useEffect(() => {\n        if (remainingSeconds <= 0) {\n            return;\n        }\n\n        setTimeout(() => {\n            if (!isPaused) {\n                setRemainingSeconds((sec) => sec - 1);\n            }\n        }, 1000);\n    }, [isPaused, remainingSeconds]);\n\n    return (\n        <div\n            className={`jkl-countdown ${className ?? \"\"}`}\n            role=\"timer\"\n            data-testid=\"jkl-countdown\"\n            {...rest}\n        >\n            <span\n                className=\"jkl-countdown__tracker\"\n                role=\"presentation\"\n                style={\n                    {\n                        \"--duration\": `${from}ms`,\n                        \"--play-state\": isPaused ? \"paused\" : \"running\",\n                    } as CSSProperties\n                }\n                data-testid=\"jkl-countdown__tracker\"\n            />\n            <span className=\"jkl-sr-only\">{remainingSeconds}</span>\n        </div>\n    );\n};\n"],"names":["className","from","isPaused","rest","remainingSeconds","setRemainingSeconds","useState","Math","floor","useEffect","setTimeout","sec","jsxs","role","children","jsx","style"],"mappings":"0JAG6C,EACzCA,UAAAA,EACAC,KAAAA,EACAC,SAAAA,KACGC,MAEH,MAAOC,EAAkBC,GAAuBC,EAAAA,SAC5CC,KAAKC,MAAMP,EAAO,MAGtBQ,OAAAA,EAAAA,UAAU,KACFL,GAAoB,GAIxBM,WAAW,KACFR,GACDG,EAAqBM,GAAQA,EAAM,IAExC,MACJ,CAACT,EAAUE,IAGVQ,EAAAA,KAAC,MAAA,CACGZ,UAAW,iBAAiBA,GAAa,KACzCa,KAAK,QACL,cAAY,mBACRV,EAEJW,SAAA,CAAAC,EAAAA,IAAC,OAAA,CACGf,UAAU,yBACVa,KAAK,eACLG,MACI,CACI,aAAc,GAAGf,MACjB,eAAgBC,EAAW,SAAW,WAG9C,cAAY,2BAEhBa,EAAAA,IAAC,OAAA,CAAKf,UAAU,cAAec,SAAAV"}