@@ -26,7 +26,7 @@ export interface TabsOptions extends BaseOptions {
26
26
responsiveThreshold : number ;
27
27
} ;
28
28
29
- let _defaults : TabsOptions = {
29
+ const _defaults : TabsOptions = {
30
30
duration : 300 ,
31
31
onShow : null ,
32
32
swipeable : false ,
@@ -39,9 +39,9 @@ export class Tabs extends Component<TabsOptions> {
39
39
_indicator : HTMLLIElement ;
40
40
_tabWidth : number ;
41
41
_tabsWidth : number ;
42
- _tabsCarousel : any ;
43
- _activeTabLink : any ;
44
- _content : any ;
42
+ _tabsCarousel : Carousel ;
43
+ _activeTabLink : HTMLAnchorElement ;
44
+ _content : HTMLElement ;
45
45
46
46
constructor ( el : HTMLElement , options : Partial < TabsOptions > ) {
47
47
super ( el , options , Tabs ) ;
@@ -135,12 +135,12 @@ export class Tabs extends Component<TabsOptions> {
135
135
136
136
if ( ! tabLink )
137
137
return ;
138
- var tab = tabLink . parentElement ;
138
+ let tab = tabLink . parentElement ;
139
139
while ( tab && ! tab . classList . contains ( 'tab' ) ) {
140
140
tabLink = tabLink . parentElement as HTMLAnchorElement ;
141
141
tab = tab . parentElement ;
142
142
}
143
-
143
+
144
144
// Handle click on tab link only
145
145
if ( ! tabLink || ! tab . classList . contains ( 'tab' ) ) return ;
146
146
// is disabled?
@@ -204,18 +204,19 @@ export class Tabs extends Component<TabsOptions> {
204
204
this . _activeTabLink = Array . from ( this . _tabLinks ) . find ( ( a : HTMLAnchorElement ) => a . getAttribute ( 'href' ) === location . hash ) ;
205
205
// If no match is found, use the first link or any with class 'active' as the initial active tab.
206
206
if ( ! this . _activeTabLink ) {
207
- this . _activeTabLink = this . el . querySelector ( 'li.tab a.active' ) ;
208
- }
209
- if ( this . _activeTabLink . length === 0 ) {
210
- this . _activeTabLink = this . el . querySelector ( 'li.tab a' ) ;
207
+ let activeTabLink = this . el . querySelector ( 'li.tab a.active' ) ;
208
+ if ( ! activeTabLink ) {
209
+ activeTabLink = this . el . querySelector ( 'li.tab a' ) ;
210
+ }
211
+ this . _activeTabLink = ( activeTabLink as HTMLAnchorElement ) ;
211
212
}
212
213
Array . from ( this . _tabLinks ) . forEach ( ( a : HTMLAnchorElement ) => a . classList . remove ( 'active' ) ) ;
213
214
this . _activeTabLink . classList . add ( 'active' ) ;
214
215
215
216
this . _index = Math . max ( Array . from ( this . _tabLinks ) . indexOf ( this . _activeTabLink ) , 0 ) ;
216
217
if ( this . _activeTabLink && this . _activeTabLink . hash ) {
217
218
this . _content = document . querySelector ( this . _activeTabLink . hash ) ;
218
- if ( this . _content )
219
+ if ( this . _content )
219
220
this . _content . classList . add ( 'active' ) ;
220
221
}
221
222
}
@@ -230,7 +231,7 @@ export class Tabs extends Component<TabsOptions> {
230
231
if ( a . hash ) {
231
232
const currContent = document . querySelector ( a . hash ) ;
232
233
currContent . classList . add ( 'carousel-item' ) ;
233
- tabsContent . push ( currContent ) ;
234
+ tabsContent . push ( currContent ) ;
234
235
}
235
236
} ) ;
236
237
@@ -271,7 +272,7 @@ export class Tabs extends Component<TabsOptions> {
271
272
const tabsWrapper = this . _tabsCarousel . el ;
272
273
this . _tabsCarousel . destroy ( ) ;
273
274
// Unwrap
274
- tabsWrapper . after ( tabsWrapper . children ) ;
275
+ tabsWrapper . append ( tabsWrapper . parentElement ) ;
275
276
tabsWrapper . remove ( ) ;
276
277
}
277
278
0 commit comments