@@ -2,19 +2,20 @@ import {fireEvent} from '@testing-library/dom'
22import {
33 isLabelWithInternallyDisabledControl ,
44 getMouseEventOptions ,
5+ isDisabled ,
56} from './utils'
67
78// includes `element`
8- function getParentElements ( element ) {
9+ function getParentElements ( element : Element ) {
910 const parentElements = [ element ]
10- let currentElement = element
11+ let currentElement : Element | null = element
1112 while ( ( currentElement = currentElement . parentElement ) != null ) {
1213 parentElements . push ( currentElement )
1314 }
1415 return parentElements
1516}
1617
17- function hover ( element , init ) {
18+ function hover ( element : Element , init ?: MouseEventInit ) {
1819 if ( isLabelWithInternallyDisabledControl ( element ) ) return
1920
2021 const parentElements = getParentElements ( element ) . reverse ( )
@@ -23,32 +24,32 @@ function hover(element, init) {
2324 for ( const el of parentElements ) {
2425 fireEvent . pointerEnter ( el , init )
2526 }
26- if ( ! element . disabled ) {
27+ if ( ! isDisabled ( element ) ) {
2728 fireEvent . mouseOver ( element , getMouseEventOptions ( 'mouseover' , init ) )
2829 for ( const el of parentElements ) {
2930 fireEvent . mouseEnter ( el , getMouseEventOptions ( 'mouseenter' , init ) )
3031 }
3132 }
3233 fireEvent . pointerMove ( element , init )
33- if ( ! element . disabled ) {
34+ if ( ! isDisabled ( element ) ) {
3435 fireEvent . mouseMove ( element , getMouseEventOptions ( 'mousemove' , init ) )
3536 }
3637}
3738
38- function unhover ( element , init ) {
39+ function unhover ( element : Element , init ?: MouseEventInit ) {
3940 if ( isLabelWithInternallyDisabledControl ( element ) ) return
4041
4142 const parentElements = getParentElements ( element )
4243
4344 fireEvent . pointerMove ( element , init )
44- if ( ! element . disabled ) {
45+ if ( ! isDisabled ( element ) ) {
4546 fireEvent . mouseMove ( element , getMouseEventOptions ( 'mousemove' , init ) )
4647 }
4748 fireEvent . pointerOut ( element , init )
4849 for ( const el of parentElements ) {
4950 fireEvent . pointerLeave ( el , init )
5051 }
51- if ( ! element . disabled ) {
52+ if ( ! isDisabled ( element ) ) {
5253 fireEvent . mouseOut ( element , getMouseEventOptions ( 'mouseout' , init ) )
5354 for ( const el of parentElements ) {
5455 fireEvent . mouseLeave ( el , getMouseEventOptions ( 'mouseleave' , init ) )
0 commit comments