{"version":3,"sources":["webpack:///./packages/jqueryui/tabs.js"],"names":["tabId","rhash","getNextTabId","isLocal","anchor","cloneNode","hash","length","href","replace","location","widget","version","delay","options","active","collapsible","event","heightStyle","hide","show","activate","beforeActivate","beforeLoad","load","_create","that","this","running","element","addClass","toggleClass","delegate","eventNamespace","is","preventDefault","closest","blur","$this","target","$anchor","find","first","newEvent","document","createEvent","initEvent","focus","dispatchEvent","_processTabs","anchors","each","i","tabs","filter","index","eq","isArray","disabled","unique","concat","map","li","sort","_findActive","_refresh","_getCreateEventData","tab","panel","_getPanelForTab","_tabKeydown","focusedTab","activeElement","selectedIndex","goingForward","_handlePageNav","keyCode","ui","RIGHT","DOWN","UP","LEFT","END","HOME","SPACE","clearTimeout","activating","_activate","ENTER","_focusNextTab","ctrlKey","attr","_delay","option","_panelKeydown","altKey","PAGE_UP","PAGE_DOWN","_findNextTab","lastTabIndex","constrain","inArray","_setOption","key","value","_setupDisabled","_super","_setupEvents","_setupHeightStyle","_tabId","_sanitizeSelector","refresh","lis","tablist","children","contains","Math","max","not","tabIndex","panels","_getList","role","selector","panelId","anchorId","uniqueId","originalAriaControls","_createPanel","insertAfter","add","data","substring","id","removeClass","removeAttr","events","click","split","eventName","_off","_on","keydown","_focusable","_hoverable","maxHeight","overflow","parent","support","minHeight","css","height","siblings","elem","position","outerHeight","innerHeight","_eventHandler","currentTarget","clickedIsActive","collapsing","toShow","toHide","eventData","oldTab","oldPanel","newTab","newPanel","hasClass","_trigger","xhr","abort","error","_toggle","complete","_show","_hide","noop","_getIndex","_destroy","removeData","removeUniqueId","remove","prev","enable","undefined","num","disable","merge","ajax","url","beforeSend","jqXHR","settings","extend","ajaxSettings","statusText","success","response","setTimeout","html","status","stop","uiBackCompat","prototype","_ui","ajaxOptions","cache","tabsbeforeload","s","e","_superApply","arguments","spinner","span","trigger","tabTemplate","label","doInsertAfter","indexOf","appendTo","insertBefore","n","grep","idPrefix","a","title","panelTemplate","selected","select","type","ret","listId","cookie","parseInt","_cookie","name","push","apply","_data","fx","_getFx","animate","duration"],"mappings":"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","file":"23-c-0ad2055f79.js","sourcesContent":["/*!\n * jQuery UI Tabs @VERSION\n *\n * Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)\n * Dual licensed under the MIT or GPL Version 2 licenses.\n * http://jquery.org/license\n *\n * http://docs.jquery.com/UI/Tabs\n *\n * Depends:\n *\tjquery.ui.core.js\n *\tjquery.ui.widget.js\n */\nimport $ from 'jquery'\nimport './core'\nimport './widget'\n \nvar tabId = 0,\n\trhash = /#.*$/;\n\nfunction getNextTabId() {\n\treturn ++tabId;\n}\n\nfunction isLocal( anchor ) {\n\t// clone the node to work around IE 6 not normalizing the href property\n\t// if it's manually set, i.e., a.href = \"#foo\" kills the normalization\n\tanchor = anchor.cloneNode( false );\n\treturn anchor.hash.length > 1 &&\n\t\tanchor.href.replace( rhash, \"\" ) === location.href.replace( rhash, \"\" );\n}\n\n$.widget( \"ui.tabs\", {\n\tversion: \"@VERSION\",\n\tdelay: 300,\n\toptions: {\n\t\tactive: null,\n\t\tcollapsible: false,\n\t\tevent: \"click\",\n\t\theightStyle: \"content\",\n\t\thide: null,\n\t\tshow: null,\n\n\t\t// callbacks\n\t\tactivate: null,\n\t\tbeforeActivate: null,\n\t\tbeforeLoad: null,\n\t\tload: null\n\t},\n\n\t_create: function() {\n\t\tvar panel,\n\t\t\tthat = this,\n\t\t\toptions = this.options,\n\t\t\tactive = options.active;\n\n\t\tthis.running = false;\n\n\t\tthis.element\n\t\t\t.addClass( \"ui-tabs ui-widget ui-widget-content ui-corner-all\" )\n\t\t\t.toggleClass( \"ui-tabs-collapsible\", options.collapsible )\n\t\t\t// Prevent users from focusing disabled tabs via click\n\t\t\t.delegate( \".ui-tabs-nav > li\", \"mousedown\" + this.eventNamespace, function( event ) {\n\t\t\t\tif ( $( this ).is( \".ui-state-disabled\" ) ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\t\t\t})\n\t\t\t// support: IE <9\n\t\t\t// Preventing the default action in mousedown doesn't prevent IE\n\t\t\t// from focusing the element, so if the anchor gets focused, blur.\n\t\t\t// We don't have to worry about focusing the previously focused\n\t\t\t// element since clicking on a non-focusable element should focus\n\t\t\t// the body anyway.\n\t\t\t.delegate( \".ui-tabs-anchor\", \"focus\" + this.eventNamespace, function() {\n\t\t\t\tif ( $( this ).closest( \"li\" ).is( \".ui-state-disabled\" ) ) {\n\t\t\t\t\tthis.blur();\n\t\t\t\t}\n\t\t\t})\n\t\t\t// Instructure: If a click is made on a tab, simulate a click on the anchor within the tab instead.\n\t\t\t// Works around a Firefox bug effecting NVDA\n\t\t\t.delegate( \".ui-tabs-nav > li\", \"click\" + this.eventNamespace, function( event ) {\n\t\t\t\tvar $this = $(this);\n\t\t\t\tif ($this.is(event.target)) {\n\t\t\t\t\tvar $anchor = $this.find(\".ui-tabs-anchor:visible\").first();\n\t\t\t\t\tif ($anchor.length === 0) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tvar newEvent = document.createEvent('MouseEvent');\n\t\t\t\t\tnewEvent.initEvent('click', true, true);\n\t\t\t\t\t$anchor.focus();\n\t\t\t\t\t$anchor[0].dispatchEvent(newEvent);\n\t\t\t\t}\n\t\t\t});\n\n\t\tthis._processTabs();\n\n\t\tif ( active === null ) {\n\t\t\t// check the fragment identifier in the URL\n\t\t\tif ( location.hash ) {\n\t\t\t\tthis.anchors.each(function( i, anchor ) {\n\t\t\t\t\tif ( anchor.hash === location.hash ) {\n\t\t\t\t\t\tactive = i;\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// check for a tab marked active via a class\n\t\t\tif ( active === null ) {\n\t\t\t\tactive = this.tabs.filter( \".ui-tabs-active\" ).index();\n\t\t\t}\n\n\t\t\t// no active tab, set to false\n\t\t\tif ( active === null || active === -1 ) {\n\t\t\t\tactive = this.tabs.length ? 0 : false;\n\t\t\t}\n\t\t}\n\n\t\t// handle numbers: negative, out of range\n\t\tif ( active !== false ) {\n\t\t\tactive = this.tabs.eq( active ).index();\n\t\t\tif ( active === -1 ) {\n\t\t\t\tactive = options.collapsible ? false : 0;\n\t\t\t}\n\t\t}\n\t\toptions.active = active;\n\n\t\t// don't allow collapsible: false and active: false\n\t\tif ( !options.collapsible && options.active === false && this.anchors.length ) {\n\t\t\toptions.active = 0;\n\t\t}\n\n\t\t// Take disabling tabs via class attribute from HTML\n\t\t// into account and update option properly.\n\t\tif ( $.isArray( options.disabled ) ) {\n\t\t\toptions.disabled = $.unique( options.disabled.concat(\n\t\t\t\t$.map( this.tabs.filter( \".ui-state-disabled\" ), function( li ) {\n\t\t\t\t\treturn that.tabs.index( li );\n\t\t\t\t})\n\t\t\t) ).sort();\n\t\t}\n\n\t\t// check for length avoids error when initializing empty list\n\t\tif ( this.options.active !== false && this.anchors.length ) {\n\t\t\tthis.active = this._findActive( this.options.active );\n\t\t} else {\n\t\t\tthis.active = $();\n\t\t}\n\n\t\tthis._refresh();\n\n\t\tif ( this.active.length ) {\n\t\t\tthis.load( options.active );\n\t\t}\n\t},\n\n\t_getCreateEventData: function() {\n\t\treturn {\n\t\t\ttab: this.active,\n\t\t\tpanel: !this.active.length ? $() : this._getPanelForTab( this.active )\n\t\t};\n\t},\n\n\t_tabKeydown: function( event ) {\n\t\tvar focusedTab = $( this.document[0].activeElement ).closest( \"li\" ),\n\t\t\tselectedIndex = this.tabs.index( focusedTab ),\n\t\t\tgoingForward = true;\n\n\t\tif ( this._handlePageNav( event ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tswitch ( event.keyCode ) {\n\t\t\tcase $.ui.keyCode.RIGHT:\n\t\t\tcase $.ui.keyCode.DOWN:\n\t\t\t\tselectedIndex++;\n\t\t\t\tbreak;\n\t\t\tcase $.ui.keyCode.UP:\n\t\t\tcase $.ui.keyCode.LEFT:\n\t\t\t\tgoingForward = false;\n\t\t\t\tselectedIndex--;\n\t\t\t\tbreak;\n\t\t\tcase $.ui.keyCode.END:\n\t\t\t\tselectedIndex = this.anchors.length - 1;\n\t\t\t\tbreak;\n\t\t\tcase $.ui.keyCode.HOME:\n\t\t\t\tselectedIndex = 0;\n\t\t\t\tbreak;\n\t\t\tcase $.ui.keyCode.SPACE:\n\t\t\t\t// Activate only, no collapsing\n\t\t\t\tevent.preventDefault();\n\t\t\t\tclearTimeout( this.activating );\n\t\t\t\tthis._activate( selectedIndex );\n\t\t\t\treturn;\n\t\t\tcase $.ui.keyCode.ENTER:\n\t\t\t\t// Toggle (cancel delayed activation, allow collapsing)\n\t\t\t\tevent.preventDefault();\n\t\t\t\tclearTimeout( this.activating );\n\t\t\t\t// Determine if we should collapse or activate\n\t\t\t\tthis._activate( selectedIndex === this.options.active ? false : selectedIndex );\n\t\t\t\treturn;\n\t\t\tdefault:\n\t\t\t\treturn;\n\t\t}\n\n\t\t// Focus the appropriate tab, based on which key was pressed\n\t\tevent.preventDefault();\n\t\tclearTimeout( this.activating );\n\t\tselectedIndex = this._focusNextTab( selectedIndex, goingForward );\n\n\t\t// Navigating with control key will prevent automatic activation\n\t\tif ( !event.ctrlKey ) {\n\t\t\t// Update aria-selected immediately so that AT think the tab is already selected.\n\t\t\t// Otherwise AT may confuse the user by stating that they need to activate the tab,\n\t\t\t// but the tab will already be activated by the time the announcement finishes.\n\t\t\tfocusedTab.attr( \"aria-selected\", \"false\" );\n\t\t\tthis.tabs.eq( selectedIndex ).attr( \"aria-selected\", \"true\" );\n\n\t\t\tthis.activating = this._delay(function() {\n\t\t\t\tthis.option( \"active\", selectedIndex );\n\t\t\t}, this.delay );\n\t\t}\n\t},\n\n\t_panelKeydown: function( event ) {\n\t\tif ( this._handlePageNav( event ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Ctrl+up moves focus to the current tab\n\t\tif ( event.ctrlKey && event.keyCode === $.ui.keyCode.UP ) {\n\t\t\tevent.preventDefault();\n\t\t\tthis.active.focus();\n\t\t}\n\t},\n\n\t// Alt+page up/down moves focus to the previous/next tab (and activates)\n\t_handlePageNav: function( event ) {\n\t\tif ( event.altKey && event.keyCode === $.ui.keyCode.PAGE_UP ) {\n\t\t\tthis._activate( this._focusNextTab( this.options.active - 1, false ) );\n\t\t\treturn true;\n\t\t}\n\t\tif ( event.altKey && event.keyCode === $.ui.keyCode.PAGE_DOWN ) {\n\t\t\tthis._activate( this._focusNextTab( this.options.active + 1, true ) );\n\t\t\treturn true;\n\t\t}\n\t},\n\n\t_findNextTab: function( index, goingForward ) {\n\t\tvar lastTabIndex = this.tabs.length - 1;\n\n\t\tfunction constrain() {\n\t\t\tif ( index > lastTabIndex ) {\n\t\t\t\tindex = 0;\n\t\t\t}\n\t\t\tif ( index < 0 ) {\n\t\t\t\tindex = lastTabIndex;\n\t\t\t}\n\t\t\treturn index;\n\t\t}\n\n\t\twhile ( $.inArray( constrain(), this.options.disabled ) !== -1 ) {\n\t\t\tindex = goingForward ? index + 1 : index - 1;\n\t\t}\n\n\t\treturn index;\n\t},\n\n\t_focusNextTab: function( index, goingForward ) {\n\t\tindex = this._findNextTab( index, goingForward );\n\t\tthis.tabs.eq( index ).focus();\n\t\treturn index;\n\t},\n\n\t_setOption: function( key, value ) {\n\t\tif ( key === \"active\" ) {\n\t\t\t// _activate() will handle invalid values and update this.options\n\t\t\tthis._activate( value );\n\t\t\treturn;\n\t\t}\n\n\t\tif ( key === \"disabled\" ) {\n\t\t\t// don't use the widget factory's disabled handling\n\t\t\tthis._setupDisabled( value );\n\t\t\treturn;\n\t\t}\n\n\t\tthis._super( key, value);\n\n\t\tif ( key === \"collapsible\" ) {\n\t\t\tthis.element.toggleClass( \"ui-tabs-collapsible\", value );\n\t\t\t// Setting collapsible: false while collapsed; open first panel\n\t\t\tif ( !value && this.options.active === false ) {\n\t\t\t\tthis._activate( 0 );\n\t\t\t}\n\t\t}\n\n\t\tif ( key === \"event\" ) {\n\t\t\tthis._setupEvents( value );\n\t\t}\n\n\t\tif ( key === \"heightStyle\" ) {\n\t\t\tthis._setupHeightStyle( value );\n\t\t}\n\t},\n\n\t_tabId: function( tab ) {\n\t\treturn tab.attr( \"aria-controls\" ) || \"ui-tabs-\" + getNextTabId();\n\t},\n\n\t_sanitizeSelector: function( hash ) {\n\t\treturn hash ? hash.replace( /[!\"$%&'()*+,.\\/:;<=>?@\\[\\]\\^`{|}~]/g, \"\\\\$&\" ) : \"\";\n\t},\n\n\trefresh: function() {\n\t\tvar next,\n\t\t\toptions = this.options,\n\t\t\tlis = this.tablist.children( \":has(a[href])\" );\n\n\t\t// get disabled tabs from class attribute from HTML\n\t\t// this will get converted to a boolean if needed in _refresh()\n\t\toptions.disabled = $.map( lis.filter( \".ui-state-disabled\" ), function( tab ) {\n\t\t\treturn lis.index( tab );\n\t\t});\n\n\t\tthis._processTabs();\n\n\t\t// was collapsed or no tabs\n\t\tif ( options.active === false || !this.anchors.length ) {\n\t\t\toptions.active = false;\n\t\t\tthis.active = $();\n\t\t// was active, but active tab is gone\n\t\t} else if ( this.active.length && !$.contains( this.tablist[ 0 ], this.active[ 0 ] ) ) {\n\t\t\t// all remaining tabs are disabled\n\t\t\tif ( this.tabs.length === options.disabled.length ) {\n\t\t\t\toptions.active = false;\n\t\t\t\tthis.active = $();\n\t\t\t// activate previous tab\n\t\t\t} else {\n\t\t\t\tthis._activate( this._findNextTab( Math.max( 0, options.active - 1 ), false ) );\n\t\t\t}\n\t\t// was active, active tab still exists\n\t\t} else {\n\t\t\t// make sure active index is correct\n\t\t\toptions.active = this.tabs.index( this.active );\n\t\t}\n\n\t\tthis._refresh();\n\t},\n\n\t_refresh: function() {\n\t\tthis._setupDisabled( this.options.disabled );\n\t\tthis._setupEvents( this.options.event );\n\t\tthis._setupHeightStyle( this.options.heightStyle );\n\n\t\tthis.tabs.not( this.active ).attr({\n\t\t\t\"aria-selected\": \"false\",\n\t\t\ttabIndex: -1\n\t\t});\n\t\tthis.panels.not( this._getPanelForTab( this.active ) )\n\t\t\t.hide()\n\t\t\t.attr({\n\t\t\t\t\"aria-expanded\": \"false\",\n\t\t\t\t\"aria-hidden\": \"true\"\n\t\t\t});\n\n\t\t// Make sure one tab is in the tab order\n\t\tif ( !this.active.length ) {\n\t\t\tthis.tabs.eq( 0 ).attr( \"tabIndex\", 0 );\n\t\t} else {\n\t\t\tthis.active\n\t\t\t\t.addClass( \"ui-tabs-active ui-state-active\" )\n\t\t\t\t.attr({\n\t\t\t\t\t\"aria-selected\": \"true\",\n\t\t\t\t\ttabIndex: 0\n\t\t\t\t});\n\t\t\tthis._getPanelForTab( this.active )\n\t\t\t\t.show()\n\t\t\t\t.attr({\n\t\t\t\t\t\"aria-expanded\": \"true\",\n\t\t\t\t\t\"aria-hidden\": \"false\"\n\t\t\t\t});\n\t\t}\n\t},\n\n\t_processTabs: function() {\n\t\tvar that = this;\n\n\t\tthis.tablist = this._getList()\n\t\t\t.addClass( \"ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all\" )\n\t\t\t.attr( \"role\", \"tablist\" );\n\n\t\tthis.tabs = this.tablist.find( \"> li:has(a[href])\" )\n\t\t\t.addClass( \"ui-state-default ui-corner-top\" )\n\t\t\t.attr({\n\t\t\t\trole: \"tab\",\n\t\t\t\ttabIndex: -1\n\t\t\t});\n\n\t\tthis.anchors = this.tabs.map(function() {\n\t\t\t\treturn $( \"a\", this )[ 0 ];\n\t\t\t})\n\t\t\t.addClass( \"ui-tabs-anchor\" )\n\t\t\t.attr({\n\t\t\t\trole: \"presentation\",\n\t\t\t\ttabIndex: -1\n\t\t\t});\n\n\t\tthis.panels = $();\n\n\t\tthis.anchors.each(function( i, anchor ) {\n\t\t\tvar selector, panel, panelId,\n\t\t\t\tanchorId = $( anchor ).uniqueId().attr( \"id\" ),\n\t\t\t\ttab = $( anchor ).closest( \"li\" ),\n\t\t\t\toriginalAriaControls = tab.attr( \"aria-controls\" );\n\n\t\t\t// inline tab\n\t\t\tif ( isLocal( anchor ) ) {\n\t\t\t\tselector = anchor.hash;\n\t\t\t\tpanel = that.element.find( that._sanitizeSelector( selector ) );\n\t\t\t// remote tab\n\t\t\t} else {\n\t\t\t\tpanelId = that._tabId( tab );\n\t\t\t\tselector = \"#\" + panelId;\n\t\t\t\tpanel = that.element.find( selector );\n\t\t\t\tif ( !panel.length ) {\n\t\t\t\t\tpanel = that._createPanel( panelId );\n\t\t\t\t\tpanel.insertAfter( that.panels[ i - 1 ] || that.tablist );\n\t\t\t\t}\n\t\t\t\tpanel.attr( \"aria-live\", \"polite\" );\n\t\t\t}\n\n\t\t\tif ( panel.length) {\n\t\t\t\tthat.panels = that.panels.add( panel );\n\t\t\t}\n\t\t\tif ( originalAriaControls ) {\n\t\t\t\ttab.data( \"ui-tabs-aria-controls\", originalAriaControls );\n\t\t\t}\n\t\t\ttab.attr({\n\t\t\t\t\"aria-controls\": selector.substring( 1 ),\n\t\t\t\t\"aria-labelledby\": anchorId\n\t\t\t});\n\t\t\tpanel.attr( \"aria-labelledby\", anchorId );\n\t\t});\n\n\t\tthis.panels\n\t\t\t.addClass( \"ui-tabs-panel ui-widget-content ui-corner-bottom\" )\n\t\t\t.attr( \"role\", \"tabpanel\" );\n\t},\n\n\t// allow overriding how to find the list for rare usage scenarios (#7715)\n\t_getList: function() {\n\t\treturn this.element.find( \"ol,ul\" ).eq( 0 );\n\t},\n\n\t_createPanel: function( id ) {\n\t\treturn $( \"
\" )\n\t\t\t.attr( \"id\", id )\n\t\t\t.addClass( \"ui-tabs-panel ui-widget-content ui-corner-bottom\" )\n\t\t\t.data( \"ui-tabs-destroy\", true );\n\t},\n\n\t_setupDisabled: function( disabled ) {\n\t\tif ( $.isArray( disabled ) ) {\n\t\t\tif ( !disabled.length ) {\n\t\t\t\tdisabled = false;\n\t\t\t} else if ( disabled.length === this.anchors.length ) {\n\t\t\t\tdisabled = true;\n\t\t\t}\n\t\t}\n\n\t\t// disable tabs\n\t\tfor ( var i = 0, li; ( li = this.tabs[ i ] ); i++ ) {\n\t\t\tif ( disabled === true || $.inArray( i, disabled ) !== -1 ) {\n\t\t\t\t$( li )\n\t\t\t\t\t.addClass( \"ui-state-disabled\" )\n\t\t\t\t\t.attr( \"aria-disabled\", \"true\" );\n\t\t\t} else {\n\t\t\t\t$( li )\n\t\t\t\t\t.removeClass( \"ui-state-disabled\" )\n\t\t\t\t\t.removeAttr( \"aria-disabled\" );\n\t\t\t}\n\t\t}\n\n\t\tthis.options.disabled = disabled;\n\t},\n\n\t_setupEvents: function( event ) {\n\t\tvar events = {\n\t\t\tclick: function( event ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t};\n\t\tif ( event ) {\n\t\t\t$.each( event.split(\" \"), function( index, eventName ) {\n\t\t\t\tevents[ eventName ] = \"_eventHandler\";\n\t\t\t});\n\t\t}\n\n\t\tthis._off( this.anchors.add( this.tabs ).add( this.panels ) );\n\t\tthis._on( this.anchors, events );\n\t\tthis._on( this.tabs, { keydown: \"_tabKeydown\" } );\n\t\tthis._on( this.panels, { keydown: \"_panelKeydown\" } );\n\n\t\tthis._focusable( this.tabs );\n\t\tthis._hoverable( this.tabs );\n\t},\n\n\t_setupHeightStyle: function( heightStyle ) {\n\t\tvar maxHeight, overflow,\n\t\t\tparent = this.element.parent();\n\n\t\tif ( heightStyle === \"fill\" ) {\n\t\t\t// IE 6 treats height like minHeight, so we need to turn off overflow\n\t\t\t// in order to get a reliable height\n\t\t\t// we use the minHeight support test because we assume that only\n\t\t\t// browsers that don't support minHeight will treat height as minHeight\n\t\t\tif ( !$.support.minHeight ) {\n\t\t\t\toverflow = parent.css( \"overflow\" );\n\t\t\t\tparent.css( \"overflow\", \"hidden\");\n\t\t\t}\n\t\t\tmaxHeight = parent.height();\n\t\t\tthis.element.siblings( \":visible\" ).each(function() {\n\t\t\t\tvar elem = $( this ),\n\t\t\t\t\tposition = elem.css( \"position\" );\n\n\t\t\t\tif ( position === \"absolute\" || position === \"fixed\" ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tmaxHeight -= elem.outerHeight( true );\n\t\t\t});\n\t\t\tif ( overflow ) {\n\t\t\t\tparent.css( \"overflow\", overflow );\n\t\t\t}\n\n\t\t\tthis.element.children().not( this.panels ).each(function() {\n\t\t\t\tmaxHeight -= $( this ).outerHeight( true );\n\t\t\t});\n\n\t\t\tthis.panels.each(function() {\n\t\t\t\t$( this ).height( Math.max( 0, maxHeight -\n\t\t\t\t\t$( this ).innerHeight() + $( this ).height() ) );\n\t\t\t})\n\t\t\t.css( \"overflow\", \"auto\" );\n\t\t} else if ( heightStyle === \"auto\" ) {\n\t\t\tmaxHeight = 0;\n\t\t\tthis.panels.each(function() {\n\t\t\t\tmaxHeight = Math.max( maxHeight, $( this ).height( \"\" ).height() );\n\t\t\t}).height( maxHeight );\n\t\t}\n\t},\n\n\t_eventHandler: function( event ) {\n\t\tvar options = this.options,\n\t\t\tactive = this.active,\n\t\t\tanchor = $( event.currentTarget ),\n\t\t\ttab = anchor.closest( \"li\" ),\n\t\t\tclickedIsActive = tab[ 0 ] === active[ 0 ],\n\t\t\tcollapsing = clickedIsActive && options.collapsible,\n\t\t\ttoShow = collapsing ? $() : this._getPanelForTab( tab ),\n\t\t\ttoHide = !active.length ? $() : this._getPanelForTab( active ),\n\t\t\teventData = {\n\t\t\t\toldTab: active,\n\t\t\t\toldPanel: toHide,\n\t\t\t\tnewTab: collapsing ? $() : tab,\n\t\t\t\tnewPanel: toShow\n\t\t\t};\n\n\t\tevent.preventDefault();\n\n\t\tif ( tab.hasClass( \"ui-state-disabled\" ) ||\n\t\t\t\t// tab is already loading\n\t\t\t\ttab.hasClass( \"ui-tabs-loading\" ) ||\n\t\t\t\t// can't switch durning an animation\n\t\t\t\tthis.running ||\n\t\t\t\t// click on active header, but not collapsible\n\t\t\t\t( clickedIsActive && !options.collapsible ) ||\n\t\t\t\t// allow canceling activation\n\t\t\t\t( this._trigger( \"beforeActivate\", event, eventData ) === false ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\toptions.active = collapsing ? false : this.tabs.index( tab );\n\n\t\tthis.active = clickedIsActive ? $() : tab;\n\t\tif ( this.xhr ) {\n\t\t\tthis.xhr.abort();\n\t\t}\n\n\t\tif ( !toHide.length && !toShow.length ) {\n\t\t\t$.error( \"jQuery UI Tabs: Mismatching fragment identifier.\" );\n\t\t}\n\n\t\tif ( toShow.length ) {\n\t\t\tthis.load( this.tabs.index( tab ), event );\n\t\t}\n\t\tthis._toggle( event, eventData );\n\t},\n\n\t// handles show/hide for selecting tabs\n\t_toggle: function( event, eventData ) {\n\t\tvar that = this,\n\t\t\ttoShow = eventData.newPanel,\n\t\t\ttoHide = eventData.oldPanel;\n\n\t\tthis.running = true;\n\n\t\tfunction complete() {\n\t\t\tthat.running = false;\n\t\t\tthat._trigger( \"activate\", event, eventData );\n\t\t}\n\n\t\tfunction show() {\n\t\t\teventData.newTab.closest( \"li\" ).addClass( \"ui-tabs-active ui-state-active\" );\n\n\t\t\tif ( toShow.length && that.options.show ) {\n\t\t\t\tthat._show( toShow, that.options.show, complete );\n\t\t\t} else {\n\t\t\t\ttoShow.show();\n\t\t\t\tcomplete();\n\t\t\t}\n\t\t}\n\n\t\t// start out by hiding, then showing, then completing\n\t\tif ( toHide.length && this.options.hide ) {\n\t\t\tthis._hide( toHide, this.options.hide, function() {\n\t\t\t\teventData.oldTab.closest( \"li\" ).removeClass( \"ui-tabs-active ui-state-active\" );\n\t\t\t\tshow();\n\t\t\t});\n\t\t} else {\n\t\t\teventData.oldTab.closest( \"li\" ).removeClass( \"ui-tabs-active ui-state-active\" );\n\t\t\ttoHide.hide();\n\t\t\tshow();\n\t\t}\n\n\t\ttoHide.attr({\n\t\t\t\"aria-expanded\": \"false\",\n\t\t\t\"aria-hidden\": \"true\"\n\t\t});\n\t\teventData.oldTab.attr( \"aria-selected\", \"false\" );\n\t\t// If we're switching tabs, remove the old tab from the tab order.\n\t\t// If we're opening from collapsed state, remove the previous tab from the tab order.\n\t\t// If we're collapsing, then keep the collapsing tab in the tab order.\n\t\tif ( toShow.length && toHide.length ) {\n\t\t\teventData.oldTab.attr( \"tabIndex\", -1 );\n\t\t} else if ( toShow.length ) {\n\t\t\tthis.tabs.filter(function() {\n\t\t\t\treturn $( this ).attr( \"tabIndex\" ) === 0;\n\t\t\t})\n\t\t\t.attr( \"tabIndex\", -1 );\n\t\t}\n\n\t\ttoShow.attr({\n\t\t\t\"aria-expanded\": \"true\",\n\t\t\t\"aria-hidden\": \"false\"\n\t\t});\n\t\teventData.newTab.attr({\n\t\t\t\"aria-selected\": \"true\",\n\t\t\ttabIndex: 0\n\t\t});\n\t},\n\n\t_activate: function( index ) {\n\t\tvar anchor,\n\t\t\tactive = this._findActive( index );\n\n\t\t// trying to activate the already active panel\n\t\tif ( active[ 0 ] === this.active[ 0 ] ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// trying to collapse, simulate a click on the current active header\n\t\tif ( !active.length ) {\n\t\t\tactive = this.active;\n\t\t}\n\n\t\tanchor = active.find( \".ui-tabs-anchor\" )[ 0 ];\n\t\tthis._eventHandler({\n\t\t\ttarget: anchor,\n\t\t\tcurrentTarget: anchor,\n\t\t\tpreventDefault: $.noop\n\t\t});\n\t},\n\n\t_findActive: function( index ) {\n\t\treturn index === false ? $() : this.tabs.eq( index );\n\t},\n\n\t_getIndex: function( index ) {\n\t\t// meta-function to give users option to provide a href string instead of a numerical index.\n\t\tif ( typeof index === \"string\" ) {\n\t\t\tindex = this.anchors.index( this.anchors.filter( \"[href$='\" + index + \"']\" ) );\n\t\t}\n\n\t\treturn index;\n\t},\n\n\t_destroy: function() {\n\t\tif ( this.xhr ) {\n\t\t\tthis.xhr.abort();\n\t\t}\n\n\t\tthis.element.removeClass( \"ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible\" );\n\n\t\tthis.tablist\n\t\t\t.removeClass( \"ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all\" )\n\t\t\t.removeAttr( \"role\" );\n\n\t\tthis.anchors\n\t\t\t.removeClass( \"ui-tabs-anchor\" )\n\t\t\t.removeAttr( \"role\" )\n\t\t\t.removeAttr( \"tabIndex\" )\n\t\t\t.removeData( \"href.tabs\" )\n\t\t\t.removeData( \"load.tabs\" )\n\t\t\t.removeUniqueId();\n\n\t\tthis.tabs.add( this.panels ).each(function() {\n\t\t\tif ( $.data( this, \"ui-tabs-destroy\" ) ) {\n\t\t\t\t$( this ).remove();\n\t\t\t} else {\n\t\t\t\t$( this )\n\t\t\t\t\t.removeClass( \"ui-state-default ui-state-active ui-state-disabled \" +\n\t\t\t\t\t\t\"ui-corner-top ui-corner-bottom ui-widget-content ui-tabs-active ui-tabs-panel\" )\n\t\t\t\t\t.removeAttr( \"tabIndex\" )\n\t\t\t\t\t.removeAttr( \"aria-live\" )\n\t\t\t\t\t.removeAttr( \"aria-busy\" )\n\t\t\t\t\t.removeAttr( \"aria-selected\" )\n\t\t\t\t\t.removeAttr( \"aria-labelledby\" )\n\t\t\t\t\t.removeAttr( \"aria-hidden\" )\n\t\t\t\t\t.removeAttr( \"aria-expanded\" )\n\t\t\t\t\t.removeAttr( \"role\" );\n\t\t\t}\n\t\t});\n\n\t\tthis.tabs.each(function() {\n\t\t\tvar li = $( this ),\n\t\t\t\tprev = li.data( \"ui-tabs-aria-controls\" );\n\t\t\tif ( prev ) {\n\t\t\t\tli.attr( \"aria-controls\", prev );\n\t\t\t} else {\n\t\t\t\tli.removeAttr( \"aria-controls\" );\n\t\t\t}\n\t\t});\n\n\t\tif ( this.options.heightStyle !== \"content\" ) {\n\t\t\tthis.panels.css( \"height\", \"\" );\n\t\t}\n\t},\n\n\tenable: function( index ) {\n\t\tvar disabled = this.options.disabled;\n\t\tif ( disabled === false ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( index === undefined ) {\n\t\t\tdisabled = false;\n\t\t} else {\n\t\t\tindex = this._getIndex( index );\n\t\t\tif ( $.isArray( disabled ) ) {\n\t\t\t\tdisabled = $.map( disabled, function( num ) {\n\t\t\t\t\treturn num !== index ? num : null;\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tdisabled = $.map( this.tabs, function( li, num ) {\n\t\t\t\t\treturn num !== index ? num : null;\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\tthis._setupDisabled( disabled );\n\t},\n\n\tdisable: function( index ) {\n\t\tvar disabled = this.options.disabled;\n\t\tif ( disabled === true ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( index === undefined ) {\n\t\t\tdisabled = true;\n\t\t} else {\n\t\t\tindex = this._getIndex( index );\n\t\t\tif ( $.inArray( index, disabled ) !== -1 ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( $.isArray( disabled ) ) {\n\t\t\t\tdisabled = $.merge( [ index ], disabled ).sort();\n\t\t\t} else {\n\t\t\t\tdisabled = [ index ];\n\t\t\t}\n\t\t}\n\t\tthis._setupDisabled( disabled );\n\t},\n\n\tload: function( index, event ) {\n\t\tindex = this._getIndex( index );\n\t\tvar that = this,\n\t\t\ttab = this.tabs.eq( index ),\n\t\t\tanchor = tab.find( \".ui-tabs-anchor\" ),\n\t\t\tpanel = this._getPanelForTab( tab ),\n\t\t\teventData = {\n\t\t\t\ttab: tab,\n\t\t\t\tpanel: panel\n\t\t\t};\n\n\t\t// not remote\n\t\tif ( isLocal( anchor[ 0 ] ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.xhr = $.ajax({\n\t\t\turl: anchor.attr( \"href\" ),\n\t\t\tbeforeSend: function( jqXHR, settings ) {\n\t\t\t\treturn that._trigger( \"beforeLoad\", event,\n\t\t\t\t\t$.extend( { jqXHR : jqXHR, ajaxSettings: settings }, eventData ) );\n\t\t\t}\n\t\t});\n\n\t\t// support: jQuery <1.8\n\t\t// jQuery <1.8 returns false if the request is canceled in beforeSend,\n\t\t// but as of 1.8, $.ajax() always returns a jqXHR object.\n\t\tif ( this.xhr && this.xhr.statusText !== \"canceled\" ) {\n\t\t\ttab.addClass( \"ui-tabs-loading\" );\n\t\t\tpanel.attr( \"aria-busy\", \"true\" );\n\n\t\t\tthis.xhr\n\t\t\t\t.success(function( response ) {\n\t\t\t\t\t// support: jQuery <1.8\n\t\t\t\t\t// http://bugs.jquery.com/ticket/11778\n\t\t\t\t\tsetTimeout(function() {\n\t\t\t\t\t\tpanel.html( response );\n\t\t\t\t\t\tthat._trigger( \"load\", event, eventData );\n\t\t\t\t\t}, 1 );\n\t\t\t\t})\n\t\t\t\t.complete(function( jqXHR, status ) {\n\t\t\t\t\t// support: jQuery <1.8\n\t\t\t\t\t// http://bugs.jquery.com/ticket/11778\n\t\t\t\t\tsetTimeout(function() {\n\t\t\t\t\t\tif ( status === \"abort\" ) {\n\t\t\t\t\t\t\tthat.panels.stop( false, true );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\ttab.removeClass( \"ui-tabs-loading\" );\n\t\t\t\t\t\tpanel.removeAttr( \"aria-busy\" );\n\n\t\t\t\t\t\tif ( jqXHR === that.xhr ) {\n\t\t\t\t\t\t\tdelete that.xhr;\n\t\t\t\t\t\t}\n\t\t\t\t\t}, 1 );\n\t\t\t\t});\n\t\t}\n\t},\n\n\t_getPanelForTab: function( tab ) {\n\t\tvar id = $( tab ).attr( \"aria-controls\" );\n\t\treturn this.element.find( this._sanitizeSelector( \"#\" + id ) );\n\t}\n});\n\n// DEPRECATED\nif ( $.uiBackCompat !== false ) {\n\n\t// helper method for a lot of the back compat extensions\n\t$.ui.tabs.prototype._ui = function( tab, panel ) {\n\t\treturn {\n\t\t\ttab: tab,\n\t\t\tpanel: panel,\n\t\t\tindex: this.anchors.index( tab )\n\t\t};\n\t};\n\n\t// url method\n\t$.widget( \"ui.tabs\", $.ui.tabs, {\n\t\turl: function( index, url ) {\n\t\t\tthis.anchors.eq( index ).attr( \"href\", url );\n\t\t}\n\t});\n\n\t// ajaxOptions and cache options\n\t$.widget( \"ui.tabs\", $.ui.tabs, {\n\t\toptions: {\n\t\t\tajaxOptions: null,\n\t\t\tcache: false\n\t\t},\n\n\t\t_create: function() {\n\t\t\tthis._super();\n\n\t\t\tvar that = this;\n\n\t\t\tthis._on({ tabsbeforeload: function( event, ui ) {\n\t\t\t\t// tab is already cached\n\t\t\t\tif ( $.data( ui.tab[ 0 ], \"cache.tabs\" ) ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t$.extend( ui.ajaxSettings, that.options.ajaxOptions, {\n\t\t\t\t\terror: function( xhr, s, e ) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t// Passing index avoid a race condition when this method is\n\t\t\t\t\t\t\t// called after the user has selected another tab.\n\t\t\t\t\t\t\t// Pass the anchor that initiated this request allows\n\t\t\t\t\t\t\t// loadError to manipulate the tab content panel via $(a.hash)\n\t\t\t\t\t\t\tthat.options.ajaxOptions.error( xhr, s, ui.tab.closest( \"li\" ).index(), ui.tab[ 0 ] );\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcatch ( e ) {}\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tui.jqXHR.success(function() {\n\t\t\t\t\tif ( that.options.cache ) {\n\t\t\t\t\t\t$.data( ui.tab[ 0 ], \"cache.tabs\", true );\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}});\n\t\t},\n\n\t\t_setOption: function( key, value ) {\n\t\t\t// reset cache if switching from cached to not cached\n\t\t\tif ( key === \"cache\" && value === false ) {\n\t\t\t\tthis.anchors.removeData( \"cache.tabs\" );\n\t\t\t}\n\t\t\tthis._super( key, value );\n\t\t},\n\n\t\t_destroy: function() {\n\t\t\tthis.anchors.removeData( \"cache.tabs\" );\n\t\t\tthis._super();\n\t\t},\n\n\t\turl: function( index, url ){\n\t\t\tthis.anchors.eq( index ).removeData( \"cache.tabs\" );\n\t\t\tthis._superApply( arguments );\n\t\t}\n\t});\n\n\t// abort method\n\t$.widget( \"ui.tabs\", $.ui.tabs, {\n\t\tabort: function() {\n\t\t\tif ( this.xhr ) {\n\t\t\t\tthis.xhr.abort();\n\t\t\t}\n\t\t}\n\t});\n\n\t// spinner\n\t$.widget( \"ui.tabs\", $.ui.tabs, {\n\t\toptions: {\n\t\t\tspinner: \"Loading…\"\n\t\t},\n\t\t_create: function() {\n\t\t\tthis._super();\n\t\t\tthis._on({\n\t\t\t\ttabsbeforeload: function( event, ui ) {\n\t\t\t\t\tif ( !this.options.spinner ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar span = ui.tab.find( \"span\" ),\n\t\t\t\t\t\thtml = span.html();\n\t\t\t\t\tspan.html( this.options.spinner );\n\t\t\t\t\tui.jqXHR.complete(function() {\n\t\t\t\t\t\tspan.html( html );\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\n\t// enable/disable events\n\t$.widget( \"ui.tabs\", $.ui.tabs, {\n\t\toptions: {\n\t\t\tenable: null,\n\t\t\tdisable: null\n\t\t},\n\n\t\tenable: function( index ) {\n\t\t\tvar options = this.options,\n\t\t\t\ttrigger;\n\n\t\t\tif ( index && options.disabled === true ||\n\t\t\t\t\t( $.isArray( options.disabled ) && $.inArray( index, options.disabled ) !== -1 ) ) {\n\t\t\t\ttrigger = true;\n\t\t\t}\n\n\t\t\tthis._superApply( arguments );\n\n\t\t\tif ( trigger ) {\n\t\t\t\tthis._trigger( \"enable\", null, this._ui( this.anchors[ index ], this.panels[ index ] ) );\n\t\t\t}\n\t\t},\n\n\t\tdisable: function( index ) {\n\t\t\tvar options = this.options,\n\t\t\t\ttrigger;\n\n\t\t\tif ( index && options.disabled === false ||\n\t\t\t\t\t( $.isArray( options.disabled ) && $.inArray( index, options.disabled ) === -1 ) ) {\n\t\t\t\ttrigger = true;\n\t\t\t}\n\n\t\t\tthis._superApply( arguments );\n\n\t\t\tif ( trigger ) {\n\t\t\t\tthis._trigger( \"disable\", null, this._ui( this.anchors[ index ], this.panels[ index ] ) );\n\t\t\t}\n\t\t}\n\t});\n\n\t// add/remove methods and events\n\t$.widget( \"ui.tabs\", $.ui.tabs, {\n\t\toptions: {\n\t\t\tadd: null,\n\t\t\tremove: null,\n\t\t\ttabTemplate: \"
  • #{label}
  • \"\n\t\t},\n\n\t\tadd: function( url, label, index ) {\n\t\t\tif ( index === undefined ) {\n\t\t\t\tindex = this.anchors.length;\n\t\t\t}\n\n\t\t\tvar doInsertAfter, panel,\n\t\t\t\toptions = this.options,\n\t\t\t\tli = $( options.tabTemplate\n\t\t\t\t\t.replace( /#\\{href\\}/g, url )\n\t\t\t\t\t.replace( /#\\{label\\}/g, label ) ),\n\t\t\t\tid = !url.indexOf( \"#\" ) ?\n\t\t\t\t\turl.replace( \"#\", \"\" ) :\n\t\t\t\t\tthis._tabId( li );\n\n\t\t\tli.addClass( \"ui-state-default ui-corner-top\" ).data( \"ui-tabs-destroy\", true );\n\t\t\tli.attr( \"aria-controls\", id );\n\n\t\t\tdoInsertAfter = index >= this.tabs.length;\n\n\t\t\t// try to find an existing element before creating a new one\n\t\t\tpanel = this.element.find( \"#\" + id );\n\t\t\tif ( !panel.length ) {\n\t\t\t\tpanel = this._createPanel( id );\n\t\t\t\tif ( doInsertAfter ) {\n\t\t\t\t\tif ( index > 0 ) {\n\t\t\t\t\t\tpanel.insertAfter( this.panels.eq( -1 ) );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tpanel.appendTo( this.element );\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tpanel.insertBefore( this.panels[ index ] );\n\t\t\t\t}\n\t\t\t}\n\t\t\tpanel.addClass( \"ui-tabs-panel ui-widget-content ui-corner-bottom\" ).hide();\n\n\t\t\tif ( doInsertAfter ) {\n\t\t\t\tli.appendTo( this.tablist );\n\t\t\t} else {\n\t\t\t\tli.insertBefore( this.tabs[ index ] );\n\t\t\t}\n\n\t\t\toptions.disabled = $.map( options.disabled, function( n ) {\n\t\t\t\treturn n >= index ? ++n : n;\n\t\t\t});\n\n\t\t\tthis.refresh();\n\t\t\tif ( this.tabs.length === 1 && options.active === false ) {\n\t\t\t\tthis.option( \"active\", 0 );\n\t\t\t}\n\n\t\t\tthis._trigger( \"add\", null, this._ui( this.anchors[ index ], this.panels[ index ] ) );\n\t\t\treturn this;\n\t\t},\n\n\t\tremove: function( index ) {\n\t\t\tindex = this._getIndex( index );\n\t\t\tvar options = this.options,\n\t\t\t\ttab = this.tabs.eq( index ).remove(),\n\t\t\t\tpanel = this._getPanelForTab( tab ).remove();\n\n\t\t\t// If selected tab was removed focus tab to the right or\n\t\t\t// in case the last tab was removed the tab to the left.\n\t\t\t// We check for more than 2 tabs, because if there are only 2,\n\t\t\t// then when we remove this tab, there will only be one tab left\n\t\t\t// so we don't need to detect which tab to activate.\n\t\t\tif ( tab.hasClass( \"ui-tabs-active\" ) && this.anchors.length > 2 ) {\n\t\t\t\tthis._activate( index + ( index + 1 < this.anchors.length ? 1 : -1 ) );\n\t\t\t}\n\n\t\t\toptions.disabled = $.map(\n\t\t\t\t$.grep( options.disabled, function( n ) {\n\t\t\t\t\treturn n !== index;\n\t\t\t\t}),\n\t\t\t\tfunction( n ) {\n\t\t\t\t\treturn n >= index ? --n : n;\n\t\t\t\t});\n\n\t\t\tthis.refresh();\n\n\t\t\tthis._trigger( \"remove\", null, this._ui( tab.find( \"a\" )[ 0 ], panel[ 0 ] ) );\n\t\t\treturn this;\n\t\t}\n\t});\n\n\t// length method\n\t$.widget( \"ui.tabs\", $.ui.tabs, {\n\t\tlength: function() {\n\t\t\treturn this.anchors.length;\n\t\t}\n\t});\n\n\t// panel ids (idPrefix option + title attribute)\n\t$.widget( \"ui.tabs\", $.ui.tabs, {\n\t\toptions: {\n\t\t\tidPrefix: \"ui-tabs-\"\n\t\t},\n\n\t\t_tabId: function( tab ) {\n\t\t\tvar a = tab.is( \"li\" ) ? tab.find( \"a[href]\" ) : tab;\n\t\t\ta = a[0];\n\t\t\treturn $( a ).closest( \"li\" ).attr( \"aria-controls\" ) ||\n\t\t\t\ta.title && a.title.replace( /\\s/g, \"_\" ).replace( /[^\\w\\u00c0-\\uFFFF\\-]/g, \"\" ) ||\n\t\t\t\tthis.options.idPrefix + getNextTabId();\n\t\t}\n\t});\n\n\t// _createPanel method\n\t$.widget( \"ui.tabs\", $.ui.tabs, {\n\t\toptions: {\n\t\t\tpanelTemplate: \"
    \"\n\t\t},\n\n\t\t_createPanel: function( id ) {\n\t\t\treturn $( this.options.panelTemplate )\n\t\t\t\t.attr( \"id\", id )\n\t\t\t\t.addClass( \"ui-tabs-panel ui-widget-content ui-corner-bottom\" )\n\t\t\t\t.data( \"ui-tabs-destroy\", true );\n\t\t}\n\t});\n\n\t// selected option\n\t$.widget( \"ui.tabs\", $.ui.tabs, {\n\t\t_create: function() {\n\t\t\tvar options = this.options;\n\t\t\tif ( options.active === null && options.selected !== undefined ) {\n\t\t\t\toptions.active = options.selected === -1 ? false : options.selected;\n\t\t\t}\n\t\t\tthis._super();\n\t\t\toptions.selected = options.active;\n\t\t\tif ( options.selected === false ) {\n\t\t\t\toptions.selected = -1;\n\t\t\t}\n\t\t},\n\n\t\t_setOption: function( key, value ) {\n\t\t\tif ( key !== \"selected\" ) {\n\t\t\t\treturn this._super( key, value );\n\t\t\t}\n\n\t\t\tvar options = this.options;\n\t\t\tthis._super( \"active\", value === -1 ? false : value );\n\t\t\toptions.selected = options.active;\n\t\t\tif ( options.selected === false ) {\n\t\t\t\toptions.selected = -1;\n\t\t\t}\n\t\t},\n\n\t\t_eventHandler: function( event ) {\n\t\t\tthis._superApply( arguments );\n\t\t\tthis.options.selected = this.options.active;\n\t\t\tif ( this.options.selected === false ) {\n\t\t\t\tthis.options.selected = -1;\n\t\t\t}\n\t\t}\n\t});\n\n\t// show and select event\n\t$.widget( \"ui.tabs\", $.ui.tabs, {\n\t\toptions: {\n\t\t\tshow: null,\n\t\t\tselect: null\n\t\t},\n\t\t_create: function() {\n\t\t\tthis._super();\n\t\t\tif ( this.options.active !== false ) {\n\t\t\t\tthis._trigger( \"show\", null, this._ui(\n\t\t\t\t\tthis.active.find( \".ui-tabs-anchor\" )[ 0 ],\n\t\t\t\t\tthis._getPanelForTab( this.active )[ 0 ] ) );\n\t\t\t}\n\t\t},\n\t\t_trigger: function( type, event, data ) {\n\t\t\tvar ret = this._superApply( arguments );\n\t\t\tif ( !ret ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif ( type === \"beforeActivate\" && data.newTab.length ) {\n\t\t\t\tret = this._super( \"select\", event, {\n\t\t\t\t\ttab: data.newTab.find( \".ui-tabs-anchor\" )[ 0],\n\t\t\t\t\tpanel: data.newPanel[ 0 ],\n\t\t\t\t\tindex: data.newTab.closest( \"li\" ).index()\n\t\t\t\t});\n\t\t\t} else if ( type === \"activate\" && data.newTab.length ) {\n\t\t\t\tret = this._super( \"show\", event, {\n\t\t\t\t\ttab: data.newTab.find( \".ui-tabs-anchor\" )[ 0 ],\n\t\t\t\t\tpanel: data.newPanel[ 0 ],\n\t\t\t\t\tindex: data.newTab.closest( \"li\" ).index()\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn ret;\n\t\t}\n\t});\n\n\t// select method\n\t$.widget( \"ui.tabs\", $.ui.tabs, {\n\t\tselect: function( index ) {\n\t\t\tindex = this._getIndex( index );\n\t\t\tif ( index === -1 ) {\n\t\t\t\tif ( this.options.collapsible && this.options.selected !== -1 ) {\n\t\t\t\t\tindex = this.options.selected;\n\t\t\t\t} else {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.anchors.eq( index ).trigger( this.options.event + this.eventNamespace );\n\t\t}\n\t});\n\n\t// cookie option\n\t(function() {\n\n\tvar listId = 0;\n\n\t$.widget( \"ui.tabs\", $.ui.tabs, {\n\t\toptions: {\n\t\t\tcookie: null // e.g. { expires: 7, path: '/', domain: 'jquery.com', secure: true }\n\t\t},\n\t\t_create: function() {\n\t\t\tvar options = this.options,\n\t\t\t\tactive;\n\t\t\tif ( options.active == null && options.cookie ) {\n\t\t\t\tactive = parseInt( this._cookie(), 10 );\n\t\t\t\tif ( active === -1 ) {\n\t\t\t\t\tactive = false;\n\t\t\t\t}\n\t\t\t\toptions.active = active;\n\t\t\t}\n\t\t\tthis._super();\n\t\t},\n\t\t_cookie: function( active ) {\n\t\t\tvar cookie = [ this.cookie ||\n\t\t\t\t( this.cookie = this.options.cookie.name || \"ui-tabs-\" + (++listId) ) ];\n\t\t\tif ( arguments.length ) {\n\t\t\t\tcookie.push( active === false ? -1 : active );\n\t\t\t\tcookie.push( this.options.cookie );\n\t\t\t}\n\t\t\treturn $.cookie.apply( null, cookie );\n\t\t},\n\t\t_refresh: function() {\n\t\t\tthis._super();\n\t\t\tif ( this.options.cookie ) {\n\t\t\t\tthis._cookie( this.options.active, this.options.cookie );\n\t\t\t}\n\t\t},\n\t\t_eventHandler: function( event ) {\n\t\t\tthis._superApply( arguments );\n\t\t\tif ( this.options.cookie ) {\n\t\t\t\tthis._cookie( this.options.active, this.options.cookie );\n\t\t\t}\n\t\t},\n\t\t_destroy: function() {\n\t\t\tthis._super();\n\t\t\tif ( this.options.cookie ) {\n\t\t\t\tthis._cookie( null, this.options.cookie );\n\t\t\t}\n\t\t}\n\t});\n\n\t})();\n\n\t// load event\n\t$.widget( \"ui.tabs\", $.ui.tabs, {\n\t\t_trigger: function( type, event, data ) {\n\t\t\tvar _data = $.extend( {}, data );\n\t\t\tif ( type === \"load\" ) {\n\t\t\t\t_data.panel = _data.panel[ 0 ];\n\t\t\t\t_data.tab = _data.tab.find( \".ui-tabs-anchor\" )[ 0 ];\n\t\t\t}\n\t\t\treturn this._super( type, event, _data );\n\t\t}\n\t});\n\n\t// fx option\n\t// The new animation options (show, hide) conflict with the old show callback.\n\t// The old fx option wins over show/hide anyway (always favor back-compat).\n\t// If a user wants to use the new animation API, they must give up the old API.\n\t$.widget( \"ui.tabs\", $.ui.tabs, {\n\t\toptions: {\n\t\t\tfx: null // e.g. { height: \"toggle\", opacity: \"toggle\", duration: 200 }\n\t\t},\n\n\t\t_getFx: function() {\n\t\t\tvar hide, show,\n\t\t\t\tfx = this.options.fx;\n\n\t\t\tif ( fx ) {\n\t\t\t\tif ( $.isArray( fx ) ) {\n\t\t\t\t\thide = fx[ 0 ];\n\t\t\t\t\tshow = fx[ 1 ];\n\t\t\t\t} else {\n\t\t\t\t\thide = show = fx;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn fx ? { show: show, hide: hide } : null;\n\t\t},\n\n\t\t_toggle: function( event, eventData ) {\n\t\t\tvar that = this,\n\t\t\t\ttoShow = eventData.newPanel,\n\t\t\t\ttoHide = eventData.oldPanel,\n\t\t\t\tfx = this._getFx();\n\n\t\t\tif ( !fx ) {\n\t\t\t\treturn this._super( event, eventData );\n\t\t\t}\n\n\t\t\tthat.running = true;\n\n\t\t\tfunction complete() {\n\t\t\t\tthat.running = false;\n\t\t\t\tthat._trigger( \"activate\", event, eventData );\n\t\t\t}\n\n\t\t\tfunction show() {\n\t\t\t\teventData.newTab.closest( \"li\" ).addClass( \"ui-tabs-active ui-state-active\" );\n\n\t\t\t\tif ( toShow.length && fx.show ) {\n\t\t\t\t\ttoShow\n\t\t\t\t\t\t.animate( fx.show, fx.show.duration, function() {\n\t\t\t\t\t\t\tcomplete();\n\t\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\ttoShow.show();\n\t\t\t\t\tcomplete();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// start out by hiding, then showing, then completing\n\t\t\tif ( toHide.length && fx.hide ) {\n\t\t\t\ttoHide.animate( fx.hide, fx.hide.duration, function() {\n\t\t\t\t\teventData.oldTab.closest( \"li\" ).removeClass( \"ui-tabs-active ui-state-active\" );\n\t\t\t\t\tshow();\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\teventData.oldTab.closest( \"li\" ).removeClass( \"ui-tabs-active ui-state-active\" );\n\t\t\t\ttoHide.hide();\n\t\t\t\tshow();\n\t\t\t}\n\t\t}\n\t});\n}\n\n\n"],"sourceRoot":""}