foundation-rails 6.5.3.0 → 6.6.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (164) hide show
  1. checksums.yaml +5 -5
  2. data/Gemfile.lock +100 -86
  3. data/bower.json +2 -2
  4. data/foundation-rails.gemspec +5 -5
  5. data/lib/foundation/rails/version.rb +1 -1
  6. data/lib/generators/foundation/templates/_settings.scss +37 -11
  7. data/vendor/assets/js/foundation.cjs.js +1060 -370
  8. data/vendor/assets/js/foundation.cjs.js.map +1 -1
  9. data/vendor/assets/js/foundation.es6.js +926 -326
  10. data/vendor/assets/js/foundation.es6.js.map +1 -1
  11. data/vendor/assets/js/foundation.esm.js +1048 -358
  12. data/vendor/assets/js/foundation.esm.js.map +1 -1
  13. data/vendor/assets/js/foundation.js +1063 -393
  14. data/vendor/assets/js/foundation.js.map +1 -1
  15. data/vendor/assets/js/foundation.min.js +1 -1
  16. data/vendor/assets/js/foundation.min.js.map +1 -1
  17. data/vendor/assets/js/plugins/foundation.abide.js +201 -11
  18. data/vendor/assets/js/plugins/foundation.abide.js.map +1 -1
  19. data/vendor/assets/js/plugins/foundation.abide.min.js +1 -1
  20. data/vendor/assets/js/plugins/foundation.abide.min.js.map +1 -1
  21. data/vendor/assets/js/plugins/foundation.accordion.js +22 -19
  22. data/vendor/assets/js/plugins/foundation.accordion.js.map +1 -1
  23. data/vendor/assets/js/plugins/foundation.accordion.min.js +1 -1
  24. data/vendor/assets/js/plugins/foundation.accordion.min.js.map +1 -1
  25. data/vendor/assets/js/plugins/foundation.accordionMenu.js +2 -4
  26. data/vendor/assets/js/plugins/foundation.accordionMenu.js.map +1 -1
  27. data/vendor/assets/js/plugins/foundation.accordionMenu.min.js +1 -1
  28. data/vendor/assets/js/plugins/foundation.accordionMenu.min.js.map +1 -1
  29. data/vendor/assets/js/plugins/foundation.core.js +140 -28
  30. data/vendor/assets/js/plugins/foundation.core.js.map +1 -1
  31. data/vendor/assets/js/plugins/foundation.core.min.js +1 -1
  32. data/vendor/assets/js/plugins/foundation.core.min.js.map +1 -1
  33. data/vendor/assets/js/plugins/foundation.drilldown.js +29 -19
  34. data/vendor/assets/js/plugins/foundation.drilldown.js.map +1 -1
  35. data/vendor/assets/js/plugins/foundation.drilldown.min.js +1 -1
  36. data/vendor/assets/js/plugins/foundation.drilldown.min.js.map +1 -1
  37. data/vendor/assets/js/plugins/foundation.dropdown.js +30 -13
  38. data/vendor/assets/js/plugins/foundation.dropdown.js.map +1 -1
  39. data/vendor/assets/js/plugins/foundation.dropdown.min.js +1 -1
  40. data/vendor/assets/js/plugins/foundation.dropdown.min.js.map +1 -1
  41. data/vendor/assets/js/plugins/foundation.dropdownMenu.js +67 -38
  42. data/vendor/assets/js/plugins/foundation.dropdownMenu.js.map +1 -1
  43. data/vendor/assets/js/plugins/foundation.dropdownMenu.min.js +1 -1
  44. data/vendor/assets/js/plugins/foundation.dropdownMenu.min.js.map +1 -1
  45. data/vendor/assets/js/plugins/foundation.equalizer.js +1 -1
  46. data/vendor/assets/js/plugins/foundation.equalizer.min.js +1 -1
  47. data/vendor/assets/js/plugins/foundation.equalizer.min.js.map +1 -1
  48. data/vendor/assets/js/plugins/foundation.interchange.js +48 -13
  49. data/vendor/assets/js/plugins/foundation.interchange.js.map +1 -1
  50. data/vendor/assets/js/plugins/foundation.interchange.min.js +1 -1
  51. data/vendor/assets/js/plugins/foundation.interchange.min.js.map +1 -1
  52. data/vendor/assets/js/plugins/foundation.magellan.js +340 -12
  53. data/vendor/assets/js/plugins/foundation.magellan.js.map +1 -1
  54. data/vendor/assets/js/plugins/foundation.magellan.min.js +1 -1
  55. data/vendor/assets/js/plugins/foundation.magellan.min.js.map +1 -1
  56. data/vendor/assets/js/plugins/foundation.offcanvas.js +234 -56
  57. data/vendor/assets/js/plugins/foundation.offcanvas.js.map +1 -1
  58. data/vendor/assets/js/plugins/foundation.offcanvas.min.js +1 -1
  59. data/vendor/assets/js/plugins/foundation.offcanvas.min.js.map +1 -1
  60. data/vendor/assets/js/plugins/foundation.orbit.js +31 -4
  61. data/vendor/assets/js/plugins/foundation.orbit.js.map +1 -1
  62. data/vendor/assets/js/plugins/foundation.orbit.min.js +1 -1
  63. data/vendor/assets/js/plugins/foundation.orbit.min.js.map +1 -1
  64. data/vendor/assets/js/plugins/foundation.responsiveAccordionTabs.js +91 -18
  65. data/vendor/assets/js/plugins/foundation.responsiveAccordionTabs.js.map +1 -1
  66. data/vendor/assets/js/plugins/foundation.responsiveAccordionTabs.min.js +1 -1
  67. data/vendor/assets/js/plugins/foundation.responsiveAccordionTabs.min.js.map +1 -1
  68. data/vendor/assets/js/plugins/foundation.responsiveMenu.js +1 -1
  69. data/vendor/assets/js/plugins/foundation.responsiveMenu.min.js +1 -1
  70. data/vendor/assets/js/plugins/foundation.responsiveMenu.min.js.map +1 -1
  71. data/vendor/assets/js/plugins/foundation.responsiveToggle.js +1 -1
  72. data/vendor/assets/js/plugins/foundation.responsiveToggle.min.js +1 -1
  73. data/vendor/assets/js/plugins/foundation.responsiveToggle.min.js.map +1 -1
  74. data/vendor/assets/js/plugins/foundation.reveal.js +19 -12
  75. data/vendor/assets/js/plugins/foundation.reveal.js.map +1 -1
  76. data/vendor/assets/js/plugins/foundation.reveal.min.js +1 -1
  77. data/vendor/assets/js/plugins/foundation.reveal.min.js.map +1 -1
  78. data/vendor/assets/js/plugins/foundation.slider.js +20 -15
  79. data/vendor/assets/js/plugins/foundation.slider.js.map +1 -1
  80. data/vendor/assets/js/plugins/foundation.slider.min.js +1 -1
  81. data/vendor/assets/js/plugins/foundation.slider.min.js.map +1 -1
  82. data/vendor/assets/js/plugins/foundation.smoothScroll.js +2 -2
  83. data/vendor/assets/js/plugins/foundation.smoothScroll.js.map +1 -1
  84. data/vendor/assets/js/plugins/foundation.smoothScroll.min.js +1 -1
  85. data/vendor/assets/js/plugins/foundation.smoothScroll.min.js.map +1 -1
  86. data/vendor/assets/js/plugins/foundation.sticky.js +26 -18
  87. data/vendor/assets/js/plugins/foundation.sticky.js.map +1 -1
  88. data/vendor/assets/js/plugins/foundation.sticky.min.js +1 -1
  89. data/vendor/assets/js/plugins/foundation.sticky.min.js.map +1 -1
  90. data/vendor/assets/js/plugins/foundation.tabs.js +24 -21
  91. data/vendor/assets/js/plugins/foundation.tabs.js.map +1 -1
  92. data/vendor/assets/js/plugins/foundation.tabs.min.js +1 -1
  93. data/vendor/assets/js/plugins/foundation.tabs.min.js.map +1 -1
  94. data/vendor/assets/js/plugins/foundation.toggler.js +24 -9
  95. data/vendor/assets/js/plugins/foundation.toggler.js.map +1 -1
  96. data/vendor/assets/js/plugins/foundation.toggler.min.js +1 -1
  97. data/vendor/assets/js/plugins/foundation.toggler.min.js.map +1 -1
  98. data/vendor/assets/js/plugins/foundation.tooltip.js +31 -18
  99. data/vendor/assets/js/plugins/foundation.tooltip.js.map +1 -1
  100. data/vendor/assets/js/plugins/foundation.tooltip.min.js +1 -1
  101. data/vendor/assets/js/plugins/foundation.tooltip.min.js.map +1 -1
  102. data/vendor/assets/js/plugins/foundation.util.box.js +1 -59
  103. data/vendor/assets/js/plugins/foundation.util.box.js.map +1 -1
  104. data/vendor/assets/js/plugins/foundation.util.box.min.js +1 -1
  105. data/vendor/assets/js/plugins/foundation.util.box.min.js.map +1 -1
  106. data/vendor/assets/js/plugins/foundation.util.imageLoader.js +1 -1
  107. data/vendor/assets/js/plugins/foundation.util.imageLoader.min.js +1 -1
  108. data/vendor/assets/js/plugins/foundation.util.imageLoader.min.js.map +1 -1
  109. data/vendor/assets/js/plugins/foundation.util.keyboard.js +9 -8
  110. data/vendor/assets/js/plugins/foundation.util.keyboard.js.map +1 -1
  111. data/vendor/assets/js/plugins/foundation.util.keyboard.min.js +1 -1
  112. data/vendor/assets/js/plugins/foundation.util.keyboard.min.js.map +1 -1
  113. data/vendor/assets/js/plugins/foundation.util.mediaQuery.js +121 -17
  114. data/vendor/assets/js/plugins/foundation.util.mediaQuery.js.map +1 -1
  115. data/vendor/assets/js/plugins/foundation.util.mediaQuery.min.js +1 -1
  116. data/vendor/assets/js/plugins/foundation.util.mediaQuery.min.js.map +1 -1
  117. data/vendor/assets/js/plugins/foundation.util.motion.js +1 -2
  118. data/vendor/assets/js/plugins/foundation.util.motion.js.map +1 -1
  119. data/vendor/assets/js/plugins/foundation.util.motion.min.js +1 -1
  120. data/vendor/assets/js/plugins/foundation.util.motion.min.js.map +1 -1
  121. data/vendor/assets/js/plugins/foundation.util.nest.js +1 -1
  122. data/vendor/assets/js/plugins/foundation.util.nest.min.js +1 -1
  123. data/vendor/assets/js/plugins/foundation.util.nest.min.js.map +1 -1
  124. data/vendor/assets/js/plugins/foundation.util.timer.js +1 -1
  125. data/vendor/assets/js/plugins/foundation.util.timer.min.js +1 -1
  126. data/vendor/assets/js/plugins/foundation.util.timer.min.js.map +1 -1
  127. data/vendor/assets/js/plugins/foundation.util.touch.js +2 -2
  128. data/vendor/assets/js/plugins/foundation.util.touch.js.map +1 -1
  129. data/vendor/assets/js/plugins/foundation.util.touch.min.js +1 -1
  130. data/vendor/assets/js/plugins/foundation.util.touch.min.js.map +1 -1
  131. data/vendor/assets/js/plugins/foundation.util.triggers.js +3 -2
  132. data/vendor/assets/js/plugins/foundation.util.triggers.js.map +1 -1
  133. data/vendor/assets/js/plugins/foundation.util.triggers.min.js +1 -1
  134. data/vendor/assets/js/plugins/foundation.util.triggers.min.js.map +1 -1
  135. data/vendor/assets/scss/components/_accordion.scss +10 -2
  136. data/vendor/assets/scss/components/_button-group.scss +37 -10
  137. data/vendor/assets/scss/components/_button.scss +119 -104
  138. data/vendor/assets/scss/components/_callout.scss +12 -10
  139. data/vendor/assets/scss/components/_close-button.scss +28 -3
  140. data/vendor/assets/scss/components/_menu.scss +5 -1
  141. data/vendor/assets/scss/components/_off-canvas.scss +6 -1
  142. data/vendor/assets/scss/components/_pagination.scss +10 -2
  143. data/vendor/assets/scss/components/_switch.scss +14 -0
  144. data/vendor/assets/scss/components/_table.scss +1 -0
  145. data/vendor/assets/scss/forms/_select.scss +4 -0
  146. data/vendor/assets/scss/foundation.scss +8 -3
  147. data/vendor/assets/scss/grid/_classes.scss +25 -12
  148. data/vendor/assets/scss/grid/_column.scss +1 -31
  149. data/vendor/assets/scss/prototype/_rounded.scss +6 -2
  150. data/vendor/assets/scss/prototype/_spacing.scss +7 -5
  151. data/vendor/assets/scss/settings/_settings.scss +37 -11
  152. data/vendor/assets/scss/typography/_base.scss +16 -51
  153. data/vendor/assets/scss/typography/_helpers.scss +100 -0
  154. data/vendor/assets/scss/typography/_print.scss +8 -2
  155. data/vendor/assets/scss/util/_breakpoint.scss +172 -97
  156. data/vendor/assets/scss/util/_math.scss +75 -0
  157. data/vendor/assets/scss/util/_mixins.scss +81 -25
  158. data/vendor/assets/scss/util/_value.scss +40 -0
  159. data/vendor/assets/scss/xy-grid/_cell.scss +186 -99
  160. data/vendor/assets/scss/xy-grid/_classes.scss +26 -29
  161. data/vendor/assets/scss/xy-grid/_collapse.scss +2 -2
  162. data/vendor/assets/scss/xy-grid/_layout.scss +10 -8
  163. data/vendor/assets/scss/xy-grid/_position.scss +32 -9
  164. metadata +8 -9
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/universalModuleDefinition","webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/bootstrap","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.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","$eleDims","Box","GetDimensions","$anchorDims","allowOverlap","offset","GetExplicitOffsets","_getVOffset","_getHOffset","overlaps","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","tooltipWidth","tooltipHeight","id","templateClasses","tooltipClass","trim","$template","showOn","is","_this","css","show","_setPosition","removeClass","trigger","stop","fadeIn","fadeInDuration","fadeOut","fadeOutDuration","isFocus","disableHover","on","e","timeout","setTimeout","hoverDelay","ignoreMousedisappear","clearTimeout","clickOpen","stopImmediatePropagation","disableForTouch","bind","off","removeAttr","remove","touchCloseText","MutationObserver","prefixes","window","triggers","el","type","split","forEach","Listeners","Basic","Global","Initializers","openListener","closeListener","toggleListener","closeableListener","stopPropagation","animation","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\n _setPosition($anchor, $element, $parent) {\n if($anchor.attr('aria-expanded') === 'false'){ return false; }\n var $eleDims = Box.GetDimensions($element),\n $anchorDims = Box.GetDimensions($anchor);\n\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 overlaps = {};\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 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 var _this = this;\n var $template = this.template;\n var isFocus = false;\n\n if (!this.options.disableHover) {\n\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 (this.options.clickOpen) {\n this.$element.on('mousedown.zf.tooltip', function(e) {\n e.stopImmediatePropagation();\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 e.stopImmediatePropagation();\n _this.isClick = true;\n });\n }\n\n if (!this.options.disableForTouch) {\n this.$element\n .on('tap.zf.tooltip touchend.zf.tooltip', function(e) {\n _this.isActive ? _this.hide() : _this.show();\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 disableForTouch: false,\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 * 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 e.stopPropagation();\n let animation = $(this).data('closable');\n\n if(animation !== ''){\n Motion.animateOut($(this), animation, function() {\n $(this).trigger('closed.zf');\n });\n }else{\n $(this).fadeOut().trigger('closed.zf');\n }\n },\n toggleFocusListener: function() {\n let id = $(this).data('toggle-focus');\n $(`#${id}`).triggerHandler('toggle.zf.trigger', [$(this)]);\n }\n};\n\n// Elements with [data-open] will reveal a plugin that supports it when clicked.\nTriggers.Initializers.addOpenListener = ($elem) => {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.openListener);\n $elem.on('click.zf.trigger', '[data-open]', Triggers.Listeners.Basic.openListener);\n}\n\n// Elements with [data-close] will close a plugin that supports it when clicked.\n// If used without a value on [data-close], the event will bubble, allowing it to close a parent component.\nTriggers.Initializers.addCloseListener = ($elem) => {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.closeListener);\n $elem.on('click.zf.trigger', '[data-close]', Triggers.Listeners.Basic.closeListener);\n}\n\n// Elements with [data-toggle] will toggle a plugin that supports it when clicked.\nTriggers.Initializers.addToggleListener = ($elem) => {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.toggleListener);\n $elem.on('click.zf.trigger', '[data-toggle]', Triggers.Listeners.Basic.toggleListener);\n}\n\n// Elements with [data-closable] will respond to close.zf.trigger events.\nTriggers.Initializers.addCloseableListener = ($elem) => {\n $elem.off('close.zf.trigger', Triggers.Listeners.Basic.closeableListener);\n $elem.on('close.zf.trigger', '[data-closeable], [data-closable]', Triggers.Listeners.Basic.closeableListener);\n}\n\n// Elements with [data-toggle-focus] will respond to coming in and out of focus\nTriggers.Initializers.addToggleFocusListener = ($elem) => {\n $elem.off('focus.zf.trigger blur.zf.trigger', Triggers.Listeners.Basic.toggleFocusListener);\n $elem.on('focus.zf.trigger blur.zf.trigger', '[data-toggle-focus]', Triggers.Listeners.Basic.toggleFocusListener);\n}\n\n\n\n// More Global/complex listeners and triggers\nTriggers.Listeners.Global = {\n resizeListener: function($nodes) {\n if(!MutationObserver){//fallback for IE 9\n $nodes.each(function(){\n $(this).triggerHandler('resizeme.zf.trigger');\n });\n }\n //trigger all listening elements and signal a resize event\n $nodes.attr('data-events', \"resize\");\n },\n scrollListener: function($nodes) {\n if(!MutationObserver){//fallback for IE 9\n $nodes.each(function(){\n $(this).triggerHandler('scrollme.zf.trigger');\n });\n }\n //trigger all listening elements and signal a scroll event\n $nodes.attr('data-events', \"scroll\");\n },\n closeMeListener: function(e, pluginId){\n let plugin = e.namespace.split('.')[0];\n let plugins = $(`[data-${plugin}]`).not(`[data-yeti-box=\"${pluginId}\"]`);\n\n plugins.each(function(){\n let _this = $(this);\n _this.triggerHandler('close.zf.trigger', [_this]);\n });\n }\n}\n\n// Global, parses whole document.\nTriggers.Initializers.addClosemeListener = function(pluginName) {\n var yetiBoxes = $('[data-yeti-box]'),\n plugNames = ['dropdown', 'tooltip', 'reveal'];\n\n if(pluginName){\n if(typeof pluginName === 'string'){\n plugNames.push(pluginName);\n }else if(typeof pluginName === 'object' && typeof pluginName[0] === 'string'){\n plugNames = plugNames.concat(pluginName);\n }else{\n console.error('Plugin names must be strings');\n }\n }\n if(yetiBoxes.length){\n let listeners = plugNames.map((name) => {\n return `closeme.zf.${name}`;\n }).join(' ');\n\n $(window).off(listeners).on(listeners, Triggers.Listeners.Global.closeMeListener);\n }\n}\n\nfunction debounceGlobalListener(debounce, trigger, listener) {\n let timer, args = Array.prototype.slice.call(arguments, 3);\n $(window).off(trigger).on(trigger, function(e) {\n if (timer) { clearTimeout(timer); }\n timer = setTimeout(function(){\n listener.apply(null, args);\n }, debounce || 10);//default time to emit scroll event\n });\n}\n\nTriggers.Initializers.addResizeListener = function(debounce){\n let $nodes = $('[data-resize]');\n if($nodes.length){\n debounceGlobalListener(debounce, 'resize.zf.trigger', Triggers.Listeners.Global.resizeListener, $nodes);\n }\n}\n\nTriggers.Initializers.addScrollListener = function(debounce){\n let $nodes = $('[data-scroll]');\n if($nodes.length){\n debounceGlobalListener(debounce, 'scroll.zf.trigger', Triggers.Listeners.Global.scrollListener, $nodes);\n }\n}\n\nTriggers.Initializers.addMutationEventsListener = function($elem) {\n if(!MutationObserver){ return false; }\n let $nodes = $elem.find('[data-resize], [data-scroll], [data-mutate]');\n\n //element callback\n var listeningElementsMutation = function (mutationRecordsList) {\n var $target = $(mutationRecordsList[0].target);\n\n //trigger the event handler for the element depending on type\n switch (mutationRecordsList[0].type) {\n case \"attributes\":\n if ($target.attr(\"data-events\") === \"scroll\" && mutationRecordsList[0].attributeName === \"data-events\") {\n $target.triggerHandler('scrollme.zf.trigger', [$target, window.pageYOffset]);\n }\n if ($target.attr(\"data-events\") === \"resize\" && mutationRecordsList[0].attributeName === \"data-events\") {\n $target.triggerHandler('resizeme.zf.trigger', [$target]);\n }\n if (mutationRecordsList[0].attributeName === \"style\") {\n $target.closest(\"[data-mutate]\").attr(\"data-events\",\"mutate\");\n $target.closest(\"[data-mutate]\").triggerHandler('mutateme.zf.trigger', [$target.closest(\"[data-mutate]\")]);\n }\n break;\n\n case \"childList\":\n $target.closest(\"[data-mutate]\").attr(\"data-events\",\"mutate\");\n $target.closest(\"[data-mutate]\").triggerHandler('mutateme.zf.trigger', [$target.closest(\"[data-mutate]\")]);\n break;\n\n default:\n return false;\n //nothing\n }\n };\n\n if ($nodes.length) {\n //for each element that needs to listen for resizing, scrolling, or mutation add a single observer\n for (var i = 0; i <= $nodes.length - 1; i++) {\n var elementObserver = new MutationObserver(listeningElementsMutation);\n elementObserver.observe($nodes[i], { attributes: true, childList: true, characterData: false, subtree: true, attributeFilter: [\"data-events\", \"style\"] });\n }\n }\n}\n\nTriggers.Initializers.addSimpleListeners = function() {\n let $document = $(document);\n\n Triggers.Initializers.addOpenListener($document);\n Triggers.Initializers.addCloseListener($document);\n Triggers.Initializers.addToggleListener($document);\n Triggers.Initializers.addCloseableListener($document);\n Triggers.Initializers.addToggleFocusListener($document);\n\n}\n\nTriggers.Initializers.addGlobalListeners = function() {\n let $document = $(document);\n Triggers.Initializers.addMutationEventsListener($document);\n Triggers.Initializers.addResizeListener();\n Triggers.Initializers.addScrollListener();\n Triggers.Initializers.addClosemeListener();\n}\n\n\nTriggers.init = function ($, Foundation) {\n onLoad($(window), function () {\n if ($.triggersInitialized !== true) {\n Triggers.Initializers.addSimpleListeners();\n Triggers.Initializers.addGlobalListeners();\n $.triggersInitialized = true;\n }\n });\n\n if(Foundation) {\n Foundation.Triggers = Triggers;\n // Legacy included to be backwards compatible for now.\n Foundation.IHearYou = Triggers.Initializers.addGlobalListeners\n }\n}\n\nexport {Triggers};\n","module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/universalModuleDefinition","webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/bootstrap","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.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,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 function(i){var o={};function n(t){if(o[t])return o[t].exports;var e=o[t]={i:t,l:!1,exports:{}};return i[t].call(e.exports,e,e.exports,n),e.l=!0,e.exports}return n.m=i,n.c=o,n.d=function(t,e,i){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(i,o,function(t){return e[t]}.bind(null,o));return i},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=20)}({"./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 h});var r=i("./foundation.util.box"),s=i("./foundation.core");function o(t){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function a(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 l(t,e){return!e||"object"!==o(e)&&"function"!=typeof e?function(t){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(t):e}function u(t){return(u=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function f(t,e){return(f=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}var c=["left","right","top","bottom"],n=["top","bottom","center"],p=["left","right","center"],d={left:n,right:n,top:p,bottom:p};function g(t,e){var i=e.indexOf(t);return i===e.length-1?e[0]:e[i+1]}var h=function(t){function e(){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),l(this,u(e).apply(this,arguments))}var i,o,n;return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&f(t,e)}(e,s["Plugin"]),i=e,(o=[{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(s.rtl)()?"right":"left";case"left":case"right":return"bottom"}}},{key:"_reposition",value:function(){this._alignmentsExhausted(this.position)?(this.position=g(this.position,c),this.alignment=d[this.position][0]):this._realign()}},{key:"_realign",value:function(){this._addTriedPosition(this.position,this.alignment),this.alignment=g(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<c.length;e++)t=t&&this._alignmentsExhausted(c[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;r.Box.GetDimensions(e),r.Box.GetDimensions(t);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()))}}}])&&a(i.prototype,o),n&&a(i,n),e}();h.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 h});var o=i("jquery"),s=i.n(o),r=i("./foundation.core"),a=i("./foundation.util.mediaQuery"),l=i("./js/foundation.util.triggers.js"),u=i("./js/foundation.positionable.js");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 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"!==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 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 g(t,e){return(g=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}var h=function(t){function i(){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,i),c(this,d(i).apply(this,arguments))}var e,o,n;return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&g(t,e)}(i,u["Positionable"]),e=i,(o=[{key:"_setup",value:function(t,e){this.$element=t,this.options=s.a.extend({},i.defaults,this.$element.data(),e),this.className="Tooltip",this.isActive=!1,this.isClick=!1,l.Triggers.init(s.a),this._init()}},{key:"_init",value:function(){a.MediaQuery._init();var t=this.$element.attr("aria-describedby")||Object(r.GetYoDigits)(6,"tooltip");this.options.tipText=this.options.tipText||this.$element.attr("title"),this.template=this.options.template?s()(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);return 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 s()("<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&&!a.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,i=(this.template,!1);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(r.ignoreMousedisappear)(function(t){clearTimeout(e.timeout),(!i||e.isClick&&!e.options.clickOpen)&&e.hide()})),this.options.clickOpen?this.$element.on("mousedown.zf.tooltip",function(t){t.stopImmediatePropagation(),e.isClick||(e.isClick=!0,!e.options.disableHover&&e.$element.attr("tabindex")||e.isActive||e.show())}):this.$element.on("mousedown.zf.tooltip",function(t){t.stopImmediatePropagation(),e.isClick=!0}),this.options.disableForTouch||this.$element.on("tap.zf.tooltip touchend.zf.tooltip",function(t){e.isActive?e.hide():e.show()}),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()}}])&&f(e.prototype,o),n&&f(e,n),i}();h.defaults={disableForTouch:!1,hoverDelay:200,fadeInDuration:150,fadeOutDuration:150,disableHover:!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)}var l=function(){for(var t=["WebKit","Moz","O","Ms",""],e=0;e<t.length;e++)if("".concat(t[e],"MutationObserver")in window)return window["".concat(t[e],"MutationObserver")];return!1}(),u=function(e,i){e.data(i).split(" ").forEach(function(t){s()("#".concat(t))["close"===i?"trigger":"triggerHandler"]("".concat(i,".zf.trigger"),[e])})},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(){u(s()(this),"open")},closeListener:function(){s()(this).data("close")?u(s()(this),"close"):s()(this).trigger("close.zf.trigger")},toggleListener:function(){s()(this).data("toggle")?u(s()(this),"toggle"):s()(this).trigger("toggle.zf.trigger")},closeableListener:function(t){t.stopPropagation();var e=s()(this).data("closable");""!==e?r.Motion.animateOut(s()(this),e,function(){s()(this).trigger("closed.zf")}):s()(this).fadeOut().trigger("closed.zf")},toggleFocusListener:function(){var t=s()(this).data("toggle-focus");s()("#".concat(t)).triggerHandler("toggle.zf.trigger",[s()(this)])}},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){l||t.each(function(){s()(this).triggerHandler("resizeme.zf.trigger")}),t.attr("data-events","resize")},scrollListener:function(t){l||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(!l)return!1;var e=t.find("[data-resize], [data-scroll], [data-mutate]"),i=function(t){var e=s()(t[0].target);switch(t[0].type){case"attributes":"scroll"===e.attr("data-events")&&"data-events"===t[0].attributeName&&e.triggerHandler("scrollme.zf.trigger",[e,window.pageYOffset]),"resize"===e.attr("data-events")&&"data-events"===t[0].attributeName&&e.triggerHandler("resizeme.zf.trigger",[e]),"style"===t[0].attributeName&&(e.closest("[data-mutate]").attr("data-events","mutate"),e.closest("[data-mutate]").triggerHandler("mutateme.zf.trigger",[e.closest("[data-mutate]")]));break;case"childList":e.closest("[data-mutate]").attr("data-events","mutate"),e.closest("[data-mutate]").triggerHandler("mutateme.zf.trigger",[e.closest("[data-mutate]")]);break;default:return!1}};if(e.length)for(var o=0;o<=e.length-1;o++){new l(i).observe(e[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}})});
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});
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__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","__webpack_exports__","_foundation_core__WEBPACK_IMPORTED_MODULE_0__","_foundation_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","vOffset","hOffset","$anchor","$element","$parent","attr","Box","GetDimensions","allowOverlap","offset","GetExplicitOffsets","_getVOffset","_getHOffset","minOverlap","minCoordinates","_positionsExhausted","overlap","OverlapArea","allowBottomOverlap","_reposition","defaults","jquery__WEBPACK_IMPORTED_MODULE_0__","jquery__WEBPACK_IMPORTED_MODULE_0___default","_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__","_foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_2__","_foundation_util_triggers__WEBPACK_IMPORTED_MODULE_3__","_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","_events","match","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","isFocus","disableHover","on","e","timeout","setTimeout","hoverDelay","ignoreMousedisappear","clearTimeout","clickOpen","stopImmediatePropagation","disableForTouch","close.zf.trigger","off","removeAttr","remove","touchCloseText","_foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__","MutationObserver","prefixes","triggers","el","type","split","forEach","Listeners","Basic","Global","Initializers","debounceGlobalListener","debounce","listener","timer","args","Array","slice","arguments","apply","openListener","closeListener","toggleListener","closeableListener","stopPropagation","animation","Motion","animateOut","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","join","addResizeListener","addScrollListener","addMutationEventsListener","find","listeningElementsMutation","mutationRecordsList","$target","target","attributeName","pageYOffset","closest","observe","attributes","childList","characterData","subtree","attributeFilter","addSimpleListeners","$document","addGlobalListeners","onLoad","triggersInitialized","IHearYou"],"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\n _setPosition($anchor, $element, $parent) {\n if($anchor.attr('aria-expanded') === 'false'){ return false; }\n var $eleDims = Box.GetDimensions($element),\n $anchorDims = Box.GetDimensions($anchor);\n\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 overlaps = {};\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 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 var _this = this;\n var $template = this.template;\n var isFocus = false;\n\n if (!this.options.disableHover) {\n\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 (this.options.clickOpen) {\n this.$element.on('mousedown.zf.tooltip', function(e) {\n e.stopImmediatePropagation();\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 e.stopImmediatePropagation();\n _this.isClick = true;\n });\n }\n\n if (!this.options.disableForTouch) {\n this.$element\n .on('tap.zf.tooltip touchend.zf.tooltip', function(e) {\n _this.isActive ? _this.hide() : _this.show();\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 disableForTouch: false,\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 * 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 e.stopPropagation();\n let animation = $(this).data('closable');\n\n if(animation !== ''){\n Motion.animateOut($(this), animation, function() {\n $(this).trigger('closed.zf');\n });\n }else{\n $(this).fadeOut().trigger('closed.zf');\n }\n },\n toggleFocusListener: function() {\n let id = $(this).data('toggle-focus');\n $(`#${id}`).triggerHandler('toggle.zf.trigger', [$(this)]);\n }\n};\n\n// Elements with [data-open] will reveal a plugin that supports it when clicked.\nTriggers.Initializers.addOpenListener = ($elem) => {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.openListener);\n $elem.on('click.zf.trigger', '[data-open]', Triggers.Listeners.Basic.openListener);\n}\n\n// Elements with [data-close] will close a plugin that supports it when clicked.\n// If used without a value on [data-close], the event will bubble, allowing it to close a parent component.\nTriggers.Initializers.addCloseListener = ($elem) => {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.closeListener);\n $elem.on('click.zf.trigger', '[data-close]', Triggers.Listeners.Basic.closeListener);\n}\n\n// Elements with [data-toggle] will toggle a plugin that supports it when clicked.\nTriggers.Initializers.addToggleListener = ($elem) => {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.toggleListener);\n $elem.on('click.zf.trigger', '[data-toggle]', Triggers.Listeners.Basic.toggleListener);\n}\n\n// Elements with [data-closable] will respond to close.zf.trigger events.\nTriggers.Initializers.addCloseableListener = ($elem) => {\n $elem.off('close.zf.trigger', Triggers.Listeners.Basic.closeableListener);\n $elem.on('close.zf.trigger', '[data-closeable], [data-closable]', Triggers.Listeners.Basic.closeableListener);\n}\n\n// Elements with [data-toggle-focus] will respond to coming in and out of focus\nTriggers.Initializers.addToggleFocusListener = ($elem) => {\n $elem.off('focus.zf.trigger blur.zf.trigger', Triggers.Listeners.Basic.toggleFocusListener);\n $elem.on('focus.zf.trigger blur.zf.trigger', '[data-toggle-focus]', Triggers.Listeners.Basic.toggleFocusListener);\n}\n\n\n\n// More Global/complex listeners and triggers\nTriggers.Listeners.Global = {\n resizeListener: function($nodes) {\n if(!MutationObserver){//fallback for IE 9\n $nodes.each(function(){\n $(this).triggerHandler('resizeme.zf.trigger');\n });\n }\n //trigger all listening elements and signal a resize event\n $nodes.attr('data-events', \"resize\");\n },\n scrollListener: function($nodes) {\n if(!MutationObserver){//fallback for IE 9\n $nodes.each(function(){\n $(this).triggerHandler('scrollme.zf.trigger');\n });\n }\n //trigger all listening elements and signal a scroll event\n $nodes.attr('data-events', \"scroll\");\n },\n closeMeListener: function(e, pluginId){\n let plugin = e.namespace.split('.')[0];\n let plugins = $(`[data-${plugin}]`).not(`[data-yeti-box=\"${pluginId}\"]`);\n\n plugins.each(function(){\n let _this = $(this);\n _this.triggerHandler('close.zf.trigger', [_this]);\n });\n }\n}\n\n// Global, parses whole document.\nTriggers.Initializers.addClosemeListener = function(pluginName) {\n var yetiBoxes = $('[data-yeti-box]'),\n plugNames = ['dropdown', 'tooltip', 'reveal'];\n\n if(pluginName){\n if(typeof pluginName === 'string'){\n plugNames.push(pluginName);\n }else if(typeof pluginName === 'object' && typeof pluginName[0] === 'string'){\n plugNames = plugNames.concat(pluginName);\n }else{\n console.error('Plugin names must be strings');\n }\n }\n if(yetiBoxes.length){\n let listeners = plugNames.map((name) => {\n return `closeme.zf.${name}`;\n }).join(' ');\n\n $(window).off(listeners).on(listeners, Triggers.Listeners.Global.closeMeListener);\n }\n}\n\nfunction debounceGlobalListener(debounce, trigger, listener) {\n let timer, args = Array.prototype.slice.call(arguments, 3);\n $(window).off(trigger).on(trigger, function(e) {\n if (timer) { clearTimeout(timer); }\n timer = setTimeout(function(){\n listener.apply(null, args);\n }, debounce || 10);//default time to emit scroll event\n });\n}\n\nTriggers.Initializers.addResizeListener = function(debounce){\n let $nodes = $('[data-resize]');\n if($nodes.length){\n debounceGlobalListener(debounce, 'resize.zf.trigger', Triggers.Listeners.Global.resizeListener, $nodes);\n }\n}\n\nTriggers.Initializers.addScrollListener = function(debounce){\n let $nodes = $('[data-scroll]');\n if($nodes.length){\n debounceGlobalListener(debounce, 'scroll.zf.trigger', Triggers.Listeners.Global.scrollListener, $nodes);\n }\n}\n\nTriggers.Initializers.addMutationEventsListener = function($elem) {\n if(!MutationObserver){ return false; }\n let $nodes = $elem.find('[data-resize], [data-scroll], [data-mutate]');\n\n //element callback\n var listeningElementsMutation = function (mutationRecordsList) {\n var $target = $(mutationRecordsList[0].target);\n\n //trigger the event handler for the element depending on type\n switch (mutationRecordsList[0].type) {\n case \"attributes\":\n if ($target.attr(\"data-events\") === \"scroll\" && mutationRecordsList[0].attributeName === \"data-events\") {\n $target.triggerHandler('scrollme.zf.trigger', [$target, window.pageYOffset]);\n }\n if ($target.attr(\"data-events\") === \"resize\" && mutationRecordsList[0].attributeName === \"data-events\") {\n $target.triggerHandler('resizeme.zf.trigger', [$target]);\n }\n if (mutationRecordsList[0].attributeName === \"style\") {\n $target.closest(\"[data-mutate]\").attr(\"data-events\",\"mutate\");\n $target.closest(\"[data-mutate]\").triggerHandler('mutateme.zf.trigger', [$target.closest(\"[data-mutate]\")]);\n }\n break;\n\n case \"childList\":\n $target.closest(\"[data-mutate]\").attr(\"data-events\",\"mutate\");\n $target.closest(\"[data-mutate]\").triggerHandler('mutateme.zf.trigger', [$target.closest(\"[data-mutate]\")]);\n break;\n\n default:\n return false;\n //nothing\n }\n };\n\n if ($nodes.length) {\n //for each element that needs to listen for resizing, scrolling, or mutation add a single observer\n for (var i = 0; i <= $nodes.length - 1; i++) {\n var elementObserver = new MutationObserver(listeningElementsMutation);\n elementObserver.observe($nodes[i], { attributes: true, childList: true, characterData: false, subtree: true, attributeFilter: [\"data-events\", \"style\"] });\n }\n }\n}\n\nTriggers.Initializers.addSimpleListeners = function() {\n let $document = $(document);\n\n Triggers.Initializers.addOpenListener($document);\n Triggers.Initializers.addCloseListener($document);\n Triggers.Initializers.addToggleListener($document);\n Triggers.Initializers.addCloseableListener($document);\n Triggers.Initializers.addToggleFocusListener($document);\n\n}\n\nTriggers.Initializers.addGlobalListeners = function() {\n let $document = $(document);\n Triggers.Initializers.addMutationEventsListener($document);\n Triggers.Initializers.addResizeListener();\n Triggers.Initializers.addScrollListener();\n Triggers.Initializers.addClosemeListener();\n}\n\n\nTriggers.init = function ($, Foundation) {\n onLoad($(window), function () {\n if ($.triggersInitialized !== true) {\n Triggers.Initializers.addSimpleListeners();\n Triggers.Initializers.addGlobalListeners();\n $.triggersInitialized = true;\n }\n });\n\n if(Foundation) {\n Foundation.Triggers = Triggers;\n // Legacy included to be backwards compatible for now.\n Foundation.IHearYou = Triggers.Initializers.addGlobalListeners\n }\n}\n\nexport {Triggers};\n","module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;"]}
1
+ {"version":3,"sources":["webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/universalModuleDefinition","webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/bootstrap","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"}","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.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__;"]}
@@ -149,7 +149,6 @@ var Box = {
149
149
  ImNotTouchingYou: ImNotTouchingYou,
150
150
  OverlapArea: OverlapArea,
151
151
  GetDimensions: GetDimensions,
152
- GetOffsets: GetOffsets,
153
152
  GetExplicitOffsets: GetExplicitOffsets
154
153
  /**
155
154
  * Compares the dimensions of an element to a container and determines collision events with container.
@@ -268,63 +267,6 @@ function GetDimensions(elem) {
268
267
  */
269
268
 
270
269
 
271
- function GetOffsets(element, anchor, position, vOffset, hOffset, isOverflow) {
272
- console.log("NOTE: GetOffsets is deprecated in favor of GetExplicitOffsets and will be removed in 6.5");
273
-
274
- switch (position) {
275
- case 'top':
276
- return Object(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_0__["rtl"])() ? GetExplicitOffsets(element, anchor, 'top', 'left', vOffset, hOffset, isOverflow) : GetExplicitOffsets(element, anchor, 'top', 'right', vOffset, hOffset, isOverflow);
277
-
278
- case 'bottom':
279
- return Object(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_0__["rtl"])() ? GetExplicitOffsets(element, anchor, 'bottom', 'left', vOffset, hOffset, isOverflow) : GetExplicitOffsets(element, anchor, 'bottom', 'right', vOffset, hOffset, isOverflow);
280
-
281
- case 'center top':
282
- return GetExplicitOffsets(element, anchor, 'top', 'center', vOffset, hOffset, isOverflow);
283
-
284
- case 'center bottom':
285
- return GetExplicitOffsets(element, anchor, 'bottom', 'center', vOffset, hOffset, isOverflow);
286
-
287
- case 'center left':
288
- return GetExplicitOffsets(element, anchor, 'left', 'center', vOffset, hOffset, isOverflow);
289
-
290
- case 'center right':
291
- return GetExplicitOffsets(element, anchor, 'right', 'center', vOffset, hOffset, isOverflow);
292
-
293
- case 'left bottom':
294
- return GetExplicitOffsets(element, anchor, 'bottom', 'left', vOffset, hOffset, isOverflow);
295
-
296
- case 'right bottom':
297
- return GetExplicitOffsets(element, anchor, 'bottom', 'right', vOffset, hOffset, isOverflow);
298
- // Backwards compatibility... this along with the reveal and reveal full
299
- // classes are the only ones that didn't reference anchor
300
-
301
- case 'center':
302
- return {
303
- left: $eleDims.windowDims.offset.left + $eleDims.windowDims.width / 2 - $eleDims.width / 2 + hOffset,
304
- top: $eleDims.windowDims.offset.top + $eleDims.windowDims.height / 2 - ($eleDims.height / 2 + vOffset)
305
- };
306
-
307
- case 'reveal':
308
- return {
309
- left: ($eleDims.windowDims.width - $eleDims.width) / 2 + hOffset,
310
- top: $eleDims.windowDims.offset.top + vOffset
311
- };
312
-
313
- case 'reveal full':
314
- return {
315
- left: $eleDims.windowDims.offset.left,
316
- top: $eleDims.windowDims.offset.top
317
- };
318
- break;
319
-
320
- default:
321
- return {
322
- left: Object(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_0__["rtl"])() ? $anchorDims.offset.left - $eleDims.width + $anchorDims.width - hOffset : $anchorDims.offset.left + hOffset,
323
- top: $anchorDims.offset.top + $anchorDims.height + vOffset
324
- };
325
- }
326
- }
327
-
328
270
  function GetExplicitOffsets(element, anchor, position, alignment, vOffset, hOffset, isOverflow) {
329
271
  var $eleDims = GetDimensions(element),
330
272
  $anchorDims = anchor ? GetDimensions(anchor) : null;
@@ -404,7 +346,7 @@ function GetExplicitOffsets(element, anchor, position, alignment, vOffset, hOffs
404
346
  /*! no static exports found */
405
347
  /***/ (function(module, exports, __webpack_require__) {
406
348
 
407
- module.exports = __webpack_require__(/*! /Users/ncoden/Documents/Documents/Projects/Programmation/Web/2016/Foundation/foundation-sites/js/entries/plugins/foundation.util.box.js */"./js/entries/plugins/foundation.util.box.js");
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");
408
350
 
409
351
 
410
352
  /***/ })
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/universalModuleDefinition","webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/bootstrap","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/entries/plugins/foundation.util.box.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.util.box.js"],"names":["Foundation","Box","ImNotTouchingYou","OverlapArea","GetDimensions","GetOffsets","GetExplicitOffsets","element","parent","lrOnly","tbOnly","ignoreBottom","eleDims","topOver","bottomOver","leftOver","rightOver","parDims","height","offset","top","left","width","windowDims","Math","min","sqrt","elem","length","window","document","Error","rect","getBoundingClientRect","parRect","parentNode","winRect","body","winY","pageYOffset","winX","pageXOffset","parentDims","anchor","position","vOffset","hOffset","isOverflow","console","log","Rtl","$eleDims","$anchorDims","alignment","topVal","leftVal"],"mappings":"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","file":"foundation.util.box.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.util.box\"] = factory(require(\"./foundation.core\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.box\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__) {\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 = 21);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","import { Foundation } from './foundation.core';\nimport { Box } from '../../foundation.util.box';\n\nFoundation.Box = Box;\n\nexport { Foundation, Box };\n","'use strict';\n\n\nimport { rtl as Rtl } from \"./foundation.core.utils\";\n\nvar Box = {\n ImNotTouchingYou: ImNotTouchingYou,\n OverlapArea: OverlapArea,\n GetDimensions: GetDimensions,\n GetOffsets: GetOffsets,\n GetExplicitOffsets: GetExplicitOffsets\n}\n\n/**\n * Compares the dimensions of an element to a container and determines collision events with container.\n * @function\n * @param {jQuery} element - jQuery object to test for collisions.\n * @param {jQuery} parent - jQuery object to use as bounding container.\n * @param {Boolean} lrOnly - set to true to check left and right values only.\n * @param {Boolean} tbOnly - set to true to check top and bottom values only.\n * @default if no parent object passed, detects collisions with `window`.\n * @returns {Boolean} - true if collision free, false if a collision in any direction.\n */\nfunction ImNotTouchingYou(element, parent, lrOnly, tbOnly, ignoreBottom) {\n return OverlapArea(element, parent, lrOnly, tbOnly, ignoreBottom) === 0;\n};\n\nfunction OverlapArea(element, parent, lrOnly, tbOnly, ignoreBottom) {\n var eleDims = GetDimensions(element),\n topOver, bottomOver, leftOver, rightOver;\n if (parent) {\n var parDims = GetDimensions(parent);\n\n bottomOver = (parDims.height + parDims.offset.top) - (eleDims.offset.top + eleDims.height);\n topOver = eleDims.offset.top - parDims.offset.top;\n leftOver = eleDims.offset.left - parDims.offset.left;\n rightOver = (parDims.width + parDims.offset.left) - (eleDims.offset.left + eleDims.width);\n }\n else {\n bottomOver = (eleDims.windowDims.height + eleDims.windowDims.offset.top) - (eleDims.offset.top + eleDims.height);\n topOver = eleDims.offset.top - eleDims.windowDims.offset.top;\n leftOver = eleDims.offset.left - eleDims.windowDims.offset.left;\n rightOver = eleDims.windowDims.width - (eleDims.offset.left + eleDims.width);\n }\n\n bottomOver = ignoreBottom ? 0 : Math.min(bottomOver, 0);\n topOver = Math.min(topOver, 0);\n leftOver = Math.min(leftOver, 0);\n rightOver = Math.min(rightOver, 0);\n\n if (lrOnly) {\n return leftOver + rightOver;\n }\n if (tbOnly) {\n return topOver + bottomOver;\n }\n\n // use sum of squares b/c we care about overlap area.\n return Math.sqrt((topOver * topOver) + (bottomOver * bottomOver) + (leftOver * leftOver) + (rightOver * rightOver));\n}\n\n/**\n * Uses native methods to return an object of dimension values.\n * @function\n * @param {jQuery || HTML} element - jQuery object or DOM element for which to get the dimensions. Can be any element other that document or window.\n * @returns {Object} - nested object of integer pixel values\n * TODO - if element is window, return only those values.\n */\nfunction GetDimensions(elem){\n elem = elem.length ? elem[0] : elem;\n\n if (elem === window || elem === document) {\n throw new Error(\"I'm sorry, Dave. I'm afraid I can't do that.\");\n }\n\n var rect = elem.getBoundingClientRect(),\n parRect = elem.parentNode.getBoundingClientRect(),\n winRect = document.body.getBoundingClientRect(),\n winY = window.pageYOffset,\n winX = window.pageXOffset;\n\n return {\n width: rect.width,\n height: rect.height,\n offset: {\n top: rect.top + winY,\n left: rect.left + winX\n },\n parentDims: {\n width: parRect.width,\n height: parRect.height,\n offset: {\n top: parRect.top + winY,\n left: parRect.left + winX\n }\n },\n windowDims: {\n width: winRect.width,\n height: winRect.height,\n offset: {\n top: winY,\n left: winX\n }\n }\n }\n}\n\n/**\n * Returns an object of top and left integer pixel values for dynamically rendered elements,\n * such as: Tooltip, Reveal, and Dropdown. Maintained for backwards compatibility, and where\n * you don't know alignment, but generally from\n * 6.4 forward you should use GetExplicitOffsets, as GetOffsets conflates position and alignment.\n * @function\n * @param {jQuery} element - jQuery object for the element being positioned.\n * @param {jQuery} anchor - jQuery object for the element's anchor point.\n * @param {String} position - a string relating to the desired position of the element, relative to it's anchor\n * @param {Number} vOffset - integer pixel value of desired vertical separation between anchor and element.\n * @param {Number} hOffset - integer pixel value of desired horizontal separation between anchor and element.\n * @param {Boolean} isOverflow - if a collision event is detected, sets to true to default the element to full width - any desired offset.\n * TODO alter/rewrite to work with `em` values as well/instead of pixels\n */\nfunction GetOffsets(element, anchor, position, vOffset, hOffset, isOverflow) {\n console.log(\"NOTE: GetOffsets is deprecated in favor of GetExplicitOffsets and will be removed in 6.5\");\n switch (position) {\n case 'top':\n return Rtl() ?\n GetExplicitOffsets(element, anchor, 'top', 'left', vOffset, hOffset, isOverflow) :\n GetExplicitOffsets(element, anchor, 'top', 'right', vOffset, hOffset, isOverflow);\n case 'bottom':\n return Rtl() ?\n GetExplicitOffsets(element, anchor, 'bottom', 'left', vOffset, hOffset, isOverflow) :\n GetExplicitOffsets(element, anchor, 'bottom', 'right', vOffset, hOffset, isOverflow);\n case 'center top':\n return GetExplicitOffsets(element, anchor, 'top', 'center', vOffset, hOffset, isOverflow);\n case 'center bottom':\n return GetExplicitOffsets(element, anchor, 'bottom', 'center', vOffset, hOffset, isOverflow);\n case 'center left':\n return GetExplicitOffsets(element, anchor, 'left', 'center', vOffset, hOffset, isOverflow);\n case 'center right':\n return GetExplicitOffsets(element, anchor, 'right', 'center', vOffset, hOffset, isOverflow);\n case 'left bottom':\n return GetExplicitOffsets(element, anchor, 'bottom', 'left', vOffset, hOffset, isOverflow);\n case 'right bottom':\n return GetExplicitOffsets(element, anchor, 'bottom', 'right', vOffset, hOffset, isOverflow);\n // Backwards compatibility... this along with the reveal and reveal full\n // classes are the only ones that didn't reference anchor\n case 'center':\n return {\n left: ($eleDims.windowDims.offset.left + ($eleDims.windowDims.width / 2)) - ($eleDims.width / 2) + hOffset,\n top: ($eleDims.windowDims.offset.top + ($eleDims.windowDims.height / 2)) - ($eleDims.height / 2 + vOffset)\n }\n case 'reveal':\n return {\n left: ($eleDims.windowDims.width - $eleDims.width) / 2 + hOffset,\n top: $eleDims.windowDims.offset.top + vOffset\n }\n case 'reveal full':\n return {\n left: $eleDims.windowDims.offset.left,\n top: $eleDims.windowDims.offset.top\n }\n break;\n default:\n return {\n left: (Rtl() ? $anchorDims.offset.left - $eleDims.width + $anchorDims.width - hOffset: $anchorDims.offset.left + hOffset),\n top: $anchorDims.offset.top + $anchorDims.height + vOffset\n }\n\n }\n\n}\n\nfunction GetExplicitOffsets(element, anchor, position, alignment, vOffset, hOffset, isOverflow) {\n var $eleDims = GetDimensions(element),\n $anchorDims = anchor ? GetDimensions(anchor) : null;\n\n var topVal, leftVal;\n\n // set position related attribute\n\n switch (position) {\n case 'top':\n topVal = $anchorDims.offset.top - ($eleDims.height + vOffset);\n break;\n case 'bottom':\n topVal = $anchorDims.offset.top + $anchorDims.height + vOffset;\n break;\n case 'left':\n leftVal = $anchorDims.offset.left - ($eleDims.width + hOffset);\n break;\n case 'right':\n leftVal = $anchorDims.offset.left + $anchorDims.width + hOffset;\n break;\n }\n\n\n // set alignment related attribute\n switch (position) {\n case 'top':\n case 'bottom':\n switch (alignment) {\n case 'left':\n leftVal = $anchorDims.offset.left + hOffset;\n break;\n case 'right':\n leftVal = $anchorDims.offset.left - $eleDims.width + $anchorDims.width - hOffset;\n break;\n case 'center':\n leftVal = isOverflow ? hOffset : (($anchorDims.offset.left + ($anchorDims.width / 2)) - ($eleDims.width / 2)) + hOffset;\n break;\n }\n break;\n case 'right':\n case 'left':\n switch (alignment) {\n case 'bottom':\n topVal = $anchorDims.offset.top - vOffset + $anchorDims.height - $eleDims.height;\n break;\n case 'top':\n topVal = $anchorDims.offset.top + vOffset\n break;\n case 'center':\n topVal = ($anchorDims.offset.top + vOffset + ($anchorDims.height / 2)) - ($eleDims.height / 2)\n break;\n }\n break;\n }\n return {top: topVal, left: leftVal};\n}\n\nexport {Box};\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/universalModuleDefinition","webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/bootstrap","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/entries/plugins/foundation.util.box.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.util.box.js"],"names":["Foundation","Box","ImNotTouchingYou","OverlapArea","GetDimensions","GetExplicitOffsets","element","parent","lrOnly","tbOnly","ignoreBottom","eleDims","topOver","bottomOver","leftOver","rightOver","parDims","height","offset","top","left","width","windowDims","Math","min","sqrt","elem","length","window","document","Error","rect","getBoundingClientRect","parRect","parentNode","winRect","body","winY","pageYOffset","winX","pageXOffset","parentDims","anchor","position","alignment","vOffset","hOffset","isOverflow","$eleDims","$anchorDims","topVal","leftVal"],"mappings":"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","file":"foundation.util.box.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.util.box\"] = factory(require(\"./foundation.core\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.box\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__) {\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 = 21);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","import { Foundation } from './foundation.core';\nimport { Box } from '../../foundation.util.box';\n\nFoundation.Box = Box;\n\nexport { Foundation, Box };\n","'use strict';\n\n\nimport { rtl as Rtl } from \"./foundation.core.utils\";\n\nvar Box = {\n ImNotTouchingYou: ImNotTouchingYou,\n OverlapArea: OverlapArea,\n GetDimensions: GetDimensions,\n GetExplicitOffsets: GetExplicitOffsets\n}\n\n/**\n * Compares the dimensions of an element to a container and determines collision events with container.\n * @function\n * @param {jQuery} element - jQuery object to test for collisions.\n * @param {jQuery} parent - jQuery object to use as bounding container.\n * @param {Boolean} lrOnly - set to true to check left and right values only.\n * @param {Boolean} tbOnly - set to true to check top and bottom values only.\n * @default if no parent object passed, detects collisions with `window`.\n * @returns {Boolean} - true if collision free, false if a collision in any direction.\n */\nfunction ImNotTouchingYou(element, parent, lrOnly, tbOnly, ignoreBottom) {\n return OverlapArea(element, parent, lrOnly, tbOnly, ignoreBottom) === 0;\n};\n\nfunction OverlapArea(element, parent, lrOnly, tbOnly, ignoreBottom) {\n var eleDims = GetDimensions(element),\n topOver, bottomOver, leftOver, rightOver;\n if (parent) {\n var parDims = GetDimensions(parent);\n\n bottomOver = (parDims.height + parDims.offset.top) - (eleDims.offset.top + eleDims.height);\n topOver = eleDims.offset.top - parDims.offset.top;\n leftOver = eleDims.offset.left - parDims.offset.left;\n rightOver = (parDims.width + parDims.offset.left) - (eleDims.offset.left + eleDims.width);\n }\n else {\n bottomOver = (eleDims.windowDims.height + eleDims.windowDims.offset.top) - (eleDims.offset.top + eleDims.height);\n topOver = eleDims.offset.top - eleDims.windowDims.offset.top;\n leftOver = eleDims.offset.left - eleDims.windowDims.offset.left;\n rightOver = eleDims.windowDims.width - (eleDims.offset.left + eleDims.width);\n }\n\n bottomOver = ignoreBottom ? 0 : Math.min(bottomOver, 0);\n topOver = Math.min(topOver, 0);\n leftOver = Math.min(leftOver, 0);\n rightOver = Math.min(rightOver, 0);\n\n if (lrOnly) {\n return leftOver + rightOver;\n }\n if (tbOnly) {\n return topOver + bottomOver;\n }\n\n // use sum of squares b/c we care about overlap area.\n return Math.sqrt((topOver * topOver) + (bottomOver * bottomOver) + (leftOver * leftOver) + (rightOver * rightOver));\n}\n\n/**\n * Uses native methods to return an object of dimension values.\n * @function\n * @param {jQuery || HTML} element - jQuery object or DOM element for which to get the dimensions. Can be any element other that document or window.\n * @returns {Object} - nested object of integer pixel values\n * TODO - if element is window, return only those values.\n */\nfunction GetDimensions(elem){\n elem = elem.length ? elem[0] : elem;\n\n if (elem === window || elem === document) {\n throw new Error(\"I'm sorry, Dave. I'm afraid I can't do that.\");\n }\n\n var rect = elem.getBoundingClientRect(),\n parRect = elem.parentNode.getBoundingClientRect(),\n winRect = document.body.getBoundingClientRect(),\n winY = window.pageYOffset,\n winX = window.pageXOffset;\n\n return {\n width: rect.width,\n height: rect.height,\n offset: {\n top: rect.top + winY,\n left: rect.left + winX\n },\n parentDims: {\n width: parRect.width,\n height: parRect.height,\n offset: {\n top: parRect.top + winY,\n left: parRect.left + winX\n }\n },\n windowDims: {\n width: winRect.width,\n height: winRect.height,\n offset: {\n top: winY,\n left: winX\n }\n }\n }\n}\n\n/**\n * Returns an object of top and left integer pixel values for dynamically rendered elements,\n * such as: Tooltip, Reveal, and Dropdown. Maintained for backwards compatibility, and where\n * you don't know alignment, but generally from\n * 6.4 forward you should use GetExplicitOffsets, as GetOffsets conflates position and alignment.\n * @function\n * @param {jQuery} element - jQuery object for the element being positioned.\n * @param {jQuery} anchor - jQuery object for the element's anchor point.\n * @param {String} position - a string relating to the desired position of the element, relative to it's anchor\n * @param {Number} vOffset - integer pixel value of desired vertical separation between anchor and element.\n * @param {Number} hOffset - integer pixel value of desired horizontal separation between anchor and element.\n * @param {Boolean} isOverflow - if a collision event is detected, sets to true to default the element to full width - any desired offset.\n * TODO alter/rewrite to work with `em` values as well/instead of pixels\n */\nfunction GetExplicitOffsets(element, anchor, position, alignment, vOffset, hOffset, isOverflow) {\n var $eleDims = GetDimensions(element),\n $anchorDims = anchor ? GetDimensions(anchor) : null;\n\n var topVal, leftVal;\n\n // set position related attribute\n\n switch (position) {\n case 'top':\n topVal = $anchorDims.offset.top - ($eleDims.height + vOffset);\n break;\n case 'bottom':\n topVal = $anchorDims.offset.top + $anchorDims.height + vOffset;\n break;\n case 'left':\n leftVal = $anchorDims.offset.left - ($eleDims.width + hOffset);\n break;\n case 'right':\n leftVal = $anchorDims.offset.left + $anchorDims.width + hOffset;\n break;\n }\n\n\n // set alignment related attribute\n switch (position) {\n case 'top':\n case 'bottom':\n switch (alignment) {\n case 'left':\n leftVal = $anchorDims.offset.left + hOffset;\n break;\n case 'right':\n leftVal = $anchorDims.offset.left - $eleDims.width + $anchorDims.width - hOffset;\n break;\n case 'center':\n leftVal = isOverflow ? hOffset : (($anchorDims.offset.left + ($anchorDims.width / 2)) - ($eleDims.width / 2)) + hOffset;\n break;\n }\n break;\n case 'right':\n case 'left':\n switch (alignment) {\n case 'bottom':\n topVal = $anchorDims.offset.top - vOffset + $anchorDims.height - $eleDims.height;\n break;\n case 'top':\n topVal = $anchorDims.offset.top + vOffset\n break;\n case 'center':\n topVal = ($anchorDims.offset.top + vOffset + ($anchorDims.height / 2)) - ($eleDims.height / 2)\n break;\n }\n break;\n }\n return {top: topVal, left: leftVal};\n}\n\nexport {Box};\n"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("./foundation.core")):"function"==typeof define&&define.amd?define(["./foundation.core"],e):"object"==typeof exports?exports["foundation.util.box"]=e(require("./foundation.core")):(t.__FOUNDATION_EXTERNAL__=t.__FOUNDATION_EXTERNAL__||{},t.__FOUNDATION_EXTERNAL__["foundation.util.box"]=e(t.__FOUNDATION_EXTERNAL__["foundation.core"]))}(window,function(o){return function(o){var i={};function n(t){if(i[t])return i[t].exports;var e=i[t]={i:t,l:!1,exports:{}};return o[t].call(e.exports,e,e.exports,n),e.l=!0,e.exports}return n.m=o,n.c=i,n.d=function(t,e,o){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:o})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(o,i,function(t){return e[t]}.bind(null,i));return o},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=21)}({"./foundation.core":function(t,e){t.exports=o},"./js/entries/plugins/foundation.util.box.js":function(t,e,o){"use strict";o.r(e);var i=o("./foundation.core");o.d(e,"Foundation",function(){return i.Foundation});var n=o("./js/foundation.util.box.js");o.d(e,"Box",function(){return n.Box}),i.Foundation.Box=n.Box},"./js/foundation.util.box.js":function(t,e,o){"use strict";o.r(e),o.d(e,"Box",function(){return i});var r=o("./foundation.core"),i={ImNotTouchingYou:function(t,e,o,i,n){return 0===f(t,e,o,i,n)},OverlapArea:f,GetDimensions:l,GetOffsets:function(t,e,o,i,n,f){switch(console.log("NOTE: GetOffsets is deprecated in favor of GetExplicitOffsets and will be removed in 6.5"),o){case"top":return Object(r.rtl)()?s(t,e,"top","left",i,n,f):s(t,e,"top","right",i,n,f);case"bottom":return Object(r.rtl)()?s(t,e,"bottom","left",i,n,f):s(t,e,"bottom","right",i,n,f);case"center top":return s(t,e,"top","center",i,n,f);case"center bottom":return s(t,e,"bottom","center",i,n,f);case"center left":return s(t,e,"left","center",i,n,f);case"center right":return s(t,e,"right","center",i,n,f);case"left bottom":return s(t,e,"bottom","left",i,n,f);case"right bottom":return s(t,e,"bottom","right",i,n,f);case"center":return{left:$eleDims.windowDims.offset.left+$eleDims.windowDims.width/2-$eleDims.width/2+n,top:$eleDims.windowDims.offset.top+$eleDims.windowDims.height/2-($eleDims.height/2+i)};case"reveal":return{left:($eleDims.windowDims.width-$eleDims.width)/2+n,top:$eleDims.windowDims.offset.top+i};case"reveal full":return{left:$eleDims.windowDims.offset.left,top:$eleDims.windowDims.offset.top};default:return{left:Object(r.rtl)()?$anchorDims.offset.left-$eleDims.width+$anchorDims.width-n:$anchorDims.offset.left+n,top:$anchorDims.offset.top+$anchorDims.height+i}}},GetExplicitOffsets:s};function f(t,e,o,i,n){var f,r,s,u,c=l(t);if(e){var a=l(e);r=a.height+a.offset.top-(c.offset.top+c.height),f=c.offset.top-a.offset.top,s=c.offset.left-a.offset.left,u=a.width+a.offset.left-(c.offset.left+c.width)}else r=c.windowDims.height+c.windowDims.offset.top-(c.offset.top+c.height),f=c.offset.top-c.windowDims.offset.top,s=c.offset.left-c.windowDims.offset.left,u=c.windowDims.width-(c.offset.left+c.width);return r=n?0:Math.min(r,0),f=Math.min(f,0),s=Math.min(s,0),u=Math.min(u,0),o?s+u:i?f+r:Math.sqrt(f*f+r*r+s*s+u*u)}function l(t){if((t=t.length?t[0]:t)===window||t===document)throw new Error("I'm sorry, Dave. I'm afraid I can't do that.");var e=t.getBoundingClientRect(),o=t.parentNode.getBoundingClientRect(),i=document.body.getBoundingClientRect(),n=window.pageYOffset,f=window.pageXOffset;return{width:e.width,height:e.height,offset:{top:e.top+n,left:e.left+f},parentDims:{width:o.width,height:o.height,offset:{top:o.top+n,left:o.left+f}},windowDims:{width:i.width,height:i.height,offset:{top:n,left:f}}}}function s(t,e,o,i,n,f,r){var s,u,c=l(t),a=e?l(e):null;switch(o){case"top":s=a.offset.top-(c.height+n);break;case"bottom":s=a.offset.top+a.height+n;break;case"left":u=a.offset.left-(c.width+f);break;case"right":u=a.offset.left+a.width+f}switch(o){case"top":case"bottom":switch(i){case"left":u=a.offset.left+f;break;case"right":u=a.offset.left-c.width+a.width-f;break;case"center":u=r?f:a.offset.left+a.width/2-c.width/2+f}break;case"right":case"left":switch(i){case"bottom":s=a.offset.top-n+a.height-c.height;break;case"top":s=a.offset.top+n;break;case"center":s=a.offset.top+n+a.height/2-c.height/2}}return{top:s,left:u}}},21:function(t,e,o){t.exports=o("./js/entries/plugins/foundation.util.box.js")}})});
1
+ !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("./foundation.core")):"function"==typeof define&&define.amd?define(["./foundation.core"],e):"object"==typeof exports?exports["foundation.util.box"]=e(require("./foundation.core")):(t.__FOUNDATION_EXTERNAL__=t.__FOUNDATION_EXTERNAL__||{},t.__FOUNDATION_EXTERNAL__["foundation.util.box"]=e(t.__FOUNDATION_EXTERNAL__["foundation.core"]))}(window,function(o){return f={},i.m=n={"./foundation.core":function(t,e){t.exports=o},"./js/entries/plugins/foundation.util.box.js":function(t,e,o){"use strict";o.r(e);var n=o("./foundation.core");o.d(e,"Foundation",function(){return n.Foundation});var i=o("./js/foundation.util.box.js");o.d(e,"Box",function(){return i.Box}),n.Foundation.Box=i.Box},"./js/foundation.util.box.js":function(t,e,o){"use strict";o.r(e),o.d(e,"Box",function(){return n});o("./foundation.core");var n={ImNotTouchingYou:function(t,e,o,n,i){return 0===f(t,e,o,n,i)},OverlapArea:f,GetDimensions:c,GetExplicitOffsets:function(t,e,o,n,i,f,r){var s,u,a=c(t),d=e?c(e):null;switch(o){case"top":s=d.offset.top-(a.height+i);break;case"bottom":s=d.offset.top+d.height+i;break;case"left":u=d.offset.left-(a.width+f);break;case"right":u=d.offset.left+d.width+f}switch(o){case"top":case"bottom":switch(n){case"left":u=d.offset.left+f;break;case"right":u=d.offset.left-a.width+d.width-f;break;case"center":u=r?f:d.offset.left+d.width/2-a.width/2+f}break;case"right":case"left":switch(n){case"bottom":s=d.offset.top-i+d.height-a.height;break;case"top":s=d.offset.top+i;break;case"center":s=d.offset.top+i+d.height/2-a.height/2}}return{top:s,left:u}}};function f(t,e,o,n,i){var f,r,s,u,a=c(t);if(e){var d=c(e);r=d.height+d.offset.top-(a.offset.top+a.height),f=a.offset.top-d.offset.top,s=a.offset.left-d.offset.left,u=d.width+d.offset.left-(a.offset.left+a.width)}else r=a.windowDims.height+a.windowDims.offset.top-(a.offset.top+a.height),f=a.offset.top-a.windowDims.offset.top,s=a.offset.left-a.windowDims.offset.left,u=a.windowDims.width-(a.offset.left+a.width);return r=i?0:Math.min(r,0),f=Math.min(f,0),s=Math.min(s,0),u=Math.min(u,0),o?s+u:n?f+r:Math.sqrt(f*f+r*r+s*s+u*u)}function c(t){if((t=t.length?t[0]:t)===window||t===document)throw new Error("I'm sorry, Dave. I'm afraid I can't do that.");var e=t.getBoundingClientRect(),o=t.parentNode.getBoundingClientRect(),n=document.body.getBoundingClientRect(),i=window.pageYOffset,f=window.pageXOffset;return{width:e.width,height:e.height,offset:{top:e.top+i,left:e.left+f},parentDims:{width:o.width,height:o.height,offset:{top:o.top+i,left:o.left+f}},windowDims:{width:n.width,height:n.height,offset:{top:i,left:f}}}}},21:function(t,e,o){t.exports=o("./js/entries/plugins/foundation.util.box.js")}},i.c=f,i.d=function(t,e,o){i.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:o})},i.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(i.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)i.d(o,n,function(t){return e[t]}.bind(null,n));return o},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p="",i(i.s=21);function i(t){if(f[t])return f[t].exports;var e=f[t]={i:t,l:!1,exports:{}};return n[t].call(e.exports,e,e.exports,i),e.l=!0,e.exports}var n,f});
2
2
  //# sourceMappingURL=foundation.util.box.min.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/universalModuleDefinition","webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/bootstrap","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/js/entries/plugins/foundation.util.box.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.util.box.js"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__foundation_core__","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","__webpack_exports__","_foundation_core__WEBPACK_IMPORTED_MODULE_0__","_foundation_util_box__WEBPACK_IMPORTED_MODULE_1__","Foundation","Box","_foundation_core_utils__WEBPACK_IMPORTED_MODULE_0__","ImNotTouchingYou","element","parent","lrOnly","tbOnly","ignoreBottom","OverlapArea","GetDimensions","GetOffsets","anchor","position","vOffset","hOffset","isOverflow","console","log","Rtl","GetExplicitOffsets","left","$eleDims","windowDims","offset","width","top","height","$anchorDims","topOver","bottomOver","leftOver","rightOver","eleDims","parDims","Math","min","sqrt","elem","length","document","Error","rect","getBoundingClientRect","parRect","parentNode","winRect","body","winY","pageYOffset","winX","pageXOffset","parentDims","alignment","topVal","leftVal"],"mappings":"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","file":"foundation.util.box.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.util.box\"] = factory(require(\"./foundation.core\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.box\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__) {\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 = 21);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","import { Foundation } from './foundation.core';\nimport { Box } from '../../foundation.util.box';\n\nFoundation.Box = Box;\n\nexport { Foundation, Box };\n","'use strict';\n\n\nimport { rtl as Rtl } from \"./foundation.core.utils\";\n\nvar Box = {\n ImNotTouchingYou: ImNotTouchingYou,\n OverlapArea: OverlapArea,\n GetDimensions: GetDimensions,\n GetOffsets: GetOffsets,\n GetExplicitOffsets: GetExplicitOffsets\n}\n\n/**\n * Compares the dimensions of an element to a container and determines collision events with container.\n * @function\n * @param {jQuery} element - jQuery object to test for collisions.\n * @param {jQuery} parent - jQuery object to use as bounding container.\n * @param {Boolean} lrOnly - set to true to check left and right values only.\n * @param {Boolean} tbOnly - set to true to check top and bottom values only.\n * @default if no parent object passed, detects collisions with `window`.\n * @returns {Boolean} - true if collision free, false if a collision in any direction.\n */\nfunction ImNotTouchingYou(element, parent, lrOnly, tbOnly, ignoreBottom) {\n return OverlapArea(element, parent, lrOnly, tbOnly, ignoreBottom) === 0;\n};\n\nfunction OverlapArea(element, parent, lrOnly, tbOnly, ignoreBottom) {\n var eleDims = GetDimensions(element),\n topOver, bottomOver, leftOver, rightOver;\n if (parent) {\n var parDims = GetDimensions(parent);\n\n bottomOver = (parDims.height + parDims.offset.top) - (eleDims.offset.top + eleDims.height);\n topOver = eleDims.offset.top - parDims.offset.top;\n leftOver = eleDims.offset.left - parDims.offset.left;\n rightOver = (parDims.width + parDims.offset.left) - (eleDims.offset.left + eleDims.width);\n }\n else {\n bottomOver = (eleDims.windowDims.height + eleDims.windowDims.offset.top) - (eleDims.offset.top + eleDims.height);\n topOver = eleDims.offset.top - eleDims.windowDims.offset.top;\n leftOver = eleDims.offset.left - eleDims.windowDims.offset.left;\n rightOver = eleDims.windowDims.width - (eleDims.offset.left + eleDims.width);\n }\n\n bottomOver = ignoreBottom ? 0 : Math.min(bottomOver, 0);\n topOver = Math.min(topOver, 0);\n leftOver = Math.min(leftOver, 0);\n rightOver = Math.min(rightOver, 0);\n\n if (lrOnly) {\n return leftOver + rightOver;\n }\n if (tbOnly) {\n return topOver + bottomOver;\n }\n\n // use sum of squares b/c we care about overlap area.\n return Math.sqrt((topOver * topOver) + (bottomOver * bottomOver) + (leftOver * leftOver) + (rightOver * rightOver));\n}\n\n/**\n * Uses native methods to return an object of dimension values.\n * @function\n * @param {jQuery || HTML} element - jQuery object or DOM element for which to get the dimensions. Can be any element other that document or window.\n * @returns {Object} - nested object of integer pixel values\n * TODO - if element is window, return only those values.\n */\nfunction GetDimensions(elem){\n elem = elem.length ? elem[0] : elem;\n\n if (elem === window || elem === document) {\n throw new Error(\"I'm sorry, Dave. I'm afraid I can't do that.\");\n }\n\n var rect = elem.getBoundingClientRect(),\n parRect = elem.parentNode.getBoundingClientRect(),\n winRect = document.body.getBoundingClientRect(),\n winY = window.pageYOffset,\n winX = window.pageXOffset;\n\n return {\n width: rect.width,\n height: rect.height,\n offset: {\n top: rect.top + winY,\n left: rect.left + winX\n },\n parentDims: {\n width: parRect.width,\n height: parRect.height,\n offset: {\n top: parRect.top + winY,\n left: parRect.left + winX\n }\n },\n windowDims: {\n width: winRect.width,\n height: winRect.height,\n offset: {\n top: winY,\n left: winX\n }\n }\n }\n}\n\n/**\n * Returns an object of top and left integer pixel values for dynamically rendered elements,\n * such as: Tooltip, Reveal, and Dropdown. Maintained for backwards compatibility, and where\n * you don't know alignment, but generally from\n * 6.4 forward you should use GetExplicitOffsets, as GetOffsets conflates position and alignment.\n * @function\n * @param {jQuery} element - jQuery object for the element being positioned.\n * @param {jQuery} anchor - jQuery object for the element's anchor point.\n * @param {String} position - a string relating to the desired position of the element, relative to it's anchor\n * @param {Number} vOffset - integer pixel value of desired vertical separation between anchor and element.\n * @param {Number} hOffset - integer pixel value of desired horizontal separation between anchor and element.\n * @param {Boolean} isOverflow - if a collision event is detected, sets to true to default the element to full width - any desired offset.\n * TODO alter/rewrite to work with `em` values as well/instead of pixels\n */\nfunction GetOffsets(element, anchor, position, vOffset, hOffset, isOverflow) {\n console.log(\"NOTE: GetOffsets is deprecated in favor of GetExplicitOffsets and will be removed in 6.5\");\n switch (position) {\n case 'top':\n return Rtl() ?\n GetExplicitOffsets(element, anchor, 'top', 'left', vOffset, hOffset, isOverflow) :\n GetExplicitOffsets(element, anchor, 'top', 'right', vOffset, hOffset, isOverflow);\n case 'bottom':\n return Rtl() ?\n GetExplicitOffsets(element, anchor, 'bottom', 'left', vOffset, hOffset, isOverflow) :\n GetExplicitOffsets(element, anchor, 'bottom', 'right', vOffset, hOffset, isOverflow);\n case 'center top':\n return GetExplicitOffsets(element, anchor, 'top', 'center', vOffset, hOffset, isOverflow);\n case 'center bottom':\n return GetExplicitOffsets(element, anchor, 'bottom', 'center', vOffset, hOffset, isOverflow);\n case 'center left':\n return GetExplicitOffsets(element, anchor, 'left', 'center', vOffset, hOffset, isOverflow);\n case 'center right':\n return GetExplicitOffsets(element, anchor, 'right', 'center', vOffset, hOffset, isOverflow);\n case 'left bottom':\n return GetExplicitOffsets(element, anchor, 'bottom', 'left', vOffset, hOffset, isOverflow);\n case 'right bottom':\n return GetExplicitOffsets(element, anchor, 'bottom', 'right', vOffset, hOffset, isOverflow);\n // Backwards compatibility... this along with the reveal and reveal full\n // classes are the only ones that didn't reference anchor\n case 'center':\n return {\n left: ($eleDims.windowDims.offset.left + ($eleDims.windowDims.width / 2)) - ($eleDims.width / 2) + hOffset,\n top: ($eleDims.windowDims.offset.top + ($eleDims.windowDims.height / 2)) - ($eleDims.height / 2 + vOffset)\n }\n case 'reveal':\n return {\n left: ($eleDims.windowDims.width - $eleDims.width) / 2 + hOffset,\n top: $eleDims.windowDims.offset.top + vOffset\n }\n case 'reveal full':\n return {\n left: $eleDims.windowDims.offset.left,\n top: $eleDims.windowDims.offset.top\n }\n break;\n default:\n return {\n left: (Rtl() ? $anchorDims.offset.left - $eleDims.width + $anchorDims.width - hOffset: $anchorDims.offset.left + hOffset),\n top: $anchorDims.offset.top + $anchorDims.height + vOffset\n }\n\n }\n\n}\n\nfunction GetExplicitOffsets(element, anchor, position, alignment, vOffset, hOffset, isOverflow) {\n var $eleDims = GetDimensions(element),\n $anchorDims = anchor ? GetDimensions(anchor) : null;\n\n var topVal, leftVal;\n\n // set position related attribute\n\n switch (position) {\n case 'top':\n topVal = $anchorDims.offset.top - ($eleDims.height + vOffset);\n break;\n case 'bottom':\n topVal = $anchorDims.offset.top + $anchorDims.height + vOffset;\n break;\n case 'left':\n leftVal = $anchorDims.offset.left - ($eleDims.width + hOffset);\n break;\n case 'right':\n leftVal = $anchorDims.offset.left + $anchorDims.width + hOffset;\n break;\n }\n\n\n // set alignment related attribute\n switch (position) {\n case 'top':\n case 'bottom':\n switch (alignment) {\n case 'left':\n leftVal = $anchorDims.offset.left + hOffset;\n break;\n case 'right':\n leftVal = $anchorDims.offset.left - $eleDims.width + $anchorDims.width - hOffset;\n break;\n case 'center':\n leftVal = isOverflow ? hOffset : (($anchorDims.offset.left + ($anchorDims.width / 2)) - ($eleDims.width / 2)) + hOffset;\n break;\n }\n break;\n case 'right':\n case 'left':\n switch (alignment) {\n case 'bottom':\n topVal = $anchorDims.offset.top - vOffset + $anchorDims.height - $eleDims.height;\n break;\n case 'top':\n topVal = $anchorDims.offset.top + vOffset\n break;\n case 'center':\n topVal = ($anchorDims.offset.top + vOffset + ($anchorDims.height / 2)) - ($eleDims.height / 2)\n break;\n }\n break;\n }\n return {top: topVal, left: leftVal};\n}\n\nexport {Box};\n"]}
1
+ {"version":3,"sources":["webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/universalModuleDefinition","webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/bootstrap","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/js/entries/plugins/foundation.util.box.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.util.box.js"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__foundation_core__","installedModules","__webpack_require__","m","r","__webpack_exports__","_foundation_core__WEBPACK_IMPORTED_MODULE_0__","d","_foundation_util_box__WEBPACK_IMPORTED_MODULE_1__","Foundation","Box","ImNotTouchingYou","element","parent","lrOnly","tbOnly","ignoreBottom","OverlapArea","GetDimensions","GetExplicitOffsets","anchor","position","alignment","vOffset","hOffset","isOverflow","topVal","leftVal","$eleDims","$anchorDims","offset","top","height","left","width","topOver","bottomOver","leftOver","rightOver","eleDims","parDims","windowDims","Math","min","sqrt","elem","length","document","Error","rect","getBoundingClientRect","parRect","parentNode","winRect","body","winY","pageYOffset","winX","pageXOffset","parentDims","c","name","getter","o","Object","defineProperty","enumerable","get","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","call","p","s","moduleId","i","l","modules"],"mappings":"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","file":"foundation.util.box.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.util.box\"] = factory(require(\"./foundation.core\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.box\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__) {\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 = 21);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","import { Foundation } from './foundation.core';\nimport { Box } from '../../foundation.util.box';\n\nFoundation.Box = Box;\n\nexport { Foundation, Box };\n","'use strict';\n\n\nimport { rtl as Rtl } from \"./foundation.core.utils\";\n\nvar Box = {\n ImNotTouchingYou: ImNotTouchingYou,\n OverlapArea: OverlapArea,\n GetDimensions: GetDimensions,\n GetExplicitOffsets: GetExplicitOffsets\n}\n\n/**\n * Compares the dimensions of an element to a container and determines collision events with container.\n * @function\n * @param {jQuery} element - jQuery object to test for collisions.\n * @param {jQuery} parent - jQuery object to use as bounding container.\n * @param {Boolean} lrOnly - set to true to check left and right values only.\n * @param {Boolean} tbOnly - set to true to check top and bottom values only.\n * @default if no parent object passed, detects collisions with `window`.\n * @returns {Boolean} - true if collision free, false if a collision in any direction.\n */\nfunction ImNotTouchingYou(element, parent, lrOnly, tbOnly, ignoreBottom) {\n return OverlapArea(element, parent, lrOnly, tbOnly, ignoreBottom) === 0;\n};\n\nfunction OverlapArea(element, parent, lrOnly, tbOnly, ignoreBottom) {\n var eleDims = GetDimensions(element),\n topOver, bottomOver, leftOver, rightOver;\n if (parent) {\n var parDims = GetDimensions(parent);\n\n bottomOver = (parDims.height + parDims.offset.top) - (eleDims.offset.top + eleDims.height);\n topOver = eleDims.offset.top - parDims.offset.top;\n leftOver = eleDims.offset.left - parDims.offset.left;\n rightOver = (parDims.width + parDims.offset.left) - (eleDims.offset.left + eleDims.width);\n }\n else {\n bottomOver = (eleDims.windowDims.height + eleDims.windowDims.offset.top) - (eleDims.offset.top + eleDims.height);\n topOver = eleDims.offset.top - eleDims.windowDims.offset.top;\n leftOver = eleDims.offset.left - eleDims.windowDims.offset.left;\n rightOver = eleDims.windowDims.width - (eleDims.offset.left + eleDims.width);\n }\n\n bottomOver = ignoreBottom ? 0 : Math.min(bottomOver, 0);\n topOver = Math.min(topOver, 0);\n leftOver = Math.min(leftOver, 0);\n rightOver = Math.min(rightOver, 0);\n\n if (lrOnly) {\n return leftOver + rightOver;\n }\n if (tbOnly) {\n return topOver + bottomOver;\n }\n\n // use sum of squares b/c we care about overlap area.\n return Math.sqrt((topOver * topOver) + (bottomOver * bottomOver) + (leftOver * leftOver) + (rightOver * rightOver));\n}\n\n/**\n * Uses native methods to return an object of dimension values.\n * @function\n * @param {jQuery || HTML} element - jQuery object or DOM element for which to get the dimensions. Can be any element other that document or window.\n * @returns {Object} - nested object of integer pixel values\n * TODO - if element is window, return only those values.\n */\nfunction GetDimensions(elem){\n elem = elem.length ? elem[0] : elem;\n\n if (elem === window || elem === document) {\n throw new Error(\"I'm sorry, Dave. I'm afraid I can't do that.\");\n }\n\n var rect = elem.getBoundingClientRect(),\n parRect = elem.parentNode.getBoundingClientRect(),\n winRect = document.body.getBoundingClientRect(),\n winY = window.pageYOffset,\n winX = window.pageXOffset;\n\n return {\n width: rect.width,\n height: rect.height,\n offset: {\n top: rect.top + winY,\n left: rect.left + winX\n },\n parentDims: {\n width: parRect.width,\n height: parRect.height,\n offset: {\n top: parRect.top + winY,\n left: parRect.left + winX\n }\n },\n windowDims: {\n width: winRect.width,\n height: winRect.height,\n offset: {\n top: winY,\n left: winX\n }\n }\n }\n}\n\n/**\n * Returns an object of top and left integer pixel values for dynamically rendered elements,\n * such as: Tooltip, Reveal, and Dropdown. Maintained for backwards compatibility, and where\n * you don't know alignment, but generally from\n * 6.4 forward you should use GetExplicitOffsets, as GetOffsets conflates position and alignment.\n * @function\n * @param {jQuery} element - jQuery object for the element being positioned.\n * @param {jQuery} anchor - jQuery object for the element's anchor point.\n * @param {String} position - a string relating to the desired position of the element, relative to it's anchor\n * @param {Number} vOffset - integer pixel value of desired vertical separation between anchor and element.\n * @param {Number} hOffset - integer pixel value of desired horizontal separation between anchor and element.\n * @param {Boolean} isOverflow - if a collision event is detected, sets to true to default the element to full width - any desired offset.\n * TODO alter/rewrite to work with `em` values as well/instead of pixels\n */\nfunction GetExplicitOffsets(element, anchor, position, alignment, vOffset, hOffset, isOverflow) {\n var $eleDims = GetDimensions(element),\n $anchorDims = anchor ? GetDimensions(anchor) : null;\n\n var topVal, leftVal;\n\n // set position related attribute\n\n switch (position) {\n case 'top':\n topVal = $anchorDims.offset.top - ($eleDims.height + vOffset);\n break;\n case 'bottom':\n topVal = $anchorDims.offset.top + $anchorDims.height + vOffset;\n break;\n case 'left':\n leftVal = $anchorDims.offset.left - ($eleDims.width + hOffset);\n break;\n case 'right':\n leftVal = $anchorDims.offset.left + $anchorDims.width + hOffset;\n break;\n }\n\n\n // set alignment related attribute\n switch (position) {\n case 'top':\n case 'bottom':\n switch (alignment) {\n case 'left':\n leftVal = $anchorDims.offset.left + hOffset;\n break;\n case 'right':\n leftVal = $anchorDims.offset.left - $eleDims.width + $anchorDims.width - hOffset;\n break;\n case 'center':\n leftVal = isOverflow ? hOffset : (($anchorDims.offset.left + ($anchorDims.width / 2)) - ($eleDims.width / 2)) + hOffset;\n break;\n }\n break;\n case 'right':\n case 'left':\n switch (alignment) {\n case 'bottom':\n topVal = $anchorDims.offset.top - vOffset + $anchorDims.height - $eleDims.height;\n break;\n case 'top':\n topVal = $anchorDims.offset.top + vOffset\n break;\n case 'center':\n topVal = ($anchorDims.offset.top + vOffset + ($anchorDims.height / 2)) - ($eleDims.height / 2)\n break;\n }\n break;\n }\n return {top: topVal, left: leftVal};\n}\n\nexport {Box};\n"]}
@@ -197,7 +197,7 @@ function onImagesLoaded(images, callback) {
197
197
  /*! no static exports found */
198
198
  /***/ (function(module, exports, __webpack_require__) {
199
199
 
200
- module.exports = __webpack_require__(/*! /Users/ncoden/Documents/Documents/Projects/Programmation/Web/2016/Foundation/foundation-sites/js/entries/plugins/foundation.util.imageLoader.js */"./js/entries/plugins/foundation.util.imageLoader.js");
200
+ module.exports = __webpack_require__(/*! /Volumes/Data/Development/Foundation/foundation-sites/js/entries/plugins/foundation.util.imageLoader.js */"./js/entries/plugins/foundation.util.imageLoader.js");
201
201
 
202
202
 
203
203
  /***/ }),
@@ -1,2 +1,2 @@
1
- !function(e,n){"object"==typeof exports&&"object"==typeof module?module.exports=n(require("./foundation.core"),require("jquery")):"function"==typeof define&&define.amd?define(["./foundation.core","jquery"],n):"object"==typeof exports?exports["foundation.util.imageLoader"]=n(require("./foundation.core"),require("jquery")):(e.__FOUNDATION_EXTERNAL__=e.__FOUNDATION_EXTERNAL__||{},e.__FOUNDATION_EXTERNAL__["foundation.util.imageLoader"]=n(e.__FOUNDATION_EXTERNAL__["foundation.core"],e.jQuery))}(window,function(o,t){return function(o){var t={};function r(e){if(t[e])return t[e].exports;var n=t[e]={i:e,l:!1,exports:{}};return o[e].call(n.exports,n,n.exports,r),n.l=!0,n.exports}return r.m=o,r.c=t,r.d=function(e,n,o){r.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:o})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(n,e){if(1&e&&(n=r(n)),8&e)return n;if(4&e&&"object"==typeof n&&n&&n.__esModule)return n;var o=Object.create(null);if(r.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:n}),2&e&&"string"!=typeof n)for(var t in n)r.d(o,t,function(e){return n[e]}.bind(null,t));return o},r.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(n,"a",n),n},r.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},r.p="",r(r.s=22)}({"./foundation.core":function(e,n){e.exports=o},"./js/entries/plugins/foundation.util.imageLoader.js":function(e,n,o){"use strict";o.r(n);var t=o("./foundation.core");o.d(n,"Foundation",function(){return t.Foundation});var r=o("./js/foundation.util.imageLoader.js");o.d(n,"onImagesLoaded",function(){return r.onImagesLoaded}),t.Foundation.onImagesLoaded=r.onImagesLoaded},"./js/foundation.util.imageLoader.js":function(e,n,o){"use strict";o.r(n),o.d(n,"onImagesLoaded",function(){return u});var t=o("jquery"),r=o.n(t);function u(e,n){var o=e.length;function t(){0===--o&&n()}0===o&&n(),e.each(function(){if(this.complete&&void 0!==this.naturalWidth)t();else{var e=new Image,o="load.zf.images error.zf.images";r()(e).one(o,function e(n){r()(this).off(o,e),t()}),e.src=r()(this).attr("src")}})}},22:function(e,n,o){e.exports=o("./js/entries/plugins/foundation.util.imageLoader.js")},jquery:function(e,n){e.exports=t}})});
1
+ !function(e,n){"object"==typeof exports&&"object"==typeof module?module.exports=n(require("./foundation.core"),require("jquery")):"function"==typeof define&&define.amd?define(["./foundation.core","jquery"],n):"object"==typeof exports?exports["foundation.util.imageLoader"]=n(require("./foundation.core"),require("jquery")):(e.__FOUNDATION_EXTERNAL__=e.__FOUNDATION_EXTERNAL__||{},e.__FOUNDATION_EXTERNAL__["foundation.util.imageLoader"]=n(e.__FOUNDATION_EXTERNAL__["foundation.core"],e.jQuery))}(window,function(o,t){return i={},r.m=u={"./foundation.core":function(e,n){e.exports=o},"./js/entries/plugins/foundation.util.imageLoader.js":function(e,n,o){"use strict";o.r(n);var t=o("./foundation.core");o.d(n,"Foundation",function(){return t.Foundation});var r=o("./js/foundation.util.imageLoader.js");o.d(n,"onImagesLoaded",function(){return r.onImagesLoaded}),t.Foundation.onImagesLoaded=r.onImagesLoaded},"./js/foundation.util.imageLoader.js":function(e,n,o){"use strict";o.r(n),o.d(n,"onImagesLoaded",function(){return u});var t=o("jquery"),r=o.n(t);function u(e,n){var o=e.length;function t(){0===--o&&n()}0===o&&n(),e.each(function(){if(this.complete&&void 0!==this.naturalWidth)t();else{var e=new Image,o="load.zf.images error.zf.images";r()(e).one(o,function e(n){r()(this).off(o,e),t()}),e.src=r()(this).attr("src")}})}},22:function(e,n,o){e.exports=o("./js/entries/plugins/foundation.util.imageLoader.js")},jquery:function(e,n){e.exports=t}},r.c=i,r.d=function(e,n,o){r.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:o})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(n,e){if(1&e&&(n=r(n)),8&e)return n;if(4&e&&"object"==typeof n&&n&&n.__esModule)return n;var o=Object.create(null);if(r.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:n}),2&e&&"string"!=typeof n)for(var t in n)r.d(o,t,function(e){return n[e]}.bind(null,t));return o},r.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(n,"a",n),n},r.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},r.p="",r(r.s=22);function r(e){if(i[e])return i[e].exports;var n=i[e]={i:e,l:!1,exports:{}};return u[e].call(n.exports,n,n.exports,r),n.l=!0,n.exports}var u,i});
2
2
  //# sourceMappingURL=foundation.util.imageLoader.min.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/universalModuleDefinition","webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/bootstrap","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/js/entries/plugins/foundation.util.imageLoader.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.util.imageLoader.js","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__foundation_core__","__WEBPACK_EXTERNAL_MODULE_jquery__","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","__webpack_exports__","_foundation_core__WEBPACK_IMPORTED_MODULE_0__","_foundation_util_imageLoader__WEBPACK_IMPORTED_MODULE_1__","Foundation","onImagesLoaded","jquery__WEBPACK_IMPORTED_MODULE_0__","jquery__WEBPACK_IMPORTED_MODULE_0___default","images","callback","unloaded","length","singleImageLoaded","each","this","complete","naturalWidth","image","Image","events","$","one","me","event","off","src","attr"],"mappings":"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","file":"foundation.util.imageLoader.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.util.imageLoader\"] = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.imageLoader\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE_jquery__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 22);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","import { Foundation } from './foundation.core';\n\nimport { onImagesLoaded } from '../../foundation.util.imageLoader';\n\nFoundation.onImagesLoaded = onImagesLoaded;\n\nexport { Foundation, onImagesLoaded };\n","'use strict';\n\nimport $ from 'jquery';\n\n/**\n * Runs a callback function when images are fully loaded.\n * @param {Object} images - Image(s) to check if loaded.\n * @param {Func} callback - Function to execute when image is fully loaded.\n */\nfunction onImagesLoaded(images, callback){\n var self = this,\n unloaded = images.length;\n\n if (unloaded === 0) {\n callback();\n }\n\n images.each(function(){\n // Check if image is loaded\n if (this.complete && typeof this.naturalWidth !== 'undefined') {\n singleImageLoaded();\n }\n else {\n // If the above check failed, simulate loading on detached element.\n var image = new Image();\n // Still count image as loaded if it finalizes with an error.\n var events = \"load.zf.images error.zf.images\";\n $(image).one(events, function me(event){\n // Unbind the event listeners. We're using 'one' but only one of the two events will have fired.\n $(this).off(events, me);\n singleImageLoaded();\n });\n image.src = $(this).attr('src');\n }\n });\n\n function singleImageLoaded() {\n unloaded--;\n if (unloaded === 0) {\n callback();\n }\n }\n}\n\nexport { onImagesLoaded };\n","module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;"]}
1
+ {"version":3,"sources":["webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/universalModuleDefinition","webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/bootstrap","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/js/entries/plugins/foundation.util.imageLoader.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.util.imageLoader.js","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__foundation_core__","__WEBPACK_EXTERNAL_MODULE_jquery__","installedModules","__webpack_require__","m","r","__webpack_exports__","_foundation_core__WEBPACK_IMPORTED_MODULE_0__","d","_foundation_util_imageLoader__WEBPACK_IMPORTED_MODULE_1__","Foundation","onImagesLoaded","jquery__WEBPACK_IMPORTED_MODULE_0__","jquery__WEBPACK_IMPORTED_MODULE_0___default","n","images","callback","unloaded","length","singleImageLoaded","each","this","complete","naturalWidth","image","Image","events","$","one","me","event","off","src","attr","c","name","getter","o","Object","defineProperty","enumerable","get","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","object","property","prototype","hasOwnProperty","call","p","s","moduleId","i","l","modules"],"mappings":"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","file":"foundation.util.imageLoader.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.util.imageLoader\"] = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.imageLoader\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE_jquery__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 22);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","import { Foundation } from './foundation.core';\n\nimport { onImagesLoaded } from '../../foundation.util.imageLoader';\n\nFoundation.onImagesLoaded = onImagesLoaded;\n\nexport { Foundation, onImagesLoaded };\n","'use strict';\n\nimport $ from 'jquery';\n\n/**\n * Runs a callback function when images are fully loaded.\n * @param {Object} images - Image(s) to check if loaded.\n * @param {Func} callback - Function to execute when image is fully loaded.\n */\nfunction onImagesLoaded(images, callback){\n var self = this,\n unloaded = images.length;\n\n if (unloaded === 0) {\n callback();\n }\n\n images.each(function(){\n // Check if image is loaded\n if (this.complete && typeof this.naturalWidth !== 'undefined') {\n singleImageLoaded();\n }\n else {\n // If the above check failed, simulate loading on detached element.\n var image = new Image();\n // Still count image as loaded if it finalizes with an error.\n var events = \"load.zf.images error.zf.images\";\n $(image).one(events, function me(event){\n // Unbind the event listeners. We're using 'one' but only one of the two events will have fired.\n $(this).off(events, me);\n singleImageLoaded();\n });\n image.src = $(this).attr('src');\n }\n });\n\n function singleImageLoaded() {\n unloaded--;\n if (unloaded === 0) {\n callback();\n }\n }\n}\n\nexport { onImagesLoaded };\n","module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;"]}
@@ -219,10 +219,11 @@ var Keyboard = {
219
219
  cmds,
220
220
  command,
221
221
  fn;
222
- if (!commandList) return console.warn('Component not defined!');
222
+ if (!commandList) return console.warn('Component not defined!'); // Ignore the event if it was already handled
223
+
224
+ if (event.zfIsKeyHandled === true) return; // This component does not differentiate between ltr and rtl
223
225
 
224
226
  if (typeof commandList.ltr === 'undefined') {
225
- // this component does not differentiate between ltr and rtl
226
227
  cmds = commandList; // use plain list
227
228
  } else {
228
229
  // merge ltr and rtl: if document is rtl, rtl overwrites ltr and vice versa
@@ -230,19 +231,19 @@ var Keyboard = {
230
231
  }
231
232
 
232
233
  command = cmds[keyCode];
233
- fn = functions[command];
234
+ fn = functions[command]; // Execute the handler if found
234
235
 
235
236
  if (fn && typeof fn === 'function') {
236
- // execute function if exists
237
- var returnValue = fn.apply();
237
+ var returnValue = fn.apply(); // Mark the event as "handled" to prevent future handlings
238
+
239
+ event.zfIsKeyHandled = true; // Execute function when event was handled
238
240
 
239
241
  if (functions.handled || typeof functions.handled === 'function') {
240
- // execute function when event was handled
241
242
  functions.handled(returnValue);
242
243
  }
243
244
  } else {
245
+ // Execute function when event was not handled
244
246
  if (functions.unhandled || typeof functions.unhandled === 'function') {
245
- // execute function when event was not handled
246
247
  functions.unhandled();
247
248
  }
248
249
  }
@@ -319,7 +320,7 @@ function getKeyCodes(kcs) {
319
320
  /*! no static exports found */
320
321
  /***/ (function(module, exports, __webpack_require__) {
321
322
 
322
- module.exports = __webpack_require__(/*! /Users/ncoden/Documents/Documents/Projects/Programmation/Web/2016/Foundation/foundation-sites/js/entries/plugins/foundation.util.keyboard.js */"./js/entries/plugins/foundation.util.keyboard.js");
323
+ module.exports = __webpack_require__(/*! /Volumes/Data/Development/Foundation/foundation-sites/js/entries/plugins/foundation.util.keyboard.js */"./js/entries/plugins/foundation.util.keyboard.js");
323
324
 
324
325
 
325
326
  /***/ }),
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/universalModuleDefinition","webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/bootstrap","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/entries/plugins/foundation.util.keyboard.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.util.keyboard.js","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}"],"names":["Foundation","Keyboard","keyCodes","commands","findFocusable","$element","find","filter","$","is","attr","parseKey","event","key","which","keyCode","String","fromCharCode","toUpperCase","replace","shiftKey","ctrlKey","altKey","keys","getKeyCodes","handleKey","component","functions","commandList","cmds","command","fn","console","warn","ltr","Rtl","extend","rtl","returnValue","apply","handled","unhandled","register","componentName","trapFocus","$focusable","$firstFocusable","eq","$lastFocusable","on","target","preventDefault","focus","releaseFocus","off","kcs","k","kc"],"mappings":"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","file":"foundation.util.keyboard.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.util.keyboard\"] = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.keyboard\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE_jquery__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 23);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","import { Foundation } from './foundation.core';\nimport { Keyboard } from '../../foundation.util.keyboard';\n\nFoundation.Keyboard = Keyboard;\n\nexport { Foundation, Keyboard };\n","/*******************************************\n * *\n * This util was created by Marius Olbertz *\n * Please thank Marius on GitHub /owlbertz *\n * or the web http://www.mariusolbertz.de/ *\n * *\n ******************************************/\n\n'use strict';\n\nimport $ from 'jquery';\nimport { rtl as Rtl } from './foundation.core.utils';\n\nconst keyCodes = {\n 9: 'TAB',\n 13: 'ENTER',\n 27: 'ESCAPE',\n 32: 'SPACE',\n 35: 'END',\n 36: 'HOME',\n 37: 'ARROW_LEFT',\n 38: 'ARROW_UP',\n 39: 'ARROW_RIGHT',\n 40: 'ARROW_DOWN'\n}\n\nvar commands = {}\n\n// Functions pulled out to be referenceable from internals\nfunction findFocusable($element) {\n if(!$element) {return false; }\n return $element.find('a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable]').filter(function() {\n if (!$(this).is(':visible') || $(this).attr('tabindex') < 0) { return false; } //only have visible elements and those that have a tabindex greater or equal 0\n return true;\n });\n}\n\nfunction parseKey(event) {\n var key = keyCodes[event.which || event.keyCode] || String.fromCharCode(event.which).toUpperCase();\n\n // Remove un-printable characters, e.g. for `fromCharCode` calls for CTRL only events\n key = key.replace(/\\W+/, '');\n\n if (event.shiftKey) key = `SHIFT_${key}`;\n if (event.ctrlKey) key = `CTRL_${key}`;\n if (event.altKey) key = `ALT_${key}`;\n\n // Remove trailing underscore, in case only modifiers were used (e.g. only `CTRL_ALT`)\n key = key.replace(/_$/, '');\n\n return key;\n}\n\nvar Keyboard = {\n keys: getKeyCodes(keyCodes),\n\n /**\n * Parses the (keyboard) event and returns a String that represents its key\n * Can be used like Foundation.parseKey(event) === Foundation.keys.SPACE\n * @param {Event} event - the event generated by the event handler\n * @return String key - String that represents the key pressed\n */\n parseKey: parseKey,\n\n /**\n * Handles the given (keyboard) event\n * @param {Event} event - the event generated by the event handler\n * @param {String} component - Foundation component's name, e.g. Slider or Reveal\n * @param {Objects} functions - collection of functions that are to be executed\n */\n handleKey(event, component, functions) {\n var commandList = commands[component],\n keyCode = this.parseKey(event),\n cmds,\n command,\n fn;\n\n if (!commandList) return console.warn('Component not defined!');\n\n if (typeof commandList.ltr === 'undefined') { // this component does not differentiate between ltr and rtl\n cmds = commandList; // use plain list\n } else { // merge ltr and rtl: if document is rtl, rtl overwrites ltr and vice versa\n if (Rtl()) cmds = $.extend({}, commandList.ltr, commandList.rtl);\n\n else cmds = $.extend({}, commandList.rtl, commandList.ltr);\n }\n command = cmds[keyCode];\n\n fn = functions[command];\n if (fn && typeof fn === 'function') { // execute function if exists\n var returnValue = fn.apply();\n if (functions.handled || typeof functions.handled === 'function') { // execute function when event was handled\n functions.handled(returnValue);\n }\n } else {\n if (functions.unhandled || typeof functions.unhandled === 'function') { // execute function when event was not handled\n functions.unhandled();\n }\n }\n },\n\n /**\n * Finds all focusable elements within the given `$element`\n * @param {jQuery} $element - jQuery object to search within\n * @return {jQuery} $focusable - all focusable elements within `$element`\n */\n\n findFocusable: findFocusable,\n\n /**\n * Returns the component name name\n * @param {Object} component - Foundation component, e.g. Slider or Reveal\n * @return String componentName\n */\n\n register(componentName, cmds) {\n commands[componentName] = cmds;\n },\n\n\n // TODO9438: These references to Keyboard need to not require global. Will 'this' work in this context?\n //\n /**\n * Traps the focus in the given element.\n * @param {jQuery} $element jQuery object to trap the foucs into.\n */\n trapFocus($element) {\n var $focusable = findFocusable($element),\n $firstFocusable = $focusable.eq(0),\n $lastFocusable = $focusable.eq(-1);\n\n $element.on('keydown.zf.trapfocus', function(event) {\n if (event.target === $lastFocusable[0] && parseKey(event) === 'TAB') {\n event.preventDefault();\n $firstFocusable.focus();\n }\n else if (event.target === $firstFocusable[0] && parseKey(event) === 'SHIFT_TAB') {\n event.preventDefault();\n $lastFocusable.focus();\n }\n });\n },\n /**\n * Releases the trapped focus from the given element.\n * @param {jQuery} $element jQuery object to release the focus for.\n */\n releaseFocus($element) {\n $element.off('keydown.zf.trapfocus');\n }\n}\n\n/*\n * Constants for easier comparing.\n * Can be used like Foundation.parseKey(event) === Foundation.keys.SPACE\n */\nfunction getKeyCodes(kcs) {\n var k = {};\n for (var kc in kcs) k[kcs[kc]] = kcs[kc];\n return k;\n}\n\nexport {Keyboard};\n","module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/universalModuleDefinition","webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/bootstrap","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/entries/plugins/foundation.util.keyboard.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.util.keyboard.js","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}"],"names":["Foundation","Keyboard","keyCodes","commands","findFocusable","$element","find","filter","$","is","attr","parseKey","event","key","which","keyCode","String","fromCharCode","toUpperCase","replace","shiftKey","ctrlKey","altKey","keys","getKeyCodes","handleKey","component","functions","commandList","cmds","command","fn","console","warn","zfIsKeyHandled","ltr","Rtl","extend","rtl","returnValue","apply","handled","unhandled","register","componentName","trapFocus","$focusable","$firstFocusable","eq","$lastFocusable","on","target","preventDefault","focus","releaseFocus","off","kcs","k","kc"],"mappings":"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","file":"foundation.util.keyboard.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.util.keyboard\"] = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.keyboard\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE_jquery__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 23);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","import { Foundation } from './foundation.core';\nimport { Keyboard } from '../../foundation.util.keyboard';\n\nFoundation.Keyboard = Keyboard;\n\nexport { Foundation, Keyboard };\n","/*******************************************\n * *\n * This util was created by Marius Olbertz *\n * Please thank Marius on GitHub /owlbertz *\n * or the web http://www.mariusolbertz.de/ *\n * *\n ******************************************/\n\n'use strict';\n\nimport $ from 'jquery';\nimport { rtl as Rtl } from './foundation.core.utils';\n\nconst keyCodes = {\n 9: 'TAB',\n 13: 'ENTER',\n 27: 'ESCAPE',\n 32: 'SPACE',\n 35: 'END',\n 36: 'HOME',\n 37: 'ARROW_LEFT',\n 38: 'ARROW_UP',\n 39: 'ARROW_RIGHT',\n 40: 'ARROW_DOWN'\n}\n\nvar commands = {}\n\n// Functions pulled out to be referenceable from internals\nfunction findFocusable($element) {\n if(!$element) {return false; }\n return $element.find('a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable]').filter(function() {\n if (!$(this).is(':visible') || $(this).attr('tabindex') < 0) { return false; } //only have visible elements and those that have a tabindex greater or equal 0\n return true;\n });\n}\n\nfunction parseKey(event) {\n var key = keyCodes[event.which || event.keyCode] || String.fromCharCode(event.which).toUpperCase();\n\n // Remove un-printable characters, e.g. for `fromCharCode` calls for CTRL only events\n key = key.replace(/\\W+/, '');\n\n if (event.shiftKey) key = `SHIFT_${key}`;\n if (event.ctrlKey) key = `CTRL_${key}`;\n if (event.altKey) key = `ALT_${key}`;\n\n // Remove trailing underscore, in case only modifiers were used (e.g. only `CTRL_ALT`)\n key = key.replace(/_$/, '');\n\n return key;\n}\n\nvar Keyboard = {\n keys: getKeyCodes(keyCodes),\n\n /**\n * Parses the (keyboard) event and returns a String that represents its key\n * Can be used like Foundation.parseKey(event) === Foundation.keys.SPACE\n * @param {Event} event - the event generated by the event handler\n * @return String key - String that represents the key pressed\n */\n parseKey: parseKey,\n\n /**\n * Handles the given (keyboard) event\n * @param {Event} event - the event generated by the event handler\n * @param {String} component - Foundation component's name, e.g. Slider or Reveal\n * @param {Objects} functions - collection of functions that are to be executed\n */\n handleKey(event, component, functions) {\n var commandList = commands[component],\n keyCode = this.parseKey(event),\n cmds,\n command,\n fn;\n\n if (!commandList) return console.warn('Component not defined!');\n\n // Ignore the event if it was already handled\n if (event.zfIsKeyHandled === true) return;\n\n // This component does not differentiate between ltr and rtl\n if (typeof commandList.ltr === 'undefined') {\n cmds = commandList; // use plain list\n } else { // merge ltr and rtl: if document is rtl, rtl overwrites ltr and vice versa\n if (Rtl()) cmds = $.extend({}, commandList.ltr, commandList.rtl);\n\n else cmds = $.extend({}, commandList.rtl, commandList.ltr);\n }\n command = cmds[keyCode];\n\n fn = functions[command];\n // Execute the handler if found\n if (fn && typeof fn === 'function') {\n var returnValue = fn.apply();\n\n // Mark the event as \"handled\" to prevent future handlings\n event.zfIsKeyHandled = true;\n\n // Execute function when event was handled\n if (functions.handled || typeof functions.handled === 'function') {\n functions.handled(returnValue);\n }\n } else {\n // Execute function when event was not handled\n if (functions.unhandled || typeof functions.unhandled === 'function') {\n functions.unhandled();\n }\n }\n },\n\n /**\n * Finds all focusable elements within the given `$element`\n * @param {jQuery} $element - jQuery object to search within\n * @return {jQuery} $focusable - all focusable elements within `$element`\n */\n\n findFocusable: findFocusable,\n\n /**\n * Returns the component name name\n * @param {Object} component - Foundation component, e.g. Slider or Reveal\n * @return String componentName\n */\n\n register(componentName, cmds) {\n commands[componentName] = cmds;\n },\n\n\n // TODO9438: These references to Keyboard need to not require global. Will 'this' work in this context?\n //\n /**\n * Traps the focus in the given element.\n * @param {jQuery} $element jQuery object to trap the foucs into.\n */\n trapFocus($element) {\n var $focusable = findFocusable($element),\n $firstFocusable = $focusable.eq(0),\n $lastFocusable = $focusable.eq(-1);\n\n $element.on('keydown.zf.trapfocus', function(event) {\n if (event.target === $lastFocusable[0] && parseKey(event) === 'TAB') {\n event.preventDefault();\n $firstFocusable.focus();\n }\n else if (event.target === $firstFocusable[0] && parseKey(event) === 'SHIFT_TAB') {\n event.preventDefault();\n $lastFocusable.focus();\n }\n });\n },\n /**\n * Releases the trapped focus from the given element.\n * @param {jQuery} $element jQuery object to release the focus for.\n */\n releaseFocus($element) {\n $element.off('keydown.zf.trapfocus');\n }\n}\n\n/*\n * Constants for easier comparing.\n * Can be used like Foundation.parseKey(event) === Foundation.keys.SPACE\n */\nfunction getKeyCodes(kcs) {\n var k = {};\n for (var kc in kcs) k[kcs[kc]] = kcs[kc];\n return k;\n}\n\nexport {Keyboard};\n","module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- !function(e,n){"object"==typeof exports&&"object"==typeof module?module.exports=n(require("./foundation.core"),require("jquery")):"function"==typeof define&&define.amd?define(["./foundation.core","jquery"],n):"object"==typeof exports?exports["foundation.util.keyboard"]=n(require("./foundation.core"),require("jquery")):(e.__FOUNDATION_EXTERNAL__=e.__FOUNDATION_EXTERNAL__||{},e.__FOUNDATION_EXTERNAL__["foundation.util.keyboard"]=n(e.__FOUNDATION_EXTERNAL__["foundation.core"],e.jQuery))}(window,function(t,o){return function(t){var o={};function r(e){if(o[e])return o[e].exports;var n=o[e]={i:e,l:!1,exports:{}};return t[e].call(n.exports,n,n.exports,r),n.l=!0,n.exports}return r.m=t,r.c=o,r.d=function(e,n,t){r.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:t})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(n,e){if(1&e&&(n=r(n)),8&e)return n;if(4&e&&"object"==typeof n&&n&&n.__esModule)return n;var t=Object.create(null);if(r.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:n}),2&e&&"string"!=typeof n)for(var o in n)r.d(t,o,function(e){return n[e]}.bind(null,o));return t},r.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(n,"a",n),n},r.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},r.p="",r(r.s=23)}({"./foundation.core":function(e,n){e.exports=t},"./js/entries/plugins/foundation.util.keyboard.js":function(e,n,t){"use strict";t.r(n);var o=t("./foundation.core");t.d(n,"Foundation",function(){return o.Foundation});var r=t("./js/foundation.util.keyboard.js");t.d(n,"Keyboard",function(){return r.Keyboard}),o.Foundation.Keyboard=r.Keyboard},"./js/foundation.util.keyboard.js":function(e,n,t){"use strict";t.r(n),t.d(n,"Keyboard",function(){return c});var o=t("jquery"),a=t.n(o),f=t("./foundation.core"),r={9:"TAB",13:"ENTER",27:"ESCAPE",32:"SPACE",35:"END",36:"HOME",37:"ARROW_LEFT",38:"ARROW_UP",39:"ARROW_RIGHT",40:"ARROW_DOWN"},d={};function u(e){return!!e&&e.find("a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable]").filter(function(){return!(!a()(this).is(":visible")||a()(this).attr("tabindex")<0)})}function i(e){var n=r[e.which||e.keyCode]||String.fromCharCode(e.which).toUpperCase();return n=n.replace(/\W+/,""),e.shiftKey&&(n="SHIFT_".concat(n)),e.ctrlKey&&(n="CTRL_".concat(n)),e.altKey&&(n="ALT_".concat(n)),n=n.replace(/_$/,"")}var c={keys:function(e){var n={};for(var t in e)n[e[t]]=e[t];return n}(r),parseKey:i,handleKey:function(e,n,t){var o,r=d[n],u=this.parseKey(e);if(!r)return console.warn("Component not defined!");if((o=t[(void 0===r.ltr?r:Object(f.rtl)()?a.a.extend({},r.ltr,r.rtl):a.a.extend({},r.rtl,r.ltr))[u]])&&"function"==typeof o){var i=o.apply();(t.handled||"function"==typeof t.handled)&&t.handled(i)}else(t.unhandled||"function"==typeof t.unhandled)&&t.unhandled()},findFocusable:u,register:function(e,n){d[e]=n},trapFocus:function(e){var n=u(e),t=n.eq(0),o=n.eq(-1);e.on("keydown.zf.trapfocus",function(e){e.target===o[0]&&"TAB"===i(e)?(e.preventDefault(),t.focus()):e.target===t[0]&&"SHIFT_TAB"===i(e)&&(e.preventDefault(),o.focus())})},releaseFocus:function(e){e.off("keydown.zf.trapfocus")}}},23:function(e,n,t){e.exports=t("./js/entries/plugins/foundation.util.keyboard.js")},jquery:function(e,n){e.exports=o}})});
1
+ !function(e,n){"object"==typeof exports&&"object"==typeof module?module.exports=n(require("./foundation.core"),require("jquery")):"function"==typeof define&&define.amd?define(["./foundation.core","jquery"],n):"object"==typeof exports?exports["foundation.util.keyboard"]=n(require("./foundation.core"),require("jquery")):(e.__FOUNDATION_EXTERNAL__=e.__FOUNDATION_EXTERNAL__||{},e.__FOUNDATION_EXTERNAL__["foundation.util.keyboard"]=n(e.__FOUNDATION_EXTERNAL__["foundation.core"],e.jQuery))}(window,function(t,o){return i={},r.m=u={"./foundation.core":function(e,n){e.exports=t},"./js/entries/plugins/foundation.util.keyboard.js":function(e,n,t){"use strict";t.r(n);var o=t("./foundation.core");t.d(n,"Foundation",function(){return o.Foundation});var r=t("./js/foundation.util.keyboard.js");t.d(n,"Keyboard",function(){return r.Keyboard}),o.Foundation.Keyboard=r.Keyboard},"./js/foundation.util.keyboard.js":function(e,n,t){"use strict";t.r(n),t.d(n,"Keyboard",function(){return c});var o=t("jquery"),a=t.n(o),f=t("./foundation.core"),r={9:"TAB",13:"ENTER",27:"ESCAPE",32:"SPACE",35:"END",36:"HOME",37:"ARROW_LEFT",38:"ARROW_UP",39:"ARROW_RIGHT",40:"ARROW_DOWN"},d={};function u(e){return!!e&&e.find("a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable]").filter(function(){return!(!a()(this).is(":visible")||a()(this).attr("tabindex")<0)})}function i(e){var n=r[e.which||e.keyCode]||String.fromCharCode(e.which).toUpperCase();return n=n.replace(/\W+/,""),e.shiftKey&&(n="SHIFT_".concat(n)),e.ctrlKey&&(n="CTRL_".concat(n)),e.altKey&&(n="ALT_".concat(n)),n=n.replace(/_$/,"")}var c={keys:function(e){var n={};for(var t in e)n[e[t]]=e[t];return n}(r),parseKey:i,handleKey:function(e,n,t){var o,r=d[n],u=this.parseKey(e);if(!r)return console.warn("Component not defined!");if(!0!==e.zfIsKeyHandled)if((o=t[(void 0===r.ltr?r:Object(f.rtl)()?a.a.extend({},r.ltr,r.rtl):a.a.extend({},r.rtl,r.ltr))[u]])&&"function"==typeof o){var i=o.apply();e.zfIsKeyHandled=!0,!t.handled&&"function"!=typeof t.handled||t.handled(i)}else!t.unhandled&&"function"!=typeof t.unhandled||t.unhandled()},findFocusable:u,register:function(e,n){d[e]=n},trapFocus:function(e){var n=u(e),t=n.eq(0),o=n.eq(-1);e.on("keydown.zf.trapfocus",function(e){e.target===o[0]&&"TAB"===i(e)?(e.preventDefault(),t.focus()):e.target===t[0]&&"SHIFT_TAB"===i(e)&&(e.preventDefault(),o.focus())})},releaseFocus:function(e){e.off("keydown.zf.trapfocus")}}},23:function(e,n,t){e.exports=t("./js/entries/plugins/foundation.util.keyboard.js")},jquery:function(e,n){e.exports=o}},r.c=i,r.d=function(e,n,t){r.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:t})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(n,e){if(1&e&&(n=r(n)),8&e)return n;if(4&e&&"object"==typeof n&&n&&n.__esModule)return n;var t=Object.create(null);if(r.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:n}),2&e&&"string"!=typeof n)for(var o in n)r.d(t,o,function(e){return n[e]}.bind(null,o));return t},r.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(n,"a",n),n},r.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},r.p="",r(r.s=23);function r(e){if(i[e])return i[e].exports;var n=i[e]={i:e,l:!1,exports:{}};return u[e].call(n.exports,n,n.exports,r),n.l=!0,n.exports}var u,i});
2
2
  //# sourceMappingURL=foundation.util.keyboard.min.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/universalModuleDefinition","webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/bootstrap","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/js/entries/plugins/foundation.util.keyboard.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.util.keyboard.js","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__foundation_core__","__WEBPACK_EXTERNAL_MODULE_jquery__","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","__webpack_exports__","_foundation_core__WEBPACK_IMPORTED_MODULE_0__","_foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__","Foundation","Keyboard","jquery__WEBPACK_IMPORTED_MODULE_0__","jquery__WEBPACK_IMPORTED_MODULE_0___default","_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__","keyCodes","9","13","27","32","35","36","37","38","39","40","commands","findFocusable","$element","find","filter","$","this","is","attr","parseKey","event","which","keyCode","String","fromCharCode","toUpperCase","replace","shiftKey","concat","ctrlKey","altKey","keys","kcs","k","kc","getKeyCodes","handleKey","component","functions","fn","commandList","console","warn","ltr","Rtl","extend","rtl","returnValue","apply","handled","unhandled","register","componentName","cmds","trapFocus","$focusable","$firstFocusable","eq","$lastFocusable","on","target","preventDefault","focus","releaseFocus","off"],"mappings":"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","file":"foundation.util.keyboard.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.util.keyboard\"] = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.keyboard\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE_jquery__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 23);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","import { Foundation } from './foundation.core';\nimport { Keyboard } from '../../foundation.util.keyboard';\n\nFoundation.Keyboard = Keyboard;\n\nexport { Foundation, Keyboard };\n","/*******************************************\n * *\n * This util was created by Marius Olbertz *\n * Please thank Marius on GitHub /owlbertz *\n * or the web http://www.mariusolbertz.de/ *\n * *\n ******************************************/\n\n'use strict';\n\nimport $ from 'jquery';\nimport { rtl as Rtl } from './foundation.core.utils';\n\nconst keyCodes = {\n 9: 'TAB',\n 13: 'ENTER',\n 27: 'ESCAPE',\n 32: 'SPACE',\n 35: 'END',\n 36: 'HOME',\n 37: 'ARROW_LEFT',\n 38: 'ARROW_UP',\n 39: 'ARROW_RIGHT',\n 40: 'ARROW_DOWN'\n}\n\nvar commands = {}\n\n// Functions pulled out to be referenceable from internals\nfunction findFocusable($element) {\n if(!$element) {return false; }\n return $element.find('a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable]').filter(function() {\n if (!$(this).is(':visible') || $(this).attr('tabindex') < 0) { return false; } //only have visible elements and those that have a tabindex greater or equal 0\n return true;\n });\n}\n\nfunction parseKey(event) {\n var key = keyCodes[event.which || event.keyCode] || String.fromCharCode(event.which).toUpperCase();\n\n // Remove un-printable characters, e.g. for `fromCharCode` calls for CTRL only events\n key = key.replace(/\\W+/, '');\n\n if (event.shiftKey) key = `SHIFT_${key}`;\n if (event.ctrlKey) key = `CTRL_${key}`;\n if (event.altKey) key = `ALT_${key}`;\n\n // Remove trailing underscore, in case only modifiers were used (e.g. only `CTRL_ALT`)\n key = key.replace(/_$/, '');\n\n return key;\n}\n\nvar Keyboard = {\n keys: getKeyCodes(keyCodes),\n\n /**\n * Parses the (keyboard) event and returns a String that represents its key\n * Can be used like Foundation.parseKey(event) === Foundation.keys.SPACE\n * @param {Event} event - the event generated by the event handler\n * @return String key - String that represents the key pressed\n */\n parseKey: parseKey,\n\n /**\n * Handles the given (keyboard) event\n * @param {Event} event - the event generated by the event handler\n * @param {String} component - Foundation component's name, e.g. Slider or Reveal\n * @param {Objects} functions - collection of functions that are to be executed\n */\n handleKey(event, component, functions) {\n var commandList = commands[component],\n keyCode = this.parseKey(event),\n cmds,\n command,\n fn;\n\n if (!commandList) return console.warn('Component not defined!');\n\n if (typeof commandList.ltr === 'undefined') { // this component does not differentiate between ltr and rtl\n cmds = commandList; // use plain list\n } else { // merge ltr and rtl: if document is rtl, rtl overwrites ltr and vice versa\n if (Rtl()) cmds = $.extend({}, commandList.ltr, commandList.rtl);\n\n else cmds = $.extend({}, commandList.rtl, commandList.ltr);\n }\n command = cmds[keyCode];\n\n fn = functions[command];\n if (fn && typeof fn === 'function') { // execute function if exists\n var returnValue = fn.apply();\n if (functions.handled || typeof functions.handled === 'function') { // execute function when event was handled\n functions.handled(returnValue);\n }\n } else {\n if (functions.unhandled || typeof functions.unhandled === 'function') { // execute function when event was not handled\n functions.unhandled();\n }\n }\n },\n\n /**\n * Finds all focusable elements within the given `$element`\n * @param {jQuery} $element - jQuery object to search within\n * @return {jQuery} $focusable - all focusable elements within `$element`\n */\n\n findFocusable: findFocusable,\n\n /**\n * Returns the component name name\n * @param {Object} component - Foundation component, e.g. Slider or Reveal\n * @return String componentName\n */\n\n register(componentName, cmds) {\n commands[componentName] = cmds;\n },\n\n\n // TODO9438: These references to Keyboard need to not require global. Will 'this' work in this context?\n //\n /**\n * Traps the focus in the given element.\n * @param {jQuery} $element jQuery object to trap the foucs into.\n */\n trapFocus($element) {\n var $focusable = findFocusable($element),\n $firstFocusable = $focusable.eq(0),\n $lastFocusable = $focusable.eq(-1);\n\n $element.on('keydown.zf.trapfocus', function(event) {\n if (event.target === $lastFocusable[0] && parseKey(event) === 'TAB') {\n event.preventDefault();\n $firstFocusable.focus();\n }\n else if (event.target === $firstFocusable[0] && parseKey(event) === 'SHIFT_TAB') {\n event.preventDefault();\n $lastFocusable.focus();\n }\n });\n },\n /**\n * Releases the trapped focus from the given element.\n * @param {jQuery} $element jQuery object to release the focus for.\n */\n releaseFocus($element) {\n $element.off('keydown.zf.trapfocus');\n }\n}\n\n/*\n * Constants for easier comparing.\n * Can be used like Foundation.parseKey(event) === Foundation.keys.SPACE\n */\nfunction getKeyCodes(kcs) {\n var k = {};\n for (var kc in kcs) k[kcs[kc]] = kcs[kc];\n return k;\n}\n\nexport {Keyboard};\n","module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;"]}
1
+ {"version":3,"sources":["webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/universalModuleDefinition","webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/bootstrap","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/js/entries/plugins/foundation.util.keyboard.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.util.keyboard.js","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__foundation_core__","__WEBPACK_EXTERNAL_MODULE_jquery__","installedModules","__webpack_require__","m","r","__webpack_exports__","_foundation_core__WEBPACK_IMPORTED_MODULE_0__","d","_foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__","Foundation","Keyboard","jquery__WEBPACK_IMPORTED_MODULE_0__","jquery__WEBPACK_IMPORTED_MODULE_0___default","n","_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__","keyCodes","9","13","27","32","35","36","37","38","39","40","commands","findFocusable","$element","find","filter","$","this","is","attr","parseKey","event","key","which","keyCode","String","fromCharCode","toUpperCase","replace","shiftKey","concat","ctrlKey","altKey","keys","kcs","k","kc","getKeyCodes","handleKey","component","functions","fn","commandList","console","warn","zfIsKeyHandled","ltr","Rtl","extend","rtl","returnValue","apply","handled","unhandled","register","componentName","cmds","trapFocus","$focusable","$firstFocusable","eq","$lastFocusable","on","target","preventDefault","focus","releaseFocus","off","c","name","getter","o","Object","defineProperty","enumerable","get","Symbol","toStringTag","value","t","mode","__esModule","ns","create","bind","object","property","prototype","hasOwnProperty","call","p","s","moduleId","i","l","modules"],"mappings":"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","file":"foundation.util.keyboard.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.util.keyboard\"] = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.keyboard\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE_jquery__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 23);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","import { Foundation } from './foundation.core';\nimport { Keyboard } from '../../foundation.util.keyboard';\n\nFoundation.Keyboard = Keyboard;\n\nexport { Foundation, Keyboard };\n","/*******************************************\n * *\n * This util was created by Marius Olbertz *\n * Please thank Marius on GitHub /owlbertz *\n * or the web http://www.mariusolbertz.de/ *\n * *\n ******************************************/\n\n'use strict';\n\nimport $ from 'jquery';\nimport { rtl as Rtl } from './foundation.core.utils';\n\nconst keyCodes = {\n 9: 'TAB',\n 13: 'ENTER',\n 27: 'ESCAPE',\n 32: 'SPACE',\n 35: 'END',\n 36: 'HOME',\n 37: 'ARROW_LEFT',\n 38: 'ARROW_UP',\n 39: 'ARROW_RIGHT',\n 40: 'ARROW_DOWN'\n}\n\nvar commands = {}\n\n// Functions pulled out to be referenceable from internals\nfunction findFocusable($element) {\n if(!$element) {return false; }\n return $element.find('a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable]').filter(function() {\n if (!$(this).is(':visible') || $(this).attr('tabindex') < 0) { return false; } //only have visible elements and those that have a tabindex greater or equal 0\n return true;\n });\n}\n\nfunction parseKey(event) {\n var key = keyCodes[event.which || event.keyCode] || String.fromCharCode(event.which).toUpperCase();\n\n // Remove un-printable characters, e.g. for `fromCharCode` calls for CTRL only events\n key = key.replace(/\\W+/, '');\n\n if (event.shiftKey) key = `SHIFT_${key}`;\n if (event.ctrlKey) key = `CTRL_${key}`;\n if (event.altKey) key = `ALT_${key}`;\n\n // Remove trailing underscore, in case only modifiers were used (e.g. only `CTRL_ALT`)\n key = key.replace(/_$/, '');\n\n return key;\n}\n\nvar Keyboard = {\n keys: getKeyCodes(keyCodes),\n\n /**\n * Parses the (keyboard) event and returns a String that represents its key\n * Can be used like Foundation.parseKey(event) === Foundation.keys.SPACE\n * @param {Event} event - the event generated by the event handler\n * @return String key - String that represents the key pressed\n */\n parseKey: parseKey,\n\n /**\n * Handles the given (keyboard) event\n * @param {Event} event - the event generated by the event handler\n * @param {String} component - Foundation component's name, e.g. Slider or Reveal\n * @param {Objects} functions - collection of functions that are to be executed\n */\n handleKey(event, component, functions) {\n var commandList = commands[component],\n keyCode = this.parseKey(event),\n cmds,\n command,\n fn;\n\n if (!commandList) return console.warn('Component not defined!');\n\n // Ignore the event if it was already handled\n if (event.zfIsKeyHandled === true) return;\n\n // This component does not differentiate between ltr and rtl\n if (typeof commandList.ltr === 'undefined') {\n cmds = commandList; // use plain list\n } else { // merge ltr and rtl: if document is rtl, rtl overwrites ltr and vice versa\n if (Rtl()) cmds = $.extend({}, commandList.ltr, commandList.rtl);\n\n else cmds = $.extend({}, commandList.rtl, commandList.ltr);\n }\n command = cmds[keyCode];\n\n fn = functions[command];\n // Execute the handler if found\n if (fn && typeof fn === 'function') {\n var returnValue = fn.apply();\n\n // Mark the event as \"handled\" to prevent future handlings\n event.zfIsKeyHandled = true;\n\n // Execute function when event was handled\n if (functions.handled || typeof functions.handled === 'function') {\n functions.handled(returnValue);\n }\n } else {\n // Execute function when event was not handled\n if (functions.unhandled || typeof functions.unhandled === 'function') {\n functions.unhandled();\n }\n }\n },\n\n /**\n * Finds all focusable elements within the given `$element`\n * @param {jQuery} $element - jQuery object to search within\n * @return {jQuery} $focusable - all focusable elements within `$element`\n */\n\n findFocusable: findFocusable,\n\n /**\n * Returns the component name name\n * @param {Object} component - Foundation component, e.g. Slider or Reveal\n * @return String componentName\n */\n\n register(componentName, cmds) {\n commands[componentName] = cmds;\n },\n\n\n // TODO9438: These references to Keyboard need to not require global. Will 'this' work in this context?\n //\n /**\n * Traps the focus in the given element.\n * @param {jQuery} $element jQuery object to trap the foucs into.\n */\n trapFocus($element) {\n var $focusable = findFocusable($element),\n $firstFocusable = $focusable.eq(0),\n $lastFocusable = $focusable.eq(-1);\n\n $element.on('keydown.zf.trapfocus', function(event) {\n if (event.target === $lastFocusable[0] && parseKey(event) === 'TAB') {\n event.preventDefault();\n $firstFocusable.focus();\n }\n else if (event.target === $firstFocusable[0] && parseKey(event) === 'SHIFT_TAB') {\n event.preventDefault();\n $lastFocusable.focus();\n }\n });\n },\n /**\n * Releases the trapped focus from the given element.\n * @param {jQuery} $element jQuery object to release the focus for.\n */\n releaseFocus($element) {\n $element.off('keydown.zf.trapfocus');\n }\n}\n\n/*\n * Constants for easier comparing.\n * Can be used like Foundation.parseKey(event) === Foundation.keys.SPACE\n */\nfunction getKeyCodes(kcs) {\n var k = {};\n for (var kc in kcs) k[kcs[kc]] = kcs[kc];\n return k;\n}\n\nexport {Keyboard};\n","module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;"]}
@@ -149,6 +149,14 @@ __webpack_require__.r(__webpack_exports__);
149
149
 
150
150
  function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
151
151
 
152
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
153
+
154
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
155
+
156
+ function _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
157
+
158
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
159
+
152
160
  // Default set of media queries
153
161
 
154
162
  var defaultQueries = {
@@ -157,7 +165,7 @@ var defaultQueries = {
157
165
  portrait: 'only screen and (orientation: portrait)',
158
166
  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)'
159
167
  }; // matchMedia() polyfill - Test a CSS media type/query in JS.
160
- // Authors & copyright(c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas, David Knight. MIT license
168
+ // Authors & copyright © 2012: Scott Jehl, Paul Irish, Nicholas Zakas, David Knight. MIT license
161
169
 
162
170
  /* eslint-disable */
163
171
 
@@ -216,6 +224,13 @@ var MediaQuery = {
216
224
  * @private
217
225
  */
218
226
  _init: function _init() {
227
+ // make sure the initialization is only done once when calling _init() several times
228
+ if (this.isInitialized === true) {
229
+ return;
230
+ } else {
231
+ this.isInitialized = true;
232
+ }
233
+
219
234
  var self = this;
220
235
  var $meta = jquery__WEBPACK_IMPORTED_MODULE_0___default()('meta.foundation-mq');
221
236
 
@@ -226,6 +241,7 @@ var MediaQuery = {
226
241
  var extractedStyles = jquery__WEBPACK_IMPORTED_MODULE_0___default()('.foundation-mq').css('font-family');
227
242
  var namedQueries;
228
243
  namedQueries = parseStyleToObject(extractedStyles);
244
+ self.queries = []; // reset
229
245
 
230
246
  for (var key in namedQueries) {
231
247
  if (namedQueries.hasOwnProperty(key)) {
@@ -241,6 +257,18 @@ var MediaQuery = {
241
257
  this._watcher();
242
258
  },
243
259
 
260
+ /**
261
+ * Reinitializes the media query helper.
262
+ * Useful if your CSS breakpoint configuration has just been loaded or has changed since the initialization.
263
+ * @function
264
+ * @private
265
+ */
266
+ _reInit: function _reInit() {
267
+ this.isInitialized = false;
268
+
269
+ this._init();
270
+ },
271
+
244
272
  /**
245
273
  * Checks if the screen is at least as wide as a breakpoint.
246
274
  * @function
@@ -257,6 +285,36 @@ var MediaQuery = {
257
285
  return false;
258
286
  },
259
287
 
288
+ /**
289
+ * Checks if the screen is within the given breakpoint.
290
+ * If smaller than the breakpoint of larger than its upper limit it returns false.
291
+ * @function
292
+ * @param {String} size - Name of the breakpoint to check.
293
+ * @returns {Boolean} `true` if the breakpoint matches, `false` otherwise.
294
+ */
295
+ only: function only(size) {
296
+ return size === this._getCurrentSize();
297
+ },
298
+
299
+ /**
300
+ * Checks if the screen is within a breakpoint or smaller.
301
+ * @function
302
+ * @param {String} size - Name of the breakpoint to check.
303
+ * @returns {Boolean} `true` if the breakpoint matches, `false` if it's larger.
304
+ */
305
+ upTo: function upTo(size) {
306
+ var nextSize = this.next(size); // If the next breakpoint does not match, the screen is smaller than
307
+ // the upper limit of this breakpoint.
308
+
309
+ if (nextSize) {
310
+ return !this.atLeast(nextSize);
311
+ } // If there is no next breakpoint, the "size" breakpoint does not have
312
+ // an upper limit and the screen will always be within it or smaller.
313
+
314
+
315
+ return true;
316
+ },
317
+
260
318
  /**
261
319
  * Checks if the screen matches to a breakpoint.
262
320
  * @function
@@ -264,15 +322,31 @@ var MediaQuery = {
264
322
  * @returns {Boolean} `true` if the breakpoint matches, `false` if it does not.
265
323
  */
266
324
  is: function is(size) {
267
- size = size.trim().split(' ');
325
+ var parts = size.trim().split(' ').filter(function (p) {
326
+ return !!p.length;
327
+ });
268
328
 
269
- if (size.length > 1 && size[1] === 'only') {
270
- if (size[0] === this._getCurrentSize()) return true;
271
- } else {
272
- return this.atLeast(size[0]);
329
+ var _parts = _slicedToArray(parts, 2),
330
+ bpSize = _parts[0],
331
+ _parts$ = _parts[1],
332
+ bpModifier = _parts$ === void 0 ? '' : _parts$; // Only the breakpont
333
+
334
+
335
+ if (bpModifier === 'only') {
336
+ return this.only(bpSize);
337
+ } // At least the breakpoint (included)
338
+
339
+
340
+ if (!bpModifier || bpModifier === 'up') {
341
+ return this.atLeast(bpSize);
342
+ } // Up to the breakpoint (included)
343
+
344
+
345
+ if (bpModifier === 'down') {
346
+ return this.upTo(bpSize);
273
347
  }
274
348
 
275
- return false;
349
+ throw new Error("\n Invalid breakpoint passed to MediaQuery.is().\n Expected a breakpoint name formatted like \"<size> <modifier>\", got \"".concat(size, "\".\n "));
276
350
  },
277
351
 
278
352
  /**
@@ -292,6 +366,40 @@ var MediaQuery = {
292
366
  return null;
293
367
  },
294
368
 
369
+ /**
370
+ * Get the breakpoint following the given breakpoint.
371
+ * @function
372
+ * @param {String} size - Name of the breakpoint.
373
+ * @returns {String|null} - The name of the following breakpoint, or `null` if the passed breakpoint was the last one.
374
+ */
375
+ next: function next(size) {
376
+ var _this = this;
377
+
378
+ var queryIndex = this.queries.findIndex(function (q) {
379
+ return _this._getQueryName(q) === size;
380
+ });
381
+
382
+ if (queryIndex === -1) {
383
+ throw new Error("\n Unknown breakpoint \"".concat(size, "\" passed to MediaQuery.next().\n Ensure it is present in your Sass \"$breakpoints\" setting.\n "));
384
+ }
385
+
386
+ var nextQuery = this.queries[queryIndex + 1];
387
+ return nextQuery ? nextQuery.name : null;
388
+ },
389
+
390
+ /**
391
+ * Returns the name of the breakpoint related to the given value.
392
+ * @function
393
+ * @private
394
+ * @param {String|Object} value - Breakpoint name or query object.
395
+ * @returns {String} Name of the breakpoint.
396
+ */
397
+ _getQueryName: function _getQueryName(value) {
398
+ if (typeof value === 'string') return value;
399
+ if (_typeof(value) === 'object') return value.name;
400
+ throw new TypeError("\n Invalid value passed to MediaQuery._getQueryName().\n Expected a breakpoint name (String) or a breakpoint query (Object), got \"".concat(value, "\" (").concat(_typeof(value), ")\n "));
401
+ },
402
+
295
403
  /**
296
404
  * Gets the current breakpoint name by testing every breakpoint and returning the last one to match (the biggest one).
297
405
  * @function
@@ -309,11 +417,7 @@ var MediaQuery = {
309
417
  }
310
418
  }
311
419
 
312
- if (_typeof(matched) === 'object') {
313
- return matched.name;
314
- } else {
315
- return matched;
316
- }
420
+ return matched && this._getQueryName(matched);
317
421
  },
318
422
 
319
423
  /**
@@ -322,15 +426,15 @@ var MediaQuery = {
322
426
  * @private
323
427
  */
324
428
  _watcher: function _watcher() {
325
- var _this = this;
429
+ var _this2 = this;
326
430
 
327
431
  jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off('resize.zf.mediaquery').on('resize.zf.mediaquery', function () {
328
- var newSize = _this._getCurrentSize(),
329
- currentSize = _this.current;
432
+ var newSize = _this2._getCurrentSize(),
433
+ currentSize = _this2.current;
330
434
 
331
435
  if (newSize !== currentSize) {
332
436
  // Change the current media query
333
- _this.current = newSize; // Broadcast the media query change on the window
437
+ _this2.current = newSize; // Broadcast the media query change on the window
334
438
 
335
439
  jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).trigger('changed.zf.mediaquery', [newSize, currentSize]);
336
440
  }
@@ -384,7 +488,7 @@ function parseStyleToObject(str) {
384
488
  /*! no static exports found */
385
489
  /***/ (function(module, exports, __webpack_require__) {
386
490
 
387
- module.exports = __webpack_require__(/*! /Users/ncoden/Documents/Documents/Projects/Programmation/Web/2016/Foundation/foundation-sites/js/entries/plugins/foundation.util.mediaQuery.js */"./js/entries/plugins/foundation.util.mediaQuery.js");
491
+ module.exports = __webpack_require__(/*! /Volumes/Data/Development/Foundation/foundation-sites/js/entries/plugins/foundation.util.mediaQuery.js */"./js/entries/plugins/foundation.util.mediaQuery.js");
388
492
 
389
493
 
390
494
  /***/ }),
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/universalModuleDefinition","webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/bootstrap","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/entries/plugins/foundation.util.mediaQuery.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.util.mediaQuery.js","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}"],"names":["Foundation","MediaQuery","_init","defaultQueries","landscape","portrait","retina","window","matchMedia","styleMedia","media","style","document","createElement","script","getElementsByTagName","info","type","id","head","appendChild","parentNode","insertBefore","getComputedStyle","currentStyle","matchMedium","text","styleSheet","cssText","textContent","width","matches","queries","current","self","$meta","$","length","appendTo","extractedStyles","css","namedQueries","parseStyleToObject","key","hasOwnProperty","push","name","value","_getCurrentSize","_watcher","atLeast","size","query","get","is","trim","split","i","matched","off","on","newSize","currentSize","trigger","str","styleObject","slice","reduce","ret","param","parts","replace","val","decodeURIComponent","Array","isArray"],"mappings":"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","file":"foundation.util.mediaQuery.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.util.mediaQuery\"] = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.mediaQuery\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE_jquery__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 24);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","import { Foundation } from './foundation.core';\nimport { MediaQuery } from '../../foundation.util.mediaQuery';\n\nFoundation.MediaQuery = MediaQuery;\nFoundation.MediaQuery._init();\n\nexport { Foundation, MediaQuery };\n","'use strict';\n\nimport $ from 'jquery';\n\n// Default set of media queries\nconst defaultQueries = {\n 'default' : 'only screen',\n landscape : 'only screen and (orientation: landscape)',\n portrait : 'only screen and (orientation: portrait)',\n retina : 'only screen and (-webkit-min-device-pixel-ratio: 2),' +\n 'only screen and (min--moz-device-pixel-ratio: 2),' +\n 'only screen and (-o-min-device-pixel-ratio: 2/1),' +\n 'only screen and (min-device-pixel-ratio: 2),' +\n 'only screen and (min-resolution: 192dpi),' +\n 'only screen and (min-resolution: 2dppx)'\n };\n\n\n// matchMedia() polyfill - Test a CSS media type/query in JS.\n// Authors & copyright(c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas, David Knight. MIT license\n/* eslint-disable */\nwindow.matchMedia || (window.matchMedia = (function () {\n \"use strict\";\n\n // For browsers that support matchMedium api such as IE 9 and webkit\n var styleMedia = (window.styleMedia || window.media);\n\n // For those that don't support matchMedium\n if (!styleMedia) {\n var style = document.createElement('style'),\n script = document.getElementsByTagName('script')[0],\n info = null;\n\n style.type = 'text/css';\n style.id = 'matchmediajs-test';\n\n if (!script) {\n document.head.appendChild(style);\n } else {\n script.parentNode.insertBefore(style, script);\n }\n\n // 'style.currentStyle' is used by IE <= 8 and 'window.getComputedStyle' for all other browsers\n info = ('getComputedStyle' in window) && window.getComputedStyle(style, null) || style.currentStyle;\n\n styleMedia = {\n matchMedium: function (media) {\n var text = '@media ' + media + '{ #matchmediajs-test { width: 1px; } }';\n\n // 'style.styleSheet' is used by IE <= 8 and 'style.textContent' for all other browsers\n if (style.styleSheet) {\n style.styleSheet.cssText = text;\n } else {\n style.textContent = text;\n }\n\n // Test if media query is true or false\n return info.width === '1px';\n }\n };\n }\n\n return function(media) {\n return {\n matches: styleMedia.matchMedium(media || 'all'),\n media: media || 'all'\n };\n };\n})());\n/* eslint-enable */\n\nvar MediaQuery = {\n queries: [],\n\n current: '',\n\n /**\n * Initializes the media query helper, by extracting the breakpoint list from the CSS and activating the breakpoint watcher.\n * @function\n * @private\n */\n _init() {\n var self = this;\n var $meta = $('meta.foundation-mq');\n if(!$meta.length){\n $('<meta class=\"foundation-mq\">').appendTo(document.head);\n }\n\n var extractedStyles = $('.foundation-mq').css('font-family');\n var namedQueries;\n\n namedQueries = parseStyleToObject(extractedStyles);\n\n for (var key in namedQueries) {\n if(namedQueries.hasOwnProperty(key)) {\n self.queries.push({\n name: key,\n value: `only screen and (min-width: ${namedQueries[key]})`\n });\n }\n }\n\n this.current = this._getCurrentSize();\n\n this._watcher();\n },\n\n /**\n * Checks if the screen is at least as wide as a breakpoint.\n * @function\n * @param {String} size - Name of the breakpoint to check.\n * @returns {Boolean} `true` if the breakpoint matches, `false` if it's smaller.\n */\n atLeast(size) {\n var query = this.get(size);\n\n if (query) {\n return window.matchMedia(query).matches;\n }\n\n return false;\n },\n\n /**\n * Checks if the screen matches to a breakpoint.\n * @function\n * @param {String} size - Name of the breakpoint to check, either 'small only' or 'small'. Omitting 'only' falls back to using atLeast() method.\n * @returns {Boolean} `true` if the breakpoint matches, `false` if it does not.\n */\n is(size) {\n size = size.trim().split(' ');\n if(size.length > 1 && size[1] === 'only') {\n if(size[0] === this._getCurrentSize()) return true;\n } else {\n return this.atLeast(size[0]);\n }\n return false;\n },\n\n /**\n * Gets the media query of a breakpoint.\n * @function\n * @param {String} size - Name of the breakpoint to get.\n * @returns {String|null} - The media query of the breakpoint, or `null` if the breakpoint doesn't exist.\n */\n get(size) {\n for (var i in this.queries) {\n if(this.queries.hasOwnProperty(i)) {\n var query = this.queries[i];\n if (size === query.name) return query.value;\n }\n }\n\n return null;\n },\n\n /**\n * Gets the current breakpoint name by testing every breakpoint and returning the last one to match (the biggest one).\n * @function\n * @private\n * @returns {String} Name of the current breakpoint.\n */\n _getCurrentSize() {\n var matched;\n\n for (var i = 0; i < this.queries.length; i++) {\n var query = this.queries[i];\n\n if (window.matchMedia(query.value).matches) {\n matched = query;\n }\n }\n\n if (typeof matched === 'object') {\n return matched.name;\n } else {\n return matched;\n }\n },\n\n /**\n * Activates the breakpoint watcher, which fires an event on the window whenever the breakpoint changes.\n * @function\n * @private\n */\n _watcher() {\n $(window).off('resize.zf.mediaquery').on('resize.zf.mediaquery', () => {\n var newSize = this._getCurrentSize(), currentSize = this.current;\n\n if (newSize !== currentSize) {\n // Change the current media query\n this.current = newSize;\n\n // Broadcast the media query change on the window\n $(window).trigger('changed.zf.mediaquery', [newSize, currentSize]);\n }\n });\n }\n};\n\n\n\n// Thank you: https://github.com/sindresorhus/query-string\nfunction parseStyleToObject(str) {\n var styleObject = {};\n\n if (typeof str !== 'string') {\n return styleObject;\n }\n\n str = str.trim().slice(1, -1); // browsers re-quote string style values\n\n if (!str) {\n return styleObject;\n }\n\n styleObject = str.split('&').reduce(function(ret, param) {\n var parts = param.replace(/\\+/g, ' ').split('=');\n var key = parts[0];\n var val = parts[1];\n key = decodeURIComponent(key);\n\n // missing `=` should be `null`:\n // http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters\n val = typeof val === 'undefined' ? null : decodeURIComponent(val);\n\n if (!ret.hasOwnProperty(key)) {\n ret[key] = val;\n } else if (Array.isArray(ret[key])) {\n ret[key].push(val);\n } else {\n ret[key] = [ret[key], val];\n }\n return ret;\n }, {});\n\n return styleObject;\n}\n\nexport {MediaQuery};\n","module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/universalModuleDefinition","webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/bootstrap","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/entries/plugins/foundation.util.mediaQuery.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.util.mediaQuery.js","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}"],"names":["Foundation","MediaQuery","_init","defaultQueries","landscape","portrait","retina","window","matchMedia","styleMedia","media","style","document","createElement","script","getElementsByTagName","info","type","id","head","appendChild","parentNode","insertBefore","getComputedStyle","currentStyle","matchMedium","text","styleSheet","cssText","textContent","width","matches","queries","current","isInitialized","self","$meta","$","length","appendTo","extractedStyles","css","namedQueries","parseStyleToObject","key","hasOwnProperty","push","name","value","_getCurrentSize","_watcher","_reInit","atLeast","size","query","get","only","upTo","nextSize","next","is","parts","trim","split","filter","p","bpSize","bpModifier","Error","i","queryIndex","findIndex","q","_getQueryName","nextQuery","TypeError","matched","off","on","newSize","currentSize","trigger","str","styleObject","slice","reduce","ret","param","replace","val","decodeURIComponent","Array","isArray"],"mappings":"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","file":"foundation.util.mediaQuery.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.util.mediaQuery\"] = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.mediaQuery\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE_jquery__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 24);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","import { Foundation } from './foundation.core';\nimport { MediaQuery } from '../../foundation.util.mediaQuery';\n\nFoundation.MediaQuery = MediaQuery;\nFoundation.MediaQuery._init();\n\nexport { Foundation, MediaQuery };\n","'use strict';\n\nimport $ from 'jquery';\n\n// Default set of media queries\nconst defaultQueries = {\n 'default' : 'only screen',\n landscape : 'only screen and (orientation: landscape)',\n portrait : 'only screen and (orientation: portrait)',\n retina : 'only screen and (-webkit-min-device-pixel-ratio: 2),' +\n 'only screen and (min--moz-device-pixel-ratio: 2),' +\n 'only screen and (-o-min-device-pixel-ratio: 2/1),' +\n 'only screen and (min-device-pixel-ratio: 2),' +\n 'only screen and (min-resolution: 192dpi),' +\n 'only screen and (min-resolution: 2dppx)'\n };\n\n\n// matchMedia() polyfill - Test a CSS media type/query in JS.\n// Authors & copyright © 2012: Scott Jehl, Paul Irish, Nicholas Zakas, David Knight. MIT license\n/* eslint-disable */\nwindow.matchMedia || (window.matchMedia = (function () {\n \"use strict\";\n\n // For browsers that support matchMedium api such as IE 9 and webkit\n var styleMedia = (window.styleMedia || window.media);\n\n // For those that don't support matchMedium\n if (!styleMedia) {\n var style = document.createElement('style'),\n script = document.getElementsByTagName('script')[0],\n info = null;\n\n style.type = 'text/css';\n style.id = 'matchmediajs-test';\n\n if (!script) {\n document.head.appendChild(style);\n } else {\n script.parentNode.insertBefore(style, script);\n }\n\n // 'style.currentStyle' is used by IE <= 8 and 'window.getComputedStyle' for all other browsers\n info = ('getComputedStyle' in window) && window.getComputedStyle(style, null) || style.currentStyle;\n\n styleMedia = {\n matchMedium: function (media) {\n var text = '@media ' + media + '{ #matchmediajs-test { width: 1px; } }';\n\n // 'style.styleSheet' is used by IE <= 8 and 'style.textContent' for all other browsers\n if (style.styleSheet) {\n style.styleSheet.cssText = text;\n } else {\n style.textContent = text;\n }\n\n // Test if media query is true or false\n return info.width === '1px';\n }\n };\n }\n\n return function(media) {\n return {\n matches: styleMedia.matchMedium(media || 'all'),\n media: media || 'all'\n };\n };\n})());\n/* eslint-enable */\n\nvar MediaQuery = {\n queries: [],\n\n current: '',\n\n /**\n * Initializes the media query helper, by extracting the breakpoint list from the CSS and activating the breakpoint watcher.\n * @function\n * @private\n */\n _init() {\n\n // make sure the initialization is only done once when calling _init() several times\n if (this.isInitialized === true) {\n return;\n } else {\n this.isInitialized = true;\n }\n\n var self = this;\n var $meta = $('meta.foundation-mq');\n if(!$meta.length){\n $('<meta class=\"foundation-mq\">').appendTo(document.head);\n }\n\n var extractedStyles = $('.foundation-mq').css('font-family');\n var namedQueries;\n\n namedQueries = parseStyleToObject(extractedStyles);\n\n self.queries = []; // reset\n\n for (var key in namedQueries) {\n if(namedQueries.hasOwnProperty(key)) {\n self.queries.push({\n name: key,\n value: `only screen and (min-width: ${namedQueries[key]})`\n });\n }\n }\n\n this.current = this._getCurrentSize();\n\n this._watcher();\n },\n\n /**\n * Reinitializes the media query helper.\n * Useful if your CSS breakpoint configuration has just been loaded or has changed since the initialization.\n * @function\n * @private\n */\n _reInit() {\n this.isInitialized = false;\n this._init();\n },\n\n /**\n * Checks if the screen is at least as wide as a breakpoint.\n * @function\n * @param {String} size - Name of the breakpoint to check.\n * @returns {Boolean} `true` if the breakpoint matches, `false` if it's smaller.\n */\n atLeast(size) {\n var query = this.get(size);\n\n if (query) {\n return window.matchMedia(query).matches;\n }\n\n return false;\n },\n\n /**\n * Checks if the screen is within the given breakpoint.\n * If smaller than the breakpoint of larger than its upper limit it returns false.\n * @function\n * @param {String} size - Name of the breakpoint to check.\n * @returns {Boolean} `true` if the breakpoint matches, `false` otherwise.\n */\n only(size) {\n return size === this._getCurrentSize();\n },\n\n /**\n * Checks if the screen is within a breakpoint or smaller.\n * @function\n * @param {String} size - Name of the breakpoint to check.\n * @returns {Boolean} `true` if the breakpoint matches, `false` if it's larger.\n */\n upTo(size) {\n const nextSize = this.next(size);\n\n // If the next breakpoint does not match, the screen is smaller than\n // the upper limit of this breakpoint.\n if (nextSize) {\n return !this.atLeast(nextSize);\n }\n\n // If there is no next breakpoint, the \"size\" breakpoint does not have\n // an upper limit and the screen will always be within it or smaller.\n return true;\n },\n\n /**\n * Checks if the screen matches to a breakpoint.\n * @function\n * @param {String} size - Name of the breakpoint to check, either 'small only' or 'small'. Omitting 'only' falls back to using atLeast() method.\n * @returns {Boolean} `true` if the breakpoint matches, `false` if it does not.\n */\n is(size) {\n const parts = size.trim().split(' ').filter(p => !!p.length);\n const [bpSize, bpModifier = ''] = parts;\n\n // Only the breakpont\n if (bpModifier === 'only') {\n return this.only(bpSize);\n }\n // At least the breakpoint (included)\n if (!bpModifier || bpModifier === 'up') {\n return this.atLeast(bpSize);\n }\n // Up to the breakpoint (included)\n if (bpModifier === 'down') {\n return this.upTo(bpSize);\n }\n\n throw new Error(`\n Invalid breakpoint passed to MediaQuery.is().\n Expected a breakpoint name formatted like \"<size> <modifier>\", got \"${size}\".\n `);\n },\n\n /**\n * Gets the media query of a breakpoint.\n * @function\n * @param {String} size - Name of the breakpoint to get.\n * @returns {String|null} - The media query of the breakpoint, or `null` if the breakpoint doesn't exist.\n */\n get(size) {\n for (var i in this.queries) {\n if(this.queries.hasOwnProperty(i)) {\n var query = this.queries[i];\n if (size === query.name) return query.value;\n }\n }\n\n return null;\n },\n\n /**\n * Get the breakpoint following the given breakpoint.\n * @function\n * @param {String} size - Name of the breakpoint.\n * @returns {String|null} - The name of the following breakpoint, or `null` if the passed breakpoint was the last one.\n */\n next(size) {\n const queryIndex = this.queries.findIndex((q) => this._getQueryName(q) === size);\n if (queryIndex === -1) {\n throw new Error(`\n Unknown breakpoint \"${size}\" passed to MediaQuery.next().\n Ensure it is present in your Sass \"$breakpoints\" setting.\n `);\n }\n\n const nextQuery = this.queries[queryIndex + 1];\n return nextQuery ? nextQuery.name : null;\n },\n\n /**\n * Returns the name of the breakpoint related to the given value.\n * @function\n * @private\n * @param {String|Object} value - Breakpoint name or query object.\n * @returns {String} Name of the breakpoint.\n */\n _getQueryName(value) {\n if (typeof value === 'string')\n return value;\n if (typeof value === 'object')\n return value.name;\n throw new TypeError(`\n Invalid value passed to MediaQuery._getQueryName().\n Expected a breakpoint name (String) or a breakpoint query (Object), got \"${value}\" (${typeof value})\n `);\n },\n\n /**\n * Gets the current breakpoint name by testing every breakpoint and returning the last one to match (the biggest one).\n * @function\n * @private\n * @returns {String} Name of the current breakpoint.\n */\n _getCurrentSize() {\n var matched;\n\n for (var i = 0; i < this.queries.length; i++) {\n var query = this.queries[i];\n\n if (window.matchMedia(query.value).matches) {\n matched = query;\n }\n }\n\n return matched && this._getQueryName(matched);\n },\n\n /**\n * Activates the breakpoint watcher, which fires an event on the window whenever the breakpoint changes.\n * @function\n * @private\n */\n _watcher() {\n $(window).off('resize.zf.mediaquery').on('resize.zf.mediaquery', () => {\n var newSize = this._getCurrentSize(), currentSize = this.current;\n\n if (newSize !== currentSize) {\n // Change the current media query\n this.current = newSize;\n\n // Broadcast the media query change on the window\n $(window).trigger('changed.zf.mediaquery', [newSize, currentSize]);\n }\n });\n }\n};\n\n\n\n// Thank you: https://github.com/sindresorhus/query-string\nfunction parseStyleToObject(str) {\n var styleObject = {};\n\n if (typeof str !== 'string') {\n return styleObject;\n }\n\n str = str.trim().slice(1, -1); // browsers re-quote string style values\n\n if (!str) {\n return styleObject;\n }\n\n styleObject = str.split('&').reduce(function(ret, param) {\n var parts = param.replace(/\\+/g, ' ').split('=');\n var key = parts[0];\n var val = parts[1];\n key = decodeURIComponent(key);\n\n // missing `=` should be `null`:\n // http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters\n val = typeof val === 'undefined' ? null : decodeURIComponent(val);\n\n if (!ret.hasOwnProperty(key)) {\n ret[key] = val;\n } else if (Array.isArray(ret[key])) {\n ret[key].push(val);\n } else {\n ret[key] = [ret[key], val];\n }\n return ret;\n }, {});\n\n return styleObject;\n}\n\nexport {MediaQuery};\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("jquery")):"function"==typeof define&&define.amd?define(["./foundation.core","jquery"],t):"object"==typeof exports?exports["foundation.util.mediaQuery"]=t(require("./foundation.core"),require("jquery")):(e.__FOUNDATION_EXTERNAL__=e.__FOUNDATION_EXTERNAL__||{},e.__FOUNDATION_EXTERNAL__["foundation.util.mediaQuery"]=t(e.__FOUNDATION_EXTERNAL__["foundation.core"],e.jQuery))}(window,function(n,r){return function(n){var r={};function i(e){if(r[e])return r[e].exports;var t=r[e]={i:e,l:!1,exports:{}};return n[e].call(t.exports,t,t.exports,i),t.l=!0,t.exports}return i.m=n,i.c=r,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=24)}({"./foundation.core":function(e,t){e.exports=n},"./js/entries/plugins/foundation.util.mediaQuery.js":function(e,t,n){"use strict";n.r(t);var r=n("./foundation.core");n.d(t,"Foundation",function(){return r.Foundation});var i=n("./js/foundation.util.mediaQuery.js");n.d(t,"MediaQuery",function(){return i.MediaQuery}),r.Foundation.MediaQuery=i.MediaQuery,r.Foundation.MediaQuery._init()},"./js/foundation.util.mediaQuery.js":function(e,t,n){"use strict";n.r(t),n.d(t,"MediaQuery",function(){return u});var r=n("jquery"),o=n.n(r);function i(e){return(i="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)}window.matchMedia||(window.matchMedia=function(){var t=window.styleMedia||window.media;if(!t){var n,r=document.createElement("style"),e=document.getElementsByTagName("script")[0];r.type="text/css",r.id="matchmediajs-test",e?e.parentNode.insertBefore(r,e):document.head.appendChild(r),n="getComputedStyle"in window&&window.getComputedStyle(r,null)||r.currentStyle,t={matchMedium:function(e){var t="@media "+e+"{ #matchmediajs-test { width: 1px; } }";return r.styleSheet?r.styleSheet.cssText=t:r.textContent=t,"1px"===n.width}}}return function(e){return{matches:t.matchMedium(e||"all"),media:e||"all"}}}());var u={queries:[],current:"",_init:function(){o()("meta.foundation-mq").length||o()('<meta class="foundation-mq">').appendTo(document.head);var e,t,n,r=o()(".foundation-mq").css("font-family");for(var i in n={},e="string"==typeof(t=r)&&(t=t.trim().slice(1,-1))?n=t.split("&").reduce(function(e,t){var n=t.replace(/\+/g," ").split("="),r=n[0],i=n[1];return r=decodeURIComponent(r),i=void 0===i?null:decodeURIComponent(i),e.hasOwnProperty(r)?Array.isArray(e[r])?e[r].push(i):e[r]=[e[r],i]:e[r]=i,e},{}):n)e.hasOwnProperty(i)&&this.queries.push({name:i,value:"only screen and (min-width: ".concat(e[i],")")});this.current=this._getCurrentSize(),this._watcher()},atLeast:function(e){var t=this.get(e);return!!t&&window.matchMedia(t).matches},is:function(e){return 1<(e=e.trim().split(" ")).length&&"only"===e[1]?e[0]===this._getCurrentSize():this.atLeast(e[0])},get:function(e){for(var t in this.queries)if(this.queries.hasOwnProperty(t)){var n=this.queries[t];if(e===n.name)return n.value}return null},_getCurrentSize:function(){for(var e,t=0;t<this.queries.length;t++){var n=this.queries[t];window.matchMedia(n.value).matches&&(e=n)}return"object"===i(e)?e.name:e},_watcher:function(){var n=this;o()(window).off("resize.zf.mediaquery").on("resize.zf.mediaquery",function(){var e=n._getCurrentSize(),t=n.current;e!==t&&(n.current=e,o()(window).trigger("changed.zf.mediaquery",[e,t]))})}}},24:function(e,t,n){e.exports=n("./js/entries/plugins/foundation.util.mediaQuery.js")},jquery:function(e,t){e.exports=r}})});
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("./foundation.core"),require("jquery")):"function"==typeof define&&define.amd?define(["./foundation.core","jquery"],t):"object"==typeof exports?exports["foundation.util.mediaQuery"]=t(require("./foundation.core"),require("jquery")):(e.__FOUNDATION_EXTERNAL__=e.__FOUNDATION_EXTERNAL__||{},e.__FOUNDATION_EXTERNAL__["foundation.util.mediaQuery"]=t(e.__FOUNDATION_EXTERNAL__["foundation.core"],e.jQuery))}(window,function(n,r){return u={},i.m=o={"./foundation.core":function(e,t){e.exports=n},"./js/entries/plugins/foundation.util.mediaQuery.js":function(e,t,n){"use strict";n.r(t);var r=n("./foundation.core");n.d(t,"Foundation",function(){return r.Foundation});var i=n("./js/foundation.util.mediaQuery.js");n.d(t,"MediaQuery",function(){return i.MediaQuery}),r.Foundation.MediaQuery=i.MediaQuery,r.Foundation.MediaQuery._init()},"./js/foundation.util.mediaQuery.js":function(e,t,n){"use strict";n.r(t),n.d(t,"MediaQuery",function(){return a});var r=n("jquery"),i=n.n(r);function o(e){return(o="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(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=[],r=!0,i=!1,o=void 0;try{for(var u,a=e[Symbol.iterator]();!(r=(u=a.next()).done)&&(n.push(u.value),!t||n.length!==t);r=!0);}catch(e){i=!0,o=e}finally{try{r||null==a.return||a.return()}finally{if(i)throw o}}return n}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}window.matchMedia||(window.matchMedia=function(){var t=window.styleMedia||window.media;if(!t){var n,r=document.createElement("style"),e=document.getElementsByTagName("script")[0];r.type="text/css",r.id="matchmediajs-test",e?e.parentNode.insertBefore(r,e):document.head.appendChild(r),n="getComputedStyle"in window&&window.getComputedStyle(r,null)||r.currentStyle,t={matchMedium:function(e){var t="@media "+e+"{ #matchmediajs-test { width: 1px; } }";return r.styleSheet?r.styleSheet.cssText=t:r.textContent=t,"1px"===n.width}}}return function(e){return{matches:t.matchMedium(e||"all"),media:e||"all"}}}());var a={queries:[],current:"",_init:function(){if(!0!==this.isInitialized){this.isInitialized=!0;i()("meta.foundation-mq").length||i()('<meta class="foundation-mq">').appendTo(document.head);var e,t=i()(".foundation-mq").css("font-family");for(var n in e=function(e){var t={};return"string"==typeof e&&(e=e.trim().slice(1,-1))?t=e.split("&").reduce(function(e,t){var n=t.replace(/\+/g," ").split("="),r=n[0],i=n[1];return r=decodeURIComponent(r),i=void 0===i?null:decodeURIComponent(i),e.hasOwnProperty(r)?Array.isArray(e[r])?e[r].push(i):e[r]=[e[r],i]:e[r]=i,e},{}):t}(t),this.queries=[],e)e.hasOwnProperty(n)&&this.queries.push({name:n,value:"only screen and (min-width: ".concat(e[n],")")});this.current=this._getCurrentSize(),this._watcher()}},_reInit:function(){this.isInitialized=!1,this._init()},atLeast:function(e){var t=this.get(e);return!!t&&window.matchMedia(t).matches},only:function(e){return e===this._getCurrentSize()},upTo:function(e){var t=this.next(e);return!t||!this.atLeast(t)},is:function(e){var t=u(e.trim().split(" ").filter(function(e){return!!e.length}),2),n=t[0],r=t[1],i=void 0===r?"":r;if("only"===i)return this.only(n);if(!i||"up"===i)return this.atLeast(n);if("down"===i)return this.upTo(n);throw new Error('\n Invalid breakpoint passed to MediaQuery.is().\n Expected a breakpoint name formatted like "<size> <modifier>", got "'.concat(e,'".\n '))},get:function(e){for(var t in this.queries)if(this.queries.hasOwnProperty(t)){var n=this.queries[t];if(e===n.name)return n.value}return null},next:function(t){var n=this,e=this.queries.findIndex(function(e){return n._getQueryName(e)===t});if(-1===e)throw new Error('\n Unknown breakpoint "'.concat(t,'" passed to MediaQuery.next().\n Ensure it is present in your Sass "$breakpoints" setting.\n '));var r=this.queries[e+1];return r?r.name:null},_getQueryName:function(e){if("string"==typeof e)return e;if("object"===o(e))return e.name;throw new TypeError('\n Invalid value passed to MediaQuery._getQueryName().\n Expected a breakpoint name (String) or a breakpoint query (Object), got "'.concat(e,'" (').concat(o(e),")\n "))},_getCurrentSize:function(){for(var e,t=0;t<this.queries.length;t++){var n=this.queries[t];window.matchMedia(n.value).matches&&(e=n)}return e&&this._getQueryName(e)},_watcher:function(){var n=this;i()(window).off("resize.zf.mediaquery").on("resize.zf.mediaquery",function(){var e=n._getCurrentSize(),t=n.current;e!==t&&(n.current=e,i()(window).trigger("changed.zf.mediaquery",[e,t]))})}}},24:function(e,t,n){e.exports=n("./js/entries/plugins/foundation.util.mediaQuery.js")},jquery:function(e,t){e.exports=r}},i.c=u,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=24);function i(e){if(u[e])return u[e].exports;var t=u[e]={i:e,l:!1,exports:{}};return o[e].call(t.exports,t,t.exports,i),t.l=!0,t.exports}var o,u});
2
2
  //# sourceMappingURL=foundation.util.mediaQuery.min.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/universalModuleDefinition","webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/bootstrap","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/js/entries/plugins/foundation.util.mediaQuery.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.util.mediaQuery.js","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__foundation_core__","__WEBPACK_EXTERNAL_MODULE_jquery__","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","__webpack_exports__","_foundation_core__WEBPACK_IMPORTED_MODULE_0__","_foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_1__","Foundation","MediaQuery","_init","jquery__WEBPACK_IMPORTED_MODULE_0__","jquery__WEBPACK_IMPORTED_MODULE_0___default","matchMedia","styleMedia","media","info","style","document","createElement","script","getElementsByTagName","type","id","parentNode","insertBefore","head","appendChild","getComputedStyle","currentStyle","matchMedium","text","styleSheet","cssText","textContent","width","matches","queries","current","$","length","appendTo","namedQueries","str","styleObject","extractedStyles","css","trim","slice","split","reduce","ret","param","parts","replace","val","decodeURIComponent","Array","isArray","push","this","concat","_getCurrentSize","_watcher","atLeast","size","query","is","matched","_typeof","_this","off","on","newSize","currentSize","trigger"],"mappings":"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","file":"foundation.util.mediaQuery.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.util.mediaQuery\"] = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.mediaQuery\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE_jquery__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 24);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","import { Foundation } from './foundation.core';\nimport { MediaQuery } from '../../foundation.util.mediaQuery';\n\nFoundation.MediaQuery = MediaQuery;\nFoundation.MediaQuery._init();\n\nexport { Foundation, MediaQuery };\n","'use strict';\n\nimport $ from 'jquery';\n\n// Default set of media queries\nconst defaultQueries = {\n 'default' : 'only screen',\n landscape : 'only screen and (orientation: landscape)',\n portrait : 'only screen and (orientation: portrait)',\n retina : 'only screen and (-webkit-min-device-pixel-ratio: 2),' +\n 'only screen and (min--moz-device-pixel-ratio: 2),' +\n 'only screen and (-o-min-device-pixel-ratio: 2/1),' +\n 'only screen and (min-device-pixel-ratio: 2),' +\n 'only screen and (min-resolution: 192dpi),' +\n 'only screen and (min-resolution: 2dppx)'\n };\n\n\n// matchMedia() polyfill - Test a CSS media type/query in JS.\n// Authors & copyright(c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas, David Knight. MIT license\n/* eslint-disable */\nwindow.matchMedia || (window.matchMedia = (function () {\n \"use strict\";\n\n // For browsers that support matchMedium api such as IE 9 and webkit\n var styleMedia = (window.styleMedia || window.media);\n\n // For those that don't support matchMedium\n if (!styleMedia) {\n var style = document.createElement('style'),\n script = document.getElementsByTagName('script')[0],\n info = null;\n\n style.type = 'text/css';\n style.id = 'matchmediajs-test';\n\n if (!script) {\n document.head.appendChild(style);\n } else {\n script.parentNode.insertBefore(style, script);\n }\n\n // 'style.currentStyle' is used by IE <= 8 and 'window.getComputedStyle' for all other browsers\n info = ('getComputedStyle' in window) && window.getComputedStyle(style, null) || style.currentStyle;\n\n styleMedia = {\n matchMedium: function (media) {\n var text = '@media ' + media + '{ #matchmediajs-test { width: 1px; } }';\n\n // 'style.styleSheet' is used by IE <= 8 and 'style.textContent' for all other browsers\n if (style.styleSheet) {\n style.styleSheet.cssText = text;\n } else {\n style.textContent = text;\n }\n\n // Test if media query is true or false\n return info.width === '1px';\n }\n };\n }\n\n return function(media) {\n return {\n matches: styleMedia.matchMedium(media || 'all'),\n media: media || 'all'\n };\n };\n})());\n/* eslint-enable */\n\nvar MediaQuery = {\n queries: [],\n\n current: '',\n\n /**\n * Initializes the media query helper, by extracting the breakpoint list from the CSS and activating the breakpoint watcher.\n * @function\n * @private\n */\n _init() {\n var self = this;\n var $meta = $('meta.foundation-mq');\n if(!$meta.length){\n $('<meta class=\"foundation-mq\">').appendTo(document.head);\n }\n\n var extractedStyles = $('.foundation-mq').css('font-family');\n var namedQueries;\n\n namedQueries = parseStyleToObject(extractedStyles);\n\n for (var key in namedQueries) {\n if(namedQueries.hasOwnProperty(key)) {\n self.queries.push({\n name: key,\n value: `only screen and (min-width: ${namedQueries[key]})`\n });\n }\n }\n\n this.current = this._getCurrentSize();\n\n this._watcher();\n },\n\n /**\n * Checks if the screen is at least as wide as a breakpoint.\n * @function\n * @param {String} size - Name of the breakpoint to check.\n * @returns {Boolean} `true` if the breakpoint matches, `false` if it's smaller.\n */\n atLeast(size) {\n var query = this.get(size);\n\n if (query) {\n return window.matchMedia(query).matches;\n }\n\n return false;\n },\n\n /**\n * Checks if the screen matches to a breakpoint.\n * @function\n * @param {String} size - Name of the breakpoint to check, either 'small only' or 'small'. Omitting 'only' falls back to using atLeast() method.\n * @returns {Boolean} `true` if the breakpoint matches, `false` if it does not.\n */\n is(size) {\n size = size.trim().split(' ');\n if(size.length > 1 && size[1] === 'only') {\n if(size[0] === this._getCurrentSize()) return true;\n } else {\n return this.atLeast(size[0]);\n }\n return false;\n },\n\n /**\n * Gets the media query of a breakpoint.\n * @function\n * @param {String} size - Name of the breakpoint to get.\n * @returns {String|null} - The media query of the breakpoint, or `null` if the breakpoint doesn't exist.\n */\n get(size) {\n for (var i in this.queries) {\n if(this.queries.hasOwnProperty(i)) {\n var query = this.queries[i];\n if (size === query.name) return query.value;\n }\n }\n\n return null;\n },\n\n /**\n * Gets the current breakpoint name by testing every breakpoint and returning the last one to match (the biggest one).\n * @function\n * @private\n * @returns {String} Name of the current breakpoint.\n */\n _getCurrentSize() {\n var matched;\n\n for (var i = 0; i < this.queries.length; i++) {\n var query = this.queries[i];\n\n if (window.matchMedia(query.value).matches) {\n matched = query;\n }\n }\n\n if (typeof matched === 'object') {\n return matched.name;\n } else {\n return matched;\n }\n },\n\n /**\n * Activates the breakpoint watcher, which fires an event on the window whenever the breakpoint changes.\n * @function\n * @private\n */\n _watcher() {\n $(window).off('resize.zf.mediaquery').on('resize.zf.mediaquery', () => {\n var newSize = this._getCurrentSize(), currentSize = this.current;\n\n if (newSize !== currentSize) {\n // Change the current media query\n this.current = newSize;\n\n // Broadcast the media query change on the window\n $(window).trigger('changed.zf.mediaquery', [newSize, currentSize]);\n }\n });\n }\n};\n\n\n\n// Thank you: https://github.com/sindresorhus/query-string\nfunction parseStyleToObject(str) {\n var styleObject = {};\n\n if (typeof str !== 'string') {\n return styleObject;\n }\n\n str = str.trim().slice(1, -1); // browsers re-quote string style values\n\n if (!str) {\n return styleObject;\n }\n\n styleObject = str.split('&').reduce(function(ret, param) {\n var parts = param.replace(/\\+/g, ' ').split('=');\n var key = parts[0];\n var val = parts[1];\n key = decodeURIComponent(key);\n\n // missing `=` should be `null`:\n // http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters\n val = typeof val === 'undefined' ? null : decodeURIComponent(val);\n\n if (!ret.hasOwnProperty(key)) {\n ret[key] = val;\n } else if (Array.isArray(ret[key])) {\n ret[key].push(val);\n } else {\n ret[key] = [ret[key], val];\n }\n return ret;\n }, {});\n\n return styleObject;\n}\n\nexport {MediaQuery};\n","module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;"]}
1
+ {"version":3,"sources":["webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/universalModuleDefinition","webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/bootstrap","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/js/entries/plugins/foundation.util.mediaQuery.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.util.mediaQuery.js","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__foundation_core__","__WEBPACK_EXTERNAL_MODULE_jquery__","installedModules","__webpack_require__","m","r","__webpack_exports__","_foundation_core__WEBPACK_IMPORTED_MODULE_0__","d","_foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_1__","Foundation","MediaQuery","_init","jquery__WEBPACK_IMPORTED_MODULE_0__","jquery__WEBPACK_IMPORTED_MODULE_0___default","n","matchMedia","styleMedia","media","info","style","document","createElement","script","getElementsByTagName","type","id","parentNode","insertBefore","head","appendChild","getComputedStyle","currentStyle","matchMedium","text","styleSheet","cssText","textContent","width","matches","queries","current","this","isInitialized","$","length","appendTo","namedQueries","extractedStyles","css","key","str","styleObject","trim","slice","split","reduce","ret","param","parts","replace","val","decodeURIComponent","hasOwnProperty","Array","isArray","push","parseStyleToObject","name","value","concat","_getCurrentSize","_watcher","_reInit","atLeast","size","query","get","only","upTo","nextSize","next","is","_parts","_slicedToArray","filter","p","bpSize","_parts$","bpModifier","Error","i","_this","queryIndex","findIndex","q","_getQueryName","nextQuery","_typeof","TypeError","matched","_this2","off","on","newSize","currentSize","trigger","c","getter","o","Object","defineProperty","enumerable","Symbol","toStringTag","t","mode","__esModule","ns","create","bind","object","property","prototype","call","s","moduleId","l","modules"],"mappings":"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","file":"foundation.util.mediaQuery.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.util.mediaQuery\"] = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.mediaQuery\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE_jquery__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 24);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","import { Foundation } from './foundation.core';\nimport { MediaQuery } from '../../foundation.util.mediaQuery';\n\nFoundation.MediaQuery = MediaQuery;\nFoundation.MediaQuery._init();\n\nexport { Foundation, MediaQuery };\n","'use strict';\n\nimport $ from 'jquery';\n\n// Default set of media queries\nconst defaultQueries = {\n 'default' : 'only screen',\n landscape : 'only screen and (orientation: landscape)',\n portrait : 'only screen and (orientation: portrait)',\n retina : 'only screen and (-webkit-min-device-pixel-ratio: 2),' +\n 'only screen and (min--moz-device-pixel-ratio: 2),' +\n 'only screen and (-o-min-device-pixel-ratio: 2/1),' +\n 'only screen and (min-device-pixel-ratio: 2),' +\n 'only screen and (min-resolution: 192dpi),' +\n 'only screen and (min-resolution: 2dppx)'\n };\n\n\n// matchMedia() polyfill - Test a CSS media type/query in JS.\n// Authors & copyright © 2012: Scott Jehl, Paul Irish, Nicholas Zakas, David Knight. MIT license\n/* eslint-disable */\nwindow.matchMedia || (window.matchMedia = (function () {\n \"use strict\";\n\n // For browsers that support matchMedium api such as IE 9 and webkit\n var styleMedia = (window.styleMedia || window.media);\n\n // For those that don't support matchMedium\n if (!styleMedia) {\n var style = document.createElement('style'),\n script = document.getElementsByTagName('script')[0],\n info = null;\n\n style.type = 'text/css';\n style.id = 'matchmediajs-test';\n\n if (!script) {\n document.head.appendChild(style);\n } else {\n script.parentNode.insertBefore(style, script);\n }\n\n // 'style.currentStyle' is used by IE <= 8 and 'window.getComputedStyle' for all other browsers\n info = ('getComputedStyle' in window) && window.getComputedStyle(style, null) || style.currentStyle;\n\n styleMedia = {\n matchMedium: function (media) {\n var text = '@media ' + media + '{ #matchmediajs-test { width: 1px; } }';\n\n // 'style.styleSheet' is used by IE <= 8 and 'style.textContent' for all other browsers\n if (style.styleSheet) {\n style.styleSheet.cssText = text;\n } else {\n style.textContent = text;\n }\n\n // Test if media query is true or false\n return info.width === '1px';\n }\n };\n }\n\n return function(media) {\n return {\n matches: styleMedia.matchMedium(media || 'all'),\n media: media || 'all'\n };\n };\n})());\n/* eslint-enable */\n\nvar MediaQuery = {\n queries: [],\n\n current: '',\n\n /**\n * Initializes the media query helper, by extracting the breakpoint list from the CSS and activating the breakpoint watcher.\n * @function\n * @private\n */\n _init() {\n\n // make sure the initialization is only done once when calling _init() several times\n if (this.isInitialized === true) {\n return;\n } else {\n this.isInitialized = true;\n }\n\n var self = this;\n var $meta = $('meta.foundation-mq');\n if(!$meta.length){\n $('<meta class=\"foundation-mq\">').appendTo(document.head);\n }\n\n var extractedStyles = $('.foundation-mq').css('font-family');\n var namedQueries;\n\n namedQueries = parseStyleToObject(extractedStyles);\n\n self.queries = []; // reset\n\n for (var key in namedQueries) {\n if(namedQueries.hasOwnProperty(key)) {\n self.queries.push({\n name: key,\n value: `only screen and (min-width: ${namedQueries[key]})`\n });\n }\n }\n\n this.current = this._getCurrentSize();\n\n this._watcher();\n },\n\n /**\n * Reinitializes the media query helper.\n * Useful if your CSS breakpoint configuration has just been loaded or has changed since the initialization.\n * @function\n * @private\n */\n _reInit() {\n this.isInitialized = false;\n this._init();\n },\n\n /**\n * Checks if the screen is at least as wide as a breakpoint.\n * @function\n * @param {String} size - Name of the breakpoint to check.\n * @returns {Boolean} `true` if the breakpoint matches, `false` if it's smaller.\n */\n atLeast(size) {\n var query = this.get(size);\n\n if (query) {\n return window.matchMedia(query).matches;\n }\n\n return false;\n },\n\n /**\n * Checks if the screen is within the given breakpoint.\n * If smaller than the breakpoint of larger than its upper limit it returns false.\n * @function\n * @param {String} size - Name of the breakpoint to check.\n * @returns {Boolean} `true` if the breakpoint matches, `false` otherwise.\n */\n only(size) {\n return size === this._getCurrentSize();\n },\n\n /**\n * Checks if the screen is within a breakpoint or smaller.\n * @function\n * @param {String} size - Name of the breakpoint to check.\n * @returns {Boolean} `true` if the breakpoint matches, `false` if it's larger.\n */\n upTo(size) {\n const nextSize = this.next(size);\n\n // If the next breakpoint does not match, the screen is smaller than\n // the upper limit of this breakpoint.\n if (nextSize) {\n return !this.atLeast(nextSize);\n }\n\n // If there is no next breakpoint, the \"size\" breakpoint does not have\n // an upper limit and the screen will always be within it or smaller.\n return true;\n },\n\n /**\n * Checks if the screen matches to a breakpoint.\n * @function\n * @param {String} size - Name of the breakpoint to check, either 'small only' or 'small'. Omitting 'only' falls back to using atLeast() method.\n * @returns {Boolean} `true` if the breakpoint matches, `false` if it does not.\n */\n is(size) {\n const parts = size.trim().split(' ').filter(p => !!p.length);\n const [bpSize, bpModifier = ''] = parts;\n\n // Only the breakpont\n if (bpModifier === 'only') {\n return this.only(bpSize);\n }\n // At least the breakpoint (included)\n if (!bpModifier || bpModifier === 'up') {\n return this.atLeast(bpSize);\n }\n // Up to the breakpoint (included)\n if (bpModifier === 'down') {\n return this.upTo(bpSize);\n }\n\n throw new Error(`\n Invalid breakpoint passed to MediaQuery.is().\n Expected a breakpoint name formatted like \"<size> <modifier>\", got \"${size}\".\n `);\n },\n\n /**\n * Gets the media query of a breakpoint.\n * @function\n * @param {String} size - Name of the breakpoint to get.\n * @returns {String|null} - The media query of the breakpoint, or `null` if the breakpoint doesn't exist.\n */\n get(size) {\n for (var i in this.queries) {\n if(this.queries.hasOwnProperty(i)) {\n var query = this.queries[i];\n if (size === query.name) return query.value;\n }\n }\n\n return null;\n },\n\n /**\n * Get the breakpoint following the given breakpoint.\n * @function\n * @param {String} size - Name of the breakpoint.\n * @returns {String|null} - The name of the following breakpoint, or `null` if the passed breakpoint was the last one.\n */\n next(size) {\n const queryIndex = this.queries.findIndex((q) => this._getQueryName(q) === size);\n if (queryIndex === -1) {\n throw new Error(`\n Unknown breakpoint \"${size}\" passed to MediaQuery.next().\n Ensure it is present in your Sass \"$breakpoints\" setting.\n `);\n }\n\n const nextQuery = this.queries[queryIndex + 1];\n return nextQuery ? nextQuery.name : null;\n },\n\n /**\n * Returns the name of the breakpoint related to the given value.\n * @function\n * @private\n * @param {String|Object} value - Breakpoint name or query object.\n * @returns {String} Name of the breakpoint.\n */\n _getQueryName(value) {\n if (typeof value === 'string')\n return value;\n if (typeof value === 'object')\n return value.name;\n throw new TypeError(`\n Invalid value passed to MediaQuery._getQueryName().\n Expected a breakpoint name (String) or a breakpoint query (Object), got \"${value}\" (${typeof value})\n `);\n },\n\n /**\n * Gets the current breakpoint name by testing every breakpoint and returning the last one to match (the biggest one).\n * @function\n * @private\n * @returns {String} Name of the current breakpoint.\n */\n _getCurrentSize() {\n var matched;\n\n for (var i = 0; i < this.queries.length; i++) {\n var query = this.queries[i];\n\n if (window.matchMedia(query.value).matches) {\n matched = query;\n }\n }\n\n return matched && this._getQueryName(matched);\n },\n\n /**\n * Activates the breakpoint watcher, which fires an event on the window whenever the breakpoint changes.\n * @function\n * @private\n */\n _watcher() {\n $(window).off('resize.zf.mediaquery').on('resize.zf.mediaquery', () => {\n var newSize = this._getCurrentSize(), currentSize = this.current;\n\n if (newSize !== currentSize) {\n // Change the current media query\n this.current = newSize;\n\n // Broadcast the media query change on the window\n $(window).trigger('changed.zf.mediaquery', [newSize, currentSize]);\n }\n });\n }\n};\n\n\n\n// Thank you: https://github.com/sindresorhus/query-string\nfunction parseStyleToObject(str) {\n var styleObject = {};\n\n if (typeof str !== 'string') {\n return styleObject;\n }\n\n str = str.trim().slice(1, -1); // browsers re-quote string style values\n\n if (!str) {\n return styleObject;\n }\n\n styleObject = str.split('&').reduce(function(ret, param) {\n var parts = param.replace(/\\+/g, ' ').split('=');\n var key = parts[0];\n var val = parts[1];\n key = decodeURIComponent(key);\n\n // missing `=` should be `null`:\n // http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters\n val = typeof val === 'undefined' ? null : decodeURIComponent(val);\n\n if (!ret.hasOwnProperty(key)) {\n ret[key] = val;\n } else if (Array.isArray(ret[key])) {\n ret[key].push(val);\n } else {\n ret[key] = [ret[key], val];\n }\n return ret;\n }, {});\n\n return styleObject;\n}\n\nexport {MediaQuery};\n","module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;"]}
@@ -220,7 +220,6 @@ function animate(isIn, element, animation, cb) {
220
220
  }); // Start the animation
221
221
 
222
222
  requestAnimationFrame(function () {
223
- element[0].offsetWidth;
224
223
  element.css('transition', '').addClass(activeClass);
225
224
  }); // Clean up the animation when it finishes
226
225
 
@@ -250,7 +249,7 @@ function animate(isIn, element, animation, cb) {
250
249
  /*! no static exports found */
251
250
  /***/ (function(module, exports, __webpack_require__) {
252
251
 
253
- module.exports = __webpack_require__(/*! /Users/ncoden/Documents/Documents/Projects/Programmation/Web/2016/Foundation/foundation-sites/js/entries/plugins/foundation.util.motion.js */"./js/entries/plugins/foundation.util.motion.js");
252
+ module.exports = __webpack_require__(/*! /Volumes/Data/Development/Foundation/foundation-sites/js/entries/plugins/foundation.util.motion.js */"./js/entries/plugins/foundation.util.motion.js");
254
253
 
255
254
 
256
255
  /***/ }),
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/universalModuleDefinition","webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/bootstrap","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/entries/plugins/foundation.util.motion.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.util.motion.js","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}"],"names":["Foundation","Motion","Move","initClasses","activeClasses","animateIn","element","animation","cb","animate","animateOut","duration","elem","fn","anim","prog","start","apply","trigger","triggerHandler","move","ts","window","requestAnimationFrame","cancelAnimationFrame","isIn","$","eq","length","initClass","activeClass","reset","addClass","css","show","offsetWidth","one","transitionend","finish","hide","style","transitionDuration","removeClass"],"mappings":"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","file":"foundation.util.motion.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.util.motion\"] = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.motion\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE_jquery__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 25);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","import { Foundation } from './foundation.core';\nimport { Motion, Move } from '../../foundation.util.motion';\n\nFoundation.Motion = Motion;\nFoundation.Move = Move;\n\nexport { Foundation, Motion, Move };\n","'use strict';\n\nimport $ from 'jquery';\nimport { transitionend } from './foundation.core.utils';\n\n/**\n * Motion module.\n * @module foundation.motion\n */\n\nconst initClasses = ['mui-enter', 'mui-leave'];\nconst activeClasses = ['mui-enter-active', 'mui-leave-active'];\n\nconst Motion = {\n animateIn: function(element, animation, cb) {\n animate(true, element, animation, cb);\n },\n\n animateOut: function(element, animation, cb) {\n animate(false, element, animation, cb);\n }\n}\n\nfunction Move(duration, elem, fn){\n var anim, prog, start = null;\n // console.log('called');\n\n if (duration === 0) {\n fn.apply(elem);\n elem.trigger('finished.zf.animate', [elem]).triggerHandler('finished.zf.animate', [elem]);\n return;\n }\n\n function move(ts){\n if(!start) start = ts;\n // console.log(start, ts);\n prog = ts - start;\n fn.apply(elem);\n\n if(prog < duration){ anim = window.requestAnimationFrame(move, elem); }\n else{\n window.cancelAnimationFrame(anim);\n elem.trigger('finished.zf.animate', [elem]).triggerHandler('finished.zf.animate', [elem]);\n }\n }\n anim = window.requestAnimationFrame(move);\n}\n\n/**\n * Animates an element in or out using a CSS transition class.\n * @function\n * @private\n * @param {Boolean} isIn - Defines if the animation is in or out.\n * @param {Object} element - jQuery or HTML object to animate.\n * @param {String} animation - CSS class to use.\n * @param {Function} cb - Callback to run when animation is finished.\n */\nfunction animate(isIn, element, animation, cb) {\n element = $(element).eq(0);\n\n if (!element.length) return;\n\n var initClass = isIn ? initClasses[0] : initClasses[1];\n var activeClass = isIn ? activeClasses[0] : activeClasses[1];\n\n // Set up the animation\n reset();\n\n element\n .addClass(animation)\n .css('transition', 'none');\n\n requestAnimationFrame(() => {\n element.addClass(initClass);\n if (isIn) element.show();\n });\n\n // Start the animation\n requestAnimationFrame(() => {\n element[0].offsetWidth;\n element\n .css('transition', '')\n .addClass(activeClass);\n });\n\n // Clean up the animation when it finishes\n element.one(transitionend(element), finish);\n\n // Hides the element (for out animations), resets the element, and runs a callback\n function finish() {\n if (!isIn) element.hide();\n reset();\n if (cb) cb.apply(element);\n }\n\n // Resets transitions and removes motion-specific classes\n function reset() {\n element[0].style.transitionDuration = 0;\n element.removeClass(`${initClass} ${activeClass} ${animation}`);\n }\n}\n\nexport { Move, Motion };\n\n","module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/universalModuleDefinition","webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/bootstrap","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/entries/plugins/foundation.util.motion.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.util.motion.js","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}"],"names":["Foundation","Motion","Move","initClasses","activeClasses","animateIn","element","animation","cb","animate","animateOut","duration","elem","fn","anim","prog","start","apply","trigger","triggerHandler","move","ts","window","requestAnimationFrame","cancelAnimationFrame","isIn","$","eq","length","initClass","activeClass","reset","addClass","css","show","one","transitionend","finish","hide","style","transitionDuration","removeClass"],"mappings":"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","file":"foundation.util.motion.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.util.motion\"] = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.motion\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE_jquery__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 25);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","import { Foundation } from './foundation.core';\nimport { Motion, Move } from '../../foundation.util.motion';\n\nFoundation.Motion = Motion;\nFoundation.Move = Move;\n\nexport { Foundation, Motion, Move };\n","'use strict';\n\nimport $ from 'jquery';\nimport { transitionend } from './foundation.core.utils';\n\n/**\n * Motion module.\n * @module foundation.motion\n */\n\nconst initClasses = ['mui-enter', 'mui-leave'];\nconst activeClasses = ['mui-enter-active', 'mui-leave-active'];\n\nconst Motion = {\n animateIn: function(element, animation, cb) {\n animate(true, element, animation, cb);\n },\n\n animateOut: function(element, animation, cb) {\n animate(false, element, animation, cb);\n }\n}\n\nfunction Move(duration, elem, fn){\n var anim, prog, start = null;\n // console.log('called');\n\n if (duration === 0) {\n fn.apply(elem);\n elem.trigger('finished.zf.animate', [elem]).triggerHandler('finished.zf.animate', [elem]);\n return;\n }\n\n function move(ts){\n if(!start) start = ts;\n // console.log(start, ts);\n prog = ts - start;\n fn.apply(elem);\n\n if(prog < duration){ anim = window.requestAnimationFrame(move, elem); }\n else{\n window.cancelAnimationFrame(anim);\n elem.trigger('finished.zf.animate', [elem]).triggerHandler('finished.zf.animate', [elem]);\n }\n }\n anim = window.requestAnimationFrame(move);\n}\n\n/**\n * Animates an element in or out using a CSS transition class.\n * @function\n * @private\n * @param {Boolean} isIn - Defines if the animation is in or out.\n * @param {Object} element - jQuery or HTML object to animate.\n * @param {String} animation - CSS class to use.\n * @param {Function} cb - Callback to run when animation is finished.\n */\nfunction animate(isIn, element, animation, cb) {\n element = $(element).eq(0);\n\n if (!element.length) return;\n\n var initClass = isIn ? initClasses[0] : initClasses[1];\n var activeClass = isIn ? activeClasses[0] : activeClasses[1];\n\n // Set up the animation\n reset();\n\n element\n .addClass(animation)\n .css('transition', 'none');\n\n requestAnimationFrame(() => {\n element.addClass(initClass);\n if (isIn) element.show();\n });\n\n // Start the animation\n requestAnimationFrame(() => {\n element\n .css('transition', '')\n .addClass(activeClass);\n });\n\n // Clean up the animation when it finishes\n element.one(transitionend(element), finish);\n\n // Hides the element (for out animations), resets the element, and runs a callback\n function finish() {\n if (!isIn) element.hide();\n reset();\n if (cb) cb.apply(element);\n }\n\n // Resets transitions and removes motion-specific classes\n function reset() {\n element[0].style.transitionDuration = 0;\n element.removeClass(`${initClass} ${activeClass} ${animation}`);\n }\n}\n\nexport { Move, Motion };\n\n","module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- !function(n,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("./foundation.core"),require("jquery")):"function"==typeof define&&define.amd?define(["./foundation.core","jquery"],t):"object"==typeof exports?exports["foundation.util.motion"]=t(require("./foundation.core"),require("jquery")):(n.__FOUNDATION_EXTERNAL__=n.__FOUNDATION_EXTERNAL__||{},n.__FOUNDATION_EXTERNAL__["foundation.util.motion"]=t(n.__FOUNDATION_EXTERNAL__["foundation.core"],n.jQuery))}(window,function(e,o){return function(e){var o={};function i(n){if(o[n])return o[n].exports;var t=o[n]={i:n,l:!1,exports:{}};return e[n].call(t.exports,t,t.exports,i),t.l=!0,t.exports}return i.m=e,i.c=o,i.d=function(n,t,e){i.o(n,t)||Object.defineProperty(n,t,{enumerable:!0,get:e})},i.r=function(n){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})},i.t=function(t,n){if(1&n&&(t=i(t)),8&n)return t;if(4&n&&"object"==typeof t&&t&&t.__esModule)return t;var e=Object.create(null);if(i.r(e),Object.defineProperty(e,"default",{enumerable:!0,value:t}),2&n&&"string"!=typeof t)for(var o in t)i.d(e,o,function(n){return t[n]}.bind(null,o));return e},i.n=function(n){var t=n&&n.__esModule?function(){return n.default}:function(){return n};return i.d(t,"a",t),t},i.o=function(n,t){return Object.prototype.hasOwnProperty.call(n,t)},i.p="",i(i.s=25)}({"./foundation.core":function(n,t){n.exports=e},"./js/entries/plugins/foundation.util.motion.js":function(n,t,e){"use strict";e.r(t);var o=e("./foundation.core");e.d(t,"Foundation",function(){return o.Foundation});var i=e("./js/foundation.util.motion.js");e.d(t,"Motion",function(){return i.Motion}),e.d(t,"Move",function(){return i.Move}),o.Foundation.Motion=i.Motion,o.Foundation.Move=i.Move},"./js/foundation.util.motion.js":function(n,t,e){"use strict";e.r(t),e.d(t,"Move",function(){return r}),e.d(t,"Motion",function(){return i});var o=e("jquery"),a=e.n(o),f=e("./foundation.core"),c=["mui-enter","mui-leave"],d=["mui-enter-active","mui-leave-active"],i={animateIn:function(n,t,e){u(!0,n,t,e)},animateOut:function(n,t,e){u(!1,n,t,e)}};function r(e,o,i){var r,u,a=null;if(0===e)return i.apply(o),void o.trigger("finished.zf.animate",[o]).triggerHandler("finished.zf.animate",[o]);r=window.requestAnimationFrame(function n(t){a||(a=t),u=t-a,i.apply(o),u<e?r=window.requestAnimationFrame(n,o):(window.cancelAnimationFrame(r),o.trigger("finished.zf.animate",[o]).triggerHandler("finished.zf.animate",[o]))})}function u(n,t,e,o){if((t=a()(t).eq(0)).length){var i=n?c[0]:c[1],r=n?d[0]:d[1];u(),t.addClass(e).css("transition","none"),requestAnimationFrame(function(){t.addClass(i),n&&t.show()}),requestAnimationFrame(function(){t[0].offsetWidth,t.css("transition","").addClass(r)}),t.one(Object(f.transitionend)(t),function(){n||t.hide();u(),o&&o.apply(t)})}function u(){t[0].style.transitionDuration=0,t.removeClass("".concat(i," ").concat(r," ").concat(e))}}},25:function(n,t,e){n.exports=e("./js/entries/plugins/foundation.util.motion.js")},jquery:function(n,t){n.exports=o}})});
1
+ !function(n,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("./foundation.core"),require("jquery")):"function"==typeof define&&define.amd?define(["./foundation.core","jquery"],e):"object"==typeof exports?exports["foundation.util.motion"]=e(require("./foundation.core"),require("jquery")):(n.__FOUNDATION_EXTERNAL__=n.__FOUNDATION_EXTERNAL__||{},n.__FOUNDATION_EXTERNAL__["foundation.util.motion"]=e(n.__FOUNDATION_EXTERNAL__["foundation.core"],n.jQuery))}(window,function(t,o){return u={},i.m=r={"./foundation.core":function(n,e){n.exports=t},"./js/entries/plugins/foundation.util.motion.js":function(n,e,t){"use strict";t.r(e);var o=t("./foundation.core");t.d(e,"Foundation",function(){return o.Foundation});var i=t("./js/foundation.util.motion.js");t.d(e,"Motion",function(){return i.Motion}),t.d(e,"Move",function(){return i.Move}),o.Foundation.Motion=i.Motion,o.Foundation.Move=i.Move},"./js/foundation.util.motion.js":function(n,e,t){"use strict";t.r(e),t.d(e,"Move",function(){return r}),t.d(e,"Motion",function(){return i});var o=t("jquery"),a=t.n(o),f=t("./foundation.core"),c=["mui-enter","mui-leave"],d=["mui-enter-active","mui-leave-active"],i={animateIn:function(n,e,t){u(!0,n,e,t)},animateOut:function(n,e,t){u(!1,n,e,t)}};function r(t,o,i){var r,u,a=null;if(0===t)return i.apply(o),void o.trigger("finished.zf.animate",[o]).triggerHandler("finished.zf.animate",[o]);r=window.requestAnimationFrame(function n(e){u=e-(a=a||e),i.apply(o),u<t?r=window.requestAnimationFrame(n,o):(window.cancelAnimationFrame(r),o.trigger("finished.zf.animate",[o]).triggerHandler("finished.zf.animate",[o]))})}function u(n,e,t,o){if((e=a()(e).eq(0)).length){var i=n?c[0]:c[1],r=n?d[0]:d[1];u(),e.addClass(t).css("transition","none"),requestAnimationFrame(function(){e.addClass(i),n&&e.show()}),requestAnimationFrame(function(){e.css("transition","").addClass(r)}),e.one(Object(f.transitionend)(e),function(){n||e.hide();u(),o&&o.apply(e)})}function u(){e[0].style.transitionDuration=0,e.removeClass("".concat(i," ").concat(r," ").concat(t))}}},25:function(n,e,t){n.exports=t("./js/entries/plugins/foundation.util.motion.js")},jquery:function(n,e){n.exports=o}},i.c=u,i.d=function(n,e,t){i.o(n,e)||Object.defineProperty(n,e,{enumerable:!0,get:t})},i.r=function(n){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})},i.t=function(e,n){if(1&n&&(e=i(e)),8&n)return e;if(4&n&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(i.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&n&&"string"!=typeof e)for(var o in e)i.d(t,o,function(n){return e[n]}.bind(null,o));return t},i.n=function(n){var e=n&&n.__esModule?function(){return n.default}:function(){return n};return i.d(e,"a",e),e},i.o=function(n,e){return Object.prototype.hasOwnProperty.call(n,e)},i.p="",i(i.s=25);function i(n){if(u[n])return u[n].exports;var e=u[n]={i:n,l:!1,exports:{}};return r[n].call(e.exports,e,e.exports,i),e.l=!0,e.exports}var r,u});
2
2
  //# sourceMappingURL=foundation.util.motion.min.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/universalModuleDefinition","webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/bootstrap","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/js/entries/plugins/foundation.util.motion.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.util.motion.js","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__foundation_core__","__WEBPACK_EXTERNAL_MODULE_jquery__","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","__webpack_exports__","_foundation_core__WEBPACK_IMPORTED_MODULE_0__","_foundation_util_motion__WEBPACK_IMPORTED_MODULE_1__","Foundation","Motion","Move","jquery__WEBPACK_IMPORTED_MODULE_0__","jquery__WEBPACK_IMPORTED_MODULE_0___default","_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__","initClasses","activeClasses","animateIn","element","animation","cb","animate","animateOut","duration","elem","fn","anim","prog","start","apply","trigger","triggerHandler","requestAnimationFrame","move","ts","cancelAnimationFrame","isIn","$","eq","length","initClass","activeClass","reset","addClass","css","show","offsetWidth","one","transitionend","hide","style","transitionDuration","removeClass","concat"],"mappings":"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","file":"foundation.util.motion.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.util.motion\"] = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.motion\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE_jquery__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 25);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","import { Foundation } from './foundation.core';\nimport { Motion, Move } from '../../foundation.util.motion';\n\nFoundation.Motion = Motion;\nFoundation.Move = Move;\n\nexport { Foundation, Motion, Move };\n","'use strict';\n\nimport $ from 'jquery';\nimport { transitionend } from './foundation.core.utils';\n\n/**\n * Motion module.\n * @module foundation.motion\n */\n\nconst initClasses = ['mui-enter', 'mui-leave'];\nconst activeClasses = ['mui-enter-active', 'mui-leave-active'];\n\nconst Motion = {\n animateIn: function(element, animation, cb) {\n animate(true, element, animation, cb);\n },\n\n animateOut: function(element, animation, cb) {\n animate(false, element, animation, cb);\n }\n}\n\nfunction Move(duration, elem, fn){\n var anim, prog, start = null;\n // console.log('called');\n\n if (duration === 0) {\n fn.apply(elem);\n elem.trigger('finished.zf.animate', [elem]).triggerHandler('finished.zf.animate', [elem]);\n return;\n }\n\n function move(ts){\n if(!start) start = ts;\n // console.log(start, ts);\n prog = ts - start;\n fn.apply(elem);\n\n if(prog < duration){ anim = window.requestAnimationFrame(move, elem); }\n else{\n window.cancelAnimationFrame(anim);\n elem.trigger('finished.zf.animate', [elem]).triggerHandler('finished.zf.animate', [elem]);\n }\n }\n anim = window.requestAnimationFrame(move);\n}\n\n/**\n * Animates an element in or out using a CSS transition class.\n * @function\n * @private\n * @param {Boolean} isIn - Defines if the animation is in or out.\n * @param {Object} element - jQuery or HTML object to animate.\n * @param {String} animation - CSS class to use.\n * @param {Function} cb - Callback to run when animation is finished.\n */\nfunction animate(isIn, element, animation, cb) {\n element = $(element).eq(0);\n\n if (!element.length) return;\n\n var initClass = isIn ? initClasses[0] : initClasses[1];\n var activeClass = isIn ? activeClasses[0] : activeClasses[1];\n\n // Set up the animation\n reset();\n\n element\n .addClass(animation)\n .css('transition', 'none');\n\n requestAnimationFrame(() => {\n element.addClass(initClass);\n if (isIn) element.show();\n });\n\n // Start the animation\n requestAnimationFrame(() => {\n element[0].offsetWidth;\n element\n .css('transition', '')\n .addClass(activeClass);\n });\n\n // Clean up the animation when it finishes\n element.one(transitionend(element), finish);\n\n // Hides the element (for out animations), resets the element, and runs a callback\n function finish() {\n if (!isIn) element.hide();\n reset();\n if (cb) cb.apply(element);\n }\n\n // Resets transitions and removes motion-specific classes\n function reset() {\n element[0].style.transitionDuration = 0;\n element.removeClass(`${initClass} ${activeClass} ${animation}`);\n }\n}\n\nexport { Move, Motion };\n\n","module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;"]}
1
+ {"version":3,"sources":["webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/universalModuleDefinition","webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/bootstrap","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/js/entries/plugins/foundation.util.motion.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.util.motion.js","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__foundation_core__","__WEBPACK_EXTERNAL_MODULE_jquery__","installedModules","__webpack_require__","m","r","__webpack_exports__","_foundation_core__WEBPACK_IMPORTED_MODULE_0__","d","_foundation_util_motion__WEBPACK_IMPORTED_MODULE_1__","Foundation","Motion","Move","jquery__WEBPACK_IMPORTED_MODULE_0__","jquery__WEBPACK_IMPORTED_MODULE_0___default","n","_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__","initClasses","activeClasses","animateIn","element","animation","cb","animate","animateOut","duration","elem","fn","anim","prog","start","apply","trigger","triggerHandler","requestAnimationFrame","move","ts","cancelAnimationFrame","isIn","$","eq","length","initClass","activeClass","reset","addClass","css","show","one","transitionend","hide","style","transitionDuration","removeClass","concat","c","name","getter","o","Object","defineProperty","enumerable","get","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","object","property","prototype","hasOwnProperty","call","p","s","moduleId","i","l","modules"],"mappings":"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","file":"foundation.util.motion.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.util.motion\"] = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.motion\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE_jquery__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 25);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","import { Foundation } from './foundation.core';\nimport { Motion, Move } from '../../foundation.util.motion';\n\nFoundation.Motion = Motion;\nFoundation.Move = Move;\n\nexport { Foundation, Motion, Move };\n","'use strict';\n\nimport $ from 'jquery';\nimport { transitionend } from './foundation.core.utils';\n\n/**\n * Motion module.\n * @module foundation.motion\n */\n\nconst initClasses = ['mui-enter', 'mui-leave'];\nconst activeClasses = ['mui-enter-active', 'mui-leave-active'];\n\nconst Motion = {\n animateIn: function(element, animation, cb) {\n animate(true, element, animation, cb);\n },\n\n animateOut: function(element, animation, cb) {\n animate(false, element, animation, cb);\n }\n}\n\nfunction Move(duration, elem, fn){\n var anim, prog, start = null;\n // console.log('called');\n\n if (duration === 0) {\n fn.apply(elem);\n elem.trigger('finished.zf.animate', [elem]).triggerHandler('finished.zf.animate', [elem]);\n return;\n }\n\n function move(ts){\n if(!start) start = ts;\n // console.log(start, ts);\n prog = ts - start;\n fn.apply(elem);\n\n if(prog < duration){ anim = window.requestAnimationFrame(move, elem); }\n else{\n window.cancelAnimationFrame(anim);\n elem.trigger('finished.zf.animate', [elem]).triggerHandler('finished.zf.animate', [elem]);\n }\n }\n anim = window.requestAnimationFrame(move);\n}\n\n/**\n * Animates an element in or out using a CSS transition class.\n * @function\n * @private\n * @param {Boolean} isIn - Defines if the animation is in or out.\n * @param {Object} element - jQuery or HTML object to animate.\n * @param {String} animation - CSS class to use.\n * @param {Function} cb - Callback to run when animation is finished.\n */\nfunction animate(isIn, element, animation, cb) {\n element = $(element).eq(0);\n\n if (!element.length) return;\n\n var initClass = isIn ? initClasses[0] : initClasses[1];\n var activeClass = isIn ? activeClasses[0] : activeClasses[1];\n\n // Set up the animation\n reset();\n\n element\n .addClass(animation)\n .css('transition', 'none');\n\n requestAnimationFrame(() => {\n element.addClass(initClass);\n if (isIn) element.show();\n });\n\n // Start the animation\n requestAnimationFrame(() => {\n element\n .css('transition', '')\n .addClass(activeClass);\n });\n\n // Clean up the animation when it finishes\n element.one(transitionend(element), finish);\n\n // Hides the element (for out animations), resets the element, and runs a callback\n function finish() {\n if (!isIn) element.hide();\n reset();\n if (cb) cb.apply(element);\n }\n\n // Resets transitions and removes motion-specific classes\n function reset() {\n element[0].style.transitionDuration = 0;\n element.removeClass(`${initClass} ${activeClass} ${animation}`);\n }\n}\n\nexport { Move, Motion };\n\n","module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;"]}
@@ -216,7 +216,7 @@ var Nest = {
216
216
  /*! no static exports found */
217
217
  /***/ (function(module, exports, __webpack_require__) {
218
218
 
219
- module.exports = __webpack_require__(/*! /Users/ncoden/Documents/Documents/Projects/Programmation/Web/2016/Foundation/foundation-sites/js/entries/plugins/foundation.util.nest.js */"./js/entries/plugins/foundation.util.nest.js");
219
+ module.exports = __webpack_require__(/*! /Volumes/Data/Development/Foundation/foundation-sites/js/entries/plugins/foundation.util.nest.js */"./js/entries/plugins/foundation.util.nest.js");
220
220
 
221
221
 
222
222
  /***/ }),