{"version":3,"sources":["webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/universalModuleDefinition","webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/bootstrap","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"}","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.keyboard\"],\"amd\":\"./foundation.util.keyboard\",\"commonjs\":\"./foundation.util.keyboard\",\"commonjs2\":\"./foundation.util.keyboard\"}","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.mediaQuery\"],\"amd\":\"./foundation.util.mediaQuery\",\"commonjs\":\"./foundation.util.mediaQuery\",\"commonjs2\":\"./foundation.util.mediaQuery\"}","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.motion\"],\"amd\":\"./foundation.util.motion\",\"commonjs\":\"./foundation.util.motion\",\"commonjs2\":\"./foundation.util.motion\"}","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.touch\"],\"amd\":\"./foundation.util.touch\",\"commonjs\":\"./foundation.util.touch\",\"commonjs2\":\"./foundation.util.touch\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/js/entries/plugins/foundation.reveal.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.reveal.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.util.triggers.js","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__foundation_core__","__WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__","__WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__","__WEBPACK_EXTERNAL_MODULE__foundation_util_motion__","__WEBPACK_EXTERNAL_MODULE__foundation_util_touch__","__WEBPACK_EXTERNAL_MODULE_jquery__","installedModules","__webpack_require__","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_reveal__WEBPACK_IMPORTED_MODULE_1__","Foundation","plugin","Reveal","jquery__WEBPACK_IMPORTED_MODULE_0__","jquery__WEBPACK_IMPORTED_MODULE_0___default","_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__","_foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2__","_foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_3__","_foundation_util_motion__WEBPACK_IMPORTED_MODULE_4__","_foundation_util_triggers__WEBPACK_IMPORTED_MODULE_5__","Plugin","element","options","this","$element","$","extend","defaults","data","className","_init","Triggers","init","Keyboard","register","ESCAPE","_this2","MediaQuery","id","attr","isActive","cached","mq","current","$anchor","concat","length","aria-controls","aria-haspopup","tabindex","fullScreen","hasClass","overlay","$overlay","_makeOverlay","role","aria-hidden","data-yeti-box","data-resize","detach","appendTo","addClass","_events","deepLink","location","hash","onLoadListener","onLoad","open","additionalOverlayClasses","left","width","outerWidth","height","outerHeight","top","hOffset","parseInt","vOffset","Math","min","css","margin","_this3","_this","on","open.zf.trigger","close.zf.trigger","event","target","parents","close","apply","toggle.zf.trigger","toggle","resizeme.zf.trigger","_updatePosition","closeOnClick","off","e","contains","document","_handleState","scrollTop","_this4","history","pushState","updateHistory","replaceState","$activeAnchor","activeElement","is","visibility","show","hide","multipleOpened","trigger","_disableScroll","animationIn","Motion","animateIn","focusableElements","findFocusable","focus","_addGlobalClasses","trapFocus","showDelay","_addGlobalListeners","updateScrollbarClass","toggleClass","removeClass","closeOnEsc","handleKey","finishUp","_removeGlobalClasses","releaseFocus","_enableScroll","animationOut","animateOut","hideDelay","resetOnClose","html","urlWithoutHash","pathname","search","title","remove","_foundation_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","clearTimeout","setTimeout","openListener","closeListener","toggleListener","closeableListener","stopPropagation","animation","fadeOut","toggleFocusListener","triggerHandler","addOpenListener","$elem","addCloseListener","addToggleListener","addCloseableListener","addToggleFocusListener","resizeListener","$nodes","each","scrollListener","closeMeListener","pluginId","namespace","not","addClosemeListener","pluginName","yetiBoxes","plugNames","push","_typeof","console","error","listeners","map","join","addResizeListener","addScrollListener","addMutationEventsListener","find","listeningElementsMutation","mutationRecordsList","$target","attributeName","pageYOffset","closest","observe","attributes","childList","characterData","subtree","attributeFilter","addSimpleListeners","$document","addGlobalListeners","triggersInitialized","IHearYou"],"mappings":"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","file":"foundation.reveal.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"./foundation.util.keyboard\"), require(\"./foundation.util.mediaQuery\"), require(\"./foundation.util.motion\"), require(\"./foundation.util.touch\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"./foundation.util.keyboard\", \"./foundation.util.mediaQuery\", \"./foundation.util.motion\", \"./foundation.util.touch\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.reveal\"] = factory(require(\"./foundation.core\"), require(\"./foundation.util.keyboard\"), require(\"./foundation.util.mediaQuery\"), require(\"./foundation.util.motion\"), require(\"./foundation.util.touch\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.reveal\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.keyboard\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.mediaQuery\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.motion\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.touch\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__, __WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__, __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__, __WEBPACK_EXTERNAL_MODULE__foundation_util_touch__, __WEBPACK_EXTERNAL_MODULE_jquery__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 14);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_touch__;","import { Foundation } from './foundation.core';\n\nimport { Reveal } from '../../foundation.reveal';\nFoundation.plugin(Reveal, 'Reveal');\n\nexport { Foundation, Reveal };\n","'use strict';\n\nimport $ from 'jquery';\nimport { onLoad } from './foundation.core.utils';\nimport { Keyboard } from './foundation.util.keyboard';\nimport { MediaQuery } from './foundation.util.mediaQuery';\nimport { Motion } from './foundation.util.motion';\nimport { Plugin } from './foundation.core.plugin';\nimport { Triggers } from './foundation.util.triggers';\nimport { Touch } from './foundation.util.touch'\n\n/**\n * Reveal module.\n * @module foundation.reveal\n * @requires foundation.util.keyboard\n * @requires foundation.util.triggers\n * @requires foundation.util.mediaQuery\n * @requires foundation.util.motion if using animations\n */\n\nclass Reveal extends Plugin {\n /**\n * Creates a new instance of Reveal.\n * @class\n * @name Reveal\n * @param {jQuery} element - jQuery object to use for the modal.\n * @param {Object} options - optional parameters.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, Reveal.defaults, this.$element.data(), options);\n this.className = 'Reveal'; // ie9 back compat\n this._init();\n\n // Triggers init is idempotent, just need to make sure it is initialized\n Triggers.init($);\n\n Keyboard.register('Reveal', {\n 'ESCAPE': 'close',\n });\n }\n\n /**\n * Initializes the modal by adding the overlay and close buttons, (if selected).\n * @private\n */\n _init() {\n MediaQuery._init();\n this.id = this.$element.attr('id');\n this.isActive = false;\n this.cached = {mq: MediaQuery.current};\n\n this.$anchor = $(`[data-open=\"${this.id}\"]`).length ? $(`[data-open=\"${this.id}\"]`) : $(`[data-toggle=\"${this.id}\"]`);\n this.$anchor.attr({\n 'aria-controls': this.id,\n 'aria-haspopup': true,\n 'tabindex': 0\n });\n\n if (this.options.fullScreen || this.$element.hasClass('full')) {\n this.options.fullScreen = true;\n this.options.overlay = false;\n }\n if (this.options.overlay && !this.$overlay) {\n this.$overlay = this._makeOverlay(this.id);\n }\n\n this.$element.attr({\n 'role': 'dialog',\n 'aria-hidden': true,\n 'data-yeti-box': this.id,\n 'data-resize': this.id\n });\n\n if(this.$overlay) {\n this.$element.detach().appendTo(this.$overlay);\n } else {\n this.$element.detach().appendTo($(this.options.appendTo));\n this.$element.addClass('without-overlay');\n }\n this._events();\n if (this.options.deepLink && window.location.hash === ( `#${this.id}`)) {\n this.onLoadListener = onLoad($(window), () => this.open());\n }\n }\n\n /**\n * Creates an overlay div to display behind the modal.\n * @private\n */\n _makeOverlay() {\n var additionalOverlayClasses = '';\n\n if (this.options.additionalOverlayClasses) {\n additionalOverlayClasses = ' ' + this.options.additionalOverlayClasses;\n }\n\n return $('
')\n .addClass('reveal-overlay' + additionalOverlayClasses)\n .appendTo(this.options.appendTo);\n }\n\n /**\n * Updates position of modal\n * TODO: Figure out if we actually need to cache these values or if it doesn't matter\n * @private\n */\n _updatePosition() {\n var width = this.$element.outerWidth();\n var outerWidth = $(window).width();\n var height = this.$element.outerHeight();\n var outerHeight = $(window).height();\n var left, top = null;\n if (this.options.hOffset === 'auto') {\n left = parseInt((outerWidth - width) / 2, 10);\n } else {\n left = parseInt(this.options.hOffset, 10);\n }\n if (this.options.vOffset === 'auto') {\n if (height > outerHeight) {\n top = parseInt(Math.min(100, outerHeight / 10), 10);\n } else {\n top = parseInt((outerHeight - height) / 4, 10);\n }\n } else if (this.options.vOffset !== null) {\n top = parseInt(this.options.vOffset, 10);\n }\n\n if (top !== null) {\n this.$element.css({top: top + 'px'});\n }\n\n // only worry about left if we don't have an overlay or we have a horizontal offset,\n // otherwise we're perfectly in the middle\n if (!this.$overlay || (this.options.hOffset !== 'auto')) {\n this.$element.css({left: left + 'px'});\n this.$element.css({margin: '0px'});\n }\n\n }\n\n /**\n * Adds event handlers for the modal.\n * @private\n */\n _events() {\n var _this = this;\n\n this.$element.on({\n 'open.zf.trigger': this.open.bind(this),\n 'close.zf.trigger': (event, $element) => {\n if ((event.target === _this.$element[0]) ||\n ($(event.target).parents('[data-closable]')[0] === $element)) { // only close reveal when it's explicitly called\n return this.close.apply(this);\n }\n },\n 'toggle.zf.trigger': this.toggle.bind(this),\n 'resizeme.zf.trigger': function() {\n _this._updatePosition();\n }\n });\n\n if (this.options.closeOnClick && this.options.overlay) {\n this.$overlay.off('.zf.reveal').on('click.zf.reveal', function(e) {\n if (e.target === _this.$element[0] ||\n $.contains(_this.$element[0], e.target) ||\n !$.contains(document, e.target)) {\n return;\n }\n _this.close();\n });\n }\n if (this.options.deepLink) {\n $(window).on(`hashchange.zf.reveal:${this.id}`, this._handleState.bind(this));\n }\n }\n\n /**\n * Handles modal methods on back/forward button clicks or any other event that triggers hashchange.\n * @private\n */\n _handleState(e) {\n if(window.location.hash === ( '#' + this.id) && !this.isActive){ this.open(); }\n else{ this.close(); }\n }\n\n /**\n * Disables the scroll when Reveal is shown to prevent the background from shifting\n * @param {number} scrollTop - Scroll to visually apply, window current scroll by default\n */\n _disableScroll(scrollTop) {\n scrollTop = scrollTop || $(window).scrollTop();\n if ($(document).height() > $(window).height()) {\n $(\"html\")\n .css(\"top\", -scrollTop);\n }\n }\n\n /**\n * Reenables the scroll when Reveal closes\n * @param {number} scrollTop - Scroll to restore, html \"top\" property by default (as set by `_disableScroll`)\n */\n _enableScroll(scrollTop) {\n scrollTop = scrollTop || parseInt($(\"html\").css(\"top\"));\n if ($(document).height() > $(window).height()) {\n $(\"html\")\n .css(\"top\", \"\");\n $(window).scrollTop(-scrollTop);\n }\n }\n\n\n /**\n * Opens the modal controlled by `this.$anchor`, and closes all others by default.\n * @function\n * @fires Reveal#closeme\n * @fires Reveal#open\n */\n open() {\n // either update or replace browser history\n const hash = `#${this.id}`;\n if (this.options.deepLink && window.location.hash !== hash) {\n\n if (window.history.pushState) {\n if (this.options.updateHistory) {\n window.history.pushState({}, '', hash);\n } else {\n window.history.replaceState({}, '', hash);\n }\n } else {\n window.location.hash = hash;\n }\n }\n\n // Remember anchor that opened it to set focus back later, have general anchors as fallback\n this.$activeAnchor = $(document.activeElement).is(this.$anchor) ? $(document.activeElement) : this.$anchor;\n\n this.isActive = true;\n\n // Make elements invisible, but remove display: none so we can get size and positioning\n this.$element\n .css({ 'visibility': 'hidden' })\n .show()\n .scrollTop(0);\n if (this.options.overlay) {\n this.$overlay.css({'visibility': 'hidden'}).show();\n }\n\n this._updatePosition();\n\n this.$element\n .hide()\n .css({ 'visibility': '' });\n\n if(this.$overlay) {\n this.$overlay.css({'visibility': ''}).hide();\n if(this.$element.hasClass('fast')) {\n this.$overlay.addClass('fast');\n } else if (this.$element.hasClass('slow')) {\n this.$overlay.addClass('slow');\n }\n }\n\n\n if (!this.options.multipleOpened) {\n /**\n * Fires immediately before the modal opens.\n * Closes any other modals that are currently open\n * @event Reveal#closeme\n */\n this.$element.trigger('closeme.zf.reveal', this.id);\n }\n\n this._disableScroll();\n\n var _this = this;\n\n // Motion UI method of reveal\n if (this.options.animationIn) {\n function afterAnimation(){\n _this.$element\n .attr({\n 'aria-hidden': false,\n 'tabindex': -1\n })\n .focus();\n _this._addGlobalClasses();\n Keyboard.trapFocus(_this.$element);\n }\n if (this.options.overlay) {\n Motion.animateIn(this.$overlay, 'fade-in');\n }\n Motion.animateIn(this.$element, this.options.animationIn, () => {\n if(this.$element) { // protect against object having been removed\n this.focusableElements = Keyboard.findFocusable(this.$element);\n afterAnimation();\n }\n });\n }\n // jQuery method of reveal\n else {\n if (this.options.overlay) {\n this.$overlay.show(0);\n }\n this.$element.show(this.options.showDelay);\n }\n\n // handle accessibility\n this.$element\n .attr({\n 'aria-hidden': false,\n 'tabindex': -1\n })\n .focus();\n Keyboard.trapFocus(this.$element);\n\n this._addGlobalClasses();\n\n this._addGlobalListeners();\n\n /**\n * Fires when the modal has successfully opened.\n * @event Reveal#open\n */\n this.$element.trigger('open.zf.reveal');\n }\n\n /**\n * Adds classes and listeners on document required by open modals.\n *\n * The following classes are added and updated:\n * - `.is-reveal-open` - Prevents the scroll on document\n * - `.zf-has-scroll` - Displays a disabled scrollbar on document if required like if the\n * scroll was not disabled. This prevent a \"shift\" of the page content due\n * the scrollbar disappearing when the modal opens.\n *\n * @private\n */\n _addGlobalClasses() {\n const updateScrollbarClass = () => {\n $('html').toggleClass('zf-has-scroll', !!($(document).height() > $(window).height()));\n };\n\n this.$element.on('resizeme.zf.trigger.revealScrollbarListener', () => updateScrollbarClass());\n updateScrollbarClass();\n $('html').addClass('is-reveal-open');\n }\n\n /**\n * Removes classes and listeners on document that were required by open modals.\n * @private\n */\n _removeGlobalClasses() {\n this.$element.off('resizeme.zf.trigger.revealScrollbarListener');\n $('html').removeClass('is-reveal-open');\n $('html').removeClass('zf-has-scroll');\n }\n\n /**\n * Adds extra event handlers for the body and window if necessary.\n * @private\n */\n _addGlobalListeners() {\n var _this = this;\n if(!this.$element) { return; } // If we're in the middle of cleanup, don't freak out\n this.focusableElements = Keyboard.findFocusable(this.$element);\n\n if (!this.options.overlay && this.options.closeOnClick && !this.options.fullScreen) {\n $('body').on('click.zf.reveal', function(e) {\n if (e.target === _this.$element[0] ||\n $.contains(_this.$element[0], e.target) ||\n !$.contains(document, e.target)) { return; }\n _this.close();\n });\n }\n\n if (this.options.closeOnEsc) {\n $(window).on('keydown.zf.reveal', function(e) {\n Keyboard.handleKey(e, 'Reveal', {\n close: function() {\n if (_this.options.closeOnEsc) {\n _this.close();\n }\n }\n });\n });\n }\n }\n\n /**\n * Closes the modal.\n * @function\n * @fires Reveal#closed\n */\n close() {\n if (!this.isActive || !this.$element.is(':visible')) {\n return false;\n }\n var _this = this;\n\n // Motion UI method of hiding\n if (this.options.animationOut) {\n if (this.options.overlay) {\n Motion.animateOut(this.$overlay, 'fade-out');\n }\n\n Motion.animateOut(this.$element, this.options.animationOut, finishUp);\n }\n // jQuery method of hiding\n else {\n this.$element.hide(this.options.hideDelay);\n\n if (this.options.overlay) {\n this.$overlay.hide(0, finishUp);\n }\n else {\n finishUp();\n }\n }\n\n // Conditionals to remove extra event listeners added on open\n if (this.options.closeOnEsc) {\n $(window).off('keydown.zf.reveal');\n }\n\n if (!this.options.overlay && this.options.closeOnClick) {\n $('body').off('click.zf.reveal');\n }\n\n this.$element.off('keydown.zf.reveal');\n\n function finishUp() {\n\n // Get the current top before the modal is closed and restore the scroll after.\n // TODO: use component properties instead of HTML properties\n // See https://github.com/zurb/foundation-sites/pull/10786\n var scrollTop = parseInt($(\"html\").css(\"top\"));\n\n if ($('.reveal:visible').length === 0) {\n _this._removeGlobalClasses(); // also remove .is-reveal-open from the html element when there is no opened reveal\n }\n\n Keyboard.releaseFocus(_this.$element);\n\n _this.$element.attr('aria-hidden', true);\n\n _this._enableScroll(scrollTop);\n\n /**\n * Fires when the modal is done closing.\n * @event Reveal#closed\n */\n _this.$element.trigger('closed.zf.reveal');\n }\n\n /**\n * Resets the modal content\n * This prevents a running video to keep going in the background\n */\n if (this.options.resetOnClose) {\n this.$element.html(this.$element.html());\n }\n\n this.isActive = false;\n // If deepLink and we did not switched to an other modal...\n if (_this.options.deepLink && window.location.hash === `#${this.id}`) {\n // Remove the history hash\n if (window.history.replaceState) {\n const urlWithoutHash = window.location.pathname + window.location.search;\n if (this.options.updateHistory) {\n window.history.pushState({}, '', urlWithoutHash); // remove the hash\n } else {\n window.history.replaceState('', document.title, urlWithoutHash);\n }\n } else {\n window.location.hash = '';\n }\n }\n\n this.$activeAnchor.focus();\n }\n\n /**\n * Toggles the open/closed state of a modal.\n * @function\n */\n toggle() {\n if (this.isActive) {\n this.close();\n } else {\n this.open();\n }\n };\n\n /**\n * Destroys an instance of a modal.\n * @function\n */\n _destroy() {\n if (this.options.overlay) {\n this.$element.appendTo($(this.options.appendTo)); // move $element outside of $overlay to prevent error unregisterPlugin()\n this.$overlay.hide().off().remove();\n }\n this.$element.hide().off();\n this.$anchor.off('.zf');\n $(window).off(`.zf.reveal:${this.id}`)\n if (this.onLoadListener) $(window).off(this.onLoadListener);\n\n if ($('.reveal:visible').length === 0) {\n this._removeGlobalClasses(); // also remove .is-reveal-open from the html element when there is no opened reveal\n }\n };\n}\n\nReveal.defaults = {\n /**\n * Motion-UI class to use for animated elements. If none used, defaults to simple show/hide.\n * @option\n * @type {string}\n * @default ''\n */\n animationIn: '',\n /**\n * Motion-UI class to use for animated elements. If none used, defaults to simple show/hide.\n * @option\n * @type {string}\n * @default ''\n */\n animationOut: '',\n /**\n * Time, in ms, to delay the opening of a modal after a click if no animation used.\n * @option\n * @type {number}\n * @default 0\n */\n showDelay: 0,\n /**\n * Time, in ms, to delay the closing of a modal after a click if no animation used.\n * @option\n * @type {number}\n * @default 0\n */\n hideDelay: 0,\n /**\n * Allows a click on the body/overlay to close the modal.\n * @option\n * @type {boolean}\n * @default true\n */\n closeOnClick: true,\n /**\n * Allows the modal to close if the user presses the `ESCAPE` key.\n * @option\n * @type {boolean}\n * @default true\n */\n closeOnEsc: true,\n /**\n * If true, allows multiple modals to be displayed at once.\n * @option\n * @type {boolean}\n * @default false\n */\n multipleOpened: false,\n /**\n * Distance, in pixels, the modal should push down from the top of the screen.\n * @option\n * @type {number|string}\n * @default auto\n */\n vOffset: 'auto',\n /**\n * Distance, in pixels, the modal should push in from the side of the screen.\n * @option\n * @type {number|string}\n * @default auto\n */\n hOffset: 'auto',\n /**\n * Allows the modal to be fullscreen, completely blocking out the rest of the view. JS checks for this as well.\n * @option\n * @type {boolean}\n * @default false\n */\n fullScreen: false,\n /**\n * Allows the modal to generate an overlay div, which will cover the view when modal opens.\n * @option\n * @type {boolean}\n * @default true\n */\n overlay: true,\n /**\n * Allows the modal to remove and reinject markup on close. Should be true if using video elements w/o using provider's api, otherwise, videos will continue to play in the background.\n * @option\n * @type {boolean}\n * @default false\n */\n resetOnClose: false,\n /**\n * Link the location hash to the modal.\n * Set the location hash when the modal is opened/closed, and open/close the modal when the location changes.\n * @option\n * @type {boolean}\n * @default false\n */\n deepLink: false,\n /**\n * If `deepLink` is enabled, update the browser history with the open modal\n * @option\n * @default false\n */\n updateHistory: false,\n /**\n * Allows the modal to append to custom div.\n * @option\n * @type {string}\n * @default \"body\"\n */\n appendTo: \"body\",\n /**\n * Allows adding additional class names to the reveal overlay.\n * @option\n * @type {string}\n * @default ''\n */\n additionalOverlayClasses: ''\n};\n\nexport {Reveal};\n","'use strict';\n\nimport $ from 'jquery';\nimport { onLoad } from './foundation.core.utils';\nimport { Motion } from './foundation.util.motion';\n\nconst MutationObserver = (function () {\n var prefixes = ['WebKit', 'Moz', 'O', 'Ms', ''];\n for (var i=0; i < prefixes.length; i++) {\n if (`${prefixes[i]}MutationObserver` in window) {\n return window[`${prefixes[i]}MutationObserver`];\n }\n }\n return false;\n}());\n\nconst triggers = (el, type) => {\n el.data(type).split(' ').forEach(id => {\n $(`#${id}`)[ type === 'close' ? 'trigger' : 'triggerHandler'](`${type}.zf.trigger`, [el]);\n });\n};\n\nvar Triggers = {\n Listeners: {\n Basic: {},\n Global: {}\n },\n Initializers: {}\n}\n\nTriggers.Listeners.Basic = {\n openListener: function() {\n triggers($(this), 'open');\n },\n closeListener: function() {\n let id = $(this).data('close');\n if (id) {\n triggers($(this), 'close');\n }\n else {\n $(this).trigger('close.zf.trigger');\n }\n },\n toggleListener: function() {\n let id = $(this).data('toggle');\n if (id) {\n triggers($(this), 'toggle');\n } else {\n $(this).trigger('toggle.zf.trigger');\n }\n },\n closeableListener: function(e) {\n e.stopPropagation();\n let animation = $(this).data('closable');\n\n if(animation !== ''){\n Motion.animateOut($(this), animation, function() {\n $(this).trigger('closed.zf');\n });\n }else{\n $(this).fadeOut().trigger('closed.zf');\n }\n },\n toggleFocusListener: function() {\n let id = $(this).data('toggle-focus');\n $(`#${id}`).triggerHandler('toggle.zf.trigger', [$(this)]);\n }\n};\n\n// Elements with [data-open] will reveal a plugin that supports it when clicked.\nTriggers.Initializers.addOpenListener = ($elem) => {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.openListener);\n $elem.on('click.zf.trigger', '[data-open]', Triggers.Listeners.Basic.openListener);\n}\n\n// Elements with [data-close] will close a plugin that supports it when clicked.\n// If used without a value on [data-close], the event will bubble, allowing it to close a parent component.\nTriggers.Initializers.addCloseListener = ($elem) => {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.closeListener);\n $elem.on('click.zf.trigger', '[data-close]', Triggers.Listeners.Basic.closeListener);\n}\n\n// Elements with [data-toggle] will toggle a plugin that supports it when clicked.\nTriggers.Initializers.addToggleListener = ($elem) => {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.toggleListener);\n $elem.on('click.zf.trigger', '[data-toggle]', Triggers.Listeners.Basic.toggleListener);\n}\n\n// Elements with [data-closable] will respond to close.zf.trigger events.\nTriggers.Initializers.addCloseableListener = ($elem) => {\n $elem.off('close.zf.trigger', Triggers.Listeners.Basic.closeableListener);\n $elem.on('close.zf.trigger', '[data-closeable], [data-closable]', Triggers.Listeners.Basic.closeableListener);\n}\n\n// Elements with [data-toggle-focus] will respond to coming in and out of focus\nTriggers.Initializers.addToggleFocusListener = ($elem) => {\n $elem.off('focus.zf.trigger blur.zf.trigger', Triggers.Listeners.Basic.toggleFocusListener);\n $elem.on('focus.zf.trigger blur.zf.trigger', '[data-toggle-focus]', Triggers.Listeners.Basic.toggleFocusListener);\n}\n\n\n\n// More Global/complex listeners and triggers\nTriggers.Listeners.Global = {\n resizeListener: function($nodes) {\n if(!MutationObserver){//fallback for IE 9\n $nodes.each(function(){\n $(this).triggerHandler('resizeme.zf.trigger');\n });\n }\n //trigger all listening elements and signal a resize event\n $nodes.attr('data-events', \"resize\");\n },\n scrollListener: function($nodes) {\n if(!MutationObserver){//fallback for IE 9\n $nodes.each(function(){\n $(this).triggerHandler('scrollme.zf.trigger');\n });\n }\n //trigger all listening elements and signal a scroll event\n $nodes.attr('data-events', \"scroll\");\n },\n closeMeListener: function(e, pluginId){\n let plugin = e.namespace.split('.')[0];\n let plugins = $(`[data-${plugin}]`).not(`[data-yeti-box=\"${pluginId}\"]`);\n\n plugins.each(function(){\n let _this = $(this);\n _this.triggerHandler('close.zf.trigger', [_this]);\n });\n }\n}\n\n// Global, parses whole document.\nTriggers.Initializers.addClosemeListener = function(pluginName) {\n var yetiBoxes = $('[data-yeti-box]'),\n plugNames = ['dropdown', 'tooltip', 'reveal'];\n\n if(pluginName){\n if(typeof pluginName === 'string'){\n plugNames.push(pluginName);\n }else if(typeof pluginName === 'object' && typeof pluginName[0] === 'string'){\n plugNames = plugNames.concat(pluginName);\n }else{\n console.error('Plugin names must be strings');\n }\n }\n if(yetiBoxes.length){\n let listeners = plugNames.map((name) => {\n return `closeme.zf.${name}`;\n }).join(' ');\n\n $(window).off(listeners).on(listeners, Triggers.Listeners.Global.closeMeListener);\n }\n}\n\nfunction debounceGlobalListener(debounce, trigger, listener) {\n let timer, args = Array.prototype.slice.call(arguments, 3);\n $(window).off(trigger).on(trigger, function(e) {\n if (timer) { clearTimeout(timer); }\n timer = setTimeout(function(){\n listener.apply(null, args);\n }, debounce || 10);//default time to emit scroll event\n });\n}\n\nTriggers.Initializers.addResizeListener = function(debounce){\n let $nodes = $('[data-resize]');\n if($nodes.length){\n debounceGlobalListener(debounce, 'resize.zf.trigger', Triggers.Listeners.Global.resizeListener, $nodes);\n }\n}\n\nTriggers.Initializers.addScrollListener = function(debounce){\n let $nodes = $('[data-scroll]');\n if($nodes.length){\n debounceGlobalListener(debounce, 'scroll.zf.trigger', Triggers.Listeners.Global.scrollListener, $nodes);\n }\n}\n\nTriggers.Initializers.addMutationEventsListener = function($elem) {\n if(!MutationObserver){ return false; }\n let $nodes = $elem.find('[data-resize], [data-scroll], [data-mutate]');\n\n //element callback\n var listeningElementsMutation = function (mutationRecordsList) {\n var $target = $(mutationRecordsList[0].target);\n\n //trigger the event handler for the element depending on type\n switch (mutationRecordsList[0].type) {\n case \"attributes\":\n if ($target.attr(\"data-events\") === \"scroll\" && mutationRecordsList[0].attributeName === \"data-events\") {\n $target.triggerHandler('scrollme.zf.trigger', [$target, window.pageYOffset]);\n }\n if ($target.attr(\"data-events\") === \"resize\" && mutationRecordsList[0].attributeName === \"data-events\") {\n $target.triggerHandler('resizeme.zf.trigger', [$target]);\n }\n if (mutationRecordsList[0].attributeName === \"style\") {\n $target.closest(\"[data-mutate]\").attr(\"data-events\",\"mutate\");\n $target.closest(\"[data-mutate]\").triggerHandler('mutateme.zf.trigger', [$target.closest(\"[data-mutate]\")]);\n }\n break;\n\n case \"childList\":\n $target.closest(\"[data-mutate]\").attr(\"data-events\",\"mutate\");\n $target.closest(\"[data-mutate]\").triggerHandler('mutateme.zf.trigger', [$target.closest(\"[data-mutate]\")]);\n break;\n\n default:\n return false;\n //nothing\n }\n };\n\n if ($nodes.length) {\n //for each element that needs to listen for resizing, scrolling, or mutation add a single observer\n for (var i = 0; i <= $nodes.length - 1; i++) {\n var elementObserver = new MutationObserver(listeningElementsMutation);\n elementObserver.observe($nodes[i], { attributes: true, childList: true, characterData: false, subtree: true, attributeFilter: [\"data-events\", \"style\"] });\n }\n }\n}\n\nTriggers.Initializers.addSimpleListeners = function() {\n let $document = $(document);\n\n Triggers.Initializers.addOpenListener($document);\n Triggers.Initializers.addCloseListener($document);\n Triggers.Initializers.addToggleListener($document);\n Triggers.Initializers.addCloseableListener($document);\n Triggers.Initializers.addToggleFocusListener($document);\n\n}\n\nTriggers.Initializers.addGlobalListeners = function() {\n let $document = $(document);\n Triggers.Initializers.addMutationEventsListener($document);\n Triggers.Initializers.addResizeListener();\n Triggers.Initializers.addScrollListener();\n Triggers.Initializers.addClosemeListener();\n}\n\n\nTriggers.init = function ($, Foundation) {\n onLoad($(window), function () {\n if ($.triggersInitialized !== true) {\n Triggers.Initializers.addSimpleListeners();\n Triggers.Initializers.addGlobalListeners();\n $.triggersInitialized = true;\n }\n });\n\n if(Foundation) {\n Foundation.Triggers = Triggers;\n // Legacy included to be backwards compatible for now.\n Foundation.IHearYou = Triggers.Initializers.addGlobalListeners\n }\n}\n\nexport {Triggers};\n","module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;"]}