PageSourceSearch

https://www.econea.cz/cdn/shop/t/351/assets/bundle.js?v=151507699276077026981770224311

js econea.cz collected 2026-10-02 16:47:19 UTC 9,931 bytes, 9 lines download raw bytes

1/*!
2 * 
3 *
4 * 	This file is auto generated by webpack.
5 * 	Do not edit this file directly.
6 *
7 *
8 */(function(){var __webpack_modules__={
8"./js/libs.js":(function(){eval("\n\n//# sourceURL=webpack://shopify-toolbox/./js/libs.js?")}),
8"./js/partials/custom-product-navigation.js":(function(){eval("var mobileBreakpoint = 766;\nvar factor = 20;\ndocument.addEventListener('DOMContentLoaded', function () {\n  var scrollLinks = document.querySelectorAll('[data-scroll-id]');\n  if (scrollLinks.length === 0) return;\n  scrollLinks.forEach(function (link) {\n    link.addEventListener('click', function () {\n      return handleScrollLinkClick(link);\n    });\n  });\n});\n\nfunction handleScrollLinkClick(link) {\n  var scrollId = link.getAttribute('data-scroll-id');\n\n  if (scrollId === 'top') {\n    window.scrollTo({\n      top: 0,\n      behavior: 'smooth'\n    });\n    return;\n  }\n\n  var targetElement = document.querySelector(\"[data-scroll-target=\\\"\".concat(scrollId, \"\\\"]\"));\n  if (!targetElement) return;\n  handleMobileToggleExpansion(targetElement);\n  scrollToTarget(targetElement);\n}\n\nfunction handleMobileToggleExpansion(targetElement) {\n  if (window.innerWidth > mobileBreakpoint) return;\n  var scrollParent = targetElement.closest('[data-scroll-parent]');\n  if (!scrollParent) return;\n  var toggleElement = scrollParent.querySelector('[data-toggle]');\n  if (!toggleElement) return;\n  var toggleLabel = scrollParent.querySelector('label[for=\"' + toggleElement.id + '\"]');\n  var productDetailsComponent = document.querySelector('custom-product-details');\n\n  if (productDetailsComponent) {\n    productDetailsComponent.openToggle(toggleElement, toggleLabel);\n  }\n}\n\nfunction calculateHeaderHeight() {\n  var header = document.querySelector('#hdr_wrap');\n  if (!header) return factor;\n  return header.offsetTop + header.offsetHeight + factor;\n}\n\nfunction scrollToTarget(targetElement) {\n  var headerHeight = calculateHeaderHeight();\n  var elementPosition = targetElement.getBoundingClientRect().top + window.scrollY;\n  window.scrollTo({\n    top: elementPosition - headerHeight,\n    behavior: 'smooth'\n  });\n}\n\n//# sourceURL=webpack://shopify-toolbox/./js/partials/custom-product-navigation.js?")}),
8"./js/partials/filters.js":(function(){eval("document.addEventListener('DOMContentLoaded', function () {\n  if (window.innerWidth >= 1125) return;\n  var openFiltersBtn = document.querySelector('#open-filters') || document.querySelector('#open-filters-search');\n  var closeFiltersBtn = document.querySelector('#close-filters');\n  if (!openFiltersBtn || !closeFiltersBtn) return;\n  var openFilterBackdrop = document.querySelector('#open-filter-backdrop');\n  document.addEventListener('click', function (e) {\n    if (e.target === openFilterBackdrop) {\n      closeFilters(openFilterBackdrop);\n      scrollToFacets();\n    }\n  });\n  document.addEventListener('filters:opened', function () {\n    openFilters(openFilterBackdrop);\n  });\n  document.addEventListener('filters:closed', function () {\n    closeFilters(openFilterBackdrop);\n    scrollToFacets();\n  });\n});\n\nfunction openFilters(openFilterBackdrop) {\n  document.documentElement.classList.add('overflow-hidden');\n  openFilterBackdrop.classList.remove('hidden');\n}\n\nfunction closeFilters(openFilterBackdrop) {\n  document.documentElement.classList.remove('overflow-hidden');\n  openFilterBackdrop.classList.add('hidden');\n}\n\nfunction scrollToFacets() {\n  var activeFacets = document.querySelector('#active-facets');\n\n  if (activeFacets.querySelector('[data-active-filter]')) {\n    var scrollFactor = 20;\n    var activeFacetsOffset = activeFacets.offsetTop - document.querySelector('#hdr_wrap').clientHeight - scrollFactor;\n    window.scrollTo({\n      top: activeFacetsOffset,\n      behavior: 'smooth'\n    });\n  }\n}\n\n//# sourceURL=webpack://shopify-toolbox/./js/partials/filters.js?")}),
8"./js/partials/grocery-variant-swatches.js":(function(){eval("document.addEventListener('DOMContentLoaded', function () {\n  if (!window.sga || !window.sga.productId) return;\n  var variantRadios = document.querySelectorAll(\".variant-selector__swatches input[type=\\\"radio\\\"]\");\n  var variantRadioLabels = document.querySelectorAll('.variant-selector__swatches .swatch-element');\n  initSwatches(variantRadios, variantRadioLabels);\n  handleSwatchElementClick(variantRadioLabels);\n});\n\nfunction initSwatches(variantRadios, variantRadioLabels) {\n  variantRadios.forEach(function (radio) {\n    radio.addEventListener('change', function () {\n      var swatch = this.closest('.swatch');\n      var optionIndex = swatch ? parseInt(swatch.getAttribute('data-option-index'), 10) : NaN;\n      var optionValue = this.value;\n      var form = this.closest('form');\n      if (!form || isNaN(optionIndex)) return;\n      var selectors = form.querySelectorAll('.single-option-selector');\n\n      if (selectors && selectors[optionIndex]) {\n        selectors[optionIndex].value = optionValue;\n        selectors[optionIndex].dispatchEvent(new Event('change', {\n          bubbles: true\n        }));\n      }\n\n      updateSwatchLabel(swatch, optionValue, variantRadioLabels);\n    });\n  });\n  var variantOptionsEl = document.getElementById('variantOptions');\n\n  if (variantOptionsEl) {\n    variantOptionsEl.addEventListener('change', function () {\n      var optionValue = this.value;\n      var form = document.querySelector('form[action=\"/cart/add\"]');\n      if (!form) return;\n      form.querySelectorAll('.pr_variants').forEach(function (el) {\n        el.value = optionValue;\n        el.dispatchEvent(new Event('change', {\n          bubbles: true\n        }));\n      });\n    });\n  }\n}\n\nfunction handleSwatchElementClick(variantRadioLabels) {\n  variantRadioLabels.forEac
8h(function (element) {\n    element.addEventListener('click', function (e) {\n      var radioInput = element.querySelector('input[type=\"radio\"]');\n\n      if (radioInput && !radioInput.checked) {\n        radioInput.checked = true;\n        radioInput.dispatchEvent(new Event('change', {\n          bubbles: true\n        }));\n      }\n    });\n  });\n}\n\nfunction updateSwatchLabel(swatch, optionValue, variantRadioLabels) {\n  if (!swatch || !optionValue) return;\n  variantRadioLabels.forEach(function (label) {\n    if (label.classList.contains('--active')) {\n      label.classList.remove('--active');\n    }\n\n    if (label.getAttribute('data-value') === optionValue) {\n      label.classList.add('--active');\n    }\n  });\n}\n\n//# sourceURL=webpack://shopify-toolbox/./js/partials/grocery-variant-swatches.js?")}),
8"./js/theme.js":(function(__unused_webpack_module,__webpack_exports__,__webpack_require__){"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _css_theme_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../css/theme.css */ "./css/theme.css");\n/* harmony import */ var _libs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./libs */ "./js/libs.js");\n/* harmony import */ var _libs__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_libs__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _partials_custom_product_navigation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./partials/custom-product-navigation */ "./js/partials/custom-product-navigation.js");\n/* harmony import */ var _partials_custom_product_navigation__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_partials_custom_product_navigation__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _partials_grocery_variant_swatches__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./partials/grocery-variant-swatches */ "./js/partials/grocery-variant-swatches.js");\n/* harmony import */ var _partials_grocery_variant_swatches__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_partials_grocery_variant_swatches__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _partials_filters__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./partials/filters */ "./js/partials/filters.js");\n/* harmony import */ var _partials_filters__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_partials_filters__WEBPACK_IMPORTED_MODULE_4__);\n\n\n\n\n\n\n//# sourceURL=webpack://shopify-toolbox/./js/theme.js?')}),
8"./css/theme.css":(function(__unused_webpack_module,__webpack_exports__,__webpack_require__){"use strict";eval("__webpack_require__.r(__webpack_exports__);\n// extracted by mini-css-extract-plugin\n\n\n//# sourceURL=webpack://shopify-toolbox/./css/theme.css?")})
8},__webpack_module_cache__={};function __webpack_require__(moduleId){var cachedModule=__webpack_module_cache__[moduleId];if(cachedModule!==void 0)return cachedModule.exports;var module=__webpack_module_cache__[moduleId]={exports:{}};return __webpack_modules__[moduleId](module,module.exports,__webpack_require__),module.exports}(function(){__webpack_require__.n=function(module){var getter=module&&module.__esModule?function(){return module.default}:function(){return module};return __webpack_require__.d(getter,{a:getter}),getter}})(),(function(){__webpack_require__.d=function(exports,definition){for(var key in definition)__webpack_require__.o(definition,key)&&!__webpack_require__.o(exports,key)&&Object.defineProperty(exports,key,{enumerable:!0,get:definition[key]})}})(),(function(){__webpack_require__.o=function(obj,prop){return Object.prototype.hasOwnProperty.call(obj,prop)}})(),(function(){__webpack_require__.r=function(exports){typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(exports,"__esModule",{value:!0})}})();var __webpack_exports__=__webpack_require__("./js/theme.js")})();
9//# sourceMappingURL=/cdn/shop/t/351/assets/bundle.js.map?v=151507699276077026981770224311

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.