{"version":3,"file":"foundation.offcanvas.min.js","sources":["foundation.offcanvas.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(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"./foundation.util.keyboard\", \"./foundation.util.mediaQuery\", \"./foundation.util.motion\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.offcanvas\"] = factory(require(\"./foundation.core\"), require(\"./foundation.util.keyboard\"), require(\"./foundation.util.mediaQuery\"), require(\"./foundation.util.motion\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.offcanvas\"] = 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[\"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_jquery__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \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 = 9);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"./foundation.core\":\n/*!****************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"} ***!\n \\****************************************************************************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;\n\n/***/ }),\n\n/***/ \"./foundation.util.keyboard\":\n/*!****************************************************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.keyboard\"],\"amd\":\"./foundation.util.keyboard\",\"commonjs\":\"./foundation.util.keyboard\",\"commonjs2\":\"./foundation.util.keyboard\"} ***!\n \\****************************************************************************************************************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__;\n\n/***/ }),\n\n/***/ \"./foundation.util.mediaQuery\":\n/*!************************************************************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.mediaQuery\"],\"amd\":\"./foundation.util.mediaQuery\",\"commonjs\":\"./foundation.util.mediaQuery\",\"commonjs2\":\"./foundation.util.mediaQuery\"} ***!\n \\************************************************************************************************************************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__;\n\n/***/ }),\n\n/***/ \"./foundation.util.motion\":\n/*!********************************************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.motion\"],\"amd\":\"./foundation.util.motion\",\"commonjs\":\"./foundation.util.motion\",\"commonjs2\":\"./foundation.util.motion\"} ***!\n \\********************************************************************************************************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__;\n\n/***/ }),\n\n/***/ \"./js/entries/plugins/foundation.offcanvas.js\":\n/*!****************************************************!*\\\n !*** ./js/entries/plugins/foundation.offcanvas.js ***!\n \\****************************************************/\n/*! exports provided: Foundation, OffCanvas */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _foundation_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./foundation.core */ \"./foundation.core\");\n/* harmony import */ var _foundation_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_foundation_core__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Foundation\", function() { return _foundation_core__WEBPACK_IMPORTED_MODULE_0__[\"Foundation\"]; });\n\n/* harmony import */ var _foundation_offcanvas__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../foundation.offcanvas */ \"./js/foundation.offcanvas.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"OffCanvas\", function() { return _foundation_offcanvas__WEBPACK_IMPORTED_MODULE_1__[\"OffCanvas\"]; });\n\n\n\n_foundation_core__WEBPACK_IMPORTED_MODULE_0__[\"Foundation\"].plugin(_foundation_offcanvas__WEBPACK_IMPORTED_MODULE_1__[\"OffCanvas\"], 'OffCanvas');\n\n\n/***/ }),\n\n/***/ \"./js/foundation.offcanvas.js\":\n/*!************************************!*\\\n !*** ./js/foundation.offcanvas.js ***!\n \\************************************/\n/*! exports provided: OffCanvas */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"OffCanvas\", function() { return OffCanvas; });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation.core.plugin */ \"./foundation.core\");\n/* harmony import */ var _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation.util.keyboard */ \"./foundation.util.keyboard\");\n/* harmony import */ var _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./foundation.util.mediaQuery */ \"./foundation.util.mediaQuery\");\n/* harmony import */ var _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _foundation_util_triggers__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./foundation.util.triggers */ \"./js/foundation.util.triggers.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; 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); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\n\n/**\n * OffCanvas module.\n * @module foundation.offCanvas\n * @requires foundation.util.keyboard\n * @requires foundation.util.mediaQuery\n * @requires foundation.util.triggers\n */\n\nvar OffCanvas = /*#__PURE__*/function (_Plugin) {\n _inherits(OffCanvas, _Plugin);\n\n var _super = _createSuper(OffCanvas);\n\n function OffCanvas() {\n _classCallCheck(this, OffCanvas);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(OffCanvas, [{\n key: \"_setup\",\n value:\n /**\n * Creates a new instance of an off-canvas wrapper.\n * @class\n * @name OffCanvas\n * @fires OffCanvas#init\n * @param {Object} element - jQuery object to initialize.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n function _setup(element, options) {\n var _this2 = this;\n\n this.className = 'OffCanvas'; // ie9 back compat\n\n this.$element = element;\n this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend({}, OffCanvas.defaults, this.$element.data(), options);\n this.contentClasses = {\n base: [],\n reveal: []\n };\n this.$lastTrigger = jquery__WEBPACK_IMPORTED_MODULE_0___default()();\n this.$triggers = jquery__WEBPACK_IMPORTED_MODULE_0___default()();\n this.position = 'left';\n this.$content = jquery__WEBPACK_IMPORTED_MODULE_0___default()();\n this.nested = !!this.options.nested;\n this.$sticky = jquery__WEBPACK_IMPORTED_MODULE_0___default()();\n this.isInCanvas = false; // Defines the CSS transition/position classes of the off-canvas content container.\n\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(['push', 'overlap']).each(function (index, val) {\n _this2.contentClasses.base.push('has-transition-' + val);\n });\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(['left', 'right', 'top', 'bottom']).each(function (index, val) {\n _this2.contentClasses.base.push('has-position-' + val);\n\n _this2.contentClasses.reveal.push('has-reveal-' + val);\n }); // Triggers init is idempotent, just need to make sure it is initialized\n\n _foundation_util_triggers__WEBPACK_IMPORTED_MODULE_4__[\"Triggers\"].init(jquery__WEBPACK_IMPORTED_MODULE_0___default.a);\n\n _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_3__[\"MediaQuery\"]._init();\n\n this._init();\n\n this._events();\n\n _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2__[\"Keyboard\"].register('OffCanvas', {\n 'ESCAPE': 'close'\n });\n }\n /**\n * Initializes the off-canvas wrapper by adding the exit overlay (if needed).\n * @function\n * @private\n */\n\n }, {\n key: \"_init\",\n value: function _init() {\n var id = this.$element.attr('id');\n this.$element.attr('aria-hidden', 'true'); // Find off-canvas content, either by ID (if specified), by siblings or by closest selector (fallback)\n\n if (this.options.contentId) {\n this.$content = jquery__WEBPACK_IMPORTED_MODULE_0___default()('#' + this.options.contentId);\n } else if (this.$element.siblings('[data-off-canvas-content]').length) {\n this.$content = this.$element.siblings('[data-off-canvas-content]').first();\n } else {\n this.$content = this.$element.closest('[data-off-canvas-content]').first();\n }\n\n if (!this.options.contentId) {\n // Assume that the off-canvas element is nested if it isn't a sibling of the content\n this.nested = this.$element.siblings('[data-off-canvas-content]').length === 0;\n } else if (this.options.contentId && this.options.nested === null) {\n // Warning if using content ID without setting the nested option\n // Once the element is nested it is required to work properly in this case\n console.warn('Remember to use the nested option if using the content ID option!');\n }\n\n if (this.nested === true) {\n // Force transition overlap if nested\n this.options.transition = 'overlap'; // Remove appropriate classes if already assigned in markup\n\n this.$element.removeClass('is-transition-push');\n }\n\n this.$element.addClass(\"is-transition-\".concat(this.options.transition, \" is-closed\")); // Find triggers that affect this element and add aria-expanded to them\n\n this.$triggers = jquery__WEBPACK_IMPORTED_MODULE_0___default()(document).find('[data-open=\"' + id + '\"], [data-close=\"' + id + '\"], [data-toggle=\"' + id + '\"]').attr('aria-expanded', 'false').attr('aria-controls', id); // Get position by checking for related CSS class\n\n this.position = this.$element.is('.position-left, .position-top, .position-right, .position-bottom') ? this.$element.attr('class').match(/position\\-(left|top|right|bottom)/)[1] : this.position; // Add an overlay over the content if necessary\n\n if (this.options.contentOverlay === true) {\n var overlay = document.createElement('div');\n var overlayPosition = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this.$element).css(\"position\") === 'fixed' ? 'is-overlay-fixed' : 'is-overlay-absolute';\n overlay.setAttribute('class', 'js-off-canvas-overlay ' + overlayPosition);\n this.$overlay = jquery__WEBPACK_IMPORTED_MODULE_0___default()(overlay);\n\n if (overlayPosition === 'is-overlay-fixed') {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(this.$overlay).insertAfter(this.$element);\n } else {\n this.$content.append(this.$overlay);\n }\n } // Get the revealOn option from the class.\n\n\n var revealOnRegExp = new RegExp(Object(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__[\"RegExpEscape\"])(this.options.revealClass) + '([^\\\\s]+)', 'g');\n var revealOnClass = revealOnRegExp.exec(this.$element[0].className);\n\n if (revealOnClass) {\n this.options.isRevealed = true;\n this.options.revealOn = this.options.revealOn || revealOnClass[1];\n } // Ensure the `reveal-on-*` class is set.\n\n\n if (this.options.isRevealed === true && this.options.revealOn) {\n this.$element.first().addClass(\"\".concat(this.options.revealClass).concat(this.options.revealOn));\n\n this._setMQChecker();\n }\n\n if (this.options.transitionTime) {\n this.$element.css('transition-duration', this.options.transitionTime);\n } // Find fixed elements that should stay fixed while off-canvas is opened\n\n\n this.$sticky = this.$content.find('[data-off-canvas-sticky]');\n\n if (this.$sticky.length > 0 && this.options.transition === 'push') {\n // If there's at least one match force contentScroll:false because the absolute top value doesn't get recalculated on scroll\n // Limit to push transition since there's no transform scope for overlap\n this.options.contentScroll = false;\n }\n\n var inCanvasFor = this.$element.attr('class').match(/\\bin-canvas-for-(\\w+)/);\n\n if (inCanvasFor && inCanvasFor.length === 2) {\n // Set `inCanvasOn` option if found in-canvas-for-[BREAKPONT] CSS class\n this.options.inCanvasOn = inCanvasFor[1];\n } else if (this.options.inCanvasOn) {\n // Ensure the CSS class is set\n this.$element.addClass(\"in-canvas-for-\".concat(this.options.inCanvasOn));\n }\n\n if (this.options.inCanvasOn) {\n this._checkInCanvas();\n } // Initally remove all transition/position CSS classes from off-canvas content container.\n\n\n this._removeContentClasses();\n }\n /**\n * Adds event handlers to the off-canvas wrapper and the exit overlay.\n * @function\n * @private\n */\n\n }, {\n key: \"_events\",\n value: function _events() {\n var _this3 = this;\n\n this.$element.off('.zf.trigger .zf.offCanvas').on({\n 'open.zf.trigger': this.open.bind(this),\n 'close.zf.trigger': this.close.bind(this),\n 'toggle.zf.trigger': this.toggle.bind(this),\n 'keydown.zf.offCanvas': this._handleKeyboard.bind(this)\n });\n\n if (this.options.closeOnClick === true) {\n var $target = this.options.contentOverlay ? this.$overlay : this.$content;\n $target.on({\n 'click.zf.offCanvas': this.close.bind(this)\n });\n }\n\n if (this.options.inCanvasOn) {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).on('changed.zf.mediaquery', function () {\n _this3._checkInCanvas();\n });\n }\n }\n /**\n * Applies event listener for elements that will reveal at certain breakpoints.\n * @private\n */\n\n }, {\n key: \"_setMQChecker\",\n value: function _setMQChecker() {\n var _this = this;\n\n this.onLoadListener = Object(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__[\"onLoad\"])(jquery__WEBPACK_IMPORTED_MODULE_0___default()(window), function () {\n if (_foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_3__[\"MediaQuery\"].atLeast(_this.options.revealOn)) {\n _this.reveal(true);\n }\n });\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).on('changed.zf.mediaquery', function () {\n if (_foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_3__[\"MediaQuery\"].atLeast(_this.options.revealOn)) {\n _this.reveal(true);\n } else {\n _this.reveal(false);\n }\n });\n }\n /**\n * Checks if InCanvas on current breakpoint and adjust off-canvas accordingly\n * @private\n */\n\n }, {\n key: \"_checkInCanvas\",\n value: function _checkInCanvas() {\n this.isInCanvas = _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_3__[\"MediaQuery\"].atLeast(this.options.inCanvasOn);\n\n if (this.isInCanvas === true) {\n this.close();\n }\n }\n /**\n * Removes the CSS transition/position classes of the off-canvas content container.\n * Removing the classes is important when another off-canvas gets opened that uses the same content container.\n * @param {Boolean} hasReveal - true if related off-canvas element is revealed.\n * @private\n */\n\n }, {\n key: \"_removeContentClasses\",\n value: function _removeContentClasses(hasReveal) {\n if (typeof hasReveal !== 'boolean') {\n this.$content.removeClass(this.contentClasses.base.join(' '));\n } else if (hasReveal === false) {\n this.$content.removeClass(\"has-reveal-\".concat(this.position));\n }\n }\n /**\n * Adds the CSS transition/position classes of the off-canvas content container, based on the opening off-canvas element.\n * Beforehand any transition/position class gets removed.\n * @param {Boolean} hasReveal - true if related off-canvas element is revealed.\n * @private\n */\n\n }, {\n key: \"_addContentClasses\",\n value: function _addContentClasses(hasReveal) {\n this._removeContentClasses(hasReveal);\n\n if (typeof hasReveal !== 'boolean') {\n this.$content.addClass(\"has-transition-\".concat(this.options.transition, \" has-position-\").concat(this.position));\n } else if (hasReveal === true) {\n this.$content.addClass(\"has-reveal-\".concat(this.position));\n }\n }\n /**\n * Preserves the fixed behavior of sticky elements on opening an off-canvas with push transition.\n * Since the off-canvas container has got a transform scope in such a case, it is done by calculating position absolute values.\n * @private\n */\n\n }, {\n key: \"_fixStickyElements\",\n value: function _fixStickyElements() {\n this.$sticky.each(function (_, el) {\n var $el = jquery__WEBPACK_IMPORTED_MODULE_0___default()(el); // If sticky element is currently fixed, adjust its top value to match absolute position due to transform scope\n // Limit to push transition because postion:fixed works without problems for overlap (no transform scope)\n\n if ($el.css('position') === 'fixed') {\n // Save current inline styling to restore it if undoing the absolute fixing\n var topVal = parseInt($el.css('top'), 10);\n $el.data('offCanvasSticky', {\n top: topVal\n });\n var absoluteTopVal = jquery__WEBPACK_IMPORTED_MODULE_0___default()(document).scrollTop() + topVal;\n $el.css({\n top: \"\".concat(absoluteTopVal, \"px\"),\n width: '100%',\n transition: 'none'\n });\n }\n });\n }\n /**\n * Restores the original fixed styling of sticky elements after having closed an off-canvas that got pseudo fixed beforehand.\n * This reverts the changes of _fixStickyElements()\n * @private\n */\n\n }, {\n key: \"_unfixStickyElements\",\n value: function _unfixStickyElements() {\n this.$sticky.each(function (_, el) {\n var $el = jquery__WEBPACK_IMPORTED_MODULE_0___default()(el);\n var stickyData = $el.data('offCanvasSticky'); // If sticky element has got data object with prior values (meaning it was originally fixed) restore these values once off-canvas is closed\n\n if (_typeof(stickyData) === 'object') {\n $el.css({\n top: \"\".concat(stickyData.top, \"px\"),\n width: '',\n transition: ''\n });\n $el.data('offCanvasSticky', '');\n }\n });\n }\n /**\n * Handles the revealing/hiding the off-canvas at breakpoints, not the same as open.\n * @param {Boolean} isRevealed - true if element should be revealed.\n * @function\n */\n\n }, {\n key: \"reveal\",\n value: function reveal(isRevealed) {\n if (isRevealed) {\n this.close();\n this.isRevealed = true;\n this.$element.attr('aria-hidden', 'false');\n this.$element.off('open.zf.trigger toggle.zf.trigger');\n this.$element.removeClass('is-closed');\n } else {\n this.isRevealed = false;\n this.$element.attr('aria-hidden', 'true');\n this.$element.off('open.zf.trigger toggle.zf.trigger').on({\n 'open.zf.trigger': this.open.bind(this),\n 'toggle.zf.trigger': this.toggle.bind(this)\n });\n this.$element.addClass('is-closed');\n }\n\n this._addContentClasses(isRevealed);\n }\n /**\n * Stops scrolling of the body when OffCanvas is open on mobile Safari and other troublesome browsers.\n * @function\n * @private\n */\n\n }, {\n key: \"_stopScrolling\",\n value: function _stopScrolling() {\n return false;\n }\n /**\n * Save current finger y-position\n * @param event\n * @private\n */\n\n }, {\n key: \"_recordScrollable\",\n value: function _recordScrollable(event) {\n var elem = this;\n elem.lastY = event.touches[0].pageY;\n }\n /**\n * Prevent further scrolling when it hits the edges\n * @param event\n * @private\n */\n\n }, {\n key: \"_preventDefaultAtEdges\",\n value: function _preventDefaultAtEdges(event) {\n var elem = this;\n var _this = event.data;\n var delta = elem.lastY - event.touches[0].pageY;\n elem.lastY = event.touches[0].pageY;\n\n if (!_this._canScroll(delta, elem)) {\n event.preventDefault();\n }\n }\n /**\n * Handle continuous scrolling of scrollbox\n * Don't bubble up to _preventDefaultAtEdges\n * @param event\n * @private\n */\n\n }, {\n key: \"_scrollboxTouchMoved\",\n value: function _scrollboxTouchMoved(event) {\n var elem = this;\n var _this = event.data;\n var parent = elem.closest('[data-off-canvas], [data-off-canvas-scrollbox-outer]');\n var delta = elem.lastY - event.touches[0].pageY;\n parent.lastY = elem.lastY = event.touches[0].pageY;\n event.stopPropagation();\n\n if (!_this._canScroll(delta, elem)) {\n if (!_this._canScroll(delta, parent)) {\n event.preventDefault();\n } else {\n parent.scrollTop += delta;\n }\n }\n }\n /**\n * Detect possibility of scrolling\n * @param delta\n * @param elem\n * @returns boolean\n * @private\n */\n\n }, {\n key: \"_canScroll\",\n value: function _canScroll(delta, elem) {\n var up = delta < 0;\n var down = delta > 0;\n var allowUp = elem.scrollTop > 0;\n var allowDown = elem.scrollTop < elem.scrollHeight - elem.clientHeight;\n return up && allowUp || down && allowDown;\n }\n /**\n * Opens the off-canvas menu.\n * @function\n * @param {Object} event - Event object passed from listener.\n * @param {jQuery} trigger - element that triggered the off-canvas to open.\n * @fires OffCanvas#opened\n * @todo also trigger 'open' event?\n */\n\n }, {\n key: \"open\",\n value: function open(event, trigger) {\n var _this4 = this;\n\n if (this.$element.hasClass('is-open') || this.isRevealed || this.isInCanvas) {\n return;\n }\n\n var _this = this;\n\n if (trigger) {\n this.$lastTrigger = trigger;\n }\n\n if (this.options.forceTo === 'top') {\n window.scrollTo(0, 0);\n } else if (this.options.forceTo === 'bottom') {\n window.scrollTo(0, document.body.scrollHeight);\n }\n\n if (this.options.transitionTime && this.options.transition !== 'overlap') {\n this.$element.siblings('[data-off-canvas-content]').css('transition-duration', this.options.transitionTime);\n } else {\n this.$element.siblings('[data-off-canvas-content]').css('transition-duration', '');\n }\n\n this.$element.addClass('is-open').removeClass('is-closed');\n this.$triggers.attr('aria-expanded', 'true');\n this.$element.attr('aria-hidden', 'false');\n this.$content.addClass('is-open-' + this.position); // If `contentScroll` is set to false, add class and disable scrolling on touch devices.\n\n if (this.options.contentScroll === false) {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('body').addClass('is-off-canvas-open').on('touchmove', this._stopScrolling);\n this.$element.on('touchstart', this._recordScrollable);\n this.$element.on('touchmove', this, this._preventDefaultAtEdges);\n this.$element.on('touchstart', '[data-off-canvas-scrollbox]', this._recordScrollable);\n this.$element.on('touchmove', '[data-off-canvas-scrollbox]', this, this._scrollboxTouchMoved);\n }\n\n if (this.options.contentOverlay === true) {\n this.$overlay.addClass('is-visible');\n }\n\n if (this.options.closeOnClick === true && this.options.contentOverlay === true) {\n this.$overlay.addClass('is-closable');\n }\n\n if (this.options.autoFocus === true) {\n this.$element.one(Object(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__[\"transitionend\"])(this.$element), function () {\n if (!_this.$element.hasClass('is-open')) {\n return; // exit if prematurely closed\n }\n\n var canvasFocus = _this.$element.find('[data-autofocus]');\n\n if (canvasFocus.length) {\n canvasFocus.eq(0).focus();\n } else {\n _this.$element.find('a, button').eq(0).focus();\n }\n });\n }\n\n if (this.options.trapFocus === true) {\n this.$content.attr('tabindex', '-1');\n _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2__[\"Keyboard\"].trapFocus(this.$element);\n }\n\n if (this.options.transition === 'push') {\n this._fixStickyElements();\n }\n\n this._addContentClasses();\n /**\n * Fires when the off-canvas menu opens.\n * @event OffCanvas#opened\n */\n\n\n this.$element.trigger('opened.zf.offCanvas');\n /**\n * Fires when the off-canvas menu open transition is done.\n * @event OffCanvas#openedEnd\n */\n\n this.$element.one(Object(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__[\"transitionend\"])(this.$element), function () {\n _this4.$element.trigger('openedEnd.zf.offCanvas');\n });\n }\n /**\n * Closes the off-canvas menu.\n * @function\n * @param {Function} cb - optional cb to fire after closure.\n * @fires OffCanvas#close\n * @fires OffCanvas#closed\n */\n\n }, {\n key: \"close\",\n value: function close() {\n var _this5 = this;\n\n if (!this.$element.hasClass('is-open') || this.isRevealed) {\n return;\n }\n /**\n * Fires when the off-canvas menu closes.\n * @event OffCanvas#close\n */\n\n\n this.$element.trigger('close.zf.offCanvas');\n this.$element.removeClass('is-open');\n this.$element.attr('aria-hidden', 'true');\n this.$content.removeClass('is-open-left is-open-top is-open-right is-open-bottom');\n\n if (this.options.contentOverlay === true) {\n this.$overlay.removeClass('is-visible');\n }\n\n if (this.options.closeOnClick === true && this.options.contentOverlay === true) {\n this.$overlay.removeClass('is-closable');\n }\n\n this.$triggers.attr('aria-expanded', 'false'); // Listen to transitionEnd: add class, re-enable scrolling and release focus when done.\n\n this.$element.one(Object(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__[\"transitionend\"])(this.$element), function () {\n _this5.$element.addClass('is-closed');\n\n _this5._removeContentClasses();\n\n if (_this5.options.transition === 'push') {\n _this5._unfixStickyElements();\n } // If `contentScroll` is set to false, remove class and re-enable scrolling on touch devices.\n\n\n if (_this5.options.contentScroll === false) {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('body').removeClass('is-off-canvas-open').off('touchmove', _this5._stopScrolling);\n\n _this5.$element.off('touchstart', _this5._recordScrollable);\n\n _this5.$element.off('touchmove', _this5._preventDefaultAtEdges);\n\n _this5.$element.off('touchstart', '[data-off-canvas-scrollbox]', _this5._recordScrollable);\n\n _this5.$element.off('touchmove', '[data-off-canvas-scrollbox]', _this5._scrollboxTouchMoved);\n }\n\n if (_this5.options.trapFocus === true) {\n _this5.$content.removeAttr('tabindex');\n\n _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2__[\"Keyboard\"].releaseFocus(_this5.$element);\n }\n /**\n * Fires when the off-canvas menu close transition is done.\n * @event OffCanvas#closed\n */\n\n\n _this5.$element.trigger('closed.zf.offCanvas');\n });\n }\n /**\n * Toggles the off-canvas menu open or closed.\n * @function\n * @param {Object} event - Event object passed from listener.\n * @param {jQuery} trigger - element that triggered the off-canvas to open.\n */\n\n }, {\n key: \"toggle\",\n value: function toggle(event, trigger) {\n if (this.$element.hasClass('is-open')) {\n this.close(event, trigger);\n } else {\n this.open(event, trigger);\n }\n }\n /**\n * Handles keyboard input when detected. When the escape key is pressed, the off-canvas menu closes, and focus is restored to the element that opened the menu.\n * @function\n * @private\n */\n\n }, {\n key: \"_handleKeyboard\",\n value: function _handleKeyboard(e) {\n var _this6 = this;\n\n _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2__[\"Keyboard\"].handleKey(e, 'OffCanvas', {\n close: function close() {\n _this6.close();\n\n _this6.$lastTrigger.focus();\n\n return true;\n },\n handled: function handled() {\n e.preventDefault();\n }\n });\n }\n /**\n * Destroys the OffCanvas plugin.\n * @function\n */\n\n }, {\n key: \"_destroy\",\n value: function _destroy() {\n this.close();\n this.$element.off('.zf.trigger .zf.offCanvas');\n this.$overlay.off('.zf.offCanvas');\n if (this.onLoadListener) jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off(this.onLoadListener);\n }\n }]);\n\n return OffCanvas;\n}(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__[\"Plugin\"]);\n\nOffCanvas.defaults = {\n /**\n * Allow the user to click outside of the menu to close it.\n * @option\n * @type {boolean}\n * @default true\n */\n closeOnClick: true,\n\n /**\n * Adds an overlay on top of `[data-off-canvas-content]`.\n * @option\n * @type {boolean}\n * @default true\n */\n contentOverlay: true,\n\n /**\n * Target an off-canvas content container by ID that may be placed anywhere. If null the closest content container will be taken.\n * @option\n * @type {?string}\n * @default null\n */\n contentId: null,\n\n /**\n * Define the off-canvas element is nested in an off-canvas content. This is required when using the contentId option for a nested element.\n * @option\n * @type {boolean}\n * @default null\n */\n nested: null,\n\n /**\n * Enable/disable scrolling of the main content when an off canvas panel is open.\n * @option\n * @type {boolean}\n * @default true\n */\n contentScroll: true,\n\n /**\n * Amount of time the open and close transition requires, including the appropriate milliseconds (`ms`) or seconds (`s`) unit (e.g. `500ms`, `.75s`) If none selected, pulls from body style.\n * @option\n * @type {string}\n * @default null\n */\n transitionTime: null,\n\n /**\n * Type of transition for the OffCanvas menu. Options are 'push', 'detached' or 'slide'.\n * @option\n * @type {string}\n * @default push\n */\n transition: 'push',\n\n /**\n * Force the page to scroll to top or bottom on open.\n * @option\n * @type {?string}\n * @default null\n */\n forceTo: null,\n\n /**\n * Allow the OffCanvas to remain open for certain breakpoints.\n * @option\n * @type {boolean}\n * @default false\n */\n isRevealed: false,\n\n /**\n * Breakpoint at which to reveal. JS will use a RegExp to target standard classes, if changing classnames, pass your class with the `revealClass` option.\n * @option\n * @type {?string}\n * @default null\n */\n revealOn: null,\n\n /**\n * Breakpoint at which the off-canvas gets moved into canvas content and acts as regular page element.\n * @option\n * @type {?string}\n * @default null\n */\n inCanvasOn: null,\n\n /**\n * Force focus to the offcanvas on open. If true, will focus the opening trigger on close.\n * @option\n * @type {boolean}\n * @default true\n */\n autoFocus: true,\n\n /**\n * Class used to force an OffCanvas to remain open. Foundation defaults for this are `reveal-for-large` & `reveal-for-medium`.\n * @option\n * @type {string}\n * @default reveal-for-\n * @todo improve the regex testing for this.\n */\n revealClass: 'reveal-for-',\n\n /**\n * Triggers optional focus trapping when opening an OffCanvas. Sets tabindex of [data-off-canvas-content] to -1 for accessibility purposes.\n * @option\n * @type {boolean}\n * @default false\n */\n trapFocus: false\n};\n\n\n/***/ }),\n\n/***/ \"./js/foundation.util.triggers.js\":\n/*!****************************************!*\\\n !*** ./js/foundation.util.triggers.js ***!\n \\****************************************/\n/*! exports provided: Triggers */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Triggers\", function() { return Triggers; });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation.core.utils */ \"./foundation.core\");\n/* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation.util.motion */ \"./foundation.util.motion\");\n/* harmony import */ var _foundation_util_motion__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__);\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; 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); }\n\n\n\n\n\nvar MutationObserver = function () {\n var prefixes = ['WebKit', 'Moz', 'O', 'Ms', ''];\n\n for (var i = 0; i < prefixes.length; i++) {\n if (\"\".concat(prefixes[i], \"MutationObserver\") in window) {\n return window[\"\".concat(prefixes[i], \"MutationObserver\")];\n }\n }\n\n return false;\n}();\n\nvar triggers = function triggers(el, type) {\n el.data(type).split(' ').forEach(function (id) {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"#\".concat(id))[type === 'close' ? 'trigger' : 'triggerHandler'](\"\".concat(type, \".zf.trigger\"), [el]);\n });\n};\n\nvar Triggers = {\n Listeners: {\n Basic: {},\n Global: {}\n },\n Initializers: {}\n};\nTriggers.Listeners.Basic = {\n openListener: function openListener() {\n triggers(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), 'open');\n },\n closeListener: function closeListener() {\n var id = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('close');\n\n if (id) {\n triggers(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), 'close');\n } else {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).trigger('close.zf.trigger');\n }\n },\n toggleListener: function toggleListener() {\n var id = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('toggle');\n\n if (id) {\n triggers(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), 'toggle');\n } else {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).trigger('toggle.zf.trigger');\n }\n },\n closeableListener: function closeableListener(e) {\n var animation = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('closable'); // Only close the first closable element. See https://git.io/zf-7833\n\n e.stopPropagation();\n\n if (animation !== '') {\n _foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__[\"Motion\"].animateOut(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), animation, function () {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).trigger('closed.zf');\n });\n } else {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).fadeOut().trigger('closed.zf');\n }\n },\n toggleFocusListener: function toggleFocusListener() {\n var id = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('toggle-focus');\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"#\".concat(id)).triggerHandler('toggle.zf.trigger', [jquery__WEBPACK_IMPORTED_MODULE_0___default()(this)]);\n }\n}; // Elements with [data-open] will reveal a plugin that supports it when clicked.\n\nTriggers.Initializers.addOpenListener = function ($elem) {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.openListener);\n $elem.on('click.zf.trigger', '[data-open]', Triggers.Listeners.Basic.openListener);\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.\n\n\nTriggers.Initializers.addCloseListener = function ($elem) {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.closeListener);\n $elem.on('click.zf.trigger', '[data-close]', Triggers.Listeners.Basic.closeListener);\n}; // Elements with [data-toggle] will toggle a plugin that supports it when clicked.\n\n\nTriggers.Initializers.addToggleListener = function ($elem) {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.toggleListener);\n $elem.on('click.zf.trigger', '[data-toggle]', Triggers.Listeners.Basic.toggleListener);\n}; // Elements with [data-closable] will respond to close.zf.trigger events.\n\n\nTriggers.Initializers.addCloseableListener = function ($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}; // Elements with [data-toggle-focus] will respond to coming in and out of focus\n\n\nTriggers.Initializers.addToggleFocusListener = function ($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}; // More Global/complex listeners and triggers\n\n\nTriggers.Listeners.Global = {\n resizeListener: function resizeListener($nodes) {\n if (!MutationObserver) {\n //fallback for IE 9\n $nodes.each(function () {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).triggerHandler('resizeme.zf.trigger');\n });\n } //trigger all listening elements and signal a resize event\n\n\n $nodes.attr('data-events', \"resize\");\n },\n scrollListener: function scrollListener($nodes) {\n if (!MutationObserver) {\n //fallback for IE 9\n $nodes.each(function () {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).triggerHandler('scrollme.zf.trigger');\n });\n } //trigger all listening elements and signal a scroll event\n\n\n $nodes.attr('data-events', \"scroll\");\n },\n closeMeListener: function closeMeListener(e, pluginId) {\n var plugin = e.namespace.split('.')[0];\n var plugins = jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"[data-\".concat(plugin, \"]\")).not(\"[data-yeti-box=\\\"\".concat(pluginId, \"\\\"]\"));\n plugins.each(function () {\n var _this = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this);\n\n _this.triggerHandler('close.zf.trigger', [_this]);\n });\n }\n}; // Global, parses whole document.\n\nTriggers.Initializers.addClosemeListener = function (pluginName) {\n var yetiBoxes = jquery__WEBPACK_IMPORTED_MODULE_0___default()('[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\n if (yetiBoxes.length) {\n var listeners = plugNames.map(function (name) {\n return \"closeme.zf.\".concat(name);\n }).join(' ');\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off(listeners).on(listeners, Triggers.Listeners.Global.closeMeListener);\n }\n};\n\nfunction debounceGlobalListener(debounce, trigger, listener) {\n var timer,\n args = Array.prototype.slice.call(arguments, 3);\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).on(trigger, function () {\n if (timer) {\n clearTimeout(timer);\n }\n\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 var $nodes = jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-resize]');\n\n if ($nodes.length) {\n debounceGlobalListener(debounce, 'resize.zf.trigger', Triggers.Listeners.Global.resizeListener, $nodes);\n }\n};\n\nTriggers.Initializers.addScrollListener = function (debounce) {\n var $nodes = jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-scroll]');\n\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) {\n return false;\n }\n\n var $nodes = $elem.find('[data-resize], [data-scroll], [data-mutate]'); //element callback\n\n var listeningElementsMutation = function listeningElementsMutation(mutationRecordsList) {\n var $target = jquery__WEBPACK_IMPORTED_MODULE_0___default()(mutationRecordsList[0].target); //trigger the event handler for the element depending on type\n\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\n if ($target.attr(\"data-events\") === \"resize\" && mutationRecordsList[0].attributeName === \"data-events\") {\n $target.triggerHandler('resizeme.zf.trigger', [$target]);\n }\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\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], {\n attributes: true,\n childList: true,\n characterData: false,\n subtree: true,\n attributeFilter: [\"data-events\", \"style\"]\n });\n }\n }\n};\n\nTriggers.Initializers.addSimpleListeners = function () {\n var $document = jquery__WEBPACK_IMPORTED_MODULE_0___default()(document);\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\nTriggers.Initializers.addGlobalListeners = function () {\n var $document = jquery__WEBPACK_IMPORTED_MODULE_0___default()(document);\n Triggers.Initializers.addMutationEventsListener($document);\n Triggers.Initializers.addResizeListener(250);\n Triggers.Initializers.addScrollListener();\n Triggers.Initializers.addClosemeListener();\n};\n\nTriggers.init = function (__, Foundation) {\n Object(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__[\"onLoad\"])(jquery__WEBPACK_IMPORTED_MODULE_0___default()(window), function () {\n if (jquery__WEBPACK_IMPORTED_MODULE_0___default.a.triggersInitialized !== true) {\n Triggers.Initializers.addSimpleListeners();\n Triggers.Initializers.addGlobalListeners();\n jquery__WEBPACK_IMPORTED_MODULE_0___default.a.triggersInitialized = true;\n }\n });\n\n if (Foundation) {\n Foundation.Triggers = Triggers; // Legacy included to be backwards compatible for now.\n\n Foundation.IHearYou = Triggers.Initializers.addGlobalListeners;\n }\n};\n\n\n\n/***/ }),\n\n/***/ 9:\n/*!**********************************************************!*\\\n !*** multi ./js/entries/plugins/foundation.offcanvas.js ***!\n \\**********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(/*! /Users/joeworkman/Development/foundation-sites/js/entries/plugins/foundation.offcanvas.js */\"./js/entries/plugins/foundation.offcanvas.js\");\n\n\n/***/ }),\n\n/***/ \"jquery\":\n/*!********************************************************************************************!*\\\n !*** external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"} ***!\n \\********************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;\n\n/***/ })\n\n/******/ });\n});\n//# sourceMappingURL=foundation.offcanvas.js.map"],"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_jquery__","modules","./foundation.core","./foundation.util.keyboard","./foundation.util.mediaQuery","./foundation.util.motion","./js/entries/plugins/foundation.offcanvas.js","__webpack_exports__","__webpack_require__","r","_foundation_core__WEBPACK_IMPORTED_MODULE_0__","d","_foundation_offcanvas__WEBPACK_IMPORTED_MODULE_1__","plugin","./js/foundation.offcanvas.js","OffCanvas","jquery__WEBPACK_IMPORTED_MODULE_0__","jquery__WEBPACK_IMPORTED_MODULE_0___default","n","_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__","_foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2__","_foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_3__","_foundation_util_triggers__WEBPACK_IMPORTED_MODULE_4__","_typeof","obj","Symbol","iterator","constructor","prototype","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_setPrototypeOf","o","p","setPrototypeOf","__proto__","_createSuper","Derived","hasNativeReflectConstruct","Reflect","construct","sham","Proxy","Boolean","valueOf","call","e","_isNativeReflectConstruct","NewTarget","Super","_getPrototypeOf","self","TypeError","ReferenceError","_assertThisInitialized","_possibleConstructorReturn","this","arguments","apply","getPrototypeOf","subClass","superClass","create","value","_inherits","Constructor","protoProps","staticProps","_super","instance","_classCallCheck","element","options","_this2","className","$element","a","extend","defaults","data","contentClasses","base","reveal","$lastTrigger","$triggers","position","$content","nested","$sticky","isInCanvas","each","index","val","push","init","_init","_events","register","ESCAPE","id","attr","contentId","siblings","first","closest","console","warn","transition","removeClass","addClass","concat","document","find","is","match","contentOverlay","overlay","createElement","overlayPosition","css","setAttribute","$overlay","insertAfter","append","revealOnClass","RegExp","revealClass","exec","isRevealed","revealOn","_setMQChecker","transitionTime","contentScroll","inCanvasFor","inCanvasOn","_checkInCanvas","_removeContentClasses","_this3","off","on","open.zf.trigger","open","bind","close.zf.trigger","close","toggle.zf.trigger","toggle","keydown.zf.offCanvas","_handleKeyboard","closeOnClick","click.zf.offCanvas","_this","onLoadListener","atLeast","hasReveal","join","_","el","$el","topVal","parseInt","top","absoluteTopVal","scrollTop","width","stickyData","_addContentClasses","event","lastY","touches","pageY","delta","_canScroll","preventDefault","parent","stopPropagation","elem","allowUp","allowDown","scrollHeight","clientHeight","trigger","_this4","hasClass","forceTo","scrollTo","body","_stopScrolling","_recordScrollable","_preventDefaultAtEdges","_scrollboxTouchMoved","autoFocus","one","canvasFocus","eq","focus","trapFocus","_fixStickyElements","_this5","_unfixStickyElements","removeAttr","releaseFocus","_this6","handleKey","handled","./js/foundation.util.triggers.js","Triggers","_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__","_foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__","triggers","type","split","forEach","MutationObserver","prefixes","Listeners","Basic","Global","Initializers","debounceGlobalListener","debounce","listener","timer","args","Array","slice","clearTimeout","setTimeout","openListener","closeListener","toggleListener","closeableListener","animation","animateOut","fadeOut","toggleFocusListener","triggerHandler","addOpenListener","$elem","addCloseListener","addToggleListener","addCloseableListener","addToggleFocusListener","resizeListener","$nodes","scrollListener","closeMeListener","pluginId","namespace","not","addClosemeListener","pluginName","yetiBoxes","plugNames","error","listeners","map","name","addResizeListener","addScrollListener","addMutationEventsListener","listeningElementsMutation","mutationRecordsList","$target","attributeName","pageYOffset","observe","attributes","childList","characterData","subtree","attributeFilter","addSimpleListeners","$document","addGlobalListeners","__","Foundation","triggersInitialized","IHearYou","9","jquery","installedModules","m","c","getter","get","toStringTag","t","mode","__esModule","ns","object","property","hasOwnProperty","s","moduleId","l"],"mappings":"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"}