{"version":3,"sources":["../../../../dev/j/v2/components/cmp-countdown.js"],"names":["document","querySelector","counter","expiryTime","dataset","expiration","countDownDate","Date","getTime","elDays","elHrs","elMins","elSec","timestamp","urlParams","URLSearchParams","window","location","search","todayParam","get","dateAndTimeParts","split","length","datePart","timePart","dateString","replace","dateObject","isNaN","x","setInterval","now","distance","days","Math","floor","hrs","mins","sec","innerHTML","clearInterval","remove","error","sdl","console","push","system","type","name","message","event"],"mappings":"CAAA,WACC,YACA,KACC,GAAIA,SAASC,cAAc,kBAAmB,CAC7C,GACCC,GAAUF,SAASC,cAAc,kBACjCE,EAAaD,EAAQE,QAAQC,WAC7BC,EAAgB,GAAIC,MAAKJ,GAAYK,UACrCC,EAASP,EAAQD,cAAc,kBAC/BS,EAAQR,EAAQD,cAAc,iBAC9BU,EAAST,EAAQD,cAAc,kBAC/BW,EAAQV,EAAQD,cAAc,iBAC9BY,EAAY,EAEb,MAAMC,GAAY,GAAIC,iBAAgBC,OAAOC,SAASC,QAChDC,EAAaL,EAAUM,IAAI,QAEjC,IAAID,EAAY,CAEf,KAAME,GAAmBF,EAAWG,MAAM,KAG1C,IAAgC,IAA5BD,EAAiBE,OAAc,CAClC,KAAMC,GAAWH,EAAiB,GAC5BI,EAAWJ,EAAiB,GAG5BK,EACLF,EAASG,QAAQ,KAAM,KACvB,IACAF,EAASE,QAAQ,KAAM,KACvB,YAGKC,EAAa,GAAIrB,MAAKmB,EAG5Bb,GAAYe,EAAWpB,WAKrBqB,MAAMvB,KACTA,GAAgB,GAAIC,OAAOC,UAI5B,IAAIsB,GAAIC,YAAY,WACnB,GACCC,GAAMnB,EAAaA,GAAwB,KAAQ,GAAIN,OAAOC,UAC9DyB,EAAW3B,EAAgB0B,EAE3BE,EAAOC,KAAKC,MAAMH,EAAW,OAC7BI,EAAMF,KAAKC,MAAOH,EAAW,MAAyB,MACtDK,EAAOH,KAAKC,MAAOH,EAAW,KAAoB,KAClDM,EAAMJ,KAAKC,MAAOH,EAAW,IAAe,IAG7CxB,GAAO+B,UAAYN,EAAO,GAAM,IAAIA,EAAQA,EAC5CxB,EAAM8B,UAAYH,EAAM,GAAM,IAAIA,EAAOA,EACzC1B,EAAO6B,UAAYF,EAAO,GAAM,IAAIA,EAAQA,EAC5C1B,EAAM4B,UAAYD,EAAM,GAAM,IAAIA,EAAOA,EAGrCN,EAAW,IACdQ,cAAcX,GACd5B,EAAQwC,WAEP,MAGH,MAAOC,GAEW,mBAARC,OACVC,QAAQF,MAAMA,GACdC,IAAIE,MACHC,QACCJ,OACCK,KAAML,EAAMM,KACZC,QAASP,EAAMO,UAGjBC,MAAO","file":"cmp-countdown.js","sourcesContent":["(function() {\n\t'use strict';\n\ttry {\n\t\tif (document.querySelector('.cmp-countdown')) {\n\t\t\tvar\n\t\t\t\tcounter = document.querySelector('.cmp-countdown'),\n\t\t\t\texpiryTime = counter.dataset.expiration,\n\t\t\t\tcountDownDate = new Date(expiryTime).getTime(),\n\t\t\t\telDays = counter.querySelector('.days .numbers'),\n\t\t\t\telHrs = counter.querySelector('.hrs .numbers'),\n\t\t\t\telMins = counter.querySelector('.mins .numbers'),\n\t\t\t\telSec = counter.querySelector('.sec .numbers'),\n\t\t\t\ttimestamp = '';\n\n\t\t\tconst urlParams = new URLSearchParams(window.location.search);\n\t\t\tconst todayParam = urlParams.get('today');\n\n\t\t\tif (todayParam) {\n\t\t\t\t// Split the parameter into date and time parts\n\t\t\t\tconst dateAndTimeParts = todayParam.split('--');\n\n\t\t\t\t// Check if both date and time parts are present\n\t\t\t\tif (dateAndTimeParts.length === 2) {\n\t\t\t\t\tconst datePart = dateAndTimeParts[0];\n\t\t\t\t\tconst timePart = dateAndTimeParts[1];\n\n\t\t\t\t\t// Construct the date string\n\t\t\t\t\tconst dateString =\n\t\t\t\t\t\tdatePart.replace(/-/g, ' ') +\n\t\t\t\t\t\t' ' +\n\t\t\t\t\t\ttimePart.replace(/-/g, ':') +\n\t\t\t\t\t\t' GMT+0000';\n\n\t\t\t\t\t// Create a Date object\n\t\t\t\t\tconst dateObject = new Date(dateString);\n\n\t\t\t\t\t// Get the timestamp\n\t\t\t\t\ttimestamp = dateObject.getTime();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// fallback to not show NaN\n\t\t\tif (isNaN(countDownDate)) {\n\t\t\t\tcountDownDate = new Date().getTime();\n\t\t\t}\n\n\t\t\t// Update the count down every 1 second\n\t\t\tvar x = setInterval(function() {\n\t\t\t\tvar\n\t\t\t\t\tnow = timestamp ? (timestamp = timestamp + 1000) : new Date().getTime(), // Get today's date and time\n\t\t\t\t\tdistance = countDownDate - now, // Find the distance between now and the count down date\n\t\t\t\t\t// Time calculations for days, hours, minutes and seconds\n\t\t\t\t\tdays = Math.floor(distance / (1000 * 60 * 60 * 24)),\n\t\t\t\t\thrs = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)),\n\t\t\t\t\tmins = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60)),\n\t\t\t\t\tsec = Math.floor((distance % (1000 * 60)) / 1000);\n\n\t\t\t\t// Display the result in the counter element\n\t\t\t\telDays.innerHTML = days < 10 ? ('0'+days) : days;\n\t\t\t\telHrs.innerHTML = hrs < 10 ? ('0'+hrs) : hrs;\n\t\t\t\telMins.innerHTML = mins < 10 ? ('0'+mins) : mins;\n\t\t\t\telSec.innerHTML = sec < 10 ? ('0'+sec) : sec;\n\n\t\t\t\t// If the count down is finished, remove counter\n\t\t\t\tif (distance < 0) {\n\t\t\t\t\tclearInterval(x);\n\t\t\t\t\tcounter.remove();\n\t\t\t\t}\n\t\t\t}, 1000);\n\t\t}\n\n\t} catch (error) {\n\t\t// singe data layer error tracking\n\t\tif (typeof sdl !== 'undefined') {\n\t\t\tconsole.error(error);\n\t\t\tsdl.push({\n\t\t\t\tsystem: {\n\t\t\t\t\terror: {\n\t\t\t\t\t\ttype: error.name,\n\t\t\t\t\t\tmessage: error.message,\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tevent: 'system.error'\n\t\t\t});\n\t\t}\n\t}\n})();\n"]}