@@ -29,6 +29,16 @@ return $.widget( "ui.tabs", {
2929 delay : 300 ,
3030 options : {
3131 active : null ,
32+ classes : {
33+ "ui-tabs" : "ui-corner-all" ,
34+ "ui-tabs-collapsible" : null ,
35+ "ui-tabs-active" : null ,
36+ "ui-tabs-nav" : "ui-corner-all" ,
37+ "ui-tab" : "ui-corner-top" ,
38+ "ui-tabs-anchor" : null ,
39+ "ui-tabs-panel" : "ui-corner-bottom" ,
40+ "ui-tabs-loading" : null
41+ } ,
3242 collapsible : false ,
3343 event : "click" ,
3444 heightStyle : "content" ,
@@ -74,8 +84,8 @@ return $.widget( "ui.tabs", {
7484 this . running = false ;
7585
7686 this . element
77- . addClass ( "ui-tabs ui-widget ui-widget-content ui-corner-all " )
78- . toggleClass ( "ui-tabs-collapsible" , options . collapsible ) ;
87+ . addClass ( this . _classes ( "ui-tabs" ) + " ui-widget ui-widget-content" )
88+ . toggleClass ( this . _classes ( "ui-tabs-collapsible" ) , options . collapsible ) ;
7989
8090 this . _processTabs ( ) ;
8191 options . active = this . _initialActive ( ) ;
@@ -281,7 +291,7 @@ return $.widget( "ui.tabs", {
281291 this . _super ( key , value ) ;
282292
283293 if ( key === "collapsible" ) {
284- this . element . toggleClass ( "ui-tabs-collapsible" , value ) ;
294+ this . element . toggleClass ( this . _classes ( "ui-tabs-collapsible" ) , value ) ;
285295 // Setting collapsible: false while collapsed; open first panel
286296 if ( ! value && this . options . active === false ) {
287297 this . _activate ( 0 ) ;
@@ -357,7 +367,7 @@ return $.widget( "ui.tabs", {
357367 this . tabs . eq ( 0 ) . attr ( "tabIndex" , 0 ) ;
358368 } else {
359369 this . active
360- . addClass ( "ui-tabs-active ui-state-active" )
370+ . addClass ( this . _classes ( "ui-tabs-active" ) + " ui-state-active" )
361371 . attr ( {
362372 "aria-selected" : "true" ,
363373 "aria-expanded" : "true" ,
@@ -378,7 +388,7 @@ return $.widget( "ui.tabs", {
378388 prevPanels = this . panels ;
379389
380390 this . tablist = this . _getList ( )
381- . addClass ( "ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all " )
391+ . addClass ( this . _classes ( "ui-tabs-nav" ) + " ui-helper-reset ui-helper-clearfix ui-widget-header" )
382392 . attr ( "role" , "tablist" )
383393
384394 // Prevent users from focusing disabled tabs via click
@@ -401,7 +411,7 @@ return $.widget( "ui.tabs", {
401411 } ) ;
402412
403413 this . tabs = this . tablist . find ( "> li:has(a[href])" )
404- . addClass ( "ui-state-default ui-corner-top " )
414+ . addClass ( this . _classes ( "ui-tab" ) + " ui-state-default " )
405415 . attr ( {
406416 role : "tab" ,
407417 tabIndex : - 1
@@ -410,7 +420,7 @@ return $.widget( "ui.tabs", {
410420 this . anchors = this . tabs . map ( function ( ) {
411421 return $ ( "a" , this ) [ 0 ] ;
412422 } )
413- . addClass ( "ui-tabs-anchor" )
423+ . addClass ( that . _classes ( "ui-tabs-anchor" ) )
414424 . attr ( {
415425 role : "presentation" ,
416426 tabIndex : - 1
@@ -457,7 +467,7 @@ return $.widget( "ui.tabs", {
457467 } ) ;
458468
459469 this . panels
460- . addClass ( "ui-tabs-panel ui-widget-content ui-corner-bottom " )
470+ . addClass ( this . _classes ( "ui-tabs-panel" ) + " ui-widget-content" )
461471 . attr ( "role" , "tabpanel" ) ;
462472
463473 // Avoid memory leaks (#10056)
@@ -476,7 +486,7 @@ return $.widget( "ui.tabs", {
476486 _createPanel : function ( id ) {
477487 return $ ( "<div>" )
478488 . attr ( "id" , id )
479- . addClass ( "ui-tabs-panel ui-widget-content ui-corner-bottom " )
489+ . addClass ( this . _classes ( "ui-tabs-panel" ) + " ui-widget-content" )
480490 . data ( "ui-tabs-destroy" , true ) ;
481491 } ,
482492
@@ -624,7 +634,7 @@ return $.widget( "ui.tabs", {
624634 }
625635
626636 function show ( ) {
627- eventData . newTab . closest ( "li" ) . addClass ( "ui-tabs-active ui-state-active" ) ;
637+ eventData . newTab . closest ( "li" ) . addClass ( that . _classes ( "ui-tabs-active" ) + " ui-state-active" ) ;
628638
629639 if ( toShow . length && that . options . show ) {
630640 that . _show ( toShow , that . options . show , complete ) ;
@@ -637,11 +647,11 @@ return $.widget( "ui.tabs", {
637647 // start out by hiding, then showing, then completing
638648 if ( toHide . length && this . options . hide ) {
639649 this . _hide ( toHide , this . options . hide , function ( ) {
640- eventData . oldTab . closest ( "li" ) . removeClass ( "ui-tabs-active ui-state-active" ) ;
650+ eventData . oldTab . closest ( "li" ) . removeClass ( that . _classes ( "ui-tabs-active" ) + " ui-state-active" ) ;
641651 show ( ) ;
642652 } ) ;
643653 } else {
644- eventData . oldTab . closest ( "li" ) . removeClass ( "ui-tabs-active ui-state-active" ) ;
654+ eventData . oldTab . closest ( "li" ) . removeClass ( this . _classes ( "ui-tabs-active" ) + " ui-state-active" ) ;
645655 toHide . hide ( ) ;
646656 show ( ) ;
647657 }
@@ -707,18 +717,19 @@ return $.widget( "ui.tabs", {
707717 } ,
708718
709719 _destroy : function ( ) {
720+ var that = this ;
710721 if ( this . xhr ) {
711722 this . xhr . abort ( ) ;
712723 }
713724
714- this . element . removeClass ( "ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible " ) ;
725+ this . element . removeClass ( this . _classes ( "ui-tabs ui-tabs-collapsible" ) + " ui-widget ui-widget-content " ) ;
715726
716727 this . tablist
717- . removeClass ( "ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all " )
728+ . removeClass ( this . _classes ( "ui-tabs-nav" ) + " ui-helper-reset ui-helper-clearfix ui-widget-header" )
718729 . removeAttr ( "role" ) ;
719730
720731 this . anchors
721- . removeClass ( "ui-tabs-anchor" )
732+ . removeClass ( this . _classes ( "ui-tabs-anchor" ) )
722733 . removeAttr ( "role" )
723734 . removeAttr ( "tabIndex" )
724735 . removeUniqueId ( ) ;
@@ -730,8 +741,8 @@ return $.widget( "ui.tabs", {
730741 $ ( this ) . remove ( ) ;
731742 } else {
732743 $ ( this )
733- . removeClass ( "ui-state-default ui-state-active ui-state-disabled " +
734- "ui-corner-top ui-corner-bottom ui-widget-content ui-tabs- active ui-tabs-panel " )
744+ . removeClass ( that . _classes ( "ui-tabs-active ui-tab ui-tabs-panel" ) +
745+ " ui-helper-reset ui-helper-clearfix ui-widget-content ui-state-default ui-state- active ui-state-disabled " )
735746 . removeAttr ( "tabIndex" )
736747 . removeAttr ( "aria-live" )
737748 . removeAttr ( "aria-busy" )
@@ -829,7 +840,7 @@ return $.widget( "ui.tabs", {
829840 // jQuery <1.8 returns false if the request is canceled in beforeSend,
830841 // but as of 1.8, $.ajax() always returns a jqXHR object.
831842 if ( this . xhr && this . xhr . statusText !== "canceled" ) {
832- tab . addClass ( "ui-tabs-loading" ) ;
843+ tab . addClass ( this . _classes ( "ui-tabs-loading" ) ) ;
833844 panel . attr ( "aria-busy" , "true" ) ;
834845
835846 this . xhr
@@ -849,7 +860,7 @@ return $.widget( "ui.tabs", {
849860 that . panels . stop ( false , true ) ;
850861 }
851862
852- tab . removeClass ( "ui-tabs-loading" ) ;
863+ tab . removeClass ( that . _classes ( "ui-tabs-loading" ) ) ;
853864 panel . removeAttr ( "aria-busy" ) ;
854865
855866 if ( jqXHR === that . xhr ) {
0 commit comments