{
  "version": 3,
  "sources": ["/cdn/shop/t/4/assets/ez-kit-snaps.js?probe=0"],
  "sourcesContent": ["/* ez-kit-snaps \u2014 the snap packs a kit ships with, as their own cart lines (stud color swap, 2026-10-07).\n *\n * Kits no longer carry a snap pack in the warehouse BOM. Every kit add-to-cart adds the packs its engine already\n * sizes (the same split the old body-color stud add-on used), as the two-code snap pack EZ-C-SNA-{n}-{cap}-{stud}:\n * cap = the kit's material color, stud = the shopper's pick (defaults to the material color).\n * Each line carries the kit's _build properties plus `_kit_snaps: \"1\"`; the EZ Snap Stud Swap cart transform prices\n * those lines server-side: matching stud color = $0, a different stud color = $60 once per build.\n *\n *   EZKitSnaps.lines({ packs: [{n: 200, qty: 2}, {n: 25, qty: 1}], cap: 'BK', stud: 'GY', kitQty: 1, props: {...} })\n *     -> Promise<[{ id, quantity, properties }]>   (rejects if a pack variant is missing: never add a kit without snaps)\n */\n(function () {\n  var HANDLE = 'ez-snap-snap-pack';\n  var CODES = { BK: 'Black', BG: 'Beige', WH: 'White', GY: 'Grey' };\n  var NAMES = { black: 'BK', beige: 'BG', white: 'WH', grey: 'GY', gray: 'GY' };\n  var catalog = null;\n\n  function code(c) {\n    if (!c) return '';\n    var s = String(c).trim();\n    if (CODES[s.toUpperCase()]) return s.toUpperCase();\n    return NAMES[s.toLowerCase()] || '';\n  }\n\n  function load() {\n    if (!catalog) {\n      catalog = fetch('/products/' + HANDLE + '.js', { credentials: 'same-origin' })\n        .then(function (r) {\n          if (!r.ok) throw new Error('snap pack catalog HTTP ' + r.status);\n          return r.json();\n        })\n        .then(function (p) {\n          var m = {};\n          (p.variants || []).forEach(function (v) { if (v.sku) m[String(v.sku).replace(/^W-/, '')] = v; }); // \"W-\" = website channel prefix\n          return m;\n        })\n        .catch(function (e) { catalog = null; throw e; });\n    }\n    return catalog;\n  }\n\n  function sku(n, cap, stud) {\n    return 'EZ-C-SNA-' + n + '-' + cap + '-' + (stud || cap);\n  }\n\n  function lines(opts) {\n    var cap = code(opts.cap);\n    var stud = code(opts.stud) || cap;\n    var mult = Math.max(1, parseInt(opts.kitQty, 10) || 1);\n    var packs = (opts.packs || []).filter(function (p) { return p && +p.n > 0 && +p.qty > 0; });\n    if (!cap) return Promise.reject(new Error('kit snaps: unknown material color ' + opts.cap));\n    if (!packs.length) return Promise.resolve([]);\n    return load().then(function (m) {\n      return packs.map(function (p) {\n        var s = sku(p.n, cap, stud);\n        var v = m[s];\n        if (!v) throw new Error('kit snaps: snap pack variant missing for ' + s);\n        var props = {};\n        var src = opts.props || {};\n        for (var k in src) if (Object.prototype.hasOwnProperty.call(src, k)) props[k] = src[k];\n        props._kit_snaps = '1';\n        return { id: v.id, quantity: +p.qty * mult, properties: props };\n      });\n    });\n  }\n\n  window.EZKitSnaps = { HANDLE: HANDLE, CODES: CODES, UPGRADE: 60, code: code, load: load, sku: sku, lines: lines };\n})();\n"],
  "mappings": "CAWC,UAAY,CACX,IAAI,OAAS,oBACT,MAAQ,CAAE,GAAI,QAAS,GAAI,QAAS,GAAI,QAAS,GAAI,MAAO,EAC5D,MAAQ,CAAE,MAAO,KAAM,MAAO,KAAM,MAAO,KAAM,KAAM,KAAM,KAAM,IAAK,EACxE,QAAU,KAEd,SAAS,KAAK,EAAG,CACf,GAAI,CAAC,EAAG,MAAO,GACf,IAAI,EAAI,OAAO,CAAC,EAAE,KAAK,EACvB,OAAI,MAAM,EAAE,YAAY,CAAC,EAAU,EAAE,YAAY,EAC1C,MAAM,EAAE,YAAY,CAAC,GAAK,EACnC,CAEA,SAAS,MAAO,CACd,OAAK,UACH,QAAU,MAAM,aAAe,OAAS,MAAO,CAAE,YAAa,aAAc,CAAC,EAC1E,KAAK,SAAU,EAAG,CACjB,GAAI,CAAC,EAAE,GAAI,MAAM,IAAI,MAAM,0BAA4B,EAAE,MAAM,EAC/D,OAAO,EAAE,KAAK,CAChB,CAAC,EACA,KAAK,SAAU,EAAG,CACjB,IAAI,EAAI,CAAC,EACT,OAAC,EAAE,UAAY,CAAC,GAAG,QAAQ,SAAU,EAAG,CAAM,EAAE,MAAK,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,MAAO,EAAE,CAAC,EAAI,EAAG,CAAC,EACxF,CACT,CAAC,EACA,MAAM,SAAU,EAAG,CAAE,cAAU,KAAY,CAAG,CAAC,GAE7C,OACT,CAEA,SAAS,IAAI,EAAG,IAAK,KAAM,CACzB,MAAO,YAAc,EAAI,IAAM,IAAM,KAAO,MAAQ,IACtD,CAEA,SAAS,MAAM,KAAM,CACnB,IAAI,IAAM,KAAK,KAAK,GAAG,EACnB,KAAO,KAAK,KAAK,IAAI,GAAK,IAC1B,KAAO,KAAK,IAAI,EAAG,SAAS,KAAK,OAAQ,EAAE,GAAK,CAAC,EACjD,OAAS,KAAK,OAAS,CAAC,GAAG,OAAO,SAAU,EAAG,CAAE,OAAO,GAAK,CAAC,EAAE,EAAI,GAAK,CAAC,EAAE,IAAM,CAAG,CAAC,EAC1F,OAAK,IACA,MAAM,OACJ,KAAK,EAAE,KAAK,SAAU,EAAG,CAC9B,OAAO,MAAM,IAAI,SAAU,EAAG,CAC5B,IAAI,EAAI,IAAI,EAAE,EAAG,IAAK,IAAI,EACtB,EAAI,EAAE,CAAC,EACX,GAAI,CAAC,EAAG,MAAM,IAAI,MAAM,4CAA8C,CAAC,EACvE,IAAI,MAAQ,CAAC,EACT,IAAM,KAAK,OAAS,CAAC,EACzB,QAAS,KAAK,IAAS,OAAO,UAAU,eAAe,KAAK,IAAK,CAAC,IAAG,MAAM,CAAC,EAAI,IAAI,CAAC,GACrF,aAAM,WAAa,IACZ,CAAE,GAAI,EAAE,GAAI,SAAU,CAAC,EAAE,IAAM,KAAM,WAAY,KAAM,CAChE,CAAC,CACH,CAAC,EAZyB,QAAQ,QAAQ,CAAC,CAAC,EAD3B,QAAQ,OAAO,IAAI,MAAM,qCAAuC,KAAK,GAAG,CAAC,CAc5F,CAEA,OAAO,WAAa,CAAE,OAAQ,OAAQ,MAAO,MAAO,QAAS,GAAI,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,MAAO,KAAM,CAClH,GAAG",
  "names": []
}
