@@ -8,45 +8,57 @@ import { renderers as defaultRenderers } from './renderers/index';
8
8
import withHeader from './renderers/wrappers/withHeader'
9
9
import withSeeMore from './renderers/wrappers/withSeeMore'
10
10
11
- const ReactInstaStories = function ( props : ReactInstaStoriesProps ) {
12
- let renderers = props . renderers ? props . renderers . concat ( defaultRenderers ) : defaultRenderers ;
13
- let context : GlobalCtx = {
14
- width : props . width ,
15
- height : props . height ,
16
- loader : props . loader ,
17
- header : props . header ,
18
- storyContainerStyles : props . storyContainerStyles ,
19
- storyInnerContainerStyles : props . storyInnerContainerStyles ,
20
- storyStyles : props . storyStyles ,
21
- progressContainerStyles : props . progressContainerStyles ,
22
- progressWrapperStyles : props . progressWrapperStyles ,
23
- progressStyles : props . progressStyles ,
24
- loop : props . loop ,
25
- defaultInterval : props . defaultInterval ,
26
- isPaused : props . isPaused ,
27
- currentIndex : props . currentIndex ,
28
- onStoryStart : props . onStoryStart ,
29
- onStoryEnd : props . onStoryEnd ,
30
- onAllStoriesEnd : props . onAllStoriesEnd ,
31
- onNext : props . onNext ,
32
- onPrevious : props . onPrevious ,
33
- keyboardNavigation : props . keyboardNavigation ,
34
- preventDefault : props . preventDefault ,
35
- preloadCount : props . preloadCount ,
36
- }
37
- const [ stories , setStories ] = useState < { stories : Story [ ] } > ( { stories : generateStories ( props . stories , renderers ) } ) ;
11
+ const ReactInstaStories = function ( {
12
+ width = 360 ,
13
+ height = 640 ,
14
+ defaultInterval = 4000 ,
15
+ preloadCount = 1 ,
16
+ ...restProps
17
+ } : ReactInstaStoriesProps ) {
18
+ let renderers = restProps . renderers
19
+ ? restProps . renderers . concat ( defaultRenderers )
20
+ : defaultRenderers ;
21
+ let context : GlobalCtx = {
22
+ width,
23
+ height,
24
+ loader : restProps . loader ,
25
+ header : restProps . header ,
26
+ storyContainerStyles : restProps . storyContainerStyles ,
27
+ storyInnerContainerStyles : restProps . storyInnerContainerStyles ,
28
+ storyStyles : restProps . storyStyles ,
29
+ progressContainerStyles : restProps . progressContainerStyles ,
30
+ progressWrapperStyles : restProps . progressWrapperStyles ,
31
+ progressStyles : restProps . progressStyles ,
32
+ loop : restProps . loop ,
33
+ defaultInterval,
34
+ isPaused : restProps . isPaused ,
35
+ currentIndex : restProps . currentIndex ,
36
+ onStoryStart : restProps . onStoryStart ,
37
+ onStoryEnd : restProps . onStoryEnd ,
38
+ onAllStoriesEnd : restProps . onAllStoriesEnd ,
39
+ onNext : restProps . onNext ,
40
+ onPrevious : restProps . onPrevious ,
41
+ keyboardNavigation : restProps . keyboardNavigation ,
42
+ preventDefault : restProps . preventDefault ,
43
+ preloadCount,
44
+ } ;
45
+ const [ stories , setStories ] = useState < { stories : Story [ ] } > ( {
46
+ stories : generateStories ( restProps . stories , renderers ) ,
47
+ } ) ;
38
48
49
+ useEffect ( ( ) => {
50
+ setStories ( { stories : generateStories ( restProps . stories , renderers ) } ) ;
51
+ } , [ restProps . stories , restProps . renderers ] ) ;
39
52
40
- useEffect ( ( ) => {
41
- setStories ( { stories : generateStories ( props . stories , renderers ) } ) ;
42
- } , [ props . stories , props . renderers ] ) ;
43
-
44
- return < GlobalContext . Provider value = { context } >
45
- < StoriesContext . Provider value = { stories } >
46
- < Container />
47
- </ StoriesContext . Provider >
53
+ return (
54
+ < GlobalContext . Provider value = { context } >
55
+ < StoriesContext . Provider value = { stories } >
56
+ < Container />
57
+ </ StoriesContext . Provider >
48
58
</ GlobalContext . Provider >
49
- }
59
+ ) ;
60
+ } ;
61
+
50
62
51
63
const generateStories = ( stories : Story [ ] , renderers : { renderer : Renderer , tester : Tester } [ ] ) => {
52
64
return stories . map ( s => {
@@ -66,13 +78,6 @@ const generateStories = (stories: Story[], renderers: { renderer: Renderer, test
66
78
} )
67
79
} ;
68
80
69
- ReactInstaStories . defaultProps = {
70
- width : 360 ,
71
- height : 640 ,
72
- defaultInterval : 4000 ,
73
- preloadCount : 1 ,
74
- }
75
-
76
81
export const WithHeader = withHeader ;
77
82
export const WithSeeMore = withSeeMore ;
78
83
0 commit comments