Skip to content

Commit c56e266

Browse files
committed
Merge branch 'master' into feature/issue-29
2 parents c209ff0 + 7ac30f4 commit c56e266

14 files changed

+1035
-861
lines changed

README.md

+2
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,8 @@ If You want to see more detail source,<br>
7676
| **style** | `String` | `Optional` | css object | |
7777
| **slideDuration** | `Number` | `Optional` | css transition-duration property | `0.5` |
7878
| **navStyle** | `Number` | `Optional` | Arrow Navgation Style,<br>1 or 2 | `1` |
79+
| **navSize** | `Number` | `Optional` | Arrow Size | 50 |
80+
| **navMargin** | `Number` | `Optional` | Arrow Margin | 30 |
7981
| **showNavs** | `Boolean` | `Optional` | Toggle Arrow Navgation | `true` |
8082
| **showBullets** | `Boolean` | `Optional` | Toggle Bullets | `true` |
8183
| **useGPURender** | `Boolean` | `Optional` | Toggle GPU Render | `true` |

example/App.tsx

+36-13
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import InputLabel from '@material-ui/core/InputLabel';
1212
import MenuItem from '@material-ui/core/MenuItem';
1313
import Select from '@material-ui/core/Select';
1414
import SimpleImageSlider from '../dist';
15+
import Input from '@material-ui/core/Input';
1516

1617
const IMAGES = [
1718
{ url: 'images/1.jpg' },
@@ -28,6 +29,8 @@ type SliderOptions = {
2829
showNavs: boolean;
2930
showBullets: boolean;
3031
navStyle: 1 | 2;
32+
navSize: number;
33+
navMargin: number;
3134
duration: number;
3235
bgColor: string;
3336
};
@@ -38,6 +41,8 @@ const App: React.FC = () => {
3841
showNavs: true,
3942
showBullets: true,
4043
navStyle: 1,
44+
navSize: 50,
45+
navMargin: 30,
4146
duration: 0.5,
4247
bgColor: '#000'
4348
});
@@ -70,23 +75,17 @@ const App: React.FC = () => {
7075
(key: string, value: boolean | number | string) => () => {
7176
console.log(`[App updateOptions] ${key} ${value}`);
7277
switch (key) {
73-
case 'useGPURender':
74-
setSliderOptions({ ...sliderOptions, useGPURender: value as boolean });
75-
break;
76-
case 'showNavs':
77-
setSliderOptions({ ...sliderOptions, showNavs: value as boolean });
78-
break;
79-
case 'showBullets':
80-
setSliderOptions({ ...sliderOptions, showBullets: value as boolean });
81-
break;
8278
case 'navStyle':
8379
setSliderOptions({ ...sliderOptions, navStyle: value as 1 | 2 });
8480
break;
81+
case 'useGPURender':
82+
case 'showNavs':
83+
case 'showBullets':
8584
case 'duration':
86-
setSliderOptions({ ...sliderOptions, duration: value as number });
87-
break;
8885
case 'bgColor':
89-
setSliderOptions({ ...sliderOptions, bgColor: value as string });
86+
case 'navSize':
87+
case 'navMargin':
88+
setSliderOptions({ ...sliderOptions, [key]: value });
9089
break;
9190
}
9291
},
@@ -125,6 +124,8 @@ const App: React.FC = () => {
125124
showNavs={sliderOptions.showNavs}
126125
useGPURender={sliderOptions.useGPURender}
127126
navStyle={sliderOptions.navStyle}
127+
navSize={sliderOptions.navSize}
128+
navMargin={sliderOptions.navMargin}
128129
slideDuration={sliderOptions.duration}
129130
onClick={onClick}
130131
onClickNav={onClickNav}
@@ -151,7 +152,7 @@ const App: React.FC = () => {
151152
</ListItem>
152153
))}
153154
<ListItem>
154-
<FormControl component="fieldset">
155+
<FormControl>
155156
<InputLabel>NavStyle</InputLabel>
156157
<Select value={sliderOptions.navStyle} onChange={onChangeSelect} inputProps={{ name: 'navStyle' }}>
157158
<MenuItem value={1}>1</MenuItem>
@@ -170,6 +171,28 @@ const App: React.FC = () => {
170171
</Select>
171172
</FormControl>
172173
</ListItem>
174+
<ListItem>
175+
<FormControl>
176+
<InputLabel>Navigation Size</InputLabel>
177+
<Input
178+
value={sliderOptions.navSize}
179+
type="number"
180+
name="navSize"
181+
onChange={(event) => updateOptions(event.target.name, event.target.value)()}
182+
/>
183+
</FormControl>
184+
</ListItem>
185+
<ListItem>
186+
<FormControl>
187+
<InputLabel>Navigation Margin</InputLabel>
188+
<Input
189+
value={sliderOptions.navMargin}
190+
type="number"
191+
name="navMargin"
192+
onChange={(event) => updateOptions(event.target.name, event.target.value)()}
193+
/>
194+
</FormControl>
195+
</ListItem>
173196
</List>
174197
</div>
175198
);

package-lock.json

+106-46
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/ImageSlider.tsx

+21-4
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ export type SimpleImageSliderProps = {
1414
slideDuration?: number;
1515
bgColor?: string;
1616
useGPURender?: boolean;
17+
navSize?: number;
18+
navMargin?: number;
1719
navStyle?: ImageSliderNavStyle;
1820
onClick?: (idx: number, event: React.SyntheticEvent) => void;
1921
onClickNav?: (toRight: boolean) => void;
@@ -32,6 +34,8 @@ const SimpleImageSlider: React.FC<SimpleImageSliderProps> = ({
3234
slideDuration = 0.5,
3335
bgColor = '#000',
3436
useGPURender = true,
37+
navSize = 50,
38+
navMargin = 30,
3539
navStyle = ImageSliderNavStyle.NORMAL,
3640
onClick = undefined,
3741
onClickNav = undefined,
@@ -58,9 +62,10 @@ const SimpleImageSlider: React.FC<SimpleImageSliderProps> = ({
5862
if (isSliding) {
5963
return;
6064
}
65+
const isRight: boolean = direction === ImageSliderNavDirection.RIGHT;
6166

62-
onClickNav?.(true);
63-
slide(direction === ImageSliderNavDirection.RIGHT ? slideIdx + 1 : slideIdx - 1);
67+
onClickNav?.(isRight);
68+
slide(isRight ? slideIdx + 1 : slideIdx - 1);
6469
},
6570
[slideIdx, isSliding]
6671
);
@@ -124,10 +129,22 @@ const SimpleImageSlider: React.FC<SimpleImageSliderProps> = ({
124129

125130
{/* Render Navigation */}
126131
{showNavs && images.length > 0 && slideIdx > 0 && (
127-
<ImageSliderNavigation direction={ImageSliderNavDirection.LEFT} navStyle={navStyle} onClickNav={handleClickNav} />
132+
<ImageSliderNavigation
133+
direction={ImageSliderNavDirection.LEFT}
134+
navStyle={navStyle}
135+
navSize={navSize}
136+
navMargin={navMargin}
137+
onClickNav={handleClickNav}
138+
/>
128139
)}
129140
{showNavs && images.length > 0 && slideIdx < images.length - 1 && (
130-
<ImageSliderNavigation direction={ImageSliderNavDirection.RIGHT} navStyle={navStyle} onClickNav={handleClickNav} />
141+
<ImageSliderNavigation
142+
direction={ImageSliderNavDirection.RIGHT}
143+
navStyle={navStyle}
144+
navSize={navSize}
145+
navMargin={navMargin}
146+
onClickNav={handleClickNav}
147+
/>
131148
)}
132149

133150
{/* Render Bullets */}

0 commit comments

Comments
 (0)