{"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.slider.js","dependencies":[{"path":"/Users/dev/Sites/belavistasaude/wp-content/themes/belavistasaude/node_modules/foundation-sites/js/foundation.slider.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 { Move } from './foundation.util.motion';\nimport { GetYoDigits, rtl as Rtl } from './foundation.util.core';\n\nimport { Plugin } from './foundation.plugin';\n\nimport { Touch } from './foundation.util.touch';\n\nimport { Triggers } from './foundation.util.triggers';\n/**\n * Slider module.\n * @module foundation.slider\n * @requires foundation.util.motion\n * @requires foundation.util.triggers\n * @requires foundation.util.keyboard\n * @requires foundation.util.touch\n */\n\nvar Slider = (function (Plugin) {\n  function Slider () {\n    Plugin.apply(this, arguments);\n  }\n\n  if ( Plugin ) Slider.__proto__ = Plugin;\n  Slider.prototype = Object.create( Plugin && Plugin.prototype );\n  Slider.prototype.constructor = Slider;\n\n  Slider.prototype._setup = function _setup (element, options) {\n    this.$element = element;\n    this.options = $.extend({}, Slider.defaults, this.$element.data(), options);\n    this.className = 'Slider'; // ie9 back compat\n\n  // Touch and Triggers inits are idempotent, we just need to make sure it's initialied.\n    Touch.init($);\n    Triggers.init($);\n\n    this._init();\n\n    Keyboard.register('Slider', {\n      'ltr': {\n        'ARROW_RIGHT': 'increase',\n        'ARROW_UP': 'increase',\n        'ARROW_DOWN': 'decrease',\n        'ARROW_LEFT': 'decrease',\n        'SHIFT_ARROW_RIGHT': 'increase_fast',\n        'SHIFT_ARROW_UP': 'increase_fast',\n        'SHIFT_ARROW_DOWN': 'decrease_fast',\n        'SHIFT_ARROW_LEFT': 'decrease_fast',\n        'HOME': 'min',\n        'END': 'max'\n      },\n      'rtl': {\n        'ARROW_LEFT': 'increase',\n        'ARROW_RIGHT': 'decrease',\n        'SHIFT_ARROW_LEFT': 'increase_fast',\n        'SHIFT_ARROW_RIGHT': 'decrease_fast'\n      }\n    });\n  };\n\n  /**\n   * Initilizes the plugin by reading/setting attributes, creating collections and setting the initial position of the handle(s).\n   * @function\n   * @private\n   */\n  Slider.prototype._init = function _init () {\n    this.inputs = this.$element.find('input');\n    this.handles = this.$element.find('[data-slider-handle]');\n\n    this.$handle = this.handles.eq(0);\n    this.$input = this.inputs.length ? this.inputs.eq(0) : $((\"#\" + (this.$handle.attr('aria-controls'))));\n    this.$fill = this.$element.find('[data-slider-fill]').css(this.options.vertical ? 'height' : 'width', 0);\n\n    var isDbl = false,\n        _this = this;\n    if (this.options.disabled || this.$element.hasClass(this.options.disabledClass)) {\n      this.options.disabled = true;\n      this.$element.addClass(this.options.disabledClass);\n    }\n    if (!this.inputs.length) {\n      this.inputs = $().add(this.$input);\n      this.options.binding = true;\n    }\n\n    this._setInitAttr(0);\n\n    if (this.handles[1]) {\n      this.options.doubleSided = true;\n      this.$handle2 = this.handles.eq(1);\n      this.$input2 = this.inputs.length > 1 ? this.inputs.eq(1) : $((\"#\" + (this.$handle2.attr('aria-controls'))));\n\n      if (!this.inputs[1]) {\n        this.inputs = this.inputs.add(this.$input2);\n      }\n      isDbl = true;\n\n      // this.$handle.triggerHandler('click.zf.slider');\n      this._setInitAttr(1);\n    }\n\n    // Set handle positions\n    this.setHandles();\n\n    this._events();\n  };\n\n  Slider.prototype.setHandles = function setHandles () {\n    var this$1 = this;\n\n    if(this.handles[1]) {\n      this._setHandlePos(this.$handle, this.inputs.eq(0).val(), true, function () {\n        this$1._setHandlePos(this$1.$handle2, this$1.inputs.eq(1).val(), true);\n      });\n    } else {\n      this._setHandlePos(this.$handle, this.inputs.eq(0).val(), true);\n    }\n  };\n\n  Slider.prototype._reflow = function _reflow () {\n    this.setHandles();\n  };\n  /**\n  * @function\n  * @private\n  * @param {Number} value - floating point (the value) to be transformed using to a relative position on the slider (the inverse of _value)\n  */\n  Slider.prototype._pctOfBar = function _pctOfBar (value) {\n    var pctOfBar = percent(value - this.options.start, this.options.end - this.options.start)\n\n    switch(this.options.positionValueFunction) {\n    case \"pow\":\n      pctOfBar = this._logTransform(pctOfBar);\n      break;\n    case \"log\":\n      pctOfBar = this._powTransform(pctOfBar);\n      break;\n    }\n\n    return pctOfBar.toFixed(2)\n  };\n\n  /**\n  * @function\n  * @private\n  * @param {Number} pctOfBar - floating point, the relative position of the slider (typically between 0-1) to be transformed to a value\n  */\n  Slider.prototype._value = function _value (pctOfBar) {\n    switch(this.options.positionValueFunction) {\n    case \"pow\":\n      pctOfBar = this._powTransform(pctOfBar);\n      break;\n    case \"log\":\n      pctOfBar = this._logTransform(pctOfBar);\n      break;\n    }\n    var value = (this.options.end - this.options.start) * pctOfBar + this.options.start;\n\n    return value\n  };\n\n  /**\n  * @function\n  * @private\n  * @param {Number} value - floating point (typically between 0-1) to be transformed using the log function\n  */\n  Slider.prototype._logTransform = function _logTransform (value) {\n    return baseLog(this.options.nonLinearBase, ((value*(this.options.nonLinearBase-1))+1))\n  };\n\n  /**\n  * @function\n  * @private\n  * @param {Number} value - floating point (typically between 0-1) to be transformed using the power function\n  */\n  Slider.prototype._powTransform = function _powTransform (value) {\n    return (Math.pow(this.options.nonLinearBase, value) - 1) / (this.options.nonLinearBase - 1)\n  };\n\n  /**\n   * Sets the position of the selected handle and fill bar.\n   * @function\n   * @private\n   * @param {jQuery} $hndl - the selected handle to move.\n   * @param {Number} location - floating point between the start and end values of the slider bar.\n   * @param {Function} cb - callback function to fire on completion.\n   * @fires Slider#moved\n   * @fires Slider#changed\n   */\n  Slider.prototype._setHandlePos = function _setHandlePos ($hndl, location, noInvert, cb) {\n    // don't move if the slider has been disabled since its initialization\n    if (this.$element.hasClass(this.options.disabledClass)) {\n      return;\n    }\n    //might need to alter that slightly for bars that will have odd number selections.\n    location = parseFloat(location);//on input change events, convert string to number...grumble.\n\n    // prevent slider from running out of bounds, if value exceeds the limits set through options, override the value to min/max\n    if (location < this.options.start) { location = this.options.start; }\n    else if (location > this.options.end) { location = this.options.end; }\n\n    var isDbl = this.options.doubleSided;\n\n    //this is for single-handled vertical sliders, it adjusts the value to account for the slider being \"upside-down\"\n    //for click and drag events, it's weird due to the scale(-1, 1) css property\n    if (this.options.vertical && !noInvert) {\n      location = this.options.end - location;\n    }\n\n    if (isDbl) { //this block is to prevent 2 handles from crossing eachother. Could/should be improved.\n      if (this.handles.index($hndl) === 0) {\n        var h2Val = parseFloat(this.$handle2.attr('aria-valuenow'));\n        location = location >= h2Val ? h2Val - this.options.step : location;\n      } else {\n        var h1Val = parseFloat(this.$handle.attr('aria-valuenow'));\n        location = location <= h1Val ? h1Val + this.options.step : location;\n      }\n    }\n\n    var _this = this,\n        vert = this.options.vertical,\n        hOrW = vert ? 'height' : 'width',\n        lOrT = vert ? 'top' : 'left',\n        handleDim = $hndl[0].getBoundingClientRect()[hOrW],\n        elemDim = this.$element[0].getBoundingClientRect()[hOrW],\n        //percentage of bar min/max value based on click or drag point\n        pctOfBar = this._pctOfBar(location),\n        //number of actual pixels to shift the handle, based on the percentage obtained above\n        pxToMove = (elemDim - handleDim) * pctOfBar,\n        //percentage of bar to shift the handle\n        movement = (percent(pxToMove, elemDim) * 100).toFixed(this.options.decimal);\n        //fixing the decimal value for the location number, is passed to other methods as a fixed floating-point value\n        location = parseFloat(location.toFixed(this.options.decimal));\n        // declare empty object for css adjustments, only used with 2 handled-sliders\n    var css = {};\n\n    this._setValues($hndl, location);\n\n    // TODO update to calculate based on values set to respective inputs??\n    if (isDbl) {\n      var isLeftHndl = this.handles.index($hndl) === 0,\n          //empty variable, will be used for min-height/width for fill bar\n          dim,\n          //percentage w/h of the handle compared to the slider bar\n          handlePct =  ~~(percent(handleDim, elemDim) * 100);\n      //if left handle, the math is slightly different than if it's the right handle, and the left/top property needs to be changed for the fill bar\n      if (isLeftHndl) {\n        //left or top percentage value to apply to the fill bar.\n        css[lOrT] = movement + \"%\";\n        //calculate the new min-height/width for the fill bar.\n        dim = parseFloat(this.$handle2[0].style[lOrT]) - movement + handlePct;\n        //this callback is necessary to prevent errors and allow the proper placement and initialization of a 2-handled slider\n        //plus, it means we don't care if 'dim' isNaN on init, it won't be in the future.\n        if (cb && typeof cb === 'function') { cb(); }//this is only needed for the initialization of 2 handled sliders\n      } else {\n        //just caching the value of the left/bottom handle's left/top property\n        var handlePos = parseFloat(this.$handle[0].style[lOrT]);\n        //calculate the new min-height/width for the fill bar. Use isNaN to prevent false positives for numbers <= 0\n        //based on the percentage of movement of the handle being manipulated, less the opposing handle's left/top position, plus the percentage w/h of the handle itself\n        dim = movement - (isNaN(handlePos) ? (this.options.initialStart - this.options.start)/((this.options.end-this.options.start)/100) : handlePos) + handlePct;\n      }\n      // assign the min-height/width to our css object\n      css[(\"min-\" + hOrW)] = dim + \"%\";\n    }\n\n    this.$element.one('finished.zf.animate', function() {\n                    /**\n                     * Fires when the handle is done moving.\n                     * @event Slider#moved\n                     */\n                    _this.$element.trigger('moved.zf.slider', [$hndl]);\n                });\n\n    //because we don't know exactly how the handle will be moved, check the amount of time it should take to move.\n    var moveTime = this.$element.data('dragging') ? 1000/60 : this.options.moveTime;\n\n    Move(moveTime, $hndl, function() {\n      // adjusting the left/top property of the handle, based on the percentage calculated above\n      // if movement isNaN, that is because the slider is hidden and we cannot determine handle width,\n      // fall back to next best guess.\n      if (isNaN(movement)) {\n        $hndl.css(lOrT, ((pctOfBar * 100) + \"%\"));\n      }\n      else {\n        $hndl.css(lOrT, (movement + \"%\"));\n      }\n\n      if (!_this.options.doubleSided) {\n        //if single-handled, a simple method to expand the fill bar\n        _this.$fill.css(hOrW, ((pctOfBar * 100) + \"%\"));\n      } else {\n        //otherwise, use the css object we created above\n        _this.$fill.css(css);\n      }\n    });\n\n\n    /**\n     * Fires when the value has not been change for a given time.\n     * @event Slider#changed\n     */\n    clearTimeout(_this.timeout);\n    _this.timeout = setTimeout(function(){\n      _this.$element.trigger('changed.zf.slider', [$hndl]);\n    }, _this.options.changedDelay);\n  };\n\n  /**\n   * Sets the initial attribute for the slider element.\n   * @function\n   * @private\n   * @param {Number} idx - index of the current handle/input to use.\n   */\n  Slider.prototype._setInitAttr = function _setInitAttr (idx) {\n    var initVal = (idx === 0 ? this.options.initialStart : this.options.initialEnd)\n    var id = this.inputs.eq(idx).attr('id') || GetYoDigits(6, 'slider');\n    this.inputs.eq(idx).attr({\n      'id': id,\n      'max': this.options.end,\n      'min': this.options.start,\n      'step': this.options.step\n    });\n    this.inputs.eq(idx).val(initVal);\n    this.handles.eq(idx).attr({\n      'role': 'slider',\n      'aria-controls': id,\n      'aria-valuemax': this.options.end,\n      'aria-valuemin': this.options.start,\n      'aria-valuenow': initVal,\n      'aria-orientation': this.options.vertical ? 'vertical' : 'horizontal',\n      'tabindex': 0\n    });\n  };\n\n  /**\n   * Sets the input and `aria-valuenow` values for the slider element.\n   * @function\n   * @private\n   * @param {jQuery} $handle - the currently selected handle.\n   * @param {Number} val - floating point of the new value.\n   */\n  Slider.prototype._setValues = function _setValues ($handle, val) {\n    var idx = this.options.doubleSided ? this.handles.index($handle) : 0;\n    this.inputs.eq(idx).val(val);\n    $handle.attr('aria-valuenow', val);\n  };\n\n  /**\n   * Handles events on the slider element.\n   * Calculates the new location of the current handle.\n   * If there are two handles and the bar was clicked, it determines which handle to move.\n   * @function\n   * @private\n   * @param {Object} e - the `event` object passed from the listener.\n   * @param {jQuery} $handle - the current handle to calculate for, if selected.\n   * @param {Number} val - floating point number for the new value of the slider.\n   * TODO clean this up, there's a lot of repeated code between this and the _setHandlePos fn.\n   */\n  Slider.prototype._handleEvent = function _handleEvent (e, $handle, val) {\n    var value, hasVal;\n    if (!val) {//click or drag events\n      e.preventDefault();\n      var _this = this,\n          vertical = this.options.vertical,\n          param = vertical ? 'height' : 'width',\n          direction = vertical ? 'top' : 'left',\n          eventOffset = vertical ? e.pageY : e.pageX,\n          halfOfHandle = this.$handle[0].getBoundingClientRect()[param] / 2,\n          barDim = this.$element[0].getBoundingClientRect()[param],\n          windowScroll = vertical ? $(window).scrollTop() : $(window).scrollLeft();\n\n\n      var elemOffset = this.$element.offset()[direction];\n\n      // touch events emulated by the touch util give position relative to screen, add window.scroll to event coordinates...\n      // best way to guess this is simulated is if clientY == pageY\n      if (e.clientY === e.pageY) { eventOffset = eventOffset + windowScroll; }\n      var eventFromBar = eventOffset - elemOffset;\n      var barXY;\n      if (eventFromBar < 0) {\n        barXY = 0;\n      } else if (eventFromBar > barDim) {\n        barXY = barDim;\n      } else {\n        barXY = eventFromBar;\n      }\n      var offsetPct = percent(barXY, barDim);\n\n      value = this._value(offsetPct);\n\n      // turn everything around for RTL, yay math!\n      if (Rtl() && !this.options.vertical) {value = this.options.end - value;}\n\n      value = _this._adjustValue(null, value);\n      //boolean flag for the setHandlePos fn, specifically for vertical sliders\n      hasVal = false;\n\n      if (!$handle) {//figure out which handle it is, pass it to the next function.\n        var firstHndlPos = absPosition(this.$handle, direction, barXY, param),\n            secndHndlPos = absPosition(this.$handle2, direction, barXY, param);\n            $handle = firstHndlPos <= secndHndlPos ? this.$handle : this.$handle2;\n      }\n\n    } else {//change event on input\n      value = this._adjustValue(null, val);\n      hasVal = true;\n    }\n\n    this._setHandlePos($handle, value, hasVal);\n  };\n\n  /**\n   * Adjustes value for handle in regard to step value. returns adjusted value\n   * @function\n   * @private\n   * @param {jQuery} $handle - the selected handle.\n   * @param {Number} value - value to adjust. used if $handle is falsy\n   */\n  Slider.prototype._adjustValue = function _adjustValue ($handle, value) {\n    var val,\n      step = this.options.step,\n      div = parseFloat(step/2),\n      left, prev_val, next_val;\n    if (!!$handle) {\n      val = parseFloat($handle.attr('aria-valuenow'));\n    }\n    else {\n      val = value;\n    }\n    left = val % step;\n    prev_val = val - left;\n    next_val = prev_val + step;\n    if (left === 0) {\n      return val;\n    }\n    val = val >= prev_val + div ? next_val : prev_val;\n    return val;\n  };\n\n  /**\n   * Adds event listeners to the slider elements.\n   * @function\n   * @private\n   */\n  Slider.prototype._events = function _events () {\n    this._eventsForHandle(this.$handle);\n    if(this.handles[1]) {\n      this._eventsForHandle(this.$handle2);\n    }\n  };\n\n\n  /**\n   * Adds event listeners a particular handle\n   * @function\n   * @private\n   * @param {jQuery} $handle - the current handle to apply listeners to.\n   */\n  Slider.prototype._eventsForHandle = function _eventsForHandle ($handle) {\n    var _this = this,\n        curHandle,\n        timer;\n\n      this.inputs.off('change.zf.slider').on('change.zf.slider', function(e) {\n        var idx = _this.inputs.index($(this));\n        _this._handleEvent(e, _this.handles.eq(idx), $(this).val());\n      });\n\n      if (this.options.clickSelect) {\n        this.$element.off('click.zf.slider').on('click.zf.slider', function(e) {\n          if (_this.$element.data('dragging')) { return false; }\n\n          if (!$(e.target).is('[data-slider-handle]')) {\n            if (_this.options.doubleSided) {\n              _this._handleEvent(e);\n            } else {\n              _this._handleEvent(e, _this.$handle);\n            }\n          }\n        });\n      }\n\n    if (this.options.draggable) {\n      this.handles.addTouch();\n\n      var $body = $('body');\n      $handle\n        .off('mousedown.zf.slider')\n        .on('mousedown.zf.slider', function(e) {\n          $handle.addClass('is-dragging');\n          _this.$fill.addClass('is-dragging');//\n          _this.$element.data('dragging', true);\n\n          curHandle = $(e.currentTarget);\n\n          $body.on('mousemove.zf.slider', function(e) {\n            e.preventDefault();\n            _this._handleEvent(e, curHandle);\n\n          }).on('mouseup.zf.slider', function(e) {\n            _this._handleEvent(e, curHandle);\n\n            $handle.removeClass('is-dragging');\n            _this.$fill.removeClass('is-dragging');\n            _this.$element.data('dragging', false);\n\n            $body.off('mousemove.zf.slider mouseup.zf.slider');\n          });\n      })\n      // prevent events triggered by touch\n      .on('selectstart.zf.slider touchmove.zf.slider', function(e) {\n        e.preventDefault();\n      });\n    }\n\n    $handle.off('keydown.zf.slider').on('keydown.zf.slider', function(e) {\n      var _$handle = $(this),\n          idx = _this.options.doubleSided ? _this.handles.index(_$handle) : 0,\n          oldValue = parseFloat(_this.inputs.eq(idx).val()),\n          newValue;\n\n      // handle keyboard event with keyboard util\n      Keyboard.handleKey(e, 'Slider', {\n        decrease: function() {\n          newValue = oldValue - _this.options.step;\n        },\n        increase: function() {\n          newValue = oldValue + _this.options.step;\n        },\n        decrease_fast: function() {\n          newValue = oldValue - _this.options.step * 10;\n        },\n        increase_fast: function() {\n          newValue = oldValue + _this.options.step * 10;\n        },\n        min: function() {\n          newValue = _this.options.start;\n        },\n        max: function() {\n          newValue = _this.options.end;\n        },\n        handled: function() { // only set handle pos when event was handled specially\n          e.preventDefault();\n          _this._setHandlePos(_$handle, newValue, true);\n        }\n      });\n      /*if (newValue) { // if pressed key has special function, update value\n        e.preventDefault();\n        _this._setHandlePos(_$handle, newValue);\n      }*/\n    });\n  };\n\n  /**\n   * Destroys the slider plugin.\n   */\n  Slider.prototype._destroy = function _destroy () {\n    this.handles.off('.zf.slider');\n    this.inputs.off('.zf.slider');\n    this.$element.off('.zf.slider');\n\n    clearTimeout(this.timeout);\n  };\n\n  return Slider;\n}(Plugin));\n\nSlider.defaults = {\n  /**\n   * Minimum value for the slider scale.\n   * @option\n   * @type {number}\n   * @default 0\n   */\n  start: 0,\n  /**\n   * Maximum value for the slider scale.\n   * @option\n   * @type {number}\n   * @default 100\n   */\n  end: 100,\n  /**\n   * Minimum value change per change event.\n   * @option\n   * @type {number}\n   * @default 1\n   */\n  step: 1,\n  /**\n   * Value at which the handle/input *(left handle/first input)* should be set to on initialization.\n   * @option\n   * @type {number}\n   * @default 0\n   */\n  initialStart: 0,\n  /**\n   * Value at which the right handle/second input should be set to on initialization.\n   * @option\n   * @type {number}\n   * @default 100\n   */\n  initialEnd: 100,\n  /**\n   * Allows the input to be located outside the container and visible. Set to by the JS\n   * @option\n   * @type {boolean}\n   * @default false\n   */\n  binding: false,\n  /**\n   * Allows the user to click/tap on the slider bar to select a value.\n   * @option\n   * @type {boolean}\n   * @default true\n   */\n  clickSelect: true,\n  /**\n   * Set to true and use the `vertical` class to change alignment to vertical.\n   * @option\n   * @type {boolean}\n   * @default false\n   */\n  vertical: false,\n  /**\n   * Allows the user to drag the slider handle(s) to select a value.\n   * @option\n   * @type {boolean}\n   * @default true\n   */\n  draggable: true,\n  /**\n   * Disables the slider and prevents event listeners from being applied. Double checked by JS with `disabledClass`.\n   * @option\n   * @type {boolean}\n   * @default false\n   */\n  disabled: false,\n  /**\n   * Allows the use of two handles. Double checked by the JS. Changes some logic handling.\n   * @option\n   * @type {boolean}\n   * @default false\n   */\n  doubleSided: false,\n  /**\n   * Potential future feature.\n   */\n  // steps: 100,\n  /**\n   * Number of decimal places the plugin should go to for floating point precision.\n   * @option\n   * @type {number}\n   * @default 2\n   */\n  decimal: 2,\n  /**\n   * Time delay for dragged elements.\n   */\n  // dragDelay: 0,\n  /**\n   * Time, in ms, to animate the movement of a slider handle if user clicks/taps on the bar. Needs to be manually set if updating the transition time in the Sass settings.\n   * @option\n   * @type {number}\n   * @default 200\n   */\n  moveTime: 200,//update this if changing the transition time in the sass\n  /**\n   * Class applied to disabled sliders.\n   * @option\n   * @type {string}\n   * @default 'disabled'\n   */\n  disabledClass: 'disabled',\n  /**\n   * Will invert the default layout for a vertical<span data-tooltip title=\"who would do this???\"> </span>slider.\n   * @option\n   * @type {boolean}\n   * @default false\n   */\n  invertVertical: false,\n  /**\n   * Milliseconds before the `changed.zf-slider` event is triggered after value change.\n   * @option\n   * @type {number}\n   * @default 500\n   */\n  changedDelay: 500,\n  /**\n  * Basevalue for non-linear sliders\n  * @option\n  * @type {number}\n  * @default 5\n  */\n  nonLinearBase: 5,\n  /**\n  * Basevalue for non-linear sliders, possible values are: `'linear'`, `'pow'` & `'log'`. Pow and Log use the nonLinearBase setting.\n  * @option\n  * @type {string}\n  * @default 'linear'\n  */\n  positionValueFunction: 'linear',\n};\n\nfunction percent(frac, num) {\n  return (frac / num);\n}\nfunction absPosition($handle, dir, clickPos, param) {\n  return Math.abs(($handle.position()[dir] + ($handle[param]() / 2)) - clickPos);\n}\nfunction baseLog(base, value) {\n  return Math.log(value)/Math.log(base)\n}\n\nexport {Slider};\n",{"version":3,"file":"/Users/dev/Sites/belavistasaude/wp-content/themes/belavistasaude/node_modules/foundation-sites/js/foundation.slider.js","sources":["node_modules/foundation-sites/js/foundation.slider.js"],"sourcesContent":["'use strict';\n\nimport $ from 'jquery';\nimport { Keyboard } from './foundation.util.keyboard';\nimport { Move } from './foundation.util.motion';\nimport { GetYoDigits, rtl as Rtl } from './foundation.util.core';\n\nimport { Plugin } from './foundation.plugin';\n\nimport { Touch } from './foundation.util.touch';\n\nimport { Triggers } from './foundation.util.triggers';\n/**\n * Slider module.\n * @module foundation.slider\n * @requires foundation.util.motion\n * @requires foundation.util.triggers\n * @requires foundation.util.keyboard\n * @requires foundation.util.touch\n */\n\nclass Slider extends Plugin {\n  /**\n   * Creates a new instance of a slider control.\n   * @class\n   * @name Slider\n   * @param {jQuery} element - jQuery object to make into a slider control.\n   * @param {Object} options - Overrides to the default plugin settings.\n   */\n  _setup(element, options) {\n    this.$element = element;\n    this.options = $.extend({}, Slider.defaults, this.$element.data(), options);\n    this.className = 'Slider'; // ie9 back compat\n\n  // Touch and Triggers inits are idempotent, we just need to make sure it's initialied.\n    Touch.init($);\n    Triggers.init($);\n\n    this._init();\n\n    Keyboard.register('Slider', {\n      'ltr': {\n        'ARROW_RIGHT': 'increase',\n        'ARROW_UP': 'increase',\n        'ARROW_DOWN': 'decrease',\n        'ARROW_LEFT': 'decrease',\n        'SHIFT_ARROW_RIGHT': 'increase_fast',\n        'SHIFT_ARROW_UP': 'increase_fast',\n        'SHIFT_ARROW_DOWN': 'decrease_fast',\n        'SHIFT_ARROW_LEFT': 'decrease_fast',\n        'HOME': 'min',\n        'END': 'max'\n      },\n      'rtl': {\n        'ARROW_LEFT': 'increase',\n        'ARROW_RIGHT': 'decrease',\n        'SHIFT_ARROW_LEFT': 'increase_fast',\n        'SHIFT_ARROW_RIGHT': 'decrease_fast'\n      }\n    });\n  }\n\n  /**\n   * Initilizes the plugin by reading/setting attributes, creating collections and setting the initial position of the handle(s).\n   * @function\n   * @private\n   */\n  _init() {\n    this.inputs = this.$element.find('input');\n    this.handles = this.$element.find('[data-slider-handle]');\n\n    this.$handle = this.handles.eq(0);\n    this.$input = this.inputs.length ? this.inputs.eq(0) : $(`#${this.$handle.attr('aria-controls')}`);\n    this.$fill = this.$element.find('[data-slider-fill]').css(this.options.vertical ? 'height' : 'width', 0);\n\n    var isDbl = false,\n        _this = this;\n    if (this.options.disabled || this.$element.hasClass(this.options.disabledClass)) {\n      this.options.disabled = true;\n      this.$element.addClass(this.options.disabledClass);\n    }\n    if (!this.inputs.length) {\n      this.inputs = $().add(this.$input);\n      this.options.binding = true;\n    }\n\n    this._setInitAttr(0);\n\n    if (this.handles[1]) {\n      this.options.doubleSided = true;\n      this.$handle2 = this.handles.eq(1);\n      this.$input2 = this.inputs.length > 1 ? this.inputs.eq(1) : $(`#${this.$handle2.attr('aria-controls')}`);\n\n      if (!this.inputs[1]) {\n        this.inputs = this.inputs.add(this.$input2);\n      }\n      isDbl = true;\n\n      // this.$handle.triggerHandler('click.zf.slider');\n      this._setInitAttr(1);\n    }\n\n    // Set handle positions\n    this.setHandles();\n\n    this._events();\n  }\n\n  setHandles() {\n    if(this.handles[1]) {\n      this._setHandlePos(this.$handle, this.inputs.eq(0).val(), true, () => {\n        this._setHandlePos(this.$handle2, this.inputs.eq(1).val(), true);\n      });\n    } else {\n      this._setHandlePos(this.$handle, this.inputs.eq(0).val(), true);\n    }\n  }\n\n  _reflow() {\n    this.setHandles();\n  }\n  /**\n  * @function\n  * @private\n  * @param {Number} value - floating point (the value) to be transformed using to a relative position on the slider (the inverse of _value)\n  */\n  _pctOfBar(value) {\n    var pctOfBar = percent(value - this.options.start, this.options.end - this.options.start)\n\n    switch(this.options.positionValueFunction) {\n    case \"pow\":\n      pctOfBar = this._logTransform(pctOfBar);\n      break;\n    case \"log\":\n      pctOfBar = this._powTransform(pctOfBar);\n      break;\n    }\n\n    return pctOfBar.toFixed(2)\n  }\n\n  /**\n  * @function\n  * @private\n  * @param {Number} pctOfBar - floating point, the relative position of the slider (typically between 0-1) to be transformed to a value\n  */\n  _value(pctOfBar) {\n    switch(this.options.positionValueFunction) {\n    case \"pow\":\n      pctOfBar = this._powTransform(pctOfBar);\n      break;\n    case \"log\":\n      pctOfBar = this._logTransform(pctOfBar);\n      break;\n    }\n    var value = (this.options.end - this.options.start) * pctOfBar + this.options.start;\n\n    return value\n  }\n\n  /**\n  * @function\n  * @private\n  * @param {Number} value - floating point (typically between 0-1) to be transformed using the log function\n  */\n  _logTransform(value) {\n    return baseLog(this.options.nonLinearBase, ((value*(this.options.nonLinearBase-1))+1))\n  }\n\n  /**\n  * @function\n  * @private\n  * @param {Number} value - floating point (typically between 0-1) to be transformed using the power function\n  */\n  _powTransform(value) {\n    return (Math.pow(this.options.nonLinearBase, value) - 1) / (this.options.nonLinearBase - 1)\n  }\n\n  /**\n   * Sets the position of the selected handle and fill bar.\n   * @function\n   * @private\n   * @param {jQuery} $hndl - the selected handle to move.\n   * @param {Number} location - floating point between the start and end values of the slider bar.\n   * @param {Function} cb - callback function to fire on completion.\n   * @fires Slider#moved\n   * @fires Slider#changed\n   */\n  _setHandlePos($hndl, location, noInvert, cb) {\n    // don't move if the slider has been disabled since its initialization\n    if (this.$element.hasClass(this.options.disabledClass)) {\n      return;\n    }\n    //might need to alter that slightly for bars that will have odd number selections.\n    location = parseFloat(location);//on input change events, convert string to number...grumble.\n\n    // prevent slider from running out of bounds, if value exceeds the limits set through options, override the value to min/max\n    if (location < this.options.start) { location = this.options.start; }\n    else if (location > this.options.end) { location = this.options.end; }\n\n    var isDbl = this.options.doubleSided;\n\n    //this is for single-handled vertical sliders, it adjusts the value to account for the slider being \"upside-down\"\n    //for click and drag events, it's weird due to the scale(-1, 1) css property\n    if (this.options.vertical && !noInvert) {\n      location = this.options.end - location;\n    }\n\n    if (isDbl) { //this block is to prevent 2 handles from crossing eachother. Could/should be improved.\n      if (this.handles.index($hndl) === 0) {\n        var h2Val = parseFloat(this.$handle2.attr('aria-valuenow'));\n        location = location >= h2Val ? h2Val - this.options.step : location;\n      } else {\n        var h1Val = parseFloat(this.$handle.attr('aria-valuenow'));\n        location = location <= h1Val ? h1Val + this.options.step : location;\n      }\n    }\n\n    var _this = this,\n        vert = this.options.vertical,\n        hOrW = vert ? 'height' : 'width',\n        lOrT = vert ? 'top' : 'left',\n        handleDim = $hndl[0].getBoundingClientRect()[hOrW],\n        elemDim = this.$element[0].getBoundingClientRect()[hOrW],\n        //percentage of bar min/max value based on click or drag point\n        pctOfBar = this._pctOfBar(location),\n        //number of actual pixels to shift the handle, based on the percentage obtained above\n        pxToMove = (elemDim - handleDim) * pctOfBar,\n        //percentage of bar to shift the handle\n        movement = (percent(pxToMove, elemDim) * 100).toFixed(this.options.decimal);\n        //fixing the decimal value for the location number, is passed to other methods as a fixed floating-point value\n        location = parseFloat(location.toFixed(this.options.decimal));\n        // declare empty object for css adjustments, only used with 2 handled-sliders\n    var css = {};\n\n    this._setValues($hndl, location);\n\n    // TODO update to calculate based on values set to respective inputs??\n    if (isDbl) {\n      var isLeftHndl = this.handles.index($hndl) === 0,\n          //empty variable, will be used for min-height/width for fill bar\n          dim,\n          //percentage w/h of the handle compared to the slider bar\n          handlePct =  ~~(percent(handleDim, elemDim) * 100);\n      //if left handle, the math is slightly different than if it's the right handle, and the left/top property needs to be changed for the fill bar\n      if (isLeftHndl) {\n        //left or top percentage value to apply to the fill bar.\n        css[lOrT] = `${movement}%`;\n        //calculate the new min-height/width for the fill bar.\n        dim = parseFloat(this.$handle2[0].style[lOrT]) - movement + handlePct;\n        //this callback is necessary to prevent errors and allow the proper placement and initialization of a 2-handled slider\n        //plus, it means we don't care if 'dim' isNaN on init, it won't be in the future.\n        if (cb && typeof cb === 'function') { cb(); }//this is only needed for the initialization of 2 handled sliders\n      } else {\n        //just caching the value of the left/bottom handle's left/top property\n        var handlePos = parseFloat(this.$handle[0].style[lOrT]);\n        //calculate the new min-height/width for the fill bar. Use isNaN to prevent false positives for numbers <= 0\n        //based on the percentage of movement of the handle being manipulated, less the opposing handle's left/top position, plus the percentage w/h of the handle itself\n        dim = movement - (isNaN(handlePos) ? (this.options.initialStart - this.options.start)/((this.options.end-this.options.start)/100) : handlePos) + handlePct;\n      }\n      // assign the min-height/width to our css object\n      css[`min-${hOrW}`] = `${dim}%`;\n    }\n\n    this.$element.one('finished.zf.animate', function() {\n                    /**\n                     * Fires when the handle is done moving.\n                     * @event Slider#moved\n                     */\n                    _this.$element.trigger('moved.zf.slider', [$hndl]);\n                });\n\n    //because we don't know exactly how the handle will be moved, check the amount of time it should take to move.\n    var moveTime = this.$element.data('dragging') ? 1000/60 : this.options.moveTime;\n\n    Move(moveTime, $hndl, function() {\n      // adjusting the left/top property of the handle, based on the percentage calculated above\n      // if movement isNaN, that is because the slider is hidden and we cannot determine handle width,\n      // fall back to next best guess.\n      if (isNaN(movement)) {\n        $hndl.css(lOrT, `${pctOfBar * 100}%`);\n      }\n      else {\n        $hndl.css(lOrT, `${movement}%`);\n      }\n\n      if (!_this.options.doubleSided) {\n        //if single-handled, a simple method to expand the fill bar\n        _this.$fill.css(hOrW, `${pctOfBar * 100}%`);\n      } else {\n        //otherwise, use the css object we created above\n        _this.$fill.css(css);\n      }\n    });\n\n\n    /**\n     * Fires when the value has not been change for a given time.\n     * @event Slider#changed\n     */\n    clearTimeout(_this.timeout);\n    _this.timeout = setTimeout(function(){\n      _this.$element.trigger('changed.zf.slider', [$hndl]);\n    }, _this.options.changedDelay);\n  }\n\n  /**\n   * Sets the initial attribute for the slider element.\n   * @function\n   * @private\n   * @param {Number} idx - index of the current handle/input to use.\n   */\n  _setInitAttr(idx) {\n    var initVal = (idx === 0 ? this.options.initialStart : this.options.initialEnd)\n    var id = this.inputs.eq(idx).attr('id') || GetYoDigits(6, 'slider');\n    this.inputs.eq(idx).attr({\n      'id': id,\n      'max': this.options.end,\n      'min': this.options.start,\n      'step': this.options.step\n    });\n    this.inputs.eq(idx).val(initVal);\n    this.handles.eq(idx).attr({\n      'role': 'slider',\n      'aria-controls': id,\n      'aria-valuemax': this.options.end,\n      'aria-valuemin': this.options.start,\n      'aria-valuenow': initVal,\n      'aria-orientation': this.options.vertical ? 'vertical' : 'horizontal',\n      'tabindex': 0\n    });\n  }\n\n  /**\n   * Sets the input and `aria-valuenow` values for the slider element.\n   * @function\n   * @private\n   * @param {jQuery} $handle - the currently selected handle.\n   * @param {Number} val - floating point of the new value.\n   */\n  _setValues($handle, val) {\n    var idx = this.options.doubleSided ? this.handles.index($handle) : 0;\n    this.inputs.eq(idx).val(val);\n    $handle.attr('aria-valuenow', val);\n  }\n\n  /**\n   * Handles events on the slider element.\n   * Calculates the new location of the current handle.\n   * If there are two handles and the bar was clicked, it determines which handle to move.\n   * @function\n   * @private\n   * @param {Object} e - the `event` object passed from the listener.\n   * @param {jQuery} $handle - the current handle to calculate for, if selected.\n   * @param {Number} val - floating point number for the new value of the slider.\n   * TODO clean this up, there's a lot of repeated code between this and the _setHandlePos fn.\n   */\n  _handleEvent(e, $handle, val) {\n    var value, hasVal;\n    if (!val) {//click or drag events\n      e.preventDefault();\n      var _this = this,\n          vertical = this.options.vertical,\n          param = vertical ? 'height' : 'width',\n          direction = vertical ? 'top' : 'left',\n          eventOffset = vertical ? e.pageY : e.pageX,\n          halfOfHandle = this.$handle[0].getBoundingClientRect()[param] / 2,\n          barDim = this.$element[0].getBoundingClientRect()[param],\n          windowScroll = vertical ? $(window).scrollTop() : $(window).scrollLeft();\n\n\n      var elemOffset = this.$element.offset()[direction];\n\n      // touch events emulated by the touch util give position relative to screen, add window.scroll to event coordinates...\n      // best way to guess this is simulated is if clientY == pageY\n      if (e.clientY === e.pageY) { eventOffset = eventOffset + windowScroll; }\n      var eventFromBar = eventOffset - elemOffset;\n      var barXY;\n      if (eventFromBar < 0) {\n        barXY = 0;\n      } else if (eventFromBar > barDim) {\n        barXY = barDim;\n      } else {\n        barXY = eventFromBar;\n      }\n      var offsetPct = percent(barXY, barDim);\n\n      value = this._value(offsetPct);\n\n      // turn everything around for RTL, yay math!\n      if (Rtl() && !this.options.vertical) {value = this.options.end - value;}\n\n      value = _this._adjustValue(null, value);\n      //boolean flag for the setHandlePos fn, specifically for vertical sliders\n      hasVal = false;\n\n      if (!$handle) {//figure out which handle it is, pass it to the next function.\n        var firstHndlPos = absPosition(this.$handle, direction, barXY, param),\n            secndHndlPos = absPosition(this.$handle2, direction, barXY, param);\n            $handle = firstHndlPos <= secndHndlPos ? this.$handle : this.$handle2;\n      }\n\n    } else {//change event on input\n      value = this._adjustValue(null, val);\n      hasVal = true;\n    }\n\n    this._setHandlePos($handle, value, hasVal);\n  }\n\n  /**\n   * Adjustes value for handle in regard to step value. returns adjusted value\n   * @function\n   * @private\n   * @param {jQuery} $handle - the selected handle.\n   * @param {Number} value - value to adjust. used if $handle is falsy\n   */\n  _adjustValue($handle, value) {\n    var val,\n      step = this.options.step,\n      div = parseFloat(step/2),\n      left, prev_val, next_val;\n    if (!!$handle) {\n      val = parseFloat($handle.attr('aria-valuenow'));\n    }\n    else {\n      val = value;\n    }\n    left = val % step;\n    prev_val = val - left;\n    next_val = prev_val + step;\n    if (left === 0) {\n      return val;\n    }\n    val = val >= prev_val + div ? next_val : prev_val;\n    return val;\n  }\n\n  /**\n   * Adds event listeners to the slider elements.\n   * @function\n   * @private\n   */\n  _events() {\n    this._eventsForHandle(this.$handle);\n    if(this.handles[1]) {\n      this._eventsForHandle(this.$handle2);\n    }\n  }\n\n\n  /**\n   * Adds event listeners a particular handle\n   * @function\n   * @private\n   * @param {jQuery} $handle - the current handle to apply listeners to.\n   */\n  _eventsForHandle($handle) {\n    var _this = this,\n        curHandle,\n        timer;\n\n      this.inputs.off('change.zf.slider').on('change.zf.slider', function(e) {\n        var idx = _this.inputs.index($(this));\n        _this._handleEvent(e, _this.handles.eq(idx), $(this).val());\n      });\n\n      if (this.options.clickSelect) {\n        this.$element.off('click.zf.slider').on('click.zf.slider', function(e) {\n          if (_this.$element.data('dragging')) { return false; }\n\n          if (!$(e.target).is('[data-slider-handle]')) {\n            if (_this.options.doubleSided) {\n              _this._handleEvent(e);\n            } else {\n              _this._handleEvent(e, _this.$handle);\n            }\n          }\n        });\n      }\n\n    if (this.options.draggable) {\n      this.handles.addTouch();\n\n      var $body = $('body');\n      $handle\n        .off('mousedown.zf.slider')\n        .on('mousedown.zf.slider', function(e) {\n          $handle.addClass('is-dragging');\n          _this.$fill.addClass('is-dragging');//\n          _this.$element.data('dragging', true);\n\n          curHandle = $(e.currentTarget);\n\n          $body.on('mousemove.zf.slider', function(e) {\n            e.preventDefault();\n            _this._handleEvent(e, curHandle);\n\n          }).on('mouseup.zf.slider', function(e) {\n            _this._handleEvent(e, curHandle);\n\n            $handle.removeClass('is-dragging');\n            _this.$fill.removeClass('is-dragging');\n            _this.$element.data('dragging', false);\n\n            $body.off('mousemove.zf.slider mouseup.zf.slider');\n          });\n      })\n      // prevent events triggered by touch\n      .on('selectstart.zf.slider touchmove.zf.slider', function(e) {\n        e.preventDefault();\n      });\n    }\n\n    $handle.off('keydown.zf.slider').on('keydown.zf.slider', function(e) {\n      var _$handle = $(this),\n          idx = _this.options.doubleSided ? _this.handles.index(_$handle) : 0,\n          oldValue = parseFloat(_this.inputs.eq(idx).val()),\n          newValue;\n\n      // handle keyboard event with keyboard util\n      Keyboard.handleKey(e, 'Slider', {\n        decrease: function() {\n          newValue = oldValue - _this.options.step;\n        },\n        increase: function() {\n          newValue = oldValue + _this.options.step;\n        },\n        decrease_fast: function() {\n          newValue = oldValue - _this.options.step * 10;\n        },\n        increase_fast: function() {\n          newValue = oldValue + _this.options.step * 10;\n        },\n        min: function() {\n          newValue = _this.options.start;\n        },\n        max: function() {\n          newValue = _this.options.end;\n        },\n        handled: function() { // only set handle pos when event was handled specially\n          e.preventDefault();\n          _this._setHandlePos(_$handle, newValue, true);\n        }\n      });\n      /*if (newValue) { // if pressed key has special function, update value\n        e.preventDefault();\n        _this._setHandlePos(_$handle, newValue);\n      }*/\n    });\n  }\n\n  /**\n   * Destroys the slider plugin.\n   */\n  _destroy() {\n    this.handles.off('.zf.slider');\n    this.inputs.off('.zf.slider');\n    this.$element.off('.zf.slider');\n\n    clearTimeout(this.timeout);\n  }\n}\n\nSlider.defaults = {\n  /**\n   * Minimum value for the slider scale.\n   * @option\n   * @type {number}\n   * @default 0\n   */\n  start: 0,\n  /**\n   * Maximum value for the slider scale.\n   * @option\n   * @type {number}\n   * @default 100\n   */\n  end: 100,\n  /**\n   * Minimum value change per change event.\n   * @option\n   * @type {number}\n   * @default 1\n   */\n  step: 1,\n  /**\n   * Value at which the handle/input *(left handle/first input)* should be set to on initialization.\n   * @option\n   * @type {number}\n   * @default 0\n   */\n  initialStart: 0,\n  /**\n   * Value at which the right handle/second input should be set to on initialization.\n   * @option\n   * @type {number}\n   * @default 100\n   */\n  initialEnd: 100,\n  /**\n   * Allows the input to be located outside the container and visible. Set to by the JS\n   * @option\n   * @type {boolean}\n   * @default false\n   */\n  binding: false,\n  /**\n   * Allows the user to click/tap on the slider bar to select a value.\n   * @option\n   * @type {boolean}\n   * @default true\n   */\n  clickSelect: true,\n  /**\n   * Set to true and use the `vertical` class to change alignment to vertical.\n   * @option\n   * @type {boolean}\n   * @default false\n   */\n  vertical: false,\n  /**\n   * Allows the user to drag the slider handle(s) to select a value.\n   * @option\n   * @type {boolean}\n   * @default true\n   */\n  draggable: true,\n  /**\n   * Disables the slider and prevents event listeners from being applied. Double checked by JS with `disabledClass`.\n   * @option\n   * @type {boolean}\n   * @default false\n   */\n  disabled: false,\n  /**\n   * Allows the use of two handles. Double checked by the JS. Changes some logic handling.\n   * @option\n   * @type {boolean}\n   * @default false\n   */\n  doubleSided: false,\n  /**\n   * Potential future feature.\n   */\n  // steps: 100,\n  /**\n   * Number of decimal places the plugin should go to for floating point precision.\n   * @option\n   * @type {number}\n   * @default 2\n   */\n  decimal: 2,\n  /**\n   * Time delay for dragged elements.\n   */\n  // dragDelay: 0,\n  /**\n   * Time, in ms, to animate the movement of a slider handle if user clicks/taps on the bar. Needs to be manually set if updating the transition time in the Sass settings.\n   * @option\n   * @type {number}\n   * @default 200\n   */\n  moveTime: 200,//update this if changing the transition time in the sass\n  /**\n   * Class applied to disabled sliders.\n   * @option\n   * @type {string}\n   * @default 'disabled'\n   */\n  disabledClass: 'disabled',\n  /**\n   * Will invert the default layout for a vertical<span data-tooltip title=\"who would do this???\"> </span>slider.\n   * @option\n   * @type {boolean}\n   * @default false\n   */\n  invertVertical: false,\n  /**\n   * Milliseconds before the `changed.zf-slider` event is triggered after value change.\n   * @option\n   * @type {number}\n   * @default 500\n   */\n  changedDelay: 500,\n  /**\n  * Basevalue for non-linear sliders\n  * @option\n  * @type {number}\n  * @default 5\n  */\n  nonLinearBase: 5,\n  /**\n  * Basevalue for non-linear sliders, possible values are: `'linear'`, `'pow'` & `'log'`. Pow and Log use the nonLinearBase setting.\n  * @option\n  * @type {string}\n  * @default 'linear'\n  */\n  positionValueFunction: 'linear',\n};\n\nfunction percent(frac, num) {\n  return (frac / num);\n}\nfunction absPosition($handle, dir, clickPos, param) {\n  return Math.abs(($handle.position()[dir] + ($handle[param]() / 2)) - clickPos);\n}\nfunction baseLog(base, value) {\n  return Math.log(value)/Math.log(base)\n}\n\nexport {Slider};\n"],"names":["this"],"mappings":"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","sourceRoot":"/Users/dev/Sites/belavistasaude/wp-content/themes/belavistasaude"}]}