{"version":3,"sources":["add-bundle-to-cart.js"],"names":["onLoad","arguments","length","undefined","document","querySelectorAll","forEach","element","querySelector","addEventListener","products","$data","bundleGroups","reduce","arr","bundleGroup","concat","selectedProducts","map","selectedProduct","find","p","id","dispatchEvent","CustomEvent","bubbles","detail","items","name","categoryName","productListing","brandName","taxRate","price","quantity","e","target"],"mappings":"AAIA,SAAAA,UAAA,EAAAC,UAAAC,QAAAC,KAAAA,IAAAF,UAAA,GAAAA,UAAA,GAAAG,UACAC,iBAAA,qBAAA,EAAAC,QAAA,SAAAC,GACAA,EAAAC,cAAA,MAAA,EAAAC,iBAAA,UAAA,WACA,IAAAC,EAAAH,EAAAI,MAAAC,aACAC,OAAA,SAAAC,EAAAC,GAAA,OAAAD,EAAAE,OAAAD,EAAAE,iBAAAC,IAAA,SAAAC,GAAA,OAAAJ,EAAAL,SAAAU,KAAA,SAAAC,GAAA,OAAAA,EAAAC,IAAAH,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,EAGAZ,EAAAgB,cAAA,IAAAC,YAAA,aAAA,CAAAC,QAAA,CAAA,EAAAC,OAAA,CAAAC,MAAAjB,EAAAQ,IAAA,SAAAG,GAAA,MAAA,CAAAC,GAAAD,EAAAC,GAAAM,KAAAP,EAAAO,KAAAC,aAAAtB,EAAAI,MAAAmB,eAAAD,aAAAE,UAAAV,EAAAU,UAAAC,QAAAX,EAAAW,QAAAC,MAAAZ,EAAAY,MAAAC,SAAAb,EAAAa,SAAA3B,EAAAI,MAAAuB,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACA,CAAA,CACA,CAAA,CACA,CAdAlC,OAAAA,EAEAI,SAAAK,iBAAA,oBAAA,SAAA0B,GAAA,OAAAnC,OAAAmC,EAAAC,MAAA,CAAA,CAAA,SAEApC,MAUA","file":"add-bundle-to-cart.js","sourcesContent":["onLoad();\r\n\r\ndocument.addEventListener('DOMContentUpdated', e => onLoad(e.target));\r\n\r\nexport function onLoad(context = document) {\r\n context.querySelectorAll('.add-bundle-to-cart').forEach(element => {\r\n element.querySelector('form').addEventListener('success', () => {\r\n const products = element.$data.bundleGroups\r\n .reduce((arr, bundleGroup) => arr.concat(bundleGroup.selectedProducts.map(selectedProduct => bundleGroup.products.find(p => p.id == selectedProduct))), []);\r\n\r\n // Trigger the \"cart:added\" event.\r\n element.dispatchEvent(new CustomEvent('cart:added', { bubbles: true, detail: { items: products.map(p => ({ id: p.id, name: p.name, categoryName: element.$data.productListing.categoryName, brandName: p.brandName, taxRate: p.taxRate, price: p.price, quantity: p.quantity * element.$data.quantity })) } }));\r\n });\r\n });\r\n}"]}