{"code":"// Generated with util/create-component.js\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport Label from \"../Label\";\r\nimport Text from \"../UI/Text\";\r\nvar useInterval = function (callback, delay) {\r\n    var savedCallback = useRef();\r\n    useEffect(function () {\r\n        savedCallback.current = callback;\r\n    }, [callback]);\r\n    useEffect(function () {\r\n        function tick() {\r\n            if (savedCallback.current)\r\n                savedCallback.current();\r\n        }\r\n        if (delay !== null) {\r\n            var id_1 = setInterval(tick, delay);\r\n            return function () { return clearInterval(id_1); };\r\n        }\r\n    }, [delay]);\r\n};\r\nvar Timer = function (props) {\r\n    var id = props.id, _a = props.type, type = _a === void 0 ? \"timedeal\" : _a, periodDiscountStart = props.periodDiscountStart, periodDiscountEnd = props.periodDiscountEnd, benefitUseType = props.benefitUseType, timerText = props.timerText;\r\n    if (!periodDiscountStart || !periodDiscountEnd)\r\n        return null;\r\n    var TIME_FOR_TIMER_COLOR = 86400000; // 1 day\r\n    var getTimerText = function (_differenceTime) {\r\n        var secondsInMs = Math.floor(_differenceTime / 1000);\r\n        var minutesInMs = Math.floor(secondsInMs / 60);\r\n        var hoursInMs = Math.floor(minutesInMs / 60);\r\n        var days = Math.floor(hoursInMs / 24);\r\n        var seconds = secondsInMs % 60;\r\n        var minutes = minutesInMs % 60;\r\n        var hours = hoursInMs % 24;\r\n        var daysStr = \"\".concat(days, \"\\uC77C \");\r\n        var hoursStr = \"\".concat(hours < 10 ? \"0\".concat(hours) : hours, \":\");\r\n        var minutesStr = \"\".concat(minutes < 10 ? \"0\".concat(minutes) : minutes);\r\n        var secondsStr = \"\".concat(seconds < 10 ? \"0\".concat(seconds) : seconds);\r\n        if (days > 0)\r\n            return \"\".concat(daysStr).concat(hoursStr).concat(minutesStr);\r\n        else\r\n            return \"\".concat(hoursStr).concat(minutesStr, \":\").concat(secondsStr);\r\n    };\r\n    var ddate = new Date(periodDiscountEnd.replace(/-/gi, \"/\"));\r\n    var now = new Date();\r\n    var _b = useState(Number(new Date(+ddate - +now))), differenceTime = _b[0], setDifferenceTime = _b[1];\r\n    var startTime = new Date(periodDiscountStart.replace(/-/gi, \"/\")).getTime();\r\n    var endTime = new Date(periodDiscountEnd.replace(/-/gi, \"/\")).getTime();\r\n    var nowTime = new Date().getTime();\r\n    if (benefitUseType !== \"periodDiscount\" ||\r\n        startTime > nowTime ||\r\n        nowTime >= endTime) {\r\n        useInterval(function () { }, 0);\r\n        return React.createElement(\"div\", null);\r\n    }\r\n    useInterval(function () {\r\n        setDifferenceTime(differenceTime - 1000);\r\n    }, 1000);\r\n    return (React.createElement(\"div\", { \"data-testid\": \"Timer\", className: \"nrc--Time\", id: id },\r\n        React.createElement(Label, { className: \"\".concat(type === \"timedeal\" && \"absolute bottom-0\", \" \").concat(differenceTime < TIME_FOR_TIMER_COLOR ? \"bg-red-3\" : \"bg-gray-9\"), fluid: true },\r\n            React.createElement(Text, { type: \"B8\", className: \"\".concat(differenceTime < TIME_FOR_TIMER_COLOR ? \"text-black\" : \"text-white\"), \"aria-label\": \"\\uD0C0\\uC784\\uB51C \\uB0A8\\uC740 \\uC2DC\\uAC04\" },\r\n                getTimerText(differenceTime),\r\n                \" \",\r\n                timerText))));\r\n};\r\nexport default Timer;\r\n","references":["/Users/dongyoonkim/Dev/nosearch-react-component/node_modules/@types/react/index.d.ts","/Users/dongyoonkim/Dev/nosearch-react-component/src/components/Label/index.ts","/Users/dongyoonkim/Dev/nosearch-react-component/src/components/UI/Text/index.ts","/Users/dongyoonkim/Dev/nosearch-react-component/src/components/Timer/Timer.types.ts"],"dts":{"name":"/Users/dongyoonkim/Dev/nosearch-react-component/lib/components/Timer/Timer.d.ts","writeByteOrderMark":false,"text":"import React from \"react\";\r\nimport { TimerProps } from \"./Timer.types\";\r\ndeclare const Timer: React.FC<TimerProps>;\r\nexport default Timer;\r\n"}}
