{"version":3,"file":"foundation.sticky.min.js","sources":["foundation.sticky.min.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"./foundation.util.mediaQuery\"), require(\"./foundation.util.motion\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"./foundation.util.mediaQuery\", \"./foundation.util.motion\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.sticky\"] = factory(require(\"./foundation.core\"), require(\"./foundation.util.mediaQuery\"), require(\"./foundation.util.motion\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.sticky\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.mediaQuery\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.motion\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__, __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__, __WEBPACK_EXTERNAL_MODULE_jquery__) {\nreturn /******/ (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 = 17);\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.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.sticky.js\":\n/*!*************************************************!*\\\n !*** ./js/entries/plugins/foundation.sticky.js ***!\n \\*************************************************/\n/*! exports provided: Foundation, Sticky */\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_sticky__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../foundation.sticky */ \"./js/foundation.sticky.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Sticky\", function() { return _foundation_sticky__WEBPACK_IMPORTED_MODULE_1__[\"Sticky\"]; });\n\n\n\n_foundation_core__WEBPACK_IMPORTED_MODULE_0__[\"Foundation\"].plugin(_foundation_sticky__WEBPACK_IMPORTED_MODULE_1__[\"Sticky\"], 'Sticky');\n\n\n/***/ }),\n\n/***/ \"./js/foundation.sticky.js\":\n/*!*********************************!*\\\n !*** ./js/foundation.sticky.js ***!\n \\*********************************/\n/*! exports provided: Sticky */\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__, \"Sticky\", function() { return Sticky; });\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_mediaQuery__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation.util.mediaQuery */ \"./foundation.util.mediaQuery\");\n/* harmony import */ var _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _foundation_util_triggers__WEBPACK_IMPORTED_MODULE_3__ = __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 * Sticky module.\n * @module foundation.sticky\n * @requires foundation.util.triggers\n * @requires foundation.util.mediaQuery\n */\n\nvar Sticky = /*#__PURE__*/function (_Plugin) {\n _inherits(Sticky, _Plugin);\n\n var _super = _createSuper(Sticky);\n\n function Sticky() {\n _classCallCheck(this, Sticky);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(Sticky, [{\n key: \"_setup\",\n value:\n /**\n * Creates a new instance of a sticky thing.\n * @class\n * @name Sticky\n * @param {jQuery} element - jQuery object to make sticky.\n * @param {Object} options - options object passed when creating the element programmatically.\n */\n function _setup(element, options) {\n this.$element = element;\n this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend({}, Sticky.defaults, this.$element.data(), options);\n this.className = 'Sticky'; // ie9 back compat\n // Triggers init is idempotent, just need to make sure it is initialized\n\n _foundation_util_triggers__WEBPACK_IMPORTED_MODULE_3__[\"Triggers\"].init(jquery__WEBPACK_IMPORTED_MODULE_0___default.a);\n\n this._init();\n }\n /**\n * Initializes the sticky element by adding classes, getting/setting dimensions, breakpoints and attributes\n * @function\n * @private\n */\n\n }, {\n key: \"_init\",\n value: function _init() {\n _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_2__[\"MediaQuery\"]._init();\n\n var $parent = this.$element.parent('[data-sticky-container]'),\n id = this.$element[0].id || Object(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__[\"GetYoDigits\"])(6, 'sticky'),\n _this = this;\n\n if ($parent.length) {\n this.$container = $parent;\n } else {\n this.wasWrapped = true;\n this.$element.wrap(this.options.container);\n this.$container = this.$element.parent();\n }\n\n this.$container.addClass(this.options.containerClass);\n this.$element.addClass(this.options.stickyClass).attr({\n 'data-resize': id,\n 'data-mutate': id\n });\n\n if (this.options.anchor !== '') {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('#' + _this.options.anchor).attr({\n 'data-mutate': id\n });\n }\n\n this.scrollCount = this.options.checkEvery;\n this.isStuck = false;\n this.onLoadListener = Object(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__[\"onLoad\"])(jquery__WEBPACK_IMPORTED_MODULE_0___default()(window), function () {\n //We calculate the container height to have correct values for anchor points offset calculation.\n _this.containerHeight = _this.$element.css(\"display\") === \"none\" ? 0 : _this.$element[0].getBoundingClientRect().height;\n\n _this.$container.css('height', _this.containerHeight);\n\n _this.elemHeight = _this.containerHeight;\n\n if (_this.options.anchor !== '') {\n _this.$anchor = jquery__WEBPACK_IMPORTED_MODULE_0___default()('#' + _this.options.anchor);\n } else {\n _this._parsePoints();\n }\n\n _this._setSizes(function () {\n var scroll = window.pageYOffset;\n\n _this._calc(false, scroll); //Unstick the element will ensure that proper classes are set.\n\n\n if (!_this.isStuck) {\n _this._removeSticky(scroll >= _this.topPoint ? false : true);\n }\n });\n\n _this._events(id.split('-').reverse().join('-'));\n });\n }\n /**\n * If using multiple elements as anchors, calculates the top and bottom pixel values the sticky thing should stick and unstick on.\n * @function\n * @private\n */\n\n }, {\n key: \"_parsePoints\",\n value: function _parsePoints() {\n var top = this.options.topAnchor === \"\" ? 1 : this.options.topAnchor,\n btm = this.options.btmAnchor === \"\" ? document.documentElement.scrollHeight : this.options.btmAnchor,\n pts = [top, btm],\n breaks = {};\n\n for (var i = 0, len = pts.length; i < len && pts[i]; i++) {\n var pt;\n\n if (typeof pts[i] === 'number') {\n pt = pts[i];\n } else {\n var place = pts[i].split(':'),\n anchor = jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"#\".concat(place[0]));\n pt = anchor.offset().top;\n\n if (place[1] && place[1].toLowerCase() === 'bottom') {\n pt += anchor[0].getBoundingClientRect().height;\n }\n }\n\n breaks[i] = pt;\n }\n\n this.points = breaks;\n return;\n }\n /**\n * Adds event handlers for the scrolling element.\n * @private\n * @param {String} id - pseudo-random id for unique scroll event listener.\n */\n\n }, {\n key: \"_events\",\n value: function _events(id) {\n var _this = this,\n scrollListener = this.scrollListener = \"scroll.zf.\".concat(id);\n\n if (this.isOn) {\n return;\n }\n\n if (this.canStick) {\n this.isOn = true;\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off(scrollListener).on(scrollListener, function () {\n if (_this.scrollCount === 0) {\n _this.scrollCount = _this.options.checkEvery;\n\n _this._setSizes(function () {\n _this._calc(false, window.pageYOffset);\n });\n } else {\n _this.scrollCount--;\n\n _this._calc(false, window.pageYOffset);\n }\n });\n }\n\n this.$element.off('resizeme.zf.trigger').on('resizeme.zf.trigger', function () {\n _this._eventsHandler(id);\n });\n this.$element.on('mutateme.zf.trigger', function () {\n _this._eventsHandler(id);\n });\n\n if (this.$anchor) {\n this.$anchor.on('mutateme.zf.trigger', function () {\n _this._eventsHandler(id);\n });\n }\n }\n /**\n * Handler for events.\n * @private\n * @param {String} id - pseudo-random id for unique scroll event listener.\n */\n\n }, {\n key: \"_eventsHandler\",\n value: function _eventsHandler(id) {\n var _this = this,\n scrollListener = this.scrollListener = \"scroll.zf.\".concat(id);\n\n _this._setSizes(function () {\n _this._calc(false);\n\n if (_this.canStick) {\n if (!_this.isOn) {\n _this._events(id);\n }\n } else if (_this.isOn) {\n _this._pauseListeners(scrollListener);\n }\n });\n }\n /**\n * Removes event handlers for scroll and change events on anchor.\n * @fires Sticky#pause\n * @param {String} scrollListener - unique, namespaced scroll listener attached to `window`\n */\n\n }, {\n key: \"_pauseListeners\",\n value: function _pauseListeners(scrollListener) {\n this.isOn = false;\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off(scrollListener);\n /**\n * Fires when the plugin is paused due to resize event shrinking the view.\n * @event Sticky#pause\n * @private\n */\n\n this.$element.trigger('pause.zf.sticky');\n }\n /**\n * Called on every `scroll` event and on `_init`\n * fires functions based on booleans and cached values\n * @param {Boolean} checkSizes - true if plugin should recalculate sizes and breakpoints.\n * @param {Number} scroll - current scroll position passed from scroll event cb function. If not passed, defaults to `window.pageYOffset`.\n */\n\n }, {\n key: \"_calc\",\n value: function _calc(checkSizes, scroll) {\n if (checkSizes) {\n this._setSizes();\n }\n\n if (!this.canStick) {\n if (this.isStuck) {\n this._removeSticky(true);\n }\n\n return false;\n }\n\n if (!scroll) {\n scroll = window.pageYOffset;\n }\n\n if (scroll >= this.topPoint) {\n if (scroll <= this.bottomPoint) {\n if (!this.isStuck) {\n this._setSticky();\n }\n } else {\n if (this.isStuck) {\n this._removeSticky(false);\n }\n }\n } else {\n if (this.isStuck) {\n this._removeSticky(true);\n }\n }\n }\n /**\n * Causes the $element to become stuck.\n * Adds `position: fixed;`, and helper classes.\n * @fires Sticky#stuckto\n * @function\n * @private\n */\n\n }, {\n key: \"_setSticky\",\n value: function _setSticky() {\n var _this = this,\n stickTo = this.options.stickTo,\n mrgn = stickTo === 'top' ? 'marginTop' : 'marginBottom',\n notStuckTo = stickTo === 'top' ? 'bottom' : 'top',\n css = {};\n\n css[mrgn] = \"\".concat(this.options[mrgn], \"em\");\n css[stickTo] = 0;\n css[notStuckTo] = 'auto';\n this.isStuck = true;\n this.$element.removeClass(\"is-anchored is-at-\".concat(notStuckTo)).addClass(\"is-stuck is-at-\".concat(stickTo)).css(css)\n /**\n * Fires when the $element has become `position: fixed;`\n * Namespaced to `top` or `bottom`, e.g. `sticky.zf.stuckto:top`\n * @event Sticky#stuckto\n */\n .trigger(\"sticky.zf.stuckto:\".concat(stickTo));\n this.$element.on(\"transitionend webkitTransitionEnd oTransitionEnd otransitionend MSTransitionEnd\", function () {\n _this._setSizes();\n });\n }\n /**\n * Causes the $element to become unstuck.\n * Removes `position: fixed;`, and helper classes.\n * Adds other helper classes.\n * @param {Boolean} isTop - tells the function if the $element should anchor to the top or bottom of its $anchor element.\n * @fires Sticky#unstuckfrom\n * @private\n */\n\n }, {\n key: \"_removeSticky\",\n value: function _removeSticky(isTop) {\n var stickTo = this.options.stickTo,\n stickToTop = stickTo === 'top',\n css = {},\n anchorPt = (this.points ? this.points[1] - this.points[0] : this.anchorHeight) - this.elemHeight,\n mrgn = stickToTop ? 'marginTop' : 'marginBottom',\n topOrBottom = isTop ? 'top' : 'bottom';\n css[mrgn] = 0;\n css.bottom = 'auto';\n\n if (isTop) {\n css.top = 0;\n } else {\n css.top = anchorPt;\n }\n\n this.isStuck = false;\n this.$element.removeClass(\"is-stuck is-at-\".concat(stickTo)).addClass(\"is-anchored is-at-\".concat(topOrBottom)).css(css)\n /**\n * Fires when the $element has become anchored.\n * Namespaced to `top` or `bottom`, e.g. `sticky.zf.unstuckfrom:bottom`\n * @event Sticky#unstuckfrom\n */\n .trigger(\"sticky.zf.unstuckfrom:\".concat(topOrBottom));\n }\n /**\n * Sets the $element and $container sizes for plugin.\n * Calls `_setBreakPoints`.\n * @param {Function} cb - optional callback function to fire on completion of `_setBreakPoints`.\n * @private\n */\n\n }, {\n key: \"_setSizes\",\n value: function _setSizes(cb) {\n this.canStick = _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_2__[\"MediaQuery\"].is(this.options.stickyOn);\n\n if (!this.canStick) {\n if (cb && typeof cb === 'function') {\n cb();\n }\n }\n\n var newElemWidth = this.$container[0].getBoundingClientRect().width,\n comp = window.getComputedStyle(this.$container[0]),\n pdngl = parseInt(comp['padding-left'], 10),\n pdngr = parseInt(comp['padding-right'], 10);\n\n if (this.$anchor && this.$anchor.length) {\n this.anchorHeight = this.$anchor[0].getBoundingClientRect().height;\n } else {\n this._parsePoints();\n }\n\n this.$element.css({\n 'max-width': \"\".concat(newElemWidth - pdngl - pdngr, \"px\")\n }); // Recalculate the height only if it is \"dynamic\"\n\n if (this.options.dynamicHeight || !this.containerHeight) {\n // Get the sticked element height and apply it to the container to \"hold the place\"\n var newContainerHeight = this.$element[0].getBoundingClientRect().height || this.containerHeight;\n newContainerHeight = this.$element.css(\"display\") === \"none\" ? 0 : newContainerHeight;\n this.$container.css('height', newContainerHeight);\n this.containerHeight = newContainerHeight;\n }\n\n this.elemHeight = this.containerHeight;\n\n if (!this.isStuck) {\n if (this.$element.hasClass('is-at-bottom')) {\n var anchorPt = (this.points ? this.points[1] - this.$container.offset().top : this.anchorHeight) - this.elemHeight;\n this.$element.css('top', anchorPt);\n }\n }\n\n this._setBreakPoints(this.containerHeight, function () {\n if (cb && typeof cb === 'function') {\n cb();\n }\n });\n }\n /**\n * Sets the upper and lower breakpoints for the element to become sticky/unsticky.\n * @param {Number} elemHeight - px value for sticky.$element height, calculated by `_setSizes`.\n * @param {Function} cb - optional callback function to be called on completion.\n * @private\n */\n\n }, {\n key: \"_setBreakPoints\",\n value: function _setBreakPoints(elemHeight, cb) {\n if (!this.canStick) {\n if (cb && typeof cb === 'function') {\n cb();\n } else {\n return false;\n }\n }\n\n var mTop = emCalc(this.options.marginTop),\n mBtm = emCalc(this.options.marginBottom),\n topPoint = this.points ? this.points[0] : this.$anchor.offset().top,\n bottomPoint = this.points ? this.points[1] : topPoint + this.anchorHeight,\n // topPoint = this.$anchor.offset().top || this.points[0],\n // bottomPoint = topPoint + this.anchorHeight || this.points[1],\n winHeight = window.innerHeight;\n\n if (this.options.stickTo === 'top') {\n topPoint -= mTop;\n bottomPoint -= elemHeight + mTop;\n } else if (this.options.stickTo === 'bottom') {\n topPoint -= winHeight - (elemHeight + mBtm);\n bottomPoint -= winHeight - mBtm;\n } else {//this would be the stickTo: both option... tricky\n }\n\n this.topPoint = topPoint;\n this.bottomPoint = bottomPoint;\n\n if (cb && typeof cb === 'function') {\n cb();\n }\n }\n /**\n * Destroys the current sticky element.\n * Resets the element to the top position first.\n * Removes event listeners, JS-added css properties and classes, and unwraps the $element if the JS added the $container.\n * @function\n */\n\n }, {\n key: \"_destroy\",\n value: function _destroy() {\n this._removeSticky(true);\n\n this.$element.removeClass(\"\".concat(this.options.stickyClass, \" is-anchored is-at-top\")).css({\n height: '',\n top: '',\n bottom: '',\n 'max-width': ''\n }).off('resizeme.zf.trigger').off('mutateme.zf.trigger');\n\n if (this.$anchor && this.$anchor.length) {\n this.$anchor.off('change.zf.sticky');\n }\n\n if (this.scrollListener) jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off(this.scrollListener);\n if (this.onLoadListener) jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off(this.onLoadListener);\n\n if (this.wasWrapped) {\n this.$element.unwrap();\n } else {\n this.$container.removeClass(this.options.containerClass).css({\n height: ''\n });\n }\n }\n }]);\n\n return Sticky;\n}(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__[\"Plugin\"]);\n\nSticky.defaults = {\n /**\n * Customizable container template. Add your own classes for styling and sizing.\n * @option\n * @type {string}\n * @default '<div data-sticky-container></div>'\n */\n container: '
',\n\n /**\n * Location in the view the element sticks to. Can be `'top'` or `'bottom'`.\n * @option\n * @type {string}\n * @default 'top'\n */\n stickTo: 'top',\n\n /**\n * If anchored to a single element, the id of that element.\n * @option\n * @type {string}\n * @default ''\n */\n anchor: '',\n\n /**\n * If using more than one element as anchor points, the id of the top anchor.\n * @option\n * @type {string}\n * @default ''\n */\n topAnchor: '',\n\n /**\n * If using more than one element as anchor points, the id of the bottom anchor.\n * @option\n * @type {string}\n * @default ''\n */\n btmAnchor: '',\n\n /**\n * Margin, in `em`'s to apply to the top of the element when it becomes sticky.\n * @option\n * @type {number}\n * @default 1\n */\n marginTop: 1,\n\n /**\n * Margin, in `em`'s to apply to the bottom of the element when it becomes sticky.\n * @option\n * @type {number}\n * @default 1\n */\n marginBottom: 1,\n\n /**\n * Breakpoint string that is the minimum screen size an element should become sticky.\n * @option\n * @type {string}\n * @default 'medium'\n */\n stickyOn: 'medium',\n\n /**\n * Class applied to sticky element, and removed on destruction. Foundation defaults to `sticky`.\n * @option\n * @type {string}\n * @default 'sticky'\n */\n stickyClass: 'sticky',\n\n /**\n * Class applied to sticky container. Foundation defaults to `sticky-container`.\n * @option\n * @type {string}\n * @default 'sticky-container'\n */\n containerClass: 'sticky-container',\n\n /**\n * If true (by default), keep the sticky container the same height as the element. Otherwise, the container height is set once and does not change.\n * @option\n * @type {boolean}\n * @default true\n */\n dynamicHeight: true,\n\n /**\n * Number of scroll events between the plugin's recalculating sticky points. Setting it to `0` will cause it to recalc every scroll event, setting it to `-1` will prevent recalc on scroll.\n * @option\n * @type {number}\n * @default -1\n */\n checkEvery: -1\n};\n/**\n * Helper function to calculate em values\n * @param Number {em} - number of em's to calculate into pixels\n */\n\nfunction emCalc(em) {\n return parseInt(window.getComputedStyle(document.body, null).fontSize, 10) * em;\n}\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/***/ 17:\n/*!*******************************************************!*\\\n !*** multi ./js/entries/plugins/foundation.sticky.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.sticky.js */\"./js/entries/plugins/foundation.sticky.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.sticky.js.map"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__foundation_core__","__WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__","__WEBPACK_EXTERNAL_MODULE__foundation_util_motion__","__WEBPACK_EXTERNAL_MODULE_jquery__","modules","./foundation.core","./foundation.util.mediaQuery","./foundation.util.motion","./js/entries/plugins/foundation.sticky.js","__webpack_exports__","__webpack_require__","r","_foundation_core__WEBPACK_IMPORTED_MODULE_0__","d","_foundation_sticky__WEBPACK_IMPORTED_MODULE_1__","plugin","./js/foundation.sticky.js","Sticky","jquery__WEBPACK_IMPORTED_MODULE_0__","jquery__WEBPACK_IMPORTED_MODULE_0___default","n","_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__","_foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_2__","_foundation_util_triggers__WEBPACK_IMPORTED_MODULE_3__","_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","$element","a","extend","defaults","data","className","init","_init","$parent","parent","id","_this","$container","wasWrapped","wrap","container","addClass","containerClass","stickyClass","attr","data-resize","data-mutate","anchor","scrollCount","checkEvery","isStuck","onLoadListener","containerHeight","css","getBoundingClientRect","height","elemHeight","$anchor","_parsePoints","_setSizes","scroll","pageYOffset","_calc","_removeSticky","topPoint","_events","split","reverse","join","place","pt","pts","topAnchor","btmAnchor","document","documentElement","scrollHeight","breaks","len","concat","offset","top","toLowerCase","points","scrollListener","isOn","canStick","off","on","_eventsHandler","_pauseListeners","trigger","checkSizes","bottomPoint","_setSticky","stickTo","mrgn","notStuckTo","removeClass","isTop","anchorPt","anchorHeight","topOrBottom","bottom","cb","is","stickyOn","newElemWidth","width","comp","getComputedStyle","pdngl","parseInt","pdngr","max-width","dynamicHeight","newContainerHeight","hasClass","_setBreakPoints","mTop","emCalc","marginTop","mBtm","marginBottom","winHeight","innerHeight","unwrap","em","body","fontSize","./js/foundation.util.triggers.js","Triggers","_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__","_foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__","triggers","el","type","forEach","MutationObserver","prefixes","Listeners","Basic","Global","Initializers","debounceGlobalListener","debounce","listener","timer","args","Array","slice","clearTimeout","setTimeout","openListener","closeListener","toggleListener","closeableListener","animation","stopPropagation","animateOut","fadeOut","toggleFocusListener","triggerHandler","addOpenListener","$elem","addCloseListener","addToggleListener","addCloseableListener","addToggleFocusListener","resizeListener","$nodes","each","closeMeListener","pluginId","namespace","not","addClosemeListener","pluginName","yetiBoxes","plugNames","push","console","error","listeners","map","name","addResizeListener","addScrollListener","addMutationEventsListener","listeningElementsMutation","mutationRecordsList","$target","attributeName","closest","find","observe","attributes","childList","characterData","subtree","attributeFilter","addSimpleListeners","$document","addGlobalListeners","__","Foundation","triggersInitialized","IHearYou","17","jquery","installedModules","m","c","getter","get","toStringTag","t","mode","__esModule","ns","bind","object","property","hasOwnProperty","s","moduleId","l"],"mappings":"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"}