{"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.imageLoader\"],\"amd\":\"./foundation.util.imageLoader\",\"commonjs\":\"./foundation.util.imageLoader\",\"commonjs2\":\"./foundation.util.imageLoader\"}","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]/js/entries/plugins/foundation.tabs.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.tabs.js","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__foundation_core__","__WEBPACK_EXTERNAL_MODULE__foundation_util_imageLoader__","__WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__","__WEBPACK_EXTERNAL_MODULE_jquery__","installedModules","__webpack_require__","m","r","__webpack_exports__","_foundation_core__WEBPACK_IMPORTED_MODULE_0__","d","_foundation_tabs__WEBPACK_IMPORTED_MODULE_1__","Foundation","plugin","Tabs","jquery__WEBPACK_IMPORTED_MODULE_0__","jquery__WEBPACK_IMPORTED_MODULE_0___default","n","_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__","_foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2__","_foundation_util_imageLoader__WEBPACK_IMPORTED_MODULE_3__","Plugin","element","options","this","$element","$","extend","defaults","data","className","_init","Keyboard","register","ENTER","SPACE","ARROW_RIGHT","ARROW_UP","ARROW_DOWN","ARROW_LEFT","_this2","_this","_isInitializing","attr","role","$tabTitles","find","concat","linkClass","$tabContent","id","each","$elem","$link","isActive","hasClass","linkActiveClass","hash","slice","linkId","aria-controls","aria-selected","tabindex","aria-labelledby","_initialAnchor","autoFocus","onLoadListener","onLoad","animate","scrollTop","offset","top","deepLinkSmudgeDelay","focus","matchHeight","$images","length","onImagesLoaded","_setHeight","bind","_checkDeepLink","anchor","location","anchorNoHash","indexOf","$anchor","first","selectTab","_collapse","deepLinkSmudge","trigger","deepLink","_events","_addKeyHandler","_addClickHandler","_setHeightMqHandler","on","off","e","preventDefault","_handleTabChange","which","$prevElement","$nextElement","$elements","parent","children","i","is","wrapOnKeys","last","eq","Math","max","min","handleKey","open","previous","next","handled","$target","historyHandled","activeCollapse","$oldTab","$tabLink","target","$targetContent","_collapseTab","_openTab","updateHistory","history","pushState","replaceState","addClass","panelActiveClass","removeAttr","$target_anchor","removeClass","aria-hidden","$activeTab","elem","idStr","hashIdStr","_typeof","has","panelClass","css","panel","visibility","display","temp","getBoundingClientRect","height","hide","end","c","name","getter","o","Object","defineProperty","enumerable","get","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","object","property","prototype","hasOwnProperty","call","p","s","moduleId","l","modules"],"mappings":"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","file":"foundation.tabs.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.imageLoader\"), require(\"./foundation.util.keyboard\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"./foundation.util.imageLoader\", \"./foundation.util.keyboard\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.tabs\"] = factory(require(\"./foundation.core\"), require(\"./foundation.util.imageLoader\"), require(\"./foundation.util.keyboard\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.tabs\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.imageLoader\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.keyboard\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE__foundation_util_imageLoader__, __WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__, __WEBPACK_EXTERNAL_MODULE_jquery__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 18);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_imageLoader__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__;","import { Foundation } from './foundation.core';\n\nimport { Tabs } from '../../foundation.tabs';\nFoundation.plugin(Tabs, 'Tabs');\n\nexport { Foundation, Tabs };\n","'use strict';\n\nimport $ from 'jquery';\nimport { Plugin } from './foundation.core.plugin';\nimport { onLoad } from './foundation.core.utils';\nimport { Keyboard } from './foundation.util.keyboard';\nimport { onImagesLoaded } from './foundation.util.imageLoader';\n/**\n * Tabs module.\n * @module foundation.tabs\n * @requires foundation.util.keyboard\n * @requires foundation.util.imageLoader if tabs contain images\n */\n\nclass Tabs extends Plugin {\n /**\n * Creates a new instance of tabs.\n * @class\n * @name Tabs\n * @fires Tabs#init\n * @param {jQuery} element - jQuery object to make into tabs.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, Tabs.defaults, this.$element.data(), options);\n this.className = 'Tabs'; // ie9 back compat\n\n this._init();\n Keyboard.register('Tabs', {\n 'ENTER': 'open',\n 'SPACE': 'open',\n 'ARROW_RIGHT': 'next',\n 'ARROW_UP': 'previous',\n 'ARROW_DOWN': 'next',\n 'ARROW_LEFT': 'previous'\n // 'TAB': 'next',\n // 'SHIFT_TAB': 'previous'\n });\n }\n\n /**\n * Initializes the tabs by showing and focusing (if autoFocus=true) the preset active tab.\n * @private\n */\n _init() {\n var _this = this;\n this._isInitializing = true;\n\n this.$element.attr({'role': 'tablist'});\n this.$tabTitles = this.$element.find(`.${this.options.linkClass}`);\n this.$tabContent = $(`[data-tabs-content=\"${this.$element[0].id}\"]`);\n\n this.$tabTitles.each(function(){\n var $elem = $(this),\n $link = $elem.find('a'),\n isActive = $elem.hasClass(`${_this.options.linkActiveClass}`),\n hash = $link.attr('data-tabs-target') || $link[0].hash.slice(1),\n linkId = $link[0].id ? $link[0].id : `${hash}-label`,\n $tabContent = $(`#${hash}`);\n\n $elem.attr({'role': 'presentation'});\n\n $link.attr({\n 'role': 'tab',\n 'aria-controls': hash,\n 'aria-selected': isActive,\n 'id': linkId,\n 'tabindex': isActive ? '0' : '-1'\n });\n\n $tabContent.attr({\n 'role': 'tabpanel',\n 'aria-labelledby': linkId\n });\n\n // Save up the initial hash to return to it later when going back in history\n if (isActive) {\n _this._initialAnchor = `#${hash}`;\n }\n\n if(!isActive) {\n $tabContent.attr('aria-hidden', 'true');\n }\n\n if(isActive && _this.options.autoFocus){\n _this.onLoadListener = onLoad($(window), function() {\n $('html, body').animate({ scrollTop: $elem.offset().top }, _this.options.deepLinkSmudgeDelay, () => {\n $link.focus();\n });\n });\n }\n });\n\n if(this.options.matchHeight) {\n var $images = this.$tabContent.find('img');\n\n if ($images.length) {\n onImagesLoaded($images, this._setHeight.bind(this));\n } else {\n this._setHeight();\n }\n }\n\n // Current context-bound function to open tabs on page load or history hashchange\n this._checkDeepLink = () => {\n var anchor = window.location.hash;\n\n if (!anchor.length) {\n // If we are still initializing and there is no anchor, then there is nothing to do\n if (this._isInitializing) return;\n // Otherwise, move to the initial anchor\n if (this._initialAnchor) anchor = this._initialAnchor;\n }\n\n var anchorNoHash = anchor.indexOf('#') >= 0 ? anchor.slice(1) : anchor;\n var $anchor = anchorNoHash && $(`#${anchorNoHash}`);\n var $link = anchor && this.$element.find(`[href$=\"${anchor}\"],[data-tabs-target=\"${anchorNoHash}\"]`).first();\n // Whether the anchor element that has been found is part of this element\n var isOwnAnchor = !!($anchor.length && $link.length);\n\n if (isOwnAnchor) {\n // If there is an anchor for the hash, select it\n if ($anchor && $anchor.length && $link && $link.length) {\n this.selectTab($anchor, true);\n }\n // Otherwise, collapse everything\n else {\n this._collapse();\n }\n\n // Roll up a little to show the titles\n if (this.options.deepLinkSmudge) {\n var offset = this.$element.offset();\n $('html, body').animate({ scrollTop: offset.top }, this.options.deepLinkSmudgeDelay);\n }\n\n /**\n * Fires when the plugin has deeplinked at pageload\n * @event Tabs#deeplink\n */\n this.$element.trigger('deeplink.zf.tabs', [$link, $anchor]);\n }\n }\n\n //use browser to open a tab, if it exists in this tabset\n if (this.options.deepLink) {\n this._checkDeepLink();\n }\n\n this._events();\n\n this._isInitializing = false;\n }\n\n /**\n * Adds event handlers for items within the tabs.\n * @private\n */\n _events() {\n this._addKeyHandler();\n this._addClickHandler();\n this._setHeightMqHandler = null;\n\n if (this.options.matchHeight) {\n this._setHeightMqHandler = this._setHeight.bind(this);\n\n $(window).on('changed.zf.mediaquery', this._setHeightMqHandler);\n }\n\n if(this.options.deepLink) {\n $(window).on('hashchange', this._checkDeepLink);\n }\n }\n\n /**\n * Adds click handlers for items within the tabs.\n * @private\n */\n _addClickHandler() {\n var _this = this;\n\n this.$element\n .off('click.zf.tabs')\n .on('click.zf.tabs', `.${this.options.linkClass}`, function(e){\n e.preventDefault();\n _this._handleTabChange($(this));\n });\n }\n\n /**\n * Adds keyboard event handlers for items within the tabs.\n * @private\n */\n _addKeyHandler() {\n var _this = this;\n\n this.$tabTitles.off('keydown.zf.tabs').on('keydown.zf.tabs', function(e){\n if (e.which === 9) return;\n\n\n var $element = $(this),\n $elements = $element.parent('ul').children('li'),\n $prevElement,\n $nextElement;\n\n $elements.each(function(i) {\n if ($(this).is($element)) {\n if (_this.options.wrapOnKeys) {\n $prevElement = i === 0 ? $elements.last() : $elements.eq(i-1);\n $nextElement = i === $elements.length -1 ? $elements.first() : $elements.eq(i+1);\n } else {\n $prevElement = $elements.eq(Math.max(0, i-1));\n $nextElement = $elements.eq(Math.min(i+1, $elements.length-1));\n }\n return;\n }\n });\n\n // handle keyboard event with keyboard util\n Keyboard.handleKey(e, 'Tabs', {\n open: function() {\n $element.find('[role=\"tab\"]').focus();\n _this._handleTabChange($element);\n },\n previous: function() {\n $prevElement.find('[role=\"tab\"]').focus();\n _this._handleTabChange($prevElement);\n },\n next: function() {\n $nextElement.find('[role=\"tab\"]').focus();\n _this._handleTabChange($nextElement);\n },\n handled: function() {\n e.preventDefault();\n }\n });\n });\n }\n\n /**\n * Opens the tab `$targetContent` defined by `$target`. Collapses active tab.\n * @param {jQuery} $target - Tab to open.\n * @param {boolean} historyHandled - browser has already handled a history update\n * @fires Tabs#change\n * @function\n */\n _handleTabChange($target, historyHandled) {\n\n // With `activeCollapse`, if the target is the active Tab, collapse it.\n if ($target.hasClass(`${this.options.linkActiveClass}`)) {\n if(this.options.activeCollapse) {\n this._collapse();\n }\n return;\n }\n\n var $oldTab = this.$element.\n find(`.${this.options.linkClass}.${this.options.linkActiveClass}`),\n $tabLink = $target.find('[role=\"tab\"]'),\n target = $tabLink.attr('data-tabs-target'),\n anchor = target && target.length ? `#${target}` : $tabLink[0].hash,\n $targetContent = this.$tabContent.find(anchor);\n\n //close old tab\n this._collapseTab($oldTab);\n\n //open new tab\n this._openTab($target);\n\n //either replace or update browser history\n if (this.options.deepLink && !historyHandled) {\n if (this.options.updateHistory) {\n history.pushState({}, '', anchor);\n } else {\n history.replaceState({}, '', anchor);\n }\n }\n\n /**\n * Fires when the plugin has successfully changed tabs.\n * @event Tabs#change\n */\n this.$element.trigger('change.zf.tabs', [$target, $targetContent]);\n\n //fire to children a mutation event\n $targetContent.find(\"[data-mutate]\").trigger(\"mutateme.zf.trigger\");\n }\n\n /**\n * Opens the tab `$targetContent` defined by `$target`.\n * @param {jQuery} $target - Tab to open.\n * @function\n */\n _openTab($target) {\n var $tabLink = $target.find('[role=\"tab\"]'),\n hash = $tabLink.attr('data-tabs-target') || $tabLink[0].hash.slice(1),\n $targetContent = this.$tabContent.find(`#${hash}`);\n\n $target.addClass(`${this.options.linkActiveClass}`);\n\n $tabLink.attr({\n 'aria-selected': 'true',\n 'tabindex': '0'\n });\n\n $targetContent\n .addClass(`${this.options.panelActiveClass}`).removeAttr('aria-hidden');\n }\n\n /**\n * Collapses `$targetContent` defined by `$target`.\n * @param {jQuery} $target - Tab to collapse.\n * @function\n */\n _collapseTab($target) {\n var $target_anchor = $target\n .removeClass(`${this.options.linkActiveClass}`)\n .find('[role=\"tab\"]')\n .attr({\n 'aria-selected': 'false',\n 'tabindex': -1\n });\n\n $(`#${$target_anchor.attr('aria-controls')}`)\n .removeClass(`${this.options.panelActiveClass}`)\n .attr({ 'aria-hidden': 'true' })\n }\n\n /**\n * Collapses the active Tab.\n * @fires Tabs#collapse\n * @function\n */\n _collapse() {\n var $activeTab = this.$element.find(`.${this.options.linkClass}.${this.options.linkActiveClass}`);\n\n if ($activeTab.length) {\n this._collapseTab($activeTab);\n\n /**\n * Fires when the plugin has successfully collapsed tabs.\n * @event Tabs#collapse\n */\n this.$element.trigger('collapse.zf.tabs', [$activeTab]);\n }\n }\n\n /**\n * Public method for selecting a content pane to display.\n * @param {jQuery | String} elem - jQuery object or string of the id of the pane to display.\n * @param {boolean} historyHandled - browser has already handled a history update\n * @function\n */\n selectTab(elem, historyHandled) {\n var idStr, hashIdStr;\n\n if (typeof elem === 'object') {\n idStr = elem[0].id;\n } else {\n idStr = elem;\n }\n\n if (idStr.indexOf('#') < 0) {\n hashIdStr = `#${idStr}`;\n } else {\n hashIdStr = idStr;\n idStr = idStr.slice(1);\n }\n\n var $target = this.$tabTitles.has(`[href$=\"${hashIdStr}\"],[data-tabs-target=\"${idStr}\"]`).first();\n\n this._handleTabChange($target, historyHandled);\n };\n\n /**\n * Sets the height of each panel to the height of the tallest panel.\n * If enabled in options, gets called on media query change.\n * If loading content via external source, can be called directly or with _reflow.\n * If enabled with `data-match-height=\"true\"`, tabs sets to equal height\n * @function\n * @private\n */\n _setHeight() {\n var max = 0,\n _this = this; // Lock down the `this` value for the root tabs object\n\n this.$tabContent\n .find(`.${this.options.panelClass}`)\n .css('height', '')\n .each(function() {\n\n var panel = $(this),\n isActive = panel.hasClass(`${_this.options.panelActiveClass}`); // get the options from the parent instead of trying to get them from the child\n\n if (!isActive) {\n panel.css({'visibility': 'hidden', 'display': 'block'});\n }\n\n var temp = this.getBoundingClientRect().height;\n\n if (!isActive) {\n panel.css({\n 'visibility': '',\n 'display': ''\n });\n }\n\n max = temp > max ? temp : max;\n })\n .css('height', `${max}px`);\n }\n\n /**\n * Destroys an instance of tabs.\n * @fires Tabs#destroyed\n */\n _destroy() {\n this.$element\n .find(`.${this.options.linkClass}`)\n .off('.zf.tabs').hide().end()\n .find(`.${this.options.panelClass}`)\n .hide();\n\n if (this.options.matchHeight) {\n if (this._setHeightMqHandler != null) {\n $(window).off('changed.zf.mediaquery', this._setHeightMqHandler);\n }\n }\n\n if (this.options.deepLink) {\n $(window).off('hashchange', this._checkDeepLink);\n }\n\n if (this.onLoadListener) {\n $(window).off(this.onLoadListener);\n }\n }\n}\n\nTabs.defaults = {\n /**\n * Link the location hash to the active pane.\n * Set the location hash when the active pane changes, and open the corresponding pane when the location changes.\n * @option\n * @type {boolean}\n * @default false\n */\n deepLink: false,\n\n /**\n * If `deepLink` is enabled, adjust the deep link scroll to make sure the top of the tab panel is visible\n * @option\n * @type {boolean}\n * @default false\n */\n deepLinkSmudge: false,\n\n /**\n * If `deepLinkSmudge` is enabled, animation time (ms) for the deep link adjustment\n * @option\n * @type {number}\n * @default 300\n */\n deepLinkSmudgeDelay: 300,\n\n /**\n * If `deepLink` is enabled, update the browser history with the open tab\n * @option\n * @type {boolean}\n * @default false\n */\n updateHistory: false,\n\n /**\n * Allows the window to scroll to content of active pane on load.\n * Not recommended if more than one tab panel per page.\n * @option\n * @type {boolean}\n * @default false\n */\n autoFocus: false,\n\n /**\n * Allows keyboard input to 'wrap' around the tab links.\n * @option\n * @type {boolean}\n * @default true\n */\n wrapOnKeys: true,\n\n /**\n * Allows the tab content panes to match heights if set to true.\n * @option\n * @type {boolean}\n * @default false\n */\n matchHeight: false,\n\n /**\n * Allows active tabs to collapse when clicked.\n * @option\n * @type {boolean}\n * @default false\n */\n activeCollapse: false,\n\n /**\n * Class applied to `li`'s in tab link list.\n * @option\n * @type {string}\n * @default 'tabs-title'\n */\n linkClass: 'tabs-title',\n\n /**\n * Class applied to the active `li` in tab link list.\n * @option\n * @type {string}\n * @default 'is-active'\n */\n linkActiveClass: 'is-active',\n\n /**\n * Class applied to the content containers.\n * @option\n * @type {string}\n * @default 'tabs-panel'\n */\n panelClass: 'tabs-panel',\n\n /**\n * Class applied to the active content container.\n * @option\n * @type {string}\n * @default 'is-active'\n */\n panelActiveClass: 'is-active'\n};\n\nexport {Tabs};\n","module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;"]}