File tree 3 files changed +20
-14
lines changed
packages/SkeletonProvider
3 files changed +20
-14
lines changed Original file line number Diff line number Diff line change 1
- import React , { Fragment } from 'react'
1
+ import React , { createContext } from 'react'
2
2
import PropTypes from 'prop-types'
3
- import { withContext } from 'recompose'
4
3
import AutoSkeletonizer from './AutoSkeletonizer'
5
4
6
- const SkeletonProvider = withContext ( { show : PropTypes . bool } , props => ( {
7
- show : props . show ,
8
- } ) ) ( props => < Fragment > { AutoSkeletonizer ( props . children ) } </ Fragment > )
9
-
5
+ export const SkeletonContext = createContext ( { show : true } )
6
+ function SkeletonProvider ( { show, children, ...rest } ) {
7
+ return (
8
+ < SkeletonContext . Provider value = { { show } } { ...rest } >
9
+ { AutoSkeletonizer ( children ) }
10
+ </ SkeletonContext . Provider >
11
+ )
12
+ }
10
13
SkeletonProvider . propTypes = {
11
14
show : PropTypes . bool ,
15
+ children : PropTypes . node ,
12
16
}
13
17
SkeletonProvider . defaultProps = {
14
18
show : true ,
19
+ children : null ,
15
20
}
16
21
17
22
export default SkeletonProvider
Original file line number Diff line number Diff line change 1
1
{
2
2
"name" : " @tds/community-skeleton-provider" ,
3
- "version" : " 2.3.1 " ,
3
+ "version" : " 2.3.2 " ,
4
4
"description" : " " ,
5
5
"main" : " index.cjs.js" ,
6
6
"module" : " index.es.js" ,
32
32
"@tds/core-colours" : " ^2.2.1" ,
33
33
"@tds/shared-styles" : " ^1.5.2" ,
34
34
"@tds/util-helpers" : " ^1.5.0" ,
35
- "prop-types" : " ^15.6.2" ,
36
- "recompose" : " ^0.30.0"
35
+ "prop-types" : " ^15.6.2"
37
36
}
38
37
}
Original file line number Diff line number Diff line change 1
- import React from 'react'
1
+ import React , { useContext } from 'react'
2
2
import PropTypes from 'prop-types'
3
- import { getContext } from 'recompose'
4
3
5
- export const SkeletonRenderer = getContext ( { show : PropTypes . bool } ) ( props =>
6
- props . show ? props . skeleton ( ) : props . render ( )
7
- )
4
+ import { SkeletonContext } from './SkeletonProvider'
5
+
6
+ function SkeletonRenderer ( props ) {
7
+ const skeleton = useContext ( SkeletonContext )
8
+ return skeleton . show ? props . skeleton ( ) : props . render ( )
9
+ }
8
10
9
11
const getName = comp => comp . displayName || comp . name || 'Component'
10
12
You can’t perform that action at this time.
0 commit comments