@@ -121,24 +121,33 @@ function animate(
121
121
{ duration, easingFunction, horizontal} : Options ,
122
122
) {
123
123
for ( const element of [ from , to ] ) {
124
- element . style . pointerEvents = 'none' ;
124
+ if ( ! element || ! element . style ) {
125
+ // eslint-disable-next-line no-console
126
+ console . warn ( 'Element is not HTMLElement' , element ) ;
127
+ }
128
+ if ( element && element . style ) {
129
+ element . style . pointerEvents = 'none' ;
130
+ }
125
131
}
126
-
127
- if ( horizontal ) {
128
- const width = from . offsetWidth ;
129
- from . style . transform = `translate3d(${ width } px, 0, 0)` ;
130
- to . style . transform = `translate3d(-${ width } px, 0, 0)` ;
131
- } else {
132
- const height = from . offsetHeight ;
133
- from . style . transform = `translate3d(0, ${ height } px, 0)` ;
134
- to . style . transform = `translate3d(0, -${ height } px, 0)` ;
132
+ if ( from && to && from . style && to . style ) {
133
+ if ( horizontal ) {
134
+ const width = from . offsetWidth ;
135
+ from . style . transform = `translate3d(${ width } px, 0, 0)` ;
136
+ to . style . transform = `translate3d(-${ width } px, 0, 0)` ;
137
+ } else {
138
+ const height = from . offsetHeight ;
139
+ from . style . transform = `translate3d(0, ${ height } px, 0)` ;
140
+ to . style . transform = `translate3d(0, -${ height } px, 0)` ;
141
+ }
135
142
}
136
143
137
144
requestAnimationFrame ( ( ) => {
138
145
for ( const element of [ from , to ] ) {
139
- element . addEventListener ( 'transitionend' , resetElementOnTransitionEnd ) ;
140
- element . style . transition = `transform ${ duration } ms ${ easingFunction } ` ;
141
- element . style . transform = '' ;
146
+ if ( element && element . style && element . addEventListener ) {
147
+ element . addEventListener ( 'transitionend' , resetElementOnTransitionEnd ) ;
148
+ element . style . transition = `transform ${ duration } ms ${ easingFunction } ` ;
149
+ element . style . transform = '' ;
150
+ }
142
151
}
143
152
} ) ;
144
153
}
0 commit comments