{"version":3,"file":"wsol.tabs.7ab81fb4.js","sources":["../../node_modules/@wearediagram/wsol.tabs/js/wsol.tabs.js"],"sourcesContent":["/**\r\n * wsol.tabs.js 4.0.3\r\n * http://github.com/websolutions/tabs\r\n */\r\n\r\n ;(function(factory) {\r\n if (typeof module === 'object' && typeof module.exports === 'object') {\r\n factory(require('jquery'), window, document);\r\n } else {\r\n factory(jQuery, window, document);\r\n }\r\n}(function ($, window, document, undefined) {\r\n if (!$.wsol) {\r\n $.wsol = {};\r\n }\r\n\r\n $.wsol.tabs = function(el, options) {\r\n var base = this;\r\n\r\n base.$el = $(el);\r\n base.el = el;\r\n\r\n base.$el.data(\"wsol.tabs\", base);\r\n\r\n base.init = function() {\r\n base.options = $.extend({}, $.wsol.tabs.defaultOptions, options);\r\n base.options.firstRun = true;\r\n\r\n base.$navLinks = base.$el.find(base.options.navigationLinkSelector).filter('[href^=\"#\"]');\r\n base.$navButtons = $();\r\n base.$containers = base.$el.find(base.options.containerSelector);\r\n\r\n base.$navLinks.first().closest('ul, div').attr('role', 'tablist');\r\n base.$navLinks.each(function() {\r\n var controls = $(this).attr('href').slice(1),\r\n newId = controls + \"-button\",\r\n $newButton = $('')\r\n\r\n $(this).after($newButton);\r\n $(this).hide();\r\n base.$containers.filter('#'+controls).attr('aria-labelledby', newId);\r\n base.$navButtons = base.$navButtons.add($newButton);\r\n })\r\n base.$containers.attr('hidden', 'hidden').attr('tabindex', '0').attr('role', 'tabpanel');\r\n \r\n base.$navLinks = base.$navButtons;\r\n\r\n base.changeTab(0);\r\n\r\n // Handle events\r\n base.$navLinks.on(base.options.triggerEvent, base._tabHandler);\r\n };\r\n\r\n base.changeTab = function(tab) {\r\n base.$navLinks.attr('aria-selected', 'false').parent().removeClass(base.options.selectedClass);\r\n base.$containers.addClass(base.options.hiddenClass).attr('hidden', 'hidden');\r\n\r\n if (typeof tab === \"number\") {\r\n tab = \"#\" + base.$navLinks.eq(tab).attr(\"aria-controls\");\r\n }\r\n\r\n base.$containers.filter(tab).removeClass(base.options.hiddenClass).toggleClass(base.options.accordionHiddenClass).removeAttr('hidden');\r\n base.$navLinks.filter('[aria-controls=\"' + tab.replace(\"#\", \"\") + '\"]').attr('aria-selected', 'true').parent().addClass(base.options.selectedClass).toggleClass(base.options.accordionHiddenClass);\r\n\r\n base.$containers.filter(function () {return $(this).attr('id') != tab.replace(\"#\", \"\") }).addClass(base.options.accordionHiddenClass);\r\n base.$navLinks.filter(function () { return $(this).attr('aria-controls') != tab.replace(\"#\", \"\") }).parent().addClass(base.options.accordionHiddenClass);\r\n\r\n if (base.options.autoScroll && !base.options.firstRun) {\r\n var $elm = base.$containers.filter(tab)\r\n , pageOffset = $(document).scrollTop()\r\n , viewportHeight = $(window).height()\r\n , elemOffset = $elm.offset().top\r\n ;\r\n\r\n if (elemOffset < pageOffset || elemOffset > (pageOffset + viewportHeight)) {\r\n $(\"html, body\").animate({ scrollTop: elemOffset }, 500);\r\n } \r\n }\r\n \r\n if (base.options.changeCallback != null) {\r\n base.options.changeCallback.call(base, tab);\r\n }\r\n \r\n $(window).trigger('resize');\r\n\r\n base.options.firstRun = false;\r\n };\r\n\r\n base._tabHandler = function(event) {\r\n var $target = $(this);\r\n event.preventDefault(); // if target is a link, prevent default action\r\n \r\n if (base.options.triggerCallback != null) {\r\n base.options.triggerCallback.call(base, $target);\r\n }\r\n\r\n base.changeTab(\"#\" + $target.attr(\"aria-controls\"));\r\n };\r\n\r\n base.destroy = function() {\r\n base.$navLinks.parent().removeClass(base.options.selectedClass).removeClass(base.options.accordionHiddenClass);\r\n base.$navLinks.first().closest('ul, div').removeAttr('role');\r\n base.$el.find(base.options.navigationLinkSelector).filter('[href^=\"#\"]').show();\r\n base.$containers.removeClass(base.options.hiddenClass).removeClass(base.options.accordionHiddenClass).removeAttr('hidden').removeAttr('tabindex').removeAttr('role').removeAttr('aria-labelledby');\r\n\r\n // Remove event handlers\r\n base.$navLinks.off(\".wsol.tabs\");\r\n base.$navLinks.remove();\r\n };\r\n\r\n base.init();\r\n };\r\n\r\n $.wsol.tabs.defaultOptions = {\r\n navigationLinkSelector: \"> .tab-navigation > li > a\",\r\n containerSelector: \"> .tab-container > div\",\r\n selectedClass: \"selected\",\r\n hiddenClass: \"hidden\",\r\n accordionHiddenClass: \"accordion-hidden\",\r\n autoScroll: true,\r\n triggerEvent: \"click.wsol.tabs\",\r\n changeCallback: null,\r\n triggerCallback: null\r\n };\r\n\r\n $.fn.wsol_tabs = function(options) {\r\n return this.each(function() {\r\n new $.wsol.tabs(this, options);\r\n });\r\n };\r\n\r\n}));\r\n"],"names":["factory","require$$0","$","window","document","undefined","el","options","base","controls","newId","$newButton","tab","$elm","pageOffset","viewportHeight","elemOffset","event","$target"],"mappings":"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"}