{"version":3,"file":"chunks/2f7fca8a7e824e.js","mappings":"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","sources":["webpack:///./resources/js/components/generic/reminder-popup.ts"],"sourcesContent":["import storage from \"../../utils/storage\";\nimport tracking from '../../utils/tracking';\n\nclass ReminderPopup {\n domRoot: HTMLElement;\n containerElement: HTMLElement;\n params: any;\n hasStopped: boolean;\n logic: any;\n modalWidth: any;\n delay: number;\n behavior: any;\n transition: any;\n countdownDate: Date;\n cookieKey: any;\n cookieValue: any;\n cookieEquiv: any;\n includeCountdown: boolean;\n labels: { day: any; days: any; hour: any; hours: any; minute: any; minutes: any; second: any; seconds: any; };\n \n constructor(domRoot: HTMLElement, params: any) {\n this.domRoot = domRoot;\n this.containerElement = domRoot;\n this.params = params;\n this.hasStopped = false;\n this.logic = params.logic;\n this.modalWidth = params.modalWidth;\n this.delay = Number(params.delay);\n this.behavior = params.behavior;\n this.transition = params.transition;\n this.countdownDate = new Date(this.params.countdownClock);\n this.cookieKey = params.cookieKey;\n this.cookieValue = params.cookieValue;\n this.cookieEquiv = params.cookieEquiv;\n this.includeCountdown = params.includeCountdown == \"yes\";\n this.labels = {\n day: params.labelDay,\n days: params.labelDays,\n hour: params.labelHour,\n hours: params.labelHours,\n minute: params.labelMinute,\n minutes: params.labelMinutes,\n second: params.labelSecond,\n seconds: params.labelSeconds\n }\n this.init();\n }\n\n init() {\n if (this.shouldReveal()) {\n if (this.behavior == \"modal\" || this.behavior == \"toaster\") {\n setTimeout(() => {\n let modalContainer = document.createElement('div');\n modalContainer.appendChild(this.domRoot);\n document.body.appendChild(modalContainer);\n this.containerElement = modalContainer;\n setTimeout(() => {\n this.domRoot.firstElementChild.style.bottom = 0;\n }, 100);\n this.domRoot.classList.remove('hide-all');\n this.domRoot.querySelector(\".reminder-outer\").focus();\n }, this.delay * 1000);\n } else {\n this.domRoot.classList.remove('hide-all');\n }\n }\n let clickCloses = Array.from(this.containerElement.querySelectorAll('.close-reminder-modal'));\n clickCloses.forEach(closer => {\n closer.addEventListener('click', () => {\n let multiplier = this.transition == \"immediate\" ? 0 : 1;\n this.domRoot.querySelector(\".reminder-outer\").classList.add('reverse-transition');\n setTimeout(() => {\n this.containerElement.classList.add('hide-all');\n this.hasStopped = true;\n tracking.trackEvent(\"clicked\", {\n event: \"clicked\",\n eventComponent: \"closeModalButton\"\n });\n }, multiplier * 500)\n })\n })\n if (this.includeCountdown) {\n this.runClock();\n }\n }\n\n runClock() {\n const countdownArea = this.containerElement.querySelector('.countdown-area') as HTMLElement;\n const countDownTime = this.countdownDate.getTime();\n let timeInterval = setInterval(() => {\n if (this.hasStopped) {\n clearInterval(timeInterval);\n }\n let now = Date.now();\n let timeLeft = countDownTime - now;\n if (timeLeft < 1) {\n timeLeft = 0;\n clearInterval(timeInterval);\n }\n let days = Math.floor(timeLeft / (1000 * 60 * 60 * 24));\n let hours = Math.floor((timeLeft % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));\n let minutes = Math.floor((timeLeft % (1000 * 60 * 60)) / (1000 * 60));\n let seconds = Math.floor((timeLeft % (1000 * 60)) / 1000);\n\n let countdownHTML = days > 0 ? this.timeUnit(days, 'day') : '';\n\n countdownHTML += this.timeUnit(hours, \"hour\") + this.timeUnit(minutes, \"minute\") + this.timeUnit(seconds, \"second\");\n countdownArea.innerHTML = countdownHTML;\n \n }, 1000);\n }\n\n timeUnit(amount: number, type: string) {\n let finalType = amount == 1 ? type : type + \"s\";\n return `