{"version":3,"sources":["webpack:///./modules/CountCart.ts"],"names":["__webpack_require__","r","__webpack_exports__","d","renderCountNumber","res","counter","document","querySelector","cartIcon","innerText","classList","remove","length","add","CountCart","this","dataShoppingCartItem","getCountNumberAjax","getAttribute","fetchAndUpdateStore","setup","selector","Array","from","querySelectorAll","filter","node","dataset","moduleInitialized","forEach","element","prototype","url","fetch","credentials","then","text"],"mappings":"yFACAA,EAAAC,EAAAC,GAAAF,EAAAG,EAAAD,EAAA,sCAAAE,IAEO,SAASA,EAAkBC,GAC9B,IAAMC,EAAUC,SAASC,cAAc,cACjCC,EAAWF,SAASC,cAAc,SACxCF,EAAQI,UAAYL,EACpBE,SAASC,cAAc,gBAAgBG,UAAUC,OAAO,gBAEtC,GAAdP,EAAIQ,OACJJ,EAASE,UAAUG,IAAI,kBAEvBL,EAASE,UAAUC,OAAO,kBAG1BP,EAAM,GACNI,EAASE,UAAUC,OAAO,gBAE1BH,EAASE,UAAUG,IAAI,gBAI/B,IAAAC,EAAA,WAaI,SAAAA,IACIC,KAAKP,SAAWF,SAASC,cAAc,SACvCQ,KAAKC,qBAAuBV,SAASC,cAAc,oCACnDQ,KAAKC,uBAAuBD,KAAKE,mBAAqBF,KAAKP,SAASU,aAAa,mCACjFH,KAAKV,QAAUU,KAAKP,SAASD,cAAc,QAE3CQ,KAAKC,sBAAuBD,KAAKI,oBAAoBJ,KAAKE,oBASlE,OAtBWH,EAAAM,MAAP,SAAaC,QAAA,IAAAA,MA3BM,6BA4BfC,MAAMC,KAAKjB,SAASkB,iBAAiBH,IAAWI,OAAO,SAACC,GAAsB,OAACA,EAAKC,QAAQC,oBAAmBC,QAAQ,SAACC,GACpH,IAAIhB,EACJgB,EAAQH,QAAQC,kBAAoB,UAapCd,EAAAiB,UAAAZ,oBAAR,SAA4Ba,GACxBC,MAAMD,GAAOE,YAAa,YACrBC,KAAK,SAAC/B,GAAQ,OAAAA,EAAIgC,SAClBD,KAAK,SAAC/B,GAAQ,OAAAD,EAAkBC,KAChC+B,KAAK,WAAM,OAAA7B,SAASC,cAAc,gBAAgBG,UAAUC,OAAO,mBAEhFG,EA5BA,eA8BA,IAAIA,EAAUM","file":"./modules/CountCart.7bf44974.js","sourcesContent":["\r\nconst moduleSelector = '[data-module=\"CountCart\"]';\r\n\r\nexport function renderCountNumber(res) {\r\n const counter = document.querySelector('.cart span') as HTMLElement;\r\n const cartIcon = document.querySelector('.cart');\r\n counter.innerText = res;\r\n document.querySelector('.cart-loader').classList.remove('lazy-spinner')\r\n \r\n if (res.length == 0) {\r\n cartIcon.classList.add('hide-cart-icon');\r\n } else {\r\n cartIcon.classList.remove('hide-cart-icon');\r\n }\r\n\r\n if (res < 10) {\r\n cartIcon.classList.remove('reduced-font');\r\n } else {\r\n cartIcon.classList.add('reduced-font');\r\n }\r\n}\r\n\r\nexport default class CountCart {\r\n counter: HTMLElement;\r\n cartIcon: HTMLElement;\r\n getCountNumberAjax;\r\n dataShoppingCartItem: HTMLElement;\r\n\r\n static setup(selector: string = moduleSelector): void {\r\n Array.from(document.querySelectorAll(selector)).filter((node: HTMLElement) => !node.dataset.moduleInitialized).forEach((element: HTMLElement) => {\r\n new CountCart();\r\n element.dataset.moduleInitialized = 'true';\r\n });\r\n }\r\n\r\n constructor() {\r\n this.cartIcon = document.querySelector('.cart');\r\n this.dataShoppingCartItem = document.querySelector('[data-shopping-cart-items-count]');\r\n this.dataShoppingCartItem ? this.getCountNumberAjax = this.cartIcon.getAttribute('data-shopping-cart-items-count') : \"\";\r\n this.counter = this.cartIcon.querySelector('span');\r\n\r\n this.dataShoppingCartItem ? this.fetchAndUpdateStore(this.getCountNumberAjax) : \"\";\r\n }\r\n\r\n private fetchAndUpdateStore(url: string): void {\r\n fetch(url, { credentials: \"include\" })\r\n .then((res) => res.text())\r\n .then((res) => renderCountNumber(res))\r\n .then(() => document.querySelector('.cart-loader').classList.remove('lazy-spinner'))\r\n }\r\n}\r\n\r\nnew CountCart.setup();"],"sourceRoot":""}