{"version":3,"file":"default/js/pageViewCbt.js","mappings":";;;;;;;;;;AAAa;;AAEb;AACA,UAAU;AACV,SAAS;AACT,SAAS;AACT,WAAW;AACX,UAAU;AACV;;AAEA,oDAAoD;AACpD;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;UC3BA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;;;;;ACtBA;AACA;AACA;;AAEa;;AAEb,eAAe,mBAAO,CAAC,4FAAkB;;AAEzC;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC","sources":["webpack://sfra-startup-kit/./cartridges/int_cbt/cartridge/client/default/js/utils/unescape.js","webpack://sfra-startup-kit/webpack/bootstrap","webpack://sfra-startup-kit/./cartridges/int_cbt/cartridge/client/default/js/pageViewCbt.js"],"sourcesContent":["\"use strict\";\n\nconst htmlUnescapes = {\n \"&\": \"&\",\n \"<\": \"<\",\n \">\": \">\",\n \""\": \"\\\"\",\n \"'\": \"'\"\n};\n\nconst reEscapedHtml = /&(?:amp|lt|gt|quot|#(0+)?39);/g;\nconst reHasEscapedHtml = RegExp(reEscapedHtml.source);\n\n/**\n * Unescapes a given string by replacing HTML entities with their corresponding characters\n * @param {string} string - the string to unescape\n * @returns {string} the unescaped string\n */\nfunction unescape(string) {\n return string && reHasEscapedHtml.test(string)\n ? string.replace(\n reEscapedHtml,\n (entity) => htmlUnescapes[entity] || \"'\"\n )\n : string || \"\";\n}\n\nmodule.exports = unescape;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","/**\n * Property of OSF GLOBAL SERVICES INC. , an OSF Digital company. OSF remains the sole owner of all right, title and interest in the software. Do not copy, sell, reverse engineer or otherwise attempt to derive or obtain information about the functioning, manufacture or operation therein.\n */\n\n\"use strict\";\n\nvar unescape = require(\"./utils/unescape\");\n\nclass CBTController {\n /**\n * function to push data to the dataLayer, and add hash\n * @param {Object} data - data to push\n */\n static hashPush(data) {\n var dataReassigned = data;\n if (dataReassigned) {\n if (dataReassigned.options !== \"Quantity\" || dataReassigned.options !== \"Options\") {\n delete dataReassigned.options;\n }\n if (dataReassigned.eventTypes) {\n delete dataReassigned.eventTypes;\n }\n if (dataReassigned.selector) {\n delete dataReassigned.selector;\n }\n // eslint-disable-next-line no-restricted-globals\n if ((location.hash.indexOf(dataReassigned.event + \"cbt\") === -1)) {\n dataLayer.push(dataReassigned);\n }\n }\n }\n\n /**\n * check data type and parse string into JSON\n * @param {Object} data - data to push\n */\n static dataPush(data) {\n var dataReassigned = data;\n if ((typeof (dataReassigned) === \"string\") && (dataReassigned !== \"\")) {\n if ((dataReassigned != null) || (dataReassigned !== \"null\")) {\n dataReassigned = CBTController.parseJSON(unescape(dataReassigned));\n CBTController.hashPush(dataReassigned);\n }\n } else {\n CBTController.hashPush(dataReassigned);\n }\n }\n\n // Push data which specifies customer's number if they're logged in, otherwise specify \"Anonymous\"\n static clientNumberRun() {\n var dataLayerObj = {\n event: \"page_view\"\n };\n if (window.customerNumber) {\n dataLayerObj.user_id = customerNumber;\n dataLayerObj.user_type = \"Registered\";\n } else {\n delete dataLayerObj.user_id;\n dataLayerObj.user_type = \"Guest\";\n }\n var siteLanguage = window.CQuotient.locale;\n dataLayerObj.site_language = siteLanguage;\n CBTController.dataPush(dataLayerObj);\n }\n}\n\ndocument.addEventListener(\"DOMContentLoaded\", function () {\n CBTController.clientNumberRun();\n});\n"],"names":[],"sourceRoot":""}