{
  "version": 3,
  "sources": ["/cdn/shop/t/36/assets/fp-header-search.js?fpv=20261015-4"],
  "sourcesContent": ["(function () {\n  'use strict';\n\n  var forms = Array.prototype.slice.call(document.querySelectorAll('.fp2-search__form'));\n  if (!forms.length) return;\n\n  var quickSearches = [\n    { label: 'Alimento para perro', url: '/collections/alimento-para-perros' },\n    { label: 'Alimento para gato', url: '/collections/alimento-para-gatos' },\n    { label: 'Arena para gato', url: '/collections/arena-para-gato' },\n    { label: 'Antipulgas' },\n    { label: 'Nupec', url: '/collections/vendors?q=Nupec' },\n    { label: 'Bravecto', url: '/collections/bravecto' }\n  ];\n  var timers = new WeakMap();\n  var controllers = new WeakMap();\n\n  function escapeHtml(value) {\n    return String(value || '').replace(/[&<>\"']/g, function (character) {\n      return ({\n        '&': '&amp;',\n        '<': '&lt;',\n        '>': '&gt;',\n        '\"': '&quot;',\n        \"'\": '&#039;'\n      })[character];\n    });\n  }\n\n  function escapeAttribute(value) {\n    return escapeHtml(value).replace(/`/g, '&#096;');\n  }\n\n  function ensurePanel(form) {\n    var panel = form.parentNode.querySelector('.fp2-search__suggestions');\n    if (panel) return panel;\n\n    panel = document.createElement('div');\n    panel.className = 'fp2-search__suggestions';\n    panel.setAttribute('role', 'listbox');\n    panel.setAttribute('aria-label', 'Sugerencias de b\u00FAsqueda');\n    panel.hidden = true;\n    form.parentNode.appendChild(panel);\n    return panel;\n  }\n\n  function setExpanded(input, expanded) {\n    input.setAttribute('aria-expanded', expanded ? 'true' : 'false');\n  }\n\n  function showPanel(form, html) {\n    var input = form.querySelector('[data-fp-header-search]');\n    var panel = ensurePanel(form);\n    panel.innerHTML = html;\n    panel.hidden = false;\n    setExpanded(input, true);\n  }\n\n  function hidePanel(form) {\n    var input = form.querySelector('[data-fp-header-search]');\n    var panel = ensurePanel(form);\n    panel.hidden = true;\n    setExpanded(input, false);\n  }\n\n  function quickSearchMarkup() {\n    return [\n      '<div class=\"fp2-search__suggestions-head\">B\u00FAsquedas r\u00E1pidas</div>',\n      '<div class=\"fp2-search__quick-list\">',\n      quickSearches.map(function (term) {\n        return '<button type=\"button\" class=\"fp2-search__quick\" data-fp-search-term=\"' +\n          escapeAttribute(term.label) + '\"' + (term.url ? ' data-fp-search-url=\"' + escapeAttribute(term.url) + '\"' : '') +\n          '><span aria-hidden=\"true\">\u2315</span>' + escapeHtml(term.label) + '</button>';\n      }).join(''),\n      '</div>'\n    ].join('');\n  }\n\n\n  function smartDestination(term) {\n    var normalized = String(term || '').toLowerCase()\n      .normalize('NFD').replace(/[\\u0300-\\u036f]/g, '')\n      .replace(/\\s+/g, ' ').trim();\n\n    var destinations = [\n      { match: /^alimento para perros?$/, url: '/collections/alimento-para-perros' },\n      { match: /^alimento para gatos?$/, url: '/collections/alimento-para-gatos' },\n      { match: /^arena para gatos?$/, url: '/collections/arena-para-gato' },\n      { match: /^nupec$/, url: '/collections/vendors?q=Nupec' },\n      { match: /^bravecto$/, url: '/collections/bravecto' }\n    ];\n\n    var destination = destinations.find(function (item) {\n      return item.match.test(normalized);\n    });\n    return destination ? destination.url : '';\n  }\n\n  function resultMarkup(data, term) {\n    var results = data && data.resources && data.resources.results ? data.resources.results : {};\n    var queries = Array.isArray(results.queries) ? results.queries : [];\n    var products = Array.isArray(results.products) ? results.products : [];\n    var html = '';\n\n    if (queries.length) {\n      html += '<div class=\"fp2-search__suggestions-head\">Sugerencias</div><div class=\"fp2-search__query-list\">';\n      html += queries.slice(0, 6).map(function (query) {\n        var text = query.text || query;\n        return '<button type=\"button\" class=\"fp2-search__query\" data-fp-search-term=\"' +\n          escapeAttribute(text) + '\"><span aria-hidden=\"true\">\u2315</span><span>' +\n          escapeHtml(text) + '</span></button>';\n      }).join('');\n      html += '</div>';\n    }\n\n    if (products.length) {\n      html += '<div class=\"fp2-search__suggestions-head\">Productos</div><div class=\"fp2-search__product-list\">';\n      html += products.slice(0, 4).map(function (product) {\n        var image = product.image || (product.featured_image && product.featured_image.url) || '';\n        var price = product.price ? '<span class=\"fp2-search__product-price\">' + escapeHtml(product.price) + '</span>' : '';\n        return '<a class=\"fp2-search__product\" href=\"' + escapeAttribute(product.url) + '\">' +\n          (image ? '<img src=\"' + escapeAttribute(image) + '\" alt=\"\" loading=\"lazy\" decoding=\"async\" width=\"48\" height=\"48\">' : '<span class=\"fp2-search__product-placeholder\" aria-hidden=\"true\"></span>') +\n          '<span class=\"fp2-search__product-copy\"><span class=\"fp2-search__product-title\">' + escapeHtml(product.title) + '</span>' + price + '</span></a>';\n      }).join('');\n      html += '</div>';\n    }\n\n    if (!html) {\n      html = '<div class=\"fp2-search__empty\">No encontramos resultados para <strong>' +\n        escapeHtml(term) + '</strong>. Prueba con otra palabra.</div>';\n    }\n\n    return html;\n  }\n\n  function requestSuggestions(form, term) {\n    var panel = ensurePanel(form);\n    var previousController = controllers.get(form);\n    if (previousController) previousController.abort();\n\n    var controller = new AbortController();\n    controllers.set(form, controller);\n    panel.innerHTML = '<div class=\"fp2-search__loading\" role=\"status\">Buscando productos...</div>';\n    panel.hidden = false;\n\n    var params = new URLSearchParams({\n      q: term,\n      'resources[type]': 'query,product',\n      'resources[options][fields]': 'title,product_type,variants.title,vendor',\n      'resources[options][unavailable_products]': 'hide',\n      'resources[limit]': '6'\n    });\n\n    fetch('/search/suggest.json?' + params.toString(), {\n      credentials: 'same-origin',\n      headers: { Accept: 'application/json' },\n      signal: controller.signal\n    }).then(function (response) {\n      if (!response.ok) throw new Error('search-suggest-' + response.status);\n      return response.json();\n    }).then(function (data) {\n      if (controllers.get(form) !== controller) return;\n      showPanel(form, resultMarkup(data, term));\n    }).catch(function (error) {\n      if (error.name === 'AbortError') return;\n      showPanel(form, '<div class=\"fp2-search__empty\">Puedes presionar Enter para ver todos los resultados.</div>');\n    });\n  }\n\n  function handleInput(event) {\n    var input = event.currentTarget;\n    var form = input.form;\n    var term = input.value.trim();\n    clearTimeout(timers.get(form));\n\n    if (!term) {\n      showPanel(form, quickSearchMarkup());\n      return;\n    }\n    if (term.length < 2) {\n      showPanel(form, '<div class=\"fp2-search__hint\">Escribe al menos 2 caracteres para buscar.</div>');\n      return;\n    }\n\n    timers.set(form, setTimeout(function () {\n      requestSuggestions(form, term);\n    }, 180));\n  }\n\n  function submitTerm(form, term) {\n    var input = form.querySelector('[data-fp-header-search]');\n    if (!input) return;\n    input.value = term;\n    hidePanel(form);\n    var destination = smartDestination(term);\n    if (destination) {\n      window.location.href = destination;\n      return;\n    }\n    form.requestSubmit();\n  }\n\n  forms.forEach(function (form, index) {\n    var input = form.querySelector('[data-fp-header-search]');\n    if (!input) return;\n    var panel = ensurePanel(form);\n    var panelId = 'fp2-search-suggestions-' + index;\n    panel.id = panelId;\n    input.setAttribute('role', 'combobox');\n    input.setAttribute('aria-autocomplete', 'list');\n    input.setAttribute('aria-controls', panelId);\n    setExpanded(input, false);\n\n    input.addEventListener('focus', function () {\n      if (!input.value.trim()) showPanel(form, quickSearchMarkup());\n      else handleInput({ currentTarget: input });\n    });\n    input.addEventListener('input', handleInput);\n    input.addEventListener('keydown', function (event) {\n      if (event.key === 'Escape') {\n        hidePanel(form);\n        return;\n      }\n      if (event.key === 'ArrowDown') {\n        var firstAction = panel.querySelector('button, a');\n        if (firstAction) {\n          event.preventDefault();\n          firstAction.focus();\n        }\n      }\n    });\n    form.addEventListener('submit', function () {\n      hidePanel(form);\n    });\n    panel.addEventListener('click', function (event) {\n      var action = event.target.closest('[data-fp-search-term]');\n      if (!action) return;\n      event.preventDefault();\n      var directUrl = action.getAttribute('data-fp-search-url');\n      if (directUrl) {\n        window.location.href = directUrl;\n        return;\n      }\n      submitTerm(form, action.getAttribute('data-fp-search-term'));\n    });\n  });\n\n  document.addEventListener('click', function (event) {\n    forms.forEach(function (form) {\n      if (!form.contains(event.target) && !ensurePanel(form).contains(event.target)) hidePanel(form);\n    });\n  });\n\n  document.addEventListener('keydown', function (event) {\n    if (event.key !== 'Escape') return;\n    forms.forEach(function (form) {\n      hidePanel(form);\n    });\n  }, true);\n}());\n"],
  "mappings": "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",
  "names": []
}
