{
  "version": 3,
  "sources": ["/cdn/shop/t/110/assets/pg-fit-recs.js?t=1792385986126"],
  "sourcesContent": ["/* Pinnacle Garage USA - product page \"Wheels That Fit The Same Cars\" becomes \"Wheels That Fit Your <year make model>\"\n   once the shopper has entered their vehicle (localStorage pgVehicle, set by the fit card / vehicle finder).\n   - Checks every wheel in /collections/wheels with the same fit engine as the fit card (PG_FIT.axle: bolt pattern,\n     diameter, width, offset, center bore) and only shows wheels with at least one in-stock size that fits.\n   - Order: wheels made for the shopper's make (e.g. \"Fits BMW\" on a BMW) and universal (aftermarket) wheels first,\n     by performance (window.PG_WSCORE, assets/pg-wheel-scores.js: sales + conversion) - a universal wheel only goes\n     ahead of a brand wheel when it sells / converts better, on a tie the brand wheel wins; then bolt-on before\n     with-mods. Wheels made for another make that still fit always go last.\n   - No vehicle saved, no fit data for it, or nothing fits: the original section stays as it was.\n   Cards are rendered by sections/pg-fit-card.liquid (the theme's own product card). */\n(function () {\n  var LIMIT = 8, prods = null, cards = {}, lastKey = null, orig = null, busy = false;\n  function block() {\n    var hs = document.querySelectorAll('.pg-recs__block h2');\n    for (var i = 0; i < hs.length; i++) if (/wheels that fit/i.test(hs[i].textContent)) return hs[i].closest('.pg-recs__block');\n    return null;\n  }\n  function saved() { try { var v = JSON.parse(localStorage.getItem('pgVehicle') || 'null'); return v && v.y && v.mk && v.model ? v : null; } catch (e) { return null; } }\n  function rowFor(v) {\n    var r = null; (window.PG_VEHICLES || []).forEach(function (x) { if (!r && x[0] === v.mk && x[1] === v.model && v.y >= x[2] && v.y <= x[3]) r = x; });\n    return r && r[5] && r[6] ? r : null;\n  }\n  function ps(s) {\n    var m, z = [], q = [], re = /(\\d{2})\\s*[xX]\\s*(\\d{1,2}(?:\\.\\d+)?)\\s*(?:[\"\u201D\u2033]|INCH(?:ES)?)?\\s*(?:ET\\s*|\\+\\s*|(?=-))(-?\\d+(?:\\.\\d+)?)/gi, re2 = /(?:^|[^0-9.])([4-8])\\s*[xX]\\s*(1\\d{2}(?:\\.\\d)?)(?![0-9])/g;\n    s = String(s || ''); while ((m = re.exec(s))) z.push({ d: +m[1], w: +m[2], et: +m[3] });\n    while ((m = re2.exec(s))) { var c = m[1] + 'x' + m[2]; if (q.indexOf(c) < 0) q.push(c); }\n    return { sizes: z, pcds: q };\n  }\n  function cb(t) { var m = /CB\\s*:?\\s*(\\d{2,3}(?:\\.\\d+)?)/i.exec(t || ''); return m ? +m[1] : 0; }\n  function has(t, w) { return new RegExp('(^|[^A-Z])' + w.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&') + '([^A-Z]|$)').test(t); }\n  function owner(p, mk) {\n    var M = window.PG_MAKES || {}, O = window.PG_OWN_WHEEL_WORDS || {}, t = String(p.title || '').toUpperCase();\n    var own = (M[mk] || [mk.toUpperCase()]).concat(O[mk] || []);\n    if (own.some(function (w) { return has(t, w); })) return 0;\n    for (var k in M) if (k !== mk && M[k].some(function (w) { return has(t, w); })) return 2;\n    return 1;\n  }\n  function rank(v, row) {\n    var F = window.PG_FIT, cur = (location.pathname.match(/\\/products\\/([^/?#]+)/) || [])[1];\n    var out = [];\n    prods.forEach(function (p, i) {\n      if (p.handle === cur || !/wheel/i.test(p.product_type || '') || /steering|hardware|lug|cap|spacer/i.test(p.product_type || '')) return;\n      var tq = ps(p.title).pcds, best = 0;\n      (p.variants || []).forEach(function (vr) {\n        if (!vr.available) return;\n        var sp = ps(vr.title); if (!sp.sizes.length) sp = ps(p.title); if (!sp.sizes.length) return;\n        var q = sp.pcds.length ? sp.pcds : tq, c = cb(vr.title) || cb(p.title), f = sp.sizes[0], r = sp.sizes[1] || f;\n        f._cb = c; r._cb = c;\n        var a = F.axle(row, f, 'f', q), b = F.axle(row, r, 'r', q), l = Math.min(a && a.lvl || 0, b && b.lvl || 0);\n        if (l > best) best = l;\n      });\n      if (best) out.push({ h: p.handle, i: i, lvl: best, o: owner(p, v.mk), s: (window.PG_WSCORE || {})[p.handle] || 0 });\n    });\n    /* made-for-another-make wheels always last; otherwise best performer first, brand wheel before universal on a tie */\n    out.sort(function (a, b) { return ((a.o === 2) - (b.o === 2)) || (b.s - a.s) || (a.o - b.o) || (b.lvl - a.lvl) || (a.i - b.i); });\n    return out.slice(0, LIMIT);\n  }\n  function card(h) {\n    if (cards[h]) return cards[h];\n    cards[h] = fetch('/products/' + encodeURIComponent(h) + '?section_id=pg-fit-card', { credentials: 'same-origin' })\n      .then(function (r) { return r.ok ? r.text() : ''; })\n      .then(function (t) { var d = document.createElement('div'); d.innerHTML = t; var li = d.querySelector('li.grid__item'); return li ? li.outerHTML : ''; })\n      .catch(function () { return ''; });\n    return cards[h];\n  }\n  function loadProds() {\n    if (prods) return Promise.resolve(prods);\n    var all = [];\n    function page(n) {\n      return fetch('/collections/wheels/products.json?limit=250&page=' + n, { credentials: 'same-origin' }).then(function (r) { return r.json(); }).then(function (d) {\n        all = all.concat(d.products || []); return (d.products || []).length === 250 && n < 4 ? page(n + 1) : all;\n      });\n    }\n    return page(1).then(function (a) { prods = a; return a; });\n  }\n  function esc(s) { return String(s).replace(/[&<>\"]/g, function (c) { return { '&': '&amp;', '<': '&lt;', '>': '&gt;', '\"': '&quot;' }[c]; }); }\n  function restore(b) { if (orig !== null && b.getAttribute('data-pg-veh')) { b.innerHTML = orig; b.removeAttribute('data-pg-veh'); } }\n  function run() {\n    var b = block(); if (!b || busy) return;\n    if (orig === null) orig = b.innerHTML;\n    var v = saved(), key = v ? v.y + '|' + v.mk + '|' + v.model : '';\n    if (key === lastKey) return; lastKey = key;\n    var row = v && window.PG_FIT && rowFor(v);\n    if (!row) { restore(b); return; }\n    busy = true;\n    loadProds().then(function () {\n      var list = rank(v, row);\n      if (!list.length) { restore(b); return; }\n      return Promise.all(list.map(function (x) { return card(x.h); })).then(function (html) {\n        html = html.filter(Boolean); if (!html.length) { restore(b); return; }\n        if (lastKey !== key) return;\n        var name = v.y + ' ' + v.mk + ' ' + v.model.replace(/\\s*\\(.*?\\)\\s*/g, ' ').trim();\n        b.innerHTML = '<div class=\"pg-recs__head\"><div><h2 class=\"related-products__heading h2\">Wheels That Fit Your ' + esc(name) + '</h2>' +\n          '<p class=\"pg-recs__caption\" style=\"margin-top:1.2rem\">Checked against your <b>' + esc(v.y + ' ' + v.mk + ' ' + v.model) + '</b> &middot; best fit and best sellers first &middot; in stock and ready to ship</p></div>' +\n          '<a class=\"pg-recs__all\" href=\"/pages/wheels\">View all wheels</a></div>' +\n          '<ul class=\"grid product-grid grid--4-col-desktop grid--2-col-tablet-down\" role=\"list\">' + html.join('') + '</ul>';\n        b.setAttribute('data-pg-veh', key);\n      });\n    }).catch(function () { restore(b); }).then(function () { busy = false; }, function () { busy = false; });\n  }\n  function start() {\n    if (!/\\/products\\//.test(location.pathname)) return;\n    var n = 0, t = setInterval(function () {\n      n++;\n      if (window.PG_FIT && window.PG_VEHICLES && block()) { run(); }\n      if (n > 40 && !block()) clearInterval(t);\n    }, 700);\n    window.addEventListener('storage', function (e) { if (e.key === 'pgVehicle') run(); });\n  }\n  if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', start); else start();\n})();"],
  "mappings": "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",
  "names": []
}
