{"version":3,"file":"core.js","sources":["../../node_modules/whatwg-fetch/fetch.js","../../client/utils/fetch.js","../../client/utils/dom.js","../../client/utils/offcanvas.js","../../client/utils/toast.js","../../client/core.js"],"sourcesContent":["var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob:\n 'FileReader' in self &&\n 'Blob' in self &&\n (function() {\n try {\n new Blob()\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n}\n\nfunction isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n}\n\nif (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ]\n\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n }\n}\n\nfunction normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name)\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n}\n\nfunction normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value)\n }\n return value\n}\n\n// Build a destructive iterator for the value list\nfunction iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift()\n return {done: value === undefined, value: value}\n }\n }\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n }\n }\n\n return iterator\n}\n\nexport function Headers(headers) {\n this.map = {}\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value)\n }, this)\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1])\n }, this)\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name])\n }, this)\n }\n}\n\nHeaders.prototype.append = function(name, value) {\n name = normalizeName(name)\n value = normalizeValue(value)\n var oldValue = this.map[name]\n this.map[name] = oldValue ? oldValue + ', ' + value : value\n}\n\nHeaders.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)]\n}\n\nHeaders.prototype.get = function(name) {\n name = normalizeName(name)\n return this.has(name) ? this.map[name] : null\n}\n\nHeaders.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n}\n\nHeaders.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value)\n}\n\nHeaders.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this)\n }\n }\n}\n\nHeaders.prototype.keys = function() {\n var items = []\n this.forEach(function(value, name) {\n items.push(name)\n })\n return iteratorFor(items)\n}\n\nHeaders.prototype.values = function() {\n var items = []\n this.forEach(function(value) {\n items.push(value)\n })\n return iteratorFor(items)\n}\n\nHeaders.prototype.entries = function() {\n var items = []\n this.forEach(function(value, name) {\n items.push([name, value])\n })\n return iteratorFor(items)\n}\n\nif (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries\n}\n\nfunction consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true\n}\n\nfunction fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result)\n }\n reader.onerror = function() {\n reject(reader.error)\n }\n })\n}\n\nfunction readBlobAsArrayBuffer(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsArrayBuffer(blob)\n return promise\n}\n\nfunction readBlobAsText(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsText(blob)\n return promise\n}\n\nfunction readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf)\n var chars = new Array(view.length)\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i])\n }\n return chars.join('')\n}\n\nfunction bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength)\n view.set(new Uint8Array(buf))\n return view.buffer\n }\n}\n\nfunction Body() {\n this.bodyUsed = false\n\n this._initBody = function(body) {\n this._bodyInit = body\n if (!body) {\n this._bodyText = ''\n } else if (typeof body === 'string') {\n this._bodyText = body\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString()\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer)\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer])\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body)\n } else {\n this._bodyText = body = Object.prototype.toString.call(body)\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8')\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type)\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8')\n }\n }\n }\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n }\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n }\n }\n\n this.text = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n }\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n }\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n }\n\n return this\n}\n\n// HTTP methods whose capitalization should be normalized\nvar methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT']\n\nfunction normalizeMethod(method) {\n var upcased = method.toUpperCase()\n return methods.indexOf(upcased) > -1 ? upcased : method\n}\n\nexport function Request(input, options) {\n options = options || {}\n var body = options.body\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url\n this.credentials = input.credentials\n if (!options.headers) {\n this.headers = new Headers(input.headers)\n }\n this.method = input.method\n this.mode = input.mode\n this.signal = input.signal\n if (!body && input._bodyInit != null) {\n body = input._bodyInit\n input.bodyUsed = true\n }\n } else {\n this.url = String(input)\n }\n\n this.credentials = options.credentials || this.credentials || 'same-origin'\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers)\n }\n this.method = normalizeMethod(options.method || this.method || 'GET')\n this.mode = options.mode || this.mode || null\n this.signal = options.signal || this.signal\n this.referrer = null\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body)\n}\n\nRequest.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n}\n\nfunction decode(body) {\n var form = new FormData()\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=')\n var name = split.shift().replace(/\\+/g, ' ')\n var value = split.join('=').replace(/\\+/g, ' ')\n form.append(decodeURIComponent(name), decodeURIComponent(value))\n }\n })\n return form\n}\n\nfunction parseHeaders(rawHeaders) {\n var headers = new Headers()\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ')\n preProcessedHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':')\n var key = parts.shift().trim()\n if (key) {\n var value = parts.join(':').trim()\n headers.append(key, value)\n }\n })\n return headers\n}\n\nBody.call(Request.prototype)\n\nexport function Response(bodyInit, options) {\n if (!options) {\n options = {}\n }\n\n this.type = 'default'\n this.status = options.status === undefined ? 200 : options.status\n this.ok = this.status >= 200 && this.status < 300\n this.statusText = 'statusText' in options ? options.statusText : 'OK'\n this.headers = new Headers(options.headers)\n this.url = options.url || ''\n this._initBody(bodyInit)\n}\n\nBody.call(Response.prototype)\n\nResponse.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n}\n\nResponse.error = function() {\n var response = new Response(null, {status: 0, statusText: ''})\n response.type = 'error'\n return response\n}\n\nvar redirectStatuses = [301, 302, 303, 307, 308]\n\nResponse.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n}\n\nexport var DOMException = self.DOMException\ntry {\n new DOMException()\n} catch (err) {\n DOMException = function(message, name) {\n this.message = message\n this.name = name\n var error = Error(message)\n this.stack = error.stack\n }\n DOMException.prototype = Object.create(Error.prototype)\n DOMException.prototype.constructor = DOMException\n}\n\nexport function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init)\n\n if (request.signal && request.signal.aborted) {\n return reject(new DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest()\n\n function abortXhr() {\n xhr.abort()\n }\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n }\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL')\n var body = 'response' in xhr ? xhr.response : xhr.responseText\n resolve(new Response(body, options))\n }\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.onabort = function() {\n reject(new DOMException('Aborted', 'AbortError'))\n }\n\n xhr.open(request.method, request.url, true)\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob'\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value)\n })\n\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr)\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr)\n }\n }\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit)\n })\n}\n\nfetch.polyfill = true\n\nif (!self.fetch) {\n self.fetch = fetch\n self.Headers = Headers\n self.Request = Request\n self.Response = Response\n}\n","import 'whatwg-fetch';\r\n\r\nfunction handleResponse(resp) {\r\n if (!resp.ok) {\r\n if (resp.status === 401) {\r\n window.location.reload(true);\r\n }\r\n return Promise.reject({\r\n status: resp.status,\r\n message: resp.statusText,\r\n });\r\n }\r\n\r\n const contentType = resp.headers.get('Content-Type');\r\n if (!contentType) {\r\n return;\r\n }\r\n\r\n if (contentType.includes('application/json')) {\r\n return resp.json();\r\n }\r\n\r\n if (contentType.includes('text/html')) {\r\n return resp.text();\r\n }\r\n\r\n throw new Error(`Sorry, Content-Type ${contentType} not supported`);\r\n}\r\n\r\nexport const GET = async (url) => {\r\n try {\r\n const resp = await fetch(url);\r\n return handleResponse(resp);\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n};\r\n\r\nexport const POST = async (url, data, headers = {}) => {\r\n const body = typeof data === 'string' ? data : JSON.stringify(data);\r\n\r\n try {\r\n const resp = await fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n ...headers,\r\n },\r\n body,\r\n });\r\n\r\n return handleResponse(resp);\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n};\r\n\r\nexport const SUBMITFORM = async (url, data) => {\r\n try {\r\n return $.ajax({\r\n url: url,\r\n method: 'POST',\r\n contentType: 'application/x-www-form-urlencoded; charset=UTF-8',\r\n data: data,\r\n })\r\n .done(function (result) {\r\n return result;\r\n })\r\n .fail(function (result) {\r\n console.warn(result.resultText);\r\n });\r\n\r\n // return handleResponse(resp);\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n};\r\n\r\nexport const stringify = (data) => {\r\n return Object.keys(data)\r\n .map((key) => encodeURIComponent(key) + '=' + encodeURIComponent(data[key]))\r\n .join('&');\r\n};\r\n","export function hasClass(el, className) {\r\n return el.classList\r\n ? el.classList.contains(className)\r\n : new RegExp(\"\\\\b\" + className + \"\\\\b\").test(el.className);\r\n}\r\n\r\nexport function addClass(el, className) {\r\n const classNames = className.split(\" \");\r\n\r\n if (el.classList) {\r\n for (let i = 0; i < classNames.length; i++) {\r\n if (classNames[i] && classNames[i].length > 0) {\r\n el.classList.add(classNames[i].trim());\r\n }\r\n }\r\n } else if (!hasClass(el, className)) {\r\n for (let i = 0; i < classNames.length; i++) {\r\n el.className += \" \" + classNames[i].trim();\r\n }\r\n }\r\n}\r\n\r\nexport function removeClass(el, className) {\r\n if (!el || typeof className === \"undefined\") {\r\n return;\r\n }\r\n\r\n const classNames = className.split(\" \");\r\n\r\n if (el.classList) {\r\n for (let i = 0; i < classNames.length; i++) {\r\n el.classList.remove(classNames[i].trim());\r\n }\r\n } else if (hasClass(el, className)) {\r\n for (let i = 0; i < classNames.length; i++) {\r\n el.className = el.className.replace(\r\n new RegExp(\"\\\\b\" + classNames[i].trim() + \"\\\\b\", \"g\"),\r\n \"\"\r\n );\r\n }\r\n }\r\n}\r\n\r\nexport function toggleClass(el, className) {\r\n if (hasClass(el, className)) {\r\n removeClass(el, className);\r\n } else {\r\n addClass(el, className);\r\n }\r\n}\r\n\r\n/**\r\n * Inserts an element after the given reference node.\r\n *\r\n * @param {Element} el The element to insert after\r\n * @param {Element} referenceNode The reference node\r\n * @returns {Element}\r\n */\r\nexport function insertAfter(el, referenceNode) {\r\n return referenceNode.parentNode.insertBefore(el, referenceNode.nextSibling);\r\n}\r\n\r\n/**\r\n * Finds an element\r\n *\r\n * @param query The query value\r\n * @returns {HTMLElement|Document|Element|null}\r\n */\r\nexport function getElement(query) {\r\n let el;\r\n\r\n if (query === document) {\r\n return document;\r\n }\r\n\r\n if (!!(query && query.nodeType === 1)) {\r\n return query;\r\n }\r\n\r\n if ((el = document.getElementById(query))) {\r\n return el;\r\n }\r\n\r\n if (((el = document.getElementsByTagName(query)), el.length > 0)) {\r\n return el[0];\r\n }\r\n\r\n if (((el = document.getElementsByClassName(query)), el.length > 0)) {\r\n return el[0];\r\n }\r\n\r\n return null;\r\n}\r\n\r\n/**\r\n * Removes the given element\r\n * @param {Element} el The element to be removed\r\n */\r\nexport function removeElement(el) {\r\n if (el && el.parentNode) {\r\n el.parentNode.removeChild(el);\r\n }\r\n}\r\n\r\n/**\r\n * Get bounding client rect for the given element\r\n * \r\n * @param {Element} el The element to measure.\r\n */\r\nexport function getElementRect(el) {\r\n const element = el.cloneNode(true);\r\n element.style.visibility = \"hidden\";\r\n element.style.position = \"absolute\";\r\n \r\n document.body.appendChild(element);\r\n\r\n const result = element.getBoundingClientRect();\r\n element.remove();\r\n \r\n return result;\r\n}\r\n","import {\r\n addClass,\r\n removeClass,\r\n getElement,\r\n insertAfter,\r\n removeElement,\r\n hasClass,\r\n} from './dom';\r\n\r\nfunction createCloseButton() {\r\n const closeBtn = document.createElement('DIV');\r\n addClass(\r\n closeBtn,\r\n 'absolute mt-2 mr-2 z-50 cursor-pointer right-0 top-0 md:mr-0 md:right-auto md:left-0 md:-ml-10'\r\n );\r\n\r\n closeBtn.innerHTML = `\r\n \r\n \r\n \r\n `;\r\n\r\n return closeBtn;\r\n}\r\n\r\nfunction createBackButton() {\r\n const backBtn = document.createElement('DIV');\r\n addClass(\r\n backBtn,\r\n 'absolute ml-2 mt-2 z-50 cursor-pointer left-0 top-0 md:-z-1 md:ml-0 md:right-auto md:mt-13 md:left-0 md:-ml-10 transition duration-150 ease-in transform -translate-x-12 md:translate-x-12 opacity-0'\r\n );\r\n\r\n backBtn.innerHTML = `\r\n \r\n \r\n \r\n `;\r\n\r\n return backBtn;\r\n}\r\n\r\nclass OffCanvas {\r\n constructor() {\r\n this.body = getElement('body');\r\n\r\n this.offcanvas = document.createElement('DIV');\r\n addClass(\r\n this.offcanvas,\r\n 'sc-offcanvas bg-primary w-full md:w-3/4 lg:w-4/6 xl:w-1/2 2xl:w-3/7 3xl:w-2/6'\r\n );\r\n document.body.appendChild(this.offcanvas);\r\n\r\n this.closeBtn = createCloseButton(this.hide);\r\n this.closeBtn.addEventListener('click', (event) => {\r\n event.stopPropagation();\r\n event.preventDefault();\r\n this.hide();\r\n });\r\n\r\n this.backBtn = createBackButton();\r\n this.backBtn.addEventListener('click', (event) => {\r\n event.stopPropagation();\r\n event.preventDefault();\r\n this.popView();\r\n });\r\n\r\n this.offcanvas.appendChild(this.closeBtn);\r\n this.offcanvas.appendChild(this.backBtn);\r\n\r\n this.content = insertAfter(document.createElement('DIV'), this.closeBtn);\r\n addClass(\r\n this.content,\r\n 'bg-primary h-full overflow-y-auto overflow-x-hidden transform transition-transform duration-150 ease-in'\r\n );\r\n\r\n this.state = 'hidden';\r\n this.events = [];\r\n this.overlay = null;\r\n this.viewStack = [];\r\n }\r\n\r\n setContent(content) {\r\n if (typeof content === 'string') {\r\n this.content.innerHTML = content;\r\n } else {\r\n while (this.content.firstChild) {\r\n this.content.removeChild(this.content.firstChild);\r\n }\r\n this.content.appendChild(content);\r\n }\r\n }\r\n\r\n renderView(content) {\r\n if (this.viewStack.length > 1) {\r\n addClass(this.content, 'opacity-0');\r\n this.setContent(content);\r\n addClass(this.content, 'translate-x-full');\r\n\r\n setTimeout(\r\n () => removeClass(this.content, 'translate-x-full opacity-0'),\r\n 120\r\n );\r\n\r\n if (hasClass(this.backBtn, '-translate-x-12')) {\r\n removeClass(\r\n this.backBtn,\r\n '-translate-x-12 md:translate-x-12 opacity-0'\r\n );\r\n }\r\n } else {\r\n this.setContent(content);\r\n }\r\n }\r\n\r\n popView() {\r\n if (this.viewStack.length === 1) {\r\n return;\r\n }\r\n\r\n this.viewStack.pop();\r\n if (this.viewStack.length === 1) {\r\n addClass(this.backBtn, '-translate-x-12 md:translate-x-12 opacity-0');\r\n }\r\n\r\n this.content.innerHTML = this.viewStack[this.viewStack.length - 1];\r\n }\r\n\r\n renderContent(content, stackView, resetStackView, wide) {\r\n if (resetStackView && this.viewStack.length > 1) {\r\n this.viewStack = [];\r\n }\r\n\r\n stackView ? this.viewStack.push(content) : (this.viewStack[0] = content);\r\n this.renderView(content);\r\n\r\n if (this.state === 'shown') {\r\n return;\r\n }\r\n\r\n if (wide) {\r\n removeClass(\r\n this.offcanvas,\r\n 'md:w-3/4 lg:w-4/6 xl:w-1/2 2xl:w-3/7 3xl:w-2/6'\r\n );\r\n addClass(this.offcanvas, 'sm:w-1/2');\r\n }\r\n\r\n addClass(this.body, 'sc-offcanvas--on');\r\n addClass(this.offcanvas, 'sc-offcanvas--on');\r\n\r\n this.state = 'shown';\r\n\r\n this.overlay = insertAfter(document.createElement('DIV'), this.offcanvas);\r\n\r\n addClass(this.overlay, 'sc-offcanvas-overlay');\r\n\r\n this.overlay.addEventListener('click', (event) => {\r\n event.stopPropagation();\r\n event.preventDefault();\r\n this.hide();\r\n });\r\n\r\n this.eventTrigger('afterShow');\r\n }\r\n\r\n show(\r\n url,\r\n { stackView = false, resetStackView = false, wide = false } = options\r\n ) {\r\n if (!url || !url.trim().length) {\r\n return;\r\n }\r\n\r\n this.eventTrigger('beforeShow');\r\n\r\n window.SCUtil.GET(url)\r\n .then((content) => {\r\n this.renderContent(content, stackView, resetStackView, wide);\r\n })\r\n .catch((error) => console.log(error));\r\n }\r\n\r\n hide() {\r\n if (this.state === 'hidden') {\r\n return;\r\n }\r\n\r\n this.eventTrigger('beforeHide');\r\n\r\n removeClass(this.body, 'sc-offcanvas--on');\r\n removeClass(this.offcanvas, 'sc-offcanvas--on');\r\n\r\n this.state = 'hidden';\r\n\r\n if (this.overlay) {\r\n removeElement(this.overlay);\r\n }\r\n\r\n if (this.content) {\r\n this.content.innerHTML = null;\r\n }\r\n\r\n if (this.viewStack.length !== 0) {\r\n this.viewStack.length > 1 &&\r\n addClass(this.backBtn, '-translate-x-12 md:translate-x-12 opacity-0');\r\n\r\n this.viewStack = [];\r\n }\r\n\r\n this.eventTrigger('afterHide');\r\n }\r\n\r\n addEvent(name, handler, one = true) {\r\n this.events.push({\r\n name,\r\n handler,\r\n one,\r\n fired: false,\r\n });\r\n }\r\n\r\n eventTrigger(name) {\r\n for (let i = 0; i < this.events.length; i++) {\r\n const event = this.events[i];\r\n if (event.name === name) {\r\n if (event.one === true) {\r\n if (event.fired === false) {\r\n this.events[i].fired = true;\r\n return event.handler();\r\n }\r\n } else {\r\n return event.handler();\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\nexport default new OffCanvas();\r\n","import { addClass } from \"./dom\";\r\n\r\nfunction createContainer() {\r\n const container = document.createElement(\"DIV\");\r\n addClass(container, \"sc-toast-container\");\r\n container.setAttribute(\"role\", \"alert\");\r\n container.setAttribute(\"aria-live\", \"assertive\");\r\n document.body.appendChild(container);\r\n\r\n return container;\r\n}\r\n\r\nfunction getContainer() {\r\n const container = document.getElementsByClassName(\"sc-toast-container\")[0];\r\n if (!container) {\r\n return createContainer();\r\n }\r\n\r\n return container;\r\n}\r\n\r\n/**\r\n *\r\n * @param {Element} toastElement\r\n */\r\nfunction removeToast(toastElement) {\r\n const container = getContainer();\r\n\r\n toastElement.remove();\r\n toastElement = null;\r\n if (container.children.length === 0) {\r\n container.remove();\r\n }\r\n}\r\n\r\nexport function toast(options) {\r\n let intervalId;\r\n\r\n const { title, message, icon } = options;\r\n const container = getContainer();\r\n const toastElem = document.createElement(\"DIV\");\r\n addClass(toastElem, \"sc-toast\");\r\n toastElem.setAttribute(\"role\", \"alert\");\r\n toastElem.setAttribute(\"aria-live\", \"assertive\");\r\n\r\n if (icon) {\r\n const iconElem = document.createElement(\"DIV\");\r\n addClass(iconElem, `flex-shrink-0 ${icon}`); // TODO: Test this with fontawesome icons\r\n }\r\n\r\n if (title) {\r\n const titleElem = document.createElement(\"DIV\");\r\n addClass(titleElem, \"sc-toast-title\");\r\n titleElem.innerHTML = title;\r\n toastElem.appendChild(titleElem);\r\n }\r\n\r\n if (message) {\r\n const messageElem = document.createElement(\"DIV\");\r\n addClass(messageElem, \"sc-toast-message\");\r\n messageElem.innerHTML = message;\r\n toastElem.appendChild(messageElem);\r\n }\r\n\r\n container.appendChild(toastElem);\r\n addClass(toastElem, \"show\");\r\n\r\n // TODO: If User mouseover this toast reset the timeout and set it again after mouseout\r\n intervalId = setTimeout(() => removeToast(toastElem), 5000);\r\n}\r\n","import { GET, POST, SUBMITFORM, stringify } from './utils/fetch';\r\nimport OffCanvas from './utils/offcanvas';\r\nimport { toast } from './utils/toast';\r\nimport { addClass, removeClass } from './utils/dom';\r\n\r\nlet context = {\r\n isAuthenticated: false,\r\n isAdmin: false,\r\n baseUrl: '', // Full URL of the site including the protocol\r\n portalId: null,\r\n currentPageId: null,\r\n homePageId: null,\r\n loginPageId: null,\r\n registerPageId: null,\r\n searchPageId: null,\r\n userId: null,\r\n};\r\n\r\n/**\r\n * Evaluates and executes the given javascript string value.\r\n *\r\n * @param {string} jsValue The javascript string value\r\n */\r\nfunction execute(jsValue) {\r\n const txt = document.createElement('textarea');\r\n txt.innerHTML = jsValue;\r\n eval(txt.value);\r\n}\r\n\r\n/**\r\n * Loads a page with the given pageId.\r\n * If the contentId is passed, it loads the page within the context of the given contentId.\r\n *\r\n * @param {number} pageId The page id. It's required.\r\n * @param {number|undefined} contentId.\r\n */\r\nfunction loadPage(pageId, contentId) {\r\n if (!pageId) {\r\n throw new Error('The pageId parameter is required');\r\n }\r\n\r\n let url = `/page/${pageId}`;\r\n if (contentId) {\r\n url = `${url}?contentId=${contentId}`;\r\n }\r\n\r\n loadUrl(url);\r\n}\r\n\r\n/**\r\n * Loads a viewer into the overlay UI\r\n *\r\n * @param {number} contentID The content ID. It's required.\r\n * @param {string|null|undefined} viewerKey The viewer key.\r\n * @param {string|null|undefined} control The control query parameter.\r\n * @param {string|null|undefined} queryString The query string value for the request.\r\n * @param overlayOptions\r\n */\r\nfunction loadViewer(\r\n contentID,\r\n viewerKey,\r\n control,\r\n queryString,\r\n overlayOptions = {}\r\n) {\r\n if (!contentID && !viewerKey) {\r\n throw new Error('The contentID or viewerKey parameter is required');\r\n }\r\n\r\n let url;\r\n\r\n if (contentID && viewerKey) {\r\n url = `/viewer/${viewerKey}/${contentID}`;\r\n } else {\r\n const param = viewerKey ? viewerKey : contentID;\r\n url = `/viewer/${param}`;\r\n }\r\n\r\n if (control) {\r\n url = `${url}?control=${control}`;\r\n }\r\n\r\n if (queryString) {\r\n if (control) {\r\n url = `${url}&${queryString}`;\r\n } else {\r\n url = `${url}?${queryString}`;\r\n }\r\n }\r\n\r\n window.SCOverlay.show(url, overlayOptions);\r\n}\r\n\r\n/**\r\n * Loads the given url.\r\n *\r\n * @param {string} url The url value. It's required.\r\n * @param {boolean} openInBlank A flag that indicates whether to open the given url in the same or a new browser tab.\r\n * Default is in the same tab.\r\n */\r\nfunction loadUrl(url, openInBlank = false) {\r\n console.log(url, openInBlank);\r\n if (!url) {\r\n throw new Error('The url parameter is required');\r\n }\r\n\r\n if (openInBlank) {\r\n window.open(url, '_blank');\r\n return;\r\n }\r\n\r\n window.location.href = url;\r\n}\r\n\r\n/**\r\n *\r\n * @param {number} contentID\r\n * @returns {Promise}\r\n */\r\nfunction getContent(contentID) {\r\n if (!contentID) {\r\n throw new Error('The contentID parameter is required');\r\n }\r\n\r\n return GET(`/contentItem?contentID=${contentID}`);\r\n}\r\n\r\nfunction getPageForContent(contentID) {\r\n if (!contentID) {\r\n throw new Error('The contentID parameter is required');\r\n }\r\n\r\n return GET(`/page/contentpage/${contentID}`);\r\n}\r\n\r\nfunction openContent(contentID) {\r\n if (!contentID) {\r\n throw new Error('The contentID parameter is required');\r\n }\r\n\r\n getPageForContent(contentID)\r\n .then((pageId) => {\r\n if (pageId) {\r\n loadPage(pageId, contentID);\r\n } else {\r\n loadViewer(contentID);\r\n }\r\n })\r\n .catch((error) => console.log(error));\r\n}\r\n\r\nfunction getAllBackpack() {\r\n return GET(`/backpack/getcontent`);\r\n}\r\n\r\nfunction addToBackpack(contentID) {\r\n if (!contentID) {\r\n throw new Error('The contentID parameter is required');\r\n }\r\n\r\n return GET(`/backpack/add?contentID=${contentID}`);\r\n}\r\n\r\nfunction removeFromBackpack(contentID) {\r\n if (!contentID) {\r\n throw new Error('The contentID parameter is required');\r\n }\r\n\r\n return GET(`/backpack/remove?contentID=${contentID}`);\r\n}\r\n\r\nfunction toggleBackpack(contentId) {\r\n const $backpackIcon = $('#backpack-' + contentId)[0];\r\n const added = $backpackIcon.getAttribute('data-added');\r\n\r\n if (added === 'true') {\r\n removeFromBackpack(contentId).then(() => {\r\n removeClass($backpackIcon, 'added');\r\n $backpackIcon.setAttribute('data-added', 'false');\r\n });\r\n } else {\r\n addToBackpack(contentId).then(() => {\r\n addClass($backpackIcon, 'added');\r\n $backpackIcon.setAttribute('data-added', 'true');\r\n });\r\n }\r\n}\r\n\r\nfunction contentAccess(contentID) {\r\n if (!contentID) {\r\n throw new Error('The contentID parameter is required');\r\n }\r\n\r\n return GET(`/contentAccess?contentID=${contentID}`);\r\n}\r\n\r\n/**\r\n * Opens a responsive iframe that auto grows in the viewer.\r\n *\r\n * @param {string|null|undefined} url The iframe url to load.\r\n * @param {boolean} stackContent A flag that indicates whether or not to stack the content.\r\n */\r\nfunction loadIFrame(url, stackContent = false) {\r\n if (!url || !url.trim().length) {\r\n return;\r\n }\r\n\r\n const container = document.createElement('DIV');\r\n addClass(container, 'relative w-full h-full overflow-hidden');\r\n\r\n const iframe = document.createElement('iframe');\r\n addClass(iframe, 'absolute top-0 left-0 w-full h-full border-0');\r\n iframe.src = url;\r\n iframe.onload = SCOverlay.renderContent(container, stackContent);\r\n\r\n container.appendChild(iframe);\r\n}\r\n\r\n/**\r\n * Opens a signed iframe.\r\n *\r\n * @param {string|null|undefined} url The iframe url to load.\r\n * @param {object} contextData The context data for signing.\r\n */\r\nfunction loadSignedIFrame(url, contextData) {\r\n if (!url || !url.trim().length) {\r\n return;\r\n }\r\n\r\n POST('/transfer/create', contextData)\r\n .then((transferId) => {\r\n const prefix = url.indexOf('?') === -1 ? '?' : '&';\r\n const signedUrl = `${url.trim()}${prefix}transferid=${transferId}`;\r\n\r\n loadIFrame(signedUrl);\r\n })\r\n .catch((error) => console.log(error));\r\n}\r\n\r\n/**\r\n * Used for tracking content and content detail action.\r\n * See ActionLogEntry class for data schema.\r\n */\r\nfunction trackAction(data) {\r\n if (!data) {\r\n return;\r\n }\r\n\r\n if (\r\n (isNaN(data.contentId) || data.contentId <= 0) &&\r\n (isNaN(data.contentDetailId) || data.contentDetailId <= 0)\r\n ) {\r\n return;\r\n }\r\n\r\n return POST('/track', stringify(data), {\r\n 'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8',\r\n });\r\n}\r\n\r\n/**\r\n * For tracking portal action not related to content.\r\n * See ActionLogEntry class for data schema.\r\n */\r\nfunction logAction(action, ref1, ref2) {\r\n if (!action) {\r\n return;\r\n }\r\n\r\n return POST(\r\n '/track',\r\n stringify({\r\n action,\r\n ref1: ref1 ? ref1 : null,\r\n ref2: ref2 ? ref2 : null,\r\n }),\r\n {\r\n 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',\r\n }\r\n );\r\n}\r\n\r\n/**\r\n * Internal function to log executed action.\r\n */\r\nfunction trackExecutedAction(data) {\r\n // We always track executed actions for `OpenUrl` and `ExecuteJS` click actions\r\n const actionEntry =\r\n data.clickAction === 4 || data.clickAction === 5\r\n ? {\r\n ...(data.sourceType === 'ContentDetail'\r\n ? { action: 'OpenContentDetail', contentDetailId: data.sourceId }\r\n : { action: 'OpenContent', contentId: data.sourceId }),\r\n }\r\n : {};\r\n\r\n // If content defines log action\r\n // - Sets the given log action or\r\n // - Overrides for above click actions.\r\n if (data.logActionType) {\r\n actionEntry.action = data.logActionType;\r\n actionEntry.ref1 = data.logActionRef;\r\n\r\n // Set source id base on content type\r\n data.sourceType === 'ContentDetail'\r\n ? (actionEntry.contentDetailId = data.sourceId)\r\n : (actionEntry.contentId = data.sourceId);\r\n }\r\n\r\n // OpenUrl\r\n if (data.clickAction === 4) {\r\n actionEntry.ref1 = data.url;\r\n actionEntry.ref2 = data.logActionRef;\r\n }\r\n\r\n // ExecuteJS\r\n if (data.clickAction === 5) {\r\n actionEntry.ref1 = data.js;\r\n actionEntry.ref2 = data.logActionRef;\r\n }\r\n\r\n // Submit if log action type was defined.\r\n actionEntry.action && SCUtil.trackAction(actionEntry);\r\n}\r\n\r\nfunction executeAction(data, options = {}) {\r\n trackExecutedAction(data);\r\n\r\n // PreviewContent\r\n if (data.clickAction === 1) {\r\n SCUtil.loadViewer(data.contentId, undefined, undefined, undefined, options);\r\n return;\r\n }\r\n\r\n // OpenContent Or LoadPage\r\n if (data.clickAction === 2 || data.clickAction === 3) {\r\n SCUtil.loadPage(data.pageId, data.contentId, data.areaId);\r\n return;\r\n }\r\n\r\n // OpenUrl\r\n if (data.clickAction === 4) {\r\n SCUtil.loadUrl(data.url, data.actionOpenUrlInNewTab);\r\n return;\r\n }\r\n\r\n // ExecuteJS\r\n if (data.clickAction === 5) {\r\n SCUtil.execute(data.js);\r\n }\r\n}\r\n\r\nfunction search(keyword) {\r\n if (!keyword || typeof keyword !== 'string' || keyword.trim().length === 0) {\r\n return;\r\n }\r\n\r\n window.location = '/search?q=' + keyword;\r\n}\r\n\r\nfunction openPhotoViewer(url, caption) {\r\n if (!url) {\r\n return;\r\n }\r\n\r\n window.SCOverlay.hide();\r\n\r\n const items = [\r\n {\r\n src: url,\r\n title: caption,\r\n },\r\n ];\r\n\r\n const options = {\r\n // Start at first image\r\n index: 0,\r\n };\r\n\r\n new PhotoViewer(items, options);\r\n}\r\n\r\nfunction hideBoothMenu() {\r\n $('a.space-main-menu-opener').trigger('click');\r\n $('body').removeClass('nav-active');\r\n}\r\n\r\nwindow.SCOverlay = OffCanvas;\r\nwindow.SCUtil = {\r\n GET,\r\n POST,\r\n SUBMITFORM,\r\n execute,\r\n loadPage,\r\n loadViewer,\r\n loadUrl,\r\n getContent,\r\n openContent,\r\n getAllBackpack,\r\n addToBackpack,\r\n removeFromBackpack,\r\n toggleBackpack,\r\n contentAccess,\r\n context,\r\n trackAction,\r\n logAction,\r\n toast,\r\n executeAction,\r\n search,\r\n openPhotoViewer,\r\n hideBoothMenu,\r\n loadIFrame,\r\n loadSignedIFrame,\r\n};\r\n\r\nwindow.bindValidation = function (\r\n formId,\r\n inlineError,\r\n contentId,\r\n pageId,\r\n url,\r\n js\r\n) {\r\n $(`#form-${formId}`).on('submit', async function (e) {\r\n e.preventDefault();\r\n const result = await window.SCUtil.SUBMITFORM(\r\n '/form/submit',\r\n $(this).serialize()\r\n );\r\n\r\n switch (result) {\r\n case 1:\r\n case 2:\r\n window.SCUtil.openContent(contentId);\r\n break;\r\n case 3:\r\n window.SCUtil.loadPage(pageId);\r\n break;\r\n case 4:\r\n window.SCUtil.loadUrl(url);\r\n break;\r\n case 5:\r\n window.SCUtil.execute(js);\r\n break;\r\n default:\r\n $(`#form-${formId}`).replaceWith(result);\r\n bindValidation(formId, inlineError, contentId, pageId, url, js);\r\n }\r\n });\r\n};\r\n"],"names":["fetch","handleResponse","resp","ok","status","window","location","reload","Promise","reject","message","statusText","contentType","headers","get","includes","json","text","Error","GET","url","e","console","log","POST","data","body","JSON","stringify","method","Accept","SUBMITFORM","$","ajax","done","result","fail","warn","resultText","Object","keys","map","key","encodeURIComponent","join","hasClass","el","className","classList","contains","RegExp","test","addClass","classNames","split","i","length","add","trim","removeClass","remove","replace","insertAfter","referenceNode","parentNode","insertBefore","nextSibling","getElement","query","document","nodeType","getElementById","getElementsByTagName","getElementsByClassName","removeElement","removeChild","createCloseButton","closeBtn","createElement","innerHTML","createBackButton","backBtn","OffCanvas","constructor","offcanvas","appendChild","hide","addEventListener","event","stopPropagation","preventDefault","popView","content","state","events","overlay","viewStack","setContent","firstChild","renderView","setTimeout","pop","renderContent","stackView","resetStackView","wide","push","eventTrigger","show","options","SCUtil","then","catch","error","addEvent","name","handler","one","fired","createContainer","container","setAttribute","getContainer","removeToast","toastElement","children","toast","intervalId","title","icon","toastElem","iconElem","titleElem","messageElem","context","isAuthenticated","isAdmin","baseUrl","portalId","currentPageId","homePageId","loginPageId","registerPageId","searchPageId","userId","execute","jsValue","txt","eval","value","loadPage","pageId","contentId","loadUrl","loadViewer","contentID","viewerKey","control","queryString","overlayOptions","param","SCOverlay","openInBlank","open","href","getContent","getPageForContent","openContent","getAllBackpack","addToBackpack","removeFromBackpack","toggleBackpack","$backpackIcon","added","getAttribute","contentAccess","loadIFrame","stackContent","iframe","src","onload","loadSignedIFrame","contextData","transferId","prefix","indexOf","signedUrl","trackAction","isNaN","contentDetailId","logAction","action","ref1","ref2","trackExecutedAction","actionEntry","clickAction","sourceType","sourceId","logActionType","logActionRef","js","executeAction","undefined","areaId","actionOpenUrlInNewTab","search","keyword","openPhotoViewer","caption","items","index","PhotoViewer","hideBoothMenu","trigger","bindValidation","formId","inlineError","on","serialize","replaceWith"],"mappings":"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"}