{
  "version": 3,
  "sources": ["/cdn/shop/t/3/assets/tb-d-find.js?x=1794560341492"],
  "sourcesContent": ["/* Toybox desktop search (750px and up). Replaces Horizon's search pop-up with a larger panel:\n   - before typing: recent searches, trending searches, category tiles, popular brands, and a row of\n     recently viewed toys (or bestsellers), from sections/tb-d-find-products;\n   - while typing: suggestions, matching categories and brands, price shortcuts and a product grid with\n     prices, discount badges and Add to cart, from Shopify predictive search; typo correction (assets/tb-m-fix.js);\n   - the placeholder types out trending searches, a mic button searches by voice where the browser can,\n     \u2191 \u2193 move through results, Enter opens one, Esc closes. \"/\" or Ctrl/\u2318 K opens it from anywhere.\n   Settings (trending, categories, brands, WhatsApp) come from snippets/tb-m-find-data, shared with the phone\n   search screen (assets/tb-m-find.js), and so do recent searches. Styles: assets/tb-d-find.css. */\n(() => {\n  if (window.TbDFind) return;\n  const desk = window.matchMedia('(min-width: 750px)');\n  const reduce = window.matchMedia('(prefers-reduced-motion: reduce)');\n  let D = {};\n  try { D = JSON.parse(document.getElementById('tb-find-data').textContent); } catch (e) {}\n\n  const esc = (s) => String(s == null ? '' : s).replace(/[&<>\"]/g, (c) => ({ '&': '&amp;', '<': '&lt;', '>': '&gt;', '\"': '&quot;' }[c]));\n  const norm = (s) => String(s || '').toLowerCase().replace(/\\s+/g, ' ').trim();\n  const inr = (r) => '\u20B9' + (+r || 0).toLocaleString('en-IN', { maximumFractionDigits: r % 1 ? 2 : 0 });\n  const pic = (u, w) => (u ? (u.indexOf('//') === 0 ? 'https:' + u : u) + (u.indexOf('?') > -1 ? '&' : '?') + 'width=' + w : '');\n  const KEY = 'tb-recent-search';\n  const recent = {\n    get: () => { try { return JSON.parse(localStorage.getItem(KEY)) || []; } catch (e) { return []; } },\n    set: (l) => { try { localStorage.setItem(KEY, JSON.stringify(l.slice(0, 6))); } catch (e) {} }\n  };\n  const remember = (t) => { t = String(t || '').trim(); if (t) recent.set([t].concat(recent.get().filter((x) => norm(x) !== norm(t)))); };\n  const searchUrl = D.search || '/search';\n  const allUrl = (t, extra) => searchUrl + '?q=' + encodeURIComponent(t) + '&type=product&options%5Bprefix%5D=last&options%5Bunavailable_products%5D=last' + (extra || '');\n  const sv = (d, w, sw) => '<svg width=\"' + w + '\" height=\"' + w + '\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"' + sw + '\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\">' + d + '</svg>';\n  const I = {\n    mag: sv('<circle cx=\"11\" cy=\"11\" r=\"7\"/><path d=\"M20 20l-3.5-3.5\"/>', 24, 2.4),\n    sm: sv('<circle cx=\"11\" cy=\"11\" r=\"7\"/><path d=\"M20 20l-3.5-3.5\"/>', 16, 2.2),\n    x: sv('<path d=\"M6 6l12 12M18 6L6 18\"/>', 16, 2.6), xs: sv('<path d=\"M6 6l12 12M18 6L6 18\"/>', 14, 2.4),\n    clock: sv('<circle cx=\"12\" cy=\"12\" r=\"9\"/><path d=\"M12 7v5l3 2\"/>', 16, 2.2),\n    trend: sv('<path d=\"M3 17l6-6 4 4 8-8\"/><path d=\"M15 7h6v6\"/>', 16, 2.4),\n    fill: sv('<path d=\"M17 17L7 7M7 15V7h8\"/>', 16, 2.2), chev: sv('<path d=\"M9 6l6 6-6 6\"/>', 14, 2.6),\n    arrow: sv('<path d=\"M5 12h14M13 6l6 6-6 6\"/>', 18, 2.6), plus: sv('<path d=\"M12 5v14M5 12h14\"/>', 14, 3),\n    mic: sv('<rect x=\"9\" y=\"3\" width=\"6\" height=\"11\" rx=\"3\"/><path d=\"M5 11a7 7 0 0014 0M12 18v3\"/>', 20, 2.2),\n    tag: sv('<path d=\"M3 12V4h8l10 10-8 8zM7.5 7.5h.01\"/>', 16, 2.2), grid: sv('<path d=\"M4 4h7v7H4zM13 4h7v7h-7zM4 13h7v7H4zM13 13h7v7h-7z\"/>', 16, 2.2),\n    rupee: sv('<path d=\"M7 5h10M7 9h10M7 5h3a4 4 0 010 8H7l8 7\"/>', 16, 2.2), chat: sv('<path d=\"M4 20l1.3-3.9A8 8 0 1 1 8 19z\"/>', 18, 2.2),\n    sad: sv('<circle cx=\"11\" cy=\"11\" r=\"7\"/><path d=\"M20 20l-3.5-3.5M8.5 9.5h.01M13.5 9.5h.01M8.5 13.5c1.4-1 3.6-1 5 0\"/>', 44, 2)\n  };\n\n  let el = null, inp = null, body = null, foot = null, opener = null;\n  let q = '', used = '', raw = false, timer = 0, ctl = null, active = -1, typeTimer = 0, rec = null;\n  const cache = new Map();\n  let shelf = null; // { recent: [], best: [] } from sections/tb-d-find-products\n  const $ = (s) => el.querySelector(s);\n\n  /* ---------- Products: one shape for predictive search results and the section's JSON ---------- */\n  const fromSuggest = (p) => {\n    const vs = p.variants || [], v = vs.find((x) => x.available) || vs[0];\n    return {\n      t: p.title, u: p.url, v: p.vendor, i: (p.featured_image && p.featured_image.url) || p.image || '',\n      p: parseFloat(String(p.price || 0).replace(/,/g, '')), c: parseFloat(String(p.compare_at_price_max || 0).replace(/,/g, '')),\n      a: !!p.available && !!v, vid: v ? v.id : 0, n: vs.length, vault: (p.tags || []).some((t) => String(t).toLowerCase() === 'vault'),\n      hide: (p.tags || []).some((t) => String(t).toLowerCase() === 'hidden')\n    };\n  };\n  const fromShelf = (p) => Object.assign({}, p, { p: (p.p || 0) / 100, c: (p.c || 0) / 100 });\n  const card = (p, k) => {\n    const off = p.c > p.p ? Math.round((1 - p.p / p.c) * 100) : 0;\n    const act = !p.a ? '<span class=\"dsf-card__out\">Sold out</span>'\n      : p.n > 1 ? '<a class=\"dsf-card__opt\" href=\"' + esc(p.u) + '\" tabindex=\"-1\">Choose options</a>'\n      : '<tb-add-to-cart class=\"dsf-card__add\"><form action=\"/cart/add\" method=\"post\"><input type=\"hidden\" name=\"id\" value=\"' + esc(p.vid) + '\"><input type=\"hidden\" name=\"quantity\" value=\"1\"><button type=\"submit\" tabindex=\"-1\" aria-label=\"Add ' + esc(p.t) + ' to cart\">Add to cart' + I.plus + '</button></form></tb-add-to-cart>';\n    return '<li class=\"dsf-card\" id=\"dsf-o-' + k + '\" role=\"option\" data-nav data-q=\"' + esc(q.trim()) + '\">' +\n      '<a class=\"dsf-card__img\" href=\"' + esc(p.u) + '\" data-ds=\"prod\" tabindex=\"-1\">' + (p.i ? '<img src=\"' + esc(pic(p.i, 360)) + '\" alt=\"\" loading=\"lazy\">' : '') +\n      '<span class=\"dsf-card__badges\">' + (off >= 5 ? '<b class=\"is-off\">' + off + '% off</b>' : '') + (p.vault ? '<b class=\"is-vault\">Vault</b>' : '') + '</span></a>' +\n      '<a class=\"dsf-card__info\" href=\"' + esc(p.u) + '\" data-ds=\"prod\" tabindex=\"-1\"><span class=\"dsf-card__brand\">' + esc(p.v || '') + '</span><span class=\"dsf-card__name\">' + hl(p.t, used) + '</span>' +\n      '<span class=\"dsf-card__price\"><strong>' + inr(p.p) + '</strong>' + (off ? '<s>' + inr(p.c) + '</s>' : '') + '</span></a>' + act + '</li>';\n  };\n  const hl = (text, term) => {\n    const t = String(text), i = term ? norm(t).indexOf(norm(term)) : -1;\n    if (i < 0) return esc(t);\n    const n = term.trim().length;\n    return esc(t.slice(0, i)) + '<mark>' + esc(t.slice(i, i + n)) + '</mark>' + esc(t.slice(i + n));\n  };\n  // Suggestion text: what was typed stays plain, the rest of the suggestion is bold (easy to scan).\n  const sugg = (text, term) => {\n    const t = String(text), n = norm(term);\n    if (n && norm(t).indexOf(n) === 0) return esc(t.slice(0, n.length)) + '<strong>' + esc(t.slice(n.length)) + '</strong>';\n    return '<strong>' + esc(t) + '</strong>';\n  };\n\n  /* ---------- Before typing ---------- */\n  const startHTML = () => {\n    const r = recent.get();\n    let side = '';\n    if (r.length) side += '<section class=\"dsf-sec\" aria-labelledby=\"dsf-rh\"><div class=\"dsf-hrow\"><h2 id=\"dsf-rh\">Recent searches</h2><button type=\"button\" class=\"dsf-link\" data-ds=\"clear-recent\">Clear</button></div><ul class=\"dsf-list\">' +\n      r.map((t, k) => '<li id=\"dsf-r-' + k + '\" data-nav><button type=\"button\" class=\"dsf-li\" data-ds=\"pick\" data-q=\"' + esc(t) + '\" tabindex=\"-1\"><span class=\"dsf-li__ico\">' + I.clock + '</span>' + esc(t) + '</button><button type=\"button\" class=\"dsf-rm\" data-ds=\"rm\" data-q=\"' + esc(t) + '\" aria-label=\"Remove ' + esc(t) + ' from recent searches\" tabindex=\"-1\">' + I.xs + '</button></li>').join('') + '</ul></section>';\n    if ((D.trending || []).length) side += '<section class=\"dsf-sec\" aria-labelledby=\"dsf-th\"><h2 id=\"dsf-th\">Trending searches</h2><ol class=\"dsf-list dsf-top\">' +\n      D.trending.slice(0, 8).map((t, k) => '<li id=\"dsf-t-' + k + '\" data-nav><button type=\"button\" class=\"dsf-li\" data-ds=\"pick\" data-q=\"' + esc(t) + '\" tabindex=\"-1\"><span class=\"dsf-top__n\">' + (k + 1) + '</span>' + esc(t) + '<span class=\"dsf-top__up\">' + I.trend + '</span></button></li>').join('') + '</ol></section>';\n    let main = '';\n    if ((D.cats || []).length) main += '<section class=\"dsf-sec\" aria-labelledby=\"dsf-ch\"><div class=\"dsf-hrow\"><h2 id=\"dsf-ch\">Shop by category</h2><a class=\"dsf-link\" href=\"' + esc(D.all || '/collections/all') + '\">All toys' + I.chev + '</a></div><div class=\"dsf-cats\">' +\n      D.cats.map((c, k) => '<a id=\"dsf-c-' + k + '\" data-nav href=\"' + esc(c.u) + '\" style=\"--ring:' + esc(c.r) + '\" tabindex=\"-1\"><span class=\"dsf-cats__img\">' + (c.i ? '<img src=\"' + esc(c.i) + '\" alt=\"\" loading=\"lazy\">' : '') + '</span><span>' + esc(c.t) + '</span></a>').join('') + '</div></section>';\n    if ((D.brands || []).length) main += '<section class=\"dsf-sec\" aria-labelledby=\"dsf-bh\"><div class=\"dsf-hrow\"><h2 id=\"dsf-bh\">Popular brands</h2><a class=\"dsf-link\" href=\"' + esc(D.brandsUrl || '/pages/all-brands') + '\">All brands' + I.chev + '</a></div><div class=\"dsf-chips\">' +\n      D.brands.slice(0, 12).map((b, k) => '<button type=\"button\" id=\"dsf-b-' + k + '\" data-nav class=\"dsf-chip\" data-ds=\"pick\" data-q=\"' + esc(b) + '\" tabindex=\"-1\">' + esc(b) + '</button>').join('') + '</div></section>';\n    main += '<section class=\"dsf-sec dsf-shelf\" data-shelf aria-live=\"polite\">' + shelfHTML() + '</section>';\n    return '<div class=\"dsf-start\">' + (side ? '<div class=\"dsf-side\">' + side + '</div>' : '') + '<div class=\"dsf-main\">' + main + '</div></div>';\n  };\n  const viewedIds = () => { try { return (JSON.parse(localStorage.getItem('viewedProducts')) || []).map(String); } catch (e) { return []; } };\n  const shelfHTML = () => {\n    if (!shelf) return '<div class=\"dsf-hrow\"><h2>Loading toys\u2026</h2></div><ul class=\"dsf-grid dsf-grid--5\">' + '<li class=\"dsf-card is-ghost\"><span></span></li>'.repeat(5) + '</ul>';\n    const ids = viewedIds();\n    const byId = new Map((shelf.recent || []).map((p) => [String(p.id), p]));\n    let list = ids.map((id) => byId.get(id)).filter(Boolean), title = 'Recently viewed', clear = true;\n    if (!list.length) { list = shelf.best || []; title = 'Bestsellers right now'; clear = false; }\n    if (!list.length) return '';\n    return '<div class=\"dsf-hrow\"><h2>' + title + '</h2>' + (clear ? '<button type=\"button\" class=\"dsf-link\" data-ds=\"clear-viewed\">Clear</button>' : '<a class=\"dsf-link\" href=\"/collections/bestsellers\">See all' + I.chev + '</a>') + '</div>' +\n      '<ul class=\"dsf-grid dsf-grid--5\" role=\"listbox\" aria-label=\"' + title + '\">' + list.slice(0, 5).map((p, k) => card(fromShelf(p), 's' + k)).join('') + '</ul>';\n  };\n  const loadShelf = async () => {\n    if (shelf) return;\n    const ids = viewedIds();\n    const url = ids.length ? searchUrl + '?q=' + encodeURIComponent(ids.map((id) => 'id:' + id).join(' OR ')) + '&type=product&section_id=tb-d-find-products' : '/?section_id=tb-d-find-products';\n    try {\n      const html = await fetch(url, { credentials: 'same-origin' }).then((r) => r.text());\n      const s = new DOMParser().parseFromString(html, 'text/html').querySelector('[data-tb-dfind]');\n      shelf = s ? JSON.parse(s.textContent) : { recent: [], best: [] };\n    } catch (e) { shelf = { recent: [], best: [] }; }\n    const slot = el && el.querySelector('[data-shelf]');\n    if (slot) { slot.innerHTML = shelfHTML(); collect(); }\n  };\n\n  /* ---------- While typing ---------- */\n  let found = [];\n  const resultsHTML = (res, term, from) => {\n    const n = norm(term);\n    const qs = (res.queries || []).filter((x) => norm(x.text) !== n).slice(0, 6);\n    const cols = (res.collections || []).slice(0, 4);\n    const brands = (D.brands || []).filter((b) => { const nb = norm(b); return n.length > 1 && (nb.indexOf(n) > -1 || n.indexOf(nb) > -1); }).slice(0, 3);\n    found = (res.products || []).map(fromSuggest).filter((p) => !p.hide).slice(0, 8);\n    if (!found.length && !qs.length && !cols.length) return noneHTML(term);\n    let side = '';\n    if (from) side += '<p class=\"dsf-fixed\" role=\"status\">Showing results for <strong>' + esc(term) + '</strong><button type=\"button\" class=\"dsf-link\" data-ds=\"raw\">Search \u201C' + esc(from) + '\u201D instead</button></p>';\n    side += '<section class=\"dsf-sec\" aria-labelledby=\"dsf-sh\"><h2 id=\"dsf-sh\">Suggestions</h2><ul class=\"dsf-list\">' +\n      '<li id=\"dsf-q-x\" data-nav><a class=\"dsf-li\" href=\"' + esc(allUrl(term)) + '\" data-ds=\"all\" tabindex=\"-1\"><span class=\"dsf-li__ico\">' + I.sm + '</span><span><strong>' + esc(term) + '</strong></span><span class=\"dsf-li__hint\">All results</span></a></li>' +\n      qs.map((s, k) => '<li id=\"dsf-q-' + k + '\" data-nav><button type=\"button\" class=\"dsf-li\" data-ds=\"pick\" data-q=\"' + esc(s.text) + '\" tabindex=\"-1\"><span class=\"dsf-li__ico\">' + I.sm + '</span><span>' + sugg(s.text, term) + '</span></button>' +\n        '<button type=\"button\" class=\"dsf-rm dsf-fill\" data-ds=\"fill\" data-q=\"' + esc(s.text) + '\" aria-label=\"Put \u201C' + esc(s.text) + '\u201D in the search box\" tabindex=\"-1\">' + I.fill + '</button></li>').join('') + '</ul></section>';\n    if (cols.length || brands.length) side += '<section class=\"dsf-sec\" aria-labelledby=\"dsf-in\"><h2 id=\"dsf-in\">Shop the range</h2><ul class=\"dsf-list\">' +\n      cols.map((c, k) => '<li id=\"dsf-k-' + k + '\" data-nav><a class=\"dsf-li\" href=\"' + esc(c.url) + '\" tabindex=\"-1\"><span class=\"dsf-li__ico is-cat\">' + I.grid + '</span><span>' + hl(c.title, term) + '</span><span class=\"dsf-li__go\">' + I.chev + '</span></a></li>').join('') +\n      brands.map((b, k) => '<li id=\"dsf-v-' + k + '\" data-nav><a class=\"dsf-li\" href=\"/collections/vendors?q=' + encodeURIComponent(b) + '\" tabindex=\"-1\"><span class=\"dsf-li__ico is-brand\">' + I.tag + '</span><span>All ' + esc(b) + ' toys</span><span class=\"dsf-li__go\">' + I.chev + '</span></a></li>').join('') + '</ul></section>';\n    if (found.length) side += '<section class=\"dsf-sec\" aria-labelledby=\"dsf-ph\"><h2 id=\"dsf-ph\">By budget</h2><div class=\"dsf-chips\">' +\n      [[0, 500, 'Under \u20B9500'], [500, 1000, '\u20B9500 \u2013 \u20B91,000'], [1000, 2500, '\u20B91,000 \u2013 \u20B92,500'], [2500, 0, 'Over \u20B92,500']].map((b, k) =>\n        '<a class=\"dsf-chip\" id=\"dsf-p-' + k + '\" data-nav tabindex=\"-1\" href=\"' + esc(allUrl(term, (b[0] ? '&filter.v.price.gte=' + b[0] : '') + (b[1] ? '&filter.v.price.lte=' + b[1] : ''))) + '\">' + I.rupee + b[2] + '</a>').join('') + '</div></section>';\n    let main = '<section class=\"dsf-sec\" aria-labelledby=\"dsf-mh\"><div class=\"dsf-hrow\"><h2 id=\"dsf-mh\">' + (found.length ? 'Top matches for \u201C' + esc(term) + '\u201D' : 'No toys found for \u201C' + esc(term) + '\u201D yet') + '</h2>' +\n      (found.length ? '<a class=\"dsf-link\" href=\"' + esc(allUrl(term)) + '\" data-ds=\"all\">See all results' + I.chev + '</a>' : '') + '</div>';\n    main += found.length ? '<ul class=\"dsf-grid\" role=\"listbox\" aria-label=\"Matching toys\">' + found.map((p, k) => card(p, k)).join('') + '</ul>'\n      : '<p class=\"dsf-muted\">Try one of the suggestions, or browse a category.</p>';\n    return '<div class=\"dsf-res\"><div class=\"dsf-side\">' + side + '</div><div class=\"dsf-main\">' + main + '</section></div></div>';\n  };\n  const noneHTML = (term) => {\n    const wa = D.wa ? 'https://wa.me/' + D.wa + '?text=' + encodeURIComponent('Hi Toybox, I am looking for: ' + term) : '/pages/contact';\n    return '<div class=\"dsf-none\" role=\"status\"><span class=\"dsf-none__ico\">' + I.sad + '</span><h2>No toys match \u201C' + esc(term) + '\u201D yet</h2>' +\n      '<p>Check the spelling, or try a brand or a category. Still can\u2019t find it? Tell us what you\u2019re after and we\u2019ll try to get it in.</p>' +\n      '<div class=\"dsf-chips\">' + (D.trending || []).slice(0, 6).map((t, k) => '<button type=\"button\" id=\"dsf-n-' + k + '\" data-nav class=\"dsf-chip\" data-ds=\"pick\" data-q=\"' + esc(t) + '\" tabindex=\"-1\">' + I.trend + esc(t) + '</button>').join('') + '</div>' +\n      '<div class=\"dsf-none__cta\"><a class=\"dsf-btn dsf-btn--wa\" href=\"' + esc(wa) + '\"' + (D.wa ? ' target=\"_blank\" rel=\"noopener\"' : '') + '>' + I.chat + 'Ask us on WhatsApp</a><a class=\"dsf-btn\" href=\"' + esc(D.all || '/collections/all') + '\">Browse all toys</a></div></div>';\n  };\n\n  /* ---------- Drawing and keyboard ---------- */\n  let items = [];\n  const collect = () => {\n    items = el ? [...body.querySelectorAll('[data-nav]')] : [];\n    active = -1;\n    inp && inp.removeAttribute('aria-activedescendant');\n  };\n  const setActive = (i) => {\n    items.forEach((x) => x.classList.remove('is-active'));\n    active = i;\n    if (i < 0 || !items[i]) { inp.removeAttribute('aria-activedescendant'); return; }\n    const it = items[i];\n    it.classList.add('is-active');\n    if (it.id) inp.setAttribute('aria-activedescendant', it.id);\n    it.scrollIntoView({ block: 'nearest', behavior: reduce.matches ? 'auto' : 'smooth' });\n  };\n  const draw = (html, term) => {\n    body.innerHTML = html;\n    body.scrollTop = 0;\n    term = body.querySelector('.dsf-none') ? '' : term;\n    foot.hidden = !term;\n    if (term) { const a = foot.querySelector('.dsf-foot__all'); a.href = allUrl(used || term); a.querySelector('span').textContent = 'See all results for \u201C' + (used || term) + '\u201D'; }\n    collect();\n    document.dispatchEvent(new CustomEvent('tb:cards-added'));\n  };\n  const search = () => {\n    const term = q.trim();\n    $('.dsf-clear').hidden = !q;\n    el.classList.toggle('has-q', !!q);\n    clearTimeout(timer);\n    if (!term) { if (ctl) ctl.abort(); used = ''; draw(startHTML(), ''); loadShelf(); return; }\n    const key = norm(term);\n    const get = async (t) => {\n      const k = norm(t);\n      if (cache.has(k)) return cache.get(k);\n      const url = searchUrl + '/suggest.json?q=' + encodeURIComponent(t) + '&resources%5Btype%5D=product,collection,query&resources%5Blimit%5D=10&resources%5Blimit_scope%5D=each&resources%5Boptions%5D%5Bunavailable_products%5D=last&resources%5Boptions%5D%5Bfields%5D=title,product_type,variants.title,vendor,tag';\n      const j = await fetch(url, { signal: ctl.signal, credentials: 'same-origin' }).then((r) => r.json());\n      const res = (j.resources && j.resources.results) || {};\n      cache.set(k, res);\n      return res;\n    };\n    timer = setTimeout(async () => {\n      if (ctl) ctl.abort();\n      ctl = new AbortController();\n      el.classList.add('is-busy');\n      try {\n        let res = await get(term), from = null;\n        used = term;\n        const fx = !raw && !(res.products || []).length && window.TbFix ? window.TbFix.fix(term) : null;\n        if (fx && norm(fx) !== key) { const r2 = await get(fx); if ((r2.products || []).length) { res = r2; from = term; used = fx; } }\n        if (el && norm(q.trim()) === key) draw(resultsHTML(res, used, from), term);\n      } catch (e) { if (e.name !== 'AbortError' && el) draw(noneHTML(term), term); }\n      finally { if (el) el.classList.remove('is-busy'); }\n    }, cache.has(key) ? 0 : 140);\n  };\n  const setQ = (v, focus) => { q = v; inp.value = v; raw = false; search(); if (focus) inp.focus({ preventScroll: true }); };\n\n  /* ---------- Placeholder that types out trending searches ---------- */\n  const typer = () => {\n    const words = (D.trending || []).slice(0, 8);\n    const out = $('.dsf__ph b');\n    if (!words.length || !out) return;\n    if (reduce.matches) { out.textContent = '\u201C' + words[0] + '\u201D'; return; }\n    let w = 0, c = 0, del = false;\n    const tick = () => {\n      if (!el) return;\n      const word = words[w];\n      c += del ? -1 : 1;\n      out.textContent = '\u201C' + word.slice(0, c) + '\u201D';\n      let wait = del ? 35 : 75;\n      if (!del && c >= word.length) { del = true; wait = 1600; }\n      else if (del && c <= 0) { del = false; w = (w + 1) % words.length; wait = 300; }\n      typeTimer = setTimeout(tick, wait);\n    };\n    tick();\n  };\n\n  /* ---------- Voice search ---------- */\n  const Speech = window.SpeechRecognition || window.webkitSpeechRecognition;\n  const listen = () => {\n    if (!Speech) return;\n    const mic = $('.dsf-mic');\n    if (rec) { rec.stop(); return; }\n    rec = new Speech();\n    rec.lang = document.documentElement.lang === 'en' ? 'en-IN' : (document.documentElement.lang || 'en-IN');\n    rec.interimResults = true;\n    mic.classList.add('is-on');\n    mic.setAttribute('aria-label', 'Stop listening');\n    inp.setAttribute('placeholder', 'Listening\u2026');\n    el.classList.add('is-listening');\n    rec.onresult = (e) => { const t = [...e.results].map((r) => r[0].transcript).join(''); q = t; inp.value = t; if (e.results[e.results.length - 1].isFinal) { remember(t); search(); } };\n    rec.onend = () => { rec = null; if (!el) return; mic.classList.remove('is-on'); mic.setAttribute('aria-label', 'Search by voice'); inp.setAttribute('placeholder', ' '); el.classList.remove('is-listening'); if (q) search(); };\n    rec.onerror = () => {};\n    try { rec.start(); } catch (e) { rec = null; }\n  };\n\n  /* ---------- Open and close ---------- */\n  const open = (start, from) => {\n    if (el) { inp.focus(); return; }\n    opener = from || document.activeElement;\n    el = document.createElement('div');\n    el.className = 'dsf';\n    el.innerHTML = '<div class=\"dsf__scrim\" data-ds=\"close\"></div>' +\n      '<div class=\"dsf__panel\" role=\"dialog\" aria-modal=\"true\" aria-label=\"Search the store\">' +\n      '<form class=\"dsf__bar\" role=\"search\" action=\"' + esc(searchUrl) + '\" method=\"get\">' +\n      '<div class=\"dsf__field\"><span class=\"dsf__mag\">' + I.mag + '</span><label class=\"tb-sr\" for=\"dsf-q\">Search the store</label>' +\n      '<input id=\"dsf-q\" type=\"search\" name=\"q\" placeholder=\" \" autocomplete=\"off\" autocapitalize=\"off\" spellcheck=\"false\" enterkeyhint=\"search\" role=\"combobox\" aria-expanded=\"true\" aria-controls=\"dsf-body\" aria-autocomplete=\"list\">' +\n      '<span class=\"dsf__ph\" aria-hidden=\"true\">Search <b>toys, brands and gifts</b></span>' +\n      '<button type=\"button\" class=\"dsf-clear\" data-ds=\"clearq\" aria-label=\"Clear search\" hidden>' + I.x + '</button>' +\n      (Speech ? '<button type=\"button\" class=\"dsf-mic\" data-ds=\"mic\" aria-label=\"Search by voice\">' + I.mic + '</button>' : '') +\n      '<button type=\"submit\" class=\"dsf-go\" aria-label=\"Search\">' + I.arrow + '</button></div>' +\n      '<button type=\"button\" class=\"dsf__close\" data-ds=\"close\" aria-label=\"Close search\"><kbd>Esc</kbd>' + I.x + '</button></form>' +\n      '<div class=\"dsf__body\" id=\"dsf-body\" role=\"listbox\" aria-label=\"Search suggestions and results\"></div>' +\n      '<div class=\"dsf__foot\" hidden><span class=\"dsf__keys\"><kbd>\u2191</kbd><kbd>\u2193</kbd> to browse <kbd>\u21B5</kbd> to open <kbd>Esc</kbd> to close</span>' +\n      '<a class=\"dsf-foot__all\" href=\"#\" data-ds=\"all\"><span>See all results</span>' + I.arrow + '</a></div></div>';\n    document.body.appendChild(el);\n    document.documentElement.classList.add('dsf-lock');\n    inp = $('#dsf-q'); body = $('.dsf__body'); foot = $('.dsf__foot');\n    inp.value = q = start || '';\n    requestAnimationFrame(() => el && el.classList.add('is-open'));\n    inp.focus({ preventScroll: true });\n    search();\n    typer();\n    inp.addEventListener('input', () => { q = inp.value; raw = false; search(); });\n    inp.addEventListener('keydown', onKey);\n    $('.dsf__bar').addEventListener('submit', (e) => {\n      e.preventDefault();\n      if (active > -1 && items[active]) { activate(items[active]); return; }\n      const t = q.trim(); if (!t) return;\n      remember(t);\n      location.href = allUrl(norm(used) === norm(t) || !used ? t : used);\n    });\n    el.addEventListener('click', onClick);\n    el.addEventListener('keydown', trap);\n  };\n  const close = () => {\n    if (!el) return;\n    const r = el;\n    el = null; clearTimeout(timer); clearTimeout(typeTimer); if (ctl) ctl.abort(); if (rec) { try { rec.stop(); } catch (e) {} rec = null; }\n    document.documentElement.classList.remove('dsf-lock');\n    r.classList.remove('is-open');\n    setTimeout(() => r.remove(), reduce.matches ? 0 : 180);\n    if (opener && opener.focus) { try { opener.focus({ preventScroll: true }); } catch (e) {} }\n  };\n  // Keep Tab inside the panel.\n  const trap = (e) => {\n    if (e.key !== 'Tab') return;\n    const f = [...el.querySelectorAll('.dsf__panel input, .dsf__panel button:not([hidden]):not([tabindex=\"-1\"]), .dsf__panel a[href]:not([tabindex=\"-1\"])')].filter((x) => x.offsetParent);\n    if (!f.length) return;\n    const first = f[0], last = f[f.length - 1];\n    if (e.shiftKey && document.activeElement === first) { e.preventDefault(); last.focus(); }\n    else if (!e.shiftKey && document.activeElement === last) { e.preventDefault(); first.focus(); }\n  };\n  const activate = (it) => {\n    const t = it.matches('a, button') ? it : it.querySelector('[data-ds=\"prod\"], .dsf-li, a, button');\n    if (t) t.click();\n  };\n  const onKey = (e) => {\n    if (e.key === 'ArrowDown' || e.key === 'ArrowUp') {\n      if (!items.length) return;\n      e.preventDefault();\n      const d = e.key === 'ArrowDown' ? 1 : -1;\n      setActive(active < 0 ? (d > 0 ? 0 : items.length - 1) : (active + d + items.length) % items.length);\n    } else if (e.key === 'Escape') {\n      e.preventDefault();\n      if (q) setQ('', true); else close();\n    } else if (e.key === 'Tab' && active > -1) {\n      setActive(-1);\n    }\n  };\n  const onClick = (e) => {\n    const t = e.target.closest('[data-ds]');\n    if (!t) { const a = e.target.closest('.dsf__body a[href]'); if (a) remember(q); return; }\n    const a = t.dataset.ds;\n    if (a === 'close') { e.preventDefault(); close(); }\n    else if (a === 'clearq') setQ('', true);\n    else if (a === 'mic') listen();\n    else if (a === 'raw') { raw = true; used = q.trim(); search(); }\n    else if (a === 'pick') { remember(t.dataset.q); setQ(t.dataset.q, true); }\n    else if (a === 'fill') setQ(t.dataset.q + ' ', true);\n    else if (a === 'rm') { recent.set(recent.get().filter((x) => x !== t.dataset.q)); draw(startHTML(), ''); inp.focus(); }\n    else if (a === 'clear-recent') { recent.set([]); draw(startHTML(), ''); inp.focus(); }\n    else if (a === 'clear-viewed') { try { localStorage.removeItem('viewedProducts'); } catch (x) {} const s = el.querySelector('[data-shelf]'); if (s) { s.innerHTML = shelfHTML(); collect(); } inp.focus(); }\n    else if (a === 'all' || a === 'prod') remember(q || used);\n  };\n\n  /* ---------- Opening it: the header search button, links to /search, \"/\" and Ctrl/\u2318 K ---------- */\n  const isSearchLink = (a) => { try { const u = new URL(a.href, location.href); return u.origin === location.origin && /^\\/search\\/?$/.test(u.pathname) && !u.searchParams.get('q'); } catch (x) { return false; } };\n  document.addEventListener('click', (e) => {\n    if (!desk.matches || el || e.defaultPrevented) return;\n    const a = e.target.closest('a[href]');\n    let hit = a && isSearchLink(a) ? a : null;\n    if (!hit) { try { hit = e.target.closest('[on\\\\:click*=\"search-modal\"], search-button, .header__search-button, [data-tb-search-open]'); } catch (x) {} }\n    if (!hit) return;\n    e.preventDefault();\n    e.stopPropagation();\n    open('', hit);\n  }, true);\n  document.addEventListener('keydown', (e) => {\n    if (!desk.matches || el) return;\n    const typing = e.target.closest && e.target.closest('input, textarea, select, [contenteditable=\"true\"]');\n    if ((e.key === 'k' || e.key === 'K') && (e.metaKey || e.ctrlKey)) { e.preventDefault(); open(''); }\n    else if (e.key === '/' && !typing && !e.metaKey && !e.ctrlKey && !e.altKey) { e.preventDefault(); open(''); }\n  });\n  document.addEventListener('keydown', (e) => { if (e.key === 'Escape' && el && e.target !== inp) close(); });\n  // Warm the product shelf when the pointer heads for the search button.\n  document.addEventListener('pointerover', (e) => {\n    if (!desk.matches || shelf) return;\n    try { if (e.target.closest('[on\\\\:click*=\"search-modal\"], search-button, .header__search-button')) loadShelf(); } catch (x) {}\n  }, { passive: true });\n\n  window.TbDFind = { open, close };\n})();\n"],
  "mappings": "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",
  "names": []
}
