@@ -29,18 +29,6 @@ useDefaultProps<DBTabItemProps>({});
2929export default function DBTabItem ( props : DBTabItemProps ) {
3030 const _ref = useRef < HTMLInputElement | any > ( null ) ;
3131
32- function setSelectedOnChange ( event : any ) {
33- event . stopPropagation ( ) ;
34- useTarget ( {
35- stencil : ( ) => {
36- state . _selected = getBooleanAsString ( event . target === _ref ) ;
37- } ,
38- default : ( ) => {
39- state . _selected = event . target === _ref ;
40- }
41- } ) ;
42- }
43-
4432 // jscpd:ignore-start
4533 const state = useStore < DBTabItemState > ( {
4634 _selected : false ,
@@ -58,6 +46,18 @@ export default function DBTabItem(props: DBTabItemProps) {
5846 } ;
5947 }
6048 } ,
49+ setSelectedOnChange : ( event : any ) => {
50+ event . stopPropagation ( ) ;
51+ console . log ( 'setSelectedOnChange' , event . target === _ref ) ;
52+ useTarget ( {
53+ stencil : ( ) => {
54+ state . _selected = getBooleanAsString ( event . target === _ref ) ;
55+ } ,
56+ default : ( ) => {
57+ state . _selected = event . target === _ref ;
58+ }
59+ } ) ;
60+ } ,
6161 handleChange : ( event : any ) => {
6262 if ( props . onChange ) {
6363 props . onChange ( event ) ;
@@ -77,20 +77,23 @@ export default function DBTabItem(props: DBTabItemProps) {
7777 // jscpd:ignore-end
7878
7979 onUpdate ( ( ) => {
80+ console . log ( 'onUpdate triggered' , state . initialized , _ref ) ;
8081 if ( state . initialized && _ref ) {
8182 useTarget ( { react : ( ) => state . handleNameAttribute ( ) } ) ;
8283 state . initialized = false ;
8384
8485 // deselect this tab when another tab in tablist is selected
8586 if ( ! state . _listenerAdded ) {
87+ console . log ( 'adding listener' ) ;
8688 _ref . closest ( '[role=tablist]' ) ?. addEventListener (
8789 'change' ,
88- setSelectedOnChange
90+ state . setSelectedOnChange
8991 ) ;
9092 state . _listenerAdded = true ;
9193 }
9294
9395 if ( props . active || _ref . checked ) {
96+ console . log ( 'active or checked' , props . active , _ref . checked ) ;
9497 useTarget ( {
9598 stencil : ( ) => {
9699 state . _selected = getBooleanAsString ( true ) ;
@@ -112,9 +115,10 @@ export default function DBTabItem(props: DBTabItemProps) {
112115
113116 onUnMount ( ( ) => {
114117 if ( state . _listenerAdded && _ref ) {
118+ console . log ( 'removing listener' ) ;
115119 _ref . closest ( '[role=tablist]' ) ?. removeEventListener (
116120 'change' ,
117- setSelectedOnChange
121+ state . setSelectedOnChange
118122 ) ;
119123 state . _listenerAdded = false ;
120124 }
0 commit comments