{
  "version": 3,
  "sources": ["/cdn/shop/t/81/assets/wishlist.js?view=wishlist"],
  "sourcesContent": ["class WishlistProduct extends HTMLElement {\n  constructor() {\n    super();\n    this.addEventListener('click', this.onAddWishlist);\n    this.LOCAL_STORAGE_WISHLIST_KEY = 'shopify-wishlist';\n    this.LOCAL_STORAGE_DELIMITER = ',';\n    this.BUTTON_ACTIVE_CLASS = 'active';\n    this.onAddActiveClass();\n    this.WishlistItemCounter();\n  }\n\n  WishlistItemCounter() {\n    let WISHLIST_ITEM_COUNT = document.querySelectorAll('.wishlist__count');\n    let wishlist_item_length = this.getWishlist().length;\n\n    if (WISHLIST_ITEM_COUNT) {\n      console.log('[Wishlist] Wishlist item count updated: ', wishlist_item_length);\n      WISHLIST_ITEM_COUNT.forEach((singleItem) => {\n        if (wishlist_item_length <= 0) {\n          singleItem.classList.add('hidden');\n          singleItem.innerText = '';\n        } else {\n          singleItem.innerText = wishlist_item_length;\n          singleItem.classList.remove('hidden');\n        }\n      });\n    }\n  }\n\n  onAddActiveClass() {\n    const wishlistAddedButton = this.querySelector('button');\n    if (wishlistAddedButton != null) {\n      let productHandle = wishlistAddedButton.dataset.productHandle || false;\n      if (!productHandle)\n        return console.error('[Wishlist] Missing `data-product-handle` attribute. Failed to update the wishlist.');\n      if (this.wishlistContains(productHandle)) wishlistAddedButton.classList.add(this.BUTTON_ACTIVE_CLASS);\n    }\n  }\n\n  onAddWishlist(evt) {\n    evt.stopPropagation();\n\n    const wishlistItem = this.querySelector('button');\n    let productHandle = wishlistItem.dataset.productHandle || false;\n    if (!productHandle)\n      return console.error('[Wishlist] Missing `data-product-handle` attribute. Failed to update the wishlist.');\n\n    this.updateWishlist(productHandle);\n    wishlistItem.classList.toggle(this.BUTTON_ACTIVE_CLASS);\n\n    let wishlist_item_length = this.getWishlist().length;\n\n    let grid = document.querySelector('[grid-wishlist]') || false;\n    let wishlistPageWrapper = document.querySelector('.wishlist-page');\n    let loader = wishlistPageWrapper?.querySelector('.loading__spinner');\n\n    if (grid) {\n      loader?.classList.remove('hidden');\n      wishlistPageWrapper?.classList.add('loading');\n      // Rerender the grid after updating wishlist\n      setupGrid(grid).then(() => {\n        loader?.classList.add('hidden');\n        wishlistPageWrapper?.classList.remove('loading');\n      });\n    } else {\n      wishlistItem.classList.add('loading', 'adding');\n      setTimeout(function () {\n        wishlistItem.classList.remove('loading');\n      }, 500);\n\n      setTimeout(function () {\n        document.querySelector('.adding').classList.remove('adding');\n      }, 1000);\n    }\n\n    if (wishlist_item_length <= 0 && wishlistPageWrapper) {\n      grid?.parentElement.classList.remove('wishlist-exists');\n    }\n\n    this.WishlistItemCounter();\n  }\n\n  getWishlist() {\n    let wishlist = localStorage.getItem(this.LOCAL_STORAGE_WISHLIST_KEY) || false;\n    if (wishlist) return wishlist.split(this.LOCAL_STORAGE_DELIMITER);\n    return [];\n  }\n\n  setWishlist(array) {\n    let wishlist = array.join(this.LOCAL_STORAGE_DELIMITER);\n    if (array.length) localStorage.setItem(this.LOCAL_STORAGE_WISHLIST_KEY, wishlist);\n    else localStorage.removeItem(this.LOCAL_STORAGE_WISHLIST_KEY);\n    return wishlist;\n  }\n\n  updateWishlist(handle) {\n    let wishlist = this.getWishlist();\n    let indexInWishlist = wishlist.indexOf(handle);\n    if (indexInWishlist === -1) wishlist.push(handle);\n    else wishlist.splice(indexInWishlist, 1);\n    return this.setWishlist(wishlist);\n  }\n\n  wishlistContains(handle) {\n    let wishlist = this.getWishlist();\n    return wishlist.indexOf(handle) !== -1;\n  }\n}\ncustomElements.define('wishlist-item', WishlistProduct);\n\nlet newWishlistObj = new WishlistProduct();\n\ndocument.addEventListener('DOMContentLoaded', function () {\n  let grid = document.querySelector('[grid-wishlist]');\n  let wishlistPageWrapper = document.querySelector('.wishlist-page');\n  let loader = wishlistPageWrapper?.querySelector('.loading__spinner');\n\n  if (grid) {\n    loader?.classList.remove('hidden');\n    wishlistPageWrapper?.classList.add('loading');\n    setupGrid(grid).then(() => {\n      loader?.classList.add('hidden');\n      wishlistPageWrapper?.classList.remove('loading');\n    });\n  }\n});\n\nvar setupGrid = function (grid) {\n  return new Promise((resolve) => {\n    var wishlist = newWishlistObj.getWishlist();\n    var wishlistSectionEl = document.querySelector('.wishlist-section');\n    var wishlistPageWrapper = document.querySelector('.wishlist-page');\n    const loader = wishlistPageWrapper?.querySelector('.loading__spinner');\n    let emptylist = document.querySelector('.wishlist-grid--empty-list');\n\n    // Show loader while loading\n    loader?.classList.remove('hidden');\n\n    if (wishlist.length > 0) {\n      wishlistSectionEl?.classList.add('wishlist-has-items');\n      wishlistPageWrapper?.classList.add('wishlist-exists');\n      emptylist?.classList.add('hidden');\n    } else {\n      wishlistSectionEl?.classList.remove('wishlist-has-items');\n      wishlistPageWrapper?.classList.remove('wishlist-exists');\n      emptylist?.classList.remove('hidden');\n    }\n\n    var requests = wishlist.map(function (handle) {\n      var productTileTemplateUrl = '/products/' + handle + '?view=wishlist';\n      return fetch(productTileTemplateUrl).then(function (res) {\n        if (res.status == 200) {\n          return res.text();\n        }\n        return '';\n      });\n    });\n\n    Promise.all(requests).then(function (responses) {\n      var wishlistProductCards = responses.join('');\n      grid.innerHTML = wishlistProductCards;\n\n      loader?.classList.add('hidden');\n      resolve();\n    });\n  });\n};\n"],
  "mappings": "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",
  "names": []
}
