{"version":3,"file":"6580.db171e64e4b7b7dd0598.js","mappings":"iIAAe,SAASA,EAA4BC,GAChD,IAAMC,EAAM,IAAIC,IACZC,EAAW,IAAIC,sBAAqB,SAASC,GACzCA,EAAQC,SAAQ,SAAAC,GACRA,EAAMC,gBAAkBP,EAAIQ,IAAIF,EAAMG,UACtCT,EAAIU,IAAIJ,EAAMG,OAAdT,CAAsBM,EAAMG,QAC5BT,EAAG,OAAQM,EAAMG,QACjBP,EAASS,UAAUL,EAAMG,QAEjC,GACJ,GAAGG,OAAOC,OAAO,CAACC,WAAY,QAASC,UAAW,GAAIhB,GAAW,CAAC,IAEtE,OAAO,SAASiB,EAASC,GACrB,IAAKD,GAA+B,mBAAbC,EACnB,MAAM,IAAIC,MAAM,wFAMpB,OAHAlB,EAAImB,IAAIH,EAASC,GACjBf,EAASkB,QAAQJ,GAEVd,CACX,CACJ,C,+ECpBe,SAASmB,EAAsBC,GAC1C,IAAMpB,GAAWJ,EAAAA,EAAAA,GAA4B,CAACgB,WAAY,UAE1DS,MAAMC,KAAKF,GAAmBjB,SAAQ,SAAAoB,GAClCvB,EAASuB,GAAS,kBAI1B,SAA8BA,GAW9B,IAAwBC,KAVLD,EAAQE,QAAQC,UAWxBC,MAAM,gCAADC,OAAiCJ,IAAMK,MAAK,SAAAC,GAAQ,OAAIA,EAASC,MAAM,KAXzCF,MAAK,SAAAC,GAcnD,IAA0BE,EAAElB,EAASmB,EAbL,MAApBH,EAASI,SAaKF,EAZI,CACdlB,QAASS,EACTU,KAAMH,EAASK,SAUHrB,EAAOkB,EAAPlB,QACpB,WAAWsB,MADkBH,EAAID,EAAJC,MACRI,SAIzBvB,EAAQwB,UAAY,sBAAHV,OACFK,EAAKM,IAAG,gBAAAX,OAAeK,EAAKO,UAAS,0GAAAZ,OAExBK,EAAKM,IAAG,MAAAX,OAAKK,EAAKQ,KAAI,gCAAAb,OACpCK,EAAKS,mBAAqB,8BAAgC,GAAE,mDAAAd,OAC/CK,EAAKI,MAAK,iEAjBrC,GACJ,CAbgCM,CAAqBpB,EAAQ,GACzD,GACJ,C","sources":["webpack://front-end-build-system/./src/dom/elementintersectionobserver.js","webpack://front-end-build-system/./src/views/content/blog/product.js"],"sourcesContent":["export default function elementIntersectionObserver(options) {\n const map = new Map(),\n observer = new IntersectionObserver(function(entries) {\n entries.forEach(entry => {\n if (entry.isIntersecting && map.has(entry.target)) {\n map.get(entry.target)(entry.target);\n map.delete(entry.target);\n observer.unobserve(entry.target);\n }\n });\n }, Object.assign({rootMargin: '320px', threshold: 0}, options || {}));\n\n return function(element, callback) {\n if (!element || typeof callback !== 'function') {\n throw new Error('An elementIntersectionObserver requires an element reference and a callback function');\n }\n\n map.set(element, callback);\n observer.observe(element);\n\n return observer;\n };\n}\n","import elementIntersectionObserver from '../../../dom/elementintersectionobserver';\n\nexport default function loadProductComponents(productComponents) {\n const observer = elementIntersectionObserver({rootMargin: '500px'});\n\n Array.from(productComponents).forEach(product => {\n observer(product, () => loadProductComponent(product));\n });\n}\n\nfunction loadProductComponent(product) {\n getProductData(product.dataset.productId).then(response => {\n if (response.Status === 200) {\n addProductContent({\n element: product,\n data: response.Content\n });\n }\n });\n}\n\nfunction getProductData(id) {\n return fetch(`/api/product/getProductClass/${id}`).then(response => response.json());\n}\n\nfunction addProductContent({element, data}) {\n if (/\\$0.00/gi.test(data.Price)) {\n return;\n }\n\n element.innerHTML = `\n \n