{"version":3,"file":"foundation.tooltip.min.js","sources":["foundation.tooltip.min.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"./foundation.util.box\"), require(\"./foundation.util.mediaQuery\"), require(\"./foundation.util.motion\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"./foundation.util.box\", \"./foundation.util.mediaQuery\", \"./foundation.util.motion\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.tooltip\"] = factory(require(\"./foundation.core\"), require(\"./foundation.util.box\"), require(\"./foundation.util.mediaQuery\"), require(\"./foundation.util.motion\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.tooltip\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.box\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.mediaQuery\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.motion\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE__foundation_util_box__, __WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__, __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__, __WEBPACK_EXTERNAL_MODULE_jquery__) {\nreturn /******/ (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 = 20);\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.box\":\n/*!********************************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.box\"],\"amd\":\"./foundation.util.box\",\"commonjs\":\"./foundation.util.box\",\"commonjs2\":\"./foundation.util.box\"} ***!\n \\********************************************************************************************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_box__;\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.tooltip.js\":\n/*!**************************************************!*\\\n !*** ./js/entries/plugins/foundation.tooltip.js ***!\n \\**************************************************/\n/*! exports provided: Foundation, Tooltip */\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_tooltip__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../foundation.tooltip */ \"./js/foundation.tooltip.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Tooltip\", function() { return _foundation_tooltip__WEBPACK_IMPORTED_MODULE_1__[\"Tooltip\"]; });\n\n\n\n_foundation_core__WEBPACK_IMPORTED_MODULE_0__[\"Foundation\"].plugin(_foundation_tooltip__WEBPACK_IMPORTED_MODULE_1__[\"Tooltip\"], 'Tooltip');\n\n\n/***/ }),\n\n/***/ \"./js/foundation.positionable.js\":\n/*!***************************************!*\\\n !*** ./js/foundation.positionable.js ***!\n \\***************************************/\n/*! exports provided: Positionable */\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__, \"Positionable\", function() { return Positionable; });\n/* harmony import */ var _foundation_util_box__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./foundation.util.box */ \"./foundation.util.box\");\n/* harmony import */ var _foundation_util_box__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_foundation_util_box__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__);\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\nvar POSITIONS = ['left', 'right', 'top', 'bottom'];\nvar VERTICAL_ALIGNMENTS = ['top', 'bottom', 'center'];\nvar HORIZONTAL_ALIGNMENTS = ['left', 'right', 'center'];\nvar ALIGNMENTS = {\n 'left': VERTICAL_ALIGNMENTS,\n 'right': VERTICAL_ALIGNMENTS,\n 'top': HORIZONTAL_ALIGNMENTS,\n 'bottom': HORIZONTAL_ALIGNMENTS\n};\n\nfunction nextItem(item, array) {\n var currentIdx = array.indexOf(item);\n\n if (currentIdx === array.length - 1) {\n return array[0];\n } else {\n return array[currentIdx + 1];\n }\n}\n\nvar Positionable = /*#__PURE__*/function (_Plugin) {\n _inherits(Positionable, _Plugin);\n\n var _super = _createSuper(Positionable);\n\n function Positionable() {\n _classCallCheck(this, Positionable);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(Positionable, [{\n key: \"_init\",\n value:\n /**\n * Abstract class encapsulating the tether-like explicit positioning logic\n * including repositioning based on overlap.\n * Expects classes to define defaults for vOffset, hOffset, position,\n * alignment, allowOverlap, and allowBottomOverlap. They can do this by\n * extending the defaults, or (for now recommended due to the way docs are\n * generated) by explicitly declaring them.\n *\n **/\n function _init() {\n this.triedPositions = {};\n this.position = this.options.position === 'auto' ? this._getDefaultPosition() : this.options.position;\n this.alignment = this.options.alignment === 'auto' ? this._getDefaultAlignment() : this.options.alignment;\n this.originalPosition = this.position;\n this.originalAlignment = this.alignment;\n }\n }, {\n key: \"_getDefaultPosition\",\n value: function _getDefaultPosition() {\n return 'bottom';\n }\n }, {\n key: \"_getDefaultAlignment\",\n value: function _getDefaultAlignment() {\n switch (this.position) {\n case 'bottom':\n case 'top':\n return Object(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__[\"rtl\"])() ? 'right' : 'left';\n\n case 'left':\n case 'right':\n return 'bottom';\n }\n }\n /**\n * Adjusts the positionable possible positions by iterating through alignments\n * and positions.\n * @function\n * @private\n */\n\n }, {\n key: \"_reposition\",\n value: function _reposition() {\n if (this._alignmentsExhausted(this.position)) {\n this.position = nextItem(this.position, POSITIONS);\n this.alignment = ALIGNMENTS[this.position][0];\n } else {\n this._realign();\n }\n }\n /**\n * Adjusts the dropdown pane possible positions by iterating through alignments\n * on the current position.\n * @function\n * @private\n */\n\n }, {\n key: \"_realign\",\n value: function _realign() {\n this._addTriedPosition(this.position, this.alignment);\n\n this.alignment = nextItem(this.alignment, ALIGNMENTS[this.position]);\n }\n }, {\n key: \"_addTriedPosition\",\n value: function _addTriedPosition(position, alignment) {\n this.triedPositions[position] = this.triedPositions[position] || [];\n this.triedPositions[position].push(alignment);\n }\n }, {\n key: \"_positionsExhausted\",\n value: function _positionsExhausted() {\n var isExhausted = true;\n\n for (var i = 0; i < POSITIONS.length; i++) {\n isExhausted = isExhausted && this._alignmentsExhausted(POSITIONS[i]);\n }\n\n return isExhausted;\n }\n }, {\n key: \"_alignmentsExhausted\",\n value: function _alignmentsExhausted(position) {\n return this.triedPositions[position] && this.triedPositions[position].length === ALIGNMENTS[position].length;\n } // When we're trying to center, we don't want to apply offset that's going to\n // take us just off center, so wrap around to return 0 for the appropriate\n // offset in those alignments. TODO: Figure out if we want to make this\n // configurable behavior... it feels more intuitive, especially for tooltips, but\n // it's possible someone might actually want to start from center and then nudge\n // slightly off.\n\n }, {\n key: \"_getVOffset\",\n value: function _getVOffset() {\n return this.options.vOffset;\n }\n }, {\n key: \"_getHOffset\",\n value: function _getHOffset() {\n return this.options.hOffset;\n }\n }, {\n key: \"_setPosition\",\n value: function _setPosition($anchor, $element, $parent) {\n if ($anchor.attr('aria-expanded') === 'false') {\n return false;\n }\n\n if (!this.options.allowOverlap) {\n // restore original position & alignment before checking overlap\n this.position = this.originalPosition;\n this.alignment = this.originalAlignment;\n }\n\n $element.offset(_foundation_util_box__WEBPACK_IMPORTED_MODULE_0__[\"Box\"].GetExplicitOffsets($element, $anchor, this.position, this.alignment, this._getVOffset(), this._getHOffset()));\n\n if (!this.options.allowOverlap) {\n var minOverlap = 100000000; // default coordinates to how we start, in case we can't figure out better\n\n var minCoordinates = {\n position: this.position,\n alignment: this.alignment\n };\n\n while (!this._positionsExhausted()) {\n var overlap = _foundation_util_box__WEBPACK_IMPORTED_MODULE_0__[\"Box\"].OverlapArea($element, $parent, false, false, this.options.allowBottomOverlap);\n\n if (overlap === 0) {\n return;\n }\n\n if (overlap < minOverlap) {\n minOverlap = overlap;\n minCoordinates = {\n position: this.position,\n alignment: this.alignment\n };\n }\n\n this._reposition();\n\n $element.offset(_foundation_util_box__WEBPACK_IMPORTED_MODULE_0__[\"Box\"].GetExplicitOffsets($element, $anchor, this.position, this.alignment, this._getVOffset(), this._getHOffset()));\n } // If we get through the entire loop, there was no non-overlapping\n // position available. Pick the version with least overlap.\n\n\n this.position = minCoordinates.position;\n this.alignment = minCoordinates.alignment;\n $element.offset(_foundation_util_box__WEBPACK_IMPORTED_MODULE_0__[\"Box\"].GetExplicitOffsets($element, $anchor, this.position, this.alignment, this._getVOffset(), this._getHOffset()));\n }\n }\n }]);\n\n return Positionable;\n}(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__[\"Plugin\"]);\n\nPositionable.defaults = {\n /**\n * Position of positionable relative to anchor. Can be left, right, bottom, top, or auto.\n * @option\n * @type {string}\n * @default 'auto'\n */\n position: 'auto',\n\n /**\n * Alignment of positionable relative to anchor. Can be left, right, bottom, top, center, or auto.\n * @option\n * @type {string}\n * @default 'auto'\n */\n alignment: 'auto',\n\n /**\n * Allow overlap of container/window. If false, dropdown positionable first\n * try to position as defined by data-position and data-alignment, but\n * reposition if it would cause an overflow.\n * @option\n * @type {boolean}\n * @default false\n */\n allowOverlap: false,\n\n /**\n * Allow overlap of only the bottom of the container. This is the most common\n * behavior for dropdowns, allowing the dropdown to extend the bottom of the\n * screen but not otherwise influence or break out of the container.\n * @option\n * @type {boolean}\n * @default true\n */\n allowBottomOverlap: true,\n\n /**\n * Number of pixels the positionable should be separated vertically from anchor\n * @option\n * @type {number}\n * @default 0\n */\n vOffset: 0,\n\n /**\n * Number of pixels the positionable should be separated horizontally from anchor\n * @option\n * @type {number}\n * @default 0\n */\n hOffset: 0\n};\n\n\n/***/ }),\n\n/***/ \"./js/foundation.tooltip.js\":\n/*!**********************************!*\\\n !*** ./js/foundation.tooltip.js ***!\n \\**********************************/\n/*! exports provided: Tooltip */\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__, \"Tooltip\", function() { return Tooltip; });\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_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\");\n/* harmony import */ var _foundation_positionable__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./foundation.positionable */ \"./js/foundation.positionable.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 _get(target, property, receiver) { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\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 * Tooltip module.\n * @module foundation.tooltip\n * @requires foundation.util.box\n * @requires foundation.util.mediaQuery\n * @requires foundation.util.triggers\n */\n\nvar Tooltip = /*#__PURE__*/function (_Positionable) {\n _inherits(Tooltip, _Positionable);\n\n var _super = _createSuper(Tooltip);\n\n function Tooltip() {\n _classCallCheck(this, Tooltip);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(Tooltip, [{\n key: \"_setup\",\n value:\n /**\n * Creates a new instance of a Tooltip.\n * @class\n * @name Tooltip\n * @fires Tooltip#init\n * @param {jQuery} element - jQuery object to attach a tooltip to.\n * @param {Object} options - object to extend the default configuration.\n */\n function _setup(element, options) {\n this.$element = element;\n this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend({}, Tooltip.defaults, this.$element.data(), options);\n this.className = 'Tooltip'; // ie9 back compat\n\n this.isActive = false;\n this.isClick = false; // 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 tooltip by setting the creating the tip element, adding it's text, setting private variables and setting attributes on the anchor.\n * @private\n */\n\n }, {\n key: \"_init\",\n value: function _init() {\n _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_2__[\"MediaQuery\"]._init();\n\n var elemId = this.$element.attr('aria-describedby') || Object(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__[\"GetYoDigits\"])(6, 'tooltip');\n this.options.tipText = this.options.tipText || this.$element.attr('title');\n this.template = this.options.template ? jquery__WEBPACK_IMPORTED_MODULE_0___default()(this.options.template) : this._buildTemplate(elemId);\n\n if (this.options.allowHtml) {\n this.template.appendTo(document.body).html(this.options.tipText).hide();\n } else {\n this.template.appendTo(document.body).text(this.options.tipText).hide();\n }\n\n this.$element.attr({\n 'title': '',\n 'aria-describedby': elemId,\n 'data-yeti-box': elemId,\n 'data-toggle': elemId,\n 'data-resize': elemId\n }).addClass(this.options.triggerClass);\n\n _get(_getPrototypeOf(Tooltip.prototype), \"_init\", this).call(this);\n\n this._events();\n }\n }, {\n key: \"_getDefaultPosition\",\n value: function _getDefaultPosition() {\n // handle legacy classnames\n var elementClassName = this.$element[0].className;\n\n if (this.$element[0] instanceof SVGElement) {\n elementClassName = elementClassName.baseVal;\n }\n\n var position = elementClassName.match(/\\b(top|left|right|bottom)\\b/g);\n return position ? position[0] : 'top';\n }\n }, {\n key: \"_getDefaultAlignment\",\n value: function _getDefaultAlignment() {\n return 'center';\n }\n }, {\n key: \"_getHOffset\",\n value: function _getHOffset() {\n if (this.position === 'left' || this.position === 'right') {\n return this.options.hOffset + this.options.tooltipWidth;\n } else {\n return this.options.hOffset;\n }\n }\n }, {\n key: \"_getVOffset\",\n value: function _getVOffset() {\n if (this.position === 'top' || this.position === 'bottom') {\n return this.options.vOffset + this.options.tooltipHeight;\n } else {\n return this.options.vOffset;\n }\n }\n /**\n * builds the tooltip element, adds attributes, and returns the template.\n * @private\n */\n\n }, {\n key: \"_buildTemplate\",\n value: function _buildTemplate(id) {\n var templateClasses = \"\".concat(this.options.tooltipClass, \" \").concat(this.options.templateClasses).trim();\n var $template = jquery__WEBPACK_IMPORTED_MODULE_0___default()('
').addClass(templateClasses).attr({\n 'role': 'tooltip',\n 'aria-hidden': true,\n 'data-is-active': false,\n 'data-is-focus': false,\n 'id': id\n });\n return $template;\n }\n /**\n * sets the position class of an element and recursively calls itself until there are no more possible positions to attempt, or the tooltip element is no longer colliding.\n * if the tooltip is larger than the screen width, default to full width - any user selected margin\n * @private\n */\n\n }, {\n key: \"_setPosition\",\n value: function _setPosition() {\n _get(_getPrototypeOf(Tooltip.prototype), \"_setPosition\", this).call(this, this.$element, this.template);\n }\n /**\n * reveals the tooltip, and fires an event to close any other open tooltips on the page\n * @fires Tooltip#closeme\n * @fires Tooltip#show\n * @function\n */\n\n }, {\n key: \"show\",\n value: function show() {\n if (this.options.showOn !== 'all' && !_foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_2__[\"MediaQuery\"].is(this.options.showOn)) {\n // console.error('The screen is too small to display this tooltip');\n return false;\n }\n\n var _this = this;\n\n this.template.css('visibility', 'hidden').show();\n\n this._setPosition();\n\n this.template.removeClass('top bottom left right').addClass(this.position);\n this.template.removeClass('align-top align-bottom align-left align-right align-center').addClass('align-' + this.alignment);\n /**\n * Fires to close all other open tooltips on the page\n * @event Closeme#tooltip\n */\n\n this.$element.trigger('closeme.zf.tooltip', this.template.attr('id'));\n this.template.attr({\n 'data-is-active': true,\n 'aria-hidden': false\n });\n _this.isActive = true;\n this.template.stop().hide().css('visibility', '').fadeIn(this.options.fadeInDuration, function () {//maybe do stuff?\n });\n /**\n * Fires when the tooltip is shown\n * @event Tooltip#show\n */\n\n this.$element.trigger('show.zf.tooltip');\n }\n /**\n * Hides the current tooltip, and resets the positioning class if it was changed due to collision\n * @fires Tooltip#hide\n * @function\n */\n\n }, {\n key: \"hide\",\n value: function hide() {\n var _this = this;\n\n this.template.stop().attr({\n 'aria-hidden': true,\n 'data-is-active': false\n }).fadeOut(this.options.fadeOutDuration, function () {\n _this.isActive = false;\n _this.isClick = false;\n });\n /**\n * fires when the tooltip is hidden\n * @event Tooltip#hide\n */\n\n this.$element.trigger('hide.zf.tooltip');\n }\n /**\n * adds event listeners for the tooltip and its anchor\n * TODO combine some of the listeners like focus and mouseenter, etc.\n * @private\n */\n\n }, {\n key: \"_events\",\n value: function _events() {\n var _this = this;\n\n var hasTouch = 'ontouchstart' in window || typeof window.ontouchstart !== 'undefined';\n var isFocus = false; // `disableForTouch: Fully disable the tooltip on touch devices\n\n if (hasTouch && this.options.disableForTouch) return;\n\n if (!this.options.disableHover) {\n this.$element.on('mouseenter.zf.tooltip', function () {\n if (!_this.isActive) {\n _this.timeout = setTimeout(function () {\n _this.show();\n }, _this.options.hoverDelay);\n }\n }).on('mouseleave.zf.tooltip', Object(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__[\"ignoreMousedisappear\"])(function () {\n clearTimeout(_this.timeout);\n\n if (!isFocus || _this.isClick && !_this.options.clickOpen) {\n _this.hide();\n }\n }));\n }\n\n if (hasTouch) {\n this.$element.on('tap.zf.tooltip touchend.zf.tooltip', function () {\n _this.isActive ? _this.hide() : _this.show();\n });\n }\n\n if (this.options.clickOpen) {\n this.$element.on('mousedown.zf.tooltip', function () {\n if (_this.isClick) {//_this.hide();\n // _this.isClick = false;\n } else {\n _this.isClick = true;\n\n if ((_this.options.disableHover || !_this.$element.attr('tabindex')) && !_this.isActive) {\n _this.show();\n }\n }\n });\n } else {\n this.$element.on('mousedown.zf.tooltip', function () {\n _this.isClick = true;\n });\n }\n\n this.$element.on({\n // 'toggle.zf.trigger': this.toggle.bind(this),\n // 'close.zf.trigger': this.hide.bind(this)\n 'close.zf.trigger': this.hide.bind(this)\n });\n this.$element.on('focus.zf.tooltip', function () {\n isFocus = true;\n\n if (_this.isClick) {\n // If we're not showing open on clicks, we need to pretend a click-launched focus isn't\n // a real focus, otherwise on hover and come back we get bad behavior\n if (!_this.options.clickOpen) {\n isFocus = false;\n }\n\n return false;\n } else {\n _this.show();\n }\n }).on('focusout.zf.tooltip', function () {\n isFocus = false;\n _this.isClick = false;\n\n _this.hide();\n }).on('resizeme.zf.trigger', function () {\n if (_this.isActive) {\n _this._setPosition();\n }\n });\n }\n /**\n * adds a toggle method, in addition to the static show() & hide() functions\n * @function\n */\n\n }, {\n key: \"toggle\",\n value: function toggle() {\n if (this.isActive) {\n this.hide();\n } else {\n this.show();\n }\n }\n /**\n * Destroys an instance of tooltip, removes template element from the view.\n * @function\n */\n\n }, {\n key: \"_destroy\",\n value: function _destroy() {\n this.$element.attr('title', this.template.text()).off('.zf.trigger .zf.tooltip').removeClass(this.options.triggerClass).removeClass('top right left bottom').removeAttr('aria-describedby data-disable-hover data-resize data-toggle data-tooltip data-yeti-box');\n this.template.remove();\n }\n }]);\n\n return Tooltip;\n}(_foundation_positionable__WEBPACK_IMPORTED_MODULE_4__[\"Positionable\"]);\n\nTooltip.defaults = {\n /**\n * Time, in ms, before a tooltip should open on hover.\n * @option\n * @type {number}\n * @default 200\n */\n hoverDelay: 200,\n\n /**\n * Time, in ms, a tooltip should take to fade into view.\n * @option\n * @type {number}\n * @default 150\n */\n fadeInDuration: 150,\n\n /**\n * Time, in ms, a tooltip should take to fade out of view.\n * @option\n * @type {number}\n * @default 150\n */\n fadeOutDuration: 150,\n\n /**\n * Disables hover events from opening the tooltip if set to true\n * @option\n * @type {boolean}\n * @default false\n */\n disableHover: false,\n\n /**\n * Disable the tooltip for touch devices.\n * This can be useful to make elements with a tooltip on it trigger their\n * action on the first tap instead of displaying the tooltip.\n * @option\n * @type {booelan}\n * @default false\n */\n disableForTouch: false,\n\n /**\n * Optional addtional classes to apply to the tooltip template on init.\n * @option\n * @type {string}\n * @default ''\n */\n templateClasses: '',\n\n /**\n * Non-optional class added to tooltip templates. Foundation default is 'tooltip'.\n * @option\n * @type {string}\n * @default 'tooltip'\n */\n tooltipClass: 'tooltip',\n\n /**\n * Class applied to the tooltip anchor element.\n * @option\n * @type {string}\n * @default 'has-tip'\n */\n triggerClass: 'has-tip',\n\n /**\n * Minimum breakpoint size at which to open the tooltip.\n * @option\n * @type {string}\n * @default 'small'\n */\n showOn: 'small',\n\n /**\n * Custom template to be used to generate markup for tooltip.\n * @option\n * @type {string}\n * @default ''\n */\n template: '',\n\n /**\n * Text displayed in the tooltip template on open.\n * @option\n * @type {string}\n * @default ''\n */\n tipText: '',\n touchCloseText: 'Tap to close.',\n\n /**\n * Allows the tooltip to remain open if triggered with a click or touch event.\n * @option\n * @type {boolean}\n * @default true\n */\n clickOpen: true,\n\n /**\n * Position of tooltip. Can be left, right, bottom, top, or auto.\n * @option\n * @type {string}\n * @default 'auto'\n */\n position: 'auto',\n\n /**\n * Alignment of tooltip relative to anchor. Can be left, right, bottom, top, center, or auto.\n * @option\n * @type {string}\n * @default 'auto'\n */\n alignment: 'auto',\n\n /**\n * Allow overlap of container/window. If false, tooltip will first try to\n * position as defined by data-position and data-alignment, but reposition if\n * it would cause an overflow. @option\n * @type {boolean}\n * @default false\n */\n allowOverlap: false,\n\n /**\n * Allow overlap of only the bottom of the container. This is the most common\n * behavior for dropdowns, allowing the dropdown to extend the bottom of the\n * screen but not otherwise influence or break out of the container.\n * Less common for tooltips.\n * @option\n * @type {boolean}\n * @default false\n */\n allowBottomOverlap: false,\n\n /**\n * Distance, in pixels, the template should push away from the anchor on the Y axis.\n * @option\n * @type {number}\n * @default 0\n */\n vOffset: 0,\n\n /**\n * Distance, in pixels, the template should push away from the anchor on the X axis\n * @option\n * @type {number}\n * @default 0\n */\n hOffset: 0,\n\n /**\n * Distance, in pixels, the template spacing auto-adjust for a vertical tooltip\n * @option\n * @type {number}\n * @default 14\n */\n tooltipHeight: 14,\n\n /**\n * Distance, in pixels, the template spacing auto-adjust for a horizontal tooltip\n * @option\n * @type {number}\n * @default 12\n */\n tooltipWidth: 12,\n\n /**\n * Allow HTML in tooltip. Warning: If you are loading user-generated content into tooltips,\n * allowing HTML may open yourself up to XSS attacks.\n * @option\n * @type {boolean}\n * @default false\n */\n allowHtml: false\n};\n/**\n * TODO utilize resize event trigger\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/***/ 20:\n/*!********************************************************!*\\\n !*** multi ./js/entries/plugins/foundation.tooltip.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.tooltip.js */\"./js/entries/plugins/foundation.tooltip.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.tooltip.js.map"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__foundation_core__","__WEBPACK_EXTERNAL_MODULE__foundation_util_box__","__WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__","__WEBPACK_EXTERNAL_MODULE__foundation_util_motion__","__WEBPACK_EXTERNAL_MODULE_jquery__","modules","./foundation.core","./foundation.util.box","./foundation.util.mediaQuery","./foundation.util.motion","./js/entries/plugins/foundation.tooltip.js","__webpack_exports__","__webpack_require__","r","_foundation_core__WEBPACK_IMPORTED_MODULE_0__","d","_foundation_tooltip__WEBPACK_IMPORTED_MODULE_1__","plugin","./js/foundation.positionable.js","Positionable","_foundation_util_box__WEBPACK_IMPORTED_MODULE_0__","_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__","_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","POSITIONS","VERTICAL_ALIGNMENTS","HORIZONTAL_ALIGNMENTS","ALIGNMENTS","left","right","top","bottom","nextItem","item","array","currentIdx","indexOf","subClass","superClass","create","value","_inherits","Constructor","protoProps","staticProps","_super","instance","_classCallCheck","triedPositions","position","options","_getDefaultPosition","alignment","_getDefaultAlignment","originalPosition","originalAlignment","_alignmentsExhausted","_realign","_addTriedPosition","push","isExhausted","vOffset","hOffset","$anchor","$element","$parent","attr","allowOverlap","offset","GetExplicitOffsets","_getVOffset","_getHOffset","minOverlap","minCoordinates","_positionsExhausted","overlap","OverlapArea","allowBottomOverlap","_reposition","defaults","./js/foundation.tooltip.js","Tooltip","jquery__WEBPACK_IMPORTED_MODULE_0__","jquery__WEBPACK_IMPORTED_MODULE_0___default","n","_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__","_foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_2__","_foundation_util_triggers__WEBPACK_IMPORTED_MODULE_3__","_foundation_positionable__WEBPACK_IMPORTED_MODULE_4__","_get","property","receiver","get","base","object","hasOwnProperty","_superPropBase","desc","getOwnPropertyDescriptor","element","a","extend","data","className","isActive","isClick","init","_init","elemId","tipText","template","_buildTemplate","allowHtml","appendTo","document","body","html","text","hide","title","aria-describedby","data-yeti-box","data-toggle","data-resize","addClass","triggerClass","_events","elementClassName","SVGElement","baseVal","match","tooltipWidth","tooltipHeight","id","templateClasses","concat","tooltipClass","trim","role","aria-hidden","data-is-active","data-is-focus","showOn","is","css","show","_setPosition","removeClass","trigger","stop","fadeIn","fadeInDuration","_this","fadeOut","fadeOutDuration","hasTouch","ontouchstart","isFocus","disableForTouch","disableHover","on","timeout","setTimeout","hoverDelay","clearTimeout","clickOpen","close.zf.trigger","bind","off","removeAttr","remove","touchCloseText","./js/foundation.util.triggers.js","Triggers","_foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__","triggers","el","type","split","forEach","MutationObserver","prefixes","Listeners","Basic","Global","Initializers","debounceGlobalListener","debounce","listener","timer","args","Array","slice","openListener","closeListener","toggleListener","closeableListener","animation","stopPropagation","animateOut","toggleFocusListener","triggerHandler","addOpenListener","$elem","addCloseListener","addToggleListener","addCloseableListener","addToggleFocusListener","resizeListener","$nodes","each","scrollListener","closeMeListener","pluginId","namespace","not","addClosemeListener","pluginName","yetiBoxes","plugNames","console","error","listeners","map","name","join","addResizeListener","addScrollListener","addMutationEventsListener","listeningElementsMutation","mutationRecordsList","$target","attributeName","pageYOffset","closest","find","observe","attributes","childList","characterData","subtree","attributeFilter","addSimpleListeners","$document","addGlobalListeners","__","Foundation","triggersInitialized","IHearYou","20","jquery","installedModules","m","c","getter","toStringTag","t","mode","__esModule","ns","s","moduleId","l"],"mappings":"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"}