UNPKG

53.5 kBSource Map (JSON)View Raw
1{"version":3,"sources":["webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/universalModuleDefinition","webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/bootstrap","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"}","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.box\"],\"amd\":\"./foundation.util.box\",\"commonjs\":\"./foundation.util.box\",\"commonjs2\":\"./foundation.util.box\"}","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.keyboard\"],\"amd\":\"./foundation.util.keyboard\",\"commonjs\":\"./foundation.util.keyboard\",\"commonjs2\":\"./foundation.util.keyboard\"}","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.motion\"],\"amd\":\"./foundation.util.motion\",\"commonjs\":\"./foundation.util.motion\",\"commonjs2\":\"./foundation.util.motion\"}","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.touch\"],\"amd\":\"./foundation.util.touch\",\"commonjs\":\"./foundation.util.touch\",\"commonjs2\":\"./foundation.util.touch\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/js/entries/plugins/foundation.dropdown.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.dropdown.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.positionable.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.util.triggers.js","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__","__WEBPACK_EXTERNAL_MODULE__foundation_core__","__WEBPACK_EXTERNAL_MODULE_jquery__","__WEBPACK_EXTERNAL_MODULE__foundation_util_box__","__WEBPACK_EXTERNAL_MODULE__foundation_util_motion__","__WEBPACK_EXTERNAL_MODULE__foundation_util_touch__","installedModules","__webpack_require__","m","r","__webpack_exports__","_foundation_core__WEBPACK_IMPORTED_MODULE_0__","d","_foundation_dropdown__WEBPACK_IMPORTED_MODULE_1__","Foundation","plugin","Dropdown","jquery__WEBPACK_IMPORTED_MODULE_0__","jquery__WEBPACK_IMPORTED_MODULE_0___default","n","_foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__","_foundation_core_utils__WEBPACK_IMPORTED_MODULE_2__","_foundation_positionable__WEBPACK_IMPORTED_MODULE_3__","_foundation_util_triggers__WEBPACK_IMPORTED_MODULE_4__","_foundation_util_touch__WEBPACK_IMPORTED_MODULE_5__","Positionable","element","options","this","$element","$","extend","defaults","data","className","Touch","init","Triggers","_init","Keyboard","register","ENTER","SPACE","ESCAPE","$id","attr","$anchors","concat","length","aria-controls","data-is-focus","data-yeti-box","aria-haspopup","aria-expanded","_setCurrentAnchor","first","parentClass","$parent","parents","$currentAnchor","GetYoDigits","aria-hidden","data-resize","_get","_getPrototypeOf","prototype","call","_events","position","match","horizontalPosition","exec","removeClass","alignment","addClass","el","_this","hasTouch","ontouchstart","on","open.zf.trigger","open","bind","close.zf.trigger","close","toggle.zf.trigger","toggle","resizeme.zf.trigger","_setPosition","off","e","forceFollow","hover","hasClass","preventDefault","bodyData","whatinput","clearTimeout","timeout","setTimeout","hoverDelay","ignoreMousedisappear","hoverPane","add","$target","findFocusable","handleKey","is","focus","$body","document","body","not","target","find","trigger","autoFocus","$focusable","eq","closeOnClick","_addBodyHandler","trapFocus","releaseFocus","hide","vOffset","hOffset","allowOverlap","allowBottomOverlap","_foundation_util_box__WEBPACK_IMPORTED_MODULE_0__","_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__","POSITIONS","VERTICAL_ALIGNMENTS","HORIZONTAL_ALIGNMENTS","ALIGNMENTS","left","right","top","bottom","nextItem","item","array","currentIdx","indexOf","Plugin","triedPositions","_getDefaultPosition","_getDefaultAlignment","originalPosition","originalAlignment","Rtl","_alignmentsExhausted","_realign","_addTriedPosition","push","isExhausted","i","$anchor","offset","Box","GetExplicitOffsets","_getVOffset","_getHOffset","minOverlap","minCoordinates","_positionsExhausted","overlap","OverlapArea","_reposition","_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__","_foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__","triggers","type","split","forEach","id","MutationObserver","prefixes","Listeners","Basic","Global","Initializers","debounceGlobalListener","debounce","listener","timer","args","Array","slice","arguments","apply","openListener","closeListener","toggleListener","closeableListener","animation","stopPropagation","Motion","animateOut","fadeOut","toggleFocusListener","triggerHandler","addOpenListener","$elem","addCloseListener","addToggleListener","addCloseableListener","addToggleFocusListener","resizeListener","$nodes","each","scrollListener","closeMeListener","pluginId","namespace","addClosemeListener","pluginName","yetiBoxes","plugNames","_typeof","console","error","listeners","map","name","join","addResizeListener","addScrollListener","addMutationEventsListener","listeningElementsMutation","mutationRecordsList","attributeName","pageYOffset","closest","observe","attributes","childList","characterData","subtree","attributeFilter","addSimpleListeners","$document","addGlobalListeners","onLoad","triggersInitialized","IHearYou","c","getter","o","Object","defineProperty","enumerable","get","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","object","property","hasOwnProperty","p","s","moduleId","l","modules"],"mappings":"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","file":"foundation.dropdown.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.util.keyboard\"), require(\"./foundation.core\"), require(\"jquery\"), require(\"./foundation.util.box\"), require(\"./foundation.util.motion\"), require(\"./foundation.util.touch\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.util.keyboard\", \"./foundation.core\", \"jquery\", \"./foundation.util.box\", \"./foundation.util.motion\", \"./foundation.util.touch\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.dropdown\"] = factory(require(\"./foundation.util.keyboard\"), require(\"./foundation.core\"), require(\"jquery\"), require(\"./foundation.util.box\"), require(\"./foundation.util.motion\"), require(\"./foundation.util.touch\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.dropdown\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.keyboard\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"jQuery\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.box\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.motion\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.touch\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__, __WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE_jquery__, __WEBPACK_EXTERNAL_MODULE__foundation_util_box__, __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__, __WEBPACK_EXTERNAL_MODULE__foundation_util_touch__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 4);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_box__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_touch__;","import { Foundation } from './foundation.core';\n\nimport { Dropdown } from '../../foundation.dropdown';\nFoundation.plugin(Dropdown, 'Dropdown');\n\nexport { Foundation, Dropdown };\n","'use strict';\n\nimport $ from 'jquery';\nimport { Keyboard } from './foundation.util.keyboard';\nimport { GetYoDigits, ignoreMousedisappear } from './foundation.core.utils';\nimport { Positionable } from './foundation.positionable';\n\nimport { Triggers } from './foundation.util.triggers';\nimport { Touch } from './foundation.util.touch'\n\n/**\n * Dropdown module.\n * @module foundation.dropdown\n * @requires foundation.util.keyboard\n * @requires foundation.util.box\n * @requires foundation.util.touch\n * @requires foundation.util.triggers\n */\nclass Dropdown extends Positionable {\n /**\n * Creates a new instance of a dropdown.\n * @class\n * @name Dropdown\n * @param {jQuery} element - jQuery object to make into a dropdown.\n * Object should be of the dropdown panel, rather than its anchor.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, Dropdown.defaults, this.$element.data(), options);\n this.className = 'Dropdown'; // ie9 back compat\n\n // Touch and Triggers init are idempotent, just need to make sure they are initialized\n Touch.init($);\n Triggers.init($);\n\n this._init();\n\n Keyboard.register('Dropdown', {\n 'ENTER': 'toggle',\n 'SPACE': 'toggle',\n 'ESCAPE': 'close'\n });\n }\n\n /**\n * Initializes the plugin by setting/checking options and attributes, adding helper variables, and saving the anchor.\n * @function\n * @private\n */\n _init() {\n var $id = this.$element.attr('id');\n\n this.$anchors = $(`[data-toggle=\"${$id}\"]`).length ? $(`[data-toggle=\"${$id}\"]`) : $(`[data-open=\"${$id}\"]`);\n this.$anchors.attr({\n 'aria-controls': $id,\n 'data-is-focus': false,\n 'data-yeti-box': $id,\n 'aria-haspopup': true,\n 'aria-expanded': false\n });\n\n this._setCurrentAnchor(this.$anchors.first());\n\n if(this.options.parentClass){\n this.$parent = this.$element.parents('.' + this.options.parentClass);\n }else{\n this.$parent = null;\n }\n\n // Set [aria-labelledby] on the Dropdown if it is not set\n if (typeof this.$element.attr('aria-labelledby') === 'undefined') {\n // Get the anchor ID or create one\n if (typeof this.$currentAnchor.attr('id') === 'undefined') {\n this.$currentAnchor.attr('id', GetYoDigits(6, 'dd-anchor'));\n }\n\n this.$element.attr('aria-labelledby', this.$currentAnchor.attr('id'));\n }\n\n this.$element.attr({\n 'aria-hidden': 'true',\n 'data-yeti-box': $id,\n 'data-resize': $id,\n });\n\n super._init();\n this._events();\n }\n\n _getDefaultPosition() {\n // handle legacy classnames\n var position = this.$element[0].className.match(/(top|left|right|bottom)/g);\n if(position) {\n return position[0];\n } else {\n return 'bottom'\n }\n }\n\n _getDefaultAlignment() {\n // handle legacy float approach\n var horizontalPosition = /float-(\\S+)/.exec(this.$currentAnchor.attr('class'));\n if(horizontalPosition) {\n return horizontalPosition[1];\n }\n\n return super._getDefaultAlignment();\n }\n\n\n\n /**\n * Sets the position and orientation of the dropdown pane, checks for collisions if allow-overlap is not true.\n * Recursively calls itself if a collision is detected, with a new position class.\n * @function\n * @private\n */\n _setPosition() {\n this.$element.removeClass(`has-position-${this.position} has-alignment-${this.alignment}`);\n super._setPosition(this.$currentAnchor, this.$element, this.$parent);\n this.$element.addClass(`has-position-${this.position} has-alignment-${this.alignment}`);\n }\n\n /**\n * Make it a current anchor.\n * Current anchor as the reference for the position of Dropdown panes.\n * @param {HTML} el - DOM element of the anchor.\n * @function\n * @private\n */\n _setCurrentAnchor(el) {\n this.$currentAnchor = $(el);\n }\n\n /**\n * Adds event listeners to the element utilizing the triggers utility library.\n * @function\n * @private\n */\n _events() {\n var _this = this,\n hasTouch = 'ontouchstart' in window || (typeof window.ontouchstart !== 'undefined');\n\n this.$element.on({\n 'open.zf.trigger': this.open.bind(this),\n 'close.zf.trigger': this.close.bind(this),\n 'toggle.zf.trigger': this.toggle.bind(this),\n 'resizeme.zf.trigger': this._setPosition.bind(this)\n });\n\n this.$anchors.off('click.zf.trigger')\n .on('click.zf.trigger', function(e) {\n _this._setCurrentAnchor(this);\n\n if (\n // if forceFollow false, always prevent default action\n (_this.options.forceFollow === false) ||\n // if forceFollow true and hover option true, only prevent default action on 1st click\n // on 2nd click (dropown opened) the default action (e.g. follow a href) gets executed\n (hasTouch && _this.options.hover && _this.$element.hasClass('is-open') === false)\n ) {\n e.preventDefault();\n }\n });\n\n if(this.options.hover){\n this.$anchors.off('mouseenter.zf.dropdown mouseleave.zf.dropdown')\n .on('mouseenter.zf.dropdown', function(){\n _this._setCurrentAnchor(this);\n\n var bodyData = $('body').data();\n if(typeof(bodyData.whatinput) === 'undefined' || bodyData.whatinput === 'mouse') {\n clearTimeout(_this.timeout);\n _this.timeout = setTimeout(function(){\n _this.open();\n _this.$anchors.data('hover', true);\n }, _this.options.hoverDelay);\n }\n }).on('mouseleave.zf.dropdown', ignoreMousedisappear(function(){\n clearTimeout(_this.timeout);\n _this.timeout = setTimeout(function(){\n _this.close();\n _this.$anchors.data('hover', false);\n }, _this.options.hoverDelay);\n }));\n if(this.options.hoverPane){\n this.$element.off('mouseenter.zf.dropdown mouseleave.zf.dropdown')\n .on('mouseenter.zf.dropdown', function(){\n clearTimeout(_this.timeout);\n }).on('mouseleave.zf.dropdown', ignoreMousedisappear(function(){\n clearTimeout(_this.timeout);\n _this.timeout = setTimeout(function(){\n _this.close();\n _this.$anchors.data('hover', false);\n }, _this.options.hoverDelay);\n }));\n }\n }\n this.$anchors.add(this.$element).on('keydown.zf.dropdown', function(e) {\n\n var $target = $(this),\n visibleFocusableElements = Keyboard.findFocusable(_this.$element);\n\n Keyboard.handleKey(e, 'Dropdown', {\n open: function() {\n if ($target.is(_this.$anchors) && !$target.is('input, textarea')) {\n _this.open();\n _this.$element.attr('tabindex', -1).focus();\n e.preventDefault();\n }\n },\n close: function() {\n _this.close();\n _this.$anchors.focus();\n }\n });\n });\n }\n\n /**\n * Adds an event handler to the body to close any dropdowns on a click.\n * @function\n * @private\n */\n _addBodyHandler() {\n var $body = $(document.body).not(this.$element),\n _this = this;\n $body.off('click.zf.dropdown tap.zf.dropdown')\n .on('click.zf.dropdown tap.zf.dropdown', function (e) {\n if(_this.$anchors.is(e.target) || _this.$anchors.find(e.target).length) {\n return;\n }\n if(_this.$element.is(e.target) || _this.$element.find(e.target).length) {\n return;\n }\n _this.close();\n $body.off('click.zf.dropdown tap.zf.dropdown');\n });\n }\n\n /**\n * Opens the dropdown pane, and fires a bubbling event to close other dropdowns.\n * @function\n * @fires Dropdown#closeme\n * @fires Dropdown#show\n */\n open() {\n // var _this = this;\n /**\n * Fires to close other open dropdowns, typically when dropdown is opening\n * @event Dropdown#closeme\n */\n this.$element.trigger('closeme.zf.dropdown', this.$element.attr('id'));\n this.$anchors.addClass('hover')\n .attr({'aria-expanded': true});\n // this.$element/*.show()*/;\n\n this.$element.addClass('is-opening');\n this._setPosition();\n this.$element.removeClass('is-opening').addClass('is-open')\n .attr({'aria-hidden': false});\n\n if(this.options.autoFocus){\n var $focusable = Keyboard.findFocusable(this.$element);\n if($focusable.length){\n $focusable.eq(0).focus();\n }\n }\n\n if(this.options.closeOnClick){ this._addBodyHandler(); }\n\n if (this.options.trapFocus) {\n Keyboard.trapFocus(this.$element);\n }\n\n /**\n * Fires once the dropdown is visible.\n * @event Dropdown#show\n */\n this.$element.trigger('show.zf.dropdown', [this.$element]);\n }\n\n /**\n * Closes the open dropdown pane.\n * @function\n * @fires Dropdown#hide\n */\n close() {\n if(!this.$element.hasClass('is-open')){\n return false;\n }\n this.$element.removeClass('is-open')\n .attr({'aria-hidden': true});\n\n this.$anchors.removeClass('hover')\n .attr('aria-expanded', false);\n\n /**\n * Fires once the dropdown is no longer visible.\n * @event Dropdown#hide\n */\n this.$element.trigger('hide.zf.dropdown', [this.$element]);\n\n if (this.options.trapFocus) {\n Keyboard.releaseFocus(this.$element);\n }\n }\n\n /**\n * Toggles the dropdown pane's visibility.\n * @function\n */\n toggle() {\n if(this.$element.hasClass('is-open')){\n if(this.$anchors.data('hover')) return;\n this.close();\n }else{\n this.open();\n }\n }\n\n /**\n * Destroys the dropdown.\n * @function\n */\n _destroy() {\n this.$element.off('.zf.trigger').hide();\n this.$anchors.off('.zf.dropdown');\n $(document.body).off('click.zf.dropdown tap.zf.dropdown');\n\n }\n}\n\nDropdown.defaults = {\n /**\n * Class that designates bounding container of Dropdown (default: window)\n * @option\n * @type {?string}\n * @default null\n */\n parentClass: null,\n /**\n * Amount of time to delay opening a submenu on hover event.\n * @option\n * @type {number}\n * @default 250\n */\n hoverDelay: 250,\n /**\n * Allow submenus to open on hover events\n * @option\n * @type {boolean}\n * @default false\n */\n hover: false,\n /**\n * Don't close dropdown when hovering over dropdown pane\n * @option\n * @type {boolean}\n * @default false\n */\n hoverPane: false,\n /**\n * Number of pixels between the dropdown pane and the triggering element on open.\n * @option\n * @type {number}\n * @default 0\n */\n vOffset: 0,\n /**\n * Number of pixels between the dropdown pane and the triggering element on open.\n * @option\n * @type {number}\n * @default 0\n */\n hOffset: 0,\n /**\n * Position of dropdown. Can be left, right, bottom, top, or auto.\n * @option\n * @type {string}\n * @default 'auto'\n */\n position: 'auto',\n /**\n * Alignment of dropdown relative to anchor. Can be left, right, bottom, top, center, or auto.\n * @option\n * @type {string}\n * @default 'auto'\n */\n alignment: 'auto',\n /**\n * Allow overlap of container/window. If false, dropdown will first try to position as defined by data-position and data-alignment, but reposition if it would cause an overflow.\n * @option\n * @type {boolean}\n * @default false\n */\n allowOverlap: false,\n /**\n * Allow overlap of only the bottom of the container. This is the most common\n * behavior for dropdowns, allowing the dropdown to extend the bottom of the\n * screen but not otherwise influence or break out of the container.\n * @option\n * @type {boolean}\n * @default true\n */\n allowBottomOverlap: true,\n /**\n * Allow the plugin to trap focus to the dropdown pane if opened with keyboard commands.\n * @option\n * @type {boolean}\n * @default false\n */\n trapFocus: false,\n /**\n * Allow the plugin to set focus to the first focusable element within the pane, regardless of method of opening.\n * @option\n * @type {boolean}\n * @default false\n */\n autoFocus: false,\n /**\n * Allows a click on the body to close the dropdown.\n * @option\n * @type {boolean}\n * @default false\n */\n closeOnClick: false,\n /**\n * If true the default action of the toggle (e.g. follow a link with href) gets executed on click. If hover option is also true the default action gets prevented on first click for mobile / touch devices and executed on second click.\n * @option\n * @type {boolean}\n * @default true\n */\n forceFollow: true\n};\n\nexport {Dropdown};\n","'use strict';\n\nimport { Box } from './foundation.util.box';\nimport { Plugin } from './foundation.core.plugin';\nimport { rtl as Rtl } from './foundation.core.utils';\n\nconst POSITIONS = ['left', 'right', 'top', 'bottom'];\nconst VERTICAL_ALIGNMENTS = ['top', 'bottom', 'center'];\nconst HORIZONTAL_ALIGNMENTS = ['left', 'right', 'center'];\n\nconst ALIGNMENTS = {\n 'left': VERTICAL_ALIGNMENTS,\n 'right': VERTICAL_ALIGNMENTS,\n 'top': HORIZONTAL_ALIGNMENTS,\n 'bottom': HORIZONTAL_ALIGNMENTS\n}\n\nfunction nextItem(item, array) {\n var currentIdx = array.indexOf(item);\n if(currentIdx === array.length - 1) {\n return array[0];\n } else {\n return array[currentIdx + 1];\n }\n}\n\n\nclass Positionable extends Plugin {\n /**\n * Abstract class encapsulating the tether-like explicit positioning logic\n * including repositioning based on overlap.\n * Expects classes to define defaults for vOffset, hOffset, position,\n * alignment, allowOverlap, and allowBottomOverlap. They can do this by\n * extending the defaults, or (for now recommended due to the way docs are\n * generated) by explicitly declaring them.\n *\n **/\n\n _init() {\n this.triedPositions = {};\n this.position = this.options.position === 'auto' ? this._getDefaultPosition() : this.options.position;\n this.alignment = this.options.alignment === 'auto' ? this._getDefaultAlignment() : this.options.alignment;\n this.originalPosition = this.position;\n this.originalAlignment = this.alignment;\n }\n\n _getDefaultPosition () {\n return 'bottom';\n }\n\n _getDefaultAlignment() {\n switch(this.position) {\n case 'bottom':\n case 'top':\n return Rtl() ? 'right' : 'left';\n case 'left':\n case 'right':\n return 'bottom';\n }\n }\n\n /**\n * Adjusts the positionable possible positions by iterating through alignments\n * and positions.\n * @function\n * @private\n */\n _reposition() {\n if(this._alignmentsExhausted(this.position)) {\n this.position = nextItem(this.position, POSITIONS);\n this.alignment = ALIGNMENTS[this.position][0];\n } else {\n this._realign();\n }\n }\n\n /**\n * Adjusts the dropdown pane possible positions by iterating through alignments\n * on the current position.\n * @function\n * @private\n */\n _realign() {\n this._addTriedPosition(this.position, this.alignment)\n this.alignment = nextItem(this.alignment, ALIGNMENTS[this.position])\n }\n\n _addTriedPosition(position, alignment) {\n this.triedPositions[position] = this.triedPositions[position] || []\n this.triedPositions[position].push(alignment);\n }\n\n _positionsExhausted() {\n var isExhausted = true;\n for(var i = 0; i < POSITIONS.length; i++) {\n isExhausted = isExhausted && this._alignmentsExhausted(POSITIONS[i]);\n }\n return isExhausted;\n }\n\n _alignmentsExhausted(position) {\n return this.triedPositions[position] && this.triedPositions[position].length == ALIGNMENTS[position].length;\n }\n\n\n // When we're trying to center, we don't want to apply offset that's going to\n // take us just off center, so wrap around to return 0 for the appropriate\n // offset in those alignments. TODO: Figure out if we want to make this\n // configurable behavior... it feels more intuitive, especially for tooltips, but\n // it's possible someone might actually want to start from center and then nudge\n // slightly off.\n _getVOffset() {\n return this.options.vOffset;\n }\n\n _getHOffset() {\n return this.options.hOffset;\n }\n\n _setPosition($anchor, $element, $parent) {\n if($anchor.attr('aria-expanded') === 'false'){ return false; }\n\n if (!this.options.allowOverlap) {\n // restore original position & alignment before checking overlap\n this.position = this.originalPosition;\n this.alignment = this.originalAlignment;\n }\n\n $element.offset(Box.GetExplicitOffsets($element, $anchor, this.position, this.alignment, this._getVOffset(), this._getHOffset()));\n\n if(!this.options.allowOverlap) {\n var minOverlap = 100000000;\n // default coordinates to how we start, in case we can't figure out better\n var minCoordinates = {position: this.position, alignment: this.alignment};\n while(!this._positionsExhausted()) {\n let overlap = Box.OverlapArea($element, $parent, false, false, this.options.allowBottomOverlap);\n if(overlap === 0) {\n return;\n }\n\n if(overlap < minOverlap) {\n minOverlap = overlap;\n minCoordinates = {position: this.position, alignment: this.alignment};\n }\n\n this._reposition();\n\n $element.offset(Box.GetExplicitOffsets($element, $anchor, this.position, this.alignment, this._getVOffset(), this._getHOffset()));\n }\n // If we get through the entire loop, there was no non-overlapping\n // position available. Pick the version with least overlap.\n this.position = minCoordinates.position;\n this.alignment = minCoordinates.alignment;\n $element.offset(Box.GetExplicitOffsets($element, $anchor, this.position, this.alignment, this._getVOffset(), this._getHOffset()));\n }\n }\n\n}\n\nPositionable.defaults = {\n /**\n * Position of positionable relative to anchor. Can be left, right, bottom, top, or auto.\n * @option\n * @type {string}\n * @default 'auto'\n */\n position: 'auto',\n /**\n * Alignment of positionable relative to anchor. Can be left, right, bottom, top, center, or auto.\n * @option\n * @type {string}\n * @default 'auto'\n */\n alignment: 'auto',\n /**\n * Allow overlap of container/window. If false, dropdown positionable first\n * try to position as defined by data-position and data-alignment, but\n * reposition if it would cause an overflow.\n * @option\n * @type {boolean}\n * @default false\n */\n allowOverlap: false,\n /**\n * Allow overlap of only the bottom of the container. This is the most common\n * behavior for dropdowns, allowing the dropdown to extend the bottom of the\n * screen but not otherwise influence or break out of the container.\n * @option\n * @type {boolean}\n * @default true\n */\n allowBottomOverlap: true,\n /**\n * Number of pixels the positionable should be separated vertically from anchor\n * @option\n * @type {number}\n * @default 0\n */\n vOffset: 0,\n /**\n * Number of pixels the positionable should be separated horizontally from anchor\n * @option\n * @type {number}\n * @default 0\n */\n hOffset: 0,\n}\n\nexport {Positionable};\n","'use strict';\n\nimport $ from 'jquery';\nimport { onLoad } from './foundation.core.utils';\nimport { Motion } from './foundation.util.motion';\n\nconst MutationObserver = (function () {\n var prefixes = ['WebKit', 'Moz', 'O', 'Ms', ''];\n for (var i=0; i < prefixes.length; i++) {\n if (`${prefixes[i]}MutationObserver` in window) {\n return window[`${prefixes[i]}MutationObserver`];\n }\n }\n return false;\n}());\n\nconst triggers = (el, type) => {\n el.data(type).split(' ').forEach(id => {\n $(`#${id}`)[ type === 'close' ? 'trigger' : 'triggerHandler'](`${type}.zf.trigger`, [el]);\n });\n};\n\nvar Triggers = {\n Listeners: {\n Basic: {},\n Global: {}\n },\n Initializers: {}\n}\n\nTriggers.Listeners.Basic = {\n openListener: function() {\n triggers($(this), 'open');\n },\n closeListener: function() {\n let id = $(this).data('close');\n if (id) {\n triggers($(this), 'close');\n }\n else {\n $(this).trigger('close.zf.trigger');\n }\n },\n toggleListener: function() {\n let id = $(this).data('toggle');\n if (id) {\n triggers($(this), 'toggle');\n } else {\n $(this).trigger('toggle.zf.trigger');\n }\n },\n closeableListener: function(e) {\n let animation = $(this).data('closable');\n\n // Only close the first closable element. See https://git.io/zf-7833\n e.stopPropagation();\n\n if(animation !== ''){\n Motion.animateOut($(this), animation, function() {\n $(this).trigger('closed.zf');\n });\n }else{\n $(this).fadeOut().trigger('closed.zf');\n }\n },\n toggleFocusListener: function() {\n let id = $(this).data('toggle-focus');\n $(`#${id}`).triggerHandler('toggle.zf.trigger', [$(this)]);\n }\n};\n\n// Elements with [data-open] will reveal a plugin that supports it when clicked.\nTriggers.Initializers.addOpenListener = ($elem) => {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.openListener);\n $elem.on('click.zf.trigger', '[data-open]', Triggers.Listeners.Basic.openListener);\n}\n\n// Elements with [data-close] will close a plugin that supports it when clicked.\n// If used without a value on [data-close], the event will bubble, allowing it to close a parent component.\nTriggers.Initializers.addCloseListener = ($elem) => {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.closeListener);\n $elem.on('click.zf.trigger', '[data-close]', Triggers.Listeners.Basic.closeListener);\n}\n\n// Elements with [data-toggle] will toggle a plugin that supports it when clicked.\nTriggers.Initializers.addToggleListener = ($elem) => {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.toggleListener);\n $elem.on('click.zf.trigger', '[data-toggle]', Triggers.Listeners.Basic.toggleListener);\n}\n\n// Elements with [data-closable] will respond to close.zf.trigger events.\nTriggers.Initializers.addCloseableListener = ($elem) => {\n $elem.off('close.zf.trigger', Triggers.Listeners.Basic.closeableListener);\n $elem.on('close.zf.trigger', '[data-closeable], [data-closable]', Triggers.Listeners.Basic.closeableListener);\n}\n\n// Elements with [data-toggle-focus] will respond to coming in and out of focus\nTriggers.Initializers.addToggleFocusListener = ($elem) => {\n $elem.off('focus.zf.trigger blur.zf.trigger', Triggers.Listeners.Basic.toggleFocusListener);\n $elem.on('focus.zf.trigger blur.zf.trigger', '[data-toggle-focus]', Triggers.Listeners.Basic.toggleFocusListener);\n}\n\n\n\n// More Global/complex listeners and triggers\nTriggers.Listeners.Global = {\n resizeListener: function($nodes) {\n if(!MutationObserver){//fallback for IE 9\n $nodes.each(function(){\n $(this).triggerHandler('resizeme.zf.trigger');\n });\n }\n //trigger all listening elements and signal a resize event\n $nodes.attr('data-events', \"resize\");\n },\n scrollListener: function($nodes) {\n if(!MutationObserver){//fallback for IE 9\n $nodes.each(function(){\n $(this).triggerHandler('scrollme.zf.trigger');\n });\n }\n //trigger all listening elements and signal a scroll event\n $nodes.attr('data-events', \"scroll\");\n },\n closeMeListener: function(e, pluginId){\n let plugin = e.namespace.split('.')[0];\n let plugins = $(`[data-${plugin}]`).not(`[data-yeti-box=\"${pluginId}\"]`);\n\n plugins.each(function(){\n let _this = $(this);\n _this.triggerHandler('close.zf.trigger', [_this]);\n });\n }\n}\n\n// Global, parses whole document.\nTriggers.Initializers.addClosemeListener = function(pluginName) {\n var yetiBoxes = $('[data-yeti-box]'),\n plugNames = ['dropdown', 'tooltip', 'reveal'];\n\n if(pluginName){\n if(typeof pluginName === 'string'){\n plugNames.push(pluginName);\n }else if(typeof pluginName === 'object' && typeof pluginName[0] === 'string'){\n plugNames = plugNames.concat(pluginName);\n }else{\n console.error('Plugin names must be strings');\n }\n }\n if(yetiBoxes.length){\n let listeners = plugNames.map((name) => {\n return `closeme.zf.${name}`;\n }).join(' ');\n\n $(window).off(listeners).on(listeners, Triggers.Listeners.Global.closeMeListener);\n }\n}\n\nfunction debounceGlobalListener(debounce, trigger, listener) {\n let timer, args = Array.prototype.slice.call(arguments, 3);\n $(window).off(trigger).on(trigger, function(e) {\n if (timer) { clearTimeout(timer); }\n timer = setTimeout(function(){\n listener.apply(null, args);\n }, debounce || 10);//default time to emit scroll event\n });\n}\n\nTriggers.Initializers.addResizeListener = function(debounce){\n let $nodes = $('[data-resize]');\n if($nodes.length){\n debounceGlobalListener(debounce, 'resize.zf.trigger', Triggers.Listeners.Global.resizeListener, $nodes);\n }\n}\n\nTriggers.Initializers.addScrollListener = function(debounce){\n let $nodes = $('[data-scroll]');\n if($nodes.length){\n debounceGlobalListener(debounce, 'scroll.zf.trigger', Triggers.Listeners.Global.scrollListener, $nodes);\n }\n}\n\nTriggers.Initializers.addMutationEventsListener = function($elem) {\n if(!MutationObserver){ return false; }\n let $nodes = $elem.find('[data-resize], [data-scroll], [data-mutate]');\n\n //element callback\n var listeningElementsMutation = function (mutationRecordsList) {\n var $target = $(mutationRecordsList[0].target);\n\n //trigger the event handler for the element depending on type\n switch (mutationRecordsList[0].type) {\n case \"attributes\":\n if ($target.attr(\"data-events\") === \"scroll\" && mutationRecordsList[0].attributeName === \"data-events\") {\n $target.triggerHandler('scrollme.zf.trigger', [$target, window.pageYOffset]);\n }\n if ($target.attr(\"data-events\") === \"resize\" && mutationRecordsList[0].attributeName === \"data-events\") {\n $target.triggerHandler('resizeme.zf.trigger', [$target]);\n }\n if (mutationRecordsList[0].attributeName === \"style\") {\n $target.closest(\"[data-mutate]\").attr(\"data-events\",\"mutate\");\n $target.closest(\"[data-mutate]\").triggerHandler('mutateme.zf.trigger', [$target.closest(\"[data-mutate]\")]);\n }\n break;\n\n case \"childList\":\n $target.closest(\"[data-mutate]\").attr(\"data-events\",\"mutate\");\n $target.closest(\"[data-mutate]\").triggerHandler('mutateme.zf.trigger', [$target.closest(\"[data-mutate]\")]);\n break;\n\n default:\n return false;\n //nothing\n }\n };\n\n if ($nodes.length) {\n //for each element that needs to listen for resizing, scrolling, or mutation add a single observer\n for (var i = 0; i <= $nodes.length - 1; i++) {\n var elementObserver = new MutationObserver(listeningElementsMutation);\n elementObserver.observe($nodes[i], { attributes: true, childList: true, characterData: false, subtree: true, attributeFilter: [\"data-events\", \"style\"] });\n }\n }\n}\n\nTriggers.Initializers.addSimpleListeners = function() {\n let $document = $(document);\n\n Triggers.Initializers.addOpenListener($document);\n Triggers.Initializers.addCloseListener($document);\n Triggers.Initializers.addToggleListener($document);\n Triggers.Initializers.addCloseableListener($document);\n Triggers.Initializers.addToggleFocusListener($document);\n\n}\n\nTriggers.Initializers.addGlobalListeners = function() {\n let $document = $(document);\n Triggers.Initializers.addMutationEventsListener($document);\n Triggers.Initializers.addResizeListener();\n Triggers.Initializers.addScrollListener();\n Triggers.Initializers.addClosemeListener();\n}\n\n\nTriggers.init = function ($, Foundation) {\n onLoad($(window), function () {\n if ($.triggersInitialized !== true) {\n Triggers.Initializers.addSimpleListeners();\n Triggers.Initializers.addGlobalListeners();\n $.triggersInitialized = true;\n }\n });\n\n if(Foundation) {\n Foundation.Triggers = Triggers;\n // Legacy included to be backwards compatible for now.\n Foundation.IHearYou = Triggers.Initializers.addGlobalListeners\n }\n}\n\nexport {Triggers};\n","module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;"]}
\No newline at end of file