{"version":3,"file":"test.bundle.js","mappings":"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","sources":["webpack://my-webpack-project/./node_modules/@babel/runtime/regenerator/index.js","webpack://my-webpack-project/./node_modules/axios/index.js","webpack://my-webpack-project/./node_modules/axios/lib/adapters/xhr.js","webpack://my-webpack-project/./node_modules/axios/lib/axios.js","webpack://my-webpack-project/./node_modules/axios/lib/cancel/Cancel.js","webpack://my-webpack-project/./node_modules/axios/lib/cancel/CancelToken.js","webpack://my-webpack-project/./node_modules/axios/lib/cancel/isCancel.js","webpack://my-webpack-project/./node_modules/axios/lib/core/Axios.js","webpack://my-webpack-project/./node_modules/axios/lib/core/InterceptorManager.js","webpack://my-webpack-project/./node_modules/axios/lib/core/buildFullPath.js","webpack://my-webpack-project/./node_modules/axios/lib/core/createError.js","webpack://my-webpack-project/./node_modules/axios/lib/core/dispatchRequest.js","webpack://my-webpack-project/./node_modules/axios/lib/core/enhanceError.js","webpack://my-webpack-project/./node_modules/axios/lib/core/mergeConfig.js","webpack://my-webpack-project/./node_modules/axios/lib/core/settle.js","webpack://my-webpack-project/./node_modules/axios/lib/core/transformData.js","webpack://my-webpack-project/./node_modules/axios/lib/defaults.js","webpack://my-webpack-project/./node_modules/axios/lib/helpers/bind.js","webpack://my-webpack-project/./node_modules/axios/lib/helpers/buildURL.js","webpack://my-webpack-project/./node_modules/axios/lib/helpers/combineURLs.js","webpack://my-webpack-project/./node_modules/axios/lib/helpers/cookies.js","webpack://my-webpack-project/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://my-webpack-project/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://my-webpack-project/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://my-webpack-project/./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack://my-webpack-project/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://my-webpack-project/./node_modules/axios/lib/helpers/spread.js","webpack://my-webpack-project/./node_modules/axios/lib/utils.js","webpack://my-webpack-project/./node_modules/regenerator-runtime/runtime.js","webpack://my-webpack-project/webpack/bootstrap","webpack://my-webpack-project/webpack/runtime/compat get default export","webpack://my-webpack-project/webpack/runtime/define property getters","webpack://my-webpack-project/webpack/runtime/hasOwnProperty shorthand","webpack://my-webpack-project/./node_modules/@babel/runtime/helpers/asyncToGenerator/_index.mjs","webpack://my-webpack-project/./node_modules/@babel/runtime/helpers/arrayLikeToArray/_index.mjs","webpack://my-webpack-project/./node_modules/@babel/runtime/helpers/toConsumableArray/_index.mjs","webpack://my-webpack-project/./node_modules/@babel/runtime/helpers/arrayWithoutHoles/_index.mjs","webpack://my-webpack-project/./node_modules/@babel/runtime/helpers/iterableToArray/_index.mjs","webpack://my-webpack-project/./node_modules/@babel/runtime/helpers/unsupportedIterableToArray/_index.mjs","webpack://my-webpack-project/./node_modules/@babel/runtime/helpers/nonIterableSpread/_index.mjs","webpack://my-webpack-project/./node_modules/@babel/runtime/helpers/classCallCheck/_index.mjs","webpack://my-webpack-project/./node_modules/@babel/runtime/helpers/createClass/_index.mjs","webpack://my-webpack-project/./src/app/components/preloadImage.js","webpack://my-webpack-project/./src/app/components/FallbackImages.js","webpack://my-webpack-project/./src/app/components/AxiosApi.js","webpack://my-webpack-project/./src/app/test.js","webpack://my-webpack-project/./src/app/components/Suffix.js","webpack://my-webpack-project/./src/app/components/Helper.js","webpack://my-webpack-project/./src/app/components/conf/NameCols.js"],"sourcesContent":["module.exports = require(\"regenerator-runtime\");\n","module.exports = require('./lib/axios');","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\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\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\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);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n // Listen for ready state\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\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 if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !config.responseType || config.responseType === 'text' ? 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\n settle(resolve, reject, response);\n\n // Clean up request\n request = null;\n };\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(createError('Request aborted', config, 'ECONNABORTED', request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\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));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded';\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(createError(timeoutErrorMessage, config, 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\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 if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\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 }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (config.responseType) {\n try {\n request.responseType = config.responseType;\n } catch (e) {\n // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n if (config.responseType !== 'json') {\n throw e;\n }\n }\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel);\n // Clean up request\n request = null;\n });\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\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 */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n return createInstance(mergeConfig(axios.defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\n// Expose isAxiosError\naxios.isAxiosError = require('./helpers/isAxiosError');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","'use strict';\n\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 */\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;\n\nmodule.exports = Cancel;\n","'use strict';\n\nvar Cancel = require('./Cancel');\n\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 */\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\n var token = this;\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/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\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;\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\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);\n\n // Set config.method\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 // Hook up interceptors middleware\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.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};\n\n// Provide aliases for supported request methods\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});\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});\n\nmodule.exports = Axios;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\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 */\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\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 */\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;\n","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\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 */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\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 */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\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 */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData(\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData(\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData(\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","'use strict';\n\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 */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\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 };\n };\n return error;\n};\n","'use strict';\n\nvar utils = require('../utils');\n\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 */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n var valueFromConfig2Keys = ['url', 'method', 'data'];\n var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy', 'params'];\n var defaultToConfig2Keys = [\n 'baseURL', 'transformRequest', 'transformResponse', 'paramsSerializer',\n 'timeout', 'timeoutMessage', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName',\n 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress', 'decompress',\n 'maxContentLength', 'maxBodyLength', 'maxRedirects', 'transport', 'httpAgent',\n 'httpsAgent', 'cancelToken', 'socketPath', 'responseEncoding'\n ];\n var directMergeKeys = ['validateStatus'];\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 return source;\n }\n\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n }\n\n utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n }\n });\n\n utils.forEach(mergeDeepPropertiesKeys, mergeDeepProperties);\n\n utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n utils.forEach(directMergeKeys, function merge(prop) {\n if (prop in config2) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n var axiosKeys = valueFromConfig2Keys\n .concat(mergeDeepPropertiesKeys)\n .concat(defaultToConfig2Keys)\n .concat(directMergeKeys);\n\n var otherKeys = Object\n .keys(config1)\n .concat(Object.keys(config2))\n .filter(function filterAxiosKeys(key) {\n return axiosKeys.indexOf(key) === -1;\n });\n\n utils.forEach(otherKeys, mergeDeepProperties);\n\n return config;\n};\n","'use strict';\n\nvar createError = require('./createError');\n\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 */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\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 */\nmodule.exports = function transformData(data, headers, fns) {\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn(data, headers);\n });\n\n return data;\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\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 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 return adapter;\n}\n\nvar defaults = {\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n /*eslint no-param-reassign:0*/\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) { /* Ignore */ }\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\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.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});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\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 */\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 if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\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 parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","'use strict';\n\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 */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function 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\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","'use strict';\n\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 */\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};\n","'use strict';\n\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 */\nmodule.exports = function isAxiosError(payload) {\n return (typeof payload === 'object') && (payload.isAxiosError === true);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // 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.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\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 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);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\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) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\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 return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\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};\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\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 */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\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 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\n return parsed;\n};\n","'use strict';\n\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 */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n/*global toString:true*/\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\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 */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\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 */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\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 */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\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 */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\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 */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\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 */\nfunction isArrayBufferView(val) {\n var result;\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 return result;\n}\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 */\nfunction isString(val) {\n return typeof val === 'string';\n}\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 */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\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 */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\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 */\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/**\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 */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\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 */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\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 */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\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 */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\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 */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\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 */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\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 */\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\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 */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\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 */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\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/**\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 */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\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 return result;\n}\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 */\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/**\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 */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\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};\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import arrayWithoutHoles from \"../arrayWithoutHoles/_index.mjs\";\nimport iterableToArray from \"../iterableToArray/_index.mjs\";\nimport unsupportedIterableToArray from \"../unsupportedIterableToArray/_index.mjs\";\nimport nonIterableSpread from \"../nonIterableSpread/_index.mjs\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"../arrayLikeToArray/_index.mjs\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}","import arrayLikeToArray from \"../arrayLikeToArray/_index.mjs\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\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 class PreloadImages {\n\n constructor() {\n\n }\n\n static preload() {\n const placeholder = \"/App_Firma/img/default.jpg\";\n const imagesWithoutLazyload = [...document.getElementsByClassName(\"js_preload\")];\n\n imagesWithoutLazyload.forEach(image => {\n image.src = image.getAttribute('data-src');\n image.addEventListener('error', () => {\n\n if (!image.classList.contains('loading-error')) {\n image.src = placeholder;\n image.classList.add('loading-error');\n }\n });\n\n const { src } = image;\n image.removeAttribute('src');\n image.src = src;\n\n });\n }\n\n static checkImage() {\n const placeholder = \"/App_Firma/img/default.jpg\";\n let img = new Image();\n img.onload = function(){\n return url;\n };\n img.onerror = function(){\n return placeholder;\n };\n img.src = url;\n return placeholder;\n }\n}","export class FallbackImages {\n\n constructor() {\n\n }\n\n static fallbackImages() {\n const placeholder = \"/App_Firma/img/default.jpg\";\n const imagesWithoutLazyload = [...document.getElementsByTagName('img')];\n\n imagesWithoutLazyload.forEach(image => {\n\n image.addEventListener('error', () => {\n if (!image.classList.contains('loading-error')) {\n image.src = placeholder;\n image.classList.add('loading-error');\n }\n });\n\n const { src } = image;\n image.removeAttribute('src');\n image.src = src;\n\n });\n }\n}","import axios from 'axios';\n\nfunction modal(title, content){\n\n $(\"#error_message\").find(\"#modalTitle\").html(title);\n $(\"#error_message\").find(\".modalContent\").html(content);\n\n $('#error_message').foundation('open');\n\n\n}\n\nexport const AxiosApi = async (data_send) => {\n\n var uniq = 'id' + (new Date()).getTime();\n $(\".serverSend\").append(\"
Odesílám data na server... \" + uniq + \"
\");\n\n const response = await axios.get(\"/ZasShopServicePage.aspx/\"+data_send, {\n headers: {\n 'Accept': '*/*',\n }\n })\n const responseData = response.data\n\n if(responseData.error_code) {\n\n var message = responseData.error_message;\n message = message.split(\";\");\n\n if(message.length !== 1) {\n var title = message[0].replace(\"#ZSHOP_ERROR_TITLE=\", \"\");\n var text = message[1].replace(\"#ZSHOP_ERROR=\", \"\");\n var id = message[2].replace(\"#ZSHOP_ERROR_DELETE_ID=\", \"\");\n var content = \"

\" + text + \"

Objednávka číslo: \" + id + \"

\";\n } else {\n var title = \"Omlouváme se objevila se chyba\";\n var content = \"

\" + message + \"

V případě problému obraťte se na naší podporu objednavky@proform.eu

\";\n }\n\n modal(title, content);\n $(\"#\" + uniq).addClass(\"error\");\n $(\"#\" + uniq).html(content);\n\n return false;\n } else {\n $(\"#\" + uniq).addClass(\"succes\");\n $(\"#\" + uniq).html(\"Odesláno v pořádku\");\n setTimeout( function() {\n $(\"#\" + uniq).hide();\n }, 1000)\n return responseData;\n }\n\n}","import { PreloadImages } from \"./components/preloadImage\"\nimport { FallbackImages } from \"./components/FallbackImages\"\nimport { AxiosApi } from \"./components/AxiosApi\"\nimport { Suffix } from \"./components/Suffix\"\nimport Helper from \"./components/Helper\"\nimport { NameCols } from \"./components/conf/NameCols\"\n\nconst img_container = \"/App_Firma/img/product/conf/small_icon\";\nconst img_container_icon = \"/App_Firma/data\";\nconst container_documents = \"/App_Firma/Data/Files/nomenklatura\";\n\nlet data_conf = new Array(),\n typ_atributu = \"\",\n ornament_modul,\n url_nahled = \"\";\n\nlet file_data, template = \"\", templateMain=\"\", smako_tech_info, template_tech=\"\";\n\nlet column = [\"\"];\nlet column_nbdil = [\"grp_folie\", \"kod_folie\", \"smer_let\", \"patina\", \"folie_spec\", \"\", \"grp_zada\", \"kod_zada\", \"zada_spec\", \"grp_prov\", \"kod_prov\", \"sila\", \"grp_skla\", \"kod_skla\", \"sklo_spec\", \"smer_skla\", \"ornament_skla\", \"hrana_h\", \"hrana_p\", \"hrana_d\", \"hrana_l\", \"grp_pantu\", \"kod_pantu\",\"\", \"pant_povrch\",\"pant_spec\", \"pant_umi\", \"vrtani\", \"kovani\", \"vyklop\", \"poznamka\"];\nconst loader = '
';\nconst error = '
Tento údaj je povinný
';\nlet column_modul = [\"grp_folie\", \"kod_folie\", \"folie_spec\", \"sila\", \"kod_prov\", \"smer_let\", \"grp_zada\", \"kod_zada\", \"zada_spec\", ];\n\nconst column_hp = [\"grp_folie\", \"kod_folie\", \"folie_spec\", \"smer_let\",\"\", \"kod_pantu\", \"\"];\nconst column_hp_delete = [\"height\", \"width\"];\n\nconst column_lista = [\"grp_folie\", \"kod_folie\", \"folie_spec\", \"kod_frezovani\", \"\", \"\" ];\nconst column_lista_delete = [\"height\", \"width\"];\n\nconst column_lipro = [\"grp_folie\", \"kod_folie\", \"folie_spec\", \"kod_frezovani\", \"\", \"\" ];\nconst column_lipro_delete = [\"width\"];\n\nconst column_drvd = [\"grp_skla\", \"kod_skla\", \"sklo_spec\"];\n\nconst column_uchmm = [\"pant_povrch\", \"pant_spec\"];\nconst column_uchmm_delete = [\"width\"];\n\nconst column_ual = [];\nconst column_ual_delete = [\"height\", \"width\"];\n\nconst column_sklo = [ \"grp_skla\", \"kod_skla\", \"sklo_spec\", \"smer_skla\" ];\n\nvar callNow = \"\";\n\n// Orientace ornamentu Svislá 10/Vodorovná 20\ndata_conf[\"smer_skla\"] = [{name: \"Svislá\" , hodnota: 10, pic: \"ic-ver.png\"}, {name: \"Vodorovná\" , hodnota: 20, pic: \"ic-hor.png\"}];\n//Umístění ornamentu Vnitřní strana 10/Vnější strana 20\ndata_conf[\"ornament_skla\"] = [{name: \"Vnitřní\" , hodnota: 10}, {name: \"Vnější\" , hodnota: 20}];\n// Vnitřní frézování Ne 0/Ano 1\ndata_conf[\"vnitrni_frez\"] = [{name: \"Ano\" , hodnota: 1}, {name: \"Ne\" , hodnota: 0}];\n// Orientace let Svislá 10/Vodorovná 20\ndata_conf[\"smer_let\"] = [{name: \"Svislá\" , hodnota: 10, pic: \"ic-ver.png\"}, {name: \"Vodorovná\" , hodnota: 20, pic: \"ic-hor.png\"}];\n// Návaznost let Ne 0/Ano 1\ndata_conf[\"navaznost_let\"] = [{name: \"Ne\" , hodnota: 0}, {name: \"Ano\" , hodnota: 1}];\n//Expres Ne 0/Ano 1\ndata_conf[\"expres\"] = [{name: \"Ano\" , hodnota: 1}, {name: \"Ne\" , hodnota: 0}];\n//Dodatečná povrchová úprava Bez povrchové úpravy 0/Patina 20/Vysoký lesk 90 (tady se mozna budou pridavat další)\ndata_conf[\"patina\"] = [{popis: \"Bez povrchové úpravy\" , kod: 0}, {popis: \"Patina\" , kod: 20}, {popis: \"Vysoký lesk\" , kod: 90}];\ndata_conf[\"montazni_sada\"] = [{popis: \"Ne\" , kod: 0}, {popis: \"Ano\" , kod: 20}, {popis: \"ano včetně adaptéru pro žebrové radiátory\" , kod: 90}];\ndata_conf[\"otoceni\"] = [{popis: \"0\" , kod: 0}, {popis: \"90\" , kod: 90}, {popis: \"180\" , kod: 180}, {popis: \"270\" , kod: 270}];\ndata_conf[\"patina_zada\"] = [{popis: \"Bez povrchové úpravy\" , kod: 0}, {popis: \"Patina\" , kod: 20}, {popis: \"Vysoký lesk\" , kod: 90}];\n\nconst col_md_3 = [\"grp_skla\", \"kod_skla\",\"sklo_spec\" , \"hrana_h\", \"hrana_d\", \"hrana_l\", \"hrana_p\", \"m1\", \"m1_o\", \"m2\", \"m2_o\", \"m3\", \"m3_o\", \"m4\", \"m4_o\", \"m5\", \"m5_o\", \"m6\", \"m6_o\", \"m7\", \"m7_o\", \"m8\", \"m8_o\", \"m9\", \"m9_o\" ];\nconst col_md_2 = [ \"smer_skla\", \"ornament_skla\"];\nconst checkboxColumn = [ \"smer_let\", \"navaznost_let\", \"vnitrni_frez\", \"smer_skla\", \"ornament_skla\"];\nconst filter = [ \"kod_sklo\", \"grp_sklo\", \"smer_skla\", \"ornament_skla\" ];\nconst with_code = [ \"kod_folie\", \"grp_folie\", \"kod_prov\", \"grp_skla\", \"user_vrtani\", \"kod_skla\", \"hrana_h\", \"hrana_d\", \"hrana_l\", \"hrana_p\", \"kod_zada\" ];\nconst prov_sklo = [\"kod_skla\", \"sklo_spec\", \"grp_skla\", \"smer_skla\", \"ornament_skla\" ];\nlet column_set;\n\nwindow.validator = new Array();\nwindow.labelName = new Array();\nwindow.helps = new Array();\nlet user_konf_id = \"0\";\n\nfunction formatState(state) {\n\n if (!state.id) {\n return state.text;\n }\n\n let kod = \"\";\n if(state.element){\n if(state.element.getAttribute(\"kod_append\")){\n kod = \"\" + state.element.getAttribute(\"kod_append\") + \"\";\n }\n if(state.element.getAttribute(\"pic\")) {\n\n const url = img_container_icon + '/' + state.element.getAttribute(\"pic\");\n\n let $state = $(\n ' ' + kod + state.text + ''\n );\n return $state;\n } else if(state.element.getAttribute(\"html\")) {\n\n let $state = $(\n ' ' + kod + state.text + ''\n );\n return $state;\n } else {\n let $state = $(\n '' + kod + state.text + ''\n );\n return $state;\n }\n }\n\n};\n\nfunction matchCustom(params, data) {\n // If there are no search terms, return all of the data\n if ($.trim(params.term) === '') {\n return data;\n }\n\n // Do not display the item if there is no 'text' property\n if (typeof data.text === 'undefined') {\n return null;\n }\n\n // `params.term` should be the term that is used for searching\n // `data.text` is the text that is displayed for the data object\n if (data.text.toLowerCase().indexOf(params.term.toLowerCase()) > -1 || data.id.toLowerCase().indexOf(params.term.toLowerCase()) > -1) {\n let modifiedData = $.extend({}, data, true);\n modifiedData.text += ' (matched)';\n\n // You can return modified objects from here\n // This includes matching the `children` how you want in nested data sets\n return modifiedData;\n }\n\n // Return `null` if the term should not be displayed\n return null;\n}\n\nvar formatSelectImage = function (label) {\n\n $(\"#\" + label).select2({\n placeholder: 'Vyberte možnost',\n minimumResultsForSearch: 8,\n width: 'resolve',\n templateResult: formatState,\n templateSelection: formatState,\n theme: \"foundation\",\n language: \"cs\",\n matcher: matchCustom\n });\n\n};\n\nvar configurator = {\n init: async function () {\n\n next_variant.loaderInit();\n\n let data_send_folie = \"?n=1&command=GET_PRODUCT_CONF_FOLIE_SPEC&cislo_nomenklatury=\" + id_nomen;\n let getFolieSpec = function(data) {\n data_conf[\"folie_spec\"] = data.smako_conf_folie_spec.folie_spec;\n }\n\n let dataFolie = await AxiosApi(data_send_folie);\n getFolieSpec(dataFolie.root);\n\n\n let data_send_folie_zad = \"?n=1&command=GET_PRODUCT_CONF_ZADA_SPEC&cislo_nomenklatury=\" + id_nomen;\n let getZadaSpec = function(data) {\n data_conf[\"zada_spec\"] = data.smako_conf_folie_spec.folie_spec;\n }\n\n let dataFolieZad = await AxiosApi(data_send_folie_zad);\n getZadaSpec(dataFolieZad.root);\n\n let data_send_sklo = \"?n=1&command=GET_PRODUCT_CONF_SKLO_SPEC&cislo_nomenklatury=\" + id_nomen;\n let getSkloSpec = function(data) {\n data_conf[\"sklo_spec\"] = data.smako_conf_sklo_spec.sklo_spec;\n }\n\n let dataSklo = await AxiosApi(data_send_sklo);\n getSkloSpec(dataSklo.root);\n\n\n configurator.getConf();\n\n\n $(\".has-tip-top\").qtip({ // Grab all elements with a title attribute\n content: {\n text: $(this).attr(\"title\") // Won't work, because \"this\" is the window element!\n },\n show: {\n event: 'mouseover',\n solo: true\n },\n hide: {\n event: 'click unfocus'\n },\n overwrite: false, // Make sure the tooltip won't be overridden once created\n position: {\n my: \"bottom center\",\n at: \"top center\",\n },\n style: {\n classes: 'qtip-bootstrap',\n tip: {\n width: 16,\n height: 8\n }\n }\n });\n\n },\n initInputChange: function() {\n\n $(\"#konfigurator input\").change(function(){\n\n if($(this).attr(\"type\") == \"radio\") {\n\n var value = $( 'input[name=' + $(this).attr(\"name\") +']:checked' ).val();\n configurator.setConfig( $(this).attr(\"name\"), value);\n\n } else {\n\n configurator.setConfig( $(this).attr(\"name\") , $(this).val());\n }\n\n configurator.validate();\n\n });\n },\n switchClass: function( className, hide , show ){\n $(className).removeClass(hide);\n $(className).addClass(show);\n },\n initSelectChange: function() {\n // select Filter\n let previous;\n\n $(\"select\").on('focus', function () {\n previous = $(this).val();\n }).change( function () {\n\n var val = $(this).val();\n var kod = $(this).attr(\"id\");\n var filter_id = kod.replace(\"grp\", \"kod\");\n\n if( previous !== val && val ){\n configurator.setConfig( $(this).attr(\"name\"), val);\n }\n\n if( kod === \"kod_prov\") {\n if( $(this).find(\"option:checked\").attr(\"prov_sklo\") === 0) {\n $(\".prov_sklo\").hide();\n } else {\n $(\".prov_sklo\").show();\n }\n }\n\n if($(this).find(\"option:checked\").attr(\"folie_spec\")) {\n if( $(this).find(\"option:checked\").attr(\"folie_spec\") == 0) {\n configurator.switchClass(\".folie_spec\", \"vsShow\", \"vsHide\" );\n } else {\n configurator.switchClass(\".folie_spec\", \"vsHide\", \"vsShow\" );\n }\n }\n\n if($(this).find(\"option:checked\").attr(\"sklo_spec\")) {\n if( $(this).find(\"option:checked\").attr(\"sklo_spec\") == 0) {\n configurator.switchClass(\".sklo_spec\", \"vsShow\", \"vsHide\" );\n } else {\n configurator.switchClass(\".sklo_spec\", \"vsHide\", \"vsShow\" );\n }\n }\n\n if($(this).find(\"option:checked\").attr(\"smer_let\")) {\n\n if( $(this).find(\"option:checked\").attr(\"smer_let\") == 0) {\n configurator.switchClass(\".smer_let\", \"vsShow\", \"vsHide\" );\n $(\".user_vyska, .user_sirka\").addClass(\"switch_size\");\n } else {\n configurator.switchClass(\".smer_let\", \"vsHide\", \"vsShow\" );\n $(\".user_vyska, .user_sirka\").removeClass(\"switch_size\");\n }\n }\n\n if($(this).find(\"option:checked\").attr(\"data-definice\") === \"51\") {\n $(\".pant_povrch , .pant_spec, .pant_umi\").hide();\n } else if($(this).find(\"option:checked\").attr(\"data-definice\") === \"52\") {\n $(\".pant_povrch , .pant_spec, .pant_umi\").show();\n }\n\n if(kod.indexOf(\"grp\") === 0) {\n\n $(\"#\"+ filter_id).select2(\"destroy\");\n $(\"#\"+ filter_id).val(\" \");\n\n $(\"#\"+filter_id + \" option\").each( function () {\n\n $(this).removeAttr(\"disabled\");\n $(this).removeAttr(\"aria-disabled\");\n\n if( val.trim() && val !== $(this).attr(\"data-filter\") && $(this).attr(\"data-filter\") ) {\n $(this).attr(\"disabled\", \"disabled\");\n $(this).attr(\"aria-disabled\", \"true\");\n }\n });\n\n formatSelectImage(filter_id);\n }\n\n if(kod === \"kod_folie\") {\n var folie_spec = $(this).find(\"option:checked\").attr(\"folie_spec\");\n\n if( folie_spec === 0) {\n $(\".folie_spec\").addClass(\"vsHide\");\n } else {\n $(\".folie_spec\").addClass(\"vsShow\");\n }\n\n\n $(\"#folie_spec\").select2(\"destroy\").val(\" \");\n\n $(\"#folie_spec option\").each( function () {\n\n $(this).removeAttr(\"disabled\");\n $(this).removeAttr(\"aria-disabled\");\n\n if( folie_spec !== $(this).attr(\"folie_spec\") ) {\n $(this).attr(\"disabled\", \"disabled\");\n $(this).attr(\"aria-disabled\", \"true\");\n }\n });\n\n formatSelectImage(\"folie_spec\");\n\n }\n\n if(kod === \"kod_zada\") {\n\n var zada_spec = $(this).find(\"option:checked\").attr(\"zada_spec\");\n\n if( zada_spec === 0) {\n configurator.switchClass(\".zada_spec\", \"vsShow\", \"vsHide\" );\n } else {\n configurator.switchClass(\".zada_spec\", \"vsHide\", \"vsShow\" );\n }\n\n\n $(\"#zada_spec\").select2(\"destroy\").val(\" \");\n\n $(\"#zada_spec option\").each( function () {\n\n $(this).removeAttr(\"disabled\");\n $(this).removeAttr(\"aria-disabled\");\n\n if( zada_spec !== $(this).attr(\"zada_spec\") ) {\n $(this).attr(\"disabled\", \"disabled\");\n $(this).attr(\"aria-disabled\", \"true\");\n }\n });\n\n formatSelectImage(\"zada_spec\");\n\n }\n\n if(kod === \"pant_povrch\") {\n var pant_spec = $(this).find(\"option:checked\").attr(\"pant_spec\");\n\n if( pant_spec === 0) {\n configurator.switchClass(\".pant_spec\", \"vsShow\", \"vsHide\" );\n } else {\n configurator.switchClass(\".pant_spec\", \"vsHide\", \"vsShow\" );\n }\n\n $(\"#pant_spec\").select2(\"destroy\").val(\" \");\n\n $(\"#pant_spec option\").each( function () {\n\n $(this).removeAttr(\"disabled\");\n $(this).removeAttr(\"aria-disabled\");\n\n if( pant_spec !== $(this).attr(\"pant_spec\") ) {\n $(this).attr(\"disabled\", \"disabled\");\n $(this).attr(\"aria-disabled\", \"true\");\n }\n });\n\n formatSelectImage(\"pant_spec\");\n\n }\n\n if(kod === \"kod_pantu\") {\n var kod_pantu = $(this).find(\"option:checked\").attr(\"value\");\n\n $(\"#pant_povrch\").select2(\"destroy\").val(\" \");\n\n $(\"#pant_povrch option\").each( function () {\n\n $(this).removeAttr(\"disabled\");\n $(this).removeAttr(\"aria-disabled\");\n\n //console.log(kod_pantu + \" \" + $(this).attr(\"kod_pantu\"))\n if( kod_pantu !== $(this).attr(\"kod_pantu\") ) {\n $(this).attr(\"disabled\", \"disabled\");\n $(this).attr(\"aria-disabled\", \"true\");\n }\n });\n\n formatSelectImage(\"pant_povrch\");\n\n }\n\n if(kod === \"kod_prov\") {\n var kod_prov = $(this).find(\"option:checked\").attr(\"prov_sklo\");\n var grp_skla_filter = [];\n\n $(\"#kod_skla option\").each( function () {\n\n if( kod_prov !== $(this).attr(\"prov_sklo\") ) {\n grp_skla_filter.push( $(this).attr(\"data-filter\") );\n }\n });\n\n\n $(\"#grp_skla\").select2(\"destroy\").val(\" \");\n\n $(\"#grp_skla option\").each( function () {\n $(this).removeAttr(\"disabled\");\n $(this).removeAttr(\"aria-disabled\");\n\n if( grp_skla_filter.indexOf( $(this).attr(\"kod_append\") ) > 0 ) {\n $(this).attr(\"disabled\", \"disabled\");\n $(this).attr(\"aria-disabled\", \"true\");\n }\n\n });\n\n formatSelectImage(\"grp_skla\");\n\n }\n\n if(kod === \"kod_skla\") {\n var sklo_spec = $(this).find(\"option:checked\").attr(\"sklo_spec\");\n\n $(\"#sklo_spec\").select2(\"destroy\").val(\" \");\n\n $(\"#sklo_spec option\").each( function () {\n\n $(this).removeAttr(\"disabled\");\n $(this).removeAttr(\"aria-disabled\");\n\n if( sklo_spec !== $(this).attr(\"sklo_spec\") ) {\n $(this).attr(\"disabled\", \"disabled\");\n $(this).attr(\"aria-disabled\", \"true\");\n }\n });\n\n formatSelectImage(\"sklo_spec\");\n\n }\n\n configurator.validate();\n\n });\n },\n resetAll: function() {\n\n configurator.setConfig( \"xcmd\", \"reset\");\n configurator.getDataSession();\n\n },\n sendBasketCopy: function(){\n let data_send = \"/&command=SET_PRODUCT_CONF&user_konf_id=\"+user_konf_id+\"&e_mail=\"+email+\"&cislo_nomenklatury=\"+id_nomen;\n var dataConf = \"&sloupec=xcmd&hodnota=DO_KOSIKU_KOPIE\";\n\n data_send += dataConf;\n\n var sendBasket = function(data) {\n\n Helper.addInfoText(\"Úspěšně přidáno do košíku\");\n user_konf_id = data.user_konf_id;\n\n if( data.zmena ) {\n configurator.getDataSession();\n }\n\n setTimeout( function () {\n basketSetup.init();\n }, 500);\n\n }\n\n ajaxCall(data_send, sendBasket, true);\n\n },\n sendBasket: function(){\n let data_send = \"/&command=SET_PRODUCT_CONF&user_konf_id=\"+user_konf_id+\"&e_mail=\"+email+\"&cislo_nomenklatury=\"+id_nomen;\n var dataConf = \"&sloupec=xcmd&hodnota=DO_KOSIKU\";\n\n data_send += dataConf;\n\n var sendBasket = function(data) {\n\n if(data.user_konf_id == 1) {\n Helper.addInfoText(\"Úspěšně přidáno do košíku\");\n user_konf_id = data.user_konf_id;\n\n user_konf_id = 1;\n } else {\n Helper.addInfoText(\"Něco se pokazilo zkuste to prosím znovu. Děkujeme.\");\n }\n }\n\n ajaxCall(data_send, sendBasket, true);\n\n },\n setConfig: function(name, value){\n\n let data_send = \"/&command=SET_PRODUCT_CONF&user_konf_id=\"+user_konf_id+\"&e_mail=\"+email+\"&cislo_nomenklatury=\"+id_nomen;\n var dataConf = \"&sloupec=\"+ name + \"&hodnota=\" + value;\n\n data_send += dataConf;\n\n var getSelect = function(data) {\n\n if(!configurator.configUrl() ) {\n user_konf_id = data.user_konf_id;\n }\n\n $(\".idBasket\").val(user_konf_id);\n\n var mnozstvi = parseInt($(\".mnozstvi\").val());\n if(mnozstvi < 1) {\n mnozstvi = 1;\n }\n\n $(\".price_hodnota\").html(parseInt(data[\"cena\"]) * mnozstvi);\n\n if(data.zmena == 1) {\n configurator.getDataSession();\n }\n\n }\n\n if(value != undefined) {\n ajaxCall(data_send, getSelect, true);\n }\n\n },\n getDataSession: function() {\n\n let data_get = {n: 1, command: \"GET_PRODUCT_CONF_ID\", user_konf_id: user_konf_id};\n var setDataSelect = function(data) {\n\n if( data.smako_conf ) {\n var data = data.smako_conf.column;\n var mnozstvi = $(\".mnozstvi\").val();\n if(mnozstvi > 0) {\n mnozstvi = 1;\n }\n\n $(\".price_hodnota\").html(parseInt(data[\"cena\"]) * mnozstvi);\n\n for(var item in data) {\n\n if(checkboxColumn.includes(item.replace(\"user_\", \"\"))) {\n $(\"#\" + item + \"_\" + data[item]).prop(\"checked\", true);\n }\n\n if( item.indexOf(\"user\") > -1) {\n\n if( $(\"input[name='\" + item+\"']\").attr(\"type\") != \"radio\" ) {\n if( data[item] && data[item] != \"NaN\" ) {\n if( $(\"input[name='\" + item+\"']\").val() != parseInt(data[item])) {\n $(\"input[name='\" + item+\"']\").val( parseInt(data[item])).trigger('change');\n }\n }\n } else {\n $(\".\" + item + \"_\" + data[item]).click();\n }\n\n if( $(\"select[name='\" + item + \"']\").val() !== Helper.replaceSpace(data[item]) ){\n $(\"select[name='\" + item + \"']\").val(Helper.replaceSpace(data[item])).trigger('change');\n }\n\n } else if( item.indexOf(\"mnozstvi\") > -1 ) {\n $(\"input[name='\" + item+\"']\").val( parseInt(data[item]));\n }\n\n }\n\n $(\".user_poznamka\").val( data[\"user_poznamka\"] );\n\n if( data[\"sirka_max\"] > 0 && data[\"vyska_max\"] > 0) {\n\n $(\".user_vyska\").attr(\"data-min\", data[\"vyska_min\"] );\n $(\".user_vyska\").attr(\"data-max\", data[\"vyska_max\"] );\n $(\".user_sirka\").attr(\"data-min\", data[\"sirka_min\"] );\n $(\".user_sirka\").attr(\"data-max\", data[\"sirka_max\"] );\n\n $(\".user_vyska\").attr(\"data-min-switch\", data[\"sirka_min\"] );\n $(\".user_vyska\").attr(\"data-max-switch\", data[\"sirka_max\"] );\n $(\".user_sirka\").attr(\"data-min-switch\", data[\"vyska_min\"] );\n $(\".user_sirka\").attr(\"data-max-switch\", data[\"vyska_max\"] );\n\n properties.setLimit(data[\"sirka_max\"], data[\"sirka_min\"], data[\"vyska_max\"], data[\"vyska_min\"]);\n\n }\n\n }\n configurator.initValid();\n configurator.clear();\n }\n ajaxCall(data_get, setDataSelect, false);\n\n },\n setConfigAll: function(){\n\n var $elements = $('#configurator_container select');\n let data_send = \"/&command=SET_PRODUCT_CONF&user_konf_id=\"+user_konf_id+\"&e_mail=\"+email+\"&cislo_nomenklatury=\"+id_nomen;\n var dataConf=\"\";\n $.each( $elements, function(i, field){\n\n dataConf += \"&sloupec=\"+ field.name + \"&hodnota=\" + field.value;\n\n });\n\n data_send += dataConf;\n\n var getSelect = function(data) {\n\n if(!configurator.configUrl() ) {\n user_konf_id = data.user_konf_id;\n }\n\n $(\".idBasket\").val(user_konf_id);\n\n var data = data.smako_conf.column;\n var mnozstvi = $(\".mnozstvi\").val();\n if(mnozstvi < 1) {\n mnozstvi = 1;\n }\n\n $(\".price_hodnota\").html(parseInt(data.cena) * mnozstvi);\n\n }\n\n ajaxCall(data_send, getSelect, false);\n },\n resetAfterSendBasket: function(){\n configurator.getDataSession();\n },\n getCheckboxTemplate: function(data, label_text) {\n var div = document.createElement(\"div\");\n var legend = document.createElement(\"legend\");\n legend.textContent = window.labelName[\"user_\"+label_text];\n legend.setAttribute(\"class\", \"label-user_\"+label_text)\n\n if(col_md_3.includes(label_text)) {\n\n if(prov_sklo.includes(label_text)) {\n div.setAttribute(\"class\",\"prov_sklo col-sm-3\");\n } else {\n div.setAttribute(\"class\",\"col-sm-3 \" + label_text);\n }\n\n } else if(col_md_2.includes(label_text)) {\n\n if(prov_sklo.includes(label_text)) {\n div.setAttribute(\"class\",\"prov_sklo col-sm-2 col-sm-1-5\");\n } else {\n div.setAttribute(\"class\",\"col-sm-2 \" + label_text);\n }\n\n } else {\n\n if(prov_sklo.includes(label_text)) {\n div.setAttribute(\"class\",\"prov_sklo col-sm-2\");\n } else {\n div.setAttribute(\"class\",\"col-sm-2 \" + label_text);\n }\n }\n\n div.appendChild(legend);\n if(data.length > 0){\n\n for(var setInput in data_conf[label_text]) {\n var input = document.createElement(\"INPUT\");\n var label = document.createElement(\"label\");\n var img = document.createElement(\"img\");\n img.setAttribute(\"loading\", \"lazy\");\n\n if( data_conf[label_text][setInput].pic ) {\n img.setAttribute(\"src\", img_container + \"/\" + data_conf[label_text][setInput].pic );\n img.setAttribute(\"class\", \"option-icon\");\n label.setAttribute(\"class\", \"withImg\");\n label.appendChild(img);\n } else {\n label.textContent = data_conf[label_text][setInput].name;\n }\n\n label.setAttribute(\"for\", data_conf[label_text][setInput].hodnota);\n label.setAttribute(\"class\", label_text + \"-\" + data_conf[label_text][setInput].hodnota);\n input.setAttribute(\"id\", \"user_\"+label_text + \"_\" + data_conf[label_text][setInput].hodnota);\n input.setAttribute(\"type\",\"radio\");\n input.setAttribute(\"name\", \"user_\"+ label_text );\n input.setAttribute(\"value\", data_conf[label_text][setInput].hodnota );\n\n div.appendChild(input);\n div.appendChild(label);\n }\n\n }\n\n return div;\n\n },\n getDataSelect: function(label_text, filter) {\n\n var data = new Array;\n for (var filter_data in data_conf[label_text] ){\n\n if( data_conf[label_text][filter_data].kod_grp === filter) {\n data.push( data_conf[label_text][filter_data] );\n }\n }\n },\n getSelectTemplate: function (data, label_text) {\n console.log(label_text, data)\n console.log(data)\n if(!data) {\n return;\n }\n data_conf[label_text] = data;\n\n var div = document.createElement(\"div\");\n var select = document.createElement(\"SELECT\");\n select.setAttribute(\"class\", \"select2-image\");\n var label = document.createElement(\"Label\");\n label.setAttribute(\"class\", \"label-user_\" + label_text);\n\n var spanTooltip = document.createElement(\"span\");\n spanTooltip.setAttribute(\"data-tooltip\",\"\");\n spanTooltip.setAttribute(\"aria-haspopup\",\"true\");\n spanTooltip.setAttribute(\"class\",\"has-tip-top info-button\");\n\n var i = document.createElement(\"i\");\n i.setAttribute(\"class\", \"fa fa-info-circle\");\n i.setAttribute(\"aria-hidden\", \"true\");\n spanTooltip.appendChild(i);\n\n div.setAttribute(\"class\",\"set_data\");\n\n var className = label_text;\n if( data_conf[label_text].length === undefined && label_text == \"patina\" ) {\n className += \" hideSet\";\n }\n\n if(prov_sklo.includes(label_text)) {\n className += \" prov_sklo\";\n }\n\n if(col_md_3.includes(label_text)) {\n className += \" col-sm-3\";\n } else if(col_md_2.includes(label_text)) {\n className += \" col-sm-2\";\n } else {\n className += \" col-sm-4\";\n }\n\n if(window.helps[\"user_\"+label_text]) {\n spanTooltip.setAttribute(\"title\", window.helps[\"user_\"+label_text]);\n div.appendChild(spanTooltip);\n }\n\n div.setAttribute(\"class\", className );\n select.setAttribute(\"id\", label_text );\n select.setAttribute(\"name\", \"user_\"+label_text );\n label.textContent = window.labelName[\"user_\"+label_text];\n\n div.appendChild(label);\n div.appendChild(select);\n\n // add empty option\n var option = document.createElement(\"option\");\n option.innerHTML = \" -- Vyberte možnost -- \";\n option.value = \" \";\n option.setAttribute(\"select\", \"selected\");\n select.appendChild(option);\n\n var option = document.createElement(\"option\");\n select.appendChild(option);\n if(data === \"disabled\") {\n select.disabled;\n select.setAttribute(\"disabled\",\"disabled\");\n } else {\n\n if(data.length) {\n\n for (var x in data) {\n\n var option = document.createElement(\"option\");\n option.value = Helper.replaceSpace(data[x].kod);\n if(data[x].kod_grp) {\n option.setAttribute(\"data-filter\", Helper.replaceSpace(data[x].kod_grp));\n option.setAttribute(\"class\", data[x].kod_grp);\n }\n if(data[x].definice) {\n option.setAttribute(\"data-definice\", data[x].definice);\n }\n if(data[x].folie_spec) {\n option.setAttribute(\"folie_spec\", data[x].folie_spec);\n }\n if(data[x].smer_let) {\n option.setAttribute(\"smer_let\", data[x].smer_let);\n }\n if(data[x].zada_spec) {\n option.setAttribute(\"zada_spec\", data[x].zada_spec);\n }\n if(data[x].pant_spec) {\n option.setAttribute(\"pant_spec\", data[x].pant_spec);\n }\n if(data[x].kod_pantu) {\n option.setAttribute(\"kod_pantu\", data[x].kod_pantu);\n }\n if(data[x].sklo_spec) {\n option.setAttribute(\"sklo_spec\", data[x].sklo_spec);\n }\n if(data[x].prov_sklo) {\n option.setAttribute(\"prov_sklo\", data[x].prov_sklo);\n }\n if(data[x].pic) {\n option.setAttribute(\"pic\", data[x].pic);\n }\n if(data[x].html) {\n option.setAttribute(\"html\", data[x].html);\n }\n if(with_code.includes(label_text)) {\n option.setAttribute(\"kod_append\", data[x].kod);\n }\n\n option.innerHTML = data[x].popis;\n select.appendChild(option);\n }\n } else {\n\n option.value = data.kod;\n option.innerHTML = data.kod + \" \" + data.popis;\n\n if(data.kod_grp) {\n option.setAttribute(\"data-filter\", Helper.replaceSpace(data.kod_grp));\n option.setAttribute(\"class\", data.kod_grp);\n }\n if(data.definice) {\n option.setAttribute(\"data-definice\", data.definice);\n }\n if(data.folie_spec) {\n option.setAttribute(\"folie_spec\", data.folie_spec);\n }\n if(data.smer_let) {\n option.setAttribute(\"smer_let\", data.smer_let);\n }\n if(data.zada_spec) {\n option.setAttribute(\"zada_spec\", data.zada_spec);\n }\n if(data.pant_spec) {\n option.setAttribute(\"pant_spec\", data.pant_spec);\n }\n if(data.kod_pantu) {\n option.setAttribute(\"kod_pantu\", data.kod_pantu);\n }\n if(data.sklo_spec) {\n option.setAttribute(\"sklo_spec\", data.sklo_spec);\n }\n if(data.prov_sklo) {\n option.setAttribute(\"prov_sklo\", data.prov_sklo);\n }\n if(data.pic) {\n option.setAttribute(\"pic\", data.pic);\n }\n if(data.html) {\n option.setAttribute(\"html\", data.html);\n }\n\n }\n }\n\n return div;\n },\n getInputTemplate: function(name) {\n\n var div = document.createElement(\"div\");\n var label = document.createElement(\"label\");\n label.textContent = window.labelName[\"user_\" + name];\n label.setAttribute(\"class\", \"label-user_\" + name);\n\n var spanTooltip = document.createElement(\"span\");\n spanTooltip.setAttribute(\"data-tooltip\",\"\");\n spanTooltip.setAttribute(\"aria-haspopup\",\"true\");\n spanTooltip.setAttribute(\"class\",\"has-tip-top info-button\");\n\n var i = document.createElement(\"i\");\n i.setAttribute(\"class\", \"fa fa-info-circle\");\n i.setAttribute(\"aria-hidden\", \"true\");\n spanTooltip.appendChild(i);\n\n if(window.helps[\"user_\"+name]) {\n spanTooltip.setAttribute(\"title\",window.helps[\"user_\"+name]);\n div.appendChild(spanTooltip);\n }\n\n div.setAttribute(\"class\",\"col-sm-3\");\n var input = document.createElement(\"input\");\n input.setAttribute(\"type\", \"text\");\n if(name != \"poznamka\") {\n input.setAttribute(\"name\", \"user_\" + name);\n }\n input.setAttribute(\"id\", name);\n input.setAttribute(\"class\", \"preview\");\n div.appendChild(label);\n div.appendChild(input);\n\n return div;\n },\n getOrnamentTemplate: function(number){\n var div = document.createElement(\"div\");\n div.setAttribute(\"class\", \"ornam_\" + number);\n div.setAttribute(\"class\", \"ornament\" );\n div.setAttribute(\"data-number\", number);\n\n // Ornament\n var div_col = configurator.getSelectTemplate(ornament_modul.ornament, \"m\" + number);\n div.appendChild(div_col);\n\n // otočená\n var div_col = configurator.getSelectTemplate(data_conf[\"otoceni\"], \"m\" + number + \"_o\");\n div.appendChild(div_col);\n\n // M1\n var div_col = configurator.getInputTemplate(\"m\"+ number + \"_x\");\n div.appendChild(div_col);\n\n // M2\n var div_col = configurator.getInputTemplate(\"m\"+ number + \"_y\");\n div.appendChild(div_col);\n\n $(\"#modulForm\").append(div);\n\n $(\"#m\" + number).change( function () {\n if($(this).val()) {\n var number = parseInt($(this).parents(\"div.ornament\").attr(\"data-number\")) + 1;\n if( !$(\".ornament[data-number='\" + number + \"']\").length ) {\n if(number < 10) {\n configurator.getOrnamentTemplate(number);\n modulImage.init();\n }\n }\n }\n });\n\n setTimeout( function () {\n formatSelectImage(\"m\" + number);\n formatSelectImage(\"m\" + number + \"_o\");\n }, 400);\n\n },\n modul: function() {\n\n $(\".mc\").each(function () {\n $(this).addClass($(this).attr(\"data-modul\"));\n $(this).removeClass($(this).attr(\"data-modul-remove\"));\n });\n\n $(\".express-container\").html($(\".express\").html()).show();\n $(\".express\").remove();\n\n $(\".express-poznamka\").html($(\".poznamka\").html()).show();\n $(\".poznamka\").remove();\n\n $(\".modul-fix\").addClass(\"setModule\");\n\n configurator.getOrnamentTemplate(1);\n\n $(\"#modulForm\").show();\n\n modulImage.init();\n\n },\n getConf: async function () {\n let template = \"\";\n let data_send = \"?n=1&command=GET_PRODUCT_CONF&cislo_nomenklatury=\" + id_nomen;\n\n let getSelect = function(data) {\n\n let objecty = data[\"smako_conf_grp_pantu\"];\n console.log(\"ty veci\" + objecty)\n if (objecty && objecty.length > 0) {\n const unikatniObjecty = objecty.map(obj => obj.grp_pantu);\n console.log(unikatniObjecty)\n data[\"smako_conf_grp_pantu\"] = []\n\n data[\"smako_conf_grp_pantu\"].grp_pantu = unikatniObjecty[0]\n }\n console.log(data)\n\n ornament_modul = data[\"smako_conf_ornament\"];\n\n if(typ_atributu == \"NBDIL\") {\n $(\"#konfigurator\").addClass(\"NBDIL\");\n column = column_nbdil;\n } else if(typ_atributu == \"MODUL\") {\n $(\"#konfigurator\").addClass(\"MODUL\");\n column = column_modul;\n configurator.modul();\n } else if(typ_atributu == \"HP\") {\n $(\"#konfigurator\").addClass(\"HP\");\n column = column_hp;\n configurator.hideElement(column_hp_delete);\n setTimeout( function () {\n $(\".kod_pantu\").find(\"label\").html(\"Montážní sada\");\n }, 300);\n } else if(typ_atributu == \"LISTA\") {\n $(\"#konfigurator\").addClass(\"LISTA\");\n column = column_lista;\n configurator.hideElement(column_lista_delete);\n } else if(typ_atributu == \"SKVD\") {\n $(\"#konfigurator\").addClass(\"SKVD\");\n column = column_sklo;\n //configurator.hideElement(column_lista_delete);\n } else if(typ_atributu == \"LIPRO\") {\n $(\"#konfigurator\").addClass(\"LIPRO\");\n column = column_lipro;\n configurator.hideElement(column_lipro_delete);\n } else if(typ_atributu == \"DRVD\") {\n $(\"#konfigurator\").addClass(\"DRVD\");\n column = column_drvd;\n\n } else if(typ_atributu == \"UAL\") {\n $(\"#konfigurator\").addClass(\"UAL\");\n column = column_ual;\n configurator.hideElement(column_ual_delete);\n\n } else if(typ_atributu == \"UCHMM\") {\n $(\"#konfigurator\").addClass(\"UCHMM\");\n column = column_uchmm;\n configurator.hideElement(column_uchmm_delete);\n setTimeout( function () {\n $(\".height\").find(\"label[for='input-2']\").html(\"Délka\");\n }, 300);\n }\n\n $.each(column, function (i) {\n\n column_set = data[\"smako_conf_\" + column[i]];\n\n\n if(checkboxColumn.includes(column[i])){\n template = configurator.getCheckboxTemplate( column[i], column[i]);\n } else if( column[i]=== \"\" ) {\n\n var div = document.createElement(\"div\");\n div.setAttribute(\"class\", \"col-sm-4 empty\");\n template = div;\n\n } else if(column[i] == \"hrana_p\" || column[i] == \"hrana_d\" || column[i] == \"hrana_h\" || column[i] == \"hrana_l\") {\n\n var column_set_hrana = data[\"smako_conf_hrana\"];\n\n if(column_set_hrana) {\n template = configurator.getSelectTemplate(column_set_hrana[\"hrana\"], column[i]);\n }\n\n } else {\n\n if(column_set === null) {\n template = configurator.getSelectTemplate(\"disabled\", column[i]);\n } else if(column_set) {\n template = configurator.getSelectTemplate(column_set[column[i]], column[i]);\n } else {\n if(data_conf[column[i]]) {\n template = configurator.getSelectTemplate(data_conf[column[i]], column[i]);\n }\n }\n }\n\n $(\"#configurator_container\").append(template);\n\n\n if(!checkboxColumn.includes(column[i])) {\n formatSelectImage(column[i]);\n }\n\n });\n\n if( typ_atributu == \"SKVD\" || typ_atributu == \"DRVD\" ) {\n $(\".prov_sklo\").show();\n }\n\n configurator.initSelectChange();\n configurator.initInputChange();\n configurator.getDataSession();\n color_panel.init();\n next_variant.init();\n };\n\n let data = await AxiosApi(data_send);\n\n getSelect(data.root);\n },\n hideElement: function(data) {\n for(var i=0; i< data.length; i++) {\n $(\".\"+data[i]).remove();\n }\n },\n initValid: function () {\n for( var item in window.validator ) {\n $(\"[name='\"+ window.validator[item] + \"']\").addClass(\"required\");\n }\n },\n validate: function () {\n\n var validate = 0;\n\n $(\".required\").each( function(){\n\n if( $(this).val()==0 || $(this).val() == undefined ) {\n $(this).addClass(\"error\");\n $(this).parent(\"div\").addClass(\"error\");\n $(this).parent(\"div\").find(\".error_text\").remove();\n $(this).parent(\"div\").append(error);\n ++validate;\n } else {\n $(this).removeClass(\"error\");\n $(this).parent(\"div\").removeClass(\"error\");\n $(this).parent(\"div\").find(\".error_text\").remove();\n }\n\n\n if( $(this).hasClass(\"user_vyska\") || $(this).hasClass(\"user_sirka\") ) {\n\n let switch_size = false;\n if( $(this).hasClass(\"switch_size\") ) {\n switch_size = true;\n }\n var error2 = '
Zadaný rozměr není v možném rozmezí.
';\n\n let min = parseInt($(this).attr(\"data-min\")) || 0;\n let max = parseInt($(this).attr(\"data-max\")) || 10000;\n let min_switch = parseInt($(this).attr(\"data-min-switch\")) || 0;\n let max_switch = parseInt($(this).attr(\"data-max-switch\")) || 10000;\n\n if( min <= parseInt($(this).val()) && parseInt($(this).val()) <= max ) {\n $(this).removeClass(\"error\");\n $(this).parent(\"div\").removeClass(\"error\");\n $(this).parent(\"div\").find(\".error_text\").remove();\n } else if( switch_size && min_switch <= parseInt($(this).val()) && parseInt($(this).val()) <= max_switch ) {\n\n if( $(this).hasClass(\"user_vyska\") && min <= parseInt($(\".user_sirka\").val()) && parseInt($(\".user_sirka\").val()) <= max ) {\n\n $(this).removeClass(\"error\");\n $(this).parent(\"div\").removeClass(\"error\");\n $(this).parent(\"div\").find(\".error_text\").remove();\n\n } else if( $(this).hasClass(\"user_sirka\") && min <= parseInt($(\".user_vyska\").val()) && parseInt($(\".user_vyska\").val()) <= max ) {\n\n $(this).removeClass(\"error\");\n $(this).parent(\"div\").removeClass(\"error\");\n $(this).parent(\"div\").find(\".error_text\").remove();\n\n } else {\n $(this).addClass(\"error\");\n $(this).parent(\"div\").addClass(\"error\");\n $(this).parent(\"div\").find(\".error_text\").remove();\n $(this).parent(\"div\").append(error2);\n ++validate;\n }\n\n } else {\n $(this).addClass(\"error\");\n $(this).parent(\"div\").addClass(\"error\");\n $(this).parent(\"div\").find(\".error_text\").remove();\n $(this).parent(\"div\").append(error2);\n ++validate;\n }\n }\n\n });\n\n if(validate == 0) {\n $(\"._addToBasket\").addClass(\"validate\");\n } else {\n $(\"._addToBasket\").removeClass(\"validate\");\n }\n\n },\n configUrl: function () {\n if(Helper.getUrlVars()[\"conf_nb\"]) {\n user_konf_id = Helper.getUrlVars()[\"conf_nb\"].match(/\\d+/)[0];\n $(\"._addToBasket\").text(\"ULOŽIT ZMĚNY\");\n $(\"._addToBasket\").attr(\"after\", \"redirect_basket\");\n return user_konf_id;\n } else {\n return false;\n }\n },\n loaderInit: function () {\n //$(\".conf_container\").css(\"visibility\", \"hidden\");\n $(\"#konfigurator\").append(loader);\n },\n clear: function () {\n $(\".conf_container\").css(\"visibility\", \"visible\");\n //$(\"#konfigurator\").find(\".lds-default\").remove();\n }\n};\n\nfunction parseDateTime(datetime) {\n var monthNames = [\n \"January\", \"February\", \"March\",\n \"April\", \"May\", \"June\", \"July\",\n \"August\", \"September\", \"October\",\n \"November\", \"December\"\n ];\n if(datetime.split(' ').length == 3){\n var date = datetime.split(' ')[0];\n var time = datetime.split(' ')[1].replace('.00','');\n var timearray = time.split(':');\n var hours = parseInt(time.split(':')[0]);\n var format = datetime.split(' ')[2];\n var bits = date.split(/\\D/);\n date = new Date(bits[0], --bits[1], bits[2]); /* if you change format of datetime which is passed to this function, you need to change bits e.x ( bits[0], bits[1], bits[2 ]) position as per date, months and year it represent bits array.*/\n var day = date.getDate();\n var monthIndex = date.getMonth();\n var year = date.getFullYear();\n if ((format === 'PM' || format === 'pm') && hours !== 12) {\n hours += 12;\n try{ time = hours+':'+timearray[1]+':'+timearray[2] }catch(e){ time = hours+':'+timearray[1] }\n }\n var formateddatetime = new Date(monthNames[monthIndex] + ' ' + day + ' ' + year + ' ' + time);\n return formateddatetime;\n }else if(datetime.split(' ').length == 2){\n var date = datetime.split(' ')[0];\n var time = datetime.split(' ')[1];\n var bits = date.split(/\\D/);\n var datetimevalue = new Date(bits[0], --bits[1], bits[2]); /* if you change format of datetime which is passed to this function, you need to change bits e.x ( bits[0], bits[1], bits[2 ]) position as per date, months and year it represent bits array.*/\n var day = datetimevalue.getDate();\n var monthIndex = datetimevalue.getMonth();\n var year = datetimevalue.getFullYear();\n var formateddatetime = new Date(monthNames[monthIndex] + ' ' + day + ' ' + year + ' ' + time);\n return formateddatetime;\n }else if(datetime != ''){\n var bits = datetime.split(/\\D/);\n var date = new Date(bits[0], --bits[1], bits[2]); /* if you change format of datetime which is passed to this function, you need to change bits e.x ( bits[0], bits[1], bits[2 ]) position as per date, months and year it represent bits array.*/\n return date;\n }\n return datetime;\n}\n\nconst detail = {\n init: async function () {\n\n let data_send = \"?n=1&command=GET_PRODUCT_DETAIL&cislo_nomenklatury=\"+ id_nomen;\n function getImage(data) {\n\n if( !configurator.configUrl() ) {\n user_konf_id = data.smako_conf.config.user_konf_id;\n }\n\n url_nahled = data.smako_url_nahed.url.url_nahled;\n\n var element = data.nomenklatura_detail;\n\n typ_atributu = data.nomenklatura_detail.typ_atributu;\n configurator.init();\n\n if(element.properties_items) {\n properties.init(element.properties_items.properties_item);\n } else {\n $(\"#params\").hide();\n }\n\n if (element.file_items != null) {\n file_data = element.file_items.file_item;\n }\n\n if(data.smako_tech_info) {\n smako_tech_info = data.smako_tech_info.smako_tech_info;\n\n if(smako_tech_info.length) {\n for (var item in smako_tech_info) {\n template_tech += '
';\n }\n } else {\n template_tech += '
';\n }\n\n $(\".tech_info\").html(template_tech);\n } else {\n $(\"#parametry\").hide();\n }\n\n detail.navigateNomen(data.smako_nom_nav.navigace.next_nom, \".next_nomen\");\n detail.navigateNomen(data.smako_nom_nav.navigace.prev_nom, \".prev_nomen\");\n\n if( file_data.length > 1) {\n for(var item in file_data) {\n detail.getpicture(file_data[item]);\n }\n } else {\n detail.getpicture(file_data);\n }\n\n $(\"#galleryDetail\").html(\"
\" + templateMain + \"
\");\n $(\"#galleryDetail\").append(\"
\" + template + \"
\");\n\n $('.slick-product').slick({\n slidesToScroll: 1,\n autoplay: true,\n arrows: false,\n lazyLoad: 'ondemand', // ondemand progressive anticipated\n infinite: true,\n asNavFor: '.slick-nav'\n });\n\n $('.slick-nav').slick({\n slidesToShow: 7,\n slidesToScroll: 1,\n asNavFor: '.slick-product',\n arrows: false,\n dots: false,\n draggable: false,\n centerMode: true,\n focusOnSelect: true\n });\n\n setTimeout( function () {\n detail.clear();\n }, 2000);\n\n }\n\n let data = await AxiosApi(data_send);\n getImage(data.root);\n },\n getpicture: function( file_data ){\n\n if(file_data) {\n var ts = ((parseDateTime(file_data.ts).getTime() * 10000) + 621355968000000000) - (parseDateTime(file_data.ts).getTimezoneOffset() * 600000000);\n\n ts = ts.toString();\n var root = \"/App_Firma/Data/Products/\";\n\n var file_image, file_imageSmall = \"\";\n let nameFile = file_data.file_name.toLowerCase();\n\n if ( nameFile ) {\n\n if( file_data.description == \"#ZSHOP_PICTURE_DETAIL_MAIN;\" || file_data.description == \"#ZSHOP_PICTURE_DETAIL;\") {\n\n file_image = root + file_data.pk + \"_\" + file_data.poradi + \"_\" + file_data.file_name.replace(\".\", \"_\") + \"_\" + ts + Suffix.init(nameFile);\n file_imageSmall = root + \"preview/p_\" + file_data.pk + \"_\" + file_data.poradi + \"_\" + file_data.file_name.replace(\".\", \"_\") + \"_\" + ts + Suffix.init(nameFile);\n\n //document.getElementById(\"main_gallery\").setAttribute(\"src\", file_image );\n templateMain += '';\n template += '';\n\n } else if(file_data.description == \"#ZSHOP_PICTURE_TVAR;\"){\n\n var file_tvar = root + file_data.pk + \"_\" + file_data.poradi + \"_\" + file_data.file_name.replace(\".\", \"_\") + \"_\" + ts + Suffix.init(nameFile);\n var template_tvar = '';\n $(\".nomen_desk\").append( template_tvar);\n\n } else if(file_data.description == \"#ZSHOP_PICTURE_REZ;\") {\n\n var file_rez = root + file_data.pk + \"_\" + file_data.poradi + \"_\" + file_data.file_name.replace(\".\", \"_\") + \"_\" + ts + Suffix.init(nameFile);\n var template_rez = '';\n $(\".rez_dvirky\").append(template_rez);\n $(\"#cut_door\").show();\n\n\n } else if(file_data.description == \"#ZSHOP_PICTURE_UCH;\") {\n\n var file_uch = root + file_data.pk + \"_\" + file_data.poradi + \"_\" + file_data.file_name.replace(\".\", \"_\") + \"_\" + ts + Suffix.init(nameFile);\n var template_uch = '';\n $(\".pant_variant\").append(template_uch);\n $(\"#uchytky\").show();\n\n } else if( file_data.att_class == \"ZSHOP_FILE\" ) {\n var file_href = container_documents + \"/\" + file_data.pk + \"_\" + file_data.poradi + \"_\" + file_data.file_name.replace(\".\", \"_\") + \"_\" + ts + Suffix.init(nameFile);\n $(\"[attr-download='\" + file_data.description + \"']\").attr(\"href\", file_href).css(\"display\",\"block\");\n }\n\n // var file_href = container_documents + \"/\" + file_data.pk + \"_\" + file_data.poradi + \"_\" + file_data.file_name.replace(\".\", \"_\") + \"_\" + ts + Suffix.init(nameFile);\n\n }\n }\n\n },\n navigateNomen: function(nomen, where){\n\n var nextNomen = nomen.replace(\"/\", \"+++\");\n\n $(where).attr(\"href\", \"/Product/cs-CZ/\" + nextNomen + \"/_\");\n if(where == \".next_nomen\") {\n $(where).prepend(nomen + \" \");\n } else {\n $(where).append(\" \" + nomen);\n }\n\n },\n loaderInit: function () {\n $(\"#galerie\").before(loader);\n $(\".tech_info\").html(loader);\n $('a[href=\"#galerie\"]').append(loader);\n },\n clear: function () {\n\n $(\"#galerie\").prev().remove();\n $('a[href=\"#galerie\"]').find(\".lds-default\").remove();\n }\n}\n\nvar color_panel = {\n init: function () {\n\n var data = data_conf[\"grp_folie\"];\n var img = data_conf[\"kod_folie\"];\n\n var template = \"\", tabs_content = \"\", img_content = \"\";\n var template2 = \"\", tabs_content2 = \"\", img_content2 = \"\";\n var first = true;\n var ariahiden = false;\n var class_active = \"\";\n\n if(data)\n {\n $(\"#barvy .tabs-content\").append(loader);\n if(data.length) {\n for( var item in data) {\n\n class_active = \"\";\n\n if(first) {\n class_active = \"is-active\";\n ariahiden = false;\n }\n template += \"\";\n tabs_content += \"

\";\n\n template2 += \"\";\n tabs_content2 += \"

\";\n\n first = false;\n ariahiden = true;\n }\n } else {\n class_active = \"\";\n if(first) {\n class_active = \"is-active\";\n ariahiden = false;\n }\n template = \"\";\n tabs_content = \"

\";\n\n }\n\n setTimeout( function () {\n\n\n $(\"#barvy\").find(\"#color_tabs\").html(template);\n $(\"#barvy\").find(\".tabs-content\").html(tabs_content);\n $(\"#barvy\").find(\".loader\").remove();\n\n $(\"#sample\").html(template);\n \n if( img.length ) {\n for (var item in img) {\n img_content = '
' + img[item].kod + '
' + img[item].popis + '
';\n $(\"#\" + img[item].kod_grp).find(\"section\").append(img_content);\n }\n } else {\n img_content = '
' + img.kod + '
' + img.popis + '
';\n $(\"#\" + img.kod_grp).find(\"section\").append(img_content);\n }\n\n\n $(\"#color_tabs\").addClass(\"tabs\").attr(\"data-tab\",\"\");\n\n $(\".has-color-tip\").qtip({ // Grab all elements with a title attribute\n content: {\n text: $(this).attr(\"title\") // Won't work, because \"this\" is the window element!\n },\n show: {\n event: 'mouseover',\n solo: true\n },\n hide: {\n event: 'click unfocus'\n },\n overwrite: false, // Make sure the tooltip won't be overridden once created\n position: {\n my: \"bottom center\",\n at: \"top center\",\n },\n style: {\n classes: 'qtip-bootstrap',\n tip: {\n width: 16,\n height: 8\n }\n }\n });\n\n // Slick\n $('.slick-decor').slick({\n dots: true,\n vertical: false,\n centerMode: false,\n accessibility: true,\n rows: 2,\n slidesPerRow: 6,\n lazyLoad: 'ondemand', // ondemand progressive anticipated\n infinite: false,\n nextArrow: '',\n prevArrow: '',\n responsive: [{\n breakpoint: 1024,\n settings: {\n rows: 3,\n slidesPerRow: 4,\n }\n }]\n });\n\n // color panel helper\n $(\".tabs-title\").click( function () {\n var id = $(this).find(\"a\").attr(\"data-tabs-target\");\n $(\".tabs-title\").removeClass(\"is-active\");\n $(\".tabs-panel\").removeClass(\"is-active\");\n $(this).addClass(\"is-active\");\n $(id).addClass(\"is-active\");\n });\n\n\n }, 1000);\n }\n\n },\n fillTemplate: function () {\n\n }\n}\n\nvar properties = {\n init: function (data) {\n\n var table = document.getElementById(\"table_prop\");\n var max_width, max_height, min_width, min_height = 0;\n\n for ( var item in data) {\n var row = table.insertRow(0);\n var cell1 = row.insertCell(0);\n var cell2 = row.insertCell(1);\n cell1.innerHTML = data[item].vlastnost_nazev;\n\n if ( data[item].properties_values_items ) {\n\n cell2.innerHTML = data[item].properties_values_items.properties_values_item.nazev_pro_web;\n\n if(data[item].vlastnost == \"SIRKA_MAX\" ) {\n max_width = data[item].properties_values_items.properties_values_item.nazev_pro_web;\n }\n if(data[item].vlastnost == \"SIRKA_MIN\" ) {\n min_width = data[item].properties_values_items.properties_values_item.nazev_pro_web;\n }\n if(data[item].vlastnost == \"VYSKA_MAX\" ) {\n max_height = data[item].properties_values_items.properties_values_item.nazev_pro_web;\n }\n if(data[item].vlastnost == \"VYSKA_MIN\" ) {\n min_height = data[item].properties_values_items.properties_values_item.nazev_pro_web;\n }\n }\n\n }\n\n\n if(data[item].vlastnost) {\n properties.setLimit(max_width, min_width, max_height, min_height);\n $(\"#params\").show();\n } else {\n $(\"#params\").hide();\n }\n\n },\n\n setLimit: function (max_width, min_width, max_height, min_height) {\n\n var width_text = \"Minimální šířka \" + min_width + \", maximální šířka \" + max_width;\n $(\".width_limit\").html(width_text);\n\n var height_text = \"Minimální výška \" + min_height + \", maximální výška \" + max_height;\n $(\".height_limit\").html(height_text);\n\n }\n}\n\nvar next_variant = {\n init: function () {\n\n var data = data_conf[\"kod_prov\"];\n var img = \"\";\n\n if(data) {\n if( data.length ) {\n for (var item in data) {\n img += '
' + data[item].kod + '
' + data[item].popis + '
';\n }\n } else {\n img = '
' + data.kod + '
' + data.popis + '
';\n }\n }\n\n $(\".next_variant\").append(img);\n\n next_variant.clear();\n },\n loaderInit: function () {\n $(\".next_variant\").append(loader);\n },\n clear: function () {\n $(\".next_variant\").find(\".lds-default\").remove();\n let preloadImg = PreloadImages;\n preloadImg.preload();\n }\n}\n\nvar modulImage = {\n init: function () {\n $(\".preview, #m1, #m1_o, #m2, #m2_o, #m3, #m3_o, #m4, m4_o, #m4, m4_o, #m5, m5_o, #m6, m6_o, #m7, m7_o, #m8, m8_o, #m9, #m9_o\").change( function () {\n modulImage.getPreview();\n });\n },\n getPreview: function () {\n let height = $(\".user_vyska\").val();\n let width = $(\".user_sirka\").val();\n let m = \"\";\n let url = url_nahled + \"/Wysokość/\" + height + \"/Szerokość/\" + width;\n\n for( var i=1; i<10; i++) {\n m = $(\"#m\"+i).val();\n if(m) {\n m = m.replace(\"/\", \"_\");\n }\n if( m == \"ZV\") {\n m = \"struktura\";\n }\n if(m) {\n url += \"/Ornament \" + i + \"/\" + m + \"/Ornament \" + i + \" obrót/\" + $(\"#m\" + i + \"_o\").val();\n url += \"/Ornament \" + i + \" M1/\" + $(\"#m\"+i + \"_x\").val() + \"/Ornament \" + i + \" M2/\" + $(\"#m\" + i + \"_y\").val();\n }\n }\n\n url += \"/linie/1\";\n\n var img = document.createElement(\"img\");\n img.setAttribute(\"loading\", \"lazy\");\n\n if(height > 0 && width > 0) {\n img.setAttribute(\"src\", url );\n $(\"#modulFormImage\").html(img);\n }\n\n }\n}\n\nvar pant_variant = {\n init: function () {\n var data = data_conf[\"kod_pantu\"];\n\n if(data.length) {\n for (var item in data) {\n var img = '
' + data[item].kod + ' ' + data[item].popis + '
';\n $(\".pant_variant\").append(img);\n }\n } else {\n var img = '
' + data.kod + ' ' + data.popis + '
';\n $(\".pant_variant\").append(img);\n }\n }\n}\n\njQuery(document).ready( function ($) {\n\n // When edit in basket -- url haf conf_nb\n configurator.configUrl();\n\n $(\".idBasket\").val(user_konf_id);\n $(window).load(function() {\n\n detail.init();\n\n $(\".resetConf\").click(function () {\n configurator.resetAll();\n });\n\n $(\"._addBasketReset\").click( function (e) {\n e.preventDefault();\n configurator.resetAll();\n });\n\n basketSetup.init();\n\n $(\"#konfigurator textarea\").change(function(){\n\n configurator.setConfig( $(this).attr(\"name\") , $(this).val());\n\n });\n\n // express\n $(\".switch-paddle\").click( function () {\n var checkBoxes = $(\"#express\");\n if(checkBoxes.val() == 1) {\n checkBoxes.val(0);\n } else {\n checkBoxes.val(1);\n }\n\n });\n\n $(\"._addToBasket\").click( function () {\n\n configurator.initValid();\n configurator.validate();\n if($(this).hasClass(\"validate\")) {\n //configurator.sendBasket();\n configurator.sendBasketCopy();\n\n setTimeout( function () {\n configurator.resetAfterSendBasket();\n }, 500)\n }\n $(\".basket_count\").text( parseInt($(\".basket_count\").text()) + 1 );\n\n if( $(this).attr(\"after\") == \"redirect_basket\" ) {\n location.href = \"/kosik\";\n }\n\n });\n\n $(\".select2-selection__rendered\").hover( function() {\n\n if( $(this).find(\"img\").length > 0 ) {\n var img = $(this).find(\"img\").clone();\n var span_hover = \"\";\n $(this).append(span_hover);\n $(\".span_hover\").append(img);\n }\n\n });\n\n $(\".select2-selection__rendered\").mouseleave( function() {\n\n $(\".span_hover\").remove();\n\n });\n\n $(\".has-tip\").qtip({ // Grab all elements with a title attribute\n content: {\n text: $(this).attr(\"title\") // Won't work, because \"this\" is the window element!\n },\n show: {\n event: 'mouseover',\n solo: true\n },\n hide: {\n event: 'click unfocus'\n },\n overwrite: false, // Make sure the tooltip won't be overridden once created\n position: {\n my: 'top center',\n at: 'bottom center'\n },\n style: {\n classes: 'qtip-bootstrap',\n tip: {\n width: 16,\n height: 8\n }\n }\n });\n\n });\n\n\n});\n\nlet preloadImg = PreloadImages;\nlet fallImages = FallbackImages;\n\nwindow.addEventListener( \"DOMContentLoaded\", function(){\n\n NameCols.getLabel();\n\n setTimeout( function(){\n preloadImg.preload();\n }, 10000)\n\n setTimeout( function(){\n fallImages.fallbackImages();\n }, 3000)\n});\n","export class Suffix {\n constructor(){\n\n }\n static init(name){\n if(name.indexOf(\"jpg\") > -1) {\n return \".jpg\";\n } else if(name.indexOf(\"png\") > -1) {\n return \".png\";\n } else if(name.indexOf(\"gif\") > -1) {\n return \".gif\";\n } else if(name.indexOf(\"pdf\") > -1) {\n return \".pdf\";\n } else if(name.indexOf(\"jpg\") > -1) {\n return \".jpg\";\n } else if(name.indexOf(\"webp\") > -1) {\n return \".webp\";\n }\n }\n}","export default class Helper {\n constructor() {\n\n }\n static replaceSpace(str) {\n str = str.toString().replace( \" \", \"%20\");\n return str;\n }\n static getUrlVars() {\n var vars = {};\n var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) {\n vars[key] = value;\n });\n return vars;\n }\n static addInfoText(text) {\n $(\".info_message\").show().html(text).delay(2000).fadeOut(4000);\n }\n static modal(title, content){\n\n $(\"#error_message\").find(\"#modalTitle\").html(title);\n $(\"#error_message\").find(\".modalContent\").html(content);\n\n $('#error_message').foundation('open');\n\n }\n};","import { AxiosApi } from \"../AxiosApi\"\n\nexport class NameCols {\n constructor(){\n }\n static async getLabel() {\n let data_send = \"?n=1&command=GET_PRODUCT_CONF_COLS&cislo_nomenklatury=\"+ id_nomen;\n let data = await AxiosApi(data_send);\n if (data.root.smako_conf_cols) {\n let conf_cols = data.root.smako_conf_cols.column;\n for (let dataLabel in conf_cols) {\n $(\".label-\" + conf_cols[dataLabel].column).text( conf_cols[dataLabel].label );\n window.labelName[conf_cols[dataLabel].column] = conf_cols[dataLabel].label;\n window.helps[conf_cols[dataLabel].column] = conf_cols[dataLabel].help;\n\n if (conf_cols[dataLabel].must == 1) {\n window.validator.push(conf_cols[dataLabel].column);\n }\n }\n }\n\n }\n}"],"names":["module","exports","utils","settle","cookies","buildURL","buildFullPath","parseHeaders","isURLSameOrigin","createError","config","Promise","resolve","reject","requestData","data","requestHeaders","headers","isFormData","request","XMLHttpRequest","auth","username","password","unescape","encodeURIComponent","Authorization","btoa","fullPath","baseURL","url","open","method","toUpperCase","params","paramsSerializer","timeout","onreadystatechange","readyState","status","responseURL","indexOf","responseHeaders","getAllResponseHeaders","response","responseType","responseText","statusText","onabort","onerror","ontimeout","timeoutErrorMessage","isStandardBrowserEnv","xsrfValue","withCredentials","xsrfCookieName","read","undefined","xsrfHeaderName","forEach","val","key","toLowerCase","setRequestHeader","isUndefined","e","onDownloadProgress","addEventListener","onUploadProgress","upload","cancelToken","promise","then","cancel","abort","send","bind","Axios","mergeConfig","createInstance","defaultConfig","context","instance","prototype","extend","axios","create","instanceConfig","defaults","Cancel","CancelToken","isCancel","all","promises","spread","isAxiosError","message","this","toString","__CANCEL__","executor","TypeError","resolvePromise","token","reason","throwIfRequested","source","c","value","InterceptorManager","dispatchRequest","interceptors","arguments","chain","interceptor","unshift","fulfilled","rejected","push","length","shift","getUri","replace","handlers","use","eject","id","fn","h","isAbsoluteURL","combineURLs","requestedURL","enhanceError","code","error","Error","transformData","throwIfCancellationRequested","transformRequest","merge","common","adapter","transformResponse","toJSON","name","description","number","fileName","lineNumber","columnNumber","stack","config1","config2","valueFromConfig2Keys","mergeDeepPropertiesKeys","defaultToConfig2Keys","directMergeKeys","getMergedValue","target","isPlainObject","isArray","slice","mergeDeepProperties","prop","axiosKeys","concat","otherKeys","Object","keys","filter","validateStatus","fns","normalizeHeaderName","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","process","call","isArrayBuffer","isBuffer","isStream","isFile","isBlob","isArrayBufferView","buffer","isURLSearchParams","isObject","JSON","stringify","parse","maxContentLength","maxBodyLength","thisArg","args","Array","i","apply","encode","serializedParams","parts","v","isDate","toISOString","join","hashmarkIndex","relativeURL","write","expires","path","domain","secure","cookie","isNumber","Date","toGMTString","isString","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","trim","substr","callback","arr","getPrototypeOf","isFunction","obj","l","hasOwnProperty","constructor","FormData","ArrayBuffer","isView","pipe","URLSearchParams","product","result","assignValue","a","b","str","stripBOM","content","charCodeAt","runtime","Op","hasOwn","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","defineProperty","enumerable","configurable","writable","err","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","Context","_invoke","state","GenStateSuspendedStart","arg","GenStateExecuting","GenStateCompleted","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","record","tryCatch","type","done","GenStateSuspendedYield","makeInvokeMethod","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","values","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","invoke","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","info","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","displayName","isGeneratorFunction","genFun","ctor","mark","setPrototypeOf","__proto__","awrap","async","iter","object","reverse","pop","skipTempReset","prev","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","Function","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","n","getter","__esModule","d","definition","o","get","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","_arrayLikeToArray","len","arr2","_toConsumableArray","from","minLen","_classCallCheck","Constructor","_defineProperties","props","descriptor","_createClass","protoProps","staticProps","PreloadImages","getElementsByClassName","image","src","getAttribute","classList","contains","add","removeAttribute","placeholder","img","Image","onload","FallbackImages","getElementsByTagName","modal","title","$","find","html","foundation","ornament_modul","file_data","smako_tech_info","AxiosApi","data_send","uniq","getTime","append","responseData","error_code","error_message","text","addClass","setTimeout","hide","Suffix","Helper","vars","m","show","delay","fadeOut","NameCols","id_nomen","root","smako_conf_cols","dataLabel","conf_cols","column","label","labelName","helps","help","must","validator","img_container_icon","data_conf","typ_atributu","url_nahled","template","templateMain","template_tech","column_nbdil","loader","column_modul","column_hp","column_hp_delete","column_lista","column_lista_delete","column_lipro","column_lipro_delete","column_drvd","column_uchmm","column_uchmm_delete","column_ual","column_ual_delete","column_sklo","hodnota","pic","popis","kod","column_set","col_md_3","col_md_2","checkboxColumn","with_code","prov_sklo","user_konf_id","formatState","element","matchCustom","term","modifiedData","formatSelectImage","select2","minimumResultsForSearch","width","templateResult","templateSelection","theme","language","matcher","configurator","init","next_variant","loaderInit","data_send_folie","getFolieSpec","smako_conf_folie_spec","folie_spec","dataFolie","data_send_folie_zad","getZadaSpec","dataFolieZad","data_send_sklo","getSkloSpec","smako_conf_sklo_spec","sklo_spec","dataSklo","getConf","qtip","attr","event","solo","overwrite","position","my","at","style","classes","tip","height","initInputChange","change","setConfig","validate","switchClass","className","removeClass","initSelectChange","previous","on","filter_id","each","removeAttr","zada_spec","pant_spec","kod_pantu","kod_prov","grp_skla_filter","resetAll","getDataSession","sendBasketCopy","email","ajaxCall","addInfoText","zmena","basketSetup","sendBasket","configUrl","mnozstvi","parseInt","command","smako_conf","item","includes","trigger","click","replaceSpace","properties","setLimit","initValid","clear","setConfigAll","$elements","dataConf","field","cena","resetAfterSendBasket","getCheckboxTemplate","label_text","div","legend","textContent","appendChild","setInput","input","img_container","getDataSelect","filter_data","kod_grp","getSelectTemplate","console","log","select","spanTooltip","option","innerHTML","disabled","x","definice","smer_let","getInputTemplate","getOrnamentTemplate","div_col","ornament","parents","modulImage","modul","getSelect","objecty","unikatniObjecty","map","grp_pantu","hideElement","column_set_hrana","color_panel","parent","hasClass","switch_size","min","max","min_switch","max_switch","getUrlVars","css","parseDateTime","datetime","monthNames","date","timearray","time","hours","format","bits","day","getDate","monthIndex","getMonth","year","getFullYear","datetimevalue","detail","getImage","smako_url_nahed","nomenklatura_detail","properties_items","properties_item","file_items","file_item","navigateNomen","smako_nom_nav","navigace","next_nom","prev_nom","getpicture","slick","slidesToScroll","autoplay","arrows","lazyLoad","infinite","asNavFor","slidesToShow","dots","draggable","centerMode","focusOnSelect","ts","getTimezoneOffset","file_image","file_imageSmall","nameFile","file_name","pk","poradi","template_tvar","template_rez","template_uch","att_class","file_href","container_documents","nomen","where","nextNomen","prepend","before","tabs_content","img_content","first","ariahiden","class_active","vertical","accessibility","rows","slidesPerRow","nextArrow","prevArrow","responsive","breakpoint","settings","fillTemplate","max_width","max_height","min_width","table","getElementById","min_height","row","insertRow","cell1","insertCell","cell2","vlastnost_nazev","properties_values_items","properties_values_item","nazev_pro_web","vlastnost","width_text","height_text","preload","getPreview","jQuery","ready","load","preventDefault","checkBoxes","hover","clone","mouseleave","preloadImg","fallImages","getLabel","fallbackImages"],"sourceRoot":""}