Skip to content

Commit 1964ea8

Browse files
author
patricktr
committed
add support for react-slick responsive breakpoints
gracefully handle breakpoints via componentDidUpdate lifecycle update package version update demo update changelog
1 parent beb52ab commit 1964ea8

File tree

6 files changed

+305
-170
lines changed

6 files changed

+305
-170
lines changed

CHANGELOG.md

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,19 @@
1+
<a name="1.2.0"></a>
2+
3+
# [1.2.0](https://github.com/patricktran/react-magic-slider-dots/compare/v1.1.3...v.1.2.0) (2019-09-10)
4+
5+
Support for responsive breakpoints from react-slick
6+
17
<a name="1.1.3"></a>
8+
29
# [1.1.3](https://github.com/patricktran/react-magic-slider-dots/compare/v1.1.1...v.1.1.3) (2019-07-03)
310

411
Support for infinite={true} from react-slick
512

613
<a name="1.1.2"></a>
7-
# [1.1.1/1.1.2] (2018-08-10)
14+
15+
# [1.1.1/1.1.2](2018-08-10)
816

917
Support for initialSlide value from react-slick being greater than 0
10-
Use translateX hardware accelerated CSS
11-
Update package.json keywords
18+
Use translateX hardware accelerated CSS
19+
Update package.json keywords

example/package-lock.json

Lines changed: 6 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

example/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
"react-dom": "^16.4.1",
1111
"react-magic-slider-dots": "file:..",
1212
"react-scripts": "^1.1.4",
13-
"react-slick": "^0.23.1",
13+
"react-slick": "^0.25.2",
1414
"react-syntax-highlighter": "^8.0.1",
1515
"react-toggle-button": "^2.2.0"
1616
},

example/src/App.js

Lines changed: 41 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,72 +1,93 @@
11
import React, { Component } from 'react';
2-
import Slider from "react-slick";
2+
import Slider from 'react-slick';
33
import ToggleButton from 'react-toggle-button';
44
import SyntaxHighlighter from 'react-syntax-highlighter';
55
import { tomorrowNightEighties } from 'react-syntax-highlighter/styles/hljs';
66
import MagicSliderDots from 'react-magic-slider-dots';
77
import 'react-magic-slider-dots/dist/magic-dots.css';
88

99
export default class App extends Component {
10-
1110
constructor(props) {
1211
super(props);
1312

1413
this.state = {
1514
enableMagicSliderDots: true
16-
}
15+
};
1716
}
1817

1918
handleDotToggle = () => {
2019
this.setState({
2120
enableMagicSliderDots: !this.state.enableMagicSliderDots
2221
});
23-
}
22+
};
2423

25-
contentIndexes = [...Array.from({ length: 10 }, (v, k) => k + 1).map((item) => item)];
24+
contentIndexes = [...Array.from({ length: 10 }, (v, k) => k + 1).map(item => item)];
2625

2726
render() {
2827
const { enableMagicSliderDots } = this.state;
2928

3029
var settings = {
3130
dots: true,
3231
arrows: true,
33-
infinite: true,
32+
infinite: false,
3433
speed: 500,
3534
slidesToShow: 1,
36-
slidesToScroll: 1
35+
slidesToScroll: 1,
36+
responsive: [
37+
{
38+
breakpoint: 800,
39+
settings: {
40+
slidesToShow: 4
41+
}
42+
},
43+
{
44+
breakpoint: 480,
45+
settings: {
46+
slidesToShow: 2
47+
}
48+
}
49+
]
3750
};
3851

3952
if (enableMagicSliderDots)
40-
settings['appendDots'] = (dots) => {
41-
return <MagicSliderDots dots={dots} numDotsToShow={5} dotWidth={30} />
42-
}
53+
settings['appendDots'] = dots => {
54+
return <MagicSliderDots dots={dots} numDotsToShow={5} dotWidth={30} />;
55+
};
4356

4457
return (
4558
<div>
46-
<label><ToggleButton
47-
value={enableMagicSliderDots}
48-
onToggle={this.handleDotToggle} />
59+
<label>
60+
<ToggleButton value={enableMagicSliderDots} onToggle={this.handleDotToggle} />
4961
&nbsp;enable magic-slider-dots
5062
</label>
5163
<Slider {...settings} key={`slider_${enableMagicSliderDots}`}>
52-
{this.contentIndexes.map(index => <div key={index}><h3>{index}</h3></div>)}
64+
{this.contentIndexes.map(index => (
65+
<div key={index}>
66+
<h3>{index}</h3>
67+
</div>
68+
))}
5369
</Slider>
5470

5571
<section className="code-example">
56-
<h4>API - <a href="https://patricktran.github.io/react-magic-slider-dots/" target="_blank">click here</a></h4>
72+
<h4>
73+
API -{' '}
74+
<a href="https://patricktran.github.io/react-magic-slider-dots/" target="_blank">
75+
click here
76+
</a>
77+
</h4>
5778
<h4>Installation</h4>
58-
<SyntaxHighlighter language='javascript' style={tomorrowNightEighties}>
79+
<SyntaxHighlighter language="javascript" style={tomorrowNightEighties}>
5980
{`
6081
//install react slick and css
6182
npm install react-slick --save
6283
npm install slick-carousel --save
6384
6485
//install react-magic-slider-dots
6586
npm install react-magic-slider-dots --save
66-
`}</SyntaxHighlighter>
87+
`}
88+
</SyntaxHighlighter>
6789
<h4></h4>
68-
<SyntaxHighlighter language='javascript' style={tomorrowNightEighties}>{
69-
`
90+
<SyntaxHighlighter language="javascript" style={tomorrowNightEighties}>{`
7091
import React, { Component } from 'react'
7192
import Slider from 'react-slick';
7293
import 'slick-carousel/slick/slick.css';
@@ -111,8 +132,7 @@ export default class App extends Component {
111132
</div>
112133
</Slider>)
113134
}
114-
}`
115-
}</SyntaxHighlighter>
135+
}`}</SyntaxHighlighter>
116136
</section>
117137
</div>
118138
);

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "react-magic-slider-dots",
3-
"version": "1.1.3",
3+
"version": "1.2.0",
44
"description": "React Magic Slider Dots Component for React Slick Carousel. Inspired by Instagram.",
55
"author": "patricktran",
66
"license": "MIT",

0 commit comments

Comments
 (0)