{
  "version": 3,
  "sources": ["/cdn/shop/t/65/assets/ml-product-page.js?ml_build=170926_quantity_stepper1"],
  "sourcesContent": ["(function () {\n  'use strict';\n\n  function copyText(value) {\n    if (navigator.clipboard && window.isSecureContext) return navigator.clipboard.writeText(value);\n    return new Promise(function (resolve) {\n      var input = document.createElement('textarea');\n      input.value = value;\n      input.style.position = 'fixed';\n      input.style.opacity = '0';\n      document.body.appendChild(input);\n      input.select();\n      document.execCommand('copy');\n      input.remove();\n      resolve();\n    });\n  }\n\n  function setQuantity(control, value) {\n    if (!control) return;\n    var input = control.querySelector('.ml-quantity-control__input');\n    var select = control.querySelector('[data-ml-quantity-select]');\n    var currents = control.querySelectorAll('[data-ml-quantity-current]');\n    if (!input) return;\n    input.value = value;\n    input.dispatchEvent(new Event('input', { bubbles: true }));\n    input.dispatchEvent(new Event('change', { bubbles: true }));\n    if (select) select.value = String(value);\n    syncQuantityControl(control);\n  }\n\n  function syncQuantityControl(control) {\n    if (!control) return;\n    var input = control.querySelector('.ml-quantity-control__input');\n    if (!input) return;\n    var value = input.value || input.min || '1';\n    var select = control.querySelector('[data-ml-quantity-select]');\n    var currents = control.querySelectorAll('[data-ml-quantity-current]');\n    if (select) select.value = String(value);\n    currents.forEach(function (current) {\n      if (current.textContent !== String(value)) current.textContent = value;\n    });\n    var min = Number(input.min) || 1;\n    var max = input.max ? Number(input.max) : Infinity;\n    var step = Number(input.step) || 1;\n    control.querySelectorAll('[data-ml-quantity-step]').forEach(function (button) {\n      var next = Number(value) + Number(button.dataset.mlQuantityStep) * step;\n      button.disabled = next < min || next > max;\n    });\n  }\n\n  function syncQuantityControls(scope) {\n    (scope || document).querySelectorAll('[data-ml-quantity-control]').forEach(syncQuantityControl);\n  }\n\n  function groupPurchaseMeta(scope) {\n    (scope || document).querySelectorAll('.product-form').forEach(function (form) {\n      var quantity = form.querySelector(':scope > [data-block-type=\"quantity-selector\"]');\n      var inventory = form.querySelector(':scope > [data-block-type=\"inventory\"]');\n      if (!quantity || !inventory || quantity.closest('.ml-product-purchase-meta')) return;\n\n      var row = document.createElement('div');\n      row.className = 'ml-product-purchase-meta';\n      form.insertBefore(row, quantity);\n      row.appendChild(inventory);\n      row.appendChild(quantity);\n    });\n  }\n\n  document.addEventListener('change', function (event) {\n    var select = event.target.closest('[data-ml-quantity-select]');\n    if (!select) return;\n    setQuantity(select.closest('[data-ml-quantity-control]'), select.value);\n  });\n\n  document.addEventListener('click', async function (event) {\n    var quantityButton = event.target.closest('[data-ml-quantity-step]');\n    if (quantityButton) {\n      if (quantityButton.disabled) return;\n      var control = quantityButton.closest('[data-ml-quantity-control]');\n      var input = control.querySelector('.ml-quantity-control__input');\n      var min = Number(input.min) || 1;\n      var max = input.max ? Number(input.max) : Infinity;\n      var next = Number(input.value) + Number(quantityButton.dataset.mlQuantityStep) * (Number(input.step) || 1);\n      setQuantity(control, Math.min(max, Math.max(min, next)));\n      return;\n    }\n    var nativeShare = event.target.closest('[data-ml-native-share]');\n    if (nativeShare) {\n      var nativeRoot = nativeShare.closest('[data-ml-product-share]');\n      var shareData = { title: nativeRoot.dataset.shareTitle, text: nativeRoot.dataset.shareTitle, url: nativeRoot.dataset.shareUrl };\n      if (navigator.share) {\n        navigator.share(shareData).catch(function () {});\n      } else {\n        copyText(nativeRoot.dataset.shareUrl).then(function () {\n          nativeShare.setAttribute('aria-label', 'Product link copied');\n          window.setTimeout(function () { nativeShare.setAttribute('aria-label', 'Share this product'); }, 1800);\n        });\n      }\n      return;\n    }\n\n    var zoomImage = event.target.closest('.shopify-section--main-product .product__media-item[data-media-type=\"image\"] img');\n    if (zoomImage) {\n      var mediaRoot = zoomImage.closest('product-media');\n      var zoomTrigger = mediaRoot && mediaRoot.querySelector('.ml-product-zoom-trigger');\n      if (zoomTrigger) zoomTrigger.click();\n      return;\n    }\n\n    var buyNow = event.target.closest('[data-ml-buy-now]');\n    if (!buyNow || buyNow.disabled) return;\n    var form = document.getElementById(buyNow.dataset.formId);\n    if (!form) return;\n    if (window.MedLinksStock && !(await window.MedLinksStock.validate(form))) return;\n    var formData = new FormData(form);\n    if (!formData.get('id')) {\n      var variantInput = form.querySelector('[name=\"id\"]');\n      if (variantInput && variantInput.value) formData.set('id', variantInput.value);\n    }\n    buyNow.disabled = true;\n    buyNow.setAttribute('aria-busy', 'true');\n    fetch((window.Shopify && Shopify.routes ? Shopify.routes.root : '/') + 'cart/add.js', {\n      method: 'POST',\n      headers: { Accept: 'application/json' },\n      body: formData\n    }).then(function (response) {\n      if (!response.ok) throw new Error('Unable to add this product.');\n      window.location.href = (window.Shopify && Shopify.routes ? Shopify.routes.root : '/') + 'checkout';\n    }).catch(function (error) {\n      if (window.MedLinksStock) window.MedLinksStock.release(form);\n      buyNow.disabled = false;\n      buyNow.removeAttribute('aria-busy');\n      window.alert(error.message || 'Unable to continue to checkout. Please try again.');\n    });\n  });\n\n  document.addEventListener('keydown', function (event) {\n    if (event.key !== 'Escape') return;\n  });\n\n  groupPurchaseMeta(document);\n  syncQuantityControls(document);\n  document.addEventListener('DOMContentLoaded', function () {\n    groupPurchaseMeta(document);\n    syncQuantityControls(document);\n  });\n  new MutationObserver(function (mutations) {\n    mutations.forEach(function (mutation) {\n      mutation.addedNodes.forEach(function (node) {\n        if (!(node instanceof Element)) return;\n        if (node.matches('[data-ml-quantity-control]')) syncQuantityControl(node);\n        syncQuantityControls(node);\n      });\n      groupPurchaseMeta(document);\n    });\n  }).observe(document.documentElement, { childList: true, subtree: true });\n})();\n"],
  "mappings": "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",
  "names": []
}
