{"version":3,"file":"component---src-templates-index-js-3ec3c3efe189d7961a1f.js","mappings":"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","sources":["webpack://avisos-feevale/./node_modules/@babel/runtime/helpers/typeof.js","webpack://avisos-feevale/./node_modules/axios/index.js","webpack://avisos-feevale/./node_modules/axios/lib/adapters/xhr.js","webpack://avisos-feevale/./node_modules/axios/lib/axios.js","webpack://avisos-feevale/./node_modules/axios/lib/cancel/Cancel.js","webpack://avisos-feevale/./node_modules/axios/lib/cancel/CancelToken.js","webpack://avisos-feevale/./node_modules/axios/lib/cancel/isCancel.js","webpack://avisos-feevale/./node_modules/axios/lib/core/Axios.js","webpack://avisos-feevale/./node_modules/axios/lib/core/InterceptorManager.js","webpack://avisos-feevale/./node_modules/axios/lib/core/buildFullPath.js","webpack://avisos-feevale/./node_modules/axios/lib/core/createError.js","webpack://avisos-feevale/./node_modules/axios/lib/core/dispatchRequest.js","webpack://avisos-feevale/./node_modules/axios/lib/core/enhanceError.js","webpack://avisos-feevale/./node_modules/axios/lib/core/mergeConfig.js","webpack://avisos-feevale/./node_modules/axios/lib/core/settle.js","webpack://avisos-feevale/./node_modules/axios/lib/core/transformData.js","webpack://avisos-feevale/./node_modules/axios/lib/defaults.js","webpack://avisos-feevale/./node_modules/axios/lib/env/data.js","webpack://avisos-feevale/./node_modules/axios/lib/helpers/bind.js","webpack://avisos-feevale/./node_modules/axios/lib/helpers/buildURL.js","webpack://avisos-feevale/./node_modules/axios/lib/helpers/combineURLs.js","webpack://avisos-feevale/./node_modules/axios/lib/helpers/cookies.js","webpack://avisos-feevale/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://avisos-feevale/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://avisos-feevale/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://avisos-feevale/./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack://avisos-feevale/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://avisos-feevale/./node_modules/axios/lib/helpers/spread.js","webpack://avisos-feevale/./node_modules/axios/lib/helpers/validator.js","webpack://avisos-feevale/./node_modules/axios/lib/utils.js","webpack://avisos-feevale/./src/helpers/formatters.js","webpack://avisos-feevale/./src/components/MainFooter/MainFooter.js","webpack://avisos-feevale/./src/components/SocialBar/SocialBar.js","webpack://avisos-feevale/./src/layouts/MasterLayout/MasterLayout.js","webpack://avisos-feevale/./src/components/BannerCarousel/BannerCarousel.js","webpack://avisos-feevale/./node_modules/shufflejs/dist/shuffle.esm.js","webpack://avisos-feevale/./src/components/CardAviso/CardAviso.js","webpack://avisos-feevale/./src/components/FiltroAvisos/FiltroAvisos.js","webpack://avisos-feevale/./src/templates/index.js","webpack://avisos-feevale/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://avisos-feevale/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://avisos-feevale/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://avisos-feevale/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://avisos-feevale/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://avisos-feevale/./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://avisos-feevale/./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js"],"sourcesContent":["function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","module.exports = require('./lib/axios');","'use strict';\n\nvar utils = require('./../utils');\n\nvar settle = require('./../core/settle');\n\nvar cookies = require('./../helpers/cookies');\n\nvar buildURL = require('./../helpers/buildURL');\n\nvar buildFullPath = require('../core/buildFullPath');\n\nvar parseHeaders = require('./../helpers/parseHeaders');\n\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\n\nvar createError = require('../core/createError');\n\nvar defaults = require('../defaults');\n\nvar Cancel = require('../cancel/Cancel');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n var responseType = config.responseType;\n var onCanceled;\n\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest(); // HTTP basic authentication\n\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true); // Set the request timeout in MS\n\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n } // Prepare the response\n\n\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !responseType || responseType === 'text' || responseType === 'json' ? request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response); // Clean up request\n\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n } // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n\n\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n } // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n\n\n setTimeout(onloadend);\n };\n } // Handle browser request cancellation (as opposed to a manual cancellation)\n\n\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(createError('Request aborted', config, 'ECONNABORTED', request)); // Clean up request\n\n request = null;\n }; // Handle low level network errors\n\n\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request)); // Clean up request\n\n request = null;\n }; // Handle timeout\n\n\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n var transitional = config.transitional || defaults.transitional;\n\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n\n reject(createError(timeoutErrorMessage, config, transitional.clarifyTimeoutError ? 'ETIMEDOUT' : 'ECONNABORTED', request)); // Clean up request\n\n request = null;\n }; // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ? cookies.read(config.xsrfCookieName) : undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n } // Add headers to the request\n\n\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n } // Add withCredentials to request if needed\n\n\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n } // Add responseType to request if needed\n\n\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n } // Handle progress if needed\n\n\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n } // Not all browsers support upload events\n\n\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n reject(!cancel || cancel && cancel.type ? new Cancel('canceled') : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n if (!requestData) {\n requestData = null;\n } // Send the request\n\n\n request.send(requestData);\n });\n};","'use strict';\n\nvar utils = require('./utils');\n\nvar bind = require('./helpers/bind');\n\nvar Axios = require('./core/Axios');\n\nvar mergeConfig = require('./core/mergeConfig');\n\nvar defaults = require('./defaults');\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\n\n\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context); // Copy axios.prototype to instance\n\n utils.extend(instance, Axios.prototype, context); // Copy context to instance\n\n utils.extend(instance, context); // Factory for creating new instances\n\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n} // Create the default instance to be exported\n\n\nvar axios = createInstance(defaults); // Expose Axios class to allow class inheritance\n\naxios.Axios = Axios; // Expose Cancel & CancelToken\n\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\naxios.VERSION = require('./env/data').version; // Expose all/spread\n\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = require('./helpers/spread'); // Expose isAxiosError\n\naxios.isAxiosError = require('./helpers/isAxiosError');\nmodule.exports = axios; // Allow use of default import syntax in TypeScript\n\nmodule.exports.default = axios;","'use strict';\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\n\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\nmodule.exports = Cancel;","'use strict';\n\nvar Cancel = require('./Cancel');\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\n\n\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n var token = this; // eslint-disable-next-line func-names\n\n this.promise.then(function (cancel) {\n if (!token._listeners) return;\n var i;\n var l = token._listeners.length;\n\n for (i = 0; i < l; i++) {\n token._listeners[i](cancel);\n }\n\n token._listeners = null;\n }); // eslint-disable-next-line func-names\n\n this.promise.then = function (onfulfilled) {\n var _resolve; // eslint-disable-next-line func-names\n\n\n var promise = new Promise(function (resolve) {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\n\n\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n/**\n * Subscribe to the cancel signal\n */\n\n\nCancelToken.prototype.subscribe = function subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n};\n/**\n * Unsubscribe from the cancel signal\n */\n\n\nCancelToken.prototype.unsubscribe = function unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n\n var index = this._listeners.indexOf(listener);\n\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n};\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n\n\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};","'use strict';\n\nvar utils = require('./../utils');\n\nvar buildURL = require('../helpers/buildURL');\n\nvar InterceptorManager = require('./InterceptorManager');\n\nvar dispatchRequest = require('./dispatchRequest');\n\nvar mergeConfig = require('./mergeConfig');\n\nvar validator = require('../helpers/validator');\n\nvar validators = validator.validators;\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\n\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\n\n\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = arguments[1] || {};\n config.url = arguments[0];\n } else {\n config = config || {};\n }\n\n config = mergeConfig(this.defaults, config); // Set config.method\n\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n var transitional = config.transitional;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n } // filter out skipped interceptors\n\n\n var requestInterceptorChain = [];\n var synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n var responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n var promise;\n\n if (!synchronousRequestInterceptors) {\n var chain = [dispatchRequest, undefined];\n Array.prototype.unshift.apply(chain, requestInterceptorChain);\n chain = chain.concat(responseInterceptorChain);\n promise = Promise.resolve(config);\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n }\n\n var newConfig = config;\n\n while (requestInterceptorChain.length) {\n var onFulfilled = requestInterceptorChain.shift();\n var onRejected = requestInterceptorChain.shift();\n\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected(error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest(newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n while (responseInterceptorChain.length) {\n promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n}; // Provide aliases for supported request methods\n\n\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function (url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function (url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\nmodule.exports = Axios;","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n\n\nInterceptorManager.prototype.use = function use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n};\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\n\n\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\n\n\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\n\nvar combineURLs = require('../helpers/combineURLs');\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\n\n\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n\n return requestedURL;\n};","'use strict';\n\nvar enhanceError = require('./enhanceError');\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\n\n\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};","'use strict';\n\nvar utils = require('./../utils');\n\nvar transformData = require('./transformData');\n\nvar isCancel = require('../cancel/isCancel');\n\nvar defaults = require('../defaults');\n\nvar Cancel = require('../cancel/Cancel');\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\n\n\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new Cancel('canceled');\n }\n}\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\n\n\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config); // Ensure headers exist\n\n config.headers = config.headers || {}; // Transform request data\n\n config.data = transformData.call(config, config.data, config.headers, config.transformRequest); // Flatten headers\n\n config.headers = utils.merge(config.headers.common || {}, config.headers[config.method] || {}, config.headers);\n utils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], function cleanHeaderConfig(method) {\n delete config.headers[method];\n });\n var adapter = config.adapter || defaults.adapter;\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config); // Transform response data\n\n response.data = transformData.call(config, response.data, response.headers, config.transformResponse);\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config); // Transform response data\n\n if (reason && reason.response) {\n reason.response.data = transformData.call(config, reason.response.data, reason.response.headers, config.transformResponse);\n }\n }\n\n return Promise.reject(reason);\n });\n};","'use strict';\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\n\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.toJSON = function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n };\n\n return error;\n};","'use strict';\n\nvar utils = require('../utils');\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\n\n\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n\n return source;\n } // eslint-disable-next-line consistent-return\n\n\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n } // eslint-disable-next-line consistent-return\n\n\n function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n }\n } // eslint-disable-next-line consistent-return\n\n\n function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n } // eslint-disable-next-line consistent-return\n\n\n function mergeDirectKeys(prop) {\n if (prop in config2) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n var mergeMap = {\n 'url': valueFromConfig2,\n 'method': valueFromConfig2,\n 'data': valueFromConfig2,\n 'baseURL': defaultToConfig2,\n 'transformRequest': defaultToConfig2,\n 'transformResponse': defaultToConfig2,\n 'paramsSerializer': defaultToConfig2,\n 'timeout': defaultToConfig2,\n 'timeoutMessage': defaultToConfig2,\n 'withCredentials': defaultToConfig2,\n 'adapter': defaultToConfig2,\n 'responseType': defaultToConfig2,\n 'xsrfCookieName': defaultToConfig2,\n 'xsrfHeaderName': defaultToConfig2,\n 'onUploadProgress': defaultToConfig2,\n 'onDownloadProgress': defaultToConfig2,\n 'decompress': defaultToConfig2,\n 'maxContentLength': defaultToConfig2,\n 'maxBodyLength': defaultToConfig2,\n 'transport': defaultToConfig2,\n 'httpAgent': defaultToConfig2,\n 'httpsAgent': defaultToConfig2,\n 'cancelToken': defaultToConfig2,\n 'socketPath': defaultToConfig2,\n 'responseEncoding': defaultToConfig2,\n 'validateStatus': mergeDirectKeys\n };\n utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {\n var merge = mergeMap[prop] || mergeDeepProperties;\n var configValue = merge(prop);\n utils.isUndefined(configValue) && merge !== mergeDirectKeys || (config[prop] = configValue);\n });\n return config;\n};","'use strict';\n\nvar createError = require('./createError');\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\n\n\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError('Request failed with status code ' + response.status, response.config, null, response.request, response));\n }\n};","'use strict';\n\nvar utils = require('./../utils');\n\nvar defaults = require('./../defaults');\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\n\n\nmodule.exports = function transformData(data, headers, fns) {\n var context = this || defaults;\n /*eslint no-param-reassign:0*/\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(context, data, headers);\n });\n return data;\n};","'use strict';\n\nvar utils = require('./utils');\n\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\n\nvar enhanceError = require('./core/enhanceError');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n\n return adapter;\n}\n\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nvar defaults = {\n transitional: {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n },\n adapter: getDefaultAdapter(),\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) || utils.isArrayBuffer(data) || utils.isBuffer(data) || utils.isStream(data) || utils.isFile(data) || utils.isBlob(data)) {\n return data;\n }\n\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n\n if (utils.isObject(data) || headers && headers['Content-Type'] === 'application/json') {\n setContentTypeIfUnset(headers, 'application/json');\n return stringifySafely(data);\n }\n\n return data;\n }],\n transformResponse: [function transformResponse(data) {\n var transitional = this.transitional || defaults.transitional;\n var silentJSONParsing = transitional && transitional.silentJSONParsing;\n var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';\n\n if (strictJSONParsing || forcedJSONParsing && utils.isString(data) && data.length) {\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw enhanceError(e, this, 'E_JSON_PARSE');\n }\n\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n maxContentLength: -1,\n maxBodyLength: -1,\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n }\n};\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\nmodule.exports = defaults;","module.exports = {\n \"version\": \"0.23.0\"\n};","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n\n return fn.apply(thisArg, args);\n };\n};","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).replace(/%3A/gi, ':').replace(/%24/g, '$').replace(/%2C/gi, ',').replace(/%20/g, '+').replace(/%5B/gi, '[').replace(/%5D/gi, ']');\n}\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\n\n\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};","'use strict';\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\n\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '') : baseURL;\n};","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = utils.isStandardBrowserEnv() ? // Standard browser envs support document.cookie\nfunction standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return match ? decodeURIComponent(match[3]) : null;\n },\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n}() : // Non standard browser env (web workers, react-native) lack needed support.\nfunction nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() {\n return null;\n },\n remove: function remove() {}\n };\n}();","'use strict';\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\n\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};","'use strict';\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\n\nmodule.exports = function isAxiosError(payload) {\n return typeof payload === 'object' && payload.isAxiosError === true;\n};","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = utils.isStandardBrowserEnv() ? // Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\nfunction standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href); // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: urlParsingNode.pathname.charAt(0) === '/' ? urlParsingNode.pathname : '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n\n return function isURLSameOrigin(requestURL) {\n var parsed = utils.isString(requestURL) ? resolveURL(requestURL) : requestURL;\n return parsed.protocol === originURL.protocol && parsed.host === originURL.host;\n };\n}() : // Non standard browser envs (web workers, react-native) lack needed support.\nfunction nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n}();","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};","'use strict';\n\nvar utils = require('./../utils'); // Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\n\n\nvar ignoreDuplicateOf = ['age', 'authorization', 'content-length', 'content-type', 'etag', 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since', 'last-modified', 'location', 'max-forwards', 'proxy-authorization', 'referer', 'retry-after', 'user-agent'];\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\n\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) {\n return parsed;\n }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n return parsed;\n};","'use strict';\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\n\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};","'use strict';\n\nvar VERSION = require('../env/data').version;\n\nvar validators = {}; // eslint-disable-next-line func-names\n\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function (type, i) {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\nvar deprecatedWarnings = {};\n/**\n * Transitional option validator\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n * @returns {function}\n */\n\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n } // eslint-disable-next-line func-names\n\n\n return function (value, opt, opts) {\n if (validator === false) {\n throw new Error(formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')));\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true; // eslint-disable-next-line no-console\n\n console.warn(formatMessage(opt, ' has been deprecated since v' + version + ' and will be removed in the near future'));\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n/**\n * Assert object's properties type\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n */\n\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new TypeError('options must be an object');\n }\n\n var keys = Object.keys(options);\n var i = keys.length;\n\n while (i-- > 0) {\n var opt = keys[i];\n var validator = schema[opt];\n\n if (validator) {\n var value = options[opt];\n var result = value === undefined || validator(value, opt, options);\n\n if (result !== true) {\n throw new TypeError('option ' + opt + ' must be ' + result);\n }\n\n continue;\n }\n\n if (allowUnknown !== true) {\n throw Error('Unknown option ' + opt);\n }\n }\n}\n\nmodule.exports = {\n assertOptions: assertOptions,\n validators: validators\n};","'use strict';\n\nvar bind = require('./helpers/bind'); // utils is a library of generic helper functions non-specific to axios\n\n\nvar toString = Object.prototype.toString;\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\n\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\n\n\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\n\n\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor) && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\n\n\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\n\n\nfunction isFormData(val) {\n return typeof FormData !== 'undefined' && val instanceof FormData;\n}\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\n\n\nfunction isArrayBufferView(val) {\n var result;\n\n if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) {\n result = ArrayBuffer.isView(val);\n } else {\n result = val && val.buffer && val.buffer instanceof ArrayBuffer;\n }\n\n return result;\n}\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\n\n\nfunction isString(val) {\n return typeof val === 'string';\n}\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\n\n\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\n\n\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\n\n\nfunction isPlainObject(val) {\n if (toString.call(val) !== '[object Object]') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\n\n\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\n\n\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\n\n\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\n\n\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\n\n\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\n\n\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\n\n\nfunction trim(str) {\n return str.trim ? str.trim() : str.replace(/^\\s+|\\s+$/g, '');\n}\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\n\n\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' || navigator.product === 'NativeScript' || navigator.product === 'NS')) {\n return false;\n }\n\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n}\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\n\n\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n } // Force an array if not already something iterable\n\n\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\n\n\nfunction merge() {\n var result = {};\n\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n\n return result;\n}\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\n\n\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\n\n\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n\n return content;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM\n};","export function FormatDate(param) {\n\treturn new Date(param).toLocaleString(\"pt-br\", {\n\t\tyear: \"numeric\",\n\t\tmonth: \"long\",\n\t\tday: \"numeric\",\n\t\thour: \"2-digit\",\n\t\tminute: \"2-digit\"\n\t});\n}\n\nexport function FormatDateOnly(param) {\n\treturn new Date(param).toLocaleString(\"pt-br\", {\n\t\tyear: \"numeric\",\n\t\tmonth: \"numeric\",\n\t\tday: \"numeric\",\n\t});\n}\n","import React from \"react\";\n\nimport { MDBContainer, MDBRow, MDBCol, MDBFooter, MDBBtn } from \"mdbreact\";\n\nimport Logo from \"../../assets/images/img-logo.svg\";\n\nexport default function MainFooter() {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t
Conheça os portais da Universidade Feevale
\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t{[\n\t\t\t\t\t\t\t\t[\"https://www.feevale.br\", \"Universidade Feevale\"],\n\t\t\t\t\t\t\t\t[\"https://way.feevale.br\", \"Graduação\"],\n\t\t\t\t\t\t\t\t[\"https://pos.feevale.br\", \"Especializações e MBAs\"],\n\t\t\t\t\t\t\t\t[\"https://www.feevale.br/stricto\", \"Mestrados e doutorados\"],\n\t\t\t\t\t\t\t\t[\"https://escola.feevale.br\", \"Escola de Aplicação\"],\n\t\t\t\t\t\t\t\t[\"https://www.feevale.br/idiomas\", \"Idiomas\"],\n\t\t\t\t\t\t\t\t[\"https://feevaletechpark.com.br\", \"Feevale Techpark\"],\n\t\t\t\t\t\t\t\t[\"https://teatrofeevale.com.br\", \"Teatro Feevale\"],\n\t\t\t\t\t\t\t\t[\"https://editais.feevale.com.br\", \"Editais\"]\n\t\t\t\t\t\t\t].map((i, index) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t
  • \n\t\t\t\t\t\t\t\t\t\t{i[1]}\n\t\t\t\t\t\t\t\t\t
  • \n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
Fale conosco
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t(51) 3586-8800\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tfalecomafeevale@feevale.br\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tFale com a Feevale\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t);\n}\n","/* eslint-disable react/prop-types */\nimport React from \"react\";\nimport { MDBContainer, MDBRow, MDBCol, MDBIcon } from \"mdbreact\";\n\n/**\n * Componente para renderizar conteúdos HTML crus.\n */\nexport default function SocialBar() {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t

\n\t\t\t\t\t\tConecte-se com a Feevale\n\t\t\t\t\t

\n\t\t\t\t
\n\t\t\t
\n\t\t\t\n\t\t\t\t{[\n\t\t\t\t\t[\"https://twitter.com/Feevale\", \"twitter\"],\n\t\t\t\t\t[\"https://www.instagram.com/feevale/\", \"instagram\"],\n\t\t\t\t\t[\"https://www.facebook.com/feevale\", \"facebook-f\"],\n\t\t\t\t\t[\"https://br.linkedin.com/company/feevale\", \"linkedin\"],\n\t\t\t\t\t[\"https://www.youtube.com/user/tvfeevale\", \"youtube\"],\n\t\t\t\t\t[\"https://www.tiktok.com/@feevale\", \"tiktok\"],\n\t\t\t\t\t[\n\t\t\t\t\t\t\"https://open.spotify.com/user/8mdbgc7knnnwq7e7s56tid1pc?si=T2fGI3xTRBK5Y9OYE4mjXg\",\n\t\t\t\t\t\t\"spotify\",\n\t\t\t\t\t],\n\t\t\t\t].map((i, index) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t\n\t\t
\n\t);\n}\n","/* eslint-disable no-undef */\nimport React, { useEffect } from \"react\";\nimport PropTypes from \"prop-types\";\n\n// Imports Material Design\nimport \"bootstrap-css-only/css/bootstrap.min.css\";\nimport \"@fortawesome/fontawesome-free/css/all.min.css\";\nimport \"../../assets/mdbreact/scss/mdb-free.scss\";\n\nimport { MDBContainer, MDBRow, MDBCol } from \"mdbreact\";\n\nimport MainNavbar from \"../../components/MainNavbar/MainNavbar\";\nimport MainFooter from \"../../components/MainFooter/MainFooter\";\nimport SEO from \"../../components/SEO/SEO\";\nimport SocialBar from \"../../components/SocialBar/SocialBar\";\n\nexport default function Layout({ children }) {\n\tLayout.propTypes = {\n\t\tchildren: PropTypes.object.isRequired,\n\t};\n\n\tuseEffect(() => {\n\t\tif (\n\t\t\tprocess.env.NODE_ENV === \"production\" &&\n\t\t\ttypeof window !== \"undefined\"\n\t\t) {\n\t\t\t// HandTalk\n\t\t\tlet script = document.createElement(\"script\");\n\t\t\tscript.src = \"//plugin.handtalk.me/web/latest/handtalk.min.js\";\n\t\t\tscript.async = true;\n\t\t\tscript.onload = () => {\n\t\t\t\tnew window.HT({\n\t\t\t\t\ttoken: \"67d8ad24f158ff8b093ac95c14fb6b67\",\n\t\t\t\t\tmaxTextSize: 1000,\n\t\t\t\t\tpageSpeech: true,\n\t\t\t\t});\n\t\t\t};\n\t\t\tdocument.body.appendChild(script);\n\n\t\t\t// RD Station\n\t\t\tscript = document.createElement(\"script\");\n\t\t\tscript.src =\n\t\t\t\t\"https://d335luupugsy2.cloudfront.net/js/loader-scripts/168bf134-2e44-4e66-ab9a-cdb7f59837c2-loader.js\";\n\t\t\tscript.async = true;\n\t\t\tdocument.body.appendChild(script);\n\n\t\t\t(function(c,l,a,r,i,t,y){\n\t\t\t\tc[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};\n\t\t\t\tt=l.createElement(r);t.async=1;t.src=\"https://www.clarity.ms/tag/\"+i;\n\t\t\t\ty=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);\n\t\t\t})(window, document, \"clarity\", \"script\", \"a36lm1cyfb\");\t\t\n\t\t}\n\t});\n\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{children}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n","/* eslint-disable react/prop-types */\nimport React, { useEffect, useState } from \"react\";\nimport axios from \"axios\";\nimport {\n\tMDBCarousel,\n\tMDBCarouselInner,\n\tMDBCarouselItem,\n\tMDBView,\n} from \"mdbreact\";\n\nexport default function BannerCarousel({ bannerKey }) {\n\tconst [banners, setBanners] = useState(null);\n\n\tuseEffect(() => {\n\t\taxios\n\t\t\t.get(`https://servico.feevale.br/site/v2/banners/${bannerKey}`)\n\t\t\t.then((res) => {\n\t\t\t\tconst banners = res.data?.Blocks[0]?.Items; // Recupera o primeiro bloco de um banner group.\n\t\t\t\tsetBanners(banners);\n\t\t\t});\n\t}, []);\n\n\tif (banners !== null && banners !== undefined) {\n\t\treturn (\n\t\t\t 1 ? true : false}\n\t\t\t\tshowIndicators={false}\n\t\t\t\tclassName=\"z-depth-1\"\n\t\t\t>\n\t\t\t\t\n\t\t\t\t\t{banners.map((i, index) => {\n\t\t\t\t\t\tlet mediaItem = i?.Body?.Media;\n\t\t\t\t\t\tif (mediaItem !== null) {\n\t\t\t\t\t\t\tif (mediaItem.Description?.length > 0) {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t})}\n\t\t\t\t\n\t\t\t\n\t\t);\n\t}\n\n\treturn <>;\n}\n","import _inherits from \"/home/vsts/work/1/s/node_modules/@babel/runtime/helpers/esm/inherits\";\nimport _possibleConstructorReturn from \"/home/vsts/work/1/s/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"/home/vsts/work/1/s/node_modules/@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _toConsumableArray from \"/home/vsts/work/1/s/node_modules/@babel/runtime/helpers/esm/toConsumableArray\";\nimport _defineProperty from \"/home/vsts/work/1/s/node_modules/@babel/runtime/helpers/esm/defineProperty\";\nimport _classCallCheck from \"/home/vsts/work/1/s/node_modules/@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"/home/vsts/work/1/s/node_modules/@babel/runtime/helpers/esm/createClass\";\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, 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 normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nimport \"core-js/modules/es.array.flat.js\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nvar tinyEmitter = {\n exports: {}\n};\n\nfunction E() {// Keep this empty so it's easier to inherit from\n // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)\n}\n\nE.prototype = {\n on: function on(name, callback, ctx) {\n var e = this.e || (this.e = {});\n (e[name] || (e[name] = [])).push({\n fn: callback,\n ctx: ctx\n });\n return this;\n },\n once: function once(name, callback, ctx) {\n var self = this;\n\n function listener() {\n self.off(name, listener);\n callback.apply(ctx, arguments);\n }\n\n listener._ = callback;\n return this.on(name, listener, ctx);\n },\n emit: function emit(name) {\n var data = [].slice.call(arguments, 1);\n var evtArr = ((this.e || (this.e = {}))[name] || []).slice();\n var i = 0;\n var len = evtArr.length;\n\n for (i; i < len; i++) {\n evtArr[i].fn.apply(evtArr[i].ctx, data);\n }\n\n return this;\n },\n off: function off(name, callback) {\n var e = this.e || (this.e = {});\n var evts = e[name];\n var liveEvents = [];\n\n if (evts && callback) {\n for (var i = 0, len = evts.length; i < len; i++) {\n if (evts[i].fn !== callback && evts[i].fn._ !== callback) liveEvents.push(evts[i]);\n }\n } // Remove event from queue to prevent memory leak\n // Suggested by https://github.com/lazd\n // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910\n\n\n liveEvents.length ? e[name] = liveEvents : delete e[name];\n return this;\n }\n};\ntinyEmitter.exports = E;\ntinyEmitter.exports.TinyEmitter = E;\nvar TinyEmitter = tinyEmitter.exports;\n\nvar arrayParallel = function parallel(fns, context, callback) {\n if (!callback) {\n if (typeof context === 'function') {\n callback = context;\n context = null;\n } else {\n callback = noop;\n }\n }\n\n var pending = fns && fns.length;\n if (!pending) return callback(null, []);\n var finished = false;\n var results = new Array(pending);\n fns.forEach(context ? function (fn, i) {\n fn.call(context, maybeDone(i));\n } : function (fn, i) {\n fn(maybeDone(i));\n });\n\n function maybeDone(i) {\n return function (err, result) {\n if (finished) return;\n\n if (err) {\n callback(err, results);\n finished = true;\n return;\n }\n\n results[i] = result;\n if (! --pending) callback(null, results);\n };\n }\n};\n\nfunction noop() {}\n/**\n * Always returns a numeric value, given a value. Logic from jQuery's `isNumeric`.\n * @param {*} value Possibly numeric value.\n * @return {number} `value` or zero if `value` isn't numeric.\n */\n\n\nfunction getNumber(value) {\n return parseFloat(value) || 0;\n}\n\nvar Point = /*#__PURE__*/function () {\n /**\n * Represents a coordinate pair.\n * @param {number} [x=0] X.\n * @param {number} [y=0] Y.\n */\n function Point(x, y) {\n _classCallCheck(this, Point);\n\n this.x = getNumber(x);\n this.y = getNumber(y);\n }\n /**\n * Whether two points are equal.\n * @param {Point} a Point A.\n * @param {Point} b Point B.\n * @return {boolean}\n */\n\n\n _createClass(Point, null, [{\n key: \"equals\",\n value: function equals(a, b) {\n return a.x === b.x && a.y === b.y;\n }\n }]);\n\n return Point;\n}();\n\nvar Rect = /*#__PURE__*/function () {\n /**\n * Class for representing rectangular regions.\n * https://github.com/google/closure-library/blob/master/closure/goog/math/rect.js\n * @param {number} x Left.\n * @param {number} y Top.\n * @param {number} w Width.\n * @param {number} h Height.\n * @param {number} id Identifier\n * @constructor\n */\n function Rect(x, y, w, h, id) {\n _classCallCheck(this, Rect);\n\n this.id = id;\n /** @type {number} */\n\n this.left = x;\n /** @type {number} */\n\n this.top = y;\n /** @type {number} */\n\n this.width = w;\n /** @type {number} */\n\n this.height = h;\n }\n /**\n * Returns whether two rectangles intersect.\n * @param {Rect} a A Rectangle.\n * @param {Rect} b A Rectangle.\n * @return {boolean} Whether a and b intersect.\n */\n\n\n _createClass(Rect, null, [{\n key: \"intersects\",\n value: function intersects(a, b) {\n return a.left < b.left + b.width && b.left < a.left + a.width && a.top < b.top + b.height && b.top < a.top + a.height;\n }\n }]);\n\n return Rect;\n}();\n\nvar Classes = {\n BASE: 'shuffle',\n SHUFFLE_ITEM: 'shuffle-item',\n VISIBLE: 'shuffle-item--visible',\n HIDDEN: 'shuffle-item--hidden'\n};\nvar id$1 = 0;\n\nvar ShuffleItem = /*#__PURE__*/function () {\n function ShuffleItem(element, isRTL) {\n _classCallCheck(this, ShuffleItem);\n\n id$1 += 1;\n this.id = id$1;\n this.element = element;\n /**\n * Set correct direction of item\n */\n\n this.isRTL = isRTL;\n /**\n * Used to separate items for layout and shrink.\n */\n\n this.isVisible = true;\n /**\n * Used to determine if a transition will happen. By the time the _layout\n * and _shrink methods get the ShuffleItem instances, the `isVisible` value\n * has already been changed by the separation methods, so this property is\n * needed to know if the item was visible/hidden before the shrink/layout.\n */\n\n this.isHidden = false;\n }\n\n _createClass(ShuffleItem, [{\n key: \"show\",\n value: function show() {\n this.isVisible = true;\n this.element.classList.remove(Classes.HIDDEN);\n this.element.classList.add(Classes.VISIBLE);\n this.element.removeAttribute('aria-hidden');\n }\n }, {\n key: \"hide\",\n value: function hide() {\n this.isVisible = false;\n this.element.classList.remove(Classes.VISIBLE);\n this.element.classList.add(Classes.HIDDEN);\n this.element.setAttribute('aria-hidden', true);\n }\n }, {\n key: \"init\",\n value: function init() {\n this.addClasses([Classes.SHUFFLE_ITEM, Classes.VISIBLE]);\n this.applyCss(ShuffleItem.Css.INITIAL);\n this.applyCss(this.isRTL ? ShuffleItem.Css.DIRECTION.rtl : ShuffleItem.Css.DIRECTION.ltr);\n this.scale = ShuffleItem.Scale.VISIBLE;\n this.point = new Point();\n }\n }, {\n key: \"addClasses\",\n value: function addClasses(classes) {\n var _this = this;\n\n classes.forEach(function (className) {\n _this.element.classList.add(className);\n });\n }\n }, {\n key: \"removeClasses\",\n value: function removeClasses(classes) {\n var _this2 = this;\n\n classes.forEach(function (className) {\n _this2.element.classList.remove(className);\n });\n }\n }, {\n key: \"applyCss\",\n value: function applyCss(obj) {\n var _this3 = this;\n\n Object.keys(obj).forEach(function (key) {\n _this3.element.style[key] = obj[key];\n });\n }\n }, {\n key: \"dispose\",\n value: function dispose() {\n this.removeClasses([Classes.HIDDEN, Classes.VISIBLE, Classes.SHUFFLE_ITEM]);\n this.element.removeAttribute('style');\n this.element = null;\n }\n }]);\n\n return ShuffleItem;\n}();\n\nShuffleItem.Css = {\n INITIAL: {\n position: 'absolute',\n top: 0,\n visibility: 'visible',\n willChange: 'transform'\n },\n DIRECTION: {\n ltr: {\n left: 0\n },\n rtl: {\n right: 0\n }\n },\n VISIBLE: {\n before: {\n opacity: 1,\n visibility: 'visible'\n },\n after: {\n transitionDelay: ''\n }\n },\n HIDDEN: {\n before: {\n opacity: 0\n },\n after: {\n visibility: 'hidden',\n transitionDelay: ''\n }\n }\n};\nShuffleItem.Scale = {\n VISIBLE: 1,\n HIDDEN: 0.001\n};\nvar value = null;\n\nvar testComputedSize = function testComputedSize() {\n if (value !== null) {\n return value;\n }\n\n var element = document.body || document.documentElement;\n var e = document.createElement('div');\n e.style.cssText = 'width:10px;padding:2px;box-sizing:border-box;';\n element.appendChild(e);\n\n var _window$getComputedSt = window.getComputedStyle(e, null),\n width = _window$getComputedSt.width; // Fix for issue #314\n\n\n value = Math.round(getNumber(width)) === 10;\n element.removeChild(e);\n return value;\n};\n/**\n * Retrieve the computed style for an element, parsed as a float.\n * @param {Element} element Element to get style for.\n * @param {string} style Style property.\n * @param {CSSStyleDeclaration} [styles] Optionally include clean styles to\n * use instead of asking for them again.\n * @return {number} The parsed computed value or zero if that fails because IE\n * will return 'auto' when the element doesn't have margins instead of\n * the computed style.\n */\n\n\nfunction getNumberStyle(element, style) {\n var styles = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : window.getComputedStyle(element, null);\n var value = getNumber(styles[style]); // Support IE<=11 and W3C spec.\n\n if (!testComputedSize() && style === 'width') {\n value += getNumber(styles.paddingLeft) + getNumber(styles.paddingRight) + getNumber(styles.borderLeftWidth) + getNumber(styles.borderRightWidth);\n } else if (!testComputedSize() && style === 'height') {\n value += getNumber(styles.paddingTop) + getNumber(styles.paddingBottom) + getNumber(styles.borderTopWidth) + getNumber(styles.borderBottomWidth);\n }\n\n return value;\n}\n/**\n * Fisher-Yates shuffle.\n * http://stackoverflow.com/a/962890/373422\n * https://bost.ocks.org/mike/shuffle/\n * @param {Array} array Array to shuffle.\n * @return {Array} Randomly sorted array.\n */\n\n\nfunction randomize(array) {\n var n = array.length;\n\n while (n) {\n n -= 1;\n var i = Math.floor(Math.random() * (n + 1));\n var temp = array[i];\n array[i] = array[n];\n array[n] = temp;\n }\n\n return array;\n}\n\nvar defaults = {\n // Use array.reverse() to reverse the results\n reverse: false,\n // Sorting function\n by: null,\n // Custom sort function\n compare: null,\n // If true, this will skip the sorting and return a randomized order in the array\n randomize: false,\n // Determines which property of each item in the array is passed to the\n // sorting method.\n key: 'element'\n};\n/**\n * You can return `undefined` from the `by` function to revert to DOM order.\n * @param {Array} arr Array to sort.\n * @param {SortOptions} options Sorting options.\n * @return {Array}\n */\n\nfunction sorter(arr, options) {\n var opts = _objectSpread(_objectSpread({}, defaults), options);\n\n var original = Array.from(arr);\n var revert = false;\n\n if (!arr.length) {\n return [];\n }\n\n if (opts.randomize) {\n return randomize(arr);\n } // Sort the elements by the opts.by function.\n // If we don't have opts.by, default to DOM order\n\n\n if (typeof opts.by === 'function') {\n arr.sort(function (a, b) {\n // Exit early if we already know we want to revert\n if (revert) {\n return 0;\n }\n\n var valA = opts.by(a[opts.key]);\n var valB = opts.by(b[opts.key]); // If both values are undefined, use the DOM order\n\n if (valA === undefined && valB === undefined) {\n revert = true;\n return 0;\n }\n\n if (valA < valB || valA === 'sortFirst' || valB === 'sortLast') {\n return -1;\n }\n\n if (valA > valB || valA === 'sortLast' || valB === 'sortFirst') {\n return 1;\n }\n\n return 0;\n });\n } else if (typeof opts.compare === 'function') {\n arr.sort(opts.compare);\n } // Revert to the original array if necessary\n\n\n if (revert) {\n return original;\n }\n\n if (opts.reverse) {\n arr.reverse();\n }\n\n return arr;\n}\n\nvar transitions = {};\nvar eventName = 'transitionend';\nvar count = 0;\n\nfunction uniqueId() {\n count += 1;\n return eventName + count;\n}\n\nfunction cancelTransitionEnd(id) {\n if (transitions[id]) {\n transitions[id].element.removeEventListener(eventName, transitions[id].listener);\n transitions[id] = null;\n return true;\n }\n\n return false;\n}\n\nfunction onTransitionEnd(element, callback) {\n var id = uniqueId();\n\n var listener = function listener(evt) {\n if (evt.currentTarget === evt.target) {\n cancelTransitionEnd(id);\n callback(evt);\n }\n };\n\n element.addEventListener(eventName, listener);\n transitions[id] = {\n element: element,\n listener: listener\n };\n return id;\n}\n\nfunction arrayMax(array) {\n return Math.max.apply(Math, _toConsumableArray(array));\n}\n\nfunction arrayMin(array) {\n return Math.min.apply(Math, _toConsumableArray(array));\n}\n/**\n * Determine the number of columns an items spans.\n * @param {number} itemWidth Width of the item.\n * @param {number} columnWidth Width of the column (includes gutter).\n * @param {number} columns Total number of columns\n * @param {number} threshold A buffer value for the size of the column to fit.\n * @return {number}\n */\n\n\nfunction getColumnSpan(itemWidth, columnWidth, columns, threshold) {\n var columnSpan = itemWidth / columnWidth; // If the difference between the rounded column span number and the\n // calculated column span number is really small, round the number to\n // make it fit.\n\n if (Math.abs(Math.round(columnSpan) - columnSpan) < threshold) {\n // e.g. columnSpan = 4.0089945390298745\n columnSpan = Math.round(columnSpan);\n } // Ensure the column span is not more than the amount of columns in the whole layout.\n\n\n return Math.min(Math.ceil(columnSpan), columns);\n}\n/**\n * Retrieves the column set to use for placement.\n * @param {number} columnSpan The number of columns this current item spans.\n * @param {number} columns The total columns in the grid.\n * @return {Array.} An array of numbers represeting the column set.\n */\n\n\nfunction getAvailablePositions(positions, columnSpan, columns) {\n // The item spans only one column.\n if (columnSpan === 1) {\n return positions;\n } // The item spans more than one column, figure out how many different\n // places it could fit horizontally.\n // The group count is the number of places within the positions this block\n // could fit, ignoring the current positions of items.\n // Imagine a 2 column brick as the second item in a 4 column grid with\n // 10px height each. Find the places it would fit:\n // [20, 10, 10, 0]\n // | | |\n // * * *\n //\n // Then take the places which fit and get the bigger of the two:\n // max([20, 10]), max([10, 10]), max([10, 0]) = [20, 10, 10]\n //\n // Next, find the first smallest number (the short column).\n // [20, 10, 10]\n // |\n // *\n //\n // And that's where it should be placed!\n //\n // Another example where the second column's item extends past the first:\n // [10, 20, 10, 0] => [20, 20, 10] => 10\n\n\n var available = []; // For how many possible positions for this item there are.\n\n for (var i = 0; i <= columns - columnSpan; i++) {\n // Find the bigger value for each place it could fit.\n available.push(arrayMax(positions.slice(i, i + columnSpan)));\n }\n\n return available;\n}\n/**\n * Find index of short column, the first from the left where this item will go.\n *\n * @param {Array.} positions The array to search for the smallest number.\n * @param {number} buffer Optional buffer which is very useful when the height\n * is a percentage of the width.\n * @return {number} Index of the short column.\n */\n\n\nfunction getShortColumn(positions, buffer) {\n var minPosition = arrayMin(positions);\n\n for (var i = 0, len = positions.length; i < len; i++) {\n if (positions[i] >= minPosition - buffer && positions[i] <= minPosition + buffer) {\n return i;\n }\n }\n\n return 0;\n}\n/**\n * Determine the location of the next item, based on its size.\n * @param {Object} itemSize Object with width and height.\n * @param {Array.} positions Positions of the other current items.\n * @param {number} gridSize The column width or row height.\n * @param {number} total The total number of columns or rows.\n * @param {number} threshold Buffer value for the column to fit.\n * @param {number} buffer Vertical buffer for the height of items.\n * @return {Point}\n */\n\n\nfunction getItemPosition(_ref) {\n var itemSize = _ref.itemSize,\n positions = _ref.positions,\n gridSize = _ref.gridSize,\n total = _ref.total,\n threshold = _ref.threshold,\n buffer = _ref.buffer;\n var span = getColumnSpan(itemSize.width, gridSize, total, threshold);\n var setY = getAvailablePositions(positions, span, total);\n var shortColumnIndex = getShortColumn(setY, buffer); // Position the item\n\n var point = new Point(gridSize * shortColumnIndex, setY[shortColumnIndex]); // Update the columns array with the new values for each column.\n // e.g. before the update the columns could be [250, 0, 0, 0] for an item\n // which spans 2 columns. After it would be [250, itemHeight, itemHeight, 0].\n\n var setHeight = setY[shortColumnIndex] + itemSize.height;\n\n for (var i = 0; i < span; i++) {\n positions[shortColumnIndex + i] = setHeight;\n }\n\n return point;\n}\n/**\n * This method attempts to center items. This method could potentially be slow\n * with a large number of items because it must place items, then check every\n * previous item to ensure there is no overlap.\n * @param {Array.} itemRects Item data objects.\n * @param {number} containerWidth Width of the containing element.\n * @return {Array.}\n */\n\n\nfunction getCenteredPositions(itemRects, containerWidth) {\n var rowMap = {}; // Populate rows by their offset because items could jump between rows like:\n // a c\n // bbb\n\n itemRects.forEach(function (itemRect) {\n if (rowMap[itemRect.top]) {\n // Push the point to the last row array.\n rowMap[itemRect.top].push(itemRect);\n } else {\n // Start of a new row.\n rowMap[itemRect.top] = [itemRect];\n }\n }); // For each row, find the end of the last item, then calculate\n // the remaining space by dividing it by 2. Then add that\n // offset to the x position of each point.\n\n var rects = [];\n var rows = [];\n var centeredRows = [];\n Object.keys(rowMap).forEach(function (key) {\n var itemRects = rowMap[key];\n rows.push(itemRects);\n var lastItem = itemRects[itemRects.length - 1];\n var end = lastItem.left + lastItem.width;\n var offset = Math.round((containerWidth - end) / 2);\n var finalRects = itemRects;\n var canMove = false;\n\n if (offset > 0) {\n var newRects = [];\n canMove = itemRects.every(function (r) {\n var newRect = new Rect(r.left + offset, r.top, r.width, r.height, r.id); // Check all current rects to make sure none overlap.\n\n var noOverlap = !rects.some(function (r) {\n return Rect.intersects(newRect, r);\n });\n newRects.push(newRect);\n return noOverlap;\n }); // If none of the rectangles overlapped, the whole group can be centered.\n\n if (canMove) {\n finalRects = newRects;\n }\n } // If the items are not going to be offset, ensure that the original\n // placement for this row will not overlap previous rows (row-spanning\n // elements could be in the way).\n\n\n if (!canMove) {\n var intersectingRect;\n var hasOverlap = itemRects.some(function (itemRect) {\n return rects.some(function (r) {\n var intersects = Rect.intersects(itemRect, r);\n\n if (intersects) {\n intersectingRect = r;\n }\n\n return intersects;\n });\n }); // If there is any overlap, replace the overlapping row with the original.\n\n if (hasOverlap) {\n var rowIndex = centeredRows.findIndex(function (items) {\n return items.includes(intersectingRect);\n });\n centeredRows.splice(rowIndex, 1, rows[rowIndex]);\n }\n }\n\n rects = rects.concat(finalRects);\n centeredRows.push(finalRects);\n }); // Reduce array of arrays to a single array of points.\n // https://stackoverflow.com/a/10865042/373422\n // Then reset sort back to how the items were passed to this method.\n // Remove the wrapper object with index, map to a Point.\n\n return centeredRows.flat().sort(function (a, b) {\n return a.id - b.id;\n }).map(function (itemRect) {\n return new Point(itemRect.left, itemRect.top);\n });\n}\n/**\n * Hyphenates a javascript style string to a css one. For example:\n * MozBoxSizing -> -moz-box-sizing.\n * @param {string} str The string to hyphenate.\n * @return {string} The hyphenated string.\n */\n\n\nfunction hyphenate(str) {\n return str.replace(/([A-Z])/g, function (str, m1) {\n return \"-\".concat(m1.toLowerCase());\n });\n}\n\nfunction arrayUnique(x) {\n return Array.from(new Set(x));\n} // Used for unique instance variables\n\n\nvar id = 0;\n\nvar Shuffle = /*#__PURE__*/function (_TinyEmitter) {\n _inherits(Shuffle, _TinyEmitter);\n\n var _super = _createSuper(Shuffle);\n\n /**\n * Categorize, sort, and filter a responsive grid of items.\n *\n * @param {Element} element An element which is the parent container for the grid items.\n * @param {Object} [options=Shuffle.options] Options object.\n * @constructor\n */\n function Shuffle(element) {\n var _this4;\n\n _classCallCheck(this, Shuffle);\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _this4 = _super.call(this);\n _this4.options = _objectSpread(_objectSpread({}, Shuffle.options), options);\n _this4.lastSort = {};\n _this4.group = Shuffle.ALL_ITEMS;\n _this4.lastFilter = Shuffle.ALL_ITEMS;\n _this4.isEnabled = true;\n _this4.isDestroyed = false;\n _this4.isInitialized = false;\n _this4._transitions = [];\n _this4.isTransitioning = false;\n _this4._queue = [];\n\n var el = _this4._getElementOption(element);\n\n if (!el) {\n throw new TypeError('Shuffle needs to be initialized with an element.');\n }\n\n _this4.element = el;\n _this4.id = 'shuffle_' + id;\n id += 1;\n\n _this4._init();\n\n _this4.isInitialized = true;\n return _this4;\n }\n\n _createClass(Shuffle, [{\n key: \"_init\",\n value: function _init() {\n this.items = this._getItems();\n this.sortedItems = this.items;\n this.options.sizer = this._getElementOption(this.options.sizer); // Add class and invalidate styles\n\n this.element.classList.add(Shuffle.Classes.BASE); // Set initial css for each item\n\n this._initItems(this.items); // If the page has not already emitted the `load` event, call layout on load.\n // This avoids layout issues caused by images and fonts loading after the\n // instance has been initialized.\n\n\n if (document.readyState !== 'complete') {\n var layout = this.layout.bind(this);\n window.addEventListener('load', function onLoad() {\n window.removeEventListener('load', onLoad);\n layout();\n });\n } // Get container css all in one request. Causes reflow\n\n\n var containerCss = window.getComputedStyle(this.element, null);\n var containerWidth = Shuffle.getSize(this.element).width; // Add styles to the container if it doesn't have them.\n\n this._validateStyles(containerCss); // We already got the container's width above, no need to cause another\n // reflow getting it again... Calculate the number of columns there will be\n\n\n this._setColumns(containerWidth); // Kick off!\n\n\n this.filter(this.options.group, this.options.initialSort); // Bind resize events\n\n this._rafId = null; // This is true for all supported browsers, but just to be safe, avoid throwing\n // an error if ResizeObserver is not present. You can manually add a window resize\n // event and call `update()` if ResizeObserver is missing, or use Shuffle v5.\n\n if ('ResizeObserver' in window) {\n this._resizeObserver = new ResizeObserver(this._handleResizeCallback.bind(this));\n\n this._resizeObserver.observe(this.element);\n } // The shuffle items haven't had transitions set on them yet so the user\n // doesn't see the first layout. Set them now that the first layout is done.\n // First, however, a synchronous layout must be caused for the previous\n // styles to be applied without transitions.\n\n\n this.element.offsetWidth; // eslint-disable-line no-unused-expressions\n\n this.setItemTransitions(this.items);\n this.element.style.transition = \"height \".concat(this.options.speed, \"ms \").concat(this.options.easing);\n }\n /**\n * Retrieve an element from an option.\n * @param {string|jQuery|Element} option The option to check.\n * @return {?Element} The plain element or null.\n * @private\n */\n\n }, {\n key: \"_getElementOption\",\n value: function _getElementOption(option) {\n // If column width is a string, treat is as a selector and search for the\n // sizer element within the outermost container\n if (typeof option === 'string') {\n return this.element.querySelector(option);\n } // Check for an element\n\n\n if (option && option.nodeType && option.nodeType === 1) {\n return option;\n } // Check for jQuery object\n\n\n if (option && option.jquery) {\n return option[0];\n }\n\n return null;\n }\n /**\n * Ensures the shuffle container has the css styles it needs applied to it.\n * @param {Object} styles Key value pairs for position and overflow.\n * @private\n */\n\n }, {\n key: \"_validateStyles\",\n value: function _validateStyles(styles) {\n // Position cannot be static.\n if (styles.position === 'static') {\n this.element.style.position = 'relative';\n } // Overflow has to be hidden.\n\n\n if (styles.overflow !== 'hidden') {\n this.element.style.overflow = 'hidden';\n }\n }\n /**\n * Filter the elements by a category.\n * @param {string|string[]|function(Element):boolean} [category] Category to\n * filter by. If it's given, the last category will be used to filter the items.\n * @param {Array} [collection] Optionally filter a collection. Defaults to\n * all the items.\n * @return {{visible: ShuffleItem[], hidden: ShuffleItem[]}}\n * @private\n */\n\n }, {\n key: \"_filter\",\n value: function _filter() {\n var category = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.lastFilter;\n var collection = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.items;\n\n var set = this._getFilteredSets(category, collection); // Individually add/remove hidden/visible classes\n\n\n this._toggleFilterClasses(set); // Save the last filter in case elements are appended.\n\n\n this.lastFilter = category; // This is saved mainly because providing a filter function (like searching)\n // will overwrite the `lastFilter` property every time its called.\n\n if (typeof category === 'string') {\n this.group = category;\n }\n\n return set;\n }\n /**\n * Returns an object containing the visible and hidden elements.\n * @param {string|string[]|function(Element):boolean} category Category or function to filter by.\n * @param {ShuffleItem[]} items A collection of items to filter.\n * @return {{visible: ShuffleItem[], hidden: ShuffleItem[]}}\n * @private\n */\n\n }, {\n key: \"_getFilteredSets\",\n value: function _getFilteredSets(category, items) {\n var _this5 = this;\n\n var visible = [];\n var hidden = []; // category === 'all', add visible class to everything\n\n if (category === Shuffle.ALL_ITEMS) {\n visible = items; // Loop through each item and use provided function to determine\n // whether to hide it or not.\n } else {\n items.forEach(function (item) {\n if (_this5._doesPassFilter(category, item.element)) {\n visible.push(item);\n } else {\n hidden.push(item);\n }\n });\n }\n\n return {\n visible: visible,\n hidden: hidden\n };\n }\n /**\n * Test an item to see if it passes a category.\n * @param {string|string[]|function():boolean} category Category or function to filter by.\n * @param {Element} element An element to test.\n * @return {boolean} Whether it passes the category/filter.\n * @private\n */\n\n }, {\n key: \"_doesPassFilter\",\n value: function _doesPassFilter(category, element) {\n if (typeof category === 'function') {\n return category.call(element, element, this);\n } // Check each element's data-groups attribute against the given category.\n\n\n var attr = element.dataset[Shuffle.FILTER_ATTRIBUTE_KEY];\n var keys = this.options.delimiter ? attr.split(this.options.delimiter) : JSON.parse(attr);\n\n function testCategory(category) {\n return keys.includes(category);\n }\n\n if (Array.isArray(category)) {\n if (this.options.filterMode === Shuffle.FilterMode.ANY) {\n return category.some(testCategory);\n }\n\n return category.every(testCategory);\n }\n\n return keys.includes(category);\n }\n /**\n * Toggles the visible and hidden class names.\n * @param {{visible, hidden}} Object with visible and hidden arrays.\n * @private\n */\n\n }, {\n key: \"_toggleFilterClasses\",\n value: function _toggleFilterClasses(_ref) {\n var visible = _ref.visible,\n hidden = _ref.hidden;\n visible.forEach(function (item) {\n item.show();\n });\n hidden.forEach(function (item) {\n item.hide();\n });\n }\n /**\n * Set the initial css for each item\n * @param {ShuffleItem[]} items Set to initialize.\n * @private\n */\n\n }, {\n key: \"_initItems\",\n value: function _initItems(items) {\n items.forEach(function (item) {\n item.init();\n });\n }\n /**\n * Remove element reference and styles.\n * @param {ShuffleItem[]} items Set to dispose.\n * @private\n */\n\n }, {\n key: \"_disposeItems\",\n value: function _disposeItems(items) {\n items.forEach(function (item) {\n item.dispose();\n });\n }\n /**\n * Updates the visible item count.\n * @private\n */\n\n }, {\n key: \"_updateItemCount\",\n value: function _updateItemCount() {\n this.visibleItems = this._getFilteredItems().length;\n }\n /**\n * Sets css transform transition on a group of elements. This is not executed\n * at the same time as `item.init` so that transitions don't occur upon\n * initialization of a new Shuffle instance.\n * @param {ShuffleItem[]} items Shuffle items to set transitions on.\n * @protected\n */\n\n }, {\n key: \"setItemTransitions\",\n value: function setItemTransitions(items) {\n var _this$options = this.options,\n speed = _this$options.speed,\n easing = _this$options.easing;\n var positionProps = this.options.useTransforms ? ['transform'] : ['top', 'left']; // Allow users to transtion other properties if they exist in the `before`\n // css mapping of the shuffle item.\n\n var cssProps = Object.keys(ShuffleItem.Css.HIDDEN.before).map(function (k) {\n return hyphenate(k);\n });\n var properties = positionProps.concat(cssProps).join();\n items.forEach(function (item) {\n item.element.style.transitionDuration = speed + 'ms';\n item.element.style.transitionTimingFunction = easing;\n item.element.style.transitionProperty = properties;\n });\n }\n }, {\n key: \"_getItems\",\n value: function _getItems() {\n var _this6 = this;\n\n return Array.from(this.element.children).filter(function (el) {\n return el.matches(_this6.options.itemSelector);\n }).map(function (el) {\n return new ShuffleItem(el, _this6.options.isRTL);\n });\n }\n /**\n * Combine the current items array with a new one and sort it by DOM order.\n * @param {ShuffleItem[]} items Items to track.\n * @return {ShuffleItem[]}\n */\n\n }, {\n key: \"_mergeNewItems\",\n value: function _mergeNewItems(items) {\n var children = Array.from(this.element.children);\n return sorter(this.items.concat(items), {\n by: function by(element) {\n return children.indexOf(element);\n }\n });\n }\n }, {\n key: \"_getFilteredItems\",\n value: function _getFilteredItems() {\n return this.items.filter(function (item) {\n return item.isVisible;\n });\n }\n }, {\n key: \"_getConcealedItems\",\n value: function _getConcealedItems() {\n return this.items.filter(function (item) {\n return !item.isVisible;\n });\n }\n /**\n * Returns the column size, based on column width and sizer options.\n * @param {number} containerWidth Size of the parent container.\n * @param {number} gutterSize Size of the gutters.\n * @return {number}\n * @private\n */\n\n }, {\n key: \"_getColumnSize\",\n value: function _getColumnSize(containerWidth, gutterSize) {\n var size; // If the columnWidth property is a function, then the grid is fluid\n\n if (typeof this.options.columnWidth === 'function') {\n size = this.options.columnWidth(containerWidth); // columnWidth option isn't a function, are they using a sizing element?\n } else if (this.options.sizer) {\n size = Shuffle.getSize(this.options.sizer).width; // if not, how about the explicitly set option?\n } else if (this.options.columnWidth) {\n size = this.options.columnWidth; // or use the size of the first item\n } else if (this.items.length > 0) {\n size = Shuffle.getSize(this.items[0].element, true).width; // if there's no items, use size of container\n } else {\n size = containerWidth;\n } // Don't let them set a column width of zero.\n\n\n if (size === 0) {\n size = containerWidth;\n }\n\n return size + gutterSize;\n }\n /**\n * Returns the gutter size, based on gutter width and sizer options.\n * @param {number} containerWidth Size of the parent container.\n * @return {number}\n * @private\n */\n\n }, {\n key: \"_getGutterSize\",\n value: function _getGutterSize(containerWidth) {\n var size;\n\n if (typeof this.options.gutterWidth === 'function') {\n size = this.options.gutterWidth(containerWidth);\n } else if (this.options.sizer) {\n size = getNumberStyle(this.options.sizer, 'marginLeft');\n } else {\n size = this.options.gutterWidth;\n }\n\n return size;\n }\n /**\n * Calculate the number of columns to be used. Gets css if using sizer element.\n * @param {number} [containerWidth] Optionally specify a container width if\n * it's already available.\n */\n\n }, {\n key: \"_setColumns\",\n value: function _setColumns() {\n var containerWidth = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : Shuffle.getSize(this.element).width;\n\n var gutter = this._getGutterSize(containerWidth);\n\n var columnWidth = this._getColumnSize(containerWidth, gutter);\n\n var calculatedColumns = (containerWidth + gutter) / columnWidth; // Widths given from getStyles are not precise enough...\n\n if (Math.abs(Math.round(calculatedColumns) - calculatedColumns) < this.options.columnThreshold) {\n // e.g. calculatedColumns = 11.998876\n calculatedColumns = Math.round(calculatedColumns);\n }\n\n this.cols = Math.max(Math.floor(calculatedColumns || 0), 1);\n this.containerWidth = containerWidth;\n this.colWidth = columnWidth;\n }\n /**\n * Adjust the height of the grid\n */\n\n }, {\n key: \"_setContainerSize\",\n value: function _setContainerSize() {\n this.element.style.height = this._getContainerSize() + 'px';\n }\n /**\n * Based on the column heights, it returns the biggest one.\n * @return {number}\n * @private\n */\n\n }, {\n key: \"_getContainerSize\",\n value: function _getContainerSize() {\n return arrayMax(this.positions);\n }\n /**\n * Get the clamped stagger amount.\n * @param {number} index Index of the item to be staggered.\n * @return {number}\n */\n\n }, {\n key: \"_getStaggerAmount\",\n value: function _getStaggerAmount(index) {\n return Math.min(index * this.options.staggerAmount, this.options.staggerAmountMax);\n }\n /**\n * Emit an event from this instance.\n * @param {string} name Event name.\n * @param {Object} [data={}] Optional object data.\n */\n\n }, {\n key: \"_dispatch\",\n value: function _dispatch(name) {\n var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (this.isDestroyed) {\n return;\n }\n\n data.shuffle = this;\n this.emit(name, data);\n }\n /**\n * Zeros out the y columns array, which is used to determine item placement.\n * @private\n */\n\n }, {\n key: \"_resetCols\",\n value: function _resetCols() {\n var i = this.cols;\n this.positions = [];\n\n while (i) {\n i -= 1;\n this.positions.push(0);\n }\n }\n /**\n * Loops through each item that should be shown and calculates the x, y position.\n * @param {ShuffleItem[]} items Array of items that will be shown/layed\n * out in order in their array.\n */\n\n }, {\n key: \"_layout\",\n value: function _layout(items) {\n var _this7 = this;\n\n var itemPositions = this._getNextPositions(items);\n\n var count = 0;\n items.forEach(function (item, i) {\n function callback() {\n item.applyCss(ShuffleItem.Css.VISIBLE.after);\n } // If the item will not change its position, do not add it to the render\n // queue. Transitions don't fire when setting a property to the same value.\n\n\n if (Point.equals(item.point, itemPositions[i]) && !item.isHidden) {\n item.applyCss(ShuffleItem.Css.VISIBLE.before);\n callback();\n return;\n }\n\n item.point = itemPositions[i];\n item.scale = ShuffleItem.Scale.VISIBLE;\n item.isHidden = false; // Clone the object so that the `before` object isn't modified when the\n // transition delay is added.\n\n var styles = _this7.getStylesForTransition(item, ShuffleItem.Css.VISIBLE.before);\n\n styles.transitionDelay = _this7._getStaggerAmount(count) + 'ms';\n\n _this7._queue.push({\n item: item,\n styles: styles,\n callback: callback\n });\n\n count += 1;\n });\n }\n /**\n * Return an array of Point instances representing the future positions of\n * each item.\n * @param {ShuffleItem[]} items Array of sorted shuffle items.\n * @return {Point[]}\n * @private\n */\n\n }, {\n key: \"_getNextPositions\",\n value: function _getNextPositions(items) {\n var _this8 = this;\n\n // If position data is going to be changed, add the item's size to the\n // transformer to allow for calculations.\n if (this.options.isCentered) {\n var itemsData = items.map(function (item, i) {\n var itemSize = Shuffle.getSize(item.element, true);\n\n var point = _this8._getItemPosition(itemSize);\n\n return new Rect(point.x, point.y, itemSize.width, itemSize.height, i);\n });\n return this.getTransformedPositions(itemsData, this.containerWidth);\n } // If no transforms are going to happen, simply return an array of the\n // future points of each item.\n\n\n return items.map(function (item) {\n return _this8._getItemPosition(Shuffle.getSize(item.element, true));\n });\n }\n /**\n * Determine the location of the next item, based on its size.\n * @param {{width: number, height: number}} itemSize Object with width and height.\n * @return {Point}\n * @private\n */\n\n }, {\n key: \"_getItemPosition\",\n value: function _getItemPosition(itemSize) {\n return getItemPosition({\n itemSize: itemSize,\n positions: this.positions,\n gridSize: this.colWidth,\n total: this.cols,\n threshold: this.options.columnThreshold,\n buffer: this.options.buffer\n });\n }\n /**\n * Mutate positions before they're applied.\n * @param {Rect[]} itemRects Item data objects.\n * @param {number} containerWidth Width of the containing element.\n * @return {Point[]}\n * @protected\n */\n\n }, {\n key: \"getTransformedPositions\",\n value: function getTransformedPositions(itemRects, containerWidth) {\n return getCenteredPositions(itemRects, containerWidth);\n }\n /**\n * Hides the elements that don't match our filter.\n * @param {ShuffleItem[]} collection Collection to shrink.\n * @private\n */\n\n }, {\n key: \"_shrink\",\n value: function _shrink() {\n var _this9 = this;\n\n var collection = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this._getConcealedItems();\n var count = 0;\n collection.forEach(function (item) {\n function callback() {\n item.applyCss(ShuffleItem.Css.HIDDEN.after);\n } // Continuing would add a transitionend event listener to the element, but\n // that listener would not execute because the transform and opacity would\n // stay the same.\n // The callback is executed here because it is not guaranteed to be called\n // after the transitionend event because the transitionend could be\n // canceled if another animation starts.\n\n\n if (item.isHidden) {\n item.applyCss(ShuffleItem.Css.HIDDEN.before);\n callback();\n return;\n }\n\n item.scale = ShuffleItem.Scale.HIDDEN;\n item.isHidden = true;\n\n var styles = _this9.getStylesForTransition(item, ShuffleItem.Css.HIDDEN.before);\n\n styles.transitionDelay = _this9._getStaggerAmount(count) + 'ms';\n\n _this9._queue.push({\n item: item,\n styles: styles,\n callback: callback\n });\n\n count += 1;\n });\n }\n /**\n * Resize handler.\n * @param {ResizeObserverEntry[]} entries\n */\n\n }, {\n key: \"_handleResizeCallback\",\n value: function _handleResizeCallback(entries) {\n // If shuffle is disabled, destroyed, don't do anything.\n // You can still manually force a shuffle update with shuffle.update({ force: true }).\n if (!this.isEnabled || this.isDestroyed) {\n return;\n } // The reason ESLint disables this is because for..of generates a lot of extra\n // code using Babel, but Shuffle no longer supports browsers that old, so\n // nothing to worry about.\n // eslint-disable-next-line no-restricted-syntax\n\n\n var _iterator = _createForOfIteratorHelper(entries),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var entry = _step.value;\n\n if (Math.round(entry.contentRect.width) !== Math.round(this.containerWidth)) {\n // If there was already an animation waiting, cancel it.\n cancelAnimationFrame(this._rafId); // Offload updating the DOM until the browser is ready.\n\n this._rafId = requestAnimationFrame(this.update.bind(this));\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n /**\n * Returns styles which will be applied to the an item for a transition.\n * @param {ShuffleItem} item Item to get styles for. Should have updated\n * scale and point properties.\n * @param {Object} styleObject Extra styles that will be used in the transition.\n * @return {!Object} Transforms for transitions, left/top for animate.\n * @protected\n */\n\n }, {\n key: \"getStylesForTransition\",\n value: function getStylesForTransition(item, styleObject) {\n // Clone the object to avoid mutating the original.\n var styles = _objectSpread({}, styleObject);\n\n if (this.options.useTransforms) {\n var sign = this.options.isRTL ? '-' : '';\n var x = this.options.roundTransforms ? Math.round(item.point.x) : item.point.x;\n var y = this.options.roundTransforms ? Math.round(item.point.y) : item.point.y;\n styles.transform = \"translate(\".concat(sign).concat(x, \"px, \").concat(y, \"px) scale(\").concat(item.scale, \")\");\n } else {\n if (this.options.isRTL) {\n styles.right = item.point.x + 'px';\n } else {\n styles.left = item.point.x + 'px';\n }\n\n styles.top = item.point.y + 'px';\n }\n\n return styles;\n }\n /**\n * Listen for the transition end on an element and execute the itemCallback\n * when it finishes.\n * @param {Element} element Element to listen on.\n * @param {function} itemCallback Callback for the item.\n * @param {function} done Callback to notify `parallel` that this one is done.\n */\n\n }, {\n key: \"_whenTransitionDone\",\n value: function _whenTransitionDone(element, itemCallback, done) {\n var id = onTransitionEnd(element, function (evt) {\n itemCallback();\n done(null, evt);\n });\n\n this._transitions.push(id);\n }\n /**\n * Return a function which will set CSS styles and call the `done` function\n * when (if) the transition finishes.\n * @param {Object} opts Transition object.\n * @return {function} A function to be called with a `done` function.\n */\n\n }, {\n key: \"_getTransitionFunction\",\n value: function _getTransitionFunction(opts) {\n var _this10 = this;\n\n return function (done) {\n opts.item.applyCss(opts.styles);\n\n _this10._whenTransitionDone(opts.item.element, opts.callback, done);\n };\n }\n /**\n * Execute the styles gathered in the style queue. This applies styles to elements,\n * triggering transitions.\n * @private\n */\n\n }, {\n key: \"_processQueue\",\n value: function _processQueue() {\n if (this.isTransitioning) {\n this._cancelMovement();\n }\n\n var hasSpeed = this.options.speed > 0;\n var hasQueue = this._queue.length > 0;\n\n if (hasQueue && hasSpeed && this.isInitialized) {\n this._startTransitions(this._queue);\n } else if (hasQueue) {\n this._styleImmediately(this._queue);\n\n this._dispatch(Shuffle.EventType.LAYOUT); // A call to layout happened, but none of the newly visible items will\n // change position or the transition duration is zero, which will not trigger\n // the transitionend event.\n\n } else {\n this._dispatch(Shuffle.EventType.LAYOUT);\n } // Remove everything in the style queue\n\n\n this._queue.length = 0;\n }\n /**\n * Wait for each transition to finish, the emit the layout event.\n * @param {Object[]} transitions Array of transition objects.\n */\n\n }, {\n key: \"_startTransitions\",\n value: function _startTransitions(transitions) {\n var _this11 = this;\n\n // Set flag that shuffle is currently in motion.\n this.isTransitioning = true; // Create an array of functions to be called.\n\n var callbacks = transitions.map(function (obj) {\n return _this11._getTransitionFunction(obj);\n });\n arrayParallel(callbacks, this._movementFinished.bind(this));\n }\n }, {\n key: \"_cancelMovement\",\n value: function _cancelMovement() {\n // Remove the transition end event for each listener.\n this._transitions.forEach(cancelTransitionEnd); // Reset the array.\n\n\n this._transitions.length = 0; // Show it's no longer active.\n\n this.isTransitioning = false;\n }\n /**\n * Apply styles without a transition.\n * @param {Object[]} objects Array of transition objects.\n * @private\n */\n\n }, {\n key: \"_styleImmediately\",\n value: function _styleImmediately(objects) {\n if (objects.length) {\n var elements = objects.map(function (obj) {\n return obj.item.element;\n });\n\n Shuffle._skipTransitions(elements, function () {\n objects.forEach(function (obj) {\n obj.item.applyCss(obj.styles);\n obj.callback();\n });\n });\n }\n }\n }, {\n key: \"_movementFinished\",\n value: function _movementFinished() {\n this._transitions.length = 0;\n this.isTransitioning = false;\n\n this._dispatch(Shuffle.EventType.LAYOUT);\n }\n /**\n * The magic. This is what makes the plugin 'shuffle'\n * @param {string|string[]|function(Element):boolean} [category] Category to filter by.\n * Can be a function, string, or array of strings.\n * @param {SortOptions} [sortOptions] A sort object which can sort the visible set\n */\n\n }, {\n key: \"filter\",\n value: function filter(category, sortOptions) {\n if (!this.isEnabled) {\n return;\n }\n\n if (!category || category && category.length === 0) {\n category = Shuffle.ALL_ITEMS; // eslint-disable-line no-param-reassign\n }\n\n this._filter(category); // Shrink each hidden item\n\n\n this._shrink(); // How many visible elements?\n\n\n this._updateItemCount(); // Update transforms on visible elements so they will animate to their new positions.\n\n\n this.sort(sortOptions);\n }\n /**\n * Gets the visible elements, sorts them, and passes them to layout.\n * @param {SortOptions} [sortOptions] The options object to pass to `sorter`.\n */\n\n }, {\n key: \"sort\",\n value: function sort() {\n var sortOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.lastSort;\n\n if (!this.isEnabled) {\n return;\n }\n\n this._resetCols();\n\n var items = sorter(this._getFilteredItems(), sortOptions);\n this.sortedItems = items;\n\n this._layout(items); // `_layout` always happens after `_shrink`, so it's safe to process the style\n // queue here with styles from the shrink method.\n\n\n this._processQueue(); // Adjust the height of the container.\n\n\n this._setContainerSize();\n\n this.lastSort = sortOptions;\n }\n /**\n * Reposition everything.\n * @param {object} options options object\n * @param {boolean} [options.recalculateSizes=true] Whether to calculate column, gutter, and container widths again.\n * @param {boolean} [options.force=false] By default, `update` does nothing if the instance is disabled. Setting this\n * to true forces the update to happen regardless.\n */\n\n }, {\n key: \"update\",\n value: function update() {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref2$recalculateSize = _ref2.recalculateSizes,\n recalculateSizes = _ref2$recalculateSize === void 0 ? true : _ref2$recalculateSize,\n _ref2$force = _ref2.force,\n force = _ref2$force === void 0 ? false : _ref2$force;\n\n if (this.isEnabled || force) {\n if (recalculateSizes) {\n this._setColumns();\n } // Layout items\n\n\n this.sort();\n }\n }\n /**\n * Use this instead of `update()` if you don't need the columns and gutters updated\n * Maybe an image inside `shuffle` loaded (and now has a height), which means calculations\n * could be off.\n */\n\n }, {\n key: \"layout\",\n value: function layout() {\n this.update({\n recalculateSizes: true\n });\n }\n /**\n * New items have been appended to shuffle. Mix them in with the current\n * filter or sort status.\n * @param {Element[]} newItems Collection of new items.\n */\n\n }, {\n key: \"add\",\n value: function add(newItems) {\n var _this12 = this;\n\n var items = arrayUnique(newItems).map(function (el) {\n return new ShuffleItem(el, _this12.options.isRTL);\n }); // Add classes and set initial positions.\n\n this._initItems(items); // Determine which items will go with the current filter.\n\n\n this._resetCols();\n\n var allItems = this._mergeNewItems(items);\n\n var sortedItems = sorter(allItems, this.lastSort);\n\n var allSortedItemsSet = this._filter(this.lastFilter, sortedItems);\n\n var isNewItem = function isNewItem(item) {\n return items.includes(item);\n };\n\n var applyHiddenState = function applyHiddenState(item) {\n item.scale = ShuffleItem.Scale.HIDDEN;\n item.isHidden = true;\n item.applyCss(ShuffleItem.Css.HIDDEN.before);\n item.applyCss(ShuffleItem.Css.HIDDEN.after);\n }; // Layout all items again so that new items get positions.\n // Synchonously apply positions.\n\n\n var itemPositions = this._getNextPositions(allSortedItemsSet.visible);\n\n allSortedItemsSet.visible.forEach(function (item, i) {\n if (isNewItem(item)) {\n item.point = itemPositions[i];\n applyHiddenState(item);\n item.applyCss(_this12.getStylesForTransition(item, {}));\n }\n });\n allSortedItemsSet.hidden.forEach(function (item) {\n if (isNewItem(item)) {\n applyHiddenState(item);\n }\n }); // Cause layout so that the styles above are applied.\n\n this.element.offsetWidth; // eslint-disable-line no-unused-expressions\n // Add transition to each item.\n\n this.setItemTransitions(items); // Update the list of items.\n\n this.items = this._mergeNewItems(items); // Update layout/visibility of new and old items.\n\n this.filter(this.lastFilter);\n }\n /**\n * Disables shuffle from updating dimensions and layout on resize\n */\n\n }, {\n key: \"disable\",\n value: function disable() {\n this.isEnabled = false;\n }\n /**\n * Enables shuffle again\n * @param {boolean} [isUpdateLayout=true] if undefined, shuffle will update columns and gutters\n */\n\n }, {\n key: \"enable\",\n value: function enable() {\n var isUpdateLayout = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n this.isEnabled = true;\n\n if (isUpdateLayout) {\n this.update();\n }\n }\n /**\n * Remove 1 or more shuffle items.\n * @param {Element[]} elements An array containing one or more\n * elements in shuffle\n * @return {Shuffle} The shuffle instance.\n */\n\n }, {\n key: \"remove\",\n value: function remove(elements) {\n var _this13 = this;\n\n if (!elements.length) {\n return;\n }\n\n var collection = arrayUnique(elements);\n var oldItems = collection.map(function (element) {\n return _this13.getItemByElement(element);\n }).filter(function (item) {\n return !!item;\n });\n\n var handleLayout = function handleLayout() {\n _this13._disposeItems(oldItems); // Remove the collection in the callback\n\n\n collection.forEach(function (element) {\n element.parentNode.removeChild(element);\n });\n\n _this13._dispatch(Shuffle.EventType.REMOVED, {\n collection: collection\n });\n }; // Hide collection first.\n\n\n this._toggleFilterClasses({\n visible: [],\n hidden: oldItems\n });\n\n this._shrink(oldItems);\n\n this.sort(); // Update the list of items here because `remove` could be called again\n // with an item that is in the process of being removed.\n\n this.items = this.items.filter(function (item) {\n return !oldItems.includes(item);\n });\n\n this._updateItemCount();\n\n this.once(Shuffle.EventType.LAYOUT, handleLayout);\n }\n /**\n * Retrieve a shuffle item by its element.\n * @param {Element} element Element to look for.\n * @return {?ShuffleItem} A shuffle item or undefined if it's not found.\n */\n\n }, {\n key: \"getItemByElement\",\n value: function getItemByElement(element) {\n return this.items.find(function (item) {\n return item.element === element;\n });\n }\n /**\n * Dump the elements currently stored and reinitialize all child elements which\n * match the `itemSelector`.\n */\n\n }, {\n key: \"resetItems\",\n value: function resetItems() {\n var _this14 = this;\n\n // Remove refs to current items.\n this._disposeItems(this.items);\n\n this.isInitialized = false; // Find new items in the DOM.\n\n this.items = this._getItems(); // Set initial styles on the new items.\n\n this._initItems(this.items);\n\n this.once(Shuffle.EventType.LAYOUT, function () {\n // Add transition to each item.\n _this14.setItemTransitions(_this14.items);\n\n _this14.isInitialized = true;\n }); // Lay out all items.\n\n this.filter(this.lastFilter);\n }\n /**\n * Destroys shuffle, removes events, styles, and classes\n */\n\n }, {\n key: \"destroy\",\n value: function destroy() {\n this._cancelMovement();\n\n if (this._resizeObserver) {\n this._resizeObserver.unobserve(this.element);\n\n this._resizeObserver = null;\n } // Reset container styles\n\n\n this.element.classList.remove('shuffle');\n this.element.removeAttribute('style'); // Reset individual item styles\n\n this._disposeItems(this.items);\n\n this.items.length = 0;\n this.sortedItems.length = 0;\n this._transitions.length = 0; // Null DOM references\n\n this.options.sizer = null;\n this.element = null; // Set a flag so if a debounced resize has been triggered,\n // it can first check if it is actually isDestroyed and not doing anything\n\n this.isDestroyed = true;\n this.isEnabled = false;\n }\n /**\n * Returns the outer width of an element, optionally including its margins.\n *\n * There are a few different methods for getting the width of an element, none of\n * which work perfectly for all Shuffle's use cases.\n *\n * 1. getBoundingClientRect() `left` and `right` properties.\n * - Accounts for transform scaled elements, making it useless for Shuffle\n * elements which have shrunk.\n * 2. The `offsetWidth` property.\n * - This value stays the same regardless of the elements transform property,\n * however, it does not return subpixel values.\n * 3. getComputedStyle()\n * - This works great Chrome, Firefox, Safari, but IE<=11 does not include\n * padding and border when box-sizing: border-box is set, requiring a feature\n * test and extra work to add the padding back for IE and other browsers which\n * follow the W3C spec here.\n *\n * @param {Element} element The element.\n * @param {boolean} [includeMargins=false] Whether to include margins.\n * @return {{width: number, height: number}} The width and height.\n */\n\n }], [{\n key: \"getSize\",\n value: function getSize(element) {\n var includeMargins = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; // Store the styles so that they can be used by others without asking for it again.\n\n var styles = window.getComputedStyle(element, null);\n var width = getNumberStyle(element, 'width', styles);\n var height = getNumberStyle(element, 'height', styles);\n\n if (includeMargins) {\n var marginLeft = getNumberStyle(element, 'marginLeft', styles);\n var marginRight = getNumberStyle(element, 'marginRight', styles);\n var marginTop = getNumberStyle(element, 'marginTop', styles);\n var marginBottom = getNumberStyle(element, 'marginBottom', styles);\n width += marginLeft + marginRight;\n height += marginTop + marginBottom;\n }\n\n return {\n width: width,\n height: height\n };\n }\n /**\n * Change a property or execute a function which will not have a transition\n * @param {Element[]} elements DOM elements that won't be transitioned.\n * @param {function} callback A function which will be called while transition\n * is set to 0ms.\n * @private\n */\n\n }, {\n key: \"_skipTransitions\",\n value: function _skipTransitions(elements, callback) {\n var zero = '0ms'; // Save current duration and delay.\n\n var data = elements.map(function (element) {\n var style = element.style;\n var duration = style.transitionDuration;\n var delay = style.transitionDelay; // Set the duration to zero so it happens immediately\n\n style.transitionDuration = zero;\n style.transitionDelay = zero;\n return {\n duration: duration,\n delay: delay\n };\n });\n callback(); // Cause forced synchronous layout.\n\n elements[0].offsetWidth; // eslint-disable-line no-unused-expressions\n // Put the duration back\n\n elements.forEach(function (element, i) {\n element.style.transitionDuration = data[i].duration;\n element.style.transitionDelay = data[i].delay;\n });\n }\n }]);\n\n return Shuffle;\n}(TinyEmitter);\n\nShuffle.ShuffleItem = ShuffleItem;\nShuffle.ALL_ITEMS = 'all';\nShuffle.FILTER_ATTRIBUTE_KEY = 'groups';\n/** @enum {string} */\n\nShuffle.EventType = {\n LAYOUT: 'shuffle:layout',\n REMOVED: 'shuffle:removed'\n};\n/** @enum {string} */\n\nShuffle.Classes = Classes;\n/** @enum {string} */\n\nShuffle.FilterMode = {\n ANY: 'any',\n ALL: 'all'\n}; // Overrideable options\n\nShuffle.options = {\n // Initial filter group.\n group: Shuffle.ALL_ITEMS,\n // Transition/animation speed (milliseconds).\n speed: 250,\n // CSS easing function to use.\n easing: 'cubic-bezier(0.4, 0.0, 0.2, 1)',\n // e.g. '.picture-item'.\n itemSelector: '*',\n // Element or selector string. Use an element to determine the size of columns\n // and gutters.\n sizer: null,\n // A static number or function that tells the plugin how wide the gutters\n // between columns are (in pixels).\n gutterWidth: 0,\n // A static number or function that returns a number which tells the plugin\n // how wide the columns are (in pixels).\n columnWidth: 0,\n // If your group is not json, and is comma delimited, you could set delimiter\n // to ','.\n delimiter: null,\n // Useful for percentage based heights when they might not always be exactly\n // the same (in pixels).\n buffer: 0,\n // Reading the width of elements isn't precise enough and can cause columns to\n // jump between values.\n columnThreshold: 0.01,\n // Shuffle can be isInitialized with a sort object. It is the same object\n // given to the sort method.\n initialSort: null,\n // Transition delay offset for each item in milliseconds.\n staggerAmount: 15,\n // Maximum stagger delay in milliseconds.\n staggerAmountMax: 150,\n // Whether to use transforms or absolute positioning.\n useTransforms: true,\n // Affects using an array with filter. e.g. `filter(['one', 'two'])`. With \"any\",\n // the element passes the test if any of its groups are in the array. With \"all\",\n // the element only passes if all groups are in the array.\n // Note, this has no effect if you supply a custom filter function.\n filterMode: Shuffle.FilterMode.ANY,\n // Attempt to center grid items in each row.\n isCentered: false,\n // Attempt to align grid items to right.\n isRTL: false,\n // Whether to round pixel values used in translate(x, y). This usually avoids\n // blurriness.\n roundTransforms: true\n};\nShuffle.Point = Point;\nShuffle.Rect = Rect; // Expose for testing. Hack at your own risk.\n\nShuffle.__sorter = sorter;\nShuffle.__getColumnSpan = getColumnSpan;\nShuffle.__getAvailablePositions = getAvailablePositions;\nShuffle.__getShortColumn = getShortColumn;\nShuffle.__getCenteredPositions = getCenteredPositions;\nexport { Shuffle as default };","import React from \"react\";\nimport {\n\tMDBCardTitle,\n\tMDBCardBody,\n\tMDBCard,\n\tMDBBtn,\n\tMDBIcon,\n\tMDBCol,\n\tMDBRow,\n\tMDBBadge\n} from \"mdbreact\";\nimport { Link } from \"gatsby\";\nimport { FormatDate } from \"../../helpers/formatters\";\n\nexport default function CardAviso({ tipo, name, slug, ultimaModificacao, redirecionamento }) {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{tipo &&\n\t\t\t\t\ttipo?.map((i) => (\n\t\t\t\t\t\t{i}\n\t\t\t\t\t))\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t\t{/* {redirecionamento == null ? */}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{name}\n\t\t\t\t\t\t\n\t\t\t\t\t{/* :\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{name}\n\t\t\t\t\t\t\n\t\t\t\t\t} */}\n\t\t\t\t\n\t\t\t\n\t\t\t
\n\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{\" \"}\n\t\t\t\t\t\t\t{FormatDate(ultimaModificacao)}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{/* {redirecionamento == null ? */}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{\" \"}\n\t\t\t\t\t\t\t\t\t\tAcesse\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{/* :\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{\" \"}\n\t\t\t\t\t\t\t\t\t\tAcesse\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t} */}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t
\n\t\t
\n\t);\n}\n","/* eslint-disable no-undef */\nimport React, { useState } from \"react\";\n//import { Container, Row, Col } from \"react-bootstrap\";\nimport { MDBIcon, MDBContainer, MDBRow, MDBCol } from \"mdbreact\";\nimport { FormatDateOnly } from \"../../helpers/formatters\";\n\nimport Shuffle from \"shufflejs\";\nimport PropTypes from \"prop-types\";\n\n// import SadFace from '../../images/icons/nao-encontrado.svg'\nimport { MDBBtn, MDBBtnGroup } from \"mdbreact\";\n\nimport CardAviso from \"../CardAviso/CardAviso\";\n\n//import { ConvertInstitutoToArea } from \"../../helpers/Formatters\";\n\n/**\n * Botão de inscrições para os cursos de pós-graduação.\n * @constructor\n * @param {Array} avisos - Lista de objetos de avisos.\n */\n\nexport default class FiltroAvisos extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.avisos = props.avisos;\n\t}\n\n\t// Lógica do filtro front-end.\n\tcomponentDidMount() {\n\t\t// Componente que realiza a filtragem no DOM.\n\t\tclass CustomFilter {\n\t\t\tconstructor(element) {\n\t\t\t\tthis.shuffle = new Shuffle(element, {\n\t\t\t\t\teasing: \"cubic-bezier(0.165, 0.840, 0.440, 1.000)\",\n\t\t\t\t\tgutterWidth: 0,\n\t\t\t\t});\n\n\t\t\t\tthis.tipos = Array.from(\n\t\t\t\t\tdocument.querySelectorAll(\"#avisos-tipo-filtro button\")\n\t\t\t\t);\n\n\t\t\t\tthis.filters = {\n\t\t\t\t\ttitulacoes: [],\n\t\t\t\t};\n\n\t\t\t\tthis.searchBar = document.querySelector(\"#avisos-busca-filtro\");\n\n\t\t\t\t// Caso não tenha nenhum item.\n\t\t\t\tthis.shuffle.on(Shuffle.EventType.LAYOUT, function (e) {\n\t\t\t\t\tif (e.shuffle.visibleItems === 0) {\n\t\t\t\t\t\tdocument.querySelector(\"#avisos-items-noitems\").style.display =\n\t\t\t\t\t\t\t\"block\";\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdocument.querySelector(\"#avisos-items-noitems\").style.display =\n\t\t\t\t\t\t\t\"none\";\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tthis._bindEventListeners();\n\t\t\t}\n\n\t\t\t_bindEventListeners() {\n\t\t\t\tthis._onTipoChange = this._handleTipoChange.bind(this);\n\n\t\t\t\tthis.tipos.forEach(function (button) {\n\t\t\t\t\tbutton.addEventListener(\"click\", this._onTipoChange);\n\t\t\t\t}, this);\n\n\t\t\t\tthis.searchBar.addEventListener(\n\t\t\t\t\t\"keyup\",\n\t\t\t\t\tthis._handleSearchKeyup.bind(this)\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// ---- TIPO ----\n\t\t\t_getCurrentTipoFilters() {\n\t\t\t\treturn this.tipos\n\t\t\t\t\t.filter(function (button) {\n\t\t\t\t\t\treturn button.classList.contains(\"active\");\n\t\t\t\t\t})\n\t\t\t\t\t.map(function (button) {\n\t\t\t\t\t\treturn button.getAttribute(\"data-tipo\");\n\t\t\t\t\t});\n\t\t\t}\n\n\t\t\t_handleTipoChange(evt) {\n\t\t\t\tvar button = evt.currentTarget;\n\n\t\t\t\tdocument.querySelector(\"#avisos-tipo-filtro\").value = \"\";\n\t\t\t\t// Treat these buttons like radio buttons where only 1 can be selected.\n\t\t\t\tif (button.classList.contains(\"active\")) {\n\t\t\t\t\tbutton.classList.remove(\"active\");\n\t\t\t\t} else {\n\t\t\t\t\tthis.tipos.forEach(function (btn) {\n\t\t\t\t\t\tbtn.classList.remove(\"active\");\n\t\t\t\t\t});\n\n\t\t\t\t\tbutton.classList.add(\"active\");\n\t\t\t\t}\n\n\t\t\t\tthis.filters.tipos = this._getCurrentTipoFilters();\n\t\t\t\tthis.filter();\n\t\t\t}\n\n\t\t\t// Executa os filtros.\n\t\t\tfilter() {\n\t\t\t\tif (this.hasActiveFilters()) {\n\t\t\t\t\tthis.shuffle.filter(this.itemPassesFilters.bind(this));\n\t\t\t\t} else {\n\t\t\t\t\tthis.shuffle.filter(Shuffle.ALL_ITEMS);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Valida se existe algum filtro ativo.\n\t\t\thasActiveFilters() {\n\t\t\t\treturn Object.keys(this.filters).some(function (key) {\n\t\t\t\t\treturn this.filters[key].length > 0;\n\t\t\t\t}, this);\n\t\t\t}\n\n\t\t\t// Valida se o objeto passa pelo filtro.\n\t\t\titemPassesFilters(element) {\n\t\t\t\tvar tipos = this.filters.tipos;\n\n\t\t\t\tvar tipo = element.getAttribute(\"data-tipo\");\n\n\t\t\t\tif (tipos.length > 0 && !tipo.includes(tipos)) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\t// Filtra os títulos pela busca.\n\t\t\t_handleSearchKeyup(evt) {\n\t\t\t\tvar searchText = evt.target.value\n\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t.normalize(\"NFD\")\n\t\t\t\t\t.replace(/[\\u0300-\\u036f]/g, \"\");\n\n\t\t\t\tthis.shuffle.filter(function (element) {\n\t\t\t\t\tvar titleElement = element.getAttribute(\"data-name\");\n\n\t\t\t\t\tvar titleText = titleElement\n\t\t\t\t\t\t.normalize(\"NFD\")\n\t\t\t\t\t\t.replace(/[\\u0300-\\u036f]/g, \"\")\n\t\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t\t.trim();\n\n\t\t\t\t\treturn titleText.indexOf(searchText) !== -1;\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\t// Instancia o componente\n\t\tnew CustomFilter(document.getElementById(\"avisos-items-container\"));\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t

Categoria

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{[\n\t\t\t\t\t\t\t\t\"Editais\",\n\t\t\t\t\t\t\t\t\"Escola de Aplicação\",\n\t\t\t\t\t\t\t\t\"Feevale Up\",\n\t\t\t\t\t\t\t\t\"Feevale Way\",\n\t\t\t\t\t\t\t\t\"International\",\n\t\t\t\t\t\t\t\t\"Institucional\",\n\t\t\t\t\t\t\t\t\"Pos Lato\",\n\n\t\t\t\t\t\t\t].map((item) => (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{\" \"}\n\t\t\t\t\t\t\t\t\t{item}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\n\t\t\t\t\n\t\t\t\t\t{this.props.avisos.map((aviso) => {\n\t\t\t\t\t\tlet dataFim = new Date(aviso.DataFinal);\n\t\t\t\t\t\tdataFim.setDate(dataFim.getDate() + 1);\n\t\t\t\t\t\t\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tDate.parse(dataFim) >= Date.now() &&\n\t\t\t\t\t\t\tDate.parse(aviso.DataInicial) <= Date.now()\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t})}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\tNão temos um aviso nessas características. Registre seu interesse.\n\t\t\t\t\t\t

\n\t\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t);\n\t}\n}\n","import * as React from \"react\";\nimport PropTypes from \"prop-types\";\nimport Layout from \"../layouts/MasterLayout/MasterLayout\";\nimport {\n\tMDBContainer,\n\tMDBRow,\n\tMDBCol,\n} from \"mdbreact\";\nimport BannerCarousel from \"../components/BannerCarousel/BannerCarousel\";\nimport SEO from \"../components/SEO/SEO\";\nimport FiltroAvisos from \"../components/FiltroAvisos/FiltroAvisos\";\n\nexport default function IndexPage({ pageContext: { avisos } }) {\n\tIndexPage.propTypes = {\n\t\tpageContext: PropTypes.object.isRequired,\n\t\tavisos: PropTypes.array.isRequired, // Array de avisos\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t

Todos os avisos

\n\t\t\t\t\t\t

Confira todos os avisos na Universidade Feevale.

\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t);\n}\n","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","import _typeof from \"@babel/runtime/helpers/typeof\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return assertThisInitialized(self);\n}"],"names":["_typeof","obj","Symbol","iterator","module","exports","__esModule","constructor","prototype","utils","settle","cookies","buildURL","buildFullPath","parseHeaders","isURLSameOrigin","createError","defaults","Cancel","config","Promise","resolve","reject","onCanceled","requestData","data","requestHeaders","headers","responseType","done","cancelToken","unsubscribe","signal","removeEventListener","isFormData","request","XMLHttpRequest","auth","username","password","unescape","encodeURIComponent","Authorization","btoa","fullPath","baseURL","url","onloadend","responseHeaders","getAllResponseHeaders","response","responseText","status","statusText","value","err","open","method","toUpperCase","params","paramsSerializer","timeout","onreadystatechange","readyState","responseURL","indexOf","setTimeout","onabort","onerror","ontimeout","timeoutErrorMessage","transitional","clarifyTimeoutError","isStandardBrowserEnv","xsrfValue","withCredentials","xsrfCookieName","read","undefined","xsrfHeaderName","forEach","val","key","toLowerCase","setRequestHeader","isUndefined","onDownloadProgress","addEventListener","onUploadProgress","upload","cancel","type","abort","subscribe","aborted","send","bind","Axios","mergeConfig","axios","createInstance","defaultConfig","context","instance","extend","create","instanceConfig","CancelToken","isCancel","VERSION","all","promises","spread","isAxiosError","message","this","toString","__CANCEL__","executor","TypeError","resolvePromise","promise","token","then","_listeners","i","l","length","onfulfilled","_resolve","reason","throwIfRequested","listener","push","index","splice","source","c","InterceptorManager","dispatchRequest","validator","validators","interceptors","arguments","assertOptions","silentJSONParsing","boolean","forcedJSONParsing","requestInterceptorChain","synchronousRequestInterceptors","interceptor","runWhen","synchronous","unshift","fulfilled","rejected","responseInterceptorChain","chain","Array","apply","concat","shift","newConfig","onFulfilled","onRejected","error","getUri","replace","handlers","use","options","eject","id","fn","h","isAbsoluteURL","combineURLs","requestedURL","enhanceError","code","Error","transformData","throwIfCancellationRequested","call","transformRequest","merge","common","adapter","transformResponse","toJSON","name","description","number","fileName","lineNumber","columnNumber","stack","config1","config2","getMergedValue","target","isPlainObject","isArray","slice","mergeDeepProperties","prop","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","Object","keys","configValue","validateStatus","fns","normalizeHeaderName","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","process","isArrayBuffer","isBuffer","isStream","isFile","isBlob","isArrayBufferView","buffer","isURLSearchParams","isObject","rawValue","parser","encoder","isString","JSON","parse","trim","e","stringify","stringifySafely","strictJSONParsing","maxContentLength","maxBodyLength","thisArg","args","encode","serializedParams","parts","v","isDate","toISOString","join","hashmarkIndex","relativeURL","write","expires","path","domain","secure","cookie","isNumber","Date","toGMTString","document","match","RegExp","decodeURIComponent","remove","now","test","payload","originURL","msie","navigator","userAgent","urlParsingNode","createElement","resolveURL","href","setAttribute","protocol","host","search","hash","hostname","port","pathname","charAt","window","location","requestURL","parsed","normalizedName","ignoreDuplicateOf","split","line","substr","callback","arr","thing","deprecatedWarnings","version","formatMessage","opt","desc","opts","console","warn","schema","allowUnknown","result","getPrototypeOf","isFunction","hasOwnProperty","FormData","ArrayBuffer","isView","pipe","URLSearchParams","product","assignValue","a","b","str","stripBOM","content","charCodeAt","FormatDate","param","toLocaleString","year","month","day","hour","minute","MainFooter","className","col","md","map","rel","fluid","color","outline","src","style","width","alt","title","SocialBar","icon","size","fab","Layout","children","useEffect","script","async","onload","HT","maxTextSize","pageSpeech","body","appendChild","r","q","t","y","getElementsByTagName","parentNode","insertBefore","SEO","MainNavbar","paddingLeft","paddingRight","BannerCarousel","bannerKey","useState","banners","setBanners","res","Blocks","Items","activeItem","showControls","showIndicators","mediaItem","Body","Media","Description","itemId","PublicUrl","AltText","_createForOfIteratorHelper","o","allowArrayLike","it","minLen","_arrayLikeToArray","n","from","_unsupportedIterableToArray","F","s","_e","f","normalCompletion","didErr","step","next","_e2","return","len","arr2","_createSuper","Derived","hasNativeReflectConstruct","Reflect","construct","sham","Proxy","Boolean","valueOf","_isNativeReflectConstruct","Super","NewTarget","ownKeys","object","enumerableOnly","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","_objectSpread","getOwnPropertyDescriptors","defineProperties","defineProperty","tinyEmitter","E","on","ctx","once","self","off","_","emit","evtArr","evts","liveEvents","TinyEmitter","noop","getNumber","parseFloat","Point","x","Rect","w","left","top","height","Classes","BASE","SHUFFLE_ITEM","VISIBLE","HIDDEN","id$1","ShuffleItem","element","isRTL","isVisible","isHidden","classList","add","removeAttribute","addClasses","applyCss","Css","INITIAL","DIRECTION","rtl","ltr","scale","Scale","point","classes","_this","_this2","_this3","removeClasses","position","visibility","willChange","right","before","opacity","after","transitionDelay","testComputedSize","documentElement","cssText","getComputedStyle","Math","round","removeChild","getNumberStyle","styles","paddingTop","paddingBottom","borderTopWidth","borderBottomWidth","borderLeftWidth","borderRightWidth","reverse","by","compare","randomize","sorter","original","revert","array","floor","random","temp","sort","valA","valB","transitions","eventName","count","cancelTransitionEnd","onTransitionEnd","evt","currentTarget","arrayMax","max","getColumnSpan","itemWidth","columnWidth","columns","threshold","columnSpan","abs","min","ceil","getAvailablePositions","positions","available","getShortColumn","minPosition","getCenteredPositions","itemRects","containerWidth","rowMap","itemRect","rects","rows","centeredRows","intersectingRect","lastItem","end","offset","finalRects","canMove","newRects","every","newRect","noOverlap","some","intersects","rowIndex","findIndex","items","includes","flat","arrayUnique","Set","Shuffle","_TinyEmitter","_super","_this4","lastSort","group","ALL_ITEMS","lastFilter","isEnabled","isDestroyed","isInitialized","_transitions","isTransitioning","_queue","el","_getElementOption","_init","_getItems","sortedItems","sizer","_initItems","layout","onLoad","containerCss","getSize","_validateStyles","_setColumns","initialSort","_rafId","_resizeObserver","ResizeObserver","_handleResizeCallback","observe","offsetWidth","setItemTransitions","transition","speed","easing","option","querySelector","nodeType","jquery","overflow","category","collection","set","_getFilteredSets","_toggleFilterClasses","_this5","visible","hidden","item","_doesPassFilter","attr","dataset","FILTER_ATTRIBUTE_KEY","delimiter","testCategory","filterMode","FilterMode","ANY","_ref","show","hide","init","dispose","visibleItems","_getFilteredItems","_this$options","positionProps","useTransforms","cssProps","k","m1","properties","transitionDuration","transitionTimingFunction","transitionProperty","_this6","matches","itemSelector","gutterSize","gutterWidth","gutter","_getGutterSize","_getColumnSize","calculatedColumns","columnThreshold","cols","colWidth","_getContainerSize","staggerAmount","staggerAmountMax","shuffle","_this7","itemPositions","_getNextPositions","equals","getStylesForTransition","_getStaggerAmount","_this8","isCentered","itemsData","itemSize","_getItemPosition","getTransformedPositions","gridSize","total","span","setY","shortColumnIndex","setHeight","getItemPosition","_this9","_getConcealedItems","entries","_step","_iterator","entry","contentRect","cancelAnimationFrame","requestAnimationFrame","update","styleObject","sign","roundTransforms","transform","itemCallback","_this10","_whenTransitionDone","_cancelMovement","hasSpeed","hasQueue","_startTransitions","_styleImmediately","_dispatch","EventType","LAYOUT","_this11","pending","finished","results","maybeDone","arrayParallel","_getTransitionFunction","_movementFinished","objects","elements","_skipTransitions","sortOptions","_filter","_shrink","_updateItemCount","_resetCols","_layout","_processQueue","_setContainerSize","_ref2","_ref2$recalculateSize","recalculateSizes","_ref2$force","force","newItems","_this12","_mergeNewItems","allSortedItemsSet","isNewItem","applyHiddenState","isUpdateLayout","_this13","oldItems","getItemByElement","_disposeItems","REMOVED","find","_this14","unobserve","includeMargins","marginLeft","marginRight","marginTop","marginBottom","duration","delay","ALL","__sorter","__getColumnSpan","__getAvailablePositions","__getShortColumn","__getCenteredPositions","CardAviso","tipo","slug","ultimaModificacao","redirecionamento","pill","to","far","FiltroAvisos","props","avisos","componentDidMount","tipos","querySelectorAll","filters","titulacoes","searchBar","display","_bindEventListeners","_onTipoChange","_handleTipoChange","button","_handleSearchKeyup","_getCurrentTipoFilters","contains","getAttribute","btn","hasActiveFilters","itemPassesFilters","searchText","normalize","getElementById","render","placeholder","aviso","dataFim","DataFinal","setDate","getDate","DataInicial","Titulo","Tipo","Slug","UltimaModificacao","Redirecionamento","React","IndexPage","pageContext","_assertThisInitialized","ReferenceError","_classCallCheck","Constructor","_defineProperties","descriptor","configurable","writable","_createClass","protoProps","staticProps","_defineProperty","_getPrototypeOf","setPrototypeOf","__proto__","_inherits","subClass","superClass","_possibleConstructorReturn"],"sourceRoot":""}