{
  "version": 3,
  "sources": ["/cdn/shop/t/2/assets/ipax-collection-sort.js?ipax=3"],
  "sourcesContent": ["(() => {\n  const DISCOUNT_VALUE = 'ipax-discount';\n  const PARAM = 'ipax_sort';\n  const PRICE_ASC = 'price-ascending';\n  const PRICE_DESC = 'price-descending';\n  const TITLE_ASC = 'title-ascending';\n\n  function getGrid() {\n    return document.querySelector('.ipax-collection-page .product-grid, results-list .product-grid');\n  }\n\n  function getCards() {\n    const grid = getGrid();\n    if (!grid) return [];\n    return Array.from(grid.querySelectorAll('.product-grid__item--ipax'));\n  }\n\n  function sortCardsByDiscount() {\n    const grid = getGrid();\n    if (!grid) return;\n    const cards = getCards();\n    if (!cards.length) return;\n\n    cards\n      .sort((a, b) => Number(b.dataset.ipaxDiscount || 0) - Number(a.dataset.ipaxDiscount || 0))\n      .forEach((card) => grid.appendChild(card));\n  }\n\n  function sortCardsByPrice(direction) {\n    const grid = getGrid();\n    if (!grid) return;\n    const cards = getCards();\n    if (!cards.length) return;\n\n    const factor = direction === 'desc' ? -1 : 1;\n    cards\n      .sort((a, b) => {\n        const pa = Number(a.dataset.ipaxPrice || 0);\n        const pb = Number(b.dataset.ipaxPrice || 0);\n        if (pa !== pb) return (pa - pb) * factor;\n        return String(a.dataset.ipaxTitle || '').localeCompare(String(b.dataset.ipaxTitle || ''), 'pt');\n      })\n      .forEach((card) => grid.appendChild(card));\n  }\n\n  function sortCardsByTitle() {\n    const grid = getGrid();\n    if (!grid) return;\n    const cards = getCards();\n    if (!cards.length) return;\n\n    cards\n      .sort((a, b) => String(a.dataset.ipaxTitle || '').localeCompare(String(b.dataset.ipaxTitle || ''), 'pt'))\n      .forEach((card) => grid.appendChild(card));\n  }\n\n  function setDiscountUrl(enabled) {\n    const url = new URL(window.location.href);\n    if (enabled) url.searchParams.set(PARAM, 'discount');\n    else url.searchParams.delete(PARAM);\n    while (url.searchParams.has('sort_by')) url.searchParams.delete('sort_by');\n    history.replaceState(history.state, '', url.toString());\n  }\n\n  function applyDiscountSort(selectEl) {\n    sortCardsByDiscount();\n    setDiscountUrl(true);\n    if (selectEl instanceof HTMLSelectElement) selectEl.value = DISCOUNT_VALUE;\n    document.querySelectorAll('[data-ipax-sort-value]').forEach((input) => {\n      if (input instanceof HTMLInputElement) {\n        input.checked = input.value === DISCOUNT_VALUE;\n      }\n    });\n  }\n\n  function applyClientSortFromUrl() {\n    const url = new URL(window.location.href);\n    if (url.searchParams.get(PARAM) === 'discount') {\n      applyDiscountSort(document.querySelector('[data-ipax-sort-select]'));\n      return;\n    }\n\n    const sortBy = url.searchParams.get('sort_by');\n    if (sortBy === PRICE_ASC) sortCardsByPrice('asc');\n    else if (sortBy === PRICE_DESC) sortCardsByPrice('desc');\n    else if (sortBy === TITLE_ASC) sortCardsByTitle();\n  }\n\n  function onSortChangeCapture(event) {\n    const target = event.target;\n    if (!(target instanceof HTMLSelectElement)) return;\n    if (!target.hasAttribute('data-ipax-sort-select')) return;\n    if (!target.closest('[data-ipax-curated-sort], .sorting-filter--ipax')) return;\n\n    // Inline script em main-collection j\u00E1 trata os sorts do Shopify.\n    // Aqui s\u00F3 o desconto (client-side).\n    if (target.value !== DISCOUNT_VALUE) return;\n\n    event.preventDefault();\n    event.stopImmediatePropagation();\n    applyDiscountSort(target);\n  }\n\n  function init() {\n    document.addEventListener('change', onSortChangeCapture, true);\n    document.addEventListener('ipax:apply-discount-sort', (event) => {\n      const select = event instanceof CustomEvent ? event.detail?.select : null;\n      applyDiscountSort(select || document.querySelector('[data-ipax-sort-select]'));\n      window.__ipaxPendingDiscountSort = null;\n    });\n\n    if (window.__ipaxPendingDiscountSort) {\n      applyDiscountSort(window.__ipaxPendingDiscountSort);\n      window.__ipaxPendingDiscountSort = null;\n    }\n\n    applyClientSortFromUrl();\n    document.addEventListener('shopify:section:load', applyClientSortFromUrl);\n  }\n\n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', init, { once: true });\n  } else {\n    init();\n  }\n})();\n"],
  "mappings": "CAAC,IAAM,CACL,MAAM,eAAiB,gBACjB,MAAQ,YACR,UAAY,kBACZ,WAAa,mBACb,UAAY,kBAElB,SAAS,SAAU,CACjB,OAAO,SAAS,cAAc,iEAAiE,CACjG,CAEA,SAAS,UAAW,CAClB,MAAM,KAAO,QAAQ,EACrB,OAAK,KACE,MAAM,KAAK,KAAK,iBAAiB,2BAA2B,CAAC,EADlD,CAAC,CAErB,CAEA,SAAS,qBAAsB,CAC7B,MAAM,KAAO,QAAQ,EACrB,GAAI,CAAC,KAAM,OACX,MAAM,MAAQ,SAAS,EAClB,MAAM,QAEX,MACG,KAAK,CAAC,EAAG,IAAM,OAAO,EAAE,QAAQ,cAAgB,CAAC,EAAI,OAAO,EAAE,QAAQ,cAAgB,CAAC,CAAC,EACxF,QAAS,MAAS,KAAK,YAAY,IAAI,CAAC,CAC7C,CAEA,SAAS,iBAAiB,UAAW,CACnC,MAAM,KAAO,QAAQ,EACrB,GAAI,CAAC,KAAM,OACX,MAAM,MAAQ,SAAS,EACvB,GAAI,CAAC,MAAM,OAAQ,OAEnB,MAAM,OAAS,YAAc,OAAS,GAAK,EAC3C,MACG,KAAK,CAAC,EAAG,IAAM,CACd,MAAM,GAAK,OAAO,EAAE,QAAQ,WAAa,CAAC,EACpC,GAAK,OAAO,EAAE,QAAQ,WAAa,CAAC,EAC1C,OAAI,KAAO,IAAY,GAAK,IAAM,OAC3B,OAAO,EAAE,QAAQ,WAAa,EAAE,EAAE,cAAc,OAAO,EAAE,QAAQ,WAAa,EAAE,EAAG,IAAI,CAChG,CAAC,EACA,QAAS,MAAS,KAAK,YAAY,IAAI,CAAC,CAC7C,CAEA,SAAS,kBAAmB,CAC1B,MAAM,KAAO,QAAQ,EACrB,GAAI,CAAC,KAAM,OACX,MAAM,MAAQ,SAAS,EAClB,MAAM,QAEX,MACG,KAAK,CAAC,EAAG,IAAM,OAAO,EAAE,QAAQ,WAAa,EAAE,EAAE,cAAc,OAAO,EAAE,QAAQ,WAAa,EAAE,EAAG,IAAI,CAAC,EACvG,QAAS,MAAS,KAAK,YAAY,IAAI,CAAC,CAC7C,CAEA,SAAS,eAAe,QAAS,CAC/B,MAAM,IAAM,IAAI,IAAI,OAAO,SAAS,IAAI,EAGxC,IAFI,QAAS,IAAI,aAAa,IAAI,MAAO,UAAU,EAC9C,IAAI,aAAa,OAAO,KAAK,EAC3B,IAAI,aAAa,IAAI,SAAS,GAAG,IAAI,aAAa,OAAO,SAAS,EACzE,QAAQ,aAAa,QAAQ,MAAO,GAAI,IAAI,SAAS,CAAC,CACxD,CAEA,SAAS,kBAAkB,SAAU,CACnC,oBAAoB,EACpB,eAAe,EAAI,EACf,oBAAoB,oBAAmB,SAAS,MAAQ,gBAC5D,SAAS,iBAAiB,wBAAwB,EAAE,QAAS,OAAU,CACjE,iBAAiB,mBACnB,MAAM,QAAU,MAAM,QAAU,eAEpC,CAAC,CACH,CAEA,SAAS,wBAAyB,CAChC,MAAM,IAAM,IAAI,IAAI,OAAO,SAAS,IAAI,EACxC,GAAI,IAAI,aAAa,IAAI,KAAK,IAAM,WAAY,CAC9C,kBAAkB,SAAS,cAAc,yBAAyB,CAAC,EACnE,MACF,CAEA,MAAM,OAAS,IAAI,aAAa,IAAI,SAAS,EACzC,SAAW,UAAW,iBAAiB,KAAK,EACvC,SAAW,WAAY,iBAAiB,MAAM,EAC9C,SAAW,WAAW,iBAAiB,CAClD,CAEA,SAAS,oBAAoB,MAAO,CAClC,MAAM,OAAS,MAAM,OACf,kBAAkB,mBACnB,OAAO,aAAa,uBAAuB,GAC3C,OAAO,QAAQ,iDAAiD,GAIjE,OAAO,QAAU,iBAErB,MAAM,eAAe,EACrB,MAAM,yBAAyB,EAC/B,kBAAkB,MAAM,EAC1B,CAEA,SAAS,MAAO,CACd,SAAS,iBAAiB,SAAU,oBAAqB,EAAI,EAC7D,SAAS,iBAAiB,2BAA6B,OAAU,CAC/D,MAAM,OAAS,iBAAiB,YAAc,MAAM,QAAQ,OAAS,KACrE,kBAAkB,QAAU,SAAS,cAAc,yBAAyB,CAAC,EAC7E,OAAO,0BAA4B,IACrC,CAAC,EAEG,OAAO,4BACT,kBAAkB,OAAO,yBAAyB,EAClD,OAAO,0BAA4B,MAGrC,uBAAuB,EACvB,SAAS,iBAAiB,uBAAwB,sBAAsB,CAC1E,CAEI,SAAS,aAAe,UAC1B,SAAS,iBAAiB,mBAAoB,KAAM,CAAE,KAAM,EAAK,CAAC,EAElE,KAAK,CAET,GAAG",
  "names": []
}
