File tree Expand file tree Collapse file tree 3 files changed +20
-14
lines changed
packages/SkeletonProvider Expand file tree Collapse file tree 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'
22import PropTypes from 'prop-types'
3- import { withContext } from 'recompose'
43import AutoSkeletonizer from './AutoSkeletonizer'
54
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+ }
1013SkeletonProvider . propTypes = {
1114 show : PropTypes . bool ,
15+ children : PropTypes . node ,
1216}
1317SkeletonProvider . defaultProps = {
1418 show : true ,
19+ children : null ,
1520}
1621
1722export default SkeletonProvider
Original file line number Diff line number Diff line change 11{
22 "name" : " @tds/community-skeleton-provider" ,
3- "version" : " 2.3.1 " ,
3+ "version" : " 2.3.2 " ,
44 "description" : " " ,
55 "main" : " index.cjs.js" ,
66 "module" : " index.es.js" ,
3232 "@tds/core-colours" : " ^2.2.1" ,
3333 "@tds/shared-styles" : " ^1.5.2" ,
3434 "@tds/util-helpers" : " ^1.5.0" ,
35- "prop-types" : " ^15.6.2" ,
36- "recompose" : " ^0.30.0"
35+ "prop-types" : " ^15.6.2"
3736 }
3837}
Original file line number Diff line number Diff line change 1- import React from 'react'
1+ import React , { useContext } from 'react'
22import PropTypes from 'prop-types'
3- import { getContext } from 'recompose'
43
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+ }
810
911const getName = comp => comp . displayName || comp . name || 'Component'
1012
You can’t perform that action at this time.
0 commit comments