{"version":3,"file":"./modules/ContactLevelCookie.xxxxxxxx.js","mappings":"8IAIe,MAAMA,EAKjB,WAAAC,GACIC,KAAKC,WAAa,eAGlBD,KAAKE,iBAAmBC,SAASC,KAAKC,QAAQC,kBAAoB,MAClEN,KAAKO,uBAAyB,IAE9BP,KAAKQ,MACT,CAEQ,IAAAA,IACA,QAAU,2BACVR,KAAKS,gCACL,QAAa,4BACN,QAAUT,KAAKC,YACtBD,KAAKU,uBAEL,QAAUV,KAAKC,WAAYD,KAAKW,sBAAuBC,SAASZ,KAAKE,kBAE7E,CAEA,4BAAAO,GACI,IAAII,GAAyB,QAAU,2BACvC,QAAUb,KAAKC,WAAYY,EAAgBD,SAASZ,KAAKE,kBAC7D,CAEA,mBAAAQ,GACI,IACII,GADkB,QAAUd,KAAKC,YACLc,MAAM,KAGlCC,EAFaF,EAAUA,EAAUG,OAAS,GAEZF,MAAM,KACpCG,EAAYF,EAAiB,GAAGD,MAAM,KACtCI,EAAyBD,EAAU,GAAK,IAAMA,EAAU,GAAK,IAAMA,EAAU,GAAK,IAAMF,EAAiB,GAEzGhB,KAAKoB,UAAU,IAAIC,KAAKF,MACxB,QAAUnB,KAAKC,WAAY,kBAAmBW,SAASZ,KAAKE,kBAEpE,CAEA,SAAAkB,CAAUE,GACN,IACIC,GAAc,EAIlB,OAHID,EAFoB,IAAID,OAGxBE,GAAc,GAEXA,CACX,CAEA,mBAAAZ,GACI,IAAIa,EAAYxB,KAAKsB,YACrB,MAAO,2CAA8CE,EAAUC,UAAa,KAAOD,EAAUE,WAAa,GAAK,IAAMF,EAAUG,cAAgB,IAAMH,EAAUI,WAAa,IAAMJ,EAAUK,aAAe,IAAML,EAAUM,YAC/N,CAEA,SAAAR,GACI,IAAIE,EAAY,IAAIH,KAEpB,OADAG,EAAY,IAAIH,KAAKG,EAAUO,UAAqD,IAAxCnB,SAASZ,KAAKO,wBAAiC,GAE/F,E","sources":["webpack:///./modules/ContactLevelCookie.ts"],"sourcesContent":["/// \r\n\r\nimport { setCookie, deleteCookie, getCookie } from '../helpers/helperFunctions';\r\n\r\nexport default class ContactLevelCookie {\r\n private cookieName: string;\r\n private cookieExpiration: string;\r\n private contactLevelExpiration: string;\r\n\r\n constructor() {\r\n this.cookieName = 'ContactLevel';\r\n // Cookie expiration and transformation from guest to engaged time should come from Sitecore\r\n // in bauhaus this was done on meta tag\r\n this.cookieExpiration = document.body.dataset.expirationPeriod || '365';\r\n this.contactLevelExpiration = '2';\r\n\r\n this.init();\r\n }\r\n\r\n private init() {\r\n if (getCookie('DemandwareContactLevel')) {\r\n this.renameDemandwareContactLevel();\r\n deleteCookie('DemandwareContactLevel');\r\n } else if (getCookie(this.cookieName)) {\r\n this.checkEngagedVisitor();\r\n } else {\r\n setCookie(this.cookieName, this.getGuestCookieValue(), parseInt(this.cookieExpiration));\r\n }\r\n }\r\n\r\n renameDemandwareContactLevel() {\r\n let oldCookieValue: string = getCookie('DemandwareContactLevel');\r\n setCookie(this.cookieName, oldCookieValue, parseInt(this.cookieExpiration));\r\n }\r\n\r\n checkEngagedVisitor() {\r\n var dateCookieValue = getCookie(this.cookieName),\r\n dateArray = dateCookieValue.split(\"=\"),\r\n dateString = dateArray[dateArray.length - 1];\r\n\r\n var splitDateAndTime = dateString.split(\" \"),\r\n splitDate = splitDateAndTime[0].split(\".\"),\r\n finalDateAndTimeFormat = splitDate[1] + '.' + splitDate[0] + '.' + splitDate[2] + ' ' + splitDateAndTime[1];\r\n\r\n if (this.checkDate(new Date(finalDateAndTimeFormat))) {\r\n setCookie(this.cookieName, 'Engaged Visitor', parseInt(this.cookieExpiration));\r\n }\r\n }\r\n\r\n checkDate(guestDate: Date): boolean {\r\n var currentDate: Date = new Date(),\r\n returnValue = false;\r\n if (guestDate < currentDate) {\r\n returnValue = true;\r\n }\r\n return returnValue;\r\n }\r\n\r\n getGuestCookieValue() {\r\n var dateValue = this.guestDate();\r\n return 'Value=Guest Visitor&ContactLevelExpires=' + (dateValue.getDate()) + '.' + (dateValue.getMonth() + 1) + '.' + dateValue.getFullYear() + ' ' + dateValue.getHours() + ':' + dateValue.getMinutes() + ':' + dateValue.getSeconds();\r\n }\r\n\r\n guestDate(): Date {\r\n var dateValue = new Date();\r\n dateValue = new Date(dateValue.getTime() + (parseInt(this.contactLevelExpiration) * 1000 * 60));\r\n return dateValue;\r\n }\r\n}"],"names":["ContactLevelCookie","constructor","this","cookieName","cookieExpiration","document","body","dataset","expirationPeriod","contactLevelExpiration","init","renameDemandwareContactLevel","checkEngagedVisitor","getGuestCookieValue","parseInt","oldCookieValue","dateArray","split","splitDateAndTime","length","splitDate","finalDateAndTimeFormat","checkDate","Date","guestDate","returnValue","dateValue","getDate","getMonth","getFullYear","getHours","getMinutes","getSeconds","getTime"],"sourceRoot":""}