foundation-rails 6.6.1.0 → 6.6.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (192) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +2 -2
  3. data/bower.json +2 -2
  4. data/lib/foundation/rails/version.rb +1 -1
  5. data/vendor/assets/js/foundation.cjs.js +164 -127
  6. data/vendor/assets/js/foundation.cjs.js.map +1 -1
  7. data/vendor/assets/js/foundation.es6.js +135 -102
  8. data/vendor/assets/js/foundation.es6.js.map +1 -1
  9. data/vendor/assets/js/foundation.esm.js +164 -127
  10. data/vendor/assets/js/foundation.esm.js.map +1 -1
  11. data/vendor/assets/js/foundation.js +159 -155
  12. data/vendor/assets/js/foundation.js.map +1 -1
  13. data/vendor/assets/js/foundation.min.js +1 -1
  14. data/vendor/assets/js/foundation.min.js.map +1 -1
  15. data/vendor/assets/js/plugins/foundation.abide.js +60 -44
  16. data/vendor/assets/js/plugins/foundation.abide.js.map +1 -1
  17. data/vendor/assets/js/plugins/foundation.abide.min.js +1 -1
  18. data/vendor/assets/js/plugins/foundation.abide.min.js.map +1 -1
  19. data/vendor/assets/js/plugins/foundation.accordion.js +12 -6
  20. data/vendor/assets/js/plugins/foundation.accordion.js.map +1 -1
  21. data/vendor/assets/js/plugins/foundation.accordion.min.js +1 -1
  22. data/vendor/assets/js/plugins/foundation.accordion.min.js.map +1 -1
  23. data/vendor/assets/js/plugins/foundation.accordionMenu.js +1 -3
  24. data/vendor/assets/js/plugins/foundation.accordionMenu.js.map +1 -1
  25. data/vendor/assets/js/plugins/foundation.accordionMenu.min.js +1 -1
  26. data/vendor/assets/js/plugins/foundation.accordionMenu.min.js.map +1 -1
  27. data/vendor/assets/js/plugins/foundation.core.js +9 -13
  28. data/vendor/assets/js/plugins/foundation.core.js.map +1 -1
  29. data/vendor/assets/js/plugins/foundation.core.min.js +1 -1
  30. data/vendor/assets/js/plugins/foundation.core.min.js.map +1 -1
  31. data/vendor/assets/js/plugins/foundation.drilldown.js +2 -2
  32. data/vendor/assets/js/plugins/foundation.drilldown.js.map +1 -1
  33. data/vendor/assets/js/plugins/foundation.drilldown.min.js +1 -1
  34. data/vendor/assets/js/plugins/foundation.drilldown.min.js.map +1 -1
  35. data/vendor/assets/js/plugins/foundation.dropdown.js +5 -8
  36. data/vendor/assets/js/plugins/foundation.dropdown.js.map +1 -1
  37. data/vendor/assets/js/plugins/foundation.dropdown.min.js +1 -1
  38. data/vendor/assets/js/plugins/foundation.dropdown.min.js.map +1 -1
  39. data/vendor/assets/js/plugins/foundation.dropdownMenu.js +7 -5
  40. data/vendor/assets/js/plugins/foundation.dropdownMenu.js.map +1 -1
  41. data/vendor/assets/js/plugins/foundation.dropdownMenu.min.js +1 -1
  42. data/vendor/assets/js/plugins/foundation.dropdownMenu.min.js.map +1 -1
  43. data/vendor/assets/js/plugins/foundation.equalizer.js +1 -1
  44. data/vendor/assets/js/plugins/foundation.interchange.js +320 -6
  45. data/vendor/assets/js/plugins/foundation.interchange.js.map +1 -1
  46. data/vendor/assets/js/plugins/foundation.interchange.min.js +1 -1
  47. data/vendor/assets/js/plugins/foundation.interchange.min.js.map +1 -1
  48. data/vendor/assets/js/plugins/foundation.magellan.js +2 -7
  49. data/vendor/assets/js/plugins/foundation.magellan.js.map +1 -1
  50. data/vendor/assets/js/plugins/foundation.magellan.min.js +1 -1
  51. data/vendor/assets/js/plugins/foundation.magellan.min.js.map +1 -1
  52. data/vendor/assets/js/plugins/foundation.offcanvas.js +1 -1
  53. data/vendor/assets/js/plugins/foundation.orbit.js +1 -1
  54. data/vendor/assets/js/plugins/foundation.responsiveAccordionTabs.js +4 -14
  55. data/vendor/assets/js/plugins/foundation.responsiveAccordionTabs.js.map +1 -1
  56. data/vendor/assets/js/plugins/foundation.responsiveAccordionTabs.min.js.map +1 -1
  57. data/vendor/assets/js/plugins/foundation.responsiveMenu.js +1 -1
  58. data/vendor/assets/js/plugins/foundation.responsiveToggle.js +1 -1
  59. data/vendor/assets/js/plugins/foundation.reveal.js +2 -2
  60. data/vendor/assets/js/plugins/foundation.reveal.js.map +1 -1
  61. data/vendor/assets/js/plugins/foundation.reveal.min.js.map +1 -1
  62. data/vendor/assets/js/plugins/foundation.slider.js +4 -8
  63. data/vendor/assets/js/plugins/foundation.slider.js.map +1 -1
  64. data/vendor/assets/js/plugins/foundation.slider.min.js +1 -1
  65. data/vendor/assets/js/plugins/foundation.slider.min.js.map +1 -1
  66. data/vendor/assets/js/plugins/foundation.smoothScroll.js +1 -1
  67. data/vendor/assets/js/plugins/foundation.sticky.js +1 -2
  68. data/vendor/assets/js/plugins/foundation.sticky.js.map +1 -1
  69. data/vendor/assets/js/plugins/foundation.sticky.min.js.map +1 -1
  70. data/vendor/assets/js/plugins/foundation.tabs.js +1 -1
  71. data/vendor/assets/js/plugins/foundation.toggler.js +1 -1
  72. data/vendor/assets/js/plugins/foundation.tooltip.js +2 -4
  73. data/vendor/assets/js/plugins/foundation.tooltip.js.map +1 -1
  74. data/vendor/assets/js/plugins/foundation.tooltip.min.js +1 -1
  75. data/vendor/assets/js/plugins/foundation.tooltip.min.js.map +1 -1
  76. data/vendor/assets/js/plugins/foundation.util.box.js +61 -63
  77. data/vendor/assets/js/plugins/foundation.util.box.js.map +1 -1
  78. data/vendor/assets/js/plugins/foundation.util.box.min.js +1 -1
  79. data/vendor/assets/js/plugins/foundation.util.box.min.js.map +1 -1
  80. data/vendor/assets/js/plugins/foundation.util.imageLoader.js +1 -1
  81. data/vendor/assets/js/plugins/foundation.util.keyboard.js +1 -1
  82. data/vendor/assets/js/plugins/foundation.util.mediaQuery.js +1 -1
  83. data/vendor/assets/js/plugins/foundation.util.motion.js +5 -1
  84. data/vendor/assets/js/plugins/foundation.util.motion.js.map +1 -1
  85. data/vendor/assets/js/plugins/foundation.util.motion.min.js +1 -1
  86. data/vendor/assets/js/plugins/foundation.util.motion.min.js.map +1 -1
  87. data/vendor/assets/js/plugins/foundation.util.nest.js +5 -2
  88. data/vendor/assets/js/plugins/foundation.util.nest.js.map +1 -1
  89. data/vendor/assets/js/plugins/foundation.util.nest.min.js +1 -1
  90. data/vendor/assets/js/plugins/foundation.util.nest.min.js.map +1 -1
  91. data/vendor/assets/js/plugins/foundation.util.timer.js +1 -1
  92. data/vendor/assets/js/plugins/foundation.util.touch.js +1 -1
  93. data/vendor/assets/js/plugins/foundation.util.triggers.js +1 -1
  94. data/vendor/assets/scss/_global.scss +2 -2
  95. data/vendor/assets/scss/components/_accordion.scss +2 -2
  96. data/vendor/assets/scss/components/_badge.scss +2 -2
  97. data/vendor/assets/scss/components/_breadcrumbs.scss +2 -2
  98. data/vendor/assets/scss/components/_button-group.scss +11 -6
  99. data/vendor/assets/scss/components/_button.scss +2 -2
  100. data/vendor/assets/scss/components/_callout.scss +2 -2
  101. data/vendor/assets/scss/components/_card.scss +2 -2
  102. data/vendor/assets/scss/components/_close-button.scss +2 -2
  103. data/vendor/assets/scss/components/_drilldown.scss +2 -2
  104. data/vendor/assets/scss/components/_dropdown-menu.scss +2 -2
  105. data/vendor/assets/scss/components/_dropdown.scss +2 -2
  106. data/vendor/assets/scss/components/_flex.scss +2 -2
  107. data/vendor/assets/scss/components/_float.scss +2 -2
  108. data/vendor/assets/scss/components/_label.scss +2 -2
  109. data/vendor/assets/scss/components/_media-object.scss +2 -2
  110. data/vendor/assets/scss/components/_menu.scss +2 -2
  111. data/vendor/assets/scss/components/_off-canvas.scss +2 -2
  112. data/vendor/assets/scss/components/_orbit.scss +2 -2
  113. data/vendor/assets/scss/components/_pagination.scss +2 -2
  114. data/vendor/assets/scss/components/_progress-bar.scss +2 -2
  115. data/vendor/assets/scss/components/_responsive-embed.scss +2 -2
  116. data/vendor/assets/scss/components/_reveal.scss +2 -2
  117. data/vendor/assets/scss/components/_slider.scss +2 -2
  118. data/vendor/assets/scss/components/_sticky.scss +2 -2
  119. data/vendor/assets/scss/components/_switch.scss +2 -2
  120. data/vendor/assets/scss/components/_table.scss +2 -2
  121. data/vendor/assets/scss/components/_tabs.scss +2 -2
  122. data/vendor/assets/scss/components/_thumbnail.scss +2 -2
  123. data/vendor/assets/scss/components/_title-bar.scss +2 -2
  124. data/vendor/assets/scss/components/_tooltip.scss +2 -2
  125. data/vendor/assets/scss/components/_top-bar.scss +2 -2
  126. data/vendor/assets/scss/components/_visibility.scss +3 -3
  127. data/vendor/assets/scss/forms/_checkbox.scss +2 -2
  128. data/vendor/assets/scss/forms/_error.scss +2 -2
  129. data/vendor/assets/scss/forms/_fieldset.scss +2 -2
  130. data/vendor/assets/scss/forms/_forms.scss +2 -2
  131. data/vendor/assets/scss/forms/_help-text.scss +2 -2
  132. data/vendor/assets/scss/forms/_input-group.scss +2 -2
  133. data/vendor/assets/scss/forms/_label.scss +2 -2
  134. data/vendor/assets/scss/forms/_meter.scss +2 -2
  135. data/vendor/assets/scss/forms/_progress.scss +2 -2
  136. data/vendor/assets/scss/forms/_range.scss +2 -2
  137. data/vendor/assets/scss/forms/_select.scss +2 -2
  138. data/vendor/assets/scss/forms/_text.scss +2 -2
  139. data/vendor/assets/scss/foundation.scss +3 -3
  140. data/vendor/assets/scss/grid/_classes.scss +2 -2
  141. data/vendor/assets/scss/grid/_column.scss +2 -2
  142. data/vendor/assets/scss/grid/_flex-grid.scss +2 -2
  143. data/vendor/assets/scss/grid/_grid.scss +2 -2
  144. data/vendor/assets/scss/grid/_gutter.scss +2 -2
  145. data/vendor/assets/scss/grid/_layout.scss +2 -2
  146. data/vendor/assets/scss/grid/_position.scss +2 -2
  147. data/vendor/assets/scss/grid/_row.scss +2 -2
  148. data/vendor/assets/scss/grid/_size.scss +2 -2
  149. data/vendor/assets/scss/prototype/_arrow.scss +2 -2
  150. data/vendor/assets/scss/prototype/_border-box.scss +2 -2
  151. data/vendor/assets/scss/prototype/_border-none.scss +2 -2
  152. data/vendor/assets/scss/prototype/_bordered.scss +2 -2
  153. data/vendor/assets/scss/prototype/_box.scss +2 -2
  154. data/vendor/assets/scss/prototype/_display.scss +2 -2
  155. data/vendor/assets/scss/prototype/_font-styling.scss +2 -2
  156. data/vendor/assets/scss/prototype/_list-style-type.scss +2 -2
  157. data/vendor/assets/scss/prototype/_overflow.scss +2 -2
  158. data/vendor/assets/scss/prototype/_position.scss +2 -2
  159. data/vendor/assets/scss/prototype/_prototype.scss +2 -2
  160. data/vendor/assets/scss/prototype/_rotate.scss +2 -2
  161. data/vendor/assets/scss/prototype/_rounded.scss +2 -2
  162. data/vendor/assets/scss/prototype/_separator.scss +2 -2
  163. data/vendor/assets/scss/prototype/_shadow.scss +2 -2
  164. data/vendor/assets/scss/prototype/_sizing.scss +2 -2
  165. data/vendor/assets/scss/prototype/_spacing.scss +2 -2
  166. data/vendor/assets/scss/prototype/_text-decoration.scss +2 -2
  167. data/vendor/assets/scss/prototype/_text-transformation.scss +2 -2
  168. data/vendor/assets/scss/prototype/_text-utilities.scss +2 -2
  169. data/vendor/assets/scss/typography/_alignment.scss +2 -2
  170. data/vendor/assets/scss/typography/_base.scss +2 -2
  171. data/vendor/assets/scss/typography/_helpers.scss +2 -2
  172. data/vendor/assets/scss/typography/_print.scss +2 -2
  173. data/vendor/assets/scss/typography/_typography.scss +2 -2
  174. data/vendor/assets/scss/util/_breakpoint.scss +3 -3
  175. data/vendor/assets/scss/util/_color.scss +2 -2
  176. data/vendor/assets/scss/util/_direction.scss +2 -2
  177. data/vendor/assets/scss/util/_math.scss +2 -2
  178. data/vendor/assets/scss/util/_mixins.scss +2 -2
  179. data/vendor/assets/scss/util/_selector.scss +2 -2
  180. data/vendor/assets/scss/util/_typography.scss +2 -2
  181. data/vendor/assets/scss/util/_unit.scss +2 -2
  182. data/vendor/assets/scss/util/_util.scss +2 -2
  183. data/vendor/assets/scss/util/_value.scss +2 -2
  184. data/vendor/assets/scss/xy-grid/_cell.scss +2 -2
  185. data/vendor/assets/scss/xy-grid/_classes.scss +8 -8
  186. data/vendor/assets/scss/xy-grid/_collapse.scss +2 -2
  187. data/vendor/assets/scss/xy-grid/_grid.scss +2 -2
  188. data/vendor/assets/scss/xy-grid/_gutters.scss +2 -2
  189. data/vendor/assets/scss/xy-grid/_layout.scss +2 -2
  190. data/vendor/assets/scss/xy-grid/_position.scss +2 -2
  191. data/vendor/assets/scss/xy-grid/_xy-grid.scss +2 -2
  192. metadata +3 -3
@@ -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]/./js/entries/plugins/foundation.interchange.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.interchange.js","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}"],"names":["Foundation","plugin","Interchange","element","options","$element","$","extend","defaults","data","rules","currentPath","className","_init","_events","MediaQuery","id","GetYoDigits","attr","_parseOptions","_addBreakpoints","_generateRules","_reflow","off","on","match","i","hasOwnProperty","rule","window","matchMedia","query","matches","replace","path","types","type","indexOf","console","log","queries","SPECIAL_QUERIES","name","value","rulesList","slice","split","join","length","push","trigger","nodeName","css","get","response","html","foundation","Plugin"],"mappings":"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","file":"foundation.interchange.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(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"./foundation.util.mediaQuery\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.interchange\"] = factory(require(\"./foundation.core\"), require(\"./foundation.util.mediaQuery\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.interchange\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.mediaQuery\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__, __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 = 7);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__;","import { Foundation } from './foundation.core';\n\nimport { Interchange } from '../../foundation.interchange';\nFoundation.plugin(Interchange, 'Interchange');\n\nexport { Foundation, Interchange };\n","'use strict';\n\nimport $ from 'jquery';\nimport { MediaQuery } from './foundation.util.mediaQuery';\nimport { Plugin } from './foundation.core.plugin';\nimport { GetYoDigits } from './foundation.core.utils';\n\n\n/**\n * Interchange module.\n * @module foundation.interchange\n * @requires foundation.util.mediaQuery\n */\n\nclass Interchange extends Plugin {\n /**\n * Creates a new instance of Interchange.\n * @class\n * @name Interchange\n * @fires Interchange#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({}, Interchange.defaults, this.$element.data(), options);\n this.rules = [];\n this.currentPath = '';\n this.className = 'Interchange'; // ie9 back compat\n\n this._init();\n this._events();\n }\n\n /**\n * Initializes the Interchange plugin and calls functions to get interchange functioning on load.\n * @function\n * @private\n */\n _init() {\n MediaQuery._init();\n\n var id = this.$element[0].id || GetYoDigits(6, 'interchange');\n this.$element.attr({\n 'data-resize': id,\n 'id': id\n });\n\n this._parseOptions();\n this._addBreakpoints();\n this._generateRules();\n this._reflow();\n }\n\n /**\n * Initializes events for Interchange.\n * @function\n * @private\n */\n _events() {\n this.$element.off('resizeme.zf.trigger').on('resizeme.zf.trigger', () => this._reflow());\n }\n\n /**\n * Calls necessary functions to update Interchange upon DOM change\n * @function\n * @private\n */\n _reflow() {\n var match;\n\n // Iterate through each rule, but only save the last match\n for (var i in this.rules) {\n if(this.rules.hasOwnProperty(i)) {\n var rule = this.rules[i];\n if (window.matchMedia(rule.query).matches) {\n match = rule;\n }\n }\n }\n\n if (match) {\n this.replace(match.path);\n }\n }\n\n /**\n * Check options valifity and set defaults for:\n * - `data-interchange-type`: if set, enforce the type of replacement (auto, src, background or html)\n * @function\n * @private\n */\n _parseOptions() {\n var types = ['auto', 'src', 'background', 'html'];\n if (typeof this.options.type === 'undefined')\n this.options.type = 'auto';\n else if (types.indexOf(this.options.type) === -1) {\n console.log(`Warning: invalid value \"${this.options.type}\" for Interchange option \"type\"`);\n this.options.type = 'auto';\n }\n }\n\n /**\n * Gets the Foundation breakpoints and adds them to the Interchange.SPECIAL_QUERIES object.\n * @function\n * @private\n */\n _addBreakpoints() {\n for (var i in MediaQuery.queries) {\n if (MediaQuery.queries.hasOwnProperty(i)) {\n var query = MediaQuery.queries[i];\n Interchange.SPECIAL_QUERIES[query.name] = query.value;\n }\n }\n }\n\n /**\n * Checks the Interchange element for the provided media query + content pairings\n * @function\n * @private\n * @param {Object} element - jQuery object that is an Interchange instance\n * @returns {Array} scenarios - Array of objects that have 'mq' and 'path' keys with corresponding keys\n */\n _generateRules(element) {\n var rulesList = [];\n var rules;\n\n if (this.options.rules) {\n rules = this.options.rules;\n }\n else {\n rules = this.$element.data('interchange');\n }\n\n rules = typeof rules === 'string' ? rules.match(/\\[.*?, .*?\\]/g) : rules;\n\n for (var i in rules) {\n if(rules.hasOwnProperty(i)) {\n var rule = rules[i].slice(1, -1).split(', ');\n var path = rule.slice(0, -1).join('');\n var query = rule[rule.length - 1];\n\n if (Interchange.SPECIAL_QUERIES[query]) {\n query = Interchange.SPECIAL_QUERIES[query];\n }\n\n rulesList.push({\n path: path,\n query: query\n });\n }\n }\n\n this.rules = rulesList;\n }\n\n /**\n * Update the `src` property of an image, or change the HTML of a container, to the specified path.\n * @function\n * @param {String} path - Path to the image or HTML partial.\n * @fires Interchange#replaced\n */\n replace(path) {\n if (this.currentPath === path) return;\n\n var trigger = 'replaced.zf.interchange';\n\n var type = this.options.type;\n if (type === 'auto') {\n if (this.$element[0].nodeName === 'IMG')\n type = 'src';\n else if (path.match(/\\.(gif|jpe?g|png|svg|tiff)([?#].*)?/i))\n type = 'background';\n else\n type = 'html';\n }\n\n // Replacing images\n if (type === 'src') {\n this.$element.attr('src', path)\n .on('load', () => { this.currentPath = path; })\n .trigger(trigger);\n }\n // Replacing background images\n else if (type === 'background') {\n path = path.replace(/\\(/g, '%28').replace(/\\)/g, '%29');\n this.$element\n .css({ 'background-image': 'url(' + path + ')' })\n .trigger(trigger);\n }\n // Replacing HTML\n else if (type === 'html') {\n $.get(path, (response) => {\n this.$element\n .html(response)\n .trigger(trigger);\n $(response).foundation();\n this.currentPath = path;\n });\n }\n\n /**\n * Fires when content in an Interchange element is done being loaded.\n * @event Interchange#replaced\n */\n // this.$element.trigger('replaced.zf.interchange');\n }\n\n /**\n * Destroys an instance of interchange.\n * @function\n */\n _destroy() {\n this.$element.off('resizeme.zf.trigger')\n }\n}\n\n/**\n * Default settings for plugin\n */\nInterchange.defaults = {\n /**\n * Rules to be applied to Interchange elements. Set with the `data-interchange` array notation.\n * @option\n * @type {?array}\n * @default null\n */\n rules: null,\n\n /**\n * Type of the responsive ressource to replace. It can take the following options:\n * - `auto` (default): choose the type according to the element tag or the ressource extension,\n * - `src`: replace the `[src]` attribute, recommended for images `<img>`.\n * - `background`: replace the `background-image` CSS property.\n * - `html`: replace the element content.\n * @option\n * @type {string}\n * @default 'auto'\n */\n type: 'auto'\n};\n\nInterchange.SPECIAL_QUERIES = {\n 'landscape': 'screen and (orientation: landscape)',\n 'portrait': 'screen and (orientation: portrait)',\n 'retina': 'only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2/1), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx)'\n};\n\nexport {Interchange};\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.interchange.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.interchange.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","Interchange","element","options","$element","$","extend","defaults","data","rules","currentPath","className","Triggers","init","_init","_events","MediaQuery","id","GetYoDigits","attr","_parseOptions","_addBreakpoints","_generateRules","_reflow","off","on","match","i","hasOwnProperty","rule","window","matchMedia","query","matches","replace","path","types","type","indexOf","console","log","queries","SPECIAL_QUERIES","name","value","rulesList","slice","split","join","length","push","trigger","nodeName","css","get","response","html","foundation","Plugin","MutationObserver","prefixes","triggers","el","forEach","Listeners","Basic","Global","Initializers","openListener","closeListener","toggleListener","closeableListener","e","animation","stopPropagation","Motion","animateOut","fadeOut","toggleFocusListener","triggerHandler","addOpenListener","$elem","addCloseListener","addToggleListener","addCloseableListener","addToggleFocusListener","resizeListener","$nodes","each","scrollListener","closeMeListener","pluginId","namespace","plugins","not","_this","addClosemeListener","pluginName","yetiBoxes","plugNames","concat","error","listeners","map","debounceGlobalListener","debounce","listener","timer","args","Array","prototype","call","arguments","clearTimeout","setTimeout","apply","addResizeListener","addScrollListener","addMutationEventsListener","find","listeningElementsMutation","mutationRecordsList","$target","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.interchange.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.interchange\"] = 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.interchange\"] = 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 = 7);\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 { Interchange } from '../../foundation.interchange';\nFoundation.plugin(Interchange, 'Interchange');\n\nexport { Foundation, Interchange };\n","'use strict';\n\nimport $ from 'jquery';\nimport { MediaQuery } from './foundation.util.mediaQuery';\nimport { Plugin } from './foundation.core.plugin';\nimport { GetYoDigits } from './foundation.core.utils';\nimport { Triggers } from './foundation.util.triggers';\n\n/**\n * Interchange module.\n * @module foundation.interchange\n * @requires foundation.util.mediaQuery\n */\n\nclass Interchange extends Plugin {\n /**\n * Creates a new instance of Interchange.\n * @class\n * @name Interchange\n * @fires Interchange#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({}, Interchange.defaults, this.$element.data(), options);\n this.rules = [];\n this.currentPath = '';\n this.className = 'Interchange'; // 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 Interchange plugin and calls functions to get interchange functioning on load.\n * @function\n * @private\n */\n _init() {\n MediaQuery._init();\n\n var id = this.$element[0].id || GetYoDigits(6, 'interchange');\n this.$element.attr({\n 'data-resize': id,\n 'id': id\n });\n\n this._parseOptions();\n this._addBreakpoints();\n this._generateRules();\n this._reflow();\n }\n\n /**\n * Initializes events for Interchange.\n * @function\n * @private\n */\n _events() {\n this.$element.off('resizeme.zf.trigger').on('resizeme.zf.trigger', () => this._reflow());\n }\n\n /**\n * Calls necessary functions to update Interchange upon DOM change\n * @function\n * @private\n */\n _reflow() {\n var match;\n\n // Iterate through each rule, but only save the last match\n for (var i in this.rules) {\n if(this.rules.hasOwnProperty(i)) {\n var rule = this.rules[i];\n if (window.matchMedia(rule.query).matches) {\n match = rule;\n }\n }\n }\n\n if (match) {\n this.replace(match.path);\n }\n }\n\n /**\n * Check options valifity and set defaults for:\n * - `data-interchange-type`: if set, enforce the type of replacement (auto, src, background or html)\n * @function\n * @private\n */\n _parseOptions() {\n var types = ['auto', 'src', 'background', 'html'];\n if (typeof this.options.type === 'undefined')\n this.options.type = 'auto';\n else if (types.indexOf(this.options.type) === -1) {\n console.log(`Warning: invalid value \"${this.options.type}\" for Interchange option \"type\"`);\n this.options.type = 'auto';\n }\n }\n\n /**\n * Gets the Foundation breakpoints and adds them to the Interchange.SPECIAL_QUERIES object.\n * @function\n * @private\n */\n _addBreakpoints() {\n for (var i in MediaQuery.queries) {\n if (MediaQuery.queries.hasOwnProperty(i)) {\n var query = MediaQuery.queries[i];\n Interchange.SPECIAL_QUERIES[query.name] = query.value;\n }\n }\n }\n\n /**\n * Checks the Interchange element for the provided media query + content pairings\n * @function\n * @private\n * @param {Object} element - jQuery object that is an Interchange instance\n * @returns {Array} scenarios - Array of objects that have 'mq' and 'path' keys with corresponding keys\n */\n _generateRules(element) {\n var rulesList = [];\n var rules;\n\n if (this.options.rules) {\n rules = this.options.rules;\n }\n else {\n rules = this.$element.data('interchange');\n }\n\n rules = typeof rules === 'string' ? rules.match(/\\[.*?, .*?\\]/g) : rules;\n\n for (var i in rules) {\n if(rules.hasOwnProperty(i)) {\n var rule = rules[i].slice(1, -1).split(', ');\n var path = rule.slice(0, -1).join('');\n var query = rule[rule.length - 1];\n\n if (Interchange.SPECIAL_QUERIES[query]) {\n query = Interchange.SPECIAL_QUERIES[query];\n }\n\n rulesList.push({\n path: path,\n query: query\n });\n }\n }\n\n this.rules = rulesList;\n }\n\n /**\n * Update the `src` property of an image, or change the HTML of a container, to the specified path.\n * @function\n * @param {String} path - Path to the image or HTML partial.\n * @fires Interchange#replaced\n */\n replace(path) {\n if (this.currentPath === path) return;\n\n var trigger = 'replaced.zf.interchange';\n\n var type = this.options.type;\n if (type === 'auto') {\n if (this.$element[0].nodeName === 'IMG')\n type = 'src';\n else if (path.match(/\\.(gif|jpe?g|png|svg|tiff)([?#].*)?/i))\n type = 'background';\n else\n type = 'html';\n }\n\n // Replacing images\n if (type === 'src') {\n this.$element.attr('src', path)\n .on('load', () => { this.currentPath = path; })\n .trigger(trigger);\n }\n // Replacing background images\n else if (type === 'background') {\n path = path.replace(/\\(/g, '%28').replace(/\\)/g, '%29');\n this.$element\n .css({ 'background-image': 'url(' + path + ')' })\n .trigger(trigger);\n }\n // Replacing HTML\n else if (type === 'html') {\n $.get(path, (response) => {\n this.$element\n .html(response)\n .trigger(trigger);\n $(response).foundation();\n this.currentPath = path;\n });\n }\n\n /**\n * Fires when content in an Interchange element is done being loaded.\n * @event Interchange#replaced\n */\n // this.$element.trigger('replaced.zf.interchange');\n }\n\n /**\n * Destroys an instance of interchange.\n * @function\n */\n _destroy() {\n this.$element.off('resizeme.zf.trigger')\n }\n}\n\n/**\n * Default settings for plugin\n */\nInterchange.defaults = {\n /**\n * Rules to be applied to Interchange elements. Set with the `data-interchange` array notation.\n * @option\n * @type {?array}\n * @default null\n */\n rules: null,\n\n /**\n * Type of the responsive ressource to replace. It can take the following options:\n * - `auto` (default): choose the type according to the element tag or the ressource extension,\n * - `src`: replace the `[src]` attribute, recommended for images `<img>`.\n * - `background`: replace the `background-image` CSS property.\n * - `html`: replace the element content.\n * @option\n * @type {string}\n * @default 'auto'\n */\n type: 'auto'\n};\n\nInterchange.SPECIAL_QUERIES = {\n 'landscape': 'screen and (orientation: landscape)',\n 'portrait': 'screen and (orientation: portrait)',\n 'retina': 'only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2/1), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx)'\n};\n\nexport {Interchange};\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(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("./foundation.core"),require("./foundation.util.mediaQuery"),require("jquery")):"function"==typeof define&&define.amd?define(["./foundation.core","./foundation.util.mediaQuery","jquery"],t):"object"==typeof exports?exports["foundation.interchange"]=t(require("./foundation.core"),require("./foundation.util.mediaQuery"),require("jquery")):(e.__FOUNDATION_EXTERNAL__=e.__FOUNDATION_EXTERNAL__||{},e.__FOUNDATION_EXTERNAL__["foundation.interchange"]=t(e.__FOUNDATION_EXTERNAL__["foundation.core"],e.__FOUNDATION_EXTERNAL__["foundation.util.mediaQuery"],e.jQuery))}(window,function(n,r,o){return a={},i.m=u={"./foundation.core":function(e,t){e.exports=n},"./foundation.util.mediaQuery":function(e,t){e.exports=r},"./js/entries/plugins/foundation.interchange.js":function(e,t,n){"use strict";n.r(t);var r=n("./foundation.core");n.d(t,"Foundation",function(){return r.Foundation});var o=n("./js/foundation.interchange.js");n.d(t,"Interchange",function(){return o.Interchange}),r.Foundation.plugin(o.Interchange,"Interchange")},"./js/foundation.interchange.js":function(e,t,n){"use strict";n.r(t),n.d(t,"Interchange",function(){return p});var r=n("jquery"),o=n.n(r),i=n("./foundation.util.mediaQuery"),u=n("./foundation.core");function a(e){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function s(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function c(e,t){return!t||"object"!==a(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function f(e){return(f=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function l(e,t){return(l=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var p=function(){function a(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,a),c(this,f(a).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&l(e,t)}(a,u["Plugin"]),function(e,t,n){t&&s(e.prototype,t),n&&s(e,n)}(a,[{key:"_setup",value:function(e,t){this.$element=e,this.options=o.a.extend({},a.defaults,this.$element.data(),t),this.rules=[],this.currentPath="",this.className="Interchange",this._init(),this._events()}},{key:"_init",value:function(){i.MediaQuery._init();var e=this.$element[0].id||Object(u.GetYoDigits)(6,"interchange");this.$element.attr({"data-resize":e,id:e}),this._parseOptions(),this._addBreakpoints(),this._generateRules(),this._reflow()}},{key:"_events",value:function(){var e=this;this.$element.off("resizeme.zf.trigger").on("resizeme.zf.trigger",function(){return e._reflow()})}},{key:"_reflow",value:function(){var e;for(var t in this.rules)if(this.rules.hasOwnProperty(t)){var n=this.rules[t];window.matchMedia(n.query).matches&&(e=n)}e&&this.replace(e.path)}},{key:"_parseOptions",value:function(){void 0===this.options.type?this.options.type="auto":-1===["auto","src","background","html"].indexOf(this.options.type)&&(console.log('Warning: invalid value "'.concat(this.options.type,'" for Interchange option "type"')),this.options.type="auto")}},{key:"_addBreakpoints",value:function(){for(var e in i.MediaQuery.queries)if(i.MediaQuery.queries.hasOwnProperty(e)){var t=i.MediaQuery.queries[e];a.SPECIAL_QUERIES[t.name]=t.value}}},{key:"_generateRules",value:function(e){var t,n=[];for(var r in t="string"==typeof(t=this.options.rules?this.options.rules:this.$element.data("interchange"))?t.match(/\[.*?, .*?\]/g):t)if(t.hasOwnProperty(r)){var o=t[r].slice(1,-1).split(", "),i=o.slice(0,-1).join(""),u=o[o.length-1];a.SPECIAL_QUERIES[u]&&(u=a.SPECIAL_QUERIES[u]),n.push({path:i,query:u})}this.rules=n}},{key:"replace",value:function(t){var n=this;if(this.currentPath!==t){var r="replaced.zf.interchange",e=this.options.type;"auto"===e&&(e="IMG"===this.$element[0].nodeName?"src":t.match(/\.(gif|jpe?g|png|svg|tiff)([?#].*)?/i)?"background":"html"),"src"===e?this.$element.attr("src",t).on("load",function(){n.currentPath=t}).trigger(r):"background"===e?(t=t.replace(/\(/g,"%28").replace(/\)/g,"%29"),this.$element.css({"background-image":"url("+t+")"}).trigger(r)):"html"===e&&o.a.get(t,function(e){n.$element.html(e).trigger(r),o()(e).foundation(),n.currentPath=t})}}},{key:"_destroy",value:function(){this.$element.off("resizeme.zf.trigger")}}]),a}();p.defaults={rules:null,type:"auto"},p.SPECIAL_QUERIES={landscape:"screen and (orientation: landscape)",portrait:"screen and (orientation: portrait)",retina:"only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2/1), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx)"}},7:function(e,t,n){e.exports=n("./js/entries/plugins/foundation.interchange.js")},jquery:function(e,t){e.exports=o}},i.c=a,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(t,e){if(1&e&&(t=i(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)i.d(n,r,function(e){return t[e]}.bind(null,r));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="",i(i.s=7);function i(e){if(a[e])return a[e].exports;var t=a[e]={i:e,l:!1,exports:{}};return u[e].call(t.exports,t,t.exports,i),t.l=!0,t.exports}var u,a});
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(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"],t):"object"==typeof exports?exports["foundation.interchange"]=t(require("./foundation.core"),require("./foundation.util.mediaQuery"),require("./foundation.util.motion"),require("jquery")):(e.__FOUNDATION_EXTERNAL__=e.__FOUNDATION_EXTERNAL__||{},e.__FOUNDATION_EXTERNAL__["foundation.interchange"]=t(e.__FOUNDATION_EXTERNAL__["foundation.core"],e.__FOUNDATION_EXTERNAL__["foundation.util.mediaQuery"],e.__FOUNDATION_EXTERNAL__["foundation.util.motion"],e.jQuery))}(window,function(n,i,r,o){return u={},a.m=s={"./foundation.core":function(e,t){e.exports=n},"./foundation.util.mediaQuery":function(e,t){e.exports=i},"./foundation.util.motion":function(e,t){e.exports=r},"./js/entries/plugins/foundation.interchange.js":function(e,t,n){"use strict";n.r(t);var i=n("./foundation.core");n.d(t,"Foundation",function(){return i.Foundation});var r=n("./js/foundation.interchange.js");n.d(t,"Interchange",function(){return r.Interchange}),i.Foundation.plugin(r.Interchange,"Interchange")},"./js/foundation.interchange.js":function(e,t,n){"use strict";n.r(t),n.d(t,"Interchange",function(){return g});var i=n("jquery"),r=n.n(i),o=n("./foundation.util.mediaQuery"),a=n("./foundation.core"),u=n("./js/foundation.util.triggers.js");function s(e){return(s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function l(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function c(e,t){return!t||"object"!==s(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function f(e){return(f=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function d(e,t){return(d=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var g=function(){function s(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,s),c(this,f(s).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&d(e,t)}(s,a["Plugin"]),function(e,t,n){t&&l(e.prototype,t),n&&l(e,n)}(s,[{key:"_setup",value:function(e,t){this.$element=e,this.options=r.a.extend({},s.defaults,this.$element.data(),t),this.rules=[],this.currentPath="",this.className="Interchange",u.Triggers.init(r.a),this._init(),this._events()}},{key:"_init",value:function(){o.MediaQuery._init();var e=this.$element[0].id||Object(a.GetYoDigits)(6,"interchange");this.$element.attr({"data-resize":e,id:e}),this._parseOptions(),this._addBreakpoints(),this._generateRules(),this._reflow()}},{key:"_events",value:function(){var e=this;this.$element.off("resizeme.zf.trigger").on("resizeme.zf.trigger",function(){return e._reflow()})}},{key:"_reflow",value:function(){var e;for(var t in this.rules)if(this.rules.hasOwnProperty(t)){var n=this.rules[t];window.matchMedia(n.query).matches&&(e=n)}e&&this.replace(e.path)}},{key:"_parseOptions",value:function(){void 0===this.options.type?this.options.type="auto":-1===["auto","src","background","html"].indexOf(this.options.type)&&(console.log('Warning: invalid value "'.concat(this.options.type,'" for Interchange option "type"')),this.options.type="auto")}},{key:"_addBreakpoints",value:function(){for(var e in o.MediaQuery.queries)if(o.MediaQuery.queries.hasOwnProperty(e)){var t=o.MediaQuery.queries[e];s.SPECIAL_QUERIES[t.name]=t.value}}},{key:"_generateRules",value:function(e){var t,n=[];for(var i in t="string"==typeof(t=this.options.rules?this.options.rules:this.$element.data("interchange"))?t.match(/\[.*?, .*?\]/g):t)if(t.hasOwnProperty(i)){var r=t[i].slice(1,-1).split(", "),o=r.slice(0,-1).join(""),a=r[r.length-1];s.SPECIAL_QUERIES[a]&&(a=s.SPECIAL_QUERIES[a]),n.push({path:o,query:a})}this.rules=n}},{key:"replace",value:function(t){var n=this;if(this.currentPath!==t){var i="replaced.zf.interchange",e=this.options.type;"auto"===e&&(e="IMG"===this.$element[0].nodeName?"src":t.match(/\.(gif|jpe?g|png|svg|tiff)([?#].*)?/i)?"background":"html"),"src"===e?this.$element.attr("src",t).on("load",function(){n.currentPath=t}).trigger(i):"background"===e?(t=t.replace(/\(/g,"%28").replace(/\)/g,"%29"),this.$element.css({"background-image":"url("+t+")"}).trigger(i)):"html"===e&&r.a.get(t,function(e){n.$element.html(e).trigger(i),r()(e).foundation(),n.currentPath=t})}}},{key:"_destroy",value:function(){this.$element.off("resizeme.zf.trigger")}}]),s}();g.defaults={rules:null,type:"auto"},g.SPECIAL_QUERIES={landscape:"screen and (orientation: landscape)",portrait:"screen and (orientation: portrait)",retina:"only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2/1), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx)"}},"./js/foundation.util.triggers.js":function(e,t,n){"use strict";n.r(t),n.d(t,"Triggers",function(){return c});var i=n("jquery"),o=n.n(i),r=n("./foundation.core"),a=n("./foundation.util.motion");function s(e){return(s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function u(t,n){t.data(n).split(" ").forEach(function(e){o()("#".concat(e))["close"===n?"trigger":"triggerHandler"]("".concat(n,".zf.trigger"),[t])})}var l=function(){for(var e=["WebKit","Moz","O","Ms",""],t=0;t<e.length;t++)if("".concat(e[t],"MutationObserver")in window)return window["".concat(e[t],"MutationObserver")];return!1}(),c={Listeners:{Basic:{},Global:{}},Initializers:{}};function f(t,e,n){var i,r=Array.prototype.slice.call(arguments,3);o()(window).off(e).on(e,function(e){i&&clearTimeout(i),i=setTimeout(function(){n.apply(null,r)},t||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(e){var t=o()(this).data("closable");e.stopPropagation(),""!==t?a.Motion.animateOut(o()(this),t,function(){o()(this).trigger("closed.zf")}):o()(this).fadeOut().trigger("closed.zf")},toggleFocusListener:function(){var e=o()(this).data("toggle-focus");o()("#".concat(e)).triggerHandler("toggle.zf.trigger",[o()(this)])}},c.Initializers.addOpenListener=function(e){e.off("click.zf.trigger",c.Listeners.Basic.openListener),e.on("click.zf.trigger","[data-open]",c.Listeners.Basic.openListener)},c.Initializers.addCloseListener=function(e){e.off("click.zf.trigger",c.Listeners.Basic.closeListener),e.on("click.zf.trigger","[data-close]",c.Listeners.Basic.closeListener)},c.Initializers.addToggleListener=function(e){e.off("click.zf.trigger",c.Listeners.Basic.toggleListener),e.on("click.zf.trigger","[data-toggle]",c.Listeners.Basic.toggleListener)},c.Initializers.addCloseableListener=function(e){e.off("close.zf.trigger",c.Listeners.Basic.closeableListener),e.on("close.zf.trigger","[data-closeable], [data-closable]",c.Listeners.Basic.closeableListener)},c.Initializers.addToggleFocusListener=function(e){e.off("focus.zf.trigger blur.zf.trigger",c.Listeners.Basic.toggleFocusListener),e.on("focus.zf.trigger blur.zf.trigger","[data-toggle-focus]",c.Listeners.Basic.toggleFocusListener)},c.Listeners.Global={resizeListener:function(e){l||e.each(function(){o()(this).triggerHandler("resizeme.zf.trigger")}),e.attr("data-events","resize")},scrollListener:function(e){l||e.each(function(){o()(this).triggerHandler("scrollme.zf.trigger")}),e.attr("data-events","scroll")},closeMeListener:function(e,t){var n=e.namespace.split(".")[0];o()("[data-".concat(n,"]")).not('[data-yeti-box="'.concat(t,'"]')).each(function(){var e=o()(this);e.triggerHandler("close.zf.trigger",[e])})}},c.Initializers.addClosemeListener=function(e){var t=o()("[data-yeti-box]"),n=["dropdown","tooltip","reveal"];if(e&&("string"==typeof e?n.push(e):"object"===s(e)&&"string"==typeof e[0]?n=n.concat(e):console.error("Plugin names must be strings")),t.length){var i=n.map(function(e){return"closeme.zf.".concat(e)}).join(" ");o()(window).off(i).on(i,c.Listeners.Global.closeMeListener)}},c.Initializers.addResizeListener=function(e){var t=o()("[data-resize]");t.length&&f(e,"resize.zf.trigger",c.Listeners.Global.resizeListener,t)},c.Initializers.addScrollListener=function(e){var t=o()("[data-scroll]");t.length&&f(e,"scroll.zf.trigger",c.Listeners.Global.scrollListener,t)},c.Initializers.addMutationEventsListener=function(e){if(!l)return!1;function t(e){var t=o()(e[0].target);switch(e[0].type){case"attributes":"scroll"===t.attr("data-events")&&"data-events"===e[0].attributeName&&t.triggerHandler("scrollme.zf.trigger",[t,window.pageYOffset]),"resize"===t.attr("data-events")&&"data-events"===e[0].attributeName&&t.triggerHandler("resizeme.zf.trigger",[t]),"style"===e[0].attributeName&&(t.closest("[data-mutate]").attr("data-events","mutate"),t.closest("[data-mutate]").triggerHandler("mutateme.zf.trigger",[t.closest("[data-mutate]")]));break;case"childList":t.closest("[data-mutate]").attr("data-events","mutate"),t.closest("[data-mutate]").triggerHandler("mutateme.zf.trigger",[t.closest("[data-mutate]")]);break;default:return!1}}var n=e.find("[data-resize], [data-scroll], [data-mutate]");if(n.length)for(var i=0;i<=n.length-1;i++){new l(t).observe(n[i],{attributes:!0,childList:!0,characterData:!1,subtree:!0,attributeFilter:["data-events","style"]})}},c.Initializers.addSimpleListeners=function(){var e=o()(document);c.Initializers.addOpenListener(e),c.Initializers.addCloseListener(e),c.Initializers.addToggleListener(e),c.Initializers.addCloseableListener(e),c.Initializers.addToggleFocusListener(e)},c.Initializers.addGlobalListeners=function(){var e=o()(document);c.Initializers.addMutationEventsListener(e),c.Initializers.addResizeListener(),c.Initializers.addScrollListener(),c.Initializers.addClosemeListener()},c.init=function(e,t){Object(r.onLoad)(e(window),function(){!0!==e.triggersInitialized&&(c.Initializers.addSimpleListeners(),c.Initializers.addGlobalListeners(),e.triggersInitialized=!0)}),t&&(t.Triggers=c,t.IHearYou=c.Initializers.addGlobalListeners)}},7:function(e,t,n){e.exports=n("./js/entries/plugins/foundation.interchange.js")},jquery:function(e,t){e.exports=o}},a.c=u,a.d=function(e,t,n){a.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(t,e){if(1&e&&(t=a(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(a.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)a.d(n,i,function(e){return t[e]}.bind(null,i));return n},a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,"a",t),t},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.p="",a(a.s=7);function a(e){if(u[e])return u[e].exports;var t=u[e]={i:e,l:!1,exports:{}};return s[e].call(t.exports,t,t.exports,a),t.l=!0,t.exports}var s,u});
2
2
  //# sourceMappingURL=foundation.interchange.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]/js/entries/plugins/foundation.interchange.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.interchange.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_jquery__","installedModules","__webpack_require__","m","r","__webpack_exports__","_foundation_core__WEBPACK_IMPORTED_MODULE_0__","d","_foundation_interchange__WEBPACK_IMPORTED_MODULE_1__","Foundation","plugin","Interchange","jquery__WEBPACK_IMPORTED_MODULE_0__","jquery__WEBPACK_IMPORTED_MODULE_0___default","n","_foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_1__","_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_2__","Plugin","element","options","this","$element","$","extend","defaults","data","rules","currentPath","className","_init","_events","MediaQuery","id","GetYoDigits","attr","data-resize","_parseOptions","_addBreakpoints","_generateRules","_reflow","_this","off","on","match","i","hasOwnProperty","rule","matchMedia","query","matches","replace","path","type","indexOf","console","log","concat","queries","SPECIAL_QUERIES","name","value","rulesList","slice","split","join","length","push","_this2","trigger","nodeName","css","background-image","get","response","html","foundation","landscape","portrait","retina","c","getter","o","Object","defineProperty","enumerable","Symbol","toStringTag","t","mode","__esModule","ns","create","key","bind","object","property","prototype","call","p","s","moduleId","l","modules"],"mappings":"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","file":"foundation.interchange.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(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"./foundation.util.mediaQuery\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.interchange\"] = factory(require(\"./foundation.core\"), require(\"./foundation.util.mediaQuery\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.interchange\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.mediaQuery\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__, __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 = 7);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__;","import { Foundation } from './foundation.core';\n\nimport { Interchange } from '../../foundation.interchange';\nFoundation.plugin(Interchange, 'Interchange');\n\nexport { Foundation, Interchange };\n","'use strict';\n\nimport $ from 'jquery';\nimport { MediaQuery } from './foundation.util.mediaQuery';\nimport { Plugin } from './foundation.core.plugin';\nimport { GetYoDigits } from './foundation.core.utils';\n\n\n/**\n * Interchange module.\n * @module foundation.interchange\n * @requires foundation.util.mediaQuery\n */\n\nclass Interchange extends Plugin {\n /**\n * Creates a new instance of Interchange.\n * @class\n * @name Interchange\n * @fires Interchange#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({}, Interchange.defaults, this.$element.data(), options);\n this.rules = [];\n this.currentPath = '';\n this.className = 'Interchange'; // ie9 back compat\n\n this._init();\n this._events();\n }\n\n /**\n * Initializes the Interchange plugin and calls functions to get interchange functioning on load.\n * @function\n * @private\n */\n _init() {\n MediaQuery._init();\n\n var id = this.$element[0].id || GetYoDigits(6, 'interchange');\n this.$element.attr({\n 'data-resize': id,\n 'id': id\n });\n\n this._parseOptions();\n this._addBreakpoints();\n this._generateRules();\n this._reflow();\n }\n\n /**\n * Initializes events for Interchange.\n * @function\n * @private\n */\n _events() {\n this.$element.off('resizeme.zf.trigger').on('resizeme.zf.trigger', () => this._reflow());\n }\n\n /**\n * Calls necessary functions to update Interchange upon DOM change\n * @function\n * @private\n */\n _reflow() {\n var match;\n\n // Iterate through each rule, but only save the last match\n for (var i in this.rules) {\n if(this.rules.hasOwnProperty(i)) {\n var rule = this.rules[i];\n if (window.matchMedia(rule.query).matches) {\n match = rule;\n }\n }\n }\n\n if (match) {\n this.replace(match.path);\n }\n }\n\n /**\n * Check options valifity and set defaults for:\n * - `data-interchange-type`: if set, enforce the type of replacement (auto, src, background or html)\n * @function\n * @private\n */\n _parseOptions() {\n var types = ['auto', 'src', 'background', 'html'];\n if (typeof this.options.type === 'undefined')\n this.options.type = 'auto';\n else if (types.indexOf(this.options.type) === -1) {\n console.log(`Warning: invalid value \"${this.options.type}\" for Interchange option \"type\"`);\n this.options.type = 'auto';\n }\n }\n\n /**\n * Gets the Foundation breakpoints and adds them to the Interchange.SPECIAL_QUERIES object.\n * @function\n * @private\n */\n _addBreakpoints() {\n for (var i in MediaQuery.queries) {\n if (MediaQuery.queries.hasOwnProperty(i)) {\n var query = MediaQuery.queries[i];\n Interchange.SPECIAL_QUERIES[query.name] = query.value;\n }\n }\n }\n\n /**\n * Checks the Interchange element for the provided media query + content pairings\n * @function\n * @private\n * @param {Object} element - jQuery object that is an Interchange instance\n * @returns {Array} scenarios - Array of objects that have 'mq' and 'path' keys with corresponding keys\n */\n _generateRules(element) {\n var rulesList = [];\n var rules;\n\n if (this.options.rules) {\n rules = this.options.rules;\n }\n else {\n rules = this.$element.data('interchange');\n }\n\n rules = typeof rules === 'string' ? rules.match(/\\[.*?, .*?\\]/g) : rules;\n\n for (var i in rules) {\n if(rules.hasOwnProperty(i)) {\n var rule = rules[i].slice(1, -1).split(', ');\n var path = rule.slice(0, -1).join('');\n var query = rule[rule.length - 1];\n\n if (Interchange.SPECIAL_QUERIES[query]) {\n query = Interchange.SPECIAL_QUERIES[query];\n }\n\n rulesList.push({\n path: path,\n query: query\n });\n }\n }\n\n this.rules = rulesList;\n }\n\n /**\n * Update the `src` property of an image, or change the HTML of a container, to the specified path.\n * @function\n * @param {String} path - Path to the image or HTML partial.\n * @fires Interchange#replaced\n */\n replace(path) {\n if (this.currentPath === path) return;\n\n var trigger = 'replaced.zf.interchange';\n\n var type = this.options.type;\n if (type === 'auto') {\n if (this.$element[0].nodeName === 'IMG')\n type = 'src';\n else if (path.match(/\\.(gif|jpe?g|png|svg|tiff)([?#].*)?/i))\n type = 'background';\n else\n type = 'html';\n }\n\n // Replacing images\n if (type === 'src') {\n this.$element.attr('src', path)\n .on('load', () => { this.currentPath = path; })\n .trigger(trigger);\n }\n // Replacing background images\n else if (type === 'background') {\n path = path.replace(/\\(/g, '%28').replace(/\\)/g, '%29');\n this.$element\n .css({ 'background-image': 'url(' + path + ')' })\n .trigger(trigger);\n }\n // Replacing HTML\n else if (type === 'html') {\n $.get(path, (response) => {\n this.$element\n .html(response)\n .trigger(trigger);\n $(response).foundation();\n this.currentPath = path;\n });\n }\n\n /**\n * Fires when content in an Interchange element is done being loaded.\n * @event Interchange#replaced\n */\n // this.$element.trigger('replaced.zf.interchange');\n }\n\n /**\n * Destroys an instance of interchange.\n * @function\n */\n _destroy() {\n this.$element.off('resizeme.zf.trigger')\n }\n}\n\n/**\n * Default settings for plugin\n */\nInterchange.defaults = {\n /**\n * Rules to be applied to Interchange elements. Set with the `data-interchange` array notation.\n * @option\n * @type {?array}\n * @default null\n */\n rules: null,\n\n /**\n * Type of the responsive ressource to replace. It can take the following options:\n * - `auto` (default): choose the type according to the element tag or the ressource extension,\n * - `src`: replace the `[src]` attribute, recommended for images `<img>`.\n * - `background`: replace the `background-image` CSS property.\n * - `html`: replace the element content.\n * @option\n * @type {string}\n * @default 'auto'\n */\n type: 'auto'\n};\n\nInterchange.SPECIAL_QUERIES = {\n 'landscape': 'screen and (orientation: landscape)',\n 'portrait': 'screen and (orientation: portrait)',\n 'retina': 'only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2/1), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx)'\n};\n\nexport {Interchange};\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]/js/entries/plugins/foundation.interchange.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.interchange.js"],"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","./js/entries/plugins/foundation.interchange.js","__webpack_exports__","Foundation","./js/foundation.interchange.js","_possibleConstructorReturn","self","call","_typeof","ReferenceError","_assertThisInitialized","Interchange","Constructor","protoProps","staticProps","_defineProperties","prototype","_createClass","options","$","key","this","$element","_events","value","_foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_1__","_init","_generateRules","_reflow","match","rules","hasOwnProperty","on","rule","console","type","path","MediaQuery","query","queries","concat","i","rulesList","SPECIAL_QUERIES","name","length","data","slice","split","join","_this2","trigger","response","attr","currentPath","css","c","d","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","t","mode","__esModule","ns","create","bind","n","object","property","p","s","moduleId","l","modules"],"mappings":"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","file":"foundation.interchange.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(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"./foundation.util.mediaQuery\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.interchange\"] = factory(require(\"./foundation.core\"), require(\"./foundation.util.mediaQuery\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.interchange\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.mediaQuery\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__, __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 = 7);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__;","import { Foundation } from './foundation.core';\n\nimport { Interchange } from '../../foundation.interchange';\nFoundation.plugin(Interchange, 'Interchange');\n\nexport { Foundation, Interchange };\n","'use strict';\n\nimport $ from 'jquery';\nimport { MediaQuery } from './foundation.util.mediaQuery';\nimport { Plugin } from './foundation.core.plugin';\nimport { GetYoDigits } from './foundation.core.utils';\n\n\n/**\n * Interchange module.\n * @module foundation.interchange\n * @requires foundation.util.mediaQuery\n */\n\nclass Interchange extends Plugin {\n /**\n * Creates a new instance of Interchange.\n * @class\n * @name Interchange\n * @fires Interchange#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({}, Interchange.defaults, this.$element.data(), options);\n this.rules = [];\n this.currentPath = '';\n this.className = 'Interchange'; // ie9 back compat\n\n this._init();\n this._events();\n }\n\n /**\n * Initializes the Interchange plugin and calls functions to get interchange functioning on load.\n * @function\n * @private\n */\n _init() {\n MediaQuery._init();\n\n var id = this.$element[0].id || GetYoDigits(6, 'interchange');\n this.$element.attr({\n 'data-resize': id,\n 'id': id\n });\n\n this._parseOptions();\n this._addBreakpoints();\n this._generateRules();\n this._reflow();\n }\n\n /**\n * Initializes events for Interchange.\n * @function\n * @private\n */\n _events() {\n this.$element.off('resizeme.zf.trigger').on('resizeme.zf.trigger', () => this._reflow());\n }\n\n /**\n * Calls necessary functions to update Interchange upon DOM change\n * @function\n * @private\n */\n _reflow() {\n var match;\n\n // Iterate through each rule, but only save the last match\n for (var i in this.rules) {\n if(this.rules.hasOwnProperty(i)) {\n var rule = this.rules[i];\n if (window.matchMedia(rule.query).matches) {\n match = rule;\n }\n }\n }\n\n if (match) {\n this.replace(match.path);\n }\n }\n\n /**\n * Check options valifity and set defaults for:\n * - `data-interchange-type`: if set, enforce the type of replacement (auto, src, background or html)\n * @function\n * @private\n */\n _parseOptions() {\n var types = ['auto', 'src', 'background', 'html'];\n if (typeof this.options.type === 'undefined')\n this.options.type = 'auto';\n else if (types.indexOf(this.options.type) === -1) {\n console.log(`Warning: invalid value \"${this.options.type}\" for Interchange option \"type\"`);\n this.options.type = 'auto';\n }\n }\n\n /**\n * Gets the Foundation breakpoints and adds them to the Interchange.SPECIAL_QUERIES object.\n * @function\n * @private\n */\n _addBreakpoints() {\n for (var i in MediaQuery.queries) {\n if (MediaQuery.queries.hasOwnProperty(i)) {\n var query = MediaQuery.queries[i];\n Interchange.SPECIAL_QUERIES[query.name] = query.value;\n }\n }\n }\n\n /**\n * Checks the Interchange element for the provided media query + content pairings\n * @function\n * @private\n * @param {Object} element - jQuery object that is an Interchange instance\n * @returns {Array} scenarios - Array of objects that have 'mq' and 'path' keys with corresponding keys\n */\n _generateRules(element) {\n var rulesList = [];\n var rules;\n\n if (this.options.rules) {\n rules = this.options.rules;\n }\n else {\n rules = this.$element.data('interchange');\n }\n\n rules = typeof rules === 'string' ? rules.match(/\\[.*?, .*?\\]/g) : rules;\n\n for (var i in rules) {\n if(rules.hasOwnProperty(i)) {\n var rule = rules[i].slice(1, -1).split(', ');\n var path = rule.slice(0, -1).join('');\n var query = rule[rule.length - 1];\n\n if (Interchange.SPECIAL_QUERIES[query]) {\n query = Interchange.SPECIAL_QUERIES[query];\n }\n\n rulesList.push({\n path: path,\n query: query\n });\n }\n }\n\n this.rules = rulesList;\n }\n\n /**\n * Update the `src` property of an image, or change the HTML of a container, to the specified path.\n * @function\n * @param {String} path - Path to the image or HTML partial.\n * @fires Interchange#replaced\n */\n replace(path) {\n if (this.currentPath === path) return;\n\n var trigger = 'replaced.zf.interchange';\n\n var type = this.options.type;\n if (type === 'auto') {\n if (this.$element[0].nodeName === 'IMG')\n type = 'src';\n else if (path.match(/\\.(gif|jpe?g|png|svg|tiff)([?#].*)?/i))\n type = 'background';\n else\n type = 'html';\n }\n\n // Replacing images\n if (type === 'src') {\n this.$element.attr('src', path)\n .on('load', () => { this.currentPath = path; })\n .trigger(trigger);\n }\n // Replacing background images\n else if (type === 'background') {\n path = path.replace(/\\(/g, '%28').replace(/\\)/g, '%29');\n this.$element\n .css({ 'background-image': 'url(' + path + ')' })\n .trigger(trigger);\n }\n // Replacing HTML\n else if (type === 'html') {\n $.get(path, (response) => {\n this.$element\n .html(response)\n .trigger(trigger);\n $(response).foundation();\n this.currentPath = path;\n });\n }\n\n /**\n * Fires when content in an Interchange element is done being loaded.\n * @event Interchange#replaced\n */\n // this.$element.trigger('replaced.zf.interchange');\n }\n\n /**\n * Destroys an instance of interchange.\n * @function\n */\n _destroy() {\n this.$element.off('resizeme.zf.trigger')\n }\n}\n\n/**\n * Default settings for plugin\n */\nInterchange.defaults = {\n /**\n * Rules to be applied to Interchange elements. Set with the `data-interchange` array notation.\n * @option\n * @type {?array}\n * @default null\n */\n rules: null,\n\n /**\n * Type of the responsive ressource to replace. It can take the following options:\n * - `auto` (default): choose the type according to the element tag or the ressource extension,\n * - `src`: replace the `[src]` attribute, recommended for images `<img>`.\n * - `background`: replace the `background-image` CSS property.\n * - `html`: replace the element content.\n * @option\n * @type {string}\n * @default 'auto'\n */\n type: 'auto'\n};\n\nInterchange.SPECIAL_QUERIES = {\n 'landscape': 'screen and (orientation: landscape)',\n 'portrait': 'screen and (orientation: portrait)',\n 'retina': 'only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2/1), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx)'\n};\n\nexport {Interchange};\n"]}
@@ -291,12 +291,7 @@ function (_Plugin) {
291
291
  }, {
292
292
  key: "_events",
293
293
  value: function _events() {
294
- var _this = this,
295
- $body = jquery__WEBPACK_IMPORTED_MODULE_0___default()('html, body'),
296
- opts = {
297
- duration: _this.options.animationDuration,
298
- easing: _this.options.animationEasing
299
- };
294
+ var _this = this;
300
295
 
301
296
  jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).one('load', function () {
302
297
  if (_this.options.deepLinking) {
@@ -834,7 +829,7 @@ Triggers.init = function ($, Foundation) {
834
829
  /*! no static exports found */
835
830
  /***/ (function(module, exports, __webpack_require__) {
836
831
 
837
- module.exports = __webpack_require__(/*! /Volumes/Data/Development/Foundation/foundation-sites/js/entries/plugins/foundation.magellan.js */"./js/entries/plugins/foundation.magellan.js");
832
+ module.exports = __webpack_require__(/*! /Users/joeworkman/Development/foundation-sites/js/entries/plugins/foundation.magellan.js */"./js/entries/plugins/foundation.magellan.js");
838
833
 
839
834
 
840
835
  /***/ }),
@@ -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.smoothScroll\"],\"amd\":\"./foundation.smoothScroll\",\"commonjs\":\"./foundation.smoothScroll\",\"commonjs2\":\"./foundation.smoothScroll\"}","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.magellan.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.magellan.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","Magellan","element","options","$element","$","extend","defaults","data","className","Triggers","init","_init","calcPoints","id","GetYoDigits","_this","$targets","$links","find","attr","$active","scrollPos","parseInt","window","pageYOffset","_events","body","document","html","documentElement","points","winHeight","Math","round","max","innerHeight","clientHeight","docHeight","scrollHeight","offsetHeight","each","$tar","pt","offset","top","threshold","targetPoint","push","$body","opts","duration","animationDuration","easing","animationEasing","one","deepLinking","location","hash","scrollToLoc","_updateActive","onLoadListener","onLoad","on","reflow","bind","e","preventDefault","arrival","getAttribute","_deepLinkScroll","loc","_inTransition","SmoothScroll","newScrollPos","isScrollingUp","activeIdx","length","visibleLinks","filter","p","i","$oldActive","activeHash","eq","isNewActive","is","isNewHash","removeClass","activeClass","addClass","history","pushState","url","pathname","search","updateHistory","replaceState","trigger","off","replace","Plugin","MutationObserver","prefixes","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","scrollListener","closeMeListener","pluginId","namespace","plugins","not","addClosemeListener","pluginName","yetiBoxes","plugNames","concat","console","error","listeners","map","name","join","debounceGlobalListener","debounce","listener","timer","args","Array","prototype","slice","call","arguments","clearTimeout","setTimeout","apply","addResizeListener","addScrollListener","addMutationEventsListener","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.magellan.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"./foundation.smoothScroll\"), require(\"./foundation.util.motion\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"./foundation.smoothScroll\", \"./foundation.util.motion\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.magellan\"] = factory(require(\"./foundation.core\"), require(\"./foundation.smoothScroll\"), require(\"./foundation.util.motion\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.magellan\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.smoothScroll\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.motion\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE__foundation_smoothScroll__, __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 = 8);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_smoothScroll__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__;","import { Foundation } from './foundation.core';\n\nimport { Magellan } from '../../foundation.magellan';\nFoundation.plugin(Magellan, 'Magellan');\n\nexport { Foundation, Magellan };\n","'use strict';\n\n\nimport $ from 'jquery';\nimport { Plugin } from './foundation.core.plugin';\nimport { onLoad, GetYoDigits } from './foundation.core.utils';\nimport { SmoothScroll } from './foundation.smoothScroll';\n\nimport { Triggers } from './foundation.util.triggers';\n\n/**\n * Magellan module.\n * @module foundation.magellan\n * @requires foundation.smoothScroll\n * @requires foundation.util.triggers\n */\n\nclass Magellan extends Plugin {\n /**\n * Creates a new instance of Magellan.\n * @class\n * @name Magellan\n * @fires Magellan#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({}, Magellan.defaults, this.$element.data(), options);\n this.className = 'Magellan'; // 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.calcPoints();\n }\n\n /**\n * Initializes the Magellan plugin and calls functions to get equalizer functioning on load.\n * @private\n */\n _init() {\n var id = this.$element[0].id || GetYoDigits(6, 'magellan');\n var _this = this;\n this.$targets = $('[data-magellan-target]');\n this.$links = this.$element.find('a');\n this.$element.attr({\n 'data-resize': id,\n 'data-scroll': id,\n 'id': id\n });\n this.$active = $();\n this.scrollPos = parseInt(window.pageYOffset, 10);\n\n this._events();\n }\n\n /**\n * Calculates an array of pixel values that are the demarcation lines between locations on the page.\n * Can be invoked if new elements are added or the size of a location changes.\n * @function\n */\n calcPoints() {\n var _this = this,\n body = document.body,\n html = document.documentElement;\n\n this.points = [];\n this.winHeight = Math.round(Math.max(window.innerHeight, html.clientHeight));\n this.docHeight = Math.round(Math.max(body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight));\n\n this.$targets.each(function(){\n var $tar = $(this),\n pt = Math.round($tar.offset().top - _this.options.threshold);\n $tar.targetPoint = pt;\n _this.points.push(pt);\n });\n }\n\n /**\n * Initializes events for Magellan.\n * @private\n */\n _events() {\n var _this = this,\n $body = $('html, body'),\n opts = {\n duration: _this.options.animationDuration,\n easing: _this.options.animationEasing\n };\n\n $(window).one('load', function(){\n if(_this.options.deepLinking){\n if(location.hash){\n _this.scrollToLoc(location.hash);\n }\n }\n _this.calcPoints();\n _this._updateActive();\n });\n\n _this.onLoadListener = onLoad($(window), function () {\n _this.$element\n .on({\n 'resizeme.zf.trigger': _this.reflow.bind(_this),\n 'scrollme.zf.trigger': _this._updateActive.bind(_this)\n })\n .on('click.zf.magellan', 'a[href^=\"#\"]', function (e) {\n e.preventDefault();\n var arrival = this.getAttribute('href');\n _this.scrollToLoc(arrival);\n });\n });\n\n this._deepLinkScroll = function(e) {\n if(_this.options.deepLinking) {\n _this.scrollToLoc(window.location.hash);\n }\n };\n\n $(window).on('hashchange', this._deepLinkScroll);\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 * @function\n */\n scrollToLoc(loc) {\n this._inTransition = true;\n var _this = this;\n\n var options = {\n animationEasing: this.options.animationEasing,\n animationDuration: this.options.animationDuration,\n threshold: this.options.threshold,\n offset: this.options.offset\n };\n\n SmoothScroll.scrollToLoc(loc, options, function() {\n _this._inTransition = false;\n })\n }\n\n /**\n * Calls necessary functions to update Magellan upon DOM change\n * @function\n */\n reflow() {\n this.calcPoints();\n this._updateActive();\n }\n\n /**\n * Updates the visibility of an active location link, and updates the url hash for the page, if deepLinking enabled.\n * @private\n * @function\n * @fires Magellan#update\n */\n _updateActive(/*evt, elem, scrollPos*/) {\n if(this._inTransition) return;\n\n const newScrollPos = parseInt(window.pageYOffset, 10);\n const isScrollingUp = this.scrollPos > newScrollPos;\n this.scrollPos = newScrollPos;\n\n let activeIdx;\n // Before the first point: no link\n if(newScrollPos < this.points[0]){ /* do nothing */ }\n // At the bottom of the page: last link\n else if(newScrollPos + this.winHeight === this.docHeight){ activeIdx = this.points.length - 1; }\n // Otherwhise, use the last visible link\n else{\n const visibleLinks = this.points.filter((p, i) => {\n return (p - this.options.offset - (isScrollingUp ? this.options.threshold : 0)) <= newScrollPos;\n });\n activeIdx = visibleLinks.length ? visibleLinks.length - 1 : 0;\n }\n\n // Get the new active link\n const $oldActive = this.$active;\n let activeHash = '';\n if(typeof activeIdx !== 'undefined'){\n this.$active = this.$links.filter('[href=\"#' + this.$targets.eq(activeIdx).data('magellan-target') + '\"]');\n if (this.$active.length) activeHash = this.$active[0].getAttribute('href');\n }else{\n this.$active = $();\n }\n const isNewActive = !(!this.$active.length && !$oldActive.length) && !this.$active.is($oldActive);\n const isNewHash = activeHash !== window.location.hash;\n\n // Update the active link element\n if(isNewActive) {\n $oldActive.removeClass(this.options.activeClass);\n this.$active.addClass(this.options.activeClass);\n }\n\n // Update the hash (it may have changed with the same active link)\n if(this.options.deepLinking && isNewHash){\n if(window.history.pushState){\n // Set or remove the hash (see: https://stackoverflow.com/a/5298684/4317384\n const url = activeHash ? activeHash : window.location.pathname + window.location.search;\n if(this.options.updateHistory){\n window.history.pushState({}, '', url);\n }else{\n window.history.replaceState({}, '', url);\n }\n }else{\n window.location.hash = activeHash;\n }\n }\n\n if (isNewActive) {\n /**\n * Fires when magellan is finished updating to the new active element.\n * @event Magellan#update\n */\n \tthis.$element.trigger('update.zf.magellan', [this.$active]);\n\t }\n }\n\n /**\n * Destroys an instance of Magellan and resets the url of the window.\n * @function\n */\n _destroy() {\n this.$element.off('.zf.trigger .zf.magellan')\n .find(`.${this.options.activeClass}`).removeClass(this.options.activeClass);\n\n if(this.options.deepLinking){\n var hash = this.$active[0].getAttribute('href');\n window.location.hash.replace(hash, '');\n }\n\n $(window).off('hashchange', this._deepLinkScroll)\n if (this.onLoadListener) $(window).off(this.onLoadListener);\n }\n}\n\n/**\n * Default settings for plugin\n */\nMagellan.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 * Class applied to the active locations link on the magellan container.\n * @option\n * @type {string}\n * @default 'is-active'\n */\n activeClass: 'is-active',\n /**\n * Allows the script to manipulate the url of the current page, and if supported, alter the history.\n * @option\n * @type {boolean}\n * @default false\n */\n deepLinking: false,\n /**\n * Update the browser history with the active link, if deep linking is enabled.\n * @option\n * @type {boolean}\n * @default false\n */\n updateHistory: false,\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 {Magellan};\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
+ {"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.smoothScroll\"],\"amd\":\"./foundation.smoothScroll\",\"commonjs\":\"./foundation.smoothScroll\",\"commonjs2\":\"./foundation.smoothScroll\"}","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.magellan.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.magellan.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","Magellan","element","options","$element","$","extend","defaults","data","className","Triggers","init","_init","calcPoints","id","GetYoDigits","_this","$targets","$links","find","attr","$active","scrollPos","parseInt","window","pageYOffset","_events","body","document","html","documentElement","points","winHeight","Math","round","max","innerHeight","clientHeight","docHeight","scrollHeight","offsetHeight","each","$tar","pt","offset","top","threshold","targetPoint","push","one","deepLinking","location","hash","scrollToLoc","_updateActive","onLoadListener","onLoad","on","reflow","bind","e","preventDefault","arrival","getAttribute","_deepLinkScroll","loc","_inTransition","animationEasing","animationDuration","SmoothScroll","newScrollPos","isScrollingUp","activeIdx","length","visibleLinks","filter","p","i","$oldActive","activeHash","eq","isNewActive","is","isNewHash","removeClass","activeClass","addClass","history","pushState","url","pathname","search","updateHistory","replaceState","trigger","off","replace","Plugin","MutationObserver","prefixes","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","scrollListener","closeMeListener","pluginId","namespace","plugins","not","addClosemeListener","pluginName","yetiBoxes","plugNames","concat","console","error","listeners","map","name","join","debounceGlobalListener","debounce","listener","timer","args","Array","prototype","slice","call","arguments","clearTimeout","setTimeout","apply","addResizeListener","addScrollListener","addMutationEventsListener","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.magellan.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"./foundation.smoothScroll\"), require(\"./foundation.util.motion\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"./foundation.smoothScroll\", \"./foundation.util.motion\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.magellan\"] = factory(require(\"./foundation.core\"), require(\"./foundation.smoothScroll\"), require(\"./foundation.util.motion\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.magellan\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.smoothScroll\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.motion\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE__foundation_smoothScroll__, __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 = 8);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_smoothScroll__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__;","import { Foundation } from './foundation.core';\n\nimport { Magellan } from '../../foundation.magellan';\nFoundation.plugin(Magellan, 'Magellan');\n\nexport { Foundation, Magellan };\n","'use strict';\n\n\nimport $ from 'jquery';\nimport { Plugin } from './foundation.core.plugin';\nimport { onLoad, GetYoDigits } from './foundation.core.utils';\nimport { SmoothScroll } from './foundation.smoothScroll';\n\nimport { Triggers } from './foundation.util.triggers';\n\n/**\n * Magellan module.\n * @module foundation.magellan\n * @requires foundation.smoothScroll\n * @requires foundation.util.triggers\n */\n\nclass Magellan extends Plugin {\n /**\n * Creates a new instance of Magellan.\n * @class\n * @name Magellan\n * @fires Magellan#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({}, Magellan.defaults, this.$element.data(), options);\n this.className = 'Magellan'; // 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.calcPoints();\n }\n\n /**\n * Initializes the Magellan plugin and calls functions to get equalizer functioning on load.\n * @private\n */\n _init() {\n var id = this.$element[0].id || GetYoDigits(6, 'magellan');\n var _this = this;\n this.$targets = $('[data-magellan-target]');\n this.$links = this.$element.find('a');\n this.$element.attr({\n 'data-resize': id,\n 'data-scroll': id,\n 'id': id\n });\n this.$active = $();\n this.scrollPos = parseInt(window.pageYOffset, 10);\n\n this._events();\n }\n\n /**\n * Calculates an array of pixel values that are the demarcation lines between locations on the page.\n * Can be invoked if new elements are added or the size of a location changes.\n * @function\n */\n calcPoints() {\n var _this = this,\n body = document.body,\n html = document.documentElement;\n\n this.points = [];\n this.winHeight = Math.round(Math.max(window.innerHeight, html.clientHeight));\n this.docHeight = Math.round(Math.max(body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight));\n\n this.$targets.each(function(){\n var $tar = $(this),\n pt = Math.round($tar.offset().top - _this.options.threshold);\n $tar.targetPoint = pt;\n _this.points.push(pt);\n });\n }\n\n /**\n * Initializes events for Magellan.\n * @private\n */\n _events() {\n var _this = this;\n\n $(window).one('load', function(){\n if(_this.options.deepLinking){\n if(location.hash){\n _this.scrollToLoc(location.hash);\n }\n }\n _this.calcPoints();\n _this._updateActive();\n });\n\n _this.onLoadListener = onLoad($(window), function () {\n _this.$element\n .on({\n 'resizeme.zf.trigger': _this.reflow.bind(_this),\n 'scrollme.zf.trigger': _this._updateActive.bind(_this)\n })\n .on('click.zf.magellan', 'a[href^=\"#\"]', function (e) {\n e.preventDefault();\n var arrival = this.getAttribute('href');\n _this.scrollToLoc(arrival);\n });\n });\n\n this._deepLinkScroll = function(e) {\n if(_this.options.deepLinking) {\n _this.scrollToLoc(window.location.hash);\n }\n };\n\n $(window).on('hashchange', this._deepLinkScroll);\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 * @function\n */\n scrollToLoc(loc) {\n this._inTransition = true;\n var _this = this;\n\n var options = {\n animationEasing: this.options.animationEasing,\n animationDuration: this.options.animationDuration,\n threshold: this.options.threshold,\n offset: this.options.offset\n };\n\n SmoothScroll.scrollToLoc(loc, options, function() {\n _this._inTransition = false;\n })\n }\n\n /**\n * Calls necessary functions to update Magellan upon DOM change\n * @function\n */\n reflow() {\n this.calcPoints();\n this._updateActive();\n }\n\n /**\n * Updates the visibility of an active location link, and updates the url hash for the page, if deepLinking enabled.\n * @private\n * @function\n * @fires Magellan#update\n */\n _updateActive(/*evt, elem, scrollPos*/) {\n if(this._inTransition) return;\n\n const newScrollPos = parseInt(window.pageYOffset, 10);\n const isScrollingUp = this.scrollPos > newScrollPos;\n this.scrollPos = newScrollPos;\n\n let activeIdx;\n // Before the first point: no link\n if(newScrollPos < this.points[0]){ /* do nothing */ }\n // At the bottom of the page: last link\n else if(newScrollPos + this.winHeight === this.docHeight){ activeIdx = this.points.length - 1; }\n // Otherwhise, use the last visible link\n else{\n const visibleLinks = this.points.filter((p, i) => {\n return (p - this.options.offset - (isScrollingUp ? this.options.threshold : 0)) <= newScrollPos;\n });\n activeIdx = visibleLinks.length ? visibleLinks.length - 1 : 0;\n }\n\n // Get the new active link\n const $oldActive = this.$active;\n let activeHash = '';\n if(typeof activeIdx !== 'undefined'){\n this.$active = this.$links.filter('[href=\"#' + this.$targets.eq(activeIdx).data('magellan-target') + '\"]');\n if (this.$active.length) activeHash = this.$active[0].getAttribute('href');\n }else{\n this.$active = $();\n }\n const isNewActive = !(!this.$active.length && !$oldActive.length) && !this.$active.is($oldActive);\n const isNewHash = activeHash !== window.location.hash;\n\n // Update the active link element\n if(isNewActive) {\n $oldActive.removeClass(this.options.activeClass);\n this.$active.addClass(this.options.activeClass);\n }\n\n // Update the hash (it may have changed with the same active link)\n if(this.options.deepLinking && isNewHash){\n if(window.history.pushState){\n // Set or remove the hash (see: https://stackoverflow.com/a/5298684/4317384\n const url = activeHash ? activeHash : window.location.pathname + window.location.search;\n if(this.options.updateHistory){\n window.history.pushState({}, '', url);\n }else{\n window.history.replaceState({}, '', url);\n }\n }else{\n window.location.hash = activeHash;\n }\n }\n\n if (isNewActive) {\n /**\n * Fires when magellan is finished updating to the new active element.\n * @event Magellan#update\n */\n \tthis.$element.trigger('update.zf.magellan', [this.$active]);\n\t }\n }\n\n /**\n * Destroys an instance of Magellan and resets the url of the window.\n * @function\n */\n _destroy() {\n this.$element.off('.zf.trigger .zf.magellan')\n .find(`.${this.options.activeClass}`).removeClass(this.options.activeClass);\n\n if(this.options.deepLinking){\n var hash = this.$active[0].getAttribute('href');\n window.location.hash.replace(hash, '');\n }\n\n $(window).off('hashchange', this._deepLinkScroll)\n if (this.onLoadListener) $(window).off(this.onLoadListener);\n }\n}\n\n/**\n * Default settings for plugin\n */\nMagellan.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 * Class applied to the active locations link on the magellan container.\n * @option\n * @type {string}\n * @default 'is-active'\n */\n activeClass: 'is-active',\n /**\n * Allows the script to manipulate the url of the current page, and if supported, alter the history.\n * @option\n * @type {boolean}\n * @default false\n */\n deepLinking: false,\n /**\n * Update the browser history with the active link, if deep linking is enabled.\n * @option\n * @type {boolean}\n * @default false\n */\n updateHistory: false,\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 {Magellan};\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.smoothScroll"),require("./foundation.util.motion"),require("jquery")):"function"==typeof define&&define.amd?define(["./foundation.core","./foundation.smoothScroll","./foundation.util.motion","jquery"],e):"object"==typeof exports?exports["foundation.magellan"]=e(require("./foundation.core"),require("./foundation.smoothScroll"),require("./foundation.util.motion"),require("jquery")):(t.__FOUNDATION_EXTERNAL__=t.__FOUNDATION_EXTERNAL__||{},t.__FOUNDATION_EXTERNAL__["foundation.magellan"]=e(t.__FOUNDATION_EXTERNAL__["foundation.core"],t.__FOUNDATION_EXTERNAL__["foundation.smoothScroll"],t.__FOUNDATION_EXTERNAL__["foundation.util.motion"],t.jQuery))}(window,function(i,n,o,r){return l={},a.m=s={"./foundation.core":function(t,e){t.exports=i},"./foundation.smoothScroll":function(t,e){t.exports=n},"./foundation.util.motion":function(t,e){t.exports=o},"./js/entries/plugins/foundation.magellan.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.magellan.js");i.d(e,"Magellan",function(){return o.Magellan}),n.Foundation.plugin(o.Magellan,"Magellan")},"./js/foundation.magellan.js":function(t,e,i){"use strict";i.r(e),i.d(e,"Magellan",function(){return g});var n=i("jquery"),u=i.n(n),o=i("./foundation.core"),r=i("./foundation.smoothScroll"),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 c(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 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 g=function(){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))}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&&l(t.prototype,e),i&&l(t,i)}(i,[{key:"_setup",value:function(t,e){this.$element=t,this.options=u.a.extend({},i.defaults,this.$element.data(),e),this.className="Magellan",a.Triggers.init(u.a),this._init(),this.calcPoints()}},{key:"_init",value:function(){var t=this.$element[0].id||Object(o.GetYoDigits)(6,"magellan");this.$targets=u()("[data-magellan-target]"),this.$links=this.$element.find("a"),this.$element.attr({"data-resize":t,"data-scroll":t,id:t}),this.$active=u()(),this.scrollPos=parseInt(window.pageYOffset,10),this._events()}},{key:"calcPoints",value:function(){var i=this,t=document.body,e=document.documentElement;this.points=[],this.winHeight=Math.round(Math.max(window.innerHeight,e.clientHeight)),this.docHeight=Math.round(Math.max(t.scrollHeight,t.offsetHeight,e.clientHeight,e.scrollHeight,e.offsetHeight)),this.$targets.each(function(){var t=u()(this),e=Math.round(t.offset().top-i.options.threshold);t.targetPoint=e,i.points.push(e)})}},{key:"_events",value:function(){var i=this;u()("html, body"),i.options.animationDuration,i.options.animationEasing;u()(window).one("load",function(){i.options.deepLinking&&location.hash&&i.scrollToLoc(location.hash),i.calcPoints(),i._updateActive()}),i.onLoadListener=Object(o.onLoad)(u()(window),function(){i.$element.on({"resizeme.zf.trigger":i.reflow.bind(i),"scrollme.zf.trigger":i._updateActive.bind(i)}).on("click.zf.magellan",'a[href^="#"]',function(t){t.preventDefault();var e=this.getAttribute("href");i.scrollToLoc(e)})}),this._deepLinkScroll=function(t){i.options.deepLinking&&i.scrollToLoc(window.location.hash)},u()(window).on("hashchange",this._deepLinkScroll)}},{key:"scrollToLoc",value:function(t){this._inTransition=!0;var e=this,i={animationEasing:this.options.animationEasing,animationDuration:this.options.animationDuration,threshold:this.options.threshold,offset:this.options.offset};r.SmoothScroll.scrollToLoc(t,i,function(){e._inTransition=!1})}},{key:"reflow",value:function(){this.calcPoints(),this._updateActive()}},{key:"_updateActive",value:function(){var i=this;if(!this._inTransition){var t,n=parseInt(window.pageYOffset,10),o=this.scrollPos>n;if((this.scrollPos=n)<this.points[0]);else if(n+this.winHeight===this.docHeight)t=this.points.length-1;else{var e=this.points.filter(function(t,e){return t-i.options.offset-(o?i.options.threshold:0)<=n});t=e.length?e.length-1:0}var r=this.$active,a="";void 0!==t?(this.$active=this.$links.filter('[href="#'+this.$targets.eq(t).data("magellan-target")+'"]'),this.$active.length&&(a=this.$active[0].getAttribute("href"))):this.$active=u()();var s=!(!this.$active.length&&!r.length||this.$active.is(r)),l=a!==window.location.hash;if(s&&(r.removeClass(this.options.activeClass),this.$active.addClass(this.options.activeClass)),this.options.deepLinking&&l)if(window.history.pushState){var c=a||window.location.pathname+window.location.search;this.options.updateHistory?window.history.pushState({},"",c):window.history.replaceState({},"",c)}else window.location.hash=a;s&&this.$element.trigger("update.zf.magellan",[this.$active])}}},{key:"_destroy",value:function(){if(this.$element.off(".zf.trigger .zf.magellan").find(".".concat(this.options.activeClass)).removeClass(this.options.activeClass),this.options.deepLinking){var t=this.$active[0].getAttribute("href");window.location.hash.replace(t,"")}u()(window).off("hashchange",this._deepLinkScroll),this.onLoadListener&&u()(window).off(this.onLoadListener)}}]),i}();g.defaults={animationDuration:500,animationEasing:"linear",threshold:50,activeClass:"is-active",deepLinking:!1,updateHistory:!1,offset:0}},"./js/foundation.util.triggers.js":function(t,e,i){"use strict";i.r(e),i.d(e,"Triggers",function(){return u});var n=i("jquery"),r=i.n(n),o=i("./foundation.core"),a=i("./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,i){e.data(i).split(" ").forEach(function(t){r()("#".concat(t))["close"===i?"trigger":"triggerHandler"]("".concat(i,".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,i){var n,o=Array.prototype.slice.call(arguments,3);r()(window).off(t).on(t,function(t){n&&clearTimeout(n),n=setTimeout(function(){i.apply(null,o)},e||10)})}u.Listeners.Basic={openListener:function(){l(r()(this),"open")},closeListener:function(){r()(this).data("close")?l(r()(this),"close"):r()(this).trigger("close.zf.trigger")},toggleListener:function(){r()(this).data("toggle")?l(r()(this),"toggle"):r()(this).trigger("toggle.zf.trigger")},closeableListener:function(t){var e=r()(this).data("closable");t.stopPropagation(),""!==e?a.Motion.animateOut(r()(this),e,function(){r()(this).trigger("closed.zf")}):r()(this).fadeOut().trigger("closed.zf")},toggleFocusListener:function(){var t=r()(this).data("toggle-focus");r()("#".concat(t)).triggerHandler("toggle.zf.trigger",[r()(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(){r()(this).triggerHandler("resizeme.zf.trigger")}),t.attr("data-events","resize")},scrollListener:function(t){c||t.each(function(){r()(this).triggerHandler("scrollme.zf.trigger")}),t.attr("data-events","scroll")},closeMeListener:function(t,e){var i=t.namespace.split(".")[0];r()("[data-".concat(i,"]")).not('[data-yeti-box="'.concat(e,'"]')).each(function(){var t=r()(this);t.triggerHandler("close.zf.trigger",[t])})}},u.Initializers.addClosemeListener=function(t){var e=r()("[data-yeti-box]"),i=["dropdown","tooltip","reveal"];if(t&&("string"==typeof t?i.push(t):"object"===s(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(" ");r()(window).off(n).on(n,u.Listeners.Global.closeMeListener)}},u.Initializers.addResizeListener=function(t){var e=r()("[data-resize]");e.length&&f(t,"resize.zf.trigger",u.Listeners.Global.resizeListener,e)},u.Initializers.addScrollListener=function(t){var e=r()("[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=r()(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 c(e).observe(i[n],{attributes:!0,childList:!0,characterData:!1,subtree:!0,attributeFilter:["data-events","style"]})}},u.Initializers.addSimpleListeners=function(){var t=r()(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=r()(document);u.Initializers.addMutationEventsListener(t),u.Initializers.addResizeListener(),u.Initializers.addScrollListener(),u.Initializers.addClosemeListener()},u.init=function(t,e){Object(o.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)}},8:function(t,e,i){t.exports=i("./js/entries/plugins/foundation.magellan.js")},jquery:function(t,e){t.exports=r}},a.c=l,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=8);function a(t){if(l[t])return l[t].exports;var e=l[t]={i:t,l:!1,exports:{}};return s[t].call(e.exports,e,e.exports,a),e.l=!0,e.exports}var s,l});
1
+ !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("./foundation.core"),require("./foundation.smoothScroll"),require("./foundation.util.motion"),require("jquery")):"function"==typeof define&&define.amd?define(["./foundation.core","./foundation.smoothScroll","./foundation.util.motion","jquery"],e):"object"==typeof exports?exports["foundation.magellan"]=e(require("./foundation.core"),require("./foundation.smoothScroll"),require("./foundation.util.motion"),require("jquery")):(t.__FOUNDATION_EXTERNAL__=t.__FOUNDATION_EXTERNAL__||{},t.__FOUNDATION_EXTERNAL__["foundation.magellan"]=e(t.__FOUNDATION_EXTERNAL__["foundation.core"],t.__FOUNDATION_EXTERNAL__["foundation.smoothScroll"],t.__FOUNDATION_EXTERNAL__["foundation.util.motion"],t.jQuery))}(window,function(i,n,o,r){return l={},a.m=s={"./foundation.core":function(t,e){t.exports=i},"./foundation.smoothScroll":function(t,e){t.exports=n},"./foundation.util.motion":function(t,e){t.exports=o},"./js/entries/plugins/foundation.magellan.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.magellan.js");i.d(e,"Magellan",function(){return o.Magellan}),n.Foundation.plugin(o.Magellan,"Magellan")},"./js/foundation.magellan.js":function(t,e,i){"use strict";i.r(e),i.d(e,"Magellan",function(){return g});var n=i("jquery"),u=i.n(n),o=i("./foundation.core"),r=i("./foundation.smoothScroll"),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 c(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 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 g=function(){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))}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&&l(t.prototype,e),i&&l(t,i)}(i,[{key:"_setup",value:function(t,e){this.$element=t,this.options=u.a.extend({},i.defaults,this.$element.data(),e),this.className="Magellan",a.Triggers.init(u.a),this._init(),this.calcPoints()}},{key:"_init",value:function(){var t=this.$element[0].id||Object(o.GetYoDigits)(6,"magellan");this.$targets=u()("[data-magellan-target]"),this.$links=this.$element.find("a"),this.$element.attr({"data-resize":t,"data-scroll":t,id:t}),this.$active=u()(),this.scrollPos=parseInt(window.pageYOffset,10),this._events()}},{key:"calcPoints",value:function(){var i=this,t=document.body,e=document.documentElement;this.points=[],this.winHeight=Math.round(Math.max(window.innerHeight,e.clientHeight)),this.docHeight=Math.round(Math.max(t.scrollHeight,t.offsetHeight,e.clientHeight,e.scrollHeight,e.offsetHeight)),this.$targets.each(function(){var t=u()(this),e=Math.round(t.offset().top-i.options.threshold);t.targetPoint=e,i.points.push(e)})}},{key:"_events",value:function(){var i=this;u()(window).one("load",function(){i.options.deepLinking&&location.hash&&i.scrollToLoc(location.hash),i.calcPoints(),i._updateActive()}),i.onLoadListener=Object(o.onLoad)(u()(window),function(){i.$element.on({"resizeme.zf.trigger":i.reflow.bind(i),"scrollme.zf.trigger":i._updateActive.bind(i)}).on("click.zf.magellan",'a[href^="#"]',function(t){t.preventDefault();var e=this.getAttribute("href");i.scrollToLoc(e)})}),this._deepLinkScroll=function(t){i.options.deepLinking&&i.scrollToLoc(window.location.hash)},u()(window).on("hashchange",this._deepLinkScroll)}},{key:"scrollToLoc",value:function(t){this._inTransition=!0;var e=this,i={animationEasing:this.options.animationEasing,animationDuration:this.options.animationDuration,threshold:this.options.threshold,offset:this.options.offset};r.SmoothScroll.scrollToLoc(t,i,function(){e._inTransition=!1})}},{key:"reflow",value:function(){this.calcPoints(),this._updateActive()}},{key:"_updateActive",value:function(){var i=this;if(!this._inTransition){var t,n=parseInt(window.pageYOffset,10),o=this.scrollPos>n;if((this.scrollPos=n)<this.points[0]);else if(n+this.winHeight===this.docHeight)t=this.points.length-1;else{var e=this.points.filter(function(t,e){return t-i.options.offset-(o?i.options.threshold:0)<=n});t=e.length?e.length-1:0}var r=this.$active,a="";void 0!==t?(this.$active=this.$links.filter('[href="#'+this.$targets.eq(t).data("magellan-target")+'"]'),this.$active.length&&(a=this.$active[0].getAttribute("href"))):this.$active=u()();var s=!(!this.$active.length&&!r.length||this.$active.is(r)),l=a!==window.location.hash;if(s&&(r.removeClass(this.options.activeClass),this.$active.addClass(this.options.activeClass)),this.options.deepLinking&&l)if(window.history.pushState){var c=a||window.location.pathname+window.location.search;this.options.updateHistory?window.history.pushState({},"",c):window.history.replaceState({},"",c)}else window.location.hash=a;s&&this.$element.trigger("update.zf.magellan",[this.$active])}}},{key:"_destroy",value:function(){if(this.$element.off(".zf.trigger .zf.magellan").find(".".concat(this.options.activeClass)).removeClass(this.options.activeClass),this.options.deepLinking){var t=this.$active[0].getAttribute("href");window.location.hash.replace(t,"")}u()(window).off("hashchange",this._deepLinkScroll),this.onLoadListener&&u()(window).off(this.onLoadListener)}}]),i}();g.defaults={animationDuration:500,animationEasing:"linear",threshold:50,activeClass:"is-active",deepLinking:!1,updateHistory:!1,offset:0}},"./js/foundation.util.triggers.js":function(t,e,i){"use strict";i.r(e),i.d(e,"Triggers",function(){return u});var n=i("jquery"),r=i.n(n),o=i("./foundation.core"),a=i("./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,i){e.data(i).split(" ").forEach(function(t){r()("#".concat(t))["close"===i?"trigger":"triggerHandler"]("".concat(i,".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,i){var n,o=Array.prototype.slice.call(arguments,3);r()(window).off(t).on(t,function(t){n&&clearTimeout(n),n=setTimeout(function(){i.apply(null,o)},e||10)})}u.Listeners.Basic={openListener:function(){l(r()(this),"open")},closeListener:function(){r()(this).data("close")?l(r()(this),"close"):r()(this).trigger("close.zf.trigger")},toggleListener:function(){r()(this).data("toggle")?l(r()(this),"toggle"):r()(this).trigger("toggle.zf.trigger")},closeableListener:function(t){var e=r()(this).data("closable");t.stopPropagation(),""!==e?a.Motion.animateOut(r()(this),e,function(){r()(this).trigger("closed.zf")}):r()(this).fadeOut().trigger("closed.zf")},toggleFocusListener:function(){var t=r()(this).data("toggle-focus");r()("#".concat(t)).triggerHandler("toggle.zf.trigger",[r()(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(){r()(this).triggerHandler("resizeme.zf.trigger")}),t.attr("data-events","resize")},scrollListener:function(t){c||t.each(function(){r()(this).triggerHandler("scrollme.zf.trigger")}),t.attr("data-events","scroll")},closeMeListener:function(t,e){var i=t.namespace.split(".")[0];r()("[data-".concat(i,"]")).not('[data-yeti-box="'.concat(e,'"]')).each(function(){var t=r()(this);t.triggerHandler("close.zf.trigger",[t])})}},u.Initializers.addClosemeListener=function(t){var e=r()("[data-yeti-box]"),i=["dropdown","tooltip","reveal"];if(t&&("string"==typeof t?i.push(t):"object"===s(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(" ");r()(window).off(n).on(n,u.Listeners.Global.closeMeListener)}},u.Initializers.addResizeListener=function(t){var e=r()("[data-resize]");e.length&&f(t,"resize.zf.trigger",u.Listeners.Global.resizeListener,e)},u.Initializers.addScrollListener=function(t){var e=r()("[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=r()(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 c(e).observe(i[n],{attributes:!0,childList:!0,characterData:!1,subtree:!0,attributeFilter:["data-events","style"]})}},u.Initializers.addSimpleListeners=function(){var t=r()(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=r()(document);u.Initializers.addMutationEventsListener(t),u.Initializers.addResizeListener(),u.Initializers.addScrollListener(),u.Initializers.addClosemeListener()},u.init=function(t,e){Object(o.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)}},8:function(t,e,i){t.exports=i("./js/entries/plugins/foundation.magellan.js")},jquery:function(t,e){t.exports=r}},a.c=l,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=8);function a(t){if(l[t])return l[t].exports;var e=l[t]={i:t,l:!1,exports:{}};return s[t].call(e.exports,e,e.exports,a),e.l=!0,e.exports}var s,l});
2
2
  //# sourceMappingURL=foundation.magellan.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.smoothScroll\"],\"amd\":\"./foundation.smoothScroll\",\"commonjs\":\"./foundation.smoothScroll\",\"commonjs2\":\"./foundation.smoothScroll\"}","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.magellan.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.magellan.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_smoothScroll__","__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_magellan__WEBPACK_IMPORTED_MODULE_1__","Foundation","plugin","Magellan","jquery__WEBPACK_IMPORTED_MODULE_0__","jquery__WEBPACK_IMPORTED_MODULE_0___default","n","_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__","_foundation_smoothScroll__WEBPACK_IMPORTED_MODULE_2__","_foundation_util_triggers__WEBPACK_IMPORTED_MODULE_3__","Plugin","element","options","this","$element","$","extend","defaults","data","className","Triggers","init","_init","calcPoints","id","GetYoDigits","$targets","$links","find","attr","data-resize","data-scroll","$active","scrollPos","parseInt","pageYOffset","_events","_this","body","document","html","documentElement","points","winHeight","Math","round","max","innerHeight","clientHeight","docHeight","scrollHeight","offsetHeight","each","$tar","pt","offset","top","threshold","targetPoint","push","animationDuration","animationEasing","one","deepLinking","location","hash","scrollToLoc","_updateActive","onLoadListener","onLoad","on","resizeme.zf.trigger","reflow","bind","scrollme.zf.trigger","e","preventDefault","arrival","getAttribute","_deepLinkScroll","loc","_inTransition","SmoothScroll","_this2","activeIdx","newScrollPos","isScrollingUp","length","visibleLinks","filter","p","i","$oldActive","activeHash","eq","isNewActive","is","isNewHash","removeClass","activeClass","addClass","history","pushState","url","pathname","search","updateHistory","replaceState","trigger","off","concat","replace","_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__","_foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__","triggers","el","type","split","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","scrollListener","closeMeListener","pluginId","namespace","not","addClosemeListener","pluginName","yetiBoxes","plugNames","_typeof","console","error","listeners","map","name","join","addResizeListener","addScrollListener","addMutationEventsListener","listeningElementsMutation","mutationRecordsList","$target","target","attributeName","closest","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","object","property","hasOwnProperty","s","moduleId","l","modules"],"mappings":"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","file":"foundation.magellan.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.smoothScroll\"), require(\"./foundation.util.motion\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"./foundation.smoothScroll\", \"./foundation.util.motion\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.magellan\"] = factory(require(\"./foundation.core\"), require(\"./foundation.smoothScroll\"), require(\"./foundation.util.motion\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.magellan\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.smoothScroll\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.motion\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE__foundation_smoothScroll__, __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 = 8);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_smoothScroll__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__;","import { Foundation } from './foundation.core';\n\nimport { Magellan } from '../../foundation.magellan';\nFoundation.plugin(Magellan, 'Magellan');\n\nexport { Foundation, Magellan };\n","'use strict';\n\n\nimport $ from 'jquery';\nimport { Plugin } from './foundation.core.plugin';\nimport { onLoad, GetYoDigits } from './foundation.core.utils';\nimport { SmoothScroll } from './foundation.smoothScroll';\n\nimport { Triggers } from './foundation.util.triggers';\n\n/**\n * Magellan module.\n * @module foundation.magellan\n * @requires foundation.smoothScroll\n * @requires foundation.util.triggers\n */\n\nclass Magellan extends Plugin {\n /**\n * Creates a new instance of Magellan.\n * @class\n * @name Magellan\n * @fires Magellan#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({}, Magellan.defaults, this.$element.data(), options);\n this.className = 'Magellan'; // 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.calcPoints();\n }\n\n /**\n * Initializes the Magellan plugin and calls functions to get equalizer functioning on load.\n * @private\n */\n _init() {\n var id = this.$element[0].id || GetYoDigits(6, 'magellan');\n var _this = this;\n this.$targets = $('[data-magellan-target]');\n this.$links = this.$element.find('a');\n this.$element.attr({\n 'data-resize': id,\n 'data-scroll': id,\n 'id': id\n });\n this.$active = $();\n this.scrollPos = parseInt(window.pageYOffset, 10);\n\n this._events();\n }\n\n /**\n * Calculates an array of pixel values that are the demarcation lines between locations on the page.\n * Can be invoked if new elements are added or the size of a location changes.\n * @function\n */\n calcPoints() {\n var _this = this,\n body = document.body,\n html = document.documentElement;\n\n this.points = [];\n this.winHeight = Math.round(Math.max(window.innerHeight, html.clientHeight));\n this.docHeight = Math.round(Math.max(body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight));\n\n this.$targets.each(function(){\n var $tar = $(this),\n pt = Math.round($tar.offset().top - _this.options.threshold);\n $tar.targetPoint = pt;\n _this.points.push(pt);\n });\n }\n\n /**\n * Initializes events for Magellan.\n * @private\n */\n _events() {\n var _this = this,\n $body = $('html, body'),\n opts = {\n duration: _this.options.animationDuration,\n easing: _this.options.animationEasing\n };\n\n $(window).one('load', function(){\n if(_this.options.deepLinking){\n if(location.hash){\n _this.scrollToLoc(location.hash);\n }\n }\n _this.calcPoints();\n _this._updateActive();\n });\n\n _this.onLoadListener = onLoad($(window), function () {\n _this.$element\n .on({\n 'resizeme.zf.trigger': _this.reflow.bind(_this),\n 'scrollme.zf.trigger': _this._updateActive.bind(_this)\n })\n .on('click.zf.magellan', 'a[href^=\"#\"]', function (e) {\n e.preventDefault();\n var arrival = this.getAttribute('href');\n _this.scrollToLoc(arrival);\n });\n });\n\n this._deepLinkScroll = function(e) {\n if(_this.options.deepLinking) {\n _this.scrollToLoc(window.location.hash);\n }\n };\n\n $(window).on('hashchange', this._deepLinkScroll);\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 * @function\n */\n scrollToLoc(loc) {\n this._inTransition = true;\n var _this = this;\n\n var options = {\n animationEasing: this.options.animationEasing,\n animationDuration: this.options.animationDuration,\n threshold: this.options.threshold,\n offset: this.options.offset\n };\n\n SmoothScroll.scrollToLoc(loc, options, function() {\n _this._inTransition = false;\n })\n }\n\n /**\n * Calls necessary functions to update Magellan upon DOM change\n * @function\n */\n reflow() {\n this.calcPoints();\n this._updateActive();\n }\n\n /**\n * Updates the visibility of an active location link, and updates the url hash for the page, if deepLinking enabled.\n * @private\n * @function\n * @fires Magellan#update\n */\n _updateActive(/*evt, elem, scrollPos*/) {\n if(this._inTransition) return;\n\n const newScrollPos = parseInt(window.pageYOffset, 10);\n const isScrollingUp = this.scrollPos > newScrollPos;\n this.scrollPos = newScrollPos;\n\n let activeIdx;\n // Before the first point: no link\n if(newScrollPos < this.points[0]){ /* do nothing */ }\n // At the bottom of the page: last link\n else if(newScrollPos + this.winHeight === this.docHeight){ activeIdx = this.points.length - 1; }\n // Otherwhise, use the last visible link\n else{\n const visibleLinks = this.points.filter((p, i) => {\n return (p - this.options.offset - (isScrollingUp ? this.options.threshold : 0)) <= newScrollPos;\n });\n activeIdx = visibleLinks.length ? visibleLinks.length - 1 : 0;\n }\n\n // Get the new active link\n const $oldActive = this.$active;\n let activeHash = '';\n if(typeof activeIdx !== 'undefined'){\n this.$active = this.$links.filter('[href=\"#' + this.$targets.eq(activeIdx).data('magellan-target') + '\"]');\n if (this.$active.length) activeHash = this.$active[0].getAttribute('href');\n }else{\n this.$active = $();\n }\n const isNewActive = !(!this.$active.length && !$oldActive.length) && !this.$active.is($oldActive);\n const isNewHash = activeHash !== window.location.hash;\n\n // Update the active link element\n if(isNewActive) {\n $oldActive.removeClass(this.options.activeClass);\n this.$active.addClass(this.options.activeClass);\n }\n\n // Update the hash (it may have changed with the same active link)\n if(this.options.deepLinking && isNewHash){\n if(window.history.pushState){\n // Set or remove the hash (see: https://stackoverflow.com/a/5298684/4317384\n const url = activeHash ? activeHash : window.location.pathname + window.location.search;\n if(this.options.updateHistory){\n window.history.pushState({}, '', url);\n }else{\n window.history.replaceState({}, '', url);\n }\n }else{\n window.location.hash = activeHash;\n }\n }\n\n if (isNewActive) {\n /**\n * Fires when magellan is finished updating to the new active element.\n * @event Magellan#update\n */\n \tthis.$element.trigger('update.zf.magellan', [this.$active]);\n\t }\n }\n\n /**\n * Destroys an instance of Magellan and resets the url of the window.\n * @function\n */\n _destroy() {\n this.$element.off('.zf.trigger .zf.magellan')\n .find(`.${this.options.activeClass}`).removeClass(this.options.activeClass);\n\n if(this.options.deepLinking){\n var hash = this.$active[0].getAttribute('href');\n window.location.hash.replace(hash, '');\n }\n\n $(window).off('hashchange', this._deepLinkScroll)\n if (this.onLoadListener) $(window).off(this.onLoadListener);\n }\n}\n\n/**\n * Default settings for plugin\n */\nMagellan.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 * Class applied to the active locations link on the magellan container.\n * @option\n * @type {string}\n * @default 'is-active'\n */\n activeClass: 'is-active',\n /**\n * Allows the script to manipulate the url of the current page, and if supported, alter the history.\n * @option\n * @type {boolean}\n * @default false\n */\n deepLinking: false,\n /**\n * Update the browser history with the active link, if deep linking is enabled.\n * @option\n * @type {boolean}\n * @default false\n */\n updateHistory: false,\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 {Magellan};\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__;"]}
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.smoothScroll\"],\"amd\":\"./foundation.smoothScroll\",\"commonjs\":\"./foundation.smoothScroll\",\"commonjs2\":\"./foundation.smoothScroll\"}","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.magellan.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.magellan.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.util.triggers.js"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__foundation_core__","__WEBPACK_EXTERNAL_MODULE__foundation_smoothScroll__","__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_magellan__WEBPACK_IMPORTED_MODULE_1__","Foundation","plugin","Magellan","jquery__WEBPACK_IMPORTED_MODULE_0__","jquery__WEBPACK_IMPORTED_MODULE_0___default","n","_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__","_foundation_smoothScroll__WEBPACK_IMPORTED_MODULE_2__","_foundation_util_triggers__WEBPACK_IMPORTED_MODULE_3__","$","element","options","this","$element","extend","defaults","data","className","Triggers","init","_init","calcPoints","id","GetYoDigits","$targets","$links","find","attr","data-resize","data-scroll","$active","scrollPos","parseInt","pageYOffset","_events","_this","body","document","html","documentElement","points","winHeight","Math","round","max","innerHeight","clientHeight","docHeight","scrollHeight","offsetHeight","each","$tar","pt","offset","top","threshold","targetPoint","push","one","duration","location","scrollToLoc","hash","_updateActive","bind","on","e","onLoadListener","getAttribute","arrival","_deepLinkScroll","animationEasing","loc","animationDuration","newScrollPos","isScrollingUp","activeIdx","visibleLinks","filter","p","i","_this2","length","$oldActive","isNewActive","activeHash","is","isNewHash","addClass","removeClass","deepLinking","history","pushState","url","trigger","off","./js/foundation.util.triggers.js","_foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__","_typeof","obj","Symbol","iterator","constructor","prototype","triggers","el","type","concat","prefixes","MutationObserver","Basic","Global","Initializers","join","debounce","listener","args","Array","slice","call","arguments","clearTimeout","debounceGlobalListener","apply","timer","Listeners","closeListener","animation","stopPropagation","closeableListener","animateOut","fadeOut","toggleFocusListener","triggerHandler","openListener","$elem","addCloseListener","addToggleListener","toggleListener","addCloseableListener","addToggleFocusListener","$nodes","scrollListener","closeMeListener","pluginId","namespace","addClosemeListener","pluginName","yetiBoxes","console","error","plugNames","map","name","addResizeListener","addScrollListener","addMutationEventsListener","listeningElementsMutation","mutationRecordsList","$target","target","attributeName","closest","childList","characterData","subtree","elementObserver","observe","addSimpleListeners","$document","addOpenListener","addGlobalListeners","triggersInitialized","IHearYou","c","getter","o","Object","defineProperty","enumerable","get","toStringTag","value","t","mode","__esModule","ns","create","key","object","property","hasOwnProperty","s","moduleId","l","modules"],"mappings":"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","file":"foundation.magellan.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.smoothScroll\"), require(\"./foundation.util.motion\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"./foundation.smoothScroll\", \"./foundation.util.motion\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.magellan\"] = factory(require(\"./foundation.core\"), require(\"./foundation.smoothScroll\"), require(\"./foundation.util.motion\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.magellan\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.smoothScroll\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.motion\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE__foundation_smoothScroll__, __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 = 8);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_smoothScroll__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__;","import { Foundation } from './foundation.core';\n\nimport { Magellan } from '../../foundation.magellan';\nFoundation.plugin(Magellan, 'Magellan');\n\nexport { Foundation, Magellan };\n","'use strict';\n\n\nimport $ from 'jquery';\nimport { Plugin } from './foundation.core.plugin';\nimport { onLoad, GetYoDigits } from './foundation.core.utils';\nimport { SmoothScroll } from './foundation.smoothScroll';\n\nimport { Triggers } from './foundation.util.triggers';\n\n/**\n * Magellan module.\n * @module foundation.magellan\n * @requires foundation.smoothScroll\n * @requires foundation.util.triggers\n */\n\nclass Magellan extends Plugin {\n /**\n * Creates a new instance of Magellan.\n * @class\n * @name Magellan\n * @fires Magellan#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({}, Magellan.defaults, this.$element.data(), options);\n this.className = 'Magellan'; // 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.calcPoints();\n }\n\n /**\n * Initializes the Magellan plugin and calls functions to get equalizer functioning on load.\n * @private\n */\n _init() {\n var id = this.$element[0].id || GetYoDigits(6, 'magellan');\n var _this = this;\n this.$targets = $('[data-magellan-target]');\n this.$links = this.$element.find('a');\n this.$element.attr({\n 'data-resize': id,\n 'data-scroll': id,\n 'id': id\n });\n this.$active = $();\n this.scrollPos = parseInt(window.pageYOffset, 10);\n\n this._events();\n }\n\n /**\n * Calculates an array of pixel values that are the demarcation lines between locations on the page.\n * Can be invoked if new elements are added or the size of a location changes.\n * @function\n */\n calcPoints() {\n var _this = this,\n body = document.body,\n html = document.documentElement;\n\n this.points = [];\n this.winHeight = Math.round(Math.max(window.innerHeight, html.clientHeight));\n this.docHeight = Math.round(Math.max(body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight));\n\n this.$targets.each(function(){\n var $tar = $(this),\n pt = Math.round($tar.offset().top - _this.options.threshold);\n $tar.targetPoint = pt;\n _this.points.push(pt);\n });\n }\n\n /**\n * Initializes events for Magellan.\n * @private\n */\n _events() {\n var _this = this,\n $body = $('html, body'),\n opts = {\n duration: _this.options.animationDuration,\n easing: _this.options.animationEasing\n };\n\n $(window).one('load', function(){\n if(_this.options.deepLinking){\n if(location.hash){\n _this.scrollToLoc(location.hash);\n }\n }\n _this.calcPoints();\n _this._updateActive();\n });\n\n _this.onLoadListener = onLoad($(window), function () {\n _this.$element\n .on({\n 'resizeme.zf.trigger': _this.reflow.bind(_this),\n 'scrollme.zf.trigger': _this._updateActive.bind(_this)\n })\n .on('click.zf.magellan', 'a[href^=\"#\"]', function (e) {\n e.preventDefault();\n var arrival = this.getAttribute('href');\n _this.scrollToLoc(arrival);\n });\n });\n\n this._deepLinkScroll = function(e) {\n if(_this.options.deepLinking) {\n _this.scrollToLoc(window.location.hash);\n }\n };\n\n $(window).on('hashchange', this._deepLinkScroll);\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 * @function\n */\n scrollToLoc(loc) {\n this._inTransition = true;\n var _this = this;\n\n var options = {\n animationEasing: this.options.animationEasing,\n animationDuration: this.options.animationDuration,\n threshold: this.options.threshold,\n offset: this.options.offset\n };\n\n SmoothScroll.scrollToLoc(loc, options, function() {\n _this._inTransition = false;\n })\n }\n\n /**\n * Calls necessary functions to update Magellan upon DOM change\n * @function\n */\n reflow() {\n this.calcPoints();\n this._updateActive();\n }\n\n /**\n * Updates the visibility of an active location link, and updates the url hash for the page, if deepLinking enabled.\n * @private\n * @function\n * @fires Magellan#update\n */\n _updateActive(/*evt, elem, scrollPos*/) {\n if(this._inTransition) return;\n\n const newScrollPos = parseInt(window.pageYOffset, 10);\n const isScrollingUp = this.scrollPos > newScrollPos;\n this.scrollPos = newScrollPos;\n\n let activeIdx;\n // Before the first point: no link\n if(newScrollPos < this.points[0]){ /* do nothing */ }\n // At the bottom of the page: last link\n else if(newScrollPos + this.winHeight === this.docHeight){ activeIdx = this.points.length - 1; }\n // Otherwhise, use the last visible link\n else{\n const visibleLinks = this.points.filter((p, i) => {\n return (p - this.options.offset - (isScrollingUp ? this.options.threshold : 0)) <= newScrollPos;\n });\n activeIdx = visibleLinks.length ? visibleLinks.length - 1 : 0;\n }\n\n // Get the new active link\n const $oldActive = this.$active;\n let activeHash = '';\n if(typeof activeIdx !== 'undefined'){\n this.$active = this.$links.filter('[href=\"#' + this.$targets.eq(activeIdx).data('magellan-target') + '\"]');\n if (this.$active.length) activeHash = this.$active[0].getAttribute('href');\n }else{\n this.$active = $();\n }\n const isNewActive = !(!this.$active.length && !$oldActive.length) && !this.$active.is($oldActive);\n const isNewHash = activeHash !== window.location.hash;\n\n // Update the active link element\n if(isNewActive) {\n $oldActive.removeClass(this.options.activeClass);\n this.$active.addClass(this.options.activeClass);\n }\n\n // Update the hash (it may have changed with the same active link)\n if(this.options.deepLinking && isNewHash){\n if(window.history.pushState){\n // Set or remove the hash (see: https://stackoverflow.com/a/5298684/4317384\n const url = activeHash ? activeHash : window.location.pathname + window.location.search;\n if(this.options.updateHistory){\n window.history.pushState({}, '', url);\n }else{\n window.history.replaceState({}, '', url);\n }\n }else{\n window.location.hash = activeHash;\n }\n }\n\n if (isNewActive) {\n /**\n * Fires when magellan is finished updating to the new active element.\n * @event Magellan#update\n */\n \tthis.$element.trigger('update.zf.magellan', [this.$active]);\n\t }\n }\n\n /**\n * Destroys an instance of Magellan and resets the url of the window.\n * @function\n */\n _destroy() {\n this.$element.off('.zf.trigger .zf.magellan')\n .find(`.${this.options.activeClass}`).removeClass(this.options.activeClass);\n\n if(this.options.deepLinking){\n var hash = this.$active[0].getAttribute('href');\n window.location.hash.replace(hash, '');\n }\n\n $(window).off('hashchange', this._deepLinkScroll)\n if (this.onLoadListener) $(window).off(this.onLoadListener);\n }\n}\n\n/**\n * Default settings for plugin\n */\nMagellan.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 * Class applied to the active locations link on the magellan container.\n * @option\n * @type {string}\n * @default 'is-active'\n */\n activeClass: 'is-active',\n /**\n * Allows the script to manipulate the url of the current page, and if supported, alter the history.\n * @option\n * @type {boolean}\n * @default false\n */\n deepLinking: false,\n /**\n * Update the browser history with the active link, if deep linking is enabled.\n * @option\n * @type {boolean}\n * @default false\n */\n updateHistory: false,\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 {Magellan};\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"]}
@@ -1297,7 +1297,7 @@ Triggers.init = function ($, Foundation) {
1297
1297
  /*! no static exports found */
1298
1298
  /***/ (function(module, exports, __webpack_require__) {
1299
1299
 
1300
- module.exports = __webpack_require__(/*! /Volumes/Data/Development/Foundation/foundation-sites/js/entries/plugins/foundation.offcanvas.js */"./js/entries/plugins/foundation.offcanvas.js");
1300
+ module.exports = __webpack_require__(/*! /Users/joeworkman/Development/foundation-sites/js/entries/plugins/foundation.offcanvas.js */"./js/entries/plugins/foundation.offcanvas.js");
1301
1301
 
1302
1302
 
1303
1303
  /***/ }),
@@ -865,7 +865,7 @@ Orbit.defaults = {
865
865
  /*! no static exports found */
866
866
  /***/ (function(module, exports, __webpack_require__) {
867
867
 
868
- module.exports = __webpack_require__(/*! /Volumes/Data/Development/Foundation/foundation-sites/js/entries/plugins/foundation.orbit.js */"./js/entries/plugins/foundation.orbit.js");
868
+ module.exports = __webpack_require__(/*! /Users/joeworkman/Development/foundation-sites/js/entries/plugins/foundation.orbit.js */"./js/entries/plugins/foundation.orbit.js");
869
869
 
870
870
 
871
871
  /***/ }),
@@ -285,8 +285,6 @@ function (_Plugin) {
285
285
  this.$element.attr('id', Object(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_2__["GetYoDigits"])(6, 'responsiveaccordiontabs'));
286
286
  }
287
287
 
288
- ;
289
-
290
288
  this._init();
291
289
 
292
290
  this._events();
@@ -421,7 +419,6 @@ function (_Plugin) {
421
419
  return;
422
420
  }
423
421
 
424
- ;
425
422
  var tabsTitle = _this.allOptions.linkClass ? _this.allOptions.linkClass : 'tabs-title';
426
423
  var tabsPanel = _this.allOptions.panelClass ? _this.allOptions.panelClass : 'tabs-panel';
427
424
  this.$element.removeAttr('role');
@@ -435,7 +432,6 @@ function (_Plugin) {
435
432
  $panels = $liHeads.children('[data-tab-content]').removeClass('accordion-content');
436
433
  }
437
434
 
438
- ;
439
435
  $panels.css({
440
436
  display: '',
441
437
  visibility: ''
@@ -465,7 +461,6 @@ function (_Plugin) {
465
461
  $tabsContent = jquery__WEBPACK_IMPORTED_MODULE_0___default()('<div class="tabs-content"></div>').insertAfter(_this.$element).attr('data-tabs-content', _this.$element.attr('id'));
466
462
  }
467
463
 
468
- ;
469
464
  $panels.each(function (key, value) {
470
465
  var tempValue = jquery__WEBPACK_IMPORTED_MODULE_0___default()(value).appendTo($tabsContent).addClass(tabsPanel);
471
466
  var hash = $liHeadsA.get(key).hash.slice(1);
@@ -479,18 +474,13 @@ function (_Plugin) {
479
474
  jquery__WEBPACK_IMPORTED_MODULE_0___default()(value).attr('id', hash);
480
475
  jquery__WEBPACK_IMPORTED_MODULE_0___default()($liHeadsA.get(key)).attr('href', jquery__WEBPACK_IMPORTED_MODULE_0___default()($liHeadsA.get(key)).attr('href').replace('#', '') + '#' + hash);
481
476
  }
482
-
483
- ;
484
477
  }
485
478
 
486
- ;
487
479
  var isActive = jquery__WEBPACK_IMPORTED_MODULE_0___default()($liHeads.get(key)).hasClass('is-active');
488
480
 
489
481
  if (isActive) {
490
482
  tempValue.addClass('is-active');
491
483
  }
492
-
493
- ;
494
484
  });
495
485
  $liHeads.addClass(tabsTitle);
496
486
  }
@@ -507,7 +497,7 @@ function (_Plugin) {
507
497
 
508
498
  }, {
509
499
  key: "open",
510
- value: function open(target) {
500
+ value: function open(_target) {
511
501
  if (this.currentRule && typeof this.currentRule.open === 'function') {
512
502
  var _this$currentRule;
513
503
 
@@ -523,7 +513,7 @@ function (_Plugin) {
523
513
 
524
514
  }, {
525
515
  key: "close",
526
- value: function close(target) {
516
+ value: function close(_target) {
527
517
  if (this.currentRule && typeof this.currentRule.close === 'function') {
528
518
  var _this$currentRule2;
529
519
 
@@ -539,7 +529,7 @@ function (_Plugin) {
539
529
 
540
530
  }, {
541
531
  key: "toggle",
542
- value: function toggle(target) {
532
+ value: function toggle(_target) {
543
533
  if (this.currentRule && typeof this.currentRule.toggle === 'function') {
544
534
  var _this$currentRule3;
545
535
 
@@ -574,7 +564,7 @@ ResponsiveAccordionTabs.defaults = {};
574
564
  /*! no static exports found */
575
565
  /***/ (function(module, exports, __webpack_require__) {
576
566
 
577
- module.exports = __webpack_require__(/*! /Volumes/Data/Development/Foundation/foundation-sites/js/entries/plugins/foundation.responsiveAccordionTabs.js */"./js/entries/plugins/foundation.responsiveAccordionTabs.js");
567
+ module.exports = __webpack_require__(/*! /Users/joeworkman/Development/foundation-sites/js/entries/plugins/foundation.responsiveAccordionTabs.js */"./js/entries/plugins/foundation.responsiveAccordionTabs.js");
578
568
 
579
569
 
580
570
  /***/ }),
@@ -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.accordion\"],\"amd\":\"./foundation.accordion\",\"commonjs\":\"./foundation.accordion\",\"commonjs2\":\"./foundation.accordion\"}","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.tabs\"],\"amd\":\"./foundation.tabs\",\"commonjs\":\"./foundation.tabs\",\"commonjs2\":\"./foundation.tabs\"}","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]/./js/entries/plugins/foundation.responsiveAccordionTabs.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.responsiveAccordionTabs.js","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}"],"names":["Foundation","plugin","ResponsiveAccordionTabs","MenuPlugins","tabs","cssClass","Tabs","open","target","selectTab","close","toggle","accordion","Accordion","down","$","up","element","options","reflow","storezfData","$element","data","extend","defaults","rules","currentMq","currentRule","currentPlugin","className","attr","GetYoDigits","_init","_events","MediaQuery","rulesTree","split","i","length","rule","ruleSize","rulePlugin","_getAllOptions","isEmptyObject","_checkMediaQueries","_this","allOptions","key","hasOwnProperty","obj","dummyPlugin","tmpPlugin","keyKey","objObj","destroy","e","_changedZfMediaQueryHandler","bind","window","on","matchedMq","each","atLeast","value","removeClass","addClass","_handleMarkup","toSet","fromString","$panels","tabsTitle","linkClass","tabsPanel","panelClass","removeAttr","$liHeads","children","$liHeadsA","css","display","visibility","appendTo","get","height","after","detach","$tabsContent","$placeholder","insertAfter","remove","tempValue","hash","slice","id","replace","isActive","hasClass","arguments","off","Plugin"],"mappings":"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","file":"foundation.responsiveAccordionTabs.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.accordion\"), require(\"./foundation.core\"), require(\"./foundation.tabs\"), require(\"./foundation.util.mediaQuery\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.accordion\", \"./foundation.core\", \"./foundation.tabs\", \"./foundation.util.mediaQuery\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.responsiveAccordionTabs\"] = factory(require(\"./foundation.accordion\"), require(\"./foundation.core\"), require(\"./foundation.tabs\"), require(\"./foundation.util.mediaQuery\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.responsiveAccordionTabs\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.accordion\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.tabs\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.mediaQuery\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_accordion__, __WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE__foundation_tabs__, __WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__, __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 = 11);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_accordion__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_tabs__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__;","import { Foundation } from './foundation.core';\n\nimport { ResponsiveAccordionTabs } from '../../foundation.responsiveAccordionTabs';\nFoundation.plugin(ResponsiveAccordionTabs, 'ResponsiveAccordionTabs');\n\nexport { Foundation, ResponsiveAccordionTabs };\n","'use strict';\n\nimport $ from 'jquery';\nimport { MediaQuery } from './foundation.util.mediaQuery';\nimport { GetYoDigits } from './foundation.core.utils';\nimport { Plugin }from './foundation.core.plugin';\n\nimport { Accordion } from './foundation.accordion';\nimport { Tabs } from './foundation.tabs';\n\n// The plugin matches the plugin classes with these plugin instances.\nvar MenuPlugins = {\n tabs: {\n cssClass: 'tabs',\n plugin: Tabs,\n open: (plugin, target) => plugin.selectTab(target),\n close: null /* not supported */,\n toggle: null /* not supported */,\n },\n accordion: {\n cssClass: 'accordion',\n plugin: Accordion,\n open: (plugin, target) => plugin.down($(target)),\n close: (plugin, target) => plugin.up($(target)),\n toggle: (plugin, target) => plugin.toggle($(target)),\n }\n};\n\n\n/**\n * ResponsiveAccordionTabs module.\n * @module foundation.responsiveAccordionTabs\n * @requires foundation.util.motion\n * @requires foundation.accordion\n * @requires foundation.tabs\n */\n\nclass ResponsiveAccordionTabs extends Plugin{\n constructor(element, options) {\n super(element, options);\n return this.options.reflow && this.storezfData || this;\n }\n\n /**\n * Creates a new instance of a responsive accordion tabs.\n * @class\n * @name ResponsiveAccordionTabs\n * @fires ResponsiveAccordionTabs#init\n * @param {jQuery} element - jQuery object to make into Responsive Accordion Tabs.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options) {\n this.$element = $(element);\n this.$element.data('zfPluginBase', this);\n this.options = $.extend({}, ResponsiveAccordionTabs.defaults, this.$element.data(), options);\n\n this.rules = this.$element.data('responsive-accordion-tabs');\n this.currentMq = null;\n this.currentRule = null;\n this.currentPlugin = null;\n this.className = 'ResponsiveAccordionTabs'; // ie9 back compat\n if (!this.$element.attr('id')) {\n this.$element.attr('id',GetYoDigits(6, 'responsiveaccordiontabs'));\n };\n\n this._init();\n this._events();\n }\n\n /**\n * Initializes the Menu by parsing the classes from the 'data-responsive-accordion-tabs' attribute on the element.\n * @function\n * @private\n */\n _init() {\n MediaQuery._init();\n\n // The first time an Interchange plugin is initialized, this.rules is converted from a string of \"classes\" to an object of rules\n if (typeof this.rules === 'string') {\n let rulesTree = {};\n\n // Parse rules from \"classes\" pulled from data attribute\n let rules = this.rules.split(' ');\n\n // Iterate through every rule found\n for (let i = 0; i < rules.length; i++) {\n let rule = rules[i].split('-');\n let ruleSize = rule.length > 1 ? rule[0] : 'small';\n let rulePlugin = rule.length > 1 ? rule[1] : rule[0];\n\n if (MenuPlugins[rulePlugin] !== null) {\n rulesTree[ruleSize] = MenuPlugins[rulePlugin];\n }\n }\n\n this.rules = rulesTree;\n }\n\n this._getAllOptions();\n\n if (!$.isEmptyObject(this.rules)) {\n this._checkMediaQueries();\n }\n }\n\n _getAllOptions() {\n //get all defaults and options\n var _this = this;\n _this.allOptions = {};\n for (var key in MenuPlugins) {\n if (MenuPlugins.hasOwnProperty(key)) {\n var obj = MenuPlugins[key];\n try {\n var dummyPlugin = $('<ul></ul>');\n var tmpPlugin = new obj.plugin(dummyPlugin,_this.options);\n for (var keyKey in tmpPlugin.options) {\n if (tmpPlugin.options.hasOwnProperty(keyKey) && keyKey !== 'zfPlugin') {\n var objObj = tmpPlugin.options[keyKey];\n _this.allOptions[keyKey] = objObj;\n }\n }\n tmpPlugin.destroy();\n }\n catch(e) {\n }\n }\n }\n }\n\n /**\n * Initializes events for the Menu.\n * @function\n * @private\n */\n _events() {\n this._changedZfMediaQueryHandler = this._checkMediaQueries.bind(this);\n $(window).on('changed.zf.mediaquery', this._changedZfMediaQueryHandler);\n }\n\n /**\n * Checks the current screen width against available media queries. If the media query has changed, and the plugin needed has changed, the plugins will swap out.\n * @function\n * @private\n */\n _checkMediaQueries() {\n var matchedMq, _this = this;\n // Iterate through each rule and find the last matching rule\n $.each(this.rules, function(key) {\n if (MediaQuery.atLeast(key)) {\n matchedMq = key;\n }\n });\n\n // No match? No dice\n if (!matchedMq) return;\n\n // Plugin already initialized? We good\n if (this.currentPlugin instanceof this.rules[matchedMq].plugin) return;\n\n // Remove existing plugin-specific CSS classes\n $.each(MenuPlugins, function(key, value) {\n _this.$element.removeClass(value.cssClass);\n });\n\n // Add the CSS class for the new plugin\n this.$element.addClass(this.rules[matchedMq].cssClass);\n\n // Create an instance of the new plugin\n if (this.currentPlugin) {\n //don't know why but on nested elements data zfPlugin get's lost\n if (!this.currentPlugin.$element.data('zfPlugin') && this.storezfData) this.currentPlugin.$element.data('zfPlugin',this.storezfData);\n this.currentPlugin.destroy();\n }\n this._handleMarkup(this.rules[matchedMq].cssClass);\n this.currentRule = this.rules[matchedMq];\n this.currentPlugin = new this.currentRule.plugin(this.$element, this.options);\n this.storezfData = this.currentPlugin.$element.data('zfPlugin');\n\n }\n\n _handleMarkup(toSet){\n var _this = this, fromString = 'accordion';\n var $panels = $('[data-tabs-content='+this.$element.attr('id')+']');\n if ($panels.length) fromString = 'tabs';\n if (fromString === toSet) {\n return;\n };\n\n var tabsTitle = _this.allOptions.linkClass?_this.allOptions.linkClass:'tabs-title';\n var tabsPanel = _this.allOptions.panelClass?_this.allOptions.panelClass:'tabs-panel';\n\n this.$element.removeAttr('role');\n var $liHeads = this.$element.children('.'+tabsTitle+',[data-accordion-item]').removeClass(tabsTitle).removeClass('accordion-item').removeAttr('data-accordion-item');\n var $liHeadsA = $liHeads.children('a').removeClass('accordion-title');\n\n if (fromString === 'tabs') {\n $panels = $panels.children('.'+tabsPanel).removeClass(tabsPanel).removeAttr('role').removeAttr('aria-hidden').removeAttr('aria-labelledby');\n $panels.children('a').removeAttr('role').removeAttr('aria-controls').removeAttr('aria-selected');\n }else{\n $panels = $liHeads.children('[data-tab-content]').removeClass('accordion-content');\n };\n\n $panels.css({display:'',visibility:''});\n $liHeads.css({display:'',visibility:''});\n if (toSet === 'accordion') {\n $panels.each(function(key,value){\n $(value).appendTo($liHeads.get(key)).addClass('accordion-content').attr('data-tab-content','').removeClass('is-active').css({height:''});\n $('[data-tabs-content='+_this.$element.attr('id')+']').after('<div id=\"tabs-placeholder-'+_this.$element.attr('id')+'\"></div>').detach();\n $liHeads.addClass('accordion-item').attr('data-accordion-item','');\n $liHeadsA.addClass('accordion-title');\n });\n }else if (toSet === 'tabs'){\n var $tabsContent = $('[data-tabs-content='+_this.$element.attr('id')+']');\n var $placeholder = $('#tabs-placeholder-'+_this.$element.attr('id'));\n if ($placeholder.length) {\n $tabsContent = $('<div class=\"tabs-content\"></div>').insertAfter($placeholder).attr('data-tabs-content',_this.$element.attr('id'));\n $placeholder.remove();\n }else{\n $tabsContent = $('<div class=\"tabs-content\"></div>').insertAfter(_this.$element).attr('data-tabs-content',_this.$element.attr('id'));\n };\n $panels.each(function(key,value){\n var tempValue = $(value).appendTo($tabsContent).addClass(tabsPanel);\n var hash = $liHeadsA.get(key).hash.slice(1);\n var id = $(value).attr('id') || GetYoDigits(6, 'accordion');\n if (hash !== id) {\n if (hash !== '') {\n $(value).attr('id',hash);\n }else{\n hash = id;\n $(value).attr('id',hash);\n $($liHeadsA.get(key)).attr('href',$($liHeadsA.get(key)).attr('href').replace('#','')+'#'+hash);\n };\n };\n var isActive = $($liHeads.get(key)).hasClass('is-active');\n if (isActive) {\n tempValue.addClass('is-active');\n };\n });\n $liHeads.addClass(tabsTitle);\n };\n }\n\n /**\n * Opens the plugin pane defined by `target`.\n * @param {jQuery | String} target - jQuery object or string of the id of the pane to open.\n * @see Accordion.down\n * @see Tabs.selectTab\n * @function\n */\n open(target) {\n if (this.currentRule && typeof this.currentRule.open === 'function') {\n return this.currentRule.open(this.currentPlugin, ...arguments);\n }\n }\n\n /**\n * Closes the plugin pane defined by `target`. Not availaible for Tabs.\n * @param {jQuery | String} target - jQuery object or string of the id of the pane to close.\n * @see Accordion.up\n * @function\n */\n close(target) {\n if (this.currentRule && typeof this.currentRule.close === 'function') {\n return this.currentRule.close(this.currentPlugin, ...arguments);\n }\n }\n\n /**\n * Toggles the plugin pane defined by `target`. Not availaible for Tabs.\n * @param {jQuery | String} target - jQuery object or string of the id of the pane to toggle.\n * @see Accordion.toggle\n * @function\n */\n toggle(target) {\n if (this.currentRule && typeof this.currentRule.toggle === 'function') {\n return this.currentRule.toggle(this.currentPlugin, ...arguments);\n }\n }\n\n /**\n * Destroys the instance of the current plugin on this element, as well as the window resize handler that switches the plugins out.\n * @function\n */\n _destroy() {\n if (this.currentPlugin) this.currentPlugin.destroy();\n $(window).off('changed.zf.mediaquery', this._changedZfMediaQueryHandler);\n }\n}\n\nResponsiveAccordionTabs.defaults = {};\n\nexport {ResponsiveAccordionTabs};\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.accordion\"],\"amd\":\"./foundation.accordion\",\"commonjs\":\"./foundation.accordion\",\"commonjs2\":\"./foundation.accordion\"}","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.tabs\"],\"amd\":\"./foundation.tabs\",\"commonjs\":\"./foundation.tabs\",\"commonjs2\":\"./foundation.tabs\"}","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]/./js/entries/plugins/foundation.responsiveAccordionTabs.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.responsiveAccordionTabs.js","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}"],"names":["Foundation","plugin","ResponsiveAccordionTabs","MenuPlugins","tabs","cssClass","Tabs","open","target","selectTab","close","toggle","accordion","Accordion","down","$","up","element","options","reflow","storezfData","$element","data","extend","defaults","rules","currentMq","currentRule","currentPlugin","className","attr","GetYoDigits","_init","_events","MediaQuery","rulesTree","split","i","length","rule","ruleSize","rulePlugin","_getAllOptions","isEmptyObject","_checkMediaQueries","_this","allOptions","key","hasOwnProperty","obj","dummyPlugin","tmpPlugin","keyKey","objObj","destroy","e","_changedZfMediaQueryHandler","bind","window","on","matchedMq","each","atLeast","value","removeClass","addClass","_handleMarkup","toSet","fromString","$panels","tabsTitle","linkClass","tabsPanel","panelClass","removeAttr","$liHeads","children","$liHeadsA","css","display","visibility","appendTo","get","height","after","detach","$tabsContent","$placeholder","insertAfter","remove","tempValue","hash","slice","id","replace","isActive","hasClass","_target","arguments","off","Plugin"],"mappings":"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","file":"foundation.responsiveAccordionTabs.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.accordion\"), require(\"./foundation.core\"), require(\"./foundation.tabs\"), require(\"./foundation.util.mediaQuery\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.accordion\", \"./foundation.core\", \"./foundation.tabs\", \"./foundation.util.mediaQuery\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.responsiveAccordionTabs\"] = factory(require(\"./foundation.accordion\"), require(\"./foundation.core\"), require(\"./foundation.tabs\"), require(\"./foundation.util.mediaQuery\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.responsiveAccordionTabs\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.accordion\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.tabs\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.mediaQuery\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_accordion__, __WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE__foundation_tabs__, __WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__, __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 = 11);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_accordion__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_tabs__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__;","import { Foundation } from './foundation.core';\n\nimport { ResponsiveAccordionTabs } from '../../foundation.responsiveAccordionTabs';\nFoundation.plugin(ResponsiveAccordionTabs, 'ResponsiveAccordionTabs');\n\nexport { Foundation, ResponsiveAccordionTabs };\n","'use strict';\n\nimport $ from 'jquery';\nimport { MediaQuery } from './foundation.util.mediaQuery';\nimport { GetYoDigits } from './foundation.core.utils';\nimport { Plugin }from './foundation.core.plugin';\n\nimport { Accordion } from './foundation.accordion';\nimport { Tabs } from './foundation.tabs';\n\n// The plugin matches the plugin classes with these plugin instances.\nvar MenuPlugins = {\n tabs: {\n cssClass: 'tabs',\n plugin: Tabs,\n open: (plugin, target) => plugin.selectTab(target),\n close: null /* not supported */,\n toggle: null /* not supported */,\n },\n accordion: {\n cssClass: 'accordion',\n plugin: Accordion,\n open: (plugin, target) => plugin.down($(target)),\n close: (plugin, target) => plugin.up($(target)),\n toggle: (plugin, target) => plugin.toggle($(target)),\n }\n};\n\n\n/**\n * ResponsiveAccordionTabs module.\n * @module foundation.responsiveAccordionTabs\n * @requires foundation.util.motion\n * @requires foundation.accordion\n * @requires foundation.tabs\n */\n\nclass ResponsiveAccordionTabs extends Plugin{\n constructor(element, options) {\n super(element, options);\n return this.options.reflow && this.storezfData || this;\n }\n\n /**\n * Creates a new instance of a responsive accordion tabs.\n * @class\n * @name ResponsiveAccordionTabs\n * @fires ResponsiveAccordionTabs#init\n * @param {jQuery} element - jQuery object to make into Responsive Accordion Tabs.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options) {\n this.$element = $(element);\n this.$element.data('zfPluginBase', this);\n this.options = $.extend({}, ResponsiveAccordionTabs.defaults, this.$element.data(), options);\n\n this.rules = this.$element.data('responsive-accordion-tabs');\n this.currentMq = null;\n this.currentRule = null;\n this.currentPlugin = null;\n this.className = 'ResponsiveAccordionTabs'; // ie9 back compat\n if (!this.$element.attr('id')) {\n this.$element.attr('id',GetYoDigits(6, 'responsiveaccordiontabs'));\n }\n\n this._init();\n this._events();\n }\n\n /**\n * Initializes the Menu by parsing the classes from the 'data-responsive-accordion-tabs' attribute on the element.\n * @function\n * @private\n */\n _init() {\n MediaQuery._init();\n\n // The first time an Interchange plugin is initialized, this.rules is converted from a string of \"classes\" to an object of rules\n if (typeof this.rules === 'string') {\n let rulesTree = {};\n\n // Parse rules from \"classes\" pulled from data attribute\n let rules = this.rules.split(' ');\n\n // Iterate through every rule found\n for (let i = 0; i < rules.length; i++) {\n let rule = rules[i].split('-');\n let ruleSize = rule.length > 1 ? rule[0] : 'small';\n let rulePlugin = rule.length > 1 ? rule[1] : rule[0];\n\n if (MenuPlugins[rulePlugin] !== null) {\n rulesTree[ruleSize] = MenuPlugins[rulePlugin];\n }\n }\n\n this.rules = rulesTree;\n }\n\n this._getAllOptions();\n\n if (!$.isEmptyObject(this.rules)) {\n this._checkMediaQueries();\n }\n }\n\n _getAllOptions() {\n //get all defaults and options\n var _this = this;\n _this.allOptions = {};\n for (var key in MenuPlugins) {\n if (MenuPlugins.hasOwnProperty(key)) {\n var obj = MenuPlugins[key];\n try {\n var dummyPlugin = $('<ul></ul>');\n var tmpPlugin = new obj.plugin(dummyPlugin,_this.options);\n for (var keyKey in tmpPlugin.options) {\n if (tmpPlugin.options.hasOwnProperty(keyKey) && keyKey !== 'zfPlugin') {\n var objObj = tmpPlugin.options[keyKey];\n _this.allOptions[keyKey] = objObj;\n }\n }\n tmpPlugin.destroy();\n }\n catch(e) {\n }\n }\n }\n }\n\n /**\n * Initializes events for the Menu.\n * @function\n * @private\n */\n _events() {\n this._changedZfMediaQueryHandler = this._checkMediaQueries.bind(this);\n $(window).on('changed.zf.mediaquery', this._changedZfMediaQueryHandler);\n }\n\n /**\n * Checks the current screen width against available media queries. If the media query has changed, and the plugin needed has changed, the plugins will swap out.\n * @function\n * @private\n */\n _checkMediaQueries() {\n var matchedMq, _this = this;\n // Iterate through each rule and find the last matching rule\n $.each(this.rules, function(key) {\n if (MediaQuery.atLeast(key)) {\n matchedMq = key;\n }\n });\n\n // No match? No dice\n if (!matchedMq) return;\n\n // Plugin already initialized? We good\n if (this.currentPlugin instanceof this.rules[matchedMq].plugin) return;\n\n // Remove existing plugin-specific CSS classes\n $.each(MenuPlugins, function(key, value) {\n _this.$element.removeClass(value.cssClass);\n });\n\n // Add the CSS class for the new plugin\n this.$element.addClass(this.rules[matchedMq].cssClass);\n\n // Create an instance of the new plugin\n if (this.currentPlugin) {\n //don't know why but on nested elements data zfPlugin get's lost\n if (!this.currentPlugin.$element.data('zfPlugin') && this.storezfData) this.currentPlugin.$element.data('zfPlugin',this.storezfData);\n this.currentPlugin.destroy();\n }\n this._handleMarkup(this.rules[matchedMq].cssClass);\n this.currentRule = this.rules[matchedMq];\n this.currentPlugin = new this.currentRule.plugin(this.$element, this.options);\n this.storezfData = this.currentPlugin.$element.data('zfPlugin');\n\n }\n\n _handleMarkup(toSet){\n var _this = this, fromString = 'accordion';\n var $panels = $('[data-tabs-content='+this.$element.attr('id')+']');\n if ($panels.length) fromString = 'tabs';\n if (fromString === toSet) {\n return;\n }\n\n var tabsTitle = _this.allOptions.linkClass?_this.allOptions.linkClass:'tabs-title';\n var tabsPanel = _this.allOptions.panelClass?_this.allOptions.panelClass:'tabs-panel';\n\n this.$element.removeAttr('role');\n var $liHeads = this.$element.children('.'+tabsTitle+',[data-accordion-item]').removeClass(tabsTitle).removeClass('accordion-item').removeAttr('data-accordion-item');\n var $liHeadsA = $liHeads.children('a').removeClass('accordion-title');\n\n if (fromString === 'tabs') {\n $panels = $panels.children('.'+tabsPanel).removeClass(tabsPanel).removeAttr('role').removeAttr('aria-hidden').removeAttr('aria-labelledby');\n $panels.children('a').removeAttr('role').removeAttr('aria-controls').removeAttr('aria-selected');\n } else {\n $panels = $liHeads.children('[data-tab-content]').removeClass('accordion-content');\n }\n\n $panels.css({display:'',visibility:''});\n $liHeads.css({display:'',visibility:''});\n if (toSet === 'accordion') {\n $panels.each(function(key,value){\n $(value).appendTo($liHeads.get(key)).addClass('accordion-content').attr('data-tab-content','').removeClass('is-active').css({height:''});\n $('[data-tabs-content='+_this.$element.attr('id')+']').after('<div id=\"tabs-placeholder-'+_this.$element.attr('id')+'\"></div>').detach();\n $liHeads.addClass('accordion-item').attr('data-accordion-item','');\n $liHeadsA.addClass('accordion-title');\n });\n } else if (toSet === 'tabs') {\n var $tabsContent = $('[data-tabs-content='+_this.$element.attr('id')+']');\n var $placeholder = $('#tabs-placeholder-'+_this.$element.attr('id'));\n if ($placeholder.length) {\n $tabsContent = $('<div class=\"tabs-content\"></div>').insertAfter($placeholder).attr('data-tabs-content',_this.$element.attr('id'));\n $placeholder.remove();\n } else {\n $tabsContent = $('<div class=\"tabs-content\"></div>').insertAfter(_this.$element).attr('data-tabs-content',_this.$element.attr('id'));\n }\n $panels.each(function(key,value){\n var tempValue = $(value).appendTo($tabsContent).addClass(tabsPanel);\n var hash = $liHeadsA.get(key).hash.slice(1);\n var id = $(value).attr('id') || GetYoDigits(6, 'accordion');\n if (hash !== id) {\n if (hash !== '') {\n $(value).attr('id',hash);\n } else {\n hash = id;\n $(value).attr('id',hash);\n $($liHeadsA.get(key)).attr('href',$($liHeadsA.get(key)).attr('href').replace('#','')+'#'+hash);\n }\n }\n var isActive = $($liHeads.get(key)).hasClass('is-active');\n if (isActive) {\n tempValue.addClass('is-active');\n }\n });\n $liHeads.addClass(tabsTitle);\n };\n }\n\n /**\n * Opens the plugin pane defined by `target`.\n * @param {jQuery | String} target - jQuery object or string of the id of the pane to open.\n * @see Accordion.down\n * @see Tabs.selectTab\n * @function\n */\n open(_target) {\n if (this.currentRule && typeof this.currentRule.open === 'function') {\n return this.currentRule.open(this.currentPlugin, ...arguments);\n }\n }\n\n /**\n * Closes the plugin pane defined by `target`. Not availaible for Tabs.\n * @param {jQuery | String} target - jQuery object or string of the id of the pane to close.\n * @see Accordion.up\n * @function\n */\n close(_target) {\n if (this.currentRule && typeof this.currentRule.close === 'function') {\n return this.currentRule.close(this.currentPlugin, ...arguments);\n }\n }\n\n /**\n * Toggles the plugin pane defined by `target`. Not availaible for Tabs.\n * @param {jQuery | String} target - jQuery object or string of the id of the pane to toggle.\n * @see Accordion.toggle\n * @function\n */\n toggle(_target) {\n if (this.currentRule && typeof this.currentRule.toggle === 'function') {\n return this.currentRule.toggle(this.currentPlugin, ...arguments);\n }\n }\n\n /**\n * Destroys the instance of the current plugin on this element, as well as the window resize handler that switches the plugins out.\n * @function\n */\n _destroy() {\n if (this.currentPlugin) this.currentPlugin.destroy();\n $(window).off('changed.zf.mediaquery', this._changedZfMediaQueryHandler);\n }\n}\n\nResponsiveAccordionTabs.defaults = {};\n\nexport {ResponsiveAccordionTabs};\n","module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;"],"sourceRoot":""}
@@ -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.accordion\"],\"amd\":\"./foundation.accordion\",\"commonjs\":\"./foundation.accordion\",\"commonjs2\":\"./foundation.accordion\"}","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.tabs\"],\"amd\":\"./foundation.tabs\",\"commonjs\":\"./foundation.tabs\",\"commonjs2\":\"./foundation.tabs\"}","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]/js/entries/plugins/foundation.responsiveAccordionTabs.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.responsiveAccordionTabs.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_accordion__","__WEBPACK_EXTERNAL_MODULE__foundation_core__","__WEBPACK_EXTERNAL_MODULE__foundation_tabs__","__WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__","__WEBPACK_EXTERNAL_MODULE_jquery__","installedModules","__webpack_require__","m","r","__webpack_exports__","_foundation_core__WEBPACK_IMPORTED_MODULE_0__","d","_foundation_responsiveAccordionTabs__WEBPACK_IMPORTED_MODULE_1__","Foundation","plugin","ResponsiveAccordionTabs","jquery__WEBPACK_IMPORTED_MODULE_0__","jquery__WEBPACK_IMPORTED_MODULE_0___default","n","_foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_1__","_foundation_core_utils__WEBPACK_IMPORTED_MODULE_2__","_foundation_accordion__WEBPACK_IMPORTED_MODULE_3__","_foundation_tabs__WEBPACK_IMPORTED_MODULE_4__","MenuPlugins","tabs","cssClass","Tabs","open","target","selectTab","close","toggle","accordion","Accordion","down","$","up","element","options","_this2","_classCallCheck","this","_possibleConstructorReturn","_getPrototypeOf","call","reflow","storezfData","_assertThisInitialized","Plugin","$element","data","extend","defaults","rules","currentMq","currentRule","currentPlugin","className","attr","GetYoDigits","_init","_events","MediaQuery","rulesTree","split","i","length","rule","ruleSize","rulePlugin","_getAllOptions","isEmptyObject","_checkMediaQueries","key","allOptions","hasOwnProperty","obj","dummyPlugin","tmpPlugin","keyKey","objObj","destroy","e","_changedZfMediaQueryHandler","bind","on","matchedMq","_this","each","atLeast","value","removeClass","addClass","_handleMarkup","toSet","fromString","$panels","tabsTitle","linkClass","tabsPanel","panelClass","removeAttr","$liHeads","children","$liHeadsA","css","display","visibility","appendTo","get","height","after","detach","$tabsContent","$placeholder","insertAfter","remove","tempValue","hash","slice","id","replace","hasClass","_this$currentRule","apply","concat","Array","prototype","arguments","_this$currentRule2","_this$currentRule3","off","c","name","getter","o","Object","defineProperty","enumerable","Symbol","toStringTag","t","mode","__esModule","ns","create","object","property","p","s","moduleId","l","modules"],"mappings":"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","file":"foundation.responsiveAccordionTabs.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.accordion\"), require(\"./foundation.core\"), require(\"./foundation.tabs\"), require(\"./foundation.util.mediaQuery\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.accordion\", \"./foundation.core\", \"./foundation.tabs\", \"./foundation.util.mediaQuery\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.responsiveAccordionTabs\"] = factory(require(\"./foundation.accordion\"), require(\"./foundation.core\"), require(\"./foundation.tabs\"), require(\"./foundation.util.mediaQuery\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.responsiveAccordionTabs\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.accordion\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.tabs\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.mediaQuery\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_accordion__, __WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE__foundation_tabs__, __WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__, __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 = 11);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_accordion__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_tabs__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__;","import { Foundation } from './foundation.core';\n\nimport { ResponsiveAccordionTabs } from '../../foundation.responsiveAccordionTabs';\nFoundation.plugin(ResponsiveAccordionTabs, 'ResponsiveAccordionTabs');\n\nexport { Foundation, ResponsiveAccordionTabs };\n","'use strict';\n\nimport $ from 'jquery';\nimport { MediaQuery } from './foundation.util.mediaQuery';\nimport { GetYoDigits } from './foundation.core.utils';\nimport { Plugin }from './foundation.core.plugin';\n\nimport { Accordion } from './foundation.accordion';\nimport { Tabs } from './foundation.tabs';\n\n// The plugin matches the plugin classes with these plugin instances.\nvar MenuPlugins = {\n tabs: {\n cssClass: 'tabs',\n plugin: Tabs,\n open: (plugin, target) => plugin.selectTab(target),\n close: null /* not supported */,\n toggle: null /* not supported */,\n },\n accordion: {\n cssClass: 'accordion',\n plugin: Accordion,\n open: (plugin, target) => plugin.down($(target)),\n close: (plugin, target) => plugin.up($(target)),\n toggle: (plugin, target) => plugin.toggle($(target)),\n }\n};\n\n\n/**\n * ResponsiveAccordionTabs module.\n * @module foundation.responsiveAccordionTabs\n * @requires foundation.util.motion\n * @requires foundation.accordion\n * @requires foundation.tabs\n */\n\nclass ResponsiveAccordionTabs extends Plugin{\n constructor(element, options) {\n super(element, options);\n return this.options.reflow && this.storezfData || this;\n }\n\n /**\n * Creates a new instance of a responsive accordion tabs.\n * @class\n * @name ResponsiveAccordionTabs\n * @fires ResponsiveAccordionTabs#init\n * @param {jQuery} element - jQuery object to make into Responsive Accordion Tabs.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options) {\n this.$element = $(element);\n this.$element.data('zfPluginBase', this);\n this.options = $.extend({}, ResponsiveAccordionTabs.defaults, this.$element.data(), options);\n\n this.rules = this.$element.data('responsive-accordion-tabs');\n this.currentMq = null;\n this.currentRule = null;\n this.currentPlugin = null;\n this.className = 'ResponsiveAccordionTabs'; // ie9 back compat\n if (!this.$element.attr('id')) {\n this.$element.attr('id',GetYoDigits(6, 'responsiveaccordiontabs'));\n };\n\n this._init();\n this._events();\n }\n\n /**\n * Initializes the Menu by parsing the classes from the 'data-responsive-accordion-tabs' attribute on the element.\n * @function\n * @private\n */\n _init() {\n MediaQuery._init();\n\n // The first time an Interchange plugin is initialized, this.rules is converted from a string of \"classes\" to an object of rules\n if (typeof this.rules === 'string') {\n let rulesTree = {};\n\n // Parse rules from \"classes\" pulled from data attribute\n let rules = this.rules.split(' ');\n\n // Iterate through every rule found\n for (let i = 0; i < rules.length; i++) {\n let rule = rules[i].split('-');\n let ruleSize = rule.length > 1 ? rule[0] : 'small';\n let rulePlugin = rule.length > 1 ? rule[1] : rule[0];\n\n if (MenuPlugins[rulePlugin] !== null) {\n rulesTree[ruleSize] = MenuPlugins[rulePlugin];\n }\n }\n\n this.rules = rulesTree;\n }\n\n this._getAllOptions();\n\n if (!$.isEmptyObject(this.rules)) {\n this._checkMediaQueries();\n }\n }\n\n _getAllOptions() {\n //get all defaults and options\n var _this = this;\n _this.allOptions = {};\n for (var key in MenuPlugins) {\n if (MenuPlugins.hasOwnProperty(key)) {\n var obj = MenuPlugins[key];\n try {\n var dummyPlugin = $('<ul></ul>');\n var tmpPlugin = new obj.plugin(dummyPlugin,_this.options);\n for (var keyKey in tmpPlugin.options) {\n if (tmpPlugin.options.hasOwnProperty(keyKey) && keyKey !== 'zfPlugin') {\n var objObj = tmpPlugin.options[keyKey];\n _this.allOptions[keyKey] = objObj;\n }\n }\n tmpPlugin.destroy();\n }\n catch(e) {\n }\n }\n }\n }\n\n /**\n * Initializes events for the Menu.\n * @function\n * @private\n */\n _events() {\n this._changedZfMediaQueryHandler = this._checkMediaQueries.bind(this);\n $(window).on('changed.zf.mediaquery', this._changedZfMediaQueryHandler);\n }\n\n /**\n * Checks the current screen width against available media queries. If the media query has changed, and the plugin needed has changed, the plugins will swap out.\n * @function\n * @private\n */\n _checkMediaQueries() {\n var matchedMq, _this = this;\n // Iterate through each rule and find the last matching rule\n $.each(this.rules, function(key) {\n if (MediaQuery.atLeast(key)) {\n matchedMq = key;\n }\n });\n\n // No match? No dice\n if (!matchedMq) return;\n\n // Plugin already initialized? We good\n if (this.currentPlugin instanceof this.rules[matchedMq].plugin) return;\n\n // Remove existing plugin-specific CSS classes\n $.each(MenuPlugins, function(key, value) {\n _this.$element.removeClass(value.cssClass);\n });\n\n // Add the CSS class for the new plugin\n this.$element.addClass(this.rules[matchedMq].cssClass);\n\n // Create an instance of the new plugin\n if (this.currentPlugin) {\n //don't know why but on nested elements data zfPlugin get's lost\n if (!this.currentPlugin.$element.data('zfPlugin') && this.storezfData) this.currentPlugin.$element.data('zfPlugin',this.storezfData);\n this.currentPlugin.destroy();\n }\n this._handleMarkup(this.rules[matchedMq].cssClass);\n this.currentRule = this.rules[matchedMq];\n this.currentPlugin = new this.currentRule.plugin(this.$element, this.options);\n this.storezfData = this.currentPlugin.$element.data('zfPlugin');\n\n }\n\n _handleMarkup(toSet){\n var _this = this, fromString = 'accordion';\n var $panels = $('[data-tabs-content='+this.$element.attr('id')+']');\n if ($panels.length) fromString = 'tabs';\n if (fromString === toSet) {\n return;\n };\n\n var tabsTitle = _this.allOptions.linkClass?_this.allOptions.linkClass:'tabs-title';\n var tabsPanel = _this.allOptions.panelClass?_this.allOptions.panelClass:'tabs-panel';\n\n this.$element.removeAttr('role');\n var $liHeads = this.$element.children('.'+tabsTitle+',[data-accordion-item]').removeClass(tabsTitle).removeClass('accordion-item').removeAttr('data-accordion-item');\n var $liHeadsA = $liHeads.children('a').removeClass('accordion-title');\n\n if (fromString === 'tabs') {\n $panels = $panels.children('.'+tabsPanel).removeClass(tabsPanel).removeAttr('role').removeAttr('aria-hidden').removeAttr('aria-labelledby');\n $panels.children('a').removeAttr('role').removeAttr('aria-controls').removeAttr('aria-selected');\n }else{\n $panels = $liHeads.children('[data-tab-content]').removeClass('accordion-content');\n };\n\n $panels.css({display:'',visibility:''});\n $liHeads.css({display:'',visibility:''});\n if (toSet === 'accordion') {\n $panels.each(function(key,value){\n $(value).appendTo($liHeads.get(key)).addClass('accordion-content').attr('data-tab-content','').removeClass('is-active').css({height:''});\n $('[data-tabs-content='+_this.$element.attr('id')+']').after('<div id=\"tabs-placeholder-'+_this.$element.attr('id')+'\"></div>').detach();\n $liHeads.addClass('accordion-item').attr('data-accordion-item','');\n $liHeadsA.addClass('accordion-title');\n });\n }else if (toSet === 'tabs'){\n var $tabsContent = $('[data-tabs-content='+_this.$element.attr('id')+']');\n var $placeholder = $('#tabs-placeholder-'+_this.$element.attr('id'));\n if ($placeholder.length) {\n $tabsContent = $('<div class=\"tabs-content\"></div>').insertAfter($placeholder).attr('data-tabs-content',_this.$element.attr('id'));\n $placeholder.remove();\n }else{\n $tabsContent = $('<div class=\"tabs-content\"></div>').insertAfter(_this.$element).attr('data-tabs-content',_this.$element.attr('id'));\n };\n $panels.each(function(key,value){\n var tempValue = $(value).appendTo($tabsContent).addClass(tabsPanel);\n var hash = $liHeadsA.get(key).hash.slice(1);\n var id = $(value).attr('id') || GetYoDigits(6, 'accordion');\n if (hash !== id) {\n if (hash !== '') {\n $(value).attr('id',hash);\n }else{\n hash = id;\n $(value).attr('id',hash);\n $($liHeadsA.get(key)).attr('href',$($liHeadsA.get(key)).attr('href').replace('#','')+'#'+hash);\n };\n };\n var isActive = $($liHeads.get(key)).hasClass('is-active');\n if (isActive) {\n tempValue.addClass('is-active');\n };\n });\n $liHeads.addClass(tabsTitle);\n };\n }\n\n /**\n * Opens the plugin pane defined by `target`.\n * @param {jQuery | String} target - jQuery object or string of the id of the pane to open.\n * @see Accordion.down\n * @see Tabs.selectTab\n * @function\n */\n open(target) {\n if (this.currentRule && typeof this.currentRule.open === 'function') {\n return this.currentRule.open(this.currentPlugin, ...arguments);\n }\n }\n\n /**\n * Closes the plugin pane defined by `target`. Not availaible for Tabs.\n * @param {jQuery | String} target - jQuery object or string of the id of the pane to close.\n * @see Accordion.up\n * @function\n */\n close(target) {\n if (this.currentRule && typeof this.currentRule.close === 'function') {\n return this.currentRule.close(this.currentPlugin, ...arguments);\n }\n }\n\n /**\n * Toggles the plugin pane defined by `target`. Not availaible for Tabs.\n * @param {jQuery | String} target - jQuery object or string of the id of the pane to toggle.\n * @see Accordion.toggle\n * @function\n */\n toggle(target) {\n if (this.currentRule && typeof this.currentRule.toggle === 'function') {\n return this.currentRule.toggle(this.currentPlugin, ...arguments);\n }\n }\n\n /**\n * Destroys the instance of the current plugin on this element, as well as the window resize handler that switches the plugins out.\n * @function\n */\n _destroy() {\n if (this.currentPlugin) this.currentPlugin.destroy();\n $(window).off('changed.zf.mediaquery', this._changedZfMediaQueryHandler);\n }\n}\n\nResponsiveAccordionTabs.defaults = {};\n\nexport {ResponsiveAccordionTabs};\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.accordion\"],\"amd\":\"./foundation.accordion\",\"commonjs\":\"./foundation.accordion\",\"commonjs2\":\"./foundation.accordion\"}","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.tabs\"],\"amd\":\"./foundation.tabs\",\"commonjs\":\"./foundation.tabs\",\"commonjs2\":\"./foundation.tabs\"}","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]/js/entries/plugins/foundation.responsiveAccordionTabs.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.responsiveAccordionTabs.js"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__foundation_accordion__","__WEBPACK_EXTERNAL_MODULE__foundation_core__","__WEBPACK_EXTERNAL_MODULE__foundation_tabs__","__WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__","__WEBPACK_EXTERNAL_MODULE_jquery__","installedModules","__webpack_require__","m","r","__webpack_exports__","_foundation_core__WEBPACK_IMPORTED_MODULE_0__","d","_foundation_responsiveAccordionTabs__WEBPACK_IMPORTED_MODULE_1__","Foundation","plugin","ResponsiveAccordionTabs","jquery__WEBPACK_IMPORTED_MODULE_0__","jquery__WEBPACK_IMPORTED_MODULE_0___default","n","_foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_1__","_foundation_core_utils__WEBPACK_IMPORTED_MODULE_2__","_foundation_accordion__WEBPACK_IMPORTED_MODULE_3__","_foundation_tabs__WEBPACK_IMPORTED_MODULE_4__","MenuPlugins","tabs","cssClass","Tabs","open","target","selectTab","close","toggle","accordion","Accordion","down","$","up","element","options","_this2","_classCallCheck","this","_possibleConstructorReturn","_getPrototypeOf","call","reflow","storezfData","_assertThisInitialized","$element","data","extend","defaults","rules","currentMq","currentRule","currentPlugin","className","attr","GetYoDigits","_init","rulesTree","split","i","ruleSize","length","rule","rulePlugin","_getAllOptions","a","isEmptyObject","key","_this","allOptions","obj","tmpPlugin","dummyPlugin","objObj","hasOwnProperty","destroy","on","_changedZfMediaQueryHandler","matchedMq","value","addClass","_handleMarkup","fromString","$panels","toSet","tabsTitle","linkClass","removeAttr","removeClass","tabsPanel","panelClass","display","$liHeads","$liHeadsA","children","css","visibility","appendTo","get","after","detach","height","$placeholder","$tabsContent","insertAfter","each","hash","slice","id","tempValue","replace","hasClass","_target","off","c","name","getter","o","Object","defineProperty","enumerable","Symbol","toStringTag","t","mode","__esModule","ns","create","bind","object","property","prototype","p","s","moduleId","l","modules"],"mappings":"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","file":"foundation.responsiveAccordionTabs.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.accordion\"), require(\"./foundation.core\"), require(\"./foundation.tabs\"), require(\"./foundation.util.mediaQuery\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.accordion\", \"./foundation.core\", \"./foundation.tabs\", \"./foundation.util.mediaQuery\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.responsiveAccordionTabs\"] = factory(require(\"./foundation.accordion\"), require(\"./foundation.core\"), require(\"./foundation.tabs\"), require(\"./foundation.util.mediaQuery\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.responsiveAccordionTabs\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.accordion\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.tabs\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.mediaQuery\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_accordion__, __WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE__foundation_tabs__, __WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__, __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 = 11);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_accordion__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_tabs__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__;","import { Foundation } from './foundation.core';\n\nimport { ResponsiveAccordionTabs } from '../../foundation.responsiveAccordionTabs';\nFoundation.plugin(ResponsiveAccordionTabs, 'ResponsiveAccordionTabs');\n\nexport { Foundation, ResponsiveAccordionTabs };\n","'use strict';\n\nimport $ from 'jquery';\nimport { MediaQuery } from './foundation.util.mediaQuery';\nimport { GetYoDigits } from './foundation.core.utils';\nimport { Plugin }from './foundation.core.plugin';\n\nimport { Accordion } from './foundation.accordion';\nimport { Tabs } from './foundation.tabs';\n\n// The plugin matches the plugin classes with these plugin instances.\nvar MenuPlugins = {\n tabs: {\n cssClass: 'tabs',\n plugin: Tabs,\n open: (plugin, target) => plugin.selectTab(target),\n close: null /* not supported */,\n toggle: null /* not supported */,\n },\n accordion: {\n cssClass: 'accordion',\n plugin: Accordion,\n open: (plugin, target) => plugin.down($(target)),\n close: (plugin, target) => plugin.up($(target)),\n toggle: (plugin, target) => plugin.toggle($(target)),\n }\n};\n\n\n/**\n * ResponsiveAccordionTabs module.\n * @module foundation.responsiveAccordionTabs\n * @requires foundation.util.motion\n * @requires foundation.accordion\n * @requires foundation.tabs\n */\n\nclass ResponsiveAccordionTabs extends Plugin{\n constructor(element, options) {\n super(element, options);\n return this.options.reflow && this.storezfData || this;\n }\n\n /**\n * Creates a new instance of a responsive accordion tabs.\n * @class\n * @name ResponsiveAccordionTabs\n * @fires ResponsiveAccordionTabs#init\n * @param {jQuery} element - jQuery object to make into Responsive Accordion Tabs.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options) {\n this.$element = $(element);\n this.$element.data('zfPluginBase', this);\n this.options = $.extend({}, ResponsiveAccordionTabs.defaults, this.$element.data(), options);\n\n this.rules = this.$element.data('responsive-accordion-tabs');\n this.currentMq = null;\n this.currentRule = null;\n this.currentPlugin = null;\n this.className = 'ResponsiveAccordionTabs'; // ie9 back compat\n if (!this.$element.attr('id')) {\n this.$element.attr('id',GetYoDigits(6, 'responsiveaccordiontabs'));\n };\n\n this._init();\n this._events();\n }\n\n /**\n * Initializes the Menu by parsing the classes from the 'data-responsive-accordion-tabs' attribute on the element.\n * @function\n * @private\n */\n _init() {\n MediaQuery._init();\n\n // The first time an Interchange plugin is initialized, this.rules is converted from a string of \"classes\" to an object of rules\n if (typeof this.rules === 'string') {\n let rulesTree = {};\n\n // Parse rules from \"classes\" pulled from data attribute\n let rules = this.rules.split(' ');\n\n // Iterate through every rule found\n for (let i = 0; i < rules.length; i++) {\n let rule = rules[i].split('-');\n let ruleSize = rule.length > 1 ? rule[0] : 'small';\n let rulePlugin = rule.length > 1 ? rule[1] : rule[0];\n\n if (MenuPlugins[rulePlugin] !== null) {\n rulesTree[ruleSize] = MenuPlugins[rulePlugin];\n }\n }\n\n this.rules = rulesTree;\n }\n\n this._getAllOptions();\n\n if (!$.isEmptyObject(this.rules)) {\n this._checkMediaQueries();\n }\n }\n\n _getAllOptions() {\n //get all defaults and options\n var _this = this;\n _this.allOptions = {};\n for (var key in MenuPlugins) {\n if (MenuPlugins.hasOwnProperty(key)) {\n var obj = MenuPlugins[key];\n try {\n var dummyPlugin = $('<ul></ul>');\n var tmpPlugin = new obj.plugin(dummyPlugin,_this.options);\n for (var keyKey in tmpPlugin.options) {\n if (tmpPlugin.options.hasOwnProperty(keyKey) && keyKey !== 'zfPlugin') {\n var objObj = tmpPlugin.options[keyKey];\n _this.allOptions[keyKey] = objObj;\n }\n }\n tmpPlugin.destroy();\n }\n catch(e) {\n }\n }\n }\n }\n\n /**\n * Initializes events for the Menu.\n * @function\n * @private\n */\n _events() {\n this._changedZfMediaQueryHandler = this._checkMediaQueries.bind(this);\n $(window).on('changed.zf.mediaquery', this._changedZfMediaQueryHandler);\n }\n\n /**\n * Checks the current screen width against available media queries. If the media query has changed, and the plugin needed has changed, the plugins will swap out.\n * @function\n * @private\n */\n _checkMediaQueries() {\n var matchedMq, _this = this;\n // Iterate through each rule and find the last matching rule\n $.each(this.rules, function(key) {\n if (MediaQuery.atLeast(key)) {\n matchedMq = key;\n }\n });\n\n // No match? No dice\n if (!matchedMq) return;\n\n // Plugin already initialized? We good\n if (this.currentPlugin instanceof this.rules[matchedMq].plugin) return;\n\n // Remove existing plugin-specific CSS classes\n $.each(MenuPlugins, function(key, value) {\n _this.$element.removeClass(value.cssClass);\n });\n\n // Add the CSS class for the new plugin\n this.$element.addClass(this.rules[matchedMq].cssClass);\n\n // Create an instance of the new plugin\n if (this.currentPlugin) {\n //don't know why but on nested elements data zfPlugin get's lost\n if (!this.currentPlugin.$element.data('zfPlugin') && this.storezfData) this.currentPlugin.$element.data('zfPlugin',this.storezfData);\n this.currentPlugin.destroy();\n }\n this._handleMarkup(this.rules[matchedMq].cssClass);\n this.currentRule = this.rules[matchedMq];\n this.currentPlugin = new this.currentRule.plugin(this.$element, this.options);\n this.storezfData = this.currentPlugin.$element.data('zfPlugin');\n\n }\n\n _handleMarkup(toSet){\n var _this = this, fromString = 'accordion';\n var $panels = $('[data-tabs-content='+this.$element.attr('id')+']');\n if ($panels.length) fromString = 'tabs';\n if (fromString === toSet) {\n return;\n };\n\n var tabsTitle = _this.allOptions.linkClass?_this.allOptions.linkClass:'tabs-title';\n var tabsPanel = _this.allOptions.panelClass?_this.allOptions.panelClass:'tabs-panel';\n\n this.$element.removeAttr('role');\n var $liHeads = this.$element.children('.'+tabsTitle+',[data-accordion-item]').removeClass(tabsTitle).removeClass('accordion-item').removeAttr('data-accordion-item');\n var $liHeadsA = $liHeads.children('a').removeClass('accordion-title');\n\n if (fromString === 'tabs') {\n $panels = $panels.children('.'+tabsPanel).removeClass(tabsPanel).removeAttr('role').removeAttr('aria-hidden').removeAttr('aria-labelledby');\n $panels.children('a').removeAttr('role').removeAttr('aria-controls').removeAttr('aria-selected');\n }else{\n $panels = $liHeads.children('[data-tab-content]').removeClass('accordion-content');\n };\n\n $panels.css({display:'',visibility:''});\n $liHeads.css({display:'',visibility:''});\n if (toSet === 'accordion') {\n $panels.each(function(key,value){\n $(value).appendTo($liHeads.get(key)).addClass('accordion-content').attr('data-tab-content','').removeClass('is-active').css({height:''});\n $('[data-tabs-content='+_this.$element.attr('id')+']').after('<div id=\"tabs-placeholder-'+_this.$element.attr('id')+'\"></div>').detach();\n $liHeads.addClass('accordion-item').attr('data-accordion-item','');\n $liHeadsA.addClass('accordion-title');\n });\n }else if (toSet === 'tabs'){\n var $tabsContent = $('[data-tabs-content='+_this.$element.attr('id')+']');\n var $placeholder = $('#tabs-placeholder-'+_this.$element.attr('id'));\n if ($placeholder.length) {\n $tabsContent = $('<div class=\"tabs-content\"></div>').insertAfter($placeholder).attr('data-tabs-content',_this.$element.attr('id'));\n $placeholder.remove();\n }else{\n $tabsContent = $('<div class=\"tabs-content\"></div>').insertAfter(_this.$element).attr('data-tabs-content',_this.$element.attr('id'));\n };\n $panels.each(function(key,value){\n var tempValue = $(value).appendTo($tabsContent).addClass(tabsPanel);\n var hash = $liHeadsA.get(key).hash.slice(1);\n var id = $(value).attr('id') || GetYoDigits(6, 'accordion');\n if (hash !== id) {\n if (hash !== '') {\n $(value).attr('id',hash);\n }else{\n hash = id;\n $(value).attr('id',hash);\n $($liHeadsA.get(key)).attr('href',$($liHeadsA.get(key)).attr('href').replace('#','')+'#'+hash);\n };\n };\n var isActive = $($liHeads.get(key)).hasClass('is-active');\n if (isActive) {\n tempValue.addClass('is-active');\n };\n });\n $liHeads.addClass(tabsTitle);\n };\n }\n\n /**\n * Opens the plugin pane defined by `target`.\n * @param {jQuery | String} target - jQuery object or string of the id of the pane to open.\n * @see Accordion.down\n * @see Tabs.selectTab\n * @function\n */\n open(target) {\n if (this.currentRule && typeof this.currentRule.open === 'function') {\n return this.currentRule.open(this.currentPlugin, ...arguments);\n }\n }\n\n /**\n * Closes the plugin pane defined by `target`. Not availaible for Tabs.\n * @param {jQuery | String} target - jQuery object or string of the id of the pane to close.\n * @see Accordion.up\n * @function\n */\n close(target) {\n if (this.currentRule && typeof this.currentRule.close === 'function') {\n return this.currentRule.close(this.currentPlugin, ...arguments);\n }\n }\n\n /**\n * Toggles the plugin pane defined by `target`. Not availaible for Tabs.\n * @param {jQuery | String} target - jQuery object or string of the id of the pane to toggle.\n * @see Accordion.toggle\n * @function\n */\n toggle(target) {\n if (this.currentRule && typeof this.currentRule.toggle === 'function') {\n return this.currentRule.toggle(this.currentPlugin, ...arguments);\n }\n }\n\n /**\n * Destroys the instance of the current plugin on this element, as well as the window resize handler that switches the plugins out.\n * @function\n */\n _destroy() {\n if (this.currentPlugin) this.currentPlugin.destroy();\n $(window).off('changed.zf.mediaquery', this._changedZfMediaQueryHandler);\n }\n}\n\nResponsiveAccordionTabs.defaults = {};\n\nexport {ResponsiveAccordionTabs};\n"]}
@@ -392,7 +392,7 @@ ResponsiveMenu.defaults = {};
392
392
  /*! no static exports found */
393
393
  /***/ (function(module, exports, __webpack_require__) {
394
394
 
395
- module.exports = __webpack_require__(/*! /Volumes/Data/Development/Foundation/foundation-sites/js/entries/plugins/foundation.responsiveMenu.js */"./js/entries/plugins/foundation.responsiveMenu.js");
395
+ module.exports = __webpack_require__(/*! /Users/joeworkman/Development/foundation-sites/js/entries/plugins/foundation.responsiveMenu.js */"./js/entries/plugins/foundation.responsiveMenu.js");
396
396
 
397
397
 
398
398
  /***/ }),
@@ -373,7 +373,7 @@ ResponsiveToggle.defaults = {
373
373
  /*! no static exports found */
374
374
  /***/ (function(module, exports, __webpack_require__) {
375
375
 
376
- module.exports = __webpack_require__(/*! /Volumes/Data/Development/Foundation/foundation-sites/js/entries/plugins/foundation.responsiveToggle.js */"./js/entries/plugins/foundation.responsiveToggle.js");
376
+ module.exports = __webpack_require__(/*! /Users/joeworkman/Development/foundation-sites/js/entries/plugins/foundation.responsiveToggle.js */"./js/entries/plugins/foundation.responsiveToggle.js");
377
377
 
378
378
 
379
379
  /***/ }),
@@ -721,7 +721,7 @@ function (_Plugin) {
721
721
  function finishUp() {
722
722
  // Get the current top before the modal is closed and restore the scroll after.
723
723
  // TODO: use component properties instead of HTML properties
724
- // See https://github.com/zurb/foundation-sites/pull/10786
724
+ // See https://github.com/foundation/foundation-sites/pull/10786
725
725
  var scrollTop = parseInt(jquery__WEBPACK_IMPORTED_MODULE_0___default()("html").css("top"));
726
726
 
727
727
  if (jquery__WEBPACK_IMPORTED_MODULE_0___default()('.reveal:visible').length === 0) {
@@ -1254,7 +1254,7 @@ Triggers.init = function ($, Foundation) {
1254
1254
  /*! no static exports found */
1255
1255
  /***/ (function(module, exports, __webpack_require__) {
1256
1256
 
1257
- module.exports = __webpack_require__(/*! /Volumes/Data/Development/Foundation/foundation-sites/js/entries/plugins/foundation.reveal.js */"./js/entries/plugins/foundation.reveal.js");
1257
+ module.exports = __webpack_require__(/*! /Users/joeworkman/Development/foundation-sites/js/entries/plugins/foundation.reveal.js */"./js/entries/plugins/foundation.reveal.js");
1258
1258
 
1259
1259
 
1260
1260
  /***/ }),
@@ -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.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]/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.reveal.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.reveal.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","Reveal","element","options","$element","$","extend","defaults","data","className","_init","Touch","init","Triggers","Keyboard","register","MediaQuery","id","attr","isActive","cached","mq","current","$anchor","length","fullScreen","hasClass","overlay","$overlay","_makeOverlay","detach","appendTo","addClass","_events","deepLink","window","location","hash","onLoadListener","onLoad","open","additionalOverlayClasses","width","outerWidth","height","outerHeight","left","top","hOffset","parseInt","vOffset","Math","min","css","margin","_this","on","bind","event","target","parents","close","apply","toggle","_updatePosition","closeOnClick","off","e","contains","document","_handleState","scrollTop","history","pushState","updateHistory","replaceState","$activeAnchor","activeElement","is","show","hide","multipleOpened","trigger","_disableScroll","animationIn","afterAnimation","focus","_addGlobalClasses","trapFocus","Motion","animateIn","focusableElements","findFocusable","showDelay","_addGlobalListeners","updateScrollbarClass","toggleClass","removeClass","closeOnEsc","handleKey","animationOut","animateOut","finishUp","hideDelay","_removeGlobalClasses","releaseFocus","_enableScroll","resetOnClose","html","urlWithoutHash","pathname","search","title","remove","Plugin","MutationObserver","prefixes","i","triggers","el","type","split","forEach","Listeners","Basic","Global","Initializers","openListener","closeListener","toggleListener","closeableListener","animation","stopPropagation","fadeOut","toggleFocusListener","triggerHandler","addOpenListener","$elem","addCloseListener","addToggleListener","addCloseableListener","addToggleFocusListener","resizeListener","$nodes","each","scrollListener","closeMeListener","pluginId","namespace","plugins","not","addClosemeListener","pluginName","yetiBoxes","plugNames","push","concat","console","error","listeners","map","name","join","debounceGlobalListener","debounce","listener","timer","args","Array","prototype","slice","call","arguments","clearTimeout","setTimeout","addResizeListener","addScrollListener","addMutationEventsListener","find","listeningElementsMutation","mutationRecordsList","$target","attributeName","pageYOffset","closest","elementObserver","observe","attributes","childList","characterData","subtree","attributeFilter","addSimpleListeners","$document","addGlobalListeners","triggersInitialized","IHearYou"],"mappings":"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","file":"foundation.reveal.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.mediaQuery\"), 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.mediaQuery\", \"./foundation.util.motion\", \"./foundation.util.touch\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.reveal\"] = factory(require(\"./foundation.core\"), require(\"./foundation.util.keyboard\"), require(\"./foundation.util.mediaQuery\"), require(\"./foundation.util.motion\"), require(\"./foundation.util.touch\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.reveal\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.keyboard\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.mediaQuery\"], 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_mediaQuery__, __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 = 14);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_touch__;","import { Foundation } from './foundation.core';\n\nimport { Reveal } from '../../foundation.reveal';\nFoundation.plugin(Reveal, 'Reveal');\n\nexport { Foundation, Reveal };\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 { MediaQuery } from './foundation.util.mediaQuery';\nimport { Motion } from './foundation.util.motion';\nimport { Triggers } from './foundation.util.triggers';\nimport { Touch } from './foundation.util.touch'\n\n/**\n * Reveal module.\n * @module foundation.reveal\n * @requires foundation.util.keyboard\n * @requires foundation.util.touch\n * @requires foundation.util.triggers\n * @requires foundation.util.mediaQuery\n * @requires foundation.util.motion if using animations\n */\n\nclass Reveal extends Plugin {\n /**\n * Creates a new instance of Reveal.\n * @class\n * @name Reveal\n * @param {jQuery} element - jQuery object to use for the modal.\n * @param {Object} options - optional parameters.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, Reveal.defaults, this.$element.data(), options);\n this.className = 'Reveal'; // ie9 back compat\n this._init();\n\n // Touch and Triggers init are idempotent, just need to make sure they are initialized\n Touch.init($);\n Triggers.init($);\n\n Keyboard.register('Reveal', {\n 'ESCAPE': 'close',\n });\n }\n\n /**\n * Initializes the modal by adding the overlay and close buttons, (if selected).\n * @private\n */\n _init() {\n MediaQuery._init();\n this.id = this.$element.attr('id');\n this.isActive = false;\n this.cached = {mq: MediaQuery.current};\n\n this.$anchor = $(`[data-open=\"${this.id}\"]`).length ? $(`[data-open=\"${this.id}\"]`) : $(`[data-toggle=\"${this.id}\"]`);\n this.$anchor.attr({\n 'aria-controls': this.id,\n 'aria-haspopup': true,\n 'tabindex': 0\n });\n\n if (this.options.fullScreen || this.$element.hasClass('full')) {\n this.options.fullScreen = true;\n this.options.overlay = false;\n }\n if (this.options.overlay && !this.$overlay) {\n this.$overlay = this._makeOverlay(this.id);\n }\n\n this.$element.attr({\n 'role': 'dialog',\n 'aria-hidden': true,\n 'data-yeti-box': this.id,\n 'data-resize': this.id\n });\n\n if(this.$overlay) {\n this.$element.detach().appendTo(this.$overlay);\n } else {\n this.$element.detach().appendTo($(this.options.appendTo));\n this.$element.addClass('without-overlay');\n }\n this._events();\n if (this.options.deepLink && window.location.hash === ( `#${this.id}`)) {\n this.onLoadListener = onLoad($(window), () => this.open());\n }\n }\n\n /**\n * Creates an overlay div to display behind the modal.\n * @private\n */\n _makeOverlay() {\n var additionalOverlayClasses = '';\n\n if (this.options.additionalOverlayClasses) {\n additionalOverlayClasses = ' ' + this.options.additionalOverlayClasses;\n }\n\n return $('<div></div>')\n .addClass('reveal-overlay' + additionalOverlayClasses)\n .appendTo(this.options.appendTo);\n }\n\n /**\n * Updates position of modal\n * TODO: Figure out if we actually need to cache these values or if it doesn't matter\n * @private\n */\n _updatePosition() {\n var width = this.$element.outerWidth();\n var outerWidth = $(window).width();\n var height = this.$element.outerHeight();\n var outerHeight = $(window).height();\n var left, top = null;\n if (this.options.hOffset === 'auto') {\n left = parseInt((outerWidth - width) / 2, 10);\n } else {\n left = parseInt(this.options.hOffset, 10);\n }\n if (this.options.vOffset === 'auto') {\n if (height > outerHeight) {\n top = parseInt(Math.min(100, outerHeight / 10), 10);\n } else {\n top = parseInt((outerHeight - height) / 4, 10);\n }\n } else if (this.options.vOffset !== null) {\n top = parseInt(this.options.vOffset, 10);\n }\n\n if (top !== null) {\n this.$element.css({top: top + 'px'});\n }\n\n // only worry about left if we don't have an overlay or we have a horizontal offset,\n // otherwise we're perfectly in the middle\n if (!this.$overlay || (this.options.hOffset !== 'auto')) {\n this.$element.css({left: left + 'px'});\n this.$element.css({margin: '0px'});\n }\n\n }\n\n /**\n * Adds event handlers for the modal.\n * @private\n */\n _events() {\n var _this = this;\n\n this.$element.on({\n 'open.zf.trigger': this.open.bind(this),\n 'close.zf.trigger': (event, $element) => {\n if ((event.target === _this.$element[0]) ||\n ($(event.target).parents('[data-closable]')[0] === $element)) { // only close reveal when it's explicitly called\n return this.close.apply(this);\n }\n },\n 'toggle.zf.trigger': this.toggle.bind(this),\n 'resizeme.zf.trigger': function() {\n _this._updatePosition();\n }\n });\n\n if (this.options.closeOnClick && this.options.overlay) {\n this.$overlay.off('.zf.reveal').on('click.zf.dropdown tap.zf.dropdown', function(e) {\n if (e.target === _this.$element[0] ||\n $.contains(_this.$element[0], e.target) ||\n !$.contains(document, e.target)) {\n return;\n }\n _this.close();\n });\n }\n if (this.options.deepLink) {\n $(window).on(`hashchange.zf.reveal:${this.id}`, this._handleState.bind(this));\n }\n }\n\n /**\n * Handles modal methods on back/forward button clicks or any other event that triggers hashchange.\n * @private\n */\n _handleState(e) {\n if(window.location.hash === ( '#' + this.id) && !this.isActive){ this.open(); }\n else{ this.close(); }\n }\n\n /**\n * Disables the scroll when Reveal is shown to prevent the background from shifting\n * @param {number} scrollTop - Scroll to visually apply, window current scroll by default\n */\n _disableScroll(scrollTop) {\n scrollTop = scrollTop || $(window).scrollTop();\n if ($(document).height() > $(window).height()) {\n $(\"html\")\n .css(\"top\", -scrollTop);\n }\n }\n\n /**\n * Reenables the scroll when Reveal closes\n * @param {number} scrollTop - Scroll to restore, html \"top\" property by default (as set by `_disableScroll`)\n */\n _enableScroll(scrollTop) {\n scrollTop = scrollTop || parseInt($(\"html\").css(\"top\"));\n if ($(document).height() > $(window).height()) {\n $(\"html\")\n .css(\"top\", \"\");\n $(window).scrollTop(-scrollTop);\n }\n }\n\n\n /**\n * Opens the modal controlled by `this.$anchor`, and closes all others by default.\n * @function\n * @fires Reveal#closeme\n * @fires Reveal#open\n */\n open() {\n // either update or replace browser history\n const hash = `#${this.id}`;\n if (this.options.deepLink && window.location.hash !== hash) {\n\n if (window.history.pushState) {\n if (this.options.updateHistory) {\n window.history.pushState({}, '', hash);\n } else {\n window.history.replaceState({}, '', hash);\n }\n } else {\n window.location.hash = hash;\n }\n }\n\n // Remember anchor that opened it to set focus back later, have general anchors as fallback\n this.$activeAnchor = $(document.activeElement).is(this.$anchor) ? $(document.activeElement) : this.$anchor;\n\n this.isActive = true;\n\n // Make elements invisible, but remove display: none so we can get size and positioning\n this.$element\n .css({ 'visibility': 'hidden' })\n .show()\n .scrollTop(0);\n if (this.options.overlay) {\n this.$overlay.css({'visibility': 'hidden'}).show();\n }\n\n this._updatePosition();\n\n this.$element\n .hide()\n .css({ 'visibility': '' });\n\n if(this.$overlay) {\n this.$overlay.css({'visibility': ''}).hide();\n if(this.$element.hasClass('fast')) {\n this.$overlay.addClass('fast');\n } else if (this.$element.hasClass('slow')) {\n this.$overlay.addClass('slow');\n }\n }\n\n\n if (!this.options.multipleOpened) {\n /**\n * Fires immediately before the modal opens.\n * Closes any other modals that are currently open\n * @event Reveal#closeme\n */\n this.$element.trigger('closeme.zf.reveal', this.id);\n }\n\n if ($('.reveal:visible').length === 0) {\n this._disableScroll();\n }\n\n var _this = this;\n\n // Motion UI method of reveal\n if (this.options.animationIn) {\n function afterAnimation(){\n _this.$element\n .attr({\n 'aria-hidden': false,\n 'tabindex': -1\n })\n .focus();\n _this._addGlobalClasses();\n Keyboard.trapFocus(_this.$element);\n }\n if (this.options.overlay) {\n Motion.animateIn(this.$overlay, 'fade-in');\n }\n Motion.animateIn(this.$element, this.options.animationIn, () => {\n if(this.$element) { // protect against object having been removed\n this.focusableElements = Keyboard.findFocusable(this.$element);\n afterAnimation();\n }\n });\n }\n // jQuery method of reveal\n else {\n if (this.options.overlay) {\n this.$overlay.show(0);\n }\n this.$element.show(this.options.showDelay);\n }\n\n // handle accessibility\n this.$element\n .attr({\n 'aria-hidden': false,\n 'tabindex': -1\n })\n .focus();\n Keyboard.trapFocus(this.$element);\n\n this._addGlobalClasses();\n\n this._addGlobalListeners();\n\n /**\n * Fires when the modal has successfully opened.\n * @event Reveal#open\n */\n this.$element.trigger('open.zf.reveal');\n }\n\n /**\n * Adds classes and listeners on document required by open modals.\n *\n * The following classes are added and updated:\n * - `.is-reveal-open` - Prevents the scroll on document\n * - `.zf-has-scroll` - Displays a disabled scrollbar on document if required like if the\n * scroll was not disabled. This prevent a \"shift\" of the page content due\n * the scrollbar disappearing when the modal opens.\n *\n * @private\n */\n _addGlobalClasses() {\n const updateScrollbarClass = () => {\n $('html').toggleClass('zf-has-scroll', !!($(document).height() > $(window).height()));\n };\n\n this.$element.on('resizeme.zf.trigger.revealScrollbarListener', () => updateScrollbarClass());\n updateScrollbarClass();\n $('html').addClass('is-reveal-open');\n }\n\n /**\n * Removes classes and listeners on document that were required by open modals.\n * @private\n */\n _removeGlobalClasses() {\n this.$element.off('resizeme.zf.trigger.revealScrollbarListener');\n $('html').removeClass('is-reveal-open');\n $('html').removeClass('zf-has-scroll');\n }\n\n /**\n * Adds extra event handlers for the body and window if necessary.\n * @private\n */\n _addGlobalListeners() {\n var _this = this;\n if(!this.$element) { return; } // If we're in the middle of cleanup, don't freak out\n this.focusableElements = Keyboard.findFocusable(this.$element);\n\n if (!this.options.overlay && this.options.closeOnClick && !this.options.fullScreen) {\n $('body').on('click.zf.dropdown tap.zf.dropdown', function(e) {\n if (e.target === _this.$element[0] ||\n $.contains(_this.$element[0], e.target) ||\n !$.contains(document, e.target)) { return; }\n _this.close();\n });\n }\n\n if (this.options.closeOnEsc) {\n $(window).on('keydown.zf.reveal', function(e) {\n Keyboard.handleKey(e, 'Reveal', {\n close: function() {\n if (_this.options.closeOnEsc) {\n _this.close();\n }\n }\n });\n });\n }\n }\n\n /**\n * Closes the modal.\n * @function\n * @fires Reveal#closed\n */\n close() {\n if (!this.isActive || !this.$element.is(':visible')) {\n return false;\n }\n var _this = this;\n\n // Motion UI method of hiding\n if (this.options.animationOut) {\n if (this.options.overlay) {\n Motion.animateOut(this.$overlay, 'fade-out');\n }\n\n Motion.animateOut(this.$element, this.options.animationOut, finishUp);\n }\n // jQuery method of hiding\n else {\n this.$element.hide(this.options.hideDelay);\n\n if (this.options.overlay) {\n this.$overlay.hide(0, finishUp);\n }\n else {\n finishUp();\n }\n }\n\n // Conditionals to remove extra event listeners added on open\n if (this.options.closeOnEsc) {\n $(window).off('keydown.zf.reveal');\n }\n\n if (!this.options.overlay && this.options.closeOnClick) {\n $('body').off('click.zf.dropdown tap.zf.dropdown');\n }\n\n this.$element.off('keydown.zf.reveal');\n\n function finishUp() {\n\n // Get the current top before the modal is closed and restore the scroll after.\n // TODO: use component properties instead of HTML properties\n // See https://github.com/zurb/foundation-sites/pull/10786\n var scrollTop = parseInt($(\"html\").css(\"top\"));\n\n if ($('.reveal:visible').length === 0) {\n _this._removeGlobalClasses(); // also remove .is-reveal-open from the html element when there is no opened reveal\n }\n\n Keyboard.releaseFocus(_this.$element);\n\n _this.$element.attr('aria-hidden', true);\n\n if ($('.reveal:visible').length === 0) {\n _this._enableScroll(scrollTop);\n }\n\n /**\n * Fires when the modal is done closing.\n * @event Reveal#closed\n */\n _this.$element.trigger('closed.zf.reveal');\n }\n\n /**\n * Resets the modal content\n * This prevents a running video to keep going in the background\n */\n if (this.options.resetOnClose) {\n this.$element.html(this.$element.html());\n }\n\n this.isActive = false;\n // If deepLink and we did not switched to an other modal...\n if (_this.options.deepLink && window.location.hash === `#${this.id}`) {\n // Remove the history hash\n if (window.history.replaceState) {\n const urlWithoutHash = window.location.pathname + window.location.search;\n if (this.options.updateHistory) {\n window.history.pushState({}, '', urlWithoutHash); // remove the hash\n } else {\n window.history.replaceState('', document.title, urlWithoutHash);\n }\n } else {\n window.location.hash = '';\n }\n }\n\n this.$activeAnchor.focus();\n }\n\n /**\n * Toggles the open/closed state of a modal.\n * @function\n */\n toggle() {\n if (this.isActive) {\n this.close();\n } else {\n this.open();\n }\n };\n\n /**\n * Destroys an instance of a modal.\n * @function\n */\n _destroy() {\n if (this.options.overlay) {\n this.$element.appendTo($(this.options.appendTo)); // move $element outside of $overlay to prevent error unregisterPlugin()\n this.$overlay.hide().off().remove();\n }\n this.$element.hide().off();\n this.$anchor.off('.zf');\n $(window).off(`.zf.reveal:${this.id}`)\n if (this.onLoadListener) $(window).off(this.onLoadListener);\n\n if ($('.reveal:visible').length === 0) {\n this._removeGlobalClasses(); // also remove .is-reveal-open from the html element when there is no opened reveal\n }\n };\n}\n\nReveal.defaults = {\n /**\n * Motion-UI class to use for animated elements. If none used, defaults to simple show/hide.\n * @option\n * @type {string}\n * @default ''\n */\n animationIn: '',\n /**\n * Motion-UI class to use for animated elements. If none used, defaults to simple show/hide.\n * @option\n * @type {string}\n * @default ''\n */\n animationOut: '',\n /**\n * Time, in ms, to delay the opening of a modal after a click if no animation used.\n * @option\n * @type {number}\n * @default 0\n */\n showDelay: 0,\n /**\n * Time, in ms, to delay the closing of a modal after a click if no animation used.\n * @option\n * @type {number}\n * @default 0\n */\n hideDelay: 0,\n /**\n * Allows a click on the body/overlay to close the modal.\n * @option\n * @type {boolean}\n * @default true\n */\n closeOnClick: true,\n /**\n * Allows the modal to close if the user presses the `ESCAPE` key.\n * @option\n * @type {boolean}\n * @default true\n */\n closeOnEsc: true,\n /**\n * If true, allows multiple modals to be displayed at once.\n * @option\n * @type {boolean}\n * @default false\n */\n multipleOpened: false,\n /**\n * Distance, in pixels, the modal should push down from the top of the screen.\n * @option\n * @type {number|string}\n * @default auto\n */\n vOffset: 'auto',\n /**\n * Distance, in pixels, the modal should push in from the side of the screen.\n * @option\n * @type {number|string}\n * @default auto\n */\n hOffset: 'auto',\n /**\n * Allows the modal to be fullscreen, completely blocking out the rest of the view. JS checks for this as well.\n * @option\n * @type {boolean}\n * @default false\n */\n fullScreen: false,\n /**\n * Allows the modal to generate an overlay div, which will cover the view when modal opens.\n * @option\n * @type {boolean}\n * @default true\n */\n overlay: true,\n /**\n * Allows the modal to remove and reinject markup on close. Should be true if using video elements w/o using provider's api, otherwise, videos will continue to play in the background.\n * @option\n * @type {boolean}\n * @default false\n */\n resetOnClose: false,\n /**\n * Link the location hash to the modal.\n * Set the location hash when the modal is opened/closed, and open/close the modal when the location changes.\n * @option\n * @type {boolean}\n * @default false\n */\n deepLink: false,\n /**\n * If `deepLink` is enabled, update the browser history with the open modal\n * @option\n * @default false\n */\n updateHistory: false,\n /**\n * Allows the modal to append to custom div.\n * @option\n * @type {string}\n * @default \"body\"\n */\n appendTo: \"body\",\n /**\n * Allows adding additional class names to the reveal overlay.\n * @option\n * @type {string}\n * @default ''\n */\n additionalOverlayClasses: ''\n};\n\nexport {Reveal};\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
+ {"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.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]/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.reveal.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.reveal.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","Reveal","element","options","$element","$","extend","defaults","data","className","_init","Touch","init","Triggers","Keyboard","register","MediaQuery","id","attr","isActive","cached","mq","current","$anchor","length","fullScreen","hasClass","overlay","$overlay","_makeOverlay","detach","appendTo","addClass","_events","deepLink","window","location","hash","onLoadListener","onLoad","open","additionalOverlayClasses","width","outerWidth","height","outerHeight","left","top","hOffset","parseInt","vOffset","Math","min","css","margin","_this","on","bind","event","target","parents","close","apply","toggle","_updatePosition","closeOnClick","off","e","contains","document","_handleState","scrollTop","history","pushState","updateHistory","replaceState","$activeAnchor","activeElement","is","show","hide","multipleOpened","trigger","_disableScroll","animationIn","afterAnimation","focus","_addGlobalClasses","trapFocus","Motion","animateIn","focusableElements","findFocusable","showDelay","_addGlobalListeners","updateScrollbarClass","toggleClass","removeClass","closeOnEsc","handleKey","animationOut","animateOut","finishUp","hideDelay","_removeGlobalClasses","releaseFocus","_enableScroll","resetOnClose","html","urlWithoutHash","pathname","search","title","remove","Plugin","MutationObserver","prefixes","i","triggers","el","type","split","forEach","Listeners","Basic","Global","Initializers","openListener","closeListener","toggleListener","closeableListener","animation","stopPropagation","fadeOut","toggleFocusListener","triggerHandler","addOpenListener","$elem","addCloseListener","addToggleListener","addCloseableListener","addToggleFocusListener","resizeListener","$nodes","each","scrollListener","closeMeListener","pluginId","namespace","plugins","not","addClosemeListener","pluginName","yetiBoxes","plugNames","push","concat","console","error","listeners","map","name","join","debounceGlobalListener","debounce","listener","timer","args","Array","prototype","slice","call","arguments","clearTimeout","setTimeout","addResizeListener","addScrollListener","addMutationEventsListener","find","listeningElementsMutation","mutationRecordsList","$target","attributeName","pageYOffset","closest","elementObserver","observe","attributes","childList","characterData","subtree","attributeFilter","addSimpleListeners","$document","addGlobalListeners","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,uE;;;;;;;;;;;ACAA,yE;;;;;;;;;;;ACAA,qE;;;;;;;;;;;ACAA,oE;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA;AACAA,2DAAU,CAACC,MAAX,CAAkBC,yDAAlB,EAA0B,QAA1B;;;;;;;;;;;;;ACHA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAa;;;;;;;;;;;;;;;;;;;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;;;;;;;;;;IAUMA,M;;;;;;;;;;;;;;AACJ;;;;;;;2BAOOC,O,EAASC,O,EAAS;AACvB,WAAKC,QAAL,GAAgBF,OAAhB;AACA,WAAKC,OAAL,GAAeE,6CAAC,CAACC,MAAF,CAAS,EAAT,EAAaL,MAAM,CAACM,QAApB,EAA8B,KAAKH,QAAL,CAAcI,IAAd,EAA9B,EAAoDL,OAApD,CAAf;AACA,WAAKM,SAAL,GAAiB,QAAjB,CAHuB,CAGI;;AAC3B,WAAKC,KAAL,GAJuB,CAMvB;;;AACAC,kEAAK,CAACC,IAAN,CAAWP,6CAAX;AACAQ,wEAAQ,CAACD,IAAT,CAAcP,6CAAd;AAEAS,wEAAQ,CAACC,QAAT,CAAkB,QAAlB,EAA4B;AAC1B,kBAAU;AADgB,OAA5B;AAGD;AAED;;;;;;;4BAIQ;AAAA;;AACNC,4EAAU,CAACN,KAAX;;AACA,WAAKO,EAAL,GAAU,KAAKb,QAAL,CAAcc,IAAd,CAAmB,IAAnB,CAAV;AACA,WAAKC,QAAL,GAAgB,KAAhB;AACA,WAAKC,MAAL,GAAc;AAACC,UAAE,EAAEL,sEAAU,CAACM;AAAhB,OAAd;AAEA,WAAKC,OAAL,GAAelB,6CAAC,wBAAgB,KAAKY,EAArB,SAAD,CAA8BO,MAA9B,GAAuCnB,6CAAC,wBAAgB,KAAKY,EAArB,SAAxC,GAAuEZ,6CAAC,0BAAkB,KAAKY,EAAvB,SAAvF;AACA,WAAKM,OAAL,CAAaL,IAAb,CAAkB;AAChB,yBAAiB,KAAKD,EADN;AAEhB,yBAAiB,IAFD;AAGhB,oBAAY;AAHI,OAAlB;;AAMA,UAAI,KAAKd,OAAL,CAAasB,UAAb,IAA2B,KAAKrB,QAAL,CAAcsB,QAAd,CAAuB,MAAvB,CAA/B,EAA+D;AAC7D,aAAKvB,OAAL,CAAasB,UAAb,GAA0B,IAA1B;AACA,aAAKtB,OAAL,CAAawB,OAAb,GAAuB,KAAvB;AACD;;AACD,UAAI,KAAKxB,OAAL,CAAawB,OAAb,IAAwB,CAAC,KAAKC,QAAlC,EAA4C;AAC1C,aAAKA,QAAL,GAAgB,KAAKC,YAAL,CAAkB,KAAKZ,EAAvB,CAAhB;AACD;;AAED,WAAKb,QAAL,CAAcc,IAAd,CAAmB;AACf,gBAAQ,QADO;AAEf,uBAAe,IAFA;AAGf,yBAAiB,KAAKD,EAHP;AAIf,uBAAe,KAAKA;AAJL,OAAnB;;AAOA,UAAG,KAAKW,QAAR,EAAkB;AAChB,aAAKxB,QAAL,CAAc0B,MAAd,GAAuBC,QAAvB,CAAgC,KAAKH,QAArC;AACD,OAFD,MAEO;AACL,aAAKxB,QAAL,CAAc0B,MAAd,GAAuBC,QAAvB,CAAgC1B,6CAAC,CAAC,KAAKF,OAAL,CAAa4B,QAAd,CAAjC;AACA,aAAK3B,QAAL,CAAc4B,QAAd,CAAuB,iBAAvB;AACD;;AACD,WAAKC,OAAL;;AACA,UAAI,KAAK9B,OAAL,CAAa+B,QAAb,IAAyBC,MAAM,CAACC,QAAP,CAAgBC,IAAhB,gBAA+B,KAAKpB,EAApC,CAA7B,EAAwE;AACtE,aAAKqB,cAAL,GAAsBC,sEAAM,CAAClC,6CAAC,CAAC8B,MAAD,CAAF,EAAY;AAAA,iBAAM,MAAI,CAACK,IAAL,EAAN;AAAA,SAAZ,CAA5B;AACD;AACF;AAED;;;;;;;mCAIe;AACb,UAAIC,wBAAwB,GAAG,EAA/B;;AAEA,UAAI,KAAKtC,OAAL,CAAasC,wBAAjB,EAA2C;AACzCA,gCAAwB,GAAG,MAAM,KAAKtC,OAAL,CAAasC,wBAA9C;AACD;;AAED,aAAOpC,6CAAC,CAAC,aAAD,CAAD,CACJ2B,QADI,CACK,mBAAmBS,wBADxB,EAEJV,QAFI,CAEK,KAAK5B,OAAL,CAAa4B,QAFlB,CAAP;AAGD;AAED;;;;;;;;sCAKkB;AAChB,UAAIW,KAAK,GAAG,KAAKtC,QAAL,CAAcuC,UAAd,EAAZ;AACA,UAAIA,UAAU,GAAGtC,6CAAC,CAAC8B,MAAD,CAAD,CAAUO,KAAV,EAAjB;AACA,UAAIE,MAAM,GAAG,KAAKxC,QAAL,CAAcyC,WAAd,EAAb;AACA,UAAIA,WAAW,GAAGxC,6CAAC,CAAC8B,MAAD,CAAD,CAAUS,MAAV,EAAlB;AACA,UAAIE,IAAJ;AAAA,UAAUC,GAAG,GAAG,IAAhB;;AACA,UAAI,KAAK5C,OAAL,CAAa6C,OAAb,KAAyB,MAA7B,EAAqC;AACnCF,YAAI,GAAGG,QAAQ,CAAC,CAACN,UAAU,GAAGD,KAAd,IAAuB,CAAxB,EAA2B,EAA3B,CAAf;AACD,OAFD,MAEO;AACLI,YAAI,GAAGG,QAAQ,CAAC,KAAK9C,OAAL,CAAa6C,OAAd,EAAuB,EAAvB,CAAf;AACD;;AACD,UAAI,KAAK7C,OAAL,CAAa+C,OAAb,KAAyB,MAA7B,EAAqC;AACnC,YAAIN,MAAM,GAAGC,WAAb,EAA0B;AACxBE,aAAG,GAAGE,QAAQ,CAACE,IAAI,CAACC,GAAL,CAAS,GAAT,EAAcP,WAAW,GAAG,EAA5B,CAAD,EAAkC,EAAlC,CAAd;AACD,SAFD,MAEO;AACLE,aAAG,GAAGE,QAAQ,CAAC,CAACJ,WAAW,GAAGD,MAAf,IAAyB,CAA1B,EAA6B,EAA7B,CAAd;AACD;AACF,OAND,MAMO,IAAI,KAAKzC,OAAL,CAAa+C,OAAb,KAAyB,IAA7B,EAAmC;AACxCH,WAAG,GAAGE,QAAQ,CAAC,KAAK9C,OAAL,CAAa+C,OAAd,EAAuB,EAAvB,CAAd;AACD;;AAED,UAAIH,GAAG,KAAK,IAAZ,EAAkB;AAChB,aAAK3C,QAAL,CAAciD,GAAd,CAAkB;AAACN,aAAG,EAAEA,GAAG,GAAG;AAAZ,SAAlB;AACD,OAvBe,CAyBhB;AACA;;;AACA,UAAI,CAAC,KAAKnB,QAAN,IAAmB,KAAKzB,OAAL,CAAa6C,OAAb,KAAyB,MAAhD,EAAyD;AACvD,aAAK5C,QAAL,CAAciD,GAAd,CAAkB;AAACP,cAAI,EAAEA,IAAI,GAAG;AAAd,SAAlB;AACA,aAAK1C,QAAL,CAAciD,GAAd,CAAkB;AAACC,gBAAM,EAAE;AAAT,SAAlB;AACD;AAEF;AAED;;;;;;;8BAIU;AAAA;;AACR,UAAIC,KAAK,GAAG,IAAZ;;AAEA,WAAKnD,QAAL,CAAcoD,EAAd,CAAiB;AACf,2BAAmB,KAAKhB,IAAL,CAAUiB,IAAV,CAAe,IAAf,CADJ;AAEf,4BAAoB,wBAACC,KAAD,EAAQtD,QAAR,EAAqB;AACvC,cAAKsD,KAAK,CAACC,MAAN,KAAiBJ,KAAK,CAACnD,QAAN,CAAe,CAAf,CAAlB,IACCC,6CAAC,CAACqD,KAAK,CAACC,MAAP,CAAD,CAAgBC,OAAhB,CAAwB,iBAAxB,EAA2C,CAA3C,MAAkDxD,QADvD,EACkE;AAAE;AAClE,mBAAO,MAAI,CAACyD,KAAL,CAAWC,KAAX,CAAiB,MAAjB,CAAP;AACD;AACF,SAPc;AAQf,6BAAqB,KAAKC,MAAL,CAAYN,IAAZ,CAAiB,IAAjB,CARN;AASf,+BAAuB,6BAAW;AAChCF,eAAK,CAACS,eAAN;AACD;AAXc,OAAjB;;AAcA,UAAI,KAAK7D,OAAL,CAAa8D,YAAb,IAA6B,KAAK9D,OAAL,CAAawB,OAA9C,EAAuD;AACrD,aAAKC,QAAL,CAAcsC,GAAd,CAAkB,YAAlB,EAAgCV,EAAhC,CAAmC,mCAAnC,EAAwE,UAASW,CAAT,EAAY;AAClF,cAAIA,CAAC,CAACR,MAAF,KAAaJ,KAAK,CAACnD,QAAN,CAAe,CAAf,CAAb,IACFC,6CAAC,CAAC+D,QAAF,CAAWb,KAAK,CAACnD,QAAN,CAAe,CAAf,CAAX,EAA8B+D,CAAC,CAACR,MAAhC,CADE,IAEA,CAACtD,6CAAC,CAAC+D,QAAF,CAAWC,QAAX,EAAqBF,CAAC,CAACR,MAAvB,CAFL,EAEqC;AAC/B;AACL;;AACDJ,eAAK,CAACM,KAAN;AACD,SAPD;AAQD;;AACD,UAAI,KAAK1D,OAAL,CAAa+B,QAAjB,EAA2B;AACzB7B,qDAAC,CAAC8B,MAAD,CAAD,CAAUqB,EAAV,gCAAqC,KAAKvC,EAA1C,GAAgD,KAAKqD,YAAL,CAAkBb,IAAlB,CAAuB,IAAvB,CAAhD;AACD;AACF;AAED;;;;;;;iCAIaU,C,EAAG;AACd,UAAGhC,MAAM,CAACC,QAAP,CAAgBC,IAAhB,KAA2B,MAAM,KAAKpB,EAAtC,IAA6C,CAAC,KAAKE,QAAtD,EAA+D;AAAE,aAAKqB,IAAL;AAAc,OAA/E,MACI;AAAE,aAAKqB,KAAL;AAAe;AACtB;AAED;;;;;;;mCAIeU,S,EAAW;AACxBA,eAAS,GAAGA,SAAS,IAAIlE,6CAAC,CAAC8B,MAAD,CAAD,CAAUoC,SAAV,EAAzB;;AACA,UAAIlE,6CAAC,CAACgE,QAAD,CAAD,CAAYzB,MAAZ,KAAuBvC,6CAAC,CAAC8B,MAAD,CAAD,CAAUS,MAAV,EAA3B,EAA+C;AAC7CvC,qDAAC,CAAC,MAAD,CAAD,CACGgD,GADH,CACO,KADP,EACc,CAACkB,SADf;AAED;AACF;AAED;;;;;;;kCAIcA,S,EAAW;AACvBA,eAAS,GAAGA,SAAS,IAAItB,QAAQ,CAAC5C,6CAAC,CAAC,MAAD,CAAD,CAAUgD,GAAV,CAAc,KAAd,CAAD,CAAjC;;AACA,UAAIhD,6CAAC,CAACgE,QAAD,CAAD,CAAYzB,MAAZ,KAAuBvC,6CAAC,CAAC8B,MAAD,CAAD,CAAUS,MAAV,EAA3B,EAA+C;AAC7CvC,qDAAC,CAAC,MAAD,CAAD,CACGgD,GADH,CACO,KADP,EACc,EADd;AAEAhD,qDAAC,CAAC8B,MAAD,CAAD,CAAUoC,SAAV,CAAoB,CAACA,SAArB;AACD;AACF;AAGD;;;;;;;;;2BAMO;AAAA;;AACL;AACA,UAAMlC,IAAI,cAAO,KAAKpB,EAAZ,CAAV;;AACA,UAAI,KAAKd,OAAL,CAAa+B,QAAb,IAAyBC,MAAM,CAACC,QAAP,CAAgBC,IAAhB,KAAyBA,IAAtD,EAA4D;AAE1D,YAAIF,MAAM,CAACqC,OAAP,CAAeC,SAAnB,EAA8B;AAC5B,cAAI,KAAKtE,OAAL,CAAauE,aAAjB,EAAgC;AAC9BvC,kBAAM,CAACqC,OAAP,CAAeC,SAAf,CAAyB,EAAzB,EAA6B,EAA7B,EAAiCpC,IAAjC;AACD,WAFD,MAEO;AACLF,kBAAM,CAACqC,OAAP,CAAeG,YAAf,CAA4B,EAA5B,EAAgC,EAAhC,EAAoCtC,IAApC;AACD;AACF,SAND,MAMO;AACLF,gBAAM,CAACC,QAAP,CAAgBC,IAAhB,GAAuBA,IAAvB;AACD;AACF,OAdI,CAgBL;;;AACA,WAAKuC,aAAL,GAAqBvE,6CAAC,CAACgE,QAAQ,CAACQ,aAAV,CAAD,CAA0BC,EAA1B,CAA6B,KAAKvD,OAAlC,IAA6ClB,6CAAC,CAACgE,QAAQ,CAACQ,aAAV,CAA9C,GAAyE,KAAKtD,OAAnG;AAEA,WAAKJ,QAAL,GAAgB,IAAhB,CAnBK,CAqBL;;AACA,WAAKf,QAAL,CACKiD,GADL,CACS;AAAE,sBAAc;AAAhB,OADT,EAEK0B,IAFL,GAGKR,SAHL,CAGe,CAHf;;AAIA,UAAI,KAAKpE,OAAL,CAAawB,OAAjB,EAA0B;AACxB,aAAKC,QAAL,CAAcyB,GAAd,CAAkB;AAAC,wBAAc;AAAf,SAAlB,EAA4C0B,IAA5C;AACD;;AAED,WAAKf,eAAL;;AAEA,WAAK5D,QAAL,CACG4E,IADH,GAEG3B,GAFH,CAEO;AAAE,sBAAc;AAAhB,OAFP;;AAIA,UAAG,KAAKzB,QAAR,EAAkB;AAChB,aAAKA,QAAL,CAAcyB,GAAd,CAAkB;AAAC,wBAAc;AAAf,SAAlB,EAAsC2B,IAAtC;;AACA,YAAG,KAAK5E,QAAL,CAAcsB,QAAd,CAAuB,MAAvB,CAAH,EAAmC;AACjC,eAAKE,QAAL,CAAcI,QAAd,CAAuB,MAAvB;AACD,SAFD,MAEO,IAAI,KAAK5B,QAAL,CAAcsB,QAAd,CAAuB,MAAvB,CAAJ,EAAoC;AACzC,eAAKE,QAAL,CAAcI,QAAd,CAAuB,MAAvB;AACD;AACF;;AAGD,UAAI,CAAC,KAAK7B,OAAL,CAAa8E,cAAlB,EAAkC;AAChC;;;;;AAKA,aAAK7E,QAAL,CAAc8E,OAAd,CAAsB,mBAAtB,EAA2C,KAAKjE,EAAhD;AACD;;AAED,UAAIZ,6CAAC,CAAC,iBAAD,CAAD,CAAqBmB,MAArB,KAAgC,CAApC,EAAuC;AACrC,aAAK2D,cAAL;AACD;;AAED,UAAI5B,KAAK,GAAG,IAAZ,CA3DK,CA6DL;;;AACA,UAAI,KAAKpD,OAAL,CAAaiF,WAAjB,EAA8B;AAAA,YACnBC,cADmB,GAC5B,SAASA,cAAT,GAAyB;AACvB9B,eAAK,CAACnD,QAAN,CACGc,IADH,CACQ;AACJ,2BAAe,KADX;AAEJ,wBAAY,CAAC;AAFT,WADR,EAKGoE,KALH;;AAMA/B,eAAK,CAACgC,iBAAN;;AACAzE,4EAAQ,CAAC0E,SAAT,CAAmBjC,KAAK,CAACnD,QAAzB;AACD,SAV2B;;AAW5B,YAAI,KAAKD,OAAL,CAAawB,OAAjB,EAA0B;AACxB8D,wEAAM,CAACC,SAAP,CAAiB,KAAK9D,QAAtB,EAAgC,SAAhC;AACD;;AACD6D,sEAAM,CAACC,SAAP,CAAiB,KAAKtF,QAAtB,EAAgC,KAAKD,OAAL,CAAaiF,WAA7C,EAA0D,YAAM;AAC9D,cAAG,MAAI,CAAChF,QAAR,EAAkB;AAAE;AAClB,kBAAI,CAACuF,iBAAL,GAAyB7E,kEAAQ,CAAC8E,aAAT,CAAuB,MAAI,CAACxF,QAA5B,CAAzB;AACAiF,0BAAc;AACf;AACF,SALD;AAMD,OApBD,CAqBA;AArBA,WAsBK;AACH,cAAI,KAAKlF,OAAL,CAAawB,OAAjB,EAA0B;AACxB,iBAAKC,QAAL,CAAcmD,IAAd,CAAmB,CAAnB;AACD;;AACD,eAAK3E,QAAL,CAAc2E,IAAd,CAAmB,KAAK5E,OAAL,CAAa0F,SAAhC;AACD,SAzFI,CA2FL;;;AACA,WAAKzF,QAAL,CACGc,IADH,CACQ;AACJ,uBAAe,KADX;AAEJ,oBAAY,CAAC;AAFT,OADR,EAKGoE,KALH;AAMAxE,wEAAQ,CAAC0E,SAAT,CAAmB,KAAKpF,QAAxB;;AAEA,WAAKmF,iBAAL;;AAEA,WAAKO,mBAAL;AAEA;;;;;;AAIA,WAAK1F,QAAL,CAAc8E,OAAd,CAAsB,gBAAtB;AACD;AAED;;;;;;;;;;;;;;wCAWoB;AAClB,UAAMa,oBAAoB,GAAG,SAAvBA,oBAAuB,GAAM;AACjC1F,qDAAC,CAAC,MAAD,CAAD,CAAU2F,WAAV,CAAsB,eAAtB,EAAuC,CAAC,EAAE3F,6CAAC,CAACgE,QAAD,CAAD,CAAYzB,MAAZ,KAAuBvC,6CAAC,CAAC8B,MAAD,CAAD,CAAUS,MAAV,EAAzB,CAAxC;AACD,OAFD;;AAIA,WAAKxC,QAAL,CAAcoD,EAAd,CAAiB,6CAAjB,EAAgE;AAAA,eAAMuC,oBAAoB,EAA1B;AAAA,OAAhE;AACAA,0BAAoB;AACpB1F,mDAAC,CAAC,MAAD,CAAD,CAAU2B,QAAV,CAAmB,gBAAnB;AACD;AAED;;;;;;;2CAIuB;AACrB,WAAK5B,QAAL,CAAc8D,GAAd,CAAkB,6CAAlB;AACA7D,mDAAC,CAAC,MAAD,CAAD,CAAU4F,WAAV,CAAsB,gBAAtB;AACA5F,mDAAC,CAAC,MAAD,CAAD,CAAU4F,WAAV,CAAsB,eAAtB;AACD;AAED;;;;;;;0CAIsB;AACpB,UAAI1C,KAAK,GAAG,IAAZ;;AACA,UAAG,CAAC,KAAKnD,QAAT,EAAmB;AAAE;AAAS,OAFV,CAEW;;;AAC/B,WAAKuF,iBAAL,GAAyB7E,kEAAQ,CAAC8E,aAAT,CAAuB,KAAKxF,QAA5B,CAAzB;;AAEA,UAAI,CAAC,KAAKD,OAAL,CAAawB,OAAd,IAAyB,KAAKxB,OAAL,CAAa8D,YAAtC,IAAsD,CAAC,KAAK9D,OAAL,CAAasB,UAAxE,EAAoF;AAClFpB,qDAAC,CAAC,MAAD,CAAD,CAAUmD,EAAV,CAAa,mCAAb,EAAkD,UAASW,CAAT,EAAY;AAC5D,cAAIA,CAAC,CAACR,MAAF,KAAaJ,KAAK,CAACnD,QAAN,CAAe,CAAf,CAAb,IACFC,6CAAC,CAAC+D,QAAF,CAAWb,KAAK,CAACnD,QAAN,CAAe,CAAf,CAAX,EAA8B+D,CAAC,CAACR,MAAhC,CADE,IAEA,CAACtD,6CAAC,CAAC+D,QAAF,CAAWC,QAAX,EAAqBF,CAAC,CAACR,MAAvB,CAFL,EAEqC;AAAE;AAAS;;AAChDJ,eAAK,CAACM,KAAN;AACD,SALD;AAMD;;AAED,UAAI,KAAK1D,OAAL,CAAa+F,UAAjB,EAA6B;AAC3B7F,qDAAC,CAAC8B,MAAD,CAAD,CAAUqB,EAAV,CAAa,mBAAb,EAAkC,UAASW,CAAT,EAAY;AAC5CrD,4EAAQ,CAACqF,SAAT,CAAmBhC,CAAnB,EAAsB,QAAtB,EAAgC;AAC9BN,iBAAK,EAAE,iBAAW;AAChB,kBAAIN,KAAK,CAACpD,OAAN,CAAc+F,UAAlB,EAA8B;AAC5B3C,qBAAK,CAACM,KAAN;AACD;AACF;AAL6B,WAAhC;AAOD,SARD;AASD;AACF;AAED;;;;;;;;4BAKQ;AACN,UAAI,CAAC,KAAK1C,QAAN,IAAkB,CAAC,KAAKf,QAAL,CAAc0E,EAAd,CAAiB,UAAjB,CAAvB,EAAqD;AACnD,eAAO,KAAP;AACD;;AACD,UAAIvB,KAAK,GAAG,IAAZ,CAJM,CAMN;;;AACA,UAAI,KAAKpD,OAAL,CAAaiG,YAAjB,EAA+B;AAC7B,YAAI,KAAKjG,OAAL,CAAawB,OAAjB,EAA0B;AACxB8D,wEAAM,CAACY,UAAP,CAAkB,KAAKzE,QAAvB,EAAiC,UAAjC;AACD;;AAED6D,sEAAM,CAACY,UAAP,CAAkB,KAAKjG,QAAvB,EAAiC,KAAKD,OAAL,CAAaiG,YAA9C,EAA4DE,QAA5D;AACD,OAND,CAOA;AAPA,WAQK;AACH,eAAKlG,QAAL,CAAc4E,IAAd,CAAmB,KAAK7E,OAAL,CAAaoG,SAAhC;;AAEA,cAAI,KAAKpG,OAAL,CAAawB,OAAjB,EAA0B;AACxB,iBAAKC,QAAL,CAAcoD,IAAd,CAAmB,CAAnB,EAAsBsB,QAAtB;AACD,WAFD,MAGK;AACHA,oBAAQ;AACT;AACF,SAxBK,CA0BN;;;AACA,UAAI,KAAKnG,OAAL,CAAa+F,UAAjB,EAA6B;AAC3B7F,qDAAC,CAAC8B,MAAD,CAAD,CAAU+B,GAAV,CAAc,mBAAd;AACD;;AAED,UAAI,CAAC,KAAK/D,OAAL,CAAawB,OAAd,IAAyB,KAAKxB,OAAL,CAAa8D,YAA1C,EAAwD;AACtD5D,qDAAC,CAAC,MAAD,CAAD,CAAU6D,GAAV,CAAc,mCAAd;AACD;;AAED,WAAK9D,QAAL,CAAc8D,GAAd,CAAkB,mBAAlB;;AAEA,eAASoC,QAAT,GAAoB;AAElB;AACA;AACA;AACA,YAAI/B,SAAS,GAAGtB,QAAQ,CAAC5C,6CAAC,CAAC,MAAD,CAAD,CAAUgD,GAAV,CAAc,KAAd,CAAD,CAAxB;;AAEA,YAAIhD,6CAAC,CAAC,iBAAD,CAAD,CAAqBmB,MAArB,KAAiC,CAArC,EAAwC;AACtC+B,eAAK,CAACiD,oBAAN,GADsC,CACR;;AAC/B;;AAED1F,0EAAQ,CAAC2F,YAAT,CAAsBlD,KAAK,CAACnD,QAA5B;;AAEAmD,aAAK,CAACnD,QAAN,CAAec,IAAf,CAAoB,aAApB,EAAmC,IAAnC;;AAEA,YAAIb,6CAAC,CAAC,iBAAD,CAAD,CAAqBmB,MAArB,KAAiC,CAArC,EAAwC;AACtC+B,eAAK,CAACmD,aAAN,CAAoBnC,SAApB;AACD;AAED;;;;;;AAIAhB,aAAK,CAACnD,QAAN,CAAe8E,OAAf,CAAuB,kBAAvB;AACD;AAED;;;;;;AAIA,UAAI,KAAK/E,OAAL,CAAawG,YAAjB,EAA+B;AAC7B,aAAKvG,QAAL,CAAcwG,IAAd,CAAmB,KAAKxG,QAAL,CAAcwG,IAAd,EAAnB;AACD;;AAED,WAAKzF,QAAL,GAAgB,KAAhB,CAvEM,CAwEN;;AACA,UAAIoC,KAAK,CAACpD,OAAN,CAAc+B,QAAd,IAA0BC,MAAM,CAACC,QAAP,CAAgBC,IAAhB,gBAA6B,KAAKpB,EAAlC,CAA9B,EAAsE;AACpE;AACA,YAAIkB,MAAM,CAACqC,OAAP,CAAeG,YAAnB,EAAiC;AAC/B,cAAMkC,cAAc,GAAG1E,MAAM,CAACC,QAAP,CAAgB0E,QAAhB,GAA2B3E,MAAM,CAACC,QAAP,CAAgB2E,MAAlE;;AACA,cAAI,KAAK5G,OAAL,CAAauE,aAAjB,EAAgC;AAC9BvC,kBAAM,CAACqC,OAAP,CAAeC,SAAf,CAAyB,EAAzB,EAA6B,EAA7B,EAAiCoC,cAAjC,EAD8B,CACoB;AACnD,WAFD,MAEO;AACL1E,kBAAM,CAACqC,OAAP,CAAeG,YAAf,CAA4B,EAA5B,EAAgCN,QAAQ,CAAC2C,KAAzC,EAAgDH,cAAhD;AACD;AACF,SAPD,MAOO;AACL1E,gBAAM,CAACC,QAAP,CAAgBC,IAAhB,GAAuB,EAAvB;AACD;AACF;;AAED,WAAKuC,aAAL,CAAmBU,KAAnB;AACD;AAED;;;;;;;6BAIS;AACP,UAAI,KAAKnE,QAAT,EAAmB;AACjB,aAAK0C,KAAL;AACD,OAFD,MAEO;AACL,aAAKrB,IAAL;AACD;AACF;;;;AAED;;;;+BAIW;AACT,UAAI,KAAKrC,OAAL,CAAawB,OAAjB,EAA0B;AACxB,aAAKvB,QAAL,CAAc2B,QAAd,CAAuB1B,6CAAC,CAAC,KAAKF,OAAL,CAAa4B,QAAd,CAAxB,EADwB,CAC0B;;AAClD,aAAKH,QAAL,CAAcoD,IAAd,GAAqBd,GAArB,GAA2B+C,MAA3B;AACD;;AACD,WAAK7G,QAAL,CAAc4E,IAAd,GAAqBd,GAArB;AACA,WAAK3C,OAAL,CAAa2C,GAAb,CAAiB,KAAjB;AACA7D,mDAAC,CAAC8B,MAAD,CAAD,CAAU+B,GAAV,sBAA4B,KAAKjD,EAAjC;AACA,UAAI,KAAKqB,cAAT,EAAyBjC,6CAAC,CAAC8B,MAAD,CAAD,CAAU+B,GAAV,CAAc,KAAK5B,cAAnB;;AAEzB,UAAIjC,6CAAC,CAAC,iBAAD,CAAD,CAAqBmB,MAArB,KAAiC,CAArC,EAAwC;AACtC,aAAKgF,oBAAL,GADsC,CACT;;AAC9B;AACF;;;;EAhfkBU,8D;;AAmfrBjH,MAAM,CAACM,QAAP,GAAkB;AAChB;;;;;;AAMA6E,aAAW,EAAE,EAPG;;AAQhB;;;;;;AAMAgB,cAAY,EAAE,EAdE;;AAehB;;;;;;AAMAP,WAAS,EAAE,CArBK;;AAsBhB;;;;;;AAMAU,WAAS,EAAE,CA5BK;;AA6BhB;;;;;;AAMAtC,cAAY,EAAE,IAnCE;;AAoChB;;;;;;AAMAiC,YAAU,EAAE,IA1CI;;AA2ChB;;;;;;AAMAjB,gBAAc,EAAE,KAjDA;;AAkDhB;;;;;;AAMA/B,SAAO,EAAE,MAxDO;;AAyDhB;;;;;;AAMAF,SAAO,EAAE,MA/DO;;AAgEhB;;;;;;AAMAvB,YAAU,EAAE,KAtEI;;AAuEhB;;;;;;AAMAE,SAAO,EAAE,IA7EO;;AA8EhB;;;;;;AAMAgF,cAAY,EAAE,KApFE;;AAqFhB;;;;;;;AAOAzE,UAAQ,EAAE,KA5FM;;AA6FhB;;;;;AAKAwC,eAAa,EAAE,KAlGC;;AAmGd;;;;;;AAMF3C,UAAQ,EAAE,MAzGM;;AA0GhB;;;;;;AAMAU,0BAAwB,EAAE;AAhHV,CAAlB;;;;;;;;;;;;;ACxgBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAa;;;;AAEb;AACA;AACA;;AAEA,IAAM0E,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,CAAC5F,MAA3B,EAAmC6F,CAAC,EAApC,EAAwC;AACtC,QAAI,UAAGD,QAAQ,CAACC,CAAD,CAAX,yBAAoClF,MAAxC,EAAgD;AAC9C,aAAOA,MAAM,WAAIiF,QAAQ,CAACC,CAAD,CAAZ,sBAAb;AACD;AACF;;AACD,SAAO,KAAP;AACD,CARyB,EAA1B;;AAUA,IAAMC,QAAQ,GAAG,SAAXA,QAAW,CAACC,EAAD,EAAKC,IAAL,EAAc;AAC7BD,IAAE,CAAC/G,IAAH,CAAQgH,IAAR,EAAcC,KAAd,CAAoB,GAApB,EAAyBC,OAAzB,CAAiC,UAAAzG,EAAE,EAAI;AACrCZ,iDAAC,YAAKY,EAAL,EAAD,CAAauG,IAAI,KAAK,OAAT,GAAmB,SAAnB,GAA+B,gBAA5C,YAAiEA,IAAjE,kBAAoF,CAACD,EAAD,CAApF;AACD,GAFD;AAGD,CAJD;;AAMA,IAAI1G,QAAQ,GAAG;AACb8G,WAAS,EAAE;AACTC,SAAK,EAAE,EADE;AAETC,UAAM,EAAE;AAFC,GADE;AAKbC,cAAY,EAAE;AALD,CAAf;AAQAjH,QAAQ,CAAC8G,SAAT,CAAmBC,KAAnB,GAA4B;AAC1BG,cAAY,EAAE,wBAAW;AACvBT,YAAQ,CAACjH,6CAAC,CAAC,IAAD,CAAF,EAAU,MAAV,CAAR;AACD,GAHyB;AAI1B2H,eAAa,EAAE,yBAAW;AACxB,QAAI/G,EAAE,GAAGZ,6CAAC,CAAC,IAAD,CAAD,CAAQG,IAAR,CAAa,OAAb,CAAT;;AACA,QAAIS,EAAJ,EAAQ;AACNqG,cAAQ,CAACjH,6CAAC,CAAC,IAAD,CAAF,EAAU,OAAV,CAAR;AACD,KAFD,MAGK;AACHA,mDAAC,CAAC,IAAD,CAAD,CAAQ6E,OAAR,CAAgB,kBAAhB;AACD;AACF,GAZyB;AAa1B+C,gBAAc,EAAE,0BAAW;AACzB,QAAIhH,EAAE,GAAGZ,6CAAC,CAAC,IAAD,CAAD,CAAQG,IAAR,CAAa,QAAb,CAAT;;AACA,QAAIS,EAAJ,EAAQ;AACNqG,cAAQ,CAACjH,6CAAC,CAAC,IAAD,CAAF,EAAU,QAAV,CAAR;AACD,KAFD,MAEO;AACLA,mDAAC,CAAC,IAAD,CAAD,CAAQ6E,OAAR,CAAgB,mBAAhB;AACD;AACF,GApByB;AAqB1BgD,mBAAiB,EAAE,2BAAS/D,CAAT,EAAY;AAC7B,QAAIgE,SAAS,GAAG9H,6CAAC,CAAC,IAAD,CAAD,CAAQG,IAAR,CAAa,UAAb,CAAhB,CAD6B,CAG7B;;AACA2D,KAAC,CAACiE,eAAF;;AAEA,QAAGD,SAAS,KAAK,EAAjB,EAAoB;AAClB1C,oEAAM,CAACY,UAAP,CAAkBhG,6CAAC,CAAC,IAAD,CAAnB,EAA2B8H,SAA3B,EAAsC,YAAW;AAC/C9H,qDAAC,CAAC,IAAD,CAAD,CAAQ6E,OAAR,CAAgB,WAAhB;AACD,OAFD;AAGD,KAJD,MAIK;AACH7E,mDAAC,CAAC,IAAD,CAAD,CAAQgI,OAAR,GAAkBnD,OAAlB,CAA0B,WAA1B;AACD;AACF,GAlCyB;AAmC1BoD,qBAAmB,EAAE,+BAAW;AAC9B,QAAIrH,EAAE,GAAGZ,6CAAC,CAAC,IAAD,CAAD,CAAQG,IAAR,CAAa,cAAb,CAAT;AACAH,iDAAC,YAAKY,EAAL,EAAD,CAAYsH,cAAZ,CAA2B,mBAA3B,EAAgD,CAAClI,6CAAC,CAAC,IAAD,CAAF,CAAhD;AACD;AAtCyB,CAA5B,C,CAyCA;;AACAQ,QAAQ,CAACiH,YAAT,CAAsBU,eAAtB,GAAwC,UAACC,KAAD,EAAW;AACjDA,OAAK,CAACvE,GAAN,CAAU,kBAAV,EAA8BrD,QAAQ,CAAC8G,SAAT,CAAmBC,KAAnB,CAAyBG,YAAvD;AACAU,OAAK,CAACjF,EAAN,CAAS,kBAAT,EAA6B,aAA7B,EAA4C3C,QAAQ,CAAC8G,SAAT,CAAmBC,KAAnB,CAAyBG,YAArE;AACD,CAHD,C,CAKA;AACA;;;AACAlH,QAAQ,CAACiH,YAAT,CAAsBY,gBAAtB,GAAyC,UAACD,KAAD,EAAW;AAClDA,OAAK,CAACvE,GAAN,CAAU,kBAAV,EAA8BrD,QAAQ,CAAC8G,SAAT,CAAmBC,KAAnB,CAAyBI,aAAvD;AACAS,OAAK,CAACjF,EAAN,CAAS,kBAAT,EAA6B,cAA7B,EAA6C3C,QAAQ,CAAC8G,SAAT,CAAmBC,KAAnB,CAAyBI,aAAtE;AACD,CAHD,C,CAKA;;;AACAnH,QAAQ,CAACiH,YAAT,CAAsBa,iBAAtB,GAA0C,UAACF,KAAD,EAAW;AACnDA,OAAK,CAACvE,GAAN,CAAU,kBAAV,EAA8BrD,QAAQ,CAAC8G,SAAT,CAAmBC,KAAnB,CAAyBK,cAAvD;AACAQ,OAAK,CAACjF,EAAN,CAAS,kBAAT,EAA6B,eAA7B,EAA8C3C,QAAQ,CAAC8G,SAAT,CAAmBC,KAAnB,CAAyBK,cAAvE;AACD,CAHD,C,CAKA;;;AACApH,QAAQ,CAACiH,YAAT,CAAsBc,oBAAtB,GAA6C,UAACH,KAAD,EAAW;AACtDA,OAAK,CAACvE,GAAN,CAAU,kBAAV,EAA8BrD,QAAQ,CAAC8G,SAAT,CAAmBC,KAAnB,CAAyBM,iBAAvD;AACAO,OAAK,CAACjF,EAAN,CAAS,kBAAT,EAA6B,mCAA7B,EAAkE3C,QAAQ,CAAC8G,SAAT,CAAmBC,KAAnB,CAAyBM,iBAA3F;AACD,CAHD,C,CAKA;;;AACArH,QAAQ,CAACiH,YAAT,CAAsBe,sBAAtB,GAA+C,UAACJ,KAAD,EAAW;AACxDA,OAAK,CAACvE,GAAN,CAAU,kCAAV,EAA8CrD,QAAQ,CAAC8G,SAAT,CAAmBC,KAAnB,CAAyBU,mBAAvE;AACAG,OAAK,CAACjF,EAAN,CAAS,kCAAT,EAA6C,qBAA7C,EAAoE3C,QAAQ,CAAC8G,SAAT,CAAmBC,KAAnB,CAAyBU,mBAA7F;AACD,CAHD,C,CAOA;;;AACAzH,QAAQ,CAAC8G,SAAT,CAAmBE,MAAnB,GAA6B;AAC3BiB,gBAAc,EAAE,wBAASC,MAAT,EAAiB;AAC/B,QAAG,CAAC5B,gBAAJ,EAAqB;AAAC;AACpB4B,YAAM,CAACC,IAAP,CAAY,YAAU;AACpB3I,qDAAC,CAAC,IAAD,CAAD,CAAQkI,cAAR,CAAuB,qBAAvB;AACD,OAFD;AAGD,KAL8B,CAM/B;;;AACAQ,UAAM,CAAC7H,IAAP,CAAY,aAAZ,EAA2B,QAA3B;AACD,GAT0B;AAU3B+H,gBAAc,EAAE,wBAASF,MAAT,EAAiB;AAC/B,QAAG,CAAC5B,gBAAJ,EAAqB;AAAC;AACpB4B,YAAM,CAACC,IAAP,CAAY,YAAU;AACpB3I,qDAAC,CAAC,IAAD,CAAD,CAAQkI,cAAR,CAAuB,qBAAvB;AACD,OAFD;AAGD,KAL8B,CAM/B;;;AACAQ,UAAM,CAAC7H,IAAP,CAAY,aAAZ,EAA2B,QAA3B;AACD,GAlB0B;AAmB3BgI,iBAAe,EAAE,yBAAS/E,CAAT,EAAYgF,QAAZ,EAAqB;AACpC,QAAInJ,MAAM,GAAGmE,CAAC,CAACiF,SAAF,CAAY3B,KAAZ,CAAkB,GAAlB,EAAuB,CAAvB,CAAb;AACA,QAAI4B,OAAO,GAAGhJ,6CAAC,iBAAUL,MAAV,OAAD,CAAsBsJ,GAAtB,4BAA6CH,QAA7C,SAAd;AAEAE,WAAO,CAACL,IAAR,CAAa,YAAU;AACrB,UAAIzF,KAAK,GAAGlD,6CAAC,CAAC,IAAD,CAAb;;AACAkD,WAAK,CAACgF,cAAN,CAAqB,kBAArB,EAAyC,CAAChF,KAAD,CAAzC;AACD,KAHD;AAID,GA3B0B,CA8B7B;;AA9B6B,CAA7B;;AA+BA1C,QAAQ,CAACiH,YAAT,CAAsByB,kBAAtB,GAA2C,UAASC,UAAT,EAAqB;AAC9D,MAAIC,SAAS,GAAGpJ,6CAAC,CAAC,iBAAD,CAAjB;AAAA,MACIqJ,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,CAACjI,MAAb,EAAoB;AAClB,QAAIuI,SAAS,GAAGL,SAAS,CAACM,GAAV,CAAc,UAACC,IAAD,EAAU;AACtC,kCAAqBA,IAArB;AACD,KAFe,EAEbC,IAFa,CAER,GAFQ,CAAhB;AAIA7J,iDAAC,CAAC8B,MAAD,CAAD,CAAU+B,GAAV,CAAc6F,SAAd,EAAyBvG,EAAzB,CAA4BuG,SAA5B,EAAuClJ,QAAQ,CAAC8G,SAAT,CAAmBE,MAAnB,CAA0BqB,eAAjE;AACD;AACF,CApBD;;AAsBA,SAASiB,sBAAT,CAAgCC,QAAhC,EAA0ClF,OAA1C,EAAmDmF,QAAnD,EAA6D;AAC3D,MAAIC,KAAJ;AAAA,MAAWC,IAAI,GAAGC,KAAK,CAACC,SAAN,CAAgBC,KAAhB,CAAsBC,IAAtB,CAA2BC,SAA3B,EAAsC,CAAtC,CAAlB;AACAvK,+CAAC,CAAC8B,MAAD,CAAD,CAAU+B,GAAV,CAAcgB,OAAd,EAAuB1B,EAAvB,CAA0B0B,OAA1B,EAAmC,UAASf,CAAT,EAAY;AAC7C,QAAImG,KAAJ,EAAW;AAAEO,kBAAY,CAACP,KAAD,CAAZ;AAAsB;;AACnCA,SAAK,GAAGQ,UAAU,CAAC,YAAU;AAC3BT,cAAQ,CAACvG,KAAT,CAAe,IAAf,EAAqByG,IAArB;AACD,KAFiB,EAEfH,QAAQ,IAAI,EAFG,CAAlB,CAF6C,CAI1B;AACpB,GALD;AAMD;;AAEDvJ,QAAQ,CAACiH,YAAT,CAAsBiD,iBAAtB,GAA0C,UAASX,QAAT,EAAkB;AAC1D,MAAIrB,MAAM,GAAG1I,6CAAC,CAAC,eAAD,CAAd;;AACA,MAAG0I,MAAM,CAACvH,MAAV,EAAiB;AACf2I,0BAAsB,CAACC,QAAD,EAAW,mBAAX,EAAgCvJ,QAAQ,CAAC8G,SAAT,CAAmBE,MAAnB,CAA0BiB,cAA1D,EAA0EC,MAA1E,CAAtB;AACD;AACF,CALD;;AAOAlI,QAAQ,CAACiH,YAAT,CAAsBkD,iBAAtB,GAA0C,UAASZ,QAAT,EAAkB;AAC1D,MAAIrB,MAAM,GAAG1I,6CAAC,CAAC,eAAD,CAAd;;AACA,MAAG0I,MAAM,CAACvH,MAAV,EAAiB;AACf2I,0BAAsB,CAACC,QAAD,EAAW,mBAAX,EAAgCvJ,QAAQ,CAAC8G,SAAT,CAAmBE,MAAnB,CAA0BoB,cAA1D,EAA0EF,MAA1E,CAAtB;AACD;AACF,CALD;;AAOAlI,QAAQ,CAACiH,YAAT,CAAsBmD,yBAAtB,GAAkD,UAASxC,KAAT,EAAgB;AAChE,MAAG,CAACtB,gBAAJ,EAAqB;AAAE,WAAO,KAAP;AAAe;;AACtC,MAAI4B,MAAM,GAAGN,KAAK,CAACyC,IAAN,CAAW,6CAAX,CAAb,CAFgE,CAIhE;;AACA,MAAIC,yBAAyB,GAAG,SAA5BA,yBAA4B,CAAUC,mBAAV,EAA+B;AAC7D,QAAIC,OAAO,GAAGhL,6CAAC,CAAC+K,mBAAmB,CAAC,CAAD,CAAnB,CAAuBzH,MAAxB,CAAf,CAD6D,CAG7D;;AACA,YAAQyH,mBAAmB,CAAC,CAAD,CAAnB,CAAuB5D,IAA/B;AACE,WAAK,YAAL;AACE,YAAI6D,OAAO,CAACnK,IAAR,CAAa,aAAb,MAAgC,QAAhC,IAA4CkK,mBAAmB,CAAC,CAAD,CAAnB,CAAuBE,aAAvB,KAAyC,aAAzF,EAAwG;AACtGD,iBAAO,CAAC9C,cAAR,CAAuB,qBAAvB,EAA8C,CAAC8C,OAAD,EAAUlJ,MAAM,CAACoJ,WAAjB,CAA9C;AACD;;AACD,YAAIF,OAAO,CAACnK,IAAR,CAAa,aAAb,MAAgC,QAAhC,IAA4CkK,mBAAmB,CAAC,CAAD,CAAnB,CAAuBE,aAAvB,KAAyC,aAAzF,EAAwG;AACtGD,iBAAO,CAAC9C,cAAR,CAAuB,qBAAvB,EAA8C,CAAC8C,OAAD,CAA9C;AACA;;AACF,YAAID,mBAAmB,CAAC,CAAD,CAAnB,CAAuBE,aAAvB,KAAyC,OAA7C,EAAsD;AACpDD,iBAAO,CAACG,OAAR,CAAgB,eAAhB,EAAiCtK,IAAjC,CAAsC,aAAtC,EAAoD,QAApD;AACAmK,iBAAO,CAACG,OAAR,CAAgB,eAAhB,EAAiCjD,cAAjC,CAAgD,qBAAhD,EAAuE,CAAC8C,OAAO,CAACG,OAAR,CAAgB,eAAhB,CAAD,CAAvE;AACD;;AACD;;AAEF,WAAK,WAAL;AACEH,eAAO,CAACG,OAAR,CAAgB,eAAhB,EAAiCtK,IAAjC,CAAsC,aAAtC,EAAoD,QAApD;AACAmK,eAAO,CAACG,OAAR,CAAgB,eAAhB,EAAiCjD,cAAjC,CAAgD,qBAAhD,EAAuE,CAAC8C,OAAO,CAACG,OAAR,CAAgB,eAAhB,CAAD,CAAvE;AACA;;AAEF;AACE,eAAO,KAAP;AACF;AArBF;AAuBD,GA3BD;;AA6BA,MAAIzC,MAAM,CAACvH,MAAX,EAAmB;AACjB;AACA,SAAK,IAAI6F,CAAC,GAAG,CAAb,EAAgBA,CAAC,IAAI0B,MAAM,CAACvH,MAAP,GAAgB,CAArC,EAAwC6F,CAAC,EAAzC,EAA6C;AAC3C,UAAIoE,eAAe,GAAG,IAAItE,gBAAJ,CAAqBgE,yBAArB,CAAtB;AACAM,qBAAe,CAACC,OAAhB,CAAwB3C,MAAM,CAAC1B,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;;AA2CAlL,QAAQ,CAACiH,YAAT,CAAsBkE,kBAAtB,GAA2C,YAAW;AACpD,MAAIC,SAAS,GAAG5L,6CAAC,CAACgE,QAAD,CAAjB;AAEAxD,UAAQ,CAACiH,YAAT,CAAsBU,eAAtB,CAAsCyD,SAAtC;AACApL,UAAQ,CAACiH,YAAT,CAAsBY,gBAAtB,CAAuCuD,SAAvC;AACApL,UAAQ,CAACiH,YAAT,CAAsBa,iBAAtB,CAAwCsD,SAAxC;AACApL,UAAQ,CAACiH,YAAT,CAAsBc,oBAAtB,CAA2CqD,SAA3C;AACApL,UAAQ,CAACiH,YAAT,CAAsBe,sBAAtB,CAA6CoD,SAA7C;AAED,CATD;;AAWApL,QAAQ,CAACiH,YAAT,CAAsBoE,kBAAtB,GAA2C,YAAW;AACpD,MAAID,SAAS,GAAG5L,6CAAC,CAACgE,QAAD,CAAjB;AACAxD,UAAQ,CAACiH,YAAT,CAAsBmD,yBAAtB,CAAgDgB,SAAhD;AACApL,UAAQ,CAACiH,YAAT,CAAsBiD,iBAAtB;AACAlK,UAAQ,CAACiH,YAAT,CAAsBkD,iBAAtB;AACAnK,UAAQ,CAACiH,YAAT,CAAsByB,kBAAtB;AACD,CAND;;AASA1I,QAAQ,CAACD,IAAT,GAAgB,UAAUP,CAAV,EAAaN,UAAb,EAAyB;AACvCwC,uEAAM,CAAClC,CAAC,CAAC8B,MAAD,CAAF,EAAY,YAAY;AAC5B,QAAI9B,CAAC,CAAC8L,mBAAF,KAA0B,IAA9B,EAAoC;AAClCtL,cAAQ,CAACiH,YAAT,CAAsBkE,kBAAtB;AACAnL,cAAQ,CAACiH,YAAT,CAAsBoE,kBAAtB;AACA7L,OAAC,CAAC8L,mBAAF,GAAwB,IAAxB;AACD;AACF,GANK,CAAN;;AAQA,MAAGpM,UAAH,EAAe;AACbA,cAAU,CAACc,QAAX,GAAsBA,QAAtB,CADa,CAEb;;AACAd,cAAU,CAACqM,QAAX,GAAsBvL,QAAQ,CAACiH,YAAT,CAAsBoE,kBAA5C;AACD;AACF,CAdD;;;;;;;;;;;;;;;;;;;;;;;;;ACrPA,oD","file":"foundation.reveal.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.mediaQuery\"), 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.mediaQuery\", \"./foundation.util.motion\", \"./foundation.util.touch\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.reveal\"] = factory(require(\"./foundation.core\"), require(\"./foundation.util.keyboard\"), require(\"./foundation.util.mediaQuery\"), require(\"./foundation.util.motion\"), require(\"./foundation.util.touch\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.reveal\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.keyboard\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.mediaQuery\"], 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_mediaQuery__, __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 = 14);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_touch__;","import { Foundation } from './foundation.core';\n\nimport { Reveal } from '../../foundation.reveal';\nFoundation.plugin(Reveal, 'Reveal');\n\nexport { Foundation, Reveal };\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 { MediaQuery } from './foundation.util.mediaQuery';\nimport { Motion } from './foundation.util.motion';\nimport { Triggers } from './foundation.util.triggers';\nimport { Touch } from './foundation.util.touch'\n\n/**\n * Reveal module.\n * @module foundation.reveal\n * @requires foundation.util.keyboard\n * @requires foundation.util.touch\n * @requires foundation.util.triggers\n * @requires foundation.util.mediaQuery\n * @requires foundation.util.motion if using animations\n */\n\nclass Reveal extends Plugin {\n /**\n * Creates a new instance of Reveal.\n * @class\n * @name Reveal\n * @param {jQuery} element - jQuery object to use for the modal.\n * @param {Object} options - optional parameters.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, Reveal.defaults, this.$element.data(), options);\n this.className = 'Reveal'; // ie9 back compat\n this._init();\n\n // Touch and Triggers init are idempotent, just need to make sure they are initialized\n Touch.init($);\n Triggers.init($);\n\n Keyboard.register('Reveal', {\n 'ESCAPE': 'close',\n });\n }\n\n /**\n * Initializes the modal by adding the overlay and close buttons, (if selected).\n * @private\n */\n _init() {\n MediaQuery._init();\n this.id = this.$element.attr('id');\n this.isActive = false;\n this.cached = {mq: MediaQuery.current};\n\n this.$anchor = $(`[data-open=\"${this.id}\"]`).length ? $(`[data-open=\"${this.id}\"]`) : $(`[data-toggle=\"${this.id}\"]`);\n this.$anchor.attr({\n 'aria-controls': this.id,\n 'aria-haspopup': true,\n 'tabindex': 0\n });\n\n if (this.options.fullScreen || this.$element.hasClass('full')) {\n this.options.fullScreen = true;\n this.options.overlay = false;\n }\n if (this.options.overlay && !this.$overlay) {\n this.$overlay = this._makeOverlay(this.id);\n }\n\n this.$element.attr({\n 'role': 'dialog',\n 'aria-hidden': true,\n 'data-yeti-box': this.id,\n 'data-resize': this.id\n });\n\n if(this.$overlay) {\n this.$element.detach().appendTo(this.$overlay);\n } else {\n this.$element.detach().appendTo($(this.options.appendTo));\n this.$element.addClass('without-overlay');\n }\n this._events();\n if (this.options.deepLink && window.location.hash === ( `#${this.id}`)) {\n this.onLoadListener = onLoad($(window), () => this.open());\n }\n }\n\n /**\n * Creates an overlay div to display behind the modal.\n * @private\n */\n _makeOverlay() {\n var additionalOverlayClasses = '';\n\n if (this.options.additionalOverlayClasses) {\n additionalOverlayClasses = ' ' + this.options.additionalOverlayClasses;\n }\n\n return $('<div></div>')\n .addClass('reveal-overlay' + additionalOverlayClasses)\n .appendTo(this.options.appendTo);\n }\n\n /**\n * Updates position of modal\n * TODO: Figure out if we actually need to cache these values or if it doesn't matter\n * @private\n */\n _updatePosition() {\n var width = this.$element.outerWidth();\n var outerWidth = $(window).width();\n var height = this.$element.outerHeight();\n var outerHeight = $(window).height();\n var left, top = null;\n if (this.options.hOffset === 'auto') {\n left = parseInt((outerWidth - width) / 2, 10);\n } else {\n left = parseInt(this.options.hOffset, 10);\n }\n if (this.options.vOffset === 'auto') {\n if (height > outerHeight) {\n top = parseInt(Math.min(100, outerHeight / 10), 10);\n } else {\n top = parseInt((outerHeight - height) / 4, 10);\n }\n } else if (this.options.vOffset !== null) {\n top = parseInt(this.options.vOffset, 10);\n }\n\n if (top !== null) {\n this.$element.css({top: top + 'px'});\n }\n\n // only worry about left if we don't have an overlay or we have a horizontal offset,\n // otherwise we're perfectly in the middle\n if (!this.$overlay || (this.options.hOffset !== 'auto')) {\n this.$element.css({left: left + 'px'});\n this.$element.css({margin: '0px'});\n }\n\n }\n\n /**\n * Adds event handlers for the modal.\n * @private\n */\n _events() {\n var _this = this;\n\n this.$element.on({\n 'open.zf.trigger': this.open.bind(this),\n 'close.zf.trigger': (event, $element) => {\n if ((event.target === _this.$element[0]) ||\n ($(event.target).parents('[data-closable]')[0] === $element)) { // only close reveal when it's explicitly called\n return this.close.apply(this);\n }\n },\n 'toggle.zf.trigger': this.toggle.bind(this),\n 'resizeme.zf.trigger': function() {\n _this._updatePosition();\n }\n });\n\n if (this.options.closeOnClick && this.options.overlay) {\n this.$overlay.off('.zf.reveal').on('click.zf.dropdown tap.zf.dropdown', function(e) {\n if (e.target === _this.$element[0] ||\n $.contains(_this.$element[0], e.target) ||\n !$.contains(document, e.target)) {\n return;\n }\n _this.close();\n });\n }\n if (this.options.deepLink) {\n $(window).on(`hashchange.zf.reveal:${this.id}`, this._handleState.bind(this));\n }\n }\n\n /**\n * Handles modal methods on back/forward button clicks or any other event that triggers hashchange.\n * @private\n */\n _handleState(e) {\n if(window.location.hash === ( '#' + this.id) && !this.isActive){ this.open(); }\n else{ this.close(); }\n }\n\n /**\n * Disables the scroll when Reveal is shown to prevent the background from shifting\n * @param {number} scrollTop - Scroll to visually apply, window current scroll by default\n */\n _disableScroll(scrollTop) {\n scrollTop = scrollTop || $(window).scrollTop();\n if ($(document).height() > $(window).height()) {\n $(\"html\")\n .css(\"top\", -scrollTop);\n }\n }\n\n /**\n * Reenables the scroll when Reveal closes\n * @param {number} scrollTop - Scroll to restore, html \"top\" property by default (as set by `_disableScroll`)\n */\n _enableScroll(scrollTop) {\n scrollTop = scrollTop || parseInt($(\"html\").css(\"top\"));\n if ($(document).height() > $(window).height()) {\n $(\"html\")\n .css(\"top\", \"\");\n $(window).scrollTop(-scrollTop);\n }\n }\n\n\n /**\n * Opens the modal controlled by `this.$anchor`, and closes all others by default.\n * @function\n * @fires Reveal#closeme\n * @fires Reveal#open\n */\n open() {\n // either update or replace browser history\n const hash = `#${this.id}`;\n if (this.options.deepLink && window.location.hash !== hash) {\n\n if (window.history.pushState) {\n if (this.options.updateHistory) {\n window.history.pushState({}, '', hash);\n } else {\n window.history.replaceState({}, '', hash);\n }\n } else {\n window.location.hash = hash;\n }\n }\n\n // Remember anchor that opened it to set focus back later, have general anchors as fallback\n this.$activeAnchor = $(document.activeElement).is(this.$anchor) ? $(document.activeElement) : this.$anchor;\n\n this.isActive = true;\n\n // Make elements invisible, but remove display: none so we can get size and positioning\n this.$element\n .css({ 'visibility': 'hidden' })\n .show()\n .scrollTop(0);\n if (this.options.overlay) {\n this.$overlay.css({'visibility': 'hidden'}).show();\n }\n\n this._updatePosition();\n\n this.$element\n .hide()\n .css({ 'visibility': '' });\n\n if(this.$overlay) {\n this.$overlay.css({'visibility': ''}).hide();\n if(this.$element.hasClass('fast')) {\n this.$overlay.addClass('fast');\n } else if (this.$element.hasClass('slow')) {\n this.$overlay.addClass('slow');\n }\n }\n\n\n if (!this.options.multipleOpened) {\n /**\n * Fires immediately before the modal opens.\n * Closes any other modals that are currently open\n * @event Reveal#closeme\n */\n this.$element.trigger('closeme.zf.reveal', this.id);\n }\n\n if ($('.reveal:visible').length === 0) {\n this._disableScroll();\n }\n\n var _this = this;\n\n // Motion UI method of reveal\n if (this.options.animationIn) {\n function afterAnimation(){\n _this.$element\n .attr({\n 'aria-hidden': false,\n 'tabindex': -1\n })\n .focus();\n _this._addGlobalClasses();\n Keyboard.trapFocus(_this.$element);\n }\n if (this.options.overlay) {\n Motion.animateIn(this.$overlay, 'fade-in');\n }\n Motion.animateIn(this.$element, this.options.animationIn, () => {\n if(this.$element) { // protect against object having been removed\n this.focusableElements = Keyboard.findFocusable(this.$element);\n afterAnimation();\n }\n });\n }\n // jQuery method of reveal\n else {\n if (this.options.overlay) {\n this.$overlay.show(0);\n }\n this.$element.show(this.options.showDelay);\n }\n\n // handle accessibility\n this.$element\n .attr({\n 'aria-hidden': false,\n 'tabindex': -1\n })\n .focus();\n Keyboard.trapFocus(this.$element);\n\n this._addGlobalClasses();\n\n this._addGlobalListeners();\n\n /**\n * Fires when the modal has successfully opened.\n * @event Reveal#open\n */\n this.$element.trigger('open.zf.reveal');\n }\n\n /**\n * Adds classes and listeners on document required by open modals.\n *\n * The following classes are added and updated:\n * - `.is-reveal-open` - Prevents the scroll on document\n * - `.zf-has-scroll` - Displays a disabled scrollbar on document if required like if the\n * scroll was not disabled. This prevent a \"shift\" of the page content due\n * the scrollbar disappearing when the modal opens.\n *\n * @private\n */\n _addGlobalClasses() {\n const updateScrollbarClass = () => {\n $('html').toggleClass('zf-has-scroll', !!($(document).height() > $(window).height()));\n };\n\n this.$element.on('resizeme.zf.trigger.revealScrollbarListener', () => updateScrollbarClass());\n updateScrollbarClass();\n $('html').addClass('is-reveal-open');\n }\n\n /**\n * Removes classes and listeners on document that were required by open modals.\n * @private\n */\n _removeGlobalClasses() {\n this.$element.off('resizeme.zf.trigger.revealScrollbarListener');\n $('html').removeClass('is-reveal-open');\n $('html').removeClass('zf-has-scroll');\n }\n\n /**\n * Adds extra event handlers for the body and window if necessary.\n * @private\n */\n _addGlobalListeners() {\n var _this = this;\n if(!this.$element) { return; } // If we're in the middle of cleanup, don't freak out\n this.focusableElements = Keyboard.findFocusable(this.$element);\n\n if (!this.options.overlay && this.options.closeOnClick && !this.options.fullScreen) {\n $('body').on('click.zf.dropdown tap.zf.dropdown', function(e) {\n if (e.target === _this.$element[0] ||\n $.contains(_this.$element[0], e.target) ||\n !$.contains(document, e.target)) { return; }\n _this.close();\n });\n }\n\n if (this.options.closeOnEsc) {\n $(window).on('keydown.zf.reveal', function(e) {\n Keyboard.handleKey(e, 'Reveal', {\n close: function() {\n if (_this.options.closeOnEsc) {\n _this.close();\n }\n }\n });\n });\n }\n }\n\n /**\n * Closes the modal.\n * @function\n * @fires Reveal#closed\n */\n close() {\n if (!this.isActive || !this.$element.is(':visible')) {\n return false;\n }\n var _this = this;\n\n // Motion UI method of hiding\n if (this.options.animationOut) {\n if (this.options.overlay) {\n Motion.animateOut(this.$overlay, 'fade-out');\n }\n\n Motion.animateOut(this.$element, this.options.animationOut, finishUp);\n }\n // jQuery method of hiding\n else {\n this.$element.hide(this.options.hideDelay);\n\n if (this.options.overlay) {\n this.$overlay.hide(0, finishUp);\n }\n else {\n finishUp();\n }\n }\n\n // Conditionals to remove extra event listeners added on open\n if (this.options.closeOnEsc) {\n $(window).off('keydown.zf.reveal');\n }\n\n if (!this.options.overlay && this.options.closeOnClick) {\n $('body').off('click.zf.dropdown tap.zf.dropdown');\n }\n\n this.$element.off('keydown.zf.reveal');\n\n function finishUp() {\n\n // Get the current top before the modal is closed and restore the scroll after.\n // TODO: use component properties instead of HTML properties\n // See https://github.com/foundation/foundation-sites/pull/10786\n var scrollTop = parseInt($(\"html\").css(\"top\"));\n\n if ($('.reveal:visible').length === 0) {\n _this._removeGlobalClasses(); // also remove .is-reveal-open from the html element when there is no opened reveal\n }\n\n Keyboard.releaseFocus(_this.$element);\n\n _this.$element.attr('aria-hidden', true);\n\n if ($('.reveal:visible').length === 0) {\n _this._enableScroll(scrollTop);\n }\n\n /**\n * Fires when the modal is done closing.\n * @event Reveal#closed\n */\n _this.$element.trigger('closed.zf.reveal');\n }\n\n /**\n * Resets the modal content\n * This prevents a running video to keep going in the background\n */\n if (this.options.resetOnClose) {\n this.$element.html(this.$element.html());\n }\n\n this.isActive = false;\n // If deepLink and we did not switched to an other modal...\n if (_this.options.deepLink && window.location.hash === `#${this.id}`) {\n // Remove the history hash\n if (window.history.replaceState) {\n const urlWithoutHash = window.location.pathname + window.location.search;\n if (this.options.updateHistory) {\n window.history.pushState({}, '', urlWithoutHash); // remove the hash\n } else {\n window.history.replaceState('', document.title, urlWithoutHash);\n }\n } else {\n window.location.hash = '';\n }\n }\n\n this.$activeAnchor.focus();\n }\n\n /**\n * Toggles the open/closed state of a modal.\n * @function\n */\n toggle() {\n if (this.isActive) {\n this.close();\n } else {\n this.open();\n }\n };\n\n /**\n * Destroys an instance of a modal.\n * @function\n */\n _destroy() {\n if (this.options.overlay) {\n this.$element.appendTo($(this.options.appendTo)); // move $element outside of $overlay to prevent error unregisterPlugin()\n this.$overlay.hide().off().remove();\n }\n this.$element.hide().off();\n this.$anchor.off('.zf');\n $(window).off(`.zf.reveal:${this.id}`)\n if (this.onLoadListener) $(window).off(this.onLoadListener);\n\n if ($('.reveal:visible').length === 0) {\n this._removeGlobalClasses(); // also remove .is-reveal-open from the html element when there is no opened reveal\n }\n };\n}\n\nReveal.defaults = {\n /**\n * Motion-UI class to use for animated elements. If none used, defaults to simple show/hide.\n * @option\n * @type {string}\n * @default ''\n */\n animationIn: '',\n /**\n * Motion-UI class to use for animated elements. If none used, defaults to simple show/hide.\n * @option\n * @type {string}\n * @default ''\n */\n animationOut: '',\n /**\n * Time, in ms, to delay the opening of a modal after a click if no animation used.\n * @option\n * @type {number}\n * @default 0\n */\n showDelay: 0,\n /**\n * Time, in ms, to delay the closing of a modal after a click if no animation used.\n * @option\n * @type {number}\n * @default 0\n */\n hideDelay: 0,\n /**\n * Allows a click on the body/overlay to close the modal.\n * @option\n * @type {boolean}\n * @default true\n */\n closeOnClick: true,\n /**\n * Allows the modal to close if the user presses the `ESCAPE` key.\n * @option\n * @type {boolean}\n * @default true\n */\n closeOnEsc: true,\n /**\n * If true, allows multiple modals to be displayed at once.\n * @option\n * @type {boolean}\n * @default false\n */\n multipleOpened: false,\n /**\n * Distance, in pixels, the modal should push down from the top of the screen.\n * @option\n * @type {number|string}\n * @default auto\n */\n vOffset: 'auto',\n /**\n * Distance, in pixels, the modal should push in from the side of the screen.\n * @option\n * @type {number|string}\n * @default auto\n */\n hOffset: 'auto',\n /**\n * Allows the modal to be fullscreen, completely blocking out the rest of the view. JS checks for this as well.\n * @option\n * @type {boolean}\n * @default false\n */\n fullScreen: false,\n /**\n * Allows the modal to generate an overlay div, which will cover the view when modal opens.\n * @option\n * @type {boolean}\n * @default true\n */\n overlay: true,\n /**\n * Allows the modal to remove and reinject markup on close. Should be true if using video elements w/o using provider's api, otherwise, videos will continue to play in the background.\n * @option\n * @type {boolean}\n * @default false\n */\n resetOnClose: false,\n /**\n * Link the location hash to the modal.\n * Set the location hash when the modal is opened/closed, and open/close the modal when the location changes.\n * @option\n * @type {boolean}\n * @default false\n */\n deepLink: false,\n /**\n * If `deepLink` is enabled, update the browser history with the open modal\n * @option\n * @default false\n */\n updateHistory: false,\n /**\n * Allows the modal to append to custom div.\n * @option\n * @type {string}\n * @default \"body\"\n */\n appendTo: \"body\",\n /**\n * Allows adding additional class names to the reveal overlay.\n * @option\n * @type {string}\n * @default ''\n */\n additionalOverlayClasses: ''\n};\n\nexport {Reveal};\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 +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.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]/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.reveal.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.reveal.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_mediaQuery__","__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_reveal__WEBPACK_IMPORTED_MODULE_1__","Foundation","plugin","Reveal","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_mediaQuery__WEBPACK_IMPORTED_MODULE_3__","_foundation_util_motion__WEBPACK_IMPORTED_MODULE_4__","_foundation_util_triggers__WEBPACK_IMPORTED_MODULE_5__","_foundation_util_touch__WEBPACK_IMPORTED_MODULE_6__","Plugin","element","options","this","$element","$","extend","defaults","data","className","_init","Touch","init","Triggers","Keyboard","register","ESCAPE","_this2","MediaQuery","id","attr","isActive","cached","mq","current","$anchor","concat","length","aria-controls","aria-haspopup","tabindex","fullScreen","hasClass","overlay","$overlay","_makeOverlay","role","aria-hidden","data-yeti-box","data-resize","detach","appendTo","addClass","_events","deepLink","location","hash","onLoadListener","onLoad","open","additionalOverlayClasses","left","width","outerWidth","height","outerHeight","top","hOffset","parseInt","vOffset","Math","min","css","margin","_this3","_this","on","open.zf.trigger","bind","close.zf.trigger","event","target","parents","close","apply","toggle.zf.trigger","toggle","resizeme.zf.trigger","_updatePosition","closeOnClick","off","e","contains","document","_handleState","scrollTop","_this4","history","pushState","updateHistory","replaceState","$activeAnchor","activeElement","is","visibility","show","hide","multipleOpened","trigger","_disableScroll","animationIn","Motion","animateIn","focusableElements","findFocusable","focus","_addGlobalClasses","trapFocus","showDelay","_addGlobalListeners","updateScrollbarClass","toggleClass","removeClass","closeOnEsc","handleKey","finishUp","_removeGlobalClasses","releaseFocus","_enableScroll","animationOut","animateOut","hideDelay","resetOnClose","html","urlWithoutHash","pathname","search","title","remove","_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__","_foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__","triggers","el","type","split","forEach","MutationObserver","prefixes","i","Listeners","Basic","Global","Initializers","debounceGlobalListener","debounce","listener","timer","args","Array","prototype","slice","call","arguments","clearTimeout","setTimeout","openListener","closeListener","toggleListener","closeableListener","animation","stopPropagation","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","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","object","property","hasOwnProperty","p","s","moduleId","l","modules"],"mappings":"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","file":"foundation.reveal.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.mediaQuery\"), 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.mediaQuery\", \"./foundation.util.motion\", \"./foundation.util.touch\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.reveal\"] = factory(require(\"./foundation.core\"), require(\"./foundation.util.keyboard\"), require(\"./foundation.util.mediaQuery\"), require(\"./foundation.util.motion\"), require(\"./foundation.util.touch\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.reveal\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.keyboard\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.mediaQuery\"], 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_mediaQuery__, __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 = 14);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_touch__;","import { Foundation } from './foundation.core';\n\nimport { Reveal } from '../../foundation.reveal';\nFoundation.plugin(Reveal, 'Reveal');\n\nexport { Foundation, Reveal };\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 { MediaQuery } from './foundation.util.mediaQuery';\nimport { Motion } from './foundation.util.motion';\nimport { Triggers } from './foundation.util.triggers';\nimport { Touch } from './foundation.util.touch'\n\n/**\n * Reveal module.\n * @module foundation.reveal\n * @requires foundation.util.keyboard\n * @requires foundation.util.touch\n * @requires foundation.util.triggers\n * @requires foundation.util.mediaQuery\n * @requires foundation.util.motion if using animations\n */\n\nclass Reveal extends Plugin {\n /**\n * Creates a new instance of Reveal.\n * @class\n * @name Reveal\n * @param {jQuery} element - jQuery object to use for the modal.\n * @param {Object} options - optional parameters.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, Reveal.defaults, this.$element.data(), options);\n this.className = 'Reveal'; // ie9 back compat\n this._init();\n\n // Touch and Triggers init are idempotent, just need to make sure they are initialized\n Touch.init($);\n Triggers.init($);\n\n Keyboard.register('Reveal', {\n 'ESCAPE': 'close',\n });\n }\n\n /**\n * Initializes the modal by adding the overlay and close buttons, (if selected).\n * @private\n */\n _init() {\n MediaQuery._init();\n this.id = this.$element.attr('id');\n this.isActive = false;\n this.cached = {mq: MediaQuery.current};\n\n this.$anchor = $(`[data-open=\"${this.id}\"]`).length ? $(`[data-open=\"${this.id}\"]`) : $(`[data-toggle=\"${this.id}\"]`);\n this.$anchor.attr({\n 'aria-controls': this.id,\n 'aria-haspopup': true,\n 'tabindex': 0\n });\n\n if (this.options.fullScreen || this.$element.hasClass('full')) {\n this.options.fullScreen = true;\n this.options.overlay = false;\n }\n if (this.options.overlay && !this.$overlay) {\n this.$overlay = this._makeOverlay(this.id);\n }\n\n this.$element.attr({\n 'role': 'dialog',\n 'aria-hidden': true,\n 'data-yeti-box': this.id,\n 'data-resize': this.id\n });\n\n if(this.$overlay) {\n this.$element.detach().appendTo(this.$overlay);\n } else {\n this.$element.detach().appendTo($(this.options.appendTo));\n this.$element.addClass('without-overlay');\n }\n this._events();\n if (this.options.deepLink && window.location.hash === ( `#${this.id}`)) {\n this.onLoadListener = onLoad($(window), () => this.open());\n }\n }\n\n /**\n * Creates an overlay div to display behind the modal.\n * @private\n */\n _makeOverlay() {\n var additionalOverlayClasses = '';\n\n if (this.options.additionalOverlayClasses) {\n additionalOverlayClasses = ' ' + this.options.additionalOverlayClasses;\n }\n\n return $('<div></div>')\n .addClass('reveal-overlay' + additionalOverlayClasses)\n .appendTo(this.options.appendTo);\n }\n\n /**\n * Updates position of modal\n * TODO: Figure out if we actually need to cache these values or if it doesn't matter\n * @private\n */\n _updatePosition() {\n var width = this.$element.outerWidth();\n var outerWidth = $(window).width();\n var height = this.$element.outerHeight();\n var outerHeight = $(window).height();\n var left, top = null;\n if (this.options.hOffset === 'auto') {\n left = parseInt((outerWidth - width) / 2, 10);\n } else {\n left = parseInt(this.options.hOffset, 10);\n }\n if (this.options.vOffset === 'auto') {\n if (height > outerHeight) {\n top = parseInt(Math.min(100, outerHeight / 10), 10);\n } else {\n top = parseInt((outerHeight - height) / 4, 10);\n }\n } else if (this.options.vOffset !== null) {\n top = parseInt(this.options.vOffset, 10);\n }\n\n if (top !== null) {\n this.$element.css({top: top + 'px'});\n }\n\n // only worry about left if we don't have an overlay or we have a horizontal offset,\n // otherwise we're perfectly in the middle\n if (!this.$overlay || (this.options.hOffset !== 'auto')) {\n this.$element.css({left: left + 'px'});\n this.$element.css({margin: '0px'});\n }\n\n }\n\n /**\n * Adds event handlers for the modal.\n * @private\n */\n _events() {\n var _this = this;\n\n this.$element.on({\n 'open.zf.trigger': this.open.bind(this),\n 'close.zf.trigger': (event, $element) => {\n if ((event.target === _this.$element[0]) ||\n ($(event.target).parents('[data-closable]')[0] === $element)) { // only close reveal when it's explicitly called\n return this.close.apply(this);\n }\n },\n 'toggle.zf.trigger': this.toggle.bind(this),\n 'resizeme.zf.trigger': function() {\n _this._updatePosition();\n }\n });\n\n if (this.options.closeOnClick && this.options.overlay) {\n this.$overlay.off('.zf.reveal').on('click.zf.dropdown tap.zf.dropdown', function(e) {\n if (e.target === _this.$element[0] ||\n $.contains(_this.$element[0], e.target) ||\n !$.contains(document, e.target)) {\n return;\n }\n _this.close();\n });\n }\n if (this.options.deepLink) {\n $(window).on(`hashchange.zf.reveal:${this.id}`, this._handleState.bind(this));\n }\n }\n\n /**\n * Handles modal methods on back/forward button clicks or any other event that triggers hashchange.\n * @private\n */\n _handleState(e) {\n if(window.location.hash === ( '#' + this.id) && !this.isActive){ this.open(); }\n else{ this.close(); }\n }\n\n /**\n * Disables the scroll when Reveal is shown to prevent the background from shifting\n * @param {number} scrollTop - Scroll to visually apply, window current scroll by default\n */\n _disableScroll(scrollTop) {\n scrollTop = scrollTop || $(window).scrollTop();\n if ($(document).height() > $(window).height()) {\n $(\"html\")\n .css(\"top\", -scrollTop);\n }\n }\n\n /**\n * Reenables the scroll when Reveal closes\n * @param {number} scrollTop - Scroll to restore, html \"top\" property by default (as set by `_disableScroll`)\n */\n _enableScroll(scrollTop) {\n scrollTop = scrollTop || parseInt($(\"html\").css(\"top\"));\n if ($(document).height() > $(window).height()) {\n $(\"html\")\n .css(\"top\", \"\");\n $(window).scrollTop(-scrollTop);\n }\n }\n\n\n /**\n * Opens the modal controlled by `this.$anchor`, and closes all others by default.\n * @function\n * @fires Reveal#closeme\n * @fires Reveal#open\n */\n open() {\n // either update or replace browser history\n const hash = `#${this.id}`;\n if (this.options.deepLink && window.location.hash !== hash) {\n\n if (window.history.pushState) {\n if (this.options.updateHistory) {\n window.history.pushState({}, '', hash);\n } else {\n window.history.replaceState({}, '', hash);\n }\n } else {\n window.location.hash = hash;\n }\n }\n\n // Remember anchor that opened it to set focus back later, have general anchors as fallback\n this.$activeAnchor = $(document.activeElement).is(this.$anchor) ? $(document.activeElement) : this.$anchor;\n\n this.isActive = true;\n\n // Make elements invisible, but remove display: none so we can get size and positioning\n this.$element\n .css({ 'visibility': 'hidden' })\n .show()\n .scrollTop(0);\n if (this.options.overlay) {\n this.$overlay.css({'visibility': 'hidden'}).show();\n }\n\n this._updatePosition();\n\n this.$element\n .hide()\n .css({ 'visibility': '' });\n\n if(this.$overlay) {\n this.$overlay.css({'visibility': ''}).hide();\n if(this.$element.hasClass('fast')) {\n this.$overlay.addClass('fast');\n } else if (this.$element.hasClass('slow')) {\n this.$overlay.addClass('slow');\n }\n }\n\n\n if (!this.options.multipleOpened) {\n /**\n * Fires immediately before the modal opens.\n * Closes any other modals that are currently open\n * @event Reveal#closeme\n */\n this.$element.trigger('closeme.zf.reveal', this.id);\n }\n\n if ($('.reveal:visible').length === 0) {\n this._disableScroll();\n }\n\n var _this = this;\n\n // Motion UI method of reveal\n if (this.options.animationIn) {\n function afterAnimation(){\n _this.$element\n .attr({\n 'aria-hidden': false,\n 'tabindex': -1\n })\n .focus();\n _this._addGlobalClasses();\n Keyboard.trapFocus(_this.$element);\n }\n if (this.options.overlay) {\n Motion.animateIn(this.$overlay, 'fade-in');\n }\n Motion.animateIn(this.$element, this.options.animationIn, () => {\n if(this.$element) { // protect against object having been removed\n this.focusableElements = Keyboard.findFocusable(this.$element);\n afterAnimation();\n }\n });\n }\n // jQuery method of reveal\n else {\n if (this.options.overlay) {\n this.$overlay.show(0);\n }\n this.$element.show(this.options.showDelay);\n }\n\n // handle accessibility\n this.$element\n .attr({\n 'aria-hidden': false,\n 'tabindex': -1\n })\n .focus();\n Keyboard.trapFocus(this.$element);\n\n this._addGlobalClasses();\n\n this._addGlobalListeners();\n\n /**\n * Fires when the modal has successfully opened.\n * @event Reveal#open\n */\n this.$element.trigger('open.zf.reveal');\n }\n\n /**\n * Adds classes and listeners on document required by open modals.\n *\n * The following classes are added and updated:\n * - `.is-reveal-open` - Prevents the scroll on document\n * - `.zf-has-scroll` - Displays a disabled scrollbar on document if required like if the\n * scroll was not disabled. This prevent a \"shift\" of the page content due\n * the scrollbar disappearing when the modal opens.\n *\n * @private\n */\n _addGlobalClasses() {\n const updateScrollbarClass = () => {\n $('html').toggleClass('zf-has-scroll', !!($(document).height() > $(window).height()));\n };\n\n this.$element.on('resizeme.zf.trigger.revealScrollbarListener', () => updateScrollbarClass());\n updateScrollbarClass();\n $('html').addClass('is-reveal-open');\n }\n\n /**\n * Removes classes and listeners on document that were required by open modals.\n * @private\n */\n _removeGlobalClasses() {\n this.$element.off('resizeme.zf.trigger.revealScrollbarListener');\n $('html').removeClass('is-reveal-open');\n $('html').removeClass('zf-has-scroll');\n }\n\n /**\n * Adds extra event handlers for the body and window if necessary.\n * @private\n */\n _addGlobalListeners() {\n var _this = this;\n if(!this.$element) { return; } // If we're in the middle of cleanup, don't freak out\n this.focusableElements = Keyboard.findFocusable(this.$element);\n\n if (!this.options.overlay && this.options.closeOnClick && !this.options.fullScreen) {\n $('body').on('click.zf.dropdown tap.zf.dropdown', function(e) {\n if (e.target === _this.$element[0] ||\n $.contains(_this.$element[0], e.target) ||\n !$.contains(document, e.target)) { return; }\n _this.close();\n });\n }\n\n if (this.options.closeOnEsc) {\n $(window).on('keydown.zf.reveal', function(e) {\n Keyboard.handleKey(e, 'Reveal', {\n close: function() {\n if (_this.options.closeOnEsc) {\n _this.close();\n }\n }\n });\n });\n }\n }\n\n /**\n * Closes the modal.\n * @function\n * @fires Reveal#closed\n */\n close() {\n if (!this.isActive || !this.$element.is(':visible')) {\n return false;\n }\n var _this = this;\n\n // Motion UI method of hiding\n if (this.options.animationOut) {\n if (this.options.overlay) {\n Motion.animateOut(this.$overlay, 'fade-out');\n }\n\n Motion.animateOut(this.$element, this.options.animationOut, finishUp);\n }\n // jQuery method of hiding\n else {\n this.$element.hide(this.options.hideDelay);\n\n if (this.options.overlay) {\n this.$overlay.hide(0, finishUp);\n }\n else {\n finishUp();\n }\n }\n\n // Conditionals to remove extra event listeners added on open\n if (this.options.closeOnEsc) {\n $(window).off('keydown.zf.reveal');\n }\n\n if (!this.options.overlay && this.options.closeOnClick) {\n $('body').off('click.zf.dropdown tap.zf.dropdown');\n }\n\n this.$element.off('keydown.zf.reveal');\n\n function finishUp() {\n\n // Get the current top before the modal is closed and restore the scroll after.\n // TODO: use component properties instead of HTML properties\n // See https://github.com/zurb/foundation-sites/pull/10786\n var scrollTop = parseInt($(\"html\").css(\"top\"));\n\n if ($('.reveal:visible').length === 0) {\n _this._removeGlobalClasses(); // also remove .is-reveal-open from the html element when there is no opened reveal\n }\n\n Keyboard.releaseFocus(_this.$element);\n\n _this.$element.attr('aria-hidden', true);\n\n if ($('.reveal:visible').length === 0) {\n _this._enableScroll(scrollTop);\n }\n\n /**\n * Fires when the modal is done closing.\n * @event Reveal#closed\n */\n _this.$element.trigger('closed.zf.reveal');\n }\n\n /**\n * Resets the modal content\n * This prevents a running video to keep going in the background\n */\n if (this.options.resetOnClose) {\n this.$element.html(this.$element.html());\n }\n\n this.isActive = false;\n // If deepLink and we did not switched to an other modal...\n if (_this.options.deepLink && window.location.hash === `#${this.id}`) {\n // Remove the history hash\n if (window.history.replaceState) {\n const urlWithoutHash = window.location.pathname + window.location.search;\n if (this.options.updateHistory) {\n window.history.pushState({}, '', urlWithoutHash); // remove the hash\n } else {\n window.history.replaceState('', document.title, urlWithoutHash);\n }\n } else {\n window.location.hash = '';\n }\n }\n\n this.$activeAnchor.focus();\n }\n\n /**\n * Toggles the open/closed state of a modal.\n * @function\n */\n toggle() {\n if (this.isActive) {\n this.close();\n } else {\n this.open();\n }\n };\n\n /**\n * Destroys an instance of a modal.\n * @function\n */\n _destroy() {\n if (this.options.overlay) {\n this.$element.appendTo($(this.options.appendTo)); // move $element outside of $overlay to prevent error unregisterPlugin()\n this.$overlay.hide().off().remove();\n }\n this.$element.hide().off();\n this.$anchor.off('.zf');\n $(window).off(`.zf.reveal:${this.id}`)\n if (this.onLoadListener) $(window).off(this.onLoadListener);\n\n if ($('.reveal:visible').length === 0) {\n this._removeGlobalClasses(); // also remove .is-reveal-open from the html element when there is no opened reveal\n }\n };\n}\n\nReveal.defaults = {\n /**\n * Motion-UI class to use for animated elements. If none used, defaults to simple show/hide.\n * @option\n * @type {string}\n * @default ''\n */\n animationIn: '',\n /**\n * Motion-UI class to use for animated elements. If none used, defaults to simple show/hide.\n * @option\n * @type {string}\n * @default ''\n */\n animationOut: '',\n /**\n * Time, in ms, to delay the opening of a modal after a click if no animation used.\n * @option\n * @type {number}\n * @default 0\n */\n showDelay: 0,\n /**\n * Time, in ms, to delay the closing of a modal after a click if no animation used.\n * @option\n * @type {number}\n * @default 0\n */\n hideDelay: 0,\n /**\n * Allows a click on the body/overlay to close the modal.\n * @option\n * @type {boolean}\n * @default true\n */\n closeOnClick: true,\n /**\n * Allows the modal to close if the user presses the `ESCAPE` key.\n * @option\n * @type {boolean}\n * @default true\n */\n closeOnEsc: true,\n /**\n * If true, allows multiple modals to be displayed at once.\n * @option\n * @type {boolean}\n * @default false\n */\n multipleOpened: false,\n /**\n * Distance, in pixels, the modal should push down from the top of the screen.\n * @option\n * @type {number|string}\n * @default auto\n */\n vOffset: 'auto',\n /**\n * Distance, in pixels, the modal should push in from the side of the screen.\n * @option\n * @type {number|string}\n * @default auto\n */\n hOffset: 'auto',\n /**\n * Allows the modal to be fullscreen, completely blocking out the rest of the view. JS checks for this as well.\n * @option\n * @type {boolean}\n * @default false\n */\n fullScreen: false,\n /**\n * Allows the modal to generate an overlay div, which will cover the view when modal opens.\n * @option\n * @type {boolean}\n * @default true\n */\n overlay: true,\n /**\n * Allows the modal to remove and reinject markup on close. Should be true if using video elements w/o using provider's api, otherwise, videos will continue to play in the background.\n * @option\n * @type {boolean}\n * @default false\n */\n resetOnClose: false,\n /**\n * Link the location hash to the modal.\n * Set the location hash when the modal is opened/closed, and open/close the modal when the location changes.\n * @option\n * @type {boolean}\n * @default false\n */\n deepLink: false,\n /**\n * If `deepLink` is enabled, update the browser history with the open modal\n * @option\n * @default false\n */\n updateHistory: false,\n /**\n * Allows the modal to append to custom div.\n * @option\n * @type {string}\n * @default \"body\"\n */\n appendTo: \"body\",\n /**\n * Allows adding additional class names to the reveal overlay.\n * @option\n * @type {string}\n * @default ''\n */\n additionalOverlayClasses: ''\n};\n\nexport {Reveal};\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__;"]}
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.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]/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.reveal.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.reveal.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_mediaQuery__","__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_reveal__WEBPACK_IMPORTED_MODULE_1__","Foundation","plugin","Reveal","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_mediaQuery__WEBPACK_IMPORTED_MODULE_3__","_foundation_util_motion__WEBPACK_IMPORTED_MODULE_4__","_foundation_util_triggers__WEBPACK_IMPORTED_MODULE_5__","_foundation_util_touch__WEBPACK_IMPORTED_MODULE_6__","value","$element","element","options","this","$","className","a","extend","defaults","data","Keyboard","init","register","ESCAPE","key","MediaQuery","_init","cached","attr","mq","isActive","$anchor","current","concat","id","length","aria-controls","aria-haspopup","overlay","hasClass","fullScreen","$overlay","role","aria-hidden","data-yeti-box","detach","appendTo","_events","deepLink","location","hash","onLoadListener","Object","_this2","open","additionalOverlayClasses","addClass","outerWidth","height","outerHeight","width","left","top","hOffset","parseInt","Math","vOffset","css","margin","_this","on","open.zf.trigger","close.zf.trigger","event","target","parents","_this3","close","apply","_updatePosition","toggle","bind","resizeme.zf.trigger","closeOnClick","off","e","contains","document","_handleState","scrollTop","_this4","updateHistory","history","pushState","replaceState","show","visibility","hide","afterAnimation","animationIn","Motion","animateIn","focusableElements","findFocusable","_addGlobalClasses","showDelay","tabindex","trapFocus","updateScrollbarClass","toggleClass","closeOnEsc","handleKey","is","releaseFocus","animateOut","hideDelay","finishUp","resetOnClose","html","urlWithoutHash","pathname","search","_removeGlobalClasses","Triggers","_foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__","MutationObserver","_typeof","Symbol","iterator","obj","constructor","prototype","el","type","Listeners","split","forEach","Basic","prefixes","i","openListener","triggers","closeListener","timer","listener","args","call","arguments","trigger","clearTimeout","setTimeout","$nodes","stopPropagation","animation","toggleFocusListener","fadeOut","$elem","triggerHandler","Initializers","addCloseListener","addToggleListener","toggleListener","addCloseableListener","closeableListener","resizeListener","addToggleFocusListener","Global","each","scrollListener","closeMeListener","pluginId","namespace","yetiBoxes","addClosemeListener","pluginName","plugNames","console","error","listeners","debounceGlobalListener","debounce","name","listeningElementsMutation","mutationRecordsList","$target","pageYOffset","attributeName","closest","characterData","attributeFilter","observe","attributes","childList","subtree","$document","addSimpleListeners","addGlobalListeners","addMutationEventsListener","addResizeListener","addScrollListener","onLoad","triggersInitialized","jquery","c","getter","o","defineProperty","enumerable","get","toStringTag","t","mode","__esModule","ns","create","object","property","hasOwnProperty","p","s","moduleId","l","modules"],"mappings":"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","file":"foundation.reveal.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.mediaQuery\"), 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.mediaQuery\", \"./foundation.util.motion\", \"./foundation.util.touch\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.reveal\"] = factory(require(\"./foundation.core\"), require(\"./foundation.util.keyboard\"), require(\"./foundation.util.mediaQuery\"), require(\"./foundation.util.motion\"), require(\"./foundation.util.touch\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.reveal\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.keyboard\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.mediaQuery\"], 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_mediaQuery__, __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 = 14);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_touch__;","import { Foundation } from './foundation.core';\n\nimport { Reveal } from '../../foundation.reveal';\nFoundation.plugin(Reveal, 'Reveal');\n\nexport { Foundation, Reveal };\n","'use strict';\n\nimport $ from 'jquery';\nimport { onLoad } from './foundation.core.utils';\nimport { Keyboard } from './foundation.util.keyboard';\nimport { MediaQuery } from './foundation.util.mediaQuery';\nimport { Motion } from './foundation.util.motion';\nimport { Plugin } from './foundation.core.plugin';\nimport { Triggers } from './foundation.util.triggers';\nimport { Touch } from './foundation.util.touch'\n\n/**\n * Reveal module.\n * @module foundation.reveal\n * @requires foundation.util.keyboard\n * @requires foundation.util.triggers\n * @requires foundation.util.mediaQuery\n * @requires foundation.util.motion if using animations\n */\n\nclass Reveal extends Plugin {\n /**\n * Creates a new instance of Reveal.\n * @class\n * @name Reveal\n * @param {jQuery} element - jQuery object to use for the modal.\n * @param {Object} options - optional parameters.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, Reveal.defaults, this.$element.data(), options);\n this.className = 'Reveal'; // ie9 back compat\n this._init();\n\n // Triggers init is idempotent, just need to make sure it is initialized\n Triggers.init($);\n\n Keyboard.register('Reveal', {\n 'ESCAPE': 'close',\n });\n }\n\n /**\n * Initializes the modal by adding the overlay and close buttons, (if selected).\n * @private\n */\n _init() {\n MediaQuery._init();\n this.id = this.$element.attr('id');\n this.isActive = false;\n this.cached = {mq: MediaQuery.current};\n\n this.$anchor = $(`[data-open=\"${this.id}\"]`).length ? $(`[data-open=\"${this.id}\"]`) : $(`[data-toggle=\"${this.id}\"]`);\n this.$anchor.attr({\n 'aria-controls': this.id,\n 'aria-haspopup': true,\n 'tabindex': 0\n });\n\n if (this.options.fullScreen || this.$element.hasClass('full')) {\n this.options.fullScreen = true;\n this.options.overlay = false;\n }\n if (this.options.overlay && !this.$overlay) {\n this.$overlay = this._makeOverlay(this.id);\n }\n\n this.$element.attr({\n 'role': 'dialog',\n 'aria-hidden': true,\n 'data-yeti-box': this.id,\n 'data-resize': this.id\n });\n\n if(this.$overlay) {\n this.$element.detach().appendTo(this.$overlay);\n } else {\n this.$element.detach().appendTo($(this.options.appendTo));\n this.$element.addClass('without-overlay');\n }\n this._events();\n if (this.options.deepLink && window.location.hash === ( `#${this.id}`)) {\n this.onLoadListener = onLoad($(window), () => this.open());\n }\n }\n\n /**\n * Creates an overlay div to display behind the modal.\n * @private\n */\n _makeOverlay() {\n var additionalOverlayClasses = '';\n\n if (this.options.additionalOverlayClasses) {\n additionalOverlayClasses = ' ' + this.options.additionalOverlayClasses;\n }\n\n return $('<div></div>')\n .addClass('reveal-overlay' + additionalOverlayClasses)\n .appendTo(this.options.appendTo);\n }\n\n /**\n * Updates position of modal\n * TODO: Figure out if we actually need to cache these values or if it doesn't matter\n * @private\n */\n _updatePosition() {\n var width = this.$element.outerWidth();\n var outerWidth = $(window).width();\n var height = this.$element.outerHeight();\n var outerHeight = $(window).height();\n var left, top = null;\n if (this.options.hOffset === 'auto') {\n left = parseInt((outerWidth - width) / 2, 10);\n } else {\n left = parseInt(this.options.hOffset, 10);\n }\n if (this.options.vOffset === 'auto') {\n if (height > outerHeight) {\n top = parseInt(Math.min(100, outerHeight / 10), 10);\n } else {\n top = parseInt((outerHeight - height) / 4, 10);\n }\n } else if (this.options.vOffset !== null) {\n top = parseInt(this.options.vOffset, 10);\n }\n\n if (top !== null) {\n this.$element.css({top: top + 'px'});\n }\n\n // only worry about left if we don't have an overlay or we have a horizontal offset,\n // otherwise we're perfectly in the middle\n if (!this.$overlay || (this.options.hOffset !== 'auto')) {\n this.$element.css({left: left + 'px'});\n this.$element.css({margin: '0px'});\n }\n\n }\n\n /**\n * Adds event handlers for the modal.\n * @private\n */\n _events() {\n var _this = this;\n\n this.$element.on({\n 'open.zf.trigger': this.open.bind(this),\n 'close.zf.trigger': (event, $element) => {\n if ((event.target === _this.$element[0]) ||\n ($(event.target).parents('[data-closable]')[0] === $element)) { // only close reveal when it's explicitly called\n return this.close.apply(this);\n }\n },\n 'toggle.zf.trigger': this.toggle.bind(this),\n 'resizeme.zf.trigger': function() {\n _this._updatePosition();\n }\n });\n\n if (this.options.closeOnClick && this.options.overlay) {\n this.$overlay.off('.zf.reveal').on('click.zf.reveal', function(e) {\n if (e.target === _this.$element[0] ||\n $.contains(_this.$element[0], e.target) ||\n !$.contains(document, e.target)) {\n return;\n }\n _this.close();\n });\n }\n if (this.options.deepLink) {\n $(window).on(`hashchange.zf.reveal:${this.id}`, this._handleState.bind(this));\n }\n }\n\n /**\n * Handles modal methods on back/forward button clicks or any other event that triggers hashchange.\n * @private\n */\n _handleState(e) {\n if(window.location.hash === ( '#' + this.id) && !this.isActive){ this.open(); }\n else{ this.close(); }\n }\n\n /**\n * Disables the scroll when Reveal is shown to prevent the background from shifting\n * @param {number} scrollTop - Scroll to visually apply, window current scroll by default\n */\n _disableScroll(scrollTop) {\n scrollTop = scrollTop || $(window).scrollTop();\n if ($(document).height() > $(window).height()) {\n $(\"html\")\n .css(\"top\", -scrollTop);\n }\n }\n\n /**\n * Reenables the scroll when Reveal closes\n * @param {number} scrollTop - Scroll to restore, html \"top\" property by default (as set by `_disableScroll`)\n */\n _enableScroll(scrollTop) {\n scrollTop = scrollTop || parseInt($(\"html\").css(\"top\"));\n if ($(document).height() > $(window).height()) {\n $(\"html\")\n .css(\"top\", \"\");\n $(window).scrollTop(-scrollTop);\n }\n }\n\n\n /**\n * Opens the modal controlled by `this.$anchor`, and closes all others by default.\n * @function\n * @fires Reveal#closeme\n * @fires Reveal#open\n */\n open() {\n // either update or replace browser history\n const hash = `#${this.id}`;\n if (this.options.deepLink && window.location.hash !== hash) {\n\n if (window.history.pushState) {\n if (this.options.updateHistory) {\n window.history.pushState({}, '', hash);\n } else {\n window.history.replaceState({}, '', hash);\n }\n } else {\n window.location.hash = hash;\n }\n }\n\n // Remember anchor that opened it to set focus back later, have general anchors as fallback\n this.$activeAnchor = $(document.activeElement).is(this.$anchor) ? $(document.activeElement) : this.$anchor;\n\n this.isActive = true;\n\n // Make elements invisible, but remove display: none so we can get size and positioning\n this.$element\n .css({ 'visibility': 'hidden' })\n .show()\n .scrollTop(0);\n if (this.options.overlay) {\n this.$overlay.css({'visibility': 'hidden'}).show();\n }\n\n this._updatePosition();\n\n this.$element\n .hide()\n .css({ 'visibility': '' });\n\n if(this.$overlay) {\n this.$overlay.css({'visibility': ''}).hide();\n if(this.$element.hasClass('fast')) {\n this.$overlay.addClass('fast');\n } else if (this.$element.hasClass('slow')) {\n this.$overlay.addClass('slow');\n }\n }\n\n\n if (!this.options.multipleOpened) {\n /**\n * Fires immediately before the modal opens.\n * Closes any other modals that are currently open\n * @event Reveal#closeme\n */\n this.$element.trigger('closeme.zf.reveal', this.id);\n }\n\n this._disableScroll();\n\n var _this = this;\n\n // Motion UI method of reveal\n if (this.options.animationIn) {\n function afterAnimation(){\n _this.$element\n .attr({\n 'aria-hidden': false,\n 'tabindex': -1\n })\n .focus();\n _this._addGlobalClasses();\n Keyboard.trapFocus(_this.$element);\n }\n if (this.options.overlay) {\n Motion.animateIn(this.$overlay, 'fade-in');\n }\n Motion.animateIn(this.$element, this.options.animationIn, () => {\n if(this.$element) { // protect against object having been removed\n this.focusableElements = Keyboard.findFocusable(this.$element);\n afterAnimation();\n }\n });\n }\n // jQuery method of reveal\n else {\n if (this.options.overlay) {\n this.$overlay.show(0);\n }\n this.$element.show(this.options.showDelay);\n }\n\n // handle accessibility\n this.$element\n .attr({\n 'aria-hidden': false,\n 'tabindex': -1\n })\n .focus();\n Keyboard.trapFocus(this.$element);\n\n this._addGlobalClasses();\n\n this._addGlobalListeners();\n\n /**\n * Fires when the modal has successfully opened.\n * @event Reveal#open\n */\n this.$element.trigger('open.zf.reveal');\n }\n\n /**\n * Adds classes and listeners on document required by open modals.\n *\n * The following classes are added and updated:\n * - `.is-reveal-open` - Prevents the scroll on document\n * - `.zf-has-scroll` - Displays a disabled scrollbar on document if required like if the\n * scroll was not disabled. This prevent a \"shift\" of the page content due\n * the scrollbar disappearing when the modal opens.\n *\n * @private\n */\n _addGlobalClasses() {\n const updateScrollbarClass = () => {\n $('html').toggleClass('zf-has-scroll', !!($(document).height() > $(window).height()));\n };\n\n this.$element.on('resizeme.zf.trigger.revealScrollbarListener', () => updateScrollbarClass());\n updateScrollbarClass();\n $('html').addClass('is-reveal-open');\n }\n\n /**\n * Removes classes and listeners on document that were required by open modals.\n * @private\n */\n _removeGlobalClasses() {\n this.$element.off('resizeme.zf.trigger.revealScrollbarListener');\n $('html').removeClass('is-reveal-open');\n $('html').removeClass('zf-has-scroll');\n }\n\n /**\n * Adds extra event handlers for the body and window if necessary.\n * @private\n */\n _addGlobalListeners() {\n var _this = this;\n if(!this.$element) { return; } // If we're in the middle of cleanup, don't freak out\n this.focusableElements = Keyboard.findFocusable(this.$element);\n\n if (!this.options.overlay && this.options.closeOnClick && !this.options.fullScreen) {\n $('body').on('click.zf.reveal', function(e) {\n if (e.target === _this.$element[0] ||\n $.contains(_this.$element[0], e.target) ||\n !$.contains(document, e.target)) { return; }\n _this.close();\n });\n }\n\n if (this.options.closeOnEsc) {\n $(window).on('keydown.zf.reveal', function(e) {\n Keyboard.handleKey(e, 'Reveal', {\n close: function() {\n if (_this.options.closeOnEsc) {\n _this.close();\n }\n }\n });\n });\n }\n }\n\n /**\n * Closes the modal.\n * @function\n * @fires Reveal#closed\n */\n close() {\n if (!this.isActive || !this.$element.is(':visible')) {\n return false;\n }\n var _this = this;\n\n // Motion UI method of hiding\n if (this.options.animationOut) {\n if (this.options.overlay) {\n Motion.animateOut(this.$overlay, 'fade-out');\n }\n\n Motion.animateOut(this.$element, this.options.animationOut, finishUp);\n }\n // jQuery method of hiding\n else {\n this.$element.hide(this.options.hideDelay);\n\n if (this.options.overlay) {\n this.$overlay.hide(0, finishUp);\n }\n else {\n finishUp();\n }\n }\n\n // Conditionals to remove extra event listeners added on open\n if (this.options.closeOnEsc) {\n $(window).off('keydown.zf.reveal');\n }\n\n if (!this.options.overlay && this.options.closeOnClick) {\n $('body').off('click.zf.reveal');\n }\n\n this.$element.off('keydown.zf.reveal');\n\n function finishUp() {\n\n // Get the current top before the modal is closed and restore the scroll after.\n // TODO: use component properties instead of HTML properties\n // See https://github.com/foundation/foundation-sites/pull/10786\n var scrollTop = parseInt($(\"html\").css(\"top\"));\n\n if ($('.reveal:visible').length === 0) {\n _this._removeGlobalClasses(); // also remove .is-reveal-open from the html element when there is no opened reveal\n }\n\n Keyboard.releaseFocus(_this.$element);\n\n _this.$element.attr('aria-hidden', true);\n\n _this._enableScroll(scrollTop);\n\n /**\n * Fires when the modal is done closing.\n * @event Reveal#closed\n */\n _this.$element.trigger('closed.zf.reveal');\n }\n\n /**\n * Resets the modal content\n * This prevents a running video to keep going in the background\n */\n if (this.options.resetOnClose) {\n this.$element.html(this.$element.html());\n }\n\n this.isActive = false;\n // If deepLink and we did not switched to an other modal...\n if (_this.options.deepLink && window.location.hash === `#${this.id}`) {\n // Remove the history hash\n if (window.history.replaceState) {\n const urlWithoutHash = window.location.pathname + window.location.search;\n if (this.options.updateHistory) {\n window.history.pushState({}, '', urlWithoutHash); // remove the hash\n } else {\n window.history.replaceState('', document.title, urlWithoutHash);\n }\n } else {\n window.location.hash = '';\n }\n }\n\n this.$activeAnchor.focus();\n }\n\n /**\n * Toggles the open/closed state of a modal.\n * @function\n */\n toggle() {\n if (this.isActive) {\n this.close();\n } else {\n this.open();\n }\n };\n\n /**\n * Destroys an instance of a modal.\n * @function\n */\n _destroy() {\n if (this.options.overlay) {\n this.$element.appendTo($(this.options.appendTo)); // move $element outside of $overlay to prevent error unregisterPlugin()\n this.$overlay.hide().off().remove();\n }\n this.$element.hide().off();\n this.$anchor.off('.zf');\n $(window).off(`.zf.reveal:${this.id}`)\n if (this.onLoadListener) $(window).off(this.onLoadListener);\n\n if ($('.reveal:visible').length === 0) {\n this._removeGlobalClasses(); // also remove .is-reveal-open from the html element when there is no opened reveal\n }\n };\n}\n\nReveal.defaults = {\n /**\n * Motion-UI class to use for animated elements. If none used, defaults to simple show/hide.\n * @option\n * @type {string}\n * @default ''\n */\n animationIn: '',\n /**\n * Motion-UI class to use for animated elements. If none used, defaults to simple show/hide.\n * @option\n * @type {string}\n * @default ''\n */\n animationOut: '',\n /**\n * Time, in ms, to delay the opening of a modal after a click if no animation used.\n * @option\n * @type {number}\n * @default 0\n */\n showDelay: 0,\n /**\n * Time, in ms, to delay the closing of a modal after a click if no animation used.\n * @option\n * @type {number}\n * @default 0\n */\n hideDelay: 0,\n /**\n * Allows a click on the body/overlay to close the modal.\n * @option\n * @type {boolean}\n * @default true\n */\n closeOnClick: true,\n /**\n * Allows the modal to close if the user presses the `ESCAPE` key.\n * @option\n * @type {boolean}\n * @default true\n */\n closeOnEsc: true,\n /**\n * If true, allows multiple modals to be displayed at once.\n * @option\n * @type {boolean}\n * @default false\n */\n multipleOpened: false,\n /**\n * Distance, in pixels, the modal should push down from the top of the screen.\n * @option\n * @type {number|string}\n * @default auto\n */\n vOffset: 'auto',\n /**\n * Distance, in pixels, the modal should push in from the side of the screen.\n * @option\n * @type {number|string}\n * @default auto\n */\n hOffset: 'auto',\n /**\n * Allows the modal to be fullscreen, completely blocking out the rest of the view. JS checks for this as well.\n * @option\n * @type {boolean}\n * @default false\n */\n fullScreen: false,\n /**\n * Allows the modal to generate an overlay div, which will cover the view when modal opens.\n * @option\n * @type {boolean}\n * @default true\n */\n overlay: true,\n /**\n * Allows the modal to remove and reinject markup on close. Should be true if using video elements w/o using provider's api, otherwise, videos will continue to play in the background.\n * @option\n * @type {boolean}\n * @default false\n */\n resetOnClose: false,\n /**\n * Link the location hash to the modal.\n * Set the location hash when the modal is opened/closed, and open/close the modal when the location changes.\n * @option\n * @type {boolean}\n * @default false\n */\n deepLink: false,\n /**\n * If `deepLink` is enabled, update the browser history with the open modal\n * @option\n * @default false\n */\n updateHistory: false,\n /**\n * Allows the modal to append to custom div.\n * @option\n * @type {string}\n * @default \"body\"\n */\n appendTo: \"body\",\n /**\n * Allows adding additional class names to the reveal overlay.\n * @option\n * @type {string}\n * @default ''\n */\n additionalOverlayClasses: ''\n};\n\nexport {Reveal};\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__;"]}
@@ -288,8 +288,7 @@ function (_Plugin) {
288
288
  this.$input = this.inputs.length ? this.inputs.eq(0) : jquery__WEBPACK_IMPORTED_MODULE_0___default()("#".concat(this.$handle.attr('aria-controls')));
289
289
  this.$fill = this.$element.find('[data-slider-fill]').css(this.options.vertical ? 'height' : 'width', 0);
290
290
 
291
- var isDbl = false,
292
- _this = this;
291
+ var _this = this;
293
292
 
294
293
  if (this.options.disabled || this.$element.hasClass(this.options.disabledClass)) {
295
294
  this.options.disabled = true;
@@ -310,9 +309,8 @@ function (_Plugin) {
310
309
 
311
310
  if (!this.inputs[1]) {
312
311
  this.inputs = this.inputs.add(this.$input2);
313
- }
312
+ } // this.$handle.triggerHandler('click.zf.slider');
314
313
 
315
- isDbl = true; // this.$handle.triggerHandler('click.zf.slider');
316
314
 
317
315
  this._setInitAttr(1);
318
316
  } // Set handle positions
@@ -616,7 +614,6 @@ function (_Plugin) {
616
614
  param = vertical ? 'height' : 'width',
617
615
  direction = vertical ? 'top' : 'left',
618
616
  eventOffset = vertical ? e.pageY : e.pageX,
619
- halfOfHandle = this.$handle[0].getBoundingClientRect()[param] / 2,
620
617
  barDim = this.$element[0].getBoundingClientRect()[param],
621
618
  windowScroll = vertical ? jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).scrollTop() : jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).scrollLeft();
622
619
 
@@ -729,8 +726,7 @@ function (_Plugin) {
729
726
  key: "_eventsForHandle",
730
727
  value: function _eventsForHandle($handle) {
731
728
  var _this = this,
732
- curHandle,
733
- timer;
729
+ curHandle;
734
730
 
735
731
  var handleChangeEvent = function handleChangeEvent(e) {
736
732
  var idx = _this.inputs.index(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this));
@@ -1329,7 +1325,7 @@ Triggers.init = function ($, Foundation) {
1329
1325
  /*! no static exports found */
1330
1326
  /***/ (function(module, exports, __webpack_require__) {
1331
1327
 
1332
- module.exports = __webpack_require__(/*! /Volumes/Data/Development/Foundation/foundation-sites/js/entries/plugins/foundation.slider.js */"./js/entries/plugins/foundation.slider.js");
1328
+ module.exports = __webpack_require__(/*! /Users/joeworkman/Development/foundation-sites/js/entries/plugins/foundation.slider.js */"./js/entries/plugins/foundation.slider.js");
1333
1329
 
1334
1330
 
1335
1331
  /***/ }),
@@ -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","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
+ {"version":3,"sources":["webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/universalModuleDefinition","webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/bootstrap","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.keyboard\"],\"amd\":\"./foundation.util.keyboard\",\"commonjs\":\"./foundation.util.keyboard\",\"commonjs2\":\"./foundation.util.keyboard\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.motion\"],\"amd\":\"./foundation.util.motion\",\"commonjs\":\"./foundation.util.motion\",\"commonjs2\":\"./foundation.util.motion\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.touch\"],\"amd\":\"./foundation.util.touch\",\"commonjs\":\"./foundation.util.touch\",\"commonjs2\":\"./foundation.util.touch\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/entries/plugins/foundation.slider.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.slider.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.util.triggers.js","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}"],"names":["Foundation","plugin","Slider","element","options","$element","$","extend","defaults","data","className","Touch","init","Triggers","_init","Keyboard","register","inputs","find","handles","$handle","eq","$input","length","attr","$fill","css","vertical","_this","disabled","hasClass","disabledClass","addClass","add","binding","_setInitAttr","doubleSided","$handle2","$input2","setHandles","_events","_setHandlePos","val","value","pctOfBar","percent","start","end","positionValueFunction","_logTransform","_powTransform","toFixed","parseFloat","baseLog","nonLinearBase","Math","pow","$hndl","location","cb","isDbl","index","h2Val","step","h1Val","vert","hOrW","lOrT","handleDim","getBoundingClientRect","elemDim","_pctOfBar","pxToMove","movement","decimal","_setValues","isLeftHndl","dim","handlePct","style","handlePos","isNaN","initialStart","one","trigger","moveTime","Move","clearTimeout","timeout","setTimeout","changedDelay","idx","initVal","initialEnd","id","GetYoDigits","e","hasVal","preventDefault","param","direction","eventOffset","pageY","pageX","barDim","windowScroll","window","scrollTop","scrollLeft","elemOffset","offset","clientY","eventFromBar","barXY","offsetPct","_value","Rtl","_adjustValue","firstHndlPos","absPosition","secndHndlPos","div","left","prev_val","next_val","_eventsForHandle","curHandle","handleChangeEvent","_handleEvent","off","on","keyCode","call","clickSelect","target","is","draggable","addTouch","$body","currentTarget","removeClass","_$handle","oldValue","newValue","handleKey","decrease","increase","decrease_fast","increase_fast","min","max","handled","Plugin","invertVertical","frac","num","dir","clickPos","abs","position","base","log","MutationObserver","prefixes","i","triggers","el","type","split","forEach","Listeners","Basic","Global","Initializers","openListener","closeListener","toggleListener","closeableListener","animation","stopPropagation","Motion","animateOut","fadeOut","toggleFocusListener","triggerHandler","addOpenListener","$elem","addCloseListener","addToggleListener","addCloseableListener","addToggleFocusListener","resizeListener","$nodes","each","scrollListener","closeMeListener","pluginId","namespace","plugins","not","addClosemeListener","pluginName","yetiBoxes","plugNames","push","concat","console","error","listeners","map","name","join","debounceGlobalListener","debounce","listener","timer","args","Array","prototype","slice","arguments","apply","addResizeListener","addScrollListener","addMutationEventsListener","listeningElementsMutation","mutationRecordsList","$target","attributeName","pageYOffset","closest","elementObserver","observe","attributes","childList","characterData","subtree","attributeFilter","addSimpleListeners","$document","document","addGlobalListeners","onLoad","triggersInitialized","IHearYou"],"mappings":"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","file":"foundation.slider.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"./foundation.util.keyboard\"), require(\"./foundation.util.motion\"), require(\"./foundation.util.touch\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"./foundation.util.keyboard\", \"./foundation.util.motion\", \"./foundation.util.touch\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.slider\"] = factory(require(\"./foundation.core\"), require(\"./foundation.util.keyboard\"), require(\"./foundation.util.motion\"), require(\"./foundation.util.touch\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.slider\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.keyboard\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.motion\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.touch\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__, __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__, __WEBPACK_EXTERNAL_MODULE__foundation_util_touch__, __WEBPACK_EXTERNAL_MODULE_jquery__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 15);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_touch__;","import { Foundation } from './foundation.core';\n\nimport { Slider } from '../../foundation.slider';\nFoundation.plugin(Slider, 'Slider');\n\nexport { Foundation, Slider };\n","'use strict';\n\nimport $ from 'jquery';\nimport { Keyboard } from './foundation.util.keyboard';\nimport { Move } from './foundation.util.motion';\nimport { GetYoDigits, rtl as Rtl } from './foundation.core.utils';\n\nimport { Plugin } from './foundation.core.plugin';\n\nimport { Touch } from './foundation.util.touch';\n\nimport { Triggers } from './foundation.util.triggers';\n/**\n * Slider module.\n * @module foundation.slider\n * @requires foundation.util.motion\n * @requires foundation.util.triggers\n * @requires foundation.util.keyboard\n * @requires foundation.util.touch\n */\n\nclass Slider extends Plugin {\n /**\n * Creates a new instance of a slider control.\n * @class\n * @name Slider\n * @param {jQuery} element - jQuery object to make into a slider control.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, Slider.defaults, this.$element.data(), options);\n this.className = 'Slider'; // ie9 back compat\n\n // Touch and Triggers inits are idempotent, we just need to make sure it's initialied.\n Touch.init($);\n Triggers.init($);\n\n this._init();\n\n Keyboard.register('Slider', {\n 'ltr': {\n 'ARROW_RIGHT': 'increase',\n 'ARROW_UP': 'increase',\n 'ARROW_DOWN': 'decrease',\n 'ARROW_LEFT': 'decrease',\n 'SHIFT_ARROW_RIGHT': 'increase_fast',\n 'SHIFT_ARROW_UP': 'increase_fast',\n 'SHIFT_ARROW_DOWN': 'decrease_fast',\n 'SHIFT_ARROW_LEFT': 'decrease_fast',\n 'HOME': 'min',\n 'END': 'max'\n },\n 'rtl': {\n 'ARROW_LEFT': 'increase',\n 'ARROW_RIGHT': 'decrease',\n 'SHIFT_ARROW_LEFT': 'increase_fast',\n 'SHIFT_ARROW_RIGHT': 'decrease_fast'\n }\n });\n }\n\n /**\n * Initilizes the plugin by reading/setting attributes, creating collections and setting the initial position of the handle(s).\n * @function\n * @private\n */\n _init() {\n this.inputs = this.$element.find('input');\n this.handles = this.$element.find('[data-slider-handle]');\n\n this.$handle = this.handles.eq(0);\n this.$input = this.inputs.length ? this.inputs.eq(0) : $(`#${this.$handle.attr('aria-controls')}`);\n this.$fill = this.$element.find('[data-slider-fill]').css(this.options.vertical ? 'height' : 'width', 0);\n\n var _this = this;\n if (this.options.disabled || this.$element.hasClass(this.options.disabledClass)) {\n this.options.disabled = true;\n this.$element.addClass(this.options.disabledClass);\n }\n if (!this.inputs.length) {\n this.inputs = $().add(this.$input);\n this.options.binding = true;\n }\n\n this._setInitAttr(0);\n\n if (this.handles[1]) {\n this.options.doubleSided = true;\n this.$handle2 = this.handles.eq(1);\n this.$input2 = this.inputs.length > 1 ? this.inputs.eq(1) : $(`#${this.$handle2.attr('aria-controls')}`);\n\n if (!this.inputs[1]) {\n this.inputs = this.inputs.add(this.$input2);\n }\n\n // this.$handle.triggerHandler('click.zf.slider');\n this._setInitAttr(1);\n }\n\n // Set handle positions\n this.setHandles();\n\n this._events();\n }\n\n setHandles() {\n if(this.handles[1]) {\n this._setHandlePos(this.$handle, this.inputs.eq(0).val(), () => {\n this._setHandlePos(this.$handle2, this.inputs.eq(1).val());\n });\n } else {\n this._setHandlePos(this.$handle, this.inputs.eq(0).val());\n }\n }\n\n _reflow() {\n this.setHandles();\n }\n /**\n * @function\n * @private\n * @param {Number} value - floating point (the value) to be transformed using to a relative position on the slider (the inverse of _value)\n */\n _pctOfBar(value) {\n var pctOfBar = percent(value - this.options.start, this.options.end - this.options.start)\n\n switch(this.options.positionValueFunction) {\n case \"pow\":\n pctOfBar = this._logTransform(pctOfBar);\n break;\n case \"log\":\n pctOfBar = this._powTransform(pctOfBar);\n break;\n }\n\n return pctOfBar.toFixed(2)\n }\n\n /**\n * @function\n * @private\n * @param {Number} pctOfBar - floating point, the relative position of the slider (typically between 0-1) to be transformed to a value\n */\n _value(pctOfBar) {\n switch(this.options.positionValueFunction) {\n case \"pow\":\n pctOfBar = this._powTransform(pctOfBar);\n break;\n case \"log\":\n pctOfBar = this._logTransform(pctOfBar);\n break;\n }\n\n var value\n if (this.options.vertical) {\n // linear interpolation which is working with negative values for start\n // https://math.stackexchange.com/a/1019084\n value = parseFloat(this.options.end) + pctOfBar * (this.options.start - this.options.end)\n } else {\n value = (this.options.end - this.options.start) * pctOfBar + parseFloat(this.options.start);\n }\n\n return value\n }\n\n /**\n * @function\n * @private\n * @param {Number} value - floating point (typically between 0-1) to be transformed using the log function\n */\n _logTransform(value) {\n return baseLog(this.options.nonLinearBase, ((value*(this.options.nonLinearBase-1))+1))\n }\n\n /**\n * @function\n * @private\n * @param {Number} value - floating point (typically between 0-1) to be transformed using the power function\n */\n _powTransform(value) {\n return (Math.pow(this.options.nonLinearBase, value) - 1) / (this.options.nonLinearBase - 1)\n }\n\n /**\n * Sets the position of the selected handle and fill bar.\n * @function\n * @private\n * @param {jQuery} $hndl - the selected handle to move.\n * @param {Number} location - floating point between the start and end values of the slider bar.\n * @param {Function} cb - callback function to fire on completion.\n * @fires Slider#moved\n * @fires Slider#changed\n */\n _setHandlePos($hndl, location, cb) {\n // don't move if the slider has been disabled since its initialization\n if (this.$element.hasClass(this.options.disabledClass)) {\n return;\n }\n //might need to alter that slightly for bars that will have odd number selections.\n location = parseFloat(location);//on input change events, convert string to number...grumble.\n\n // prevent slider from running out of bounds, if value exceeds the limits set through options, override the value to min/max\n if (location < this.options.start) { location = this.options.start; }\n else if (location > this.options.end) { location = this.options.end; }\n\n var isDbl = this.options.doubleSided;\n\n if (isDbl) { //this block is to prevent 2 handles from crossing eachother. Could/should be improved.\n if (this.handles.index($hndl) === 0) {\n var h2Val = parseFloat(this.$handle2.attr('aria-valuenow'));\n location = location >= h2Val ? h2Val - this.options.step : location;\n } else {\n var h1Val = parseFloat(this.$handle.attr('aria-valuenow'));\n location = location <= h1Val ? h1Val + this.options.step : location;\n }\n }\n\n var _this = this,\n vert = this.options.vertical,\n hOrW = vert ? 'height' : 'width',\n lOrT = vert ? 'top' : 'left',\n handleDim = $hndl[0].getBoundingClientRect()[hOrW],\n elemDim = this.$element[0].getBoundingClientRect()[hOrW],\n //percentage of bar min/max value based on click or drag point\n pctOfBar = this._pctOfBar(location),\n //number of actual pixels to shift the handle, based on the percentage obtained above\n pxToMove = (elemDim - handleDim) * pctOfBar,\n //percentage of bar to shift the handle\n movement = (percent(pxToMove, elemDim) * 100).toFixed(this.options.decimal);\n //fixing the decimal value for the location number, is passed to other methods as a fixed floating-point value\n location = parseFloat(location.toFixed(this.options.decimal));\n // declare empty object for css adjustments, only used with 2 handled-sliders\n var css = {};\n\n this._setValues($hndl, location);\n\n // TODO update to calculate based on values set to respective inputs??\n if (isDbl) {\n var isLeftHndl = this.handles.index($hndl) === 0,\n //empty variable, will be used for min-height/width for fill bar\n dim,\n //percentage w/h of the handle compared to the slider bar\n handlePct = ~~(percent(handleDim, elemDim) * 100);\n //if left handle, the math is slightly different than if it's the right handle, and the left/top property needs to be changed for the fill bar\n if (isLeftHndl) {\n //left or top percentage value to apply to the fill bar.\n css[lOrT] = `${movement}%`;\n //calculate the new min-height/width for the fill bar.\n dim = parseFloat(this.$handle2[0].style[lOrT]) - movement + handlePct;\n //this callback is necessary to prevent errors and allow the proper placement and initialization of a 2-handled slider\n //plus, it means we don't care if 'dim' isNaN on init, it won't be in the future.\n if (cb && typeof cb === 'function') { cb(); }//this is only needed for the initialization of 2 handled sliders\n } else {\n //just caching the value of the left/bottom handle's left/top property\n var handlePos = parseFloat(this.$handle[0].style[lOrT]);\n //calculate the new min-height/width for the fill bar. Use isNaN to prevent false positives for numbers <= 0\n //based on the percentage of movement of the handle being manipulated, less the opposing handle's left/top position, plus the percentage w/h of the handle itself\n dim = movement - (isNaN(handlePos) ? (this.options.initialStart - this.options.start)/((this.options.end-this.options.start)/100) : handlePos) + handlePct;\n }\n // assign the min-height/width to our css object\n css[`min-${hOrW}`] = `${dim}%`;\n }\n\n this.$element.one('finished.zf.animate', function() {\n /**\n * Fires when the handle is done moving.\n * @event Slider#moved\n */\n _this.$element.trigger('moved.zf.slider', [$hndl]);\n });\n\n //because we don't know exactly how the handle will be moved, check the amount of time it should take to move.\n var moveTime = this.$element.data('dragging') ? 1000/60 : this.options.moveTime;\n\n Move(moveTime, $hndl, function() {\n // adjusting the left/top property of the handle, based on the percentage calculated above\n // if movement isNaN, that is because the slider is hidden and we cannot determine handle width,\n // fall back to next best guess.\n if (isNaN(movement)) {\n $hndl.css(lOrT, `${pctOfBar * 100}%`);\n }\n else {\n $hndl.css(lOrT, `${movement}%`);\n }\n\n if (!_this.options.doubleSided) {\n //if single-handled, a simple method to expand the fill bar\n _this.$fill.css(hOrW, `${pctOfBar * 100}%`);\n } else {\n //otherwise, use the css object we created above\n _this.$fill.css(css);\n }\n });\n\n\n /**\n * Fires when the value has not been change for a given time.\n * @event Slider#changed\n */\n clearTimeout(_this.timeout);\n _this.timeout = setTimeout(function(){\n _this.$element.trigger('changed.zf.slider', [$hndl]);\n }, _this.options.changedDelay);\n }\n\n /**\n * Sets the initial attribute for the slider element.\n * @function\n * @private\n * @param {Number} idx - index of the current handle/input to use.\n */\n _setInitAttr(idx) {\n var initVal = (idx === 0 ? this.options.initialStart : this.options.initialEnd)\n var id = this.inputs.eq(idx).attr('id') || GetYoDigits(6, 'slider');\n this.inputs.eq(idx).attr({\n 'id': id,\n 'max': this.options.end,\n 'min': this.options.start,\n 'step': this.options.step\n });\n this.inputs.eq(idx).val(initVal);\n this.handles.eq(idx).attr({\n 'role': 'slider',\n 'aria-controls': id,\n 'aria-valuemax': this.options.end,\n 'aria-valuemin': this.options.start,\n 'aria-valuenow': initVal,\n 'aria-orientation': this.options.vertical ? 'vertical' : 'horizontal',\n 'tabindex': 0\n });\n }\n\n /**\n * Sets the input and `aria-valuenow` values for the slider element.\n * @function\n * @private\n * @param {jQuery} $handle - the currently selected handle.\n * @param {Number} val - floating point of the new value.\n */\n _setValues($handle, val) {\n var idx = this.options.doubleSided ? this.handles.index($handle) : 0;\n this.inputs.eq(idx).val(val);\n $handle.attr('aria-valuenow', val);\n }\n\n /**\n * Handles events on the slider element.\n * Calculates the new location of the current handle.\n * If there are two handles and the bar was clicked, it determines which handle to move.\n * @function\n * @private\n * @param {Object} e - the `event` object passed from the listener.\n * @param {jQuery} $handle - the current handle to calculate for, if selected.\n * @param {Number} val - floating point number for the new value of the slider.\n * TODO clean this up, there's a lot of repeated code between this and the _setHandlePos fn.\n */\n _handleEvent(e, $handle, val) {\n var value, hasVal;\n if (!val) {//click or drag events\n e.preventDefault();\n var _this = this,\n vertical = this.options.vertical,\n param = vertical ? 'height' : 'width',\n direction = vertical ? 'top' : 'left',\n eventOffset = vertical ? e.pageY : e.pageX,\n barDim = this.$element[0].getBoundingClientRect()[param],\n windowScroll = vertical ? $(window).scrollTop() : $(window).scrollLeft();\n\n var elemOffset = this.$element.offset()[direction];\n\n // touch events emulated by the touch util give position relative to screen, add window.scroll to event coordinates...\n // best way to guess this is simulated is if clientY == pageY\n if (e.clientY === e.pageY) { eventOffset = eventOffset + windowScroll; }\n var eventFromBar = eventOffset - elemOffset;\n var barXY;\n if (eventFromBar < 0) {\n barXY = 0;\n } else if (eventFromBar > barDim) {\n barXY = barDim;\n } else {\n barXY = eventFromBar;\n }\n var offsetPct = percent(barXY, barDim);\n\n value = this._value(offsetPct);\n\n // turn everything around for RTL, yay math!\n if (Rtl() && !this.options.vertical) {value = this.options.end - value;}\n\n value = _this._adjustValue(null, value);\n //boolean flag for the setHandlePos fn, specifically for vertical sliders\n hasVal = false;\n\n if (!$handle) {//figure out which handle it is, pass it to the next function.\n var firstHndlPos = absPosition(this.$handle, direction, barXY, param),\n secndHndlPos = absPosition(this.$handle2, direction, barXY, param);\n $handle = firstHndlPos <= secndHndlPos ? this.$handle : this.$handle2;\n }\n\n } else {//change event on input\n value = this._adjustValue(null, val);\n hasVal = true;\n }\n\n this._setHandlePos($handle, value);\n }\n\n /**\n * Adjustes value for handle in regard to step value. returns adjusted value\n * @function\n * @private\n * @param {jQuery} $handle - the selected handle.\n * @param {Number} value - value to adjust. used if $handle is falsy\n */\n _adjustValue($handle, value) {\n var val,\n step = this.options.step,\n div = parseFloat(step/2),\n left, prev_val, next_val;\n if (!!$handle) {\n val = parseFloat($handle.attr('aria-valuenow'));\n }\n else {\n val = value;\n }\n if (val >= 0) {\n left = val % step;\n } else {\n left = step + (val % step);\n }\n prev_val = val - left;\n next_val = prev_val + step;\n if (left === 0) {\n return val;\n }\n val = val >= prev_val + div ? next_val : prev_val;\n return val;\n }\n\n /**\n * Adds event listeners to the slider elements.\n * @function\n * @private\n */\n _events() {\n this._eventsForHandle(this.$handle);\n if(this.handles[1]) {\n this._eventsForHandle(this.$handle2);\n }\n }\n\n\n /**\n * Adds event listeners a particular handle\n * @function\n * @private\n * @param {jQuery} $handle - the current handle to apply listeners to.\n */\n _eventsForHandle($handle) {\n var _this = this,\n curHandle;\n\n const handleChangeEvent = function(e) {\n const idx = _this.inputs.index($(this));\n _this._handleEvent(e, _this.handles.eq(idx), $(this).val());\n };\n\n // IE only triggers the change event when the input loses focus which strictly follows the HTML specification\n // listen for the enter key and trigger a change\n // @see https://html.spec.whatwg.org/multipage/input.html#common-input-element-events\n this.inputs.off('keyup.zf.slider').on('keyup.zf.slider', function (e) {\n if(e.keyCode == 13) handleChangeEvent.call(this, e);\n });\n\n this.inputs.off('change.zf.slider').on('change.zf.slider', handleChangeEvent);\n\n if (this.options.clickSelect) {\n this.$element.off('click.zf.slider').on('click.zf.slider', function(e) {\n if (_this.$element.data('dragging')) { return false; }\n\n if (!$(e.target).is('[data-slider-handle]')) {\n if (_this.options.doubleSided) {\n _this._handleEvent(e);\n } else {\n _this._handleEvent(e, _this.$handle);\n }\n }\n });\n }\n\n if (this.options.draggable) {\n this.handles.addTouch();\n\n var $body = $('body');\n $handle\n .off('mousedown.zf.slider')\n .on('mousedown.zf.slider', function(e) {\n $handle.addClass('is-dragging');\n _this.$fill.addClass('is-dragging');//\n _this.$element.data('dragging', true);\n\n curHandle = $(e.currentTarget);\n\n $body.on('mousemove.zf.slider', function(e) {\n e.preventDefault();\n _this._handleEvent(e, curHandle);\n\n }).on('mouseup.zf.slider', function(e) {\n _this._handleEvent(e, curHandle);\n\n $handle.removeClass('is-dragging');\n _this.$fill.removeClass('is-dragging');\n _this.$element.data('dragging', false);\n\n $body.off('mousemove.zf.slider mouseup.zf.slider');\n });\n })\n // prevent events triggered by touch\n .on('selectstart.zf.slider touchmove.zf.slider', function(e) {\n e.preventDefault();\n });\n }\n\n $handle.off('keydown.zf.slider').on('keydown.zf.slider', function(e) {\n var _$handle = $(this),\n idx = _this.options.doubleSided ? _this.handles.index(_$handle) : 0,\n oldValue = parseFloat(_this.inputs.eq(idx).val()),\n newValue;\n\n // handle keyboard event with keyboard util\n Keyboard.handleKey(e, 'Slider', {\n decrease: function() {\n newValue = oldValue - _this.options.step;\n },\n increase: function() {\n newValue = oldValue + _this.options.step;\n },\n decrease_fast: function() {\n newValue = oldValue - _this.options.step * 10;\n },\n increase_fast: function() {\n newValue = oldValue + _this.options.step * 10;\n },\n min: function() {\n newValue = _this.options.start;\n },\n max: function() {\n newValue = _this.options.end;\n },\n handled: function() { // only set handle pos when event was handled specially\n e.preventDefault();\n _this._setHandlePos(_$handle, newValue);\n }\n });\n /*if (newValue) { // if pressed key has special function, update value\n e.preventDefault();\n _this._setHandlePos(_$handle, newValue);\n }*/\n });\n }\n\n /**\n * Destroys the slider plugin.\n */\n _destroy() {\n this.handles.off('.zf.slider');\n this.inputs.off('.zf.slider');\n this.$element.off('.zf.slider');\n\n clearTimeout(this.timeout);\n }\n}\n\nSlider.defaults = {\n /**\n * Minimum value for the slider scale.\n * @option\n * @type {number}\n * @default 0\n */\n start: 0,\n /**\n * Maximum value for the slider scale.\n * @option\n * @type {number}\n * @default 100\n */\n end: 100,\n /**\n * Minimum value change per change event.\n * @option\n * @type {number}\n * @default 1\n */\n step: 1,\n /**\n * Value at which the handle/input *(left handle/first input)* should be set to on initialization.\n * @option\n * @type {number}\n * @default 0\n */\n initialStart: 0,\n /**\n * Value at which the right handle/second input should be set to on initialization.\n * @option\n * @type {number}\n * @default 100\n */\n initialEnd: 100,\n /**\n * Allows the input to be located outside the container and visible. Set to by the JS\n * @option\n * @type {boolean}\n * @default false\n */\n binding: false,\n /**\n * Allows the user to click/tap on the slider bar to select a value.\n * @option\n * @type {boolean}\n * @default true\n */\n clickSelect: true,\n /**\n * Set to true and use the `vertical` class to change alignment to vertical.\n * @option\n * @type {boolean}\n * @default false\n */\n vertical: false,\n /**\n * Allows the user to drag the slider handle(s) to select a value.\n * @option\n * @type {boolean}\n * @default true\n */\n draggable: true,\n /**\n * Disables the slider and prevents event listeners from being applied. Double checked by JS with `disabledClass`.\n * @option\n * @type {boolean}\n * @default false\n */\n disabled: false,\n /**\n * Allows the use of two handles. Double checked by the JS. Changes some logic handling.\n * @option\n * @type {boolean}\n * @default false\n */\n doubleSided: false,\n /**\n * Potential future feature.\n */\n // steps: 100,\n /**\n * Number of decimal places the plugin should go to for floating point precision.\n * @option\n * @type {number}\n * @default 2\n */\n decimal: 2,\n /**\n * Time delay for dragged elements.\n */\n // dragDelay: 0,\n /**\n * Time, in ms, to animate the movement of a slider handle if user clicks/taps on the bar. Needs to be manually set if updating the transition time in the Sass settings.\n * @option\n * @type {number}\n * @default 200\n */\n moveTime: 200,//update this if changing the transition time in the sass\n /**\n * Class applied to disabled sliders.\n * @option\n * @type {string}\n * @default 'disabled'\n */\n disabledClass: 'disabled',\n /**\n * Will invert the default layout for a vertical<span data-tooltip title=\"who would do this???\"> </span>slider.\n * @option\n * @type {boolean}\n * @default false\n */\n invertVertical: false,\n /**\n * Milliseconds before the `changed.zf-slider` event is triggered after value change.\n * @option\n * @type {number}\n * @default 500\n */\n changedDelay: 500,\n /**\n * Basevalue for non-linear sliders\n * @option\n * @type {number}\n * @default 5\n */\n nonLinearBase: 5,\n /**\n * Basevalue for non-linear sliders, possible values are: `'linear'`, `'pow'` & `'log'`. Pow and Log use the nonLinearBase setting.\n * @option\n * @type {string}\n * @default 'linear'\n */\n positionValueFunction: 'linear',\n};\n\nfunction percent(frac, num) {\n return (frac / num);\n}\nfunction absPosition($handle, dir, clickPos, param) {\n return Math.abs(($handle.position()[dir] + ($handle[param]() / 2)) - clickPos);\n}\nfunction baseLog(base, value) {\n return Math.log(value)/Math.log(base)\n}\n\nexport {Slider};\n","'use strict';\n\nimport $ from 'jquery';\nimport { onLoad } from './foundation.core.utils';\nimport { Motion } from './foundation.util.motion';\n\nconst MutationObserver = (function () {\n var prefixes = ['WebKit', 'Moz', 'O', 'Ms', ''];\n for (var i=0; i < prefixes.length; i++) {\n if (`${prefixes[i]}MutationObserver` in window) {\n return window[`${prefixes[i]}MutationObserver`];\n }\n }\n return false;\n}());\n\nconst triggers = (el, type) => {\n el.data(type).split(' ').forEach(id => {\n $(`#${id}`)[ type === 'close' ? 'trigger' : 'triggerHandler'](`${type}.zf.trigger`, [el]);\n });\n};\n\nvar Triggers = {\n Listeners: {\n Basic: {},\n Global: {}\n },\n Initializers: {}\n}\n\nTriggers.Listeners.Basic = {\n openListener: function() {\n triggers($(this), 'open');\n },\n closeListener: function() {\n let id = $(this).data('close');\n if (id) {\n triggers($(this), 'close');\n }\n else {\n $(this).trigger('close.zf.trigger');\n }\n },\n toggleListener: function() {\n let id = $(this).data('toggle');\n if (id) {\n triggers($(this), 'toggle');\n } else {\n $(this).trigger('toggle.zf.trigger');\n }\n },\n closeableListener: function(e) {\n let animation = $(this).data('closable');\n\n // Only close the first closable element. See https://git.io/zf-7833\n e.stopPropagation();\n\n if(animation !== ''){\n Motion.animateOut($(this), animation, function() {\n $(this).trigger('closed.zf');\n });\n }else{\n $(this).fadeOut().trigger('closed.zf');\n }\n },\n toggleFocusListener: function() {\n let id = $(this).data('toggle-focus');\n $(`#${id}`).triggerHandler('toggle.zf.trigger', [$(this)]);\n }\n};\n\n// Elements with [data-open] will reveal a plugin that supports it when clicked.\nTriggers.Initializers.addOpenListener = ($elem) => {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.openListener);\n $elem.on('click.zf.trigger', '[data-open]', Triggers.Listeners.Basic.openListener);\n}\n\n// Elements with [data-close] will close a plugin that supports it when clicked.\n// If used without a value on [data-close], the event will bubble, allowing it to close a parent component.\nTriggers.Initializers.addCloseListener = ($elem) => {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.closeListener);\n $elem.on('click.zf.trigger', '[data-close]', Triggers.Listeners.Basic.closeListener);\n}\n\n// Elements with [data-toggle] will toggle a plugin that supports it when clicked.\nTriggers.Initializers.addToggleListener = ($elem) => {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.toggleListener);\n $elem.on('click.zf.trigger', '[data-toggle]', Triggers.Listeners.Basic.toggleListener);\n}\n\n// Elements with [data-closable] will respond to close.zf.trigger events.\nTriggers.Initializers.addCloseableListener = ($elem) => {\n $elem.off('close.zf.trigger', Triggers.Listeners.Basic.closeableListener);\n $elem.on('close.zf.trigger', '[data-closeable], [data-closable]', Triggers.Listeners.Basic.closeableListener);\n}\n\n// Elements with [data-toggle-focus] will respond to coming in and out of focus\nTriggers.Initializers.addToggleFocusListener = ($elem) => {\n $elem.off('focus.zf.trigger blur.zf.trigger', Triggers.Listeners.Basic.toggleFocusListener);\n $elem.on('focus.zf.trigger blur.zf.trigger', '[data-toggle-focus]', Triggers.Listeners.Basic.toggleFocusListener);\n}\n\n\n\n// More Global/complex listeners and triggers\nTriggers.Listeners.Global = {\n resizeListener: function($nodes) {\n if(!MutationObserver){//fallback for IE 9\n $nodes.each(function(){\n $(this).triggerHandler('resizeme.zf.trigger');\n });\n }\n //trigger all listening elements and signal a resize event\n $nodes.attr('data-events', \"resize\");\n },\n scrollListener: function($nodes) {\n if(!MutationObserver){//fallback for IE 9\n $nodes.each(function(){\n $(this).triggerHandler('scrollme.zf.trigger');\n });\n }\n //trigger all listening elements and signal a scroll event\n $nodes.attr('data-events', \"scroll\");\n },\n closeMeListener: function(e, pluginId){\n let plugin = e.namespace.split('.')[0];\n let plugins = $(`[data-${plugin}]`).not(`[data-yeti-box=\"${pluginId}\"]`);\n\n plugins.each(function(){\n let _this = $(this);\n _this.triggerHandler('close.zf.trigger', [_this]);\n });\n }\n}\n\n// Global, parses whole document.\nTriggers.Initializers.addClosemeListener = function(pluginName) {\n var yetiBoxes = $('[data-yeti-box]'),\n plugNames = ['dropdown', 'tooltip', 'reveal'];\n\n if(pluginName){\n if(typeof pluginName === 'string'){\n plugNames.push(pluginName);\n }else if(typeof pluginName === 'object' && typeof pluginName[0] === 'string'){\n plugNames = plugNames.concat(pluginName);\n }else{\n console.error('Plugin names must be strings');\n }\n }\n if(yetiBoxes.length){\n let listeners = plugNames.map((name) => {\n return `closeme.zf.${name}`;\n }).join(' ');\n\n $(window).off(listeners).on(listeners, Triggers.Listeners.Global.closeMeListener);\n }\n}\n\nfunction debounceGlobalListener(debounce, trigger, listener) {\n let timer, args = Array.prototype.slice.call(arguments, 3);\n $(window).off(trigger).on(trigger, function(e) {\n if (timer) { clearTimeout(timer); }\n timer = setTimeout(function(){\n listener.apply(null, args);\n }, debounce || 10);//default time to emit scroll event\n });\n}\n\nTriggers.Initializers.addResizeListener = function(debounce){\n let $nodes = $('[data-resize]');\n if($nodes.length){\n debounceGlobalListener(debounce, 'resize.zf.trigger', Triggers.Listeners.Global.resizeListener, $nodes);\n }\n}\n\nTriggers.Initializers.addScrollListener = function(debounce){\n let $nodes = $('[data-scroll]');\n if($nodes.length){\n debounceGlobalListener(debounce, 'scroll.zf.trigger', Triggers.Listeners.Global.scrollListener, $nodes);\n }\n}\n\nTriggers.Initializers.addMutationEventsListener = function($elem) {\n if(!MutationObserver){ return false; }\n let $nodes = $elem.find('[data-resize], [data-scroll], [data-mutate]');\n\n //element callback\n var listeningElementsMutation = function (mutationRecordsList) {\n var $target = $(mutationRecordsList[0].target);\n\n //trigger the event handler for the element depending on type\n switch (mutationRecordsList[0].type) {\n case \"attributes\":\n if ($target.attr(\"data-events\") === \"scroll\" && mutationRecordsList[0].attributeName === \"data-events\") {\n $target.triggerHandler('scrollme.zf.trigger', [$target, window.pageYOffset]);\n }\n if ($target.attr(\"data-events\") === \"resize\" && mutationRecordsList[0].attributeName === \"data-events\") {\n $target.triggerHandler('resizeme.zf.trigger', [$target]);\n }\n if (mutationRecordsList[0].attributeName === \"style\") {\n $target.closest(\"[data-mutate]\").attr(\"data-events\",\"mutate\");\n $target.closest(\"[data-mutate]\").triggerHandler('mutateme.zf.trigger', [$target.closest(\"[data-mutate]\")]);\n }\n break;\n\n case \"childList\":\n $target.closest(\"[data-mutate]\").attr(\"data-events\",\"mutate\");\n $target.closest(\"[data-mutate]\").triggerHandler('mutateme.zf.trigger', [$target.closest(\"[data-mutate]\")]);\n break;\n\n default:\n return false;\n //nothing\n }\n };\n\n if ($nodes.length) {\n //for each element that needs to listen for resizing, scrolling, or mutation add a single observer\n for (var i = 0; i <= $nodes.length - 1; i++) {\n var elementObserver = new MutationObserver(listeningElementsMutation);\n elementObserver.observe($nodes[i], { attributes: true, childList: true, characterData: false, subtree: true, attributeFilter: [\"data-events\", \"style\"] });\n }\n }\n}\n\nTriggers.Initializers.addSimpleListeners = function() {\n let $document = $(document);\n\n Triggers.Initializers.addOpenListener($document);\n Triggers.Initializers.addCloseListener($document);\n Triggers.Initializers.addToggleListener($document);\n Triggers.Initializers.addCloseableListener($document);\n Triggers.Initializers.addToggleFocusListener($document);\n\n}\n\nTriggers.Initializers.addGlobalListeners = function() {\n let $document = $(document);\n Triggers.Initializers.addMutationEventsListener($document);\n Triggers.Initializers.addResizeListener();\n Triggers.Initializers.addScrollListener();\n Triggers.Initializers.addClosemeListener();\n}\n\n\nTriggers.init = function ($, Foundation) {\n onLoad($(window), function () {\n if ($.triggersInitialized !== true) {\n Triggers.Initializers.addSimpleListeners();\n Triggers.Initializers.addGlobalListeners();\n $.triggersInitialized = true;\n }\n });\n\n if(Foundation) {\n Foundation.Triggers = Triggers;\n // Legacy included to be backwards compatible for now.\n Foundation.IHearYou = Triggers.Initializers.addGlobalListeners\n }\n}\n\nexport {Triggers};\n","module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;"],"sourceRoot":""}
@@ -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 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});
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.$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__","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":"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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(), () => {\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__;"]}
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"],"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__","clearTimeout","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","disabledClass","add","binding","doubleSided","$handle2","$input2","isDbl","_setInitAttr","setHandles","key","_this2","val","_setHandlePos","pctOfBar","percent","_logTransform","positionValueFunction","toFixed","_powTransform","value","parseFloat","end","start","absPosition","Math","abs","position","base","$hndl","location","index","h2Val","step","h1Val","_this","vert","hOrW","getBoundingClientRect","lOrT","_pctOfBar","pxToMove","elemDim","handleDim","decimal","dim","handlePct","isLeftHndl","movement","style","cb","handlePos","isNaN","initialStart","one","moveTime","timeout","setTimeout","idx","Object","initVal","id","max","min","role","aria-controls","aria-valuemax","aria-valuemin","aria-valuenow","aria-orientation","tabindex","_adjustValue","e","preventDefault","param","pageY","pageX","direction","eventOffset","scrollTop","scrollLeft","barDim","elemOffset","windowScroll","barXY","eventFromBar","_value","offsetPct","hasVal","prev_val","left","next_val","div","_eventsForHandle","curHandle","off","on","keyCode","handleChangeEvent","call","clickSelect","target","is","_handleEvent","draggable","addTouch","$body","removeClass","_$handle","handleKey","decrease","oldValue","decrease_fast","increase","increase_fast","handled","newValue","dir","clickPos","frac","num","_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__","_typeof","obj","Symbol","iterator","constructor","prototype","el","type","split","forEach","MutationObserver","prefixes","i","Listeners","Basic","timer","args","Array","slice","arguments","debounce","Global","openListener","Initializers","closeListener","toggleListener","trigger","closeableListener","stopPropagation","animation","Motion","animateOut","toggleFocusListener","fadeOut","triggerHandler","$elem","addCloseListener","addToggleListener","addCloseableListener","addToggleFocusListener","$nodes","resizeListener","each","scrollListener","not","pluginId","closeMeListener","plugins","addClosemeListener","pluginName","plugNames","console","push","error","listeners","map","name","addResizeListener","debounceGlobalListener","addScrollListener","listeningElementsMutation","mutationRecordsList","$target","attributeName","closest","observe","attributes","childList","characterData","elementObserver","addSimpleListeners","$document","document","addOpenListener","addMutationEventsListener","addGlobalListeners","triggersInitialized","onLoad","c","getter","o","defineProperty","enumerable","get","toStringTag","t","mode","__esModule","ns","create","bind","object","property","hasOwnProperty","p","s","moduleId","l","modules"],"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(), () => {\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"]}
@@ -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__(/*! /Volumes/Data/Development/Foundation/foundation-sites/js/entries/plugins/foundation.smoothScroll.js */"./js/entries/plugins/foundation.smoothScroll.js");
341
+ module.exports = __webpack_require__(/*! /Users/joeworkman/Development/foundation-sites/js/entries/plugins/foundation.smoothScroll.js */"./js/entries/plugins/foundation.smoothScroll.js");
342
342
 
343
343
 
344
344
  /***/ }),
@@ -512,7 +512,6 @@ function (_Plugin) {
512
512
  css = {},
513
513
  anchorPt = (this.points ? this.points[1] - this.points[0] : this.anchorHeight) - this.elemHeight,
514
514
  mrgn = stickToTop ? 'marginTop' : 'marginBottom',
515
- notStuckTo = stickToTop ? 'bottom' : 'top',
516
515
  topOrBottom = isTop ? 'top' : 'bottom';
517
516
  css[mrgn] = 0;
518
517
  css['bottom'] = 'auto';
@@ -1085,7 +1084,7 @@ Triggers.init = function ($, Foundation) {
1085
1084
  /*! no static exports found */
1086
1085
  /***/ (function(module, exports, __webpack_require__) {
1087
1086
 
1088
- module.exports = __webpack_require__(/*! /Volumes/Data/Development/Foundation/foundation-sites/js/entries/plugins/foundation.sticky.js */"./js/entries/plugins/foundation.sticky.js");
1087
+ module.exports = __webpack_require__(/*! /Users/joeworkman/Development/foundation-sites/js/entries/plugins/foundation.sticky.js */"./js/entries/plugins/foundation.sticky.js");
1089
1088
 
1090
1089
 
1091
1090
  /***/ }),
@@ -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","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
+ {"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 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 +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__","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__;"]}
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"],"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__","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","is","stickyOn","cb","width","newElemWidth","getComputedStyle","comp","pdngl","parseInt","max-width","pdngr","newContainerHeight","hasClass","_setBreakPoints","mTop","emCalc","marginTop","mBtm","marginBottom","winHeight","innerHeight","bottom","body","fontSize","em","_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__","_foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__","triggers","type","MutationObserver","prefixes","Listeners","Basic","Initializers","timer","Array","prototype","slice","call","arguments","clearTimeout","setTimeout","args","listener","apply","openListener","closeListener","toggleListener","closeableListener","animateOut","animation","Motion","fadeOut","toggleFocusListener","addOpenListener","$elem","addCloseListener","addToggleListener","addCloseableListener","$nodes","resizeListener","each","triggerHandler","closeMeListener","pluginId","namespace","not","plugins","yetiBoxes","pluginName","plugNames","_typeof","console","error","map","name","listeners","Global","debounceGlobalListener","debounce","listeningElementsMutation","mutationRecordsList","$target","attributeName","closest","elementObserver","attributes","childList","characterData","subtree","$document","addMutationEventsListener","addResizeListener","addScrollListener","triggersInitialized","addSimpleListeners","addGlobalListeners","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"]}
@@ -771,7 +771,7 @@ Tabs.defaults = {
771
771
  /*! no static exports found */
772
772
  /***/ (function(module, exports, __webpack_require__) {
773
773
 
774
- module.exports = __webpack_require__(/*! /Volumes/Data/Development/Foundation/foundation-sites/js/entries/plugins/foundation.tabs.js */"./js/entries/plugins/foundation.tabs.js");
774
+ module.exports = __webpack_require__(/*! /Users/joeworkman/Development/foundation-sites/js/entries/plugins/foundation.tabs.js */"./js/entries/plugins/foundation.tabs.js");
775
775
 
776
776
 
777
777
  /***/ }),
@@ -683,7 +683,7 @@ Triggers.init = function ($, Foundation) {
683
683
  /*! no static exports found */
684
684
  /***/ (function(module, exports, __webpack_require__) {
685
685
 
686
- module.exports = __webpack_require__(/*! /Volumes/Data/Development/Foundation/foundation-sites/js/entries/plugins/foundation.toggler.js */"./js/entries/plugins/foundation.toggler.js");
686
+ module.exports = __webpack_require__(/*! /Users/joeworkman/Development/foundation-sites/js/entries/plugins/foundation.toggler.js */"./js/entries/plugins/foundation.toggler.js");
687
687
 
688
688
 
689
689
  /***/ }),
@@ -574,16 +574,14 @@ function (_Positionable) {
574
574
  key: "_getDefaultPosition",
575
575
  value: function _getDefaultPosition() {
576
576
  // handle legacy classnames
577
- var position = this.$element[0].className.match(/\b(top|left|right|bottom)\b/g);
578
577
  var elementClassName = this.$element[0].className;
579
578
 
580
579
  if (this.$element[0] instanceof SVGElement) {
581
580
  elementClassName = elementClassName.baseVal;
582
581
  }
583
582
 
583
+ var position = elementClassName.match(/\b(top|left|right|bottom)\b/g);
584
584
  return position ? position[0] : 'top';
585
- var position = elementClassName.match(/\b(top|left|right)\b/g);
586
- position = position ? position[0] : 'tp';
587
585
  }
588
586
  }, {
589
587
  key: "_getDefaultAlignment",
@@ -1314,7 +1312,7 @@ Triggers.init = function ($, Foundation) {
1314
1312
  /*! no static exports found */
1315
1313
  /***/ (function(module, exports, __webpack_require__) {
1316
1314
 
1317
- module.exports = __webpack_require__(/*! /Volumes/Data/Development/Foundation/foundation-sites/js/entries/plugins/foundation.tooltip.js */"./js/entries/plugins/foundation.tooltip.js");
1315
+ module.exports = __webpack_require__(/*! /Users/joeworkman/Development/foundation-sites/js/entries/plugins/foundation.tooltip.js */"./js/entries/plugins/foundation.tooltip.js");
1318
1316
 
1319
1317
 
1320
1318
  /***/ }),
@@ -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.box\"],\"amd\":\"./foundation.util.box\",\"commonjs\":\"./foundation.util.box\",\"commonjs2\":\"./foundation.util.box\"}","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.tooltip.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.positionable.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.tooltip.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","Tooltip","POSITIONS","VERTICAL_ALIGNMENTS","HORIZONTAL_ALIGNMENTS","ALIGNMENTS","nextItem","item","array","currentIdx","indexOf","length","Positionable","triedPositions","position","options","_getDefaultPosition","alignment","_getDefaultAlignment","originalPosition","originalAlignment","Rtl","_alignmentsExhausted","_realign","_addTriedPosition","push","isExhausted","i","vOffset","hOffset","$anchor","$element","$parent","attr","allowOverlap","offset","Box","GetExplicitOffsets","_getVOffset","_getHOffset","minOverlap","minCoordinates","_positionsExhausted","overlap","OverlapArea","allowBottomOverlap","_reposition","Plugin","defaults","element","$","extend","data","className","isActive","isClick","Triggers","init","_init","MediaQuery","elemId","GetYoDigits","tipText","template","_buildTemplate","allowHtml","appendTo","document","body","html","hide","text","addClass","triggerClass","_events","match","elementClassName","SVGElement","baseVal","tooltipWidth","tooltipHeight","id","templateClasses","tooltipClass","trim","$template","showOn","is","_this","css","show","_setPosition","removeClass","trigger","stop","fadeIn","fadeInDuration","fadeOut","fadeOutDuration","hasTouch","window","ontouchstart","isFocus","disableForTouch","disableHover","on","e","timeout","setTimeout","hoverDelay","ignoreMousedisappear","clearTimeout","clickOpen","bind","off","removeAttr","remove","touchCloseText","MutationObserver","prefixes","triggers","el","type","split","forEach","Listeners","Basic","Global","Initializers","openListener","closeListener","toggleListener","closeableListener","animation","stopPropagation","Motion","animateOut","toggleFocusListener","triggerHandler","addOpenListener","$elem","addCloseListener","addToggleListener","addCloseableListener","addToggleFocusListener","resizeListener","$nodes","each","scrollListener","closeMeListener","pluginId","namespace","plugins","not","addClosemeListener","pluginName","yetiBoxes","plugNames","concat","console","error","listeners","map","name","join","debounceGlobalListener","debounce","listener","timer","args","Array","prototype","slice","call","arguments","apply","addResizeListener","addScrollListener","addMutationEventsListener","find","listeningElementsMutation","mutationRecordsList","$target","target","attributeName","pageYOffset","closest","elementObserver","observe","attributes","childList","characterData","subtree","attributeFilter","addSimpleListeners","$document","addGlobalListeners","onLoad","triggersInitialized","IHearYou"],"mappings":"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","file":"foundation.tooltip.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.box\"), 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.box\", \"./foundation.util.mediaQuery\", \"./foundation.util.motion\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.tooltip\"] = factory(require(\"./foundation.core\"), require(\"./foundation.util.box\"), require(\"./foundation.util.mediaQuery\"), require(\"./foundation.util.motion\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.tooltip\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.box\"], 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_box__, __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 = 20);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_box__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__;","import { Foundation } from './foundation.core';\n\nimport { Tooltip } from '../../foundation.tooltip';\nFoundation.plugin(Tooltip, 'Tooltip');\n\nexport { Foundation, Tooltip };\n","'use strict';\n\nimport { Box } from './foundation.util.box';\nimport { Plugin } from './foundation.core.plugin';\nimport { rtl as Rtl } from './foundation.core.utils';\n\nconst POSITIONS = ['left', 'right', 'top', 'bottom'];\nconst VERTICAL_ALIGNMENTS = ['top', 'bottom', 'center'];\nconst HORIZONTAL_ALIGNMENTS = ['left', 'right', 'center'];\n\nconst ALIGNMENTS = {\n 'left': VERTICAL_ALIGNMENTS,\n 'right': VERTICAL_ALIGNMENTS,\n 'top': HORIZONTAL_ALIGNMENTS,\n 'bottom': HORIZONTAL_ALIGNMENTS\n}\n\nfunction nextItem(item, array) {\n var currentIdx = array.indexOf(item);\n if(currentIdx === array.length - 1) {\n return array[0];\n } else {\n return array[currentIdx + 1];\n }\n}\n\n\nclass Positionable extends Plugin {\n /**\n * Abstract class encapsulating the tether-like explicit positioning logic\n * including repositioning based on overlap.\n * Expects classes to define defaults for vOffset, hOffset, position,\n * alignment, allowOverlap, and allowBottomOverlap. They can do this by\n * extending the defaults, or (for now recommended due to the way docs are\n * generated) by explicitly declaring them.\n *\n **/\n\n _init() {\n this.triedPositions = {};\n this.position = this.options.position === 'auto' ? this._getDefaultPosition() : this.options.position;\n this.alignment = this.options.alignment === 'auto' ? this._getDefaultAlignment() : this.options.alignment;\n this.originalPosition = this.position;\n this.originalAlignment = this.alignment;\n }\n\n _getDefaultPosition () {\n return 'bottom';\n }\n\n _getDefaultAlignment() {\n switch(this.position) {\n case 'bottom':\n case 'top':\n return Rtl() ? 'right' : 'left';\n case 'left':\n case 'right':\n return 'bottom';\n }\n }\n\n /**\n * Adjusts the positionable possible positions by iterating through alignments\n * and positions.\n * @function\n * @private\n */\n _reposition() {\n if(this._alignmentsExhausted(this.position)) {\n this.position = nextItem(this.position, POSITIONS);\n this.alignment = ALIGNMENTS[this.position][0];\n } else {\n this._realign();\n }\n }\n\n /**\n * Adjusts the dropdown pane possible positions by iterating through alignments\n * on the current position.\n * @function\n * @private\n */\n _realign() {\n this._addTriedPosition(this.position, this.alignment)\n this.alignment = nextItem(this.alignment, ALIGNMENTS[this.position])\n }\n\n _addTriedPosition(position, alignment) {\n this.triedPositions[position] = this.triedPositions[position] || []\n this.triedPositions[position].push(alignment);\n }\n\n _positionsExhausted() {\n var isExhausted = true;\n for(var i = 0; i < POSITIONS.length; i++) {\n isExhausted = isExhausted && this._alignmentsExhausted(POSITIONS[i]);\n }\n return isExhausted;\n }\n\n _alignmentsExhausted(position) {\n return this.triedPositions[position] && this.triedPositions[position].length == ALIGNMENTS[position].length;\n }\n\n\n // When we're trying to center, we don't want to apply offset that's going to\n // take us just off center, so wrap around to return 0 for the appropriate\n // offset in those alignments. TODO: Figure out if we want to make this\n // configurable behavior... it feels more intuitive, especially for tooltips, but\n // it's possible someone might actually want to start from center and then nudge\n // slightly off.\n _getVOffset() {\n return this.options.vOffset;\n }\n\n _getHOffset() {\n return this.options.hOffset;\n }\n\n _setPosition($anchor, $element, $parent) {\n if($anchor.attr('aria-expanded') === 'false'){ return false; }\n\n if (!this.options.allowOverlap) {\n // restore original position & alignment before checking overlap\n this.position = this.originalPosition;\n this.alignment = this.originalAlignment;\n }\n\n $element.offset(Box.GetExplicitOffsets($element, $anchor, this.position, this.alignment, this._getVOffset(), this._getHOffset()));\n\n if(!this.options.allowOverlap) {\n var minOverlap = 100000000;\n // default coordinates to how we start, in case we can't figure out better\n var minCoordinates = {position: this.position, alignment: this.alignment};\n while(!this._positionsExhausted()) {\n let overlap = Box.OverlapArea($element, $parent, false, false, this.options.allowBottomOverlap);\n if(overlap === 0) {\n return;\n }\n\n if(overlap < minOverlap) {\n minOverlap = overlap;\n minCoordinates = {position: this.position, alignment: this.alignment};\n }\n\n this._reposition();\n\n $element.offset(Box.GetExplicitOffsets($element, $anchor, this.position, this.alignment, this._getVOffset(), this._getHOffset()));\n }\n // If we get through the entire loop, there was no non-overlapping\n // position available. Pick the version with least overlap.\n this.position = minCoordinates.position;\n this.alignment = minCoordinates.alignment;\n $element.offset(Box.GetExplicitOffsets($element, $anchor, this.position, this.alignment, this._getVOffset(), this._getHOffset()));\n }\n }\n\n}\n\nPositionable.defaults = {\n /**\n * Position of positionable relative to anchor. Can be left, right, bottom, top, or auto.\n * @option\n * @type {string}\n * @default 'auto'\n */\n position: 'auto',\n /**\n * Alignment of positionable relative to anchor. Can be left, right, bottom, top, center, or auto.\n * @option\n * @type {string}\n * @default 'auto'\n */\n alignment: 'auto',\n /**\n * Allow overlap of container/window. If false, dropdown positionable first\n * try to position as defined by data-position and data-alignment, but\n * reposition if it would cause an overflow.\n * @option\n * @type {boolean}\n * @default false\n */\n allowOverlap: false,\n /**\n * Allow overlap of only the bottom of the container. This is the most common\n * behavior for dropdowns, allowing the dropdown to extend the bottom of the\n * screen but not otherwise influence or break out of the container.\n * @option\n * @type {boolean}\n * @default true\n */\n allowBottomOverlap: true,\n /**\n * Number of pixels the positionable should be separated vertically from anchor\n * @option\n * @type {number}\n * @default 0\n */\n vOffset: 0,\n /**\n * Number of pixels the positionable should be separated horizontally from anchor\n * @option\n * @type {number}\n * @default 0\n */\n hOffset: 0,\n}\n\nexport {Positionable};\n","'use strict';\n\nimport $ from 'jquery';\n\nimport { GetYoDigits, ignoreMousedisappear } from './foundation.core.utils';\nimport { MediaQuery } from './foundation.util.mediaQuery';\nimport { Triggers } from './foundation.util.triggers';\nimport { Positionable } from './foundation.positionable';\n\n/**\n * Tooltip module.\n * @module foundation.tooltip\n * @requires foundation.util.box\n * @requires foundation.util.mediaQuery\n * @requires foundation.util.triggers\n */\n\nclass Tooltip extends Positionable {\n /**\n * Creates a new instance of a Tooltip.\n * @class\n * @name Tooltip\n * @fires Tooltip#init\n * @param {jQuery} element - jQuery object to attach a tooltip to.\n * @param {Object} options - object to extend the default configuration.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, Tooltip.defaults, this.$element.data(), options);\n this.className = 'Tooltip'; // ie9 back compat\n\n this.isActive = false;\n this.isClick = false;\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 tooltip by setting the creating the tip element, adding it's text, setting private variables and setting attributes on the anchor.\n * @private\n */\n _init() {\n MediaQuery._init();\n var elemId = this.$element.attr('aria-describedby') || GetYoDigits(6, 'tooltip');\n\n this.options.tipText = this.options.tipText || this.$element.attr('title');\n this.template = this.options.template ? $(this.options.template) : this._buildTemplate(elemId);\n\n if (this.options.allowHtml) {\n this.template.appendTo(document.body)\n .html(this.options.tipText)\n .hide();\n } else {\n this.template.appendTo(document.body)\n .text(this.options.tipText)\n .hide();\n }\n\n this.$element.attr({\n 'title': '',\n 'aria-describedby': elemId,\n 'data-yeti-box': elemId,\n 'data-toggle': elemId,\n 'data-resize': elemId\n }).addClass(this.options.triggerClass);\n\n super._init();\n this._events();\n }\n\n _getDefaultPosition() {\n // handle legacy classnames\n var position = this.$element[0].className.match(/\\b(top|left|right|bottom)\\b/g);\n var elementClassName = this.$element[0].className;\n if (this.$element[0] instanceof SVGElement) {\n elementClassName = elementClassName.baseVal;\n }\n return position ? position[0] : 'top';\n var position = elementClassName.match(/\\b(top|left|right)\\b/g);\n position = position ? position[0] : 'tp';\n }\n\n _getDefaultAlignment() {\n return 'center';\n }\n\n _getHOffset() {\n if(this.position === 'left' || this.position === 'right') {\n return this.options.hOffset + this.options.tooltipWidth;\n } else {\n return this.options.hOffset\n }\n }\n\n _getVOffset() {\n if(this.position === 'top' || this.position === 'bottom') {\n return this.options.vOffset + this.options.tooltipHeight;\n } else {\n return this.options.vOffset\n }\n }\n\n /**\n * builds the tooltip element, adds attributes, and returns the template.\n * @private\n */\n _buildTemplate(id) {\n var templateClasses = (`${this.options.tooltipClass} ${this.options.templateClasses}`).trim();\n var $template = $('<div></div>').addClass(templateClasses).attr({\n 'role': 'tooltip',\n 'aria-hidden': true,\n 'data-is-active': false,\n 'data-is-focus': false,\n 'id': id\n });\n return $template;\n }\n\n /**\n * sets the position class of an element and recursively calls itself until there are no more possible positions to attempt, or the tooltip element is no longer colliding.\n * if the tooltip is larger than the screen width, default to full width - any user selected margin\n * @private\n */\n _setPosition() {\n super._setPosition(this.$element, this.template);\n }\n\n /**\n * reveals the tooltip, and fires an event to close any other open tooltips on the page\n * @fires Tooltip#closeme\n * @fires Tooltip#show\n * @function\n */\n show() {\n if (this.options.showOn !== 'all' && !MediaQuery.is(this.options.showOn)) {\n // console.error('The screen is too small to display this tooltip');\n return false;\n }\n\n var _this = this;\n this.template.css('visibility', 'hidden').show();\n this._setPosition();\n this.template.removeClass('top bottom left right').addClass(this.position)\n this.template.removeClass('align-top align-bottom align-left align-right align-center').addClass('align-' + this.alignment);\n\n /**\n * Fires to close all other open tooltips on the page\n * @event Closeme#tooltip\n */\n this.$element.trigger('closeme.zf.tooltip', this.template.attr('id'));\n\n\n this.template.attr({\n 'data-is-active': true,\n 'aria-hidden': false\n });\n _this.isActive = true;\n // console.log(this.template);\n this.template.stop().hide().css('visibility', '').fadeIn(this.options.fadeInDuration, function() {\n //maybe do stuff?\n });\n /**\n * Fires when the tooltip is shown\n * @event Tooltip#show\n */\n this.$element.trigger('show.zf.tooltip');\n }\n\n /**\n * Hides the current tooltip, and resets the positioning class if it was changed due to collision\n * @fires Tooltip#hide\n * @function\n */\n hide() {\n // console.log('hiding', this.$element.data('yeti-box'));\n var _this = this;\n this.template.stop().attr({\n 'aria-hidden': true,\n 'data-is-active': false\n }).fadeOut(this.options.fadeOutDuration, function() {\n _this.isActive = false;\n _this.isClick = false;\n });\n /**\n * fires when the tooltip is hidden\n * @event Tooltip#hide\n */\n this.$element.trigger('hide.zf.tooltip');\n }\n\n /**\n * adds event listeners for the tooltip and its anchor\n * TODO combine some of the listeners like focus and mouseenter, etc.\n * @private\n */\n _events() {\n const _this = this;\n const hasTouch = 'ontouchstart' in window || (typeof window.ontouchstart !== 'undefined');\n const $template = this.template;\n var isFocus = false;\n\n // `disableForTouch: Fully disable the tooltip on touch devices\n if (hasTouch && this.options.disableForTouch) return;\n\n if (!this.options.disableHover) {\n this.$element\n .on('mouseenter.zf.tooltip', function(e) {\n if (!_this.isActive) {\n _this.timeout = setTimeout(function() {\n _this.show();\n }, _this.options.hoverDelay);\n }\n })\n .on('mouseleave.zf.tooltip', ignoreMousedisappear(function(e) {\n clearTimeout(_this.timeout);\n if (!isFocus || (_this.isClick && !_this.options.clickOpen)) {\n _this.hide();\n }\n }));\n }\n\n if (hasTouch) {\n this.$element\n .on('tap.zf.tooltip touchend.zf.tooltip', function (e) {\n _this.isActive ? _this.hide() : _this.show();\n });\n }\n\n if (this.options.clickOpen) {\n this.$element.on('mousedown.zf.tooltip', function(e) {\n if (_this.isClick) {\n //_this.hide();\n // _this.isClick = false;\n } else {\n _this.isClick = true;\n if ((_this.options.disableHover || !_this.$element.attr('tabindex')) && !_this.isActive) {\n _this.show();\n }\n }\n });\n } else {\n this.$element.on('mousedown.zf.tooltip', function(e) {\n _this.isClick = true;\n });\n }\n\n this.$element.on({\n // 'toggle.zf.trigger': this.toggle.bind(this),\n // 'close.zf.trigger': this.hide.bind(this)\n 'close.zf.trigger': this.hide.bind(this)\n });\n\n this.$element\n .on('focus.zf.tooltip', function(e) {\n isFocus = true;\n if (_this.isClick) {\n // If we're not showing open on clicks, we need to pretend a click-launched focus isn't\n // a real focus, otherwise on hover and come back we get bad behavior\n if(!_this.options.clickOpen) { isFocus = false; }\n return false;\n } else {\n _this.show();\n }\n })\n\n .on('focusout.zf.tooltip', function(e) {\n isFocus = false;\n _this.isClick = false;\n _this.hide();\n })\n\n .on('resizeme.zf.trigger', function() {\n if (_this.isActive) {\n _this._setPosition();\n }\n });\n }\n\n /**\n * adds a toggle method, in addition to the static show() & hide() functions\n * @function\n */\n toggle() {\n if (this.isActive) {\n this.hide();\n } else {\n this.show();\n }\n }\n\n /**\n * Destroys an instance of tooltip, removes template element from the view.\n * @function\n */\n _destroy() {\n this.$element.attr('title', this.template.text())\n .off('.zf.trigger .zf.tooltip')\n .removeClass(this.options.triggerClass)\n .removeClass('top right left bottom')\n .removeAttr('aria-describedby data-disable-hover data-resize data-toggle data-tooltip data-yeti-box');\n\n this.template.remove();\n }\n}\n\nTooltip.defaults = {\n /**\n * Time, in ms, before a tooltip should open on hover.\n * @option\n * @type {number}\n * @default 200\n */\n hoverDelay: 200,\n /**\n * Time, in ms, a tooltip should take to fade into view.\n * @option\n * @type {number}\n * @default 150\n */\n fadeInDuration: 150,\n /**\n * Time, in ms, a tooltip should take to fade out of view.\n * @option\n * @type {number}\n * @default 150\n */\n fadeOutDuration: 150,\n /**\n * Disables hover events from opening the tooltip if set to true\n * @option\n * @type {boolean}\n * @default false\n */\n disableHover: false,\n /**\n * Disable the tooltip for touch devices.\n * This can be useful to make elements with a tooltip on it trigger their\n * action on the first tap instead of displaying the tooltip.\n * @option\n * @type {booelan}\n * @default false\n */\n disableForTouch: false,\n /**\n * Optional addtional classes to apply to the tooltip template on init.\n * @option\n * @type {string}\n * @default ''\n */\n templateClasses: '',\n /**\n * Non-optional class added to tooltip templates. Foundation default is 'tooltip'.\n * @option\n * @type {string}\n * @default 'tooltip'\n */\n tooltipClass: 'tooltip',\n /**\n * Class applied to the tooltip anchor element.\n * @option\n * @type {string}\n * @default 'has-tip'\n */\n triggerClass: 'has-tip',\n /**\n * Minimum breakpoint size at which to open the tooltip.\n * @option\n * @type {string}\n * @default 'small'\n */\n showOn: 'small',\n /**\n * Custom template to be used to generate markup for tooltip.\n * @option\n * @type {string}\n * @default ''\n */\n template: '',\n /**\n * Text displayed in the tooltip template on open.\n * @option\n * @type {string}\n * @default ''\n */\n tipText: '',\n touchCloseText: 'Tap to close.',\n /**\n * Allows the tooltip to remain open if triggered with a click or touch event.\n * @option\n * @type {boolean}\n * @default true\n */\n clickOpen: true,\n /**\n * Position of tooltip. Can be left, right, bottom, top, or auto.\n * @option\n * @type {string}\n * @default 'auto'\n */\n position: 'auto',\n /**\n * Alignment of tooltip relative to anchor. Can be left, right, bottom, top, center, or auto.\n * @option\n * @type {string}\n * @default 'auto'\n */\n alignment: 'auto',\n /**\n * Allow overlap of container/window. If false, tooltip will first try to\n * position as defined by data-position and data-alignment, but reposition if\n * it would cause an overflow. @option\n * @type {boolean}\n * @default false\n */\n allowOverlap: false,\n /**\n * Allow overlap of only the bottom of the container. This is the most common\n * behavior for dropdowns, allowing the dropdown to extend the bottom of the\n * screen but not otherwise influence or break out of the container.\n * Less common for tooltips.\n * @option\n * @type {boolean}\n * @default false\n */\n allowBottomOverlap: false,\n /**\n * Distance, in pixels, the template should push away from the anchor on the Y axis.\n * @option\n * @type {number}\n * @default 0\n */\n vOffset: 0,\n /**\n * Distance, in pixels, the template should push away from the anchor on the X axis\n * @option\n * @type {number}\n * @default 0\n */\n hOffset: 0,\n /**\n * Distance, in pixels, the template spacing auto-adjust for a vertical tooltip\n * @option\n * @type {number}\n * @default 14\n */\n tooltipHeight: 14,\n /**\n * Distance, in pixels, the template spacing auto-adjust for a horizontal tooltip\n * @option\n * @type {number}\n * @default 12\n */\n tooltipWidth: 12,\n /**\n * Allow HTML in tooltip. Warning: If you are loading user-generated content into tooltips,\n * allowing HTML may open yourself up to XSS attacks.\n * @option\n * @type {boolean}\n * @default false\n */\n allowHtml: false\n};\n\n/**\n * TODO utilize resize event trigger\n */\n\nexport {Tooltip};\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
+ {"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.box\"],\"amd\":\"./foundation.util.box\",\"commonjs\":\"./foundation.util.box\",\"commonjs2\":\"./foundation.util.box\"}","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.tooltip.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.positionable.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.tooltip.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","Tooltip","POSITIONS","VERTICAL_ALIGNMENTS","HORIZONTAL_ALIGNMENTS","ALIGNMENTS","nextItem","item","array","currentIdx","indexOf","length","Positionable","triedPositions","position","options","_getDefaultPosition","alignment","_getDefaultAlignment","originalPosition","originalAlignment","Rtl","_alignmentsExhausted","_realign","_addTriedPosition","push","isExhausted","i","vOffset","hOffset","$anchor","$element","$parent","attr","allowOverlap","offset","Box","GetExplicitOffsets","_getVOffset","_getHOffset","minOverlap","minCoordinates","_positionsExhausted","overlap","OverlapArea","allowBottomOverlap","_reposition","Plugin","defaults","element","$","extend","data","className","isActive","isClick","Triggers","init","_init","MediaQuery","elemId","GetYoDigits","tipText","template","_buildTemplate","allowHtml","appendTo","document","body","html","hide","text","addClass","triggerClass","_events","elementClassName","SVGElement","baseVal","match","tooltipWidth","tooltipHeight","id","templateClasses","tooltipClass","trim","$template","showOn","is","_this","css","show","_setPosition","removeClass","trigger","stop","fadeIn","fadeInDuration","fadeOut","fadeOutDuration","hasTouch","window","ontouchstart","isFocus","disableForTouch","disableHover","on","e","timeout","setTimeout","hoverDelay","ignoreMousedisappear","clearTimeout","clickOpen","bind","off","removeAttr","remove","touchCloseText","MutationObserver","prefixes","triggers","el","type","split","forEach","Listeners","Basic","Global","Initializers","openListener","closeListener","toggleListener","closeableListener","animation","stopPropagation","Motion","animateOut","toggleFocusListener","triggerHandler","addOpenListener","$elem","addCloseListener","addToggleListener","addCloseableListener","addToggleFocusListener","resizeListener","$nodes","each","scrollListener","closeMeListener","pluginId","namespace","plugins","not","addClosemeListener","pluginName","yetiBoxes","plugNames","concat","console","error","listeners","map","name","join","debounceGlobalListener","debounce","listener","timer","args","Array","prototype","slice","call","arguments","apply","addResizeListener","addScrollListener","addMutationEventsListener","find","listeningElementsMutation","mutationRecordsList","$target","target","attributeName","pageYOffset","closest","elementObserver","observe","attributes","childList","characterData","subtree","attributeFilter","addSimpleListeners","$document","addGlobalListeners","onLoad","triggersInitialized","IHearYou"],"mappings":"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","file":"foundation.tooltip.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.box\"), 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.box\", \"./foundation.util.mediaQuery\", \"./foundation.util.motion\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.tooltip\"] = factory(require(\"./foundation.core\"), require(\"./foundation.util.box\"), require(\"./foundation.util.mediaQuery\"), require(\"./foundation.util.motion\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.tooltip\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.box\"], 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_box__, __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 = 20);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_box__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__;","import { Foundation } from './foundation.core';\n\nimport { Tooltip } from '../../foundation.tooltip';\nFoundation.plugin(Tooltip, 'Tooltip');\n\nexport { Foundation, Tooltip };\n","'use strict';\n\nimport { Box } from './foundation.util.box';\nimport { Plugin } from './foundation.core.plugin';\nimport { rtl as Rtl } from './foundation.core.utils';\n\nconst POSITIONS = ['left', 'right', 'top', 'bottom'];\nconst VERTICAL_ALIGNMENTS = ['top', 'bottom', 'center'];\nconst HORIZONTAL_ALIGNMENTS = ['left', 'right', 'center'];\n\nconst ALIGNMENTS = {\n 'left': VERTICAL_ALIGNMENTS,\n 'right': VERTICAL_ALIGNMENTS,\n 'top': HORIZONTAL_ALIGNMENTS,\n 'bottom': HORIZONTAL_ALIGNMENTS\n}\n\nfunction nextItem(item, array) {\n var currentIdx = array.indexOf(item);\n if(currentIdx === array.length - 1) {\n return array[0];\n } else {\n return array[currentIdx + 1];\n }\n}\n\n\nclass Positionable extends Plugin {\n /**\n * Abstract class encapsulating the tether-like explicit positioning logic\n * including repositioning based on overlap.\n * Expects classes to define defaults for vOffset, hOffset, position,\n * alignment, allowOverlap, and allowBottomOverlap. They can do this by\n * extending the defaults, or (for now recommended due to the way docs are\n * generated) by explicitly declaring them.\n *\n **/\n\n _init() {\n this.triedPositions = {};\n this.position = this.options.position === 'auto' ? this._getDefaultPosition() : this.options.position;\n this.alignment = this.options.alignment === 'auto' ? this._getDefaultAlignment() : this.options.alignment;\n this.originalPosition = this.position;\n this.originalAlignment = this.alignment;\n }\n\n _getDefaultPosition () {\n return 'bottom';\n }\n\n _getDefaultAlignment() {\n switch(this.position) {\n case 'bottom':\n case 'top':\n return Rtl() ? 'right' : 'left';\n case 'left':\n case 'right':\n return 'bottom';\n }\n }\n\n /**\n * Adjusts the positionable possible positions by iterating through alignments\n * and positions.\n * @function\n * @private\n */\n _reposition() {\n if(this._alignmentsExhausted(this.position)) {\n this.position = nextItem(this.position, POSITIONS);\n this.alignment = ALIGNMENTS[this.position][0];\n } else {\n this._realign();\n }\n }\n\n /**\n * Adjusts the dropdown pane possible positions by iterating through alignments\n * on the current position.\n * @function\n * @private\n */\n _realign() {\n this._addTriedPosition(this.position, this.alignment)\n this.alignment = nextItem(this.alignment, ALIGNMENTS[this.position])\n }\n\n _addTriedPosition(position, alignment) {\n this.triedPositions[position] = this.triedPositions[position] || []\n this.triedPositions[position].push(alignment);\n }\n\n _positionsExhausted() {\n var isExhausted = true;\n for(var i = 0; i < POSITIONS.length; i++) {\n isExhausted = isExhausted && this._alignmentsExhausted(POSITIONS[i]);\n }\n return isExhausted;\n }\n\n _alignmentsExhausted(position) {\n return this.triedPositions[position] && this.triedPositions[position].length == ALIGNMENTS[position].length;\n }\n\n\n // When we're trying to center, we don't want to apply offset that's going to\n // take us just off center, so wrap around to return 0 for the appropriate\n // offset in those alignments. TODO: Figure out if we want to make this\n // configurable behavior... it feels more intuitive, especially for tooltips, but\n // it's possible someone might actually want to start from center and then nudge\n // slightly off.\n _getVOffset() {\n return this.options.vOffset;\n }\n\n _getHOffset() {\n return this.options.hOffset;\n }\n\n _setPosition($anchor, $element, $parent) {\n if($anchor.attr('aria-expanded') === 'false'){ return false; }\n\n if (!this.options.allowOverlap) {\n // restore original position & alignment before checking overlap\n this.position = this.originalPosition;\n this.alignment = this.originalAlignment;\n }\n\n $element.offset(Box.GetExplicitOffsets($element, $anchor, this.position, this.alignment, this._getVOffset(), this._getHOffset()));\n\n if(!this.options.allowOverlap) {\n var minOverlap = 100000000;\n // default coordinates to how we start, in case we can't figure out better\n var minCoordinates = {position: this.position, alignment: this.alignment};\n while(!this._positionsExhausted()) {\n let overlap = Box.OverlapArea($element, $parent, false, false, this.options.allowBottomOverlap);\n if(overlap === 0) {\n return;\n }\n\n if(overlap < minOverlap) {\n minOverlap = overlap;\n minCoordinates = {position: this.position, alignment: this.alignment};\n }\n\n this._reposition();\n\n $element.offset(Box.GetExplicitOffsets($element, $anchor, this.position, this.alignment, this._getVOffset(), this._getHOffset()));\n }\n // If we get through the entire loop, there was no non-overlapping\n // position available. Pick the version with least overlap.\n this.position = minCoordinates.position;\n this.alignment = minCoordinates.alignment;\n $element.offset(Box.GetExplicitOffsets($element, $anchor, this.position, this.alignment, this._getVOffset(), this._getHOffset()));\n }\n }\n\n}\n\nPositionable.defaults = {\n /**\n * Position of positionable relative to anchor. Can be left, right, bottom, top, or auto.\n * @option\n * @type {string}\n * @default 'auto'\n */\n position: 'auto',\n /**\n * Alignment of positionable relative to anchor. Can be left, right, bottom, top, center, or auto.\n * @option\n * @type {string}\n * @default 'auto'\n */\n alignment: 'auto',\n /**\n * Allow overlap of container/window. If false, dropdown positionable first\n * try to position as defined by data-position and data-alignment, but\n * reposition if it would cause an overflow.\n * @option\n * @type {boolean}\n * @default false\n */\n allowOverlap: false,\n /**\n * Allow overlap of only the bottom of the container. This is the most common\n * behavior for dropdowns, allowing the dropdown to extend the bottom of the\n * screen but not otherwise influence or break out of the container.\n * @option\n * @type {boolean}\n * @default true\n */\n allowBottomOverlap: true,\n /**\n * Number of pixels the positionable should be separated vertically from anchor\n * @option\n * @type {number}\n * @default 0\n */\n vOffset: 0,\n /**\n * Number of pixels the positionable should be separated horizontally from anchor\n * @option\n * @type {number}\n * @default 0\n */\n hOffset: 0,\n}\n\nexport {Positionable};\n","'use strict';\n\nimport $ from 'jquery';\n\nimport { GetYoDigits, ignoreMousedisappear } from './foundation.core.utils';\nimport { MediaQuery } from './foundation.util.mediaQuery';\nimport { Triggers } from './foundation.util.triggers';\nimport { Positionable } from './foundation.positionable';\n\n/**\n * Tooltip module.\n * @module foundation.tooltip\n * @requires foundation.util.box\n * @requires foundation.util.mediaQuery\n * @requires foundation.util.triggers\n */\n\nclass Tooltip extends Positionable {\n /**\n * Creates a new instance of a Tooltip.\n * @class\n * @name Tooltip\n * @fires Tooltip#init\n * @param {jQuery} element - jQuery object to attach a tooltip to.\n * @param {Object} options - object to extend the default configuration.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, Tooltip.defaults, this.$element.data(), options);\n this.className = 'Tooltip'; // ie9 back compat\n\n this.isActive = false;\n this.isClick = false;\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 tooltip by setting the creating the tip element, adding it's text, setting private variables and setting attributes on the anchor.\n * @private\n */\n _init() {\n MediaQuery._init();\n var elemId = this.$element.attr('aria-describedby') || GetYoDigits(6, 'tooltip');\n\n this.options.tipText = this.options.tipText || this.$element.attr('title');\n this.template = this.options.template ? $(this.options.template) : this._buildTemplate(elemId);\n\n if (this.options.allowHtml) {\n this.template.appendTo(document.body)\n .html(this.options.tipText)\n .hide();\n } else {\n this.template.appendTo(document.body)\n .text(this.options.tipText)\n .hide();\n }\n\n this.$element.attr({\n 'title': '',\n 'aria-describedby': elemId,\n 'data-yeti-box': elemId,\n 'data-toggle': elemId,\n 'data-resize': elemId\n }).addClass(this.options.triggerClass);\n\n super._init();\n this._events();\n }\n\n _getDefaultPosition() {\n // handle legacy classnames\n var elementClassName = this.$element[0].className;\n if (this.$element[0] instanceof SVGElement) {\n elementClassName = elementClassName.baseVal;\n }\n var position = elementClassName.match(/\\b(top|left|right|bottom)\\b/g);\n return position ? position[0] : 'top';\n }\n\n _getDefaultAlignment() {\n return 'center';\n }\n\n _getHOffset() {\n if(this.position === 'left' || this.position === 'right') {\n return this.options.hOffset + this.options.tooltipWidth;\n } else {\n return this.options.hOffset\n }\n }\n\n _getVOffset() {\n if(this.position === 'top' || this.position === 'bottom') {\n return this.options.vOffset + this.options.tooltipHeight;\n } else {\n return this.options.vOffset\n }\n }\n\n /**\n * builds the tooltip element, adds attributes, and returns the template.\n * @private\n */\n _buildTemplate(id) {\n var templateClasses = (`${this.options.tooltipClass} ${this.options.templateClasses}`).trim();\n var $template = $('<div></div>').addClass(templateClasses).attr({\n 'role': 'tooltip',\n 'aria-hidden': true,\n 'data-is-active': false,\n 'data-is-focus': false,\n 'id': id\n });\n return $template;\n }\n\n /**\n * sets the position class of an element and recursively calls itself until there are no more possible positions to attempt, or the tooltip element is no longer colliding.\n * if the tooltip is larger than the screen width, default to full width - any user selected margin\n * @private\n */\n _setPosition() {\n super._setPosition(this.$element, this.template);\n }\n\n /**\n * reveals the tooltip, and fires an event to close any other open tooltips on the page\n * @fires Tooltip#closeme\n * @fires Tooltip#show\n * @function\n */\n show() {\n if (this.options.showOn !== 'all' && !MediaQuery.is(this.options.showOn)) {\n // console.error('The screen is too small to display this tooltip');\n return false;\n }\n\n var _this = this;\n this.template.css('visibility', 'hidden').show();\n this._setPosition();\n this.template.removeClass('top bottom left right').addClass(this.position)\n this.template.removeClass('align-top align-bottom align-left align-right align-center').addClass('align-' + this.alignment);\n\n /**\n * Fires to close all other open tooltips on the page\n * @event Closeme#tooltip\n */\n this.$element.trigger('closeme.zf.tooltip', this.template.attr('id'));\n\n\n this.template.attr({\n 'data-is-active': true,\n 'aria-hidden': false\n });\n _this.isActive = true;\n // console.log(this.template);\n this.template.stop().hide().css('visibility', '').fadeIn(this.options.fadeInDuration, function() {\n //maybe do stuff?\n });\n /**\n * Fires when the tooltip is shown\n * @event Tooltip#show\n */\n this.$element.trigger('show.zf.tooltip');\n }\n\n /**\n * Hides the current tooltip, and resets the positioning class if it was changed due to collision\n * @fires Tooltip#hide\n * @function\n */\n hide() {\n // console.log('hiding', this.$element.data('yeti-box'));\n var _this = this;\n this.template.stop().attr({\n 'aria-hidden': true,\n 'data-is-active': false\n }).fadeOut(this.options.fadeOutDuration, function() {\n _this.isActive = false;\n _this.isClick = false;\n });\n /**\n * fires when the tooltip is hidden\n * @event Tooltip#hide\n */\n this.$element.trigger('hide.zf.tooltip');\n }\n\n /**\n * adds event listeners for the tooltip and its anchor\n * TODO combine some of the listeners like focus and mouseenter, etc.\n * @private\n */\n _events() {\n const _this = this;\n const hasTouch = 'ontouchstart' in window || (typeof window.ontouchstart !== 'undefined');\n const $template = this.template;\n var isFocus = false;\n\n // `disableForTouch: Fully disable the tooltip on touch devices\n if (hasTouch && this.options.disableForTouch) return;\n\n if (!this.options.disableHover) {\n this.$element\n .on('mouseenter.zf.tooltip', function(e) {\n if (!_this.isActive) {\n _this.timeout = setTimeout(function() {\n _this.show();\n }, _this.options.hoverDelay);\n }\n })\n .on('mouseleave.zf.tooltip', ignoreMousedisappear(function(e) {\n clearTimeout(_this.timeout);\n if (!isFocus || (_this.isClick && !_this.options.clickOpen)) {\n _this.hide();\n }\n }));\n }\n\n if (hasTouch) {\n this.$element\n .on('tap.zf.tooltip touchend.zf.tooltip', function (e) {\n _this.isActive ? _this.hide() : _this.show();\n });\n }\n\n if (this.options.clickOpen) {\n this.$element.on('mousedown.zf.tooltip', function(e) {\n if (_this.isClick) {\n //_this.hide();\n // _this.isClick = false;\n } else {\n _this.isClick = true;\n if ((_this.options.disableHover || !_this.$element.attr('tabindex')) && !_this.isActive) {\n _this.show();\n }\n }\n });\n } else {\n this.$element.on('mousedown.zf.tooltip', function(e) {\n _this.isClick = true;\n });\n }\n\n this.$element.on({\n // 'toggle.zf.trigger': this.toggle.bind(this),\n // 'close.zf.trigger': this.hide.bind(this)\n 'close.zf.trigger': this.hide.bind(this)\n });\n\n this.$element\n .on('focus.zf.tooltip', function(e) {\n isFocus = true;\n if (_this.isClick) {\n // If we're not showing open on clicks, we need to pretend a click-launched focus isn't\n // a real focus, otherwise on hover and come back we get bad behavior\n if(!_this.options.clickOpen) { isFocus = false; }\n return false;\n } else {\n _this.show();\n }\n })\n\n .on('focusout.zf.tooltip', function(e) {\n isFocus = false;\n _this.isClick = false;\n _this.hide();\n })\n\n .on('resizeme.zf.trigger', function() {\n if (_this.isActive) {\n _this._setPosition();\n }\n });\n }\n\n /**\n * adds a toggle method, in addition to the static show() & hide() functions\n * @function\n */\n toggle() {\n if (this.isActive) {\n this.hide();\n } else {\n this.show();\n }\n }\n\n /**\n * Destroys an instance of tooltip, removes template element from the view.\n * @function\n */\n _destroy() {\n this.$element.attr('title', this.template.text())\n .off('.zf.trigger .zf.tooltip')\n .removeClass(this.options.triggerClass)\n .removeClass('top right left bottom')\n .removeAttr('aria-describedby data-disable-hover data-resize data-toggle data-tooltip data-yeti-box');\n\n this.template.remove();\n }\n}\n\nTooltip.defaults = {\n /**\n * Time, in ms, before a tooltip should open on hover.\n * @option\n * @type {number}\n * @default 200\n */\n hoverDelay: 200,\n /**\n * Time, in ms, a tooltip should take to fade into view.\n * @option\n * @type {number}\n * @default 150\n */\n fadeInDuration: 150,\n /**\n * Time, in ms, a tooltip should take to fade out of view.\n * @option\n * @type {number}\n * @default 150\n */\n fadeOutDuration: 150,\n /**\n * Disables hover events from opening the tooltip if set to true\n * @option\n * @type {boolean}\n * @default false\n */\n disableHover: false,\n /**\n * Disable the tooltip for touch devices.\n * This can be useful to make elements with a tooltip on it trigger their\n * action on the first tap instead of displaying the tooltip.\n * @option\n * @type {booelan}\n * @default false\n */\n disableForTouch: false,\n /**\n * Optional addtional classes to apply to the tooltip template on init.\n * @option\n * @type {string}\n * @default ''\n */\n templateClasses: '',\n /**\n * Non-optional class added to tooltip templates. Foundation default is 'tooltip'.\n * @option\n * @type {string}\n * @default 'tooltip'\n */\n tooltipClass: 'tooltip',\n /**\n * Class applied to the tooltip anchor element.\n * @option\n * @type {string}\n * @default 'has-tip'\n */\n triggerClass: 'has-tip',\n /**\n * Minimum breakpoint size at which to open the tooltip.\n * @option\n * @type {string}\n * @default 'small'\n */\n showOn: 'small',\n /**\n * Custom template to be used to generate markup for tooltip.\n * @option\n * @type {string}\n * @default ''\n */\n template: '',\n /**\n * Text displayed in the tooltip template on open.\n * @option\n * @type {string}\n * @default ''\n */\n tipText: '',\n touchCloseText: 'Tap to close.',\n /**\n * Allows the tooltip to remain open if triggered with a click or touch event.\n * @option\n * @type {boolean}\n * @default true\n */\n clickOpen: true,\n /**\n * Position of tooltip. Can be left, right, bottom, top, or auto.\n * @option\n * @type {string}\n * @default 'auto'\n */\n position: 'auto',\n /**\n * Alignment of tooltip relative to anchor. Can be left, right, bottom, top, center, or auto.\n * @option\n * @type {string}\n * @default 'auto'\n */\n alignment: 'auto',\n /**\n * Allow overlap of container/window. If false, tooltip will first try to\n * position as defined by data-position and data-alignment, but reposition if\n * it would cause an overflow. @option\n * @type {boolean}\n * @default false\n */\n allowOverlap: false,\n /**\n * Allow overlap of only the bottom of the container. This is the most common\n * behavior for dropdowns, allowing the dropdown to extend the bottom of the\n * screen but not otherwise influence or break out of the container.\n * Less common for tooltips.\n * @option\n * @type {boolean}\n * @default false\n */\n allowBottomOverlap: false,\n /**\n * Distance, in pixels, the template should push away from the anchor on the Y axis.\n * @option\n * @type {number}\n * @default 0\n */\n vOffset: 0,\n /**\n * Distance, in pixels, the template should push away from the anchor on the X axis\n * @option\n * @type {number}\n * @default 0\n */\n hOffset: 0,\n /**\n * Distance, in pixels, the template spacing auto-adjust for a vertical tooltip\n * @option\n * @type {number}\n * @default 14\n */\n tooltipHeight: 14,\n /**\n * Distance, in pixels, the template spacing auto-adjust for a horizontal tooltip\n * @option\n * @type {number}\n * @default 12\n */\n tooltipWidth: 12,\n /**\n * Allow HTML in tooltip. Warning: If you are loading user-generated content into tooltips,\n * allowing HTML may open yourself up to XSS attacks.\n * @option\n * @type {boolean}\n * @default false\n */\n allowHtml: false\n};\n\n/**\n * TODO utilize resize event trigger\n */\n\nexport {Tooltip};\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.box"),require("./foundation.util.mediaQuery"),require("./foundation.util.motion"),require("jquery")):"function"==typeof define&&define.amd?define(["./foundation.core","./foundation.util.box","./foundation.util.mediaQuery","./foundation.util.motion","jquery"],e):"object"==typeof exports?exports["foundation.tooltip"]=e(require("./foundation.core"),require("./foundation.util.box"),require("./foundation.util.mediaQuery"),require("./foundation.util.motion"),require("jquery")):(t.__FOUNDATION_EXTERNAL__=t.__FOUNDATION_EXTERNAL__||{},t.__FOUNDATION_EXTERNAL__["foundation.tooltip"]=e(t.__FOUNDATION_EXTERNAL__["foundation.core"],t.__FOUNDATION_EXTERNAL__["foundation.util.box"],t.__FOUNDATION_EXTERNAL__["foundation.util.mediaQuery"],t.__FOUNDATION_EXTERNAL__["foundation.util.motion"],t.jQuery))}(window,function(i,o,n,s,r){return u={},a.m=l={"./foundation.core":function(t,e){t.exports=i},"./foundation.util.box":function(t,e){t.exports=o},"./foundation.util.mediaQuery":function(t,e){t.exports=n},"./foundation.util.motion":function(t,e){t.exports=s},"./js/entries/plugins/foundation.tooltip.js":function(t,e,i){"use strict";i.r(e);var o=i("./foundation.core");i.d(e,"Foundation",function(){return o.Foundation});var n=i("./js/foundation.tooltip.js");i.d(e,"Tooltip",function(){return n.Tooltip}),o.Foundation.plugin(n.Tooltip,"Tooltip")},"./js/foundation.positionable.js":function(t,e,i){"use strict";i.r(e),i.d(e,"Positionable",function(){return g});var r=i("./foundation.util.box"),o=i("./foundation.core");function n(t){return(n="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 s(t,e){for(var i=0;i<e.length;i++){var o=e[i];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}function a(t,e){return!e||"object"!==n(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 l(t){return(l=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function u(t,e){return(u=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}var f=["left","right","top","bottom"],c=["top","bottom","center"],p=["left","right","center"],d={left:c,right:c,top:p,bottom:p};function h(t,e){var i=e.indexOf(t);return i===e.length-1?e[0]:e[i+1]}var g=function(){function t(){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),a(this,l(t).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&&u(t,e)}(t,o["Plugin"]),function(t,e,i){e&&s(t.prototype,e),i&&s(t,i)}(t,[{key:"_init",value:function(){this.triedPositions={},this.position="auto"===this.options.position?this._getDefaultPosition():this.options.position,this.alignment="auto"===this.options.alignment?this._getDefaultAlignment():this.options.alignment,this.originalPosition=this.position,this.originalAlignment=this.alignment}},{key:"_getDefaultPosition",value:function(){return"bottom"}},{key:"_getDefaultAlignment",value:function(){switch(this.position){case"bottom":case"top":return Object(o.rtl)()?"right":"left";case"left":case"right":return"bottom"}}},{key:"_reposition",value:function(){this._alignmentsExhausted(this.position)?(this.position=h(this.position,f),this.alignment=d[this.position][0]):this._realign()}},{key:"_realign",value:function(){this._addTriedPosition(this.position,this.alignment),this.alignment=h(this.alignment,d[this.position])}},{key:"_addTriedPosition",value:function(t,e){this.triedPositions[t]=this.triedPositions[t]||[],this.triedPositions[t].push(e)}},{key:"_positionsExhausted",value:function(){for(var t=!0,e=0;e<f.length;e++)t=t&&this._alignmentsExhausted(f[e]);return t}},{key:"_alignmentsExhausted",value:function(t){return this.triedPositions[t]&&this.triedPositions[t].length==d[t].length}},{key:"_getVOffset",value:function(){return this.options.vOffset}},{key:"_getHOffset",value:function(){return this.options.hOffset}},{key:"_setPosition",value:function(t,e,i){if("false"===t.attr("aria-expanded"))return!1;if(this.options.allowOverlap||(this.position=this.originalPosition,this.alignment=this.originalAlignment),e.offset(r.Box.GetExplicitOffsets(e,t,this.position,this.alignment,this._getVOffset(),this._getHOffset())),!this.options.allowOverlap){for(var o=1e8,n={position:this.position,alignment:this.alignment};!this._positionsExhausted();){var s=r.Box.OverlapArea(e,i,!1,!1,this.options.allowBottomOverlap);if(0===s)return;s<o&&(o=s,n={position:this.position,alignment:this.alignment}),this._reposition(),e.offset(r.Box.GetExplicitOffsets(e,t,this.position,this.alignment,this._getVOffset(),this._getHOffset()))}this.position=n.position,this.alignment=n.alignment,e.offset(r.Box.GetExplicitOffsets(e,t,this.position,this.alignment,this._getVOffset(),this._getHOffset()))}}}]),t}();g.defaults={position:"auto",alignment:"auto",allowOverlap:!1,allowBottomOverlap:!0,vOffset:0,hOffset:0}},"./js/foundation.tooltip.js":function(t,e,i){"use strict";i.r(e),i.d(e,"Tooltip",function(){return g});var o=i("jquery"),n=i.n(o),s=i("./foundation.core"),r=i("./foundation.util.mediaQuery"),a=i("./js/foundation.util.triggers.js"),l=i("./js/foundation.positionable.js");function u(t){return(u="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 f(t,e){for(var i=0;i<e.length;i++){var o=e[i];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}function c(t,e){return!e||"object"!==u(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 p(t,e,i){return(p="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,i){var o=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=d(t)););return t}(t,e);if(o){var n=Object.getOwnPropertyDescriptor(o,e);return n.get?n.get.call(i):n.value}})(t,e,i||t)}function d(t){return(d=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 g=function(){function i(){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,i),c(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&&h(t,e)}(i,l["Positionable"]),function(t,e,i){e&&f(t.prototype,e),i&&f(t,i)}(i,[{key:"_setup",value:function(t,e){this.$element=t,this.options=n.a.extend({},i.defaults,this.$element.data(),e),this.className="Tooltip",this.isActive=!1,this.isClick=!1,a.Triggers.init(n.a),this._init()}},{key:"_init",value:function(){r.MediaQuery._init();var t=this.$element.attr("aria-describedby")||Object(s.GetYoDigits)(6,"tooltip");this.options.tipText=this.options.tipText||this.$element.attr("title"),this.template=this.options.template?n()(this.options.template):this._buildTemplate(t),this.options.allowHtml?this.template.appendTo(document.body).html(this.options.tipText).hide():this.template.appendTo(document.body).text(this.options.tipText).hide(),this.$element.attr({title:"","aria-describedby":t,"data-yeti-box":t,"data-toggle":t,"data-resize":t}).addClass(this.options.triggerClass),p(d(i.prototype),"_init",this).call(this),this._events()}},{key:"_getDefaultPosition",value:function(){var t=this.$element[0].className.match(/\b(top|left|right|bottom)\b/g),e=this.$element[0].className;return this.$element[0]instanceof SVGElement&&(e=e.baseVal),t?t[0]:"top"}},{key:"_getDefaultAlignment",value:function(){return"center"}},{key:"_getHOffset",value:function(){return"left"===this.position||"right"===this.position?this.options.hOffset+this.options.tooltipWidth:this.options.hOffset}},{key:"_getVOffset",value:function(){return"top"===this.position||"bottom"===this.position?this.options.vOffset+this.options.tooltipHeight:this.options.vOffset}},{key:"_buildTemplate",value:function(t){var e="".concat(this.options.tooltipClass," ").concat(this.options.templateClasses).trim();return n()("<div></div>").addClass(e).attr({role:"tooltip","aria-hidden":!0,"data-is-active":!1,"data-is-focus":!1,id:t})}},{key:"_setPosition",value:function(){p(d(i.prototype),"_setPosition",this).call(this,this.$element,this.template)}},{key:"show",value:function(){if("all"!==this.options.showOn&&!r.MediaQuery.is(this.options.showOn))return!1;this.template.css("visibility","hidden").show(),this._setPosition(),this.template.removeClass("top bottom left right").addClass(this.position),this.template.removeClass("align-top align-bottom align-left align-right align-center").addClass("align-"+this.alignment),this.$element.trigger("closeme.zf.tooltip",this.template.attr("id")),this.template.attr({"data-is-active":!0,"aria-hidden":!1}),this.isActive=!0,this.template.stop().hide().css("visibility","").fadeIn(this.options.fadeInDuration,function(){}),this.$element.trigger("show.zf.tooltip")}},{key:"hide",value:function(){var t=this;this.template.stop().attr({"aria-hidden":!0,"data-is-active":!1}).fadeOut(this.options.fadeOutDuration,function(){t.isActive=!1,t.isClick=!1}),this.$element.trigger("hide.zf.tooltip")}},{key:"_events",value:function(){var e=this,t="ontouchstart"in window||void 0!==window.ontouchstart,i=(this.template,!1);t&&this.options.disableForTouch||(this.options.disableHover||this.$element.on("mouseenter.zf.tooltip",function(t){e.isActive||(e.timeout=setTimeout(function(){e.show()},e.options.hoverDelay))}).on("mouseleave.zf.tooltip",Object(s.ignoreMousedisappear)(function(t){clearTimeout(e.timeout),i&&(!e.isClick||e.options.clickOpen)||e.hide()})),t&&this.$element.on("tap.zf.tooltip touchend.zf.tooltip",function(t){e.isActive?e.hide():e.show()}),this.options.clickOpen?this.$element.on("mousedown.zf.tooltip",function(t){e.isClick||(e.isClick=!0,!e.options.disableHover&&e.$element.attr("tabindex")||e.isActive||e.show())}):this.$element.on("mousedown.zf.tooltip",function(t){e.isClick=!0}),this.$element.on({"close.zf.trigger":this.hide.bind(this)}),this.$element.on("focus.zf.tooltip",function(t){if(i=!0,e.isClick)return e.options.clickOpen||(i=!1),!1;e.show()}).on("focusout.zf.tooltip",function(t){i=!1,e.isClick=!1,e.hide()}).on("resizeme.zf.trigger",function(){e.isActive&&e._setPosition()}))}},{key:"toggle",value:function(){this.isActive?this.hide():this.show()}},{key:"_destroy",value:function(){this.$element.attr("title",this.template.text()).off(".zf.trigger .zf.tooltip").removeClass(this.options.triggerClass).removeClass("top right left bottom").removeAttr("aria-describedby data-disable-hover data-resize data-toggle data-tooltip data-yeti-box"),this.template.remove()}}]),i}();g.defaults={hoverDelay:200,fadeInDuration:150,fadeOutDuration:150,disableHover:!1,disableForTouch:!1,templateClasses:"",tooltipClass:"tooltip",triggerClass:"has-tip",showOn:"small",template:"",tipText:"",touchCloseText:"Tap to close.",clickOpen:!0,position:"auto",alignment:"auto",allowOverlap:!1,allowBottomOverlap:!1,vOffset:0,hOffset:0,tooltipHeight:14,tooltipWidth:12,allowHtml:!1}},"./js/foundation.util.triggers.js":function(t,e,i){"use strict";i.r(e),i.d(e,"Triggers",function(){return f});var o=i("jquery"),s=i.n(o),n=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){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}(),f={Listeners:{Basic:{},Global:{}},Initializers:{}};function c(e,t,i){var o,n=Array.prototype.slice.call(arguments,3);s()(window).off(t).on(t,function(t){o&&clearTimeout(o),o=setTimeout(function(){i.apply(null,n)},e||10)})}f.Listeners.Basic={openListener:function(){l(s()(this),"open")},closeListener:function(){s()(this).data("close")?l(s()(this),"close"):s()(this).trigger("close.zf.trigger")},toggleListener:function(){s()(this).data("toggle")?l(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)])}},f.Initializers.addOpenListener=function(t){t.off("click.zf.trigger",f.Listeners.Basic.openListener),t.on("click.zf.trigger","[data-open]",f.Listeners.Basic.openListener)},f.Initializers.addCloseListener=function(t){t.off("click.zf.trigger",f.Listeners.Basic.closeListener),t.on("click.zf.trigger","[data-close]",f.Listeners.Basic.closeListener)},f.Initializers.addToggleListener=function(t){t.off("click.zf.trigger",f.Listeners.Basic.toggleListener),t.on("click.zf.trigger","[data-toggle]",f.Listeners.Basic.toggleListener)},f.Initializers.addCloseableListener=function(t){t.off("close.zf.trigger",f.Listeners.Basic.closeableListener),t.on("close.zf.trigger","[data-closeable], [data-closable]",f.Listeners.Basic.closeableListener)},f.Initializers.addToggleFocusListener=function(t){t.off("focus.zf.trigger blur.zf.trigger",f.Listeners.Basic.toggleFocusListener),t.on("focus.zf.trigger blur.zf.trigger","[data-toggle-focus]",f.Listeners.Basic.toggleFocusListener)},f.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])})}},f.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 o=i.map(function(t){return"closeme.zf.".concat(t)}).join(" ");s()(window).off(o).on(o,f.Listeners.Global.closeMeListener)}},f.Initializers.addResizeListener=function(t){var e=s()("[data-resize]");e.length&&c(t,"resize.zf.trigger",f.Listeners.Global.resizeListener,e)},f.Initializers.addScrollListener=function(t){var e=s()("[data-scroll]");e.length&&c(t,"scroll.zf.trigger",f.Listeners.Global.scrollListener,e)},f.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 o=0;o<=i.length-1;o++){new u(e).observe(i[o],{attributes:!0,childList:!0,characterData:!1,subtree:!0,attributeFilter:["data-events","style"]})}},f.Initializers.addSimpleListeners=function(){var t=s()(document);f.Initializers.addOpenListener(t),f.Initializers.addCloseListener(t),f.Initializers.addToggleListener(t),f.Initializers.addCloseableListener(t),f.Initializers.addToggleFocusListener(t)},f.Initializers.addGlobalListeners=function(){var t=s()(document);f.Initializers.addMutationEventsListener(t),f.Initializers.addResizeListener(),f.Initializers.addScrollListener(),f.Initializers.addClosemeListener()},f.init=function(t,e){Object(n.onLoad)(t(window),function(){!0!==t.triggersInitialized&&(f.Initializers.addSimpleListeners(),f.Initializers.addGlobalListeners(),t.triggersInitialized=!0)}),e&&(e.Triggers=f,e.IHearYou=f.Initializers.addGlobalListeners)}},20:function(t,e,i){t.exports=i("./js/entries/plugins/foundation.tooltip.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 o in e)a.d(i,o,function(t){return e[t]}.bind(null,o));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=20);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});
1
+ !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("./foundation.core"),require("./foundation.util.box"),require("./foundation.util.mediaQuery"),require("./foundation.util.motion"),require("jquery")):"function"==typeof define&&define.amd?define(["./foundation.core","./foundation.util.box","./foundation.util.mediaQuery","./foundation.util.motion","jquery"],e):"object"==typeof exports?exports["foundation.tooltip"]=e(require("./foundation.core"),require("./foundation.util.box"),require("./foundation.util.mediaQuery"),require("./foundation.util.motion"),require("jquery")):(t.__FOUNDATION_EXTERNAL__=t.__FOUNDATION_EXTERNAL__||{},t.__FOUNDATION_EXTERNAL__["foundation.tooltip"]=e(t.__FOUNDATION_EXTERNAL__["foundation.core"],t.__FOUNDATION_EXTERNAL__["foundation.util.box"],t.__FOUNDATION_EXTERNAL__["foundation.util.mediaQuery"],t.__FOUNDATION_EXTERNAL__["foundation.util.motion"],t.jQuery))}(window,function(i,o,n,s,r){return u={},a.m=l={"./foundation.core":function(t,e){t.exports=i},"./foundation.util.box":function(t,e){t.exports=o},"./foundation.util.mediaQuery":function(t,e){t.exports=n},"./foundation.util.motion":function(t,e){t.exports=s},"./js/entries/plugins/foundation.tooltip.js":function(t,e,i){"use strict";i.r(e);var o=i("./foundation.core");i.d(e,"Foundation",function(){return o.Foundation});var n=i("./js/foundation.tooltip.js");i.d(e,"Tooltip",function(){return n.Tooltip}),o.Foundation.plugin(n.Tooltip,"Tooltip")},"./js/foundation.positionable.js":function(t,e,i){"use strict";i.r(e),i.d(e,"Positionable",function(){return g});var r=i("./foundation.util.box"),o=i("./foundation.core");function n(t){return(n="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 s(t,e){for(var i=0;i<e.length;i++){var o=e[i];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}function a(t,e){return!e||"object"!==n(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 l(t){return(l=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function u(t,e){return(u=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}var f=["left","right","top","bottom"],c=["top","bottom","center"],p=["left","right","center"],d={left:c,right:c,top:p,bottom:p};function h(t,e){var i=e.indexOf(t);return i===e.length-1?e[0]:e[i+1]}var g=function(){function t(){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),a(this,l(t).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&&u(t,e)}(t,o["Plugin"]),function(t,e,i){e&&s(t.prototype,e),i&&s(t,i)}(t,[{key:"_init",value:function(){this.triedPositions={},this.position="auto"===this.options.position?this._getDefaultPosition():this.options.position,this.alignment="auto"===this.options.alignment?this._getDefaultAlignment():this.options.alignment,this.originalPosition=this.position,this.originalAlignment=this.alignment}},{key:"_getDefaultPosition",value:function(){return"bottom"}},{key:"_getDefaultAlignment",value:function(){switch(this.position){case"bottom":case"top":return Object(o.rtl)()?"right":"left";case"left":case"right":return"bottom"}}},{key:"_reposition",value:function(){this._alignmentsExhausted(this.position)?(this.position=h(this.position,f),this.alignment=d[this.position][0]):this._realign()}},{key:"_realign",value:function(){this._addTriedPosition(this.position,this.alignment),this.alignment=h(this.alignment,d[this.position])}},{key:"_addTriedPosition",value:function(t,e){this.triedPositions[t]=this.triedPositions[t]||[],this.triedPositions[t].push(e)}},{key:"_positionsExhausted",value:function(){for(var t=!0,e=0;e<f.length;e++)t=t&&this._alignmentsExhausted(f[e]);return t}},{key:"_alignmentsExhausted",value:function(t){return this.triedPositions[t]&&this.triedPositions[t].length==d[t].length}},{key:"_getVOffset",value:function(){return this.options.vOffset}},{key:"_getHOffset",value:function(){return this.options.hOffset}},{key:"_setPosition",value:function(t,e,i){if("false"===t.attr("aria-expanded"))return!1;if(this.options.allowOverlap||(this.position=this.originalPosition,this.alignment=this.originalAlignment),e.offset(r.Box.GetExplicitOffsets(e,t,this.position,this.alignment,this._getVOffset(),this._getHOffset())),!this.options.allowOverlap){for(var o=1e8,n={position:this.position,alignment:this.alignment};!this._positionsExhausted();){var s=r.Box.OverlapArea(e,i,!1,!1,this.options.allowBottomOverlap);if(0===s)return;s<o&&(o=s,n={position:this.position,alignment:this.alignment}),this._reposition(),e.offset(r.Box.GetExplicitOffsets(e,t,this.position,this.alignment,this._getVOffset(),this._getHOffset()))}this.position=n.position,this.alignment=n.alignment,e.offset(r.Box.GetExplicitOffsets(e,t,this.position,this.alignment,this._getVOffset(),this._getHOffset()))}}}]),t}();g.defaults={position:"auto",alignment:"auto",allowOverlap:!1,allowBottomOverlap:!0,vOffset:0,hOffset:0}},"./js/foundation.tooltip.js":function(t,e,i){"use strict";i.r(e),i.d(e,"Tooltip",function(){return g});var o=i("jquery"),n=i.n(o),s=i("./foundation.core"),r=i("./foundation.util.mediaQuery"),a=i("./js/foundation.util.triggers.js"),l=i("./js/foundation.positionable.js");function u(t){return(u="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 f(t,e){for(var i=0;i<e.length;i++){var o=e[i];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}function c(t,e){return!e||"object"!==u(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 p(t,e,i){return(p="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,i){var o=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=d(t)););return t}(t,e);if(o){var n=Object.getOwnPropertyDescriptor(o,e);return n.get?n.get.call(i):n.value}})(t,e,i||t)}function d(t){return(d=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 g=function(){function i(){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,i),c(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&&h(t,e)}(i,l["Positionable"]),function(t,e,i){e&&f(t.prototype,e),i&&f(t,i)}(i,[{key:"_setup",value:function(t,e){this.$element=t,this.options=n.a.extend({},i.defaults,this.$element.data(),e),this.className="Tooltip",this.isActive=!1,this.isClick=!1,a.Triggers.init(n.a),this._init()}},{key:"_init",value:function(){r.MediaQuery._init();var t=this.$element.attr("aria-describedby")||Object(s.GetYoDigits)(6,"tooltip");this.options.tipText=this.options.tipText||this.$element.attr("title"),this.template=this.options.template?n()(this.options.template):this._buildTemplate(t),this.options.allowHtml?this.template.appendTo(document.body).html(this.options.tipText).hide():this.template.appendTo(document.body).text(this.options.tipText).hide(),this.$element.attr({title:"","aria-describedby":t,"data-yeti-box":t,"data-toggle":t,"data-resize":t}).addClass(this.options.triggerClass),p(d(i.prototype),"_init",this).call(this),this._events()}},{key:"_getDefaultPosition",value:function(){var t=this.$element[0].className;this.$element[0]instanceof SVGElement&&(t=t.baseVal);var e=t.match(/\b(top|left|right|bottom)\b/g);return e?e[0]:"top"}},{key:"_getDefaultAlignment",value:function(){return"center"}},{key:"_getHOffset",value:function(){return"left"===this.position||"right"===this.position?this.options.hOffset+this.options.tooltipWidth:this.options.hOffset}},{key:"_getVOffset",value:function(){return"top"===this.position||"bottom"===this.position?this.options.vOffset+this.options.tooltipHeight:this.options.vOffset}},{key:"_buildTemplate",value:function(t){var e="".concat(this.options.tooltipClass," ").concat(this.options.templateClasses).trim();return n()("<div></div>").addClass(e).attr({role:"tooltip","aria-hidden":!0,"data-is-active":!1,"data-is-focus":!1,id:t})}},{key:"_setPosition",value:function(){p(d(i.prototype),"_setPosition",this).call(this,this.$element,this.template)}},{key:"show",value:function(){if("all"!==this.options.showOn&&!r.MediaQuery.is(this.options.showOn))return!1;this.template.css("visibility","hidden").show(),this._setPosition(),this.template.removeClass("top bottom left right").addClass(this.position),this.template.removeClass("align-top align-bottom align-left align-right align-center").addClass("align-"+this.alignment),this.$element.trigger("closeme.zf.tooltip",this.template.attr("id")),this.template.attr({"data-is-active":!0,"aria-hidden":!1}),this.isActive=!0,this.template.stop().hide().css("visibility","").fadeIn(this.options.fadeInDuration,function(){}),this.$element.trigger("show.zf.tooltip")}},{key:"hide",value:function(){var t=this;this.template.stop().attr({"aria-hidden":!0,"data-is-active":!1}).fadeOut(this.options.fadeOutDuration,function(){t.isActive=!1,t.isClick=!1}),this.$element.trigger("hide.zf.tooltip")}},{key:"_events",value:function(){var e=this,t="ontouchstart"in window||void 0!==window.ontouchstart,i=(this.template,!1);t&&this.options.disableForTouch||(this.options.disableHover||this.$element.on("mouseenter.zf.tooltip",function(t){e.isActive||(e.timeout=setTimeout(function(){e.show()},e.options.hoverDelay))}).on("mouseleave.zf.tooltip",Object(s.ignoreMousedisappear)(function(t){clearTimeout(e.timeout),i&&(!e.isClick||e.options.clickOpen)||e.hide()})),t&&this.$element.on("tap.zf.tooltip touchend.zf.tooltip",function(t){e.isActive?e.hide():e.show()}),this.options.clickOpen?this.$element.on("mousedown.zf.tooltip",function(t){e.isClick||(e.isClick=!0,!e.options.disableHover&&e.$element.attr("tabindex")||e.isActive||e.show())}):this.$element.on("mousedown.zf.tooltip",function(t){e.isClick=!0}),this.$element.on({"close.zf.trigger":this.hide.bind(this)}),this.$element.on("focus.zf.tooltip",function(t){if(i=!0,e.isClick)return e.options.clickOpen||(i=!1),!1;e.show()}).on("focusout.zf.tooltip",function(t){i=!1,e.isClick=!1,e.hide()}).on("resizeme.zf.trigger",function(){e.isActive&&e._setPosition()}))}},{key:"toggle",value:function(){this.isActive?this.hide():this.show()}},{key:"_destroy",value:function(){this.$element.attr("title",this.template.text()).off(".zf.trigger .zf.tooltip").removeClass(this.options.triggerClass).removeClass("top right left bottom").removeAttr("aria-describedby data-disable-hover data-resize data-toggle data-tooltip data-yeti-box"),this.template.remove()}}]),i}();g.defaults={hoverDelay:200,fadeInDuration:150,fadeOutDuration:150,disableHover:!1,disableForTouch:!1,templateClasses:"",tooltipClass:"tooltip",triggerClass:"has-tip",showOn:"small",template:"",tipText:"",touchCloseText:"Tap to close.",clickOpen:!0,position:"auto",alignment:"auto",allowOverlap:!1,allowBottomOverlap:!1,vOffset:0,hOffset:0,tooltipHeight:14,tooltipWidth:12,allowHtml:!1}},"./js/foundation.util.triggers.js":function(t,e,i){"use strict";i.r(e),i.d(e,"Triggers",function(){return f});var o=i("jquery"),s=i.n(o),n=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){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}(),f={Listeners:{Basic:{},Global:{}},Initializers:{}};function c(e,t,i){var o,n=Array.prototype.slice.call(arguments,3);s()(window).off(t).on(t,function(t){o&&clearTimeout(o),o=setTimeout(function(){i.apply(null,n)},e||10)})}f.Listeners.Basic={openListener:function(){l(s()(this),"open")},closeListener:function(){s()(this).data("close")?l(s()(this),"close"):s()(this).trigger("close.zf.trigger")},toggleListener:function(){s()(this).data("toggle")?l(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)])}},f.Initializers.addOpenListener=function(t){t.off("click.zf.trigger",f.Listeners.Basic.openListener),t.on("click.zf.trigger","[data-open]",f.Listeners.Basic.openListener)},f.Initializers.addCloseListener=function(t){t.off("click.zf.trigger",f.Listeners.Basic.closeListener),t.on("click.zf.trigger","[data-close]",f.Listeners.Basic.closeListener)},f.Initializers.addToggleListener=function(t){t.off("click.zf.trigger",f.Listeners.Basic.toggleListener),t.on("click.zf.trigger","[data-toggle]",f.Listeners.Basic.toggleListener)},f.Initializers.addCloseableListener=function(t){t.off("close.zf.trigger",f.Listeners.Basic.closeableListener),t.on("close.zf.trigger","[data-closeable], [data-closable]",f.Listeners.Basic.closeableListener)},f.Initializers.addToggleFocusListener=function(t){t.off("focus.zf.trigger blur.zf.trigger",f.Listeners.Basic.toggleFocusListener),t.on("focus.zf.trigger blur.zf.trigger","[data-toggle-focus]",f.Listeners.Basic.toggleFocusListener)},f.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])})}},f.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 o=i.map(function(t){return"closeme.zf.".concat(t)}).join(" ");s()(window).off(o).on(o,f.Listeners.Global.closeMeListener)}},f.Initializers.addResizeListener=function(t){var e=s()("[data-resize]");e.length&&c(t,"resize.zf.trigger",f.Listeners.Global.resizeListener,e)},f.Initializers.addScrollListener=function(t){var e=s()("[data-scroll]");e.length&&c(t,"scroll.zf.trigger",f.Listeners.Global.scrollListener,e)},f.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 o=0;o<=i.length-1;o++){new u(e).observe(i[o],{attributes:!0,childList:!0,characterData:!1,subtree:!0,attributeFilter:["data-events","style"]})}},f.Initializers.addSimpleListeners=function(){var t=s()(document);f.Initializers.addOpenListener(t),f.Initializers.addCloseListener(t),f.Initializers.addToggleListener(t),f.Initializers.addCloseableListener(t),f.Initializers.addToggleFocusListener(t)},f.Initializers.addGlobalListeners=function(){var t=s()(document);f.Initializers.addMutationEventsListener(t),f.Initializers.addResizeListener(),f.Initializers.addScrollListener(),f.Initializers.addClosemeListener()},f.init=function(t,e){Object(n.onLoad)(t(window),function(){!0!==t.triggersInitialized&&(f.Initializers.addSimpleListeners(),f.Initializers.addGlobalListeners(),t.triggersInitialized=!0)}),e&&(e.Triggers=f,e.IHearYou=f.Initializers.addGlobalListeners)}},20:function(t,e,i){t.exports=i("./js/entries/plugins/foundation.tooltip.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 o in e)a.d(i,o,function(t){return e[t]}.bind(null,o));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=20);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.tooltip.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.box\"],\"amd\":\"./foundation.util.box\",\"commonjs\":\"./foundation.util.box\",\"commonjs2\":\"./foundation.util.box\"}","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.tooltip.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.positionable.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.tooltip.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_box__","__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_tooltip__WEBPACK_IMPORTED_MODULE_1__","Foundation","plugin","Tooltip","Positionable","_foundation_util_box__WEBPACK_IMPORTED_MODULE_0__","_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__","POSITIONS","VERTICAL_ALIGNMENTS","HORIZONTAL_ALIGNMENTS","ALIGNMENTS","left","right","top","bottom","nextItem","item","array","currentIdx","indexOf","length","Plugin","this","triedPositions","position","options","_getDefaultPosition","alignment","_getDefaultAlignment","originalPosition","originalAlignment","Rtl","_alignmentsExhausted","_realign","_addTriedPosition","push","isExhausted","i","vOffset","hOffset","$anchor","$element","$parent","attr","allowOverlap","offset","Box","GetExplicitOffsets","_getVOffset","_getHOffset","minOverlap","minCoordinates","_positionsExhausted","overlap","OverlapArea","allowBottomOverlap","_reposition","defaults","jquery__WEBPACK_IMPORTED_MODULE_0__","jquery__WEBPACK_IMPORTED_MODULE_0___default","n","_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__","_foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_2__","_foundation_util_triggers__WEBPACK_IMPORTED_MODULE_3__","_foundation_positionable__WEBPACK_IMPORTED_MODULE_4__","element","$","extend","data","className","isActive","isClick","Triggers","init","_init","MediaQuery","elemId","GetYoDigits","tipText","template","_buildTemplate","allowHtml","appendTo","document","body","html","hide","text","title","aria-describedby","data-yeti-box","data-toggle","data-resize","addClass","triggerClass","_get","_getPrototypeOf","prototype","call","_events","match","elementClassName","SVGElement","baseVal","tooltipWidth","tooltipHeight","id","templateClasses","concat","tooltipClass","trim","role","aria-hidden","data-is-active","data-is-focus","showOn","is","css","show","_setPosition","removeClass","trigger","stop","fadeIn","fadeInDuration","_this","fadeOut","fadeOutDuration","hasTouch","ontouchstart","isFocus","disableForTouch","disableHover","on","e","timeout","setTimeout","hoverDelay","ignoreMousedisappear","clearTimeout","clickOpen","close.zf.trigger","bind","off","removeAttr","remove","touchCloseText","_foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__","triggers","el","type","split","forEach","MutationObserver","prefixes","Listeners","Basic","Global","Initializers","debounceGlobalListener","debounce","listener","timer","args","Array","slice","arguments","apply","openListener","closeListener","toggleListener","closeableListener","animation","stopPropagation","Motion","animateOut","toggleFocusListener","triggerHandler","addOpenListener","$elem","addCloseListener","addToggleListener","addCloseableListener","addToggleFocusListener","resizeListener","$nodes","each","scrollListener","closeMeListener","pluginId","namespace","not","addClosemeListener","pluginName","yetiBoxes","plugNames","_typeof","console","error","listeners","map","name","join","addResizeListener","addScrollListener","addMutationEventsListener","listeningElementsMutation","mutationRecordsList","$target","target","attributeName","pageYOffset","closest","find","observe","attributes","childList","characterData","subtree","attributeFilter","addSimpleListeners","$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.tooltip.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.box\"), 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.box\", \"./foundation.util.mediaQuery\", \"./foundation.util.motion\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.tooltip\"] = factory(require(\"./foundation.core\"), require(\"./foundation.util.box\"), require(\"./foundation.util.mediaQuery\"), require(\"./foundation.util.motion\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.tooltip\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.box\"], 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_box__, __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 = 20);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_box__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__;","import { Foundation } from './foundation.core';\n\nimport { Tooltip } from '../../foundation.tooltip';\nFoundation.plugin(Tooltip, 'Tooltip');\n\nexport { Foundation, Tooltip };\n","'use strict';\n\nimport { Box } from './foundation.util.box';\nimport { Plugin } from './foundation.core.plugin';\nimport { rtl as Rtl } from './foundation.core.utils';\n\nconst POSITIONS = ['left', 'right', 'top', 'bottom'];\nconst VERTICAL_ALIGNMENTS = ['top', 'bottom', 'center'];\nconst HORIZONTAL_ALIGNMENTS = ['left', 'right', 'center'];\n\nconst ALIGNMENTS = {\n 'left': VERTICAL_ALIGNMENTS,\n 'right': VERTICAL_ALIGNMENTS,\n 'top': HORIZONTAL_ALIGNMENTS,\n 'bottom': HORIZONTAL_ALIGNMENTS\n}\n\nfunction nextItem(item, array) {\n var currentIdx = array.indexOf(item);\n if(currentIdx === array.length - 1) {\n return array[0];\n } else {\n return array[currentIdx + 1];\n }\n}\n\n\nclass Positionable extends Plugin {\n /**\n * Abstract class encapsulating the tether-like explicit positioning logic\n * including repositioning based on overlap.\n * Expects classes to define defaults for vOffset, hOffset, position,\n * alignment, allowOverlap, and allowBottomOverlap. They can do this by\n * extending the defaults, or (for now recommended due to the way docs are\n * generated) by explicitly declaring them.\n *\n **/\n\n _init() {\n this.triedPositions = {};\n this.position = this.options.position === 'auto' ? this._getDefaultPosition() : this.options.position;\n this.alignment = this.options.alignment === 'auto' ? this._getDefaultAlignment() : this.options.alignment;\n this.originalPosition = this.position;\n this.originalAlignment = this.alignment;\n }\n\n _getDefaultPosition () {\n return 'bottom';\n }\n\n _getDefaultAlignment() {\n switch(this.position) {\n case 'bottom':\n case 'top':\n return Rtl() ? 'right' : 'left';\n case 'left':\n case 'right':\n return 'bottom';\n }\n }\n\n /**\n * Adjusts the positionable possible positions by iterating through alignments\n * and positions.\n * @function\n * @private\n */\n _reposition() {\n if(this._alignmentsExhausted(this.position)) {\n this.position = nextItem(this.position, POSITIONS);\n this.alignment = ALIGNMENTS[this.position][0];\n } else {\n this._realign();\n }\n }\n\n /**\n * Adjusts the dropdown pane possible positions by iterating through alignments\n * on the current position.\n * @function\n * @private\n */\n _realign() {\n this._addTriedPosition(this.position, this.alignment)\n this.alignment = nextItem(this.alignment, ALIGNMENTS[this.position])\n }\n\n _addTriedPosition(position, alignment) {\n this.triedPositions[position] = this.triedPositions[position] || []\n this.triedPositions[position].push(alignment);\n }\n\n _positionsExhausted() {\n var isExhausted = true;\n for(var i = 0; i < POSITIONS.length; i++) {\n isExhausted = isExhausted && this._alignmentsExhausted(POSITIONS[i]);\n }\n return isExhausted;\n }\n\n _alignmentsExhausted(position) {\n return this.triedPositions[position] && this.triedPositions[position].length == ALIGNMENTS[position].length;\n }\n\n\n // When we're trying to center, we don't want to apply offset that's going to\n // take us just off center, so wrap around to return 0 for the appropriate\n // offset in those alignments. TODO: Figure out if we want to make this\n // configurable behavior... it feels more intuitive, especially for tooltips, but\n // it's possible someone might actually want to start from center and then nudge\n // slightly off.\n _getVOffset() {\n return this.options.vOffset;\n }\n\n _getHOffset() {\n return this.options.hOffset;\n }\n\n _setPosition($anchor, $element, $parent) {\n if($anchor.attr('aria-expanded') === 'false'){ return false; }\n\n if (!this.options.allowOverlap) {\n // restore original position & alignment before checking overlap\n this.position = this.originalPosition;\n this.alignment = this.originalAlignment;\n }\n\n $element.offset(Box.GetExplicitOffsets($element, $anchor, this.position, this.alignment, this._getVOffset(), this._getHOffset()));\n\n if(!this.options.allowOverlap) {\n var minOverlap = 100000000;\n // default coordinates to how we start, in case we can't figure out better\n var minCoordinates = {position: this.position, alignment: this.alignment};\n while(!this._positionsExhausted()) {\n let overlap = Box.OverlapArea($element, $parent, false, false, this.options.allowBottomOverlap);\n if(overlap === 0) {\n return;\n }\n\n if(overlap < minOverlap) {\n minOverlap = overlap;\n minCoordinates = {position: this.position, alignment: this.alignment};\n }\n\n this._reposition();\n\n $element.offset(Box.GetExplicitOffsets($element, $anchor, this.position, this.alignment, this._getVOffset(), this._getHOffset()));\n }\n // If we get through the entire loop, there was no non-overlapping\n // position available. Pick the version with least overlap.\n this.position = minCoordinates.position;\n this.alignment = minCoordinates.alignment;\n $element.offset(Box.GetExplicitOffsets($element, $anchor, this.position, this.alignment, this._getVOffset(), this._getHOffset()));\n }\n }\n\n}\n\nPositionable.defaults = {\n /**\n * Position of positionable relative to anchor. Can be left, right, bottom, top, or auto.\n * @option\n * @type {string}\n * @default 'auto'\n */\n position: 'auto',\n /**\n * Alignment of positionable relative to anchor. Can be left, right, bottom, top, center, or auto.\n * @option\n * @type {string}\n * @default 'auto'\n */\n alignment: 'auto',\n /**\n * Allow overlap of container/window. If false, dropdown positionable first\n * try to position as defined by data-position and data-alignment, but\n * reposition if it would cause an overflow.\n * @option\n * @type {boolean}\n * @default false\n */\n allowOverlap: false,\n /**\n * Allow overlap of only the bottom of the container. This is the most common\n * behavior for dropdowns, allowing the dropdown to extend the bottom of the\n * screen but not otherwise influence or break out of the container.\n * @option\n * @type {boolean}\n * @default true\n */\n allowBottomOverlap: true,\n /**\n * Number of pixels the positionable should be separated vertically from anchor\n * @option\n * @type {number}\n * @default 0\n */\n vOffset: 0,\n /**\n * Number of pixels the positionable should be separated horizontally from anchor\n * @option\n * @type {number}\n * @default 0\n */\n hOffset: 0,\n}\n\nexport {Positionable};\n","'use strict';\n\nimport $ from 'jquery';\n\nimport { GetYoDigits, ignoreMousedisappear } from './foundation.core.utils';\nimport { MediaQuery } from './foundation.util.mediaQuery';\nimport { Triggers } from './foundation.util.triggers';\nimport { Positionable } from './foundation.positionable';\n\n/**\n * Tooltip module.\n * @module foundation.tooltip\n * @requires foundation.util.box\n * @requires foundation.util.mediaQuery\n * @requires foundation.util.triggers\n */\n\nclass Tooltip extends Positionable {\n /**\n * Creates a new instance of a Tooltip.\n * @class\n * @name Tooltip\n * @fires Tooltip#init\n * @param {jQuery} element - jQuery object to attach a tooltip to.\n * @param {Object} options - object to extend the default configuration.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, Tooltip.defaults, this.$element.data(), options);\n this.className = 'Tooltip'; // ie9 back compat\n\n this.isActive = false;\n this.isClick = false;\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 tooltip by setting the creating the tip element, adding it's text, setting private variables and setting attributes on the anchor.\n * @private\n */\n _init() {\n MediaQuery._init();\n var elemId = this.$element.attr('aria-describedby') || GetYoDigits(6, 'tooltip');\n\n this.options.tipText = this.options.tipText || this.$element.attr('title');\n this.template = this.options.template ? $(this.options.template) : this._buildTemplate(elemId);\n\n if (this.options.allowHtml) {\n this.template.appendTo(document.body)\n .html(this.options.tipText)\n .hide();\n } else {\n this.template.appendTo(document.body)\n .text(this.options.tipText)\n .hide();\n }\n\n this.$element.attr({\n 'title': '',\n 'aria-describedby': elemId,\n 'data-yeti-box': elemId,\n 'data-toggle': elemId,\n 'data-resize': elemId\n }).addClass(this.options.triggerClass);\n\n super._init();\n this._events();\n }\n\n _getDefaultPosition() {\n // handle legacy classnames\n var position = this.$element[0].className.match(/\\b(top|left|right|bottom)\\b/g);\n var elementClassName = this.$element[0].className;\n if (this.$element[0] instanceof SVGElement) {\n elementClassName = elementClassName.baseVal;\n }\n return position ? position[0] : 'top';\n var position = elementClassName.match(/\\b(top|left|right)\\b/g);\n position = position ? position[0] : 'tp';\n }\n\n _getDefaultAlignment() {\n return 'center';\n }\n\n _getHOffset() {\n if(this.position === 'left' || this.position === 'right') {\n return this.options.hOffset + this.options.tooltipWidth;\n } else {\n return this.options.hOffset\n }\n }\n\n _getVOffset() {\n if(this.position === 'top' || this.position === 'bottom') {\n return this.options.vOffset + this.options.tooltipHeight;\n } else {\n return this.options.vOffset\n }\n }\n\n /**\n * builds the tooltip element, adds attributes, and returns the template.\n * @private\n */\n _buildTemplate(id) {\n var templateClasses = (`${this.options.tooltipClass} ${this.options.templateClasses}`).trim();\n var $template = $('<div></div>').addClass(templateClasses).attr({\n 'role': 'tooltip',\n 'aria-hidden': true,\n 'data-is-active': false,\n 'data-is-focus': false,\n 'id': id\n });\n return $template;\n }\n\n /**\n * sets the position class of an element and recursively calls itself until there are no more possible positions to attempt, or the tooltip element is no longer colliding.\n * if the tooltip is larger than the screen width, default to full width - any user selected margin\n * @private\n */\n _setPosition() {\n super._setPosition(this.$element, this.template);\n }\n\n /**\n * reveals the tooltip, and fires an event to close any other open tooltips on the page\n * @fires Tooltip#closeme\n * @fires Tooltip#show\n * @function\n */\n show() {\n if (this.options.showOn !== 'all' && !MediaQuery.is(this.options.showOn)) {\n // console.error('The screen is too small to display this tooltip');\n return false;\n }\n\n var _this = this;\n this.template.css('visibility', 'hidden').show();\n this._setPosition();\n this.template.removeClass('top bottom left right').addClass(this.position)\n this.template.removeClass('align-top align-bottom align-left align-right align-center').addClass('align-' + this.alignment);\n\n /**\n * Fires to close all other open tooltips on the page\n * @event Closeme#tooltip\n */\n this.$element.trigger('closeme.zf.tooltip', this.template.attr('id'));\n\n\n this.template.attr({\n 'data-is-active': true,\n 'aria-hidden': false\n });\n _this.isActive = true;\n // console.log(this.template);\n this.template.stop().hide().css('visibility', '').fadeIn(this.options.fadeInDuration, function() {\n //maybe do stuff?\n });\n /**\n * Fires when the tooltip is shown\n * @event Tooltip#show\n */\n this.$element.trigger('show.zf.tooltip');\n }\n\n /**\n * Hides the current tooltip, and resets the positioning class if it was changed due to collision\n * @fires Tooltip#hide\n * @function\n */\n hide() {\n // console.log('hiding', this.$element.data('yeti-box'));\n var _this = this;\n this.template.stop().attr({\n 'aria-hidden': true,\n 'data-is-active': false\n }).fadeOut(this.options.fadeOutDuration, function() {\n _this.isActive = false;\n _this.isClick = false;\n });\n /**\n * fires when the tooltip is hidden\n * @event Tooltip#hide\n */\n this.$element.trigger('hide.zf.tooltip');\n }\n\n /**\n * adds event listeners for the tooltip and its anchor\n * TODO combine some of the listeners like focus and mouseenter, etc.\n * @private\n */\n _events() {\n const _this = this;\n const hasTouch = 'ontouchstart' in window || (typeof window.ontouchstart !== 'undefined');\n const $template = this.template;\n var isFocus = false;\n\n // `disableForTouch: Fully disable the tooltip on touch devices\n if (hasTouch && this.options.disableForTouch) return;\n\n if (!this.options.disableHover) {\n this.$element\n .on('mouseenter.zf.tooltip', function(e) {\n if (!_this.isActive) {\n _this.timeout = setTimeout(function() {\n _this.show();\n }, _this.options.hoverDelay);\n }\n })\n .on('mouseleave.zf.tooltip', ignoreMousedisappear(function(e) {\n clearTimeout(_this.timeout);\n if (!isFocus || (_this.isClick && !_this.options.clickOpen)) {\n _this.hide();\n }\n }));\n }\n\n if (hasTouch) {\n this.$element\n .on('tap.zf.tooltip touchend.zf.tooltip', function (e) {\n _this.isActive ? _this.hide() : _this.show();\n });\n }\n\n if (this.options.clickOpen) {\n this.$element.on('mousedown.zf.tooltip', function(e) {\n if (_this.isClick) {\n //_this.hide();\n // _this.isClick = false;\n } else {\n _this.isClick = true;\n if ((_this.options.disableHover || !_this.$element.attr('tabindex')) && !_this.isActive) {\n _this.show();\n }\n }\n });\n } else {\n this.$element.on('mousedown.zf.tooltip', function(e) {\n _this.isClick = true;\n });\n }\n\n this.$element.on({\n // 'toggle.zf.trigger': this.toggle.bind(this),\n // 'close.zf.trigger': this.hide.bind(this)\n 'close.zf.trigger': this.hide.bind(this)\n });\n\n this.$element\n .on('focus.zf.tooltip', function(e) {\n isFocus = true;\n if (_this.isClick) {\n // If we're not showing open on clicks, we need to pretend a click-launched focus isn't\n // a real focus, otherwise on hover and come back we get bad behavior\n if(!_this.options.clickOpen) { isFocus = false; }\n return false;\n } else {\n _this.show();\n }\n })\n\n .on('focusout.zf.tooltip', function(e) {\n isFocus = false;\n _this.isClick = false;\n _this.hide();\n })\n\n .on('resizeme.zf.trigger', function() {\n if (_this.isActive) {\n _this._setPosition();\n }\n });\n }\n\n /**\n * adds a toggle method, in addition to the static show() & hide() functions\n * @function\n */\n toggle() {\n if (this.isActive) {\n this.hide();\n } else {\n this.show();\n }\n }\n\n /**\n * Destroys an instance of tooltip, removes template element from the view.\n * @function\n */\n _destroy() {\n this.$element.attr('title', this.template.text())\n .off('.zf.trigger .zf.tooltip')\n .removeClass(this.options.triggerClass)\n .removeClass('top right left bottom')\n .removeAttr('aria-describedby data-disable-hover data-resize data-toggle data-tooltip data-yeti-box');\n\n this.template.remove();\n }\n}\n\nTooltip.defaults = {\n /**\n * Time, in ms, before a tooltip should open on hover.\n * @option\n * @type {number}\n * @default 200\n */\n hoverDelay: 200,\n /**\n * Time, in ms, a tooltip should take to fade into view.\n * @option\n * @type {number}\n * @default 150\n */\n fadeInDuration: 150,\n /**\n * Time, in ms, a tooltip should take to fade out of view.\n * @option\n * @type {number}\n * @default 150\n */\n fadeOutDuration: 150,\n /**\n * Disables hover events from opening the tooltip if set to true\n * @option\n * @type {boolean}\n * @default false\n */\n disableHover: false,\n /**\n * Disable the tooltip for touch devices.\n * This can be useful to make elements with a tooltip on it trigger their\n * action on the first tap instead of displaying the tooltip.\n * @option\n * @type {booelan}\n * @default false\n */\n disableForTouch: false,\n /**\n * Optional addtional classes to apply to the tooltip template on init.\n * @option\n * @type {string}\n * @default ''\n */\n templateClasses: '',\n /**\n * Non-optional class added to tooltip templates. Foundation default is 'tooltip'.\n * @option\n * @type {string}\n * @default 'tooltip'\n */\n tooltipClass: 'tooltip',\n /**\n * Class applied to the tooltip anchor element.\n * @option\n * @type {string}\n * @default 'has-tip'\n */\n triggerClass: 'has-tip',\n /**\n * Minimum breakpoint size at which to open the tooltip.\n * @option\n * @type {string}\n * @default 'small'\n */\n showOn: 'small',\n /**\n * Custom template to be used to generate markup for tooltip.\n * @option\n * @type {string}\n * @default ''\n */\n template: '',\n /**\n * Text displayed in the tooltip template on open.\n * @option\n * @type {string}\n * @default ''\n */\n tipText: '',\n touchCloseText: 'Tap to close.',\n /**\n * Allows the tooltip to remain open if triggered with a click or touch event.\n * @option\n * @type {boolean}\n * @default true\n */\n clickOpen: true,\n /**\n * Position of tooltip. Can be left, right, bottom, top, or auto.\n * @option\n * @type {string}\n * @default 'auto'\n */\n position: 'auto',\n /**\n * Alignment of tooltip relative to anchor. Can be left, right, bottom, top, center, or auto.\n * @option\n * @type {string}\n * @default 'auto'\n */\n alignment: 'auto',\n /**\n * Allow overlap of container/window. If false, tooltip will first try to\n * position as defined by data-position and data-alignment, but reposition if\n * it would cause an overflow. @option\n * @type {boolean}\n * @default false\n */\n allowOverlap: false,\n /**\n * Allow overlap of only the bottom of the container. This is the most common\n * behavior for dropdowns, allowing the dropdown to extend the bottom of the\n * screen but not otherwise influence or break out of the container.\n * Less common for tooltips.\n * @option\n * @type {boolean}\n * @default false\n */\n allowBottomOverlap: false,\n /**\n * Distance, in pixels, the template should push away from the anchor on the Y axis.\n * @option\n * @type {number}\n * @default 0\n */\n vOffset: 0,\n /**\n * Distance, in pixels, the template should push away from the anchor on the X axis\n * @option\n * @type {number}\n * @default 0\n */\n hOffset: 0,\n /**\n * Distance, in pixels, the template spacing auto-adjust for a vertical tooltip\n * @option\n * @type {number}\n * @default 14\n */\n tooltipHeight: 14,\n /**\n * Distance, in pixels, the template spacing auto-adjust for a horizontal tooltip\n * @option\n * @type {number}\n * @default 12\n */\n tooltipWidth: 12,\n /**\n * Allow HTML in tooltip. Warning: If you are loading user-generated content into tooltips,\n * allowing HTML may open yourself up to XSS attacks.\n * @option\n * @type {boolean}\n * @default false\n */\n allowHtml: false\n};\n\n/**\n * TODO utilize resize event trigger\n */\n\nexport {Tooltip};\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__;"]}
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.box\"],\"amd\":\"./foundation.util.box\",\"commonjs\":\"./foundation.util.box\",\"commonjs2\":\"./foundation.util.box\"}","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.tooltip.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.positionable.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.tooltip.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.util.triggers.js"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__foundation_core__","__WEBPACK_EXTERNAL_MODULE__foundation_util_box__","__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_tooltip__WEBPACK_IMPORTED_MODULE_1__","Foundation","plugin","Tooltip","Positionable","_foundation_util_box__WEBPACK_IMPORTED_MODULE_0__","_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__","POSITIONS","VERTICAL_ALIGNMENTS","HORIZONTAL_ALIGNMENTS","ALIGNMENTS","left","right","top","bottom","nextItem","item","array","currentIdx","indexOf","length","Plugin","this","triedPositions","position","options","_getDefaultPosition","alignment","_getDefaultAlignment","originalPosition","originalAlignment","Rtl","_alignmentsExhausted","_realign","_addTriedPosition","push","isExhausted","i","vOffset","hOffset","$anchor","$element","$parent","attr","allowOverlap","offset","Box","GetExplicitOffsets","_getVOffset","_getHOffset","minOverlap","minCoordinates","_positionsExhausted","overlap","OverlapArea","allowBottomOverlap","_reposition","defaults","jquery__WEBPACK_IMPORTED_MODULE_0__","jquery__WEBPACK_IMPORTED_MODULE_0___default","n","_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__","_foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_2__","_foundation_util_triggers__WEBPACK_IMPORTED_MODULE_3__","_foundation_positionable__WEBPACK_IMPORTED_MODULE_4__","element","$","extend","data","className","isActive","isClick","Triggers","init","_init","MediaQuery","elemId","GetYoDigits","tipText","template","_buildTemplate","allowHtml","appendTo","document","body","html","hide","text","title","aria-describedby","data-yeti-box","data-toggle","data-resize","addClass","triggerClass","_get","_getPrototypeOf","prototype","call","_events","elementClassName","SVGElement","key","tooltipWidth","tooltipHeight","templateClasses","role","aria-hidden","data-is-active","data-is-focus","id","_this","css","show","_setPosition","trigger","stop","fadeIn","fadeInDuration","fadeOut","fadeOutDuration","ontouchstart","hasTouch","isFocus","disableForTouch","disableHover","setTimeout","timeout","on","Object","e","clearTimeout","clickOpen","close.zf.trigger","bind","_foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__","_typeof","obj","Symbol","iterator","constructor","triggers","el","type","concat","MutationObserver","prefixes","Listeners","Global","debounceGlobalListener","debounce","listener","args","arguments","off","timer","Initializers","Basic","openListener","toggleListener","closeableListener","animation","stopPropagation","toggleFocusListener","triggerHandler","addOpenListener","$elem","addCloseListener","closeListener","addToggleListener","addCloseableListener","$nodes","pluginId","namespace","split","not","plugins","addClosemeListener","pluginName","plugNames","yetiBoxes","name","join","listeners","closeMeListener","addResizeListener","addScrollListener","addMutationEventsListener","mutationRecordsList","$target","attributeName","pageYOffset","closest","find","listeningElementsMutation","observe","attributes","elementObserver","childList","characterData","addSimpleListeners","$document","addGlobalListeners","onLoad","triggersInitialized","c","getter","o","defineProperty","enumerable","get","toStringTag","value","t","mode","__esModule","ns","create","object","property","hasOwnProperty","p","s","moduleId","l","modules"],"mappings":"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","file":"foundation.tooltip.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.box\"), 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.box\", \"./foundation.util.mediaQuery\", \"./foundation.util.motion\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.tooltip\"] = factory(require(\"./foundation.core\"), require(\"./foundation.util.box\"), require(\"./foundation.util.mediaQuery\"), require(\"./foundation.util.motion\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.tooltip\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.box\"], 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_box__, __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 = 20);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_box__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__;","import { Foundation } from './foundation.core';\n\nimport { Tooltip } from '../../foundation.tooltip';\nFoundation.plugin(Tooltip, 'Tooltip');\n\nexport { Foundation, Tooltip };\n","'use strict';\n\nimport { Box } from './foundation.util.box';\nimport { Plugin } from './foundation.core.plugin';\nimport { rtl as Rtl } from './foundation.core.utils';\n\nconst POSITIONS = ['left', 'right', 'top', 'bottom'];\nconst VERTICAL_ALIGNMENTS = ['top', 'bottom', 'center'];\nconst HORIZONTAL_ALIGNMENTS = ['left', 'right', 'center'];\n\nconst ALIGNMENTS = {\n 'left': VERTICAL_ALIGNMENTS,\n 'right': VERTICAL_ALIGNMENTS,\n 'top': HORIZONTAL_ALIGNMENTS,\n 'bottom': HORIZONTAL_ALIGNMENTS\n}\n\nfunction nextItem(item, array) {\n var currentIdx = array.indexOf(item);\n if(currentIdx === array.length - 1) {\n return array[0];\n } else {\n return array[currentIdx + 1];\n }\n}\n\n\nclass Positionable extends Plugin {\n /**\n * Abstract class encapsulating the tether-like explicit positioning logic\n * including repositioning based on overlap.\n * Expects classes to define defaults for vOffset, hOffset, position,\n * alignment, allowOverlap, and allowBottomOverlap. They can do this by\n * extending the defaults, or (for now recommended due to the way docs are\n * generated) by explicitly declaring them.\n *\n **/\n\n _init() {\n this.triedPositions = {};\n this.position = this.options.position === 'auto' ? this._getDefaultPosition() : this.options.position;\n this.alignment = this.options.alignment === 'auto' ? this._getDefaultAlignment() : this.options.alignment;\n this.originalPosition = this.position;\n this.originalAlignment = this.alignment;\n }\n\n _getDefaultPosition () {\n return 'bottom';\n }\n\n _getDefaultAlignment() {\n switch(this.position) {\n case 'bottom':\n case 'top':\n return Rtl() ? 'right' : 'left';\n case 'left':\n case 'right':\n return 'bottom';\n }\n }\n\n /**\n * Adjusts the positionable possible positions by iterating through alignments\n * and positions.\n * @function\n * @private\n */\n _reposition() {\n if(this._alignmentsExhausted(this.position)) {\n this.position = nextItem(this.position, POSITIONS);\n this.alignment = ALIGNMENTS[this.position][0];\n } else {\n this._realign();\n }\n }\n\n /**\n * Adjusts the dropdown pane possible positions by iterating through alignments\n * on the current position.\n * @function\n * @private\n */\n _realign() {\n this._addTriedPosition(this.position, this.alignment)\n this.alignment = nextItem(this.alignment, ALIGNMENTS[this.position])\n }\n\n _addTriedPosition(position, alignment) {\n this.triedPositions[position] = this.triedPositions[position] || []\n this.triedPositions[position].push(alignment);\n }\n\n _positionsExhausted() {\n var isExhausted = true;\n for(var i = 0; i < POSITIONS.length; i++) {\n isExhausted = isExhausted && this._alignmentsExhausted(POSITIONS[i]);\n }\n return isExhausted;\n }\n\n _alignmentsExhausted(position) {\n return this.triedPositions[position] && this.triedPositions[position].length == ALIGNMENTS[position].length;\n }\n\n\n // When we're trying to center, we don't want to apply offset that's going to\n // take us just off center, so wrap around to return 0 for the appropriate\n // offset in those alignments. TODO: Figure out if we want to make this\n // configurable behavior... it feels more intuitive, especially for tooltips, but\n // it's possible someone might actually want to start from center and then nudge\n // slightly off.\n _getVOffset() {\n return this.options.vOffset;\n }\n\n _getHOffset() {\n return this.options.hOffset;\n }\n\n _setPosition($anchor, $element, $parent) {\n if($anchor.attr('aria-expanded') === 'false'){ return false; }\n\n if (!this.options.allowOverlap) {\n // restore original position & alignment before checking overlap\n this.position = this.originalPosition;\n this.alignment = this.originalAlignment;\n }\n\n $element.offset(Box.GetExplicitOffsets($element, $anchor, this.position, this.alignment, this._getVOffset(), this._getHOffset()));\n\n if(!this.options.allowOverlap) {\n var minOverlap = 100000000;\n // default coordinates to how we start, in case we can't figure out better\n var minCoordinates = {position: this.position, alignment: this.alignment};\n while(!this._positionsExhausted()) {\n let overlap = Box.OverlapArea($element, $parent, false, false, this.options.allowBottomOverlap);\n if(overlap === 0) {\n return;\n }\n\n if(overlap < minOverlap) {\n minOverlap = overlap;\n minCoordinates = {position: this.position, alignment: this.alignment};\n }\n\n this._reposition();\n\n $element.offset(Box.GetExplicitOffsets($element, $anchor, this.position, this.alignment, this._getVOffset(), this._getHOffset()));\n }\n // If we get through the entire loop, there was no non-overlapping\n // position available. Pick the version with least overlap.\n this.position = minCoordinates.position;\n this.alignment = minCoordinates.alignment;\n $element.offset(Box.GetExplicitOffsets($element, $anchor, this.position, this.alignment, this._getVOffset(), this._getHOffset()));\n }\n }\n\n}\n\nPositionable.defaults = {\n /**\n * Position of positionable relative to anchor. Can be left, right, bottom, top, or auto.\n * @option\n * @type {string}\n * @default 'auto'\n */\n position: 'auto',\n /**\n * Alignment of positionable relative to anchor. Can be left, right, bottom, top, center, or auto.\n * @option\n * @type {string}\n * @default 'auto'\n */\n alignment: 'auto',\n /**\n * Allow overlap of container/window. If false, dropdown positionable first\n * try to position as defined by data-position and data-alignment, but\n * reposition if it would cause an overflow.\n * @option\n * @type {boolean}\n * @default false\n */\n allowOverlap: false,\n /**\n * Allow overlap of only the bottom of the container. This is the most common\n * behavior for dropdowns, allowing the dropdown to extend the bottom of the\n * screen but not otherwise influence or break out of the container.\n * @option\n * @type {boolean}\n * @default true\n */\n allowBottomOverlap: true,\n /**\n * Number of pixels the positionable should be separated vertically from anchor\n * @option\n * @type {number}\n * @default 0\n */\n vOffset: 0,\n /**\n * Number of pixels the positionable should be separated horizontally from anchor\n * @option\n * @type {number}\n * @default 0\n */\n hOffset: 0,\n}\n\nexport {Positionable};\n","'use strict';\n\nimport $ from 'jquery';\n\nimport { GetYoDigits, ignoreMousedisappear } from './foundation.core.utils';\nimport { MediaQuery } from './foundation.util.mediaQuery';\nimport { Triggers } from './foundation.util.triggers';\nimport { Positionable } from './foundation.positionable';\n\n/**\n * Tooltip module.\n * @module foundation.tooltip\n * @requires foundation.util.box\n * @requires foundation.util.mediaQuery\n * @requires foundation.util.triggers\n */\n\nclass Tooltip extends Positionable {\n /**\n * Creates a new instance of a Tooltip.\n * @class\n * @name Tooltip\n * @fires Tooltip#init\n * @param {jQuery} element - jQuery object to attach a tooltip to.\n * @param {Object} options - object to extend the default configuration.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, Tooltip.defaults, this.$element.data(), options);\n this.className = 'Tooltip'; // ie9 back compat\n\n this.isActive = false;\n this.isClick = false;\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 tooltip by setting the creating the tip element, adding it's text, setting private variables and setting attributes on the anchor.\n * @private\n */\n _init() {\n MediaQuery._init();\n var elemId = this.$element.attr('aria-describedby') || GetYoDigits(6, 'tooltip');\n\n this.options.tipText = this.options.tipText || this.$element.attr('title');\n this.template = this.options.template ? $(this.options.template) : this._buildTemplate(elemId);\n\n if (this.options.allowHtml) {\n this.template.appendTo(document.body)\n .html(this.options.tipText)\n .hide();\n } else {\n this.template.appendTo(document.body)\n .text(this.options.tipText)\n .hide();\n }\n\n this.$element.attr({\n 'title': '',\n 'aria-describedby': elemId,\n 'data-yeti-box': elemId,\n 'data-toggle': elemId,\n 'data-resize': elemId\n }).addClass(this.options.triggerClass);\n\n super._init();\n this._events();\n }\n\n _getDefaultPosition() {\n // handle legacy classnames\n var position = this.$element[0].className.match(/\\b(top|left|right|bottom)\\b/g);\n var elementClassName = this.$element[0].className;\n if (this.$element[0] instanceof SVGElement) {\n elementClassName = elementClassName.baseVal;\n }\n return position ? position[0] : 'top';\n var position = elementClassName.match(/\\b(top|left|right)\\b/g);\n position = position ? position[0] : 'tp';\n }\n\n _getDefaultAlignment() {\n return 'center';\n }\n\n _getHOffset() {\n if(this.position === 'left' || this.position === 'right') {\n return this.options.hOffset + this.options.tooltipWidth;\n } else {\n return this.options.hOffset\n }\n }\n\n _getVOffset() {\n if(this.position === 'top' || this.position === 'bottom') {\n return this.options.vOffset + this.options.tooltipHeight;\n } else {\n return this.options.vOffset\n }\n }\n\n /**\n * builds the tooltip element, adds attributes, and returns the template.\n * @private\n */\n _buildTemplate(id) {\n var templateClasses = (`${this.options.tooltipClass} ${this.options.templateClasses}`).trim();\n var $template = $('<div></div>').addClass(templateClasses).attr({\n 'role': 'tooltip',\n 'aria-hidden': true,\n 'data-is-active': false,\n 'data-is-focus': false,\n 'id': id\n });\n return $template;\n }\n\n /**\n * sets the position class of an element and recursively calls itself until there are no more possible positions to attempt, or the tooltip element is no longer colliding.\n * if the tooltip is larger than the screen width, default to full width - any user selected margin\n * @private\n */\n _setPosition() {\n super._setPosition(this.$element, this.template);\n }\n\n /**\n * reveals the tooltip, and fires an event to close any other open tooltips on the page\n * @fires Tooltip#closeme\n * @fires Tooltip#show\n * @function\n */\n show() {\n if (this.options.showOn !== 'all' && !MediaQuery.is(this.options.showOn)) {\n // console.error('The screen is too small to display this tooltip');\n return false;\n }\n\n var _this = this;\n this.template.css('visibility', 'hidden').show();\n this._setPosition();\n this.template.removeClass('top bottom left right').addClass(this.position)\n this.template.removeClass('align-top align-bottom align-left align-right align-center').addClass('align-' + this.alignment);\n\n /**\n * Fires to close all other open tooltips on the page\n * @event Closeme#tooltip\n */\n this.$element.trigger('closeme.zf.tooltip', this.template.attr('id'));\n\n\n this.template.attr({\n 'data-is-active': true,\n 'aria-hidden': false\n });\n _this.isActive = true;\n // console.log(this.template);\n this.template.stop().hide().css('visibility', '').fadeIn(this.options.fadeInDuration, function() {\n //maybe do stuff?\n });\n /**\n * Fires when the tooltip is shown\n * @event Tooltip#show\n */\n this.$element.trigger('show.zf.tooltip');\n }\n\n /**\n * Hides the current tooltip, and resets the positioning class if it was changed due to collision\n * @fires Tooltip#hide\n * @function\n */\n hide() {\n // console.log('hiding', this.$element.data('yeti-box'));\n var _this = this;\n this.template.stop().attr({\n 'aria-hidden': true,\n 'data-is-active': false\n }).fadeOut(this.options.fadeOutDuration, function() {\n _this.isActive = false;\n _this.isClick = false;\n });\n /**\n * fires when the tooltip is hidden\n * @event Tooltip#hide\n */\n this.$element.trigger('hide.zf.tooltip');\n }\n\n /**\n * adds event listeners for the tooltip and its anchor\n * TODO combine some of the listeners like focus and mouseenter, etc.\n * @private\n */\n _events() {\n const _this = this;\n const hasTouch = 'ontouchstart' in window || (typeof window.ontouchstart !== 'undefined');\n const $template = this.template;\n var isFocus = false;\n\n // `disableForTouch: Fully disable the tooltip on touch devices\n if (hasTouch && this.options.disableForTouch) return;\n\n if (!this.options.disableHover) {\n this.$element\n .on('mouseenter.zf.tooltip', function(e) {\n if (!_this.isActive) {\n _this.timeout = setTimeout(function() {\n _this.show();\n }, _this.options.hoverDelay);\n }\n })\n .on('mouseleave.zf.tooltip', ignoreMousedisappear(function(e) {\n clearTimeout(_this.timeout);\n if (!isFocus || (_this.isClick && !_this.options.clickOpen)) {\n _this.hide();\n }\n }));\n }\n\n if (hasTouch) {\n this.$element\n .on('tap.zf.tooltip touchend.zf.tooltip', function (e) {\n _this.isActive ? _this.hide() : _this.show();\n });\n }\n\n if (this.options.clickOpen) {\n this.$element.on('mousedown.zf.tooltip', function(e) {\n if (_this.isClick) {\n //_this.hide();\n // _this.isClick = false;\n } else {\n _this.isClick = true;\n if ((_this.options.disableHover || !_this.$element.attr('tabindex')) && !_this.isActive) {\n _this.show();\n }\n }\n });\n } else {\n this.$element.on('mousedown.zf.tooltip', function(e) {\n _this.isClick = true;\n });\n }\n\n this.$element.on({\n // 'toggle.zf.trigger': this.toggle.bind(this),\n // 'close.zf.trigger': this.hide.bind(this)\n 'close.zf.trigger': this.hide.bind(this)\n });\n\n this.$element\n .on('focus.zf.tooltip', function(e) {\n isFocus = true;\n if (_this.isClick) {\n // If we're not showing open on clicks, we need to pretend a click-launched focus isn't\n // a real focus, otherwise on hover and come back we get bad behavior\n if(!_this.options.clickOpen) { isFocus = false; }\n return false;\n } else {\n _this.show();\n }\n })\n\n .on('focusout.zf.tooltip', function(e) {\n isFocus = false;\n _this.isClick = false;\n _this.hide();\n })\n\n .on('resizeme.zf.trigger', function() {\n if (_this.isActive) {\n _this._setPosition();\n }\n });\n }\n\n /**\n * adds a toggle method, in addition to the static show() & hide() functions\n * @function\n */\n toggle() {\n if (this.isActive) {\n this.hide();\n } else {\n this.show();\n }\n }\n\n /**\n * Destroys an instance of tooltip, removes template element from the view.\n * @function\n */\n _destroy() {\n this.$element.attr('title', this.template.text())\n .off('.zf.trigger .zf.tooltip')\n .removeClass(this.options.triggerClass)\n .removeClass('top right left bottom')\n .removeAttr('aria-describedby data-disable-hover data-resize data-toggle data-tooltip data-yeti-box');\n\n this.template.remove();\n }\n}\n\nTooltip.defaults = {\n /**\n * Time, in ms, before a tooltip should open on hover.\n * @option\n * @type {number}\n * @default 200\n */\n hoverDelay: 200,\n /**\n * Time, in ms, a tooltip should take to fade into view.\n * @option\n * @type {number}\n * @default 150\n */\n fadeInDuration: 150,\n /**\n * Time, in ms, a tooltip should take to fade out of view.\n * @option\n * @type {number}\n * @default 150\n */\n fadeOutDuration: 150,\n /**\n * Disables hover events from opening the tooltip if set to true\n * @option\n * @type {boolean}\n * @default false\n */\n disableHover: false,\n /**\n * Disable the tooltip for touch devices.\n * This can be useful to make elements with a tooltip on it trigger their\n * action on the first tap instead of displaying the tooltip.\n * @option\n * @type {booelan}\n * @default false\n */\n disableForTouch: false,\n /**\n * Optional addtional classes to apply to the tooltip template on init.\n * @option\n * @type {string}\n * @default ''\n */\n templateClasses: '',\n /**\n * Non-optional class added to tooltip templates. Foundation default is 'tooltip'.\n * @option\n * @type {string}\n * @default 'tooltip'\n */\n tooltipClass: 'tooltip',\n /**\n * Class applied to the tooltip anchor element.\n * @option\n * @type {string}\n * @default 'has-tip'\n */\n triggerClass: 'has-tip',\n /**\n * Minimum breakpoint size at which to open the tooltip.\n * @option\n * @type {string}\n * @default 'small'\n */\n showOn: 'small',\n /**\n * Custom template to be used to generate markup for tooltip.\n * @option\n * @type {string}\n * @default ''\n */\n template: '',\n /**\n * Text displayed in the tooltip template on open.\n * @option\n * @type {string}\n * @default ''\n */\n tipText: '',\n touchCloseText: 'Tap to close.',\n /**\n * Allows the tooltip to remain open if triggered with a click or touch event.\n * @option\n * @type {boolean}\n * @default true\n */\n clickOpen: true,\n /**\n * Position of tooltip. Can be left, right, bottom, top, or auto.\n * @option\n * @type {string}\n * @default 'auto'\n */\n position: 'auto',\n /**\n * Alignment of tooltip relative to anchor. Can be left, right, bottom, top, center, or auto.\n * @option\n * @type {string}\n * @default 'auto'\n */\n alignment: 'auto',\n /**\n * Allow overlap of container/window. If false, tooltip will first try to\n * position as defined by data-position and data-alignment, but reposition if\n * it would cause an overflow. @option\n * @type {boolean}\n * @default false\n */\n allowOverlap: false,\n /**\n * Allow overlap of only the bottom of the container. This is the most common\n * behavior for dropdowns, allowing the dropdown to extend the bottom of the\n * screen but not otherwise influence or break out of the container.\n * Less common for tooltips.\n * @option\n * @type {boolean}\n * @default false\n */\n allowBottomOverlap: false,\n /**\n * Distance, in pixels, the template should push away from the anchor on the Y axis.\n * @option\n * @type {number}\n * @default 0\n */\n vOffset: 0,\n /**\n * Distance, in pixels, the template should push away from the anchor on the X axis\n * @option\n * @type {number}\n * @default 0\n */\n hOffset: 0,\n /**\n * Distance, in pixels, the template spacing auto-adjust for a vertical tooltip\n * @option\n * @type {number}\n * @default 14\n */\n tooltipHeight: 14,\n /**\n * Distance, in pixels, the template spacing auto-adjust for a horizontal tooltip\n * @option\n * @type {number}\n * @default 12\n */\n tooltipWidth: 12,\n /**\n * Allow HTML in tooltip. Warning: If you are loading user-generated content into tooltips,\n * allowing HTML may open yourself up to XSS attacks.\n * @option\n * @type {boolean}\n * @default false\n */\n allowHtml: false\n};\n\n/**\n * TODO utilize resize event trigger\n */\n\nexport {Tooltip};\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"]}
@@ -140,9 +140,6 @@ _foundation_core__WEBPACK_IMPORTED_MODULE_0__["Foundation"].Box = _foundation_ut
140
140
  "use strict";
141
141
  __webpack_require__.r(__webpack_exports__);
142
142
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Box", function() { return Box; });
143
- /* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./foundation.core.utils */ "./foundation.core");
144
- /* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_0__);
145
-
146
143
 
147
144
 
148
145
  var Box = {
@@ -167,8 +164,6 @@ function ImNotTouchingYou(element, parent, lrOnly, tbOnly, ignoreBottom) {
167
164
  return OverlapArea(element, parent, lrOnly, tbOnly, ignoreBottom) === 0;
168
165
  }
169
166
 
170
- ;
171
-
172
167
  function OverlapArea(element, parent, lrOnly, tbOnly, ignoreBottom) {
173
168
  var eleDims = GetDimensions(element),
174
169
  topOver,
@@ -270,63 +265,66 @@ function GetDimensions(elem) {
270
265
  function GetExplicitOffsets(element, anchor, position, alignment, vOffset, hOffset, isOverflow) {
271
266
  var $eleDims = GetDimensions(element),
272
267
  $anchorDims = anchor ? GetDimensions(anchor) : null;
273
- var topVal, leftVal; // set position related attribute
274
-
275
- switch (position) {
276
- case 'top':
277
- topVal = $anchorDims.offset.top - ($eleDims.height + vOffset);
278
- break;
279
-
280
- case 'bottom':
281
- topVal = $anchorDims.offset.top + $anchorDims.height + vOffset;
282
- break;
283
-
284
- case 'left':
285
- leftVal = $anchorDims.offset.left - ($eleDims.width + hOffset);
286
- break;
287
-
288
- case 'right':
289
- leftVal = $anchorDims.offset.left + $anchorDims.width + hOffset;
290
- break;
291
- } // set alignment related attribute
292
-
293
-
294
- switch (position) {
295
- case 'top':
296
- case 'bottom':
297
- switch (alignment) {
298
- case 'left':
299
- leftVal = $anchorDims.offset.left + hOffset;
300
- break;
301
-
302
- case 'right':
303
- leftVal = $anchorDims.offset.left - $eleDims.width + $anchorDims.width - hOffset;
304
- break;
305
-
306
- case 'center':
307
- leftVal = isOverflow ? hOffset : $anchorDims.offset.left + $anchorDims.width / 2 - $eleDims.width / 2 + hOffset;
308
- break;
309
- }
310
-
311
- break;
312
-
313
- case 'right':
314
- case 'left':
315
- switch (alignment) {
316
- case 'bottom':
317
- topVal = $anchorDims.offset.top - vOffset + $anchorDims.height - $eleDims.height;
318
- break;
319
-
320
- case 'top':
321
- topVal = $anchorDims.offset.top + vOffset;
322
- break;
323
-
324
- case 'center':
325
- topVal = $anchorDims.offset.top + vOffset + $anchorDims.height / 2 - $eleDims.height / 2;
326
- break;
327
- }
328
-
329
- break;
268
+ var topVal, leftVal;
269
+
270
+ if ($anchorDims !== null) {
271
+ // set position related attribute
272
+ switch (position) {
273
+ case 'top':
274
+ topVal = $anchorDims.offset.top - ($eleDims.height + vOffset);
275
+ break;
276
+
277
+ case 'bottom':
278
+ topVal = $anchorDims.offset.top + $anchorDims.height + vOffset;
279
+ break;
280
+
281
+ case 'left':
282
+ leftVal = $anchorDims.offset.left - ($eleDims.width + hOffset);
283
+ break;
284
+
285
+ case 'right':
286
+ leftVal = $anchorDims.offset.left + $anchorDims.width + hOffset;
287
+ break;
288
+ } // set alignment related attribute
289
+
290
+
291
+ switch (position) {
292
+ case 'top':
293
+ case 'bottom':
294
+ switch (alignment) {
295
+ case 'left':
296
+ leftVal = $anchorDims.offset.left + hOffset;
297
+ break;
298
+
299
+ case 'right':
300
+ leftVal = $anchorDims.offset.left - $eleDims.width + $anchorDims.width - hOffset;
301
+ break;
302
+
303
+ case 'center':
304
+ leftVal = isOverflow ? hOffset : $anchorDims.offset.left + $anchorDims.width / 2 - $eleDims.width / 2 + hOffset;
305
+ break;
306
+ }
307
+
308
+ break;
309
+
310
+ case 'right':
311
+ case 'left':
312
+ switch (alignment) {
313
+ case 'bottom':
314
+ topVal = $anchorDims.offset.top - vOffset + $anchorDims.height - $eleDims.height;
315
+ break;
316
+
317
+ case 'top':
318
+ topVal = $anchorDims.offset.top + vOffset;
319
+ break;
320
+
321
+ case 'center':
322
+ topVal = $anchorDims.offset.top + vOffset + $anchorDims.height / 2 - $eleDims.height / 2;
323
+ break;
324
+ }
325
+
326
+ break;
327
+ }
330
328
  }
331
329
 
332
330
  return {
@@ -346,7 +344,7 @@ function GetExplicitOffsets(element, anchor, position, alignment, vOffset, hOffs
346
344
  /*! no static exports found */
347
345
  /***/ (function(module, exports, __webpack_require__) {
348
346
 
349
- module.exports = __webpack_require__(/*! /Volumes/Data/Development/Foundation/foundation-sites/js/entries/plugins/foundation.util.box.js */"./js/entries/plugins/foundation.util.box.js");
347
+ module.exports = __webpack_require__(/*! /Users/joeworkman/Development/foundation-sites/js/entries/plugins/foundation.util.box.js */"./js/entries/plugins/foundation.util.box.js");
350
348
 
351
349
 
352
350
  /***/ })