{
  "version": 3,
  "sources": ["/cdn/shop/t/3/assets/awtomic-theme-custom.js?cv=486d9ac"],
  "sourcesContent": ["window.bundleapp = window.bundleapp || {};\nwindow.bundleapp.settings = Object.assign({}, window.bundleapp.settings || {}, {\n  bab: {\n    productImage: 600\n  }\n});\n\nconst waitForElement = (selector, callback, delay = 0, failsafeDelay) => {\n  const observer = new MutationObserver((mutations, obs) => {\n    const element = document.querySelector(selector);\n    if (element) {\n      obs.disconnect();\n      if (typeof callback === \"function\") {\n        setTimeout(() => {\n          callback(element);\n        }, delay);\n      }\n    }\n  });\n\n  observer.observe(document.body, {\n    childList: true,\n    subtree: true\n  });\n\n  if (failsafeDelay) setTimeout(() => observer.disconnect(), failsafeDelay);\n};\n\n//if awtomic customer portal\nif (window.location.pathname.includes(\"/tools/bundle-subscriptions\") && window.location.search.includes(\"subscriptionId=\")) {\n  document.body.classList.add(\"awt-cp\");\n\n  const babMinimums = {\n    52020203585854: 233,\n    52115221774654: 233,\n    52115221807422: 233,\n    52461902299454: 233,\n\n    52020204568894: 344,\n    52115223576894: 344,\n    52115223609662: 344,\n    52461906657598: 344,\n\n    52020207223102: 660,\n    52115224920382: 660,\n    52115224953150: 660,\n    52461911343422: 660\n  };\n\n  // CP PRICE CHECK\n  waitForElement(\".bundle-table__body-row--bab-parent\", (element) => {\n    const checkBabEdit = (id) => {\n      const minimumPrice = babMinimums[id] || 0;\n\n      const setAddToCartMinimumPrice = () => {\n        const bundleContainer = document.querySelector(\".bundleapp-modal__container--complete-screen > .bundle-container\");\n\n        if (!bundleContainer) return;\n\n        const infoDiv = document.createElement(\"div\");\n        infoDiv.className = \"minimum-price-info\";\n        infoDiv.innerText = `Minimum price of $${minimumPrice} is required for this club.`;\n\n        const footerDiv = bundleContainer.querySelector(\"footer > div\");\n        if (footerDiv) {\n          const lastDiv = footerDiv.querySelector(\"div:last-child\");\n          if (lastDiv) {\n            footerDiv.insertBefore(infoDiv, lastDiv);\n          }\n        }\n\n        bundleContainer.addEventListener(\"click\", (e) => {\n          setTimeout(() => {\n            const price = document.querySelector(\"div > span.bundle-text--emphasis\").innerText;\n            const innerPrice = parseFloat(price.replace(/[^0-9.,]/g, \"\").replace(\",\", \"\"));\n\n            const addToCartButton = document.querySelector(\".bundleapp-modal__container--complete-screen footer > div > div > button\");\n            if (innerPrice < minimumPrice) {\n              addToCartButton.classList.add(\"priceNotMet\");\n              document.body.classList.add(\"priceNotMet\");\n            } else {\n              addToCartButton.classList.remove(\"priceNotMet\");\n              document.body.classList.remove(\"priceNotMet\");\n            }\n          }, 20);\n        });\n      };\n\n      document.body.classList.add(\"priceNotMet\");\n\n      const checkIfPriceLabel = () =>\n        document.querySelector(\".bundleapp-modal__container--complete-screen footer > div > div:last-child > div > span:nth-child(2)\");\n\n      let priceLabelSet = false;\n\n      if (checkIfPriceLabel()) {\n        setAddToCartMinimumPrice();\n      } else {\n        const observer = new MutationObserver((mutations) => {\n          mutations.forEach((mutation) => {\n            if (!priceLabelSet && mutation.addedNodes.length) {\n              if (checkIfPriceLabel()) {\n                setAddToCartMinimumPrice();\n                priceLabelSet = true;\n                observer.disconnect();\n              }\n            }\n          });\n        });\n\n        observer.observe(document.body, {\n          childList: true,\n          subtree: true\n        });\n\n        setTimeout(() => {\n          observer.disconnect();\n        }, 5000);\n      }\n\n      waitForElement(\".awt-section-with-limits\", (element) => {\n        const barsContainer = document.createElement(\"div\");\n        barsContainer.className = \"bars-container\";\n\n        // Create and insert the progress bar\n        const progressBarContainer = document.createElement(\"div\");\n        progressBarContainer.className = \"item-count-progress-container progress-container\";\n        const progressBarContainer2 = document.createElement(\"div\");\n        progressBarContainer2.className = \"item-value-progress-container progress-container\";\n\n        const progressBar = document.createElement(\"div\");\n        progressBar.className = \"item-count-progress-inner progress-inner\";\n        progressBarContainer.appendChild(progressBar);\n\n        const progressBar2 = document.createElement(\"div\");\n        progressBar2.className = \"item-value-progress-inner progress-inner\";\n        progressBarContainer2.appendChild(progressBar2);\n\n        // Create labels for each progress bar\n        if (minimumCount) {\n          const itemCountLabel = document.createElement(\"div\");\n          itemCountLabel.className = \"progress-label\";\n          itemCountLabel.innerText = `Minimum Quantity (${minimumCount})`;\n        }\n\n        const itemValueLabel = document.createElement(\"div\");\n        itemValueLabel.className = \"progress-label\";\n        itemValueLabel.innerText = `Minimum Order $${minimumPrice}`;\n\n        // Create wrappers for horizontal alignment\n        const itemCountWrapper = document.createElement(\"div\");\n        itemCountWrapper.className = \"progress-wrapper\";\n        const itemValueWrapper = document.createElement(\"div\");\n        itemValueWrapper.className = \"progress-wrapper\";\n\n        // Append labels and progress bars to their respective wrappers\n        itemCountWrapper.appendChild(itemCountLabel);\n        itemCountWrapper.appendChild(progressBarContainer);\n\n        itemValueWrapper.appendChild(itemValueLabel);\n        itemValueWrapper.appendChild(progressBarContainer2);\n\n        // Append wrappers to the bars container\n        barsContainer.appendChild(itemValueWrapper);\n        barsContainer.appendChild(itemCountWrapper);\n\n        document.querySelector(\".awt-section-with-limits:first-child\").before(barsContainer);\n\n        const udpateItemCountProgressBar = () => {\n          const cards = document.querySelectorAll('[data-testid=\"product-card\"]');\n          let totalQuantity = 0;\n\n          cards.forEach((card) => {\n            totalQuantity += parseInt(card.getAttribute(\"data-quantity\"), 10);\n          });\n\n          const percentage = Math.min((totalQuantity / minimumCount) * 100, 100);\n          progressBar.style.width = `${percentage}%`;\n        };\n        const udpateValueProgressBar = () => {\n          const price = document.querySelector(\"div > span.bundle-text--emphasis\").innerText;\n          const innerPrice = parseFloat(price.replace(/[^0-9.,]/g, \"\").replace(\",\", \"\"));\n\n          const percentage = Math.min((innerPrice / minimumPrice) * 100, 100);\n          progressBar2.style.width = `${percentage}%`;\n        };\n\n        // Listen for quantity changes\n        document.body.addEventListener(\"click\", (event) => {\n          if (event.target.closest('[data-testid=\"increment-quantity\"], [data-testid=\"decrement-quantity\"]')) {\n            setTimeout(() => {\n              udpateItemCountProgressBar();\n              udpateValueProgressBar();\n            }, 100);\n          }\n        });\n\n        // Initial load\n        udpateItemCountProgressBar();\n        udpateValueProgressBar();\n\n        waitForElement(\".bundle-product-card__quantity-button-container\", () => {\n          // after cards load wait a bit for the preselections to be made\n          setTimeout(() => {\n            udpateItemCountProgressBar();\n            udpateValueProgressBar();\n          }, 300);\n        });\n      });\n    };\n\n    Object.keys(babMinimums).forEach((id) => {\n      //selector should be a tr that includes the id in the class string attribute\n      const selector = `tr[class*=\"${id}\"]`;\n      const element = document.querySelector(selector);\n      console.log(selector, element);\n      if (element) element.addEventListener(\"click\", () => checkBabEdit(id));\n    });\n  });\n}\n\n//if awtomic subs list / my subscriptions\nif (/^\\/tools\\/bundle-subscriptions\\/?$/.test(location.pathname) && !location.search) {\n  document.body.classList.add(\"awt-my-subs\");\n}\n\nconst isBaBPurchaseFlow = window.location.pathname.includes(\"/tools/bundle-subscriptions/bundle/\");\n"],
  "mappings": "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",
  "names": ["element", "itemCountLabel"]
}
