{"remainingRequest":"/Users/dev/Sites/belavistasaude/wp-content/themes/belavistasaude/node_modules/buble-loader/index.js??ref--2-1!/Users/dev/Sites/belavistasaude/wp-content/themes/belavistasaude/node_modules/foundation-sites/js/foundation.offcanvas.js","dependencies":[{"path":"/Users/dev/Sites/belavistasaude/wp-content/themes/belavistasaude/node_modules/foundation-sites/js/foundation.offcanvas.js","mtime":1560429080762},{"path":"/Users/dev/Sites/belavistasaude/wp-content/themes/belavistasaude/node_modules/cache-loader/dist/cjs.js","mtime":1560429090832},{"path":"/Users/dev/Sites/belavistasaude/wp-content/themes/belavistasaude/node_modules/buble-loader/index.js","mtime":1560429088235}],"contextDependencies":[],"result":["'use strict';\n\nimport $ from 'jquery';\nimport { Keyboard } from './foundation.util.keyboard';\nimport { MediaQuery } from './foundation.util.mediaQuery';\nimport { transitionend } from './foundation.util.core';\nimport { Plugin } from './foundation.plugin';\n\nimport { Triggers } from './foundation.util.triggers';\n\n/**\n * OffCanvas module.\n * @module foundation.offcanvas\n * @requires foundation.util.keyboard\n * @requires foundation.util.mediaQuery\n * @requires foundation.util.triggers\n */\n\nvar OffCanvas = (function (Plugin) {\n  function OffCanvas () {\n    Plugin.apply(this, arguments);\n  }\n\n  if ( Plugin ) OffCanvas.__proto__ = Plugin;\n  OffCanvas.prototype = Object.create( Plugin && Plugin.prototype );\n  OffCanvas.prototype.constructor = OffCanvas;\n\n  OffCanvas.prototype._setup = function _setup (element, options) {\n    var this$1 = this;\n\n    this.className = 'OffCanvas'; // ie9 back compat\n    this.$element = element;\n    this.options = $.extend({}, OffCanvas.defaults, this.$element.data(), options);\n    this.contentClasses = { base: [], reveal: [] };\n    this.$lastTrigger = $();\n    this.$triggers = $();\n    this.position = 'left';\n    this.$content = $();\n    this.nested = !!(this.options.nested);\n\n    // Defines the CSS transition/position classes of the off-canvas content container.\n    $(['push', 'overlap']).each(function (index, val) {\n      this$1.contentClasses.base.push('has-transition-'+val);\n    });\n    $(['left', 'right', 'top', 'bottom']).each(function (index, val) {\n      this$1.contentClasses.base.push('has-position-'+val);\n      this$1.contentClasses.reveal.push('has-reveal-'+val);\n    });\n\n    // Triggers init is idempotent, just need to make sure it is initialized\n    Triggers.init($);\n    MediaQuery._init();\n\n    this._init();\n    this._events();\n\n    Keyboard.register('OffCanvas', {\n      'ESCAPE': 'close'\n    });\n\n  };\n\n  /**\n   * Initializes the off-canvas wrapper by adding the exit overlay (if needed).\n   * @function\n   * @private\n   */\n  OffCanvas.prototype._init = function _init () {\n    var id = this.$element.attr('id');\n\n    this.$element.attr('aria-hidden', 'true');\n\n    // Find off-canvas content, either by ID (if specified), by siblings or by closest selector (fallback)\n    if (this.options.contentId) {\n      this.$content = $('#'+this.options.contentId);\n    } else if (this.$element.siblings('[data-off-canvas-content]').length) {\n      this.$content = this.$element.siblings('[data-off-canvas-content]').first();\n    } else {\n      this.$content = this.$element.closest('[data-off-canvas-content]').first();\n    }\n\n    if (!this.options.contentId) {\n      // Assume that the off-canvas element is nested if it isn't a sibling of the content\n      this.nested = this.$element.siblings('[data-off-canvas-content]').length === 0;\n\n    } else if (this.options.contentId && this.options.nested === null) {\n      // Warning if using content ID without setting the nested option\n      // Once the element is nested it is required to work properly in this case\n      console.warn('Remember to use the nested option if using the content ID option!');\n    }\n\n    if (this.nested === true) {\n      // Force transition overlap if nested\n      this.options.transition = 'overlap';\n      // Remove appropriate classes if already assigned in markup\n      this.$element.removeClass('is-transition-push');\n    }\n\n    this.$element.addClass((\"is-transition-\" + (this.options.transition) + \" is-closed\"));\n\n    // Find triggers that affect this element and add aria-expanded to them\n    this.$triggers = $(document)\n      .find('[data-open=\"'+id+'\"], [data-close=\"'+id+'\"], [data-toggle=\"'+id+'\"]')\n      .attr('aria-expanded', 'false')\n      .attr('aria-controls', id);\n\n    // Get position by checking for related CSS class\n    this.position = this.$element.is('.position-left, .position-top, .position-right, .position-bottom') ? this.$element.attr('class').match(/position\\-(left|top|right|bottom)/)[1] : this.position;\n\n    // Add an overlay over the content if necessary\n    if (this.options.contentOverlay === true) {\n      var overlay = document.createElement('div');\n      var overlayPosition = $(this.$element).css(\"position\") === 'fixed' ? 'is-overlay-fixed' : 'is-overlay-absolute';\n      overlay.setAttribute('class', 'js-off-canvas-overlay ' + overlayPosition);\n      this.$overlay = $(overlay);\n      if(overlayPosition === 'is-overlay-fixed') {\n        $(this.$overlay).insertAfter(this.$element);\n      } else {\n        this.$content.append(this.$overlay);\n      }\n    }\n\n    this.options.isRevealed = this.options.isRevealed || new RegExp(this.options.revealClass, 'g').test(this.$element[0].className);\n\n    if (this.options.isRevealed === true) {\n      this.options.revealOn = this.options.revealOn || this.$element[0].className.match(/(reveal-for-medium|reveal-for-large)/g)[0].split('-')[2];\n      this._setMQChecker();\n    }\n\n    if (this.options.transitionTime) {\n      this.$element.css('transition-duration', this.options.transitionTime);\n    }\n\n    // Initally remove all transition/position CSS classes from off-canvas content container.\n    this._removeContentClasses();\n  };\n\n  /**\n   * Adds event handlers to the off-canvas wrapper and the exit overlay.\n   * @function\n   * @private\n   */\n  OffCanvas.prototype._events = function _events () {\n    this.$element.off('.zf.trigger .zf.offcanvas').on({\n      'open.zf.trigger': this.open.bind(this),\n      'close.zf.trigger': this.close.bind(this),\n      'toggle.zf.trigger': this.toggle.bind(this),\n      'keydown.zf.offcanvas': this._handleKeyboard.bind(this)\n    });\n\n    if (this.options.closeOnClick === true) {\n      var $target = this.options.contentOverlay ? this.$overlay : this.$content;\n      $target.on({'click.zf.offcanvas': this.close.bind(this)});\n    }\n  };\n\n  /**\n   * Applies event listener for elements that will reveal at certain breakpoints.\n   * @private\n   */\n  OffCanvas.prototype._setMQChecker = function _setMQChecker () {\n    var _this = this;\n\n    $(window).on('changed.zf.mediaquery', function() {\n      if (MediaQuery.atLeast(_this.options.revealOn)) {\n        _this.reveal(true);\n      } else {\n        _this.reveal(false);\n      }\n    }).one('load.zf.offcanvas', function() {\n      if (MediaQuery.atLeast(_this.options.revealOn)) {\n        _this.reveal(true);\n      }\n    });\n  };\n\n  /**\n   * Removes the CSS transition/position classes of the off-canvas content container.\n   * Removing the classes is important when another off-canvas gets opened that uses the same content container.\n   * @param {Boolean} hasReveal - true if related off-canvas element is revealed.\n   * @private\n   */\n  OffCanvas.prototype._removeContentClasses = function _removeContentClasses (hasReveal) {\n    if (typeof hasReveal !== 'boolean') {\n      this.$content.removeClass(this.contentClasses.base.join(' '));\n    } else if (hasReveal === false) {\n      this.$content.removeClass((\"has-reveal-\" + (this.position)));\n    }\n  };\n\n  /**\n   * Adds the CSS transition/position classes of the off-canvas content container, based on the opening off-canvas element.\n   * Beforehand any transition/position class gets removed.\n   * @param {Boolean} hasReveal - true if related off-canvas element is revealed.\n   * @private\n   */\n  OffCanvas.prototype._addContentClasses = function _addContentClasses (hasReveal) {\n    this._removeContentClasses(hasReveal);\n    if (typeof hasReveal !== 'boolean') {\n      this.$content.addClass((\"has-transition-\" + (this.options.transition) + \" has-position-\" + (this.position)));\n    } else if (hasReveal === true) {\n      this.$content.addClass((\"has-reveal-\" + (this.position)));\n    }\n  };\n\n  /**\n   * Handles the revealing/hiding the off-canvas at breakpoints, not the same as open.\n   * @param {Boolean} isRevealed - true if element should be revealed.\n   * @function\n   */\n  OffCanvas.prototype.reveal = function reveal (isRevealed) {\n    if (isRevealed) {\n      this.close();\n      this.isRevealed = true;\n      this.$element.attr('aria-hidden', 'false');\n      this.$element.off('open.zf.trigger toggle.zf.trigger');\n      this.$element.removeClass('is-closed');\n    } else {\n      this.isRevealed = false;\n      this.$element.attr('aria-hidden', 'true');\n      this.$element.off('open.zf.trigger toggle.zf.trigger').on({\n        'open.zf.trigger': this.open.bind(this),\n        'toggle.zf.trigger': this.toggle.bind(this)\n      });\n      this.$element.addClass('is-closed');\n    }\n    this._addContentClasses(isRevealed);\n  };\n\n  /**\n   * Stops scrolling of the body when offcanvas is open on mobile Safari and other troublesome browsers.\n   * @private\n   */\n  OffCanvas.prototype._stopScrolling = function _stopScrolling (event) {\n    return false;\n  };\n\n  // Taken and adapted from http://stackoverflow.com/questions/16889447/prevent-full-page-scrolling-ios\n  // Only really works for y, not sure how to extend to x or if we need to.\n  OffCanvas.prototype._recordScrollable = function _recordScrollable (event) {\n    var elem = this; // called from event handler context with this as elem\n\n     // If the element is scrollable (content overflows), then...\n    if (elem.scrollHeight !== elem.clientHeight) {\n      // If we're at the top, scroll down one pixel to allow scrolling up\n      if (elem.scrollTop === 0) {\n        elem.scrollTop = 1;\n      }\n      // If we're at the bottom, scroll up one pixel to allow scrolling down\n      if (elem.scrollTop === elem.scrollHeight - elem.clientHeight) {\n        elem.scrollTop = elem.scrollHeight - elem.clientHeight - 1;\n      }\n    }\n    elem.allowUp = elem.scrollTop > 0;\n    elem.allowDown = elem.scrollTop < (elem.scrollHeight - elem.clientHeight);\n    elem.lastY = event.originalEvent.pageY;\n  };\n\n  OffCanvas.prototype._stopScrollPropagation = function _stopScrollPropagation (event) {\n    var elem = this; // called from event handler context with this as elem\n    var up = event.pageY < elem.lastY;\n    var down = !up;\n    elem.lastY = event.pageY;\n\n    if((up && elem.allowUp) || (down && elem.allowDown)) {\n      event.stopPropagation();\n    } else {\n      event.preventDefault();\n    }\n  };\n\n  /**\n   * Opens the off-canvas menu.\n   * @function\n   * @param {Object} event - Event object passed from listener.\n   * @param {jQuery} trigger - element that triggered the off-canvas to open.\n   * @fires OffCanvas#opened\n   */\n  OffCanvas.prototype.open = function open (event, trigger) {\n    if (this.$element.hasClass('is-open') || this.isRevealed) { return; }\n    var _this = this;\n\n    if (trigger) {\n      this.$lastTrigger = trigger;\n    }\n\n    if (this.options.forceTo === 'top') {\n      window.scrollTo(0, 0);\n    } else if (this.options.forceTo === 'bottom') {\n      window.scrollTo(0,document.body.scrollHeight);\n    }\n\n    if (this.options.transitionTime && this.options.transition !== 'overlap') {\n      this.$element.siblings('[data-off-canvas-content]').css('transition-duration', this.options.transitionTime);\n    } else {\n      this.$element.siblings('[data-off-canvas-content]').css('transition-duration', '');\n    }\n\n    /**\n     * Fires when the off-canvas menu opens.\n     * @event OffCanvas#opened\n     */\n    this.$element.addClass('is-open').removeClass('is-closed');\n\n    this.$triggers.attr('aria-expanded', 'true');\n    this.$element.attr('aria-hidden', 'false')\n        .trigger('opened.zf.offcanvas');\n\n    this.$content.addClass('is-open-' + this.position);\n\n    // If `contentScroll` is set to false, add class and disable scrolling on touch devices.\n    if (this.options.contentScroll === false) {\n      $('body').addClass('is-off-canvas-open').on('touchmove', this._stopScrolling);\n      this.$element.on('touchstart', this._recordScrollable);\n      this.$element.on('touchmove', this._stopScrollPropagation);\n    }\n\n    if (this.options.contentOverlay === true) {\n      this.$overlay.addClass('is-visible');\n    }\n\n    if (this.options.closeOnClick === true && this.options.contentOverlay === true) {\n      this.$overlay.addClass('is-closable');\n    }\n\n    if (this.options.autoFocus === true) {\n      this.$element.one(transitionend(this.$element), function() {\n        if (!_this.$element.hasClass('is-open')) {\n          return; // exit if prematurely closed\n        }\n        var canvasFocus = _this.$element.find('[data-autofocus]');\n        if (canvasFocus.length) {\n            canvasFocus.eq(0).focus();\n        } else {\n            _this.$element.find('a, button').eq(0).focus();\n        }\n      });\n    }\n\n    if (this.options.trapFocus === true) {\n      this.$content.attr('tabindex', '-1');\n      Keyboard.trapFocus(this.$element);\n    }\n\n    this._addContentClasses();\n  };\n\n  /**\n   * Closes the off-canvas menu.\n   * @function\n   * @param {Function} cb - optional cb to fire after closure.\n   * @fires OffCanvas#closed\n   */\n  OffCanvas.prototype.close = function close (cb) {\n    if (!this.$element.hasClass('is-open') || this.isRevealed) { return; }\n\n    var _this = this;\n\n    this.$element.removeClass('is-open');\n\n    this.$element.attr('aria-hidden', 'true')\n      /**\n       * Fires when the off-canvas menu opens.\n       * @event OffCanvas#closed\n       */\n        .trigger('closed.zf.offcanvas');\n\n    this.$content.removeClass('is-open-left is-open-top is-open-right is-open-bottom');\n\n    // If `contentScroll` is set to false, remove class and re-enable scrolling on touch devices.\n    if (this.options.contentScroll === false) {\n      $('body').removeClass('is-off-canvas-open').off('touchmove', this._stopScrolling);\n      this.$element.off('touchstart', this._recordScrollable);\n      this.$element.off('touchmove', this._stopScrollPropagation);\n    }\n\n    if (this.options.contentOverlay === true) {\n      this.$overlay.removeClass('is-visible');\n    }\n\n    if (this.options.closeOnClick === true && this.options.contentOverlay === true) {\n      this.$overlay.removeClass('is-closable');\n    }\n\n    this.$triggers.attr('aria-expanded', 'false');\n\n    if (this.options.trapFocus === true) {\n      this.$content.removeAttr('tabindex');\n      Keyboard.releaseFocus(this.$element);\n    }\n\n    // Listen to transitionEnd and add class when done.\n    this.$element.one(transitionend(this.$element), function(e) {\n      _this.$element.addClass('is-closed');\n      _this._removeContentClasses();\n    });\n  };\n\n  /**\n   * Toggles the off-canvas menu open or closed.\n   * @function\n   * @param {Object} event - Event object passed from listener.\n   * @param {jQuery} trigger - element that triggered the off-canvas to open.\n   */\n  OffCanvas.prototype.toggle = function toggle (event, trigger) {\n    if (this.$element.hasClass('is-open')) {\n      this.close(event, trigger);\n    }\n    else {\n      this.open(event, trigger);\n    }\n  };\n\n  /**\n   * Handles keyboard input when detected. When the escape key is pressed, the off-canvas menu closes, and focus is restored to the element that opened the menu.\n   * @function\n   * @private\n   */\n  OffCanvas.prototype._handleKeyboard = function _handleKeyboard (e) {\n    var this$1 = this;\n\n    Keyboard.handleKey(e, 'OffCanvas', {\n      close: function () {\n        this$1.close();\n        this$1.$lastTrigger.focus();\n        return true;\n      },\n      handled: function () {\n        e.stopPropagation();\n        e.preventDefault();\n      }\n    });\n  };\n\n  /**\n   * Destroys the offcanvas plugin.\n   * @function\n   */\n  OffCanvas.prototype._destroy = function _destroy () {\n    this.close();\n    this.$element.off('.zf.trigger .zf.offcanvas');\n    this.$overlay.off('.zf.offcanvas');\n  };\n\n  return OffCanvas;\n}(Plugin));\n\nOffCanvas.defaults = {\n  /**\n   * Allow the user to click outside of the menu to close it.\n   * @option\n   * @type {boolean}\n   * @default true\n   */\n  closeOnClick: true,\n\n  /**\n   * Adds an overlay on top of `[data-off-canvas-content]`.\n   * @option\n   * @type {boolean}\n   * @default true\n   */\n  contentOverlay: true,\n\n  /**\n   * Target an off-canvas content container by ID that may be placed anywhere. If null the closest content container will be taken.\n   * @option\n   * @type {?string}\n   * @default null\n   */\n  contentId: null,\n\n  /**\n   * Define the off-canvas element is nested in an off-canvas content. This is required when using the contentId option for a nested element.\n   * @option\n   * @type {boolean}\n   * @default null\n   */\n  nested: null,\n\n  /**\n   * Enable/disable scrolling of the main content when an off canvas panel is open.\n   * @option\n   * @type {boolean}\n   * @default true\n   */\n  contentScroll: true,\n\n  /**\n   * Amount of time in ms the open and close transition requires. If none selected, pulls from body style.\n   * @option\n   * @type {number}\n   * @default null\n   */\n  transitionTime: null,\n\n  /**\n   * Type of transition for the offcanvas menu. Options are 'push', 'detached' or 'slide'.\n   * @option\n   * @type {string}\n   * @default push\n   */\n  transition: 'push',\n\n  /**\n   * Force the page to scroll to top or bottom on open.\n   * @option\n   * @type {?string}\n   * @default null\n   */\n  forceTo: null,\n\n  /**\n   * Allow the offcanvas to remain open for certain breakpoints.\n   * @option\n   * @type {boolean}\n   * @default false\n   */\n  isRevealed: false,\n\n  /**\n   * Breakpoint at which to reveal. JS will use a RegExp to target standard classes, if changing classnames, pass your class with the `revealClass` option.\n   * @option\n   * @type {?string}\n   * @default null\n   */\n  revealOn: null,\n\n  /**\n   * Force focus to the offcanvas on open. If true, will focus the opening trigger on close.\n   * @option\n   * @type {boolean}\n   * @default true\n   */\n  autoFocus: true,\n\n  /**\n   * Class used to force an offcanvas to remain open. Foundation defaults for this are `reveal-for-large` & `reveal-for-medium`.\n   * @option\n   * @type {string}\n   * @default reveal-for-\n   * @todo improve the regex testing for this.\n   */\n  revealClass: 'reveal-for-',\n\n  /**\n   * Triggers optional focus trapping when opening an offcanvas. Sets tabindex of [data-off-canvas-content] to -1 for accessibility purposes.\n   * @option\n   * @type {boolean}\n   * @default false\n   */\n  trapFocus: false\n}\n\nexport {OffCanvas};\n",{"version":3,"file":"/Users/dev/Sites/belavistasaude/wp-content/themes/belavistasaude/node_modules/foundation-sites/js/foundation.offcanvas.js","sources":["node_modules/foundation-sites/js/foundation.offcanvas.js"],"sourcesContent":["'use strict';\n\nimport $ from 'jquery';\nimport { Keyboard } from './foundation.util.keyboard';\nimport { MediaQuery } from './foundation.util.mediaQuery';\nimport { transitionend } from './foundation.util.core';\nimport { Plugin } from './foundation.plugin';\n\nimport { Triggers } from './foundation.util.triggers';\n\n/**\n * OffCanvas module.\n * @module foundation.offcanvas\n * @requires foundation.util.keyboard\n * @requires foundation.util.mediaQuery\n * @requires foundation.util.triggers\n */\n\nclass OffCanvas extends Plugin {\n  /**\n   * Creates a new instance of an off-canvas wrapper.\n   * @class\n   * @name OffCanvas\n   * @fires OffCanvas#init\n   * @param {Object} element - jQuery object to initialize.\n   * @param {Object} options - Overrides to the default plugin settings.\n   */\n  _setup(element, options) {\n    this.className = 'OffCanvas'; // ie9 back compat\n    this.$element = element;\n    this.options = $.extend({}, OffCanvas.defaults, this.$element.data(), options);\n    this.contentClasses = { base: [], reveal: [] };\n    this.$lastTrigger = $();\n    this.$triggers = $();\n    this.position = 'left';\n    this.$content = $();\n    this.nested = !!(this.options.nested);\n\n    // Defines the CSS transition/position classes of the off-canvas content container.\n    $(['push', 'overlap']).each((index, val) => {\n      this.contentClasses.base.push('has-transition-'+val);\n    });\n    $(['left', 'right', 'top', 'bottom']).each((index, val) => {\n      this.contentClasses.base.push('has-position-'+val);\n      this.contentClasses.reveal.push('has-reveal-'+val);\n    });\n\n    // Triggers init is idempotent, just need to make sure it is initialized\n    Triggers.init($);\n    MediaQuery._init();\n\n    this._init();\n    this._events();\n\n    Keyboard.register('OffCanvas', {\n      'ESCAPE': 'close'\n    });\n\n  }\n\n  /**\n   * Initializes the off-canvas wrapper by adding the exit overlay (if needed).\n   * @function\n   * @private\n   */\n  _init() {\n    var id = this.$element.attr('id');\n\n    this.$element.attr('aria-hidden', 'true');\n\n    // Find off-canvas content, either by ID (if specified), by siblings or by closest selector (fallback)\n    if (this.options.contentId) {\n      this.$content = $('#'+this.options.contentId);\n    } else if (this.$element.siblings('[data-off-canvas-content]').length) {\n      this.$content = this.$element.siblings('[data-off-canvas-content]').first();\n    } else {\n      this.$content = this.$element.closest('[data-off-canvas-content]').first();\n    }\n\n    if (!this.options.contentId) {\n      // Assume that the off-canvas element is nested if it isn't a sibling of the content\n      this.nested = this.$element.siblings('[data-off-canvas-content]').length === 0;\n\n    } else if (this.options.contentId && this.options.nested === null) {\n      // Warning if using content ID without setting the nested option\n      // Once the element is nested it is required to work properly in this case\n      console.warn('Remember to use the nested option if using the content ID option!');\n    }\n\n    if (this.nested === true) {\n      // Force transition overlap if nested\n      this.options.transition = 'overlap';\n      // Remove appropriate classes if already assigned in markup\n      this.$element.removeClass('is-transition-push');\n    }\n\n    this.$element.addClass(`is-transition-${this.options.transition} is-closed`);\n\n    // Find triggers that affect this element and add aria-expanded to them\n    this.$triggers = $(document)\n      .find('[data-open=\"'+id+'\"], [data-close=\"'+id+'\"], [data-toggle=\"'+id+'\"]')\n      .attr('aria-expanded', 'false')\n      .attr('aria-controls', id);\n\n    // Get position by checking for related CSS class\n    this.position = this.$element.is('.position-left, .position-top, .position-right, .position-bottom') ? this.$element.attr('class').match(/position\\-(left|top|right|bottom)/)[1] : this.position;\n\n    // Add an overlay over the content if necessary\n    if (this.options.contentOverlay === true) {\n      var overlay = document.createElement('div');\n      var overlayPosition = $(this.$element).css(\"position\") === 'fixed' ? 'is-overlay-fixed' : 'is-overlay-absolute';\n      overlay.setAttribute('class', 'js-off-canvas-overlay ' + overlayPosition);\n      this.$overlay = $(overlay);\n      if(overlayPosition === 'is-overlay-fixed') {\n        $(this.$overlay).insertAfter(this.$element);\n      } else {\n        this.$content.append(this.$overlay);\n      }\n    }\n\n    this.options.isRevealed = this.options.isRevealed || new RegExp(this.options.revealClass, 'g').test(this.$element[0].className);\n\n    if (this.options.isRevealed === true) {\n      this.options.revealOn = this.options.revealOn || this.$element[0].className.match(/(reveal-for-medium|reveal-for-large)/g)[0].split('-')[2];\n      this._setMQChecker();\n    }\n\n    if (this.options.transitionTime) {\n      this.$element.css('transition-duration', this.options.transitionTime);\n    }\n\n    // Initally remove all transition/position CSS classes from off-canvas content container.\n    this._removeContentClasses();\n  }\n\n  /**\n   * Adds event handlers to the off-canvas wrapper and the exit overlay.\n   * @function\n   * @private\n   */\n  _events() {\n    this.$element.off('.zf.trigger .zf.offcanvas').on({\n      'open.zf.trigger': this.open.bind(this),\n      'close.zf.trigger': this.close.bind(this),\n      'toggle.zf.trigger': this.toggle.bind(this),\n      'keydown.zf.offcanvas': this._handleKeyboard.bind(this)\n    });\n\n    if (this.options.closeOnClick === true) {\n      var $target = this.options.contentOverlay ? this.$overlay : this.$content;\n      $target.on({'click.zf.offcanvas': this.close.bind(this)});\n    }\n  }\n\n  /**\n   * Applies event listener for elements that will reveal at certain breakpoints.\n   * @private\n   */\n  _setMQChecker() {\n    var _this = this;\n\n    $(window).on('changed.zf.mediaquery', function() {\n      if (MediaQuery.atLeast(_this.options.revealOn)) {\n        _this.reveal(true);\n      } else {\n        _this.reveal(false);\n      }\n    }).one('load.zf.offcanvas', function() {\n      if (MediaQuery.atLeast(_this.options.revealOn)) {\n        _this.reveal(true);\n      }\n    });\n  }\n\n  /**\n   * Removes the CSS transition/position classes of the off-canvas content container.\n   * Removing the classes is important when another off-canvas gets opened that uses the same content container.\n   * @param {Boolean} hasReveal - true if related off-canvas element is revealed.\n   * @private\n   */\n  _removeContentClasses(hasReveal) {\n    if (typeof hasReveal !== 'boolean') {\n      this.$content.removeClass(this.contentClasses.base.join(' '));\n    } else if (hasReveal === false) {\n      this.$content.removeClass(`has-reveal-${this.position}`);\n    }\n  }\n\n  /**\n   * Adds the CSS transition/position classes of the off-canvas content container, based on the opening off-canvas element.\n   * Beforehand any transition/position class gets removed.\n   * @param {Boolean} hasReveal - true if related off-canvas element is revealed.\n   * @private\n   */\n  _addContentClasses(hasReveal) {\n    this._removeContentClasses(hasReveal);\n    if (typeof hasReveal !== 'boolean') {\n      this.$content.addClass(`has-transition-${this.options.transition} has-position-${this.position}`);\n    } else if (hasReveal === true) {\n      this.$content.addClass(`has-reveal-${this.position}`);\n    }\n  }\n\n  /**\n   * Handles the revealing/hiding the off-canvas at breakpoints, not the same as open.\n   * @param {Boolean} isRevealed - true if element should be revealed.\n   * @function\n   */\n  reveal(isRevealed) {\n    if (isRevealed) {\n      this.close();\n      this.isRevealed = true;\n      this.$element.attr('aria-hidden', 'false');\n      this.$element.off('open.zf.trigger toggle.zf.trigger');\n      this.$element.removeClass('is-closed');\n    } else {\n      this.isRevealed = false;\n      this.$element.attr('aria-hidden', 'true');\n      this.$element.off('open.zf.trigger toggle.zf.trigger').on({\n        'open.zf.trigger': this.open.bind(this),\n        'toggle.zf.trigger': this.toggle.bind(this)\n      });\n      this.$element.addClass('is-closed');\n    }\n    this._addContentClasses(isRevealed);\n  }\n\n  /**\n   * Stops scrolling of the body when offcanvas is open on mobile Safari and other troublesome browsers.\n   * @private\n   */\n  _stopScrolling(event) {\n    return false;\n  }\n\n  // Taken and adapted from http://stackoverflow.com/questions/16889447/prevent-full-page-scrolling-ios\n  // Only really works for y, not sure how to extend to x or if we need to.\n  _recordScrollable(event) {\n    let elem = this; // called from event handler context with this as elem\n\n     // If the element is scrollable (content overflows), then...\n    if (elem.scrollHeight !== elem.clientHeight) {\n      // If we're at the top, scroll down one pixel to allow scrolling up\n      if (elem.scrollTop === 0) {\n        elem.scrollTop = 1;\n      }\n      // If we're at the bottom, scroll up one pixel to allow scrolling down\n      if (elem.scrollTop === elem.scrollHeight - elem.clientHeight) {\n        elem.scrollTop = elem.scrollHeight - elem.clientHeight - 1;\n      }\n    }\n    elem.allowUp = elem.scrollTop > 0;\n    elem.allowDown = elem.scrollTop < (elem.scrollHeight - elem.clientHeight);\n    elem.lastY = event.originalEvent.pageY;\n  }\n\n  _stopScrollPropagation(event) {\n    let elem = this; // called from event handler context with this as elem\n    let up = event.pageY < elem.lastY;\n    let down = !up;\n    elem.lastY = event.pageY;\n\n    if((up && elem.allowUp) || (down && elem.allowDown)) {\n      event.stopPropagation();\n    } else {\n      event.preventDefault();\n    }\n  }\n\n  /**\n   * Opens the off-canvas menu.\n   * @function\n   * @param {Object} event - Event object passed from listener.\n   * @param {jQuery} trigger - element that triggered the off-canvas to open.\n   * @fires OffCanvas#opened\n   */\n  open(event, trigger) {\n    if (this.$element.hasClass('is-open') || this.isRevealed) { return; }\n    var _this = this;\n\n    if (trigger) {\n      this.$lastTrigger = trigger;\n    }\n\n    if (this.options.forceTo === 'top') {\n      window.scrollTo(0, 0);\n    } else if (this.options.forceTo === 'bottom') {\n      window.scrollTo(0,document.body.scrollHeight);\n    }\n\n    if (this.options.transitionTime && this.options.transition !== 'overlap') {\n      this.$element.siblings('[data-off-canvas-content]').css('transition-duration', this.options.transitionTime);\n    } else {\n      this.$element.siblings('[data-off-canvas-content]').css('transition-duration', '');\n    }\n\n    /**\n     * Fires when the off-canvas menu opens.\n     * @event OffCanvas#opened\n     */\n    this.$element.addClass('is-open').removeClass('is-closed');\n\n    this.$triggers.attr('aria-expanded', 'true');\n    this.$element.attr('aria-hidden', 'false')\n        .trigger('opened.zf.offcanvas');\n\n    this.$content.addClass('is-open-' + this.position);\n\n    // If `contentScroll` is set to false, add class and disable scrolling on touch devices.\n    if (this.options.contentScroll === false) {\n      $('body').addClass('is-off-canvas-open').on('touchmove', this._stopScrolling);\n      this.$element.on('touchstart', this._recordScrollable);\n      this.$element.on('touchmove', this._stopScrollPropagation);\n    }\n\n    if (this.options.contentOverlay === true) {\n      this.$overlay.addClass('is-visible');\n    }\n\n    if (this.options.closeOnClick === true && this.options.contentOverlay === true) {\n      this.$overlay.addClass('is-closable');\n    }\n\n    if (this.options.autoFocus === true) {\n      this.$element.one(transitionend(this.$element), function() {\n        if (!_this.$element.hasClass('is-open')) {\n          return; // exit if prematurely closed\n        }\n        var canvasFocus = _this.$element.find('[data-autofocus]');\n        if (canvasFocus.length) {\n            canvasFocus.eq(0).focus();\n        } else {\n            _this.$element.find('a, button').eq(0).focus();\n        }\n      });\n    }\n\n    if (this.options.trapFocus === true) {\n      this.$content.attr('tabindex', '-1');\n      Keyboard.trapFocus(this.$element);\n    }\n\n    this._addContentClasses();\n  }\n\n  /**\n   * Closes the off-canvas menu.\n   * @function\n   * @param {Function} cb - optional cb to fire after closure.\n   * @fires OffCanvas#closed\n   */\n  close(cb) {\n    if (!this.$element.hasClass('is-open') || this.isRevealed) { return; }\n\n    var _this = this;\n\n    this.$element.removeClass('is-open');\n\n    this.$element.attr('aria-hidden', 'true')\n      /**\n       * Fires when the off-canvas menu opens.\n       * @event OffCanvas#closed\n       */\n        .trigger('closed.zf.offcanvas');\n\n    this.$content.removeClass('is-open-left is-open-top is-open-right is-open-bottom');\n\n    // If `contentScroll` is set to false, remove class and re-enable scrolling on touch devices.\n    if (this.options.contentScroll === false) {\n      $('body').removeClass('is-off-canvas-open').off('touchmove', this._stopScrolling);\n      this.$element.off('touchstart', this._recordScrollable);\n      this.$element.off('touchmove', this._stopScrollPropagation);\n    }\n\n    if (this.options.contentOverlay === true) {\n      this.$overlay.removeClass('is-visible');\n    }\n\n    if (this.options.closeOnClick === true && this.options.contentOverlay === true) {\n      this.$overlay.removeClass('is-closable');\n    }\n\n    this.$triggers.attr('aria-expanded', 'false');\n\n    if (this.options.trapFocus === true) {\n      this.$content.removeAttr('tabindex');\n      Keyboard.releaseFocus(this.$element);\n    }\n\n    // Listen to transitionEnd and add class when done.\n    this.$element.one(transitionend(this.$element), function(e) {\n      _this.$element.addClass('is-closed');\n      _this._removeContentClasses();\n    });\n  }\n\n  /**\n   * Toggles the off-canvas menu open or closed.\n   * @function\n   * @param {Object} event - Event object passed from listener.\n   * @param {jQuery} trigger - element that triggered the off-canvas to open.\n   */\n  toggle(event, trigger) {\n    if (this.$element.hasClass('is-open')) {\n      this.close(event, trigger);\n    }\n    else {\n      this.open(event, trigger);\n    }\n  }\n\n  /**\n   * Handles keyboard input when detected. When the escape key is pressed, the off-canvas menu closes, and focus is restored to the element that opened the menu.\n   * @function\n   * @private\n   */\n  _handleKeyboard(e) {\n    Keyboard.handleKey(e, 'OffCanvas', {\n      close: () => {\n        this.close();\n        this.$lastTrigger.focus();\n        return true;\n      },\n      handled: () => {\n        e.stopPropagation();\n        e.preventDefault();\n      }\n    });\n  }\n\n  /**\n   * Destroys the offcanvas plugin.\n   * @function\n   */\n  _destroy() {\n    this.close();\n    this.$element.off('.zf.trigger .zf.offcanvas');\n    this.$overlay.off('.zf.offcanvas');\n  }\n}\n\nOffCanvas.defaults = {\n  /**\n   * Allow the user to click outside of the menu to close it.\n   * @option\n   * @type {boolean}\n   * @default true\n   */\n  closeOnClick: true,\n\n  /**\n   * Adds an overlay on top of `[data-off-canvas-content]`.\n   * @option\n   * @type {boolean}\n   * @default true\n   */\n  contentOverlay: true,\n\n  /**\n   * Target an off-canvas content container by ID that may be placed anywhere. If null the closest content container will be taken.\n   * @option\n   * @type {?string}\n   * @default null\n   */\n  contentId: null,\n\n  /**\n   * Define the off-canvas element is nested in an off-canvas content. This is required when using the contentId option for a nested element.\n   * @option\n   * @type {boolean}\n   * @default null\n   */\n  nested: null,\n\n  /**\n   * Enable/disable scrolling of the main content when an off canvas panel is open.\n   * @option\n   * @type {boolean}\n   * @default true\n   */\n  contentScroll: true,\n\n  /**\n   * Amount of time in ms the open and close transition requires. If none selected, pulls from body style.\n   * @option\n   * @type {number}\n   * @default null\n   */\n  transitionTime: null,\n\n  /**\n   * Type of transition for the offcanvas menu. Options are 'push', 'detached' or 'slide'.\n   * @option\n   * @type {string}\n   * @default push\n   */\n  transition: 'push',\n\n  /**\n   * Force the page to scroll to top or bottom on open.\n   * @option\n   * @type {?string}\n   * @default null\n   */\n  forceTo: null,\n\n  /**\n   * Allow the offcanvas to remain open for certain breakpoints.\n   * @option\n   * @type {boolean}\n   * @default false\n   */\n  isRevealed: false,\n\n  /**\n   * Breakpoint at which to reveal. JS will use a RegExp to target standard classes, if changing classnames, pass your class with the `revealClass` option.\n   * @option\n   * @type {?string}\n   * @default null\n   */\n  revealOn: null,\n\n  /**\n   * Force focus to the offcanvas on open. If true, will focus the opening trigger on close.\n   * @option\n   * @type {boolean}\n   * @default true\n   */\n  autoFocus: true,\n\n  /**\n   * Class used to force an offcanvas to remain open. Foundation defaults for this are `reveal-for-large` & `reveal-for-medium`.\n   * @option\n   * @type {string}\n   * @default reveal-for-\n   * @todo improve the regex testing for this.\n   */\n  revealClass: 'reveal-for-',\n\n  /**\n   * Triggers optional focus trapping when opening an offcanvas. Sets tabindex of [data-off-canvas-content] to -1 for accessibility purposes.\n   * @option\n   * @type {boolean}\n   * @default false\n   */\n  trapFocus: false\n}\n\nexport {OffCanvas};\n"],"names":["this","let"],"mappings":"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","sourceRoot":"/Users/dev/Sites/belavistasaude/wp-content/themes/belavistasaude"}]}