{"version":3,"file":"for-forum-listing.js","sources":["webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/notyf@3.10.0/node_modules/notyf/notyf.es.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/notyf@3.10.0/node_modules/notyf/notyf.min.css","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/css-loader@6.8.1_webpack@5.91.0_@swc+core@1.7.6_@swc+helpers@0.5.12__/node_modules/css-loader/dist/runtime/api.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/css-loader@6.8.1_webpack@5.91.0_@swc+core@1.7.6_@swc+helpers@0.5.12__/node_modules/css-loader/dist/runtime/noSourceMaps.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/style-loader@3.3.1_webpack@5.91.0_@swc+core@1.7.6_@swc+helpers@0.5.12__/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/style-loader@3.3.1_webpack@5.91.0_@swc+core@1.7.6_@swc+helpers@0.5.12__/node_modules/style-loader/dist/runtime/insertBySelector.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/style-loader@3.3.1_webpack@5.91.0_@swc+core@1.7.6_@swc+helpers@0.5.12__/node_modules/style-loader/dist/runtime/insertStyleElement.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/style-loader@3.3.1_webpack@5.91.0_@swc+core@1.7.6_@swc+helpers@0.5.12__/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/style-loader@3.3.1_webpack@5.91.0_@swc+core@1.7.6_@swc+helpers@0.5.12__/node_modules/style-loader/dist/runtime/singletonStyleDomAPI.js","webpack://@jotforminc/umd-bundler/../../libs/forum-utils/src/services/live-chat.js","webpack://@jotforminc/umd-bundler/../../libs/forum-utils/src/utils/live-chat.js","webpack://@jotforminc/umd-bundler/../../libs/forum-utils/src/constant.js","webpack://@jotforminc/umd-bundler/../../libs/forum-utils/src/utils/index.js","webpack://@jotforminc/umd-bundler/../../libs/forum-utils/src/services/assignee.js","webpack://@jotforminc/umd-bundler/../../libs/forum-utils/src/utils/assignee.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/notyf@3.10.0/node_modules/notyf/notyf.min.css?2bb5","webpack://@jotforminc/umd-bundler/../../libs/forum-utils/src/utils/notify.js","webpack://@jotforminc/umd-bundler/../../libs/forum-utils/src/utils/escalation-info.js","webpack://@jotforminc/umd-bundler/../../libs/forum-utils/src/services/announcement.js","webpack://@jotforminc/umd-bundler/../../libs/forum-utils/src/utils/announcement.js","webpack://@jotforminc/umd-bundler/../../cdns/for-forum-listing/src/utils/left-admin-bar.js","webpack://@jotforminc/umd-bundler/../../cdns/for-forum-listing/src/utils/panic-button.js","webpack://@jotforminc/umd-bundler/../../cdns/for-forum-listing/src/utils/create-escalation.js","webpack://@jotforminc/umd-bundler/../../cdns/for-forum-listing/src/utils/search.js","webpack://@jotforminc/umd-bundler/../../cdns/for-forum-listing/src/index.js"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\n\nvar NotyfNotification = /** @class */ (function () {\r\n function NotyfNotification(options) {\r\n this.options = options;\r\n this.listeners = {};\r\n }\r\n NotyfNotification.prototype.on = function (eventType, cb) {\r\n var callbacks = this.listeners[eventType] || [];\r\n this.listeners[eventType] = callbacks.concat([cb]);\r\n };\r\n NotyfNotification.prototype.triggerEvent = function (eventType, event) {\r\n var _this = this;\r\n var callbacks = this.listeners[eventType] || [];\r\n callbacks.forEach(function (cb) { return cb({ target: _this, event: event }); });\r\n };\r\n return NotyfNotification;\r\n}());\r\nvar NotyfArrayEvent;\r\n(function (NotyfArrayEvent) {\r\n NotyfArrayEvent[NotyfArrayEvent[\"Add\"] = 0] = \"Add\";\r\n NotyfArrayEvent[NotyfArrayEvent[\"Remove\"] = 1] = \"Remove\";\r\n})(NotyfArrayEvent || (NotyfArrayEvent = {}));\r\nvar NotyfArray = /** @class */ (function () {\r\n function NotyfArray() {\r\n this.notifications = [];\r\n }\r\n NotyfArray.prototype.push = function (elem) {\r\n this.notifications.push(elem);\r\n this.updateFn(elem, NotyfArrayEvent.Add, this.notifications);\r\n };\r\n NotyfArray.prototype.splice = function (index, num) {\r\n var elem = this.notifications.splice(index, num)[0];\r\n this.updateFn(elem, NotyfArrayEvent.Remove, this.notifications);\r\n return elem;\r\n };\r\n NotyfArray.prototype.indexOf = function (elem) {\r\n return this.notifications.indexOf(elem);\r\n };\r\n NotyfArray.prototype.onUpdate = function (fn) {\r\n this.updateFn = fn;\r\n };\r\n return NotyfArray;\r\n}());\n\nvar NotyfEvent;\r\n(function (NotyfEvent) {\r\n NotyfEvent[\"Dismiss\"] = \"dismiss\";\r\n NotyfEvent[\"Click\"] = \"click\";\r\n})(NotyfEvent || (NotyfEvent = {}));\r\nvar DEFAULT_OPTIONS = {\r\n types: [\r\n {\r\n type: 'success',\r\n className: 'notyf__toast--success',\r\n backgroundColor: '#3dc763',\r\n icon: {\r\n className: 'notyf__icon--success',\r\n tagName: 'i',\r\n },\r\n },\r\n {\r\n type: 'error',\r\n className: 'notyf__toast--error',\r\n backgroundColor: '#ed3d3d',\r\n icon: {\r\n className: 'notyf__icon--error',\r\n tagName: 'i',\r\n },\r\n },\r\n ],\r\n duration: 2000,\r\n ripple: true,\r\n position: {\r\n x: 'right',\r\n y: 'bottom',\r\n },\r\n dismissible: false,\r\n};\n\nvar NotyfView = /** @class */ (function () {\r\n function NotyfView() {\r\n this.notifications = [];\r\n this.events = {};\r\n this.X_POSITION_FLEX_MAP = {\r\n left: 'flex-start',\r\n center: 'center',\r\n right: 'flex-end',\r\n };\r\n this.Y_POSITION_FLEX_MAP = {\r\n top: 'flex-start',\r\n center: 'center',\r\n bottom: 'flex-end',\r\n };\r\n // Creates the main notifications container\r\n var docFrag = document.createDocumentFragment();\r\n var notyfContainer = this._createHTMLElement({ tagName: 'div', className: 'notyf' });\r\n docFrag.appendChild(notyfContainer);\r\n document.body.appendChild(docFrag);\r\n this.container = notyfContainer;\r\n // Identifies the main animation end event\r\n this.animationEndEventName = this._getAnimationEndEventName();\r\n this._createA11yContainer();\r\n }\r\n NotyfView.prototype.on = function (event, cb) {\r\n var _a;\r\n this.events = __assign(__assign({}, this.events), (_a = {}, _a[event] = cb, _a));\r\n };\r\n NotyfView.prototype.update = function (notification, type) {\r\n if (type === NotyfArrayEvent.Add) {\r\n this.addNotification(notification);\r\n }\r\n else if (type === NotyfArrayEvent.Remove) {\r\n this.removeNotification(notification);\r\n }\r\n };\r\n NotyfView.prototype.removeNotification = function (notification) {\r\n var _this = this;\r\n var renderedNotification = this._popRenderedNotification(notification);\r\n var node;\r\n if (!renderedNotification) {\r\n return;\r\n }\r\n node = renderedNotification.node;\r\n node.classList.add('notyf__toast--disappear');\r\n var handleEvent;\r\n node.addEventListener(this.animationEndEventName, (handleEvent = function (event) {\r\n if (event.target === node) {\r\n node.removeEventListener(_this.animationEndEventName, handleEvent);\r\n _this.container.removeChild(node);\r\n }\r\n }));\r\n };\r\n NotyfView.prototype.addNotification = function (notification) {\r\n var node = this._renderNotification(notification);\r\n this.notifications.push({ notification: notification, node: node });\r\n // For a11y purposes, we still want to announce that there's a notification in the screen\r\n // even if it comes with no message.\r\n this._announce(notification.options.message || 'Notification');\r\n };\r\n NotyfView.prototype._renderNotification = function (notification) {\r\n var _a;\r\n var card = this._buildNotificationCard(notification);\r\n var className = notification.options.className;\r\n if (className) {\r\n (_a = card.classList).add.apply(_a, className.split(' '));\r\n }\r\n this.container.appendChild(card);\r\n return card;\r\n };\r\n NotyfView.prototype._popRenderedNotification = function (notification) {\r\n var idx = -1;\r\n for (var i = 0; i < this.notifications.length && idx < 0; i++) {\r\n if (this.notifications[i].notification === notification) {\r\n idx = i;\r\n }\r\n }\r\n if (idx !== -1) {\r\n return this.notifications.splice(idx, 1)[0];\r\n }\r\n return;\r\n };\r\n NotyfView.prototype.getXPosition = function (options) {\r\n var _a;\r\n return ((_a = options === null || options === void 0 ? void 0 : options.position) === null || _a === void 0 ? void 0 : _a.x) || 'right';\r\n };\r\n NotyfView.prototype.getYPosition = function (options) {\r\n var _a;\r\n return ((_a = options === null || options === void 0 ? void 0 : options.position) === null || _a === void 0 ? void 0 : _a.y) || 'bottom';\r\n };\r\n NotyfView.prototype.adjustContainerAlignment = function (options) {\r\n var align = this.X_POSITION_FLEX_MAP[this.getXPosition(options)];\r\n var justify = this.Y_POSITION_FLEX_MAP[this.getYPosition(options)];\r\n var style = this.container.style;\r\n style.setProperty('justify-content', justify);\r\n style.setProperty('align-items', align);\r\n };\r\n NotyfView.prototype._buildNotificationCard = function (notification) {\r\n var _this = this;\r\n var options = notification.options;\r\n var iconOpts = options.icon;\r\n // Adjust container according to position (e.g. top-left, bottom-center, etc)\r\n this.adjustContainerAlignment(options);\r\n // Create elements\r\n var notificationElem = this._createHTMLElement({ tagName: 'div', className: 'notyf__toast' });\r\n var ripple = this._createHTMLElement({ tagName: 'div', className: 'notyf__ripple' });\r\n var wrapper = this._createHTMLElement({ tagName: 'div', className: 'notyf__wrapper' });\r\n var message = this._createHTMLElement({ tagName: 'div', className: 'notyf__message' });\r\n message.innerHTML = options.message || '';\r\n var mainColor = options.background || options.backgroundColor;\r\n // Build the icon and append it to the card\r\n if (iconOpts) {\r\n var iconContainer = this._createHTMLElement({ tagName: 'div', className: 'notyf__icon' });\r\n if (typeof iconOpts === 'string' || iconOpts instanceof String)\r\n iconContainer.innerHTML = new String(iconOpts).valueOf();\r\n if (typeof iconOpts === 'object') {\r\n var _a = iconOpts.tagName, tagName = _a === void 0 ? 'i' : _a, className_1 = iconOpts.className, text = iconOpts.text, _b = iconOpts.color, color = _b === void 0 ? mainColor : _b;\r\n var iconElement = this._createHTMLElement({ tagName: tagName, className: className_1, text: text });\r\n if (color)\r\n iconElement.style.color = color;\r\n iconContainer.appendChild(iconElement);\r\n }\r\n wrapper.appendChild(iconContainer);\r\n }\r\n wrapper.appendChild(message);\r\n notificationElem.appendChild(wrapper);\r\n // Add ripple if applicable, else just paint the full toast\r\n if (mainColor) {\r\n if (options.ripple) {\r\n ripple.style.background = mainColor;\r\n notificationElem.appendChild(ripple);\r\n }\r\n else {\r\n notificationElem.style.background = mainColor;\r\n }\r\n }\r\n // Add dismiss button\r\n if (options.dismissible) {\r\n var dismissWrapper = this._createHTMLElement({ tagName: 'div', className: 'notyf__dismiss' });\r\n var dismissButton = this._createHTMLElement({\r\n tagName: 'button',\r\n className: 'notyf__dismiss-btn',\r\n });\r\n dismissWrapper.appendChild(dismissButton);\r\n wrapper.appendChild(dismissWrapper);\r\n notificationElem.classList.add(\"notyf__toast--dismissible\");\r\n dismissButton.addEventListener('click', function (event) {\r\n var _a, _b;\r\n (_b = (_a = _this.events)[NotyfEvent.Dismiss]) === null || _b === void 0 ? void 0 : _b.call(_a, { target: notification, event: event });\r\n event.stopPropagation();\r\n });\r\n }\r\n notificationElem.addEventListener('click', function (event) { var _a, _b; return (_b = (_a = _this.events)[NotyfEvent.Click]) === null || _b === void 0 ? void 0 : _b.call(_a, { target: notification, event: event }); });\r\n // Adjust margins depending on whether its an upper or lower notification\r\n var className = this.getYPosition(options) === 'top' ? 'upper' : 'lower';\r\n notificationElem.classList.add(\"notyf__toast--\" + className);\r\n return notificationElem;\r\n };\r\n NotyfView.prototype._createHTMLElement = function (_a) {\r\n var tagName = _a.tagName, className = _a.className, text = _a.text;\r\n var elem = document.createElement(tagName);\r\n if (className) {\r\n elem.className = className;\r\n }\r\n elem.textContent = text || null;\r\n return elem;\r\n };\r\n /**\r\n * Creates an invisible container which will announce the notyfs to\r\n * screen readers\r\n */\r\n NotyfView.prototype._createA11yContainer = function () {\r\n var a11yContainer = this._createHTMLElement({ tagName: 'div', className: 'notyf-announcer' });\r\n a11yContainer.setAttribute('aria-atomic', 'true');\r\n a11yContainer.setAttribute('aria-live', 'polite');\r\n // Set the a11y container to be visible hidden. Can't use display: none as\r\n // screen readers won't read it.\r\n a11yContainer.style.border = '0';\r\n a11yContainer.style.clip = 'rect(0 0 0 0)';\r\n a11yContainer.style.height = '1px';\r\n a11yContainer.style.margin = '-1px';\r\n a11yContainer.style.overflow = 'hidden';\r\n a11yContainer.style.padding = '0';\r\n a11yContainer.style.position = 'absolute';\r\n a11yContainer.style.width = '1px';\r\n a11yContainer.style.outline = '0';\r\n document.body.appendChild(a11yContainer);\r\n this.a11yContainer = a11yContainer;\r\n };\r\n /**\r\n * Announces a message to screenreaders.\r\n */\r\n NotyfView.prototype._announce = function (message) {\r\n var _this = this;\r\n this.a11yContainer.textContent = '';\r\n // This 100ms timeout is necessary for some browser + screen-reader combinations:\r\n // - Both JAWS and NVDA over IE11 will not announce anything without a non-zero timeout.\r\n // - With Chrome and IE11 with NVDA or JAWS, a repeated (identical) message won't be read a\r\n // second time without clearing and then using a non-zero delay.\r\n // (using JAWS 17 at time of this writing).\r\n // https://github.com/angular/material2/blob/master/src/cdk/a11y/live-announcer/live-announcer.ts\r\n setTimeout(function () {\r\n _this.a11yContainer.textContent = message;\r\n }, 100);\r\n };\r\n /**\r\n * Determine which animationend event is supported\r\n */\r\n NotyfView.prototype._getAnimationEndEventName = function () {\r\n var el = document.createElement('_fake');\r\n var transitions = {\r\n MozTransition: 'animationend',\r\n OTransition: 'oAnimationEnd',\r\n WebkitTransition: 'webkitAnimationEnd',\r\n transition: 'animationend',\r\n };\r\n var t;\r\n for (t in transitions) {\r\n if (el.style[t] !== undefined) {\r\n return transitions[t];\r\n }\r\n }\r\n // No supported animation end event. Using \"animationend\" as a fallback\r\n return 'animationend';\r\n };\r\n return NotyfView;\r\n}());\n\n/**\r\n * Main controller class. Defines the main Notyf API.\r\n */\r\nvar Notyf = /** @class */ (function () {\r\n function Notyf(opts) {\r\n var _this = this;\r\n this.dismiss = this._removeNotification;\r\n this.notifications = new NotyfArray();\r\n this.view = new NotyfView();\r\n var types = this.registerTypes(opts);\r\n this.options = __assign(__assign({}, DEFAULT_OPTIONS), opts);\r\n this.options.types = types;\r\n this.notifications.onUpdate(function (elem, type) { return _this.view.update(elem, type); });\r\n this.view.on(NotyfEvent.Dismiss, function (_a) {\r\n var target = _a.target, event = _a.event;\r\n _this._removeNotification(target);\r\n // tslint:disable-next-line: no-string-literal\r\n target['triggerEvent'](NotyfEvent.Dismiss, event);\r\n });\r\n // tslint:disable-next-line: no-string-literal\r\n this.view.on(NotyfEvent.Click, function (_a) {\r\n var target = _a.target, event = _a.event;\r\n return target['triggerEvent'](NotyfEvent.Click, event);\r\n });\r\n }\r\n Notyf.prototype.error = function (payload) {\r\n var options = this.normalizeOptions('error', payload);\r\n return this.open(options);\r\n };\r\n Notyf.prototype.success = function (payload) {\r\n var options = this.normalizeOptions('success', payload);\r\n return this.open(options);\r\n };\r\n Notyf.prototype.open = function (options) {\r\n var defaultOpts = this.options.types.find(function (_a) {\r\n var type = _a.type;\r\n return type === options.type;\r\n }) || {};\r\n var config = __assign(__assign({}, defaultOpts), options);\r\n this.assignProps(['ripple', 'position', 'dismissible'], config);\r\n var notification = new NotyfNotification(config);\r\n this._pushNotification(notification);\r\n return notification;\r\n };\r\n Notyf.prototype.dismissAll = function () {\r\n while (this.notifications.splice(0, 1))\r\n ;\r\n };\r\n /**\r\n * Assigns properties to a config object based on two rules:\r\n * 1. If the config object already sets that prop, leave it as so\r\n * 2. Otherwise, use the default prop from the global options\r\n *\r\n * It's intended to build the final config object to open a notification. e.g. if\r\n * 'dismissible' is not set, then use the value from the global config.\r\n *\r\n * @param props - properties to be assigned to the config object\r\n * @param config - object whose properties need to be set\r\n */\r\n Notyf.prototype.assignProps = function (props, config) {\r\n var _this = this;\r\n props.forEach(function (prop) {\r\n // intentional double equality to check for both null and undefined\r\n config[prop] = config[prop] == null ? _this.options[prop] : config[prop];\r\n });\r\n };\r\n Notyf.prototype._pushNotification = function (notification) {\r\n var _this = this;\r\n this.notifications.push(notification);\r\n var duration = notification.options.duration !== undefined ? notification.options.duration : this.options.duration;\r\n if (duration) {\r\n setTimeout(function () { return _this._removeNotification(notification); }, duration);\r\n }\r\n };\r\n Notyf.prototype._removeNotification = function (notification) {\r\n var index = this.notifications.indexOf(notification);\r\n if (index !== -1) {\r\n this.notifications.splice(index, 1);\r\n }\r\n };\r\n Notyf.prototype.normalizeOptions = function (type, payload) {\r\n var options = { type: type };\r\n if (typeof payload === 'string') {\r\n options.message = payload;\r\n }\r\n else if (typeof payload === 'object') {\r\n options = __assign(__assign({}, options), payload);\r\n }\r\n return options;\r\n };\r\n Notyf.prototype.registerTypes = function (opts) {\r\n var incomingTypes = ((opts && opts.types) || []).slice();\r\n var finalDefaultTypes = DEFAULT_OPTIONS.types.map(function (defaultType) {\r\n // find if there's a default type within the user input's types, if so, it means the user\r\n // wants to change some of the default settings\r\n var userTypeIdx = -1;\r\n incomingTypes.forEach(function (t, idx) {\r\n if (t.type === defaultType.type)\r\n userTypeIdx = idx;\r\n });\r\n var userType = userTypeIdx !== -1 ? incomingTypes.splice(userTypeIdx, 1)[0] : {};\r\n return __assign(__assign({}, defaultType), userType);\r\n });\r\n return finalDefaultTypes.concat(incomingTypes);\r\n };\r\n return Notyf;\r\n}());\n\nexport { DEFAULT_OPTIONS, Notyf, NotyfArray, NotyfArrayEvent, NotyfEvent, NotyfNotification, NotyfView };\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../css-loader@6.8.1_webpack@5.91.0_@swc+core@1.7.6_@swc+helpers@0.5.12__/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../css-loader@6.8.1_webpack@5.91.0_@swc+core@1.7.6_@swc+helpers@0.5.12__/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes notyf-fadeinup{0%{opacity:0;transform:translateY(25%)}to{opacity:1;transform:translateY(0)}}@keyframes notyf-fadeinleft{0%{opacity:0;transform:translateX(25%)}to{opacity:1;transform:translateX(0)}}@keyframes notyf-fadeoutright{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(25%)}}@keyframes notyf-fadeoutdown{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(25%)}}@keyframes ripple{0%{transform:scale(0) translateY(-45%) translateX(13%)}to{transform:scale(1) translateY(-45%) translateX(13%)}}.notyf{position:fixed;top:0;left:0;height:100%;width:100%;color:#fff;z-index:9999;display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-end;pointer-events:none;box-sizing:border-box;padding:20px}.notyf__icon--error,.notyf__icon--success{height:21px;width:21px;background:#fff;border-radius:50%;display:block;margin:0 auto;position:relative}.notyf__icon--error:after,.notyf__icon--error:before{content:\\\"\\\";background:currentColor;display:block;position:absolute;width:3px;border-radius:3px;left:9px;height:12px;top:5px}.notyf__icon--error:after{transform:rotate(-45deg)}.notyf__icon--error:before{transform:rotate(45deg)}.notyf__icon--success:after,.notyf__icon--success:before{content:\\\"\\\";background:currentColor;display:block;position:absolute;width:3px;border-radius:3px}.notyf__icon--success:after{height:6px;transform:rotate(-45deg);top:9px;left:6px}.notyf__icon--success:before{height:11px;transform:rotate(45deg);top:5px;left:10px}.notyf__toast{display:block;overflow:hidden;pointer-events:auto;animation:notyf-fadeinup .3s ease-in forwards;box-shadow:0 3px 7px 0 rgba(0,0,0,.25);position:relative;padding:0 15px;border-radius:2px;max-width:300px;transform:translateY(25%);box-sizing:border-box;flex-shrink:0}.notyf__toast--disappear{transform:translateY(0);animation:notyf-fadeoutdown .3s forwards;animation-delay:.25s}.notyf__toast--disappear .notyf__icon,.notyf__toast--disappear .notyf__message{animation:notyf-fadeoutdown .3s forwards;opacity:1;transform:translateY(0)}.notyf__toast--disappear .notyf__dismiss{animation:notyf-fadeoutright .3s forwards;opacity:1;transform:translateX(0)}.notyf__toast--disappear .notyf__message{animation-delay:.05s}.notyf__toast--upper{margin-bottom:20px}.notyf__toast--lower{margin-top:20px}.notyf__toast--dismissible .notyf__wrapper{padding-right:30px}.notyf__ripple{height:400px;width:400px;position:absolute;transform-origin:bottom right;right:0;top:0;border-radius:50%;transform:scale(0) translateY(-51%) translateX(13%);z-index:5;animation:ripple .4s ease-out forwards}.notyf__wrapper{display:flex;align-items:center;padding-top:17px;padding-bottom:17px;padding-right:15px;border-radius:3px;position:relative;z-index:10}.notyf__icon{width:22px;text-align:center;font-size:1.3em;opacity:0;animation:notyf-fadeinup .3s forwards;animation-delay:.3s;margin-right:13px}.notyf__dismiss{position:absolute;top:0;right:0;height:100%;width:26px;margin-right:-15px;animation:notyf-fadeinleft .3s forwards;animation-delay:.35s;opacity:0}.notyf__dismiss-btn{background-color:rgba(0,0,0,.25);border:none;cursor:pointer;transition:opacity .2s ease,background-color .2s ease;outline:none;opacity:.35;height:100%;width:100%}.notyf__dismiss-btn:after,.notyf__dismiss-btn:before{content:\\\"\\\";background:#fff;height:12px;width:2px;border-radius:3px;position:absolute;left:calc(50% - 1px);top:calc(50% - 5px)}.notyf__dismiss-btn:after{transform:rotate(-45deg)}.notyf__dismiss-btn:before{transform:rotate(45deg)}.notyf__dismiss-btn:hover{opacity:.7;background-color:rgba(0,0,0,.15)}.notyf__dismiss-btn:active{opacity:.8}.notyf__message{vertical-align:middle;position:relative;opacity:0;animation:notyf-fadeinup .3s forwards;animation-delay:.25s;line-height:1.5em}@media only screen and (max-width:480px){.notyf{padding:0}.notyf__ripple{height:600px;width:600px;animation-duration:.5s}.notyf__toast{max-width:none;border-radius:0;box-shadow:0 -2px 7px 0 rgba(0,0,0,.13);width:100%}.notyf__dismiss{width:56px}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};","\"use strict\";\n\nmodule.exports = function (i) {\n return i[1];\n};","\"use strict\";\n\nvar stylesInDOM = [];\n\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n\n for (var i = 0; i < stylesInDOM.length; i++) {\n if (stylesInDOM[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n\n return result;\n}\n\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var indexByIdentifier = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3],\n supports: item[4],\n layer: item[5]\n };\n\n if (indexByIdentifier !== -1) {\n stylesInDOM[indexByIdentifier].references++;\n stylesInDOM[indexByIdentifier].updater(obj);\n } else {\n var updater = addElementStyle(obj, options);\n options.byIndex = i;\n stylesInDOM.splice(i, 0, {\n identifier: identifier,\n updater: updater,\n references: 1\n });\n }\n\n identifiers.push(identifier);\n }\n\n return identifiers;\n}\n\nfunction addElementStyle(obj, options) {\n var api = options.domAPI(options);\n api.update(obj);\n\n var updater = function updater(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {\n return;\n }\n\n api.update(obj = newObj);\n } else {\n api.remove();\n }\n };\n\n return updater;\n}\n\nmodule.exports = function (list, options) {\n options = options || {};\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDOM[index].references--;\n }\n\n var newLastIdentifiers = modulesToDom(newList, options);\n\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n\n var _index = getIndexByIdentifier(_identifier);\n\n if (stylesInDOM[_index].references === 0) {\n stylesInDOM[_index].updater();\n\n stylesInDOM.splice(_index, 1);\n }\n }\n\n lastIdentifiers = newLastIdentifiers;\n };\n};","\"use strict\";\n\nvar memo = {};\n/* istanbul ignore next */\n\nfunction getTarget(target) {\n if (typeof memo[target] === \"undefined\") {\n var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself\n\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n\n memo[target] = styleTarget;\n }\n\n return memo[target];\n}\n/* istanbul ignore next */\n\n\nfunction insertBySelector(insert, style) {\n var target = getTarget(insert);\n\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n\n target.appendChild(style);\n}\n\nmodule.exports = insertBySelector;","\"use strict\";\n\n/* istanbul ignore next */\nfunction insertStyleElement(options) {\n var element = document.createElement(\"style\");\n options.setAttributes(element, options.attributes);\n options.insert(element, options.options);\n return element;\n}\n\nmodule.exports = insertStyleElement;","\"use strict\";\n\n/* istanbul ignore next */\nfunction setAttributesWithoutAttributes(styleElement) {\n var nonce = typeof __webpack_nonce__ !== \"undefined\" ? __webpack_nonce__ : null;\n\n if (nonce) {\n styleElement.setAttribute(\"nonce\", nonce);\n }\n}\n\nmodule.exports = setAttributesWithoutAttributes;","\"use strict\";\n\n/* istanbul ignore next */\nvar replaceText = function replaceText() {\n var textStore = [];\n return function replace(index, replacement) {\n textStore[index] = replacement;\n return textStore.filter(Boolean).join(\"\\n\");\n };\n}();\n/* istanbul ignore next */\n\n\nfunction apply(styleElement, index, remove, obj) {\n var css;\n\n if (remove) {\n css = \"\";\n } else {\n css = \"\";\n\n if (obj.supports) {\n css += \"@supports (\".concat(obj.supports, \") {\");\n }\n\n if (obj.media) {\n css += \"@media \".concat(obj.media, \" {\");\n }\n\n var needLayer = typeof obj.layer !== \"undefined\";\n\n if (needLayer) {\n css += \"@layer\".concat(obj.layer.length > 0 ? \" \".concat(obj.layer) : \"\", \" {\");\n }\n\n css += obj.css;\n\n if (needLayer) {\n css += \"}\";\n }\n\n if (obj.media) {\n css += \"}\";\n }\n\n if (obj.supports) {\n css += \"}\";\n }\n } // For old IE\n\n /* istanbul ignore if */\n\n\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = replaceText(index, css);\n } else {\n var cssNode = document.createTextNode(css);\n var childNodes = styleElement.childNodes;\n\n if (childNodes[index]) {\n styleElement.removeChild(childNodes[index]);\n }\n\n if (childNodes.length) {\n styleElement.insertBefore(cssNode, childNodes[index]);\n } else {\n styleElement.appendChild(cssNode);\n }\n }\n}\n\nvar singletonData = {\n singleton: null,\n singletonCounter: 0\n};\n/* istanbul ignore next */\n\nfunction domAPI(options) {\n // eslint-disable-next-line no-undef,no-use-before-define\n var styleIndex = singletonData.singletonCounter++;\n var styleElement = // eslint-disable-next-line no-undef,no-use-before-define\n singletonData.singleton || ( // eslint-disable-next-line no-undef,no-use-before-define\n singletonData.singleton = options.insertStyleElement(options));\n return {\n update: function update(obj) {\n apply(styleElement, styleIndex, false, obj);\n },\n remove: function remove(obj) {\n apply(styleElement, styleIndex, true, obj);\n }\n };\n}\n\nmodule.exports = domAPI;","export const checkOlarkChat = async () => {\n const response = await fetch('/server/check-olark-chat-support', {\n method: 'POST'\n });\n\n return response.text();\n};\n","import { checkOlarkChat } from '../services';\n\nconst handleChat = async () => {\n const data = await checkOlarkChat();\n if (data !== 'FALSE') {\n try {\n // eslint-disable-next-line no-useless-escape\n const myPattern = new RegExp(/