{
  "version": 3,
  "sources": ["/cdn/shop/t/487/assets/custom.js?enable_js_minification=1"],
  "sourcesContent": ["/*\n* Pipeline Theme\n*\n* Use this file to add custom Javascript to Pipeline.  Keeping your custom\n* Javascript in this fill will make it easier to update Pipeline. In order\n* to use this file you will need to open layout/theme.liquid and uncomment\n* the custom.js script import line near the bottom of the file.\n*\n*/\n\n\n(function() {\n\n  // Below are example event listeners.  They listen for theme events that Pipeline\n  // fires in order to make it easier for you to add customizations.\n\n  // Keep your scripts inside this IIFE function call to avoid leaking your\n  // variables into the global scope.\n\n\n  // document.addEventListener('theme:variant:change', function(event) {\n  //   // You might use something like this to write a pre-order feature or a\n  //   // custom swatch feature.\n  //   var variant = event.detail.variant;\n  //   var container = event.target;\n  //   if (variant) {\n  //     console.log('Container \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014 \u2193');\n  //     console.log(container);\n  //     console.log('Variant \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014 \u2193');\n  //     console.log(variant);\n  //     // ... update some element on the page\n  //   }\n  // });\n\n  // document.addEventListener('theme:cart:change', function(event) {\n  //   var cart = event.detail.cart;\n  //   if (cart) {\n  //     console.log('Cart \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014 \u2193');\n  //     console.log(cart);\n  //     // ... update an app or a custom shipping caluclator\n  //   }\n  // });\n  // // Fired when page loads to update header values\n  // document.addEventListener('theme:cart:init', (e) => {\n  //   console.log('theme:cart:init');\n  //   console.log(e);\n  // });\n\n  // // Debounced scroll listeners.  Up and down only fire on direction changes\n  // // These events are useful for creating sticky elements and popups.\n  // document.addEventListener('theme:scroll', e => { console.log(e); });\n  // document.addEventListener('theme:scroll:up', e => { console.log(e); });\n  // document.addEventListener('theme:scroll:down', e => { console.log(e); });\n\n  // // Debounced resize listener to bundle changes that trigger document reflow\n  // document.addEventListener('theme:resize', e => { console.log(e); });\n\n  // // Locks and unlocks page scroll for modals and drawers\n  // // These are commented out because firing them will lock the page scroll\n  // // the lock event must set `detail` to the modal or drawer body so the \n  // // scroll locking code knows what element should maintain scoll. \n  // // document.dispatchEvent(new CustomEvent('theme:scroll:lock', {bubbles: true, detail: scrollableInnerElement}));\n  // // document.dispatchEvent(new CustomEvent('theme:scroll:unlock', {bubbles: true}));\n\n\n  // // ^^ Keep your scripts inside this IIFE function call to avoid leaking your\n  // // variables into the global scope.\n\n\n  /**\n   * Size guide - image\n   */\n\n  const openSizeChartButton = document.querySelector('#openSizeChart');\n  const closeSizeChartButton = document.querySelector('#closeSizeChart');\n  \n  const sizeChartShadow = document.querySelector('.size-chart__shadow');\n  const sizeChartModal = document.querySelector('.size-chart__modal');\n  \n  const sizeChartImageContainer = document.querySelector('.size-chart__image');\n\n  if (openSizeChartButton) {\n\tconst toggleSizeChart = () => {\n\t\tsizeChartShadow.classList.toggle(\"size-chart__shadow--open\");\n\t\tsizeChartModal.classList.toggle(\"size-chart__modal--open\");\n\t};\n\n\tconst sizeChartInit = () => {\n\t\topenSizeChartButton.addEventListener('click', function() {\n\t\t\tlet sizeChart = this.dataset.sizeChart;\n\n\t\t\tif (!sizeChartImageContainer.classList.contains(\"size-chart__image--loaded\")) {\n\n\t\t\t\tlet sizeChartImg = new Image();\n\n\t\t\t\tsizeChartImg.onload = function() {\n\t\t\t\t\tsizeChartImageContainer.innerHTML += '<img class=\"size-chart__chart\" src=\"'+sizeChartImg.src+'\" />';\n\n\t\t\t\t\tsizeChartImageContainer.classList.add(\"size-chart__image--loaded\");\n\t\t\t\t\ttoggleSizeChart();\n\t\t\t\t};\n\n\t\t\t\tsizeChartImg.src = sizeChart;\n\t\t\t} else {\n\t\t\t\ttoggleSizeChart();\n\t\t\t}\n\t\t});\n\n\t\tcloseSizeChartButton.addEventListener('click', function() {\n\t\t\ttoggleSizeChart();\n\t\t});\n\n\t\tsizeChartShadow.addEventListener('click', function() {\n\t\t\ttoggleSizeChart();\n\t\t});\n\t};\n\n\t// Init Size chart\n\tsizeChartInit();\n  }\n\n\n  /**\n   * MiradeWeb Gender Switch\n   */\n\n  let miradeWebGenderSwitch = document.querySelector('.miradeweb-gender-switch');\n\n  if (miradeWebGenderSwitch) {\n    const miradeWebGenderSwitchIconInit = () => {\n      // Update switch button based on the featured gender\n      const featuredGender = document.querySelector('.product__gallery_desktop .product__media').getAttribute('data-media-gender');\n\n      if (featuredGender == 'woman') {\n        miradeWebGenderSwitch.dataset.gender = 'man';\n      } else {\n        miradeWebGenderSwitch.dataset.gender = 'woman';\n      }\n    };\n\n    const miradeWebGenderSwitchInit = () => {\n      let productGalleryMobileMan = document.querySelector('.product__gallery_mobile_man');\n      let productGalleryMobileWoman = document.querySelector('.product__gallery_mobile_woman');\n      \n      // MiradeWeb Gender Switch Click Event Handler\n      miradeWebGenderSwitch.addEventListener('click', function() {\n        let gender = this.dataset.gender;\n    \n        if (gender == 'woman') {\n          this.dataset.gender = 'man';\n    \n          document.querySelectorAll('.product__gallery_desktop .product__media[data-media-gender=\"man\"]').forEach(item => {\n            item.style.display = 'block';\n          });\n    \n          // productGalleryMobileMan.style.display = 'block';\n          productGalleryMobileMan.classList.remove('hide-carousel');\n    \n          document.querySelectorAll('.product__gallery_desktop .product__media[data-media-gender=\"woman\"]').forEach(item => {\n            item.style.display = 'none';\n          });\n    \n          // productGalleryMobileWoman.style.display = 'none';\n          productGalleryMobileWoman.classList.add('hide-carousel');\n        } else if (gender == 'man') {\n          this.dataset.gender = 'woman';\n  \n          document.querySelectorAll('.product__gallery_desktop .product__media[data-media-gender=\"woman\"]').forEach(item => {\n            item.style.display = 'block';\n          });\n    \n          // productGalleryMobileWoman.style.display = 'block';\n          productGalleryMobileWoman.classList.remove('hide-carousel');\n    \n          document.querySelectorAll('.product__gallery_desktop .product__media[data-media-gender=\"man\"]').forEach(item => {\n            item.style.display = 'none';\n          });\n    \n          // productGalleryMobileMan.style.display = 'none';\n          productGalleryMobileMan.classList.add('hide-carousel');\n        }\n      });\n  \n      // Trigger switch button on page load\n      miradeWebGenderSwitch.click();\n    }\n  \n    // Init MiradeWeb Gender Switch Icon\n    miradeWebGenderSwitchIconInit();\n\n    // Init MiradeWeb Gender Switch\n    setTimeout(function() {\n      miradeWebGenderSwitchInit();\n    }, 400);\n  }\n\n\n  /** \n   * PDP Hitlist variant change\n  */\n\n  document.addEventListener('theme:variant:change', function(event) {\n    var variant = event.detail.variant;\n    var container = event.target;\n\t  var formInput = container.querySelector('.swym-add-to-wishlist-view-product');\n    if (variant && formInput) {\n\t    formInput.dataset.variantId = variant.id\n    }\n  });\n\n\n  /**\n   * Quick add to cart\n  */\n  let productCards = document.querySelectorAll('[data-product-card]');\n\n  if (productCards.length > 0) {\n\n\tconst productCardsQuickAdd = (productCard) => {\n\n\t\tlet quickAddForm = productCard.querySelector('[data-form-quick-add]');\n\t\t\n\t\tif (quickAddForm) {\n\n\t\t\tlet quickAddFormInputID = quickAddForm.querySelector('input[name=\"id\"]');\n\t\t\tlet quickAddOptions = quickAddForm.querySelectorAll('[data-single-option-selector]');\n\t\t\tlet quickAddSubmitButton = quickAddForm.querySelector('[data-form-submit]');\n\t\t\t\t\t\t\n\t\t\t// Add event listener to options\n\t\t\tif (quickAddOptions.length > 0) {\n\t\t\t\tquickAddOptions.forEach((quickAddOption) => {\n\t\t\t\t\tquickAddOption.addEventListener('click', function(event) {\n\t\t\t\t\t\tquickAddFormInputID.value = quickAddOption.value;\n\t\t\t\t\t\t\n\t\t\t\t\t\tquickAddSubmitButton.click();\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t//AJAX submit form and open cart drawer\n\t\t\tconst cartDrawer = document.querySelector('[data-drawer=\"drawer-cart\"]');\n\n\t\t\tquickAddForm.addEventListener('submit', (event) => {\n\t\t\t\tevent.preventDefault();\n          \t\t\n\t\t\t\tlet formData = new FormData(quickAddForm);\n\n\t\t\t\tfetch(window.Shopify.routes.root + 'cart/add.js', {\n\t\t\t\t\tmethod: 'POST',\n\t\t\t\t\tbody: formData\n\t\t\t\t})\n\t\t\t\t.then(response => {\n\n\t\t\t\t\t// Get new cart data and refresh cart\n\t\t\t\t\tfetch(window.Shopify.routes.root + 'cart.js', {\n\t\t\t\t\t\tmethod: 'GET'\n\t\t\t\t\t})\n\t\t\t\t\t.then((response) => {\n\t\t\t\t\t\tdocument.dispatchEvent(\n\t\t\t\t\t\t\tnew CustomEvent('theme:cart:change', {\n\t\t\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\t\t\tcart: response.data,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t);\n\t\t\t\t\t\tdocument.dispatchEvent(new CustomEvent('theme:cart:reload', {bubbles: true}));\n\n\t\t\t\t\t\t// open cart drawer\n\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\tcartDrawer.dispatchEvent(\n\t\t\t\t\t\t\t\tnew CustomEvent('theme:drawer:open', {\n\t\t\t\t\t\t\t\t\tbubbles: false,\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}, 500);\n\t\t\t\t\t})\n\t\t\t\t\t.catch((e) => {\n\t\t\t\t\t\tconsole.error(e);\n\t\t\t\t\t});\n\t\t\t\t\t  \n\t\t\t\t\treturn response.json();\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tconsole.error('Error:', error);\n\t\t\t\t});\n\t\t\t\t\n\t\t\t\treturn false;\n\t\t\t});\n\t\t}\n    };\n\t\n\tproductCards.forEach((productCard) => {\n\t\tproductCardsQuickAdd(productCard);\n\t});\n  }\n\n})();\n"],
  "mappings": "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",
  "names": ["response"]
}
