1 |
- {"version":3,"sources":["webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/universalModuleDefinition","webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/bootstrap","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.keyboard\"],\"amd\":\"./foundation.util.keyboard\",\"commonjs\":\"./foundation.util.keyboard\",\"commonjs2\":\"./foundation.util.keyboard\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.motion\"],\"amd\":\"./foundation.util.motion\",\"commonjs\":\"./foundation.util.motion\",\"commonjs2\":\"./foundation.util.motion\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.touch\"],\"amd\":\"./foundation.util.touch\",\"commonjs\":\"./foundation.util.touch\",\"commonjs2\":\"./foundation.util.touch\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/entries/plugins/foundation.slider.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.slider.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.util.triggers.js","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}"],"names":["Foundation","plugin","Slider","element","options","$element","$","extend","defaults","data","className","Touch","init","Triggers","_init","Keyboard","register","inputs","find","handles","$handle","eq","$input","length","attr","$fill","css","vertical","_this","disabled","hasClass","disabledClass","addClass","add","binding","_setInitAttr","doubleSided","$handle2","$input2","setHandles","_events","_setHandlePos","val","value","pctOfBar","percent","start","end","positionValueFunction","_logTransform","_powTransform","toFixed","parseFloat","baseLog","nonLinearBase","Math","pow","$hndl","location","cb","isDbl","index","h2Val","step","h1Val","vert","hOrW","lOrT","handleDim","getBoundingClientRect","elemDim","_pctOfBar","pxToMove","movement","decimal","_setValues","isLeftHndl","dim","handlePct","style","handlePos","isNaN","initialStart","one","trigger","moveTime","Move","clearTimeout","timeout","setTimeout","changedDelay","idx","initVal","initialEnd","id","GetYoDigits","e","hasVal","preventDefault","param","direction","eventOffset","pageY","pageX","barDim","windowScroll","window","scrollTop","scrollLeft","elemOffset","offset","clientY","eventFromBar","barXY","offsetPct","_value","Rtl","_adjustValue","firstHndlPos","absPosition","secndHndlPos","div","left","prev_val","next_val","_eventsForHandle","curHandle","handleChangeEvent","_handleEvent","off","on","keyCode","call","clickSelect","target","is","draggable","addTouch","$body","currentTarget","removeClass","_$handle","oldValue","newValue","handleKey","decrease","increase","decrease_fast","increase_fast","min","max","handled","Plugin","invertVertical","frac","num","dir","clickPos","abs","position","base","log","MutationObserver","prefixes","i","triggers","el","type","split","forEach","Listeners","Basic","Global","Initializers","openListener","closeListener","toggleListener","closeableListener","animation","stopPropagation","Motion","animateOut","fadeOut","toggleFocusListener","triggerHandler","addOpenListener","$elem","addCloseListener","addToggleListener","addCloseableListener","addToggleFocusListener","resizeListener","$nodes","each","scrollListener","closeMeListener","pluginId","namespace","plugins","not","addClosemeListener","pluginName","yetiBoxes","plugNames","push","concat","console","error","listeners","map","name","join","debounceGlobalListener","debounce","listener","timer","args","Array","prototype","slice","arguments","apply","addResizeListener","addScrollListener","addMutationEventsListener","listeningElementsMutation","mutationRecordsList","$target","attributeName","pageYOffset","closest","elementObserver","observe","attributes","childList","characterData","subtree","attributeFilter","addSimpleListeners","$document","document","addGlobalListeners","onLoad","triggersInitialized","IHearYou"],"mappings":"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","file":"foundation.slider.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"./foundation.util.keyboard\"), require(\"./foundation.util.motion\"), require(\"./foundation.util.touch\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"./foundation.util.keyboard\", \"./foundation.util.motion\", \"./foundation.util.touch\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.slider\"] = factory(require(\"./foundation.core\"), require(\"./foundation.util.keyboard\"), require(\"./foundation.util.motion\"), require(\"./foundation.util.touch\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.slider\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.keyboard\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.motion\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.touch\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__, __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__, __WEBPACK_EXTERNAL_MODULE__foundation_util_touch__, __WEBPACK_EXTERNAL_MODULE_jquery__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 15);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_touch__;","import { Foundation } from './foundation.core';\n\nimport { Slider } from '../../foundation.slider';\nFoundation.plugin(Slider, 'Slider');\n\nexport { Foundation, Slider };\n","'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.core.utils';\n\nimport { Plugin } from './foundation.core.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 _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\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(), () => {\n this._setHandlePos(this.$handle2, this.inputs.eq(1).val());\n });\n } else {\n this._setHandlePos(this.$handle, this.inputs.eq(0).val());\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\n var value\n if (this.options.vertical) {\n // linear interpolation which is working with negative values for start\n // https://math.stackexchange.com/a/1019084\n value = parseFloat(this.options.end) + pctOfBar * (this.options.start - this.options.end)\n } else {\n value = (this.options.end - this.options.start) * pctOfBar + parseFloat(this.options.start);\n }\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, 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 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 barDim = this.$element[0].getBoundingClientRect()[param],\n windowScroll = vertical ? $(window).scrollTop() : $(window).scrollLeft();\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);\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 if (val >= 0) {\n left = val % step;\n } else {\n left = step + (val % step);\n }\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\n const handleChangeEvent = function(e) {\n const idx = _this.inputs.index($(this));\n _this._handleEvent(e, _this.handles.eq(idx), $(this).val());\n };\n\n // IE only triggers the change event when the input loses focus which strictly follows the HTML specification\n // listen for the enter key and trigger a change\n // @see https://html.spec.whatwg.org/multipage/input.html#common-input-element-events\n this.inputs.off('keyup.zf.slider').on('keyup.zf.slider', function (e) {\n if(e.keyCode == 13) handleChangeEvent.call(this, e);\n });\n\n this.inputs.off('change.zf.slider').on('change.zf.slider', handleChangeEvent);\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);\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","'use strict';\n\nimport $ from 'jquery';\nimport { onLoad } from './foundation.core.utils';\nimport { Motion } from './foundation.util.motion';\n\nconst MutationObserver = (function () {\n var prefixes = ['WebKit', 'Moz', 'O', 'Ms', ''];\n for (var i=0; i < prefixes.length; i++) {\n if (`${prefixes[i]}MutationObserver` in window) {\n return window[`${prefixes[i]}MutationObserver`];\n }\n }\n return false;\n}());\n\nconst triggers = (el, type) => {\n el.data(type).split(' ').forEach(id => {\n $(`#${id}`)[ type === 'close' ? 'trigger' : 'triggerHandler'](`${type}.zf.trigger`, [el]);\n });\n};\n\nvar Triggers = {\n Listeners: {\n Basic: {},\n Global: {}\n },\n Initializers: {}\n}\n\nTriggers.Listeners.Basic = {\n openListener: function() {\n triggers($(this), 'open');\n },\n closeListener: function() {\n let id = $(this).data('close');\n if (id) {\n triggers($(this), 'close');\n }\n else {\n $(this).trigger('close.zf.trigger');\n }\n },\n toggleListener: function() {\n let id = $(this).data('toggle');\n if (id) {\n triggers($(this), 'toggle');\n } else {\n $(this).trigger('toggle.zf.trigger');\n }\n },\n closeableListener: function(e) {\n let animation = $(this).data('closable');\n\n // Only close the first closable element. See https://git.io/zf-7833\n e.stopPropagation();\n\n if(animation !== ''){\n Motion.animateOut($(this), animation, function() {\n $(this).trigger('closed.zf');\n });\n }else{\n $(this).fadeOut().trigger('closed.zf');\n }\n },\n toggleFocusListener: function() {\n let id = $(this).data('toggle-focus');\n $(`#${id}`).triggerHandler('toggle.zf.trigger', [$(this)]);\n }\n};\n\n// Elements with [data-open] will reveal a plugin that supports it when clicked.\nTriggers.Initializers.addOpenListener = ($elem) => {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.openListener);\n $elem.on('click.zf.trigger', '[data-open]', Triggers.Listeners.Basic.openListener);\n}\n\n// Elements with [data-close] will close a plugin that supports it when clicked.\n// If used without a value on [data-close], the event will bubble, allowing it to close a parent component.\nTriggers.Initializers.addCloseListener = ($elem) => {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.closeListener);\n $elem.on('click.zf.trigger', '[data-close]', Triggers.Listeners.Basic.closeListener);\n}\n\n// Elements with [data-toggle] will toggle a plugin that supports it when clicked.\nTriggers.Initializers.addToggleListener = ($elem) => {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.toggleListener);\n $elem.on('click.zf.trigger', '[data-toggle]', Triggers.Listeners.Basic.toggleListener);\n}\n\n// Elements with [data-closable] will respond to close.zf.trigger events.\nTriggers.Initializers.addCloseableListener = ($elem) => {\n $elem.off('close.zf.trigger', Triggers.Listeners.Basic.closeableListener);\n $elem.on('close.zf.trigger', '[data-closeable], [data-closable]', Triggers.Listeners.Basic.closeableListener);\n}\n\n// Elements with [data-toggle-focus] will respond to coming in and out of focus\nTriggers.Initializers.addToggleFocusListener = ($elem) => {\n $elem.off('focus.zf.trigger blur.zf.trigger', Triggers.Listeners.Basic.toggleFocusListener);\n $elem.on('focus.zf.trigger blur.zf.trigger', '[data-toggle-focus]', Triggers.Listeners.Basic.toggleFocusListener);\n}\n\n\n\n// More Global/complex listeners and triggers\nTriggers.Listeners.Global = {\n resizeListener: function($nodes) {\n if(!MutationObserver){//fallback for IE 9\n $nodes.each(function(){\n $(this).triggerHandler('resizeme.zf.trigger');\n });\n }\n //trigger all listening elements and signal a resize event\n $nodes.attr('data-events', \"resize\");\n },\n scrollListener: function($nodes) {\n if(!MutationObserver){//fallback for IE 9\n $nodes.each(function(){\n $(this).triggerHandler('scrollme.zf.trigger');\n });\n }\n //trigger all listening elements and signal a scroll event\n $nodes.attr('data-events', \"scroll\");\n },\n closeMeListener: function(e, pluginId){\n let plugin = e.namespace.split('.')[0];\n let plugins = $(`[data-${plugin}]`).not(`[data-yeti-box=\"${pluginId}\"]`);\n\n plugins.each(function(){\n let _this = $(this);\n _this.triggerHandler('close.zf.trigger', [_this]);\n });\n }\n}\n\n// Global, parses whole document.\nTriggers.Initializers.addClosemeListener = function(pluginName) {\n var yetiBoxes = $('[data-yeti-box]'),\n plugNames = ['dropdown', 'tooltip', 'reveal'];\n\n if(pluginName){\n if(typeof pluginName === 'string'){\n plugNames.push(pluginName);\n }else if(typeof pluginName === 'object' && typeof pluginName[0] === 'string'){\n plugNames = plugNames.concat(pluginName);\n }else{\n console.error('Plugin names must be strings');\n }\n }\n if(yetiBoxes.length){\n let listeners = plugNames.map((name) => {\n return `closeme.zf.${name}`;\n }).join(' ');\n\n $(window).off(listeners).on(listeners, Triggers.Listeners.Global.closeMeListener);\n }\n}\n\nfunction debounceGlobalListener(debounce, trigger, listener) {\n let timer, args = Array.prototype.slice.call(arguments, 3);\n $(window).off(trigger).on(trigger, function(e) {\n if (timer) { clearTimeout(timer); }\n timer = setTimeout(function(){\n listener.apply(null, args);\n }, debounce || 10);//default time to emit scroll event\n });\n}\n\nTriggers.Initializers.addResizeListener = function(debounce){\n let $nodes = $('[data-resize]');\n if($nodes.length){\n debounceGlobalListener(debounce, 'resize.zf.trigger', Triggers.Listeners.Global.resizeListener, $nodes);\n }\n}\n\nTriggers.Initializers.addScrollListener = function(debounce){\n let $nodes = $('[data-scroll]');\n if($nodes.length){\n debounceGlobalListener(debounce, 'scroll.zf.trigger', Triggers.Listeners.Global.scrollListener, $nodes);\n }\n}\n\nTriggers.Initializers.addMutationEventsListener = function($elem) {\n if(!MutationObserver){ return false; }\n let $nodes = $elem.find('[data-resize], [data-scroll], [data-mutate]');\n\n //element callback\n var listeningElementsMutation = function (mutationRecordsList) {\n var $target = $(mutationRecordsList[0].target);\n\n //trigger the event handler for the element depending on type\n switch (mutationRecordsList[0].type) {\n case \"attributes\":\n if ($target.attr(\"data-events\") === \"scroll\" && mutationRecordsList[0].attributeName === \"data-events\") {\n $target.triggerHandler('scrollme.zf.trigger', [$target, window.pageYOffset]);\n }\n if ($target.attr(\"data-events\") === \"resize\" && mutationRecordsList[0].attributeName === \"data-events\") {\n $target.triggerHandler('resizeme.zf.trigger', [$target]);\n }\n if (mutationRecordsList[0].attributeName === \"style\") {\n $target.closest(\"[data-mutate]\").attr(\"data-events\",\"mutate\");\n $target.closest(\"[data-mutate]\").triggerHandler('mutateme.zf.trigger', [$target.closest(\"[data-mutate]\")]);\n }\n break;\n\n case \"childList\":\n $target.closest(\"[data-mutate]\").attr(\"data-events\",\"mutate\");\n $target.closest(\"[data-mutate]\").triggerHandler('mutateme.zf.trigger', [$target.closest(\"[data-mutate]\")]);\n break;\n\n default:\n return false;\n //nothing\n }\n };\n\n if ($nodes.length) {\n //for each element that needs to listen for resizing, scrolling, or mutation add a single observer\n for (var i = 0; i <= $nodes.length - 1; i++) {\n var elementObserver = new MutationObserver(listeningElementsMutation);\n elementObserver.observe($nodes[i], { attributes: true, childList: true, characterData: false, subtree: true, attributeFilter: [\"data-events\", \"style\"] });\n }\n }\n}\n\nTriggers.Initializers.addSimpleListeners = function() {\n let $document = $(document);\n\n Triggers.Initializers.addOpenListener($document);\n Triggers.Initializers.addCloseListener($document);\n Triggers.Initializers.addToggleListener($document);\n Triggers.Initializers.addCloseableListener($document);\n Triggers.Initializers.addToggleFocusListener($document);\n\n}\n\nTriggers.Initializers.addGlobalListeners = function() {\n let $document = $(document);\n Triggers.Initializers.addMutationEventsListener($document);\n Triggers.Initializers.addResizeListener();\n Triggers.Initializers.addScrollListener();\n Triggers.Initializers.addClosemeListener();\n}\n\n\nTriggers.init = function ($, Foundation) {\n onLoad($(window), function () {\n if ($.triggersInitialized !== true) {\n Triggers.Initializers.addSimpleListeners();\n Triggers.Initializers.addGlobalListeners();\n $.triggersInitialized = true;\n }\n });\n\n if(Foundation) {\n Foundation.Triggers = Triggers;\n // Legacy included to be backwards compatible for now.\n Foundation.IHearYou = Triggers.Initializers.addGlobalListeners\n }\n}\n\nexport {Triggers};\n","module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;"],"sourceRoot":""}
|