UNPKG

@mopinion/survey

Version:

Collect customer feedback with the Mopinion survey library

747 lines (746 loc) 31.2 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports._get = _get; exports.addClass = void 0; exports.anonymizeValue = anonymizeValue; exports.appendScript = appendScript; exports.appendStyle = appendStyle; exports.createId = createId; exports.createRandomId = createRandomId; exports.encodeQuotes = exports.debounce = void 0; exports.findSelector = findSelector; exports.getCookie = void 0; exports.getDataAttr = getDataAttr; exports.getDatafieldIdFromExtra = getDatafieldIdFromExtra; exports.getIdFromField = getIdFromField; exports.getImageUri = getImageUri; exports.getJsFromString = getJsFromString; exports.getMetaData = getMetaData; exports.getNonce = getNonce; exports.getPageSearch = getPageSearch; exports.getPageUrl = getPageUrl; exports.getStorage = getStorage; exports.getStrParam = void 0; exports.getTextContent = getTextContent; exports.getUrlParam = void 0; exports.getWebsiteDataName = getWebsiteDataName; exports.getWebsiteDataValue = getWebsiteDataValue; exports.isFontLoaded = exports.isArray = exports.hasClass = void 0; exports.isLandingPage = isLandingPage; exports.isPreviewPage = isPreviewPage; exports.isUuid = isUuid; exports.loadFonts = void 0; exports.log = log; exports.makeClassName = makeClassName; exports.mapBrFromString = mapBrFromString; exports.prependChild = exports.objectToFormData = exports.nodeListToArray = void 0; exports.range = range; exports.rectIsHidden = rectIsHidden; exports.removeClass = void 0; exports.removeEmptyFromNestedObject = removeEmptyFromNestedObject; exports.removeStorage = removeStorage; exports.rnd = rnd; exports.scrollEmbeddedIntoView = scrollEmbeddedIntoView; exports.setCookie = exports.serialize = void 0; exports.setLangAttribute = setLangAttribute; exports.setStorage = setStorage; exports.shuffleArray = shuffleArray; exports.startsWith = startsWith; exports.stringify = stringify; exports.stripTags = stripTags; exports.supportsCSSStyleSheetReplace = supportsCSSStyleSheetReplace; exports.triggerEvent = exports.throttle = void 0; exports.tryFocus = tryFocus; var _preact = require("preact"); function _toArray(r) { return _arrayWithHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableRest(); } function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); } function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } function _arrayWithHoles(r) { if (Array.isArray(r)) return r; } function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; } function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } } function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } function tryDecode() { var str = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; try { return decodeURIComponent(str); } catch (e) { return str; } } function tryEncode() { var str = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; try { return encodeURIComponent(str); } catch (e) { return str; } } function isEncoded() { var uri = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; try { return uri !== decodeURIComponent(uri); } catch (e) { return false; } } var getUrlParam = exports.getUrlParam = function getUrlParam() { var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; var search = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : window.location.search; name = name.replace(/[\[]/, '\\[').replace(/[\]]/, '\\]'); var regex = new RegExp('[\\?&]' + name + '=([^&#]*)'); var results = regex.exec(search); return results === null ? '' : tryDecode(results[1].replace(/\+/g, ' ')); }; var getStrParam = exports.getStrParam = function getStrParam(name, str) { name = name.replace(/[\[]/, '\\[').replace(/[\]]/, '\\]'); var regex = new RegExp('[\\?&]' + name + '=([^&#]*)'); var results = regex.exec(str); return results === null ? '' : tryDecode(results[1].replace(/\+/g, ' ')); }; var getCookie = exports.getCookie = function getCookie(cookieKey) { var _iterator = _createForOfIteratorHelper(document.cookie.split('; ')), _step; try { for (_iterator.s(); !(_step = _iterator.n()).done;) { var cookie = _step.value; var _cookie$split = cookie.split('='), _cookie$split2 = _slicedToArray(_cookie$split, 2), key = _cookie$split2[0], val = _cookie$split2[1]; if (cookieKey === key) { return tryDecode(val); } } } catch (err) { _iterator.e(err); } finally { _iterator.f(); } }; function rootDomain() { var parts = window.location.hostname.split('.'); if (parts.length <= 2) { return window.location.hostname; } var sliced = parts.slice(-3); if (['co', 'com'].indexOf(sliced[1]) > -1) return sliced.join('.'); return sliced.slice(-2).join('.'); } var setCookie = exports.setCookie = function setCookie(name, value, days) { var expires = ''; if (days) { var date = new Date(); date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000); expires = "; expires=".concat(date.toUTCString()); } var secure = document.location.protocol === 'https:' ? '; Secure' : ''; var cookie = "".concat(name, "=").concat(value || '').concat(expires, ";domain=.").concat(rootDomain(), ";path=/").concat(secure, ";"); document.cookie = cookie; }; function isValidSource() { var str = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; return /^((http|https):\/\/)/.test(str); } function appendStyle(url) { if (!isValidSource(url)) { return; } if (document.querySelector("link[href=\"".concat(url, "\"]"))) { return; } var style = document.createElement('link'); style.type = 'text/css'; style.rel = 'stylesheet'; style.href = url; document.head.appendChild(style); } function appendScript() { var url = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, onLoad = _ref.onLoad; if (!isValidSource(url)) { return; } if (document.querySelector("script[src=\"".concat(url, "\"]"))) { return; } var script = document.createElement('script'); script.src = url; script.type = 'text/javascript'; script.setAttribute('data-testid', 'custom-script'); document.head.appendChild(script); if (typeof onLoad === 'function') { var done = false; script.onload = script.onreadystatechange = function () { if (!done && (!script.readyState || script.readyState === 'loaded' || script.readyState === 'complete')) { done = true; try { onLoad(); } catch (e) {} } }; } } var debounce = exports.debounce = function debounce(fn, delay) { var timerId; return function () { for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } if (timerId) { clearTimeout(timerId); } timerId = setTimeout(function () { fn.apply(void 0, args); timerId = null; }, delay); }; }; var throttle = exports.throttle = function throttle(fn, delay) { var lastCall = 0; return function () { var now = new Date().getTime(); if (now - lastCall < delay) { return; } lastCall = now; return fn.apply(void 0, arguments); }; }; var addClass = exports.addClass = function addClass(elements, className) { for (var i = 0; i < elements.length; i++) { var element = elements[i]; if (element.classList) { element.classList.add(className); } else { element.className += ' ' + className; } } }; var removeClass = exports.removeClass = function removeClass(elements, className) { for (var i = 0; i < elements.length; i++) { var element = elements[i]; if (element.classList) { element.classList.remove(className); } else { element.className = element.className.replace(new RegExp('(^|\\b)' + className.split(' ').join('|') + '(\\b|$)', 'gi'), ' '); } } }; var hasClass = exports.hasClass = function hasClass(element, className) { if (element.classList) { return element.classList.contains(className); } else { return new RegExp('(\\s|^)' + className + '(\\s|$)').test(element.className); } }; var loadFonts = exports.loadFonts = function loadFonts() { var fonts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; var fontsDomain = arguments.length > 1 ? arguments[1] : undefined; if (typeof fonts === 'string') { fonts = [].concat(fonts); } var fontsShouldLoad = fonts.filter(function (f) { return f && !isFontLoaded(f); }); if (fontsShouldLoad.length) { appendStyle("https://".concat(fontsDomain, "/css?family=").concat(fontsShouldLoad.map(function (f) { return f.replace(/ /g, '+'); }).join('|'))); } return fontsShouldLoad; }; var isFontLoaded = exports.isFontLoaded = function isFontLoaded(font) { var node = document.createElement('span'); node.innerHTML = 'giItT1WQy@!-/#'; node.style.position = 'absolute'; node.style.left = '-10000px'; node.style.top = '-10000px'; node.style.fontSize = '300px'; node.style.fontFamily = 'sans-serif'; node.style.fontVariant = 'normal'; node.style.fontStyle = 'normal'; node.style.fontWeight = 'normal'; node.style.letterSpacing = '0'; document.body.appendChild(node); var width = node.offsetWidth; node.style.fontFamily = font + ', sans-serif'; var widthAfterFont = node.offsetWidth; node.parentNode.removeChild(node); return widthAfterFont !== width; }; var _objectToFormData = exports.objectToFormData = function objectToFormData(formData, obj, previousKey) { if (obj instanceof Object) { Object.keys(obj).forEach(function (key) { var value = obj[key]; if (value instanceof Object && !isArray(value)) { return _objectToFormData(formData, value, key); } if (previousKey) { key = "".concat(previousKey, "[").concat(key, "]"); } if (isArray(value)) { value.forEach(function (val, i) { return _objectToFormData(formData, val, "".concat(key, "[").concat(i, "]")); }); } else { formData.append(key, value); } }); return formData; } }; var _serialize = exports.serialize = function serialize(obj, prefix) { var str = [], p; for (p in obj) { if (obj.hasOwnProperty(p)) { var k = prefix ? prefix + '[' + p + ']' : p, v = obj[p]; str.push(v !== null && _typeof(v) === 'object' ? _serialize(v, k) : encodeURIComponent(k) + '=' + encodeURIComponent(v)); } } return str.join('&'); }; var triggerEvent = exports.triggerEvent = function triggerEvent(data) { var element = data.element || document; if (typeof CustomEvent === 'function') { var e = new CustomEvent('mopinion_' + data.event, { bubbles: false, detail: data }); element.dispatchEvent(e); } else { var _e = document.createEvent('CustomEvent'); _e.initCustomEvent('mopinion_' + data.event, false, false, data); element.dispatchEvent(_e); } }; var encodeQuotes = exports.encodeQuotes = function encodeQuotes(text) { var map = { '"': '&quot;', "'": '&#039;' }; return text.replace(/["']/g, function (m) { return map[m]; }); }; var prependChild = exports.prependChild = function prependChild(parentElement, newElement) { return parentElement.insertBefore(newElement, parentElement.firstChild); }; var isArray = exports.isArray = function isArray(t) { if (Array.isArray) { return Array.isArray(t); } else { return t instanceof Array; } }; var nodeListToArray = exports.nodeListToArray = function nodeListToArray(list) { return Array.prototype.slice.call(list); }; function anonymizeValue(target) { var value = target.value || target.getAttribute('value'); if (value) { var replacedValue = value.replace(/./g, '*'); target.setAttribute('value', replacedValue); target.value = replacedValue; } return target; } function rnd() { return Math.random().toString(36); } function shuffleArray(array, keepLastIndex) { return array.map(function (a, index) { return { sort: keepLastIndex && index === array.length - 1 ? 1 : Math.random(), value: a }; }).sort(function (a, b) { return a.sort - b.sort; }).map(function (a) { return a.value; }); } function createRandomId() { var len = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 35; var bits = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 36; var outStr = '', newStr; while (outStr.length < len) { newStr = Math.random().toString(bits).slice(2); outStr += newStr.slice(0, Math.min(newStr.length, len - outStr.length)); } return outStr; } function createId(len) { var time = new Date().getTime(); return "".concat(time).concat(createRandomId(len)); } function stripTags() { var str = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; return String(str).replace(/(<([^>]+)>)/gi, ''); } function getMetaData() { var webView = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; var metaData = webView ? window.metaData : window.__mopinionMetaData; return Object.keys(metaData !== null && metaData !== void 0 ? metaData : {}).map(function (metaDataKey) { return { label: metaDataKey, value: metaData[metaDataKey], type: 'category' }; }); } function startsWith(startStr, fullStr) { return fullStr.substr(0, startStr.length) === startStr; } function getImageUri(uri) { if (startsWith('data:image', uri)) { return uri; } return "https://cacheorcheck.mopinion.com/survey/public/image?file=".concat(uri); } function _get(value, path, defaultValue) { var ignoreWindow = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true; return String(path).replace(/\["|\['|\[/g, '.').replace(/"]|']|]/g, '').split('.').reduce(function (acc, current, index, currentArr) { if (index === 0 && current === 'window' && ignoreWindow) { return acc; } try { var key = current.replace(/[()]/g, ''); var wildcard = key === '*'; var lastWildcard = key === '*LAST'; if ((wildcard || lastWildcard) && Array.isArray(acc)) { var _acc$, _acc$pop; var nextSearchKey = currentArr[index + 1]; acc = acc.filter(function (item) { return item === null || item === void 0 ? void 0 : item[nextSearchKey]; }); return wildcard ? (_acc$ = acc[0]) !== null && _acc$ !== void 0 ? _acc$ : defaultValue : (_acc$pop = acc.pop()) !== null && _acc$pop !== void 0 ? _acc$pop : defaultValue; } else { acc = typeof acc[key] === 'function' ? acc[key]() : acc[key]; return acc !== null && acc !== void 0 ? acc : defaultValue; } } catch (e) { return defaultValue; } }, value); } function getJsFromString(str) { try { return _get(window, str, undefined); } catch (e) { return undefined; } } function removeEmptyFromNestedObject(obj) { var newObj = {}; Object.keys(obj).forEach(function (key) { if (obj[key] && _typeof(obj[key]) === 'object') { newObj[key] = removeEmptyFromNestedObject(obj[key]); } else if (obj[key] !== null) { newObj[key] = obj[key]; } }); return newObj; } function isUuid(id) { return isNaN(Number(id)); } function getTextContent(sel, divName, multipleIndex) { var selector; try { selector = findSelector(sel, divName, multipleIndex); } catch (e) {} if (selector) { if (selector.nodeName === 'INPUT') { return selector.value; } else { return selector.textContent; } } return ''; } function mapBrFromString(str, requiredMarkLabel) { if (typeof str !== 'string') return str; if (str.split('<br/>').length === 1 && str.split('<br>').length === 1) return str; var br = str.split('<br/>').length > 1 ? '<br/>' : '<br>'; if (requiredMarkLabel) { return str.split(br).map(function (item, index) { return index === str.split(br).length - 1 ? (0, _preact.h)("span", null, item, (0, _preact.h)("span", { "aria-label": requiredMarkLabel, "class": "required-mark" }, "*"), (0, _preact.h)("br", null)) : (0, _preact.h)("span", null, item, (0, _preact.h)("br", null)); }); } else { return str.split(br).map(function (item) { return (0, _preact.h)("span", null, item, (0, _preact.h)("br", null)); }); } } function getDataAttr(sel, divName, multipleIndex) { var selector; var cleanSel = sel.replace(/{{FORM_DIV}}\s/, ''); var selObj = cleanSel.split(' '); try { selector = findSelector(sel, divName, multipleIndex); } catch (e) {} if (selector) { var selAttr = selObj.length > 1 ? selObj[1].replace(/\[|\]/gi, '') : cleanSel.replace(/\[|\]/gi, ''); return selector.getAttribute(selAttr) || ''; } return ''; } function findSelector(sel, divName, multipleIndex) { var selectorArray = sel.split('{{FORM_DIV}}'); if (sel.match('{{FORM_DIV}}') !== null && selectorArray.length > 1) { var selector = selectorArray[1].trim(); var _selector$split = selector.split(' '), _selector$split2 = _toArray(_selector$split), baseDiv = _selector$split2[0], rest = _selector$split2.slice(1); var selectedDiv = divName instanceof HTMLElement && divName.className.length ? ".".concat(divName.className.split(' ')[0]) : divName instanceof HTMLElement && divName.id.length ? "#".concat(divName.id) : ''; return rest.length > 0 ? document.querySelectorAll(selectedDiv)[multipleIndex].closest(baseDiv).querySelector(rest.join(' ')) : document.querySelectorAll(selectedDiv)[multipleIndex].closest(baseDiv); } return document.querySelector(sel); } function isLandingPage() { return document.location.pathname.indexOf('/survey/public/take-survey/') > -1 || document.location.pathname.indexOf('/survey/public/email-survey/') > -1; } function isPreviewPage() { return document.location.pathname.indexOf('/survey/manage/preview/') > -1 || document.location.pathname.indexOf('/data-collection/survey/preview/') > -1 || document.location.pathname.indexOf('/data-collection/survey/edit/') > -1 || document.location.pathname.indexOf('/survey/public/preview/') > -1 || document.location.href.indexOf('blank') > -1 && window.parent.window.origin.indexOf('.mopinion.com') > -1; } function getPageUrl() { var _document$querySelect, _document$querySelect2; var value = (_document$querySelect = (_document$querySelect2 = document.querySelector('#public-survey-page-querystring')) === null || _document$querySelect2 === void 0 ? void 0 : _document$querySelect2.value) !== null && _document$querySelect !== void 0 ? _document$querySelect : ''; return isLandingPage() ? "".concat(document.location.href).concat(value) : document.location.href; } function getPageSearch() { var _document$querySelect3, _document$querySelect4; return isLandingPage() ? (_document$querySelect3 = (_document$querySelect4 = document.querySelector('#public-survey-page-querystring')) === null || _document$querySelect4 === void 0 ? void 0 : _document$querySelect4.value) !== null && _document$querySelect3 !== void 0 ? _document$querySelect3 : '' : document.location.search; } function tryFocus(el, timeout) { var exception = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function () {}; var focusFn = function focusFn() { try { el.focus(); } catch (e) { exception(); } }; if (timeout) { return setTimeout(function () { return focusFn(); }, timeout); } return focusFn(); } function getNonce(type) { var _document$querySelect9; if (type === 'style') { var _document$querySelect5, _document$querySelect6; if (window._MOPINION_NONCE) { return window._MOPINION_NONCE; } if ((_document$querySelect5 = document.querySelector('[data-style-nonce]')) !== null && _document$querySelect5 !== void 0 && _document$querySelect5.getAttribute('data-style-nonce')) { return document.querySelector('[data-style-nonce]').getAttribute('data-style-nonce'); } if ((_document$querySelect6 = document.querySelector('style[nonce]')) !== null && _document$querySelect6 !== void 0 && _document$querySelect6.nonce) { return document.querySelector('style[nonce]').nonce; } } if (type === 'script') { var _document$querySelect7, _document$querySelect8; if ((_document$querySelect7 = document.querySelector('[data-script-nonce]')) !== null && _document$querySelect7 !== void 0 && _document$querySelect7.getAttribute('data-script-nonce')) { return document.querySelector('[data-script-nonce]').getAttribute('data-script-nonce'); } if ((_document$querySelect8 = document.querySelector('script[nonce]')) !== null && _document$querySelect8 !== void 0 && _document$querySelect8.nonce) { return document.querySelector('script[nonce]').nonce; } } return (_document$querySelect9 = document.querySelector('[nonce]')) === null || _document$querySelect9 === void 0 ? void 0 : _document$querySelect9.nonce; } function rectIsHidden(rect) { if (!rect) { return true; } return (rect === null || rect === void 0 ? void 0 : rect.width) === 0 && (rect === null || rect === void 0 ? void 0 : rect.height) === 0 && (rect === null || rect === void 0 ? void 0 : rect.top) === 0 && (rect === null || rect === void 0 ? void 0 : rect.bottom) === 0 && (rect === null || rect === void 0 ? void 0 : rect.left) === 0 && (rect === null || rect === void 0 ? void 0 : rect.right) === 0 && (rect === null || rect === void 0 ? void 0 : rect.x) === 0 && (rect === null || rect === void 0 ? void 0 : rect.y) === 0; } function makeClassName() { var prefix = function prefix(str) { return 'mop-' + str; }; for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { args[_key2] = arguments[_key2]; } return args.reduce(function (classNameString, current) { if (typeof current === 'string' && current.length > 0) { classNameString.push(prefix(current)); } if (isArray(current)) { classNameString.push(current.map(function (str) { return prefix(str); }).join(' ')); } if ((current === null || current === void 0 ? void 0 : current.prefix) === false && current !== null && current !== void 0 && current.className) { classNameString.push(current.className); } return classNameString; }, []).join(' '); } function scrollEmbeddedIntoView(el) { try { var y = el.getBoundingClientRect().top + window.pageYOffset + -150; window.scrollTo({ top: y, behavior: 'smooth' }); } catch (e) {} } function setLangAttribute() { var locale = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; try { var langCode = locale.split('_')[0]; document.documentElement.setAttribute('lang', langCode); } catch (e) {} } function stringify() { var obj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var cache = []; try { return JSON.stringify(obj, function (key, value) { if (_typeof(value) === 'object' && value !== null) { if (cache.indexOf(value) !== -1) { return; } cache.push(value); } return value; }); } catch (e) { return ''; } } function getWebsiteDataName(_ref2) { var _ref2$block = _ref2.block, block = _ref2$block === void 0 ? {} : _ref2$block, _ref2$type = _ref2.type, type = _ref2$type === void 0 ? '' : _ref2$type, _ref2$index = _ref2.index, index = _ref2$index === void 0 ? 0 : _ref2$index; return "".concat(block.typeName, "_").concat(type, "_").concat(block.id, "_").concat(index + 1).replace(/\W/g, ''); } function getWebsiteDataValue() { var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, type = _ref3.type, value = _ref3.value, divName = _ref3.divName, multipleIndex = _ref3.multipleIndex; var getData = function getData() { switch (type) { case 'data_attr': return getDataAttr(value, divName, multipleIndex); case 'css_selector': return getTextContent(value, divName, multipleIndex); case 'js': var jsValue = getJsFromString(value); if (typeof jsValue !== 'string') { try { return stringify(jsValue); } catch (e) {} } return jsValue; case 'cookie': return getCookie(value); case 'url_parameter': var param = isEncoded(value) ? value : tryEncode(value); return getUrlParam(param, getPageSearch()); default: return ''; } }; var foundData = getData(); return typeof foundData === 'string' ? foundData : ''; } function getStorage(key) { try { var obj = JSON.parse(sessionStorage.getItem(key)); var isExpired = new Date().getTime() > Number(obj.time); if (isExpired) { return undefined; } return obj.value; } catch (e) { return undefined; } } function setStorage(key, value) { try { sessionStorage.setItem(key, JSON.stringify({ time: new Date().getTime() + 60000 * 10, value: value })); } catch (e) {} } function removeStorage(key) { try { sessionStorage.removeItem(key); } catch (e) {} } function range() { var start = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1; var end = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 10; var arr = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : []; var c = end - start + 1; while (c--) { arr[c] = end--; } return arr; } function getIdFromField() { var field = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; return field.replace(/([^1-9]+)/, '').split('_'); } function getDatafieldIdFromExtra(_ref4) { var _block$properties2, _block$properties5; var _ref4$block = _ref4.block, block = _ref4$block === void 0 ? {} : _ref4$block, _ref4$extra = _ref4.extra1, extra1 = _ref4$extra === void 0 ? '' : _ref4$extra, extra2 = _ref4.extra2; if (extra1 === 'extra' && extra2) { var _block$properties; return (_block$properties = block.properties) === null || _block$properties === void 0 || (_block$properties = _block$properties.elements_extra) === null || _block$properties === void 0 || (_block$properties = _block$properties[extra2]) === null || _block$properties === void 0 ? void 0 : _block$properties.data_field; } if (extra1 === 'name' && !((_block$properties2 = block.properties) !== null && _block$properties2 !== void 0 && (_block$properties2 = _block$properties2.elements) !== null && _block$properties2 !== void 0 && (_block$properties2 = _block$properties2.name) !== null && _block$properties2 !== void 0 && _block$properties2.combine)) { var _block$properties3; return (_block$properties3 = block.properties) === null || _block$properties3 === void 0 || (_block$properties3 = _block$properties3.elements) === null || _block$properties3 === void 0 || (_block$properties3 = _block$properties3.name) === null || _block$properties3 === void 0 || (_block$properties3 = _block$properties3.subelements) === null || _block$properties3 === void 0 || (_block$properties3 = _block$properties3.lastname) === null || _block$properties3 === void 0 ? void 0 : _block$properties3.data_field; } if (extra1 === 'firstname') { var _block$properties4; return (_block$properties4 = block.properties) === null || _block$properties4 === void 0 || (_block$properties4 = _block$properties4.elements) === null || _block$properties4 === void 0 || (_block$properties4 = _block$properties4.name) === null || _block$properties4 === void 0 || (_block$properties4 = _block$properties4.subelements) === null || _block$properties4 === void 0 || (_block$properties4 = _block$properties4.firstname) === null || _block$properties4 === void 0 ? void 0 : _block$properties4.data_field; } return (_block$properties5 = block.properties) === null || _block$properties5 === void 0 || (_block$properties5 = _block$properties5.elements) === null || _block$properties5 === void 0 || (_block$properties5 = _block$properties5[extra1]) === null || _block$properties5 === void 0 ? void 0 : _block$properties5.data_field; } function log() { var DEBUG = getCookie('MopinionDebug') == 1; if (DEBUG) { var _console; (_console = console).log.apply(_console, arguments); } } function supportsCSSStyleSheetReplace() { try { var sheet = new CSSStyleSheet(); return typeof sheet.replaceSync === 'function'; } catch (e) { return false; } } //# sourceMappingURL=index.js.map