File tree Expand file tree Collapse file tree 4 files changed +40
-4
lines changed
Expand file tree Collapse file tree 4 files changed +40
-4
lines changed Original file line number Diff line number Diff line change 196196 "kind" : " field" ,
197197 "name" : " selectedTabIndex"
198198 },
199+ {
200+ "kind" : " field" ,
201+ "name" : " defaultTabIndex"
202+ },
199203 {
200204 "kind" : " method" ,
201205 "name" : " selectTab" ,
550554 "text" : " number"
551555 }
552556 },
557+ {
558+ "kind" : " field" ,
559+ "name" : " defaultTabIndex" ,
560+ "type" : {
561+ "text" : " number"
562+ }
563+ },
553564 {
554565 "kind" : " method" ,
555566 "name" : " selectTab" ,
Original file line number Diff line number Diff line change @@ -100,6 +100,23 @@ <h2>Set initially selected tab</h2>
100100 </ div >
101101 </ tab-container >
102102
103+ < h2 > Set default tab</ h2 >
104+
105+ < tab-container default-tab-index ="1 ">
106+ < button type ="button " id ="tab-one " role ="tab "> Tab one</ button >
107+ < button type ="button " id ="tab-two " role ="tab "> Tab two</ button >
108+ < button type ="button " id ="tab-three " role ="tab "> Tab three</ button >
109+ < div role ="tabpanel " aria-labelledby ="tab-one " hidden >
110+ Panel 1
111+ </ div >
112+ < div role ="tabpanel " aria-labelledby ="tab-two ">
113+ Panel 2
114+ </ div >
115+ < div role ="tabpanel " aria-labelledby ="tab-three " hidden >
116+ Panel 3
117+ </ div >
118+ </ tab-container >
119+
103120 < h2 > Panel with extra buttons</ h2 >
104121
105122 < tab-container >
@@ -123,7 +140,7 @@ <h2>Panel with extra buttons</h2>
123140
124141 </ main >
125142
126- <!-- <script src="../dist/index.js" type="module"></script> -->
143+ <!--<script src="../dist/index.js" type="module"></script>-->
127144 < script src ="https://unpkg.com/@github/tab-container-element@latest/dist/index.js " type ="module "> </ script >
128145</ body >
129146</ html >
Original file line number Diff line number Diff line change @@ -254,6 +254,14 @@ export class TabContainerElement extends HTMLElement {
254254 this . selectTab ( i )
255255 }
256256
257+ get defaultTabIndex ( ) : number {
258+ return Number ( this . getAttribute ( 'default-tab' ) || - 1 )
259+ }
260+
261+ set defaultTabIndex ( index : number ) {
262+ this . setAttribute ( 'default-tab' , String ( index ) )
263+ }
264+
257265 selectTab ( index : number ) : void {
258266 if ( ! this . #setupComplete) {
259267 const tabListSlot = this . #tabListSlot
@@ -310,7 +318,7 @@ export class TabContainerElement extends HTMLElement {
310318 for ( const el of afterTabSlotted ) el . setAttribute ( 'slot' , 'after-tabs' )
311319 for ( const el of afterSlotted ) el . setAttribute ( 'slot' , 'after-panels' )
312320 }
313- const defaultTab = Number ( this . getAttribute ( 'default-tab' ) || - 1 )
321+ const defaultTab = this . defaultTabIndex
314322 const defaultIndex = defaultTab >= 0 ? defaultTab : this . selectedTabIndex
315323 index = index >= 0 ? index : Math . max ( 0 , defaultIndex )
316324 }
Original file line number Diff line number Diff line change @@ -108,10 +108,10 @@ describe('tab-container', function () {
108108 } )
109109 } )
110110
111- describe ( 'after tree insertion with default-tab ' , function ( ) {
111+ describe ( 'after tree insertion with defaulTabIndex ' , function ( ) {
112112 beforeEach ( function ( ) {
113113 document . body . innerHTML = `
114- <tab-container default-tab=1 >
114+ <tab-container default-tab="1" >
115115 <button type="button" role="tab">Tab one</button>
116116 <button type="button" role="tab">Tab two</button>
117117 <button type="button" role="tab">Tab three</button>
You can’t perform that action at this time.
0 commit comments