File tree 4 files changed +18
-28
lines changed
4 files changed +18
-28
lines changed Original file line number Diff line number Diff line change @@ -2,11 +2,7 @@ import 'core-js/stable';
2
2
import { ResizeObserver as Polyfill } from '@juggle/resize-observer' ;
3
3
import { css } from '@linaria/core' ;
4
4
5
- // @ts -expect-error
6
- if ( typeof ResizeObserver === 'undefined' ) {
7
- // @ts -expect-error
8
- window . ResizeObserver = Polyfill ;
9
- }
5
+ window . ResizeObserver ??= Polyfill ;
10
6
11
7
css `
12
8
: global () {
Original file line number Diff line number Diff line change 98
98
"react-sortable-hoc" : " ^1.11.0" ,
99
99
"rollup" : " ^2.39.0" ,
100
100
"rollup-plugin-postcss" : " ^4.0.0" ,
101
- "typescript" : " ~4.1.5 "
101
+ "typescript" : " ~4.2.2 "
102
102
},
103
103
"peerDependencies" : {
104
104
"react" : " ^16.14 || ^17.0" ,
Original file line number Diff line number Diff line change 1
1
import { useRef , useState , useLayoutEffect } from 'react' ;
2
2
3
- // https://github.com/microsoft/TypeScript/issues/37861
4
- interface ResizeObserverEntry {
5
- contentRect : {
6
- width : number ;
7
- height : number ;
8
- } ;
9
- }
10
-
11
- type ResizeObserver = new ( callback : ( entries : readonly ResizeObserverEntry [ ] ) => void ) => {
12
- observe : ( target : Element ) => void ;
13
- disconnect : ( ) => void ;
14
- } ;
15
-
16
3
export function useGridDimensions ( ) : [ ref : React . RefObject < HTMLDivElement > , width : number , height : number ] {
17
4
const gridRef = useRef < HTMLDivElement > ( null ) ;
18
5
const [ gridWidth , setGridWidth ] = useState ( 1 ) ;
19
6
const [ gridHeight , setGridHeight ] = useState ( 1 ) ;
20
7
21
8
useLayoutEffect ( ( ) => {
22
- const { ResizeObserver } = window as typeof window & { ResizeObserver : ResizeObserver } ;
9
+ const { ResizeObserver } = window ;
23
10
24
11
// don't break in jest/jsdom and browsers that don't support ResizeObserver
25
12
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
Original file line number Diff line number Diff line change 1
- // @ts -expect-error
2
- window . ResizeObserver ??= function ResizeObserver ( callback : ( ) => void ) {
3
- callback ( ) ;
4
-
5
- return {
6
- observe ( ) { } ,
7
- disconnect ( ) { }
8
- } ;
1
+ import 'core-js/stable' ;
2
+
3
+ window . ResizeObserver ??= class {
4
+ callback : ResizeObserverCallback ;
5
+
6
+ constructor ( callback : ResizeObserverCallback ) {
7
+ this . callback = callback ;
8
+ }
9
+
10
+ observe ( ) {
11
+ this . callback ( [ ] , this ) ;
12
+ }
13
+
14
+ unobserve ( ) { }
15
+ disconnect ( ) { }
9
16
} ;
10
17
11
18
// patch clientWidth/clientHeight to pretend we're rendering DataGrid at 1080p
You can’t perform that action at this time.
0 commit comments