{
  "version": 3,
  "sources": ["/cdn/shop/t/3/assets/theme.js?kkk=84708"],
  "sourcesContent": ["/* Jonathan Snook - MIT License - https://github.com/snookca/prepareTransition */\n(function(a){a.fn.prepareTransition=function(){return this.each(function(){var b=a(this);b.one(\"TransitionEnd webkitTransitionEnd transitionend oTransitionEnd\",function(){b.removeClass(\"is-transitioning\")});var c=[\"transition-duration\",\"-moz-transition-duration\",\"-webkit-transition-duration\",\"-o-transition-duration\"];var d=0;a.each(c,function(a,c){d=parseFloat(b.css(c))||d});if(d!=0){b.addClass(\"is-transitioning\");b[0].offsetWidth}})}})(jQuery);\n\n/* Run function after window resize */\nvar afterResize=(function(){var t={};return function(callback,ms,uniqueId){if(!uniqueId){uniqueId=\"Don't call this twice without a uniqueId\";}if(t[uniqueId]){clearTimeout(t[uniqueId]);}t[uniqueId]=setTimeout(callback,ms);};})();\n\n\nwindow.theme = window.theme || {};\n\ntheme.cacheSelectors = function () {\n  theme.cache = {\n    // General\n    $w: $(window),\n    $body: $('body'),\n\n    // Mobile Nav\n    $mobileNavTrigger: $('#MobileNavTrigger'),\n    $mobileNav: $('#MobileNav'),\n    $mobileSublistTrigger: $('.mobile-nav__sublist-trigger'),\n\n     // Cart Page\n    cartNoteAdd: '.cart__note-add',\n    cartNote: '.cart__note',\n     // Search Page       \n    $searchInput: $('.search-bar__input'),\n    $searchSubmit: $('.search-bar__submit')\n    \n  }\n};\n\ntheme.init = function () {\n  theme.cacheSelectors();\n  theme.mobileNav();  \n theme.cartPage();\n  theme.drawersInit();\n};\n\n\ntheme.cartPage = function () {\n  \n\n  theme.cache.$body.on('click', theme.cache.cartNoteAdd, function () {\n    $(this).addClass('is-hidden');\n    $(theme.cache.cartNote).addClass('is-active');   \n  });\n};\ntheme.drawersInit = function () {\n  // Add required classes to HTML\n  $('#PageContainer').addClass('drawer-page-content');  \n  $('.js-drawer-open-top').attr('aria-controls', 'SearchDrawer').attr('aria-expanded', 'false');  \n  theme.SearchDrawer = new theme.Drawers('SearchDrawer', 'top', {'onDrawerOpen': theme.searchFocus});\n};\n\ntheme.searchFocus = function () {\n  theme.cache.$searchInput.focus();\n  // set selection range hack for iOS\n  theme.cache.$searchInput[0].setSelectionRange(0, theme.cache.$searchInput[0].value.length);\n};\n\ntheme.searchSubmit = function () {\n  theme.cache.$searchSubmit.on('click', function(evt) {\n    if (theme.cache.$searchInput.val().length == 0) {\n      evt.preventDefault();\n      theme.cache.$searchInput.focus();\n    }\n  });\n};\n\n\ntheme.mobileNav = function () {\n  theme.cache.$mobileNavTrigger.on('click', function() {\n    theme.cache.$mobileNav.slideToggle(220);\n  });\n\n  theme.cache.$mobileSublistTrigger.on('click', function(evt) {\n    var $el = $(this);\n\n    // Enable commented out if statement to allow direct clicking on trigger link\n    // if (!$el.hasClass('is-active')) {\n      evt.preventDefault();\n      $el.toggleClass('is-active').next('.mobile-nav__sublist').slideToggle(200);\n    // }\n  });\n};\n\n/*============================================================================\n  Drawer modules\n==============================================================================*/\ntheme.Drawers = (function () {\n  var Drawer = function (id, position, options) {\n    var defaults = {\n      close: '.js-drawer-close',\n      open: '.js-drawer-open-' + position,\n      openClass: 'js-drawer-open',\n      dirOpenClass: 'js-drawer-open-' + position\n    };\n\n    this.$nodes = {\n      parent: $('body, html'),\n      page: $('#PageContainer')\n    };\n\n    this.config = $.extend(defaults, options);\n    this.position = position;\n\n    this.$drawer = $('#' + id);\n\n    if (!this.$drawer.length) {\n      return false;\n    }\n\n    this.drawerIsOpen = false;\n    this.init();\n  };\n\n  Drawer.prototype.init = function () {\n    $(this.config.open).on('click', $.proxy(this.open, this));\n    this.$drawer.on('click', this.config.close, $.proxy(this.close, this));\n  };\n\n  Drawer.prototype.open = function (evt) {\n    // Keep track if drawer was opened from a click, or called by another function\n    var externalCall = false;\n\n    // Prevent following href if link is clicked\n    if (evt) {\n      evt.preventDefault();\n    } else {\n      externalCall = true;\n    }\n\n    // Without this, the drawer opens, the click event bubbles up to $nodes.page\n    // which closes the drawer.\n    if (evt && evt.stopPropagation) {\n      evt.stopPropagation();\n      // save the source of the click, we'll focus to this on close\n      this.$activeSource = $(evt.currentTarget);\n    }\n\n    if (this.drawerIsOpen && !externalCall) {\n      return this.close();\n    }\n\n    // Add is-transitioning class to moved elements on open so drawer can have\n    // transition for close animation\n    this.$drawer.prepareTransition();\n\n    this.$nodes.parent.addClass(this.config.openClass + ' ' + this.config.dirOpenClass);\n    this.drawerIsOpen = true;\n\n    // Set focus on drawer\n    this.trapFocus({\n      $container: this.$drawer,\n      $elementToFocus: this.$drawer.find('.drawer__close-button'),\n      namespace: 'drawer_focus'\n    });\n\n    // Run function when draw opens if set\n    if (this.config.onDrawerOpen && typeof(this.config.onDrawerOpen) == 'function') {\n      if (!externalCall) {\n        this.config.onDrawerOpen();\n      }\n    }\n\n    if (this.$activeSource && this.$activeSource.attr('aria-expanded')) {\n      this.$activeSource.attr('aria-expanded', 'true');\n    }\n\n    this.$nodes.parent.on('keyup.drawer', $.proxy(function (evt) {\n      // close on 'esc' keypress\n      if (evt.keyCode === 27) {\n        this.close();\n        return false;\n      }\n    }, this));\n\n    // Lock scrolling on mobile\n    this.$nodes.page.on('touchmove.drawer', function () {\n      return false;\n    });\n\n    this.$nodes.page.on('click.drawer', $.proxy(function () {\n      this.close();\n      return false;\n    }, this));\n  };\n\n  Drawer.prototype.close = function () {\n    if (!this.drawerIsOpen) { // don't close a closed drawer\n      return;\n    }\n\n    // deselect any focused form elements\n    $(document.activeElement).trigger('blur');\n\n    // Ensure closing transition is applied to moved elements, like the nav\n    this.$drawer.prepareTransition();\n\n    this.$nodes.parent.removeClass(this.config.dirOpenClass + ' ' + this.config.openClass);\n\n    this.drawerIsOpen = false;\n\n    // Remove focus on drawer\n    this.removeTrapFocus({\n      $container: this.$drawer,\n      namespace: 'drawer_focus'\n    });\n\n    this.$nodes.page.off('.drawer');\n    this.$nodes.parent.off('.drawer');\n  };\n\n  /**\n  * Traps the focus in a particular container\n  *\n  * @param {object} options - Options to be used\n  * @param {jQuery} options.$container - Container to trap focus within\n  * @param {jQuery} options.$elementToFocus - Element to be focused when focus leaves container\n  * @param {string} options.namespace - Namespace used for new focus event handler\n  */\n  Drawer.prototype.trapFocus = function (options) {\n    var eventName = options.eventNamespace\n      ? 'focusin.' + eventNamespace\n      : 'focusin';\n\n    if (!options.$elementToFocus) {\n      options.$elementToFocus = options.$container;\n    }\n\n    options.$container.attr('tabindex', '-1');\n    options.$elementToFocus.focus();\n\n    $(document).on(eventName, function (evt) {\n      if (options.$container[0] !== evt.target && !options.$container.has(evt.target).length) {\n        options.$container.focus();\n      }\n    });\n  };\n\n  /**\n   * Removes the trap of focus in a particular container\n   *\n   * @param {object} options - Options to be used\n   * @param {jQuery} options.$container - Container to trap focus within\n   * @param {string} options.namespace - Namespace used for new focus event handler\n   */\n  Drawer.prototype.removeTrapFocus = function (options) {\n    var eventName = options.namespace\n      ? 'focusin.' + options.namespace\n      : 'focusin';\n\n    if (options.$container && options.$container.length) {\n      options.$container.removeAttr('tabindex');\n    }\n\n    $(document).off(eventName);\n  };\n\n  return Drawer;\n})();\n// Initialize shop's JS on docready\n$(theme.init);\n"],
  "mappings": "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",
  "names": ["a", "c", "evt"]
}
