{"version":3,"file":"home_66c3f37c90505c59c754.bundle.js","mappings":"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","sources":["webpack://tumarket/webpack/runtime/chunk loaded","webpack://tumarket/webpack/runtime/create fake namespace object","webpack://tumarket/webpack/runtime/load script","webpack://tumarket/./js/global/readmore.js","webpack://tumarket/./js/global/util.js","webpack://tumarket/./js/search/productsList.js","webpack://tumarket/./js/search/OtherCitiesSearch.js","webpack://tumarket/./js/previews/previewsEmbed.js","webpack://tumarket/./js/home/home.js","webpack://tumarket/./js/pages/home.js","webpack://tumarket/webpack/bootstrap","webpack://tumarket/webpack/runtime/amd options","webpack://tumarket/webpack/runtime/compat get default export","webpack://tumarket/webpack/runtime/define property getters","webpack://tumarket/webpack/runtime/ensure chunk","webpack://tumarket/webpack/runtime/get javascript chunk filename","webpack://tumarket/webpack/runtime/get mini-css chunk filename","webpack://tumarket/webpack/runtime/global","webpack://tumarket/webpack/runtime/hasOwnProperty shorthand","webpack://tumarket/webpack/runtime/make namespace object","webpack://tumarket/webpack/runtime/node module decorator","webpack://tumarket/webpack/runtime/publicPath","webpack://tumarket/webpack/runtime/css loading","webpack://tumarket/webpack/runtime/jsonp chunk loading","webpack://tumarket/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key])));\n\t}\n\tdef['default'] = () => (value);\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"tumarket:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","import * as $ from \"jquery\";\nimport { initTuPopover } from \"./popover\";\n\nlet tumarket = window.tumarket;\n\n/** @type {Object.} */\nlet readmoreState = tumarket.readmoreState;\n\n/** @type {Object.) => void>} */\nlet callbacks = tumarket.callbacks;\n\n/**\n * \n * @param {JQuery} el \n * @param {boolean} [value]\n * @param {boolean} [skipCallback]\n */\nfunction toggleReadmore(el, value = null, skipCallback = null){\n let $wrap = $(el).closest(\".tum-readmore-wrap\");\n let $toggle = $(el);\n let $target = $(el).attr(\"data-target\");\n let scroll = $(el).attr('data-scroll') == '';\n let scrollContainer = $(el).attr('data-scroll-container') || window;\n let $texts = null;\n let $otherToggles = null;\n let id = $wrap.attr('data-readmoreid');\n let groupContainer = $(el)[0].dataset.groupContainer;\n\n if (groupContainer && !skipCallback) {\n [...document.querySelector(groupContainer).querySelectorAll(\".tum-readmore-toggle\")]\n .filter(e => e != this)\n .forEach(e => toggleReadmore(e, false, true));\n }\n\n if ($target) {\n $texts = $($target);\n $otherToggles = $('.tum-readmore-toggle[data-target=\"' + $target + '\"]').not($(el));\n } else {\n $texts = $(\".tum-readmore-0, .tum-readmore-1, .tum-readmore-2, .tum-readmore-inline, .tum-readmore-custom\", $wrap);\n $otherToggles = $(\".tum-readmore-toggle\", $wrap).not($(el));\n }\n\n function swapToggleHtml($toggle, show){\n let showHtml = $toggle.attr('data-showhtmltarget') ? $($toggle.attr('data-showhtmltarget')).html() : $toggle.attr('data-showhtml');\n let hideHtml = $toggle.attr('data-hidehtmltarget') ? $($toggle.attr('data-hidehtmltarget')).html() : $toggle.attr('data-hidehtml');\n\n let html = show ? hideHtml : showHtml;\n if (html != \"_\") {\n $toggle.html(html);\n }\n }\n\n $texts.each(function(){\n let $text = $(this);\n let _wrap = $(this).closest(\".tum-readmore-wrap\");\n\n if (_wrap.length && !_wrap.is($wrap)) {\n return;\n }\n\n $text.toggleClass(\"show\", value);\n let show = $text.hasClass(\"show\");\n\n setTimeout(() => {\n swapToggleHtml($toggle, show);\n }, 100);\n \n $otherToggles.each(function(){\n let _toggleWrap = $(this).closest(\".tum-readmore-wrap\");\n\n if (_toggleWrap.is($wrap) || !_toggleWrap.length) {\n setTimeout(() => {\n swapToggleHtml($(this), show);\n }, 100);\n }\n });\n\n let ajaxCode = $text.attr('data-ajaxcode');\n let ajaxOptions = $text.attr('data-ajaxoptions');\n let ajaxLoaded = $text.data('ajaxloaded') == 1;\n if (ajaxCode && !ajaxLoaded) {\n import(\"./ajaxComponent\").then(({ renderComponent }) => {\n renderComponent(ajaxCode, ajaxOptions)\n .then(html => { \n $text.html(html)\n $text.data('ajaxloaded', 1);\n initTuPopover($text);\n document.body.dispatchEvent(new Event(\"tum.component.loaded\"));\n });\n });\n }\n\n if (id) {\n readmoreState[id] = show;\n }\n\n if (show && scroll) {\n scrollContainer.scrollTo({\n top: $text[0].getBoundingClientRect().top - 150,\n\t\t\t\tbehavior: 'smooth'\n });\n }\n });\n\n let callback = $(el).attr('data-callback');\n if (!skipCallback && callback && callbacks && callbacks[callback]) {\n callbacks[callback](el);\n }\n}\n\nfunction initReadmore(){\n $(document).on(\"click\", \".tum-readmore-toggle\", function (e) {\n //если кликнуть на toggle, который находится внутри другого toggle, будет двойной вызов и в итоге ничего не отработает\n //но stopPropagation может вызвать проблемы в другом функционале, например сборе статистики при кликах\n //поэтому вместо этого явно проверяем, что ридмор уже обработан\n if (e.result?.readmore_processed) return;\n\n if (!this.matches('[data-dont-prevent-default]')) {\n e.preventDefault();\n }\n \n let readmoreState = null;\n if (this.dataset.readmoreState) {\n readmoreState = this.dataset.readmoreState == 'show';\n }\n\n toggleReadmore($(this), readmoreState);\n \n return { readmore_processed: true };\n });\n\n $(document).on('shown.bs.collapse', function(e){\n let id = $(e.target).attr('data-readmoreid');\n readmoreState[id] = true;\n });\n\n $(document).on('hidden.bs.collapse', function(e){\n let id = $(e.target).attr('data-readmoreid');\n readmoreState[id] = false;\n });\n}\n\n/**\n * простой ручной toggle для collapse без анимации. Можно использовать для сохранения состояния коллапсов при ререндере\n * @param {JQuery} element \n * @param {boolean} [value] \n * @param {JQuery} [container] \n */\nfunction toggleCollapse(element, value = null, container = null){\n let $collapseToggle = $(container || document).find(element);\n let $collapse = $($collapseToggle.attr('data-target'), container || document);\n\n let showIcons = [ '.fa-arrow-down', '.fa-chevron-down' ];\n let hideIcons = [ '.fa-arrow-up', '.fa-chevron-up' ];\n let $icon = $([showIcons, hideIcons].flatMap(e => e).join(', '), $collapseToggle);\n $icon.toggleClass(showIcons.join(', '), !value).toggleClass(hideIcons.join(', '), value);\n\n $collapseToggle.toggleClass('collapsed', !value);\n $collapse.toggleClass('show', value);\n\n let id = $collapse.attr('data-readmoreid');\n if (id && value !== null) readmoreState[id] = value;\n}\n\n/**\n * \n * @param {JQuery} container \n */\nfunction restoreReadmoreState(container) {\n for (let id in readmoreState){\n let $readmoreToggle = $(`.tum-readmore-wrap[data-readmoreid=${id}] .tum-readmore-toggle`, container).first();\n if ($readmoreToggle.length)\ttoggleReadmore($readmoreToggle, readmoreState[id]);\n\n let $collapse = $(`[data-toggle=\"collapse\"][data-readmoreid=\"${id}\"]`, container);\n if ($collapse.length) toggleCollapse($collapse, readmoreState[id], container);\n }\n}\n\n/**\n * \n * @param {string} id \n * @param {boolean} [value] \n * @returns \n */\nfunction toggleReadmoreById(id, value = null) {\n let $element = $(`[data-readmoreid=\"${id}\"]`);\n if ($element.hasClass('tum-readmore-wrap')) {\n let $toggle = $('.tum-readmore-toggle', $element).first();\n toggleReadmore($toggle, value);\n \n return;\n }\n\n if ($element.is('[data-toggle=collapse]')) {\n toggleCollapse($element, value);\n }\n}\n\nwindow.toggleReadmore = toggleReadmore;\n\nexport { initReadmore, toggleReadmore, restoreReadmoreState, toggleReadmoreById };","/* global tumarket */\n\nimport dateFormat from \"../lib/dateformat/dateformat\";\n\nfunction isMob() {\n return window.innerWidth < 768;\n}\n\n/**\n * \n * @param {string} rawStr \n * @returns \n */\nfunction encodeHtml(rawStr) {\n return rawStr.replace(/[\\u00A0-\\u9999<>&]/g, i => '&#'+i.charCodeAt(0)+';')\n}\n\n/**\n * \n * @param {string} string \n * @returns \n */\nfunction capitalize(string)\n{\n if (!string) return string;\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\n\n/**\n * \n * @param {string} string \n * @returns \n */\nfunction decapitalize(string)\n{\n if (!string) return string;\n return string.charAt(0).toLowerCase() + string.slice(1);\n}\n\n/**\n * \n * @param {string} str \n * @returns \n */\nfunction toCamelCase(str) {\n return str.toLowerCase().replace(/[-_][a-z]/g, (group) => group.slice(-1).toUpperCase());\n}\n\n/**\n * \n * @param {string} str \n * @returns \n */\nfunction toSnakeCase(str) {\n return str.replace(/[A-Z]/g, letter => `_${letter.toLowerCase()}`);\n}\n\n/**\n * \n * @param {any[]} array \n * @param {string | (e: any) => string} key \n * @returns {Object.}\n */\nfunction groupBy(array, key) {\n let useFunction = typeof key == 'function';\n\n return array.reduce((acc, currentValue) => {\n let groupKey = useFunction ? key(currentValue).toString() : currentValue[key].toString();\n if (!acc[groupKey]) {\n acc[groupKey] = [];\n }\n acc[groupKey].push(currentValue);\n return acc;\n }, {});\n}\n\nfunction sort(array, desc, mapper){\n if (!array.length) return array;\n if (!mapper) mapper = e => e;\n let copy = [...array];\n copy.sort((a, b) => {\n if (mapper(a) > mapper(b)) return 1;\n if (mapper(a) < mapper(b)) return -1;\n return 0;\n });\n\n if (desc) copy.reverse();\n return copy;\n}\n\n/**\n * convert string to bool\n * @param {*} value \n * @param {*} isAttr treat as html attribute, so empty string is true\n * @returns \n */\nfunction toBool(value, isAttr){\n if (isAttr && value == '') return true;\n if (value == 'false' || value == '0') return false;\n return !!value;\n}\n\nfunction renderSimpleTemplate(template, data, requireFields, encodeUrl) {\n if (!template || !data) return '';\n\n let result = template;\n let templateRegex = /{{([a-zA-Z0-9_]+)}}/g;\n let iifRegex = /{{iif ([a-zA-Z0-9_]+) ('[a-zA-Z0-9_а-яА-Я,.:'\" ]*'|[a-zA-Z0-9_]+) ('[a-zA-Z0-9_а-яА-Я,.:'\" ]*'|[a-zA-Z0-9_]+)}}/g;\n let literalRegex = /'(.*)'/;\n\n for (let field of template.matchAll(templateRegex)) {\n let value = getValueByPath(data, field[1]) || '';\n \n if (requireFields && !value) {\n return null;\n }\n\n if (encodeUrl) value = encodeURIComponent(value);\n result = result.replace(field[0], value);\n }\n\n for (let field of template.matchAll(iifRegex)) {\n let condition = getValueByPath(data, field[1]);\n let literalA = field[2].match(literalRegex);\n let literalB = field[3].match(literalRegex);\n let a = literalA ? literalA[1] : getValueByPath(data, field[2]);\n let b = literalB ? literalB[1] : getValueByPath(data, field[3]);\n\n let value = condition ? a : b;\n \n if (requireFields && !value) {\n return null;\n }\n\n if (encodeUrl) value = encodeURIComponent(value);\n result = result.replace(field[0], value);\n }\n\n return result.trim();\n}\n\n/**\n * \n * @param {any[]} array \n * @returns \n */\nfunction distinct(array) {\n if (!array) return [];\n function distinctFilter(value, index, self) { \n return self.indexOf(value) === index;\n }\n\n return array.filter(distinctFilter);\n}\n\n/**\n * \n * @param {string} date \n * @returns {Date}\n */\nfunction parseDate(date) {\n if (!date.includes(' ') && !date.includes('T')) date = date + ' 00:00';\n if (date.includes('+')) return new Date(date);\n return new Date(`${date}+09:00`);\n}\n\nfunction isDateInThisWeek(date, offset) {\n if (!offset) offset = 0;\n let today = new Date();\n const todayObj = new Date(today.setDate(today.getDate() + offset * 7));\n const todayDate = todayObj.getDate();\n const todayDay = todayObj.getDay();\n\n // get first date of week\n const firstDayOfWeek = new Date(todayObj.setDate(todayDate - todayDay));\n\n // get last date of week\n const lastDayOfWeek = new Date(firstDayOfWeek);\n lastDayOfWeek.setDate(lastDayOfWeek.getDate() + 6);\n\n // if date is equal or within the first and last dates of the week\n return date >= firstDayOfWeek && date <= lastDayOfWeek;\n}\n\n\n/**\n * позволяет получить из сложного объекта вложенное поле по строке типа 'products[0].info.name'\n * @param {object} object \n * @param {string} path \n * @returns \n */\nfunction getValueByPath(object, path) {\n let result = object;\n let sections = path.split('.');\n for (let section of sections) {\n if (!result) return result;\n let arrayRegex = /^([a-zA-Z0-9_]+)\\[(\\d+)\\]$/;\n let match = section.match(arrayRegex);\n let index = match ? match[2] : null;\n if (index) section = match[1];\n\n if (index) {\n result = result[section][index] || null;\n } else {\n result = result[section] || null;\n }\n }\n\n return result;\n}\n\n/**\n устанавливает значение вложенного поля по строке типа 'products.info.name'\n * @param {*} object \n * @param {*} path \n * @param {*} value \n */\nfunction setValueByPath(object, path, value) {\n let schema = object; // a moving reference to internal objects within obj\n let pList = path.split('.');\n let len = pList.length;\n for (let i = 0; i < len-1; i++) {\n let elem = pList[i];\n if (!schema[elem]) schema[elem] = {};\n schema = schema[elem];\n }\n\n schema[pList[len-1]] = value;\n}\n\nfunction isIos(){\n if ((/iPad|iPhone|iPod/.test(navigator.userAgent)) || (navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1))\t{\n return true;\n }\n\n return false;\n}\n\nfunction swapAltHtml(element, attributeName) {\n if (!attributeName) attributeName = 'data-althtml';\n let oldhtml = element.innerHTML;\n let newhtml = element.getAttribute(attributeName);\n element.setAttribute(attributeName, oldhtml);\n element.innerHTML = newhtml;\n}\n\nfunction goBack() {\n let hasUrlReferrer = !!tumarket.urlReferrer;\n let tumarketUrlReferrer = hasUrlReferrer && new URL(tumarket.urlReferrer).hostname.includes('tu.market');\n let hasHistory = history.length > 2;\n\n if (hasHistory && tumarketUrlReferrer) {\n history.back();\n return;\n }\n\n if (!hasHistory && tumarketUrlReferrer) {\n window.close();\n }\n\n location.href = '/';\n}\n\nfunction getCurrentTimeForInput(){\n let date = new Date();\n return `${dateFormat(date, 'yyyy-MM-dd')}T${dateFormat(date, 'HH:mm')}`;\n}\n\nexport { \n isMob, encodeHtml, capitalize, decapitalize, toCamelCase, groupBy, sort, \n toBool, renderSimpleTemplate, distinct, toSnakeCase, parseDate, getValueByPath, setValueByPath, isDateInThisWeek,\n isIos, swapAltHtml, goBack, getCurrentTimeForInput\n};","import { ajaxSend } from \"../global/fetch\";\nimport tumGlobal from \"../global.js\";\nimport tumCommon from \"../common.js\";\nimport { isCtuIgnoredAdulthood, showAdultWarning } from \"../product/restrictAdult\";\nimport { getPrecompiledTemplate, loadPrecompiledTemplates } from \"../global/templates\";\nimport { initTuPopover } from \"../global/popover\";\nimport { toggleClass } from \"../global/dom\";\nimport { addEventDelegate, setHtml } from \"../global/dom\";\nimport { initIntersectionObserver } from \"../intersectionObserver\";\n\n/**\n * @typedef {object} ItemListState\n * @property {number} productsPage_up номер первой страницы из показанных\n * @property {number} productsPage номер последней страницы из показанных\n * @property {number} productsPageSize\n * @property {number} totalPages\n * @property {number} totalProducts\n * @property {object[]} products\n * @property {object[]} productsSecondary\n * @property {string} viewMode\n * @property {boolean} restrictAdult\n * @property {number} minItemsLeftToShowBanner\n */\n\n/**\n * @typedef {object} ItemListOptions\n * @property {string} url\n * @property {string} container\n * @property {(data: object) => object} dataMapperCallback позволяет получить данные из произвольного источника и привести их к нужному виду\n * @property {(state: ItemListState, data: object, prepend: boolean) => void} dataUpdateCallback выполняется после отображения результатов\n * @property {(state: ItemListState, prepend: boolean) => object} getUrlParamsCallback позволяет задать кастомные параметры для источника данных\n * @property {string} viewMode поддержка нескольких способов вывода\n * @property {boolean} renderOnInit если false, то компонент используется только при пагинации, а до нее показывается просто тот html, который был при загрузке страницы\n * @property {object} additionalData\n */\n\n/**\n * @typedef {object} ItemList\n * @property {ItemListOptions} options\n * @property {ItemListState} state\n * @property {HTMLElement} container\n * @property {HandlebarsTemplateDelegate} template\n * @property {(options: ItemListOptions) => void} init\n * @property {() => void} truncate если страница не последняя и на последней строке вывода осталось пустое место, то она скрывается и переносится на следующую страницу\n */\n\n/** @type {ItemList} */\nvar productsList = {\n\toptions: {\n\t\turl: '',\n\t\tcontainer: '',\n\t\tdataMapperCallback: null,\n\t\tdataUpdateCallback: null,\n\t\tgetUrlParamsCallback: null,\n\t\tviewMode: null,\n\t\trenderOnInit: false,\n\t\tadditionalData: {}\n\t},\n\tstate: {\n\t\tproductsPage_up: 1,\n\t\tproductsPage: 1,\n\t\tproductsPageSize: 0,\n\t\ttotalPages: 0,\n\t\ttotalProducts: 0,\n\t\tproducts: [],\n\t\tproductsSecondary: [],\n\t\tloadedPages: [],\n\t\tproductsViewMode: 'mini',\n\t\trestrictAdult: true,\n\t\tminProductsLeftToShowBanner: 0,\n\t\tadditional_items: []\n\t},\n\tcontainer: null,\n\ttemplate: null,\n\tinit: function (options) {\n\t\tObject.assign(this.options, options);\n\t\tthis.container = document.querySelector(this.options.container);\n\t\tif (!this.container) return;\n\n\t\tObject.assign(this.state, this.options);\n\t\tthis.state.productsViewMode = this.options.viewMode || (tumGlobal.isMob() ? 'mini' : 'grid');\n\n\t\tthis.initEvents();\n\n\t\treturn this.getProductsList()\n\t\t.then(() => {\n\t\t\tif (this.options.renderOnInit) this.renderProductsList();\n\t\t\tthis.truncate();\n\t\t});\n\t},\n\tinitEvents: function () {\n\t\taddEventDelegate(this.container, 'click', '.products-list-next', () => {\n\t\t\tthis.state.productsPage += 1;\n\t\t\tthis.getProductsList()\n\t\t\t.then(() => {\n\t\t\t\tthis.renderProductsList();\n\t\t\t});\n\t\t});\n\n\t\taddEventDelegate(this.container, 'click', '.products-list-prev', () => {\n\t\t\tthis.state.productsPage_up -= 1;\n\t\t\tthis.getProductsList(true)\n\t\t\t.then(() => {\n\t\t\t\tthis.renderProductsList();\n\t\t\t});\n\t\t});\n\t},\n\t_updateProductsList: function (prepend, data) {\n\t\tif (this.options.dataMapperCallback && !data.noMap) data = this.options.dataMapperCallback(data);\n\n\t\tthis.state.productsPageSize = this.state.productsPageSize || data.PageSize || 0;\n\t\tthis.state.totalProducts = this.state.totalProducts || data.Total || 0;\n\t\tthis.state.restrictAdult = this.state.restrictAdult || data.RestrictAdult || true;\n\n\t\tif (prepend) {\n\t\t\tthis.state.products = data.Products.concat(this.state.products);\n\t\t\tthis.state.productsSecondary = data.ProductsSecondary?.concat(this.state.productsSecondary) || [];\n\t\t}\n\t\telse {\n\t\t\tif (this.bannerRequired()) {\n\t\t\t\tlet banner = this.state.banners.find(e => e.TypeID == -1);\n\t\t\t\tif (banner) {\n\t\t\t\t\tbanner.isBanner = true;\n\t\t\t\t\tif (data.Products.length) {\n\t\t\t\t\t\tdata.Products = [banner].concat(data.Products);\n\t\t\t\t\t}\n\t\t\t\t\telse if (data.ProductsSecondary.length) {\n\t\t\t\t\t\tdata.ProductsSecondary = [banner].concat(data.ProductsSecondary);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.state.products = this.state.products.concat(data.Products);\n\n\t\t\tif (data.ProductsSecondary)\n\t\t\tthis.state.productsSecondary = this.state.productsSecondary?.concat(data.ProductsSecondary) || [];\n\t\t}\n\n\t\tthis.state.totalPages = this.state.productsPageSize ? Math.ceil(this.state.totalProducts / this.state.productsPageSize) : 0;\n\n\t\tif (this.options.dataUpdateCallback) this.options.dataUpdateCallback(this.state, data, prepend);\n\t},\n\tgetProductsList: function (prepend) {\n\t\tlet self = this;\n\n\t\tif (this.state.productsPage == this.state.productsPage_up && (this.state.products.length || this.state.productsSecondary.length)) {\n\t\t\tthis._updateProductsList(prepend, {\n\t\t\t\tProducts: [],\n\t\t\t\tProductsSecondary: [],\n\t\t\t\tnoMap: true\n\t\t\t});\n\t\t\treturn Promise.resolve();\n\t\t}\n\n\t\tif (!this.options.url) {\n\t\t\treturn Promise.resolve();\n\t\t}\n\n\t\tlet params = {};\n\t\tif (this.options.getUrlParamsCallback) params = this.options.getUrlParamsCallback(this.state, prepend);\n\t\telse params = { page: this.state.productsPage };\n\n\t\treturn new Promise(resolve => {\n\t\t\tajaxSend({ url: this.options.url, data: params }).then(data => {\n\t\t\t\tself._updateProductsList(prepend, data);\n\t\t\t\tresolve(data);\n\t\t\t});\n\t\t});\n\t},\n\trenderProductsList: function () {\n\t\treturn loadPrecompiledTemplates(['products-list'])\n\t\t.then(() => {\n\t\t\tthis.template = this.template || getPrecompiledTemplate('products-list');\n\n\t\t\tlet products = this.state.products.concat(this.state.productsSecondary);\n\n\t\t\tlet model = {\n\t\t\t\tfilter: {\n\t\t\t\t\tpage: this.state.productsPage,\n\t\t\t\t\tpage_up: this.state.productsPage_up\n\t\t\t\t},\n\t\t\t\tProductItems: this.state.products,\n\t\t\t\tProductItemsSecondary: this.state.productsSecondary,\n\t\t\t\tViewMode: this.state.productsViewMode,\n\t\t\t\tRestrictAdult: this.state.restrictAdult,\n\t\t\t\tShowProductsPaging: this.state.productsPage < this.state.totalPages || (products.length && products.length < this.state.totalProducts),\n\t\t\t\tBanners: this.state.banners,\n\t\t\t\tCtuCloud: this.state.ctuCloud,\n\t\t\t\tShowSoftMatch: this.state.productsSecondary.length,\n\t\t\t\tOnlyHasSecondaryProducts: !this.state.products.length && this.state.productsSecondary.length,\n\t\t\t\tadditional_items: this.state.additional_items\n\t\t\t};\n\n\t\t\tObject.assign(model, this.options.additionalData);\n\n\t\t\tsetHtml(this.container, this.template(model));\n\t\t\tinitTuPopover(this.container);\n\t\t\ttumCommon.initCtuCloud();\n\n\t\t\tshowAdultWarning(false, isCtuIgnoredAdulthood());\n\t\t\tthis.truncate();\n\t\t\tinitIntersectionObserver();\n\t\t});\n\t},\n\tproductsLeft: function(){\n\t\tlet result = this.state.totalProducts - (this.state.products?.length || 0) - (this.state.productsSecondary?.length || 0);\n\t\treturn Math.max(result, 0);\n\t},\n\tbannerRequired: function(){\n\t\treturn !!(this.state.productsPage > this.state.productsPage_up &&\n\t\t\tthis.state.minProductsLeftToShowBanner && \n\t\t\tthis.productsLeft() > this.state.minProductsLeftToShowBanner &&\n\t\t\tthis.state.banners?.length);\n\t},\n\ttruncate: function(){\n\t\tif (!this.productsLeft()) return;\n\n\t\tlet container = this.container.querySelector('.prod-cont');\n\t\tif (!container) return;\n\n\t\tlet itemWidth = container.firstElementChild.offsetWidth - 1;\n\t\tlet containerWidth = container.offsetWidth;\n\t\tlet rowSize = Math.floor(containerWidth / itemWidth);\n\t\tlet additionalItemsLength = this.state.additional_items?.filter(e => e.index < this.state.products.length).length || 0;\n\t\tlet tail = (this.state.products.length + additionalItemsLength + this.state.productsSecondary.length + (this.state.productsSecondary.length ? 1 : 0)) % rowSize;\n\n\t\tif (tail) toggleClass([...container.children].slice(-tail), 'd-none tail', true);\n\t}\n};\n\nwindow.productsList = productsList;\nexport default productsList;","/* global tumarket */\n\nimport * as $ from \"jquery\";\nimport tu_slider from \"../slider.js\";\nimport { ajaxSend } from \"../global/fetch\";\nimport { setCookie } from \"../global/cookie\";\nimport \"../../css/modules/tu.m/catalog/otherCities.css\";\nimport \"readmore-js\";\nimport { getPrecompiledTemplate, loadPrecompiledTemplates } from \"../global/templates\";\nimport { initTuPopover } from \"../global/popover\";\nimport { addEventDelegate, hide, insertHtmlAfter, insertHtmlBefore, prependHtml, show, toggleClass } from \"../global/dom\";\nimport tumGlobal from \"../global.js\";\nimport { isMob } from \"../global/util\";\n\nvar otherCitiesSearch = {\n\toptions: {\n\t\turl: {\n\t\t\tgetProductMiniatures: \"/search/getproductminiatures\"\n\t\t},\n\t\tfirstCity: {},\n\t\totherCities: []\n\t},\n\tinit: function (options) {\n\t\tObject.assign(this.options, options);\n\n\t\tif (!document.querySelector('.tum-search-otherCitiesCont')) return;\n\n\t\taddEventDelegate(document, 'click', '.tum-search-showOtherCitySlider', (element, event) => {\n\t\t\tevent.preventDefault();\n\t\t\ttoggleClass(\".tum-search-otherCity\", \"d-none\", false);\n\n\t\t\tvar city = element.closest(\".tum-search-otherCity\");\n\t\t\tvar productIds = city.getAttribute(\"data-productids\").split(\",\").map(e => Number(e));\n\t\t\tvar linksAfter = city.getAttribute(\"data-linksafter\");\n\t\t\tvar name = city.getAttribute(\"data-name\");\n\t\t\ttoggleClass(city, 'd-none', true);\n\t\t\tthis.getOtherCitySlider(productIds, linksAfter, name);\n\t\t});\n\n\t\taddEventDelegate(document, 'click', \".tum-search-hideOtherCitySlider\", () => {\n\t\t\ttumGlobal.highlight($('.tum-search-otherCities'), 1000);\n\t\t});\n\n\t\taddEventDelegate(document, \"click\", \".tum-search-changeRegion a, a.tum-search-changeRegion\", (element, e) => {\n\t\t\te.preventDefault();\n\t\t\tvar url = element.getAttribute(\"href\");\n\t\t\tif (url == \"#\" || url == \"javascript:void(0)\") return;\n\n\t\t\tsetCookie(\"geo_resetLocation\", \"1\", 1);\n\t\t\tlocation.href = url;\n\t\t});\n\n\t\tif (this.options.otherCities) {\n\t\t\tthis.renderOtherCities().then(() => {\n\t\t\t\tif (this.options.firstCity) {\n\t\t\t\t\tthis.initSliderProducts(this.options.firstCity.slider, this.options.firstCity.linksAfter, this.options.firstCity.hrefToMarketCity);\n\t\t\t\t\tthis.renderProductSlider().then(() => {\n\t\t\t\t\t\tprependHtml(\n\t\t\t\t\t\t\t\".tum-search-otherCitySlider .visibility-sliders\", \n\t\t\t\t\t\t\t`\n\t\t\t\t\t\t\t\t${this.options.firstCity.anyCityName}:\n\t\t\t\t\t\t\t`\n\t\t\t\t\t\t);\n\t\t\t\n\t\t\t\t\t\tinsertHtmlAfter(\".tum-search-otherCitySlider .visibility-sliders\", this.options.firstCity.linksAfter);\n\t\t\t\t\t\tthis.initProductSlider();\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t},\n\tgetOtherCitySlider: function (productIds, linksAfter, name) {\n\t\tif (!productIds) {\n\t\t\treturn;\n\t\t}\n\n\t\tajaxSend({ url: this.options.url.getProductMiniatures, data: { productIDs: productIds, disableShowCity: true } }).then(data => {\n\t\t\tif (data.result) {\n\t\t\t\tthis.initSliderProducts(data.Items, linksAfter);\n\t\t\t\tthis.renderProductSlider().then(() => {\n\t\t\t\t\tlet container = document.querySelector(\".tum-search-otherCitySlider .visibility-sliders\");\n\t\t\t\t\tprependHtml(container, `${name}:`)\n\t\t\t\t\tcontainer.nextElementSibling.remove();\n\t\t\t\t\tinsertHtmlAfter(container, linksAfter);\n\t\t\t\t\tthis.initProductSlider();\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t},\n\tinitSliderProducts: function (miniatures, linksAfter) {\n\t\tif (miniatures) {\n\t\t\tfor (let item of miniatures) {\n\t\t\t\titem.contextType = 'otherCities';\n\t\t\t}\n\t\t}\n\n\t\tvar products = {\n\t\t\tItems: miniatures,\n\t\t\tMoreItemsLink: linksAfter\n\t\t};\n\t\t\n\t\tthis.options.sliderProducts = products;\n\t},\n\trenderProductSlider: function () {\n\t\treturn loadPrecompiledTemplates(['product-slider']).then(() => {\n\t\t\tvar template = getPrecompiledTemplate('product-slider');\n\t\t\tthis.options.sliderProducts.isSlider = true;\n\t\t\tthis.options.sliderProducts.isMob = isMob();\n\t\t\tthis.options.sliderProducts.mobGrid = false;\n\t\t\tvar htmlOut = template(this.options.sliderProducts);\n\t\t\t\n\t\t\tdocument.querySelector(\".tum-search-otherCitySlider .visibility-sliders\").innerHTML = htmlOut;\n\t\t\ttoggleClass(\".tum-search-otherCitySlider\", 'd-none', false);\n\t\t\t\n\t\t\tinitTuPopover();\n\t\t});\n\t},\n\tinitProductSlider: function () {\n\t\tlet sliderContainer = document.querySelector('.tum-search-otherCitySlider .tu-slider');\n\t\tlet totalProductIds = sliderContainer.previousElementSibling.getAttribute('data-productids').split(',');\n\t\tlet additionalSlide = sliderContainer.querySelector('.slider-list .slider-additional-slide');\n\t\thide(additionalSlide)\n\n\t\tthis.slider = tu_slider.create({ \n\t\t\tcontainer: sliderContainer,\n\t\t\tgetItems: (callback) => {\n\t\t\t\tlet productIDs = totalProductIds.slice(tumarket.defaultSliderSize);\n\t\t\t\tloadPrecompiledTemplates(['product-mini-wrapper']).then(() => {\n\t\t\t\t\treturn ajaxSend({ url: '/search/GetProductMiniatures', data: { productIDs: productIDs, isNeedLinkUnder: true, disableShowCity: true } });\n\t\t\t\t}).then(data => {\n\t\t\t\t\tif (data.result) {\n\t\t\t\t\t\tlet template = getPrecompiledTemplate('product-mini-wrapper');\n\t\t\t\t\t\tfor (let item of data.Items) {\n\t\t\t\t\t\t\titem.isSlider = true;\n\t\t\t\t\t\t\titem.isMob = isMob();\n\t\t\t\t\t\t\titem.contextType = \"otherCities\";\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tlet newItems = data.Items.map(e => template(e)).join(\"\");\n\n\t\t\t\t\t\tinsertHtmlBefore(additionalSlide, newItems);\n\t\t\t\t\t\tshow(additionalSlide);\n\t\t\t\t\t\tcallback();\n\t\t\t\t\t\tinitTuPopover();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\t\t\ttotalCount: totalProductIds.length + 1,\n\t\t\tcontrolsPosition: 'bottom'\n\t\t});\n\t},\n\trenderOtherCities: function() {\n\t\treturn loadPrecompiledTemplates(['other-cities']).then(() => {\n\t\t\tvar template = getPrecompiledTemplate('other-cities');\n\t\t\tvar htmlOut = template({ OtherCities: this.options.otherCities});\n\t\t\tdocument.querySelector(\".tum-search-otherCitiesCont\").innerHTML = htmlOut;\n\t\t});\n\t}\n};\n\nwindow.otherCitiesSearch = otherCitiesSearch;\nexport default otherCitiesSearch;","import * as $ from \"jquery\";\nimport \"readmore-js\";\nimport { ajaxSend } from \"../global/fetch\";\nimport { getPrecompiledTemplate, loadPrecompiledTemplates } from \"../global/templates\";\nimport { youtubePreview } from \"../youtubePreview.js\";\nimport { initTuPopover } from \"../global/popover\";\nimport tu_slider from \"../slider.js\";\nimport { showAlert } from \"../global/dialog\";\n\nimport \"../../css/modules/previews/previewItem.css\";\n\nvar previews = {\n\toptions: {\n\t\tcontainer: '', // селектор элемента с классом collapse. Не может быть \"#previewsContainer\", потому что такой занят в шаблоне с обзорами\n\t\tdisabled: false,\n\t\turl: {\n\t\t\tgetPreviews: '/preview/getPreviewsEmbed'\n\t\t},\n\t\tpageCode: null,\n\t\tlimit: null\n\t},\n\tinit: function(options) {\n\t\tthis.options = $.extend(this.options, options);\n\n\t\tthis.initCallbacks();\n\n\t\t//сразу загружаем обзоры, если collapse развернут\n\t\tif (this.options.container) {\n\t\t\tvar $collapse = $(this.options.container);\n\t\t\tif ($collapse.hasClass(\"show\")){\n\t\t\t\tvar params = {\n\t\t\t\t\tproductID: $collapse.attr(\"data-productid\"),\n\t\t\t\t\tfirmID: $collapse.attr(\"data-firmid\"),\n\t\t\t\t\tpreviewIDs: $collapse.attr(\"data-previewids\"),\n\t\t\t\t\tpageCode: $collapse.attr(\"data-pagecode\"),\n\t\t\t\t\tlimit: $collapse.attr(\"data-limit\")\n\t\t\t\t};\n\n\t\t\t\tthis.getPreviews(params);\n\t\t\t}\n\t\t}\n\n\t\tyoutubePreview.init();\n\t},\n\tinitCallbacks: function() {\n\t\tlet self = this;\n\n\t\tif (this.options.container) {\n\t\t\t$(document).on('show.bs.collapse', this.options.container, function() {\n\t\t\t\tvar params = {\n\t\t\t\t\tproductID: $(this).attr(\"data-productid\"),\n\t\t\t\t\tfirmID: $(this).attr(\"data-firmid\"),\n\t\t\t\t\tpreviewIDs: $(this).attr(\"data-previewids\"),\n\t\t\t\t\tpageCode: $(this).attr(\"data-pagecode\"),\n\t\t\t\t\tlimit: $(this).attr(\"data-limit\")\n\t\t\t\t};\n\n\t\t\t\tself.getPreviews(params);\n\t\t\t});\n\t\t}\n\t},\n\t_getPreviews: function(params) { // { productID: 0, firmID: 0, previewIDs: \"\" }\n\t\tif (this.options.disabled) return;\n\n\t\tvar cont = document.querySelector(\"#previewsContainer\");\n\n\t\tif (cont.innerHTML) return;\n\n\t\tajaxSend({ url: this.options.url.getPreviews, data: params }).then(data => {\n\t\t\tif (data.result) {\n\t\t\t\tvar tmpl = getPrecompiledTemplate('previews');\n\t\t\t\tlet _data = JSON.parse(data.JsonData);\n\t\t\t\t_data.previews = data.items;\n\t\t\t\t_data.needsHeader = cont.dataset.needsHeader == '';\n\t\t\t\tvar htmlOut = tmpl(_data);\n\n\t\t\t\tcont.innerHTML = htmlOut;\n\n\t\t\t\tinitTuPopover($(cont));\n\t\t\t\t//youtubePreview.initPreviews(cont);\n\t\t\t\ttu_slider.create({\n\t\t\t\t\tcontainer: document.querySelector('[data-previews-slider]'),\n\t\t\t\t\tcontrolsPosition: 'bottom'\n\t\t\t\t});\n\t\t\t}\n\t\t\telse {\n\t\t\t\tshowAlert(\"Ошибка загрузки обзоров\", { type: \"danger\" });\n\t\t\t}\n\t\t});\n\t},\n\tgetPreviews: function(params){\n loadPrecompiledTemplates(['previews']).then(() => this._getPreviews(params));\n }\n};\n\nexport default previews;","/* global tumarket */\n\nimport * as $ from \"jquery\";\n\nimport \"bootstrap/js/dist/popover\";\nimport \"owl.carousel\";\nimport tumCommon from \"../common.js\";\nimport productsList from \"../search/productsList.js\";\nimport tu_slider from \"../slider.js\";\nimport otherCitiesSearch from \"../search/OtherCitiesSearch.js\";\nimport { ajaxSend } from \"../global/fetch\";\nimport \"readmore-js\";\nimport { showAdultWarning } from \"../product/restrictAdult.js\";\nimport { getPrecompiledTemplate, loadPrecompiledTemplates } from \"../global/templates\";\nimport { initTuPopover } from \"../global/popover\";\nimport previews from \"../previews/previewsEmbed.js\";\nimport { addEventDelegate, hide, insertHtmlBefore, prependHtml, show, toggleClass } from \"../global/dom\";\nimport { isMob } from \"../global/util\";\nimport { searchWidgets } from \"../navbar/searchSelect.js\";\n\nlet home_news = {\n\toptions: {\n\t\tstorageName: 'tum-hiddenNews'\n\t},\n\thideItem: function (id) {\n\t\ttoggleClass('.home-news .slider-slide[data-previewid=\"' + id + '\"]', 'd-none', true);\n\n\t\tlet hiddenItems = this.getHiddenItems();\n\t\thiddenItems.push(id);\n\t\tthis.setHiddenItems(hiddenItems);\n\t},\n\tapplyHiddenItems: function () {\n\t\tlet hiddenItems = this.getHiddenItems();\n\t\tfor (let item of hiddenItems) {\n\t\t\ttoggleClass('.home-news .slider-slide[data-previewid=\"' + item + '\"]', 'd-none', true);\n\t\t}\n\t},\n\tgetHiddenItems: function () {\n\t\tlet _hiddenItems = localStorage.getItem(this.options.storageName);\n\t\tlet hiddenItems = _hiddenItems ? JSON.parse(_hiddenItems) : [];\n\t\treturn hiddenItems;\n\t},\n\tsetHiddenItems: function (hiddenItems) {\n\t\tlocalStorage.setItem(this.options.storageName, JSON.stringify(hiddenItems));\n\t},\n\tinit: function () {\n\t\taddEventDelegate(document, 'click', '.news-hide', element => {\n\t\t\tlet id = element.closest('.slider-slide').dataset.previewid;\n\t\t\tthis.hideItem(id);\n\t\t});\n\t}\n};\n\nvar home = {\n\toptions: {\n\t\tisMobSearch: false,\n\t\tisDotsEach: false,\n\t\tisAutoPlay: false,\n\t\tautoplayTimeout: 1000,\n\t\tshowOtherCities: false\n\t},\n\tinit: function (options) {\n\t\thome.options = $.extend(home.options, options);\n\t\tthis.getSliderItems();\n\t\tthis.initEvents();\n\n\t\tdocument.querySelector('.catalog-slider-container').addEventListener('tu.shown', () => {\n\t\t\t$(\".catalog-slider-container .owl-carousel\").owlCarousel({\n\t\t\t\tloop: false,\n\t\t\t\tautoplay: home.options.isAutoPlay,\n\t\t\t\tautoplayTimeout: home.options.autoplayTimeout,\n\t\t\t\tautoplayHoverPause: true,\n\t\t\t\tdotsEach: home.options.isDotsEach,\n\t\t\t\tmouseDrag: true,\n\t\t\t\tresponsive: {\n\t\t\t\t\t0: {\n\t\t\t\t\t\titems: 2\n\t\t\t\t\t},\n\t\t\t\t\t992: {\n\t\t\t\t\t\titems: 4\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tfor (let elem of document.querySelectorAll('.owl-dot')){\n\t\t\t\telem.setAttribute('aria-label', 'Далее');\n\t\t\t}\n\t\t});\n\n\t\ttoggleClass(\".mob-search-btn\", \"d-none\", false);\n\n\t\tthis.applyUrlParams();\n\n\t\tdocument.querySelector('.home-products-list').addEventListener('tu.shown', () => {\n\t\t\tproductsList.init({\n\t\t\t\turl: '/home/getProducts',\n\t\t\t\tcontainer: '.home-products-list',\n\t\t\t\tdataUpdateCallback: (state, data) => {\n\t\t\t\t\tif (!document.querySelector('.ctuCloud')) {\n\t\t\t\t\t\tvar ctuCloud = data.CtuCloud && JSON.parse(data.CtuCloud);\n\t\t\t\t\t\tthis.renderCtuCloud(ctuCloud);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\trenderOnInit: true\n\t\t\t})\n\t\t\t.then(() => tumCommon.initCtuCloud());\n\t\t});\n\n\t\tdocument.querySelector('[data-previews]').addEventListener('tu.shown', () => {\n\t\t\tpreviews.init({\n\t\t\t\tcontainer: \"[data-previews]\"\n\t\t\t});\n\t\t});\n\n\t\thome_news.init();\n\t},\n\tinitEvents: function () {\n\t\t$(document).on('initialized.owl.carousel', '.owl-carousel', function () {\n\t\t\t$(\".owl-carousel\").closest('.catalog-slider-container').removeClass('invisible');\n\t\t});\n\t},\n\tapplyUrlParams: function () {\n\t\tlet searchType = new URL(location.href).searchParams.get('searchType') || \"byGoods\";\n\n\t\tsearchWidgets.main.setSearchType(searchType);\n\t},\n\t/**\n\t * \n\t * @param {HTMLElement} container \n\t */\n\tinitProductSlider: function (container) {\n\t\twindow.sliders = window.sliders || [];\n\n\t\tfor (let sliderElement of container.querySelectorAll('.tu-slider')) {\n\t\t\tlet totalProductIDs = sliderElement.closest(\".tum-home-productslider\").dataset.ids.split(',');\n\n\t\t\tlet additionalSlide = sliderElement.querySelector('.slider-list .slider-additional-slide');\n\t\t\thide(additionalSlide);\n\n\t\t\tlet slider = tu_slider.create({\n\t\t\t\tcontainer: sliderElement,\n\t\t\t\tgetItems: (callback) => {\n\t\t\t\t\tlet productIDs = totalProductIDs.slice(5);\n\t\t\t\t\tloadPrecompiledTemplates(['product-mini-wrapper']).then(() => {\n\t\t\t\t\t\treturn ajaxSend({ url: '/search/GetProductMiniatures', data: { \n\t\t\t\t\t\t\tproductIDs: productIDs, \n\t\t\t\t\t\t\tisNeedLinkUnder: true,\n\t\t\t\t\t\t\tcontextType: sliderElement.closest(\".tum-home-productslider\").dataset.contextType\n\t\t\t\t\t\t } });\n\t\t\t\t\t}).then(data => {\n\t\t\t\t\t\tif (data.result) {\n\t\t\t\t\t\t\tlet template = getPrecompiledTemplate('product-mini-wrapper');\n\t\t\t\t\t\t\tfor (let item of data.Items) {\n\t\t\t\t\t\t\t\titem.isSlider = true;\n\t\t\t\t\t\t\t\titem.isMob = isMob();\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tlet newItems = data.Items.map(e => template(e)).join(\"\");\n\n\t\t\t\t\t\t\tinsertHtmlBefore(additionalSlide, newItems);\n\t\t\t\t\t\t\tshow(additionalSlide);\n\t\t\t\t\t\t\tcallback();\n\t\t\t\t\t\t\tinitTuPopover();\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t\ttotalCount: totalProductIDs.length + 1\n\t\t\t});\n\n\t\t\twindow.sliders.push(slider);\n\t\t}\n\n\t\ttoggleClass(container.querySelector(\".slider-additional-slide .all-catalog\").closest(\"li\"), 'mt-4', false);\n\t\tprependHtml(container.querySelector(\".slider-additional-slide li a\"), ' ');\n\t\ttoggleClass(container, 'bordered', true);\n\t\t$(\"[data-toggle=popover]\", container).popover({\n\t\t\tsanitize: false\n\t\t});\n\t},\n\t_getSliderItems: function () {\n\t\tshowAdultWarning();\n\n\t\tfor (let productSlider of document.querySelectorAll('.tum-home-productslider')) {\n\t\t\tthis.initProductSlider(productSlider);\n\t\t}\n\t\t\n\t\tinitTuPopover();\n\n\t\tif (this.options.showOtherCities) {\n\t\t\thome.getOtherCities();\n\t\t}\n\t},\n\tgetSliderItems: function () {\n\t\tlet templates = ['product-slider'];\n\t\tloadPrecompiledTemplates(templates).then(() => this._getSliderItems());\n\t},\n\tgetOtherCities: function () {\n\t\tajaxSend({ url: \"/Home/GetOtherCities\" }).then(data => {\n\t\t\tif (data.result) {\n\t\t\t\tif (data.OtherCities?.length > 0) {\n\t\t\t\t\totherCitiesSearch.init({\n\t\t\t\t\t\tfirstCity: data.OtherCities ? data.OtherCities[0] : {},\n\t\t\t\t\t\totherCities: data.OtherCities || []\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t},\n\trenderCtuCloud: function (data) {\n\t\treturn loadPrecompiledTemplates(['ctu-cloud'])\n\t\t\t.then(() => {\n\t\t\t\tdata.pageType = tumarket.pageType;\n\t\t\t\tlet template = getPrecompiledTemplate('ctu-cloud');\n\t\t\t\tdocument.querySelector('.home-ctu-cloud').innerHTML = template(data);\n\t\t\t});\n\t}\n};\n\nexport default home;\n","/* global tumarket */\n\nimport \"./layout.js\";\nimport home from \"../home/home.js\";\nimport min from \"../search/miniature.js\";\n\n//css\nimport \"owl.carousel/dist/assets/owl.carousel.min.css\";\nimport \"owl.carousel/dist/assets/owl.theme.default.min.css\";\n\nimport \"../../css/modules/tu.m/home/home.css\";\nimport \"../../css/modules/ctuCloud.css\";\n\nwindow.addEventListener('load', () => {\n\thome.init({\n\t\tisAutoPlay: tumarket.home.slider.isAutoPlay,\n\t\tisDotsEach: tumarket.home.slider.isDotsEach,\n\t\tautoplayTimeout: tumarket.home.slider.autoplayTimeout,\n\t\tshowOtherCities: tumarket.home.showOtherCtities\n\t});\n\t\n\tmin.init({\n\t\tIsAuth: tumarket.isAuthenticated\n\t});\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\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","__webpack_require__.amdO = {};","// 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__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \"_\" + {\"27\":\"478d229d9257f7907963\",\"134\":\"47e7b990dcb9bd81063a\",\"246\":\"501a6399706df492579d\",\"507\":\"05441baf623706918a18\",\"626\":\"323857a5e71c751c0a07\",\"634\":\"44149a535041a661c063\",\"986\":\"afdf0bea034e271452e1\",\"1326\":\"26902ba300864e380183\",\"1396\":\"bec90d8ab55a9e1cfbfd\",\"1595\":\"8c4ac55f67fcd39772fd\",\"1602\":\"6f0b168210a72dd6314c\",\"1915\":\"1d60e1c76c7a71868f36\",\"2280\":\"3f31b847e583c1514e6d\",\"2540\":\"d8433db34c17e0d3f4a7\",\"2667\":\"aa12ff698ecb229b55ff\",\"2902\":\"6dd9cad999ddd6757356\",\"3143\":\"a28f6936e6052f53ea07\",\"3200\":\"b01b98ad7e81e52a1dc2\",\"3391\":\"4fa56a38991b9170d46e\",\"3651\":\"d21f85192de175228094\",\"3871\":\"5513f83e3fd6c72d5045\",\"3956\":\"d5bb9f77362c990c87e4\",\"3985\":\"209f8a8dadc548761594\",\"4130\":\"d488df9e63b66d167d01\",\"4298\":\"92475c1d6776628cdab5\",\"4376\":\"dfa9ebf01ebd18bc3f14\",\"4400\":\"00bb532462d9be1a42fd\",\"4464\":\"dbb21093a0ba072888a7\",\"4578\":\"a3f76e15c85aaac1fb57\",\"4886\":\"0b54bc2cb7a1ddecae45\",\"4949\":\"a43c47e84eaa2fb6a1d3\",\"5000\":\"fe83c0e92d71715a7f7a\",\"5098\":\"f6fe0853bd1a48e80967\",\"5154\":\"4d1cf02c8e4065ce13ea\",\"5285\":\"77920c183e65bfdcde3d\",\"5328\":\"809620e4e35d43a2b865\",\"5458\":\"d0eee377570139bd4bd9\",\"5685\":\"4c8ff955b1a6c8e3a47a\",\"5702\":\"021f3023814329859d1b\",\"5823\":\"0ca4d0bf73c64f3b4985\",\"5851\":\"c5a584a902b86984bb65\",\"6152\":\"a2f167652e7b65dff814\",\"6301\":\"86eecd5d93a558c2e0b8\",\"6356\":\"7f8bba7cc2e00757b93f\",\"6495\":\"b3af535f238b645d3a48\",\"6582\":\"69bc5aef2343906834c1\",\"6595\":\"b017fcf53d30c159f39c\",\"6995\":\"778a9715dc5a43e73db8\",\"7047\":\"554ad6220fc353bf9ef6\",\"7151\":\"5066f384a8029dc8ecf5\",\"7232\":\"09c8729a17c021d1e391\",\"7289\":\"e2695e176cc6549d9c08\",\"7522\":\"9a7c26ce9f3f94506a45\",\"7680\":\"5d82327323d7a5395409\",\"7825\":\"364cf81f353e33578486\",\"8097\":\"8a79b38f09726fbe77d2\",\"8192\":\"e29c17499e33b68a8351\",\"8427\":\"40fd8a0f68b6b29c5663\",\"8822\":\"f45650f996449c53d36e\",\"8832\":\"a4b2f439f46ab78c03a6\",\"8992\":\"7cac949427bc114614f4\",\"9244\":\"eff138bdfb2eb12fa7ce\",\"9397\":\"25859cc3061f5bd3ae9c\",\"9476\":\"1102636038c11131f612\",\"9652\":\"2028e3f3147ce87a4127\",\"9806\":\"c622767386ca1a72ee44\",\"9914\":\"b1751fa0f76e035a7d10\",\"9960\":\"74b84a42883e6d7b9c39\"}[chunkId] + \".bundle.js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"../css/\" + chunkId + \"_\" + {\"507\":\"caee04ec7649a68182be\",\"1215\":\"11eab2195dbc51e5bf10\",\"2391\":\"964a451b2b9b785409a7\",\"2540\":\"1f65aa97a795c0fcb210\",\"3391\":\"f22d42a27bd8933e5e8e\",\"3956\":\"790e208f1aeac0a5a5e6\",\"4130\":\"e123afa13701a8431d6f\",\"4376\":\"c48e44aa9b0fff01ed1f\",\"4400\":\"a4ee4462f5b4190d7ec3\",\"4845\":\"75b0e00eedc2090bd768\",\"4886\":\"7e76d3d43b153c5d386e\",\"6301\":\"522cb8c5372c242c68b1\",\"6595\":\"065b358d9efa23c7074f\",\"7825\":\"790e208f1aeac0a5a5e6\",\"8832\":\"522cb8c5372c242c68b1\"}[chunkId] + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript && document.currentScript.tagName.toUpperCase() === 'SCRIPT')\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","if (typeof document === \"undefined\") return;\nvar createStylesheet = (chunkId, fullhref, oldTag, resolve, reject) => {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tif (__webpack_require__.nc) {\n\t\tlinkTag.nonce = __webpack_require__.nc;\n\t}\n\tvar onLinkComplete = (event) => {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && event.type;\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + errorType + \": \" + realHref + \")\");\n\t\t\terr.name = \"ChunkLoadError\";\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tif (linkTag.parentNode) linkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\n\tif (oldTag) {\n\t\toldTag.parentNode.insertBefore(linkTag, oldTag.nextSibling);\n\t} else {\n\t\tdocument.head.appendChild(linkTag);\n\t}\n\treturn linkTag;\n};\nvar findStylesheet = (href, fullhref) => {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = (chunkId) => {\n\treturn new Promise((resolve, reject) => {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, null, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t3973: 0,\n\t4310: 0,\n\t7843: 0,\n\t7871: 0,\n\t7962: 0,\n\t8766: 0,\n\t8925: 0,\n\t9133: 0\n};\n\n__webpack_require__.f.miniCss = (chunkId, promises) => {\n\tvar cssChunks = {\"507\":1,\"1215\":1,\"2391\":1,\"2540\":1,\"3391\":1,\"3956\":1,\"4130\":1,\"4376\":1,\"4400\":1,\"4845\":1,\"4886\":1,\"6301\":1,\"6595\":1,\"7825\":1,\"8832\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(() => {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, (e) => {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr\n\n// no prefetching\n\n// no preloaded","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t3973: 0,\n\t4310: 0,\n\t7843: 0,\n\t7871: 0,\n\t7962: 0,\n\t8766: 0,\n\t8925: 0,\n\t9133: 0,\n\t6616: 0,\n\t5211: 0,\n\t225: 0,\n\t1736: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(!/^(1215|1736|2391|4845|5211|6616)$/.test(chunkId)) {\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunktumarket\"] = self[\"webpackChunktumarket\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [7462,9247,2926,6616,9349,2311,3300,8997,5211,1736,3722,9067,7369,8926], () => (__webpack_require__(2632)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","leafPrototypes","getProto","inProgress","dataWebpackPrefix","tumarket","window","readmoreState","callbacks","toggleReadmore","el","value","skipCallback","$wrap","closest","$toggle","$target","attr","scroll","scrollContainer","$texts","$otherToggles","id","groupContainer","dataset","swapToggleHtml","show","showHtml","html","hideHtml","document","querySelector","querySelectorAll","filter","e","this","forEach","not","each","$text","_wrap","length","is","toggleClass","hasClass","setTimeout","_toggleWrap","ajaxCode","ajaxOptions","ajaxLoaded","data","then","renderComponent","body","dispatchEvent","Event","scrollTo","top","getBoundingClientRect","behavior","callback","initReadmore","on","result","readmore_processed","matches","preventDefault","target","isMob","innerWidth","encodeHtml","rawStr","replace","i","charCodeAt","capitalize","string","charAt","toUpperCase","slice","decapitalize","toLowerCase","toCamelCase","str","group","toSnakeCase","letter","groupBy","array","key","useFunction","reduce","acc","currentValue","groupKey","toString","push","sort","desc","mapper","copy","a","b","reverse","toBool","isAttr","renderSimpleTemplate","template","requireFields","encodeUrl","templateRegex","iifRegex","literalRegex","field","matchAll","getValueByPath","encodeURIComponent","condition","literalA","match","literalB","trim","distinct","index","self","indexOf","parseDate","date","includes","Date","isDateInThisWeek","offset","today","todayObj","setDate","getDate","todayDate","todayDay","getDay","firstDayOfWeek","lastDayOfWeek","object","path","sections","split","section","arrayRegex","setValueByPath","schema","pList","len","elem","isIos","test","navigator","userAgent","platform","maxTouchPoints","swapAltHtml","element","attributeName","oldhtml","innerHTML","newhtml","getAttribute","setAttribute","goBack","tumarketUrlReferrer","urlReferrer","URL","hostname","hasHistory","history","back","close","location","href","getCurrentTimeForInput","productsList","options","url","container","dataMapperCallback","dataUpdateCallback","getUrlParamsCallback","viewMode","renderOnInit","additionalData","state","productsPage_up","productsPage","productsPageSize","totalPages","totalProducts","products","productsSecondary","loadedPages","productsViewMode","restrictAdult","minProductsLeftToShowBanner","additional_items","init","Object","assign","initEvents","getProductsList","renderProductsList","truncate","_updateProductsList","prepend","noMap","PageSize","Total","RestrictAdult","Products","concat","ProductsSecondary","bannerRequired","banner","banners","find","TypeID","isBanner","Math","ceil","Promise","resolve","params","page","model","page_up","ProductItems","ProductItemsSecondary","ViewMode","ShowProductsPaging","Banners","CtuCloud","ctuCloud","ShowSoftMatch","OnlyHasSecondaryProducts","initCtuCloud","initIntersectionObserver","productsLeft","max","itemWidth","firstElementChild","offsetWidth","containerWidth","rowSize","floor","additionalItemsLength","tail","children","otherCitiesSearch","getProductMiniatures","firstCity","otherCities","event","city","productIds","map","Number","linksAfter","name","getOtherCitySlider","highlight","renderOtherCities","initSliderProducts","slider","hrefToMarketCity","renderProductSlider","anyCityName","initProductSlider","productIDs","disableShowCity","Items","join","nextElementSibling","remove","miniatures","item","contextType","MoreItemsLink","sliderProducts","isSlider","mobGrid","htmlOut","sliderContainer","totalProductIds","previousElementSibling","additionalSlide","create","getItems","defaultSliderSize","isNeedLinkUnder","newItems","totalCount","controlsPosition","OtherCities","disabled","getPreviews","pageCode","limit","initCallbacks","$collapse","productID","firmID","previewIDs","youtubePreview","y","_getPreviews","cont","tmpl","_data","JSON","parse","JsonData","previews","items","needsHeader","type","home_news","storageName","hideItem","hiddenItems","getHiddenItems","setHiddenItems","applyHiddenItems","_hiddenItems","localStorage","getItem","setItem","stringify","previewid","home","isMobSearch","isDotsEach","isAutoPlay","autoplayTimeout","showOtherCities","getSliderItems","addEventListener","owlCarousel","loop","autoplay","autoplayHoverPause","dotsEach","mouseDrag","responsive","applyUrlParams","renderCtuCloud","removeClass","searchType","searchParams","get","main","setSearchType","sliders","sliderElement","totalProductIDs","ids","popover","sanitize","_getSliderItems","productSlider","getOtherCities","pageType","showOtherCtities","IsAuth","isAuthenticated","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","loaded","__webpack_modules__","call","m","amdO","O","chunkIds","fn","priority","notFulfilled","Infinity","fulfilled","j","keys","every","splice","r","n","getter","__esModule","d","getPrototypeOf","obj","t","mode","ns","def","current","getOwnPropertyNames","definition","o","defineProperty","enumerable","f","chunkId","all","promises","u","miniCssF","g","globalThis","Function","prop","prototype","hasOwnProperty","l","done","script","needAttach","scripts","getElementsByTagName","s","createElement","charset","timeout","nc","src","onScriptComplete","prev","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","bind","head","appendChild","Symbol","toStringTag","nmd","paths","scriptUrl","importScripts","currentScript","tagName","Error","p","loadStylesheet","reject","fullhref","existingLinkTags","dataHref","tag","rel","existingStyleTags","findStylesheet","oldTag","linkTag","nonce","errorType","realHref","err","code","request","insertBefore","nextSibling","createStylesheet","installedCssChunks","miniCss","installedChunks","installedChunkData","promise","error","realSrc","message","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}