{
  "version": 3,
  "sources": ["/cdn/shop/t/5/assets/tipa-boost-filtr.js?x=8018"],
  "sourcesContent": ["/*\n  TIPA \u2013 dopl\u0148ky mobiln\u00EDho panelu filtru Boostu (#boost-sd_filter-tree-mobile), 10. 10. 2026.\n  Vzhled je v assets/tipa-boost-karty.css, tady jen dv\u011B v\u011Bci, kter\u00E9 Boost neum\u00ED:\n\n  1. Rychl\u00E9 volby ceny pod posuvn\u00EDkem (mobiln\u00ED panel i lev\u00FD sloupec na desktopu) (\u201EDo 100 K\u010D | 100\u2013500 K\u010D | 500\u20131 000 K\u010D | Nad 1 000 K\u010D\u201C).\n     Hranice se NEp\u00ED\u0161ou natvrdo: po\u010D\u00EDtaj\u00ED se z rozsahu posuvn\u00EDku dan\u00E9 kolekce (aria-valuemin/max\n     kole\u010Dek) v logaritmick\u00E9m m\u011B\u0159\u00EDtku a zaokrouhluj\u00ED na 1\u20132\u20135 \u00D7 10\u207F. M\u011Bna je ta, kterou ukazuje\n     Boost (text .boost-sd__filter-option-range-slider-unit), tak\u017Ee na .sk/.pl/.hu dom\u00E9n\u011B vyjdou\n     volby v \u20AC, z\u0142, Ft. Popisky \u201EDo / Nad\u201C podle html lang. Klepnut\u00ED vypln\u00ED Boostova pole od\u2013do\n     a potvrd\u00ED je Enterem \u2013 p\u0159esn\u011B jako ru\u010Dn\u00ED zad\u00E1n\u00ED, p\u0159epo\u010Det a dotaz d\u011Bl\u00E1 Boost.\n  2. \u201EZru\u0161it v\u0161e\u201C v pati\u010Dce vedle \u201EZobrazit v\u00FDsledky\u201C (kr\u00E1tk\u00FD popisek podle html lang) \u2013 klik\u00E1 na Boostovo tla\u010D\u00EDtko v hlavi\u010Dce\n     panelu, ukazuje se jen kdy\u017E je co ru\u0161it (hlavi\u010Dkov\u00E9 tla\u010D\u00EDtko nem\u00E1 .boost-sd__g-hide).\n  3. Panel vyj\u00ED\u017Ed\u00ED z li\u0161ty dol\u016F jako roletka \u0159azen\u00ED (CSS v tipa-boost-karty.css). Skript t\u011Bsn\u011B\n     p\u0159ed otev\u0159en\u00EDm posune str\u00E1nku, aby li\u0161ta st\u00E1la hned pod z\u00E1hlav\u00EDm (Boost pak zamkne\n     posouv\u00E1n\u00ED), a polohu li\u0161ty p\u0159ed\u00E1 do CSS (--tbk-bar-bottom/-left/-right). Druh\u00E9 klepnut\u00ED\n     na \u201EFiltr\u201C panel zav\u0159e (Boostovo tla\u010D\u00EDtko jen otev\u00EDr\u00E1).\n\n  4. \u0158azen\u00ED bez volby n\u00E1v\u0161t\u011Bvn\u00EDka: kolekce se \u0159ad\u00ED podle Boostova \u201Emost-relevant\u201C, kter\u00E9\n     v nab\u00EDdce nen\u00ED, a Boost pak nech\u00E1 .boost-sd__sorting-value pr\u00E1zdn\u00E9 (vedle \u21C5 nebyl \u017E\u00E1dn\u00FD\n     text). Tla\u010D\u00EDtko pak dostane t\u0159\u00EDdu tbk-sort-default a CSS dopln\u00ED \u201EDoporu\u010Den\u00E9\u201C podle html lang.\n     Do Boostova textu se nezapisuje (p\u0159ekreslil by ho). 11. 10. 2026\n\n  5. Roletka sleduje polohu li\u0161ty po celou dobu, co je otev\u0159en\u00E1 (follow, requestAnimationFrame).\n\n  6. Nadpisy filtr\u016F (h3.boost-sd__filter-option-heading \u2013 Cena, Zna\u010Dka \u2026) podle html lang.\n     Boost je pos\u00EDl\u00E1 v\u017Edy \u010Desky a jejich p\u0159eklad je jen v Boost TURBO (Settings \u2192 Translation\n     nem\u00E1 z\u00E1lo\u017Eku Filter option, ov\u011B\u0159eno 12. 10. 2026). P\u0159episuje se jen text uzlu (nodeValue),\n     ne cel\u00FD prvek \u2013 Boost si uzel dr\u017E\u00ED a filtrov\u00E1n\u00ED se nem\u011Bn\u00ED. A\u017E Boost p\u0159eklady umo\u017En\u00ED,\n     smazat FILTER_TITLES (nezn\u00E1m\u00FD nadpis z\u016Fstane, jak ho Boost poslal).\n\n  Boost panel p\u0159i ka\u017Ed\u00E9 zm\u011Bn\u011B p\u0159ekresl\u00ED, proto MutationObserver vkl\u00E1d\u00E1 prvky znovu.\n  Vkl\u00E1daj\u00ED se jen NOV\u00C9 uzly vedle Boostov\u00FDch; jeho uzly se nep\u0159esouvaj\u00ED (to Boost rozbije).\n*/\n(function () {\n  'use strict';\n  if (window.__tipaBoostFiltr) return;\n  window.__tipaBoostFiltr = true;\n\n  var PANEL = '#boost-sd_filter-tree-mobile';\n  var DESKTOP = '#boost-sd__filter-tree-wrapper';     // lev\u00FD sloupec na desktopu \u2013 jen cenov\u00E9 volby\n  var lang = (document.documentElement.lang || 'cs').slice(0, 2).toLowerCase();\n\n  var nf;\n  try { nf = new Intl.NumberFormat(lang); } catch (e) { nf = new Intl.NumberFormat('cs'); }\n  function num(n) { return nf.format(n); }\n\n  // \u201EDo X\u201C / \u201ENad X\u201C \u2013 ma\u010Far\u0161tina m\u00E1 p\u0159\u00EDponu za \u010D\u00EDslem\n  function labelUpTo(x) {\n    if (lang === 'hu') return x + '-ig';\n    return ({ sk: 'Do ', en: 'Up to ', pl: 'Do ' }[lang] || 'Do ') + x;\n  }\n  function labelOver(x) {\n    if (lang === 'hu') return x + ' felett';\n    return ({ sk: 'Nad ', en: 'Over ', pl: 'Powy\u017Cej ' }[lang] || 'Nad ') + x;\n  }\n\n  // nejbli\u017E\u0161\u00ED \u201Ehezk\u00E9\u201C \u010D\u00EDslo 1\u20132\u20135 \u00D7 10\u207F (v logaritmick\u00E9m m\u011B\u0159\u00EDtku)\n  function nice(x) {\n    var p = Math.pow(10, Math.floor(Math.log10(x)));\n    var best = p, bestD = Infinity;\n    [1, 2, 5, 10].forEach(function (m) {\n      var d = Math.abs(Math.log10(m * p) - Math.log10(x));\n      if (d < bestD) { bestD = d; best = m * p; }\n    });\n    return best;\n  }\n\n  function breakpoints(min, max) {\n    var lo = Math.log10(Math.max(min, 1)), hi = Math.log10(max);\n    if (!(hi > lo)) return [];\n    var out = [];\n    [0.3, 0.55, 0.8].forEach(function (f) {\n      var b = nice(Math.pow(10, lo + (hi - lo) * f));\n      if (b > min && b < max && out.indexOf(b) < 0) out.push(b);\n    });\n    return out.sort(function (a, b) { return a - b; });\n  }\n\n  function inputs(panel) {\n    var els = panel.querySelectorAll('.boost-sd__filter-option-range-slider-input');\n    var min = null, max = null;\n    for (var i = 0; i < els.length; i++) {\n      if (els[i].getAttribute('data-type') === 'max') max = els[i]; else if (!min) min = els[i];\n    }\n    if (!max && els.length > 1) max = els[1];\n    return { min: min, max: max };\n  }\n\n  // Zad\u00E1n\u00ED hodnoty jako u\u017Eivatel: setter (kv\u016Fli frameworku Boostu), input, change, Enter.\n  function commit(el, value) {\n    var setter = Object.getOwnPropertyDescriptor(HTMLInputElement.prototype, 'value').set;\n    setter.call(el, String(value));\n    el.dispatchEvent(new Event('input', { bubbles: true }));\n    el.dispatchEvent(new Event('change', { bubbles: true }));\n    ['keydown', 'keypress', 'keyup'].forEach(function (t) {\n      el.dispatchEvent(new KeyboardEvent(t, { key: 'Enter', code: 'Enter', keyCode: 13, which: 13, bubbles: true }));\n    });\n  }\n\n  function applyRange(rootSel, lo, hi) {\n    var panel = document.querySelector(rootSel);\n    if (!panel) return;\n    var f = inputs(panel);\n    if (!f.min || !f.max) return;\n    var curHi = parseFloat(f.max.value);\n    // nov\u00E9 minimum nad dosavadn\u00EDm maximem \u2192 nejd\u0159\u00EDv maximum, a\u0165 Boost nedostane min > max\n    var order = lo > curHi ? [['max', hi], ['min', lo]] : [['min', lo], ['max', hi]];\n    commit(f[order[0][0]], order[0][1]);\n    // Boost po prvn\u00EDm potvrzen\u00ED panel p\u0159ekresl\u00ED \u2013 pole se mus\u00ED naj\u00EDt znovu\n    setTimeout(function () {\n      var p2 = document.querySelector(rootSel);\n      var f2 = p2 && inputs(p2);\n      if (f2 && f2[order[1][0]]) commit(f2[order[1][0]], order[1][1]);\n    }, 700);\n  }\n\n  function renderChips(panel, rootSel) {\n    var slider = panel.querySelector('.boost-sd__filter-option-range-slider-slider');\n    if (!slider) return;\n    var handles = slider.querySelectorAll('.noUi-handle');\n    if (handles.length < 2) return;\n    var min = parseFloat(handles[0].getAttribute('aria-valuemin'));\n    var max = parseFloat(handles[0].getAttribute('aria-valuemax'));\n    if (!isFinite(min) || !isFinite(max) || max <= min) return;\n\n    var bps = breakpoints(min, max);\n    var box = slider.parentNode.querySelector('.tbk-price-chips');\n    if (bps.length < 2) { if (box) box.remove(); return; }\n\n    var unitEl = panel.querySelector('.boost-sd__filter-option-range-slider-unit');\n    var unit = unitEl ? unitEl.textContent.trim() : '';\n    function money(n) { return unit ? num(n) + '\u00A0' + unit : num(n); }\n\n    var ranges = [{ lo: min, hi: bps[0], text: labelUpTo(money(bps[0])) }];\n    for (var i = 0; i < bps.length - 1; i++) {\n      ranges.push({ lo: bps[i], hi: bps[i + 1], text: num(bps[i]) + '\u2013' + money(bps[i + 1]) });\n    }\n    ranges.push({ lo: bps[bps.length - 1], hi: max, text: labelOver(money(bps[bps.length - 1])) });\n\n    var key = min + '|' + max + '|' + unit;\n    if (!box || box.getAttribute('data-key') !== key) {\n      if (box) box.remove();\n      box = document.createElement('div');\n      box.className = 'tbk-price-chips';\n      box.setAttribute('data-key', key);\n      ranges.forEach(function (r) {\n        var b = document.createElement('button');\n        b.type = 'button';\n        b.className = 'tbk-price-chip';\n        b.textContent = r.text;\n        b.setAttribute('data-lo', r.lo);\n        b.setAttribute('data-hi', r.hi);\n        b.addEventListener('click', function (e) {\n          e.preventDefault();\n          e.stopPropagation();\n          applyRange(rootSel, r.lo, r.hi);\n        });\n        box.appendChild(b);\n      });\n      slider.parentNode.insertBefore(box, slider.nextSibling);\n    }\n\n    // aktivn\u00ED volba = shoda s poli od\u2013do\n    var f = inputs(panel);\n    var curLo = f.min ? parseFloat(f.min.value) : NaN;\n    var curHi = f.max ? parseFloat(f.max.value) : NaN;\n    var chips = box.querySelectorAll('.tbk-price-chip');\n    for (var j = 0; j < chips.length; j++) {\n      var on = parseFloat(chips[j].getAttribute('data-lo')) === curLo &&\n               parseFloat(chips[j].getAttribute('data-hi')) === curHi;\n      chips[j].classList.toggle('is-active', on);\n      chips[j].setAttribute('aria-pressed', on ? 'true' : 'false');\n    }\n  }\n\n  function renderClear(panel) {\n    var foot = panel.querySelector('.boost-sd__filter-tree-vertical-show-result');\n    var head = panel.querySelector('.boost-sd__filter-tree-vertical-mobile-toolbar .boost-sd__button--clear');\n    if (!foot || !head) return;\n    var btn = foot.querySelector('.tbk-clear');\n    if (!btn) {\n      btn = document.createElement('button');\n      btn.type = 'button';\n      btn.className = 'tbk-clear';\n      btn.addEventListener('click', function (e) {\n        e.preventDefault();\n        var h = document.querySelector(PANEL + ' .boost-sd__filter-tree-vertical-mobile-toolbar .boost-sd__button--clear');\n        if (h) h.click();\n      });\n      foot.insertBefore(btn, foot.firstChild);\n    }\n    // kr\u00E1tk\u00FD popisek \u2013 Boostovo \u201EVymaza\u0165 v\u0161etko\u201C by se vedle \u201EZobrazi\u0165 v\u00FDsledky (180)\u201C neve\u0161lo\n    var text = { cs: 'Zru\u0161it v\u0161e', sk: 'Vymaza\u0165', en: 'Clear all', pl: 'Wyczy\u015B\u0107', hu: 'T\u00F6rl\u00E9s' }[lang] || head.textContent.trim();\n    if (btn.textContent !== text) btn.textContent = text;\n    var hidden = head.classList.contains('boost-sd__g-hide');\n    btn.hidden = hidden;\n    foot.classList.toggle('tbk-has-clear', !hidden);\n  }\n\n  // ---------- 3. roletka pod li\u0161tou ----------\n  function panelOpen() {\n    var p = document.querySelector(PANEL);\n    return !!(p && getComputedStyle(p).display !== 'none');\n  }\n  var barKey = '';\n  function setBarBottom() {\n    var bar = document.querySelector('.boost-sd-right .boost-sd__toolbar-container');\n    if (!bar) return;\n    var r = bar.getBoundingClientRect(), st = document.documentElement.style;\n    var b = Math.round(r.bottom), l = Math.round(r.left), rt = Math.round(document.documentElement.clientWidth - r.right);\n    var key = b + '|' + l + '|' + rt;\n    if (key === barKey) return;          // zapisovat jen p\u0159i zm\u011Bn\u011B\n    barKey = key;\n    st.setProperty('--tbk-bar-bottom', b + 'px');\n    st.setProperty('--tbk-bar-left', l + 'px');\n    st.setProperty('--tbk-bar-right', rt + 'px');\n  }\n  /* Dokud je roletka otev\u0159en\u00E1, dr\u017E\u00ED se pod li\u0161tou i kdy\u017E se li\u0161ta posune (po zatr\u017Een\u00ED filtru\n     se nad n\u00ED vysune pruh menu z\u00E1hlav\u00ED, Boost posune str\u00E1nku \u2026) \u2013 d\u0159\u00EDv se poloha brala jen\n     p\u0159i otev\u0159en\u00ED a panel li\u0161tu p\u0159ekryl. Jedno m\u011B\u0159en\u00ED na sn\u00EDmek, kon\u010D\u00ED zav\u0159en\u00EDm. 11. 10. 2026 */\n  var following = false;\n  function follow() {\n    if (!panelOpen()) { following = false; return; }\n    setBarBottom();\n    requestAnimationFrame(follow);\n  }\n  function startFollow() {\n    if (following) return;\n    following = true;\n    requestAnimationFrame(follow);\n  }\n  document.addEventListener('click', function (e) {\n    // \u201E\u0158azen\u00ED\u201C p\u0159i otev\u0159en\u00E9m filtru: filtr nejd\u0159\u00EDv zav\u0159\u00EDt, a\u0165 se roletky nep\u0159ekr\u00FDvaj\u00ED\n    var sortBtn = e.target && e.target.closest && e.target.closest('.boost-sd__sorting-button');\n    if (sortBtn && panelOpen()) {\n      var c = document.querySelector(PANEL + ' .boost-sd__button--close');\n      if (c) c.click();\n      return;\n    }\n    var t = e.target && e.target.closest && e.target.closest('.boost-sd__filter-tree-toggle-button');\n    if (!t || !document.querySelector(PANEL)) return;\n    if (panelOpen()) {\n      e.preventDefault();\n      e.stopPropagation();\n      var close = document.querySelector(PANEL + ' .boost-sd__button--close');\n      if (close) close.click();\n      return;\n    }\n    var bar = document.querySelector('.boost-sd-right .boost-sd__toolbar-container');\n    if (bar) {\n      var headerEnd = parseFloat(getComputedStyle(document.documentElement).getPropertyValue('--header-end')) || 0;\n      var delta = bar.getBoundingClientRect().top - headerEnd - 8;\n      if (Math.abs(delta) > 2) {\n        // posouv\u00E1 se dokument, u motivu s body { overflow-y: auto } p\u0159\u00EDpadn\u011B body\n        var se = document.scrollingElement || document.documentElement;\n        var before = se.scrollTop;\n        se.scrollTop = before + delta;\n        if (se.scrollTop === before) document.body.scrollTop += delta;\n      }\n    }\n    barKey = '';\n    setBarBottom();\n    setTimeout(startFollow, 0);          // panel otev\u00EDr\u00E1 Boost a\u017E po tomto kliknut\u00ED\n  }, true);\n  window.addEventListener('resize', function () { if (panelOpen()) setBarBottom(); });\n\n  var FILTER_TITLES = {\n    'Cena':       { sk: 'Cena',       en: 'Price',        pl: 'Cena',       hu: '\u00C1r' },\n    'Zna\u010Dka':     { sk: 'Zna\u010Dka',     en: 'Brand',        pl: 'Marka',      hu: 'M\u00E1rka' },\n    'Dostupnost': { sk: 'Dostupnos\u0165', en: 'Availability', pl: 'Dost\u0119pno\u015B\u0107', hu: 'El\u00E9rhet\u0151s\u00E9g' },\n    'Skladem.':   { sk: 'Na sklade',  en: 'In stock',     pl: 'Na stanie',  hu: 'Rakt\u00E1ron' },\n    'Skladem':    { sk: 'Na sklade',  en: 'In stock',     pl: 'Na stanie',  hu: 'Rakt\u00E1ron' }\n  };\n  function renderTitles(root) {\n    if (lang === 'cs') return;\n    var hs = root.querySelectorAll('.boost-sd__filter-option-heading');\n    for (var i = 0; i < hs.length; i++) {\n      for (var n = hs[i].firstChild; n; n = n.nextSibling) {\n        if (n.nodeType !== 3) continue;\n        var key = n.nodeValue.trim(), tr = FILTER_TITLES[key] && FILTER_TITLES[key][lang];\n        if (tr && tr !== key) n.nodeValue = n.nodeValue.replace(key, tr);\n      }\n    }\n  }\n\n  function renderSortDefault() {\n    var btns = document.querySelectorAll('.boost-sd__sorting-button');\n    for (var i = 0; i < btns.length; i++) {\n      var v = btns[i].querySelector('.boost-sd__sorting-value');\n      var empty = !!v && !v.textContent.trim();\n      // toggle jen p\u0159i zm\u011Bn\u011B \u2013 jinak by vlastn\u00ED z\u00E1pis t\u0159\u00EDdy budil MutationObserver\n      if (btns[i].classList.contains('tbk-sort-default') !== empty) btns[i].classList.toggle('tbk-sort-default', empty);\n    }\n  }\n\n  var queued = false;\n  function update() {\n    renderSortDefault();\n    if (panelOpen()) startFollow();\n    queued = false;\n    var desk = document.querySelector(DESKTOP);\n    if (desk) { renderChips(desk, DESKTOP); renderTitles(desk); }\n    var panel = document.querySelector(PANEL);\n    if (!panel) return;\n    renderTitles(panel);\n    renderChips(panel, PANEL);\n    renderClear(panel);\n  }\n  function schedule() {\n    if (queued) return;\n    queued = true;\n    requestAnimationFrame(update);\n  }\n\n  new MutationObserver(function (list) {\n    // vlastn\u00ED zm\u011Bny (t\u0159\u00EDdy a atributy na\u0161ich prvk\u016F) nehl\u00EDdat \u2013 jen zm\u011Bny DOMu Boostu\n    for (var i = 0; i < list.length; i++) {\n      var t = list[i].target;\n      if (t.nodeType === 1 && t.closest && t.closest('.tbk-price-chips, .tbk-clear')) continue;\n      schedule();\n      return;\n    }\n  }).observe(document.documentElement, { childList: true, subtree: true, attributes: true, attributeFilter: ['class', 'value', 'aria-valuenow'] });\n  schedule();\n})();\n"],
  "mappings": "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",
  "names": []
}
