1
1
# React Responsive Carousel (React 0.14)
2
2
3
- * Note: If you need support for IE8 or older versions of React, install version 0.1.6
4
-
5
- ## Demo
6
-
7
- http://leandrowd.github.io/react-responsive-carousel/
3
+ ## Demos and docs:
4
+ [ http://leandrowd.github.io/react-responsive-carousel/ ] ( http://leandrowd.github.io/react-responsive-carousel/ )
8
5
6
+ * Note: If you need support for IE8 or older versions of React, install version 0.1.6
9
7
10
8
## Installing as a package
11
-
12
9
` npm install react-responsive-carousel --save `
13
10
14
-
15
- ## Running locally
16
-
17
- To run it on your local environment just:
18
-
19
- - ` git clone [email protected] :leandrowd/react-responsive-carousel.git `
20
- - ` npm install `
21
- - ` gulp `
22
- - Open your favourite browser on ` localhost:8000 `
23
-
24
- To generate the npm package run ` gulp package ` . It will transpile the jsx to js and copy the css into the lib folder.
25
-
26
-
27
- ## Contributing
28
-
29
- Please, feel free to contributing. You may file an issue or submit a pull request!
30
-
31
-
32
11
## Getting started
33
-
34
- ### Slider with controls
35
-
36
- - Javascript / Jsx:
37
-
38
- ``` javascript
39
- /** @jsx React.DOM */
40
- var React = require (' react' );
41
- var Carousel = require (' ./components/Carousel' );
42
-
43
- var DemoSliderControls = React .createClass ({
44
- render () {
45
- return (
46
- < div className= " demo-slider" >
47
- < Carousel
48
- type= " slider"
49
- items= { sliderImages }
50
- showControls= {true }
51
- showStatus= {true } / >
52
- < / div>
53
- );
54
- }
55
- });
56
-
57
- React .render (< DemoSliderControls / > , document .querySelector (' .demo-slider-controls' ));
58
- ```
59
-
60
- - Css:
61
-
62
- ``` css
63
- <link rel="stylesheet" href="carousel.css"/>
64
- ```
65
-
66
- - Props:
12
+ - Possible properties:
67
13
- (Array) items
68
14
- (Boolean) showControls
69
15
- (Boolean) showStatus
@@ -72,34 +18,62 @@ React.render(<DemoSliderControls />, document.querySelector('.demo-slider-contro
72
18
- (Function) onSelectItem
73
19
- Triggered when an item is selected
74
20
21
+ - Usage:
75
22
76
- ### Carousel
77
-
78
- - Javascript / Jsx:
23
+ ### Slider with controls
79
24
80
25
``` javascript
81
- /** @jsx React.DOM */
82
26
var React = require (' react' );
83
- var Carousel = require (' ./components/Carousel' );
84
-
85
- var DemoCarousel = React .createClass ({
86
- render () {
87
- return (
88
- < div className= " demo-carousel" >
89
- < Carousel items= { carouselImages } / >
90
- < / div>
91
- );
92
- }
93
- });
94
-
95
- React .render (< DemoCarousel / > , document .querySelector (' .demo-carousel' ));
27
+ var ReactDOM = require (' react-dom' );
28
+ var Carousel = require (' react-responsive-carousel' ).Carousel ;
29
+
30
+ var DemoSliderControls = function (){
31
+ return (
32
+ < Carousel type= " slider" showControls= {true } showStatus= {true }>
33
+ < img src= " assets/1.jpeg" / >
34
+ < img src= " assets/2.jpeg" / >
35
+ < img src= " assets/3.jpeg" / >
36
+ < img src= " assets/4.jpeg" / >
37
+ < img src= " assets/5.jpeg" / >
38
+ < img src= " assets/6.jpeg" / >
39
+ < img src= " assets/7.jpeg" / >
40
+ < / Carousel>
41
+ );
42
+ };
43
+
44
+ ReactDOM .render (< DemoSliderControls / > , document .querySelector (' .demo-slider-controls' ));
45
+
46
+ // Don't forget to include the css in your page
47
+ // <link rel="stylesheet" href="carousel.css"/>
96
48
```
97
49
98
50
99
- - Css:
100
51
101
- ``` css
102
- <link rel="stylesheet" href="carousel.css"/>
52
+ ### Carousel
53
+
54
+ ``` javascript
55
+ var React = require (' react' );
56
+ var ReactDOM = require (' react-dom' );
57
+ var ImageGallery = require (' react-responsive-carousel' ).ImageGallery ;
58
+
59
+ var DemoGallery = function () {
60
+ return (
61
+ < ImageGallery showControls= {true } showStatus= {true }>
62
+ < img src= " assets/1.jpeg" / >
63
+ < img src= " assets/2.jpeg" / >
64
+ < img src= " assets/3.jpeg" / >
65
+ < img src= " assets/4.jpeg" / >
66
+ < img src= " assets/5.jpeg" / >
67
+ < img src= " assets/6.jpeg" / >
68
+ < / ImageGallery>
69
+ );
70
+ };
71
+
72
+ ReactDOM .render (< DemoGallery / > , document .querySelector (' .demo-gallery' ));
73
+
74
+ // Don't forget to include the css in your page
75
+ // <link rel="stylesheet" href="imageGallery.css"/>
76
+ // <link rel="stylesheet" href="carousel.css"/>
103
77
```
104
78
105
79
- Props:
@@ -112,89 +86,87 @@ React.render(<DemoCarousel />, document.querySelector('.demo-carousel'));
112
86
- Triggered when an item is selected
113
87
114
88
115
-
116
89
### Image Gallery
117
90
118
- - Javascript / Jsx:
119
91
``` javascript
120
- /** @jsx React.DOM */
121
92
var React = require (' react' );
122
- var ImageGallery = require (' ./components/ImageGallery' );
123
-
124
- var DemoGallery = React .createClass ({
125
- render () {
126
- return (
127
- < div className= " demo-image-gallery" >
128
- < ImageGallery images= { galleryImages } / >
129
- < / div>
130
- );
131
- }
132
- });
133
-
134
- React .render (< DemoGallery / > , document .querySelector (' .demo-gallery' ));
135
- ```
136
-
137
- - Css:
138
- ``` css
139
- <link rel="stylesheet" href="imageGallery.css"/>
140
- <link rel="stylesheet" href="carousel.css"/>
93
+ var ReactDOM = require (' react-dom' );
94
+ var Carousel = require (' react-responsive-carousel' ).Carousel ;
95
+
96
+ var DemoCarousel = function () {
97
+ return (
98
+ < Carousel>
99
+ < img src= " assets/1.jpeg" / >
100
+ < img src= " assets/2.jpeg" / >
101
+ < img src= " assets/3.jpeg" / >
102
+ < img src= " assets/4.jpeg" / >
103
+ < img src= " assets/5.jpeg" / >
104
+ < img src= " assets/6.jpeg" / >
105
+ < img src= " assets/7.jpeg" / >
106
+ < / Carousel>
107
+ );
108
+ };
109
+
110
+ ReactDOM .render (< DemoCarousel / > , document .querySelector (' .demo-carousel' ));
111
+
112
+ // Don't forget to include the css in your page
113
+ // <link rel="stylesheet" href="carousel.css"/>
141
114
```
142
115
143
- - Props:
144
- - images
145
-
146
-
147
-
148
116
### How to build your own gallery
149
117
150
118
So simple, just add one carousel[ type=slider] and another carousel sending the same parameters for both:
151
119
152
120
- Javascript / Jsx:
153
121
154
122
``` javascript
155
- /** @jsx React.DOM */
156
- var React = require (' react/addons' );
123
+ var React = require (' react' );
157
124
var Carousel = require (' ./Carousel' );
158
125
159
126
module .exports = React .createClass ({
160
127
161
- propsTypes: {
162
- images: React .PropTypes .array .isRequired
128
+ getDefaultProps () {
129
+ return {
130
+ selectedItem: 0
131
+ }
163
132
},
164
133
165
134
getInitialState () {
166
135
return {
167
- currentImage : 0
136
+ selectedItem : this . props . selectedItem
168
137
}
169
138
},
170
139
171
140
selectItem (selectedItem ) {
172
141
this .setState ({
173
- currentImage : selectedItem
142
+ selectedItem : selectedItem
174
143
});
175
144
},
176
145
177
146
render () {
178
- var { images } = this .props ;
179
- var { current } = this .state ;
180
- var mainImage = (images && images[current] && images[current].url );
181
-
182
147
return (
183
148
< div className= " image-gallery" >
184
- < Carousel
185
- type= " slider"
186
- items= { images }
187
- selectedItem= {this .state .currentImage }
188
- onChange= {this .selectItem }
189
- onSelectItem= { this .selectItem } / >
190
-
191
- < Carousel
192
- items= { images }
193
- selectedItem= {this .state .currentImage }
194
- onSelectItem= { this .selectItem } / >
149
+ < Carousel type= " slider" selectedItem= {this .state .selectedItem } showControls= {this .props .showControls } showStatus= {this .props .showStatus } onChange= {this .selectItem } onSelectItem= { this .selectItem }>
150
+ { this .props .children }
151
+ < / Carousel>
152
+ < Carousel selectedItem= {this .state .selectedItem } onSelectItem= { this .selectItem }>
153
+ { this .props .children }
154
+ < / Carousel>
195
155
< / div>
196
156
);
197
157
}
198
158
});
199
159
```
200
160
161
+ ## Running locally
162
+ To run it on your local environment just:
163
+
164
+ - ` git clone [email protected] :leandrowd/react-responsive-carousel.git `
165
+ - ` npm install `
166
+ - ` gulp `
167
+ - Open your favourite browser on ` localhost:8000 `
168
+
169
+ To generate the npm package run ` gulp package ` . It will transpile the jsx to js and copy the css into the lib folder.
170
+
171
+ ## Contributing
172
+ Please, feel free to contributing. You may file an issue or submit a pull request!
0 commit comments