{"version":3,"sources":["webpack:///./src/js/modules/legacy/countdownClock.js"],"names":["Module","this","dom","header","el","querySelector","countdown","timerDays","timerHours","timerMinutes","timerSeconds","handleHour","handleMinute","handleSecond","openingDate","dataset","titleTimeover","a","split","s","timerDate","Date","timezoneOffsetMs","getTimezoneOffset","parseInt","mouseOver","watchStarted","setTimeout","initialize","window","setInterval","update","bind","getSecDiff","updateDayCounter","remove","innerHTML","currentTime","setSeconds","getSeconds","h","getHours","m","getMinutes","ms","getMilliseconds","hours","minutes","seconds","setHandle","element","angle","style","transform","e","t","n","r","calculate","formatNumber","days","getTime","calculateUnit","Math","floor","toString","Component"],"mappings":"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","file":"66.6bdfe075459a45961026.js","sourcesContent":["import { Component } from '@verndale/core';\n\nclass Module extends Component {\n  setupDefaults() {\n    this.dom = {\n      header: this.el.querySelector('.countdown-clock__header'),\n      countdown: this.el.querySelector('.countdown-clock__timer'),\n      timerDays: this.el.querySelector('.countdown-clock__timer-days'),\n      timerHours: this.el.querySelector('.countdown-clock__timer-hours'),\n      timerMinutes: this.el.querySelector('.countdown-clock__timer-minutes'),\n      timerSeconds: this.el.querySelector('.countdown-clock__timer-seconds'),\n      handleHour: this.el.querySelector('.countdown-clock__handle--hour'),\n      handleMinute: this.el.querySelector('.countdown-clock__handle--minute'),\n      handleSecond: this.el.querySelector('.countdown-clock__handle--second')\n    };\n\n    const { openingDate } = this.el.dataset;\n    this.titleTimeover = this.el.dataset.titleTimeover;\n    const a = openingDate.split('TZ');\n    const s = a[0].split(/\\D/);\n    this.timerDate = new Date(s[0], --s[1], s[2], s[3], s[4]);\n    this.timezoneOffsetMs =\n      1e3 * (60 * new Date().getTimezoneOffset() + 3600 * parseInt(a[1]));\n    this.mouseOver = false;\n    this.watchStarted = false;\n\n    setTimeout(this.initialize(), 500);\n  }\n\n  initialize() {\n    window.setInterval(this.update.bind(this), 100);\n\n    if (this.getSecDiff() >= 0) {\n      this.updateDayCounter();\n      window.setInterval(this.updateDayCounter.bind(this), 100);\n    } else {\n      this.dom.countdown.remove();\n      this.dom.header.innerHTML = this.titleTimeover;\n    }\n  }\n\n  update() {\n    const currentTime = new Date();\n    if (!this.watchStarted) {\n      currentTime.setSeconds(currentTime.getSeconds() + 1);\n    }\n    const h = currentTime.getHours();\n    const m = currentTime.getMinutes();\n    const s = currentTime.getSeconds();\n    const ms = currentTime.getMilliseconds();\n    const hours = 360 * (((h % 12) + m / 60) / 12);\n    const minutes = 6 * (m + (s + ms * 0.001) / 60);\n    const seconds = 6 * (s + ms * 0.001);\n\n    this.setHandle(this.dom.handleHour, hours);\n    this.setHandle(this.dom.handleMinute, minutes);\n    this.setHandle(this.dom.handleSecond, seconds);\n\n    this.watchStarted = true;\n  }\n\n  setHandle(element, angle) {\n    element.style.transform = `rotate(${angle}deg)`;\n  }\n\n  updateDayCounter() {\n    let e,\n      t = 0,\n      n = 0,\n      r = 0,\n      s = 0;\n    const a = this.getSecDiff();\n\n    if (a > 0) {\n      e = this.calculate(a);\n      t = this.formatNumber(e.days);\n      n = this.formatNumber(e.hours);\n      r = this.formatNumber(e.minutes);\n      s = this.formatNumber(e.seconds);\n\n      this.dom.timerDays.innerHTML = t;\n      this.dom.timerHours.innerHTML = n;\n      this.dom.timerMinutes.innerHTML = r;\n      this.dom.timerSeconds.innerHTML = s;\n    }\n\n    if (this.getSecDiff() < 0) {\n      this.dom.countdown.remove();\n      this.dom.header.innerHTML = this.titleTimeover;\n    }\n  }\n\n  getSecDiff() {\n    return (\n      (this.timerDate.getTime() -\n        new Date().getTime() -\n        this.timezoneOffsetMs) /\n      1e3\n    );\n  }\n\n  calculate(e) {\n    const t = this.calculateUnit(e, 86400, 0);\n    const n = this.calculateUnit(e - 86400 * t, 3600, 0);\n    const r = this.calculateUnit(e - 86400 * t - 3600 * n, 60, 0);\n    const s = this.calculateUnit(e - 86400 * t - 3600 * n - 60 * r, 1, 0);\n\n    return { days: t, hours: n, minutes: r, seconds: s };\n  }\n\n  calculateUnit(e, t, n) {\n    return t > e ? n : Math.floor(e / t);\n  }\n\n  formatNumber(e) {\n    if (e < 10) {\n      return `0${e.toString()}`;\n    }\n    return e.toString();\n  }\n}\n\nexport default Module;\n"],"sourceRoot":""}