{
  "version": 3,
  "sources": ["/cdn/shop/t/52/assets/slt-product-functions.js?enable_js_minification=1"],
  "sourcesContent": ["///////////////////////////////////////////// body scroll lock\n// prettier-ignore\n!function(e,o){if(\"function\"==typeof define&&define.amd)define([\"exports\"],o);else if(\"undefined\"!=typeof exports)o(exports);else{var t={};o(t),e.bodyScrollLock=t}}(this,function(exports){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:!0});var t=!1;if(\"undefined\"!=typeof window){var e={get passive(){t=!0}};window.addEventListener(\"testPassive\",null,e),window.removeEventListener(\"testPassive\",null,e)}function d(o){return s.some(function(e){return!(!e.options.allowTouchMove||!e.options.allowTouchMove(o))})}function l(e){var o=e||window.event;return!!d(o.target)||(1<o.touches.length||(o.preventDefault&&o.preventDefault(),!1))}function n(){void 0!==m&&(document.body.style.paddingRight=m,m=void 0),void 0!==v&&(document.body.style.overflow=v,v=void 0)}function i(){if(void 0!==f){var e=-parseInt(document.body.style.top,10),o=-parseInt(document.body.style.left,10);document.body.style.position=f.position,document.body.style.top=f.top,document.body.style.left=f.left,window.scrollTo(o,e),f=void 0}}var c=\"undefined\"!=typeof window&&window.navigator&&window.navigator.platform&&(/iP(ad|hone|od)/.test(window.navigator.platform)||\"MacIntel\"===window.navigator.platform&&1<window.navigator.maxTouchPoints),s=[],u=!1,a=-1,v=void 0,f=void 0,m=void 0;exports.disableBodyScroll=function(r,e){if(r){if(!s.some(function(e){return e.targetElement===r})){var o={targetElement:r,options:e||{}};s=[].concat(function(e){if(Array.isArray(e)){for(var o=0,t=Array(e.length);o<e.length;o++)t[o]=e[o];return t}return Array.from(e)}(s),[o]),c?window.requestAnimationFrame(function(){if(void 0===f){f={position:document.body.style.position,top:document.body.style.top,left:document.body.style.left};var e=window,o=e.scrollY,t=e.scrollX,n=e.innerHeight;document.body.style.position=\"fixed\",document.body.style.top=-o+\"px\",document.body.style.left=-t+\"px\",setTimeout(function(){return window.requestAnimationFrame(function(){var e=n-window.innerHeight;e&&n<=o&&(document.body.style.top=-(o+e))})},300)}}):function(e){if(void 0===m){var o=!!e&&!0===e.reserveScrollBarGap,t=window.innerWidth-document.documentElement.clientWidth;if(o&&0<t){var n=parseInt(window.getComputedStyle(document.body).getPropertyValue(\"padding-right\"),10);m=document.body.style.paddingRight,document.body.style.paddingRight=n+t+\"px\"}}void 0===v&&(v=document.body.style.overflow,document.body.style.overflow=\"hidden\")}(e),c&&(r.ontouchstart=function(e){1===e.targetTouches.length&&(a=e.targetTouches[0].clientY)},r.ontouchmove=function(e){var o,t,n,i;1===e.targetTouches.length&&(t=r,i=(o=e).targetTouches[0].clientY-a,d(o.target)||(t&&0===t.scrollTop&&0<i||(n=t)&&n.scrollHeight-n.scrollTop<=n.clientHeight&&i<0?l(o):o.stopPropagation()))},u||(document.addEventListener(\"touchmove\",l,t?{passive:!1}:void 0),u=!0))}}else console.error(\"disableBodyScroll unsuccessful - targetElement must be provided when calling disableBodyScroll on IOS devices.\")},exports.clearAllBodyScrollLocks=function(){c&&(s.forEach(function(e){e.targetElement.ontouchstart=null,e.targetElement.ontouchmove=null}),u&&(document.removeEventListener(\"touchmove\",l,t?{passive:!1}:void 0),u=!1),a=-1),(c?i:n)(),s=[]},exports.enableBodyScroll=function(o){o?(s=s.filter(function(e){return e.targetElement!==o}),c&&(o.ontouchstart=null,o.ontouchmove=null,u&&0===s.length&&(document.removeEventListener(\"touchmove\",l,t?{passive:!1}:void 0),u=!1)),(c?i:n)()):console.error(\"enableBodyScroll unsuccessful - targetElement must be provided when calling enableBodyScroll on IOS devices.\")}});\n// prettier-ignore\n\n///////////////////////////////////////////// media query setup\nvar isSmall = window.matchMedia('(max-width: 875px)');\nvar isTablet = window.matchMedia('(min-width: 50em) and (max-width: 63.9375em)')\nvar isMobile = window.matchMedia('(max-width: 49.9375em)')\n\n// update media query on resize\nwindow.addEventListener('resize', () => {\n  isSmall = window.matchMedia('(max-width: {{ settings.mobile_breakpoint }}px)')\n  isTablet = window.matchMedia('(min-width: 50em) and (max-width: 63.9375em)')\n  isMobile = window.matchMedia('(max-width: 49.9375em)')\n})\n\n///////////////////////////////////////////// global toggle event\n\nvar bodyDarken = document.querySelector('.body-darken')\nbodyDarken.addEventListener('click', e => toggleElement(isOpen, e))\n\nvar currentScrollPosition\n\nfunction toggleElement(elem, e) {\n  e.preventDefault()\n  e.stopPropagation()\n\n  if (elem.classList.contains('open')) {\n    bodyScrollLock.enableBodyScroll(elem)\n    elem.classList.remove('open')\n    bodyDarken.classList.remove('enabled')\n    isOpen = false\n    elem.tabIndex = -1\n    elem.blur()\n  } else {\n    currentScrollPosition = window.pageYOffset\n    bodyScrollLock.disableBodyScroll(elem, {\n      allowTouchMove: el => {\n        while (el && el !== document.body) {\n          if (el.getAttribute('body-scroll-lock-ignore') !== null) {\n            return true\n          }\n\n          el = el.parentElement\n        }\n      },\n    })\n    bodyDarken.classList.add('enabled')\n    elem.classList.add('open')\n    elem.tabIndex = 0\n    elem.focus()\n    isOpen = elem\n    if (e.target) {\n      e.target.blur()\n    }\n  }\n}\n\n///////////////////////////////////////////// product image slider\n\n// gestures\nlet pageWidth = window.innerWidth || document.body.clientWidth\nlet treshold = Math.max(1, Math.floor(0.01 * pageWidth))\nlet touchstartX = 0\nlet touchstartY = 0\nlet touchendX = 0\nlet touchendY = 0\nconst limit = Math.tan(((45 * 1.5) / 180) * Math.PI)\nconst gestureZone = document.querySelector('.product-image-large')\n\n// change product image from thumbnails\nif (document.querySelector('.product-page-thumbnails')) {\n  document.querySelector('.product-page-thumbnails').addEventListener('click', e => {\n    if (e.target.dataset.productImage) {\n      changeToImage(e.target.dataset.imageVariant)\n    }\n  })\n\n  // arrow events\n  document.querySelector('#gallery-left').addEventListener('click', e => {\n    e.preventDefault()\n    e.stopPropagation()\n    // get previous image\n    let currentImage = document.querySelector('.product-page-thumbnails img.current')\n    if (currentImage.previousElementSibling) {\n      currentImage.previousElementSibling.click()\n    } else {\n      // get last one\n      currentImage.parentElement.lastElementChild.click()\n    }\n  })\n\n  document.querySelector('#gallery-right').addEventListener('click', e => {\n    e.preventDefault()\n    e.stopPropagation()\n    // get next image\n    let currentImage = document.querySelector('.product-page-thumbnails img.current')\n    if (currentImage.nextElementSibling) {\n      currentImage.nextElementSibling.click()\n    } else {\n      // get last one\n      currentImage.parentElement.firstElementChild.click()\n    }\n  })\n\n  // gestures\n\n  gestureZone.addEventListener(\n    'touchstart',\n    function (event) {\n      touchstartX = event.changedTouches[0].screenX\n      touchstartY = event.changedTouches[0].screenY\n    },\n    false\n  )\n\n  gestureZone.addEventListener(\n    'touchend',\n    function (event) {\n      touchendX = event.changedTouches[0].screenX\n      touchendY = event.changedTouches[0].screenY\n      handleGesture(event)\n    },\n    false\n  )\n\n  function handleGesture(e) {\n    let x = touchendX - touchstartX\n    let y = touchendY - touchstartY\n    let xy = Math.abs(x / y)\n    let yx = Math.abs(y / x)\n    if (Math.abs(x) > treshold || Math.abs(y) > treshold) {\n      if (yx <= limit) {\n        if (x < 0) {\n          document.querySelector('#gallery-right').click()\n        } else {\n          document.querySelector('#gallery-left').click()\n        }\n      }\n    }\n  }\n}\n\nfunction changeToImage(id) {\n  let thumbnailImage = document.querySelector(`.product-page-thumbnails img[data-image-variant=\"${id}\"]`)\n  let mainImage = document.querySelector('.product-page-image')\n  document.querySelectorAll('.product-page-thumbnails img').forEach(thumbnail => thumbnail.classList.remove('current'))\n\n  if (thumbnailImage) {\n    thumbnailImage.classList.add('current')\n    mainImage.src = thumbnailImage.src\n    mainImage.src = thumbnailImage.dataset.productImage\n    // work out how far to scroll by getting the index of the thumbnail and multiplying by width + margin\n    let galleryContainer = document.querySelector('.product-page-thumbnails')\n    let scrollWidth = galleryContainer.scrollWidth\n    let elementCount = [...galleryContainer.children].findIndex(img => img === thumbnailImage)\n\n    let scrollTarget = elementCount * (thumbnailImage.offsetWidth + 10)\n    galleryContainer.scrollTo(scrollTarget, 0)\n  }\n}\n\n/////////////////////////////////////////////  welcome kit page quantity/bundle selection\n\nlet bundles = document.querySelectorAll('.bundle-picker-container .bundle')\nlet dealTables = document.querySelectorAll('.deals-table-container')\n\nif (bundles) {\n  // first run sets height\n  let tablesParent = document.querySelector('.all-deals-tables')\n  dealTables.forEach(table => {\n    if (table.classList.contains('selected')) {\n      tablesParent.style.height = table.offsetHeight + 'px'\n      setTimeout(() => {\n        tablesParent.style.height = table.offsetHeight + 'px'\n      }, 2000)\n    }\n  })\n  bundles.forEach(bundle => {\n    bundle.addEventListener('click', e => {\n      let selected = document.querySelector('.bundle-picker-container .bundle.selected')\n      if (selected) {\n        selected.classList.remove('selected')\n      }\n      bundle.classList.add('selected')\n      let selectedTable = null\n      let dealName = bundle.dataset.deal\n      // active correct deal table\n      dealTables.forEach(table => {\n        if (table.dataset.deal == dealName) {\n          tablesParent.style.height = table.offsetHeight + 'px'\n          table.classList.add('selected')\n          selectedTable = table\n        } else {\n          table.classList.remove('selected')\n        }\n      })\n\n      let price = bundle.dataset.price\n      // handle image change\n      let large = bundle.dataset.image\n      let thumbnail = bundle.querySelector('.bundle-tile img').src\n      let banner = bundle.dataset.bannerImage\n      let name = dealName\n      let quantity = bundle.dataset.quantity\n      let description = selectedTable.querySelector('.deals-table-row .subtitle').textContent\n      changeMainImage(large, thumbnail, banner, name, description, quantity, price)\n    })\n  })\n\n  // add listener for checkbox to adjust height\n  let start\n  const adjustHeight = (timestamp, currentTable) => {\n    if (!start) {\n      start = timestamp\n      tablesParent.style.transition = 'none'\n    }\n    let elapsed = timestamp - start\n    if (elapsed < 250) {\n      tablesParent.style.height = currentTable.offsetHeight + 'px'\n      requestAnimationFrame(newTimestamp => adjustHeight(newTimestamp, currentTable))\n    } else {\n      start = undefined\n      tablesParent.style.transition = 'height 0.25s cubic-bezier(0.33333, 0, 0.66667, 0.33333)'\n    }\n  }\n  dealTables.forEach(table => {\n    // handle expanding contents section for welcome kit main product\n    let checkbox = table.querySelector('input[type=\"checkbox\"]')\n    if (checkbox) {\n      checkbox.addEventListener('change', e => {\n        requestAnimationFrame(timestamp => adjustHeight(timestamp, table))\n      })\n    }\n  })\n}\n\nfunction changeMainImage(large, thumbnail, banner, name, description, quantity, price) {\n  // change first thumbnail and first image, then trigger click\n  let productImage = document.querySelector('.product-image-large img')\n  productImage.src = large\n  if (document.querySelector('.product-banner')) {\n    document.querySelector('.product-banner .image-container img').src = banner\n    document.querySelector('.product-banner #banner-quantity').textContent = quantity\n    document.querySelector('.product-banner #add-to-cart').textContent = `Choose Options\\u00A0\\u00A0|\\u00A0\\u00A0${price}`\n    document.querySelector('.product-banner .product-details p:first-of-type').textContent = name\n    document.querySelector('.product-banner .product-details p:last-of-type').textContent = description\n  }\n}\n\n/////////////////////////////////////////////  cart / checkout functions\n\nconst chooseOptions = document.querySelectorAll('.choose-options')\nconst productOptionsModal = document.querySelector('#product-options')\nconst addToCartButton = document.querySelector('.product-page-add')\nproductOptionsModal.classList.add('ready-to-fade')\n\nproductOptionsModal.querySelector('.toggle-popup').addEventListener('click', e => {\n  toggleElement(productOptionsModal, e)\n})\n\nchooseOptions.forEach(button => {\n  button.addEventListener('click', e => {\n    e.preventDefault()\n    e.stopPropagation()\n    // collect options data\n    let dataSource = document.querySelector('.bundle-picker-container .bundle.selected')\n    let quantity = Number(dataSource.dataset.quantity)\n    let mainProductID = dataSource.dataset.product\n    let giftProductID = dataSource.dataset.gift\n    let subscription = dataSource.dataset.subscription === 'true' ? true : false\n    let heading = dataSource.dataset.deal\n    let image = dataSource.dataset.image\n    let price = dataSource.dataset.price\n    // make changes to modal to reflect data\n    productOptionsModal.querySelector('.email-popup-image img').src = image\n    productOptionsModal.querySelector('.h4').textContent = heading\n    productOptionsModal.querySelector('.h6').textContent = quantity > 1 ? 'Choose your flavours:' : 'Choose your flavour:'\n    if (quantity > 1) {\n      productOptionsModal.querySelector('.flavour-two').classList.remove('hide')\n    } else {\n      productOptionsModal.querySelector('.flavour-two').classList.add('hide')\n    }\n    if (subscription) {\n      productOptionsModal.querySelector('.subscribe-selection').classList.remove('hide')\n    } else {\n      productOptionsModal.querySelector('.subscribe-selection').classList.add('hide')\n    }\n    addToCartButton.dataset.quantity = quantity\n    addToCartButton.dataset.subscription = subscription\n    addToCartButton.dataset.product = mainProductID\n    addToCartButton.dataset.gift = giftProductID\n    addToCartButton.textContent = 'Add to basket | ' + price\n    // open the product options modal\n    toggleElement(productOptionsModal, e)\n  })\n})\n\nconst flavourTabs = document.querySelectorAll('#product-options .flavours-tabs')\n\nflavourTabs.forEach(tab => {\n  tab.addEventListener('click', e => {\n    e.preventDefault()\n    e.stopPropagation()\n    if (e.target.tagName === 'SPAN') {\n      tab.querySelectorAll('.selected').forEach(activeTab => {\n        activeTab.classList.remove('selected')\n      })\n      e.target.classList.add('selected')\n    }\n  })\n})\n\nfunction getDefaultRequestConfig() {\n  return JSON.parse(\n    JSON.stringify({\n      headers: { 'Content-Type': 'application/json', Accept: 'application/json' },\n    })\n  )\n}\n\nasync function fetchJSONPromise(url, config) {\n  const response = await fetch(url, config)\n  return response.json()\n}\n\nfunction cartClear() {\n  var config = getDefaultRequestConfig()\n  config.method = 'POST'\n\n  return fetchJSONPromise(`${window.Shopify.routes.root}cart/clear.js`, config)\n}\n\nasync function cartAdd(items) {\n  var config = getDefaultRequestConfig()\n\n  config.method = 'POST'\n  config.body = JSON.stringify(items)\n\n  return await fetchJSONPromise(`${window.Shopify.routes.root}cart/add.js`, config)\n}\n\nif (addToCartButton) {\n  addToCartButton.addEventListener('click', async e => {\n    let subscription = false\n    let productID = document.querySelector('#product-options .flavours-container .selected').dataset.id\n    let productID2 = document.querySelector('#product-options .flavours-container:last-of-type .selected').dataset.id\n    let giftID = e.target.dataset.gift\n    let quantity = Number(e.target.dataset.quantity)\n    if (addToCartButton.dataset.subscription === 'true') {\n      subscription = document.querySelector('.product-option-dropdown').value\n    }\n    addToCartButton.textContent = 'Adding\u2026'\n    try {\n      // clear the existing cart\n      await cartClear()\n\n      let variants = []\n\n      if (giftID) {\n        variants.push({\n          id: giftID,\n          quantity: 1,\n        })\n      }\n\n      if (quantity > 1 && productID !== productID2) {\n        variants.push(\n          {\n            id: productID,\n            quantity: 1,\n            selling_plan: subscription ? subscription : null,\n          },\n          {\n            id: productID2,\n            quantity: 1,\n            selling_plan: subscription ? subscription : null,\n          }\n        )\n      } else {\n        variants.push({\n          id: productID,\n          quantity: quantity,\n          selling_plan: subscription ? subscription : null,\n        })\n      }\n\n      // build a new cart\n      let cartItems = {\n        items: variants,\n      }\n\n      const cartAddResponse = await cartAdd(cartItems)\n      if (cartAddResponse.status == 422) {\n        button.textContent = 'Not enough stock'\n        button.style.backgroundColor = 'red'\n      } else {\n        // go to checkout\n        window.location.href = `${window.Shopify.routes.root}checkout`\n      }\n    } catch (error) {\n      console.error(error)\n    }\n  })\n}\n\n///////////////////////////////////////////// out of stock notification popup\n\nvar emailPopup = document.querySelector('#email-popup')\nemailPopup.classList.add('ready-to-fade')\n\ndocument.querySelector('#email-popup .toggle-popup').addEventListener('click', e => {\n  toggleElement(emailPopup, e)\n})\n\nfunction populateEmailPopup(data, e) {\n  document.querySelector('#email-popup .message').innerHTML = data.message\n  if (data.product) {\n    document.querySelector('#email-popup #popup_stock_product').value = data.variant\n  }\n  document.querySelector('#email-popup #stock-submit').value = data.button\n  if (data.image) {\n    document.querySelector('#email-popup img').src = data.image\n  }\n\n  toggleElement(emailPopup, e)\n}\n\nif (document.querySelector('.stock-notification')) {\n  document.querySelector('.stock-notification').addEventListener('click', e => {\n    var button = e.target\n\n    let data = {\n      message: button.dataset.message,\n      product: button.dataset.product,\n      button: 'Notify me',\n      image: button.dataset.image,\n    }\n    stockForm.style.opacity = '1'\n    populateEmailPopup(data, e)\n  })\n}\n\n// post to stocknotification.php\n\nvar stockForm = document.querySelector('.stock-form')\nvar stockResponse = document.querySelector('#email-popup .message')\n\nstockForm.addEventListener('submit', e => {\n  e.preventDefault()\n\n  stockForm.querySelector('#stock-submit').value = 'Sending...'\n\n  formData = new FormData(stockForm)\n  actionPath = stockForm.getAttribute('action')\n\n  fetch(actionPath, {\n    method: 'POST',\n    body: formData,\n  })\n    .then(response => response.json())\n    .then(data => {\n      if (data.message) {\n        stockResponse.textContent = data.message\n        stockForm.querySelector('#stock-submit').value = 'Done'\n        stockForm.style.display = 'none'\n        localStorage.setItem('styrkr-newsletter-status', 'registered')\n      } else {\n        stockResponse.innerHTML = `Sorry, there was a problem. Contact <a href=\"mailto:info@styrkr.com\">info@styrkr.com</a> and we will add you!`\n      }\n    })\n    .catch(error => {\n      console.error('Error:', error)\n    })\n})\n\n/////////////////////////////////////////////  trigger slide-in product bar\n\nlet productBar = document.querySelector('.product-banner')\nlet pixel = document.querySelector('#pixel-to-watch')\nlet scrollObserver = new IntersectionObserver(\n  (entries, observer) => {\n    entries.forEach(entry => {\n      if (entry.boundingClientRect.y < 0) {\n        productBar.classList.add('sticky')\n      } else {\n        productBar.classList.remove('sticky')\n      }\n    })\n  },\n  { rootMargin: `0px 0px 0px 0px` }\n)\nscrollObserver.observe(pixel)\n\nfunction positionPixel() {\n  let sectionAfterProduct = document.querySelector('.product-top-section').closest('.shopify-section').nextElementSibling\n  pixel.style.top = sectionAfterProduct.offsetTop + 'px'\n}\n\ndocument.addEventListener('DOMContentLoaded', () => {\n  positionPixel()\n  setTimeout(() => {\n    positionPixel()\n  }, 1000)\n  setTimeout(() => {\n    positionPixel()\n  }, 3000)\n})\n\nwindow.addEventListener('resize', () => {\n  positionPixel()\n})\n\n/////////////////////////////////////////////  Nutrition & Ingredients modal popup\n\ndocument.querySelectorAll('#toggle-product-ingredients-modal, .toggle-product-ingredients-popup').forEach(button => {\n  button.addEventListener('click', e => {\n    toggleElement(document.querySelector('#product-ingedients-modal'), e)\n  })\n})\n\n///////////////////////////////////////////// Delivery Window Calculator\n\n// first run\ndeliveryTimer()\n\n// update every minute\nsetInterval(function () {\n  deliveryTimer()\n}, 60 * 1000)\n\nfunction deliveryTimer() {\n  // contains final data\n  var deliveryContent = {}\n\n  var documentDay = document.querySelector('.delivery-prompt .day')\n  var documentWindow = document.querySelector('.delivery-prompt .window')\n\n  // date object\n\n  var now = new Date()\n  var currentDay = now.getDay()\n  var deliveryDeadline = new Date().setHours(14, 00, 00)\n\n  // relative dates\n  var tomorrow = new Date(new Date().setDate(new Date().getDate() + 1))\n  var dayAfterTomorrow = new Date(new Date().setDate(new Date().getDate() + 2))\n  var inThreeDays = new Date(new Date().setDate(new Date().getDate() + 3))\n\n  var mondayDispatch = function () {\n    deliveryContent.deliveryDay = 'Tuesday'\n    deliveryContent.deadlineWindow = ' order before Monday at 2pm'\n\n    var nextTuesday = new Date()\n    nextTuesday.setDate(nextTuesday.getDate() + ((2 + 7 - nextTuesday.getDay()) % 7))\n\n    var nextWednesday = new Date()\n    nextWednesday.setDate(nextWednesday.getDate() + ((3 + 7 - nextWednesday.getDay()) % 7))\n  }\n\n  // is it before 2pm\n  if (now < deliveryDeadline) {\n    // is it Monday \u2013 Friday\n    if (currentDay > 0 && currentDay < 6) {\n      //deliveryDeadline is today before 2pm, deliveryWindow is tomorrow\n\n      let deadline = (deliveryDeadline - now) / 1000 / 60 / 60 // in hours\n      let deadlineRemainder = 60 * (deadline - Math.floor(deadline)) // in minutes\n\n      deliveryContent.deliveryDay = new Intl.DateTimeFormat('en-GB', {\n        weekday: 'long',\n      }).format(tomorrow)\n      deliveryContent.deadlineWindow = ' order within ' + Math.floor(deadline) + ' hrs ' + Math.floor(deadlineRemainder) + ' min'\n    } else {\n      // it's a Saturday or Sunday before 2pm\n      //deliveryDeadline is Monday 2pm, deliveryWindow is Tuesday\n\n      mondayDispatch()\n    }\n\n    // it's after 2pm\n  } else {\n    // is it Monday \u2013\u00A0Thursday\n    if (currentDay > 0 && currentDay < 5) {\n      let tomorrow2pm = new Date(new Date().setDate(new Date().getDate() + 1)).setHours(14, 00, 00)\n      var dayAfterTomorrow = new Date(new Date().setDate(new Date().getDate() + 2))\n\n      // deliveryDeadline tomrrow before 2pm, deliveryWindow is in 2 days\n\n      let deadline = (tomorrow2pm - now) / 1000 / 60 / 60 // in hours\n      let deadlineRemainder = 60 * (deadline - Math.floor(deadline)) // in minutes\n\n      deliveryContent.deliveryDay = new Intl.DateTimeFormat('en-GB', {\n        weekday: 'long',\n      }).format(dayAfterTomorrow)\n      deliveryContent.deadlineWindow = ' order within ' + Math.floor(deadline) + ' hrs ' + Math.floor(deadlineRemainder) + ' min'\n    } else {\n      // it's after 2pm on Friday, Saturday or Sunday\n      //deliveryDeadline is Monday 2pm, deliveryWindow is Tuesday\n      deliveryContent.deliveryDay = 'Tuesday'\n      deliveryContent.deadlineWindow = ' order before Monday at 2pm'\n\n      mondayDispatch()\n    }\n  }\n\n  if (documentDay && documentWindow) {\n    documentDay.textContent = deliveryContent.deliveryDay\n    documentWindow.textContent = deliveryContent.deadlineWindow\n  }\n}\n\n///////////////////////////////////////////// lazy load images\n\nvar observer\nvar lazyLoad = (entries, observer) => {\n  entries.forEach(entry => {\n    if (entry.isIntersecting) {\n      if (entry.target.dataset.src) {\n        entry.target.src = entry.target.dataset.src\n      } else if (entry.target.dataset.desktopSrc) {\n        if (isSmall.matches) {\n          entry.target.src = entry.target.dataset.mobileSrc\n        } else {\n          entry.target.src = entry.target.dataset.desktopSrc\n        }\n      }\n      entry.target.onload = () => {\n        entry.target.removeAttribute('data-lazy')\n        observer.unobserve(entry.target)\n      }\n    }\n  })\n}\n\nfunction lazyLoadInit() {\n  if ('IntersectionObserver' in window) {\n    observer = new IntersectionObserver(lazyLoad, {\n      root: null,\n      rootMargin: '0px 0px 400px 0px',\n      threshold: 0,\n    })\n\n    var lazyImages = document.querySelectorAll('img[data-lazy]')\n    lazyImages.forEach(image => observer.observe(image))\n  } else {\n    // if intersectionObserver isn't supprted, we won't lazy load images\n    var lazyImages = document.querySelectorAll('img[data-lazy]')\n\n    for (i = 0; i < lazyImages.length; ++i) {\n      lazyImages[i].src = lazyImages[i].dataset.src\n    }\n  }\n}\n\nlazyLoadInit()\n\n///////////////////////////////////////////// replace videos\n\nif (document.querySelector('video')) {\n  document.querySelectorAll('video').forEach(video => {\n    video.querySelectorAll('source').forEach(source => {\n      if (source.dataset.desktopSrc && !isSmall.matches) {\n        source.src = source.dataset.desktopSrc\n      }\n      if (source.dataset.mobileSrc && isSmall.matches) {\n        source.src = source.dataset.mobileSrc\n      }\n    })\n    video.load()\n  })\n}\n\n///////////////////////////////////////////// footer group functions\n\n// cookie notice\n\nvar cookieNotice = document.querySelector('#cookie-notice')\n\nif (localStorage.getItem('cookieSeen') != 'shown') {\n  cookieNotice.classList.add('visible')\n}\n\ncookieNotice.querySelector('.button').addEventListener('click', () => {\n  cookieNotice.classList.remove('visible')\n  localStorage.setItem('cookieSeen', 'shown')\n})\n\n// submit newsletter\n\nvar newsletterForm = document.querySelector('.newsletter-form')\nvar newsletterResponse = document.querySelector('#signup-response')\n\nnewsletterForm.addEventListener('submit', e => {\n  e.preventDefault()\n  e.stopPropagation()\n\n  newsletterForm.querySelector('#newsletter-signup').value = 'Adding...'\n\n  let formData = new FormData(newsletterForm)\n  let actionPath = newsletterForm.getAttribute('action')\n\n  fetch(actionPath, {\n    method: 'POST',\n    body: formData,\n  })\n    .then(response => response.json())\n    .then(data => {\n      if (data.email) {\n        newsletterResponse.textContent = \"Thanks \u2013 we've added \" + data.email + ' to the Styrkr mailing list.'\n        newsletterResponse.style.display = 'block'\n        newsletterForm.style.display = 'none'\n        localStorage.setItem('styrkr-newsletter-status', 'registered')\n      } else {\n        throw new Error('Error: ' + data)\n      }\n    })\n    .catch(error => {\n      console.error('Error:', JSON.parse(error))\n      newsletterResponse.innerHTML = `Sorry, there was a problem Contact <a href=\"mailto:info@styrkr.com\">info@styrkr.com</a> and we will add you!`\n      newsletterForm.style.display = 'none'\n    })\n})\n"],
  "mappings": "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",
  "names": ["exports", "e", "i", "o", "t", "n", "handleGesture", "button", "observer", "formData", "actionPath"]
}
