foundation-rails 6.5.3.0 → 6.6.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (164) hide show
  1. checksums.yaml +5 -5
  2. data/Gemfile.lock +100 -86
  3. data/bower.json +2 -2
  4. data/foundation-rails.gemspec +5 -5
  5. data/lib/foundation/rails/version.rb +1 -1
  6. data/lib/generators/foundation/templates/_settings.scss +37 -11
  7. data/vendor/assets/js/foundation.cjs.js +1060 -370
  8. data/vendor/assets/js/foundation.cjs.js.map +1 -1
  9. data/vendor/assets/js/foundation.es6.js +926 -326
  10. data/vendor/assets/js/foundation.es6.js.map +1 -1
  11. data/vendor/assets/js/foundation.esm.js +1048 -358
  12. data/vendor/assets/js/foundation.esm.js.map +1 -1
  13. data/vendor/assets/js/foundation.js +1063 -393
  14. data/vendor/assets/js/foundation.js.map +1 -1
  15. data/vendor/assets/js/foundation.min.js +1 -1
  16. data/vendor/assets/js/foundation.min.js.map +1 -1
  17. data/vendor/assets/js/plugins/foundation.abide.js +201 -11
  18. data/vendor/assets/js/plugins/foundation.abide.js.map +1 -1
  19. data/vendor/assets/js/plugins/foundation.abide.min.js +1 -1
  20. data/vendor/assets/js/plugins/foundation.abide.min.js.map +1 -1
  21. data/vendor/assets/js/plugins/foundation.accordion.js +22 -19
  22. data/vendor/assets/js/plugins/foundation.accordion.js.map +1 -1
  23. data/vendor/assets/js/plugins/foundation.accordion.min.js +1 -1
  24. data/vendor/assets/js/plugins/foundation.accordion.min.js.map +1 -1
  25. data/vendor/assets/js/plugins/foundation.accordionMenu.js +2 -4
  26. data/vendor/assets/js/plugins/foundation.accordionMenu.js.map +1 -1
  27. data/vendor/assets/js/plugins/foundation.accordionMenu.min.js +1 -1
  28. data/vendor/assets/js/plugins/foundation.accordionMenu.min.js.map +1 -1
  29. data/vendor/assets/js/plugins/foundation.core.js +140 -28
  30. data/vendor/assets/js/plugins/foundation.core.js.map +1 -1
  31. data/vendor/assets/js/plugins/foundation.core.min.js +1 -1
  32. data/vendor/assets/js/plugins/foundation.core.min.js.map +1 -1
  33. data/vendor/assets/js/plugins/foundation.drilldown.js +29 -19
  34. data/vendor/assets/js/plugins/foundation.drilldown.js.map +1 -1
  35. data/vendor/assets/js/plugins/foundation.drilldown.min.js +1 -1
  36. data/vendor/assets/js/plugins/foundation.drilldown.min.js.map +1 -1
  37. data/vendor/assets/js/plugins/foundation.dropdown.js +30 -13
  38. data/vendor/assets/js/plugins/foundation.dropdown.js.map +1 -1
  39. data/vendor/assets/js/plugins/foundation.dropdown.min.js +1 -1
  40. data/vendor/assets/js/plugins/foundation.dropdown.min.js.map +1 -1
  41. data/vendor/assets/js/plugins/foundation.dropdownMenu.js +67 -38
  42. data/vendor/assets/js/plugins/foundation.dropdownMenu.js.map +1 -1
  43. data/vendor/assets/js/plugins/foundation.dropdownMenu.min.js +1 -1
  44. data/vendor/assets/js/plugins/foundation.dropdownMenu.min.js.map +1 -1
  45. data/vendor/assets/js/plugins/foundation.equalizer.js +1 -1
  46. data/vendor/assets/js/plugins/foundation.equalizer.min.js +1 -1
  47. data/vendor/assets/js/plugins/foundation.equalizer.min.js.map +1 -1
  48. data/vendor/assets/js/plugins/foundation.interchange.js +48 -13
  49. data/vendor/assets/js/plugins/foundation.interchange.js.map +1 -1
  50. data/vendor/assets/js/plugins/foundation.interchange.min.js +1 -1
  51. data/vendor/assets/js/plugins/foundation.interchange.min.js.map +1 -1
  52. data/vendor/assets/js/plugins/foundation.magellan.js +340 -12
  53. data/vendor/assets/js/plugins/foundation.magellan.js.map +1 -1
  54. data/vendor/assets/js/plugins/foundation.magellan.min.js +1 -1
  55. data/vendor/assets/js/plugins/foundation.magellan.min.js.map +1 -1
  56. data/vendor/assets/js/plugins/foundation.offcanvas.js +234 -56
  57. data/vendor/assets/js/plugins/foundation.offcanvas.js.map +1 -1
  58. data/vendor/assets/js/plugins/foundation.offcanvas.min.js +1 -1
  59. data/vendor/assets/js/plugins/foundation.offcanvas.min.js.map +1 -1
  60. data/vendor/assets/js/plugins/foundation.orbit.js +31 -4
  61. data/vendor/assets/js/plugins/foundation.orbit.js.map +1 -1
  62. data/vendor/assets/js/plugins/foundation.orbit.min.js +1 -1
  63. data/vendor/assets/js/plugins/foundation.orbit.min.js.map +1 -1
  64. data/vendor/assets/js/plugins/foundation.responsiveAccordionTabs.js +91 -18
  65. data/vendor/assets/js/plugins/foundation.responsiveAccordionTabs.js.map +1 -1
  66. data/vendor/assets/js/plugins/foundation.responsiveAccordionTabs.min.js +1 -1
  67. data/vendor/assets/js/plugins/foundation.responsiveAccordionTabs.min.js.map +1 -1
  68. data/vendor/assets/js/plugins/foundation.responsiveMenu.js +1 -1
  69. data/vendor/assets/js/plugins/foundation.responsiveMenu.min.js +1 -1
  70. data/vendor/assets/js/plugins/foundation.responsiveMenu.min.js.map +1 -1
  71. data/vendor/assets/js/plugins/foundation.responsiveToggle.js +1 -1
  72. data/vendor/assets/js/plugins/foundation.responsiveToggle.min.js +1 -1
  73. data/vendor/assets/js/plugins/foundation.responsiveToggle.min.js.map +1 -1
  74. data/vendor/assets/js/plugins/foundation.reveal.js +19 -12
  75. data/vendor/assets/js/plugins/foundation.reveal.js.map +1 -1
  76. data/vendor/assets/js/plugins/foundation.reveal.min.js +1 -1
  77. data/vendor/assets/js/plugins/foundation.reveal.min.js.map +1 -1
  78. data/vendor/assets/js/plugins/foundation.slider.js +20 -15
  79. data/vendor/assets/js/plugins/foundation.slider.js.map +1 -1
  80. data/vendor/assets/js/plugins/foundation.slider.min.js +1 -1
  81. data/vendor/assets/js/plugins/foundation.slider.min.js.map +1 -1
  82. data/vendor/assets/js/plugins/foundation.smoothScroll.js +2 -2
  83. data/vendor/assets/js/plugins/foundation.smoothScroll.js.map +1 -1
  84. data/vendor/assets/js/plugins/foundation.smoothScroll.min.js +1 -1
  85. data/vendor/assets/js/plugins/foundation.smoothScroll.min.js.map +1 -1
  86. data/vendor/assets/js/plugins/foundation.sticky.js +26 -18
  87. data/vendor/assets/js/plugins/foundation.sticky.js.map +1 -1
  88. data/vendor/assets/js/plugins/foundation.sticky.min.js +1 -1
  89. data/vendor/assets/js/plugins/foundation.sticky.min.js.map +1 -1
  90. data/vendor/assets/js/plugins/foundation.tabs.js +24 -21
  91. data/vendor/assets/js/plugins/foundation.tabs.js.map +1 -1
  92. data/vendor/assets/js/plugins/foundation.tabs.min.js +1 -1
  93. data/vendor/assets/js/plugins/foundation.tabs.min.js.map +1 -1
  94. data/vendor/assets/js/plugins/foundation.toggler.js +24 -9
  95. data/vendor/assets/js/plugins/foundation.toggler.js.map +1 -1
  96. data/vendor/assets/js/plugins/foundation.toggler.min.js +1 -1
  97. data/vendor/assets/js/plugins/foundation.toggler.min.js.map +1 -1
  98. data/vendor/assets/js/plugins/foundation.tooltip.js +31 -18
  99. data/vendor/assets/js/plugins/foundation.tooltip.js.map +1 -1
  100. data/vendor/assets/js/plugins/foundation.tooltip.min.js +1 -1
  101. data/vendor/assets/js/plugins/foundation.tooltip.min.js.map +1 -1
  102. data/vendor/assets/js/plugins/foundation.util.box.js +1 -59
  103. data/vendor/assets/js/plugins/foundation.util.box.js.map +1 -1
  104. data/vendor/assets/js/plugins/foundation.util.box.min.js +1 -1
  105. data/vendor/assets/js/plugins/foundation.util.box.min.js.map +1 -1
  106. data/vendor/assets/js/plugins/foundation.util.imageLoader.js +1 -1
  107. data/vendor/assets/js/plugins/foundation.util.imageLoader.min.js +1 -1
  108. data/vendor/assets/js/plugins/foundation.util.imageLoader.min.js.map +1 -1
  109. data/vendor/assets/js/plugins/foundation.util.keyboard.js +9 -8
  110. data/vendor/assets/js/plugins/foundation.util.keyboard.js.map +1 -1
  111. data/vendor/assets/js/plugins/foundation.util.keyboard.min.js +1 -1
  112. data/vendor/assets/js/plugins/foundation.util.keyboard.min.js.map +1 -1
  113. data/vendor/assets/js/plugins/foundation.util.mediaQuery.js +121 -17
  114. data/vendor/assets/js/plugins/foundation.util.mediaQuery.js.map +1 -1
  115. data/vendor/assets/js/plugins/foundation.util.mediaQuery.min.js +1 -1
  116. data/vendor/assets/js/plugins/foundation.util.mediaQuery.min.js.map +1 -1
  117. data/vendor/assets/js/plugins/foundation.util.motion.js +1 -2
  118. data/vendor/assets/js/plugins/foundation.util.motion.js.map +1 -1
  119. data/vendor/assets/js/plugins/foundation.util.motion.min.js +1 -1
  120. data/vendor/assets/js/plugins/foundation.util.motion.min.js.map +1 -1
  121. data/vendor/assets/js/plugins/foundation.util.nest.js +1 -1
  122. data/vendor/assets/js/plugins/foundation.util.nest.min.js +1 -1
  123. data/vendor/assets/js/plugins/foundation.util.nest.min.js.map +1 -1
  124. data/vendor/assets/js/plugins/foundation.util.timer.js +1 -1
  125. data/vendor/assets/js/plugins/foundation.util.timer.min.js +1 -1
  126. data/vendor/assets/js/plugins/foundation.util.timer.min.js.map +1 -1
  127. data/vendor/assets/js/plugins/foundation.util.touch.js +2 -2
  128. data/vendor/assets/js/plugins/foundation.util.touch.js.map +1 -1
  129. data/vendor/assets/js/plugins/foundation.util.touch.min.js +1 -1
  130. data/vendor/assets/js/plugins/foundation.util.touch.min.js.map +1 -1
  131. data/vendor/assets/js/plugins/foundation.util.triggers.js +3 -2
  132. data/vendor/assets/js/plugins/foundation.util.triggers.js.map +1 -1
  133. data/vendor/assets/js/plugins/foundation.util.triggers.min.js +1 -1
  134. data/vendor/assets/js/plugins/foundation.util.triggers.min.js.map +1 -1
  135. data/vendor/assets/scss/components/_accordion.scss +10 -2
  136. data/vendor/assets/scss/components/_button-group.scss +37 -10
  137. data/vendor/assets/scss/components/_button.scss +119 -104
  138. data/vendor/assets/scss/components/_callout.scss +12 -10
  139. data/vendor/assets/scss/components/_close-button.scss +28 -3
  140. data/vendor/assets/scss/components/_menu.scss +5 -1
  141. data/vendor/assets/scss/components/_off-canvas.scss +6 -1
  142. data/vendor/assets/scss/components/_pagination.scss +10 -2
  143. data/vendor/assets/scss/components/_switch.scss +14 -0
  144. data/vendor/assets/scss/components/_table.scss +1 -0
  145. data/vendor/assets/scss/forms/_select.scss +4 -0
  146. data/vendor/assets/scss/foundation.scss +8 -3
  147. data/vendor/assets/scss/grid/_classes.scss +25 -12
  148. data/vendor/assets/scss/grid/_column.scss +1 -31
  149. data/vendor/assets/scss/prototype/_rounded.scss +6 -2
  150. data/vendor/assets/scss/prototype/_spacing.scss +7 -5
  151. data/vendor/assets/scss/settings/_settings.scss +37 -11
  152. data/vendor/assets/scss/typography/_base.scss +16 -51
  153. data/vendor/assets/scss/typography/_helpers.scss +100 -0
  154. data/vendor/assets/scss/typography/_print.scss +8 -2
  155. data/vendor/assets/scss/util/_breakpoint.scss +172 -97
  156. data/vendor/assets/scss/util/_math.scss +75 -0
  157. data/vendor/assets/scss/util/_mixins.scss +81 -25
  158. data/vendor/assets/scss/util/_value.scss +40 -0
  159. data/vendor/assets/scss/xy-grid/_cell.scss +186 -99
  160. data/vendor/assets/scss/xy-grid/_classes.scss +26 -29
  161. data/vendor/assets/scss/xy-grid/_collapse.scss +2 -2
  162. data/vendor/assets/scss/xy-grid/_layout.scss +10 -8
  163. data/vendor/assets/scss/xy-grid/_position.scss +32 -9
  164. metadata +8 -9
@@ -1 +1 @@
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","isDbl","_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","noInvert","cb","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","halfOfHandle","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","timer","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","stopPropagation","animation","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","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 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 + parseFloat(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 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 timer;\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, 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","'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 e.stopPropagation();\n let animation = $(this).data('closable');\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":""}
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","isDbl","_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","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","halfOfHandle","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","timer","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","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 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(), () => {\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 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);\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 timer;\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":""}
@@ -1,2 +1,2 @@
1
- !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("./foundation.core"),require("./foundation.util.keyboard"),require("./foundation.util.motion"),require("./foundation.util.touch"),require("jquery")):"function"==typeof define&&define.amd?define(["./foundation.core","./foundation.util.keyboard","./foundation.util.motion","./foundation.util.touch","jquery"],e):"object"==typeof exports?exports["foundation.slider"]=e(require("./foundation.core"),require("./foundation.util.keyboard"),require("./foundation.util.motion"),require("./foundation.util.touch"),require("jquery")):(t.__FOUNDATION_EXTERNAL__=t.__FOUNDATION_EXTERNAL__||{},t.__FOUNDATION_EXTERNAL__["foundation.slider"]=e(t.__FOUNDATION_EXTERNAL__["foundation.core"],t.__FOUNDATION_EXTERNAL__["foundation.util.keyboard"],t.__FOUNDATION_EXTERNAL__["foundation.util.motion"],t.__FOUNDATION_EXTERNAL__["foundation.util.touch"],t.jQuery))}(window,function(i,n,s,o,r){return function(i){var n={};function s(t){if(n[t])return n[t].exports;var e=n[t]={i:t,l:!1,exports:{}};return i[t].call(e.exports,e,e.exports,s),e.l=!0,e.exports}return s.m=i,s.c=n,s.d=function(t,e,i){s.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},s.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},s.t=function(e,t){if(1&t&&(e=s(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(s.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)s.d(i,n,function(t){return e[t]}.bind(null,n));return i},s.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return s.d(e,"a",e),e},s.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},s.p="",s(s.s=15)}({"./foundation.core":function(t,e){t.exports=i},"./foundation.util.keyboard":function(t,e){t.exports=n},"./foundation.util.motion":function(t,e){t.exports=s},"./foundation.util.touch":function(t,e){t.exports=o},"./js/entries/plugins/foundation.slider.js":function(t,e,i){"use strict";i.r(e);var n=i("./foundation.core");i.d(e,"Foundation",function(){return n.Foundation});var s=i("./js/foundation.slider.js");i.d(e,"Slider",function(){return s.Slider}),n.Foundation.plugin(s.Slider,"Slider")},"./js/foundation.slider.js":function(t,e,i){"use strict";i.r(e),i.d(e,"Slider",function(){return f});var n=i("jquery"),g=i.n(n),r=i("./foundation.util.keyboard"),z=i("./foundation.util.motion"),v=i("./foundation.core"),o=i("./foundation.util.touch"),a=i("./js/foundation.util.triggers.js");function s(t){return(s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function l(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function u(t,e){return!e||"object"!==s(e)&&"function"!=typeof e?function(t){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(t):e}function d(t){return(d=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function c(t,e){return(c=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}var f=function(t){function i(){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,i),u(this,d(i).apply(this,arguments))}var e,n,s;return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&c(t,e)}(i,v["Plugin"]),e=i,(n=[{key:"_setup",value:function(t,e){this.$element=t,this.options=g.a.extend({},i.defaults,this.$element.data(),e),this.className="Slider",o.Touch.init(g.a),a.Triggers.init(g.a),this._init(),r.Keyboard.register("Slider",{ltr:{ARROW_RIGHT:"increase",ARROW_UP:"increase",ARROW_DOWN:"decrease",ARROW_LEFT:"decrease",SHIFT_ARROW_RIGHT:"increase_fast",SHIFT_ARROW_UP:"increase_fast",SHIFT_ARROW_DOWN:"decrease_fast",SHIFT_ARROW_LEFT:"decrease_fast",HOME:"min",END:"max"},rtl:{ARROW_LEFT:"increase",ARROW_RIGHT:"decrease",SHIFT_ARROW_LEFT:"increase_fast",SHIFT_ARROW_RIGHT:"decrease_fast"}})}},{key:"_init",value:function(){this.inputs=this.$element.find("input"),this.handles=this.$element.find("[data-slider-handle]"),this.$handle=this.handles.eq(0),this.$input=this.inputs.length?this.inputs.eq(0):g()("#".concat(this.$handle.attr("aria-controls"))),this.$fill=this.$element.find("[data-slider-fill]").css(this.options.vertical?"height":"width",0);(this.options.disabled||this.$element.hasClass(this.options.disabledClass))&&(this.options.disabled=!0,this.$element.addClass(this.options.disabledClass)),this.inputs.length||(this.inputs=g()().add(this.$input),this.options.binding=!0),this._setInitAttr(0),this.handles[1]&&(this.options.doubleSided=!0,this.$handle2=this.handles.eq(1),this.$input2=1<this.inputs.length?this.inputs.eq(1):g()("#".concat(this.$handle2.attr("aria-controls"))),this.inputs[1]||(this.inputs=this.inputs.add(this.$input2)),!0,this._setInitAttr(1)),this.setHandles(),this._events()}},{key:"setHandles",value:function(){var t=this;this.handles[1]?this._setHandlePos(this.$handle,this.inputs.eq(0).val(),!0,function(){t._setHandlePos(t.$handle2,t.inputs.eq(1).val(),!0)}):this._setHandlePos(this.$handle,this.inputs.eq(0).val(),!0)}},{key:"_reflow",value:function(){this.setHandles()}},{key:"_pctOfBar",value:function(t){var e=L(t-this.options.start,this.options.end-this.options.start);switch(this.options.positionValueFunction){case"pow":e=this._logTransform(e);break;case"log":e=this._powTransform(e)}return e.toFixed(2)}},{key:"_value",value:function(t){switch(this.options.positionValueFunction){case"pow":t=this._powTransform(t);break;case"log":t=this._logTransform(t)}return(this.options.end-this.options.start)*t+parseFloat(this.options.start)}},{key:"_logTransform",value:function(t){return e=this.options.nonLinearBase,i=t*(this.options.nonLinearBase-1)+1,Math.log(i)/Math.log(e);var e,i}},{key:"_powTransform",value:function(t){return(Math.pow(this.options.nonLinearBase,t)-1)/(this.options.nonLinearBase-1)}},{key:"_setHandlePos",value:function(t,e,i,n){if(!this.$element.hasClass(this.options.disabledClass)){(e=parseFloat(e))<this.options.start?e=this.options.start:e>this.options.end&&(e=this.options.end);var s=this.options.doubleSided;if(this.options.vertical&&!i&&(e=this.options.end-e),s)if(0===this.handles.index(t)){var o=parseFloat(this.$handle2.attr("aria-valuenow"));e=o<=e?o-this.options.step:e}else{var r=parseFloat(this.$handle.attr("aria-valuenow"));e=e<=r?r+this.options.step:e}var a=this,l=this.options.vertical,u=l?"height":"width",d=l?"top":"left",c=t[0].getBoundingClientRect()[u],f=this.$element[0].getBoundingClientRect()[u],h=this._pctOfBar(e),p=(100*L((f-c)*h,f)).toFixed(this.options.decimal);e=parseFloat(e.toFixed(this.options.decimal));var g={};if(this._setValues(t,e),s){var v,m=0===this.handles.index(t),b=~~(100*L(c,f));if(m)g[d]="".concat(p,"%"),v=parseFloat(this.$handle2[0].style[d])-p+b,n&&"function"==typeof n&&n();else{var _=parseFloat(this.$handle[0].style[d]);v=p-(isNaN(_)?(this.options.initialStart-this.options.start)/((this.options.end-this.options.start)/100):_)+b}g["min-".concat(u)]="".concat(v,"%")}this.$element.one("finished.zf.animate",function(){a.$element.trigger("moved.zf.slider",[t])});var y=this.$element.data("dragging")?1e3/60:this.options.moveTime;Object(z.Move)(y,t,function(){isNaN(p)?t.css(d,"".concat(100*h,"%")):t.css(d,"".concat(p,"%")),a.options.doubleSided?a.$fill.css(g):a.$fill.css(u,"".concat(100*h,"%"))}),clearTimeout(a.timeout),a.timeout=setTimeout(function(){a.$element.trigger("changed.zf.slider",[t])},a.options.changedDelay)}}},{key:"_setInitAttr",value:function(t){var e=0===t?this.options.initialStart:this.options.initialEnd,i=this.inputs.eq(t).attr("id")||Object(v.GetYoDigits)(6,"slider");this.inputs.eq(t).attr({id:i,max:this.options.end,min:this.options.start,step:this.options.step}),this.inputs.eq(t).val(e),this.handles.eq(t).attr({role:"slider","aria-controls":i,"aria-valuemax":this.options.end,"aria-valuemin":this.options.start,"aria-valuenow":e,"aria-orientation":this.options.vertical?"vertical":"horizontal",tabindex:0})}},{key:"_setValues",value:function(t,e){var i=this.options.doubleSided?this.handles.index(t):0;this.inputs.eq(i).val(e),t.attr("aria-valuenow",e)}},{key:"_handleEvent",value:function(t,e,i){var n,s;if(i)n=this._adjustValue(null,i),s=!0;else{t.preventDefault();var o=this.options.vertical,r=o?"height":"width",a=o?"top":"left",l=o?t.pageY:t.pageX,u=(this.$handle[0].getBoundingClientRect()[r],this.$element[0].getBoundingClientRect()[r]),d=o?g()(window).scrollTop():g()(window).scrollLeft(),c=this.$element.offset()[a];t.clientY===t.pageY&&(l+=d);var f,h=l-c,p=L(f=h<0?0:u<h?u:h,u);if(n=this._value(p),Object(v.rtl)()&&!this.options.vertical&&(n=this.options.end-n),n=this._adjustValue(null,n),s=!1,!e)e=m(this.$handle,a,f,r)<=m(this.$handle2,a,f,r)?this.$handle:this.$handle2}this._setHandlePos(e,n,s)}},{key:"_adjustValue",value:function(t,e){var i,n,s,o=this.options.step,r=parseFloat(o/2);return 0===(n=0<=(i=t?parseFloat(t.attr("aria-valuenow")):e)?i%o:o+i%o)?i:i=(s=i-n)+r<=i?s+o:s}},{key:"_events",value:function(){this._eventsForHandle(this.$handle),this.handles[1]&&this._eventsForHandle(this.$handle2)}},{key:"_eventsForHandle",value:function(e){var i,o=this,n=function(t){var e=o.inputs.index(g()(this));o._handleEvent(t,o.handles.eq(e),g()(this).val())};if(this.inputs.off("keyup.zf.slider").on("keyup.zf.slider",function(t){13==t.keyCode&&n.call(this,t)}),this.inputs.off("change.zf.slider").on("change.zf.slider",n),this.options.clickSelect&&this.$element.off("click.zf.slider").on("click.zf.slider",function(t){if(o.$element.data("dragging"))return!1;g()(t.target).is("[data-slider-handle]")||(o.options.doubleSided?o._handleEvent(t):o._handleEvent(t,o.$handle))}),this.options.draggable){this.handles.addTouch();var s=g()("body");e.off("mousedown.zf.slider").on("mousedown.zf.slider",function(t){e.addClass("is-dragging"),o.$fill.addClass("is-dragging"),o.$element.data("dragging",!0),i=g()(t.currentTarget),s.on("mousemove.zf.slider",function(t){t.preventDefault(),o._handleEvent(t,i)}).on("mouseup.zf.slider",function(t){o._handleEvent(t,i),e.removeClass("is-dragging"),o.$fill.removeClass("is-dragging"),o.$element.data("dragging",!1),s.off("mousemove.zf.slider mouseup.zf.slider")})}).on("selectstart.zf.slider touchmove.zf.slider",function(t){t.preventDefault()})}e.off("keydown.zf.slider").on("keydown.zf.slider",function(t){var e,i=g()(this),n=o.options.doubleSided?o.handles.index(i):0,s=parseFloat(o.inputs.eq(n).val());r.Keyboard.handleKey(t,"Slider",{decrease:function(){e=s-o.options.step},increase:function(){e=s+o.options.step},decrease_fast:function(){e=s-10*o.options.step},increase_fast:function(){e=s+10*o.options.step},min:function(){e=o.options.start},max:function(){e=o.options.end},handled:function(){t.preventDefault(),o._setHandlePos(i,e,!0)}})})}},{key:"_destroy",value:function(){this.handles.off(".zf.slider"),this.inputs.off(".zf.slider"),this.$element.off(".zf.slider"),clearTimeout(this.timeout)}}])&&l(e.prototype,n),s&&l(e,s),i}();function L(t,e){return t/e}function m(t,e,i,n){return Math.abs(t.position()[e]+t[n]()/2-i)}f.defaults={start:0,end:100,step:1,initialStart:0,initialEnd:100,binding:!1,clickSelect:!0,vertical:!1,draggable:!0,disabled:!1,doubleSided:!1,decimal:2,moveTime:200,disabledClass:"disabled",invertVertical:!1,changedDelay:500,nonLinearBase:5,positionValueFunction:"linear"}},"./js/foundation.util.triggers.js":function(t,e,i){"use strict";i.r(e),i.d(e,"Triggers",function(){return d});var n=i("jquery"),o=i.n(n),s=i("./foundation.core"),r=i("./foundation.util.motion");function a(t){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var l=function(){for(var t=["WebKit","Moz","O","Ms",""],e=0;e<t.length;e++)if("".concat(t[e],"MutationObserver")in window)return window["".concat(t[e],"MutationObserver")];return!1}(),u=function(e,i){e.data(i).split(" ").forEach(function(t){o()("#".concat(t))["close"===i?"trigger":"triggerHandler"]("".concat(i,".zf.trigger"),[e])})},d={Listeners:{Basic:{},Global:{}},Initializers:{}};function c(e,t,i){var n,s=Array.prototype.slice.call(arguments,3);o()(window).off(t).on(t,function(t){n&&clearTimeout(n),n=setTimeout(function(){i.apply(null,s)},e||10)})}d.Listeners.Basic={openListener:function(){u(o()(this),"open")},closeListener:function(){o()(this).data("close")?u(o()(this),"close"):o()(this).trigger("close.zf.trigger")},toggleListener:function(){o()(this).data("toggle")?u(o()(this),"toggle"):o()(this).trigger("toggle.zf.trigger")},closeableListener:function(t){t.stopPropagation();var e=o()(this).data("closable");""!==e?r.Motion.animateOut(o()(this),e,function(){o()(this).trigger("closed.zf")}):o()(this).fadeOut().trigger("closed.zf")},toggleFocusListener:function(){var t=o()(this).data("toggle-focus");o()("#".concat(t)).triggerHandler("toggle.zf.trigger",[o()(this)])}},d.Initializers.addOpenListener=function(t){t.off("click.zf.trigger",d.Listeners.Basic.openListener),t.on("click.zf.trigger","[data-open]",d.Listeners.Basic.openListener)},d.Initializers.addCloseListener=function(t){t.off("click.zf.trigger",d.Listeners.Basic.closeListener),t.on("click.zf.trigger","[data-close]",d.Listeners.Basic.closeListener)},d.Initializers.addToggleListener=function(t){t.off("click.zf.trigger",d.Listeners.Basic.toggleListener),t.on("click.zf.trigger","[data-toggle]",d.Listeners.Basic.toggleListener)},d.Initializers.addCloseableListener=function(t){t.off("close.zf.trigger",d.Listeners.Basic.closeableListener),t.on("close.zf.trigger","[data-closeable], [data-closable]",d.Listeners.Basic.closeableListener)},d.Initializers.addToggleFocusListener=function(t){t.off("focus.zf.trigger blur.zf.trigger",d.Listeners.Basic.toggleFocusListener),t.on("focus.zf.trigger blur.zf.trigger","[data-toggle-focus]",d.Listeners.Basic.toggleFocusListener)},d.Listeners.Global={resizeListener:function(t){l||t.each(function(){o()(this).triggerHandler("resizeme.zf.trigger")}),t.attr("data-events","resize")},scrollListener:function(t){l||t.each(function(){o()(this).triggerHandler("scrollme.zf.trigger")}),t.attr("data-events","scroll")},closeMeListener:function(t,e){var i=t.namespace.split(".")[0];o()("[data-".concat(i,"]")).not('[data-yeti-box="'.concat(e,'"]')).each(function(){var t=o()(this);t.triggerHandler("close.zf.trigger",[t])})}},d.Initializers.addClosemeListener=function(t){var e=o()("[data-yeti-box]"),i=["dropdown","tooltip","reveal"];if(t&&("string"==typeof t?i.push(t):"object"===a(t)&&"string"==typeof t[0]?i=i.concat(t):console.error("Plugin names must be strings")),e.length){var n=i.map(function(t){return"closeme.zf.".concat(t)}).join(" ");o()(window).off(n).on(n,d.Listeners.Global.closeMeListener)}},d.Initializers.addResizeListener=function(t){var e=o()("[data-resize]");e.length&&c(t,"resize.zf.trigger",d.Listeners.Global.resizeListener,e)},d.Initializers.addScrollListener=function(t){var e=o()("[data-scroll]");e.length&&c(t,"scroll.zf.trigger",d.Listeners.Global.scrollListener,e)},d.Initializers.addMutationEventsListener=function(t){if(!l)return!1;var e=t.find("[data-resize], [data-scroll], [data-mutate]"),i=function(t){var e=o()(t[0].target);switch(t[0].type){case"attributes":"scroll"===e.attr("data-events")&&"data-events"===t[0].attributeName&&e.triggerHandler("scrollme.zf.trigger",[e,window.pageYOffset]),"resize"===e.attr("data-events")&&"data-events"===t[0].attributeName&&e.triggerHandler("resizeme.zf.trigger",[e]),"style"===t[0].attributeName&&(e.closest("[data-mutate]").attr("data-events","mutate"),e.closest("[data-mutate]").triggerHandler("mutateme.zf.trigger",[e.closest("[data-mutate]")]));break;case"childList":e.closest("[data-mutate]").attr("data-events","mutate"),e.closest("[data-mutate]").triggerHandler("mutateme.zf.trigger",[e.closest("[data-mutate]")]);break;default:return!1}};if(e.length)for(var n=0;n<=e.length-1;n++){new l(i).observe(e[n],{attributes:!0,childList:!0,characterData:!1,subtree:!0,attributeFilter:["data-events","style"]})}},d.Initializers.addSimpleListeners=function(){var t=o()(document);d.Initializers.addOpenListener(t),d.Initializers.addCloseListener(t),d.Initializers.addToggleListener(t),d.Initializers.addCloseableListener(t),d.Initializers.addToggleFocusListener(t)},d.Initializers.addGlobalListeners=function(){var t=o()(document);d.Initializers.addMutationEventsListener(t),d.Initializers.addResizeListener(),d.Initializers.addScrollListener(),d.Initializers.addClosemeListener()},d.init=function(t,e){Object(s.onLoad)(t(window),function(){!0!==t.triggersInitialized&&(d.Initializers.addSimpleListeners(),d.Initializers.addGlobalListeners(),t.triggersInitialized=!0)}),e&&(e.Triggers=d,e.IHearYou=d.Initializers.addGlobalListeners)}},15:function(t,e,i){t.exports=i("./js/entries/plugins/foundation.slider.js")},jquery:function(t,e){t.exports=r}})});
1
+ !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("./foundation.core"),require("./foundation.util.keyboard"),require("./foundation.util.motion"),require("./foundation.util.touch"),require("jquery")):"function"==typeof define&&define.amd?define(["./foundation.core","./foundation.util.keyboard","./foundation.util.motion","./foundation.util.touch","jquery"],e):"object"==typeof exports?exports["foundation.slider"]=e(require("./foundation.core"),require("./foundation.util.keyboard"),require("./foundation.util.motion"),require("./foundation.util.touch"),require("jquery")):(t.__FOUNDATION_EXTERNAL__=t.__FOUNDATION_EXTERNAL__||{},t.__FOUNDATION_EXTERNAL__["foundation.slider"]=e(t.__FOUNDATION_EXTERNAL__["foundation.core"],t.__FOUNDATION_EXTERNAL__["foundation.util.keyboard"],t.__FOUNDATION_EXTERNAL__["foundation.util.motion"],t.__FOUNDATION_EXTERNAL__["foundation.util.touch"],t.jQuery))}(window,function(i,n,s,o,r){return u={},a.m=l={"./foundation.core":function(t,e){t.exports=i},"./foundation.util.keyboard":function(t,e){t.exports=n},"./foundation.util.motion":function(t,e){t.exports=s},"./foundation.util.touch":function(t,e){t.exports=o},"./js/entries/plugins/foundation.slider.js":function(t,e,i){"use strict";i.r(e);var n=i("./foundation.core");i.d(e,"Foundation",function(){return n.Foundation});var s=i("./js/foundation.slider.js");i.d(e,"Slider",function(){return s.Slider}),n.Foundation.plugin(s.Slider,"Slider")},"./js/foundation.slider.js":function(t,e,i){"use strict";i.r(e),i.d(e,"Slider",function(){return f});var n=i("jquery"),p=i.n(n),r=i("./foundation.util.keyboard"),y=i("./foundation.util.motion"),g=i("./foundation.core"),s=i("./foundation.util.touch"),o=i("./js/foundation.util.triggers.js");function a(t){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function l(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function u(t,e){return!e||"object"!==a(e)&&"function"!=typeof e?function(t){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(t):e}function d(t){return(d=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function c(t,e){return(c=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}var f=function(){function i(){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,i),u(this,d(i).apply(this,arguments))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&c(t,e)}(i,g["Plugin"]),function(t,e,i){e&&l(t.prototype,e),i&&l(t,i)}(i,[{key:"_setup",value:function(t,e){this.$element=t,this.options=p.a.extend({},i.defaults,this.$element.data(),e),this.className="Slider",s.Touch.init(p.a),o.Triggers.init(p.a),this._init(),r.Keyboard.register("Slider",{ltr:{ARROW_RIGHT:"increase",ARROW_UP:"increase",ARROW_DOWN:"decrease",ARROW_LEFT:"decrease",SHIFT_ARROW_RIGHT:"increase_fast",SHIFT_ARROW_UP:"increase_fast",SHIFT_ARROW_DOWN:"decrease_fast",SHIFT_ARROW_LEFT:"decrease_fast",HOME:"min",END:"max"},rtl:{ARROW_LEFT:"increase",ARROW_RIGHT:"decrease",SHIFT_ARROW_LEFT:"increase_fast",SHIFT_ARROW_RIGHT:"decrease_fast"}})}},{key:"_init",value:function(){this.inputs=this.$element.find("input"),this.handles=this.$element.find("[data-slider-handle]"),this.$handle=this.handles.eq(0),this.$input=this.inputs.length?this.inputs.eq(0):p()("#".concat(this.$handle.attr("aria-controls"))),this.$fill=this.$element.find("[data-slider-fill]").css(this.options.vertical?"height":"width",0);(this.options.disabled||this.$element.hasClass(this.options.disabledClass))&&(this.options.disabled=!0,this.$element.addClass(this.options.disabledClass)),this.inputs.length||(this.inputs=p()().add(this.$input),this.options.binding=!0),this._setInitAttr(0),this.handles[1]&&(this.options.doubleSided=!0,this.$handle2=this.handles.eq(1),this.$input2=1<this.inputs.length?this.inputs.eq(1):p()("#".concat(this.$handle2.attr("aria-controls"))),this.inputs[1]||(this.inputs=this.inputs.add(this.$input2)),this._setInitAttr(1)),this.setHandles(),this._events()}},{key:"setHandles",value:function(){var t=this;this.handles[1]?this._setHandlePos(this.$handle,this.inputs.eq(0).val(),function(){t._setHandlePos(t.$handle2,t.inputs.eq(1).val())}):this._setHandlePos(this.$handle,this.inputs.eq(0).val())}},{key:"_reflow",value:function(){this.setHandles()}},{key:"_pctOfBar",value:function(t){var e=z(t-this.options.start,this.options.end-this.options.start);switch(this.options.positionValueFunction){case"pow":e=this._logTransform(e);break;case"log":e=this._powTransform(e)}return e.toFixed(2)}},{key:"_value",value:function(t){switch(this.options.positionValueFunction){case"pow":t=this._powTransform(t);break;case"log":t=this._logTransform(t)}return this.options.vertical?parseFloat(this.options.end)+t*(this.options.start-this.options.end):(this.options.end-this.options.start)*t+parseFloat(this.options.start)}},{key:"_logTransform",value:function(t){return function(t,e){return Math.log(e)/Math.log(t)}(this.options.nonLinearBase,t*(this.options.nonLinearBase-1)+1)}},{key:"_powTransform",value:function(t){return(Math.pow(this.options.nonLinearBase,t)-1)/(this.options.nonLinearBase-1)}},{key:"_setHandlePos",value:function(t,e,i){if(!this.$element.hasClass(this.options.disabledClass)){(e=parseFloat(e))<this.options.start?e=this.options.start:e>this.options.end&&(e=this.options.end);var n=this.options.doubleSided;if(n)if(0===this.handles.index(t)){var s=parseFloat(this.$handle2.attr("aria-valuenow"));e=s<=e?s-this.options.step:e}else{var o=parseFloat(this.$handle.attr("aria-valuenow"));e=e<=o?o+this.options.step:e}var r=this,a=this.options.vertical,l=a?"height":"width",u=a?"top":"left",d=t[0].getBoundingClientRect()[l],c=this.$element[0].getBoundingClientRect()[l],f=this._pctOfBar(e),h=(100*z((c-d)*f,c)).toFixed(this.options.decimal);e=parseFloat(e.toFixed(this.options.decimal));var p={};if(this._setValues(t,e),n){var g,v=0===this.handles.index(t),m=~~(100*z(d,c));if(v)p[u]="".concat(h,"%"),g=parseFloat(this.$handle2[0].style[u])-h+m,i&&"function"==typeof i&&i();else{var b=parseFloat(this.$handle[0].style[u]);g=h-(isNaN(b)?(this.options.initialStart-this.options.start)/((this.options.end-this.options.start)/100):b)+m}p["min-".concat(l)]="".concat(g,"%")}this.$element.one("finished.zf.animate",function(){r.$element.trigger("moved.zf.slider",[t])});var _=this.$element.data("dragging")?1e3/60:this.options.moveTime;Object(y.Move)(_,t,function(){isNaN(h)?t.css(u,"".concat(100*f,"%")):t.css(u,"".concat(h,"%")),r.options.doubleSided?r.$fill.css(p):r.$fill.css(l,"".concat(100*f,"%"))}),clearTimeout(r.timeout),r.timeout=setTimeout(function(){r.$element.trigger("changed.zf.slider",[t])},r.options.changedDelay)}}},{key:"_setInitAttr",value:function(t){var e=0===t?this.options.initialStart:this.options.initialEnd,i=this.inputs.eq(t).attr("id")||Object(g.GetYoDigits)(6,"slider");this.inputs.eq(t).attr({id:i,max:this.options.end,min:this.options.start,step:this.options.step}),this.inputs.eq(t).val(e),this.handles.eq(t).attr({role:"slider","aria-controls":i,"aria-valuemax":this.options.end,"aria-valuemin":this.options.start,"aria-valuenow":e,"aria-orientation":this.options.vertical?"vertical":"horizontal",tabindex:0})}},{key:"_setValues",value:function(t,e){var i=this.options.doubleSided?this.handles.index(t):0;this.inputs.eq(i).val(e),t.attr("aria-valuenow",e)}},{key:"_handleEvent",value:function(t,e,i){var n;if(i)n=this._adjustValue(null,i),!0;else{t.preventDefault();var s=this.options.vertical,o=s?"height":"width",r=s?"top":"left",a=s?t.pageY:t.pageX,l=(this.$handle[0].getBoundingClientRect()[o],this.$element[0].getBoundingClientRect()[o]),u=s?p()(window).scrollTop():p()(window).scrollLeft(),d=this.$element.offset()[r];t.clientY===t.pageY&&(a+=u);var c,f=a-d,h=z(c=f<0?0:l<f?l:f,l);if(n=this._value(h),Object(g.rtl)()&&!this.options.vertical&&(n=this.options.end-n),n=this._adjustValue(null,n),!1,!e)e=v(this.$handle,r,c,o)<=v(this.$handle2,r,c,o)?this.$handle:this.$handle2}this._setHandlePos(e,n)}},{key:"_adjustValue",value:function(t,e){var i,n,s,o=this.options.step,r=parseFloat(o/2);return 0===(n=0<=(i=t?parseFloat(t.attr("aria-valuenow")):e)?i%o:o+i%o)?i:i=(s=i-n)+r<=i?s+o:s}},{key:"_events",value:function(){this._eventsForHandle(this.$handle),this.handles[1]&&this._eventsForHandle(this.$handle2)}},{key:"_eventsForHandle",value:function(e){function i(t){var e=o.inputs.index(p()(this));o._handleEvent(t,o.handles.eq(e),p()(this).val())}var n,o=this;if(this.inputs.off("keyup.zf.slider").on("keyup.zf.slider",function(t){13==t.keyCode&&i.call(this,t)}),this.inputs.off("change.zf.slider").on("change.zf.slider",i),this.options.clickSelect&&this.$element.off("click.zf.slider").on("click.zf.slider",function(t){if(o.$element.data("dragging"))return!1;p()(t.target).is("[data-slider-handle]")||(o.options.doubleSided?o._handleEvent(t):o._handleEvent(t,o.$handle))}),this.options.draggable){this.handles.addTouch();var s=p()("body");e.off("mousedown.zf.slider").on("mousedown.zf.slider",function(t){e.addClass("is-dragging"),o.$fill.addClass("is-dragging"),o.$element.data("dragging",!0),n=p()(t.currentTarget),s.on("mousemove.zf.slider",function(t){t.preventDefault(),o._handleEvent(t,n)}).on("mouseup.zf.slider",function(t){o._handleEvent(t,n),e.removeClass("is-dragging"),o.$fill.removeClass("is-dragging"),o.$element.data("dragging",!1),s.off("mousemove.zf.slider mouseup.zf.slider")})}).on("selectstart.zf.slider touchmove.zf.slider",function(t){t.preventDefault()})}e.off("keydown.zf.slider").on("keydown.zf.slider",function(t){var e,i=p()(this),n=o.options.doubleSided?o.handles.index(i):0,s=parseFloat(o.inputs.eq(n).val());r.Keyboard.handleKey(t,"Slider",{decrease:function(){e=s-o.options.step},increase:function(){e=s+o.options.step},decrease_fast:function(){e=s-10*o.options.step},increase_fast:function(){e=s+10*o.options.step},min:function(){e=o.options.start},max:function(){e=o.options.end},handled:function(){t.preventDefault(),o._setHandlePos(i,e)}})})}},{key:"_destroy",value:function(){this.handles.off(".zf.slider"),this.inputs.off(".zf.slider"),this.$element.off(".zf.slider"),clearTimeout(this.timeout)}}]),i}();function z(t,e){return t/e}function v(t,e,i,n){return Math.abs(t.position()[e]+t[n]()/2-i)}f.defaults={start:0,end:100,step:1,initialStart:0,initialEnd:100,binding:!1,clickSelect:!0,vertical:!1,draggable:!0,disabled:!1,doubleSided:!1,decimal:2,moveTime:200,disabledClass:"disabled",invertVertical:!1,changedDelay:500,nonLinearBase:5,positionValueFunction:"linear"}},"./js/foundation.util.triggers.js":function(t,e,i){"use strict";i.r(e),i.d(e,"Triggers",function(){return d});var n=i("jquery"),o=i.n(n),s=i("./foundation.core"),r=i("./foundation.util.motion");function a(t){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function l(e,i){e.data(i).split(" ").forEach(function(t){o()("#".concat(t))["close"===i?"trigger":"triggerHandler"]("".concat(i,".zf.trigger"),[e])})}var u=function(){for(var t=["WebKit","Moz","O","Ms",""],e=0;e<t.length;e++)if("".concat(t[e],"MutationObserver")in window)return window["".concat(t[e],"MutationObserver")];return!1}(),d={Listeners:{Basic:{},Global:{}},Initializers:{}};function c(e,t,i){var n,s=Array.prototype.slice.call(arguments,3);o()(window).off(t).on(t,function(t){n&&clearTimeout(n),n=setTimeout(function(){i.apply(null,s)},e||10)})}d.Listeners.Basic={openListener:function(){l(o()(this),"open")},closeListener:function(){o()(this).data("close")?l(o()(this),"close"):o()(this).trigger("close.zf.trigger")},toggleListener:function(){o()(this).data("toggle")?l(o()(this),"toggle"):o()(this).trigger("toggle.zf.trigger")},closeableListener:function(t){var e=o()(this).data("closable");t.stopPropagation(),""!==e?r.Motion.animateOut(o()(this),e,function(){o()(this).trigger("closed.zf")}):o()(this).fadeOut().trigger("closed.zf")},toggleFocusListener:function(){var t=o()(this).data("toggle-focus");o()("#".concat(t)).triggerHandler("toggle.zf.trigger",[o()(this)])}},d.Initializers.addOpenListener=function(t){t.off("click.zf.trigger",d.Listeners.Basic.openListener),t.on("click.zf.trigger","[data-open]",d.Listeners.Basic.openListener)},d.Initializers.addCloseListener=function(t){t.off("click.zf.trigger",d.Listeners.Basic.closeListener),t.on("click.zf.trigger","[data-close]",d.Listeners.Basic.closeListener)},d.Initializers.addToggleListener=function(t){t.off("click.zf.trigger",d.Listeners.Basic.toggleListener),t.on("click.zf.trigger","[data-toggle]",d.Listeners.Basic.toggleListener)},d.Initializers.addCloseableListener=function(t){t.off("close.zf.trigger",d.Listeners.Basic.closeableListener),t.on("close.zf.trigger","[data-closeable], [data-closable]",d.Listeners.Basic.closeableListener)},d.Initializers.addToggleFocusListener=function(t){t.off("focus.zf.trigger blur.zf.trigger",d.Listeners.Basic.toggleFocusListener),t.on("focus.zf.trigger blur.zf.trigger","[data-toggle-focus]",d.Listeners.Basic.toggleFocusListener)},d.Listeners.Global={resizeListener:function(t){u||t.each(function(){o()(this).triggerHandler("resizeme.zf.trigger")}),t.attr("data-events","resize")},scrollListener:function(t){u||t.each(function(){o()(this).triggerHandler("scrollme.zf.trigger")}),t.attr("data-events","scroll")},closeMeListener:function(t,e){var i=t.namespace.split(".")[0];o()("[data-".concat(i,"]")).not('[data-yeti-box="'.concat(e,'"]')).each(function(){var t=o()(this);t.triggerHandler("close.zf.trigger",[t])})}},d.Initializers.addClosemeListener=function(t){var e=o()("[data-yeti-box]"),i=["dropdown","tooltip","reveal"];if(t&&("string"==typeof t?i.push(t):"object"===a(t)&&"string"==typeof t[0]?i=i.concat(t):console.error("Plugin names must be strings")),e.length){var n=i.map(function(t){return"closeme.zf.".concat(t)}).join(" ");o()(window).off(n).on(n,d.Listeners.Global.closeMeListener)}},d.Initializers.addResizeListener=function(t){var e=o()("[data-resize]");e.length&&c(t,"resize.zf.trigger",d.Listeners.Global.resizeListener,e)},d.Initializers.addScrollListener=function(t){var e=o()("[data-scroll]");e.length&&c(t,"scroll.zf.trigger",d.Listeners.Global.scrollListener,e)},d.Initializers.addMutationEventsListener=function(t){if(!u)return!1;function e(t){var e=o()(t[0].target);switch(t[0].type){case"attributes":"scroll"===e.attr("data-events")&&"data-events"===t[0].attributeName&&e.triggerHandler("scrollme.zf.trigger",[e,window.pageYOffset]),"resize"===e.attr("data-events")&&"data-events"===t[0].attributeName&&e.triggerHandler("resizeme.zf.trigger",[e]),"style"===t[0].attributeName&&(e.closest("[data-mutate]").attr("data-events","mutate"),e.closest("[data-mutate]").triggerHandler("mutateme.zf.trigger",[e.closest("[data-mutate]")]));break;case"childList":e.closest("[data-mutate]").attr("data-events","mutate"),e.closest("[data-mutate]").triggerHandler("mutateme.zf.trigger",[e.closest("[data-mutate]")]);break;default:return!1}}var i=t.find("[data-resize], [data-scroll], [data-mutate]");if(i.length)for(var n=0;n<=i.length-1;n++){new u(e).observe(i[n],{attributes:!0,childList:!0,characterData:!1,subtree:!0,attributeFilter:["data-events","style"]})}},d.Initializers.addSimpleListeners=function(){var t=o()(document);d.Initializers.addOpenListener(t),d.Initializers.addCloseListener(t),d.Initializers.addToggleListener(t),d.Initializers.addCloseableListener(t),d.Initializers.addToggleFocusListener(t)},d.Initializers.addGlobalListeners=function(){var t=o()(document);d.Initializers.addMutationEventsListener(t),d.Initializers.addResizeListener(),d.Initializers.addScrollListener(),d.Initializers.addClosemeListener()},d.init=function(t,e){Object(s.onLoad)(t(window),function(){!0!==t.triggersInitialized&&(d.Initializers.addSimpleListeners(),d.Initializers.addGlobalListeners(),t.triggersInitialized=!0)}),e&&(e.Triggers=d,e.IHearYou=d.Initializers.addGlobalListeners)}},15:function(t,e,i){t.exports=i("./js/entries/plugins/foundation.slider.js")},jquery:function(t,e){t.exports=r}},a.c=u,a.d=function(t,e,i){a.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},a.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},a.t=function(e,t){if(1&t&&(e=a(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(a.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)a.d(i,n,function(t){return e[t]}.bind(null,n));return i},a.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return a.d(e,"a",e),e},a.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},a.p="",a(a.s=15);function a(t){if(u[t])return u[t].exports;var e=u[t]={i:t,l:!1,exports:{}};return l[t].call(e.exports,e,e.exports,a),e.l=!0,e.exports}var l,u});
2
2
  //# sourceMappingURL=foundation.slider.min.js.map
@@ -1 +1 @@
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":["root","factory","exports","module","require","define","amd","window","__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__","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","__webpack_exports__","_foundation_core__WEBPACK_IMPORTED_MODULE_0__","_foundation_slider__WEBPACK_IMPORTED_MODULE_1__","Foundation","plugin","Slider","jquery__WEBPACK_IMPORTED_MODULE_0__","jquery__WEBPACK_IMPORTED_MODULE_0___default","_foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__","_foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__","_foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__","_foundation_util_touch__WEBPACK_IMPORTED_MODULE_4__","_foundation_util_triggers__WEBPACK_IMPORTED_MODULE_5__","Plugin","element","options","this","$element","$","extend","defaults","data","className","Touch","init","Triggers","_init","Keyboard","register","ltr","ARROW_RIGHT","ARROW_UP","ARROW_DOWN","ARROW_LEFT","SHIFT_ARROW_RIGHT","SHIFT_ARROW_UP","SHIFT_ARROW_DOWN","SHIFT_ARROW_LEFT","HOME","END","rtl","inputs","find","handles","$handle","eq","$input","length","concat","attr","$fill","css","vertical","disabled","hasClass","disabledClass","addClass","add","binding","_setInitAttr","doubleSided","$handle2","$input2","setHandles","_events","_this2","_setHandlePos","val","pctOfBar","percent","start","end","positionValueFunction","_logTransform","_powTransform","toFixed","parseFloat","base","nonLinearBase","Math","log","pow","$hndl","location","noInvert","cb","isDbl","index","h2Val","step","h1Val","_this","vert","hOrW","lOrT","handleDim","getBoundingClientRect","elemDim","_pctOfBar","movement","decimal","_setValues","dim","isLeftHndl","handlePct","style","handlePos","isNaN","initialStart","one","trigger","moveTime","Move","clearTimeout","timeout","setTimeout","changedDelay","idx","initVal","initialEnd","id","GetYoDigits","max","min","role","aria-controls","aria-valuemax","aria-valuemin","aria-valuenow","aria-orientation","tabindex","e","hasVal","_adjustValue","preventDefault","param","direction","eventOffset","pageY","pageX","barDim","windowScroll","scrollTop","scrollLeft","elemOffset","offset","clientY","barXY","eventFromBar","offsetPct","_value","Rtl","absPosition","left","prev_val","div","_eventsForHandle","curHandle","handleChangeEvent","_handleEvent","off","on","keyCode","clickSelect","target","is","draggable","addTouch","$body","currentTarget","removeClass","newValue","_$handle","oldValue","handleKey","decrease","increase","decrease_fast","increase_fast","handled","frac","num","dir","clickPos","abs","position","invertVertical","_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__","MutationObserver","prefixes","triggers","el","type","split","forEach","Listeners","Basic","Global","Initializers","debounceGlobalListener","debounce","listener","timer","args","Array","slice","arguments","apply","openListener","closeListener","toggleListener","closeableListener","stopPropagation","animation","Motion","animateOut","fadeOut","toggleFocusListener","triggerHandler","addOpenListener","$elem","addCloseListener","addToggleListener","addCloseableListener","addToggleFocusListener","resizeListener","$nodes","each","scrollListener","closeMeListener","pluginId","namespace","not","addClosemeListener","pluginName","yetiBoxes","plugNames","push","_typeof","console","error","listeners","map","join","addResizeListener","addScrollListener","addMutationEventsListener","listeningElementsMutation","mutationRecordsList","$target","attributeName","pageYOffset","closest","observe","attributes","childList","characterData","subtree","attributeFilter","addSimpleListeners","$document","document","addGlobalListeners","onLoad","triggersInitialized","IHearYou"],"mappings":"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","file":"foundation.slider.min.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 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 + parseFloat(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 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 timer;\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, 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","'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 e.stopPropagation();\n let animation = $(this).data('closable');\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__;"]}
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":["root","factory","exports","module","require","define","amd","window","__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__","installedModules","__webpack_require__","m","r","__webpack_exports__","_foundation_core__WEBPACK_IMPORTED_MODULE_0__","d","_foundation_slider__WEBPACK_IMPORTED_MODULE_1__","Foundation","plugin","Slider","jquery__WEBPACK_IMPORTED_MODULE_0__","jquery__WEBPACK_IMPORTED_MODULE_0___default","n","_foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__","_foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__","_foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__","_foundation_util_touch__WEBPACK_IMPORTED_MODULE_4__","_foundation_util_triggers__WEBPACK_IMPORTED_MODULE_5__","Plugin","element","options","this","$element","$","extend","defaults","data","className","Touch","init","Triggers","_init","Keyboard","register","ltr","ARROW_RIGHT","ARROW_UP","ARROW_DOWN","ARROW_LEFT","SHIFT_ARROW_RIGHT","SHIFT_ARROW_UP","SHIFT_ARROW_DOWN","SHIFT_ARROW_LEFT","HOME","END","rtl","inputs","find","handles","$handle","eq","$input","length","concat","attr","$fill","css","vertical","disabled","hasClass","disabledClass","addClass","add","binding","_setInitAttr","doubleSided","$handle2","$input2","setHandles","_events","_this2","_setHandlePos","val","value","pctOfBar","percent","start","end","positionValueFunction","_logTransform","_powTransform","toFixed","parseFloat","base","Math","log","baseLog","nonLinearBase","pow","$hndl","location","cb","isDbl","index","h2Val","step","h1Val","_this","vert","hOrW","lOrT","handleDim","getBoundingClientRect","elemDim","_pctOfBar","movement","decimal","_setValues","dim","isLeftHndl","handlePct","style","handlePos","isNaN","initialStart","one","trigger","moveTime","Move","clearTimeout","timeout","setTimeout","changedDelay","idx","initVal","initialEnd","id","GetYoDigits","max","min","role","aria-controls","aria-valuemax","aria-valuemin","aria-valuenow","aria-orientation","tabindex","e","_adjustValue","preventDefault","param","direction","eventOffset","pageY","pageX","barDim","windowScroll","scrollTop","scrollLeft","elemOffset","offset","clientY","barXY","eventFromBar","offsetPct","_value","Rtl","absPosition","left","prev_val","div","_eventsForHandle","handleChangeEvent","_handleEvent","curHandle","off","on","keyCode","call","clickSelect","target","is","draggable","addTouch","$body","currentTarget","removeClass","newValue","_$handle","oldValue","handleKey","decrease","increase","decrease_fast","increase_fast","handled","frac","num","dir","clickPos","abs","position","invertVertical","_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__","triggers","el","type","split","forEach","MutationObserver","prefixes","i","Listeners","Basic","Global","Initializers","debounceGlobalListener","debounce","listener","timer","args","Array","prototype","slice","arguments","apply","openListener","closeListener","toggleListener","closeableListener","animation","stopPropagation","Motion","animateOut","fadeOut","toggleFocusListener","triggerHandler","addOpenListener","$elem","addCloseListener","addToggleListener","addCloseableListener","addToggleFocusListener","resizeListener","$nodes","each","scrollListener","closeMeListener","pluginId","namespace","not","addClosemeListener","pluginName","yetiBoxes","plugNames","push","_typeof","console","error","listeners","map","name","join","addResizeListener","addScrollListener","addMutationEventsListener","listeningElementsMutation","mutationRecordsList","$target","attributeName","pageYOffset","closest","observe","attributes","childList","characterData","subtree","attributeFilter","addSimpleListeners","$document","document","addGlobalListeners","onLoad","triggersInitialized","IHearYou","c","getter","o","Object","defineProperty","enumerable","get","Symbol","toStringTag","t","mode","__esModule","ns","create","key","bind","object","property","hasOwnProperty","p","s","moduleId","l","modules"],"mappings":"CAAA,SAAAA,EAAAC,GACA,iBAAAC,SAAA,iBAAAC,OACAA,OAAAD,QAAAD,EAAAG,QAAA,qBAAAA,QAAA,8BAAAA,QAAA,4BAAAA,QAAA,2BAAAA,QAAA,WACA,mBAAAC,QAAAA,OAAAC,IACAD,OAAA,CAAA,oBAAA,6BAAA,2BAAA,0BAAA,UAAAJ,GACA,iBAAAC,QACAA,QAAA,qBAAAD,EAAAG,QAAA,qBAAAA,QAAA,8BAAAA,QAAA,4BAAAA,QAAA,2BAAAA,QAAA,YAEAJ,EAAA,wBAAAA,EAAA,yBAAA,GAAyEA,EAAA,wBAAA,qBAAAC,EAAAD,EAAA,wBAAA,mBAAAA,EAAA,wBAAA,4BAAAA,EAAA,wBAAA,0BAAAA,EAAA,wBAAA,yBAAAA,EAAA,SARzE,CASCO,OAAA,SAAAC,EAAAC,EAAAC,EAAAC,EAAAC,GACD,OCTAC,EAAA,GA4BAC,EAAAC,uCC7BAZ,EAAAD,QAAAM,8CCAAL,EAAAD,QAAAO,4CCAAN,EAAAD,QAAAQ,2CCAAP,EAAAD,QAAAS,4ECAAG,EAAAE,EAAAC,GAAA,IAAAC,EAAAJ,EAAA,qBAAAA,EAAAK,EAAAF,EAAA,aAAA,WAAA,OAAAC,EAAA,aAAA,IAAAE,EAAAN,EAAA,6BAAAA,EAAAK,EAAAF,EAAA,SAAA,WAAA,OAAAG,EAAA,SAGAC,EAAAA,WAAWC,OAAOC,EAAAA,OAAQ,oECH1BT,EAAAE,EAAAC,GAAAH,EAAAK,EAAAF,EAAA,SAAA,WAAA,OAAAM,IAAA,IAAAC,EAAAV,EAAA,UAAAW,EAAAX,EAAAY,EAAAF,GAAAG,EAAAb,EAAA,8BAAAc,EAAAd,EAAA,4BAAAe,EAAAf,EAAA,qBAAAgB,EAAAhB,EAAA,2BAAAiB,EAAAjB,EAAA,+0BAqBMS,qZAAeS,EAAAA,0FAQZC,EAASC,GACdC,KAAKC,SAAWH,EAChBE,KAAKD,QAAUG,EAAAA,EAAEC,OAAO,GAAIf,EAAOgB,SAAUJ,KAAKC,SAASI,OAAQN,GACnEC,KAAKM,UAAY,SAGjBC,EAAAA,MAAMC,KAAKN,EAAAA,GACXO,EAAAA,SAASD,KAAKN,EAAAA,GAEdF,KAAKU,QAELC,EAAAA,SAASC,SAAS,SAAU,CAC1BC,IAAO,CACLC,YAAe,WACfC,SAAY,WACZC,WAAc,WACdC,WAAc,WACdC,kBAAqB,gBACrBC,eAAkB,gBAClBC,iBAAoB,gBACpBC,iBAAoB,gBACpBC,KAAQ,MACRC,IAAO,OAETC,IAAO,CACLP,WAAc,WACdH,YAAe,WACfO,iBAAoB,gBACpBH,kBAAqB,mDAWzBlB,KAAKyB,OAASzB,KAAKC,SAASyB,KAAK,SACjC1B,KAAK2B,QAAU3B,KAAKC,SAASyB,KAAK,wBAElC1B,KAAK4B,QAAU5B,KAAK2B,QAAQE,GAAG,GAC/B7B,KAAK8B,OAAS9B,KAAKyB,OAAOM,OAAS/B,KAAKyB,OAAOI,GAAG,GAAK3B,GAAAA,CAAC,IAAA8B,OAAKhC,KAAK4B,QAAQK,KAAK,mBAC/EjC,KAAKkC,MAAQlC,KAAKC,SAASyB,KAAK,sBAAsBS,IAAInC,KAAKD,QAAQqC,SAAW,SAAW,QAAS,IAIlGpC,KAAKD,QAAQsC,UAAYrC,KAAKC,SAASqC,SAAStC,KAAKD,QAAQwC,kBAC/DvC,KAAKD,QAAQsC,UAAW,EACxBrC,KAAKC,SAASuC,SAASxC,KAAKD,QAAQwC,gBAEjCvC,KAAKyB,OAAOM,SACf/B,KAAKyB,OAASvB,GAAAA,GAAIuC,IAAIzC,KAAK8B,QAC3B9B,KAAKD,QAAQ2C,SAAU,GAGzB1C,KAAK2C,aAAa,GAEd3C,KAAK2B,QAAQ,KACf3B,KAAKD,QAAQ6C,aAAc,EAC3B5C,KAAK6C,SAAW7C,KAAK2B,QAAQE,GAAG,GAChC7B,KAAK8C,QAA+B,EAArB9C,KAAKyB,OAAOM,OAAa/B,KAAKyB,OAAOI,GAAG,GAAK3B,GAAAA,CAAC,IAAA8B,OAAKhC,KAAK6C,SAASZ,KAAK,mBAEhFjC,KAAKyB,OAAO,KACfzB,KAAKyB,OAASzB,KAAKyB,OAAOgB,IAAIzC,KAAK8C,UAKrC9C,KAAK2C,aAAa,IAIpB3C,KAAK+C,aAEL/C,KAAKgD,+CAGM,IAAAC,EAAAjD,KACRA,KAAK2B,QAAQ,GACd3B,KAAKkD,cAAclD,KAAK4B,QAAS5B,KAAKyB,OAAOI,GAAG,GAAGsB,MAAO,WACxDF,EAAKC,cAAcD,EAAKJ,SAAUI,EAAKxB,OAAOI,GAAG,GAAGsB,SAGtDnD,KAAKkD,cAAclD,KAAK4B,QAAS5B,KAAKyB,OAAOI,GAAG,GAAGsB,yCAKrDnD,KAAK+C,+CAOGK,GACR,IAAIC,EAAWC,EAAQF,EAAQpD,KAAKD,QAAQwD,MAAOvD,KAAKD,QAAQyD,IAAMxD,KAAKD,QAAQwD,OAEnF,OAAOvD,KAAKD,QAAQ0D,uBACpB,IAAK,MACHJ,EAAWrD,KAAK0D,cAAcL,GAC9B,MACF,IAAK,MACHA,EAAWrD,KAAK2D,cAAcN,GAIhC,OAAOA,EAASO,QAAQ,kCAQnBP,GACL,OAAOrD,KAAKD,QAAQ0D,uBACpB,IAAK,MACHJ,EAAWrD,KAAK2D,cAAcN,GAC9B,MACF,IAAK,MACHA,EAAWrD,KAAK0D,cAAcL,GAahC,OARIrD,KAAKD,QAAQqC,SAGPyB,WAAW7D,KAAKD,QAAQyD,KAAOH,GAAYrD,KAAKD,QAAQwD,MAAQvD,KAAKD,QAAQyD,MAE5ExD,KAAKD,QAAQyD,IAAMxD,KAAKD,QAAQwD,OAASF,EAAWQ,WAAW7D,KAAKD,QAAQwD,6CAW3EH,GACZ,OAoiBJ,SAAiBU,EAAMV,GACrB,OAAOW,KAAKC,IAAIZ,GAAOW,KAAKC,IAAIF,GAriBvBG,CAAQjE,KAAKD,QAAQmE,cAAiBd,GAAOpD,KAAKD,QAAQmE,cAAc,GAAI,yCAQvEd,GACZ,OAAQW,KAAKI,IAAInE,KAAKD,QAAQmE,cAAed,GAAS,IAAMpD,KAAKD,QAAQmE,cAAgB,yCAa7EE,EAAOC,EAAUC,GAE7B,IAAItE,KAAKC,SAASqC,SAAStC,KAAKD,QAAQwC,eAAxC,EAIA8B,EAAWR,WAAWQ,IAGPrE,KAAKD,QAAQwD,MAASc,EAAWrE,KAAKD,QAAQwD,MACpDc,EAAWrE,KAAKD,QAAQyD,MAAOa,EAAWrE,KAAKD,QAAQyD,KAEhE,IAAIe,EAAQvE,KAAKD,QAAQ6C,YAEzB,GAAI2B,EACF,GAAkC,IAA9BvE,KAAK2B,QAAQ6C,MAAMJ,GAAc,CACnC,IAAIK,EAAQZ,WAAW7D,KAAK6C,SAASZ,KAAK,kBAC1CoC,EAAuBI,GAAZJ,EAAoBI,EAAQzE,KAAKD,QAAQ2E,KAAOL,MACtD,CACL,IAAIM,EAAQd,WAAW7D,KAAK4B,QAAQK,KAAK,kBACzCoC,EAAWA,GAAYM,EAAQA,EAAQ3E,KAAKD,QAAQ2E,KAAOL,EAI/D,IAAIO,EAAQ5E,KACR6E,EAAO7E,KAAKD,QAAQqC,SACpB0C,EAAOD,EAAO,SAAW,QACzBE,EAAOF,EAAO,MAAQ,OACtBG,EAAYZ,EAAM,GAAGa,wBAAwBH,GAC7CI,EAAUlF,KAAKC,SAAS,GAAGgF,wBAAwBH,GAEnDzB,EAAWrD,KAAKmF,UAAUd,GAI1Be,GAAyC,IAA7B9B,GAFA4B,EAAUF,GAAa3B,EAEL6B,IAAgBtB,QAAQ5D,KAAKD,QAAQsF,SAEnEhB,EAAWR,WAAWQ,EAAST,QAAQ5D,KAAKD,QAAQsF,UAExD,IAAIlD,EAAM,GAKV,GAHAnC,KAAKsF,WAAWlB,EAAOC,GAGnBE,EAAO,CACT,IAEIgB,EAFAC,EAA2C,IAA9BxF,KAAK2B,QAAQ6C,MAAMJ,GAIhCqB,KAA8C,IAA9BnC,EAAQ0B,EAAWE,IAEvC,GAAIM,EAEFrD,EAAI4C,GAAJ,GAAA/C,OAAeoD,EAAf,KAEAG,EAAM1B,WAAW7D,KAAK6C,SAAS,GAAG6C,MAAMX,IAASK,EAAWK,EAGxDnB,GAAoB,mBAAPA,GAAqBA,QACjC,CAEL,IAAIqB,EAAY9B,WAAW7D,KAAK4B,QAAQ,GAAG8D,MAAMX,IAGjDQ,EAAMH,GAAYQ,MAAMD,IAAc3F,KAAKD,QAAQ8F,aAAe7F,KAAKD,QAAQwD,SAASvD,KAAKD,QAAQyD,IAAIxD,KAAKD,QAAQwD,OAAO,KAAOoC,GAAaF,EAGnJtD,EAAG,OAAAH,OAAQ8C,IAAX,GAAA9C,OAAwBuD,EAAxB,KAGFvF,KAAKC,SAAS6F,IAAI,sBAAuB,WAKzBlB,EAAM3E,SAAS8F,QAAQ,kBAAmB,CAAC3B,MAI3D,IAAI4B,EAAWhG,KAAKC,SAASI,KAAK,YAAc,IAAK,GAAKL,KAAKD,QAAQiG,SAEvEC,OAAAA,EAAAA,KAAAA,CAAKD,EAAU5B,EAAO,WAIhBwB,MAAMR,GACRhB,EAAMjC,IAAI4C,EAAV,GAAA/C,OAA8B,IAAXqB,EAAnB,MAGAe,EAAMjC,IAAI4C,EAAV,GAAA/C,OAAmBoD,EAAnB,MAGGR,EAAM7E,QAAQ6C,YAKjBgC,EAAM1C,MAAMC,IAAIA,GAHhByC,EAAM1C,MAAMC,IAAI2C,EAAhB,GAAA9C,OAAoC,IAAXqB,EAAzB,QAYJ6C,aAAatB,EAAMuB,SACnBvB,EAAMuB,QAAUC,WAAW,WACzBxB,EAAM3E,SAAS8F,QAAQ,oBAAqB,CAAC3B,KAC5CQ,EAAM7E,QAAQsG,oDASNC,GACX,IAAIC,EAAmB,IAARD,EAAYtG,KAAKD,QAAQ8F,aAAe7F,KAAKD,QAAQyG,WAChEC,EAAKzG,KAAKyB,OAAOI,GAAGyE,GAAKrE,KAAK,OAASyE,OAAAA,EAAAA,YAAAA,CAAY,EAAG,UAC1D1G,KAAKyB,OAAOI,GAAGyE,GAAKrE,KAAK,CACvBwE,GAAMA,EACNE,IAAO3G,KAAKD,QAAQyD,IACpBoD,IAAO5G,KAAKD,QAAQwD,MACpBmB,KAAQ1E,KAAKD,QAAQ2E,OAEvB1E,KAAKyB,OAAOI,GAAGyE,GAAKnD,IAAIoD,GACxBvG,KAAK2B,QAAQE,GAAGyE,GAAKrE,KAAK,CACxB4E,KAAQ,SACRC,gBAAiBL,EACjBM,gBAAiB/G,KAAKD,QAAQyD,IAC9BwD,gBAAiBhH,KAAKD,QAAQwD,MAC9B0D,gBAAiBV,EACjBW,mBAAoBlH,KAAKD,QAAQqC,SAAW,WAAa,aACzD+E,SAAY,uCAWLvF,EAASuB,GAClB,IAAImD,EAAMtG,KAAKD,QAAQ6C,YAAc5C,KAAK2B,QAAQ6C,MAAM5C,GAAW,EACnE5B,KAAKyB,OAAOI,GAAGyE,GAAKnD,IAAIA,GACxBvB,EAAQK,KAAK,gBAAiBkB,wCAcnBiE,EAAGxF,EAASuB,GACvB,IAAIC,EACJ,GAAKD,EA4CHC,EAAQpD,KAAKqH,aAAa,KAAMlE,IACvB,MA7CD,CACRiE,EAAEE,iBACF,IACIlF,EAAWpC,KAAKD,QAAQqC,SACxBmF,EAAQnF,EAAW,SAAW,QAC9BoF,EAAYpF,EAAW,MAAQ,OAC/BqF,EAAcrF,EAAWgF,EAAEM,MAAQN,EAAEO,MAErCC,GADe5H,KAAK4B,QAAQ,GAAGqD,wBAAwBsC,GAC9CvH,KAAKC,SAAS,GAAGgF,wBAAwBsC,IAClDM,EAAezF,EAAWlC,GAAAA,CAAE9B,QAAQ0J,YAAc5H,GAAAA,CAAE9B,QAAQ2J,aAG5DC,EAAahI,KAAKC,SAASgI,SAAST,GAIpCJ,EAAEc,UAAYd,EAAEM,QAASD,GAA4BI,GACzD,IACIM,EADAC,EAAeX,EAAcO,EAS7BK,EAAY/E,EANd6E,EADEC,EAAe,EACT,EACgBR,EAAfQ,EACDR,EAEAQ,EAEqBR,GAW/B,GATAxE,EAAQpD,KAAKsI,OAAOD,GAGhBE,OAAAA,EAAAA,IAAAA,KAAUvI,KAAKD,QAAQqC,WAAWgB,EAAQpD,KAAKD,QAAQyD,IAAMJ,GAEjEA,EA/BYpD,KA+BEqH,aAAa,KAAMjE,IAExB,GAEJxB,EAGCA,EAFe4G,EAAYxI,KAAK4B,QAAS4F,EAAWW,EAAOZ,IAC5CiB,EAAYxI,KAAK6C,SAAU2E,EAAWW,EAAOZ,GACnBvH,KAAK4B,QAAU5B,KAAK6C,SAQrE7C,KAAKkD,cAActB,EAASwB,wCAUjBxB,EAASwB,GACpB,IAAID,EAGFsF,EAAMC,EAFNhE,EAAO1E,KAAKD,QAAQ2E,KACpBiE,EAAM9E,WAAWa,EAAK,GAexB,OAAa,KANX+D,EADS,IALTtF,EADIvB,EACEiC,WAAWjC,EAAQK,KAAK,kBAGxBmB,GAGCD,EAAMuB,EAENA,EAAQvB,EAAMuB,GAKdvB,EAETA,GALAuF,EAAWvF,EAAMsF,GAKOE,GAAlBxF,EAJKuF,EAAWhE,EAImBgE,oCAUzC1I,KAAK4I,iBAAiB5I,KAAK4B,SACxB5B,KAAK2B,QAAQ,IACd3B,KAAK4I,iBAAiB5I,KAAK6C,mDAWdjB,GAKa,SAApBiH,EAA6BzB,GACjC,IAAMd,EAAM1B,EAAMnD,OAAO+C,MAAMtE,GAAAA,CAAEF,OACjC4E,EAAMkE,aAAa1B,EAAGxC,EAAMjD,QAAQE,GAAGyE,GAAMpG,GAAAA,CAAEF,MAAMmD,OANzD,IACI4F,EADAnE,EAAQ5E,KAgCZ,GApBEA,KAAKyB,OAAOuH,IAAI,mBAAmBC,GAAG,kBAAmB,SAAU7B,GACjD,IAAbA,EAAE8B,SAAeL,EAAkBM,KAAKnJ,KAAMoH,KAGnDpH,KAAKyB,OAAOuH,IAAI,oBAAoBC,GAAG,mBAAoBJ,GAEvD7I,KAAKD,QAAQqJ,aACfpJ,KAAKC,SAAS+I,IAAI,mBAAmBC,GAAG,kBAAmB,SAAS7B,GAClE,GAAIxC,EAAM3E,SAASI,KAAK,YAAe,OAAO,EAEzCH,GAAAA,CAAEkH,EAAEiC,QAAQC,GAAG,0BACd1E,EAAM7E,QAAQ6C,YAChBgC,EAAMkE,aAAa1B,GAEnBxC,EAAMkE,aAAa1B,EAAGxC,EAAMhD,YAMlC5B,KAAKD,QAAQwJ,UAAW,CAC1BvJ,KAAK2B,QAAQ6H,WAEb,IAAIC,EAAQvJ,GAAAA,CAAE,QACd0B,EACGoH,IAAI,uBACJC,GAAG,sBAAuB,SAAS7B,GAClCxF,EAAQY,SAAS,eACjBoC,EAAM1C,MAAMM,SAAS,eACrBoC,EAAM3E,SAASI,KAAK,YAAY,GAEhC0I,EAAY7I,GAAAA,CAAEkH,EAAEsC,eAEhBD,EAAMR,GAAG,sBAAuB,SAAS7B,GACvCA,EAAEE,iBACF1C,EAAMkE,aAAa1B,EAAG2B,KAErBE,GAAG,oBAAqB,SAAS7B,GAClCxC,EAAMkE,aAAa1B,EAAG2B,GAEtBnH,EAAQ+H,YAAY,eACpB/E,EAAM1C,MAAMyH,YAAY,eACxB/E,EAAM3E,SAASI,KAAK,YAAY,GAEhCoJ,EAAMT,IAAI,6CAIfC,GAAG,4CAA6C,SAAS7B,GACxDA,EAAEE,mBAIN1F,EAAQoH,IAAI,qBAAqBC,GAAG,oBAAqB,SAAS7B,GAChE,IAGIwC,EAHAC,EAAW3J,GAAAA,CAAEF,MACbsG,EAAM1B,EAAM7E,QAAQ6C,YAAcgC,EAAMjD,QAAQ6C,MAAMqF,GAAY,EAClEC,EAAWjG,WAAWe,EAAMnD,OAAOI,GAAGyE,GAAKnD,OAI/CxC,EAAAA,SAASoJ,UAAU3C,EAAG,SAAU,CAC9B4C,SAAU,WACRJ,EAAWE,EAAWlF,EAAM7E,QAAQ2E,MAEtCuF,SAAU,WACRL,EAAWE,EAAWlF,EAAM7E,QAAQ2E,MAEtCwF,cAAe,WACbN,EAAWE,EAAgC,GAArBlF,EAAM7E,QAAQ2E,MAEtCyF,cAAe,WACbP,EAAWE,EAAgC,GAArBlF,EAAM7E,QAAQ2E,MAEtCkC,IAAK,WACHgD,EAAWhF,EAAM7E,QAAQwD,OAE3BoD,IAAK,WACHiD,EAAWhF,EAAM7E,QAAQyD,KAE3B4G,QAAS,WACPhD,EAAEE,iBACF1C,EAAM1B,cAAc2G,EAAUD,2CAcpC5J,KAAK2B,QAAQqH,IAAI,cACjBhJ,KAAKyB,OAAOuH,IAAI,cAChBhJ,KAAKC,SAAS+I,IAAI,cAElB9C,aAAalG,KAAKmG,kBA6ItB,SAAS7C,EAAQ+G,EAAMC,GACrB,OAAQD,EAAOC,EAEjB,SAAS9B,EAAY5G,EAAS2I,EAAKC,EAAUjD,GAC3C,OAAOxD,KAAK0G,IAAK7I,EAAQ8I,WAAWH,GAAQ3I,EAAQ2F,KAAW,EAAMiD,GA7IvEpL,EAAOgB,SAAW,CAOhBmD,MAAO,EAOPC,IAAK,IAOLkB,KAAM,EAONmB,aAAc,EAOdW,WAAY,IAOZ9D,SAAS,EAOT0G,aAAa,EAObhH,UAAU,EAOVmH,WAAW,EAOXlH,UAAU,EAOVO,aAAa,EAWbyC,QAAS,EAWTW,SAAU,IAOVzD,cAAe,WAOfoI,gBAAgB,EAOhBtE,aAAc,IAOdnC,cAAe,EAOfT,sBAAuB,2ECzsBzB9E,EAAAE,EAAAC,GAAAH,EAAAK,EAAAF,EAAA,WAAA,WAAA,OAAA2B,IAAA,IAAApB,EAAAV,EAAA,UAAAW,EAAAX,EAAAY,EAAAF,GAAAuL,EAAAjM,EAAA,qBAAAc,EAAAd,EAAA,iQAgBiB,SAAXkM,EAAYC,EAAIC,GACpBD,EAAGzK,KAAK0K,GAAMC,MAAM,KAAKC,QAAQ,SAAAxE,GAC/BvG,GAAAA,CAAC,IAAA8B,OAAKyE,IAAgB,UAATsE,EAAmB,UAAY,kBAA5C,GAAA/I,OAAiE+I,EAAjE,eAAoF,CAACD,MAZzF,IAAMI,EAAoB,WAExB,IADA,IAAIC,EAAW,CAAC,SAAU,MAAO,IAAK,KAAM,IACnCC,EAAE,EAAGA,EAAID,EAASpJ,OAAQqJ,IACjC,GAAI,GAAApJ,OAAGmJ,EAASC,GAAZ,sBAAoChN,OACtC,OAAOA,OAAM,GAAA4D,OAAImJ,EAASC,GAAb,qBAGjB,OAAO,EAPiB,GAgBtB3K,EAAW,CACb4K,UAAW,CACTC,MAAO,GACPC,OAAQ,IAEVC,aAAc,IAmIhB,SAASC,EAAuBC,EAAU3F,EAAS4F,GACjD,IAAIC,EAAOC,EAAOC,MAAMC,UAAUC,MAAM7C,KAAK8C,UAAW,GACxD/L,GAAAA,CAAE9B,QAAQ4K,IAAIjD,GAASkD,GAAGlD,EAAS,SAASqB,GACtCwE,GAAS1F,aAAa0F,GAC1BA,EAAQxF,WAAW,WACjBuF,EAASO,MAAM,KAAML,IACpBH,GAAY,MAtInBjL,EAAS4K,UAAUC,MAAS,CAC1Ba,aAAc,WACZtB,EAAS3K,GAAAA,CAAEF,MAAO,SAEpBoM,cAAe,WACJlM,GAAAA,CAAEF,MAAMK,KAAK,SAEpBwK,EAAS3K,GAAAA,CAAEF,MAAO,SAGlBE,GAAAA,CAAEF,MAAM+F,QAAQ,qBAGpBsG,eAAgB,WACLnM,GAAAA,CAAEF,MAAMK,KAAK,UAEpBwK,EAAS3K,GAAAA,CAAEF,MAAO,UAElBE,GAAAA,CAAEF,MAAM+F,QAAQ,sBAGpBuG,kBAAmB,SAASlF,GAC1B,IAAImF,EAAYrM,GAAAA,CAAEF,MAAMK,KAAK,YAG7B+G,EAAEoF,kBAEe,KAAdD,EACDE,EAAAA,OAAOC,WAAWxM,GAAAA,CAAEF,MAAOuM,EAAW,WACpCrM,GAAAA,CAAEF,MAAM+F,QAAQ,eAGlB7F,GAAAA,CAAEF,MAAM2M,UAAU5G,QAAQ,cAG9B6G,oBAAqB,WACnB,IAAInG,EAAKvG,GAAAA,CAAEF,MAAMK,KAAK,gBACtBH,GAAAA,CAAC,IAAA8B,OAAKyE,IAAMoG,eAAe,oBAAqB,CAAC3M,GAAAA,CAAEF,UAKvDS,EAAS+K,aAAasB,gBAAkB,SAACC,GACvCA,EAAM/D,IAAI,mBAAoBvI,EAAS4K,UAAUC,MAAMa,cACvDY,EAAM9D,GAAG,mBAAoB,cAAexI,EAAS4K,UAAUC,MAAMa,eAKvE1L,EAAS+K,aAAawB,iBAAmB,SAACD,GACxCA,EAAM/D,IAAI,mBAAoBvI,EAAS4K,UAAUC,MAAMc,eACvDW,EAAM9D,GAAG,mBAAoB,eAAgBxI,EAAS4K,UAAUC,MAAMc,gBAIxE3L,EAAS+K,aAAayB,kBAAoB,SAACF,GACzCA,EAAM/D,IAAI,mBAAoBvI,EAAS4K,UAAUC,MAAMe,gBACvDU,EAAM9D,GAAG,mBAAoB,gBAAiBxI,EAAS4K,UAAUC,MAAMe,iBAIzE5L,EAAS+K,aAAa0B,qBAAuB,SAACH,GAC5CA,EAAM/D,IAAI,mBAAoBvI,EAAS4K,UAAUC,MAAMgB,mBACvDS,EAAM9D,GAAG,mBAAoB,oCAAqCxI,EAAS4K,UAAUC,MAAMgB,oBAI7F7L,EAAS+K,aAAa2B,uBAAyB,SAACJ,GAC9CA,EAAM/D,IAAI,mCAAoCvI,EAAS4K,UAAUC,MAAMsB,qBACvEG,EAAM9D,GAAG,mCAAoC,sBAAuBxI,EAAS4K,UAAUC,MAAMsB,sBAM/FnM,EAAS4K,UAAUE,OAAU,CAC3B6B,eAAgB,SAASC,GACnBnC,GACFmC,EAAOC,KAAK,WACVpN,GAAAA,CAAEF,MAAM6M,eAAe,yBAI3BQ,EAAOpL,KAAK,cAAe,WAE7BsL,eAAgB,SAASF,GACnBnC,GACFmC,EAAOC,KAAK,WACVpN,GAAAA,CAAEF,MAAM6M,eAAe,yBAI3BQ,EAAOpL,KAAK,cAAe,WAE7BuL,gBAAiB,SAASpG,EAAGqG,GAC3B,IAAItO,EAASiI,EAAEsG,UAAU1C,MAAM,KAAK,GACtB9K,GAAAA,CAAC,SAAA8B,OAAU7C,EAAV,MAAqBwO,IAAtB,mBAAA3L,OAA6CyL,EAA7C,OAENH,KAAK,WACX,IAAI1I,EAAQ1E,GAAAA,CAAEF,MACd4E,EAAMiI,eAAe,mBAAoB,CAACjI,QAMhDnE,EAAS+K,aAAaoC,mBAAqB,SAASC,GAClD,IAAIC,EAAY5N,GAAAA,CAAE,mBACd6N,EAAY,CAAC,WAAY,UAAW,UAWxC,GATGF,IACwB,iBAAfA,EACRE,EAAUC,KAAKH,GACc,WAAtBI,EAAOJ,IAAoD,iBAAlBA,EAAW,GAC3DE,EAAYA,EAAU/L,OAAO6L,GAE7BK,QAAQC,MAAM,iCAGfL,EAAU/L,OAAO,CAClB,IAAIqM,EAAYL,EAAUM,IAAI,SAACC,GAC7B,MAAA,cAAAtM,OAAqBsM,KACpBC,KAAK,KAERrO,GAAAA,CAAE9B,QAAQ4K,IAAIoF,GAAWnF,GAAGmF,EAAW3N,EAAS4K,UAAUE,OAAOiC,mBAcrE/M,EAAS+K,aAAagD,kBAAoB,SAAS9C,GACjD,IAAI2B,EAASnN,GAAAA,CAAE,iBACZmN,EAAOtL,QACR0J,EAAuBC,EAAU,oBAAqBjL,EAAS4K,UAAUE,OAAO6B,eAAgBC,IAIpG5M,EAAS+K,aAAaiD,kBAAoB,SAAS/C,GACjD,IAAI2B,EAASnN,GAAAA,CAAE,iBACZmN,EAAOtL,QACR0J,EAAuBC,EAAU,oBAAqBjL,EAAS4K,UAAUE,OAAOgC,eAAgBF,IAIpG5M,EAAS+K,aAAakD,0BAA4B,SAAS3B,GACzD,IAAI7B,EAAmB,OAAO,EAIE,SAA5ByD,EAAsCC,GACxC,IAAIC,EAAU3O,GAAAA,CAAE0O,EAAoB,GAAGvF,QAGvC,OAAQuF,EAAoB,GAAG7D,MAC7B,IAAK,aACiC,WAAhC8D,EAAQ5M,KAAK,gBAAwE,gBAAzC2M,EAAoB,GAAGE,eACrED,EAAQhC,eAAe,sBAAuB,CAACgC,EAASzQ,OAAO2Q,cAE7B,WAAhCF,EAAQ5M,KAAK,gBAAwE,gBAAzC2M,EAAoB,GAAGE,eACrED,EAAQhC,eAAe,sBAAuB,CAACgC,IAEJ,UAAzCD,EAAoB,GAAGE,gBACzBD,EAAQG,QAAQ,iBAAiB/M,KAAK,cAAc,UACpD4M,EAAQG,QAAQ,iBAAiBnC,eAAe,sBAAuB,CAACgC,EAAQG,QAAQ,oBAE1F,MAEF,IAAK,YACHH,EAAQG,QAAQ,iBAAiB/M,KAAK,cAAc,UACpD4M,EAAQG,QAAQ,iBAAiBnC,eAAe,sBAAuB,CAACgC,EAAQG,QAAQ,mBACxF,MAEF,QACE,OAAO,GA3Bb,IAAI3B,EAASN,EAAMrL,KAAK,+CAgCxB,GAAI2L,EAAOtL,OAET,IAAK,IAAIqJ,EAAI,EAAGA,GAAKiC,EAAOtL,OAAS,EAAGqJ,IAAK,CACrB,IAAIF,EAAiByD,GAC3BM,QAAQ5B,EAAOjC,GAAI,CAAE8D,YAAY,EAAMC,WAAW,EAAMC,eAAe,EAAOC,SAAS,EAAMC,gBAAiB,CAAC,cAAe,aAKpJ7O,EAAS+K,aAAa+D,mBAAqB,WACzC,IAAIC,EAAYtP,GAAAA,CAAEuP,UAElBhP,EAAS+K,aAAasB,gBAAgB0C,GACtC/O,EAAS+K,aAAawB,iBAAiBwC,GACvC/O,EAAS+K,aAAayB,kBAAkBuC,GACxC/O,EAAS+K,aAAa0B,qBAAqBsC,GAC3C/O,EAAS+K,aAAa2B,uBAAuBqC,IAI/C/O,EAAS+K,aAAakE,mBAAqB,WACzC,IAAIF,EAAYtP,GAAAA,CAAEuP,UAClBhP,EAAS+K,aAAakD,0BAA0Bc,GAChD/O,EAAS+K,aAAagD,oBACtB/N,EAAS+K,aAAaiD,oBACtBhO,EAAS+K,aAAaoC,sBAIxBnN,EAASD,KAAO,SAAUN,EAAGhB,GAC3ByQ,OAAAA,EAAAA,OAAAA,CAAOzP,EAAE9B,QAAS,YACc,IAA1B8B,EAAE0P,sBACJnP,EAAS+K,aAAa+D,qBACtB9O,EAAS+K,aAAakE,qBACtBxP,EAAE0P,qBAAsB,KAIzB1Q,IACDA,EAAWuB,SAAWA,EAEtBvB,EAAW2Q,SAAWpP,EAAS+K,aAAakE,wHCjQhD1R,EAAAD,QAAAU,IRgCAE,EAAAmR,EAAApR,EAGAC,EAAAK,EAAA,SAAAjB,EAAAuQ,EAAAyB,GACApR,EAAAqR,EAAAjS,EAAAuQ,IACA2B,OAAAC,eAAAnS,EAAAuQ,EAAA,CAA0C6B,YAAA,EAAAC,IAAAL,KAK1CpR,EAAAE,EAAA,SAAAd,GACA,oBAAAsS,QAAAA,OAAAC,aACAL,OAAAC,eAAAnS,EAAAsS,OAAAC,YAAA,CAAwDlN,MAAA,WAExD6M,OAAAC,eAAAnS,EAAA,aAAA,CAAiDqF,OAAA,KAQjDzE,EAAA4R,EAAA,SAAAnN,EAAAoN,GAEA,GADA,EAAAA,IAAApN,EAAAzE,EAAAyE,IACA,EAAAoN,EAAA,OAAApN,EACA,GAAA,EAAAoN,GAAA,iBAAApN,GAAAA,GAAAA,EAAAqN,WAAA,OAAArN,EACA,IAAAsN,EAAAT,OAAAU,OAAA,MAGA,GAFAhS,EAAAE,EAAA6R,GACAT,OAAAC,eAAAQ,EAAA,UAAA,CAAyCP,YAAA,EAAA/M,MAAAA,IACzC,EAAAoN,GAAA,iBAAApN,EAAA,IAAA,IAAAwN,KAAAxN,EAAAzE,EAAAK,EAAA0R,EAAAE,EAAA,SAAAA,GAAgH,OAAAxN,EAAAwN,IAAqBC,KAAA,KAAAD,IACrI,OAAAF,GAIA/R,EAAAY,EAAA,SAAAvB,GACA,IAAA+R,EAAA/R,GAAAA,EAAAyS,WACA,WAA2B,OAAAzS,EAAA,SAC3B,WAAiC,OAAAA,GAEjC,OADAW,EAAAK,EAAA+Q,EAAA,IAAAA,GACAA,GAIApR,EAAAqR,EAAA,SAAAc,EAAAC,GAAsD,OAAAd,OAAAlE,UAAAiF,eAAA7H,KAAA2H,EAAAC,IAGtDpS,EAAAsS,EAAA,GAIAtS,EAAAA,EAAAuS,EAAA,IA9EA,SAAAvS,EAAAwS,GAGA,GAAAzS,EAAAyS,GACA,OAAAzS,EAAAyS,GAAApT,QAGA,IAAAC,EAAAU,EAAAyS,GAAA,CACA/F,EAAA+F,EACAC,GAAA,EACArT,QAAA,IAUA,OANAsT,EAAAF,GAAAhI,KAAAnL,EAAAD,QAAAC,EAAAA,EAAAD,QAAAY,GAGAX,EAAAoT,GAAA,EAGApT,EAAAD,cAvBAW","file":"foundation.slider.min.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 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(), () => {\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 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);\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 timer;\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__;"]}
@@ -167,7 +167,7 @@ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || func
167
167
 
168
168
  /**
169
169
  * SmoothScroll module.
170
- * @module foundation.smooth-scroll
170
+ * @module foundation.smoothScroll
171
171
  */
172
172
 
173
173
  var SmoothScroll =
@@ -338,7 +338,7 @@ SmoothScroll.defaults = {
338
338
  /*! no static exports found */
339
339
  /***/ (function(module, exports, __webpack_require__) {
340
340
 
341
- module.exports = __webpack_require__(/*! /Users/ncoden/Documents/Documents/Projects/Programmation/Web/2016/Foundation/foundation-sites/js/entries/plugins/foundation.smoothScroll.js */"./js/entries/plugins/foundation.smoothScroll.js");
341
+ module.exports = __webpack_require__(/*! /Volumes/Data/Development/Foundation/foundation-sites/js/entries/plugins/foundation.smoothScroll.js */"./js/entries/plugins/foundation.smoothScroll.js");
342
342
 
343
343
 
344
344
  /***/ }),
@@ -1 +1 @@
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]/./js/entries/plugins/foundation.smoothScroll.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.smoothScroll.js","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}"],"names":["Foundation","plugin","SmoothScroll","element","options","$element","$","extend","defaults","data","className","_init","id","GetYoDigits","attr","_events","_linkClickListener","_handleLinkClick","bind","on","e","currentTarget","is","arrival","getAttribute","_inTransition","scrollToLoc","preventDefault","off","loc","callback","$loc","length","scrollPos","Math","round","offset","top","threshold","stop","animate","scrollTop","animationDuration","animationEasing","Plugin"],"mappings":"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","file":"foundation.smoothScroll.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.smoothScroll\"] = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.smoothScroll\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __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 = 16);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","import { Foundation } from './foundation.core';\n\nimport { SmoothScroll } from '../../foundation.smoothScroll';\nFoundation.plugin(SmoothScroll, 'SmoothScroll');\n\nexport { Foundation, SmoothScroll };\n","import $ from 'jquery';\nimport { GetYoDigits } from './foundation.core.utils';\nimport { Plugin } from './foundation.core.plugin';\n\n/**\n * SmoothScroll module.\n * @module foundation.smooth-scroll\n */\nclass SmoothScroll extends Plugin {\n /**\n * Creates a new instance of SmoothScroll.\n * @class\n * @name SmoothScroll\n * @fires SmoothScroll#init\n * @param {Object} element - jQuery object to add the trigger to.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, SmoothScroll.defaults, this.$element.data(), options);\n this.className = 'SmoothScroll'; // ie9 back compat\n\n this._init();\n }\n\n /**\n * Initialize the SmoothScroll plugin\n * @private\n */\n _init() {\n const id = this.$element[0].id || GetYoDigits(6, 'smooth-scroll');\n this.$element.attr({ id });\n\n this._events();\n }\n\n /**\n * Initializes events for SmoothScroll.\n * @private\n */\n _events() {\n this._linkClickListener = this._handleLinkClick.bind(this);\n this.$element.on('click.zf.smoothScroll', this._linkClickListener);\n this.$element.on('click.zf.smoothScroll', 'a[href^=\"#\"]', this._linkClickListener);\n }\n\n /**\n * Handle the given event to smoothly scroll to the anchor pointed by the event target.\n * @param {*} e - event\n * @function\n * @private\n */\n _handleLinkClick(e) {\n // Follow the link if it does not point to an anchor.\n if (!$(e.currentTarget).is('a[href^=\"#\"]')) return;\n\n const arrival = e.currentTarget.getAttribute('href');\n\n this._inTransition = true;\n\n SmoothScroll.scrollToLoc(arrival, this.options, () => {\n this._inTransition = false;\n });\n\n e.preventDefault();\n };\n\n /**\n * Function to scroll to a given location on the page.\n * @param {String} loc - A properly formatted jQuery id selector. Example: '#foo'\n * @param {Object} options - The options to use.\n * @param {Function} callback - The callback function.\n * @static\n * @function\n */\n static scrollToLoc(loc, options = SmoothScroll.defaults, callback) {\n const $loc = $(loc);\n\n // Do nothing if target does not exist to prevent errors\n if (!$loc.length) return false;\n\n var scrollPos = Math.round($loc.offset().top - options.threshold / 2 - options.offset);\n\n $('html, body').stop(true).animate(\n { scrollTop: scrollPos },\n options.animationDuration,\n options.animationEasing,\n () => {\n if (typeof callback === 'function'){\n callback();\n }\n }\n );\n }\n\n /**\n * Destroys the SmoothScroll instance.\n * @function\n */\n _destroy() {\n this.$element.off('click.zf.smoothScroll', this._linkClickListener)\n this.$element.off('click.zf.smoothScroll', 'a[href^=\"#\"]', this._linkClickListener);\n }\n}\n\n/**\n * Default settings for plugin.\n */\nSmoothScroll.defaults = {\n /**\n * Amount of time, in ms, the animated scrolling should take between locations.\n * @option\n * @type {number}\n * @default 500\n */\n animationDuration: 500,\n /**\n * Animation style to use when scrolling between locations. Can be `'swing'` or `'linear'`.\n * @option\n * @type {string}\n * @default 'linear'\n * @see {@link https://api.jquery.com/animate|Jquery animate}\n */\n animationEasing: 'linear',\n /**\n * Number of pixels to use as a marker for location changes.\n * @option\n * @type {number}\n * @default 50\n */\n threshold: 50,\n /**\n * Number of pixels to offset the scroll of the page on item click if using a sticky nav bar.\n * @option\n * @type {number}\n * @default 0\n */\n offset: 0\n}\n\nexport {SmoothScroll}\n","module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;"],"sourceRoot":""}
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]/./js/entries/plugins/foundation.smoothScroll.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.smoothScroll.js","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}"],"names":["Foundation","plugin","SmoothScroll","element","options","$element","$","extend","defaults","data","className","_init","id","GetYoDigits","attr","_events","_linkClickListener","_handleLinkClick","bind","on","e","currentTarget","is","arrival","getAttribute","_inTransition","scrollToLoc","preventDefault","off","loc","callback","$loc","length","scrollPos","Math","round","offset","top","threshold","stop","animate","scrollTop","animationDuration","animationEasing","Plugin"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yEAAyE;AACzE,CAAC;AACD,O;ACVA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,kDAA0C,gCAAgC;AAC1E;AACA;;AAEA;AACA;AACA;AACA,gEAAwD,kBAAkB;AAC1E;AACA,yDAAiD,cAAc;AAC/D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAyC,iCAAiC;AAC1E,wHAAgH,mBAAmB,EAAE;AACrI;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;;AAGA;AACA;;;;;;;;;;;;AClFA,8D;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA;AACAA,2DAAU,CAACC,MAAX,CAAkBC,qEAAlB,EAAgC,cAAhC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACHA;AACA;AACA;AAEA;;;;;IAIMA,Y;;;;;;;;;;;;;;AACJ;;;;;;;;2BAQSC,O,EAASC,O,EAAS;AACrB,WAAKC,QAAL,GAAgBF,OAAhB;AACA,WAAKC,OAAL,GAAeE,6CAAC,CAACC,MAAF,CAAS,EAAT,EAAaL,YAAY,CAACM,QAA1B,EAAoC,KAAKH,QAAL,CAAcI,IAAd,EAApC,EAA0DL,OAA1D,CAAf;AACA,WAAKM,SAAL,GAAiB,cAAjB,CAHqB,CAGY;;AAEjC,WAAKC,KAAL;AACH;AAED;;;;;;;4BAIQ;AACJ,UAAMC,EAAE,GAAG,KAAKP,QAAL,CAAc,CAAd,EAAiBO,EAAjB,IAAuBC,0EAAW,CAAC,CAAD,EAAI,eAAJ,CAA7C;AACA,WAAKR,QAAL,CAAcS,IAAd,CAAmB;AAAEF,UAAE,EAAFA;AAAF,OAAnB;;AAEA,WAAKG,OAAL;AACH;AAED;;;;;;;8BAIU;AACN,WAAKC,kBAAL,GAA0B,KAAKC,gBAAL,CAAsBC,IAAtB,CAA2B,IAA3B,CAA1B;AACA,WAAKb,QAAL,CAAcc,EAAd,CAAiB,uBAAjB,EAA0C,KAAKH,kBAA/C;AACA,WAAKX,QAAL,CAAcc,EAAd,CAAiB,uBAAjB,EAA0C,cAA1C,EAA0D,KAAKH,kBAA/D;AACH;AAED;;;;;;;;;qCAMiBI,C,EAAG;AAAA;;AAChB;AACA,UAAI,CAACd,6CAAC,CAACc,CAAC,CAACC,aAAH,CAAD,CAAmBC,EAAnB,CAAsB,cAAtB,CAAL,EAA4C;AAE5C,UAAMC,OAAO,GAAGH,CAAC,CAACC,aAAF,CAAgBG,YAAhB,CAA6B,MAA7B,CAAhB;AAEA,WAAKC,aAAL,GAAqB,IAArB;AAEAvB,kBAAY,CAACwB,WAAb,CAAyBH,OAAzB,EAAkC,KAAKnB,OAAvC,EAAgD,YAAM;AAClD,aAAI,CAACqB,aAAL,GAAqB,KAArB;AACH,OAFD;AAIAL,OAAC,CAACO,cAAF;AACH;;;;AA8BD;;;;+BAIW;AACP,WAAKtB,QAAL,CAAcuB,GAAd,CAAkB,uBAAlB,EAA2C,KAAKZ,kBAAhD;AACA,WAAKX,QAAL,CAAcuB,GAAd,CAAkB,uBAAlB,EAA2C,cAA3C,EAA2D,KAAKZ,kBAAhE;AACH;;;;AAnCD;;;;;;;;gCAQmBa,G,EAAgD;AAAA,UAA3CzB,OAA2C,uEAAjCF,YAAY,CAACM,QAAoB;AAAA,UAAVsB,QAAU;AAC/D,UAAMC,IAAI,GAAGzB,6CAAC,CAACuB,GAAD,CAAd,CAD+D,CAG/D;;AACA,UAAI,CAACE,IAAI,CAACC,MAAV,EAAkB,OAAO,KAAP;AAElB,UAAIC,SAAS,GAAGC,IAAI,CAACC,KAAL,CAAWJ,IAAI,CAACK,MAAL,GAAcC,GAAd,GAAoBjC,OAAO,CAACkC,SAAR,GAAoB,CAAxC,GAA4ClC,OAAO,CAACgC,MAA/D,CAAhB;AAEA9B,mDAAC,CAAC,YAAD,CAAD,CAAgBiC,IAAhB,CAAqB,IAArB,EAA2BC,OAA3B,CACI;AAAEC,iBAAS,EAAER;AAAb,OADJ,EAEI7B,OAAO,CAACsC,iBAFZ,EAGItC,OAAO,CAACuC,eAHZ,EAII,YAAM;AACF,YAAI,OAAOb,QAAP,KAAoB,UAAxB,EAAmC;AAC/BA,kBAAQ;AACX;AACJ,OARL;AAUH;;;;EArFsBc,6D;AAiG3B;;;;;AAGA1C,YAAY,CAACM,QAAb,GAAwB;AACtB;;;;;;AAMAkC,mBAAiB,EAAE,GAPG;;AAQtB;;;;;;;AAOAC,iBAAe,EAAE,QAfK;;AAgBtB;;;;;;AAMAL,WAAS,EAAE,EAtBW;;AAuBtB;;;;;;AAMAF,QAAM,EAAE;AA7Bc,CAAxB;;;;;;;;;;;;;;;;;;;;;;;;AC5GA,oD","file":"foundation.smoothScroll.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.smoothScroll\"] = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.smoothScroll\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __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 = 16);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","import { Foundation } from './foundation.core';\n\nimport { SmoothScroll } from '../../foundation.smoothScroll';\nFoundation.plugin(SmoothScroll, 'SmoothScroll');\n\nexport { Foundation, SmoothScroll };\n","import $ from 'jquery';\nimport { GetYoDigits } from './foundation.core.utils';\nimport { Plugin } from './foundation.core.plugin';\n\n/**\n * SmoothScroll module.\n * @module foundation.smoothScroll\n */\nclass SmoothScroll extends Plugin {\n /**\n * Creates a new instance of SmoothScroll.\n * @class\n * @name SmoothScroll\n * @fires SmoothScroll#init\n * @param {Object} element - jQuery object to add the trigger to.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, SmoothScroll.defaults, this.$element.data(), options);\n this.className = 'SmoothScroll'; // ie9 back compat\n\n this._init();\n }\n\n /**\n * Initialize the SmoothScroll plugin\n * @private\n */\n _init() {\n const id = this.$element[0].id || GetYoDigits(6, 'smooth-scroll');\n this.$element.attr({ id });\n\n this._events();\n }\n\n /**\n * Initializes events for SmoothScroll.\n * @private\n */\n _events() {\n this._linkClickListener = this._handleLinkClick.bind(this);\n this.$element.on('click.zf.smoothScroll', this._linkClickListener);\n this.$element.on('click.zf.smoothScroll', 'a[href^=\"#\"]', this._linkClickListener);\n }\n\n /**\n * Handle the given event to smoothly scroll to the anchor pointed by the event target.\n * @param {*} e - event\n * @function\n * @private\n */\n _handleLinkClick(e) {\n // Follow the link if it does not point to an anchor.\n if (!$(e.currentTarget).is('a[href^=\"#\"]')) return;\n\n const arrival = e.currentTarget.getAttribute('href');\n\n this._inTransition = true;\n\n SmoothScroll.scrollToLoc(arrival, this.options, () => {\n this._inTransition = false;\n });\n\n e.preventDefault();\n };\n\n /**\n * Function to scroll to a given location on the page.\n * @param {String} loc - A properly formatted jQuery id selector. Example: '#foo'\n * @param {Object} options - The options to use.\n * @param {Function} callback - The callback function.\n * @static\n * @function\n */\n static scrollToLoc(loc, options = SmoothScroll.defaults, callback) {\n const $loc = $(loc);\n\n // Do nothing if target does not exist to prevent errors\n if (!$loc.length) return false;\n\n var scrollPos = Math.round($loc.offset().top - options.threshold / 2 - options.offset);\n\n $('html, body').stop(true).animate(\n { scrollTop: scrollPos },\n options.animationDuration,\n options.animationEasing,\n () => {\n if (typeof callback === 'function'){\n callback();\n }\n }\n );\n }\n\n /**\n * Destroys the SmoothScroll instance.\n * @function\n */\n _destroy() {\n this.$element.off('click.zf.smoothScroll', this._linkClickListener)\n this.$element.off('click.zf.smoothScroll', 'a[href^=\"#\"]', this._linkClickListener);\n }\n}\n\n/**\n * Default settings for plugin.\n */\nSmoothScroll.defaults = {\n /**\n * Amount of time, in ms, the animated scrolling should take between locations.\n * @option\n * @type {number}\n * @default 500\n */\n animationDuration: 500,\n /**\n * Animation style to use when scrolling between locations. Can be `'swing'` or `'linear'`.\n * @option\n * @type {string}\n * @default 'linear'\n * @see {@link https://api.jquery.com/animate|Jquery animate}\n */\n animationEasing: 'linear',\n /**\n * Number of pixels to use as a marker for location changes.\n * @option\n * @type {number}\n * @default 50\n */\n threshold: 50,\n /**\n * Number of pixels to offset the scroll of the page on item click if using a sticky nav bar.\n * @option\n * @type {number}\n * @default 0\n */\n offset: 0\n}\n\nexport {SmoothScroll}\n","module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("./foundation.core"),require("jquery")):"function"==typeof define&&define.amd?define(["./foundation.core","jquery"],e):"object"==typeof exports?exports["foundation.smoothScroll"]=e(require("./foundation.core"),require("jquery")):(t.__FOUNDATION_EXTERNAL__=t.__FOUNDATION_EXTERNAL__||{},t.__FOUNDATION_EXTERNAL__["foundation.smoothScroll"]=e(t.__FOUNDATION_EXTERNAL__["foundation.core"],t.jQuery))}(window,function(o,n){return function(o){var n={};function r(t){if(n[t])return n[t].exports;var e=n[t]={i:t,l:!1,exports:{}};return o[t].call(e.exports,e,e.exports,r),e.l=!0,e.exports}return r.m=o,r.c=n,r.d=function(t,e,o){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:o})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(r.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)r.d(o,n,function(t){return e[t]}.bind(null,n));return o},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=16)}({"./foundation.core":function(t,e){t.exports=o},"./js/entries/plugins/foundation.smoothScroll.js":function(t,e,o){"use strict";o.r(e);var n=o("./foundation.core");o.d(e,"Foundation",function(){return n.Foundation});var r=o("./js/foundation.smoothScroll.js");o.d(e,"SmoothScroll",function(){return r.SmoothScroll}),n.Foundation.plugin(r.SmoothScroll,"SmoothScroll")},"./js/foundation.smoothScroll.js":function(t,e,o){"use strict";o.r(e),o.d(e,"SmoothScroll",function(){return a});var n=o("jquery"),u=o.n(n),r=o("./foundation.core");function i(t){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function l(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function c(t,e){return!e||"object"!==i(e)&&"function"!=typeof e?function(t){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(t):e}function f(t){return(f=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function s(t,e){return(s=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}var a=function(t){function i(){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,i),c(this,f(i).apply(this,arguments))}var e,o,n;return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&s(t,e)}(i,r["Plugin"]),e=i,n=[{key:"scrollToLoc",value:function(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:i.defaults,o=2<arguments.length?arguments[2]:void 0,n=u()(t);if(!n.length)return!1;var r=Math.round(n.offset().top-e.threshold/2-e.offset);u()("html, body").stop(!0).animate({scrollTop:r},e.animationDuration,e.animationEasing,function(){"function"==typeof o&&o()})}}],(o=[{key:"_setup",value:function(t,e){this.$element=t,this.options=u.a.extend({},i.defaults,this.$element.data(),e),this.className="SmoothScroll",this._init()}},{key:"_init",value:function(){var t=this.$element[0].id||Object(r.GetYoDigits)(6,"smooth-scroll");this.$element.attr({id:t}),this._events()}},{key:"_events",value:function(){this._linkClickListener=this._handleLinkClick.bind(this),this.$element.on("click.zf.smoothScroll",this._linkClickListener),this.$element.on("click.zf.smoothScroll",'a[href^="#"]',this._linkClickListener)}},{key:"_handleLinkClick",value:function(t){var e=this;if(u()(t.currentTarget).is('a[href^="#"]')){var o=t.currentTarget.getAttribute("href");this._inTransition=!0,i.scrollToLoc(o,this.options,function(){e._inTransition=!1}),t.preventDefault()}}},{key:"_destroy",value:function(){this.$element.off("click.zf.smoothScroll",this._linkClickListener),this.$element.off("click.zf.smoothScroll",'a[href^="#"]',this._linkClickListener)}}])&&l(e.prototype,o),n&&l(e,n),i}();a.defaults={animationDuration:500,animationEasing:"linear",threshold:50,offset:0}},16:function(t,e,o){t.exports=o("./js/entries/plugins/foundation.smoothScroll.js")},jquery:function(t,e){t.exports=n}})});
1
+ !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("./foundation.core"),require("jquery")):"function"==typeof define&&define.amd?define(["./foundation.core","jquery"],e):"object"==typeof exports?exports["foundation.smoothScroll"]=e(require("./foundation.core"),require("jquery")):(t.__FOUNDATION_EXTERNAL__=t.__FOUNDATION_EXTERNAL__||{},t.__FOUNDATION_EXTERNAL__["foundation.smoothScroll"]=e(t.__FOUNDATION_EXTERNAL__["foundation.core"],t.jQuery))}(window,function(o,n){return u={},r.m=i={"./foundation.core":function(t,e){t.exports=o},"./js/entries/plugins/foundation.smoothScroll.js":function(t,e,o){"use strict";o.r(e);var n=o("./foundation.core");o.d(e,"Foundation",function(){return n.Foundation});var r=o("./js/foundation.smoothScroll.js");o.d(e,"SmoothScroll",function(){return r.SmoothScroll}),n.Foundation.plugin(r.SmoothScroll,"SmoothScroll")},"./js/foundation.smoothScroll.js":function(t,e,o){"use strict";o.r(e),o.d(e,"SmoothScroll",function(){return l});var n=o("jquery"),c=o.n(n),r=o("./foundation.core");function i(t){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function u(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function f(t,e){return!e||"object"!==i(e)&&"function"!=typeof e?function(t){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(t):e}function s(t){return(s=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function a(t,e){return(a=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}var l=function(){function l(){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,l),f(this,s(l).apply(this,arguments))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&a(t,e)}(l,r["Plugin"]),function(t,e,o){e&&u(t.prototype,e),o&&u(t,o)}(l,[{key:"_setup",value:function(t,e){this.$element=t,this.options=c.a.extend({},l.defaults,this.$element.data(),e),this.className="SmoothScroll",this._init()}},{key:"_init",value:function(){var t=this.$element[0].id||Object(r.GetYoDigits)(6,"smooth-scroll");this.$element.attr({id:t}),this._events()}},{key:"_events",value:function(){this._linkClickListener=this._handleLinkClick.bind(this),this.$element.on("click.zf.smoothScroll",this._linkClickListener),this.$element.on("click.zf.smoothScroll",'a[href^="#"]',this._linkClickListener)}},{key:"_handleLinkClick",value:function(t){var e=this;if(c()(t.currentTarget).is('a[href^="#"]')){var o=t.currentTarget.getAttribute("href");this._inTransition=!0,l.scrollToLoc(o,this.options,function(){e._inTransition=!1}),t.preventDefault()}}},{key:"_destroy",value:function(){this.$element.off("click.zf.smoothScroll",this._linkClickListener),this.$element.off("click.zf.smoothScroll",'a[href^="#"]',this._linkClickListener)}}],[{key:"scrollToLoc",value:function(t,e,o){var n=1<arguments.length&&void 0!==e?e:l.defaults,r=2<arguments.length?o:void 0,i=c()(t);if(!i.length)return!1;var u=Math.round(i.offset().top-n.threshold/2-n.offset);c()("html, body").stop(!0).animate({scrollTop:u},n.animationDuration,n.animationEasing,function(){"function"==typeof r&&r()})}}]),l}();l.defaults={animationDuration:500,animationEasing:"linear",threshold:50,offset:0}},16:function(t,e,o){t.exports=o("./js/entries/plugins/foundation.smoothScroll.js")},jquery:function(t,e){t.exports=n}},r.c=u,r.d=function(t,e,o){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:o})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(r.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)r.d(o,n,function(t){return e[t]}.bind(null,n));return o},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=16);function r(t){if(u[t])return u[t].exports;var e=u[t]={i:t,l:!1,exports:{}};return i[t].call(e.exports,e,e.exports,r),e.l=!0,e.exports}var i,u});
2
2
  //# sourceMappingURL=foundation.smoothScroll.min.js.map
@@ -1 +1 @@
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]/js/entries/plugins/foundation.smoothScroll.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.smoothScroll.js","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__foundation_core__","__WEBPACK_EXTERNAL_MODULE_jquery__","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","__webpack_exports__","_foundation_core__WEBPACK_IMPORTED_MODULE_0__","_foundation_smoothScroll__WEBPACK_IMPORTED_MODULE_1__","Foundation","plugin","SmoothScroll","Plugin","loc","options","arguments","length","undefined","defaults","callback","$loc","$","scrollPos","Math","round","offset","top","threshold","stop","animate","scrollTop","animationDuration","animationEasing","element","this","$element","extend","data","className","_init","id","GetYoDigits","attr","_events","_linkClickListener","_handleLinkClick","on","e","_this","currentTarget","is","arrival","getAttribute","_inTransition","scrollToLoc","preventDefault","off"],"mappings":"CAAA,SAAAA,EAAAC,GACA,iBAAAC,SAAA,iBAAAC,OACAA,OAAAD,QAAAD,EAAAG,QAAA,qBAAAA,QAAA,WACA,mBAAAC,QAAAA,OAAAC,IACAD,OAAA,CAAA,oBAAA,UAAAJ,GACA,iBAAAC,QACAA,QAAA,2BAAAD,EAAAG,QAAA,qBAAAA,QAAA,YAEAJ,EAAA,wBAAAA,EAAA,yBAAA,GAAyEA,EAAA,wBAAA,2BAAAC,EAAAD,EAAA,wBAAA,mBAAAA,EAAA,SARzE,CASCO,OAAA,SAAAC,EAAAC,GACD,mBCTA,IAAAC,EAAA,GAGA,SAAAC,EAAAC,GAGA,GAAAF,EAAAE,GACA,OAAAF,EAAAE,GAAAV,QAGA,IAAAC,EAAAO,EAAAE,GAAA,CACAC,EAAAD,EACAE,GAAA,EACAZ,QAAA,IAUA,OANAa,EAAAH,GAAAI,KAAAb,EAAAD,QAAAC,EAAAA,EAAAD,QAAAS,GAGAR,EAAAW,GAAA,EAGAX,EAAAD,QA0DA,OArDAS,EAAAM,EAAAF,EAGAJ,EAAAO,EAAAR,EAGAC,EAAAQ,EAAA,SAAAjB,EAAAkB,EAAAC,GACAV,EAAAW,EAAApB,EAAAkB,IACAG,OAAAC,eAAAtB,EAAAkB,EAAA,CAA0CK,YAAA,EAAAC,IAAAL,KAK1CV,EAAAgB,EAAA,SAAAzB,GACA,oBAAA0B,QAAAA,OAAAC,aACAN,OAAAC,eAAAtB,EAAA0B,OAAAC,YAAA,CAAwDC,MAAA,WAExDP,OAAAC,eAAAtB,EAAA,aAAA,CAAiD4B,OAAA,KAQjDnB,EAAAoB,EAAA,SAAAD,EAAAE,GAEA,GADA,EAAAA,IAAAF,EAAAnB,EAAAmB,IACA,EAAAE,EAAA,OAAAF,EACA,GAAA,EAAAE,GAAA,iBAAAF,GAAAA,GAAAA,EAAAG,WAAA,OAAAH,EACA,IAAAI,EAAAX,OAAAY,OAAA,MAGA,GAFAxB,EAAAgB,EAAAO,GACAX,OAAAC,eAAAU,EAAA,UAAA,CAAyCT,YAAA,EAAAK,MAAAA,IACzC,EAAAE,GAAA,iBAAAF,EAAA,IAAA,IAAAM,KAAAN,EAAAnB,EAAAQ,EAAAe,EAAAE,EAAA,SAAAA,GAAgH,OAAAN,EAAAM,IAAqBC,KAAA,KAAAD,IACrI,OAAAF,GAIAvB,EAAA2B,EAAA,SAAAnC,GACA,IAAAkB,EAAAlB,GAAAA,EAAA8B,WACA,WAA2B,OAAA9B,EAAA,SAC3B,WAAiC,OAAAA,GAEjC,OADAQ,EAAAQ,EAAAE,EAAA,IAAAA,GACAA,GAIAV,EAAAW,EAAA,SAAAiB,EAAAC,GAAsD,OAAAjB,OAAAkB,UAAAC,eAAA1B,KAAAuB,EAAAC,IAGtD7B,EAAAgC,EAAA,GAIAhC,EAAAA,EAAAiC,EAAA,wCClFAzC,EAAAD,QAAAM,kFCAAG,EAAAgB,EAAAkB,GAAA,IAAAC,EAAAnC,EAAA,qBAAAA,EAAAQ,EAAA0B,EAAA,aAAA,WAAA,OAAAC,EAAA,aAAA,IAAAC,EAAApC,EAAA,mCAAAA,EAAAQ,EAAA0B,EAAA,eAAA,WAAA,OAAAE,EAAA,eAGAC,EAAAA,WAAWC,OAAOC,EAAAA,aAAc,i+BCK1BA,gaAAqBC,EAAAA,oDAmEJC,GAAgD,IAA3CC,EAA2C,EAAAC,UAAAC,aAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAjCJ,EAAaO,SAAUC,EAAU,EAAAJ,UAAAC,OAAAD,UAAA,QAAAE,EACzDG,EAAOC,GAAAA,CAAER,GAGf,IAAKO,EAAKJ,OAAQ,OAAO,EAEzB,IAAIM,EAAYC,KAAKC,MAAMJ,EAAKK,SAASC,IAAMZ,EAAQa,UAAY,EAAIb,EAAQW,QAE/EJ,GAAAA,CAAE,cAAcO,MAAK,GAAMC,QACvB,CAAEC,UAAWR,GACbR,EAAQiB,kBACRjB,EAAQkB,gBACR,WAC4B,mBAAbb,GACPA,0CAxETc,EAASnB,GACZoB,KAAKC,SAAWF,EAChBC,KAAKpB,QAAUO,EAAAA,EAAEe,OAAO,GAAIzB,EAAaO,SAAUgB,KAAKC,SAASE,OAAQvB,GACzEoB,KAAKI,UAAY,eAEjBJ,KAAKK,wCAQL,IAAMC,EAAKN,KAAKC,SAAS,GAAGK,IAAMC,OAAAA,EAAAA,YAAAA,CAAY,EAAG,iBACjDP,KAAKC,SAASO,KAAK,CAAEF,GAAAA,IAErBN,KAAKS,4CAQLT,KAAKU,mBAAqBV,KAAKW,iBAAiB/C,KAAKoC,MACrDA,KAAKC,SAASW,GAAG,wBAAyBZ,KAAKU,oBAC/CV,KAAKC,SAASW,GAAG,wBAAyB,eAAgBZ,KAAKU,6DASlDG,GAAG,IAAAC,EAAAd,KAEhB,GAAKb,GAAAA,CAAE0B,EAAEE,eAAeC,GAAG,gBAA3B,CAEA,IAAMC,EAAUJ,EAAEE,cAAcG,aAAa,QAE7ClB,KAAKmB,eAAgB,EAErB1C,EAAa2C,YAAYH,EAASjB,KAAKpB,QAAS,WAC5CkC,EAAKK,eAAgB,IAGzBN,EAAEQ,qDAoCFrB,KAAKC,SAASqB,IAAI,wBAAyBtB,KAAKU,oBAChDV,KAAKC,SAASqB,IAAI,wBAAyB,eAAgBtB,KAAKU,yDAOxEjC,EAAaO,SAAW,CAOtBa,kBAAmB,IAQnBC,gBAAiB,SAOjBL,UAAW,GAOXF,OAAQ,4GCzIV7D,EAAAD,QAAAO","file":"foundation.smoothScroll.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.smoothScroll\"] = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.smoothScroll\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __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 = 16);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","import { Foundation } from './foundation.core';\n\nimport { SmoothScroll } from '../../foundation.smoothScroll';\nFoundation.plugin(SmoothScroll, 'SmoothScroll');\n\nexport { Foundation, SmoothScroll };\n","import $ from 'jquery';\nimport { GetYoDigits } from './foundation.core.utils';\nimport { Plugin } from './foundation.core.plugin';\n\n/**\n * SmoothScroll module.\n * @module foundation.smooth-scroll\n */\nclass SmoothScroll extends Plugin {\n /**\n * Creates a new instance of SmoothScroll.\n * @class\n * @name SmoothScroll\n * @fires SmoothScroll#init\n * @param {Object} element - jQuery object to add the trigger to.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, SmoothScroll.defaults, this.$element.data(), options);\n this.className = 'SmoothScroll'; // ie9 back compat\n\n this._init();\n }\n\n /**\n * Initialize the SmoothScroll plugin\n * @private\n */\n _init() {\n const id = this.$element[0].id || GetYoDigits(6, 'smooth-scroll');\n this.$element.attr({ id });\n\n this._events();\n }\n\n /**\n * Initializes events for SmoothScroll.\n * @private\n */\n _events() {\n this._linkClickListener = this._handleLinkClick.bind(this);\n this.$element.on('click.zf.smoothScroll', this._linkClickListener);\n this.$element.on('click.zf.smoothScroll', 'a[href^=\"#\"]', this._linkClickListener);\n }\n\n /**\n * Handle the given event to smoothly scroll to the anchor pointed by the event target.\n * @param {*} e - event\n * @function\n * @private\n */\n _handleLinkClick(e) {\n // Follow the link if it does not point to an anchor.\n if (!$(e.currentTarget).is('a[href^=\"#\"]')) return;\n\n const arrival = e.currentTarget.getAttribute('href');\n\n this._inTransition = true;\n\n SmoothScroll.scrollToLoc(arrival, this.options, () => {\n this._inTransition = false;\n });\n\n e.preventDefault();\n };\n\n /**\n * Function to scroll to a given location on the page.\n * @param {String} loc - A properly formatted jQuery id selector. Example: '#foo'\n * @param {Object} options - The options to use.\n * @param {Function} callback - The callback function.\n * @static\n * @function\n */\n static scrollToLoc(loc, options = SmoothScroll.defaults, callback) {\n const $loc = $(loc);\n\n // Do nothing if target does not exist to prevent errors\n if (!$loc.length) return false;\n\n var scrollPos = Math.round($loc.offset().top - options.threshold / 2 - options.offset);\n\n $('html, body').stop(true).animate(\n { scrollTop: scrollPos },\n options.animationDuration,\n options.animationEasing,\n () => {\n if (typeof callback === 'function'){\n callback();\n }\n }\n );\n }\n\n /**\n * Destroys the SmoothScroll instance.\n * @function\n */\n _destroy() {\n this.$element.off('click.zf.smoothScroll', this._linkClickListener)\n this.$element.off('click.zf.smoothScroll', 'a[href^=\"#\"]', this._linkClickListener);\n }\n}\n\n/**\n * Default settings for plugin.\n */\nSmoothScroll.defaults = {\n /**\n * Amount of time, in ms, the animated scrolling should take between locations.\n * @option\n * @type {number}\n * @default 500\n */\n animationDuration: 500,\n /**\n * Animation style to use when scrolling between locations. Can be `'swing'` or `'linear'`.\n * @option\n * @type {string}\n * @default 'linear'\n * @see {@link https://api.jquery.com/animate|Jquery animate}\n */\n animationEasing: 'linear',\n /**\n * Number of pixels to use as a marker for location changes.\n * @option\n * @type {number}\n * @default 50\n */\n threshold: 50,\n /**\n * Number of pixels to offset the scroll of the page on item click if using a sticky nav bar.\n * @option\n * @type {number}\n * @default 0\n */\n offset: 0\n}\n\nexport {SmoothScroll}\n","module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;"]}
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]/js/entries/plugins/foundation.smoothScroll.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.smoothScroll.js","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__foundation_core__","__WEBPACK_EXTERNAL_MODULE_jquery__","installedModules","__webpack_require__","m","r","__webpack_exports__","_foundation_core__WEBPACK_IMPORTED_MODULE_0__","d","_foundation_smoothScroll__WEBPACK_IMPORTED_MODULE_1__","Foundation","plugin","SmoothScroll","Plugin","element","options","this","$element","$","extend","defaults","data","className","_init","id","GetYoDigits","attr","_events","_linkClickListener","_handleLinkClick","bind","on","e","_this","currentTarget","is","arrival","getAttribute","_inTransition","scrollToLoc","preventDefault","off","loc","arguments","length","undefined","callback","$loc","scrollPos","Math","round","offset","top","threshold","stop","animate","scrollTop","animationDuration","animationEasing","c","name","getter","o","Object","defineProperty","enumerable","get","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","n","object","property","prototype","hasOwnProperty","call","p","s","moduleId","i","l","modules"],"mappings":"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","file":"foundation.smoothScroll.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.smoothScroll\"] = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.smoothScroll\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __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 = 16);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","import { Foundation } from './foundation.core';\n\nimport { SmoothScroll } from '../../foundation.smoothScroll';\nFoundation.plugin(SmoothScroll, 'SmoothScroll');\n\nexport { Foundation, SmoothScroll };\n","import $ from 'jquery';\nimport { GetYoDigits } from './foundation.core.utils';\nimport { Plugin } from './foundation.core.plugin';\n\n/**\n * SmoothScroll module.\n * @module foundation.smoothScroll\n */\nclass SmoothScroll extends Plugin {\n /**\n * Creates a new instance of SmoothScroll.\n * @class\n * @name SmoothScroll\n * @fires SmoothScroll#init\n * @param {Object} element - jQuery object to add the trigger to.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, SmoothScroll.defaults, this.$element.data(), options);\n this.className = 'SmoothScroll'; // ie9 back compat\n\n this._init();\n }\n\n /**\n * Initialize the SmoothScroll plugin\n * @private\n */\n _init() {\n const id = this.$element[0].id || GetYoDigits(6, 'smooth-scroll');\n this.$element.attr({ id });\n\n this._events();\n }\n\n /**\n * Initializes events for SmoothScroll.\n * @private\n */\n _events() {\n this._linkClickListener = this._handleLinkClick.bind(this);\n this.$element.on('click.zf.smoothScroll', this._linkClickListener);\n this.$element.on('click.zf.smoothScroll', 'a[href^=\"#\"]', this._linkClickListener);\n }\n\n /**\n * Handle the given event to smoothly scroll to the anchor pointed by the event target.\n * @param {*} e - event\n * @function\n * @private\n */\n _handleLinkClick(e) {\n // Follow the link if it does not point to an anchor.\n if (!$(e.currentTarget).is('a[href^=\"#\"]')) return;\n\n const arrival = e.currentTarget.getAttribute('href');\n\n this._inTransition = true;\n\n SmoothScroll.scrollToLoc(arrival, this.options, () => {\n this._inTransition = false;\n });\n\n e.preventDefault();\n };\n\n /**\n * Function to scroll to a given location on the page.\n * @param {String} loc - A properly formatted jQuery id selector. Example: '#foo'\n * @param {Object} options - The options to use.\n * @param {Function} callback - The callback function.\n * @static\n * @function\n */\n static scrollToLoc(loc, options = SmoothScroll.defaults, callback) {\n const $loc = $(loc);\n\n // Do nothing if target does not exist to prevent errors\n if (!$loc.length) return false;\n\n var scrollPos = Math.round($loc.offset().top - options.threshold / 2 - options.offset);\n\n $('html, body').stop(true).animate(\n { scrollTop: scrollPos },\n options.animationDuration,\n options.animationEasing,\n () => {\n if (typeof callback === 'function'){\n callback();\n }\n }\n );\n }\n\n /**\n * Destroys the SmoothScroll instance.\n * @function\n */\n _destroy() {\n this.$element.off('click.zf.smoothScroll', this._linkClickListener)\n this.$element.off('click.zf.smoothScroll', 'a[href^=\"#\"]', this._linkClickListener);\n }\n}\n\n/**\n * Default settings for plugin.\n */\nSmoothScroll.defaults = {\n /**\n * Amount of time, in ms, the animated scrolling should take between locations.\n * @option\n * @type {number}\n * @default 500\n */\n animationDuration: 500,\n /**\n * Animation style to use when scrolling between locations. Can be `'swing'` or `'linear'`.\n * @option\n * @type {string}\n * @default 'linear'\n * @see {@link https://api.jquery.com/animate|Jquery animate}\n */\n animationEasing: 'linear',\n /**\n * Number of pixels to use as a marker for location changes.\n * @option\n * @type {number}\n * @default 50\n */\n threshold: 50,\n /**\n * Number of pixels to offset the scroll of the page on item click if using a sticky nav bar.\n * @option\n * @type {number}\n * @default 0\n */\n offset: 0\n}\n\nexport {SmoothScroll}\n","module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;"]}
@@ -164,8 +164,8 @@ __webpack_require__.r(__webpack_exports__);
164
164
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Sticky", function() { return Sticky; });
165
165
  /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ "jquery");
166
166
  /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);
167
- /* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation.core.utils */ "./foundation.core");
168
- /* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__);
167
+ /* harmony import */ var _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation.core.plugin */ "./foundation.core");
168
+ /* harmony import */ var _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__);
169
169
  /* harmony import */ var _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation.util.mediaQuery */ "./foundation.util.mediaQuery");
170
170
  /* harmony import */ var _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_2__);
171
171
  /* harmony import */ var _foundation_util_triggers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./foundation.util.triggers */ "./js/foundation.util.triggers.js");
@@ -244,7 +244,7 @@ function (_Plugin) {
244
244
  _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_2__["MediaQuery"]._init();
245
245
 
246
246
  var $parent = this.$element.parent('[data-sticky-container]'),
247
- id = this.$element[0].id || Object(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__["GetYoDigits"])(6, 'sticky'),
247
+ id = this.$element[0].id || Object(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__["GetYoDigits"])(6, 'sticky'),
248
248
  _this = this;
249
249
 
250
250
  if ($parent.length) {
@@ -269,7 +269,7 @@ function (_Plugin) {
269
269
 
270
270
  this.scrollCount = this.options.checkEvery;
271
271
  this.isStuck = false;
272
- this.onLoadListener = Object(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__["onLoad"])(jquery__WEBPACK_IMPORTED_MODULE_0___default()(window), function () {
272
+ this.onLoadListener = Object(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__["onLoad"])(jquery__WEBPACK_IMPORTED_MODULE_0___default()(window), function () {
273
273
  //We calculate the container height to have correct values for anchor points offset calculation.
274
274
  _this.containerHeight = _this.$element.css("display") == "none" ? 0 : _this.$element[0].getBoundingClientRect().height;
275
275
 
@@ -564,18 +564,17 @@ function (_Plugin) {
564
564
 
565
565
  this.$element.css({
566
566
  'max-width': "".concat(newElemWidth - pdngl - pdngr, "px")
567
- });
568
- var newContainerHeight = this.$element[0].getBoundingClientRect().height || this.containerHeight;
569
-
570
- if (this.$element.css("display") == "none") {
571
- newContainerHeight = 0;
567
+ }); // Recalculate the height only if it is "dynamic"
568
+
569
+ if (this.options.dynamicHeight || !this.containerHeight) {
570
+ // Get the sticked element height and apply it to the container to "hold the place"
571
+ var newContainerHeight = this.$element[0].getBoundingClientRect().height || this.containerHeight;
572
+ newContainerHeight = this.$element.css("display") == "none" ? 0 : newContainerHeight;
573
+ this.$container.css('height', newContainerHeight);
574
+ this.containerHeight = newContainerHeight;
572
575
  }
573
576
 
574
- this.containerHeight = newContainerHeight;
575
- this.$container.css({
576
- height: newContainerHeight
577
- });
578
- this.elemHeight = newContainerHeight;
577
+ this.elemHeight = this.containerHeight;
579
578
 
580
579
  if (!this.isStuck) {
581
580
  if (this.$element.hasClass('is-at-bottom')) {
@@ -584,7 +583,7 @@ function (_Plugin) {
584
583
  }
585
584
  }
586
585
 
587
- this._setBreakPoints(newContainerHeight, function () {
586
+ this._setBreakPoints(this.containerHeight, function () {
588
587
  if (cb && typeof cb === 'function') {
589
588
  cb();
590
589
  }
@@ -669,7 +668,7 @@ function (_Plugin) {
669
668
  }]);
670
669
 
671
670
  return Sticky;
672
- }(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__["Plugin"]);
671
+ }(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__["Plugin"]);
673
672
 
674
673
  Sticky.defaults = {
675
674
  /**
@@ -752,6 +751,14 @@ Sticky.defaults = {
752
751
  */
753
752
  containerClass: 'sticky-container',
754
753
 
754
+ /**
755
+ * If true (by default), keep the sticky container the same height as the element. Otherwise, the container height is set once and does not change.
756
+ * @option
757
+ * @type {boolean}
758
+ * @default true
759
+ */
760
+ dynamicHeight: true,
761
+
755
762
  /**
756
763
  * Number of scroll events between the plugin's recalculating sticky points. Setting it to `0` will cause it to recalc every scroll event, setting it to `-1` will prevent recalc on scroll.
757
764
  * @option
@@ -845,8 +852,9 @@ Triggers.Listeners.Basic = {
845
852
  }
846
853
  },
847
854
  closeableListener: function closeableListener(e) {
855
+ var animation = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('closable'); // Only close the first closable element. See https://git.io/zf-7833
856
+
848
857
  e.stopPropagation();
849
- var animation = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('closable');
850
858
 
851
859
  if (animation !== '') {
852
860
  _foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__["Motion"].animateOut(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), animation, function () {
@@ -1077,7 +1085,7 @@ Triggers.init = function ($, Foundation) {
1077
1085
  /*! no static exports found */
1078
1086
  /***/ (function(module, exports, __webpack_require__) {
1079
1087
 
1080
- module.exports = __webpack_require__(/*! /Users/ncoden/Documents/Documents/Projects/Programmation/Web/2016/Foundation/foundation-sites/js/entries/plugins/foundation.sticky.js */"./js/entries/plugins/foundation.sticky.js");
1088
+ module.exports = __webpack_require__(/*! /Volumes/Data/Development/Foundation/foundation-sites/js/entries/plugins/foundation.sticky.js */"./js/entries/plugins/foundation.sticky.js");
1081
1089
 
1082
1090
 
1083
1091
  /***/ }),
@@ -1 +1 @@
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.mediaQuery\"],\"amd\":\"./foundation.util.mediaQuery\",\"commonjs\":\"./foundation.util.mediaQuery\",\"commonjs2\":\"./foundation.util.mediaQuery\"}","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]/./js/entries/plugins/foundation.sticky.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.sticky.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","Sticky","element","options","$element","$","extend","defaults","data","className","Triggers","init","_init","MediaQuery","$parent","parent","id","GetYoDigits","_this","length","$container","wasWrapped","wrap","container","addClass","containerClass","stickyClass","attr","anchor","scrollCount","checkEvery","isStuck","onLoadListener","onLoad","window","containerHeight","css","getBoundingClientRect","height","elemHeight","$anchor","_parsePoints","_setSizes","scroll","pageYOffset","_calc","_removeSticky","topPoint","_events","split","reverse","join","top","topAnchor","btm","btmAnchor","document","documentElement","scrollHeight","pts","breaks","i","len","pt","place","offset","toLowerCase","points","scrollListener","isOn","canStick","off","on","e","el","_eventsHandler","_pauseListeners","trigger","checkSizes","bottomPoint","_setSticky","stickTo","mrgn","notStuckTo","removeClass","isTop","stickToTop","anchorPt","anchorHeight","topOrBottom","cb","is","stickyOn","newElemWidth","width","comp","getComputedStyle","pdngl","parseInt","pdngr","newContainerHeight","hasClass","_setBreakPoints","mTop","emCalc","marginTop","mBtm","marginBottom","winHeight","innerHeight","bottom","unwrap","Plugin","em","body","fontSize","MutationObserver","prefixes","triggers","type","forEach","Listeners","Basic","Global","Initializers","openListener","closeListener","toggleListener","closeableListener","stopPropagation","animation","Motion","animateOut","fadeOut","toggleFocusListener","triggerHandler","addOpenListener","$elem","addCloseListener","addToggleListener","addCloseableListener","addToggleFocusListener","resizeListener","$nodes","each","closeMeListener","pluginId","namespace","plugins","not","addClosemeListener","pluginName","yetiBoxes","plugNames","push","concat","console","error","listeners","map","name","debounceGlobalListener","debounce","listener","timer","args","Array","prototype","slice","call","arguments","clearTimeout","setTimeout","apply","addResizeListener","addScrollListener","addMutationEventsListener","find","listeningElementsMutation","mutationRecordsList","$target","target","attributeName","closest","elementObserver","observe","attributes","childList","characterData","subtree","attributeFilter","addSimpleListeners","$document","addGlobalListeners","triggersInitialized","IHearYou"],"mappings":"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","file":"foundation.sticky.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.mediaQuery\"), require(\"./foundation.util.motion\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"./foundation.util.mediaQuery\", \"./foundation.util.motion\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.sticky\"] = factory(require(\"./foundation.core\"), require(\"./foundation.util.mediaQuery\"), require(\"./foundation.util.motion\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.sticky\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.mediaQuery\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.motion\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__, __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__, __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 = 17);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__;","import { Foundation } from './foundation.core';\n\nimport { Sticky } from '../../foundation.sticky';\nFoundation.plugin(Sticky, 'Sticky');\n\nexport { Foundation, Sticky };\n","'use strict';\n\nimport $ from 'jquery';\nimport { onLoad, GetYoDigits } from './foundation.core.utils';\nimport { MediaQuery } from './foundation.util.mediaQuery';\nimport { Plugin } from './foundation.core.plugin';\nimport { Triggers } from './foundation.util.triggers';\n\n/**\n * Sticky module.\n * @module foundation.sticky\n * @requires foundation.util.triggers\n * @requires foundation.util.mediaQuery\n */\n\nclass Sticky extends Plugin {\n /**\n * Creates a new instance of a sticky thing.\n * @class\n * @name Sticky\n * @param {jQuery} element - jQuery object to make sticky.\n * @param {Object} options - options object passed when creating the element programmatically.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, Sticky.defaults, this.$element.data(), options);\n this.className = 'Sticky'; // ie9 back compat\n\n // Triggers init is idempotent, just need to make sure it is initialized\n Triggers.init($);\n\n this._init();\n }\n\n /**\n * Initializes the sticky element by adding classes, getting/setting dimensions, breakpoints and attributes\n * @function\n * @private\n */\n _init() {\n MediaQuery._init();\n\n var $parent = this.$element.parent('[data-sticky-container]'),\n id = this.$element[0].id || GetYoDigits(6, 'sticky'),\n _this = this;\n\n if($parent.length){\n this.$container = $parent;\n } else {\n this.wasWrapped = true;\n this.$element.wrap(this.options.container);\n this.$container = this.$element.parent();\n }\n this.$container.addClass(this.options.containerClass);\n\n this.$element.addClass(this.options.stickyClass).attr({ 'data-resize': id, 'data-mutate': id });\n if (this.options.anchor !== '') {\n $('#' + _this.options.anchor).attr({ 'data-mutate': id });\n }\n\n this.scrollCount = this.options.checkEvery;\n this.isStuck = false;\n this.onLoadListener = onLoad($(window), function () {\n //We calculate the container height to have correct values for anchor points offset calculation.\n _this.containerHeight = _this.$element.css(\"display\") == \"none\" ? 0 : _this.$element[0].getBoundingClientRect().height;\n _this.$container.css('height', _this.containerHeight);\n _this.elemHeight = _this.containerHeight;\n if (_this.options.anchor !== '') {\n _this.$anchor = $('#' + _this.options.anchor);\n } else {\n _this._parsePoints();\n }\n\n _this._setSizes(function () {\n var scroll = window.pageYOffset;\n _this._calc(false, scroll);\n //Unstick the element will ensure that proper classes are set.\n if (!_this.isStuck) {\n _this._removeSticky((scroll >= _this.topPoint) ? false : true);\n }\n });\n _this._events(id.split('-').reverse().join('-'));\n });\n }\n\n /**\n * If using multiple elements as anchors, calculates the top and bottom pixel values the sticky thing should stick and unstick on.\n * @function\n * @private\n */\n _parsePoints() {\n var top = this.options.topAnchor == \"\" ? 1 : this.options.topAnchor,\n btm = this.options.btmAnchor== \"\" ? document.documentElement.scrollHeight : this.options.btmAnchor,\n pts = [top, btm],\n breaks = {};\n for (var i = 0, len = pts.length; i < len && pts[i]; i++) {\n var pt;\n if (typeof pts[i] === 'number') {\n pt = pts[i];\n } else {\n var place = pts[i].split(':'),\n anchor = $(`#${place[0]}`);\n\n pt = anchor.offset().top;\n if (place[1] && place[1].toLowerCase() === 'bottom') {\n pt += anchor[0].getBoundingClientRect().height;\n }\n }\n breaks[i] = pt;\n }\n\n\n this.points = breaks;\n return;\n }\n\n /**\n * Adds event handlers for the scrolling element.\n * @private\n * @param {String} id - pseudo-random id for unique scroll event listener.\n */\n _events(id) {\n var _this = this,\n scrollListener = this.scrollListener = `scroll.zf.${id}`;\n if (this.isOn) { return; }\n if (this.canStick) {\n this.isOn = true;\n $(window).off(scrollListener)\n .on(scrollListener, function(e) {\n if (_this.scrollCount === 0) {\n _this.scrollCount = _this.options.checkEvery;\n _this._setSizes(function() {\n _this._calc(false, window.pageYOffset);\n });\n } else {\n _this.scrollCount--;\n _this._calc(false, window.pageYOffset);\n }\n });\n }\n\n this.$element.off('resizeme.zf.trigger')\n .on('resizeme.zf.trigger', function(e, el) {\n _this._eventsHandler(id);\n });\n\n this.$element.on('mutateme.zf.trigger', function (e, el) {\n _this._eventsHandler(id);\n });\n\n if(this.$anchor) {\n this.$anchor.on('mutateme.zf.trigger', function (e, el) {\n _this._eventsHandler(id);\n });\n }\n }\n\n /**\n * Handler for events.\n * @private\n * @param {String} id - pseudo-random id for unique scroll event listener.\n */\n _eventsHandler(id) {\n var _this = this,\n scrollListener = this.scrollListener = `scroll.zf.${id}`;\n\n _this._setSizes(function() {\n _this._calc(false);\n if (_this.canStick) {\n if (!_this.isOn) {\n _this._events(id);\n }\n } else if (_this.isOn) {\n _this._pauseListeners(scrollListener);\n }\n });\n }\n\n /**\n * Removes event handlers for scroll and change events on anchor.\n * @fires Sticky#pause\n * @param {String} scrollListener - unique, namespaced scroll listener attached to `window`\n */\n _pauseListeners(scrollListener) {\n this.isOn = false;\n $(window).off(scrollListener);\n\n /**\n * Fires when the plugin is paused due to resize event shrinking the view.\n * @event Sticky#pause\n * @private\n */\n this.$element.trigger('pause.zf.sticky');\n }\n\n /**\n * Called on every `scroll` event and on `_init`\n * fires functions based on booleans and cached values\n * @param {Boolean} checkSizes - true if plugin should recalculate sizes and breakpoints.\n * @param {Number} scroll - current scroll position passed from scroll event cb function. If not passed, defaults to `window.pageYOffset`.\n */\n _calc(checkSizes, scroll) {\n if (checkSizes) { this._setSizes(); }\n\n if (!this.canStick) {\n if (this.isStuck) {\n this._removeSticky(true);\n }\n return false;\n }\n\n if (!scroll) { scroll = window.pageYOffset; }\n\n if (scroll >= this.topPoint) {\n if (scroll <= this.bottomPoint) {\n if (!this.isStuck) {\n this._setSticky();\n }\n } else {\n if (this.isStuck) {\n this._removeSticky(false);\n }\n }\n } else {\n if (this.isStuck) {\n this._removeSticky(true);\n }\n }\n }\n\n /**\n * Causes the $element to become stuck.\n * Adds `position: fixed;`, and helper classes.\n * @fires Sticky#stuckto\n * @function\n * @private\n */\n _setSticky() {\n var _this = this,\n stickTo = this.options.stickTo,\n mrgn = stickTo === 'top' ? 'marginTop' : 'marginBottom',\n notStuckTo = stickTo === 'top' ? 'bottom' : 'top',\n css = {};\n\n css[mrgn] = `${this.options[mrgn]}em`;\n css[stickTo] = 0;\n css[notStuckTo] = 'auto';\n this.isStuck = true;\n this.$element.removeClass(`is-anchored is-at-${notStuckTo}`)\n .addClass(`is-stuck is-at-${stickTo}`)\n .css(css)\n /**\n * Fires when the $element has become `position: fixed;`\n * Namespaced to `top` or `bottom`, e.g. `sticky.zf.stuckto:top`\n * @event Sticky#stuckto\n */\n .trigger(`sticky.zf.stuckto:${stickTo}`);\n this.$element.on(\"transitionend webkitTransitionEnd oTransitionEnd otransitionend MSTransitionEnd\", function() {\n _this._setSizes();\n });\n }\n\n /**\n * Causes the $element to become unstuck.\n * Removes `position: fixed;`, and helper classes.\n * Adds other helper classes.\n * @param {Boolean} isTop - tells the function if the $element should anchor to the top or bottom of its $anchor element.\n * @fires Sticky#unstuckfrom\n * @private\n */\n _removeSticky(isTop) {\n var stickTo = this.options.stickTo,\n stickToTop = stickTo === 'top',\n css = {},\n anchorPt = (this.points ? this.points[1] - this.points[0] : this.anchorHeight) - this.elemHeight,\n mrgn = stickToTop ? 'marginTop' : 'marginBottom',\n notStuckTo = stickToTop ? 'bottom' : 'top',\n topOrBottom = isTop ? 'top' : 'bottom';\n\n css[mrgn] = 0;\n\n css['bottom'] = 'auto';\n if(isTop) {\n css['top'] = 0;\n } else {\n css['top'] = anchorPt;\n }\n\n this.isStuck = false;\n this.$element.removeClass(`is-stuck is-at-${stickTo}`)\n .addClass(`is-anchored is-at-${topOrBottom}`)\n .css(css)\n /**\n * Fires when the $element has become anchored.\n * Namespaced to `top` or `bottom`, e.g. `sticky.zf.unstuckfrom:bottom`\n * @event Sticky#unstuckfrom\n */\n .trigger(`sticky.zf.unstuckfrom:${topOrBottom}`);\n }\n\n /**\n * Sets the $element and $container sizes for plugin.\n * Calls `_setBreakPoints`.\n * @param {Function} cb - optional callback function to fire on completion of `_setBreakPoints`.\n * @private\n */\n _setSizes(cb) {\n this.canStick = MediaQuery.is(this.options.stickyOn);\n if (!this.canStick) {\n if (cb && typeof cb === 'function') { cb(); }\n }\n var _this = this,\n newElemWidth = this.$container[0].getBoundingClientRect().width,\n comp = window.getComputedStyle(this.$container[0]),\n pdngl = parseInt(comp['padding-left'], 10),\n pdngr = parseInt(comp['padding-right'], 10);\n\n if (this.$anchor && this.$anchor.length) {\n this.anchorHeight = this.$anchor[0].getBoundingClientRect().height;\n } else {\n this._parsePoints();\n }\n\n this.$element.css({\n 'max-width': `${newElemWidth - pdngl - pdngr}px`\n });\n\n var newContainerHeight = this.$element[0].getBoundingClientRect().height || this.containerHeight;\n if (this.$element.css(\"display\") == \"none\") {\n newContainerHeight = 0;\n }\n this.containerHeight = newContainerHeight;\n this.$container.css({\n height: newContainerHeight\n });\n this.elemHeight = newContainerHeight;\n\n if (!this.isStuck) {\n if (this.$element.hasClass('is-at-bottom')) {\n var anchorPt = (this.points ? this.points[1] - this.$container.offset().top : this.anchorHeight) - this.elemHeight;\n this.$element.css('top', anchorPt);\n }\n }\n\n this._setBreakPoints(newContainerHeight, function() {\n if (cb && typeof cb === 'function') { cb(); }\n });\n }\n\n /**\n * Sets the upper and lower breakpoints for the element to become sticky/unsticky.\n * @param {Number} elemHeight - px value for sticky.$element height, calculated by `_setSizes`.\n * @param {Function} cb - optional callback function to be called on completion.\n * @private\n */\n _setBreakPoints(elemHeight, cb) {\n if (!this.canStick) {\n if (cb && typeof cb === 'function') { cb(); }\n else { return false; }\n }\n var mTop = emCalc(this.options.marginTop),\n mBtm = emCalc(this.options.marginBottom),\n topPoint = this.points ? this.points[0] : this.$anchor.offset().top,\n bottomPoint = this.points ? this.points[1] : topPoint + this.anchorHeight,\n // topPoint = this.$anchor.offset().top || this.points[0],\n // bottomPoint = topPoint + this.anchorHeight || this.points[1],\n winHeight = window.innerHeight;\n\n if (this.options.stickTo === 'top') {\n topPoint -= mTop;\n bottomPoint -= (elemHeight + mTop);\n } else if (this.options.stickTo === 'bottom') {\n topPoint -= (winHeight - (elemHeight + mBtm));\n bottomPoint -= (winHeight - mBtm);\n } else {\n //this would be the stickTo: both option... tricky\n }\n\n this.topPoint = topPoint;\n this.bottomPoint = bottomPoint;\n\n if (cb && typeof cb === 'function') { cb(); }\n }\n\n /**\n * Destroys the current sticky element.\n * Resets the element to the top position first.\n * Removes event listeners, JS-added css properties and classes, and unwraps the $element if the JS added the $container.\n * @function\n */\n _destroy() {\n this._removeSticky(true);\n\n this.$element.removeClass(`${this.options.stickyClass} is-anchored is-at-top`)\n .css({\n height: '',\n top: '',\n bottom: '',\n 'max-width': ''\n })\n .off('resizeme.zf.trigger')\n .off('mutateme.zf.trigger');\n if (this.$anchor && this.$anchor.length) {\n this.$anchor.off('change.zf.sticky');\n }\n if (this.scrollListener) $(window).off(this.scrollListener)\n if (this.onLoadListener) $(window).off(this.onLoadListener)\n\n if (this.wasWrapped) {\n this.$element.unwrap();\n } else {\n this.$container.removeClass(this.options.containerClass)\n .css({\n height: ''\n });\n }\n }\n}\n\nSticky.defaults = {\n /**\n * Customizable container template. Add your own classes for styling and sizing.\n * @option\n * @type {string}\n * @default '&lt;div data-sticky-container&gt;&lt;/div&gt;'\n */\n container: '<div data-sticky-container></div>',\n /**\n * Location in the view the element sticks to. Can be `'top'` or `'bottom'`.\n * @option\n * @type {string}\n * @default 'top'\n */\n stickTo: 'top',\n /**\n * If anchored to a single element, the id of that element.\n * @option\n * @type {string}\n * @default ''\n */\n anchor: '',\n /**\n * If using more than one element as anchor points, the id of the top anchor.\n * @option\n * @type {string}\n * @default ''\n */\n topAnchor: '',\n /**\n * If using more than one element as anchor points, the id of the bottom anchor.\n * @option\n * @type {string}\n * @default ''\n */\n btmAnchor: '',\n /**\n * Margin, in `em`'s to apply to the top of the element when it becomes sticky.\n * @option\n * @type {number}\n * @default 1\n */\n marginTop: 1,\n /**\n * Margin, in `em`'s to apply to the bottom of the element when it becomes sticky.\n * @option\n * @type {number}\n * @default 1\n */\n marginBottom: 1,\n /**\n * Breakpoint string that is the minimum screen size an element should become sticky.\n * @option\n * @type {string}\n * @default 'medium'\n */\n stickyOn: 'medium',\n /**\n * Class applied to sticky element, and removed on destruction. Foundation defaults to `sticky`.\n * @option\n * @type {string}\n * @default 'sticky'\n */\n stickyClass: 'sticky',\n /**\n * Class applied to sticky container. Foundation defaults to `sticky-container`.\n * @option\n * @type {string}\n * @default 'sticky-container'\n */\n containerClass: 'sticky-container',\n /**\n * Number of scroll events between the plugin's recalculating sticky points. Setting it to `0` will cause it to recalc every scroll event, setting it to `-1` will prevent recalc on scroll.\n * @option\n * @type {number}\n * @default -1\n */\n checkEvery: -1\n};\n\n/**\n * Helper function to calculate em values\n * @param Number {em} - number of em's to calculate into pixels\n */\nfunction emCalc(em) {\n return parseInt(window.getComputedStyle(document.body, null).fontSize, 10) * em;\n}\n\nexport {Sticky};\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 e.stopPropagation();\n let animation = $(this).data('closable');\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":""}
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.mediaQuery\"],\"amd\":\"./foundation.util.mediaQuery\",\"commonjs\":\"./foundation.util.mediaQuery\",\"commonjs2\":\"./foundation.util.mediaQuery\"}","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]/./js/entries/plugins/foundation.sticky.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.sticky.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","Sticky","element","options","$element","$","extend","defaults","data","className","Triggers","init","_init","MediaQuery","$parent","parent","id","GetYoDigits","_this","length","$container","wasWrapped","wrap","container","addClass","containerClass","stickyClass","attr","anchor","scrollCount","checkEvery","isStuck","onLoadListener","onLoad","window","containerHeight","css","getBoundingClientRect","height","elemHeight","$anchor","_parsePoints","_setSizes","scroll","pageYOffset","_calc","_removeSticky","topPoint","_events","split","reverse","join","top","topAnchor","btm","btmAnchor","document","documentElement","scrollHeight","pts","breaks","i","len","pt","place","offset","toLowerCase","points","scrollListener","isOn","canStick","off","on","e","el","_eventsHandler","_pauseListeners","trigger","checkSizes","bottomPoint","_setSticky","stickTo","mrgn","notStuckTo","removeClass","isTop","stickToTop","anchorPt","anchorHeight","topOrBottom","cb","is","stickyOn","newElemWidth","width","comp","getComputedStyle","pdngl","parseInt","pdngr","dynamicHeight","newContainerHeight","hasClass","_setBreakPoints","mTop","emCalc","marginTop","mBtm","marginBottom","winHeight","innerHeight","bottom","unwrap","Plugin","em","body","fontSize","MutationObserver","prefixes","triggers","type","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","closeMeListener","pluginId","namespace","plugins","not","addClosemeListener","pluginName","yetiBoxes","plugNames","push","concat","console","error","listeners","map","name","debounceGlobalListener","debounce","listener","timer","args","Array","prototype","slice","call","arguments","clearTimeout","setTimeout","apply","addResizeListener","addScrollListener","addMutationEventsListener","find","listeningElementsMutation","mutationRecordsList","$target","target","attributeName","closest","elementObserver","observe","attributes","childList","characterData","subtree","attributeFilter","addSimpleListeners","$document","addGlobalListeners","triggersInitialized","IHearYou"],"mappings":"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","file":"foundation.sticky.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.mediaQuery\"), require(\"./foundation.util.motion\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"./foundation.util.mediaQuery\", \"./foundation.util.motion\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.sticky\"] = factory(require(\"./foundation.core\"), require(\"./foundation.util.mediaQuery\"), require(\"./foundation.util.motion\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.sticky\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.mediaQuery\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.motion\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__, __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__, __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 = 17);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__;","import { Foundation } from './foundation.core';\n\nimport { Sticky } from '../../foundation.sticky';\nFoundation.plugin(Sticky, 'Sticky');\n\nexport { Foundation, Sticky };\n","'use strict';\n\nimport $ from 'jquery';\nimport { Plugin } from './foundation.core.plugin';\nimport { onLoad, GetYoDigits } from './foundation.core.utils';\nimport { MediaQuery } from './foundation.util.mediaQuery';\nimport { Triggers } from './foundation.util.triggers';\n\n/**\n * Sticky module.\n * @module foundation.sticky\n * @requires foundation.util.triggers\n * @requires foundation.util.mediaQuery\n */\n\nclass Sticky extends Plugin {\n /**\n * Creates a new instance of a sticky thing.\n * @class\n * @name Sticky\n * @param {jQuery} element - jQuery object to make sticky.\n * @param {Object} options - options object passed when creating the element programmatically.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, Sticky.defaults, this.$element.data(), options);\n this.className = 'Sticky'; // ie9 back compat\n\n // Triggers init is idempotent, just need to make sure it is initialized\n Triggers.init($);\n\n this._init();\n }\n\n /**\n * Initializes the sticky element by adding classes, getting/setting dimensions, breakpoints and attributes\n * @function\n * @private\n */\n _init() {\n MediaQuery._init();\n\n var $parent = this.$element.parent('[data-sticky-container]'),\n id = this.$element[0].id || GetYoDigits(6, 'sticky'),\n _this = this;\n\n if($parent.length){\n this.$container = $parent;\n } else {\n this.wasWrapped = true;\n this.$element.wrap(this.options.container);\n this.$container = this.$element.parent();\n }\n this.$container.addClass(this.options.containerClass);\n\n this.$element.addClass(this.options.stickyClass).attr({ 'data-resize': id, 'data-mutate': id });\n if (this.options.anchor !== '') {\n $('#' + _this.options.anchor).attr({ 'data-mutate': id });\n }\n\n this.scrollCount = this.options.checkEvery;\n this.isStuck = false;\n this.onLoadListener = onLoad($(window), function () {\n //We calculate the container height to have correct values for anchor points offset calculation.\n _this.containerHeight = _this.$element.css(\"display\") == \"none\" ? 0 : _this.$element[0].getBoundingClientRect().height;\n _this.$container.css('height', _this.containerHeight);\n _this.elemHeight = _this.containerHeight;\n if (_this.options.anchor !== '') {\n _this.$anchor = $('#' + _this.options.anchor);\n } else {\n _this._parsePoints();\n }\n\n _this._setSizes(function () {\n var scroll = window.pageYOffset;\n _this._calc(false, scroll);\n //Unstick the element will ensure that proper classes are set.\n if (!_this.isStuck) {\n _this._removeSticky((scroll >= _this.topPoint) ? false : true);\n }\n });\n _this._events(id.split('-').reverse().join('-'));\n });\n }\n\n /**\n * If using multiple elements as anchors, calculates the top and bottom pixel values the sticky thing should stick and unstick on.\n * @function\n * @private\n */\n _parsePoints() {\n var top = this.options.topAnchor == \"\" ? 1 : this.options.topAnchor,\n btm = this.options.btmAnchor== \"\" ? document.documentElement.scrollHeight : this.options.btmAnchor,\n pts = [top, btm],\n breaks = {};\n for (var i = 0, len = pts.length; i < len && pts[i]; i++) {\n var pt;\n if (typeof pts[i] === 'number') {\n pt = pts[i];\n } else {\n var place = pts[i].split(':'),\n anchor = $(`#${place[0]}`);\n\n pt = anchor.offset().top;\n if (place[1] && place[1].toLowerCase() === 'bottom') {\n pt += anchor[0].getBoundingClientRect().height;\n }\n }\n breaks[i] = pt;\n }\n\n\n this.points = breaks;\n return;\n }\n\n /**\n * Adds event handlers for the scrolling element.\n * @private\n * @param {String} id - pseudo-random id for unique scroll event listener.\n */\n _events(id) {\n var _this = this,\n scrollListener = this.scrollListener = `scroll.zf.${id}`;\n if (this.isOn) { return; }\n if (this.canStick) {\n this.isOn = true;\n $(window).off(scrollListener)\n .on(scrollListener, function(e) {\n if (_this.scrollCount === 0) {\n _this.scrollCount = _this.options.checkEvery;\n _this._setSizes(function() {\n _this._calc(false, window.pageYOffset);\n });\n } else {\n _this.scrollCount--;\n _this._calc(false, window.pageYOffset);\n }\n });\n }\n\n this.$element.off('resizeme.zf.trigger')\n .on('resizeme.zf.trigger', function(e, el) {\n _this._eventsHandler(id);\n });\n\n this.$element.on('mutateme.zf.trigger', function (e, el) {\n _this._eventsHandler(id);\n });\n\n if(this.$anchor) {\n this.$anchor.on('mutateme.zf.trigger', function (e, el) {\n _this._eventsHandler(id);\n });\n }\n }\n\n /**\n * Handler for events.\n * @private\n * @param {String} id - pseudo-random id for unique scroll event listener.\n */\n _eventsHandler(id) {\n var _this = this,\n scrollListener = this.scrollListener = `scroll.zf.${id}`;\n\n _this._setSizes(function() {\n _this._calc(false);\n if (_this.canStick) {\n if (!_this.isOn) {\n _this._events(id);\n }\n } else if (_this.isOn) {\n _this._pauseListeners(scrollListener);\n }\n });\n }\n\n /**\n * Removes event handlers for scroll and change events on anchor.\n * @fires Sticky#pause\n * @param {String} scrollListener - unique, namespaced scroll listener attached to `window`\n */\n _pauseListeners(scrollListener) {\n this.isOn = false;\n $(window).off(scrollListener);\n\n /**\n * Fires when the plugin is paused due to resize event shrinking the view.\n * @event Sticky#pause\n * @private\n */\n this.$element.trigger('pause.zf.sticky');\n }\n\n /**\n * Called on every `scroll` event and on `_init`\n * fires functions based on booleans and cached values\n * @param {Boolean} checkSizes - true if plugin should recalculate sizes and breakpoints.\n * @param {Number} scroll - current scroll position passed from scroll event cb function. If not passed, defaults to `window.pageYOffset`.\n */\n _calc(checkSizes, scroll) {\n if (checkSizes) { this._setSizes(); }\n\n if (!this.canStick) {\n if (this.isStuck) {\n this._removeSticky(true);\n }\n return false;\n }\n\n if (!scroll) { scroll = window.pageYOffset; }\n\n if (scroll >= this.topPoint) {\n if (scroll <= this.bottomPoint) {\n if (!this.isStuck) {\n this._setSticky();\n }\n } else {\n if (this.isStuck) {\n this._removeSticky(false);\n }\n }\n } else {\n if (this.isStuck) {\n this._removeSticky(true);\n }\n }\n }\n\n /**\n * Causes the $element to become stuck.\n * Adds `position: fixed;`, and helper classes.\n * @fires Sticky#stuckto\n * @function\n * @private\n */\n _setSticky() {\n var _this = this,\n stickTo = this.options.stickTo,\n mrgn = stickTo === 'top' ? 'marginTop' : 'marginBottom',\n notStuckTo = stickTo === 'top' ? 'bottom' : 'top',\n css = {};\n\n css[mrgn] = `${this.options[mrgn]}em`;\n css[stickTo] = 0;\n css[notStuckTo] = 'auto';\n this.isStuck = true;\n this.$element.removeClass(`is-anchored is-at-${notStuckTo}`)\n .addClass(`is-stuck is-at-${stickTo}`)\n .css(css)\n /**\n * Fires when the $element has become `position: fixed;`\n * Namespaced to `top` or `bottom`, e.g. `sticky.zf.stuckto:top`\n * @event Sticky#stuckto\n */\n .trigger(`sticky.zf.stuckto:${stickTo}`);\n this.$element.on(\"transitionend webkitTransitionEnd oTransitionEnd otransitionend MSTransitionEnd\", function() {\n _this._setSizes();\n });\n }\n\n /**\n * Causes the $element to become unstuck.\n * Removes `position: fixed;`, and helper classes.\n * Adds other helper classes.\n * @param {Boolean} isTop - tells the function if the $element should anchor to the top or bottom of its $anchor element.\n * @fires Sticky#unstuckfrom\n * @private\n */\n _removeSticky(isTop) {\n var stickTo = this.options.stickTo,\n stickToTop = stickTo === 'top',\n css = {},\n anchorPt = (this.points ? this.points[1] - this.points[0] : this.anchorHeight) - this.elemHeight,\n mrgn = stickToTop ? 'marginTop' : 'marginBottom',\n notStuckTo = stickToTop ? 'bottom' : 'top',\n topOrBottom = isTop ? 'top' : 'bottom';\n\n css[mrgn] = 0;\n\n css['bottom'] = 'auto';\n if(isTop) {\n css['top'] = 0;\n } else {\n css['top'] = anchorPt;\n }\n\n this.isStuck = false;\n this.$element.removeClass(`is-stuck is-at-${stickTo}`)\n .addClass(`is-anchored is-at-${topOrBottom}`)\n .css(css)\n /**\n * Fires when the $element has become anchored.\n * Namespaced to `top` or `bottom`, e.g. `sticky.zf.unstuckfrom:bottom`\n * @event Sticky#unstuckfrom\n */\n .trigger(`sticky.zf.unstuckfrom:${topOrBottom}`);\n }\n\n /**\n * Sets the $element and $container sizes for plugin.\n * Calls `_setBreakPoints`.\n * @param {Function} cb - optional callback function to fire on completion of `_setBreakPoints`.\n * @private\n */\n _setSizes(cb) {\n this.canStick = MediaQuery.is(this.options.stickyOn);\n if (!this.canStick) {\n if (cb && typeof cb === 'function') { cb(); }\n }\n\n var _this = this,\n newElemWidth = this.$container[0].getBoundingClientRect().width,\n comp = window.getComputedStyle(this.$container[0]),\n pdngl = parseInt(comp['padding-left'], 10),\n pdngr = parseInt(comp['padding-right'], 10);\n\n if (this.$anchor && this.$anchor.length) {\n this.anchorHeight = this.$anchor[0].getBoundingClientRect().height;\n } else {\n this._parsePoints();\n }\n\n this.$element.css({\n 'max-width': `${newElemWidth - pdngl - pdngr}px`\n });\n\n // Recalculate the height only if it is \"dynamic\"\n if (this.options.dynamicHeight || !this.containerHeight) {\n // Get the sticked element height and apply it to the container to \"hold the place\"\n var newContainerHeight = this.$element[0].getBoundingClientRect().height || this.containerHeight;\n newContainerHeight = this.$element.css(\"display\") == \"none\" ? 0 : newContainerHeight;\n this.$container.css('height', newContainerHeight);\n this.containerHeight = newContainerHeight;\n }\n this.elemHeight = this.containerHeight;\n\n if (!this.isStuck) {\n if (this.$element.hasClass('is-at-bottom')) {\n var anchorPt = (this.points ? this.points[1] - this.$container.offset().top : this.anchorHeight) - this.elemHeight;\n this.$element.css('top', anchorPt);\n }\n }\n\n this._setBreakPoints(this.containerHeight, function() {\n if (cb && typeof cb === 'function') { cb(); }\n });\n }\n\n /**\n * Sets the upper and lower breakpoints for the element to become sticky/unsticky.\n * @param {Number} elemHeight - px value for sticky.$element height, calculated by `_setSizes`.\n * @param {Function} cb - optional callback function to be called on completion.\n * @private\n */\n _setBreakPoints(elemHeight, cb) {\n if (!this.canStick) {\n if (cb && typeof cb === 'function') { cb(); }\n else { return false; }\n }\n var mTop = emCalc(this.options.marginTop),\n mBtm = emCalc(this.options.marginBottom),\n topPoint = this.points ? this.points[0] : this.$anchor.offset().top,\n bottomPoint = this.points ? this.points[1] : topPoint + this.anchorHeight,\n // topPoint = this.$anchor.offset().top || this.points[0],\n // bottomPoint = topPoint + this.anchorHeight || this.points[1],\n winHeight = window.innerHeight;\n\n if (this.options.stickTo === 'top') {\n topPoint -= mTop;\n bottomPoint -= (elemHeight + mTop);\n } else if (this.options.stickTo === 'bottom') {\n topPoint -= (winHeight - (elemHeight + mBtm));\n bottomPoint -= (winHeight - mBtm);\n } else {\n //this would be the stickTo: both option... tricky\n }\n\n this.topPoint = topPoint;\n this.bottomPoint = bottomPoint;\n\n if (cb && typeof cb === 'function') { cb(); }\n }\n\n /**\n * Destroys the current sticky element.\n * Resets the element to the top position first.\n * Removes event listeners, JS-added css properties and classes, and unwraps the $element if the JS added the $container.\n * @function\n */\n _destroy() {\n this._removeSticky(true);\n\n this.$element.removeClass(`${this.options.stickyClass} is-anchored is-at-top`)\n .css({\n height: '',\n top: '',\n bottom: '',\n 'max-width': ''\n })\n .off('resizeme.zf.trigger')\n .off('mutateme.zf.trigger');\n if (this.$anchor && this.$anchor.length) {\n this.$anchor.off('change.zf.sticky');\n }\n if (this.scrollListener) $(window).off(this.scrollListener)\n if (this.onLoadListener) $(window).off(this.onLoadListener)\n\n if (this.wasWrapped) {\n this.$element.unwrap();\n } else {\n this.$container.removeClass(this.options.containerClass)\n .css({\n height: ''\n });\n }\n }\n}\n\nSticky.defaults = {\n /**\n * Customizable container template. Add your own classes for styling and sizing.\n * @option\n * @type {string}\n * @default '&lt;div data-sticky-container&gt;&lt;/div&gt;'\n */\n container: '<div data-sticky-container></div>',\n /**\n * Location in the view the element sticks to. Can be `'top'` or `'bottom'`.\n * @option\n * @type {string}\n * @default 'top'\n */\n stickTo: 'top',\n /**\n * If anchored to a single element, the id of that element.\n * @option\n * @type {string}\n * @default ''\n */\n anchor: '',\n /**\n * If using more than one element as anchor points, the id of the top anchor.\n * @option\n * @type {string}\n * @default ''\n */\n topAnchor: '',\n /**\n * If using more than one element as anchor points, the id of the bottom anchor.\n * @option\n * @type {string}\n * @default ''\n */\n btmAnchor: '',\n /**\n * Margin, in `em`'s to apply to the top of the element when it becomes sticky.\n * @option\n * @type {number}\n * @default 1\n */\n marginTop: 1,\n /**\n * Margin, in `em`'s to apply to the bottom of the element when it becomes sticky.\n * @option\n * @type {number}\n * @default 1\n */\n marginBottom: 1,\n /**\n * Breakpoint string that is the minimum screen size an element should become sticky.\n * @option\n * @type {string}\n * @default 'medium'\n */\n stickyOn: 'medium',\n /**\n * Class applied to sticky element, and removed on destruction. Foundation defaults to `sticky`.\n * @option\n * @type {string}\n * @default 'sticky'\n */\n stickyClass: 'sticky',\n /**\n * Class applied to sticky container. Foundation defaults to `sticky-container`.\n * @option\n * @type {string}\n * @default 'sticky-container'\n */\n containerClass: 'sticky-container',\n /**\n * If true (by default), keep the sticky container the same height as the element. Otherwise, the container height is set once and does not change.\n * @option\n * @type {boolean}\n * @default true\n */\n dynamicHeight: true,\n /**\n * Number of scroll events between the plugin's recalculating sticky points. Setting it to `0` will cause it to recalc every scroll event, setting it to `-1` will prevent recalc on scroll.\n * @option\n * @type {number}\n * @default -1\n */\n checkEvery: -1\n};\n\n/**\n * Helper function to calculate em values\n * @param Number {em} - number of em's to calculate into pixels\n */\nfunction emCalc(em) {\n return parseInt(window.getComputedStyle(document.body, null).fontSize, 10) * em;\n}\n\nexport {Sticky};\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":""}
@@ -1,2 +1,2 @@
1
- !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("./foundation.core"),require("./foundation.util.mediaQuery"),require("./foundation.util.motion"),require("jquery")):"function"==typeof define&&define.amd?define(["./foundation.core","./foundation.util.mediaQuery","./foundation.util.motion","jquery"],e):"object"==typeof exports?exports["foundation.sticky"]=e(require("./foundation.core"),require("./foundation.util.mediaQuery"),require("./foundation.util.motion"),require("jquery")):(t.__FOUNDATION_EXTERNAL__=t.__FOUNDATION_EXTERNAL__||{},t.__FOUNDATION_EXTERNAL__["foundation.sticky"]=e(t.__FOUNDATION_EXTERNAL__["foundation.core"],t.__FOUNDATION_EXTERNAL__["foundation.util.mediaQuery"],t.__FOUNDATION_EXTERNAL__["foundation.util.motion"],t.jQuery))}(window,function(i,n,o,s){return function(i){var n={};function o(t){if(n[t])return n[t].exports;var e=n[t]={i:t,l:!1,exports:{}};return i[t].call(e.exports,e,e.exports,o),e.l=!0,e.exports}return o.m=i,o.c=n,o.d=function(t,e,i){o.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},o.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},o.t=function(e,t){if(1&t&&(e=o(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(o.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)o.d(i,n,function(t){return e[t]}.bind(null,n));return i},o.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return o.d(e,"a",e),e},o.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},o.p="",o(o.s=17)}({"./foundation.core":function(t,e){t.exports=i},"./foundation.util.mediaQuery":function(t,e){t.exports=n},"./foundation.util.motion":function(t,e){t.exports=o},"./js/entries/plugins/foundation.sticky.js":function(t,e,i){"use strict";i.r(e);var n=i("./foundation.core");i.d(e,"Foundation",function(){return n.Foundation});var o=i("./js/foundation.sticky.js");i.d(e,"Sticky",function(){return o.Sticky}),n.Foundation.plugin(o.Sticky,"Sticky")},"./js/foundation.sticky.js":function(t,e,i){"use strict";i.r(e),i.d(e,"Sticky",function(){return h});var n=i("jquery"),a=i.n(n),s=i("./foundation.core"),c=i("./foundation.util.mediaQuery"),r=i("./js/foundation.util.triggers.js");function o(t){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function u(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function l(t,e){return!e||"object"!==o(e)&&"function"!=typeof e?function(t){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(t):e}function f(t){return(f=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function d(t,e){return(d=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}var h=function(t){function i(){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,i),l(this,f(i).apply(this,arguments))}var e,n,o;return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&d(t,e)}(i,s["Plugin"]),e=i,(n=[{key:"_setup",value:function(t,e){this.$element=t,this.options=a.a.extend({},i.defaults,this.$element.data(),e),this.className="Sticky",r.Triggers.init(a.a),this._init()}},{key:"_init",value:function(){c.MediaQuery._init();var t=this.$element.parent("[data-sticky-container]"),e=this.$element[0].id||Object(s.GetYoDigits)(6,"sticky"),i=this;t.length?this.$container=t:(this.wasWrapped=!0,this.$element.wrap(this.options.container),this.$container=this.$element.parent()),this.$container.addClass(this.options.containerClass),this.$element.addClass(this.options.stickyClass).attr({"data-resize":e,"data-mutate":e}),""!==this.options.anchor&&a()("#"+i.options.anchor).attr({"data-mutate":e}),this.scrollCount=this.options.checkEvery,this.isStuck=!1,this.onLoadListener=Object(s.onLoad)(a()(window),function(){i.containerHeight="none"==i.$element.css("display")?0:i.$element[0].getBoundingClientRect().height,i.$container.css("height",i.containerHeight),i.elemHeight=i.containerHeight,""!==i.options.anchor?i.$anchor=a()("#"+i.options.anchor):i._parsePoints(),i._setSizes(function(){var t=window.pageYOffset;i._calc(!1,t),i.isStuck||i._removeSticky(!(t>=i.topPoint))}),i._events(e.split("-").reverse().join("-"))})}},{key:"_parsePoints",value:function(){for(var t=[""==this.options.topAnchor?1:this.options.topAnchor,""==this.options.btmAnchor?document.documentElement.scrollHeight:this.options.btmAnchor],e={},i=0,n=t.length;i<n&&t[i];i++){var o;if("number"==typeof t[i])o=t[i];else{var s=t[i].split(":"),r=a()("#".concat(s[0]));o=r.offset().top,s[1]&&"bottom"===s[1].toLowerCase()&&(o+=r[0].getBoundingClientRect().height)}e[i]=o}this.points=e}},{key:"_events",value:function(i){var n=this,t=this.scrollListener="scroll.zf.".concat(i);this.isOn||(this.canStick&&(this.isOn=!0,a()(window).off(t).on(t,function(t){0===n.scrollCount?(n.scrollCount=n.options.checkEvery,n._setSizes(function(){n._calc(!1,window.pageYOffset)})):(n.scrollCount--,n._calc(!1,window.pageYOffset))})),this.$element.off("resizeme.zf.trigger").on("resizeme.zf.trigger",function(t,e){n._eventsHandler(i)}),this.$element.on("mutateme.zf.trigger",function(t,e){n._eventsHandler(i)}),this.$anchor&&this.$anchor.on("mutateme.zf.trigger",function(t,e){n._eventsHandler(i)}))}},{key:"_eventsHandler",value:function(t){var e=this,i=this.scrollListener="scroll.zf.".concat(t);e._setSizes(function(){e._calc(!1),e.canStick?e.isOn||e._events(t):e.isOn&&e._pauseListeners(i)})}},{key:"_pauseListeners",value:function(t){this.isOn=!1,a()(window).off(t),this.$element.trigger("pause.zf.sticky")}},{key:"_calc",value:function(t,e){if(t&&this._setSizes(),!this.canStick)return this.isStuck&&this._removeSticky(!0),!1;e||(e=window.pageYOffset),e>=this.topPoint?e<=this.bottomPoint?this.isStuck||this._setSticky():this.isStuck&&this._removeSticky(!1):this.isStuck&&this._removeSticky(!0)}},{key:"_setSticky",value:function(){var t=this,e=this.options.stickTo,i="top"===e?"marginTop":"marginBottom",n="top"===e?"bottom":"top",o={};o[i]="".concat(this.options[i],"em"),o[e]=0,o[n]="auto",this.isStuck=!0,this.$element.removeClass("is-anchored is-at-".concat(n)).addClass("is-stuck is-at-".concat(e)).css(o).trigger("sticky.zf.stuckto:".concat(e)),this.$element.on("transitionend webkitTransitionEnd oTransitionEnd otransitionend MSTransitionEnd",function(){t._setSizes()})}},{key:"_removeSticky",value:function(t){var e=this.options.stickTo,i="top"===e,n={},o=(this.points?this.points[1]-this.points[0]:this.anchorHeight)-this.elemHeight,s=t?"top":"bottom";n[i?"marginTop":"marginBottom"]=0,n.bottom="auto",n.top=t?0:o,this.isStuck=!1,this.$element.removeClass("is-stuck is-at-".concat(e)).addClass("is-anchored is-at-".concat(s)).css(n).trigger("sticky.zf.unstuckfrom:".concat(s))}},{key:"_setSizes",value:function(t){this.canStick=c.MediaQuery.is(this.options.stickyOn),this.canStick||t&&"function"==typeof t&&t();var e=this.$container[0].getBoundingClientRect().width,i=window.getComputedStyle(this.$container[0]),n=parseInt(i["padding-left"],10),o=parseInt(i["padding-right"],10);this.$anchor&&this.$anchor.length?this.anchorHeight=this.$anchor[0].getBoundingClientRect().height:this._parsePoints(),this.$element.css({"max-width":"".concat(e-n-o,"px")});var s=this.$element[0].getBoundingClientRect().height||this.containerHeight;if("none"==this.$element.css("display")&&(s=0),this.containerHeight=s,this.$container.css({height:s}),this.elemHeight=s,!this.isStuck&&this.$element.hasClass("is-at-bottom")){var r=(this.points?this.points[1]-this.$container.offset().top:this.anchorHeight)-this.elemHeight;this.$element.css("top",r)}this._setBreakPoints(s,function(){t&&"function"==typeof t&&t()})}},{key:"_setBreakPoints",value:function(t,e){if(!this.canStick){if(!e||"function"!=typeof e)return!1;e()}var i=g(this.options.marginTop),n=g(this.options.marginBottom),o=this.points?this.points[0]:this.$anchor.offset().top,s=this.points?this.points[1]:o+this.anchorHeight,r=window.innerHeight;"top"===this.options.stickTo?(o-=i,s-=t+i):"bottom"===this.options.stickTo&&(o-=r-(t+n),s-=r-n),this.topPoint=o,this.bottomPoint=s,e&&"function"==typeof e&&e()}},{key:"_destroy",value:function(){this._removeSticky(!0),this.$element.removeClass("".concat(this.options.stickyClass," is-anchored is-at-top")).css({height:"",top:"",bottom:"","max-width":""}).off("resizeme.zf.trigger").off("mutateme.zf.trigger"),this.$anchor&&this.$anchor.length&&this.$anchor.off("change.zf.sticky"),this.scrollListener&&a()(window).off(this.scrollListener),this.onLoadListener&&a()(window).off(this.onLoadListener),this.wasWrapped?this.$element.unwrap():this.$container.removeClass(this.options.containerClass).css({height:""})}}])&&u(e.prototype,n),o&&u(e,o),i}();function g(t){return parseInt(window.getComputedStyle(document.body,null).fontSize,10)*t}h.defaults={container:"<div data-sticky-container></div>",stickTo:"top",anchor:"",topAnchor:"",btmAnchor:"",marginTop:1,marginBottom:1,stickyOn:"medium",stickyClass:"sticky",containerClass:"sticky-container",checkEvery:-1}},"./js/foundation.util.triggers.js":function(t,e,i){"use strict";i.r(e),i.d(e,"Triggers",function(){return l});var n=i("jquery"),s=i.n(n),o=i("./foundation.core"),r=i("./foundation.util.motion");function a(t){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var c=function(){for(var t=["WebKit","Moz","O","Ms",""],e=0;e<t.length;e++)if("".concat(t[e],"MutationObserver")in window)return window["".concat(t[e],"MutationObserver")];return!1}(),u=function(e,i){e.data(i).split(" ").forEach(function(t){s()("#".concat(t))["close"===i?"trigger":"triggerHandler"]("".concat(i,".zf.trigger"),[e])})},l={Listeners:{Basic:{},Global:{}},Initializers:{}};function f(e,t,i){var n,o=Array.prototype.slice.call(arguments,3);s()(window).off(t).on(t,function(t){n&&clearTimeout(n),n=setTimeout(function(){i.apply(null,o)},e||10)})}l.Listeners.Basic={openListener:function(){u(s()(this),"open")},closeListener:function(){s()(this).data("close")?u(s()(this),"close"):s()(this).trigger("close.zf.trigger")},toggleListener:function(){s()(this).data("toggle")?u(s()(this),"toggle"):s()(this).trigger("toggle.zf.trigger")},closeableListener:function(t){t.stopPropagation();var e=s()(this).data("closable");""!==e?r.Motion.animateOut(s()(this),e,function(){s()(this).trigger("closed.zf")}):s()(this).fadeOut().trigger("closed.zf")},toggleFocusListener:function(){var t=s()(this).data("toggle-focus");s()("#".concat(t)).triggerHandler("toggle.zf.trigger",[s()(this)])}},l.Initializers.addOpenListener=function(t){t.off("click.zf.trigger",l.Listeners.Basic.openListener),t.on("click.zf.trigger","[data-open]",l.Listeners.Basic.openListener)},l.Initializers.addCloseListener=function(t){t.off("click.zf.trigger",l.Listeners.Basic.closeListener),t.on("click.zf.trigger","[data-close]",l.Listeners.Basic.closeListener)},l.Initializers.addToggleListener=function(t){t.off("click.zf.trigger",l.Listeners.Basic.toggleListener),t.on("click.zf.trigger","[data-toggle]",l.Listeners.Basic.toggleListener)},l.Initializers.addCloseableListener=function(t){t.off("close.zf.trigger",l.Listeners.Basic.closeableListener),t.on("close.zf.trigger","[data-closeable], [data-closable]",l.Listeners.Basic.closeableListener)},l.Initializers.addToggleFocusListener=function(t){t.off("focus.zf.trigger blur.zf.trigger",l.Listeners.Basic.toggleFocusListener),t.on("focus.zf.trigger blur.zf.trigger","[data-toggle-focus]",l.Listeners.Basic.toggleFocusListener)},l.Listeners.Global={resizeListener:function(t){c||t.each(function(){s()(this).triggerHandler("resizeme.zf.trigger")}),t.attr("data-events","resize")},scrollListener:function(t){c||t.each(function(){s()(this).triggerHandler("scrollme.zf.trigger")}),t.attr("data-events","scroll")},closeMeListener:function(t,e){var i=t.namespace.split(".")[0];s()("[data-".concat(i,"]")).not('[data-yeti-box="'.concat(e,'"]')).each(function(){var t=s()(this);t.triggerHandler("close.zf.trigger",[t])})}},l.Initializers.addClosemeListener=function(t){var e=s()("[data-yeti-box]"),i=["dropdown","tooltip","reveal"];if(t&&("string"==typeof t?i.push(t):"object"===a(t)&&"string"==typeof t[0]?i=i.concat(t):console.error("Plugin names must be strings")),e.length){var n=i.map(function(t){return"closeme.zf.".concat(t)}).join(" ");s()(window).off(n).on(n,l.Listeners.Global.closeMeListener)}},l.Initializers.addResizeListener=function(t){var e=s()("[data-resize]");e.length&&f(t,"resize.zf.trigger",l.Listeners.Global.resizeListener,e)},l.Initializers.addScrollListener=function(t){var e=s()("[data-scroll]");e.length&&f(t,"scroll.zf.trigger",l.Listeners.Global.scrollListener,e)},l.Initializers.addMutationEventsListener=function(t){if(!c)return!1;var e=t.find("[data-resize], [data-scroll], [data-mutate]"),i=function(t){var e=s()(t[0].target);switch(t[0].type){case"attributes":"scroll"===e.attr("data-events")&&"data-events"===t[0].attributeName&&e.triggerHandler("scrollme.zf.trigger",[e,window.pageYOffset]),"resize"===e.attr("data-events")&&"data-events"===t[0].attributeName&&e.triggerHandler("resizeme.zf.trigger",[e]),"style"===t[0].attributeName&&(e.closest("[data-mutate]").attr("data-events","mutate"),e.closest("[data-mutate]").triggerHandler("mutateme.zf.trigger",[e.closest("[data-mutate]")]));break;case"childList":e.closest("[data-mutate]").attr("data-events","mutate"),e.closest("[data-mutate]").triggerHandler("mutateme.zf.trigger",[e.closest("[data-mutate]")]);break;default:return!1}};if(e.length)for(var n=0;n<=e.length-1;n++){new c(i).observe(e[n],{attributes:!0,childList:!0,characterData:!1,subtree:!0,attributeFilter:["data-events","style"]})}},l.Initializers.addSimpleListeners=function(){var t=s()(document);l.Initializers.addOpenListener(t),l.Initializers.addCloseListener(t),l.Initializers.addToggleListener(t),l.Initializers.addCloseableListener(t),l.Initializers.addToggleFocusListener(t)},l.Initializers.addGlobalListeners=function(){var t=s()(document);l.Initializers.addMutationEventsListener(t),l.Initializers.addResizeListener(),l.Initializers.addScrollListener(),l.Initializers.addClosemeListener()},l.init=function(t,e){Object(o.onLoad)(t(window),function(){!0!==t.triggersInitialized&&(l.Initializers.addSimpleListeners(),l.Initializers.addGlobalListeners(),t.triggersInitialized=!0)}),e&&(e.Triggers=l,e.IHearYou=l.Initializers.addGlobalListeners)}},17:function(t,e,i){t.exports=i("./js/entries/plugins/foundation.sticky.js")},jquery:function(t,e){t.exports=s}})});
1
+ !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("./foundation.core"),require("./foundation.util.mediaQuery"),require("./foundation.util.motion"),require("jquery")):"function"==typeof define&&define.amd?define(["./foundation.core","./foundation.util.mediaQuery","./foundation.util.motion","jquery"],e):"object"==typeof exports?exports["foundation.sticky"]=e(require("./foundation.core"),require("./foundation.util.mediaQuery"),require("./foundation.util.motion"),require("jquery")):(t.__FOUNDATION_EXTERNAL__=t.__FOUNDATION_EXTERNAL__||{},t.__FOUNDATION_EXTERNAL__["foundation.sticky"]=e(t.__FOUNDATION_EXTERNAL__["foundation.core"],t.__FOUNDATION_EXTERNAL__["foundation.util.mediaQuery"],t.__FOUNDATION_EXTERNAL__["foundation.util.motion"],t.jQuery))}(window,function(i,n,o,s){return c={},r.m=a={"./foundation.core":function(t,e){t.exports=i},"./foundation.util.mediaQuery":function(t,e){t.exports=n},"./foundation.util.motion":function(t,e){t.exports=o},"./js/entries/plugins/foundation.sticky.js":function(t,e,i){"use strict";i.r(e);var n=i("./foundation.core");i.d(e,"Foundation",function(){return n.Foundation});var o=i("./js/foundation.sticky.js");i.d(e,"Sticky",function(){return o.Sticky}),n.Foundation.plugin(o.Sticky,"Sticky")},"./js/foundation.sticky.js":function(t,e,i){"use strict";i.r(e),i.d(e,"Sticky",function(){return h});var n=i("jquery"),a=i.n(n),o=i("./foundation.core"),c=i("./foundation.util.mediaQuery"),s=i("./js/foundation.util.triggers.js");function r(t){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function u(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function l(t,e){return!e||"object"!==r(e)&&"function"!=typeof e?function(t){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(t):e}function f(t){return(f=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function d(t,e){return(d=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}var h=function(){function i(){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,i),l(this,f(i).apply(this,arguments))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&d(t,e)}(i,o["Plugin"]),function(t,e,i){e&&u(t.prototype,e),i&&u(t,i)}(i,[{key:"_setup",value:function(t,e){this.$element=t,this.options=a.a.extend({},i.defaults,this.$element.data(),e),this.className="Sticky",s.Triggers.init(a.a),this._init()}},{key:"_init",value:function(){c.MediaQuery._init();var t=this.$element.parent("[data-sticky-container]"),e=this.$element[0].id||Object(o.GetYoDigits)(6,"sticky"),i=this;t.length?this.$container=t:(this.wasWrapped=!0,this.$element.wrap(this.options.container),this.$container=this.$element.parent()),this.$container.addClass(this.options.containerClass),this.$element.addClass(this.options.stickyClass).attr({"data-resize":e,"data-mutate":e}),""!==this.options.anchor&&a()("#"+i.options.anchor).attr({"data-mutate":e}),this.scrollCount=this.options.checkEvery,this.isStuck=!1,this.onLoadListener=Object(o.onLoad)(a()(window),function(){i.containerHeight="none"==i.$element.css("display")?0:i.$element[0].getBoundingClientRect().height,i.$container.css("height",i.containerHeight),i.elemHeight=i.containerHeight,""!==i.options.anchor?i.$anchor=a()("#"+i.options.anchor):i._parsePoints(),i._setSizes(function(){var t=window.pageYOffset;i._calc(!1,t),i.isStuck||i._removeSticky(!(t>=i.topPoint))}),i._events(e.split("-").reverse().join("-"))})}},{key:"_parsePoints",value:function(){for(var t=[""==this.options.topAnchor?1:this.options.topAnchor,""==this.options.btmAnchor?document.documentElement.scrollHeight:this.options.btmAnchor],e={},i=0,n=t.length;i<n&&t[i];i++){var o;if("number"==typeof t[i])o=t[i];else{var s=t[i].split(":"),r=a()("#".concat(s[0]));o=r.offset().top,s[1]&&"bottom"===s[1].toLowerCase()&&(o+=r[0].getBoundingClientRect().height)}e[i]=o}this.points=e}},{key:"_events",value:function(i){var n=this,t=this.scrollListener="scroll.zf.".concat(i);this.isOn||(this.canStick&&(this.isOn=!0,a()(window).off(t).on(t,function(t){0===n.scrollCount?(n.scrollCount=n.options.checkEvery,n._setSizes(function(){n._calc(!1,window.pageYOffset)})):(n.scrollCount--,n._calc(!1,window.pageYOffset))})),this.$element.off("resizeme.zf.trigger").on("resizeme.zf.trigger",function(t,e){n._eventsHandler(i)}),this.$element.on("mutateme.zf.trigger",function(t,e){n._eventsHandler(i)}),this.$anchor&&this.$anchor.on("mutateme.zf.trigger",function(t,e){n._eventsHandler(i)}))}},{key:"_eventsHandler",value:function(t){var e=this,i=this.scrollListener="scroll.zf.".concat(t);e._setSizes(function(){e._calc(!1),e.canStick?e.isOn||e._events(t):e.isOn&&e._pauseListeners(i)})}},{key:"_pauseListeners",value:function(t){this.isOn=!1,a()(window).off(t),this.$element.trigger("pause.zf.sticky")}},{key:"_calc",value:function(t,e){if(t&&this._setSizes(),!this.canStick)return this.isStuck&&this._removeSticky(!0),!1;(e=e||window.pageYOffset)>=this.topPoint?e<=this.bottomPoint?this.isStuck||this._setSticky():this.isStuck&&this._removeSticky(!1):this.isStuck&&this._removeSticky(!0)}},{key:"_setSticky",value:function(){var t=this,e=this.options.stickTo,i="top"===e?"marginTop":"marginBottom",n="top"===e?"bottom":"top",o={};o[i]="".concat(this.options[i],"em"),o[e]=0,o[n]="auto",this.isStuck=!0,this.$element.removeClass("is-anchored is-at-".concat(n)).addClass("is-stuck is-at-".concat(e)).css(o).trigger("sticky.zf.stuckto:".concat(e)),this.$element.on("transitionend webkitTransitionEnd oTransitionEnd otransitionend MSTransitionEnd",function(){t._setSizes()})}},{key:"_removeSticky",value:function(t){var e=this.options.stickTo,i="top"===e,n={},o=(this.points?this.points[1]-this.points[0]:this.anchorHeight)-this.elemHeight,s=t?"top":"bottom";n[i?"marginTop":"marginBottom"]=0,n.bottom="auto",n.top=t?0:o,this.isStuck=!1,this.$element.removeClass("is-stuck is-at-".concat(e)).addClass("is-anchored is-at-".concat(s)).css(n).trigger("sticky.zf.unstuckfrom:".concat(s))}},{key:"_setSizes",value:function(t){this.canStick=c.MediaQuery.is(this.options.stickyOn),this.canStick||t&&"function"==typeof t&&t();var e=this.$container[0].getBoundingClientRect().width,i=window.getComputedStyle(this.$container[0]),n=parseInt(i["padding-left"],10),o=parseInt(i["padding-right"],10);if(this.$anchor&&this.$anchor.length?this.anchorHeight=this.$anchor[0].getBoundingClientRect().height:this._parsePoints(),this.$element.css({"max-width":"".concat(e-n-o,"px")}),this.options.dynamicHeight||!this.containerHeight){var s=this.$element[0].getBoundingClientRect().height||this.containerHeight;s="none"==this.$element.css("display")?0:s,this.$container.css("height",s),this.containerHeight=s}if(this.elemHeight=this.containerHeight,!this.isStuck&&this.$element.hasClass("is-at-bottom")){var r=(this.points?this.points[1]-this.$container.offset().top:this.anchorHeight)-this.elemHeight;this.$element.css("top",r)}this._setBreakPoints(this.containerHeight,function(){t&&"function"==typeof t&&t()})}},{key:"_setBreakPoints",value:function(t,e){if(!this.canStick){if(!e||"function"!=typeof e)return!1;e()}var i=g(this.options.marginTop),n=g(this.options.marginBottom),o=this.points?this.points[0]:this.$anchor.offset().top,s=this.points?this.points[1]:o+this.anchorHeight,r=window.innerHeight;"top"===this.options.stickTo?(o-=i,s-=t+i):"bottom"===this.options.stickTo&&(o-=r-(t+n),s-=r-n),this.topPoint=o,this.bottomPoint=s,e&&"function"==typeof e&&e()}},{key:"_destroy",value:function(){this._removeSticky(!0),this.$element.removeClass("".concat(this.options.stickyClass," is-anchored is-at-top")).css({height:"",top:"",bottom:"","max-width":""}).off("resizeme.zf.trigger").off("mutateme.zf.trigger"),this.$anchor&&this.$anchor.length&&this.$anchor.off("change.zf.sticky"),this.scrollListener&&a()(window).off(this.scrollListener),this.onLoadListener&&a()(window).off(this.onLoadListener),this.wasWrapped?this.$element.unwrap():this.$container.removeClass(this.options.containerClass).css({height:""})}}]),i}();function g(t){return parseInt(window.getComputedStyle(document.body,null).fontSize,10)*t}h.defaults={container:"<div data-sticky-container></div>",stickTo:"top",anchor:"",topAnchor:"",btmAnchor:"",marginTop:1,marginBottom:1,stickyOn:"medium",stickyClass:"sticky",containerClass:"sticky-container",dynamicHeight:!0,checkEvery:-1}},"./js/foundation.util.triggers.js":function(t,e,i){"use strict";i.r(e),i.d(e,"Triggers",function(){return l});var n=i("jquery"),s=i.n(n),o=i("./foundation.core"),r=i("./foundation.util.motion");function a(t){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function c(e,i){e.data(i).split(" ").forEach(function(t){s()("#".concat(t))["close"===i?"trigger":"triggerHandler"]("".concat(i,".zf.trigger"),[e])})}var u=function(){for(var t=["WebKit","Moz","O","Ms",""],e=0;e<t.length;e++)if("".concat(t[e],"MutationObserver")in window)return window["".concat(t[e],"MutationObserver")];return!1}(),l={Listeners:{Basic:{},Global:{}},Initializers:{}};function f(e,t,i){var n,o=Array.prototype.slice.call(arguments,3);s()(window).off(t).on(t,function(t){n&&clearTimeout(n),n=setTimeout(function(){i.apply(null,o)},e||10)})}l.Listeners.Basic={openListener:function(){c(s()(this),"open")},closeListener:function(){s()(this).data("close")?c(s()(this),"close"):s()(this).trigger("close.zf.trigger")},toggleListener:function(){s()(this).data("toggle")?c(s()(this),"toggle"):s()(this).trigger("toggle.zf.trigger")},closeableListener:function(t){var e=s()(this).data("closable");t.stopPropagation(),""!==e?r.Motion.animateOut(s()(this),e,function(){s()(this).trigger("closed.zf")}):s()(this).fadeOut().trigger("closed.zf")},toggleFocusListener:function(){var t=s()(this).data("toggle-focus");s()("#".concat(t)).triggerHandler("toggle.zf.trigger",[s()(this)])}},l.Initializers.addOpenListener=function(t){t.off("click.zf.trigger",l.Listeners.Basic.openListener),t.on("click.zf.trigger","[data-open]",l.Listeners.Basic.openListener)},l.Initializers.addCloseListener=function(t){t.off("click.zf.trigger",l.Listeners.Basic.closeListener),t.on("click.zf.trigger","[data-close]",l.Listeners.Basic.closeListener)},l.Initializers.addToggleListener=function(t){t.off("click.zf.trigger",l.Listeners.Basic.toggleListener),t.on("click.zf.trigger","[data-toggle]",l.Listeners.Basic.toggleListener)},l.Initializers.addCloseableListener=function(t){t.off("close.zf.trigger",l.Listeners.Basic.closeableListener),t.on("close.zf.trigger","[data-closeable], [data-closable]",l.Listeners.Basic.closeableListener)},l.Initializers.addToggleFocusListener=function(t){t.off("focus.zf.trigger blur.zf.trigger",l.Listeners.Basic.toggleFocusListener),t.on("focus.zf.trigger blur.zf.trigger","[data-toggle-focus]",l.Listeners.Basic.toggleFocusListener)},l.Listeners.Global={resizeListener:function(t){u||t.each(function(){s()(this).triggerHandler("resizeme.zf.trigger")}),t.attr("data-events","resize")},scrollListener:function(t){u||t.each(function(){s()(this).triggerHandler("scrollme.zf.trigger")}),t.attr("data-events","scroll")},closeMeListener:function(t,e){var i=t.namespace.split(".")[0];s()("[data-".concat(i,"]")).not('[data-yeti-box="'.concat(e,'"]')).each(function(){var t=s()(this);t.triggerHandler("close.zf.trigger",[t])})}},l.Initializers.addClosemeListener=function(t){var e=s()("[data-yeti-box]"),i=["dropdown","tooltip","reveal"];if(t&&("string"==typeof t?i.push(t):"object"===a(t)&&"string"==typeof t[0]?i=i.concat(t):console.error("Plugin names must be strings")),e.length){var n=i.map(function(t){return"closeme.zf.".concat(t)}).join(" ");s()(window).off(n).on(n,l.Listeners.Global.closeMeListener)}},l.Initializers.addResizeListener=function(t){var e=s()("[data-resize]");e.length&&f(t,"resize.zf.trigger",l.Listeners.Global.resizeListener,e)},l.Initializers.addScrollListener=function(t){var e=s()("[data-scroll]");e.length&&f(t,"scroll.zf.trigger",l.Listeners.Global.scrollListener,e)},l.Initializers.addMutationEventsListener=function(t){if(!u)return!1;function e(t){var e=s()(t[0].target);switch(t[0].type){case"attributes":"scroll"===e.attr("data-events")&&"data-events"===t[0].attributeName&&e.triggerHandler("scrollme.zf.trigger",[e,window.pageYOffset]),"resize"===e.attr("data-events")&&"data-events"===t[0].attributeName&&e.triggerHandler("resizeme.zf.trigger",[e]),"style"===t[0].attributeName&&(e.closest("[data-mutate]").attr("data-events","mutate"),e.closest("[data-mutate]").triggerHandler("mutateme.zf.trigger",[e.closest("[data-mutate]")]));break;case"childList":e.closest("[data-mutate]").attr("data-events","mutate"),e.closest("[data-mutate]").triggerHandler("mutateme.zf.trigger",[e.closest("[data-mutate]")]);break;default:return!1}}var i=t.find("[data-resize], [data-scroll], [data-mutate]");if(i.length)for(var n=0;n<=i.length-1;n++){new u(e).observe(i[n],{attributes:!0,childList:!0,characterData:!1,subtree:!0,attributeFilter:["data-events","style"]})}},l.Initializers.addSimpleListeners=function(){var t=s()(document);l.Initializers.addOpenListener(t),l.Initializers.addCloseListener(t),l.Initializers.addToggleListener(t),l.Initializers.addCloseableListener(t),l.Initializers.addToggleFocusListener(t)},l.Initializers.addGlobalListeners=function(){var t=s()(document);l.Initializers.addMutationEventsListener(t),l.Initializers.addResizeListener(),l.Initializers.addScrollListener(),l.Initializers.addClosemeListener()},l.init=function(t,e){Object(o.onLoad)(t(window),function(){!0!==t.triggersInitialized&&(l.Initializers.addSimpleListeners(),l.Initializers.addGlobalListeners(),t.triggersInitialized=!0)}),e&&(e.Triggers=l,e.IHearYou=l.Initializers.addGlobalListeners)}},17:function(t,e,i){t.exports=i("./js/entries/plugins/foundation.sticky.js")},jquery:function(t,e){t.exports=s}},r.c=c,r.d=function(t,e,i){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)r.d(i,n,function(t){return e[t]}.bind(null,n));return i},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=17);function r(t){if(c[t])return c[t].exports;var e=c[t]={i:t,l:!1,exports:{}};return a[t].call(e.exports,e,e.exports,r),e.l=!0,e.exports}var a,c});
2
2
  //# sourceMappingURL=foundation.sticky.min.js.map
@@ -1 +1 @@
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.mediaQuery\"],\"amd\":\"./foundation.util.mediaQuery\",\"commonjs\":\"./foundation.util.mediaQuery\",\"commonjs2\":\"./foundation.util.mediaQuery\"}","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]/js/entries/plugins/foundation.sticky.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.sticky.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.util.triggers.js","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__foundation_core__","__WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__","__WEBPACK_EXTERNAL_MODULE__foundation_util_motion__","__WEBPACK_EXTERNAL_MODULE_jquery__","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","__webpack_exports__","_foundation_core__WEBPACK_IMPORTED_MODULE_0__","_foundation_sticky__WEBPACK_IMPORTED_MODULE_1__","Foundation","plugin","Sticky","jquery__WEBPACK_IMPORTED_MODULE_0__","jquery__WEBPACK_IMPORTED_MODULE_0___default","_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__","_foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_2__","_foundation_util_triggers__WEBPACK_IMPORTED_MODULE_3__","Plugin","element","options","this","$element","$","extend","defaults","data","className","Triggers","init","_init","MediaQuery","$parent","parent","id","GetYoDigits","_this","length","$container","wasWrapped","wrap","container","addClass","containerClass","stickyClass","attr","data-resize","data-mutate","anchor","scrollCount","checkEvery","isStuck","onLoadListener","onLoad","containerHeight","css","getBoundingClientRect","height","elemHeight","$anchor","_parsePoints","_setSizes","scroll","pageYOffset","_calc","_removeSticky","topPoint","_events","split","reverse","join","pts","topAnchor","btmAnchor","document","documentElement","scrollHeight","breaks","len","pt","place","concat","offset","top","toLowerCase","points","scrollListener","isOn","canStick","off","on","e","el","_eventsHandler","_pauseListeners","trigger","checkSizes","bottomPoint","_setSticky","stickTo","mrgn","notStuckTo","removeClass","isTop","stickToTop","anchorPt","anchorHeight","topOrBottom","cb","is","stickyOn","newElemWidth","width","comp","getComputedStyle","pdngl","parseInt","pdngr","max-width","newContainerHeight","hasClass","_setBreakPoints","mTop","emCalc","marginTop","mBtm","marginBottom","winHeight","innerHeight","bottom","unwrap","em","body","fontSize","_foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__","MutationObserver","prefixes","triggers","type","forEach","Listeners","Basic","Global","Initializers","debounceGlobalListener","debounce","listener","timer","args","Array","slice","arguments","clearTimeout","setTimeout","apply","openListener","closeListener","toggleListener","closeableListener","stopPropagation","animation","Motion","animateOut","fadeOut","toggleFocusListener","triggerHandler","addOpenListener","$elem","addCloseListener","addToggleListener","addCloseableListener","addToggleFocusListener","resizeListener","$nodes","each","closeMeListener","pluginId","namespace","not","addClosemeListener","pluginName","yetiBoxes","plugNames","push","_typeof","console","error","listeners","map","addResizeListener","addScrollListener","addMutationEventsListener","find","listeningElementsMutation","mutationRecordsList","$target","target","attributeName","closest","observe","attributes","childList","characterData","subtree","attributeFilter","addSimpleListeners","$document","addGlobalListeners","triggersInitialized","IHearYou"],"mappings":"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","file":"foundation.sticky.min.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.mediaQuery\"), require(\"./foundation.util.motion\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"./foundation.util.mediaQuery\", \"./foundation.util.motion\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.sticky\"] = factory(require(\"./foundation.core\"), require(\"./foundation.util.mediaQuery\"), require(\"./foundation.util.motion\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.sticky\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.mediaQuery\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.motion\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__, __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__, __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 = 17);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__;","import { Foundation } from './foundation.core';\n\nimport { Sticky } from '../../foundation.sticky';\nFoundation.plugin(Sticky, 'Sticky');\n\nexport { Foundation, Sticky };\n","'use strict';\n\nimport $ from 'jquery';\nimport { onLoad, GetYoDigits } from './foundation.core.utils';\nimport { MediaQuery } from './foundation.util.mediaQuery';\nimport { Plugin } from './foundation.core.plugin';\nimport { Triggers } from './foundation.util.triggers';\n\n/**\n * Sticky module.\n * @module foundation.sticky\n * @requires foundation.util.triggers\n * @requires foundation.util.mediaQuery\n */\n\nclass Sticky extends Plugin {\n /**\n * Creates a new instance of a sticky thing.\n * @class\n * @name Sticky\n * @param {jQuery} element - jQuery object to make sticky.\n * @param {Object} options - options object passed when creating the element programmatically.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, Sticky.defaults, this.$element.data(), options);\n this.className = 'Sticky'; // ie9 back compat\n\n // Triggers init is idempotent, just need to make sure it is initialized\n Triggers.init($);\n\n this._init();\n }\n\n /**\n * Initializes the sticky element by adding classes, getting/setting dimensions, breakpoints and attributes\n * @function\n * @private\n */\n _init() {\n MediaQuery._init();\n\n var $parent = this.$element.parent('[data-sticky-container]'),\n id = this.$element[0].id || GetYoDigits(6, 'sticky'),\n _this = this;\n\n if($parent.length){\n this.$container = $parent;\n } else {\n this.wasWrapped = true;\n this.$element.wrap(this.options.container);\n this.$container = this.$element.parent();\n }\n this.$container.addClass(this.options.containerClass);\n\n this.$element.addClass(this.options.stickyClass).attr({ 'data-resize': id, 'data-mutate': id });\n if (this.options.anchor !== '') {\n $('#' + _this.options.anchor).attr({ 'data-mutate': id });\n }\n\n this.scrollCount = this.options.checkEvery;\n this.isStuck = false;\n this.onLoadListener = onLoad($(window), function () {\n //We calculate the container height to have correct values for anchor points offset calculation.\n _this.containerHeight = _this.$element.css(\"display\") == \"none\" ? 0 : _this.$element[0].getBoundingClientRect().height;\n _this.$container.css('height', _this.containerHeight);\n _this.elemHeight = _this.containerHeight;\n if (_this.options.anchor !== '') {\n _this.$anchor = $('#' + _this.options.anchor);\n } else {\n _this._parsePoints();\n }\n\n _this._setSizes(function () {\n var scroll = window.pageYOffset;\n _this._calc(false, scroll);\n //Unstick the element will ensure that proper classes are set.\n if (!_this.isStuck) {\n _this._removeSticky((scroll >= _this.topPoint) ? false : true);\n }\n });\n _this._events(id.split('-').reverse().join('-'));\n });\n }\n\n /**\n * If using multiple elements as anchors, calculates the top and bottom pixel values the sticky thing should stick and unstick on.\n * @function\n * @private\n */\n _parsePoints() {\n var top = this.options.topAnchor == \"\" ? 1 : this.options.topAnchor,\n btm = this.options.btmAnchor== \"\" ? document.documentElement.scrollHeight : this.options.btmAnchor,\n pts = [top, btm],\n breaks = {};\n for (var i = 0, len = pts.length; i < len && pts[i]; i++) {\n var pt;\n if (typeof pts[i] === 'number') {\n pt = pts[i];\n } else {\n var place = pts[i].split(':'),\n anchor = $(`#${place[0]}`);\n\n pt = anchor.offset().top;\n if (place[1] && place[1].toLowerCase() === 'bottom') {\n pt += anchor[0].getBoundingClientRect().height;\n }\n }\n breaks[i] = pt;\n }\n\n\n this.points = breaks;\n return;\n }\n\n /**\n * Adds event handlers for the scrolling element.\n * @private\n * @param {String} id - pseudo-random id for unique scroll event listener.\n */\n _events(id) {\n var _this = this,\n scrollListener = this.scrollListener = `scroll.zf.${id}`;\n if (this.isOn) { return; }\n if (this.canStick) {\n this.isOn = true;\n $(window).off(scrollListener)\n .on(scrollListener, function(e) {\n if (_this.scrollCount === 0) {\n _this.scrollCount = _this.options.checkEvery;\n _this._setSizes(function() {\n _this._calc(false, window.pageYOffset);\n });\n } else {\n _this.scrollCount--;\n _this._calc(false, window.pageYOffset);\n }\n });\n }\n\n this.$element.off('resizeme.zf.trigger')\n .on('resizeme.zf.trigger', function(e, el) {\n _this._eventsHandler(id);\n });\n\n this.$element.on('mutateme.zf.trigger', function (e, el) {\n _this._eventsHandler(id);\n });\n\n if(this.$anchor) {\n this.$anchor.on('mutateme.zf.trigger', function (e, el) {\n _this._eventsHandler(id);\n });\n }\n }\n\n /**\n * Handler for events.\n * @private\n * @param {String} id - pseudo-random id for unique scroll event listener.\n */\n _eventsHandler(id) {\n var _this = this,\n scrollListener = this.scrollListener = `scroll.zf.${id}`;\n\n _this._setSizes(function() {\n _this._calc(false);\n if (_this.canStick) {\n if (!_this.isOn) {\n _this._events(id);\n }\n } else if (_this.isOn) {\n _this._pauseListeners(scrollListener);\n }\n });\n }\n\n /**\n * Removes event handlers for scroll and change events on anchor.\n * @fires Sticky#pause\n * @param {String} scrollListener - unique, namespaced scroll listener attached to `window`\n */\n _pauseListeners(scrollListener) {\n this.isOn = false;\n $(window).off(scrollListener);\n\n /**\n * Fires when the plugin is paused due to resize event shrinking the view.\n * @event Sticky#pause\n * @private\n */\n this.$element.trigger('pause.zf.sticky');\n }\n\n /**\n * Called on every `scroll` event and on `_init`\n * fires functions based on booleans and cached values\n * @param {Boolean} checkSizes - true if plugin should recalculate sizes and breakpoints.\n * @param {Number} scroll - current scroll position passed from scroll event cb function. If not passed, defaults to `window.pageYOffset`.\n */\n _calc(checkSizes, scroll) {\n if (checkSizes) { this._setSizes(); }\n\n if (!this.canStick) {\n if (this.isStuck) {\n this._removeSticky(true);\n }\n return false;\n }\n\n if (!scroll) { scroll = window.pageYOffset; }\n\n if (scroll >= this.topPoint) {\n if (scroll <= this.bottomPoint) {\n if (!this.isStuck) {\n this._setSticky();\n }\n } else {\n if (this.isStuck) {\n this._removeSticky(false);\n }\n }\n } else {\n if (this.isStuck) {\n this._removeSticky(true);\n }\n }\n }\n\n /**\n * Causes the $element to become stuck.\n * Adds `position: fixed;`, and helper classes.\n * @fires Sticky#stuckto\n * @function\n * @private\n */\n _setSticky() {\n var _this = this,\n stickTo = this.options.stickTo,\n mrgn = stickTo === 'top' ? 'marginTop' : 'marginBottom',\n notStuckTo = stickTo === 'top' ? 'bottom' : 'top',\n css = {};\n\n css[mrgn] = `${this.options[mrgn]}em`;\n css[stickTo] = 0;\n css[notStuckTo] = 'auto';\n this.isStuck = true;\n this.$element.removeClass(`is-anchored is-at-${notStuckTo}`)\n .addClass(`is-stuck is-at-${stickTo}`)\n .css(css)\n /**\n * Fires when the $element has become `position: fixed;`\n * Namespaced to `top` or `bottom`, e.g. `sticky.zf.stuckto:top`\n * @event Sticky#stuckto\n */\n .trigger(`sticky.zf.stuckto:${stickTo}`);\n this.$element.on(\"transitionend webkitTransitionEnd oTransitionEnd otransitionend MSTransitionEnd\", function() {\n _this._setSizes();\n });\n }\n\n /**\n * Causes the $element to become unstuck.\n * Removes `position: fixed;`, and helper classes.\n * Adds other helper classes.\n * @param {Boolean} isTop - tells the function if the $element should anchor to the top or bottom of its $anchor element.\n * @fires Sticky#unstuckfrom\n * @private\n */\n _removeSticky(isTop) {\n var stickTo = this.options.stickTo,\n stickToTop = stickTo === 'top',\n css = {},\n anchorPt = (this.points ? this.points[1] - this.points[0] : this.anchorHeight) - this.elemHeight,\n mrgn = stickToTop ? 'marginTop' : 'marginBottom',\n notStuckTo = stickToTop ? 'bottom' : 'top',\n topOrBottom = isTop ? 'top' : 'bottom';\n\n css[mrgn] = 0;\n\n css['bottom'] = 'auto';\n if(isTop) {\n css['top'] = 0;\n } else {\n css['top'] = anchorPt;\n }\n\n this.isStuck = false;\n this.$element.removeClass(`is-stuck is-at-${stickTo}`)\n .addClass(`is-anchored is-at-${topOrBottom}`)\n .css(css)\n /**\n * Fires when the $element has become anchored.\n * Namespaced to `top` or `bottom`, e.g. `sticky.zf.unstuckfrom:bottom`\n * @event Sticky#unstuckfrom\n */\n .trigger(`sticky.zf.unstuckfrom:${topOrBottom}`);\n }\n\n /**\n * Sets the $element and $container sizes for plugin.\n * Calls `_setBreakPoints`.\n * @param {Function} cb - optional callback function to fire on completion of `_setBreakPoints`.\n * @private\n */\n _setSizes(cb) {\n this.canStick = MediaQuery.is(this.options.stickyOn);\n if (!this.canStick) {\n if (cb && typeof cb === 'function') { cb(); }\n }\n var _this = this,\n newElemWidth = this.$container[0].getBoundingClientRect().width,\n comp = window.getComputedStyle(this.$container[0]),\n pdngl = parseInt(comp['padding-left'], 10),\n pdngr = parseInt(comp['padding-right'], 10);\n\n if (this.$anchor && this.$anchor.length) {\n this.anchorHeight = this.$anchor[0].getBoundingClientRect().height;\n } else {\n this._parsePoints();\n }\n\n this.$element.css({\n 'max-width': `${newElemWidth - pdngl - pdngr}px`\n });\n\n var newContainerHeight = this.$element[0].getBoundingClientRect().height || this.containerHeight;\n if (this.$element.css(\"display\") == \"none\") {\n newContainerHeight = 0;\n }\n this.containerHeight = newContainerHeight;\n this.$container.css({\n height: newContainerHeight\n });\n this.elemHeight = newContainerHeight;\n\n if (!this.isStuck) {\n if (this.$element.hasClass('is-at-bottom')) {\n var anchorPt = (this.points ? this.points[1] - this.$container.offset().top : this.anchorHeight) - this.elemHeight;\n this.$element.css('top', anchorPt);\n }\n }\n\n this._setBreakPoints(newContainerHeight, function() {\n if (cb && typeof cb === 'function') { cb(); }\n });\n }\n\n /**\n * Sets the upper and lower breakpoints for the element to become sticky/unsticky.\n * @param {Number} elemHeight - px value for sticky.$element height, calculated by `_setSizes`.\n * @param {Function} cb - optional callback function to be called on completion.\n * @private\n */\n _setBreakPoints(elemHeight, cb) {\n if (!this.canStick) {\n if (cb && typeof cb === 'function') { cb(); }\n else { return false; }\n }\n var mTop = emCalc(this.options.marginTop),\n mBtm = emCalc(this.options.marginBottom),\n topPoint = this.points ? this.points[0] : this.$anchor.offset().top,\n bottomPoint = this.points ? this.points[1] : topPoint + this.anchorHeight,\n // topPoint = this.$anchor.offset().top || this.points[0],\n // bottomPoint = topPoint + this.anchorHeight || this.points[1],\n winHeight = window.innerHeight;\n\n if (this.options.stickTo === 'top') {\n topPoint -= mTop;\n bottomPoint -= (elemHeight + mTop);\n } else if (this.options.stickTo === 'bottom') {\n topPoint -= (winHeight - (elemHeight + mBtm));\n bottomPoint -= (winHeight - mBtm);\n } else {\n //this would be the stickTo: both option... tricky\n }\n\n this.topPoint = topPoint;\n this.bottomPoint = bottomPoint;\n\n if (cb && typeof cb === 'function') { cb(); }\n }\n\n /**\n * Destroys the current sticky element.\n * Resets the element to the top position first.\n * Removes event listeners, JS-added css properties and classes, and unwraps the $element if the JS added the $container.\n * @function\n */\n _destroy() {\n this._removeSticky(true);\n\n this.$element.removeClass(`${this.options.stickyClass} is-anchored is-at-top`)\n .css({\n height: '',\n top: '',\n bottom: '',\n 'max-width': ''\n })\n .off('resizeme.zf.trigger')\n .off('mutateme.zf.trigger');\n if (this.$anchor && this.$anchor.length) {\n this.$anchor.off('change.zf.sticky');\n }\n if (this.scrollListener) $(window).off(this.scrollListener)\n if (this.onLoadListener) $(window).off(this.onLoadListener)\n\n if (this.wasWrapped) {\n this.$element.unwrap();\n } else {\n this.$container.removeClass(this.options.containerClass)\n .css({\n height: ''\n });\n }\n }\n}\n\nSticky.defaults = {\n /**\n * Customizable container template. Add your own classes for styling and sizing.\n * @option\n * @type {string}\n * @default '&lt;div data-sticky-container&gt;&lt;/div&gt;'\n */\n container: '<div data-sticky-container></div>',\n /**\n * Location in the view the element sticks to. Can be `'top'` or `'bottom'`.\n * @option\n * @type {string}\n * @default 'top'\n */\n stickTo: 'top',\n /**\n * If anchored to a single element, the id of that element.\n * @option\n * @type {string}\n * @default ''\n */\n anchor: '',\n /**\n * If using more than one element as anchor points, the id of the top anchor.\n * @option\n * @type {string}\n * @default ''\n */\n topAnchor: '',\n /**\n * If using more than one element as anchor points, the id of the bottom anchor.\n * @option\n * @type {string}\n * @default ''\n */\n btmAnchor: '',\n /**\n * Margin, in `em`'s to apply to the top of the element when it becomes sticky.\n * @option\n * @type {number}\n * @default 1\n */\n marginTop: 1,\n /**\n * Margin, in `em`'s to apply to the bottom of the element when it becomes sticky.\n * @option\n * @type {number}\n * @default 1\n */\n marginBottom: 1,\n /**\n * Breakpoint string that is the minimum screen size an element should become sticky.\n * @option\n * @type {string}\n * @default 'medium'\n */\n stickyOn: 'medium',\n /**\n * Class applied to sticky element, and removed on destruction. Foundation defaults to `sticky`.\n * @option\n * @type {string}\n * @default 'sticky'\n */\n stickyClass: 'sticky',\n /**\n * Class applied to sticky container. Foundation defaults to `sticky-container`.\n * @option\n * @type {string}\n * @default 'sticky-container'\n */\n containerClass: 'sticky-container',\n /**\n * Number of scroll events between the plugin's recalculating sticky points. Setting it to `0` will cause it to recalc every scroll event, setting it to `-1` will prevent recalc on scroll.\n * @option\n * @type {number}\n * @default -1\n */\n checkEvery: -1\n};\n\n/**\n * Helper function to calculate em values\n * @param Number {em} - number of em's to calculate into pixels\n */\nfunction emCalc(em) {\n return parseInt(window.getComputedStyle(document.body, null).fontSize, 10) * em;\n}\n\nexport {Sticky};\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 e.stopPropagation();\n let animation = $(this).data('closable');\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__;"]}
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.mediaQuery\"],\"amd\":\"./foundation.util.mediaQuery\",\"commonjs\":\"./foundation.util.mediaQuery\",\"commonjs2\":\"./foundation.util.mediaQuery\"}","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]/js/entries/plugins/foundation.sticky.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.sticky.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.util.triggers.js","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__foundation_core__","__WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__","__WEBPACK_EXTERNAL_MODULE__foundation_util_motion__","__WEBPACK_EXTERNAL_MODULE_jquery__","installedModules","__webpack_require__","m","r","__webpack_exports__","_foundation_core__WEBPACK_IMPORTED_MODULE_0__","d","_foundation_sticky__WEBPACK_IMPORTED_MODULE_1__","Foundation","plugin","Sticky","jquery__WEBPACK_IMPORTED_MODULE_0__","jquery__WEBPACK_IMPORTED_MODULE_0___default","n","_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__","_foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_2__","_foundation_util_triggers__WEBPACK_IMPORTED_MODULE_3__","Plugin","element","options","this","$element","$","extend","defaults","data","className","Triggers","init","_init","MediaQuery","$parent","parent","id","GetYoDigits","_this","length","$container","wasWrapped","wrap","container","addClass","containerClass","stickyClass","attr","data-resize","data-mutate","anchor","scrollCount","checkEvery","isStuck","onLoadListener","onLoad","containerHeight","css","getBoundingClientRect","height","elemHeight","$anchor","_parsePoints","_setSizes","scroll","pageYOffset","_calc","_removeSticky","topPoint","_events","split","reverse","join","pts","topAnchor","btmAnchor","document","documentElement","scrollHeight","breaks","i","len","pt","place","concat","offset","top","toLowerCase","points","scrollListener","isOn","canStick","off","on","e","el","_eventsHandler","_pauseListeners","trigger","checkSizes","bottomPoint","_setSticky","stickTo","mrgn","notStuckTo","removeClass","isTop","stickToTop","anchorPt","anchorHeight","topOrBottom","cb","is","stickyOn","newElemWidth","width","comp","getComputedStyle","pdngl","parseInt","pdngr","max-width","dynamicHeight","newContainerHeight","hasClass","_setBreakPoints","mTop","emCalc","marginTop","mBtm","marginBottom","winHeight","innerHeight","bottom","unwrap","em","body","fontSize","_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__","_foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__","triggers","type","forEach","MutationObserver","prefixes","Listeners","Basic","Global","Initializers","debounceGlobalListener","debounce","listener","timer","args","Array","prototype","slice","call","arguments","clearTimeout","setTimeout","apply","openListener","closeListener","toggleListener","closeableListener","animation","stopPropagation","Motion","animateOut","fadeOut","toggleFocusListener","triggerHandler","addOpenListener","$elem","addCloseListener","addToggleListener","addCloseableListener","addToggleFocusListener","resizeListener","$nodes","each","closeMeListener","pluginId","namespace","not","addClosemeListener","pluginName","yetiBoxes","plugNames","push","_typeof","console","error","listeners","map","name","addResizeListener","addScrollListener","addMutationEventsListener","listeningElementsMutation","mutationRecordsList","$target","target","attributeName","closest","find","observe","attributes","childList","characterData","subtree","attributeFilter","addSimpleListeners","$document","addGlobalListeners","triggersInitialized","IHearYou","c","getter","o","Object","defineProperty","enumerable","get","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","object","property","hasOwnProperty","p","s","moduleId","l","modules"],"mappings":"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","file":"foundation.sticky.min.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.mediaQuery\"), require(\"./foundation.util.motion\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"./foundation.util.mediaQuery\", \"./foundation.util.motion\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.sticky\"] = factory(require(\"./foundation.core\"), require(\"./foundation.util.mediaQuery\"), require(\"./foundation.util.motion\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.sticky\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.mediaQuery\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.motion\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__, __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__, __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 = 17);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__;","import { Foundation } from './foundation.core';\n\nimport { Sticky } from '../../foundation.sticky';\nFoundation.plugin(Sticky, 'Sticky');\n\nexport { Foundation, Sticky };\n","'use strict';\n\nimport $ from 'jquery';\nimport { Plugin } from './foundation.core.plugin';\nimport { onLoad, GetYoDigits } from './foundation.core.utils';\nimport { MediaQuery } from './foundation.util.mediaQuery';\nimport { Triggers } from './foundation.util.triggers';\n\n/**\n * Sticky module.\n * @module foundation.sticky\n * @requires foundation.util.triggers\n * @requires foundation.util.mediaQuery\n */\n\nclass Sticky extends Plugin {\n /**\n * Creates a new instance of a sticky thing.\n * @class\n * @name Sticky\n * @param {jQuery} element - jQuery object to make sticky.\n * @param {Object} options - options object passed when creating the element programmatically.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, Sticky.defaults, this.$element.data(), options);\n this.className = 'Sticky'; // ie9 back compat\n\n // Triggers init is idempotent, just need to make sure it is initialized\n Triggers.init($);\n\n this._init();\n }\n\n /**\n * Initializes the sticky element by adding classes, getting/setting dimensions, breakpoints and attributes\n * @function\n * @private\n */\n _init() {\n MediaQuery._init();\n\n var $parent = this.$element.parent('[data-sticky-container]'),\n id = this.$element[0].id || GetYoDigits(6, 'sticky'),\n _this = this;\n\n if($parent.length){\n this.$container = $parent;\n } else {\n this.wasWrapped = true;\n this.$element.wrap(this.options.container);\n this.$container = this.$element.parent();\n }\n this.$container.addClass(this.options.containerClass);\n\n this.$element.addClass(this.options.stickyClass).attr({ 'data-resize': id, 'data-mutate': id });\n if (this.options.anchor !== '') {\n $('#' + _this.options.anchor).attr({ 'data-mutate': id });\n }\n\n this.scrollCount = this.options.checkEvery;\n this.isStuck = false;\n this.onLoadListener = onLoad($(window), function () {\n //We calculate the container height to have correct values for anchor points offset calculation.\n _this.containerHeight = _this.$element.css(\"display\") == \"none\" ? 0 : _this.$element[0].getBoundingClientRect().height;\n _this.$container.css('height', _this.containerHeight);\n _this.elemHeight = _this.containerHeight;\n if (_this.options.anchor !== '') {\n _this.$anchor = $('#' + _this.options.anchor);\n } else {\n _this._parsePoints();\n }\n\n _this._setSizes(function () {\n var scroll = window.pageYOffset;\n _this._calc(false, scroll);\n //Unstick the element will ensure that proper classes are set.\n if (!_this.isStuck) {\n _this._removeSticky((scroll >= _this.topPoint) ? false : true);\n }\n });\n _this._events(id.split('-').reverse().join('-'));\n });\n }\n\n /**\n * If using multiple elements as anchors, calculates the top and bottom pixel values the sticky thing should stick and unstick on.\n * @function\n * @private\n */\n _parsePoints() {\n var top = this.options.topAnchor == \"\" ? 1 : this.options.topAnchor,\n btm = this.options.btmAnchor== \"\" ? document.documentElement.scrollHeight : this.options.btmAnchor,\n pts = [top, btm],\n breaks = {};\n for (var i = 0, len = pts.length; i < len && pts[i]; i++) {\n var pt;\n if (typeof pts[i] === 'number') {\n pt = pts[i];\n } else {\n var place = pts[i].split(':'),\n anchor = $(`#${place[0]}`);\n\n pt = anchor.offset().top;\n if (place[1] && place[1].toLowerCase() === 'bottom') {\n pt += anchor[0].getBoundingClientRect().height;\n }\n }\n breaks[i] = pt;\n }\n\n\n this.points = breaks;\n return;\n }\n\n /**\n * Adds event handlers for the scrolling element.\n * @private\n * @param {String} id - pseudo-random id for unique scroll event listener.\n */\n _events(id) {\n var _this = this,\n scrollListener = this.scrollListener = `scroll.zf.${id}`;\n if (this.isOn) { return; }\n if (this.canStick) {\n this.isOn = true;\n $(window).off(scrollListener)\n .on(scrollListener, function(e) {\n if (_this.scrollCount === 0) {\n _this.scrollCount = _this.options.checkEvery;\n _this._setSizes(function() {\n _this._calc(false, window.pageYOffset);\n });\n } else {\n _this.scrollCount--;\n _this._calc(false, window.pageYOffset);\n }\n });\n }\n\n this.$element.off('resizeme.zf.trigger')\n .on('resizeme.zf.trigger', function(e, el) {\n _this._eventsHandler(id);\n });\n\n this.$element.on('mutateme.zf.trigger', function (e, el) {\n _this._eventsHandler(id);\n });\n\n if(this.$anchor) {\n this.$anchor.on('mutateme.zf.trigger', function (e, el) {\n _this._eventsHandler(id);\n });\n }\n }\n\n /**\n * Handler for events.\n * @private\n * @param {String} id - pseudo-random id for unique scroll event listener.\n */\n _eventsHandler(id) {\n var _this = this,\n scrollListener = this.scrollListener = `scroll.zf.${id}`;\n\n _this._setSizes(function() {\n _this._calc(false);\n if (_this.canStick) {\n if (!_this.isOn) {\n _this._events(id);\n }\n } else if (_this.isOn) {\n _this._pauseListeners(scrollListener);\n }\n });\n }\n\n /**\n * Removes event handlers for scroll and change events on anchor.\n * @fires Sticky#pause\n * @param {String} scrollListener - unique, namespaced scroll listener attached to `window`\n */\n _pauseListeners(scrollListener) {\n this.isOn = false;\n $(window).off(scrollListener);\n\n /**\n * Fires when the plugin is paused due to resize event shrinking the view.\n * @event Sticky#pause\n * @private\n */\n this.$element.trigger('pause.zf.sticky');\n }\n\n /**\n * Called on every `scroll` event and on `_init`\n * fires functions based on booleans and cached values\n * @param {Boolean} checkSizes - true if plugin should recalculate sizes and breakpoints.\n * @param {Number} scroll - current scroll position passed from scroll event cb function. If not passed, defaults to `window.pageYOffset`.\n */\n _calc(checkSizes, scroll) {\n if (checkSizes) { this._setSizes(); }\n\n if (!this.canStick) {\n if (this.isStuck) {\n this._removeSticky(true);\n }\n return false;\n }\n\n if (!scroll) { scroll = window.pageYOffset; }\n\n if (scroll >= this.topPoint) {\n if (scroll <= this.bottomPoint) {\n if (!this.isStuck) {\n this._setSticky();\n }\n } else {\n if (this.isStuck) {\n this._removeSticky(false);\n }\n }\n } else {\n if (this.isStuck) {\n this._removeSticky(true);\n }\n }\n }\n\n /**\n * Causes the $element to become stuck.\n * Adds `position: fixed;`, and helper classes.\n * @fires Sticky#stuckto\n * @function\n * @private\n */\n _setSticky() {\n var _this = this,\n stickTo = this.options.stickTo,\n mrgn = stickTo === 'top' ? 'marginTop' : 'marginBottom',\n notStuckTo = stickTo === 'top' ? 'bottom' : 'top',\n css = {};\n\n css[mrgn] = `${this.options[mrgn]}em`;\n css[stickTo] = 0;\n css[notStuckTo] = 'auto';\n this.isStuck = true;\n this.$element.removeClass(`is-anchored is-at-${notStuckTo}`)\n .addClass(`is-stuck is-at-${stickTo}`)\n .css(css)\n /**\n * Fires when the $element has become `position: fixed;`\n * Namespaced to `top` or `bottom`, e.g. `sticky.zf.stuckto:top`\n * @event Sticky#stuckto\n */\n .trigger(`sticky.zf.stuckto:${stickTo}`);\n this.$element.on(\"transitionend webkitTransitionEnd oTransitionEnd otransitionend MSTransitionEnd\", function() {\n _this._setSizes();\n });\n }\n\n /**\n * Causes the $element to become unstuck.\n * Removes `position: fixed;`, and helper classes.\n * Adds other helper classes.\n * @param {Boolean} isTop - tells the function if the $element should anchor to the top or bottom of its $anchor element.\n * @fires Sticky#unstuckfrom\n * @private\n */\n _removeSticky(isTop) {\n var stickTo = this.options.stickTo,\n stickToTop = stickTo === 'top',\n css = {},\n anchorPt = (this.points ? this.points[1] - this.points[0] : this.anchorHeight) - this.elemHeight,\n mrgn = stickToTop ? 'marginTop' : 'marginBottom',\n notStuckTo = stickToTop ? 'bottom' : 'top',\n topOrBottom = isTop ? 'top' : 'bottom';\n\n css[mrgn] = 0;\n\n css['bottom'] = 'auto';\n if(isTop) {\n css['top'] = 0;\n } else {\n css['top'] = anchorPt;\n }\n\n this.isStuck = false;\n this.$element.removeClass(`is-stuck is-at-${stickTo}`)\n .addClass(`is-anchored is-at-${topOrBottom}`)\n .css(css)\n /**\n * Fires when the $element has become anchored.\n * Namespaced to `top` or `bottom`, e.g. `sticky.zf.unstuckfrom:bottom`\n * @event Sticky#unstuckfrom\n */\n .trigger(`sticky.zf.unstuckfrom:${topOrBottom}`);\n }\n\n /**\n * Sets the $element and $container sizes for plugin.\n * Calls `_setBreakPoints`.\n * @param {Function} cb - optional callback function to fire on completion of `_setBreakPoints`.\n * @private\n */\n _setSizes(cb) {\n this.canStick = MediaQuery.is(this.options.stickyOn);\n if (!this.canStick) {\n if (cb && typeof cb === 'function') { cb(); }\n }\n\n var _this = this,\n newElemWidth = this.$container[0].getBoundingClientRect().width,\n comp = window.getComputedStyle(this.$container[0]),\n pdngl = parseInt(comp['padding-left'], 10),\n pdngr = parseInt(comp['padding-right'], 10);\n\n if (this.$anchor && this.$anchor.length) {\n this.anchorHeight = this.$anchor[0].getBoundingClientRect().height;\n } else {\n this._parsePoints();\n }\n\n this.$element.css({\n 'max-width': `${newElemWidth - pdngl - pdngr}px`\n });\n\n // Recalculate the height only if it is \"dynamic\"\n if (this.options.dynamicHeight || !this.containerHeight) {\n // Get the sticked element height and apply it to the container to \"hold the place\"\n var newContainerHeight = this.$element[0].getBoundingClientRect().height || this.containerHeight;\n newContainerHeight = this.$element.css(\"display\") == \"none\" ? 0 : newContainerHeight;\n this.$container.css('height', newContainerHeight);\n this.containerHeight = newContainerHeight;\n }\n this.elemHeight = this.containerHeight;\n\n if (!this.isStuck) {\n if (this.$element.hasClass('is-at-bottom')) {\n var anchorPt = (this.points ? this.points[1] - this.$container.offset().top : this.anchorHeight) - this.elemHeight;\n this.$element.css('top', anchorPt);\n }\n }\n\n this._setBreakPoints(this.containerHeight, function() {\n if (cb && typeof cb === 'function') { cb(); }\n });\n }\n\n /**\n * Sets the upper and lower breakpoints for the element to become sticky/unsticky.\n * @param {Number} elemHeight - px value for sticky.$element height, calculated by `_setSizes`.\n * @param {Function} cb - optional callback function to be called on completion.\n * @private\n */\n _setBreakPoints(elemHeight, cb) {\n if (!this.canStick) {\n if (cb && typeof cb === 'function') { cb(); }\n else { return false; }\n }\n var mTop = emCalc(this.options.marginTop),\n mBtm = emCalc(this.options.marginBottom),\n topPoint = this.points ? this.points[0] : this.$anchor.offset().top,\n bottomPoint = this.points ? this.points[1] : topPoint + this.anchorHeight,\n // topPoint = this.$anchor.offset().top || this.points[0],\n // bottomPoint = topPoint + this.anchorHeight || this.points[1],\n winHeight = window.innerHeight;\n\n if (this.options.stickTo === 'top') {\n topPoint -= mTop;\n bottomPoint -= (elemHeight + mTop);\n } else if (this.options.stickTo === 'bottom') {\n topPoint -= (winHeight - (elemHeight + mBtm));\n bottomPoint -= (winHeight - mBtm);\n } else {\n //this would be the stickTo: both option... tricky\n }\n\n this.topPoint = topPoint;\n this.bottomPoint = bottomPoint;\n\n if (cb && typeof cb === 'function') { cb(); }\n }\n\n /**\n * Destroys the current sticky element.\n * Resets the element to the top position first.\n * Removes event listeners, JS-added css properties and classes, and unwraps the $element if the JS added the $container.\n * @function\n */\n _destroy() {\n this._removeSticky(true);\n\n this.$element.removeClass(`${this.options.stickyClass} is-anchored is-at-top`)\n .css({\n height: '',\n top: '',\n bottom: '',\n 'max-width': ''\n })\n .off('resizeme.zf.trigger')\n .off('mutateme.zf.trigger');\n if (this.$anchor && this.$anchor.length) {\n this.$anchor.off('change.zf.sticky');\n }\n if (this.scrollListener) $(window).off(this.scrollListener)\n if (this.onLoadListener) $(window).off(this.onLoadListener)\n\n if (this.wasWrapped) {\n this.$element.unwrap();\n } else {\n this.$container.removeClass(this.options.containerClass)\n .css({\n height: ''\n });\n }\n }\n}\n\nSticky.defaults = {\n /**\n * Customizable container template. Add your own classes for styling and sizing.\n * @option\n * @type {string}\n * @default '&lt;div data-sticky-container&gt;&lt;/div&gt;'\n */\n container: '<div data-sticky-container></div>',\n /**\n * Location in the view the element sticks to. Can be `'top'` or `'bottom'`.\n * @option\n * @type {string}\n * @default 'top'\n */\n stickTo: 'top',\n /**\n * If anchored to a single element, the id of that element.\n * @option\n * @type {string}\n * @default ''\n */\n anchor: '',\n /**\n * If using more than one element as anchor points, the id of the top anchor.\n * @option\n * @type {string}\n * @default ''\n */\n topAnchor: '',\n /**\n * If using more than one element as anchor points, the id of the bottom anchor.\n * @option\n * @type {string}\n * @default ''\n */\n btmAnchor: '',\n /**\n * Margin, in `em`'s to apply to the top of the element when it becomes sticky.\n * @option\n * @type {number}\n * @default 1\n */\n marginTop: 1,\n /**\n * Margin, in `em`'s to apply to the bottom of the element when it becomes sticky.\n * @option\n * @type {number}\n * @default 1\n */\n marginBottom: 1,\n /**\n * Breakpoint string that is the minimum screen size an element should become sticky.\n * @option\n * @type {string}\n * @default 'medium'\n */\n stickyOn: 'medium',\n /**\n * Class applied to sticky element, and removed on destruction. Foundation defaults to `sticky`.\n * @option\n * @type {string}\n * @default 'sticky'\n */\n stickyClass: 'sticky',\n /**\n * Class applied to sticky container. Foundation defaults to `sticky-container`.\n * @option\n * @type {string}\n * @default 'sticky-container'\n */\n containerClass: 'sticky-container',\n /**\n * If true (by default), keep the sticky container the same height as the element. Otherwise, the container height is set once and does not change.\n * @option\n * @type {boolean}\n * @default true\n */\n dynamicHeight: true,\n /**\n * Number of scroll events between the plugin's recalculating sticky points. Setting it to `0` will cause it to recalc every scroll event, setting it to `-1` will prevent recalc on scroll.\n * @option\n * @type {number}\n * @default -1\n */\n checkEvery: -1\n};\n\n/**\n * Helper function to calculate em values\n * @param Number {em} - number of em's to calculate into pixels\n */\nfunction emCalc(em) {\n return parseInt(window.getComputedStyle(document.body, null).fontSize, 10) * em;\n}\n\nexport {Sticky};\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__;"]}
@@ -164,8 +164,8 @@ __webpack_require__.r(__webpack_exports__);
164
164
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Tabs", function() { return Tabs; });
165
165
  /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ "jquery");
166
166
  /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);
167
- /* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation.core.utils */ "./foundation.core");
168
- /* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__);
167
+ /* harmony import */ var _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation.core.plugin */ "./foundation.core");
168
+ /* harmony import */ var _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__);
169
169
  /* harmony import */ var _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation.util.keyboard */ "./foundation.util.keyboard");
170
170
  /* harmony import */ var _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2__);
171
171
  /* harmony import */ var _foundation_util_imageLoader__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./foundation.util.imageLoader */ "./foundation.util.imageLoader");
@@ -291,7 +291,7 @@ function (_Plugin) {
291
291
  }
292
292
 
293
293
  if (isActive && _this.options.autoFocus) {
294
- _this.onLoadListener = Object(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__["onLoad"])(jquery__WEBPACK_IMPORTED_MODULE_0___default()(window), function () {
294
+ _this.onLoadListener = Object(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__["onLoad"])(jquery__WEBPACK_IMPORTED_MODULE_0___default()(window), function () {
295
295
  jquery__WEBPACK_IMPORTED_MODULE_0___default()('html, body').animate({
296
296
  scrollTop: $elem.offset().top
297
297
  }, _this.options.deepLinkSmudgeDelay, function () {
@@ -322,22 +322,24 @@ function (_Plugin) {
322
322
  if (_this2._initialAnchor) anchor = _this2._initialAnchor;
323
323
  }
324
324
 
325
- var $anchor = anchor && jquery__WEBPACK_IMPORTED_MODULE_0___default()(anchor);
325
+ var anchorNoHash = anchor.indexOf('#') >= 0 ? anchor.slice(1) : anchor;
326
+ var $anchor = anchorNoHash && jquery__WEBPACK_IMPORTED_MODULE_0___default()("#".concat(anchorNoHash));
326
327
 
327
- var $link = anchor && _this2.$element.find('[href$="' + anchor + '"]'); // Whether the anchor element that has been found is part of this element
328
+ var $link = anchor && _this2.$element.find("[href$=\"".concat(anchor, "\"],[data-tabs-target=\"").concat(anchorNoHash, "\"]")).first(); // Whether the anchor element that has been found is part of this element
328
329
 
329
330
 
330
- var isOwnAnchor = !!($anchor.length && $link.length); // If there is an anchor for the hash, select it
331
-
332
- if ($anchor && $anchor.length && $link && $link.length) {
333
- _this2.selectTab($anchor, true);
334
- } // Otherwise, collapse everything
335
- else {
336
- _this2._collapse();
337
- }
331
+ var isOwnAnchor = !!($anchor.length && $link.length);
338
332
 
339
333
  if (isOwnAnchor) {
340
- // Roll up a little to show the titles
334
+ // If there is an anchor for the hash, select it
335
+ if ($anchor && $anchor.length && $link && $link.length) {
336
+ _this2.selectTab($anchor, true);
337
+ } // Otherwise, collapse everything
338
+ else {
339
+ _this2._collapse();
340
+ } // Roll up a little to show the titles
341
+
342
+
341
343
  if (_this2.options.deepLinkSmudge) {
342
344
  var offset = _this2.$element.offset();
343
345
 
@@ -399,7 +401,6 @@ function (_Plugin) {
399
401
 
400
402
  this.$element.off('click.zf.tabs').on('click.zf.tabs', ".".concat(this.options.linkClass), function (e) {
401
403
  e.preventDefault();
402
- e.stopPropagation();
403
404
 
404
405
  _this._handleTabChange(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this));
405
406
  });
@@ -451,7 +452,6 @@ function (_Plugin) {
451
452
  _this._handleTabChange($nextElement);
452
453
  },
453
454
  handled: function handled() {
454
- e.stopPropagation();
455
455
  e.preventDefault();
456
456
  }
457
457
  });
@@ -574,7 +574,7 @@ function (_Plugin) {
574
574
  }, {
575
575
  key: "selectTab",
576
576
  value: function selectTab(elem, historyHandled) {
577
- var idStr;
577
+ var idStr, hashIdStr;
578
578
 
579
579
  if (_typeof(elem) === 'object') {
580
580
  idStr = elem[0].id;
@@ -583,10 +583,13 @@ function (_Plugin) {
583
583
  }
584
584
 
585
585
  if (idStr.indexOf('#') < 0) {
586
- idStr = "#".concat(idStr);
586
+ hashIdStr = "#".concat(idStr);
587
+ } else {
588
+ hashIdStr = idStr;
589
+ idStr = idStr.slice(1);
587
590
  }
588
591
 
589
- var $target = this.$tabTitles.has("[href$=\"".concat(idStr, "\"]"));
592
+ var $target = this.$tabTitles.has("[href$=\"".concat(hashIdStr, "\"],[data-tabs-target=\"").concat(idStr, "\"]")).first();
590
593
 
591
594
  this._handleTabChange($target, historyHandled);
592
595
  }
@@ -656,7 +659,7 @@ function (_Plugin) {
656
659
  }]);
657
660
 
658
661
  return Tabs;
659
- }(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__["Plugin"]);
662
+ }(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__["Plugin"]);
660
663
 
661
664
  Tabs.defaults = {
662
665
  /**
@@ -768,7 +771,7 @@ Tabs.defaults = {
768
771
  /*! no static exports found */
769
772
  /***/ (function(module, exports, __webpack_require__) {
770
773
 
771
- module.exports = __webpack_require__(/*! /Users/ncoden/Documents/Documents/Projects/Programmation/Web/2016/Foundation/foundation-sites/js/entries/plugins/foundation.tabs.js */"./js/entries/plugins/foundation.tabs.js");
774
+ module.exports = __webpack_require__(/*! /Volumes/Data/Development/Foundation/foundation-sites/js/entries/plugins/foundation.tabs.js */"./js/entries/plugins/foundation.tabs.js");
772
775
 
773
776
 
774
777
  /***/ }),
@@ -1 +1 @@
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.imageLoader\"],\"amd\":\"./foundation.util.imageLoader\",\"commonjs\":\"./foundation.util.imageLoader\",\"commonjs2\":\"./foundation.util.imageLoader\"}","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]/./js/entries/plugins/foundation.tabs.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.tabs.js","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}"],"names":["Foundation","plugin","Tabs","element","options","$element","$","extend","defaults","data","className","_init","Keyboard","register","_this","_isInitializing","attr","$tabTitles","find","linkClass","$tabContent","id","each","$elem","$link","isActive","hasClass","linkActiveClass","hash","slice","linkId","_initialAnchor","autoFocus","onLoadListener","onLoad","window","animate","scrollTop","offset","top","deepLinkSmudgeDelay","focus","matchHeight","$images","length","onImagesLoaded","_setHeight","bind","_checkDeepLink","anchor","location","$anchor","isOwnAnchor","selectTab","_collapse","deepLinkSmudge","trigger","deepLink","_events","_addKeyHandler","_addClickHandler","_setHeightMqHandler","on","off","e","preventDefault","stopPropagation","_handleTabChange","which","$elements","parent","children","$prevElement","$nextElement","i","is","wrapOnKeys","last","eq","first","Math","max","min","handleKey","open","previous","next","handled","$target","historyHandled","activeCollapse","$oldTab","$tabLink","target","$targetContent","_collapseTab","_openTab","updateHistory","history","pushState","replaceState","addClass","panelActiveClass","removeAttr","$target_anchor","removeClass","$activeTab","elem","idStr","indexOf","has","panelClass","css","panel","temp","getBoundingClientRect","height","hide","end","Plugin"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yEAAyE;AACzE,CAAC;AACD,O;ACVA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,kDAA0C,gCAAgC;AAC1E;AACA;;AAEA;AACA;AACA;AACA,gEAAwD,kBAAkB;AAC1E;AACA,yDAAiD,cAAc;AAC/D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAyC,iCAAiC;AAC1E,wHAAgH,mBAAmB,EAAE;AACrI;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;;AAGA;AACA;;;;;;;;;;;;AClFA,8D;;;;;;;;;;;ACAA,0E;;;;;;;;;;;ACAA,uE;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA;AACAA,2DAAU,CAACC,MAAX,CAAkBC,qDAAlB,EAAwB,MAAxB;;;;;;;;;;;;;ACHA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAa;;;;;;;;;;;;;;;;;;;;AAEb;AACA;AACA;AACA;AACA;AACA;;;;;;;IAOMA,I;;;;;;;;;;;;;;AACJ;;;;;;;;2BAQOC,O,EAASC,O,EAAS;AACvB,WAAKC,QAAL,GAAgBF,OAAhB;AACA,WAAKC,OAAL,GAAeE,6CAAC,CAACC,MAAF,CAAS,EAAT,EAAaL,IAAI,CAACM,QAAlB,EAA4B,KAAKH,QAAL,CAAcI,IAAd,EAA5B,EAAkDL,OAAlD,CAAf;AACA,WAAKM,SAAL,GAAiB,MAAjB,CAHuB,CAGE;;AAEzB,WAAKC,KAAL;;AACAC,wEAAQ,CAACC,QAAT,CAAkB,MAAlB,EAA0B;AACxB,iBAAS,MADe;AAExB,iBAAS,MAFe;AAGxB,uBAAe,MAHS;AAIxB,oBAAY,UAJY;AAKxB,sBAAc,MALU;AAMxB,sBAAc,UANU,CAOxB;AACA;;AARwB,OAA1B;AAUD;AAED;;;;;;;4BAIQ;AAAA;;AACN,UAAIC,KAAK,GAAG,IAAZ;;AACA,WAAKC,eAAL,GAAuB,IAAvB;AAEA,WAAKV,QAAL,CAAcW,IAAd,CAAmB;AAAC,gBAAQ;AAAT,OAAnB;AACA,WAAKC,UAAL,GAAkB,KAAKZ,QAAL,CAAca,IAAd,YAAuB,KAAKd,OAAL,CAAae,SAApC,EAAlB;AACA,WAAKC,WAAL,GAAmBd,6CAAC,gCAAwB,KAAKD,QAAL,CAAc,CAAd,EAAiBgB,EAAzC,SAApB;AAEA,WAAKJ,UAAL,CAAgBK,IAAhB,CAAqB,YAAU;AAC7B,YAAIC,KAAK,GAAGjB,6CAAC,CAAC,IAAD,CAAb;AAAA,YACIkB,KAAK,GAAGD,KAAK,CAACL,IAAN,CAAW,GAAX,CADZ;AAAA,YAEIO,QAAQ,GAAGF,KAAK,CAACG,QAAN,WAAkBZ,KAAK,CAACV,OAAN,CAAcuB,eAAhC,EAFf;AAAA,YAGIC,IAAI,GAAGJ,KAAK,CAACR,IAAN,CAAW,kBAAX,KAAkCQ,KAAK,CAAC,CAAD,CAAL,CAASI,IAAT,CAAcC,KAAd,CAAoB,CAApB,CAH7C;AAAA,YAIIC,MAAM,GAAGN,KAAK,CAAC,CAAD,CAAL,CAASH,EAAT,GAAcG,KAAK,CAAC,CAAD,CAAL,CAASH,EAAvB,aAA+BO,IAA/B,WAJb;AAAA,YAKIR,WAAW,GAAGd,6CAAC,YAAKsB,IAAL,EALnB;AAOAL,aAAK,CAACP,IAAN,CAAW;AAAC,kBAAQ;AAAT,SAAX;AAEAQ,aAAK,CAACR,IAAN,CAAW;AACT,kBAAQ,KADC;AAET,2BAAiBY,IAFR;AAGT,2BAAiBH,QAHR;AAIT,gBAAMK,MAJG;AAKT,sBAAYL,QAAQ,GAAG,GAAH,GAAS;AALpB,SAAX;AAQAL,mBAAW,CAACJ,IAAZ,CAAiB;AACf,kBAAQ,UADO;AAEf,6BAAmBc;AAFJ,SAAjB,EAlB6B,CAuB7B;;AACA,YAAIL,QAAJ,EAAc;AACZX,eAAK,CAACiB,cAAN,cAA2BH,IAA3B;AACD;;AAED,YAAG,CAACH,QAAJ,EAAc;AACZL,qBAAW,CAACJ,IAAZ,CAAiB,aAAjB,EAAgC,MAAhC;AACD;;AAED,YAAGS,QAAQ,IAAIX,KAAK,CAACV,OAAN,CAAc4B,SAA7B,EAAuC;AACrClB,eAAK,CAACmB,cAAN,GAAuBC,qEAAM,CAAC5B,6CAAC,CAAC6B,MAAD,CAAF,EAAY,YAAW;AAClD7B,yDAAC,CAAC,YAAD,CAAD,CAAgB8B,OAAhB,CAAwB;AAAEC,uBAAS,EAAEd,KAAK,CAACe,MAAN,GAAeC;AAA5B,aAAxB,EAA2DzB,KAAK,CAACV,OAAN,CAAcoC,mBAAzE,EAA8F,YAAM;AAClGhB,mBAAK,CAACiB,KAAN;AACD,aAFD;AAGD,WAJ4B,CAA7B;AAKD;AACF,OAvCD;;AAyCA,UAAG,KAAKrC,OAAL,CAAasC,WAAhB,EAA6B;AAC3B,YAAIC,OAAO,GAAG,KAAKvB,WAAL,CAAiBF,IAAjB,CAAsB,KAAtB,CAAd;;AAEA,YAAIyB,OAAO,CAACC,MAAZ,EAAoB;AAClBC,6FAAc,CAACF,OAAD,EAAU,KAAKG,UAAL,CAAgBC,IAAhB,CAAqB,IAArB,CAAV,CAAd;AACD,SAFD,MAEO;AACL,eAAKD,UAAL;AACD;AACF,OAzDK,CA2DL;;;AACD,WAAKE,cAAL,GAAsB,YAAM;AAC1B,YAAIC,MAAM,GAAGd,MAAM,CAACe,QAAP,CAAgBtB,IAA7B;;AAEA,YAAI,CAACqB,MAAM,CAACL,MAAZ,EAAoB;AAClB;AACA,cAAI,MAAI,CAAC7B,eAAT,EAA0B,OAFR,CAGlB;;AACA,cAAI,MAAI,CAACgB,cAAT,EAAyBkB,MAAM,GAAG,MAAI,CAAClB,cAAd;AAC1B;;AAED,YAAIoB,OAAO,GAAGF,MAAM,IAAI3C,6CAAC,CAAC2C,MAAD,CAAzB;;AACA,YAAIzB,KAAK,GAAGyB,MAAM,IAAI,MAAI,CAAC5C,QAAL,CAAca,IAAd,CAAmB,aAAW+B,MAAX,GAAkB,IAArC,CAAtB,CAX0B,CAY1B;;;AACA,YAAIG,WAAW,GAAG,CAAC,EAAED,OAAO,CAACP,MAAR,IAAkBpB,KAAK,CAACoB,MAA1B,CAAnB,CAb0B,CAe1B;;AACA,YAAIO,OAAO,IAAIA,OAAO,CAACP,MAAnB,IAA6BpB,KAA7B,IAAsCA,KAAK,CAACoB,MAAhD,EAAwD;AACtD,gBAAI,CAACS,SAAL,CAAeF,OAAf,EAAwB,IAAxB;AACD,SAFD,CAGA;AAHA,aAIK;AACH,kBAAI,CAACG,SAAL;AACD;;AAED,YAAIF,WAAJ,EAAiB;AACf;AACA,cAAI,MAAI,CAAChD,OAAL,CAAamD,cAAjB,EAAiC;AAC/B,gBAAIjB,MAAM,GAAG,MAAI,CAACjC,QAAL,CAAciC,MAAd,EAAb;;AACAhC,yDAAC,CAAC,YAAD,CAAD,CAAgB8B,OAAhB,CAAwB;AAAEC,uBAAS,EAAEC,MAAM,CAACC;AAApB,aAAxB,EAAmD,MAAI,CAACnC,OAAL,CAAaoC,mBAAhE;AACD;AAED;;;;;;AAIA,gBAAI,CAACnC,QAAL,CAAcmD,OAAd,CAAsB,kBAAtB,EAA0C,CAAChC,KAAD,EAAQ2B,OAAR,CAA1C;AACD;AACF,OArCD,CA5DM,CAmGN;;;AACA,UAAI,KAAK/C,OAAL,CAAaqD,QAAjB,EAA2B;AACzB,aAAKT,cAAL;AACD;;AAED,WAAKU,OAAL;;AAEA,WAAK3C,eAAL,GAAuB,KAAvB;AACD;AAED;;;;;;;8BAIU;AACR,WAAK4C,cAAL;;AACA,WAAKC,gBAAL;;AACA,WAAKC,mBAAL,GAA2B,IAA3B;;AAEA,UAAI,KAAKzD,OAAL,CAAasC,WAAjB,EAA8B;AAC5B,aAAKmB,mBAAL,GAA2B,KAAKf,UAAL,CAAgBC,IAAhB,CAAqB,IAArB,CAA3B;AAEAzC,qDAAC,CAAC6B,MAAD,CAAD,CAAU2B,EAAV,CAAa,uBAAb,EAAsC,KAAKD,mBAA3C;AACD;;AAED,UAAG,KAAKzD,OAAL,CAAaqD,QAAhB,EAA0B;AACxBnD,qDAAC,CAAC6B,MAAD,CAAD,CAAU2B,EAAV,CAAa,YAAb,EAA2B,KAAKd,cAAhC;AACD;AACF;AAED;;;;;;;uCAImB;AACjB,UAAIlC,KAAK,GAAG,IAAZ;;AAEA,WAAKT,QAAL,CACG0D,GADH,CACO,eADP,EAEGD,EAFH,CAEM,eAFN,aAE2B,KAAK1D,OAAL,CAAae,SAFxC,GAEqD,UAAS6C,CAAT,EAAW;AAC5DA,SAAC,CAACC,cAAF;AACAD,SAAC,CAACE,eAAF;;AACApD,aAAK,CAACqD,gBAAN,CAAuB7D,6CAAC,CAAC,IAAD,CAAxB;AACD,OANH;AAOD;AAED;;;;;;;qCAIiB;AACf,UAAIQ,KAAK,GAAG,IAAZ;;AAEA,WAAKG,UAAL,CAAgB8C,GAAhB,CAAoB,iBAApB,EAAuCD,EAAvC,CAA0C,iBAA1C,EAA6D,UAASE,CAAT,EAAW;AACtE,YAAIA,CAAC,CAACI,KAAF,KAAY,CAAhB,EAAmB;AAGnB,YAAI/D,QAAQ,GAAGC,6CAAC,CAAC,IAAD,CAAhB;AAAA,YACE+D,SAAS,GAAGhE,QAAQ,CAACiE,MAAT,CAAgB,IAAhB,EAAsBC,QAAtB,CAA+B,IAA/B,CADd;AAAA,YAEEC,YAFF;AAAA,YAGEC,YAHF;AAKAJ,iBAAS,CAAC/C,IAAV,CAAe,UAASoD,CAAT,EAAY;AACzB,cAAIpE,6CAAC,CAAC,IAAD,CAAD,CAAQqE,EAAR,CAAWtE,QAAX,CAAJ,EAA0B;AACxB,gBAAIS,KAAK,CAACV,OAAN,CAAcwE,UAAlB,EAA8B;AAC5BJ,0BAAY,GAAGE,CAAC,KAAK,CAAN,GAAUL,SAAS,CAACQ,IAAV,EAAV,GAA6BR,SAAS,CAACS,EAAV,CAAaJ,CAAC,GAAC,CAAf,CAA5C;AACAD,0BAAY,GAAGC,CAAC,KAAKL,SAAS,CAACzB,MAAV,GAAkB,CAAxB,GAA4ByB,SAAS,CAACU,KAAV,EAA5B,GAAgDV,SAAS,CAACS,EAAV,CAAaJ,CAAC,GAAC,CAAf,CAA/D;AACD,aAHD,MAGO;AACLF,0BAAY,GAAGH,SAAS,CAACS,EAAV,CAAaE,IAAI,CAACC,GAAL,CAAS,CAAT,EAAYP,CAAC,GAAC,CAAd,CAAb,CAAf;AACAD,0BAAY,GAAGJ,SAAS,CAACS,EAAV,CAAaE,IAAI,CAACE,GAAL,CAASR,CAAC,GAAC,CAAX,EAAcL,SAAS,CAACzB,MAAV,GAAiB,CAA/B,CAAb,CAAf;AACD;;AACD;AACD;AACF,SAXD,EATsE,CAsBtE;;AACAhC,0EAAQ,CAACuE,SAAT,CAAmBnB,CAAnB,EAAsB,MAAtB,EAA8B;AAC5BoB,cAAI,EAAE,gBAAW;AACf/E,oBAAQ,CAACa,IAAT,CAAc,cAAd,EAA8BuB,KAA9B;;AACA3B,iBAAK,CAACqD,gBAAN,CAAuB9D,QAAvB;AACD,WAJ2B;AAK5BgF,kBAAQ,EAAE,oBAAW;AACnBb,wBAAY,CAACtD,IAAb,CAAkB,cAAlB,EAAkCuB,KAAlC;;AACA3B,iBAAK,CAACqD,gBAAN,CAAuBK,YAAvB;AACD,WAR2B;AAS5Bc,cAAI,EAAE,gBAAW;AACfb,wBAAY,CAACvD,IAAb,CAAkB,cAAlB,EAAkCuB,KAAlC;;AACA3B,iBAAK,CAACqD,gBAAN,CAAuBM,YAAvB;AACD,WAZ2B;AAa5Bc,iBAAO,EAAE,mBAAW;AAClBvB,aAAC,CAACE,eAAF;AACAF,aAAC,CAACC,cAAF;AACD;AAhB2B,SAA9B;AAkBD,OAzCD;AA0CD;AAED;;;;;;;;;;qCAOiBuB,O,EAASC,c,EAAgB;AAExC;AACA,UAAID,OAAO,CAAC9D,QAAR,WAAoB,KAAKtB,OAAL,CAAauB,eAAjC,EAAJ,EAAyD;AACrD,YAAG,KAAKvB,OAAL,CAAasF,cAAhB,EAAgC;AAC5B,eAAKpC,SAAL;AACH;;AACD;AACH;;AAED,UAAIqC,OAAO,GAAG,KAAKtF,QAAL,CACRa,IADQ,YACC,KAAKd,OAAL,CAAae,SADd,cAC2B,KAAKf,OAAL,CAAauB,eADxC,EAAd;AAAA,UAEMiE,QAAQ,GAAGJ,OAAO,CAACtE,IAAR,CAAa,cAAb,CAFjB;AAAA,UAGM2E,MAAM,GAAGD,QAAQ,CAAC5E,IAAT,CAAc,kBAAd,CAHf;AAAA,UAIMiC,MAAM,GAAG4C,MAAM,IAAIA,MAAM,CAACjD,MAAjB,cAA8BiD,MAA9B,IAAyCD,QAAQ,CAAC,CAAD,CAAR,CAAYhE,IAJpE;AAAA,UAKMkE,cAAc,GAAG,KAAK1E,WAAL,CAAiBF,IAAjB,CAAsB+B,MAAtB,CALvB,CAVwC,CAiBxC;;AACA,WAAK8C,YAAL,CAAkBJ,OAAlB,EAlBwC,CAoBxC;;;AACA,WAAKK,QAAL,CAAcR,OAAd,EArBwC,CAuBxC;;;AACA,UAAI,KAAKpF,OAAL,CAAaqD,QAAb,IAAyB,CAACgC,cAA9B,EAA8C;AAC5C,YAAI,KAAKrF,OAAL,CAAa6F,aAAjB,EAAgC;AAC9BC,iBAAO,CAACC,SAAR,CAAkB,EAAlB,EAAsB,EAAtB,EAA0BlD,MAA1B;AACD,SAFD,MAEO;AACLiD,iBAAO,CAACE,YAAR,CAAqB,EAArB,EAAyB,EAAzB,EAA6BnD,MAA7B;AACD;AACF;AAED;;;;;;AAIA,WAAK5C,QAAL,CAAcmD,OAAd,CAAsB,gBAAtB,EAAwC,CAACgC,OAAD,EAAUM,cAAV,CAAxC,EApCwC,CAsCxC;;AACAA,oBAAc,CAAC5E,IAAf,CAAoB,eAApB,EAAqCsC,OAArC,CAA6C,qBAA7C;AACD;AAED;;;;;;;;6BAKSgC,O,EAAS;AACd,UAAII,QAAQ,GAAGJ,OAAO,CAACtE,IAAR,CAAa,cAAb,CAAf;AAAA,UACIU,IAAI,GAAGgE,QAAQ,CAAC5E,IAAT,CAAc,kBAAd,KAAqC4E,QAAQ,CAAC,CAAD,CAAR,CAAYhE,IAAZ,CAAiBC,KAAjB,CAAuB,CAAvB,CADhD;AAAA,UAEIiE,cAAc,GAAG,KAAK1E,WAAL,CAAiBF,IAAjB,YAA0BU,IAA1B,EAFrB;AAIA4D,aAAO,CAACa,QAAR,WAAoB,KAAKjG,OAAL,CAAauB,eAAjC;AAEAiE,cAAQ,CAAC5E,IAAT,CAAc;AACZ,yBAAiB,MADL;AAEZ,oBAAY;AAFA,OAAd;AAKA8E,oBAAc,CACXO,QADH,WACe,KAAKjG,OAAL,CAAakG,gBAD5B,GACgDC,UADhD,CAC2D,aAD3D;AAEH;AAED;;;;;;;;iCAKaf,O,EAAS;AACpB,UAAIgB,cAAc,GAAGhB,OAAO,CACzBiB,WADkB,WACH,KAAKrG,OAAL,CAAauB,eADV,GAElBT,IAFkB,CAEb,cAFa,EAGlBF,IAHkB,CAGb;AACJ,yBAAiB,OADb;AAEJ,oBAAY,CAAC;AAFT,OAHa,CAArB;AAQAV,mDAAC,YAAKkG,cAAc,CAACxF,IAAf,CAAoB,eAApB,CAAL,EAAD,CACGyF,WADH,WACkB,KAAKrG,OAAL,CAAakG,gBAD/B,GAEGtF,IAFH,CAEQ;AAAE,uBAAe;AAAjB,OAFR;AAGD;AAED;;;;;;;;gCAKY;AACV,UAAI0F,UAAU,GAAG,KAAKrG,QAAL,CAAca,IAAd,YAAuB,KAAKd,OAAL,CAAae,SAApC,cAAiD,KAAKf,OAAL,CAAauB,eAA9D,EAAjB;;AAEA,UAAI+E,UAAU,CAAC9D,MAAf,EAAuB;AACrB,aAAKmD,YAAL,CAAkBW,UAAlB;AAEA;;;;;;AAIA,aAAKrG,QAAL,CAAcmD,OAAd,CAAsB,kBAAtB,EAA0C,CAACkD,UAAD,CAA1C;AACD;AACF;AAED;;;;;;;;;8BAMUC,I,EAAMlB,c,EAAgB;AAC9B,UAAImB,KAAJ;;AAEA,UAAI,QAAOD,IAAP,MAAgB,QAApB,EAA8B;AAC5BC,aAAK,GAAGD,IAAI,CAAC,CAAD,CAAJ,CAAQtF,EAAhB;AACD,OAFD,MAEO;AACLuF,aAAK,GAAGD,IAAR;AACD;;AAED,UAAIC,KAAK,CAACC,OAAN,CAAc,GAAd,IAAqB,CAAzB,EAA4B;AAC1BD,aAAK,cAAOA,KAAP,CAAL;AACD;;AAED,UAAIpB,OAAO,GAAG,KAAKvE,UAAL,CAAgB6F,GAAhB,oBAA+BF,KAA/B,SAAd;;AAEA,WAAKzC,gBAAL,CAAsBqB,OAAtB,EAA+BC,cAA/B;AACD;;;;AAED;;;;;;;;iCAQa;AACX,UAAIR,GAAG,GAAG,CAAV;AAAA,UACInE,KAAK,GAAG,IADZ,CADW,CAEO;;;AAElB,WAAKM,WAAL,CACGF,IADH,YACY,KAAKd,OAAL,CAAa2G,UADzB,GAEGC,GAFH,CAEO,QAFP,EAEiB,EAFjB,EAGG1F,IAHH,CAGQ,YAAW;AAEf,YAAI2F,KAAK,GAAG3G,6CAAC,CAAC,IAAD,CAAb;AAAA,YACImB,QAAQ,GAAGwF,KAAK,CAACvF,QAAN,WAAkBZ,KAAK,CAACV,OAAN,CAAckG,gBAAhC,EADf,CAFe,CAGqD;;AAEpE,YAAI,CAAC7E,QAAL,EAAe;AACbwF,eAAK,CAACD,GAAN,CAAU;AAAC,0BAAc,QAAf;AAAyB,uBAAW;AAApC,WAAV;AACD;;AAED,YAAIE,IAAI,GAAG,KAAKC,qBAAL,GAA6BC,MAAxC;;AAEA,YAAI,CAAC3F,QAAL,EAAe;AACbwF,eAAK,CAACD,GAAN,CAAU;AACR,0BAAc,EADN;AAER,uBAAW;AAFH,WAAV;AAID;;AAED/B,WAAG,GAAGiC,IAAI,GAAGjC,GAAP,GAAaiC,IAAb,GAAoBjC,GAA1B;AACD,OAtBH,EAuBG+B,GAvBH,CAuBO,QAvBP,YAuBoB/B,GAvBpB;AAwBD;AAED;;;;;;;+BAIW;AACT,WAAK5E,QAAL,CACGa,IADH,YACY,KAAKd,OAAL,CAAae,SADzB,GAEG4C,GAFH,CAEO,UAFP,EAEmBsD,IAFnB,GAE0BC,GAF1B,GAGGpG,IAHH,YAGY,KAAKd,OAAL,CAAa2G,UAHzB,GAIGM,IAJH;;AAMA,UAAI,KAAKjH,OAAL,CAAasC,WAAjB,EAA8B;AAC5B,YAAI,KAAKmB,mBAAL,IAA4B,IAAhC,EAAsC;AACnCvD,uDAAC,CAAC6B,MAAD,CAAD,CAAU4B,GAAV,CAAc,uBAAd,EAAuC,KAAKF,mBAA5C;AACF;AACF;;AAED,UAAI,KAAKzD,OAAL,CAAaqD,QAAjB,EAA2B;AACzBnD,qDAAC,CAAC6B,MAAD,CAAD,CAAU4B,GAAV,CAAc,YAAd,EAA4B,KAAKf,cAAjC;AACD;;AAED,UAAI,KAAKf,cAAT,EAAyB;AACvB3B,qDAAC,CAAC6B,MAAD,CAAD,CAAU4B,GAAV,CAAc,KAAK9B,cAAnB;AACD;AACF;;;;EAragBsF,6D;;AAwanBrH,IAAI,CAACM,QAAL,GAAgB;AACd;;;;;;;AAOAiD,UAAQ,EAAE,KARI;;AAUd;;;;;;AAMAF,gBAAc,EAAE,KAhBF;;AAkBd;;;;;;AAMAf,qBAAmB,EAAE,GAxBP;;AA0Bd;;;;;;AAMAyD,eAAa,EAAE,KAhCD;;AAkCd;;;;;;;AAOAjE,WAAS,EAAE,KAzCG;;AA2Cd;;;;;;AAMA4C,YAAU,EAAE,IAjDE;;AAmDd;;;;;;AAMAlC,aAAW,EAAE,KAzDC;;AA2Dd;;;;;;AAMAgD,gBAAc,EAAE,KAjEF;;AAmEd;;;;;;AAMAvE,WAAS,EAAE,YAzEG;;AA2Ed;;;;;;AAMAQ,iBAAe,EAAE,WAjFH;;AAmFd;;;;;;AAMAoF,YAAU,EAAE,YAzFE;;AA2Fd;;;;;;AAMAT,kBAAgB,EAAE;AAjGJ,CAAhB;;;;;;;;;;;;;;;;;;;;;;;;ACtbA,oD","file":"foundation.tabs.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.imageLoader\"), require(\"./foundation.util.keyboard\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"./foundation.util.imageLoader\", \"./foundation.util.keyboard\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.tabs\"] = factory(require(\"./foundation.core\"), require(\"./foundation.util.imageLoader\"), require(\"./foundation.util.keyboard\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.tabs\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.imageLoader\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.keyboard\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE__foundation_util_imageLoader__, __WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__, __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 = 18);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_imageLoader__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__;","import { Foundation } from './foundation.core';\n\nimport { Tabs } from '../../foundation.tabs';\nFoundation.plugin(Tabs, 'Tabs');\n\nexport { Foundation, Tabs };\n","'use strict';\n\nimport $ from 'jquery';\nimport { onLoad } from './foundation.core.utils';\nimport { Keyboard } from './foundation.util.keyboard';\nimport { onImagesLoaded } from './foundation.util.imageLoader';\nimport { Plugin } from './foundation.core.plugin';\n/**\n * Tabs module.\n * @module foundation.tabs\n * @requires foundation.util.keyboard\n * @requires foundation.util.imageLoader if tabs contain images\n */\n\nclass Tabs extends Plugin {\n /**\n * Creates a new instance of tabs.\n * @class\n * @name Tabs\n * @fires Tabs#init\n * @param {jQuery} element - jQuery object to make into tabs.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, Tabs.defaults, this.$element.data(), options);\n this.className = 'Tabs'; // ie9 back compat\n\n this._init();\n Keyboard.register('Tabs', {\n 'ENTER': 'open',\n 'SPACE': 'open',\n 'ARROW_RIGHT': 'next',\n 'ARROW_UP': 'previous',\n 'ARROW_DOWN': 'next',\n 'ARROW_LEFT': 'previous'\n // 'TAB': 'next',\n // 'SHIFT_TAB': 'previous'\n });\n }\n\n /**\n * Initializes the tabs by showing and focusing (if autoFocus=true) the preset active tab.\n * @private\n */\n _init() {\n var _this = this;\n this._isInitializing = true;\n\n this.$element.attr({'role': 'tablist'});\n this.$tabTitles = this.$element.find(`.${this.options.linkClass}`);\n this.$tabContent = $(`[data-tabs-content=\"${this.$element[0].id}\"]`);\n\n this.$tabTitles.each(function(){\n var $elem = $(this),\n $link = $elem.find('a'),\n isActive = $elem.hasClass(`${_this.options.linkActiveClass}`),\n hash = $link.attr('data-tabs-target') || $link[0].hash.slice(1),\n linkId = $link[0].id ? $link[0].id : `${hash}-label`,\n $tabContent = $(`#${hash}`);\n\n $elem.attr({'role': 'presentation'});\n\n $link.attr({\n 'role': 'tab',\n 'aria-controls': hash,\n 'aria-selected': isActive,\n 'id': linkId,\n 'tabindex': isActive ? '0' : '-1'\n });\n\n $tabContent.attr({\n 'role': 'tabpanel',\n 'aria-labelledby': linkId\n });\n\n // Save up the initial hash to return to it later when going back in history\n if (isActive) {\n _this._initialAnchor = `#${hash}`;\n }\n\n if(!isActive) {\n $tabContent.attr('aria-hidden', 'true');\n }\n\n if(isActive && _this.options.autoFocus){\n _this.onLoadListener = onLoad($(window), function() {\n $('html, body').animate({ scrollTop: $elem.offset().top }, _this.options.deepLinkSmudgeDelay, () => {\n $link.focus();\n });\n });\n }\n });\n\n if(this.options.matchHeight) {\n var $images = this.$tabContent.find('img');\n\n if ($images.length) {\n onImagesLoaded($images, this._setHeight.bind(this));\n } else {\n this._setHeight();\n }\n }\n\n // Current context-bound function to open tabs on page load or history hashchange\n this._checkDeepLink = () => {\n var anchor = window.location.hash;\n\n if (!anchor.length) {\n // If we are still initializing and there is no anchor, then there is nothing to do\n if (this._isInitializing) return;\n // Otherwise, move to the initial anchor\n if (this._initialAnchor) anchor = this._initialAnchor;\n }\n\n var $anchor = anchor && $(anchor);\n var $link = anchor && this.$element.find('[href$=\"'+anchor+'\"]');\n // Whether the anchor element that has been found is part of this element\n var isOwnAnchor = !!($anchor.length && $link.length);\n\n // If there is an anchor for the hash, select it\n if ($anchor && $anchor.length && $link && $link.length) {\n this.selectTab($anchor, true);\n }\n // Otherwise, collapse everything\n else {\n this._collapse();\n }\n\n if (isOwnAnchor) {\n // Roll up a little to show the titles\n if (this.options.deepLinkSmudge) {\n var offset = this.$element.offset();\n $('html, body').animate({ scrollTop: offset.top }, this.options.deepLinkSmudgeDelay);\n }\n\n /**\n * Fires when the plugin has deeplinked at pageload\n * @event Tabs#deeplink\n */\n this.$element.trigger('deeplink.zf.tabs', [$link, $anchor]);\n }\n }\n\n //use browser to open a tab, if it exists in this tabset\n if (this.options.deepLink) {\n this._checkDeepLink();\n }\n\n this._events();\n\n this._isInitializing = false;\n }\n\n /**\n * Adds event handlers for items within the tabs.\n * @private\n */\n _events() {\n this._addKeyHandler();\n this._addClickHandler();\n this._setHeightMqHandler = null;\n\n if (this.options.matchHeight) {\n this._setHeightMqHandler = this._setHeight.bind(this);\n\n $(window).on('changed.zf.mediaquery', this._setHeightMqHandler);\n }\n\n if(this.options.deepLink) {\n $(window).on('hashchange', this._checkDeepLink);\n }\n }\n\n /**\n * Adds click handlers for items within the tabs.\n * @private\n */\n _addClickHandler() {\n var _this = this;\n\n this.$element\n .off('click.zf.tabs')\n .on('click.zf.tabs', `.${this.options.linkClass}`, function(e){\n e.preventDefault();\n e.stopPropagation();\n _this._handleTabChange($(this));\n });\n }\n\n /**\n * Adds keyboard event handlers for items within the tabs.\n * @private\n */\n _addKeyHandler() {\n var _this = this;\n\n this.$tabTitles.off('keydown.zf.tabs').on('keydown.zf.tabs', function(e){\n if (e.which === 9) return;\n\n\n var $element = $(this),\n $elements = $element.parent('ul').children('li'),\n $prevElement,\n $nextElement;\n\n $elements.each(function(i) {\n if ($(this).is($element)) {\n if (_this.options.wrapOnKeys) {\n $prevElement = i === 0 ? $elements.last() : $elements.eq(i-1);\n $nextElement = i === $elements.length -1 ? $elements.first() : $elements.eq(i+1);\n } else {\n $prevElement = $elements.eq(Math.max(0, i-1));\n $nextElement = $elements.eq(Math.min(i+1, $elements.length-1));\n }\n return;\n }\n });\n\n // handle keyboard event with keyboard util\n Keyboard.handleKey(e, 'Tabs', {\n open: function() {\n $element.find('[role=\"tab\"]').focus();\n _this._handleTabChange($element);\n },\n previous: function() {\n $prevElement.find('[role=\"tab\"]').focus();\n _this._handleTabChange($prevElement);\n },\n next: function() {\n $nextElement.find('[role=\"tab\"]').focus();\n _this._handleTabChange($nextElement);\n },\n handled: function() {\n e.stopPropagation();\n e.preventDefault();\n }\n });\n });\n }\n\n /**\n * Opens the tab `$targetContent` defined by `$target`. Collapses active tab.\n * @param {jQuery} $target - Tab to open.\n * @param {boolean} historyHandled - browser has already handled a history update\n * @fires Tabs#change\n * @function\n */\n _handleTabChange($target, historyHandled) {\n\n // With `activeCollapse`, if the target is the active Tab, collapse it.\n if ($target.hasClass(`${this.options.linkActiveClass}`)) {\n if(this.options.activeCollapse) {\n this._collapse();\n }\n return;\n }\n\n var $oldTab = this.$element.\n find(`.${this.options.linkClass}.${this.options.linkActiveClass}`),\n $tabLink = $target.find('[role=\"tab\"]'),\n target = $tabLink.attr('data-tabs-target'),\n anchor = target && target.length ? `#${target}` : $tabLink[0].hash,\n $targetContent = this.$tabContent.find(anchor);\n\n //close old tab\n this._collapseTab($oldTab);\n\n //open new tab\n this._openTab($target);\n\n //either replace or update browser history\n if (this.options.deepLink && !historyHandled) {\n if (this.options.updateHistory) {\n history.pushState({}, '', anchor);\n } else {\n history.replaceState({}, '', anchor);\n }\n }\n\n /**\n * Fires when the plugin has successfully changed tabs.\n * @event Tabs#change\n */\n this.$element.trigger('change.zf.tabs', [$target, $targetContent]);\n\n //fire to children a mutation event\n $targetContent.find(\"[data-mutate]\").trigger(\"mutateme.zf.trigger\");\n }\n\n /**\n * Opens the tab `$targetContent` defined by `$target`.\n * @param {jQuery} $target - Tab to open.\n * @function\n */\n _openTab($target) {\n var $tabLink = $target.find('[role=\"tab\"]'),\n hash = $tabLink.attr('data-tabs-target') || $tabLink[0].hash.slice(1),\n $targetContent = this.$tabContent.find(`#${hash}`);\n\n $target.addClass(`${this.options.linkActiveClass}`);\n\n $tabLink.attr({\n 'aria-selected': 'true',\n 'tabindex': '0'\n });\n\n $targetContent\n .addClass(`${this.options.panelActiveClass}`).removeAttr('aria-hidden');\n }\n\n /**\n * Collapses `$targetContent` defined by `$target`.\n * @param {jQuery} $target - Tab to collapse.\n * @function\n */\n _collapseTab($target) {\n var $target_anchor = $target\n .removeClass(`${this.options.linkActiveClass}`)\n .find('[role=\"tab\"]')\n .attr({\n 'aria-selected': 'false',\n 'tabindex': -1\n });\n\n $(`#${$target_anchor.attr('aria-controls')}`)\n .removeClass(`${this.options.panelActiveClass}`)\n .attr({ 'aria-hidden': 'true' })\n }\n\n /**\n * Collapses the active Tab.\n * @fires Tabs#collapse\n * @function\n */\n _collapse() {\n var $activeTab = this.$element.find(`.${this.options.linkClass}.${this.options.linkActiveClass}`);\n\n if ($activeTab.length) {\n this._collapseTab($activeTab);\n\n /**\n * Fires when the plugin has successfully collapsed tabs.\n * @event Tabs#collapse\n */\n this.$element.trigger('collapse.zf.tabs', [$activeTab]);\n }\n }\n\n /**\n * Public method for selecting a content pane to display.\n * @param {jQuery | String} elem - jQuery object or string of the id of the pane to display.\n * @param {boolean} historyHandled - browser has already handled a history update\n * @function\n */\n selectTab(elem, historyHandled) {\n var idStr;\n\n if (typeof elem === 'object') {\n idStr = elem[0].id;\n } else {\n idStr = elem;\n }\n\n if (idStr.indexOf('#') < 0) {\n idStr = `#${idStr}`;\n }\n\n var $target = this.$tabTitles.has(`[href$=\"${idStr}\"]`);\n\n this._handleTabChange($target, historyHandled);\n };\n\n /**\n * Sets the height of each panel to the height of the tallest panel.\n * If enabled in options, gets called on media query change.\n * If loading content via external source, can be called directly or with _reflow.\n * If enabled with `data-match-height=\"true\"`, tabs sets to equal height\n * @function\n * @private\n */\n _setHeight() {\n var max = 0,\n _this = this; // Lock down the `this` value for the root tabs object\n\n this.$tabContent\n .find(`.${this.options.panelClass}`)\n .css('height', '')\n .each(function() {\n\n var panel = $(this),\n isActive = panel.hasClass(`${_this.options.panelActiveClass}`); // get the options from the parent instead of trying to get them from the child\n\n if (!isActive) {\n panel.css({'visibility': 'hidden', 'display': 'block'});\n }\n\n var temp = this.getBoundingClientRect().height;\n\n if (!isActive) {\n panel.css({\n 'visibility': '',\n 'display': ''\n });\n }\n\n max = temp > max ? temp : max;\n })\n .css('height', `${max}px`);\n }\n\n /**\n * Destroys an instance of tabs.\n * @fires Tabs#destroyed\n */\n _destroy() {\n this.$element\n .find(`.${this.options.linkClass}`)\n .off('.zf.tabs').hide().end()\n .find(`.${this.options.panelClass}`)\n .hide();\n\n if (this.options.matchHeight) {\n if (this._setHeightMqHandler != null) {\n $(window).off('changed.zf.mediaquery', this._setHeightMqHandler);\n }\n }\n\n if (this.options.deepLink) {\n $(window).off('hashchange', this._checkDeepLink);\n }\n\n if (this.onLoadListener) {\n $(window).off(this.onLoadListener);\n }\n }\n}\n\nTabs.defaults = {\n /**\n * Link the location hash to the active pane.\n * Set the location hash when the active pane changes, and open the corresponding pane when the location changes.\n * @option\n * @type {boolean}\n * @default false\n */\n deepLink: false,\n\n /**\n * If `deepLink` is enabled, adjust the deep link scroll to make sure the top of the tab panel is visible\n * @option\n * @type {boolean}\n * @default false\n */\n deepLinkSmudge: false,\n\n /**\n * If `deepLinkSmudge` is enabled, animation time (ms) for the deep link adjustment\n * @option\n * @type {number}\n * @default 300\n */\n deepLinkSmudgeDelay: 300,\n\n /**\n * If `deepLink` is enabled, update the browser history with the open tab\n * @option\n * @type {boolean}\n * @default false\n */\n updateHistory: false,\n\n /**\n * Allows the window to scroll to content of active pane on load.\n * Not recommended if more than one tab panel per page.\n * @option\n * @type {boolean}\n * @default false\n */\n autoFocus: false,\n\n /**\n * Allows keyboard input to 'wrap' around the tab links.\n * @option\n * @type {boolean}\n * @default true\n */\n wrapOnKeys: true,\n\n /**\n * Allows the tab content panes to match heights if set to true.\n * @option\n * @type {boolean}\n * @default false\n */\n matchHeight: false,\n\n /**\n * Allows active tabs to collapse when clicked.\n * @option\n * @type {boolean}\n * @default false\n */\n activeCollapse: false,\n\n /**\n * Class applied to `li`'s in tab link list.\n * @option\n * @type {string}\n * @default 'tabs-title'\n */\n linkClass: 'tabs-title',\n\n /**\n * Class applied to the active `li` in tab link list.\n * @option\n * @type {string}\n * @default 'is-active'\n */\n linkActiveClass: 'is-active',\n\n /**\n * Class applied to the content containers.\n * @option\n * @type {string}\n * @default 'tabs-panel'\n */\n panelClass: 'tabs-panel',\n\n /**\n * Class applied to the active content container.\n * @option\n * @type {string}\n * @default 'is-active'\n */\n panelActiveClass: 'is-active'\n};\n\nexport {Tabs};\n","module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;"],"sourceRoot":""}
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.imageLoader\"],\"amd\":\"./foundation.util.imageLoader\",\"commonjs\":\"./foundation.util.imageLoader\",\"commonjs2\":\"./foundation.util.imageLoader\"}","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]/./js/entries/plugins/foundation.tabs.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.tabs.js","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}"],"names":["Foundation","plugin","Tabs","element","options","$element","$","extend","defaults","data","className","_init","Keyboard","register","_this","_isInitializing","attr","$tabTitles","find","linkClass","$tabContent","id","each","$elem","$link","isActive","hasClass","linkActiveClass","hash","slice","linkId","_initialAnchor","autoFocus","onLoadListener","onLoad","window","animate","scrollTop","offset","top","deepLinkSmudgeDelay","focus","matchHeight","$images","length","onImagesLoaded","_setHeight","bind","_checkDeepLink","anchor","location","anchorNoHash","indexOf","$anchor","first","isOwnAnchor","selectTab","_collapse","deepLinkSmudge","trigger","deepLink","_events","_addKeyHandler","_addClickHandler","_setHeightMqHandler","on","off","e","preventDefault","_handleTabChange","which","$elements","parent","children","$prevElement","$nextElement","i","is","wrapOnKeys","last","eq","Math","max","min","handleKey","open","previous","next","handled","$target","historyHandled","activeCollapse","$oldTab","$tabLink","target","$targetContent","_collapseTab","_openTab","updateHistory","history","pushState","replaceState","addClass","panelActiveClass","removeAttr","$target_anchor","removeClass","$activeTab","elem","idStr","hashIdStr","has","panelClass","css","panel","temp","getBoundingClientRect","height","hide","end","Plugin"],"mappings":"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","file":"foundation.tabs.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.imageLoader\"), require(\"./foundation.util.keyboard\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"./foundation.util.imageLoader\", \"./foundation.util.keyboard\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.tabs\"] = factory(require(\"./foundation.core\"), require(\"./foundation.util.imageLoader\"), require(\"./foundation.util.keyboard\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.tabs\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.imageLoader\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.keyboard\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE__foundation_util_imageLoader__, __WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__, __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 = 18);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_imageLoader__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__;","import { Foundation } from './foundation.core';\n\nimport { Tabs } from '../../foundation.tabs';\nFoundation.plugin(Tabs, 'Tabs');\n\nexport { Foundation, Tabs };\n","'use strict';\n\nimport $ from 'jquery';\nimport { Plugin } from './foundation.core.plugin';\nimport { onLoad } from './foundation.core.utils';\nimport { Keyboard } from './foundation.util.keyboard';\nimport { onImagesLoaded } from './foundation.util.imageLoader';\n/**\n * Tabs module.\n * @module foundation.tabs\n * @requires foundation.util.keyboard\n * @requires foundation.util.imageLoader if tabs contain images\n */\n\nclass Tabs extends Plugin {\n /**\n * Creates a new instance of tabs.\n * @class\n * @name Tabs\n * @fires Tabs#init\n * @param {jQuery} element - jQuery object to make into tabs.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, Tabs.defaults, this.$element.data(), options);\n this.className = 'Tabs'; // ie9 back compat\n\n this._init();\n Keyboard.register('Tabs', {\n 'ENTER': 'open',\n 'SPACE': 'open',\n 'ARROW_RIGHT': 'next',\n 'ARROW_UP': 'previous',\n 'ARROW_DOWN': 'next',\n 'ARROW_LEFT': 'previous'\n // 'TAB': 'next',\n // 'SHIFT_TAB': 'previous'\n });\n }\n\n /**\n * Initializes the tabs by showing and focusing (if autoFocus=true) the preset active tab.\n * @private\n */\n _init() {\n var _this = this;\n this._isInitializing = true;\n\n this.$element.attr({'role': 'tablist'});\n this.$tabTitles = this.$element.find(`.${this.options.linkClass}`);\n this.$tabContent = $(`[data-tabs-content=\"${this.$element[0].id}\"]`);\n\n this.$tabTitles.each(function(){\n var $elem = $(this),\n $link = $elem.find('a'),\n isActive = $elem.hasClass(`${_this.options.linkActiveClass}`),\n hash = $link.attr('data-tabs-target') || $link[0].hash.slice(1),\n linkId = $link[0].id ? $link[0].id : `${hash}-label`,\n $tabContent = $(`#${hash}`);\n\n $elem.attr({'role': 'presentation'});\n\n $link.attr({\n 'role': 'tab',\n 'aria-controls': hash,\n 'aria-selected': isActive,\n 'id': linkId,\n 'tabindex': isActive ? '0' : '-1'\n });\n\n $tabContent.attr({\n 'role': 'tabpanel',\n 'aria-labelledby': linkId\n });\n\n // Save up the initial hash to return to it later when going back in history\n if (isActive) {\n _this._initialAnchor = `#${hash}`;\n }\n\n if(!isActive) {\n $tabContent.attr('aria-hidden', 'true');\n }\n\n if(isActive && _this.options.autoFocus){\n _this.onLoadListener = onLoad($(window), function() {\n $('html, body').animate({ scrollTop: $elem.offset().top }, _this.options.deepLinkSmudgeDelay, () => {\n $link.focus();\n });\n });\n }\n });\n\n if(this.options.matchHeight) {\n var $images = this.$tabContent.find('img');\n\n if ($images.length) {\n onImagesLoaded($images, this._setHeight.bind(this));\n } else {\n this._setHeight();\n }\n }\n\n // Current context-bound function to open tabs on page load or history hashchange\n this._checkDeepLink = () => {\n var anchor = window.location.hash;\n\n if (!anchor.length) {\n // If we are still initializing and there is no anchor, then there is nothing to do\n if (this._isInitializing) return;\n // Otherwise, move to the initial anchor\n if (this._initialAnchor) anchor = this._initialAnchor;\n }\n\n var anchorNoHash = anchor.indexOf('#') >= 0 ? anchor.slice(1) : anchor;\n var $anchor = anchorNoHash && $(`#${anchorNoHash}`);\n var $link = anchor && this.$element.find(`[href$=\"${anchor}\"],[data-tabs-target=\"${anchorNoHash}\"]`).first();\n // Whether the anchor element that has been found is part of this element\n var isOwnAnchor = !!($anchor.length && $link.length);\n\n if (isOwnAnchor) {\n // If there is an anchor for the hash, select it\n if ($anchor && $anchor.length && $link && $link.length) {\n this.selectTab($anchor, true);\n }\n // Otherwise, collapse everything\n else {\n this._collapse();\n }\n\n // Roll up a little to show the titles\n if (this.options.deepLinkSmudge) {\n var offset = this.$element.offset();\n $('html, body').animate({ scrollTop: offset.top }, this.options.deepLinkSmudgeDelay);\n }\n\n /**\n * Fires when the plugin has deeplinked at pageload\n * @event Tabs#deeplink\n */\n this.$element.trigger('deeplink.zf.tabs', [$link, $anchor]);\n }\n }\n\n //use browser to open a tab, if it exists in this tabset\n if (this.options.deepLink) {\n this._checkDeepLink();\n }\n\n this._events();\n\n this._isInitializing = false;\n }\n\n /**\n * Adds event handlers for items within the tabs.\n * @private\n */\n _events() {\n this._addKeyHandler();\n this._addClickHandler();\n this._setHeightMqHandler = null;\n\n if (this.options.matchHeight) {\n this._setHeightMqHandler = this._setHeight.bind(this);\n\n $(window).on('changed.zf.mediaquery', this._setHeightMqHandler);\n }\n\n if(this.options.deepLink) {\n $(window).on('hashchange', this._checkDeepLink);\n }\n }\n\n /**\n * Adds click handlers for items within the tabs.\n * @private\n */\n _addClickHandler() {\n var _this = this;\n\n this.$element\n .off('click.zf.tabs')\n .on('click.zf.tabs', `.${this.options.linkClass}`, function(e){\n e.preventDefault();\n _this._handleTabChange($(this));\n });\n }\n\n /**\n * Adds keyboard event handlers for items within the tabs.\n * @private\n */\n _addKeyHandler() {\n var _this = this;\n\n this.$tabTitles.off('keydown.zf.tabs').on('keydown.zf.tabs', function(e){\n if (e.which === 9) return;\n\n\n var $element = $(this),\n $elements = $element.parent('ul').children('li'),\n $prevElement,\n $nextElement;\n\n $elements.each(function(i) {\n if ($(this).is($element)) {\n if (_this.options.wrapOnKeys) {\n $prevElement = i === 0 ? $elements.last() : $elements.eq(i-1);\n $nextElement = i === $elements.length -1 ? $elements.first() : $elements.eq(i+1);\n } else {\n $prevElement = $elements.eq(Math.max(0, i-1));\n $nextElement = $elements.eq(Math.min(i+1, $elements.length-1));\n }\n return;\n }\n });\n\n // handle keyboard event with keyboard util\n Keyboard.handleKey(e, 'Tabs', {\n open: function() {\n $element.find('[role=\"tab\"]').focus();\n _this._handleTabChange($element);\n },\n previous: function() {\n $prevElement.find('[role=\"tab\"]').focus();\n _this._handleTabChange($prevElement);\n },\n next: function() {\n $nextElement.find('[role=\"tab\"]').focus();\n _this._handleTabChange($nextElement);\n },\n handled: function() {\n e.preventDefault();\n }\n });\n });\n }\n\n /**\n * Opens the tab `$targetContent` defined by `$target`. Collapses active tab.\n * @param {jQuery} $target - Tab to open.\n * @param {boolean} historyHandled - browser has already handled a history update\n * @fires Tabs#change\n * @function\n */\n _handleTabChange($target, historyHandled) {\n\n // With `activeCollapse`, if the target is the active Tab, collapse it.\n if ($target.hasClass(`${this.options.linkActiveClass}`)) {\n if(this.options.activeCollapse) {\n this._collapse();\n }\n return;\n }\n\n var $oldTab = this.$element.\n find(`.${this.options.linkClass}.${this.options.linkActiveClass}`),\n $tabLink = $target.find('[role=\"tab\"]'),\n target = $tabLink.attr('data-tabs-target'),\n anchor = target && target.length ? `#${target}` : $tabLink[0].hash,\n $targetContent = this.$tabContent.find(anchor);\n\n //close old tab\n this._collapseTab($oldTab);\n\n //open new tab\n this._openTab($target);\n\n //either replace or update browser history\n if (this.options.deepLink && !historyHandled) {\n if (this.options.updateHistory) {\n history.pushState({}, '', anchor);\n } else {\n history.replaceState({}, '', anchor);\n }\n }\n\n /**\n * Fires when the plugin has successfully changed tabs.\n * @event Tabs#change\n */\n this.$element.trigger('change.zf.tabs', [$target, $targetContent]);\n\n //fire to children a mutation event\n $targetContent.find(\"[data-mutate]\").trigger(\"mutateme.zf.trigger\");\n }\n\n /**\n * Opens the tab `$targetContent` defined by `$target`.\n * @param {jQuery} $target - Tab to open.\n * @function\n */\n _openTab($target) {\n var $tabLink = $target.find('[role=\"tab\"]'),\n hash = $tabLink.attr('data-tabs-target') || $tabLink[0].hash.slice(1),\n $targetContent = this.$tabContent.find(`#${hash}`);\n\n $target.addClass(`${this.options.linkActiveClass}`);\n\n $tabLink.attr({\n 'aria-selected': 'true',\n 'tabindex': '0'\n });\n\n $targetContent\n .addClass(`${this.options.panelActiveClass}`).removeAttr('aria-hidden');\n }\n\n /**\n * Collapses `$targetContent` defined by `$target`.\n * @param {jQuery} $target - Tab to collapse.\n * @function\n */\n _collapseTab($target) {\n var $target_anchor = $target\n .removeClass(`${this.options.linkActiveClass}`)\n .find('[role=\"tab\"]')\n .attr({\n 'aria-selected': 'false',\n 'tabindex': -1\n });\n\n $(`#${$target_anchor.attr('aria-controls')}`)\n .removeClass(`${this.options.panelActiveClass}`)\n .attr({ 'aria-hidden': 'true' })\n }\n\n /**\n * Collapses the active Tab.\n * @fires Tabs#collapse\n * @function\n */\n _collapse() {\n var $activeTab = this.$element.find(`.${this.options.linkClass}.${this.options.linkActiveClass}`);\n\n if ($activeTab.length) {\n this._collapseTab($activeTab);\n\n /**\n * Fires when the plugin has successfully collapsed tabs.\n * @event Tabs#collapse\n */\n this.$element.trigger('collapse.zf.tabs', [$activeTab]);\n }\n }\n\n /**\n * Public method for selecting a content pane to display.\n * @param {jQuery | String} elem - jQuery object or string of the id of the pane to display.\n * @param {boolean} historyHandled - browser has already handled a history update\n * @function\n */\n selectTab(elem, historyHandled) {\n var idStr, hashIdStr;\n\n if (typeof elem === 'object') {\n idStr = elem[0].id;\n } else {\n idStr = elem;\n }\n\n if (idStr.indexOf('#') < 0) {\n hashIdStr = `#${idStr}`;\n } else {\n hashIdStr = idStr;\n idStr = idStr.slice(1);\n }\n\n var $target = this.$tabTitles.has(`[href$=\"${hashIdStr}\"],[data-tabs-target=\"${idStr}\"]`).first();\n\n this._handleTabChange($target, historyHandled);\n };\n\n /**\n * Sets the height of each panel to the height of the tallest panel.\n * If enabled in options, gets called on media query change.\n * If loading content via external source, can be called directly or with _reflow.\n * If enabled with `data-match-height=\"true\"`, tabs sets to equal height\n * @function\n * @private\n */\n _setHeight() {\n var max = 0,\n _this = this; // Lock down the `this` value for the root tabs object\n\n this.$tabContent\n .find(`.${this.options.panelClass}`)\n .css('height', '')\n .each(function() {\n\n var panel = $(this),\n isActive = panel.hasClass(`${_this.options.panelActiveClass}`); // get the options from the parent instead of trying to get them from the child\n\n if (!isActive) {\n panel.css({'visibility': 'hidden', 'display': 'block'});\n }\n\n var temp = this.getBoundingClientRect().height;\n\n if (!isActive) {\n panel.css({\n 'visibility': '',\n 'display': ''\n });\n }\n\n max = temp > max ? temp : max;\n })\n .css('height', `${max}px`);\n }\n\n /**\n * Destroys an instance of tabs.\n * @fires Tabs#destroyed\n */\n _destroy() {\n this.$element\n .find(`.${this.options.linkClass}`)\n .off('.zf.tabs').hide().end()\n .find(`.${this.options.panelClass}`)\n .hide();\n\n if (this.options.matchHeight) {\n if (this._setHeightMqHandler != null) {\n $(window).off('changed.zf.mediaquery', this._setHeightMqHandler);\n }\n }\n\n if (this.options.deepLink) {\n $(window).off('hashchange', this._checkDeepLink);\n }\n\n if (this.onLoadListener) {\n $(window).off(this.onLoadListener);\n }\n }\n}\n\nTabs.defaults = {\n /**\n * Link the location hash to the active pane.\n * Set the location hash when the active pane changes, and open the corresponding pane when the location changes.\n * @option\n * @type {boolean}\n * @default false\n */\n deepLink: false,\n\n /**\n * If `deepLink` is enabled, adjust the deep link scroll to make sure the top of the tab panel is visible\n * @option\n * @type {boolean}\n * @default false\n */\n deepLinkSmudge: false,\n\n /**\n * If `deepLinkSmudge` is enabled, animation time (ms) for the deep link adjustment\n * @option\n * @type {number}\n * @default 300\n */\n deepLinkSmudgeDelay: 300,\n\n /**\n * If `deepLink` is enabled, update the browser history with the open tab\n * @option\n * @type {boolean}\n * @default false\n */\n updateHistory: false,\n\n /**\n * Allows the window to scroll to content of active pane on load.\n * Not recommended if more than one tab panel per page.\n * @option\n * @type {boolean}\n * @default false\n */\n autoFocus: false,\n\n /**\n * Allows keyboard input to 'wrap' around the tab links.\n * @option\n * @type {boolean}\n * @default true\n */\n wrapOnKeys: true,\n\n /**\n * Allows the tab content panes to match heights if set to true.\n * @option\n * @type {boolean}\n * @default false\n */\n matchHeight: false,\n\n /**\n * Allows active tabs to collapse when clicked.\n * @option\n * @type {boolean}\n * @default false\n */\n activeCollapse: false,\n\n /**\n * Class applied to `li`'s in tab link list.\n * @option\n * @type {string}\n * @default 'tabs-title'\n */\n linkClass: 'tabs-title',\n\n /**\n * Class applied to the active `li` in tab link list.\n * @option\n * @type {string}\n * @default 'is-active'\n */\n linkActiveClass: 'is-active',\n\n /**\n * Class applied to the content containers.\n * @option\n * @type {string}\n * @default 'tabs-panel'\n */\n panelClass: 'tabs-panel',\n\n /**\n * Class applied to the active content container.\n * @option\n * @type {string}\n * @default 'is-active'\n */\n panelActiveClass: 'is-active'\n};\n\nexport {Tabs};\n","module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("./foundation.core"),require("./foundation.util.imageLoader"),require("./foundation.util.keyboard"),require("jquery")):"function"==typeof define&&define.amd?define(["./foundation.core","./foundation.util.imageLoader","./foundation.util.keyboard","jquery"],e):"object"==typeof exports?exports["foundation.tabs"]=e(require("./foundation.core"),require("./foundation.util.imageLoader"),require("./foundation.util.keyboard"),require("jquery")):(t.__FOUNDATION_EXTERNAL__=t.__FOUNDATION_EXTERNAL__||{},t.__FOUNDATION_EXTERNAL__["foundation.tabs"]=e(t.__FOUNDATION_EXTERNAL__["foundation.core"],t.__FOUNDATION_EXTERNAL__["foundation.util.imageLoader"],t.__FOUNDATION_EXTERNAL__["foundation.util.keyboard"],t.jQuery))}(window,function(n,i,o,a){return function(n){var i={};function o(t){if(i[t])return i[t].exports;var e=i[t]={i:t,l:!1,exports:{}};return n[t].call(e.exports,e,e.exports,o),e.l=!0,e.exports}return o.m=n,o.c=i,o.d=function(t,e,n){o.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},o.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},o.t=function(e,t){if(1&t&&(e=o(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)o.d(n,i,function(t){return e[t]}.bind(null,i));return n},o.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return o.d(e,"a",e),e},o.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},o.p="",o(o.s=18)}({"./foundation.core":function(t,e){t.exports=n},"./foundation.util.imageLoader":function(t,e){t.exports=i},"./foundation.util.keyboard":function(t,e){t.exports=o},"./js/entries/plugins/foundation.tabs.js":function(t,e,n){"use strict";n.r(e);var i=n("./foundation.core");n.d(e,"Foundation",function(){return i.Foundation});var o=n("./js/foundation.tabs.js");n.d(e,"Tabs",function(){return o.Tabs}),i.Foundation.plugin(o.Tabs,"Tabs")},"./js/foundation.tabs.js":function(t,e,n){"use strict";n.r(e),n.d(e,"Tabs",function(){return o});var i=n("jquery"),r=n.n(i),l=n("./foundation.core"),s=n("./foundation.util.keyboard"),c=n("./foundation.util.imageLoader");function a(t){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function u(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function d(t,e){return!e||"object"!==a(e)&&"function"!=typeof e?function(t){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(t):e}function f(t){return(f=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function h(t,e){return(h=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}var o=function(t){function n(){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,n),d(this,f(n).apply(this,arguments))}var e,i,o;return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&h(t,e)}(n,l["Plugin"]),e=n,(i=[{key:"_setup",value:function(t,e){this.$element=t,this.options=r.a.extend({},n.defaults,this.$element.data(),e),this.className="Tabs",this._init(),s.Keyboard.register("Tabs",{ENTER:"open",SPACE:"open",ARROW_RIGHT:"next",ARROW_UP:"previous",ARROW_DOWN:"next",ARROW_LEFT:"previous"})}},{key:"_init",value:function(){var a=this,s=this;if(this._isInitializing=!0,this.$element.attr({role:"tablist"}),this.$tabTitles=this.$element.find(".".concat(this.options.linkClass)),this.$tabContent=r()('[data-tabs-content="'.concat(this.$element[0].id,'"]')),this.$tabTitles.each(function(){var t=r()(this),e=t.find("a"),n=t.hasClass("".concat(s.options.linkActiveClass)),i=e.attr("data-tabs-target")||e[0].hash.slice(1),o=e[0].id?e[0].id:"".concat(i,"-label"),a=r()("#".concat(i));t.attr({role:"presentation"}),e.attr({role:"tab","aria-controls":i,"aria-selected":n,id:o,tabindex:n?"0":"-1"}),a.attr({role:"tabpanel","aria-labelledby":o}),n&&(s._initialAnchor="#".concat(i)),n||a.attr("aria-hidden","true"),n&&s.options.autoFocus&&(s.onLoadListener=Object(l.onLoad)(r()(window),function(){r()("html, body").animate({scrollTop:t.offset().top},s.options.deepLinkSmudgeDelay,function(){e.focus()})}))}),this.options.matchHeight){var t=this.$tabContent.find("img");t.length?Object(c.onImagesLoaded)(t,this._setHeight.bind(this)):this._setHeight()}this._checkDeepLink=function(){var t=window.location.hash;if(!t.length){if(a._isInitializing)return;a._initialAnchor&&(t=a._initialAnchor)}var e=t&&r()(t),n=t&&a.$element.find('[href$="'+t+'"]'),i=!(!e.length||!n.length);if(e&&e.length&&n&&n.length?a.selectTab(e,!0):a._collapse(),i){if(a.options.deepLinkSmudge){var o=a.$element.offset();r()("html, body").animate({scrollTop:o.top},a.options.deepLinkSmudgeDelay)}a.$element.trigger("deeplink.zf.tabs",[n,e])}},this.options.deepLink&&this._checkDeepLink(),this._events(),this._isInitializing=!1}},{key:"_events",value:function(){this._addKeyHandler(),this._addClickHandler(),this._setHeightMqHandler=null,this.options.matchHeight&&(this._setHeightMqHandler=this._setHeight.bind(this),r()(window).on("changed.zf.mediaquery",this._setHeightMqHandler)),this.options.deepLink&&r()(window).on("hashchange",this._checkDeepLink)}},{key:"_addClickHandler",value:function(){var e=this;this.$element.off("click.zf.tabs").on("click.zf.tabs",".".concat(this.options.linkClass),function(t){t.preventDefault(),t.stopPropagation(),e._handleTabChange(r()(this))})}},{key:"_addKeyHandler",value:function(){var a=this;this.$tabTitles.off("keydown.zf.tabs").on("keydown.zf.tabs",function(t){if(9!==t.which){var e,n,i=r()(this),o=i.parent("ul").children("li");o.each(function(t){r()(this).is(i)&&(n=a.options.wrapOnKeys?(e=0===t?o.last():o.eq(t-1),t===o.length-1?o.first():o.eq(t+1)):(e=o.eq(Math.max(0,t-1)),o.eq(Math.min(t+1,o.length-1))))}),s.Keyboard.handleKey(t,"Tabs",{open:function(){i.find('[role="tab"]').focus(),a._handleTabChange(i)},previous:function(){e.find('[role="tab"]').focus(),a._handleTabChange(e)},next:function(){n.find('[role="tab"]').focus(),a._handleTabChange(n)},handled:function(){t.stopPropagation(),t.preventDefault()}})}})}},{key:"_handleTabChange",value:function(t,e){if(t.hasClass("".concat(this.options.linkActiveClass)))this.options.activeCollapse&&this._collapse();else{var n=this.$element.find(".".concat(this.options.linkClass,".").concat(this.options.linkActiveClass)),i=t.find('[role="tab"]'),o=i.attr("data-tabs-target"),a=o&&o.length?"#".concat(o):i[0].hash,s=this.$tabContent.find(a);this._collapseTab(n),this._openTab(t),this.options.deepLink&&!e&&(this.options.updateHistory?history.pushState({},"",a):history.replaceState({},"",a)),this.$element.trigger("change.zf.tabs",[t,s]),s.find("[data-mutate]").trigger("mutateme.zf.trigger")}}},{key:"_openTab",value:function(t){var e=t.find('[role="tab"]'),n=e.attr("data-tabs-target")||e[0].hash.slice(1),i=this.$tabContent.find("#".concat(n));t.addClass("".concat(this.options.linkActiveClass)),e.attr({"aria-selected":"true",tabindex:"0"}),i.addClass("".concat(this.options.panelActiveClass)).removeAttr("aria-hidden")}},{key:"_collapseTab",value:function(t){var e=t.removeClass("".concat(this.options.linkActiveClass)).find('[role="tab"]').attr({"aria-selected":"false",tabindex:-1});r()("#".concat(e.attr("aria-controls"))).removeClass("".concat(this.options.panelActiveClass)).attr({"aria-hidden":"true"})}},{key:"_collapse",value:function(){var t=this.$element.find(".".concat(this.options.linkClass,".").concat(this.options.linkActiveClass));t.length&&(this._collapseTab(t),this.$element.trigger("collapse.zf.tabs",[t]))}},{key:"selectTab",value:function(t,e){var n;(n="object"===a(t)?t[0].id:t).indexOf("#")<0&&(n="#".concat(n));var i=this.$tabTitles.has('[href$="'.concat(n,'"]'));this._handleTabChange(i,e)}},{key:"_setHeight",value:function(){var i=0,o=this;this.$tabContent.find(".".concat(this.options.panelClass)).css("height","").each(function(){var t=r()(this),e=t.hasClass("".concat(o.options.panelActiveClass));e||t.css({visibility:"hidden",display:"block"});var n=this.getBoundingClientRect().height;e||t.css({visibility:"",display:""}),i=i<n?n:i}).css("height","".concat(i,"px"))}},{key:"_destroy",value:function(){this.$element.find(".".concat(this.options.linkClass)).off(".zf.tabs").hide().end().find(".".concat(this.options.panelClass)).hide(),this.options.matchHeight&&null!=this._setHeightMqHandler&&r()(window).off("changed.zf.mediaquery",this._setHeightMqHandler),this.options.deepLink&&r()(window).off("hashchange",this._checkDeepLink),this.onLoadListener&&r()(window).off(this.onLoadListener)}}])&&u(e.prototype,i),o&&u(e,o),n}();o.defaults={deepLink:!1,deepLinkSmudge:!1,deepLinkSmudgeDelay:300,updateHistory:!1,autoFocus:!1,wrapOnKeys:!0,matchHeight:!1,activeCollapse:!1,linkClass:"tabs-title",linkActiveClass:"is-active",panelClass:"tabs-panel",panelActiveClass:"is-active"}},18:function(t,e,n){t.exports=n("./js/entries/plugins/foundation.tabs.js")},jquery:function(t,e){t.exports=a}})});
1
+ !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("./foundation.core"),require("./foundation.util.imageLoader"),require("./foundation.util.keyboard"),require("jquery")):"function"==typeof define&&define.amd?define(["./foundation.core","./foundation.util.imageLoader","./foundation.util.keyboard","jquery"],e):"object"==typeof exports?exports["foundation.tabs"]=e(require("./foundation.core"),require("./foundation.util.imageLoader"),require("./foundation.util.keyboard"),require("jquery")):(t.__FOUNDATION_EXTERNAL__=t.__FOUNDATION_EXTERNAL__||{},t.__FOUNDATION_EXTERNAL__["foundation.tabs"]=e(t.__FOUNDATION_EXTERNAL__["foundation.core"],t.__FOUNDATION_EXTERNAL__["foundation.util.imageLoader"],t.__FOUNDATION_EXTERNAL__["foundation.util.keyboard"],t.jQuery))}(window,function(n,i,o,a){return l={},s.m=r={"./foundation.core":function(t,e){t.exports=n},"./foundation.util.imageLoader":function(t,e){t.exports=i},"./foundation.util.keyboard":function(t,e){t.exports=o},"./js/entries/plugins/foundation.tabs.js":function(t,e,n){"use strict";n.r(e);var i=n("./foundation.core");n.d(e,"Foundation",function(){return i.Foundation});var o=n("./js/foundation.tabs.js");n.d(e,"Tabs",function(){return o.Tabs}),i.Foundation.plugin(o.Tabs,"Tabs")},"./js/foundation.tabs.js":function(t,e,n){"use strict";n.r(e),n.d(e,"Tabs",function(){return h});var i=n("jquery"),r=n.n(i),l=n("./foundation.core"),s=n("./foundation.util.keyboard"),o=n("./foundation.util.imageLoader");function a(t){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function c(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function u(t,e){return!e||"object"!==a(e)&&"function"!=typeof e?function(t){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(t):e}function d(t){return(d=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function f(t,e){return(f=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}var h=function(){function n(){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,n),u(this,d(n).apply(this,arguments))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&f(t,e)}(n,l["Plugin"]),function(t,e,n){e&&c(t.prototype,e),n&&c(t,n)}(n,[{key:"_setup",value:function(t,e){this.$element=t,this.options=r.a.extend({},n.defaults,this.$element.data(),e),this.className="Tabs",this._init(),s.Keyboard.register("Tabs",{ENTER:"open",SPACE:"open",ARROW_RIGHT:"next",ARROW_UP:"previous",ARROW_DOWN:"next",ARROW_LEFT:"previous"})}},{key:"_init",value:function(){var a=this,s=this;if(this._isInitializing=!0,this.$element.attr({role:"tablist"}),this.$tabTitles=this.$element.find(".".concat(this.options.linkClass)),this.$tabContent=r()('[data-tabs-content="'.concat(this.$element[0].id,'"]')),this.$tabTitles.each(function(){var t=r()(this),e=t.find("a"),n=t.hasClass("".concat(s.options.linkActiveClass)),i=e.attr("data-tabs-target")||e[0].hash.slice(1),o=e[0].id?e[0].id:"".concat(i,"-label"),a=r()("#".concat(i));t.attr({role:"presentation"}),e.attr({role:"tab","aria-controls":i,"aria-selected":n,id:o,tabindex:n?"0":"-1"}),a.attr({role:"tabpanel","aria-labelledby":o}),n&&(s._initialAnchor="#".concat(i)),n||a.attr("aria-hidden","true"),n&&s.options.autoFocus&&(s.onLoadListener=Object(l.onLoad)(r()(window),function(){r()("html, body").animate({scrollTop:t.offset().top},s.options.deepLinkSmudgeDelay,function(){e.focus()})}))}),this.options.matchHeight){var t=this.$tabContent.find("img");t.length?Object(o.onImagesLoaded)(t,this._setHeight.bind(this)):this._setHeight()}this._checkDeepLink=function(){var t=window.location.hash;if(!t.length){if(a._isInitializing)return;a._initialAnchor&&(t=a._initialAnchor)}var e=0<=t.indexOf("#")?t.slice(1):t,n=e&&r()("#".concat(e)),i=t&&a.$element.find('[href$="'.concat(t,'"],[data-tabs-target="').concat(e,'"]')).first();if(!(!n.length||!i.length)){if(n&&n.length&&i&&i.length?a.selectTab(n,!0):a._collapse(),a.options.deepLinkSmudge){var o=a.$element.offset();r()("html, body").animate({scrollTop:o.top},a.options.deepLinkSmudgeDelay)}a.$element.trigger("deeplink.zf.tabs",[i,n])}},this.options.deepLink&&this._checkDeepLink(),this._events(),this._isInitializing=!1}},{key:"_events",value:function(){this._addKeyHandler(),this._addClickHandler(),this._setHeightMqHandler=null,this.options.matchHeight&&(this._setHeightMqHandler=this._setHeight.bind(this),r()(window).on("changed.zf.mediaquery",this._setHeightMqHandler)),this.options.deepLink&&r()(window).on("hashchange",this._checkDeepLink)}},{key:"_addClickHandler",value:function(){var e=this;this.$element.off("click.zf.tabs").on("click.zf.tabs",".".concat(this.options.linkClass),function(t){t.preventDefault(),e._handleTabChange(r()(this))})}},{key:"_addKeyHandler",value:function(){var a=this;this.$tabTitles.off("keydown.zf.tabs").on("keydown.zf.tabs",function(t){if(9!==t.which){var e,n,i=r()(this),o=i.parent("ul").children("li");o.each(function(t){r()(this).is(i)&&(n=a.options.wrapOnKeys?(e=0===t?o.last():o.eq(t-1),t===o.length-1?o.first():o.eq(t+1)):(e=o.eq(Math.max(0,t-1)),o.eq(Math.min(t+1,o.length-1))))}),s.Keyboard.handleKey(t,"Tabs",{open:function(){i.find('[role="tab"]').focus(),a._handleTabChange(i)},previous:function(){e.find('[role="tab"]').focus(),a._handleTabChange(e)},next:function(){n.find('[role="tab"]').focus(),a._handleTabChange(n)},handled:function(){t.preventDefault()}})}})}},{key:"_handleTabChange",value:function(t,e){if(t.hasClass("".concat(this.options.linkActiveClass)))this.options.activeCollapse&&this._collapse();else{var n=this.$element.find(".".concat(this.options.linkClass,".").concat(this.options.linkActiveClass)),i=t.find('[role="tab"]'),o=i.attr("data-tabs-target"),a=o&&o.length?"#".concat(o):i[0].hash,s=this.$tabContent.find(a);this._collapseTab(n),this._openTab(t),this.options.deepLink&&!e&&(this.options.updateHistory?history.pushState({},"",a):history.replaceState({},"",a)),this.$element.trigger("change.zf.tabs",[t,s]),s.find("[data-mutate]").trigger("mutateme.zf.trigger")}}},{key:"_openTab",value:function(t){var e=t.find('[role="tab"]'),n=e.attr("data-tabs-target")||e[0].hash.slice(1),i=this.$tabContent.find("#".concat(n));t.addClass("".concat(this.options.linkActiveClass)),e.attr({"aria-selected":"true",tabindex:"0"}),i.addClass("".concat(this.options.panelActiveClass)).removeAttr("aria-hidden")}},{key:"_collapseTab",value:function(t){var e=t.removeClass("".concat(this.options.linkActiveClass)).find('[role="tab"]').attr({"aria-selected":"false",tabindex:-1});r()("#".concat(e.attr("aria-controls"))).removeClass("".concat(this.options.panelActiveClass)).attr({"aria-hidden":"true"})}},{key:"_collapse",value:function(){var t=this.$element.find(".".concat(this.options.linkClass,".").concat(this.options.linkActiveClass));t.length&&(this._collapseTab(t),this.$element.trigger("collapse.zf.tabs",[t]))}},{key:"selectTab",value:function(t,e){var n,i;(n="object"===a(t)?t[0].id:t).indexOf("#")<0?i="#".concat(n):n=(i=n).slice(1);var o=this.$tabTitles.has('[href$="'.concat(i,'"],[data-tabs-target="').concat(n,'"]')).first();this._handleTabChange(o,e)}},{key:"_setHeight",value:function(){var i=0,o=this;this.$tabContent.find(".".concat(this.options.panelClass)).css("height","").each(function(){var t=r()(this),e=t.hasClass("".concat(o.options.panelActiveClass));e||t.css({visibility:"hidden",display:"block"});var n=this.getBoundingClientRect().height;e||t.css({visibility:"",display:""}),i=i<n?n:i}).css("height","".concat(i,"px"))}},{key:"_destroy",value:function(){this.$element.find(".".concat(this.options.linkClass)).off(".zf.tabs").hide().end().find(".".concat(this.options.panelClass)).hide(),this.options.matchHeight&&null!=this._setHeightMqHandler&&r()(window).off("changed.zf.mediaquery",this._setHeightMqHandler),this.options.deepLink&&r()(window).off("hashchange",this._checkDeepLink),this.onLoadListener&&r()(window).off(this.onLoadListener)}}]),n}();h.defaults={deepLink:!1,deepLinkSmudge:!1,deepLinkSmudgeDelay:300,updateHistory:!1,autoFocus:!1,wrapOnKeys:!0,matchHeight:!1,activeCollapse:!1,linkClass:"tabs-title",linkActiveClass:"is-active",panelClass:"tabs-panel",panelActiveClass:"is-active"}},18:function(t,e,n){t.exports=n("./js/entries/plugins/foundation.tabs.js")},jquery:function(t,e){t.exports=a}},s.c=l,s.d=function(t,e,n){s.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},s.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},s.t=function(e,t){if(1&t&&(e=s(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(s.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)s.d(n,i,function(t){return e[t]}.bind(null,i));return n},s.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return s.d(e,"a",e),e},s.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},s.p="",s(s.s=18);function s(t){if(l[t])return l[t].exports;var e=l[t]={i:t,l:!1,exports:{}};return r[t].call(e.exports,e,e.exports,s),e.l=!0,e.exports}var r,l});
2
2
  //# sourceMappingURL=foundation.tabs.min.js.map
@@ -1 +1 @@
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.imageLoader\"],\"amd\":\"./foundation.util.imageLoader\",\"commonjs\":\"./foundation.util.imageLoader\",\"commonjs2\":\"./foundation.util.imageLoader\"}","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]/js/entries/plugins/foundation.tabs.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.tabs.js","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__foundation_core__","__WEBPACK_EXTERNAL_MODULE__foundation_util_imageLoader__","__WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__","__WEBPACK_EXTERNAL_MODULE_jquery__","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","__webpack_exports__","_foundation_core__WEBPACK_IMPORTED_MODULE_0__","_foundation_tabs__WEBPACK_IMPORTED_MODULE_1__","Foundation","plugin","Tabs","jquery__WEBPACK_IMPORTED_MODULE_0__","jquery__WEBPACK_IMPORTED_MODULE_0___default","_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__","_foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2__","_foundation_util_imageLoader__WEBPACK_IMPORTED_MODULE_3__","Plugin","element","options","this","$element","$","extend","defaults","data","className","_init","Keyboard","register","ENTER","SPACE","ARROW_RIGHT","ARROW_UP","ARROW_DOWN","ARROW_LEFT","_this2","_this","_isInitializing","attr","role","$tabTitles","find","concat","linkClass","$tabContent","id","each","$elem","$link","isActive","hasClass","linkActiveClass","hash","slice","linkId","aria-controls","aria-selected","tabindex","aria-labelledby","_initialAnchor","autoFocus","onLoadListener","onLoad","animate","scrollTop","offset","top","deepLinkSmudgeDelay","focus","matchHeight","$images","length","onImagesLoaded","_setHeight","_checkDeepLink","anchor","location","$anchor","isOwnAnchor","selectTab","_collapse","deepLinkSmudge","trigger","deepLink","_events","_addKeyHandler","_addClickHandler","_setHeightMqHandler","on","off","e","preventDefault","stopPropagation","_handleTabChange","which","$prevElement","$nextElement","$elements","parent","children","is","wrapOnKeys","last","eq","first","Math","max","min","handleKey","open","previous","next","handled","$target","historyHandled","activeCollapse","$oldTab","$tabLink","target","$targetContent","_collapseTab","_openTab","updateHistory","history","pushState","replaceState","addClass","panelActiveClass","removeAttr","$target_anchor","removeClass","aria-hidden","$activeTab","elem","idStr","_typeof","indexOf","has","panelClass","css","panel","visibility","display","temp","getBoundingClientRect","height","hide","end"],"mappings":"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","file":"foundation.tabs.min.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.imageLoader\"), require(\"./foundation.util.keyboard\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"./foundation.util.imageLoader\", \"./foundation.util.keyboard\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.tabs\"] = factory(require(\"./foundation.core\"), require(\"./foundation.util.imageLoader\"), require(\"./foundation.util.keyboard\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.tabs\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.imageLoader\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.keyboard\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE__foundation_util_imageLoader__, __WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__, __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 = 18);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_imageLoader__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__;","import { Foundation } from './foundation.core';\n\nimport { Tabs } from '../../foundation.tabs';\nFoundation.plugin(Tabs, 'Tabs');\n\nexport { Foundation, Tabs };\n","'use strict';\n\nimport $ from 'jquery';\nimport { onLoad } from './foundation.core.utils';\nimport { Keyboard } from './foundation.util.keyboard';\nimport { onImagesLoaded } from './foundation.util.imageLoader';\nimport { Plugin } from './foundation.core.plugin';\n/**\n * Tabs module.\n * @module foundation.tabs\n * @requires foundation.util.keyboard\n * @requires foundation.util.imageLoader if tabs contain images\n */\n\nclass Tabs extends Plugin {\n /**\n * Creates a new instance of tabs.\n * @class\n * @name Tabs\n * @fires Tabs#init\n * @param {jQuery} element - jQuery object to make into tabs.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, Tabs.defaults, this.$element.data(), options);\n this.className = 'Tabs'; // ie9 back compat\n\n this._init();\n Keyboard.register('Tabs', {\n 'ENTER': 'open',\n 'SPACE': 'open',\n 'ARROW_RIGHT': 'next',\n 'ARROW_UP': 'previous',\n 'ARROW_DOWN': 'next',\n 'ARROW_LEFT': 'previous'\n // 'TAB': 'next',\n // 'SHIFT_TAB': 'previous'\n });\n }\n\n /**\n * Initializes the tabs by showing and focusing (if autoFocus=true) the preset active tab.\n * @private\n */\n _init() {\n var _this = this;\n this._isInitializing = true;\n\n this.$element.attr({'role': 'tablist'});\n this.$tabTitles = this.$element.find(`.${this.options.linkClass}`);\n this.$tabContent = $(`[data-tabs-content=\"${this.$element[0].id}\"]`);\n\n this.$tabTitles.each(function(){\n var $elem = $(this),\n $link = $elem.find('a'),\n isActive = $elem.hasClass(`${_this.options.linkActiveClass}`),\n hash = $link.attr('data-tabs-target') || $link[0].hash.slice(1),\n linkId = $link[0].id ? $link[0].id : `${hash}-label`,\n $tabContent = $(`#${hash}`);\n\n $elem.attr({'role': 'presentation'});\n\n $link.attr({\n 'role': 'tab',\n 'aria-controls': hash,\n 'aria-selected': isActive,\n 'id': linkId,\n 'tabindex': isActive ? '0' : '-1'\n });\n\n $tabContent.attr({\n 'role': 'tabpanel',\n 'aria-labelledby': linkId\n });\n\n // Save up the initial hash to return to it later when going back in history\n if (isActive) {\n _this._initialAnchor = `#${hash}`;\n }\n\n if(!isActive) {\n $tabContent.attr('aria-hidden', 'true');\n }\n\n if(isActive && _this.options.autoFocus){\n _this.onLoadListener = onLoad($(window), function() {\n $('html, body').animate({ scrollTop: $elem.offset().top }, _this.options.deepLinkSmudgeDelay, () => {\n $link.focus();\n });\n });\n }\n });\n\n if(this.options.matchHeight) {\n var $images = this.$tabContent.find('img');\n\n if ($images.length) {\n onImagesLoaded($images, this._setHeight.bind(this));\n } else {\n this._setHeight();\n }\n }\n\n // Current context-bound function to open tabs on page load or history hashchange\n this._checkDeepLink = () => {\n var anchor = window.location.hash;\n\n if (!anchor.length) {\n // If we are still initializing and there is no anchor, then there is nothing to do\n if (this._isInitializing) return;\n // Otherwise, move to the initial anchor\n if (this._initialAnchor) anchor = this._initialAnchor;\n }\n\n var $anchor = anchor && $(anchor);\n var $link = anchor && this.$element.find('[href$=\"'+anchor+'\"]');\n // Whether the anchor element that has been found is part of this element\n var isOwnAnchor = !!($anchor.length && $link.length);\n\n // If there is an anchor for the hash, select it\n if ($anchor && $anchor.length && $link && $link.length) {\n this.selectTab($anchor, true);\n }\n // Otherwise, collapse everything\n else {\n this._collapse();\n }\n\n if (isOwnAnchor) {\n // Roll up a little to show the titles\n if (this.options.deepLinkSmudge) {\n var offset = this.$element.offset();\n $('html, body').animate({ scrollTop: offset.top }, this.options.deepLinkSmudgeDelay);\n }\n\n /**\n * Fires when the plugin has deeplinked at pageload\n * @event Tabs#deeplink\n */\n this.$element.trigger('deeplink.zf.tabs', [$link, $anchor]);\n }\n }\n\n //use browser to open a tab, if it exists in this tabset\n if (this.options.deepLink) {\n this._checkDeepLink();\n }\n\n this._events();\n\n this._isInitializing = false;\n }\n\n /**\n * Adds event handlers for items within the tabs.\n * @private\n */\n _events() {\n this._addKeyHandler();\n this._addClickHandler();\n this._setHeightMqHandler = null;\n\n if (this.options.matchHeight) {\n this._setHeightMqHandler = this._setHeight.bind(this);\n\n $(window).on('changed.zf.mediaquery', this._setHeightMqHandler);\n }\n\n if(this.options.deepLink) {\n $(window).on('hashchange', this._checkDeepLink);\n }\n }\n\n /**\n * Adds click handlers for items within the tabs.\n * @private\n */\n _addClickHandler() {\n var _this = this;\n\n this.$element\n .off('click.zf.tabs')\n .on('click.zf.tabs', `.${this.options.linkClass}`, function(e){\n e.preventDefault();\n e.stopPropagation();\n _this._handleTabChange($(this));\n });\n }\n\n /**\n * Adds keyboard event handlers for items within the tabs.\n * @private\n */\n _addKeyHandler() {\n var _this = this;\n\n this.$tabTitles.off('keydown.zf.tabs').on('keydown.zf.tabs', function(e){\n if (e.which === 9) return;\n\n\n var $element = $(this),\n $elements = $element.parent('ul').children('li'),\n $prevElement,\n $nextElement;\n\n $elements.each(function(i) {\n if ($(this).is($element)) {\n if (_this.options.wrapOnKeys) {\n $prevElement = i === 0 ? $elements.last() : $elements.eq(i-1);\n $nextElement = i === $elements.length -1 ? $elements.first() : $elements.eq(i+1);\n } else {\n $prevElement = $elements.eq(Math.max(0, i-1));\n $nextElement = $elements.eq(Math.min(i+1, $elements.length-1));\n }\n return;\n }\n });\n\n // handle keyboard event with keyboard util\n Keyboard.handleKey(e, 'Tabs', {\n open: function() {\n $element.find('[role=\"tab\"]').focus();\n _this._handleTabChange($element);\n },\n previous: function() {\n $prevElement.find('[role=\"tab\"]').focus();\n _this._handleTabChange($prevElement);\n },\n next: function() {\n $nextElement.find('[role=\"tab\"]').focus();\n _this._handleTabChange($nextElement);\n },\n handled: function() {\n e.stopPropagation();\n e.preventDefault();\n }\n });\n });\n }\n\n /**\n * Opens the tab `$targetContent` defined by `$target`. Collapses active tab.\n * @param {jQuery} $target - Tab to open.\n * @param {boolean} historyHandled - browser has already handled a history update\n * @fires Tabs#change\n * @function\n */\n _handleTabChange($target, historyHandled) {\n\n // With `activeCollapse`, if the target is the active Tab, collapse it.\n if ($target.hasClass(`${this.options.linkActiveClass}`)) {\n if(this.options.activeCollapse) {\n this._collapse();\n }\n return;\n }\n\n var $oldTab = this.$element.\n find(`.${this.options.linkClass}.${this.options.linkActiveClass}`),\n $tabLink = $target.find('[role=\"tab\"]'),\n target = $tabLink.attr('data-tabs-target'),\n anchor = target && target.length ? `#${target}` : $tabLink[0].hash,\n $targetContent = this.$tabContent.find(anchor);\n\n //close old tab\n this._collapseTab($oldTab);\n\n //open new tab\n this._openTab($target);\n\n //either replace or update browser history\n if (this.options.deepLink && !historyHandled) {\n if (this.options.updateHistory) {\n history.pushState({}, '', anchor);\n } else {\n history.replaceState({}, '', anchor);\n }\n }\n\n /**\n * Fires when the plugin has successfully changed tabs.\n * @event Tabs#change\n */\n this.$element.trigger('change.zf.tabs', [$target, $targetContent]);\n\n //fire to children a mutation event\n $targetContent.find(\"[data-mutate]\").trigger(\"mutateme.zf.trigger\");\n }\n\n /**\n * Opens the tab `$targetContent` defined by `$target`.\n * @param {jQuery} $target - Tab to open.\n * @function\n */\n _openTab($target) {\n var $tabLink = $target.find('[role=\"tab\"]'),\n hash = $tabLink.attr('data-tabs-target') || $tabLink[0].hash.slice(1),\n $targetContent = this.$tabContent.find(`#${hash}`);\n\n $target.addClass(`${this.options.linkActiveClass}`);\n\n $tabLink.attr({\n 'aria-selected': 'true',\n 'tabindex': '0'\n });\n\n $targetContent\n .addClass(`${this.options.panelActiveClass}`).removeAttr('aria-hidden');\n }\n\n /**\n * Collapses `$targetContent` defined by `$target`.\n * @param {jQuery} $target - Tab to collapse.\n * @function\n */\n _collapseTab($target) {\n var $target_anchor = $target\n .removeClass(`${this.options.linkActiveClass}`)\n .find('[role=\"tab\"]')\n .attr({\n 'aria-selected': 'false',\n 'tabindex': -1\n });\n\n $(`#${$target_anchor.attr('aria-controls')}`)\n .removeClass(`${this.options.panelActiveClass}`)\n .attr({ 'aria-hidden': 'true' })\n }\n\n /**\n * Collapses the active Tab.\n * @fires Tabs#collapse\n * @function\n */\n _collapse() {\n var $activeTab = this.$element.find(`.${this.options.linkClass}.${this.options.linkActiveClass}`);\n\n if ($activeTab.length) {\n this._collapseTab($activeTab);\n\n /**\n * Fires when the plugin has successfully collapsed tabs.\n * @event Tabs#collapse\n */\n this.$element.trigger('collapse.zf.tabs', [$activeTab]);\n }\n }\n\n /**\n * Public method for selecting a content pane to display.\n * @param {jQuery | String} elem - jQuery object or string of the id of the pane to display.\n * @param {boolean} historyHandled - browser has already handled a history update\n * @function\n */\n selectTab(elem, historyHandled) {\n var idStr;\n\n if (typeof elem === 'object') {\n idStr = elem[0].id;\n } else {\n idStr = elem;\n }\n\n if (idStr.indexOf('#') < 0) {\n idStr = `#${idStr}`;\n }\n\n var $target = this.$tabTitles.has(`[href$=\"${idStr}\"]`);\n\n this._handleTabChange($target, historyHandled);\n };\n\n /**\n * Sets the height of each panel to the height of the tallest panel.\n * If enabled in options, gets called on media query change.\n * If loading content via external source, can be called directly or with _reflow.\n * If enabled with `data-match-height=\"true\"`, tabs sets to equal height\n * @function\n * @private\n */\n _setHeight() {\n var max = 0,\n _this = this; // Lock down the `this` value for the root tabs object\n\n this.$tabContent\n .find(`.${this.options.panelClass}`)\n .css('height', '')\n .each(function() {\n\n var panel = $(this),\n isActive = panel.hasClass(`${_this.options.panelActiveClass}`); // get the options from the parent instead of trying to get them from the child\n\n if (!isActive) {\n panel.css({'visibility': 'hidden', 'display': 'block'});\n }\n\n var temp = this.getBoundingClientRect().height;\n\n if (!isActive) {\n panel.css({\n 'visibility': '',\n 'display': ''\n });\n }\n\n max = temp > max ? temp : max;\n })\n .css('height', `${max}px`);\n }\n\n /**\n * Destroys an instance of tabs.\n * @fires Tabs#destroyed\n */\n _destroy() {\n this.$element\n .find(`.${this.options.linkClass}`)\n .off('.zf.tabs').hide().end()\n .find(`.${this.options.panelClass}`)\n .hide();\n\n if (this.options.matchHeight) {\n if (this._setHeightMqHandler != null) {\n $(window).off('changed.zf.mediaquery', this._setHeightMqHandler);\n }\n }\n\n if (this.options.deepLink) {\n $(window).off('hashchange', this._checkDeepLink);\n }\n\n if (this.onLoadListener) {\n $(window).off(this.onLoadListener);\n }\n }\n}\n\nTabs.defaults = {\n /**\n * Link the location hash to the active pane.\n * Set the location hash when the active pane changes, and open the corresponding pane when the location changes.\n * @option\n * @type {boolean}\n * @default false\n */\n deepLink: false,\n\n /**\n * If `deepLink` is enabled, adjust the deep link scroll to make sure the top of the tab panel is visible\n * @option\n * @type {boolean}\n * @default false\n */\n deepLinkSmudge: false,\n\n /**\n * If `deepLinkSmudge` is enabled, animation time (ms) for the deep link adjustment\n * @option\n * @type {number}\n * @default 300\n */\n deepLinkSmudgeDelay: 300,\n\n /**\n * If `deepLink` is enabled, update the browser history with the open tab\n * @option\n * @type {boolean}\n * @default false\n */\n updateHistory: false,\n\n /**\n * Allows the window to scroll to content of active pane on load.\n * Not recommended if more than one tab panel per page.\n * @option\n * @type {boolean}\n * @default false\n */\n autoFocus: false,\n\n /**\n * Allows keyboard input to 'wrap' around the tab links.\n * @option\n * @type {boolean}\n * @default true\n */\n wrapOnKeys: true,\n\n /**\n * Allows the tab content panes to match heights if set to true.\n * @option\n * @type {boolean}\n * @default false\n */\n matchHeight: false,\n\n /**\n * Allows active tabs to collapse when clicked.\n * @option\n * @type {boolean}\n * @default false\n */\n activeCollapse: false,\n\n /**\n * Class applied to `li`'s in tab link list.\n * @option\n * @type {string}\n * @default 'tabs-title'\n */\n linkClass: 'tabs-title',\n\n /**\n * Class applied to the active `li` in tab link list.\n * @option\n * @type {string}\n * @default 'is-active'\n */\n linkActiveClass: 'is-active',\n\n /**\n * Class applied to the content containers.\n * @option\n * @type {string}\n * @default 'tabs-panel'\n */\n panelClass: 'tabs-panel',\n\n /**\n * Class applied to the active content container.\n * @option\n * @type {string}\n * @default 'is-active'\n */\n panelActiveClass: 'is-active'\n};\n\nexport {Tabs};\n","module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;"]}
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.imageLoader\"],\"amd\":\"./foundation.util.imageLoader\",\"commonjs\":\"./foundation.util.imageLoader\",\"commonjs2\":\"./foundation.util.imageLoader\"}","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]/js/entries/plugins/foundation.tabs.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.tabs.js","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__foundation_core__","__WEBPACK_EXTERNAL_MODULE__foundation_util_imageLoader__","__WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__","__WEBPACK_EXTERNAL_MODULE_jquery__","installedModules","__webpack_require__","m","r","__webpack_exports__","_foundation_core__WEBPACK_IMPORTED_MODULE_0__","d","_foundation_tabs__WEBPACK_IMPORTED_MODULE_1__","Foundation","plugin","Tabs","jquery__WEBPACK_IMPORTED_MODULE_0__","jquery__WEBPACK_IMPORTED_MODULE_0___default","n","_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__","_foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2__","_foundation_util_imageLoader__WEBPACK_IMPORTED_MODULE_3__","Plugin","element","options","this","$element","$","extend","defaults","data","className","_init","Keyboard","register","ENTER","SPACE","ARROW_RIGHT","ARROW_UP","ARROW_DOWN","ARROW_LEFT","_this2","_this","_isInitializing","attr","role","$tabTitles","find","concat","linkClass","$tabContent","id","each","$elem","$link","isActive","hasClass","linkActiveClass","hash","slice","linkId","aria-controls","aria-selected","tabindex","aria-labelledby","_initialAnchor","autoFocus","onLoadListener","onLoad","animate","scrollTop","offset","top","deepLinkSmudgeDelay","focus","matchHeight","$images","length","onImagesLoaded","_setHeight","bind","_checkDeepLink","anchor","location","anchorNoHash","indexOf","$anchor","first","selectTab","_collapse","deepLinkSmudge","trigger","deepLink","_events","_addKeyHandler","_addClickHandler","_setHeightMqHandler","on","off","e","preventDefault","_handleTabChange","which","$prevElement","$nextElement","$elements","parent","children","i","is","wrapOnKeys","last","eq","Math","max","min","handleKey","open","previous","next","handled","$target","historyHandled","activeCollapse","$oldTab","$tabLink","target","$targetContent","_collapseTab","_openTab","updateHistory","history","pushState","replaceState","addClass","panelActiveClass","removeAttr","$target_anchor","removeClass","aria-hidden","$activeTab","elem","idStr","hashIdStr","_typeof","has","panelClass","css","panel","visibility","display","temp","getBoundingClientRect","height","hide","end","c","name","getter","o","Object","defineProperty","enumerable","get","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","object","property","prototype","hasOwnProperty","call","p","s","moduleId","l","modules"],"mappings":"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","file":"foundation.tabs.min.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.imageLoader\"), require(\"./foundation.util.keyboard\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"./foundation.util.imageLoader\", \"./foundation.util.keyboard\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.tabs\"] = factory(require(\"./foundation.core\"), require(\"./foundation.util.imageLoader\"), require(\"./foundation.util.keyboard\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.tabs\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.imageLoader\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.keyboard\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE__foundation_util_imageLoader__, __WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__, __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 = 18);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_imageLoader__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__;","import { Foundation } from './foundation.core';\n\nimport { Tabs } from '../../foundation.tabs';\nFoundation.plugin(Tabs, 'Tabs');\n\nexport { Foundation, Tabs };\n","'use strict';\n\nimport $ from 'jquery';\nimport { Plugin } from './foundation.core.plugin';\nimport { onLoad } from './foundation.core.utils';\nimport { Keyboard } from './foundation.util.keyboard';\nimport { onImagesLoaded } from './foundation.util.imageLoader';\n/**\n * Tabs module.\n * @module foundation.tabs\n * @requires foundation.util.keyboard\n * @requires foundation.util.imageLoader if tabs contain images\n */\n\nclass Tabs extends Plugin {\n /**\n * Creates a new instance of tabs.\n * @class\n * @name Tabs\n * @fires Tabs#init\n * @param {jQuery} element - jQuery object to make into tabs.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, Tabs.defaults, this.$element.data(), options);\n this.className = 'Tabs'; // ie9 back compat\n\n this._init();\n Keyboard.register('Tabs', {\n 'ENTER': 'open',\n 'SPACE': 'open',\n 'ARROW_RIGHT': 'next',\n 'ARROW_UP': 'previous',\n 'ARROW_DOWN': 'next',\n 'ARROW_LEFT': 'previous'\n // 'TAB': 'next',\n // 'SHIFT_TAB': 'previous'\n });\n }\n\n /**\n * Initializes the tabs by showing and focusing (if autoFocus=true) the preset active tab.\n * @private\n */\n _init() {\n var _this = this;\n this._isInitializing = true;\n\n this.$element.attr({'role': 'tablist'});\n this.$tabTitles = this.$element.find(`.${this.options.linkClass}`);\n this.$tabContent = $(`[data-tabs-content=\"${this.$element[0].id}\"]`);\n\n this.$tabTitles.each(function(){\n var $elem = $(this),\n $link = $elem.find('a'),\n isActive = $elem.hasClass(`${_this.options.linkActiveClass}`),\n hash = $link.attr('data-tabs-target') || $link[0].hash.slice(1),\n linkId = $link[0].id ? $link[0].id : `${hash}-label`,\n $tabContent = $(`#${hash}`);\n\n $elem.attr({'role': 'presentation'});\n\n $link.attr({\n 'role': 'tab',\n 'aria-controls': hash,\n 'aria-selected': isActive,\n 'id': linkId,\n 'tabindex': isActive ? '0' : '-1'\n });\n\n $tabContent.attr({\n 'role': 'tabpanel',\n 'aria-labelledby': linkId\n });\n\n // Save up the initial hash to return to it later when going back in history\n if (isActive) {\n _this._initialAnchor = `#${hash}`;\n }\n\n if(!isActive) {\n $tabContent.attr('aria-hidden', 'true');\n }\n\n if(isActive && _this.options.autoFocus){\n _this.onLoadListener = onLoad($(window), function() {\n $('html, body').animate({ scrollTop: $elem.offset().top }, _this.options.deepLinkSmudgeDelay, () => {\n $link.focus();\n });\n });\n }\n });\n\n if(this.options.matchHeight) {\n var $images = this.$tabContent.find('img');\n\n if ($images.length) {\n onImagesLoaded($images, this._setHeight.bind(this));\n } else {\n this._setHeight();\n }\n }\n\n // Current context-bound function to open tabs on page load or history hashchange\n this._checkDeepLink = () => {\n var anchor = window.location.hash;\n\n if (!anchor.length) {\n // If we are still initializing and there is no anchor, then there is nothing to do\n if (this._isInitializing) return;\n // Otherwise, move to the initial anchor\n if (this._initialAnchor) anchor = this._initialAnchor;\n }\n\n var anchorNoHash = anchor.indexOf('#') >= 0 ? anchor.slice(1) : anchor;\n var $anchor = anchorNoHash && $(`#${anchorNoHash}`);\n var $link = anchor && this.$element.find(`[href$=\"${anchor}\"],[data-tabs-target=\"${anchorNoHash}\"]`).first();\n // Whether the anchor element that has been found is part of this element\n var isOwnAnchor = !!($anchor.length && $link.length);\n\n if (isOwnAnchor) {\n // If there is an anchor for the hash, select it\n if ($anchor && $anchor.length && $link && $link.length) {\n this.selectTab($anchor, true);\n }\n // Otherwise, collapse everything\n else {\n this._collapse();\n }\n\n // Roll up a little to show the titles\n if (this.options.deepLinkSmudge) {\n var offset = this.$element.offset();\n $('html, body').animate({ scrollTop: offset.top }, this.options.deepLinkSmudgeDelay);\n }\n\n /**\n * Fires when the plugin has deeplinked at pageload\n * @event Tabs#deeplink\n */\n this.$element.trigger('deeplink.zf.tabs', [$link, $anchor]);\n }\n }\n\n //use browser to open a tab, if it exists in this tabset\n if (this.options.deepLink) {\n this._checkDeepLink();\n }\n\n this._events();\n\n this._isInitializing = false;\n }\n\n /**\n * Adds event handlers for items within the tabs.\n * @private\n */\n _events() {\n this._addKeyHandler();\n this._addClickHandler();\n this._setHeightMqHandler = null;\n\n if (this.options.matchHeight) {\n this._setHeightMqHandler = this._setHeight.bind(this);\n\n $(window).on('changed.zf.mediaquery', this._setHeightMqHandler);\n }\n\n if(this.options.deepLink) {\n $(window).on('hashchange', this._checkDeepLink);\n }\n }\n\n /**\n * Adds click handlers for items within the tabs.\n * @private\n */\n _addClickHandler() {\n var _this = this;\n\n this.$element\n .off('click.zf.tabs')\n .on('click.zf.tabs', `.${this.options.linkClass}`, function(e){\n e.preventDefault();\n _this._handleTabChange($(this));\n });\n }\n\n /**\n * Adds keyboard event handlers for items within the tabs.\n * @private\n */\n _addKeyHandler() {\n var _this = this;\n\n this.$tabTitles.off('keydown.zf.tabs').on('keydown.zf.tabs', function(e){\n if (e.which === 9) return;\n\n\n var $element = $(this),\n $elements = $element.parent('ul').children('li'),\n $prevElement,\n $nextElement;\n\n $elements.each(function(i) {\n if ($(this).is($element)) {\n if (_this.options.wrapOnKeys) {\n $prevElement = i === 0 ? $elements.last() : $elements.eq(i-1);\n $nextElement = i === $elements.length -1 ? $elements.first() : $elements.eq(i+1);\n } else {\n $prevElement = $elements.eq(Math.max(0, i-1));\n $nextElement = $elements.eq(Math.min(i+1, $elements.length-1));\n }\n return;\n }\n });\n\n // handle keyboard event with keyboard util\n Keyboard.handleKey(e, 'Tabs', {\n open: function() {\n $element.find('[role=\"tab\"]').focus();\n _this._handleTabChange($element);\n },\n previous: function() {\n $prevElement.find('[role=\"tab\"]').focus();\n _this._handleTabChange($prevElement);\n },\n next: function() {\n $nextElement.find('[role=\"tab\"]').focus();\n _this._handleTabChange($nextElement);\n },\n handled: function() {\n e.preventDefault();\n }\n });\n });\n }\n\n /**\n * Opens the tab `$targetContent` defined by `$target`. Collapses active tab.\n * @param {jQuery} $target - Tab to open.\n * @param {boolean} historyHandled - browser has already handled a history update\n * @fires Tabs#change\n * @function\n */\n _handleTabChange($target, historyHandled) {\n\n // With `activeCollapse`, if the target is the active Tab, collapse it.\n if ($target.hasClass(`${this.options.linkActiveClass}`)) {\n if(this.options.activeCollapse) {\n this._collapse();\n }\n return;\n }\n\n var $oldTab = this.$element.\n find(`.${this.options.linkClass}.${this.options.linkActiveClass}`),\n $tabLink = $target.find('[role=\"tab\"]'),\n target = $tabLink.attr('data-tabs-target'),\n anchor = target && target.length ? `#${target}` : $tabLink[0].hash,\n $targetContent = this.$tabContent.find(anchor);\n\n //close old tab\n this._collapseTab($oldTab);\n\n //open new tab\n this._openTab($target);\n\n //either replace or update browser history\n if (this.options.deepLink && !historyHandled) {\n if (this.options.updateHistory) {\n history.pushState({}, '', anchor);\n } else {\n history.replaceState({}, '', anchor);\n }\n }\n\n /**\n * Fires when the plugin has successfully changed tabs.\n * @event Tabs#change\n */\n this.$element.trigger('change.zf.tabs', [$target, $targetContent]);\n\n //fire to children a mutation event\n $targetContent.find(\"[data-mutate]\").trigger(\"mutateme.zf.trigger\");\n }\n\n /**\n * Opens the tab `$targetContent` defined by `$target`.\n * @param {jQuery} $target - Tab to open.\n * @function\n */\n _openTab($target) {\n var $tabLink = $target.find('[role=\"tab\"]'),\n hash = $tabLink.attr('data-tabs-target') || $tabLink[0].hash.slice(1),\n $targetContent = this.$tabContent.find(`#${hash}`);\n\n $target.addClass(`${this.options.linkActiveClass}`);\n\n $tabLink.attr({\n 'aria-selected': 'true',\n 'tabindex': '0'\n });\n\n $targetContent\n .addClass(`${this.options.panelActiveClass}`).removeAttr('aria-hidden');\n }\n\n /**\n * Collapses `$targetContent` defined by `$target`.\n * @param {jQuery} $target - Tab to collapse.\n * @function\n */\n _collapseTab($target) {\n var $target_anchor = $target\n .removeClass(`${this.options.linkActiveClass}`)\n .find('[role=\"tab\"]')\n .attr({\n 'aria-selected': 'false',\n 'tabindex': -1\n });\n\n $(`#${$target_anchor.attr('aria-controls')}`)\n .removeClass(`${this.options.panelActiveClass}`)\n .attr({ 'aria-hidden': 'true' })\n }\n\n /**\n * Collapses the active Tab.\n * @fires Tabs#collapse\n * @function\n */\n _collapse() {\n var $activeTab = this.$element.find(`.${this.options.linkClass}.${this.options.linkActiveClass}`);\n\n if ($activeTab.length) {\n this._collapseTab($activeTab);\n\n /**\n * Fires when the plugin has successfully collapsed tabs.\n * @event Tabs#collapse\n */\n this.$element.trigger('collapse.zf.tabs', [$activeTab]);\n }\n }\n\n /**\n * Public method for selecting a content pane to display.\n * @param {jQuery | String} elem - jQuery object or string of the id of the pane to display.\n * @param {boolean} historyHandled - browser has already handled a history update\n * @function\n */\n selectTab(elem, historyHandled) {\n var idStr, hashIdStr;\n\n if (typeof elem === 'object') {\n idStr = elem[0].id;\n } else {\n idStr = elem;\n }\n\n if (idStr.indexOf('#') < 0) {\n hashIdStr = `#${idStr}`;\n } else {\n hashIdStr = idStr;\n idStr = idStr.slice(1);\n }\n\n var $target = this.$tabTitles.has(`[href$=\"${hashIdStr}\"],[data-tabs-target=\"${idStr}\"]`).first();\n\n this._handleTabChange($target, historyHandled);\n };\n\n /**\n * Sets the height of each panel to the height of the tallest panel.\n * If enabled in options, gets called on media query change.\n * If loading content via external source, can be called directly or with _reflow.\n * If enabled with `data-match-height=\"true\"`, tabs sets to equal height\n * @function\n * @private\n */\n _setHeight() {\n var max = 0,\n _this = this; // Lock down the `this` value for the root tabs object\n\n this.$tabContent\n .find(`.${this.options.panelClass}`)\n .css('height', '')\n .each(function() {\n\n var panel = $(this),\n isActive = panel.hasClass(`${_this.options.panelActiveClass}`); // get the options from the parent instead of trying to get them from the child\n\n if (!isActive) {\n panel.css({'visibility': 'hidden', 'display': 'block'});\n }\n\n var temp = this.getBoundingClientRect().height;\n\n if (!isActive) {\n panel.css({\n 'visibility': '',\n 'display': ''\n });\n }\n\n max = temp > max ? temp : max;\n })\n .css('height', `${max}px`);\n }\n\n /**\n * Destroys an instance of tabs.\n * @fires Tabs#destroyed\n */\n _destroy() {\n this.$element\n .find(`.${this.options.linkClass}`)\n .off('.zf.tabs').hide().end()\n .find(`.${this.options.panelClass}`)\n .hide();\n\n if (this.options.matchHeight) {\n if (this._setHeightMqHandler != null) {\n $(window).off('changed.zf.mediaquery', this._setHeightMqHandler);\n }\n }\n\n if (this.options.deepLink) {\n $(window).off('hashchange', this._checkDeepLink);\n }\n\n if (this.onLoadListener) {\n $(window).off(this.onLoadListener);\n }\n }\n}\n\nTabs.defaults = {\n /**\n * Link the location hash to the active pane.\n * Set the location hash when the active pane changes, and open the corresponding pane when the location changes.\n * @option\n * @type {boolean}\n * @default false\n */\n deepLink: false,\n\n /**\n * If `deepLink` is enabled, adjust the deep link scroll to make sure the top of the tab panel is visible\n * @option\n * @type {boolean}\n * @default false\n */\n deepLinkSmudge: false,\n\n /**\n * If `deepLinkSmudge` is enabled, animation time (ms) for the deep link adjustment\n * @option\n * @type {number}\n * @default 300\n */\n deepLinkSmudgeDelay: 300,\n\n /**\n * If `deepLink` is enabled, update the browser history with the open tab\n * @option\n * @type {boolean}\n * @default false\n */\n updateHistory: false,\n\n /**\n * Allows the window to scroll to content of active pane on load.\n * Not recommended if more than one tab panel per page.\n * @option\n * @type {boolean}\n * @default false\n */\n autoFocus: false,\n\n /**\n * Allows keyboard input to 'wrap' around the tab links.\n * @option\n * @type {boolean}\n * @default true\n */\n wrapOnKeys: true,\n\n /**\n * Allows the tab content panes to match heights if set to true.\n * @option\n * @type {boolean}\n * @default false\n */\n matchHeight: false,\n\n /**\n * Allows active tabs to collapse when clicked.\n * @option\n * @type {boolean}\n * @default false\n */\n activeCollapse: false,\n\n /**\n * Class applied to `li`'s in tab link list.\n * @option\n * @type {string}\n * @default 'tabs-title'\n */\n linkClass: 'tabs-title',\n\n /**\n * Class applied to the active `li` in tab link list.\n * @option\n * @type {string}\n * @default 'is-active'\n */\n linkActiveClass: 'is-active',\n\n /**\n * Class applied to the content containers.\n * @option\n * @type {string}\n * @default 'tabs-panel'\n */\n panelClass: 'tabs-panel',\n\n /**\n * Class applied to the active content container.\n * @option\n * @type {string}\n * @default 'is-active'\n */\n panelActiveClass: 'is-active'\n};\n\nexport {Tabs};\n","module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;"]}
@@ -234,24 +234,31 @@ function (_Plugin) {
234
234
  }, {
235
235
  key: "_init",
236
236
  value: function _init() {
237
+ // Collect triggers to set ARIA attributes to
238
+ var id = this.$element[0].id,
239
+ $triggers = jquery__WEBPACK_IMPORTED_MODULE_0___default()("[data-open~=\"".concat(id, "\"], [data-close~=\"").concat(id, "\"], [data-toggle~=\"").concat(id, "\"]"));
237
240
  var input; // Parse animation classes if they were set
238
241
 
239
242
  if (this.options.animate) {
240
243
  input = this.options.animate.split(' ');
241
244
  this.animationIn = input[0];
242
- this.animationOut = input[1] || null;
245
+ this.animationOut = input[1] || null; // - aria-expanded: according to the element visibility.
246
+
247
+ $triggers.attr('aria-expanded', !this.$element.is(':hidden'));
243
248
  } // Otherwise, parse toggle class
244
249
  else {
245
- input = this.$element.data('toggler'); // Allow for a . at the beginning of the string
250
+ input = this.options.toggler;
246
251
 
247
- this.className = input[0] === '.' ? input.slice(1) : input;
248
- } // Add ARIA attributes to triggers:
252
+ if (typeof input !== 'string' || !input.length) {
253
+ throw new Error("The 'toogler' option containing the target class is required, got \"".concat(input, "\""));
254
+ } // Allow for a . at the beginning of the string
249
255
 
250
256
 
251
- var id = this.$element[0].id,
252
- $triggers = jquery__WEBPACK_IMPORTED_MODULE_0___default()("[data-open~=\"".concat(id, "\"], [data-close~=\"").concat(id, "\"], [data-toggle~=\"").concat(id, "\"]")); // - aria-expanded: according to the element visibility.
257
+ this.className = input[0] === '.' ? input.slice(1) : input; // - aria-expanded: according to the elements class set.
258
+
259
+ $triggers.attr('aria-expanded', this.$element.hasClass(this.className));
260
+ } // - aria-controls: adding the element id to it if not already in it.
253
261
 
254
- $triggers.attr('aria-expanded', !this.$element.is(':hidden')); // - aria-controls: adding the element id to it if not already in it.
255
262
 
256
263
  $triggers.each(function (index, trigger) {
257
264
  var $trigger = jquery__WEBPACK_IMPORTED_MODULE_0___default()(trigger);
@@ -352,6 +359,13 @@ function (_Plugin) {
352
359
  }(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_2__["Plugin"]);
353
360
 
354
361
  Toggler.defaults = {
362
+ /**
363
+ * Class of the element to toggle. It can be provided with or without "."
364
+ * @option
365
+ * @type {string}
366
+ */
367
+ toggler: undefined,
368
+
355
369
  /**
356
370
  * Tells the plugin if the element should animated when toggled.
357
371
  * @option
@@ -436,8 +450,9 @@ Triggers.Listeners.Basic = {
436
450
  }
437
451
  },
438
452
  closeableListener: function closeableListener(e) {
453
+ var animation = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('closable'); // Only close the first closable element. See https://git.io/zf-7833
454
+
439
455
  e.stopPropagation();
440
- var animation = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('closable');
441
456
 
442
457
  if (animation !== '') {
443
458
  _foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__["Motion"].animateOut(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), animation, function () {
@@ -668,7 +683,7 @@ Triggers.init = function ($, Foundation) {
668
683
  /*! no static exports found */
669
684
  /***/ (function(module, exports, __webpack_require__) {
670
685
 
671
- module.exports = __webpack_require__(/*! /Users/ncoden/Documents/Documents/Projects/Programmation/Web/2016/Foundation/foundation-sites/js/entries/plugins/foundation.toggler.js */"./js/entries/plugins/foundation.toggler.js");
686
+ module.exports = __webpack_require__(/*! /Volumes/Data/Development/Foundation/foundation-sites/js/entries/plugins/foundation.toggler.js */"./js/entries/plugins/foundation.toggler.js");
672
687
 
673
688
 
674
689
  /***/ }),
@@ -1 +1 @@
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.motion\"],\"amd\":\"./foundation.util.motion\",\"commonjs\":\"./foundation.util.motion\",\"commonjs2\":\"./foundation.util.motion\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/entries/plugins/foundation.toggler.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.toggler.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","Toggler","element","options","$element","$","extend","defaults","data","className","Triggers","init","_init","_events","input","animate","split","animationIn","animationOut","slice","id","$triggers","attr","is","each","index","trigger","$trigger","controls","containsId","RegExp","RegExpEscape","test","off","on","toggle","bind","toggleClass","isOn","hasClass","_updateARIA","find","_this","Motion","animateIn","animateOut","Plugin","MutationObserver","prefixes","i","length","window","triggers","el","type","forEach","Listeners","Basic","Global","Initializers","openListener","closeListener","toggleListener","closeableListener","e","stopPropagation","animation","fadeOut","toggleFocusListener","triggerHandler","addOpenListener","$elem","addCloseListener","addToggleListener","addCloseableListener","addToggleFocusListener","resizeListener","$nodes","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","call","arguments","clearTimeout","setTimeout","apply","addResizeListener","addScrollListener","addMutationEventsListener","listeningElementsMutation","mutationRecordsList","$target","target","attributeName","pageYOffset","closest","elementObserver","observe","attributes","childList","characterData","subtree","attributeFilter","addSimpleListeners","$document","document","addGlobalListeners","onLoad","triggersInitialized","IHearYou"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yEAAyE;AACzE,CAAC;AACD,O;ACVA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,kDAA0C,gCAAgC;AAC1E;AACA;;AAEA;AACA;AACA;AACA,gEAAwD,kBAAkB;AAC1E;AACA,yDAAiD,cAAc;AAC/D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAyC,iCAAiC;AAC1E,wHAAgH,mBAAmB,EAAE;AACrI;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;;AAGA;AACA;;;;;;;;;;;;AClFA,8D;;;;;;;;;;;ACAA,qE;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA;AACAA,2DAAU,CAACC,MAAX,CAAkBC,2DAAlB,EAA2B,SAA3B;;;;;;;;;;;;;ACHA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAa;;;;;;;;;;;;;;;;;;;;AAEb;AACA;AACA;AACA;AACA;AAEA;;;;;;;IAOMA,O;;;;;;;;;;;;;;AACJ;;;;;;;;2BAQOC,O,EAASC,O,EAAS;AACvB,WAAKC,QAAL,GAAgBF,OAAhB;AACA,WAAKC,OAAL,GAAeE,6CAAC,CAACC,MAAF,CAAS,EAAT,EAAaL,OAAO,CAACM,QAArB,EAA+BL,OAAO,CAACM,IAAR,EAA/B,EAA+CL,OAA/C,CAAf;AACA,WAAKM,SAAL,GAAiB,EAAjB;AACA,WAAKA,SAAL,GAAiB,SAAjB,CAJuB,CAIK;AAE5B;;AACAC,wEAAQ,CAACC,IAAT,CAAcN,6CAAd;;AAEA,WAAKO,KAAL;;AACA,WAAKC,OAAL;AACD;AAED;;;;;;;;4BAKQ;AACN,UAAIC,KAAJ,CADM,CAEN;;AACA,UAAI,KAAKX,OAAL,CAAaY,OAAjB,EAA0B;AACxBD,aAAK,GAAG,KAAKX,OAAL,CAAaY,OAAb,CAAqBC,KAArB,CAA2B,GAA3B,CAAR;AAEA,aAAKC,WAAL,GAAmBH,KAAK,CAAC,CAAD,CAAxB;AACA,aAAKI,YAAL,GAAoBJ,KAAK,CAAC,CAAD,CAAL,IAAY,IAAhC;AACD,OALD,CAMA;AANA,WAOK;AACHA,eAAK,GAAG,KAAKV,QAAL,CAAcI,IAAd,CAAmB,SAAnB,CAAR,CADG,CAEH;;AACA,eAAKC,SAAL,GAAiBK,KAAK,CAAC,CAAD,CAAL,KAAa,GAAb,GAAmBA,KAAK,CAACK,KAAN,CAAY,CAAZ,CAAnB,GAAoCL,KAArD;AACD,SAdK,CAgBN;;;AACA,UAAIM,EAAE,GAAG,KAAKhB,QAAL,CAAc,CAAd,EAAiBgB,EAA1B;AAAA,UACEC,SAAS,GAAGhB,6CAAC,yBAAiBe,EAAjB,iCAAwCA,EAAxC,kCAAgEA,EAAhE,SADf,CAjBM,CAoBN;;AACAC,eAAS,CAACC,IAAV,CAAe,eAAf,EAAgC,CAAC,KAAKlB,QAAL,CAAcmB,EAAd,CAAiB,SAAjB,CAAjC,EArBM,CAsBN;;AACAF,eAAS,CAACG,IAAV,CAAe,UAACC,KAAD,EAAQC,OAAR,EAAoB;AACjC,YAAMC,QAAQ,GAAGtB,6CAAC,CAACqB,OAAD,CAAlB;AACA,YAAME,QAAQ,GAAGD,QAAQ,CAACL,IAAT,CAAc,eAAd,KAAkC,EAAnD;AAEA,YAAMO,UAAU,GAAG,IAAIC,MAAJ,cAAiBC,4EAAY,CAACX,EAAD,CAA7B,UAAwCY,IAAxC,CAA6CJ,QAA7C,CAAnB;AACA,YAAI,CAACC,UAAL,EAAiBF,QAAQ,CAACL,IAAT,CAAc,eAAd,EAA+BM,QAAQ,aAAMA,QAAN,cAAkBR,EAAlB,IAAyBA,EAAhE;AAClB,OAND;AAOD;AAED;;;;;;;;8BAKU;AACR,WAAKhB,QAAL,CAAc6B,GAAd,CAAkB,mBAAlB,EAAuCC,EAAvC,CAA0C,mBAA1C,EAA+D,KAAKC,MAAL,CAAYC,IAAZ,CAAiB,IAAjB,CAA/D;AACD;AAED;;;;;;;;;6BAMS;AACP,WAAM,KAAKjC,OAAL,CAAaY,OAAb,GAAuB,gBAAvB,GAA0C,cAAhD;AACD;;;mCAEc;AACb,WAAKX,QAAL,CAAciC,WAAd,CAA0B,KAAK5B,SAA/B;AAEA,UAAI6B,IAAI,GAAG,KAAKlC,QAAL,CAAcmC,QAAd,CAAuB,KAAK9B,SAA5B,CAAX;;AACA,UAAI6B,IAAJ,EAAU;AACR;;;;AAIA,aAAKlC,QAAL,CAAcsB,OAAd,CAAsB,eAAtB;AACD,OAND,MAOK;AACH;;;;AAIA,aAAKtB,QAAL,CAAcsB,OAAd,CAAsB,gBAAtB;AACD;;AAED,WAAKc,WAAL,CAAiBF,IAAjB;;AACA,WAAKlC,QAAL,CAAcqC,IAAd,CAAmB,eAAnB,EAAoCf,OAApC,CAA4C,qBAA5C;AACD;;;qCAEgB;AACf,UAAIgB,KAAK,GAAG,IAAZ;;AAEA,UAAI,KAAKtC,QAAL,CAAcmB,EAAd,CAAiB,SAAjB,CAAJ,EAAiC;AAC/BoB,sEAAM,CAACC,SAAP,CAAiB,KAAKxC,QAAtB,EAAgC,KAAKa,WAArC,EAAkD,YAAW;AAC3DyB,eAAK,CAACF,WAAN,CAAkB,IAAlB;;AACA,eAAKd,OAAL,CAAa,eAAb;AACA,eAAKe,IAAL,CAAU,eAAV,EAA2Bf,OAA3B,CAAmC,qBAAnC;AACD,SAJD;AAKD,OAND,MAOK;AACHiB,sEAAM,CAACE,UAAP,CAAkB,KAAKzC,QAAvB,EAAiC,KAAKc,YAAtC,EAAoD,YAAW;AAC7DwB,eAAK,CAACF,WAAN,CAAkB,KAAlB;;AACA,eAAKd,OAAL,CAAa,gBAAb;AACA,eAAKe,IAAL,CAAU,eAAV,EAA2Bf,OAA3B,CAAmC,qBAAnC;AACD,SAJD;AAKD;AACF;;;gCAEWY,I,EAAM;AAChB,UAAIlB,EAAE,GAAG,KAAKhB,QAAL,CAAc,CAAd,EAAiBgB,EAA1B;AACAf,mDAAC,wBAAgBe,EAAhB,gCAAsCA,EAAtC,iCAA6DA,EAA7D,SAAD,CACGE,IADH,CACQ;AACJ,yBAAiBgB,IAAI,GAAG,IAAH,GAAU;AAD3B,OADR;AAID;AAED;;;;;;;+BAIW;AACT,WAAKlC,QAAL,CAAc6B,GAAd,CAAkB,aAAlB;AACD;;;;EAtImBa,8D;;AAyItB7C,OAAO,CAACM,QAAR,GAAmB;AACjB;;;;;;AAMAQ,SAAO,EAAE;AAPQ,CAAnB;;;;;;;;;;;;;ACxJA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAa;;;;AAEb;AACA;AACA;;AAEA,IAAMgC,gBAAgB,GAAI,YAAY;AACpC,MAAIC,QAAQ,GAAG,CAAC,QAAD,EAAW,KAAX,EAAkB,GAAlB,EAAuB,IAAvB,EAA6B,EAA7B,CAAf;;AACA,OAAK,IAAIC,CAAC,GAAC,CAAX,EAAcA,CAAC,GAAGD,QAAQ,CAACE,MAA3B,EAAmCD,CAAC,EAApC,EAAwC;AACtC,QAAI,UAAGD,QAAQ,CAACC,CAAD,CAAX,yBAAoCE,MAAxC,EAAgD;AAC9C,aAAOA,MAAM,WAAIH,QAAQ,CAACC,CAAD,CAAZ,sBAAb;AACD;AACF;;AACD,SAAO,KAAP;AACD,CARyB,EAA1B;;AAUA,IAAMG,QAAQ,GAAG,SAAXA,QAAW,CAACC,EAAD,EAAKC,IAAL,EAAc;AAC7BD,IAAE,CAAC7C,IAAH,CAAQ8C,IAAR,EAActC,KAAd,CAAoB,GAApB,EAAyBuC,OAAzB,CAAiC,UAAAnC,EAAE,EAAI;AACrCf,iDAAC,YAAKe,EAAL,EAAD,CAAakC,IAAI,KAAK,OAAT,GAAmB,SAAnB,GAA+B,gBAA5C,YAAiEA,IAAjE,kBAAoF,CAACD,EAAD,CAApF;AACD,GAFD;AAGD,CAJD;;AAMA,IAAI3C,QAAQ,GAAG;AACb8C,WAAS,EAAE;AACTC,SAAK,EAAE,EADE;AAETC,UAAM,EAAE;AAFC,GADE;AAKbC,cAAY,EAAE;AALD,CAAf;AAQAjD,QAAQ,CAAC8C,SAAT,CAAmBC,KAAnB,GAA4B;AAC1BG,cAAY,EAAE,wBAAW;AACvBR,YAAQ,CAAC/C,6CAAC,CAAC,IAAD,CAAF,EAAU,MAAV,CAAR;AACD,GAHyB;AAI1BwD,eAAa,EAAE,yBAAW;AACxB,QAAIzC,EAAE,GAAGf,6CAAC,CAAC,IAAD,CAAD,CAAQG,IAAR,CAAa,OAAb,CAAT;;AACA,QAAIY,EAAJ,EAAQ;AACNgC,cAAQ,CAAC/C,6CAAC,CAAC,IAAD,CAAF,EAAU,OAAV,CAAR;AACD,KAFD,MAGK;AACHA,mDAAC,CAAC,IAAD,CAAD,CAAQqB,OAAR,CAAgB,kBAAhB;AACD;AACF,GAZyB;AAa1BoC,gBAAc,EAAE,0BAAW;AACzB,QAAI1C,EAAE,GAAGf,6CAAC,CAAC,IAAD,CAAD,CAAQG,IAAR,CAAa,QAAb,CAAT;;AACA,QAAIY,EAAJ,EAAQ;AACNgC,cAAQ,CAAC/C,6CAAC,CAAC,IAAD,CAAF,EAAU,QAAV,CAAR;AACD,KAFD,MAEO;AACLA,mDAAC,CAAC,IAAD,CAAD,CAAQqB,OAAR,CAAgB,mBAAhB;AACD;AACF,GApByB;AAqB1BqC,mBAAiB,EAAE,2BAASC,CAAT,EAAY;AAC7BA,KAAC,CAACC,eAAF;AACA,QAAIC,SAAS,GAAG7D,6CAAC,CAAC,IAAD,CAAD,CAAQG,IAAR,CAAa,UAAb,CAAhB;;AAEA,QAAG0D,SAAS,KAAK,EAAjB,EAAoB;AAClBvB,oEAAM,CAACE,UAAP,CAAkBxC,6CAAC,CAAC,IAAD,CAAnB,EAA2B6D,SAA3B,EAAsC,YAAW;AAC/C7D,qDAAC,CAAC,IAAD,CAAD,CAAQqB,OAAR,CAAgB,WAAhB;AACD,OAFD;AAGD,KAJD,MAIK;AACHrB,mDAAC,CAAC,IAAD,CAAD,CAAQ8D,OAAR,GAAkBzC,OAAlB,CAA0B,WAA1B;AACD;AACF,GAhCyB;AAiC1B0C,qBAAmB,EAAE,+BAAW;AAC9B,QAAIhD,EAAE,GAAGf,6CAAC,CAAC,IAAD,CAAD,CAAQG,IAAR,CAAa,cAAb,CAAT;AACAH,iDAAC,YAAKe,EAAL,EAAD,CAAYiD,cAAZ,CAA2B,mBAA3B,EAAgD,CAAChE,6CAAC,CAAC,IAAD,CAAF,CAAhD;AACD;AApCyB,CAA5B,C,CAuCA;;AACAK,QAAQ,CAACiD,YAAT,CAAsBW,eAAtB,GAAwC,UAACC,KAAD,EAAW;AACjDA,OAAK,CAACtC,GAAN,CAAU,kBAAV,EAA8BvB,QAAQ,CAAC8C,SAAT,CAAmBC,KAAnB,CAAyBG,YAAvD;AACAW,OAAK,CAACrC,EAAN,CAAS,kBAAT,EAA6B,aAA7B,EAA4CxB,QAAQ,CAAC8C,SAAT,CAAmBC,KAAnB,CAAyBG,YAArE;AACD,CAHD,C,CAKA;AACA;;;AACAlD,QAAQ,CAACiD,YAAT,CAAsBa,gBAAtB,GAAyC,UAACD,KAAD,EAAW;AAClDA,OAAK,CAACtC,GAAN,CAAU,kBAAV,EAA8BvB,QAAQ,CAAC8C,SAAT,CAAmBC,KAAnB,CAAyBI,aAAvD;AACAU,OAAK,CAACrC,EAAN,CAAS,kBAAT,EAA6B,cAA7B,EAA6CxB,QAAQ,CAAC8C,SAAT,CAAmBC,KAAnB,CAAyBI,aAAtE;AACD,CAHD,C,CAKA;;;AACAnD,QAAQ,CAACiD,YAAT,CAAsBc,iBAAtB,GAA0C,UAACF,KAAD,EAAW;AACnDA,OAAK,CAACtC,GAAN,CAAU,kBAAV,EAA8BvB,QAAQ,CAAC8C,SAAT,CAAmBC,KAAnB,CAAyBK,cAAvD;AACAS,OAAK,CAACrC,EAAN,CAAS,kBAAT,EAA6B,eAA7B,EAA8CxB,QAAQ,CAAC8C,SAAT,CAAmBC,KAAnB,CAAyBK,cAAvE;AACD,CAHD,C,CAKA;;;AACApD,QAAQ,CAACiD,YAAT,CAAsBe,oBAAtB,GAA6C,UAACH,KAAD,EAAW;AACtDA,OAAK,CAACtC,GAAN,CAAU,kBAAV,EAA8BvB,QAAQ,CAAC8C,SAAT,CAAmBC,KAAnB,CAAyBM,iBAAvD;AACAQ,OAAK,CAACrC,EAAN,CAAS,kBAAT,EAA6B,mCAA7B,EAAkExB,QAAQ,CAAC8C,SAAT,CAAmBC,KAAnB,CAAyBM,iBAA3F;AACD,CAHD,C,CAKA;;;AACArD,QAAQ,CAACiD,YAAT,CAAsBgB,sBAAtB,GAA+C,UAACJ,KAAD,EAAW;AACxDA,OAAK,CAACtC,GAAN,CAAU,kCAAV,EAA8CvB,QAAQ,CAAC8C,SAAT,CAAmBC,KAAnB,CAAyBW,mBAAvE;AACAG,OAAK,CAACrC,EAAN,CAAS,kCAAT,EAA6C,qBAA7C,EAAoExB,QAAQ,CAAC8C,SAAT,CAAmBC,KAAnB,CAAyBW,mBAA7F;AACD,CAHD,C,CAOA;;;AACA1D,QAAQ,CAAC8C,SAAT,CAAmBE,MAAnB,GAA6B;AAC3BkB,gBAAc,EAAE,wBAASC,MAAT,EAAiB;AAC/B,QAAG,CAAC9B,gBAAJ,EAAqB;AAAC;AACpB8B,YAAM,CAACrD,IAAP,CAAY,YAAU;AACpBnB,qDAAC,CAAC,IAAD,CAAD,CAAQgE,cAAR,CAAuB,qBAAvB;AACD,OAFD;AAGD,KAL8B,CAM/B;;;AACAQ,UAAM,CAACvD,IAAP,CAAY,aAAZ,EAA2B,QAA3B;AACD,GAT0B;AAU3BwD,gBAAc,EAAE,wBAASD,MAAT,EAAiB;AAC/B,QAAG,CAAC9B,gBAAJ,EAAqB;AAAC;AACpB8B,YAAM,CAACrD,IAAP,CAAY,YAAU;AACpBnB,qDAAC,CAAC,IAAD,CAAD,CAAQgE,cAAR,CAAuB,qBAAvB;AACD,OAFD;AAGD,KAL8B,CAM/B;;;AACAQ,UAAM,CAACvD,IAAP,CAAY,aAAZ,EAA2B,QAA3B;AACD,GAlB0B;AAmB3ByD,iBAAe,EAAE,yBAASf,CAAT,EAAYgB,QAAZ,EAAqB;AACpC,QAAIhF,MAAM,GAAGgE,CAAC,CAACiB,SAAF,CAAYjE,KAAZ,CAAkB,GAAlB,EAAuB,CAAvB,CAAb;AACA,QAAIkE,OAAO,GAAG7E,6CAAC,iBAAUL,MAAV,OAAD,CAAsBmF,GAAtB,4BAA6CH,QAA7C,SAAd;AAEAE,WAAO,CAAC1D,IAAR,CAAa,YAAU;AACrB,UAAIkB,KAAK,GAAGrC,6CAAC,CAAC,IAAD,CAAb;;AACAqC,WAAK,CAAC2B,cAAN,CAAqB,kBAArB,EAAyC,CAAC3B,KAAD,CAAzC;AACD,KAHD;AAID,GA3B0B,CA8B7B;;AA9B6B,CAA7B;;AA+BAhC,QAAQ,CAACiD,YAAT,CAAsByB,kBAAtB,GAA2C,UAASC,UAAT,EAAqB;AAC9D,MAAIC,SAAS,GAAGjF,6CAAC,CAAC,iBAAD,CAAjB;AAAA,MACIkF,SAAS,GAAG,CAAC,UAAD,EAAa,SAAb,EAAwB,QAAxB,CADhB;;AAGA,MAAGF,UAAH,EAAc;AACZ,QAAG,OAAOA,UAAP,KAAsB,QAAzB,EAAkC;AAChCE,eAAS,CAACC,IAAV,CAAeH,UAAf;AACD,KAFD,MAEM,IAAG,QAAOA,UAAP,MAAsB,QAAtB,IAAkC,OAAOA,UAAU,CAAC,CAAD,CAAjB,KAAyB,QAA9D,EAAuE;AAC3EE,eAAS,GAAGA,SAAS,CAACE,MAAV,CAAiBJ,UAAjB,CAAZ;AACD,KAFK,MAED;AACHK,aAAO,CAACC,KAAR,CAAc,8BAAd;AACD;AACF;;AACD,MAAGL,SAAS,CAACpC,MAAb,EAAoB;AAClB,QAAI0C,SAAS,GAAGL,SAAS,CAACM,GAAV,CAAc,UAACC,IAAD,EAAU;AACtC,kCAAqBA,IAArB;AACD,KAFe,EAEbC,IAFa,CAER,GAFQ,CAAhB;AAIA1F,iDAAC,CAAC8C,MAAD,CAAD,CAAUlB,GAAV,CAAc2D,SAAd,EAAyB1D,EAAzB,CAA4B0D,SAA5B,EAAuClF,QAAQ,CAAC8C,SAAT,CAAmBE,MAAnB,CAA0BqB,eAAjE;AACD;AACF,CApBD;;AAsBA,SAASiB,sBAAT,CAAgCC,QAAhC,EAA0CvE,OAA1C,EAAmDwE,QAAnD,EAA6D;AAC3D,MAAIC,KAAJ;AAAA,MAAWC,IAAI,GAAGC,KAAK,CAACC,SAAN,CAAgBnF,KAAhB,CAAsBoF,IAAtB,CAA2BC,SAA3B,EAAsC,CAAtC,CAAlB;AACAnG,+CAAC,CAAC8C,MAAD,CAAD,CAAUlB,GAAV,CAAcP,OAAd,EAAuBQ,EAAvB,CAA0BR,OAA1B,EAAmC,UAASsC,CAAT,EAAY;AAC7C,QAAImC,KAAJ,EAAW;AAAEM,kBAAY,CAACN,KAAD,CAAZ;AAAsB;;AACnCA,SAAK,GAAGO,UAAU,CAAC,YAAU;AAC3BR,cAAQ,CAACS,KAAT,CAAe,IAAf,EAAqBP,IAArB;AACD,KAFiB,EAEfH,QAAQ,IAAI,EAFG,CAAlB,CAF6C,CAI1B;AACpB,GALD;AAMD;;AAEDvF,QAAQ,CAACiD,YAAT,CAAsBiD,iBAAtB,GAA0C,UAASX,QAAT,EAAkB;AAC1D,MAAIpB,MAAM,GAAGxE,6CAAC,CAAC,eAAD,CAAd;;AACA,MAAGwE,MAAM,CAAC3B,MAAV,EAAiB;AACf8C,0BAAsB,CAACC,QAAD,EAAW,mBAAX,EAAgCvF,QAAQ,CAAC8C,SAAT,CAAmBE,MAAnB,CAA0BkB,cAA1D,EAA0EC,MAA1E,CAAtB;AACD;AACF,CALD;;AAOAnE,QAAQ,CAACiD,YAAT,CAAsBkD,iBAAtB,GAA0C,UAASZ,QAAT,EAAkB;AAC1D,MAAIpB,MAAM,GAAGxE,6CAAC,CAAC,eAAD,CAAd;;AACA,MAAGwE,MAAM,CAAC3B,MAAV,EAAiB;AACf8C,0BAAsB,CAACC,QAAD,EAAW,mBAAX,EAAgCvF,QAAQ,CAAC8C,SAAT,CAAmBE,MAAnB,CAA0BoB,cAA1D,EAA0ED,MAA1E,CAAtB;AACD;AACF,CALD;;AAOAnE,QAAQ,CAACiD,YAAT,CAAsBmD,yBAAtB,GAAkD,UAASvC,KAAT,EAAgB;AAChE,MAAG,CAACxB,gBAAJ,EAAqB;AAAE,WAAO,KAAP;AAAe;;AACtC,MAAI8B,MAAM,GAAGN,KAAK,CAAC9B,IAAN,CAAW,6CAAX,CAAb,CAFgE,CAIhE;;AACA,MAAIsE,yBAAyB,GAAG,SAA5BA,yBAA4B,CAAUC,mBAAV,EAA+B;AAC7D,QAAIC,OAAO,GAAG5G,6CAAC,CAAC2G,mBAAmB,CAAC,CAAD,CAAnB,CAAuBE,MAAxB,CAAf,CAD6D,CAG7D;;AACA,YAAQF,mBAAmB,CAAC,CAAD,CAAnB,CAAuB1D,IAA/B;AACE,WAAK,YAAL;AACE,YAAI2D,OAAO,CAAC3F,IAAR,CAAa,aAAb,MAAgC,QAAhC,IAA4C0F,mBAAmB,CAAC,CAAD,CAAnB,CAAuBG,aAAvB,KAAyC,aAAzF,EAAwG;AACtGF,iBAAO,CAAC5C,cAAR,CAAuB,qBAAvB,EAA8C,CAAC4C,OAAD,EAAU9D,MAAM,CAACiE,WAAjB,CAA9C;AACD;;AACD,YAAIH,OAAO,CAAC3F,IAAR,CAAa,aAAb,MAAgC,QAAhC,IAA4C0F,mBAAmB,CAAC,CAAD,CAAnB,CAAuBG,aAAvB,KAAyC,aAAzF,EAAwG;AACtGF,iBAAO,CAAC5C,cAAR,CAAuB,qBAAvB,EAA8C,CAAC4C,OAAD,CAA9C;AACA;;AACF,YAAID,mBAAmB,CAAC,CAAD,CAAnB,CAAuBG,aAAvB,KAAyC,OAA7C,EAAsD;AACpDF,iBAAO,CAACI,OAAR,CAAgB,eAAhB,EAAiC/F,IAAjC,CAAsC,aAAtC,EAAoD,QAApD;AACA2F,iBAAO,CAACI,OAAR,CAAgB,eAAhB,EAAiChD,cAAjC,CAAgD,qBAAhD,EAAuE,CAAC4C,OAAO,CAACI,OAAR,CAAgB,eAAhB,CAAD,CAAvE;AACD;;AACD;;AAEF,WAAK,WAAL;AACEJ,eAAO,CAACI,OAAR,CAAgB,eAAhB,EAAiC/F,IAAjC,CAAsC,aAAtC,EAAoD,QAApD;AACA2F,eAAO,CAACI,OAAR,CAAgB,eAAhB,EAAiChD,cAAjC,CAAgD,qBAAhD,EAAuE,CAAC4C,OAAO,CAACI,OAAR,CAAgB,eAAhB,CAAD,CAAvE;AACA;;AAEF;AACE,eAAO,KAAP;AACF;AArBF;AAuBD,GA3BD;;AA6BA,MAAIxC,MAAM,CAAC3B,MAAX,EAAmB;AACjB;AACA,SAAK,IAAID,CAAC,GAAG,CAAb,EAAgBA,CAAC,IAAI4B,MAAM,CAAC3B,MAAP,GAAgB,CAArC,EAAwCD,CAAC,EAAzC,EAA6C;AAC3C,UAAIqE,eAAe,GAAG,IAAIvE,gBAAJ,CAAqBgE,yBAArB,CAAtB;AACAO,qBAAe,CAACC,OAAhB,CAAwB1C,MAAM,CAAC5B,CAAD,CAA9B,EAAmC;AAAEuE,kBAAU,EAAE,IAAd;AAAoBC,iBAAS,EAAE,IAA/B;AAAqCC,qBAAa,EAAE,KAApD;AAA2DC,eAAO,EAAE,IAApE;AAA0EC,uBAAe,EAAE,CAAC,aAAD,EAAgB,OAAhB;AAA3F,OAAnC;AACD;AACF;AACF,CAzCD;;AA2CAlH,QAAQ,CAACiD,YAAT,CAAsBkE,kBAAtB,GAA2C,YAAW;AACpD,MAAIC,SAAS,GAAGzH,6CAAC,CAAC0H,QAAD,CAAjB;AAEArH,UAAQ,CAACiD,YAAT,CAAsBW,eAAtB,CAAsCwD,SAAtC;AACApH,UAAQ,CAACiD,YAAT,CAAsBa,gBAAtB,CAAuCsD,SAAvC;AACApH,UAAQ,CAACiD,YAAT,CAAsBc,iBAAtB,CAAwCqD,SAAxC;AACApH,UAAQ,CAACiD,YAAT,CAAsBe,oBAAtB,CAA2CoD,SAA3C;AACApH,UAAQ,CAACiD,YAAT,CAAsBgB,sBAAtB,CAA6CmD,SAA7C;AAED,CATD;;AAWApH,QAAQ,CAACiD,YAAT,CAAsBqE,kBAAtB,GAA2C,YAAW;AACpD,MAAIF,SAAS,GAAGzH,6CAAC,CAAC0H,QAAD,CAAjB;AACArH,UAAQ,CAACiD,YAAT,CAAsBmD,yBAAtB,CAAgDgB,SAAhD;AACApH,UAAQ,CAACiD,YAAT,CAAsBiD,iBAAtB;AACAlG,UAAQ,CAACiD,YAAT,CAAsBkD,iBAAtB;AACAnG,UAAQ,CAACiD,YAAT,CAAsByB,kBAAtB;AACD,CAND;;AASA1E,QAAQ,CAACC,IAAT,GAAgB,UAAUN,CAAV,EAAaN,UAAb,EAAyB;AACvCkI,uEAAM,CAAC5H,CAAC,CAAC8C,MAAD,CAAF,EAAY,YAAY;AAC5B,QAAI9C,CAAC,CAAC6H,mBAAF,KAA0B,IAA9B,EAAoC;AAClCxH,cAAQ,CAACiD,YAAT,CAAsBkE,kBAAtB;AACAnH,cAAQ,CAACiD,YAAT,CAAsBqE,kBAAtB;AACA3H,OAAC,CAAC6H,mBAAF,GAAwB,IAAxB;AACD;AACF,GANK,CAAN;;AAQA,MAAGnI,UAAH,EAAe;AACbA,cAAU,CAACW,QAAX,GAAsBA,QAAtB,CADa,CAEb;;AACAX,cAAU,CAACoI,QAAX,GAAsBzH,QAAQ,CAACiD,YAAT,CAAsBqE,kBAA5C;AACD;AACF,CAdD;;;;;;;;;;;;;;;;;;;;;;;;;ACnPA,oD","file":"foundation.toggler.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.motion\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"./foundation.util.motion\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.toggler\"] = factory(require(\"./foundation.core\"), require(\"./foundation.util.motion\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.toggler\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.motion\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__, __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 = 19);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__;","import { Foundation } from './foundation.core';\n\nimport { Toggler } from '../../foundation.toggler';\nFoundation.plugin(Toggler, 'Toggler');\n\nexport { Foundation, Toggler };\n","'use strict';\n\nimport $ from 'jquery';\nimport { Motion } from './foundation.util.motion';\nimport { Plugin } from './foundation.core.plugin';\nimport { RegExpEscape } from './foundation.core.utils';\nimport { Triggers } from './foundation.util.triggers';\n\n/**\n * Toggler module.\n * @module foundation.toggler\n * @requires foundation.util.motion\n * @requires foundation.util.triggers\n */\n\nclass Toggler extends Plugin {\n /**\n * Creates a new instance of Toggler.\n * @class\n * @name Toggler\n * @fires Toggler#init\n * @param {Object} element - jQuery object to add the trigger to.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, Toggler.defaults, element.data(), options);\n this.className = '';\n this.className = 'Toggler'; // ie9 back compat\n\n // Triggers init is idempotent, just need to make sure it is initialized\n Triggers.init($);\n\n this._init();\n this._events();\n }\n\n /**\n * Initializes the Toggler plugin by parsing the toggle class from data-toggler, or animation classes from data-animate.\n * @function\n * @private\n */\n _init() {\n var input;\n // Parse animation classes if they were set\n if (this.options.animate) {\n input = this.options.animate.split(' ');\n\n this.animationIn = input[0];\n this.animationOut = input[1] || null;\n }\n // Otherwise, parse toggle class\n else {\n input = this.$element.data('toggler');\n // Allow for a . at the beginning of the string\n this.className = input[0] === '.' ? input.slice(1) : input;\n }\n\n // Add ARIA attributes to triggers:\n var id = this.$element[0].id,\n $triggers = $(`[data-open~=\"${id}\"], [data-close~=\"${id}\"], [data-toggle~=\"${id}\"]`);\n\n // - aria-expanded: according to the element visibility.\n $triggers.attr('aria-expanded', !this.$element.is(':hidden'));\n // - aria-controls: adding the element id to it if not already in it.\n $triggers.each((index, trigger) => {\n const $trigger = $(trigger);\n const controls = $trigger.attr('aria-controls') || '';\n\n const containsId = new RegExp(`\\\\b${RegExpEscape(id)}\\\\b`).test(controls);\n if (!containsId) $trigger.attr('aria-controls', controls ? `${controls} ${id}` : id);\n });\n }\n\n /**\n * Initializes events for the toggle trigger.\n * @function\n * @private\n */\n _events() {\n this.$element.off('toggle.zf.trigger').on('toggle.zf.trigger', this.toggle.bind(this));\n }\n\n /**\n * Toggles the target class on the target element. An event is fired from the original trigger depending on if the resultant state was \"on\" or \"off\".\n * @function\n * @fires Toggler#on\n * @fires Toggler#off\n */\n toggle() {\n this[ this.options.animate ? '_toggleAnimate' : '_toggleClass']();\n }\n\n _toggleClass() {\n this.$element.toggleClass(this.className);\n\n var isOn = this.$element.hasClass(this.className);\n if (isOn) {\n /**\n * Fires if the target element has the class after a toggle.\n * @event Toggler#on\n */\n this.$element.trigger('on.zf.toggler');\n }\n else {\n /**\n * Fires if the target element does not have the class after a toggle.\n * @event Toggler#off\n */\n this.$element.trigger('off.zf.toggler');\n }\n\n this._updateARIA(isOn);\n this.$element.find('[data-mutate]').trigger('mutateme.zf.trigger');\n }\n\n _toggleAnimate() {\n var _this = this;\n\n if (this.$element.is(':hidden')) {\n Motion.animateIn(this.$element, this.animationIn, function() {\n _this._updateARIA(true);\n this.trigger('on.zf.toggler');\n this.find('[data-mutate]').trigger('mutateme.zf.trigger');\n });\n }\n else {\n Motion.animateOut(this.$element, this.animationOut, function() {\n _this._updateARIA(false);\n this.trigger('off.zf.toggler');\n this.find('[data-mutate]').trigger('mutateme.zf.trigger');\n });\n }\n }\n\n _updateARIA(isOn) {\n var id = this.$element[0].id;\n $(`[data-open=\"${id}\"], [data-close=\"${id}\"], [data-toggle=\"${id}\"]`)\n .attr({\n 'aria-expanded': isOn ? true : false\n });\n }\n\n /**\n * Destroys the instance of Toggler on the element.\n * @function\n */\n _destroy() {\n this.$element.off('.zf.toggler');\n }\n}\n\nToggler.defaults = {\n /**\n * Tells the plugin if the element should animated when toggled.\n * @option\n * @type {boolean}\n * @default false\n */\n animate: false\n};\n\nexport {Toggler};\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 e.stopPropagation();\n let animation = $(this).data('closable');\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":""}
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.motion\"],\"amd\":\"./foundation.util.motion\",\"commonjs\":\"./foundation.util.motion\",\"commonjs2\":\"./foundation.util.motion\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/entries/plugins/foundation.toggler.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.toggler.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","Toggler","element","options","$element","$","extend","defaults","data","className","Triggers","init","_init","_events","id","$triggers","input","animate","split","animationIn","animationOut","attr","is","toggler","length","Error","slice","hasClass","each","index","trigger","$trigger","controls","containsId","RegExp","RegExpEscape","test","off","on","toggle","bind","toggleClass","isOn","_updateARIA","find","_this","Motion","animateIn","animateOut","Plugin","undefined","MutationObserver","prefixes","i","window","triggers","el","type","forEach","Listeners","Basic","Global","Initializers","openListener","closeListener","toggleListener","closeableListener","e","animation","stopPropagation","fadeOut","toggleFocusListener","triggerHandler","addOpenListener","$elem","addCloseListener","addToggleListener","addCloseableListener","addToggleFocusListener","resizeListener","$nodes","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","call","arguments","clearTimeout","setTimeout","apply","addResizeListener","addScrollListener","addMutationEventsListener","listeningElementsMutation","mutationRecordsList","$target","target","attributeName","pageYOffset","closest","elementObserver","observe","attributes","childList","characterData","subtree","attributeFilter","addSimpleListeners","$document","document","addGlobalListeners","onLoad","triggersInitialized","IHearYou"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yEAAyE;AACzE,CAAC;AACD,O;ACVA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,kDAA0C,gCAAgC;AAC1E;AACA;;AAEA;AACA;AACA;AACA,gEAAwD,kBAAkB;AAC1E;AACA,yDAAiD,cAAc;AAC/D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAyC,iCAAiC;AAC1E,wHAAgH,mBAAmB,EAAE;AACrI;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;;AAGA;AACA;;;;;;;;;;;;AClFA,8D;;;;;;;;;;;ACAA,qE;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA;AACAA,2DAAU,CAACC,MAAX,CAAkBC,2DAAlB,EAA2B,SAA3B;;;;;;;;;;;;;ACHA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAa;;;;;;;;;;;;;;;;;;;;AAEb;AACA;AACA;AACA;AACA;AAEA;;;;;;;IAOMA,O;;;;;;;;;;;;;;AACJ;;;;;;;;2BAQOC,O,EAASC,O,EAAS;AACvB,WAAKC,QAAL,GAAgBF,OAAhB;AACA,WAAKC,OAAL,GAAeE,6CAAC,CAACC,MAAF,CAAS,EAAT,EAAaL,OAAO,CAACM,QAArB,EAA+BL,OAAO,CAACM,IAAR,EAA/B,EAA+CL,OAA/C,CAAf;AACA,WAAKM,SAAL,GAAiB,EAAjB;AACA,WAAKA,SAAL,GAAiB,SAAjB,CAJuB,CAIK;AAE5B;;AACAC,wEAAQ,CAACC,IAAT,CAAcN,6CAAd;;AAEA,WAAKO,KAAL;;AACA,WAAKC,OAAL;AACD;AAED;;;;;;;;4BAKQ;AACN;AACA,UAAIC,EAAE,GAAG,KAAKV,QAAL,CAAc,CAAd,EAAiBU,EAA1B;AAAA,UACEC,SAAS,GAAGV,6CAAC,yBAAiBS,EAAjB,iCAAwCA,EAAxC,kCAAgEA,EAAhE,SADf;AAGA,UAAIE,KAAJ,CALM,CAMN;;AACA,UAAI,KAAKb,OAAL,CAAac,OAAjB,EAA0B;AACxBD,aAAK,GAAG,KAAKb,OAAL,CAAac,OAAb,CAAqBC,KAArB,CAA2B,GAA3B,CAAR;AAEA,aAAKC,WAAL,GAAmBH,KAAK,CAAC,CAAD,CAAxB;AACA,aAAKI,YAAL,GAAoBJ,KAAK,CAAC,CAAD,CAAL,IAAY,IAAhC,CAJwB,CAMxB;;AACAD,iBAAS,CAACM,IAAV,CAAe,eAAf,EAAgC,CAAC,KAAKjB,QAAL,CAAckB,EAAd,CAAiB,SAAjB,CAAjC;AACD,OARD,CASA;AATA,WAUK;AACHN,eAAK,GAAG,KAAKb,OAAL,CAAaoB,OAArB;;AACA,cAAI,OAAOP,KAAP,KAAiB,QAAjB,IAA6B,CAACA,KAAK,CAACQ,MAAxC,EAAgD;AAC9C,kBAAM,IAAIC,KAAJ,+EAAgFT,KAAhF,QAAN;AACD,WAJE,CAKH;;;AACA,eAAKP,SAAL,GAAiBO,KAAK,CAAC,CAAD,CAAL,KAAa,GAAb,GAAmBA,KAAK,CAACU,KAAN,CAAY,CAAZ,CAAnB,GAAoCV,KAArD,CANG,CAQH;;AACAD,mBAAS,CAACM,IAAV,CAAe,eAAf,EAAgC,KAAKjB,QAAL,CAAcuB,QAAd,CAAuB,KAAKlB,SAA5B,CAAhC;AACD,SA3BK,CA6BN;;;AACAM,eAAS,CAACa,IAAV,CAAe,UAACC,KAAD,EAAQC,OAAR,EAAoB;AACjC,YAAMC,QAAQ,GAAG1B,6CAAC,CAACyB,OAAD,CAAlB;AACA,YAAME,QAAQ,GAAGD,QAAQ,CAACV,IAAT,CAAc,eAAd,KAAkC,EAAnD;AAEA,YAAMY,UAAU,GAAG,IAAIC,MAAJ,cAAiBC,4EAAY,CAACrB,EAAD,CAA7B,UAAwCsB,IAAxC,CAA6CJ,QAA7C,CAAnB;AACA,YAAI,CAACC,UAAL,EAAiBF,QAAQ,CAACV,IAAT,CAAc,eAAd,EAA+BW,QAAQ,aAAMA,QAAN,cAAkBlB,EAAlB,IAAyBA,EAAhE;AAClB,OAND;AAOD;AAED;;;;;;;;8BAKU;AACR,WAAKV,QAAL,CAAciC,GAAd,CAAkB,mBAAlB,EAAuCC,EAAvC,CAA0C,mBAA1C,EAA+D,KAAKC,MAAL,CAAYC,IAAZ,CAAiB,IAAjB,CAA/D;AACD;AAED;;;;;;;;;6BAMS;AACP,WAAM,KAAKrC,OAAL,CAAac,OAAb,GAAuB,gBAAvB,GAA0C,cAAhD;AACD;;;mCAEc;AACb,WAAKb,QAAL,CAAcqC,WAAd,CAA0B,KAAKhC,SAA/B;AAEA,UAAIiC,IAAI,GAAG,KAAKtC,QAAL,CAAcuB,QAAd,CAAuB,KAAKlB,SAA5B,CAAX;;AACA,UAAIiC,IAAJ,EAAU;AACR;;;;AAIA,aAAKtC,QAAL,CAAc0B,OAAd,CAAsB,eAAtB;AACD,OAND,MAOK;AACH;;;;AAIA,aAAK1B,QAAL,CAAc0B,OAAd,CAAsB,gBAAtB;AACD;;AAED,WAAKa,WAAL,CAAiBD,IAAjB;;AACA,WAAKtC,QAAL,CAAcwC,IAAd,CAAmB,eAAnB,EAAoCd,OAApC,CAA4C,qBAA5C;AACD;;;qCAEgB;AACf,UAAIe,KAAK,GAAG,IAAZ;;AAEA,UAAI,KAAKzC,QAAL,CAAckB,EAAd,CAAiB,SAAjB,CAAJ,EAAiC;AAC/BwB,sEAAM,CAACC,SAAP,CAAiB,KAAK3C,QAAtB,EAAgC,KAAKe,WAArC,EAAkD,YAAW;AAC3D0B,eAAK,CAACF,WAAN,CAAkB,IAAlB;;AACA,eAAKb,OAAL,CAAa,eAAb;AACA,eAAKc,IAAL,CAAU,eAAV,EAA2Bd,OAA3B,CAAmC,qBAAnC;AACD,SAJD;AAKD,OAND,MAOK;AACHgB,sEAAM,CAACE,UAAP,CAAkB,KAAK5C,QAAvB,EAAiC,KAAKgB,YAAtC,EAAoD,YAAW;AAC7DyB,eAAK,CAACF,WAAN,CAAkB,KAAlB;;AACA,eAAKb,OAAL,CAAa,gBAAb;AACA,eAAKc,IAAL,CAAU,eAAV,EAA2Bd,OAA3B,CAAmC,qBAAnC;AACD,SAJD;AAKD;AACF;;;gCAEWY,I,EAAM;AAChB,UAAI5B,EAAE,GAAG,KAAKV,QAAL,CAAc,CAAd,EAAiBU,EAA1B;AACAT,mDAAC,wBAAgBS,EAAhB,gCAAsCA,EAAtC,iCAA6DA,EAA7D,SAAD,CACGO,IADH,CACQ;AACJ,yBAAiBqB,IAAI,GAAG,IAAH,GAAU;AAD3B,OADR;AAID;AAED;;;;;;;+BAIW;AACT,WAAKtC,QAAL,CAAciC,GAAd,CAAkB,aAAlB;AACD;;;;EA7ImBY,8D;;AAgJtBhD,OAAO,CAACM,QAAR,GAAmB;AACjB;;;;;AAKAgB,SAAO,EAAE2B,SANQ;;AAOjB;;;;;;AAMAjC,SAAO,EAAE;AAbQ,CAAnB;;;;;;;;;;;;;AC/JA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAa;;;;AAEb;AACA;AACA;;AAEA,IAAMkC,gBAAgB,GAAI,YAAY;AACpC,MAAIC,QAAQ,GAAG,CAAC,QAAD,EAAW,KAAX,EAAkB,GAAlB,EAAuB,IAAvB,EAA6B,EAA7B,CAAf;;AACA,OAAK,IAAIC,CAAC,GAAC,CAAX,EAAcA,CAAC,GAAGD,QAAQ,CAAC5B,MAA3B,EAAmC6B,CAAC,EAApC,EAAwC;AACtC,QAAI,UAAGD,QAAQ,CAACC,CAAD,CAAX,yBAAoCC,MAAxC,EAAgD;AAC9C,aAAOA,MAAM,WAAIF,QAAQ,CAACC,CAAD,CAAZ,sBAAb;AACD;AACF;;AACD,SAAO,KAAP;AACD,CARyB,EAA1B;;AAUA,IAAME,QAAQ,GAAG,SAAXA,QAAW,CAACC,EAAD,EAAKC,IAAL,EAAc;AAC7BD,IAAE,CAAChD,IAAH,CAAQiD,IAAR,EAAcvC,KAAd,CAAoB,GAApB,EAAyBwC,OAAzB,CAAiC,UAAA5C,EAAE,EAAI;AACrCT,iDAAC,YAAKS,EAAL,EAAD,CAAa2C,IAAI,KAAK,OAAT,GAAmB,SAAnB,GAA+B,gBAA5C,YAAiEA,IAAjE,kBAAoF,CAACD,EAAD,CAApF;AACD,GAFD;AAGD,CAJD;;AAMA,IAAI9C,QAAQ,GAAG;AACbiD,WAAS,EAAE;AACTC,SAAK,EAAE,EADE;AAETC,UAAM,EAAE;AAFC,GADE;AAKbC,cAAY,EAAE;AALD,CAAf;AAQApD,QAAQ,CAACiD,SAAT,CAAmBC,KAAnB,GAA4B;AAC1BG,cAAY,EAAE,wBAAW;AACvBR,YAAQ,CAAClD,6CAAC,CAAC,IAAD,CAAF,EAAU,MAAV,CAAR;AACD,GAHyB;AAI1B2D,eAAa,EAAE,yBAAW;AACxB,QAAIlD,EAAE,GAAGT,6CAAC,CAAC,IAAD,CAAD,CAAQG,IAAR,CAAa,OAAb,CAAT;;AACA,QAAIM,EAAJ,EAAQ;AACNyC,cAAQ,CAAClD,6CAAC,CAAC,IAAD,CAAF,EAAU,OAAV,CAAR;AACD,KAFD,MAGK;AACHA,mDAAC,CAAC,IAAD,CAAD,CAAQyB,OAAR,CAAgB,kBAAhB;AACD;AACF,GAZyB;AAa1BmC,gBAAc,EAAE,0BAAW;AACzB,QAAInD,EAAE,GAAGT,6CAAC,CAAC,IAAD,CAAD,CAAQG,IAAR,CAAa,QAAb,CAAT;;AACA,QAAIM,EAAJ,EAAQ;AACNyC,cAAQ,CAAClD,6CAAC,CAAC,IAAD,CAAF,EAAU,QAAV,CAAR;AACD,KAFD,MAEO;AACLA,mDAAC,CAAC,IAAD,CAAD,CAAQyB,OAAR,CAAgB,mBAAhB;AACD;AACF,GApByB;AAqB1BoC,mBAAiB,EAAE,2BAASC,CAAT,EAAY;AAC7B,QAAIC,SAAS,GAAG/D,6CAAC,CAAC,IAAD,CAAD,CAAQG,IAAR,CAAa,UAAb,CAAhB,CAD6B,CAG7B;;AACA2D,KAAC,CAACE,eAAF;;AAEA,QAAGD,SAAS,KAAK,EAAjB,EAAoB;AAClBtB,oEAAM,CAACE,UAAP,CAAkB3C,6CAAC,CAAC,IAAD,CAAnB,EAA2B+D,SAA3B,EAAsC,YAAW;AAC/C/D,qDAAC,CAAC,IAAD,CAAD,CAAQyB,OAAR,CAAgB,WAAhB;AACD,OAFD;AAGD,KAJD,MAIK;AACHzB,mDAAC,CAAC,IAAD,CAAD,CAAQiE,OAAR,GAAkBxC,OAAlB,CAA0B,WAA1B;AACD;AACF,GAlCyB;AAmC1ByC,qBAAmB,EAAE,+BAAW;AAC9B,QAAIzD,EAAE,GAAGT,6CAAC,CAAC,IAAD,CAAD,CAAQG,IAAR,CAAa,cAAb,CAAT;AACAH,iDAAC,YAAKS,EAAL,EAAD,CAAY0D,cAAZ,CAA2B,mBAA3B,EAAgD,CAACnE,6CAAC,CAAC,IAAD,CAAF,CAAhD;AACD;AAtCyB,CAA5B,C,CAyCA;;AACAK,QAAQ,CAACoD,YAAT,CAAsBW,eAAtB,GAAwC,UAACC,KAAD,EAAW;AACjDA,OAAK,CAACrC,GAAN,CAAU,kBAAV,EAA8B3B,QAAQ,CAACiD,SAAT,CAAmBC,KAAnB,CAAyBG,YAAvD;AACAW,OAAK,CAACpC,EAAN,CAAS,kBAAT,EAA6B,aAA7B,EAA4C5B,QAAQ,CAACiD,SAAT,CAAmBC,KAAnB,CAAyBG,YAArE;AACD,CAHD,C,CAKA;AACA;;;AACArD,QAAQ,CAACoD,YAAT,CAAsBa,gBAAtB,GAAyC,UAACD,KAAD,EAAW;AAClDA,OAAK,CAACrC,GAAN,CAAU,kBAAV,EAA8B3B,QAAQ,CAACiD,SAAT,CAAmBC,KAAnB,CAAyBI,aAAvD;AACAU,OAAK,CAACpC,EAAN,CAAS,kBAAT,EAA6B,cAA7B,EAA6C5B,QAAQ,CAACiD,SAAT,CAAmBC,KAAnB,CAAyBI,aAAtE;AACD,CAHD,C,CAKA;;;AACAtD,QAAQ,CAACoD,YAAT,CAAsBc,iBAAtB,GAA0C,UAACF,KAAD,EAAW;AACnDA,OAAK,CAACrC,GAAN,CAAU,kBAAV,EAA8B3B,QAAQ,CAACiD,SAAT,CAAmBC,KAAnB,CAAyBK,cAAvD;AACAS,OAAK,CAACpC,EAAN,CAAS,kBAAT,EAA6B,eAA7B,EAA8C5B,QAAQ,CAACiD,SAAT,CAAmBC,KAAnB,CAAyBK,cAAvE;AACD,CAHD,C,CAKA;;;AACAvD,QAAQ,CAACoD,YAAT,CAAsBe,oBAAtB,GAA6C,UAACH,KAAD,EAAW;AACtDA,OAAK,CAACrC,GAAN,CAAU,kBAAV,EAA8B3B,QAAQ,CAACiD,SAAT,CAAmBC,KAAnB,CAAyBM,iBAAvD;AACAQ,OAAK,CAACpC,EAAN,CAAS,kBAAT,EAA6B,mCAA7B,EAAkE5B,QAAQ,CAACiD,SAAT,CAAmBC,KAAnB,CAAyBM,iBAA3F;AACD,CAHD,C,CAKA;;;AACAxD,QAAQ,CAACoD,YAAT,CAAsBgB,sBAAtB,GAA+C,UAACJ,KAAD,EAAW;AACxDA,OAAK,CAACrC,GAAN,CAAU,kCAAV,EAA8C3B,QAAQ,CAACiD,SAAT,CAAmBC,KAAnB,CAAyBW,mBAAvE;AACAG,OAAK,CAACpC,EAAN,CAAS,kCAAT,EAA6C,qBAA7C,EAAoE5B,QAAQ,CAACiD,SAAT,CAAmBC,KAAnB,CAAyBW,mBAA7F;AACD,CAHD,C,CAOA;;;AACA7D,QAAQ,CAACiD,SAAT,CAAmBE,MAAnB,GAA6B;AAC3BkB,gBAAc,EAAE,wBAASC,MAAT,EAAiB;AAC/B,QAAG,CAAC7B,gBAAJ,EAAqB;AAAC;AACpB6B,YAAM,CAACpD,IAAP,CAAY,YAAU;AACpBvB,qDAAC,CAAC,IAAD,CAAD,CAAQmE,cAAR,CAAuB,qBAAvB;AACD,OAFD;AAGD,KAL8B,CAM/B;;;AACAQ,UAAM,CAAC3D,IAAP,CAAY,aAAZ,EAA2B,QAA3B;AACD,GAT0B;AAU3B4D,gBAAc,EAAE,wBAASD,MAAT,EAAiB;AAC/B,QAAG,CAAC7B,gBAAJ,EAAqB;AAAC;AACpB6B,YAAM,CAACpD,IAAP,CAAY,YAAU;AACpBvB,qDAAC,CAAC,IAAD,CAAD,CAAQmE,cAAR,CAAuB,qBAAvB;AACD,OAFD;AAGD,KAL8B,CAM/B;;;AACAQ,UAAM,CAAC3D,IAAP,CAAY,aAAZ,EAA2B,QAA3B;AACD,GAlB0B;AAmB3B6D,iBAAe,EAAE,yBAASf,CAAT,EAAYgB,QAAZ,EAAqB;AACpC,QAAInF,MAAM,GAAGmE,CAAC,CAACiB,SAAF,CAAYlE,KAAZ,CAAkB,GAAlB,EAAuB,CAAvB,CAAb;AACA,QAAImE,OAAO,GAAGhF,6CAAC,iBAAUL,MAAV,OAAD,CAAsBsF,GAAtB,4BAA6CH,QAA7C,SAAd;AAEAE,WAAO,CAACzD,IAAR,CAAa,YAAU;AACrB,UAAIiB,KAAK,GAAGxC,6CAAC,CAAC,IAAD,CAAb;;AACAwC,WAAK,CAAC2B,cAAN,CAAqB,kBAArB,EAAyC,CAAC3B,KAAD,CAAzC;AACD,KAHD;AAID,GA3B0B,CA8B7B;;AA9B6B,CAA7B;;AA+BAnC,QAAQ,CAACoD,YAAT,CAAsByB,kBAAtB,GAA2C,UAASC,UAAT,EAAqB;AAC9D,MAAIC,SAAS,GAAGpF,6CAAC,CAAC,iBAAD,CAAjB;AAAA,MACIqF,SAAS,GAAG,CAAC,UAAD,EAAa,SAAb,EAAwB,QAAxB,CADhB;;AAGA,MAAGF,UAAH,EAAc;AACZ,QAAG,OAAOA,UAAP,KAAsB,QAAzB,EAAkC;AAChCE,eAAS,CAACC,IAAV,CAAeH,UAAf;AACD,KAFD,MAEM,IAAG,QAAOA,UAAP,MAAsB,QAAtB,IAAkC,OAAOA,UAAU,CAAC,CAAD,CAAjB,KAAyB,QAA9D,EAAuE;AAC3EE,eAAS,GAAGA,SAAS,CAACE,MAAV,CAAiBJ,UAAjB,CAAZ;AACD,KAFK,MAED;AACHK,aAAO,CAACC,KAAR,CAAc,8BAAd;AACD;AACF;;AACD,MAAGL,SAAS,CAACjE,MAAb,EAAoB;AAClB,QAAIuE,SAAS,GAAGL,SAAS,CAACM,GAAV,CAAc,UAACC,IAAD,EAAU;AACtC,kCAAqBA,IAArB;AACD,KAFe,EAEbC,IAFa,CAER,GAFQ,CAAhB;AAIA7F,iDAAC,CAACiD,MAAD,CAAD,CAAUjB,GAAV,CAAc0D,SAAd,EAAyBzD,EAAzB,CAA4ByD,SAA5B,EAAuCrF,QAAQ,CAACiD,SAAT,CAAmBE,MAAnB,CAA0BqB,eAAjE;AACD;AACF,CApBD;;AAsBA,SAASiB,sBAAT,CAAgCC,QAAhC,EAA0CtE,OAA1C,EAAmDuE,QAAnD,EAA6D;AAC3D,MAAIC,KAAJ;AAAA,MAAWC,IAAI,GAAGC,KAAK,CAACC,SAAN,CAAgB/E,KAAhB,CAAsBgF,IAAtB,CAA2BC,SAA3B,EAAsC,CAAtC,CAAlB;AACAtG,+CAAC,CAACiD,MAAD,CAAD,CAAUjB,GAAV,CAAcP,OAAd,EAAuBQ,EAAvB,CAA0BR,OAA1B,EAAmC,UAASqC,CAAT,EAAY;AAC7C,QAAImC,KAAJ,EAAW;AAAEM,kBAAY,CAACN,KAAD,CAAZ;AAAsB;;AACnCA,SAAK,GAAGO,UAAU,CAAC,YAAU;AAC3BR,cAAQ,CAACS,KAAT,CAAe,IAAf,EAAqBP,IAArB;AACD,KAFiB,EAEfH,QAAQ,IAAI,EAFG,CAAlB,CAF6C,CAI1B;AACpB,GALD;AAMD;;AAED1F,QAAQ,CAACoD,YAAT,CAAsBiD,iBAAtB,GAA0C,UAASX,QAAT,EAAkB;AAC1D,MAAIpB,MAAM,GAAG3E,6CAAC,CAAC,eAAD,CAAd;;AACA,MAAG2E,MAAM,CAACxD,MAAV,EAAiB;AACf2E,0BAAsB,CAACC,QAAD,EAAW,mBAAX,EAAgC1F,QAAQ,CAACiD,SAAT,CAAmBE,MAAnB,CAA0BkB,cAA1D,EAA0EC,MAA1E,CAAtB;AACD;AACF,CALD;;AAOAtE,QAAQ,CAACoD,YAAT,CAAsBkD,iBAAtB,GAA0C,UAASZ,QAAT,EAAkB;AAC1D,MAAIpB,MAAM,GAAG3E,6CAAC,CAAC,eAAD,CAAd;;AACA,MAAG2E,MAAM,CAACxD,MAAV,EAAiB;AACf2E,0BAAsB,CAACC,QAAD,EAAW,mBAAX,EAAgC1F,QAAQ,CAACiD,SAAT,CAAmBE,MAAnB,CAA0BoB,cAA1D,EAA0ED,MAA1E,CAAtB;AACD;AACF,CALD;;AAOAtE,QAAQ,CAACoD,YAAT,CAAsBmD,yBAAtB,GAAkD,UAASvC,KAAT,EAAgB;AAChE,MAAG,CAACvB,gBAAJ,EAAqB;AAAE,WAAO,KAAP;AAAe;;AACtC,MAAI6B,MAAM,GAAGN,KAAK,CAAC9B,IAAN,CAAW,6CAAX,CAAb,CAFgE,CAIhE;;AACA,MAAIsE,yBAAyB,GAAG,SAA5BA,yBAA4B,CAAUC,mBAAV,EAA+B;AAC7D,QAAIC,OAAO,GAAG/G,6CAAC,CAAC8G,mBAAmB,CAAC,CAAD,CAAnB,CAAuBE,MAAxB,CAAf,CAD6D,CAG7D;;AACA,YAAQF,mBAAmB,CAAC,CAAD,CAAnB,CAAuB1D,IAA/B;AACE,WAAK,YAAL;AACE,YAAI2D,OAAO,CAAC/F,IAAR,CAAa,aAAb,MAAgC,QAAhC,IAA4C8F,mBAAmB,CAAC,CAAD,CAAnB,CAAuBG,aAAvB,KAAyC,aAAzF,EAAwG;AACtGF,iBAAO,CAAC5C,cAAR,CAAuB,qBAAvB,EAA8C,CAAC4C,OAAD,EAAU9D,MAAM,CAACiE,WAAjB,CAA9C;AACD;;AACD,YAAIH,OAAO,CAAC/F,IAAR,CAAa,aAAb,MAAgC,QAAhC,IAA4C8F,mBAAmB,CAAC,CAAD,CAAnB,CAAuBG,aAAvB,KAAyC,aAAzF,EAAwG;AACtGF,iBAAO,CAAC5C,cAAR,CAAuB,qBAAvB,EAA8C,CAAC4C,OAAD,CAA9C;AACA;;AACF,YAAID,mBAAmB,CAAC,CAAD,CAAnB,CAAuBG,aAAvB,KAAyC,OAA7C,EAAsD;AACpDF,iBAAO,CAACI,OAAR,CAAgB,eAAhB,EAAiCnG,IAAjC,CAAsC,aAAtC,EAAoD,QAApD;AACA+F,iBAAO,CAACI,OAAR,CAAgB,eAAhB,EAAiChD,cAAjC,CAAgD,qBAAhD,EAAuE,CAAC4C,OAAO,CAACI,OAAR,CAAgB,eAAhB,CAAD,CAAvE;AACD;;AACD;;AAEF,WAAK,WAAL;AACEJ,eAAO,CAACI,OAAR,CAAgB,eAAhB,EAAiCnG,IAAjC,CAAsC,aAAtC,EAAoD,QAApD;AACA+F,eAAO,CAACI,OAAR,CAAgB,eAAhB,EAAiChD,cAAjC,CAAgD,qBAAhD,EAAuE,CAAC4C,OAAO,CAACI,OAAR,CAAgB,eAAhB,CAAD,CAAvE;AACA;;AAEF;AACE,eAAO,KAAP;AACF;AArBF;AAuBD,GA3BD;;AA6BA,MAAIxC,MAAM,CAACxD,MAAX,EAAmB;AACjB;AACA,SAAK,IAAI6B,CAAC,GAAG,CAAb,EAAgBA,CAAC,IAAI2B,MAAM,CAACxD,MAAP,GAAgB,CAArC,EAAwC6B,CAAC,EAAzC,EAA6C;AAC3C,UAAIoE,eAAe,GAAG,IAAItE,gBAAJ,CAAqB+D,yBAArB,CAAtB;AACAO,qBAAe,CAACC,OAAhB,CAAwB1C,MAAM,CAAC3B,CAAD,CAA9B,EAAmC;AAAEsE,kBAAU,EAAE,IAAd;AAAoBC,iBAAS,EAAE,IAA/B;AAAqCC,qBAAa,EAAE,KAApD;AAA2DC,eAAO,EAAE,IAApE;AAA0EC,uBAAe,EAAE,CAAC,aAAD,EAAgB,OAAhB;AAA3F,OAAnC;AACD;AACF;AACF,CAzCD;;AA2CArH,QAAQ,CAACoD,YAAT,CAAsBkE,kBAAtB,GAA2C,YAAW;AACpD,MAAIC,SAAS,GAAG5H,6CAAC,CAAC6H,QAAD,CAAjB;AAEAxH,UAAQ,CAACoD,YAAT,CAAsBW,eAAtB,CAAsCwD,SAAtC;AACAvH,UAAQ,CAACoD,YAAT,CAAsBa,gBAAtB,CAAuCsD,SAAvC;AACAvH,UAAQ,CAACoD,YAAT,CAAsBc,iBAAtB,CAAwCqD,SAAxC;AACAvH,UAAQ,CAACoD,YAAT,CAAsBe,oBAAtB,CAA2CoD,SAA3C;AACAvH,UAAQ,CAACoD,YAAT,CAAsBgB,sBAAtB,CAA6CmD,SAA7C;AAED,CATD;;AAWAvH,QAAQ,CAACoD,YAAT,CAAsBqE,kBAAtB,GAA2C,YAAW;AACpD,MAAIF,SAAS,GAAG5H,6CAAC,CAAC6H,QAAD,CAAjB;AACAxH,UAAQ,CAACoD,YAAT,CAAsBmD,yBAAtB,CAAgDgB,SAAhD;AACAvH,UAAQ,CAACoD,YAAT,CAAsBiD,iBAAtB;AACArG,UAAQ,CAACoD,YAAT,CAAsBkD,iBAAtB;AACAtG,UAAQ,CAACoD,YAAT,CAAsByB,kBAAtB;AACD,CAND;;AASA7E,QAAQ,CAACC,IAAT,GAAgB,UAAUN,CAAV,EAAaN,UAAb,EAAyB;AACvCqI,uEAAM,CAAC/H,CAAC,CAACiD,MAAD,CAAF,EAAY,YAAY;AAC5B,QAAIjD,CAAC,CAACgI,mBAAF,KAA0B,IAA9B,EAAoC;AAClC3H,cAAQ,CAACoD,YAAT,CAAsBkE,kBAAtB;AACAtH,cAAQ,CAACoD,YAAT,CAAsBqE,kBAAtB;AACA9H,OAAC,CAACgI,mBAAF,GAAwB,IAAxB;AACD;AACF,GANK,CAAN;;AAQA,MAAGtI,UAAH,EAAe;AACbA,cAAU,CAACW,QAAX,GAAsBA,QAAtB,CADa,CAEb;;AACAX,cAAU,CAACuI,QAAX,GAAsB5H,QAAQ,CAACoD,YAAT,CAAsBqE,kBAA5C;AACD;AACF,CAdD;;;;;;;;;;;;;;;;;;;;;;;;;ACrPA,oD","file":"foundation.toggler.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.motion\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"./foundation.util.motion\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.toggler\"] = factory(require(\"./foundation.core\"), require(\"./foundation.util.motion\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.toggler\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.motion\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__, __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 = 19);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__;","import { Foundation } from './foundation.core';\n\nimport { Toggler } from '../../foundation.toggler';\nFoundation.plugin(Toggler, 'Toggler');\n\nexport { Foundation, Toggler };\n","'use strict';\n\nimport $ from 'jquery';\nimport { Motion } from './foundation.util.motion';\nimport { Plugin } from './foundation.core.plugin';\nimport { RegExpEscape } from './foundation.core.utils';\nimport { Triggers } from './foundation.util.triggers';\n\n/**\n * Toggler module.\n * @module foundation.toggler\n * @requires foundation.util.motion\n * @requires foundation.util.triggers\n */\n\nclass Toggler extends Plugin {\n /**\n * Creates a new instance of Toggler.\n * @class\n * @name Toggler\n * @fires Toggler#init\n * @param {Object} element - jQuery object to add the trigger to.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, Toggler.defaults, element.data(), options);\n this.className = '';\n this.className = 'Toggler'; // ie9 back compat\n\n // Triggers init is idempotent, just need to make sure it is initialized\n Triggers.init($);\n\n this._init();\n this._events();\n }\n\n /**\n * Initializes the Toggler plugin by parsing the toggle class from data-toggler, or animation classes from data-animate.\n * @function\n * @private\n */\n _init() {\n // Collect triggers to set ARIA attributes to\n var id = this.$element[0].id,\n $triggers = $(`[data-open~=\"${id}\"], [data-close~=\"${id}\"], [data-toggle~=\"${id}\"]`);\n\n var input;\n // Parse animation classes if they were set\n if (this.options.animate) {\n input = this.options.animate.split(' ');\n\n this.animationIn = input[0];\n this.animationOut = input[1] || null;\n\n // - aria-expanded: according to the element visibility.\n $triggers.attr('aria-expanded', !this.$element.is(':hidden'));\n }\n // Otherwise, parse toggle class\n else {\n input = this.options.toggler;\n if (typeof input !== 'string' || !input.length) {\n throw new Error(`The 'toogler' option containing the target class is required, got \"${input}\"`);\n }\n // Allow for a . at the beginning of the string\n this.className = input[0] === '.' ? input.slice(1) : input;\n\n // - aria-expanded: according to the elements class set.\n $triggers.attr('aria-expanded', this.$element.hasClass(this.className));\n }\n\n // - aria-controls: adding the element id to it if not already in it.\n $triggers.each((index, trigger) => {\n const $trigger = $(trigger);\n const controls = $trigger.attr('aria-controls') || '';\n\n const containsId = new RegExp(`\\\\b${RegExpEscape(id)}\\\\b`).test(controls);\n if (!containsId) $trigger.attr('aria-controls', controls ? `${controls} ${id}` : id);\n });\n }\n\n /**\n * Initializes events for the toggle trigger.\n * @function\n * @private\n */\n _events() {\n this.$element.off('toggle.zf.trigger').on('toggle.zf.trigger', this.toggle.bind(this));\n }\n\n /**\n * Toggles the target class on the target element. An event is fired from the original trigger depending on if the resultant state was \"on\" or \"off\".\n * @function\n * @fires Toggler#on\n * @fires Toggler#off\n */\n toggle() {\n this[ this.options.animate ? '_toggleAnimate' : '_toggleClass']();\n }\n\n _toggleClass() {\n this.$element.toggleClass(this.className);\n\n var isOn = this.$element.hasClass(this.className);\n if (isOn) {\n /**\n * Fires if the target element has the class after a toggle.\n * @event Toggler#on\n */\n this.$element.trigger('on.zf.toggler');\n }\n else {\n /**\n * Fires if the target element does not have the class after a toggle.\n * @event Toggler#off\n */\n this.$element.trigger('off.zf.toggler');\n }\n\n this._updateARIA(isOn);\n this.$element.find('[data-mutate]').trigger('mutateme.zf.trigger');\n }\n\n _toggleAnimate() {\n var _this = this;\n\n if (this.$element.is(':hidden')) {\n Motion.animateIn(this.$element, this.animationIn, function() {\n _this._updateARIA(true);\n this.trigger('on.zf.toggler');\n this.find('[data-mutate]').trigger('mutateme.zf.trigger');\n });\n }\n else {\n Motion.animateOut(this.$element, this.animationOut, function() {\n _this._updateARIA(false);\n this.trigger('off.zf.toggler');\n this.find('[data-mutate]').trigger('mutateme.zf.trigger');\n });\n }\n }\n\n _updateARIA(isOn) {\n var id = this.$element[0].id;\n $(`[data-open=\"${id}\"], [data-close=\"${id}\"], [data-toggle=\"${id}\"]`)\n .attr({\n 'aria-expanded': isOn ? true : false\n });\n }\n\n /**\n * Destroys the instance of Toggler on the element.\n * @function\n */\n _destroy() {\n this.$element.off('.zf.toggler');\n }\n}\n\nToggler.defaults = {\n /**\n * Class of the element to toggle. It can be provided with or without \".\"\n * @option\n * @type {string}\n */\n toggler: undefined,\n /**\n * Tells the plugin if the element should animated when toggled.\n * @option\n * @type {boolean}\n * @default false\n */\n animate: false\n};\n\nexport {Toggler};\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":""}
@@ -1,2 +1,2 @@
1
- !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("./foundation.core"),require("./foundation.util.motion"),require("jquery")):"function"==typeof define&&define.amd?define(["./foundation.core","./foundation.util.motion","jquery"],e):"object"==typeof exports?exports["foundation.toggler"]=e(require("./foundation.core"),require("./foundation.util.motion"),require("jquery")):(t.__FOUNDATION_EXTERNAL__=t.__FOUNDATION_EXTERNAL__||{},t.__FOUNDATION_EXTERNAL__["foundation.toggler"]=e(t.__FOUNDATION_EXTERNAL__["foundation.core"],t.__FOUNDATION_EXTERNAL__["foundation.util.motion"],t.jQuery))}(window,function(n,i,r){return function(n){var i={};function r(t){if(i[t])return i[t].exports;var e=i[t]={i:t,l:!1,exports:{}};return n[t].call(e.exports,e,e.exports,r),e.l=!0,e.exports}return r.m=n,r.c=i,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)r.d(n,i,function(t){return e[t]}.bind(null,i));return n},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=19)}({"./foundation.core":function(t,e){t.exports=n},"./foundation.util.motion":function(t,e){t.exports=i},"./js/entries/plugins/foundation.toggler.js":function(t,e,n){"use strict";n.r(e);var i=n("./foundation.core");n.d(e,"Foundation",function(){return i.Foundation});var r=n("./js/foundation.toggler.js");n.d(e,"Toggler",function(){return r.Toggler}),i.Foundation.plugin(r.Toggler,"Toggler")},"./js/foundation.toggler.js":function(t,e,n){"use strict";n.r(e),n.d(e,"Toggler",function(){return d});var i=n("jquery"),o=n.n(i),a=n("./foundation.util.motion"),s=n("./foundation.core"),l=n("./js/foundation.util.triggers.js");function r(t){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function u(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function c(t,e){return!e||"object"!==r(e)&&"function"!=typeof e?function(t){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(t):e}function f(t){return(f=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function g(t,e){return(g=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}var d=function(t){function n(){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,n),c(this,f(n).apply(this,arguments))}var e,i,r;return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&g(t,e)}(n,s["Plugin"]),e=n,(i=[{key:"_setup",value:function(t,e){this.$element=t,this.options=o.a.extend({},n.defaults,t.data(),e),this.className="",this.className="Toggler",l.Triggers.init(o.a),this._init(),this._events()}},{key:"_init",value:function(){var t;this.options.animate?(t=this.options.animate.split(" "),this.animationIn=t[0],this.animationOut=t[1]||null):(t=this.$element.data("toggler"),this.className="."===t[0]?t.slice(1):t);var r=this.$element[0].id,e=o()('[data-open~="'.concat(r,'"], [data-close~="').concat(r,'"], [data-toggle~="').concat(r,'"]'));e.attr("aria-expanded",!this.$element.is(":hidden")),e.each(function(t,e){var n=o()(e),i=n.attr("aria-controls")||"";new RegExp("\\b".concat(Object(s.RegExpEscape)(r),"\\b")).test(i)||n.attr("aria-controls",i?"".concat(i," ").concat(r):r)})}},{key:"_events",value:function(){this.$element.off("toggle.zf.trigger").on("toggle.zf.trigger",this.toggle.bind(this))}},{key:"toggle",value:function(){this[this.options.animate?"_toggleAnimate":"_toggleClass"]()}},{key:"_toggleClass",value:function(){this.$element.toggleClass(this.className);var t=this.$element.hasClass(this.className);t?this.$element.trigger("on.zf.toggler"):this.$element.trigger("off.zf.toggler"),this._updateARIA(t),this.$element.find("[data-mutate]").trigger("mutateme.zf.trigger")}},{key:"_toggleAnimate",value:function(){var t=this;this.$element.is(":hidden")?a.Motion.animateIn(this.$element,this.animationIn,function(){t._updateARIA(!0),this.trigger("on.zf.toggler"),this.find("[data-mutate]").trigger("mutateme.zf.trigger")}):a.Motion.animateOut(this.$element,this.animationOut,function(){t._updateARIA(!1),this.trigger("off.zf.toggler"),this.find("[data-mutate]").trigger("mutateme.zf.trigger")})}},{key:"_updateARIA",value:function(t){var e=this.$element[0].id;o()('[data-open="'.concat(e,'"], [data-close="').concat(e,'"], [data-toggle="').concat(e,'"]')).attr({"aria-expanded":!!t})}},{key:"_destroy",value:function(){this.$element.off(".zf.toggler")}}])&&u(e.prototype,i),r&&u(e,r),n}();d.defaults={animate:!1}},"./js/foundation.util.triggers.js":function(t,e,n){"use strict";n.r(e),n.d(e,"Triggers",function(){return c});var i=n("jquery"),o=n.n(i),r=n("./foundation.core"),a=n("./foundation.util.motion");function s(t){return(s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var l=function(){for(var t=["WebKit","Moz","O","Ms",""],e=0;e<t.length;e++)if("".concat(t[e],"MutationObserver")in window)return window["".concat(t[e],"MutationObserver")];return!1}(),u=function(e,n){e.data(n).split(" ").forEach(function(t){o()("#".concat(t))["close"===n?"trigger":"triggerHandler"]("".concat(n,".zf.trigger"),[e])})},c={Listeners:{Basic:{},Global:{}},Initializers:{}};function f(e,t,n){var i,r=Array.prototype.slice.call(arguments,3);o()(window).off(t).on(t,function(t){i&&clearTimeout(i),i=setTimeout(function(){n.apply(null,r)},e||10)})}c.Listeners.Basic={openListener:function(){u(o()(this),"open")},closeListener:function(){o()(this).data("close")?u(o()(this),"close"):o()(this).trigger("close.zf.trigger")},toggleListener:function(){o()(this).data("toggle")?u(o()(this),"toggle"):o()(this).trigger("toggle.zf.trigger")},closeableListener:function(t){t.stopPropagation();var e=o()(this).data("closable");""!==e?a.Motion.animateOut(o()(this),e,function(){o()(this).trigger("closed.zf")}):o()(this).fadeOut().trigger("closed.zf")},toggleFocusListener:function(){var t=o()(this).data("toggle-focus");o()("#".concat(t)).triggerHandler("toggle.zf.trigger",[o()(this)])}},c.Initializers.addOpenListener=function(t){t.off("click.zf.trigger",c.Listeners.Basic.openListener),t.on("click.zf.trigger","[data-open]",c.Listeners.Basic.openListener)},c.Initializers.addCloseListener=function(t){t.off("click.zf.trigger",c.Listeners.Basic.closeListener),t.on("click.zf.trigger","[data-close]",c.Listeners.Basic.closeListener)},c.Initializers.addToggleListener=function(t){t.off("click.zf.trigger",c.Listeners.Basic.toggleListener),t.on("click.zf.trigger","[data-toggle]",c.Listeners.Basic.toggleListener)},c.Initializers.addCloseableListener=function(t){t.off("close.zf.trigger",c.Listeners.Basic.closeableListener),t.on("close.zf.trigger","[data-closeable], [data-closable]",c.Listeners.Basic.closeableListener)},c.Initializers.addToggleFocusListener=function(t){t.off("focus.zf.trigger blur.zf.trigger",c.Listeners.Basic.toggleFocusListener),t.on("focus.zf.trigger blur.zf.trigger","[data-toggle-focus]",c.Listeners.Basic.toggleFocusListener)},c.Listeners.Global={resizeListener:function(t){l||t.each(function(){o()(this).triggerHandler("resizeme.zf.trigger")}),t.attr("data-events","resize")},scrollListener:function(t){l||t.each(function(){o()(this).triggerHandler("scrollme.zf.trigger")}),t.attr("data-events","scroll")},closeMeListener:function(t,e){var n=t.namespace.split(".")[0];o()("[data-".concat(n,"]")).not('[data-yeti-box="'.concat(e,'"]')).each(function(){var t=o()(this);t.triggerHandler("close.zf.trigger",[t])})}},c.Initializers.addClosemeListener=function(t){var e=o()("[data-yeti-box]"),n=["dropdown","tooltip","reveal"];if(t&&("string"==typeof t?n.push(t):"object"===s(t)&&"string"==typeof t[0]?n=n.concat(t):console.error("Plugin names must be strings")),e.length){var i=n.map(function(t){return"closeme.zf.".concat(t)}).join(" ");o()(window).off(i).on(i,c.Listeners.Global.closeMeListener)}},c.Initializers.addResizeListener=function(t){var e=o()("[data-resize]");e.length&&f(t,"resize.zf.trigger",c.Listeners.Global.resizeListener,e)},c.Initializers.addScrollListener=function(t){var e=o()("[data-scroll]");e.length&&f(t,"scroll.zf.trigger",c.Listeners.Global.scrollListener,e)},c.Initializers.addMutationEventsListener=function(t){if(!l)return!1;var e=t.find("[data-resize], [data-scroll], [data-mutate]"),n=function(t){var e=o()(t[0].target);switch(t[0].type){case"attributes":"scroll"===e.attr("data-events")&&"data-events"===t[0].attributeName&&e.triggerHandler("scrollme.zf.trigger",[e,window.pageYOffset]),"resize"===e.attr("data-events")&&"data-events"===t[0].attributeName&&e.triggerHandler("resizeme.zf.trigger",[e]),"style"===t[0].attributeName&&(e.closest("[data-mutate]").attr("data-events","mutate"),e.closest("[data-mutate]").triggerHandler("mutateme.zf.trigger",[e.closest("[data-mutate]")]));break;case"childList":e.closest("[data-mutate]").attr("data-events","mutate"),e.closest("[data-mutate]").triggerHandler("mutateme.zf.trigger",[e.closest("[data-mutate]")]);break;default:return!1}};if(e.length)for(var i=0;i<=e.length-1;i++){new l(n).observe(e[i],{attributes:!0,childList:!0,characterData:!1,subtree:!0,attributeFilter:["data-events","style"]})}},c.Initializers.addSimpleListeners=function(){var t=o()(document);c.Initializers.addOpenListener(t),c.Initializers.addCloseListener(t),c.Initializers.addToggleListener(t),c.Initializers.addCloseableListener(t),c.Initializers.addToggleFocusListener(t)},c.Initializers.addGlobalListeners=function(){var t=o()(document);c.Initializers.addMutationEventsListener(t),c.Initializers.addResizeListener(),c.Initializers.addScrollListener(),c.Initializers.addClosemeListener()},c.init=function(t,e){Object(r.onLoad)(t(window),function(){!0!==t.triggersInitialized&&(c.Initializers.addSimpleListeners(),c.Initializers.addGlobalListeners(),t.triggersInitialized=!0)}),e&&(e.Triggers=c,e.IHearYou=c.Initializers.addGlobalListeners)}},19:function(t,e,n){t.exports=n("./js/entries/plugins/foundation.toggler.js")},jquery:function(t,e){t.exports=r}})});
1
+ !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("./foundation.core"),require("./foundation.util.motion"),require("jquery")):"function"==typeof define&&define.amd?define(["./foundation.core","./foundation.util.motion","jquery"],e):"object"==typeof exports?exports["foundation.toggler"]=e(require("./foundation.core"),require("./foundation.util.motion"),require("jquery")):(t.__FOUNDATION_EXTERNAL__=t.__FOUNDATION_EXTERNAL__||{},t.__FOUNDATION_EXTERNAL__["foundation.toggler"]=e(t.__FOUNDATION_EXTERNAL__["foundation.core"],t.__FOUNDATION_EXTERNAL__["foundation.util.motion"],t.jQuery))}(window,function(n,i,r){return s={},o.m=a={"./foundation.core":function(t,e){t.exports=n},"./foundation.util.motion":function(t,e){t.exports=i},"./js/entries/plugins/foundation.toggler.js":function(t,e,n){"use strict";n.r(e);var i=n("./foundation.core");n.d(e,"Foundation",function(){return i.Foundation});var r=n("./js/foundation.toggler.js");n.d(e,"Toggler",function(){return r.Toggler}),i.Foundation.plugin(r.Toggler,"Toggler")},"./js/foundation.toggler.js":function(t,e,n){"use strict";n.r(e),n.d(e,"Toggler",function(){return d});var i=n("jquery"),o=n.n(i),r=n("./foundation.util.motion"),a=n("./foundation.core"),s=n("./js/foundation.util.triggers.js");function l(t){return(l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function c(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function u(t,e){return!e||"object"!==l(e)&&"function"!=typeof e?function(t){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(t):e}function f(t){return(f=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function g(t,e){return(g=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}var d=function(){function n(){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,n),u(this,f(n).apply(this,arguments))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&g(t,e)}(n,a["Plugin"]),function(t,e,n){e&&c(t.prototype,e),n&&c(t,n)}(n,[{key:"_setup",value:function(t,e){this.$element=t,this.options=o.a.extend({},n.defaults,t.data(),e),this.className="",this.className="Toggler",s.Triggers.init(o.a),this._init(),this._events()}},{key:"_init",value:function(){var t,r=this.$element[0].id,e=o()('[data-open~="'.concat(r,'"], [data-close~="').concat(r,'"], [data-toggle~="').concat(r,'"]'));if(this.options.animate)t=this.options.animate.split(" "),this.animationIn=t[0],this.animationOut=t[1]||null,e.attr("aria-expanded",!this.$element.is(":hidden"));else{if("string"!=typeof(t=this.options.toggler)||!t.length)throw new Error("The 'toogler' option containing the target class is required, got \"".concat(t,'"'));this.className="."===t[0]?t.slice(1):t,e.attr("aria-expanded",this.$element.hasClass(this.className))}e.each(function(t,e){var n=o()(e),i=n.attr("aria-controls")||"";new RegExp("\\b".concat(Object(a.RegExpEscape)(r),"\\b")).test(i)||n.attr("aria-controls",i?"".concat(i," ").concat(r):r)})}},{key:"_events",value:function(){this.$element.off("toggle.zf.trigger").on("toggle.zf.trigger",this.toggle.bind(this))}},{key:"toggle",value:function(){this[this.options.animate?"_toggleAnimate":"_toggleClass"]()}},{key:"_toggleClass",value:function(){this.$element.toggleClass(this.className);var t=this.$element.hasClass(this.className);t?this.$element.trigger("on.zf.toggler"):this.$element.trigger("off.zf.toggler"),this._updateARIA(t),this.$element.find("[data-mutate]").trigger("mutateme.zf.trigger")}},{key:"_toggleAnimate",value:function(){var t=this;this.$element.is(":hidden")?r.Motion.animateIn(this.$element,this.animationIn,function(){t._updateARIA(!0),this.trigger("on.zf.toggler"),this.find("[data-mutate]").trigger("mutateme.zf.trigger")}):r.Motion.animateOut(this.$element,this.animationOut,function(){t._updateARIA(!1),this.trigger("off.zf.toggler"),this.find("[data-mutate]").trigger("mutateme.zf.trigger")})}},{key:"_updateARIA",value:function(t){var e=this.$element[0].id;o()('[data-open="'.concat(e,'"], [data-close="').concat(e,'"], [data-toggle="').concat(e,'"]')).attr({"aria-expanded":!!t})}},{key:"_destroy",value:function(){this.$element.off(".zf.toggler")}}]),n}();d.defaults={toggler:void 0,animate:!1}},"./js/foundation.util.triggers.js":function(t,e,n){"use strict";n.r(e),n.d(e,"Triggers",function(){return u});var i=n("jquery"),o=n.n(i),r=n("./foundation.core"),a=n("./foundation.util.motion");function s(t){return(s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function l(e,n){e.data(n).split(" ").forEach(function(t){o()("#".concat(t))["close"===n?"trigger":"triggerHandler"]("".concat(n,".zf.trigger"),[e])})}var c=function(){for(var t=["WebKit","Moz","O","Ms",""],e=0;e<t.length;e++)if("".concat(t[e],"MutationObserver")in window)return window["".concat(t[e],"MutationObserver")];return!1}(),u={Listeners:{Basic:{},Global:{}},Initializers:{}};function f(e,t,n){var i,r=Array.prototype.slice.call(arguments,3);o()(window).off(t).on(t,function(t){i&&clearTimeout(i),i=setTimeout(function(){n.apply(null,r)},e||10)})}u.Listeners.Basic={openListener:function(){l(o()(this),"open")},closeListener:function(){o()(this).data("close")?l(o()(this),"close"):o()(this).trigger("close.zf.trigger")},toggleListener:function(){o()(this).data("toggle")?l(o()(this),"toggle"):o()(this).trigger("toggle.zf.trigger")},closeableListener:function(t){var e=o()(this).data("closable");t.stopPropagation(),""!==e?a.Motion.animateOut(o()(this),e,function(){o()(this).trigger("closed.zf")}):o()(this).fadeOut().trigger("closed.zf")},toggleFocusListener:function(){var t=o()(this).data("toggle-focus");o()("#".concat(t)).triggerHandler("toggle.zf.trigger",[o()(this)])}},u.Initializers.addOpenListener=function(t){t.off("click.zf.trigger",u.Listeners.Basic.openListener),t.on("click.zf.trigger","[data-open]",u.Listeners.Basic.openListener)},u.Initializers.addCloseListener=function(t){t.off("click.zf.trigger",u.Listeners.Basic.closeListener),t.on("click.zf.trigger","[data-close]",u.Listeners.Basic.closeListener)},u.Initializers.addToggleListener=function(t){t.off("click.zf.trigger",u.Listeners.Basic.toggleListener),t.on("click.zf.trigger","[data-toggle]",u.Listeners.Basic.toggleListener)},u.Initializers.addCloseableListener=function(t){t.off("close.zf.trigger",u.Listeners.Basic.closeableListener),t.on("close.zf.trigger","[data-closeable], [data-closable]",u.Listeners.Basic.closeableListener)},u.Initializers.addToggleFocusListener=function(t){t.off("focus.zf.trigger blur.zf.trigger",u.Listeners.Basic.toggleFocusListener),t.on("focus.zf.trigger blur.zf.trigger","[data-toggle-focus]",u.Listeners.Basic.toggleFocusListener)},u.Listeners.Global={resizeListener:function(t){c||t.each(function(){o()(this).triggerHandler("resizeme.zf.trigger")}),t.attr("data-events","resize")},scrollListener:function(t){c||t.each(function(){o()(this).triggerHandler("scrollme.zf.trigger")}),t.attr("data-events","scroll")},closeMeListener:function(t,e){var n=t.namespace.split(".")[0];o()("[data-".concat(n,"]")).not('[data-yeti-box="'.concat(e,'"]')).each(function(){var t=o()(this);t.triggerHandler("close.zf.trigger",[t])})}},u.Initializers.addClosemeListener=function(t){var e=o()("[data-yeti-box]"),n=["dropdown","tooltip","reveal"];if(t&&("string"==typeof t?n.push(t):"object"===s(t)&&"string"==typeof t[0]?n=n.concat(t):console.error("Plugin names must be strings")),e.length){var i=n.map(function(t){return"closeme.zf.".concat(t)}).join(" ");o()(window).off(i).on(i,u.Listeners.Global.closeMeListener)}},u.Initializers.addResizeListener=function(t){var e=o()("[data-resize]");e.length&&f(t,"resize.zf.trigger",u.Listeners.Global.resizeListener,e)},u.Initializers.addScrollListener=function(t){var e=o()("[data-scroll]");e.length&&f(t,"scroll.zf.trigger",u.Listeners.Global.scrollListener,e)},u.Initializers.addMutationEventsListener=function(t){if(!c)return!1;function e(t){var e=o()(t[0].target);switch(t[0].type){case"attributes":"scroll"===e.attr("data-events")&&"data-events"===t[0].attributeName&&e.triggerHandler("scrollme.zf.trigger",[e,window.pageYOffset]),"resize"===e.attr("data-events")&&"data-events"===t[0].attributeName&&e.triggerHandler("resizeme.zf.trigger",[e]),"style"===t[0].attributeName&&(e.closest("[data-mutate]").attr("data-events","mutate"),e.closest("[data-mutate]").triggerHandler("mutateme.zf.trigger",[e.closest("[data-mutate]")]));break;case"childList":e.closest("[data-mutate]").attr("data-events","mutate"),e.closest("[data-mutate]").triggerHandler("mutateme.zf.trigger",[e.closest("[data-mutate]")]);break;default:return!1}}var n=t.find("[data-resize], [data-scroll], [data-mutate]");if(n.length)for(var i=0;i<=n.length-1;i++){new c(e).observe(n[i],{attributes:!0,childList:!0,characterData:!1,subtree:!0,attributeFilter:["data-events","style"]})}},u.Initializers.addSimpleListeners=function(){var t=o()(document);u.Initializers.addOpenListener(t),u.Initializers.addCloseListener(t),u.Initializers.addToggleListener(t),u.Initializers.addCloseableListener(t),u.Initializers.addToggleFocusListener(t)},u.Initializers.addGlobalListeners=function(){var t=o()(document);u.Initializers.addMutationEventsListener(t),u.Initializers.addResizeListener(),u.Initializers.addScrollListener(),u.Initializers.addClosemeListener()},u.init=function(t,e){Object(r.onLoad)(t(window),function(){!0!==t.triggersInitialized&&(u.Initializers.addSimpleListeners(),u.Initializers.addGlobalListeners(),t.triggersInitialized=!0)}),e&&(e.Triggers=u,e.IHearYou=u.Initializers.addGlobalListeners)}},19:function(t,e,n){t.exports=n("./js/entries/plugins/foundation.toggler.js")},jquery:function(t,e){t.exports=r}},o.c=s,o.d=function(t,e,n){o.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},o.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},o.t=function(e,t){if(1&t&&(e=o(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)o.d(n,i,function(t){return e[t]}.bind(null,i));return n},o.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return o.d(e,"a",e),e},o.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},o.p="",o(o.s=19);function o(t){if(s[t])return s[t].exports;var e=s[t]={i:t,l:!1,exports:{}};return a[t].call(e.exports,e,e.exports,o),e.l=!0,e.exports}var a,s});
2
2
  //# sourceMappingURL=foundation.toggler.min.js.map
@@ -1 +1 @@
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.motion\"],\"amd\":\"./foundation.util.motion\",\"commonjs\":\"./foundation.util.motion\",\"commonjs2\":\"./foundation.util.motion\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/js/entries/plugins/foundation.toggler.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.toggler.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.util.triggers.js","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__foundation_core__","__WEBPACK_EXTERNAL_MODULE__foundation_util_motion__","__WEBPACK_EXTERNAL_MODULE_jquery__","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","__webpack_exports__","_foundation_core__WEBPACK_IMPORTED_MODULE_0__","_foundation_toggler__WEBPACK_IMPORTED_MODULE_1__","Foundation","plugin","Toggler","jquery__WEBPACK_IMPORTED_MODULE_0__","jquery__WEBPACK_IMPORTED_MODULE_0___default","_foundation_util_motion__WEBPACK_IMPORTED_MODULE_1__","_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_2__","_foundation_util_triggers__WEBPACK_IMPORTED_MODULE_3__","Plugin","element","options","this","$element","$","extend","defaults","data","className","Triggers","init","_init","_events","input","animate","split","animationIn","animationOut","slice","id","$triggers","concat","attr","is","each","index","trigger","$trigger","controls","RegExp","RegExpEscape","test","off","on","toggle","toggleClass","isOn","hasClass","_updateARIA","find","_this","Motion","animateIn","animateOut","aria-expanded","_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__","_foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__","MutationObserver","prefixes","length","triggers","el","type","forEach","Listeners","Basic","Global","Initializers","debounceGlobalListener","debounce","listener","timer","args","Array","arguments","e","clearTimeout","setTimeout","apply","openListener","closeListener","toggleListener","closeableListener","stopPropagation","animation","fadeOut","toggleFocusListener","triggerHandler","addOpenListener","$elem","addCloseListener","addToggleListener","addCloseableListener","addToggleFocusListener","resizeListener","$nodes","scrollListener","closeMeListener","pluginId","namespace","not","addClosemeListener","pluginName","yetiBoxes","plugNames","push","_typeof","console","error","listeners","map","join","addResizeListener","addScrollListener","addMutationEventsListener","listeningElementsMutation","mutationRecordsList","$target","target","attributeName","pageYOffset","closest","observe","attributes","childList","characterData","subtree","attributeFilter","addSimpleListeners","$document","document","addGlobalListeners","onLoad","triggersInitialized","IHearYou"],"mappings":"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","file":"foundation.toggler.min.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.motion\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"./foundation.util.motion\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.toggler\"] = factory(require(\"./foundation.core\"), require(\"./foundation.util.motion\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.toggler\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.motion\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__, __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 = 19);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__;","import { Foundation } from './foundation.core';\n\nimport { Toggler } from '../../foundation.toggler';\nFoundation.plugin(Toggler, 'Toggler');\n\nexport { Foundation, Toggler };\n","'use strict';\n\nimport $ from 'jquery';\nimport { Motion } from './foundation.util.motion';\nimport { Plugin } from './foundation.core.plugin';\nimport { RegExpEscape } from './foundation.core.utils';\nimport { Triggers } from './foundation.util.triggers';\n\n/**\n * Toggler module.\n * @module foundation.toggler\n * @requires foundation.util.motion\n * @requires foundation.util.triggers\n */\n\nclass Toggler extends Plugin {\n /**\n * Creates a new instance of Toggler.\n * @class\n * @name Toggler\n * @fires Toggler#init\n * @param {Object} element - jQuery object to add the trigger to.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, Toggler.defaults, element.data(), options);\n this.className = '';\n this.className = 'Toggler'; // ie9 back compat\n\n // Triggers init is idempotent, just need to make sure it is initialized\n Triggers.init($);\n\n this._init();\n this._events();\n }\n\n /**\n * Initializes the Toggler plugin by parsing the toggle class from data-toggler, or animation classes from data-animate.\n * @function\n * @private\n */\n _init() {\n var input;\n // Parse animation classes if they were set\n if (this.options.animate) {\n input = this.options.animate.split(' ');\n\n this.animationIn = input[0];\n this.animationOut = input[1] || null;\n }\n // Otherwise, parse toggle class\n else {\n input = this.$element.data('toggler');\n // Allow for a . at the beginning of the string\n this.className = input[0] === '.' ? input.slice(1) : input;\n }\n\n // Add ARIA attributes to triggers:\n var id = this.$element[0].id,\n $triggers = $(`[data-open~=\"${id}\"], [data-close~=\"${id}\"], [data-toggle~=\"${id}\"]`);\n\n // - aria-expanded: according to the element visibility.\n $triggers.attr('aria-expanded', !this.$element.is(':hidden'));\n // - aria-controls: adding the element id to it if not already in it.\n $triggers.each((index, trigger) => {\n const $trigger = $(trigger);\n const controls = $trigger.attr('aria-controls') || '';\n\n const containsId = new RegExp(`\\\\b${RegExpEscape(id)}\\\\b`).test(controls);\n if (!containsId) $trigger.attr('aria-controls', controls ? `${controls} ${id}` : id);\n });\n }\n\n /**\n * Initializes events for the toggle trigger.\n * @function\n * @private\n */\n _events() {\n this.$element.off('toggle.zf.trigger').on('toggle.zf.trigger', this.toggle.bind(this));\n }\n\n /**\n * Toggles the target class on the target element. An event is fired from the original trigger depending on if the resultant state was \"on\" or \"off\".\n * @function\n * @fires Toggler#on\n * @fires Toggler#off\n */\n toggle() {\n this[ this.options.animate ? '_toggleAnimate' : '_toggleClass']();\n }\n\n _toggleClass() {\n this.$element.toggleClass(this.className);\n\n var isOn = this.$element.hasClass(this.className);\n if (isOn) {\n /**\n * Fires if the target element has the class after a toggle.\n * @event Toggler#on\n */\n this.$element.trigger('on.zf.toggler');\n }\n else {\n /**\n * Fires if the target element does not have the class after a toggle.\n * @event Toggler#off\n */\n this.$element.trigger('off.zf.toggler');\n }\n\n this._updateARIA(isOn);\n this.$element.find('[data-mutate]').trigger('mutateme.zf.trigger');\n }\n\n _toggleAnimate() {\n var _this = this;\n\n if (this.$element.is(':hidden')) {\n Motion.animateIn(this.$element, this.animationIn, function() {\n _this._updateARIA(true);\n this.trigger('on.zf.toggler');\n this.find('[data-mutate]').trigger('mutateme.zf.trigger');\n });\n }\n else {\n Motion.animateOut(this.$element, this.animationOut, function() {\n _this._updateARIA(false);\n this.trigger('off.zf.toggler');\n this.find('[data-mutate]').trigger('mutateme.zf.trigger');\n });\n }\n }\n\n _updateARIA(isOn) {\n var id = this.$element[0].id;\n $(`[data-open=\"${id}\"], [data-close=\"${id}\"], [data-toggle=\"${id}\"]`)\n .attr({\n 'aria-expanded': isOn ? true : false\n });\n }\n\n /**\n * Destroys the instance of Toggler on the element.\n * @function\n */\n _destroy() {\n this.$element.off('.zf.toggler');\n }\n}\n\nToggler.defaults = {\n /**\n * Tells the plugin if the element should animated when toggled.\n * @option\n * @type {boolean}\n * @default false\n */\n animate: false\n};\n\nexport {Toggler};\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 e.stopPropagation();\n let animation = $(this).data('closable');\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__;"]}
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.motion\"],\"amd\":\"./foundation.util.motion\",\"commonjs\":\"./foundation.util.motion\",\"commonjs2\":\"./foundation.util.motion\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/js/entries/plugins/foundation.toggler.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.toggler.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.util.triggers.js","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__foundation_core__","__WEBPACK_EXTERNAL_MODULE__foundation_util_motion__","__WEBPACK_EXTERNAL_MODULE_jquery__","installedModules","__webpack_require__","m","r","__webpack_exports__","_foundation_core__WEBPACK_IMPORTED_MODULE_0__","d","_foundation_toggler__WEBPACK_IMPORTED_MODULE_1__","Foundation","plugin","Toggler","jquery__WEBPACK_IMPORTED_MODULE_0__","jquery__WEBPACK_IMPORTED_MODULE_0___default","n","_foundation_util_motion__WEBPACK_IMPORTED_MODULE_1__","_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_2__","_foundation_util_triggers__WEBPACK_IMPORTED_MODULE_3__","Plugin","element","options","this","$element","$","extend","defaults","data","className","Triggers","init","_init","_events","input","id","$triggers","concat","animate","split","animationIn","animationOut","attr","is","toggler","length","Error","slice","hasClass","each","index","trigger","$trigger","controls","RegExp","RegExpEscape","test","off","on","toggle","bind","toggleClass","isOn","_updateARIA","find","_this","Motion","animateIn","animateOut","aria-expanded","undefined","_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__","_foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__","triggers","el","type","forEach","MutationObserver","prefixes","i","Listeners","Basic","Global","Initializers","debounceGlobalListener","debounce","listener","timer","args","Array","prototype","call","arguments","e","clearTimeout","setTimeout","apply","openListener","closeListener","toggleListener","closeableListener","animation","stopPropagation","fadeOut","toggleFocusListener","triggerHandler","addOpenListener","$elem","addCloseListener","addToggleListener","addCloseableListener","addToggleFocusListener","resizeListener","$nodes","scrollListener","closeMeListener","pluginId","namespace","not","addClosemeListener","pluginName","yetiBoxes","plugNames","push","_typeof","console","error","listeners","map","name","join","addResizeListener","addScrollListener","addMutationEventsListener","listeningElementsMutation","mutationRecordsList","$target","target","attributeName","pageYOffset","closest","observe","attributes","childList","characterData","subtree","attributeFilter","addSimpleListeners","$document","document","addGlobalListeners","onLoad","triggersInitialized","IHearYou","c","getter","o","Object","defineProperty","enumerable","get","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","object","property","hasOwnProperty","p","s","moduleId","l","modules"],"mappings":"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","file":"foundation.toggler.min.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.motion\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"./foundation.util.motion\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.toggler\"] = factory(require(\"./foundation.core\"), require(\"./foundation.util.motion\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.toggler\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.motion\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__, __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 = 19);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__;","import { Foundation } from './foundation.core';\n\nimport { Toggler } from '../../foundation.toggler';\nFoundation.plugin(Toggler, 'Toggler');\n\nexport { Foundation, Toggler };\n","'use strict';\n\nimport $ from 'jquery';\nimport { Motion } from './foundation.util.motion';\nimport { Plugin } from './foundation.core.plugin';\nimport { RegExpEscape } from './foundation.core.utils';\nimport { Triggers } from './foundation.util.triggers';\n\n/**\n * Toggler module.\n * @module foundation.toggler\n * @requires foundation.util.motion\n * @requires foundation.util.triggers\n */\n\nclass Toggler extends Plugin {\n /**\n * Creates a new instance of Toggler.\n * @class\n * @name Toggler\n * @fires Toggler#init\n * @param {Object} element - jQuery object to add the trigger to.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, Toggler.defaults, element.data(), options);\n this.className = '';\n this.className = 'Toggler'; // ie9 back compat\n\n // Triggers init is idempotent, just need to make sure it is initialized\n Triggers.init($);\n\n this._init();\n this._events();\n }\n\n /**\n * Initializes the Toggler plugin by parsing the toggle class from data-toggler, or animation classes from data-animate.\n * @function\n * @private\n */\n _init() {\n // Collect triggers to set ARIA attributes to\n var id = this.$element[0].id,\n $triggers = $(`[data-open~=\"${id}\"], [data-close~=\"${id}\"], [data-toggle~=\"${id}\"]`);\n\n var input;\n // Parse animation classes if they were set\n if (this.options.animate) {\n input = this.options.animate.split(' ');\n\n this.animationIn = input[0];\n this.animationOut = input[1] || null;\n\n // - aria-expanded: according to the element visibility.\n $triggers.attr('aria-expanded', !this.$element.is(':hidden'));\n }\n // Otherwise, parse toggle class\n else {\n input = this.options.toggler;\n if (typeof input !== 'string' || !input.length) {\n throw new Error(`The 'toogler' option containing the target class is required, got \"${input}\"`);\n }\n // Allow for a . at the beginning of the string\n this.className = input[0] === '.' ? input.slice(1) : input;\n\n // - aria-expanded: according to the elements class set.\n $triggers.attr('aria-expanded', this.$element.hasClass(this.className));\n }\n\n // - aria-controls: adding the element id to it if not already in it.\n $triggers.each((index, trigger) => {\n const $trigger = $(trigger);\n const controls = $trigger.attr('aria-controls') || '';\n\n const containsId = new RegExp(`\\\\b${RegExpEscape(id)}\\\\b`).test(controls);\n if (!containsId) $trigger.attr('aria-controls', controls ? `${controls} ${id}` : id);\n });\n }\n\n /**\n * Initializes events for the toggle trigger.\n * @function\n * @private\n */\n _events() {\n this.$element.off('toggle.zf.trigger').on('toggle.zf.trigger', this.toggle.bind(this));\n }\n\n /**\n * Toggles the target class on the target element. An event is fired from the original trigger depending on if the resultant state was \"on\" or \"off\".\n * @function\n * @fires Toggler#on\n * @fires Toggler#off\n */\n toggle() {\n this[ this.options.animate ? '_toggleAnimate' : '_toggleClass']();\n }\n\n _toggleClass() {\n this.$element.toggleClass(this.className);\n\n var isOn = this.$element.hasClass(this.className);\n if (isOn) {\n /**\n * Fires if the target element has the class after a toggle.\n * @event Toggler#on\n */\n this.$element.trigger('on.zf.toggler');\n }\n else {\n /**\n * Fires if the target element does not have the class after a toggle.\n * @event Toggler#off\n */\n this.$element.trigger('off.zf.toggler');\n }\n\n this._updateARIA(isOn);\n this.$element.find('[data-mutate]').trigger('mutateme.zf.trigger');\n }\n\n _toggleAnimate() {\n var _this = this;\n\n if (this.$element.is(':hidden')) {\n Motion.animateIn(this.$element, this.animationIn, function() {\n _this._updateARIA(true);\n this.trigger('on.zf.toggler');\n this.find('[data-mutate]').trigger('mutateme.zf.trigger');\n });\n }\n else {\n Motion.animateOut(this.$element, this.animationOut, function() {\n _this._updateARIA(false);\n this.trigger('off.zf.toggler');\n this.find('[data-mutate]').trigger('mutateme.zf.trigger');\n });\n }\n }\n\n _updateARIA(isOn) {\n var id = this.$element[0].id;\n $(`[data-open=\"${id}\"], [data-close=\"${id}\"], [data-toggle=\"${id}\"]`)\n .attr({\n 'aria-expanded': isOn ? true : false\n });\n }\n\n /**\n * Destroys the instance of Toggler on the element.\n * @function\n */\n _destroy() {\n this.$element.off('.zf.toggler');\n }\n}\n\nToggler.defaults = {\n /**\n * Class of the element to toggle. It can be provided with or without \".\"\n * @option\n * @type {string}\n */\n toggler: undefined,\n /**\n * Tells the plugin if the element should animated when toggled.\n * @option\n * @type {boolean}\n * @default false\n */\n animate: false\n};\n\nexport {Toggler};\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__;"]}
@@ -344,9 +344,6 @@ function (_Plugin) {
344
344
  return false;
345
345
  }
346
346
 
347
- var $eleDims = _foundation_util_box__WEBPACK_IMPORTED_MODULE_0__["Box"].GetDimensions($element),
348
- $anchorDims = _foundation_util_box__WEBPACK_IMPORTED_MODULE_0__["Box"].GetDimensions($anchor);
349
-
350
347
  if (!this.options.allowOverlap) {
351
348
  // restore original position & alignment before checking overlap
352
349
  this.position = this.originalPosition;
@@ -356,7 +353,6 @@ function (_Plugin) {
356
353
  $element.offset(_foundation_util_box__WEBPACK_IMPORTED_MODULE_0__["Box"].GetExplicitOffsets($element, $anchor, this.position, this.alignment, this._getVOffset(), this._getHOffset()));
357
354
 
358
355
  if (!this.options.allowOverlap) {
359
- var overlaps = {};
360
356
  var minOverlap = 100000000; // default coordinates to how we start, in case we can't figure out better
361
357
 
362
358
  var minCoordinates = {
@@ -579,7 +575,15 @@ function (_Positionable) {
579
575
  value: function _getDefaultPosition() {
580
576
  // handle legacy classnames
581
577
  var position = this.$element[0].className.match(/\b(top|left|right|bottom)\b/g);
578
+ var elementClassName = this.$element[0].className;
579
+
580
+ if (this.$element[0] instanceof SVGElement) {
581
+ elementClassName = elementClassName.baseVal;
582
+ }
583
+
582
584
  return position ? position[0] : 'top';
585
+ var position = elementClassName.match(/\b(top|left|right)\b/g);
586
+ position = position ? position[0] : 'tp';
583
587
  }
584
588
  }, {
585
589
  key: "_getDefaultAlignment",
@@ -714,8 +718,11 @@ function (_Positionable) {
714
718
  value: function _events() {
715
719
  var _this = this;
716
720
 
721
+ var hasTouch = 'ontouchstart' in window || typeof window.ontouchstart !== 'undefined';
717
722
  var $template = this.template;
718
- var isFocus = false;
723
+ var isFocus = false; // `disableForTouch: Fully disable the tooltip on touch devices
724
+
725
+ if (hasTouch && this.options.disableForTouch) return;
719
726
 
720
727
  if (!this.options.disableHover) {
721
728
  this.$element.on('mouseenter.zf.tooltip', function (e) {
@@ -733,10 +740,14 @@ function (_Positionable) {
733
740
  }));
734
741
  }
735
742
 
743
+ if (hasTouch) {
744
+ this.$element.on('tap.zf.tooltip touchend.zf.tooltip', function (e) {
745
+ _this.isActive ? _this.hide() : _this.show();
746
+ });
747
+ }
748
+
736
749
  if (this.options.clickOpen) {
737
750
  this.$element.on('mousedown.zf.tooltip', function (e) {
738
- e.stopImmediatePropagation();
739
-
740
751
  if (_this.isClick) {//_this.hide();
741
752
  // _this.isClick = false;
742
753
  } else {
@@ -749,17 +760,10 @@ function (_Positionable) {
749
760
  });
750
761
  } else {
751
762
  this.$element.on('mousedown.zf.tooltip', function (e) {
752
- e.stopImmediatePropagation();
753
763
  _this.isClick = true;
754
764
  });
755
765
  }
756
766
 
757
- if (!this.options.disableForTouch) {
758
- this.$element.on('tap.zf.tooltip touchend.zf.tooltip', function (e) {
759
- _this.isActive ? _this.hide() : _this.show();
760
- });
761
- }
762
-
763
767
  this.$element.on({
764
768
  // 'toggle.zf.trigger': this.toggle.bind(this),
765
769
  // 'close.zf.trigger': this.hide.bind(this)
@@ -821,8 +825,6 @@ function (_Positionable) {
821
825
  }(_foundation_positionable__WEBPACK_IMPORTED_MODULE_4__["Positionable"]);
822
826
 
823
827
  Tooltip.defaults = {
824
- disableForTouch: false,
825
-
826
828
  /**
827
829
  * Time, in ms, before a tooltip should open on hover.
828
830
  * @option
@@ -855,6 +857,16 @@ Tooltip.defaults = {
855
857
  */
856
858
  disableHover: false,
857
859
 
860
+ /**
861
+ * Disable the tooltip for touch devices.
862
+ * This can be useful to make elements with a tooltip on it trigger their
863
+ * action on the first tap instead of displaying the tooltip.
864
+ * @option
865
+ * @type {booelan}
866
+ * @default false
867
+ */
868
+ disableForTouch: false,
869
+
858
870
  /**
859
871
  * Optional addtional classes to apply to the tooltip template on init.
860
872
  * @option
@@ -1069,8 +1081,9 @@ Triggers.Listeners.Basic = {
1069
1081
  }
1070
1082
  },
1071
1083
  closeableListener: function closeableListener(e) {
1084
+ var animation = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('closable'); // Only close the first closable element. See https://git.io/zf-7833
1085
+
1072
1086
  e.stopPropagation();
1073
- var animation = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('closable');
1074
1087
 
1075
1088
  if (animation !== '') {
1076
1089
  _foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__["Motion"].animateOut(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), animation, function () {
@@ -1301,7 +1314,7 @@ Triggers.init = function ($, Foundation) {
1301
1314
  /*! no static exports found */
1302
1315
  /***/ (function(module, exports, __webpack_require__) {
1303
1316
 
1304
- module.exports = __webpack_require__(/*! /Users/ncoden/Documents/Documents/Projects/Programmation/Web/2016/Foundation/foundation-sites/js/entries/plugins/foundation.tooltip.js */"./js/entries/plugins/foundation.tooltip.js");
1317
+ module.exports = __webpack_require__(/*! /Volumes/Data/Development/Foundation/foundation-sites/js/entries/plugins/foundation.tooltip.js */"./js/entries/plugins/foundation.tooltip.js");
1305
1318
 
1306
1319
 
1307
1320
  /***/ }),