File tree Expand file tree Collapse file tree 3 files changed +58
-2
lines changed Expand file tree Collapse file tree 3 files changed +58
-2
lines changed Original file line number Diff line number Diff line change 3
3
"version" : " 1.0.2" ,
4
4
"description" : " Respond to changes in a DOM element's size. With React Breakpoints, element queries are no longer \" web design's unicorn\" 🦄" ,
5
5
"main" : " dist/index.js" ,
6
+ "types" : " src/index.d.ts" ,
6
7
"scripts" : {
7
8
"build" : " babel src/ -d dist/ --source-maps" ,
8
9
"prepare" : " npm run build"
Original file line number Diff line number Diff line change @@ -4,9 +4,9 @@ import { Context } from './Context';
4
4
import { useBreakpoints } from './useBreakpoints' ;
5
5
6
6
const Observe = ( {
7
- render,
8
7
box = undefined ,
9
- breakpoints = { }
8
+ breakpoints = { } ,
9
+ render
10
10
} ) => {
11
11
const observeOptions = box ? { box } : { } ;
12
12
Original file line number Diff line number Diff line change
1
+ import React from 'react' ;
2
+
3
+ type BoxOptions = 'border-box' | 'content-box' | 'device-pixel-content-box' ;
4
+
5
+ interface ResizeObserverBoxSize {
6
+ readonly inlineSize : number ;
7
+ readonly blockSize : number ;
8
+ }
9
+
10
+ interface ResizeObserverEntry {
11
+ readonly target : Element ;
12
+ readonly contentRect : DOMRectReadOnly ;
13
+ readonly borderBoxSize : Array < ResizeObserverBoxSize > | ResizeObserverBoxSize ;
14
+ readonly contentBoxSize : Array < ResizeObserverBoxSize > | ResizeObserverBoxSize ;
15
+ readonly devicePixelContentBoxSize : Array < ResizeObserverBoxSize > | ResizeObserverBoxSize ;
16
+ }
17
+
18
+ interface Breakpoints {
19
+ [ key : number ] : any ;
20
+ }
21
+
22
+ interface BreakpointsOptions {
23
+ box ?: BoxOptions ;
24
+ widths ?: Breakpoints ;
25
+ heights ?: Breakpoints ;
26
+ fragment ?: number ;
27
+ }
28
+
29
+ interface ObservedElementProps {
30
+ ref : ( ) => React . RefObject < HTMLElement > ;
31
+ }
32
+
33
+ interface ObserveRenderArgs {
34
+ observedElementProps : ObservedElementProps ;
35
+ widthMatch : any ;
36
+ heightMatch : any ;
37
+ }
38
+
39
+ interface ObserveProps {
40
+ box ?: BoxOptions ;
41
+ breakpoints ?: BreakpointsOptions ;
42
+ render : ( {
43
+ observedElementProps,
44
+ widthMatch,
45
+ heightMatch
46
+ } : ObserveRenderArgs ) => React . ReactNode ;
47
+ }
48
+
49
+ export const Observe : ( props : ObserveProps ) => React . ReactNode ;
50
+
51
+ export const useBreakpoints : ( options : BreakpointsOptions , injectResizeObserverEntry ?: ResizeObserverEntry ) => [ any , any ] ;
52
+
53
+ export const useResizeObserverEntry : ( injectResizeObserverEntry ?: ResizeObserverEntry ) => ResizeObserverEntry | null ;
54
+
55
+ export const Context : React . Context < ResizeObserverEntry | null > ;
You can’t perform that action at this time.
0 commit comments