@@ -44,14 +44,16 @@ export default class ResizeItem<C extends IConfig = IConfig> {
4444
4545 private advance ( forwards : boolean ) : ResizeItem | undefined {
4646 // opposite direction from fromResizeHandle to get back to handle
47- let handle = this . reverse ? this . domNode . previousElementSibling : this . domNode . nextElementSibling ;
47+ let handle : Element | null | undefined = this . reverse
48+ ? this . domNode . previousElementSibling
49+ : this . domNode . nextElementSibling ;
4850 const moveNext = forwards !== this . reverse ; // xor
4951 // iterate at least once to avoid infinite loop
5052 do {
5153 if ( moveNext ) {
52- handle = handle . nextElementSibling ;
54+ handle = handle ? .nextElementSibling ;
5355 } else {
54- handle = handle . previousElementSibling ;
56+ handle = handle ? .previousElementSibling ;
5557 }
5658 } while ( handle && ! this . resizer . isResizeHandle ( < HTMLElement > handle ) ) ;
5759
@@ -105,6 +107,9 @@ export default class ResizeItem<C extends IConfig = IConfig> {
105107 }
106108
107109 public first ( ) : ResizeItem | undefined {
110+ if ( ! this . domNode . parentElement ?. children ) {
111+ return ;
112+ }
108113 const firstHandle = Array . from ( this . domNode . parentElement . children ) . find ( ( el ) => {
109114 return this . resizer . isResizeHandle ( < HTMLElement > el ) ;
110115 } ) ;
@@ -114,6 +119,9 @@ export default class ResizeItem<C extends IConfig = IConfig> {
114119 }
115120
116121 public last ( ) : ResizeItem | undefined {
122+ if ( ! this . domNode . parentElement ?. children ) {
123+ return ;
124+ }
117125 const lastHandle = Array . from ( this . domNode . parentElement . children )
118126 . reverse ( )
119127 . find ( ( el ) => {
0 commit comments