{"version":3,"sources":["jsdelivr-header.js","/npm/sd-0x-project-shopping-cart@1.0.0/script.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,MAAM,UAAY,SAAS,cAAc,gBACnC,gBAAkB,SAAS,cAAc,eACzC,KAAO,SAAS,cAAc,SAEpC,SAAS,YACP,UAAU,UAAY,GACtB,cAAc,UAAU,UAC1B,CAEA,SAAS,WACP,MAAM,EAAa,SAAS,cAAc,gBACpC,EAAQ,UAAU,UAAU,MAAM,qCACxC,GAAI,EAAO,CACX,MAKM,EALU,EACb,KAAK,IACL,QAAQ,MAAO,KACf,MAAM,KACN,OAAO,GACc,QAAO,CAAC,EAAK,IAAQ,EAAM,WAAW,IAAM,GAC9D,EAAO,SAAS,EAAS,IAC/B,EAAW,UAAY,GAAI,IAAY,EAAQ,EAAO,OAAO,GAAS,QAAQ,IAC9E,MACE,EAAW,UAAY,GAE3B,CAIA,SAAS,0BAA0B,GACjC,MAAM,EAAM,SAAS,cAAc,OAGnC,OAFA,EAAI,UAAY,cAChB,EAAI,IAAM,EACH,CACT,CAEA,SAAS,oBAAoB,EAAS,EAAW,GAC/C,MAAM,EAAI,SAAS,cAAc,GAGjC,OAFA,EAAE,UAAY,EACd,EAAE,UAAY,EACP,CACT,CAEA,SAAS,sBAAsB,GACzB,EAAM,SAAW,YACnB,WACA,EAAM,OAAO,SACb,cAAc,UAAU,WAE5B,CAEA,SAAS,uBAAsB,IAAE,EAAG,KAAE,EAAI,UAAE,IAC1C,MAAM,EAAK,SAAS,cAAc,MAIlC,OAHA,EAAG,UAAY,aACf,EAAG,UAAY,QAAQ,aAAe,eAAkB,IACxD,EAAG,iBAAiB,QAAS,uBACtB,CACT,CAEA,eAAe,QAAQ,GACrB,MAAM,EAAK,EAAM,OAAO,WAAW,cAAc,cAAc,UACzD,QAAiB,UAAU,GAC3B,EAAU,sBAAsB,CAAE,IAAK,EAAS,GACpD,KAAM,EAAS,MACf,UAAW,EAAS,QACtB,UAAU,YAAY,GACtB,cAAc,UAAU,WACxB,UACF,CAEA,SAAS,0BAAyB,IAAE,EAAG,KAAE,EAAI,MAAE,IAC7C,MAAM,EAAU,SAAS,cAAc,WACjC,EAAS,oBAAoB,SAAU,YAAa,0BAQ1D,OAPA,EAAO,iBAAiB,QAAS,SACjC,EAAQ,UAAY,OAEpB,EAAQ,YAAY,oBAAoB,OAAQ,YAAa,IAC7D,EAAQ,YAAY,oBAAoB,OAAQ,cAAe,IAC/D,EAAQ,YAAY,0BAA0B,IAC9C,EAAQ,YAAY,GACb,CACT,CAtDA,gBAAgB,iBAAiB,QAAS,WAwD1C,OAAO,OAAS,UACd,MAAM,EAAiB,SAAS,cAAc,UAC9C,EAAe,YAAY,oBAAoB,IAAK,UAAW,kBAC/D,MAAM,QAAiB,cAAc,cACrC,EAAe,YAAY,SAAS,cAAc,aAClD,EAAS,QAAQ,SAAS,IACxB,MAAQ,GAAI,EAAK,MAAO,EAAM,UAAW,GAAU,EACnD,EAAe,YAAY,yBAAyB,CAAE,MAAK,OAAM,UAAS,IAE5E,UAAU,UAAY,oBACtB,UAAU,iBAAiB,QAAS,uBACpC,KAAK,YAAY,oBAAoB,OAAQ,cAAe,KAAK","file":"/npm/sd-0x-project-shopping-cart@1.0.0/script.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/sd-0x-project-shopping-cart@1.0.0/script.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","const cartItems = document.querySelector('.cart__items');\nconst cleanCartButton = document.querySelector('.empty-cart');\nconst cart = document.querySelector('.cart');\n\nfunction cleanCart() {\n  cartItems.innerHTML = '';\n  saveCartItems(cartItems.innerHTML);\n}\n\nfunction somaCart() {\n  const totalPrice = document.querySelector('.total-price');\n  const array = cartItems.innerHTML.match(/\\$\\d{1,9}(?:\\.\\d{1,2})|\\$\\d{1,9}/g);\n  if (array) {\n  const valores = array\n    .join('')\n    .replace(/\\$/g, ' ')\n    .split(' ')\n    .splice(1);\n  const loucura = valores.reduce((acc, cur) => acc + parseFloat(cur), 0);\n  const outa = parseInt(loucura, 10);\n  totalPrice.innerHTML = `${(loucura === outa) ? outa : Number(loucura).toFixed(2)}`;\n  } else {\n    totalPrice.innerHTML = '0';\n  }\n}\n\ncleanCartButton.addEventListener('click', cleanCart);\n\nfunction createProductImageElement(imageSource) {\n  const img = document.createElement('img');\n  img.className = 'item__image';\n  img.src = imageSource;\n  return img;\n}\n\nfunction createCustomElement(element, className, innerText) {\n  const e = document.createElement(element);\n  e.className = className;\n  e.innerText = innerText;\n  return e;\n}\n\nfunction cartItemClickListener(event) {\n  if (event.target !== cartItems) {\n    somaCart();\n    event.target.remove();\n    saveCartItems(cartItems.innerHTML);\n  }\n}\n\nfunction createCartItemElement({ sku, name, salePrice }) {\n  const li = document.createElement('li');\n  li.className = 'cart__item';\n  li.innerText = `SKU: ${sku} | NAME: ${name} | PRICE: $${salePrice}`;\n  li.addEventListener('click', cartItemClickListener);\n  return li;\n}\n\nasync function cartAdd(event) {\n  const id = event.target.parentNode.querySelector('.item__sku').innerText;\n  const response = await fetchItem(id);\n  const element = createCartItemElement({ sku: response.id,\n    name: response.title,\n    salePrice: response.price });\n  cartItems.appendChild(element);\n  saveCartItems(cartItems.innerHTML);\n  somaCart();\n}\n\nfunction createProductItemElement({ sku, name, image }) {\n  const section = document.createElement('section');\n  const button = createCustomElement('button', 'item__add', 'Adicionar ao carrinho!');\n  button.addEventListener('click', cartAdd);\n  section.className = 'item';\n  \n  section.appendChild(createCustomElement('span', 'item__sku', sku));\n  section.appendChild(createCustomElement('span', 'item__title', name));\n  section.appendChild(createProductImageElement(image));\n  section.appendChild(button);\n  return section;\n}\n\nwindow.onload = async () => {\n  const itemsContainer = document.querySelector('.items');\n  itemsContainer.appendChild(createCustomElement('p', 'loading', 'carregando...'));\n  const products = await fetchProducts('computador');\n  itemsContainer.removeChild(document.querySelector('.loading'));\n  products.results.forEach((product) => {\n    const { id: sku, title: name, thumbnail: image } = product;\n    itemsContainer.appendChild(createProductItemElement({ sku, name, image }));\n  });\n  cartItems.innerHTML = getSavedCartItems();\n  cartItems.addEventListener('click', cartItemClickListener);\n  cart.appendChild(createCustomElement('span', 'total-price', '0'));\n};\n"]}