{"version":3,"sources":["webpack:///./src/client/default/js/components/notificationComponent.js","webpack:///./src/client/default/js/base/baseComponent.js","webpack:///./node_modules/js-cookie/src/js.cookie.js","webpack:///./src/microtemplates/notification/notificationList.ejs"],"names":["NotificationComponent","_baseComponent","element","_this2","_classCallCheck","_callSuper","notificationActiveId","_inherits","_createClass","key","get","_defineProperty","this","CUSTOM_MESSAGES","NOTIFICATION","push","addNotification","close","closeNotification","pushall","addNotificationAll","pushFirstAvailable","addFirstAvailableNotification","value","notifications","_this3","forEach","notification","_ref2","_this4","firstNotification","find","n","isNotificationClosed","setTimeout","_this5","notificationCanBeAdded","stateUpdate","id","title","notificationTitle","description","notificationDescription","icon","notificationIcon","quietPeriod","notificationQuietPeriod","maxViews","notificationMaxViews","image","notificationImage","rank","notificationPromoPush","notificationPost","notificationCtaLink","notificationCtaLabel","subtitle","notificationSubTitle","isfirst","setState","notificationToClose","notificationTimer","$el","lastElementChild","classList","add","skipCookie","document","querySelector","_ref3","_this6","state","Cookies","set","expires","Date","getTime","incrementViews","closed","Object","keys","some","remove","EMIT","querySelectorAll","stateChanges","_this7","notificationList","map","sort","a","b","firstNotificationOpen","slice","reverse","e","firstNotificationIndex","findIndex","emitTracking","trackLinkClass","length","innerHTML","notificationListTemplate","trackingClick","_this8","notificationClosed","views","shown","action","label","TRACKING_EVENTS","update","eventCategory","eventAction","eventLabel","_this","link","$on","baseComponent","BaseComponent","_BaseGiaComponent","_componentElement","setAttribute","_checkMessages","compOptions","options","_objectSpread","dataset","filter","entry","includes","optionValue","cleanEntry","cleanOptionKey","JSON","parse","replace","convertType","deepFreeze","getAttribute","events","cb","arguments","undefined","elements","Bean","on","stopPropagation","one","off","fire","container","message","_loading","LOADER_EVENTS","show","body","error","hide","option","optionReturn","str","concat","charAt","toLocaleLowerCase","BaseGiaComponent","factory","module","exports","OldCookies","window","api","noConflict","extend","i","result","attributes","decode","s","decodeURIComponent","init","converter","path","defaults","toUTCString","stringify","test","write","encodeURIComponent","String","escape","stringifiedAttributes","attributeName","split","cookie","json","jar","cookies","parts","join","name","read","getJSON","withConverter","anonymous","locals","escapeFn","include","rethrow","err","flnm","lineno","esc","lines","start","Math","max","end","min","filename","context","line","curr","markup","_MATCH_HTML","encode_char","_ENCODE_HTML_RULES","c","__line","__lines","__filename","__output","__append","index"],"mappings":"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","file":"js/component-notificationComponent-js.chunks.js","sourcesContent":["import baseComponent from '../base/baseComponent';\nimport notificationListTemplate from 'MICROTEMPLATES/notification/notificationList.ejs';\nimport Cookies from 'js-cookie';\n\nexport default class NotificationComponent extends baseComponent {\n get Messages() {\n return {\n [this.CUSTOM_MESSAGES.NOTIFICATION.push]: this.addNotification,\n [this.CUSTOM_MESSAGES.NOTIFICATION.close]: this.closeNotification,\n [this.CUSTOM_MESSAGES.NOTIFICATION.pushall]: this.addNotificationAll,\n [this.CUSTOM_MESSAGES.NOTIFICATION.pushFirstAvailable]: this.addFirstAvailableNotification\n };\n }\n\n constructor(element) {\n super(element);\n this.notificationActiveId = '';\n }\n\n addNotificationAll(notifications) {\n notifications.forEach((notification) => {\n this.addNotification(notification);\n });\n }\n\n addFirstAvailableNotification({ notifications }) {\n let firstNotification = notifications.find((n) => {\n return !this.isNotificationClosed(n);\n });\n if (firstNotification) {\n setTimeout(() => {\n this.addNotification(firstNotification);\n }, 3000);\n }\n }\n\n addNotification(notification) {\n if (this.notificationCanBeAdded(notification)) {\n let stateUpdate = {};\n stateUpdate[notification.id] = {\n id: notification.id,\n title: notification.notificationTitle,\n description: notification.notificationDescription,\n icon: notification.notificationIcon,\n quietPeriod: notification.notificationQuietPeriod,\n maxViews: notification.notificationMaxViews,\n image: notification.notificationImage,\n rank: notification.rank,\n notificationPromoPush: notification.notificationPromoPush,\n notificationPost: notification.notificationPost,\n notificationCtaLink: notification.notificationCtaLink,\n notificationCtaLabel: notification.notificationCtaLabel,\n subtitle: notification.notificationSubTitle,\n isfirst: false\n };\n\n this.setState(stateUpdate);\n\n if (notification.notificationToClose) {\n this.closeNotification({ id: notification.notificationToClose });\n }\n\n if (notification.notificationTimer) {\n setTimeout(() => {\n this.$el.lastElementChild.classList.add('closing');\n }, notification.notificationTimer);\n setTimeout(() => {\n this.closeNotification({ id: notification.id, skipCookie: true });\n }, notification.notificationTimer + +500);\n }\n\n document.querySelector('body').classList.add(`notification-in`);\n }\n }\n\n closeNotification({ id, skipCookie }) {\n let notification = this.state[id];\n if (notification) {\n if (!skipCookie) {\n Cookies.set('c4_notification_closed_' + notification.id, 'true', {\n expires: new Date(new Date().getTime() + notification.quietPeriod * 60 * 1000)\n });\n }\n this.incrementViews(notification);\n notification.closed = true;\n let stateUpdate = {};\n stateUpdate[id] = notification;\n this.setState(stateUpdate);\n let hasNotificationOpen = Object.keys(this.state).some((id) => {\n return !this.state[id].closed;\n });\n\n if (!hasNotificationOpen) {\n document.querySelector('body').classList.remove(`notification-in`);\n }\n this.EMIT(this.CUSTOM_MESSAGES.NOTIFICATION.closed, { id: id });\n\n let firstNotification = Cookies.get('c4_notification_first_' + notification.id);\n if (firstNotification) {\n Cookies.remove('c4_notification_first_' + notification.id);\n }\n }\n this.$el.querySelectorAll('.push-notification').forEach((notification) => {\n notification.classList.add('opening');\n });\n }\n\n stateChange(stateChanges) {\n let notificationList = Object.keys(this.state)\n .map((id) => {\n return this.state[id];\n })\n .sort((a, b) => {\n return a.rank - b.rank;\n });\n\n let firstNotificationOpen = notificationList\n .slice()\n .reverse()\n .find((e) => {\n return !e.closed;\n });\n\n if (firstNotificationOpen) {\n let firstNotificationIndex = notificationList.findIndex((e) => {\n return e.id === firstNotificationOpen.id;\n });\n if (this.notificationActiveId !== firstNotificationOpen.id) {\n this.emitTracking('Impression', null);\n this.notificationActiveId = firstNotificationOpen.id;\n }\n\n if (firstNotificationOpen.notificationCtaLabel && firstNotificationOpen.notificationCtaLink) {\n notificationList[firstNotificationIndex].trackLinkClass = 'js-track-link';\n }\n\n let firstNotification = Cookies.get('c4_notification_first_' + firstNotificationOpen.id);\n if (!firstNotification && !firstNotificationOpen.notificationTimer) {\n notificationList[firstNotificationIndex].isfirst = true;\n setTimeout(() => {\n Cookies.set('c4_notification_first_' + firstNotificationOpen.id, 'true');\n }, 1000);\n } else {\n notificationList[notificationList.length - 1].isfirst = false;\n }\n }\n\n // if (firstNotificationOpen && firstNotificationOpen.notificationPromoPush) {\n // Cookies.set('c4_notification_shown_' + firstNotificationOpen.id, 'true', { expires: new Date(new Date().getTime() + firstNotificationOpen.quietPeriod * 60 * 1000) });\n // }\n this.$el.innerHTML = notificationListTemplate({ notifications: notificationList });\n if (firstNotificationOpen) {\n this.trackingClick(firstNotificationOpen);\n }\n }\n\n closeFirtsNotification() {\n let notificationList = Object.keys(this.state)\n .map((id) => {\n return this.state[id];\n })\n .sort((a, b) => {\n return a.rank - b.rank;\n });\n\n let firstNotificationOpen = notificationList\n .slice()\n .reverse()\n .find((e) => {\n return !e.closed;\n });\n\n if (firstNotificationOpen) {\n this.closeNotification({ id: firstNotificationOpen.id });\n }\n }\n\n notificationCanBeAdded(notification) {\n let notificationexist = this.state[notification.id];\n if (notificationexist && !notification.closed) return;\n let notificationClosed = Cookies.get('c4_notification_closed_' + notification.id);\n let views = Cookies.get('c4_notification_views_' + notification.id);\n let shown = Cookies.get('c4_notification_shown_' + notification.id);\n if (\n (notificationClosed && notificationClosed === 'true') ||\n (views && views >= notification.maxViews) ||\n (views && views >= notification.notificationMaxViews) ||\n (shown && shown === 'true')\n ) {\n return false;\n }\n\n return true;\n }\n\n isNotificationClosed(notification) {\n let notificationClosed = Cookies.get('c4_notification_closed_' + notification.id);\n let views = Cookies.get('c4_notification_views_' + notification.id);\n let shown = Cookies.get('c4_notification_shown_' + notification.id);\n if ((notificationClosed && notificationClosed === 'true') || (views && views >= notification.notificationMaxViews) || (shown && shown === 'true')) {\n return true;\n }\n\n return false;\n }\n\n incrementViews(notification) {\n let views = Cookies.get('c4_notification_views_' + notification.id);\n Cookies.set('c4_notification_views_' + notification.id, views ? +views + 1 : 1);\n }\n\n emitTracking(action, label) {\n this.EMIT(this.CUSTOM_MESSAGES.TRACKING_EVENTS.update, {\n eventCategory: 'Push banner',\n eventAction: action,\n eventLabel: label\n });\n }\n\n trackingClick(notification) {\n const _this = this;\n let link = document.querySelector('.js-track-link');\n this.$on(\n 'click',\n function(e) {\n _this.emitTracking('Click', notification.id + ' - ' + notification.notificationCtaLabel);\n },\n link\n );\n }\n}\n","/* eslint-disable new-cap */\n/* eslint-disable valid-jsdoc */\n/* eslint-disable no-underscore-dangle */\n\nimport Bean from 'bean';\nimport deepFreeze from '../utilities/freeze';\nimport BaseGiaComponent from './baseGiaComponent';\n\nexport default class BaseComponent extends BaseGiaComponent {\n /**\n * @returns {HTMLElement}\n */\n get $el() {\n return /** @type {HTMLElement} */ (this._componentElement);\n }\n\n get $options() {\n const compOptions = {};\n const options = { ...this.$el.dataset };\n const optionsEntires = Object.keys(options).filter((entry) => entry.includes('option'));\n optionsEntires.forEach((entry) => {\n const cleanEntry = BaseComponent.cleanOptionKey(entry);\n let optionValue;\n if (options[entry].includes('{') && options[entry].includes('}')) {\n optionValue = JSON.parse(options[entry].replace(/'/g, '\"'));\n } else {\n optionValue = BaseComponent.convertType(options[entry]);\n }\n compOptions[cleanEntry] = optionValue;\n });\n return deepFreeze(compOptions);\n }\n\n get COMPONENT_NAME() {\n return this.$el.getAttribute('data-component');\n }\n\n /**\n *\n * constructor\n *\n * @param {Element} element\n */\n constructor(element) {\n super(element);\n this._componentElement = element;\n this._componentElement.setAttribute('data-component-init', 'true');\n this._checkMessages();\n }\n\n static convertType(option) {\n let optionReturn;\n switch (option) {\n case 'false':\n optionReturn = false;\n break;\n case 'true':\n optionReturn = true;\n break;\n case 'null':\n optionReturn = null;\n break;\n default:\n optionReturn = option;\n break;\n }\n\n return optionReturn;\n }\n\n static cleanOptionKey(key) {\n const str = key.replace('option', '');\n return `${str.charAt(0).toLocaleLowerCase()}${str.slice(1)}`;\n }\n\n /**\n *\n * $on\n *\n * @param {String} events\n * @param {Function} cb\n * @param {Element} [element = this.$el]\n * @param {Array|String|Element} [elements = null]\n */\n $on(events, cb, element = this.$el, elements = null) {\n if (!element || !events || !cb) return;\n if (!elements) {\n Bean.on(element, events, (e) => {\n if (e) e.stopPropagation();\n cb(e);\n });\n } else {\n Bean.on(element, events, elements, (e) => {\n if (e) e.stopPropagation();\n cb(e);\n });\n }\n }\n\n /**\n *\n * $one\n *\n * @param {String} events\n * @param {Function} cb\n * @param {Element} [element = this.$el]\n */\n $one(events, cb, element = this.$el) {\n Bean.one(element, events, cb);\n }\n\n /**\n *\n * $off\n *\n * @param {String} events\n * @param {Element} [element = this.$el]\n */\n $off(events, element = this.$el) {\n Bean.off(element, events);\n }\n\n /**\n *\n * $fire\n *\n * @param {String} events\n * @param {Element} [element = this.$el]\n */\n $fire(events, element = this.$el) {\n Bean.fire(element, events);\n }\n\n /**\n *\n * Activate loader\n *\n * @param {HTMLElement} [container]\n * @param {String} [message]\n */\n loading(container, message) {\n this._loading = true;\n this.EMIT(this.CUSTOM_MESSAGES.LOADER_EVENTS.show, {\n container: container || document.body,\n message: message ?? null\n });\n }\n\n /**\n *\n * Deactivate loader\n *\n * @param {HTMLElement} [container]\n * @param {String} [message]\n * @param {Boolean} [error=false]\n * @param {String} [icon]\n */\n endLoading(container, message, error = false, icon) {\n this._loading = false;\n setTimeout(() => {\n if (!this._loading) {\n this.EMIT(this.CUSTOM_MESSAGES.LOADER_EVENTS.hide, {\n container: container || document.body,\n message,\n error,\n icon\n });\n }\n }, 400);\n }\n}\n","/*!\n * JavaScript Cookie v2.2.1\n * https://github.com/js-cookie/js-cookie\n *\n * Copyright 2006, 2015 Klaus Hartl & Fagner Brack\n * Released under the MIT license\n */\n;(function (factory) {\n\tvar registeredInModuleLoader;\n\tif (typeof define === 'function' && define.amd) {\n\t\tdefine(factory);\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (typeof exports === 'object') {\n\t\tmodule.exports = factory();\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (!registeredInModuleLoader) {\n\t\tvar OldCookies = window.Cookies;\n\t\tvar api = window.Cookies = factory();\n\t\tapi.noConflict = function () {\n\t\t\twindow.Cookies = OldCookies;\n\t\t\treturn api;\n\t\t};\n\t}\n}(function () {\n\tfunction extend () {\n\t\tvar i = 0;\n\t\tvar result = {};\n\t\tfor (; i < arguments.length; i++) {\n\t\t\tvar attributes = arguments[ i ];\n\t\t\tfor (var key in attributes) {\n\t\t\t\tresult[key] = attributes[key];\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tfunction decode (s) {\n\t\treturn s.replace(/(%[0-9A-Z]{2})+/g, decodeURIComponent);\n\t}\n\n\tfunction init (converter) {\n\t\tfunction api() {}\n\n\t\tfunction set (key, value, attributes) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tattributes = extend({\n\t\t\t\tpath: '/'\n\t\t\t}, api.defaults, attributes);\n\n\t\t\tif (typeof attributes.expires === 'number') {\n\t\t\t\tattributes.expires = new Date(new Date() * 1 + attributes.expires * 864e+5);\n\t\t\t}\n\n\t\t\t// We're using \"expires\" because \"max-age\" is not supported by IE\n\t\t\tattributes.expires = attributes.expires ? attributes.expires.toUTCString() : '';\n\n\t\t\ttry {\n\t\t\t\tvar result = JSON.stringify(value);\n\t\t\t\tif (/^[\\{\\[]/.test(result)) {\n\t\t\t\t\tvalue = result;\n\t\t\t\t}\n\t\t\t} catch (e) {}\n\n\t\t\tvalue = converter.write ?\n\t\t\t\tconverter.write(value, key) :\n\t\t\t\tencodeURIComponent(String(value))\n\t\t\t\t\t.replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);\n\n\t\t\tkey = encodeURIComponent(String(key))\n\t\t\t\t.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent)\n\t\t\t\t.replace(/[\\(\\)]/g, escape);\n\n\t\t\tvar stringifiedAttributes = '';\n\t\t\tfor (var attributeName in attributes) {\n\t\t\t\tif (!attributes[attributeName]) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tstringifiedAttributes += '; ' + attributeName;\n\t\t\t\tif (attributes[attributeName] === true) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Considers RFC 6265 section 5.2:\n\t\t\t\t// ...\n\t\t\t\t// 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n\t\t\t\t// character:\n\t\t\t\t// Consume the characters of the unparsed-attributes up to,\n\t\t\t\t// not including, the first %x3B (\";\") character.\n\t\t\t\t// ...\n\t\t\t\tstringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n\t\t\t}\n\n\t\t\treturn (document.cookie = key + '=' + value + stringifiedAttributes);\n\t\t}\n\n\t\tfunction get (key, json) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar jar = {};\n\t\t\t// To prevent the for loop in the first place assign an empty array\n\t\t\t// in case there are no cookies at all.\n\t\t\tvar cookies = document.cookie ? document.cookie.split('; ') : [];\n\t\t\tvar i = 0;\n\n\t\t\tfor (; i < cookies.length; i++) {\n\t\t\t\tvar parts = cookies[i].split('=');\n\t\t\t\tvar cookie = parts.slice(1).join('=');\n\n\t\t\t\tif (!json && cookie.charAt(0) === '\"') {\n\t\t\t\t\tcookie = cookie.slice(1, -1);\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tvar name = decode(parts[0]);\n\t\t\t\t\tcookie = (converter.read || converter)(cookie, name) ||\n\t\t\t\t\t\tdecode(cookie);\n\n\t\t\t\t\tif (json) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tcookie = JSON.parse(cookie);\n\t\t\t\t\t\t} catch (e) {}\n\t\t\t\t\t}\n\n\t\t\t\t\tjar[name] = cookie;\n\n\t\t\t\t\tif (key === name) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t} catch (e) {}\n\t\t\t}\n\n\t\t\treturn key ? jar[key] : jar;\n\t\t}\n\n\t\tapi.set = set;\n\t\tapi.get = function (key) {\n\t\t\treturn get(key, false /* read as raw */);\n\t\t};\n\t\tapi.getJSON = function (key) {\n\t\t\treturn get(key, true /* read as json */);\n\t\t};\n\t\tapi.remove = function (key, attributes) {\n\t\t\tset(key, '', extend(attributes, {\n\t\t\t\texpires: -1\n\t\t\t}));\n\t\t};\n\n\t\tapi.defaults = {};\n\n\t\tapi.withConverter = init;\n\n\t\treturn api;\n\t}\n\n\treturn init(function () {});\n}));\n","module.exports = function anonymous(locals, escapeFn, include, rethrow) {\n rethrow = rethrow || function rethrow(err, str, flnm, lineno, esc) {\n var lines = str.split(\"\\n\");\n var start = Math.max(lineno - 3, 0);\n var end = Math.min(lines.length, lineno + 3);\n var filename = esc(flnm);\n var context = lines.slice(start, end).map(function(line, i) {\n var curr = i + start + 1;\n return (curr == lineno ? \" >> \" : \" \") + curr + \"| \" + line;\n }).join(\"\\n\");\n err.path = filename;\n err.message = (filename || \"ejs\") + \":\" + lineno + \"\\n\" + context + \"\\n\\n\" + err.message;\n throw err;\n };\n escapeFn = escapeFn || function(markup) {\n return markup == undefined ? \"\" : String(markup).replace(_MATCH_HTML, encode_char);\n };\n var _ENCODE_HTML_RULES = {\n \"&\": \"&\",\n \"<\": \"<\",\n \">\": \">\",\n '\"': \""\",\n \"'\": \"'\"\n }, _MATCH_HTML = /[&<>'\"]/g;\n function encode_char(c) {\n return _ENCODE_HTML_RULES[c] || c;\n }\n var __line = 1, __lines = '<% if (notifications && notifications.length > 0) { %> <% notifications.forEach(function(notification,index){ %> <% if (!notification.closed) { %>\\n<div class=\"push-notification <% if (notification.isfirst) { %> first-time <% } %><% if (notification.notificationPost) { %> post-notification <% } %> \">\\n <div class=\"notification-header\">\\n <p><img src=\"<%= notification.icon %>\" alt=\"<%= notification.title %>\" /><%= notification.title %></p>\\n <button class=\"notification-close\" data-option-notification-id=\"<%= notification.id %>\" data-component=\"closeNotificationComponent\" aria-label=\"chiudi notifica\"></button>\\n </div>\\n <div class=\"notification-body\">\\n <img class=\"notification-image lazyload\" src=\"<%= notification.image %>\" alt=\"<%- notification.description %>\" />\\n <div>\\n <% if (notification.subtitle) {%>\\n <p class=\"subtitle\"><%- notification.subtitle %></p>\\n <%}%>\\n <p><%- notification.description %></p>\\n <% if (notification.notificationCtaLabel && notification.notificationCtaLink) {%>\\n <a href=\"<%- notification.notificationCtaLink %>\" class=\"btn btn-primary <% if (notification.trackLinkClass) { %> <%- notification.trackLinkClass %> <% } %>\"\\n ><%- notification.notificationCtaLabel %></a\\n >\\n <%}%>\\n </div>\\n </div>\\n</div>\\n<% } %> <% }); %> <% } %>\\n', __filename = \"src/microtemplates/notification/notificationList.ejs\";\n try {\n var __output = \"\";\n function __append(s) {\n if (s !== undefined && s !== null) __output += s;\n }\n with (locals || {}) {\n if (notifications && notifications.length > 0) {\n __append(\" \");\n notifications.forEach(function(notification, index) {\n __append(\" \");\n if (!notification.closed) {\n __append('\\n<div class=\"push-notification ');\n __line = 2;\n if (notification.isfirst) {\n __append(\" first-time \");\n }\n if (notification.notificationPost) {\n __append(\" post-notification \");\n }\n __append(' \">\\n <div class=\"notification-header\">\\n <p><img src=\"');\n __line = 4;\n __append(escapeFn(notification.icon));\n __append('\" alt=\"');\n __append(escapeFn(notification.title));\n __append('\" />');\n __append(escapeFn(notification.title));\n __append('</p>\\n <button class=\"notification-close\" data-option-notification-id=\"');\n __line = 5;\n __append(escapeFn(notification.id));\n __append('\" data-component=\"closeNotificationComponent\" aria-label=\"chiudi notifica\"></button>\\n </div>\\n <div class=\"notification-body\">\\n <img class=\"notification-image lazyload\" src=\"');\n __line = 8;\n __append(escapeFn(notification.image));\n __append('\" alt=\"');\n __append(notification.description);\n __append('\" />\\n <div>\\n ');\n __line = 10;\n if (notification.subtitle) {\n __append('\\n <p class=\"subtitle\">');\n __line = 11;\n __append(notification.subtitle);\n __append(\"</p>\\n \");\n __line = 12;\n }\n __append(\"\\n <p>\");\n __line = 13;\n __append(notification.description);\n __append(\"</p>\\n \");\n __line = 14;\n if (notification.notificationCtaLabel && notification.notificationCtaLink) {\n __append('\\n <a href=\"');\n __line = 15;\n __append(notification.notificationCtaLink);\n __append('\" class=\"btn btn-primary ');\n if (notification.trackLinkClass) {\n __append(\" \");\n __append(notification.trackLinkClass);\n __append(\" \");\n }\n __append('\"\\n >');\n __line = 16;\n __append(notification.notificationCtaLabel);\n __append(\"</a\\n >\\n \");\n __line = 18;\n }\n __append(\"\\n </div>\\n </div>\\n</div>\\n\");\n __line = 22;\n }\n __append(\" \");\n });\n __append(\" \");\n }\n __append(\"\\n\");\n __line = 23;\n }\n return __output;\n } catch (e) {\n rethrow(e, __lines, __filename, __line, escapeFn);\n }\n}"],"sourceRoot":""}