{"version":3,"sources":["swatch-overlay.js"],"names":["toggleSwatchActionButtons","input","swatchBasket","Soho","swatchCode","dataset","id","colourId","swatchAddButton","document","querySelector","swatchRemoveButton","swatchExists","style","display","handleAddSwatch","checkbox","getElementById","checked","canAddSwatch","addSwatch","resetBasket","updateBasket","window","Overlays","default","close","handleRemoveSwatch","removeSwatch","querySelectorAll","forEach","swatch","addEventListener","e","preventDefault","Overlay","load","concat","sidebar","modifiers","callback","carousel","body","target","matches","closest"],"mappings":"AAiBA,SAASA,0BAA0BC,GAC/B,IAAMC,EAAeC,KAAKD,aACpBE,EAAa,UAAYH,EAAMI,QAAQC,GAAK,IAAML,EAAMI,QAAQE,SAEhEC,EAAkBC,SAASC,cAAc,kBACzCC,EAAqBF,SAASC,cAAc,qBAE7CR,EAAaU,aAAaR,IAI3BI,EAAgBK,MAAMC,QAAU,OAChCH,EAAmBE,MAAMC,QAAU,UAJnCN,EAAgBK,MAAMC,QAAU,QAChCH,EAAmBE,MAAMC,QAAU,OAK3C,CAEA,SAASC,gBAAgBX,GACrB,IAAMF,EAAeC,KAAKD,aACpBc,EAAWP,SAASQ,eAAeb,GACrCY,IACAA,EAASE,SAAU,EAEfF,EAASE,UAAYhB,EAAaU,aAAaR,KAC3CF,EAAaiB,eACbjB,EAAakB,UAAUhB,GAEvBY,EAASE,SAAU,GAI3BhB,EAAamB,cACbnB,EAAaoB,gBAGjBC,OAAOC,SAASC,QAAQC,OAC5B,CAEA,SAASC,mBAAmBvB,GACxB,IAAMF,EAAeC,KAAKD,aACpBc,EAAWP,SAASQ,eAAeb,GACrCY,IACAA,EAASE,SAAU,EAEfF,EAASE,SAAWhB,EAAaU,aAAaR,KAC9CF,EAAa0B,aAAaxB,GAC1BY,EAASE,SAAU,GAGvBhB,EAAamB,cACbnB,EAAaoB,gBAGjBC,OAAOC,SAASC,QAAQC,OAC5B,CApEAjB,SAASoB,iBAAiB,gCAAgCC,SAAQ,SAACC,GAAM,OAAKA,EAAOC,iBAAiB,SAAS,SAAAC,GAC3GA,EAAEC,iBAEF,IAAMjC,EAAQ8B,EAAOrB,cAAc,oBACnCyB,QAAQC,KAAI,2BAAAC,OAA4BpC,EAAMI,QAAQC,GAAE,YAAA+B,OAAWpC,EAAMI,QAAQE,UAAY,CACzF+B,SAAS,EACTC,UAAW,CAAC,UAAW,gBAAiB,kBACxCC,SAAU,WACNxC,0BAA0BC,GAE1BE,KAAKsC,UACT,GAER,GAAE,IAyDFhC,SAASiC,KAAKV,iBAAiB,SAAS,SAAAC,GACpC,IAAMzB,EAAkByB,EAAEU,OAAOC,QAAQ,kBAAoBX,EAAEU,OAASV,EAAEU,OAAOE,QAAQ,kBACzF,GAAIrC,EACAO,gBAAgBP,EAAgBH,QAAQD,gBAD5C,CAKA,IAAMO,EAAqBsB,EAAEU,OAAOC,QAAQ,qBAAuBX,EAAEU,OAASV,EAAEU,OAAOE,QAAQ,qBAC3FlC,GACAgB,mBAAmBhB,EAAmBN,QAAQD,WAJlD,CAOJ","file":"../../javascript/swatch-overlay.js","sourcesContent":["\n\ndocument.querySelectorAll('.js-swatches-sidebar-overlay').forEach((swatch) => swatch.addEventListener('click', e => {\n    e.preventDefault();\n\n    const input = swatch.querySelector('.js-swatch-input');\n    Overlay.load(`/swatches/details?group=${input.dataset.id}&colour=${input.dataset.colourId}`, {\n        sidebar: true,\n        modifiers: ['sidebar', 'sidebar-right', 'swatch-details'],\n        callback: () => {\n            toggleSwatchActionButtons(input);\n\n            Soho.carousel();\n        }\n    });\n}));\n\nfunction toggleSwatchActionButtons(input) {\n    const swatchBasket = Soho.swatchBasket;\n    const swatchCode = 'swatch-' + input.dataset.id + '-' + input.dataset.colourId;\n\n    const swatchAddButton = document.querySelector('.js-swatch-add');\n    const swatchRemoveButton = document.querySelector('.js-swatch-remove');\n\n    if (!swatchBasket.swatchExists(swatchCode)) {\n        swatchAddButton.style.display = 'block';\n        swatchRemoveButton.style.display = 'none';\n    } else {\n        swatchAddButton.style.display = 'none';\n        swatchRemoveButton.style.display = 'block';\n    }\n}\n\nfunction handleAddSwatch(swatchCode) {\n    const swatchBasket = Soho.swatchBasket;\n    const checkbox = document.getElementById(swatchCode);\n    if (checkbox) {\n        checkbox.checked = true;\n\n        if (checkbox.checked && !swatchBasket.swatchExists(swatchCode)) {\n            if (swatchBasket.canAddSwatch()) {\n                swatchBasket.addSwatch(swatchCode);\n            } else {\n                checkbox.checked = false;\n            }\n        }\n\n        swatchBasket.resetBasket();\n        swatchBasket.updateBasket();\n    }\n\n    window.Overlays.default.close();\n}\n\nfunction handleRemoveSwatch(swatchCode) {\n    const swatchBasket = Soho.swatchBasket;\n    const checkbox = document.getElementById(swatchCode);\n    if (checkbox) {\n        checkbox.checked = true;\n\n        if (checkbox.checked && swatchBasket.swatchExists(swatchCode)) {\n            swatchBasket.removeSwatch(swatchCode);\n            checkbox.checked = false;\n        }\n\n        swatchBasket.resetBasket();\n        swatchBasket.updateBasket();\n    }\n\n    window.Overlays.default.close();\n}\n\ndocument.body.addEventListener('click', e => {\n    const swatchAddButton = e.target.matches('.js-swatch-add') ? e.target : e.target.closest('.js-swatch-add');\n    if (swatchAddButton) {\n        handleAddSwatch(swatchAddButton.dataset.swatchCode);\n        return;\n    }\n\n    const swatchRemoveButton = e.target.matches('.js-swatch-remove') ? e.target : e.target.closest('.js-swatch-remove');\n    if (swatchRemoveButton) {\n        handleRemoveSwatch(swatchRemoveButton.dataset.swatchCode);\n        return;\n    }\n});\n"],"sourceRoot":"../../../../resources/javascript"}