Skip to content

Feature/issue 27 #31

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Feb 12, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .babelrc
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,14 @@
{
"useBuiltIns": "usage",
"modules": false,
"corejs": 3,
"targets": "> 0.25%, not dead"
}
],
"@babel/preset-react",
"@babel/preset-typescript"
],
"plugins": [
"@babel/plugin-transform-runtime",
"@babel/plugin-proposal-class-properties"
],
"ignore": ["node_modules/**"]
Expand Down
13 changes: 0 additions & 13 deletions .editorconfig

This file was deleted.

5 changes: 1 addition & 4 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,4 @@
dist
src
example
webpack.config.js
example/index.js
*.json
*.md
.babelrc
2 changes: 1 addition & 1 deletion .prettierrc
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"tabWidth": 2,
"singleQuote": true,
"printWidth": 120,
"printWidth": 150,
"bracketSpacing": true,
"jsxBracketSameLine": true,
"useTabs": false,
Expand Down
120 changes: 65 additions & 55 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,27 +1,30 @@
# react-simple-image-slider

[![ReactJs][react-image]][react-url]
[![Download Count][download-image]][download-url]
[![GitHub license][license-image]][license-url]

[react-image]: https://img.shields.io/badge/ReactJS-%5E16.4.2-blue.svg
[react-image]: https://img.shields.io/badge/ReactJS-%5E16.13.1-blue.svg
[react-url]: https://reactjs.org
[download-image]: http://img.shields.io/npm/dm/react-simple-image-slider.svg?style=flat
[download-url]: http://www.npmjs.com/package/react-simple-image-slider
[license-image]: https://img.shields.io/badge/license-MIT-blue.svg
[license-url]: https://github.com/kimcoder/react-simple-image-slider/blob/master/LICENSE

Simple ImageSlider Component for ReactJS v16.13<br>

- Just Two Elements will be used. (for display images)
- Support GPU Render, by default.
- Support GPU Render, by default.
- Support Image Preload.
- Selectable Navgation Styles.

# Live demo
- <a href="https://kimcoder.github.io/demo/react-simple-image-slider/" target="_blank">Go to Site</a><br><br>
![demo gif](https://github.com/kimcoder/react-simple-image-slider/raw/master/demo.gif)
# Live demo

- <a href="https://kimcoder.github.io/demo/react-simple-image-slider/" target="_blank">Go to Site</a><br><br>
![demo gif](https://github.com/kimcoder/react-simple-image-slider/raw/master/demo.gif)

# Install

```
// npm
npm install react-simple-image-slider --save
Expand All @@ -31,69 +34,74 @@ yarn add react-simple-image-slider
```

# Usage

```
import SimpleImageSlider from "react-simple-image-slider";

class App extends React.Component {
render() {
const images = [
{ url: "images/1.jpg" },
{ url: "images/2.jpg" },
{ url: "images/3.jpg" },
{ url: "images/4.jpg" },
{ url: "images/5.jpg" },
{ url: "images/6.jpg" },
{ url: "images/7.jpg" },
];

return (
<div>
<SimpleImageSlider
width={896}
height={504}
images={images}
/>
</div>
);
}
const images = [
{ url: "images/1.jpg" },
{ url: "images/2.jpg" },
{ url: "images/3.jpg" },
{ url: "images/4.jpg" },
{ url: "images/5.jpg" },
{ url: "images/6.jpg" },
{ url: "images/7.jpg" },
];

const App = () => {
return (
<div>
<SimpleImageSlider
width={896}
height={504}
images={images}
/>
</div>
);
}
```

If You want to see more detail source,<br>
- [`example/App.jsx`](https://github.com/kimcoder/react-simple-image-slider/blob/master/example/App.jsx)<br>

- [`example/App.tsx`](https://github.com/kimcoder/react-simple-image-slider/blob/master/example/App.tsx)<br>

# Props
|Name|Type|Required|Description|Default|
|:--:|:--:|:-----:|:----------|:------|
|**width**|`Number`|`Required`|Image Slider Width||
|**height**|`Number`|`Required`|Image Slider Height||
|**images**|`Array`|`Required`|Images,<br>Array Elements should be like this structure,<br>{ url: "" }||
|**style**|`String`|`Optional`|css object||
|**slideDuration**|`Number`|`Optional`|css transition-duration property|`0.5`|
|**navStyle**|`Number`|`Optional`|Arrow Navgation Style,<br>1 or 2|`1`|
|**showNavs**|`Boolean`|`Optional`|Toggle Arrow Navgation|`true`|
|**showBullets**|`Boolean`|`Optional`|Toggle Bullets|`true`|
|**useGPURender**|`Boolean`|`Optional`|Toggle GPU Render|`true`|
|**bgColor**|`String`|`Optional`|slider container's css background-color property|`#000000`|
|**onClick**|`Function`|`Optional`|Image Click Callback function,<br>`onClick = (idx, event) => { }`<br>idx : number : clicked bullet index (begin from 0)||
|**onClickNav**|`Function`|`Optional`|Arrow Navigation Callback function,<br>`onClickNav = (toRight) => { }`<br>toRight : Boolean : slide direction||
|**onClickBullets**|`Function`|`Optional`|Bullets Callback function,<br>`onClickBullets = (idx) => { }`<br>idx : Number : clicked bullet index (begin from 0)||
|**onStartSlide**|`Function`|`Optional`|Slide Transition Start function,<br>`onStartSlide = (idx, length) => { }`<br>idx : Number : start index (begin from 1)<br>length : Number : image length||
|**onCompleteSlide**|`Function`|`Optional`|Slide TransitionEnd Callback function,<br>`onCompleteSlide = (idx, length) => { }`<br>idx : Number : start index (begin from 1)<br>length : Number : image length||

| Name | Type | Required | Description | Default |
| :-----------------: | :--------: | :--------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------- |
| **width** | `Number` | `Required` | Image Slider Width | |
| **height** | `Number` | `Required` | Image Slider Height | |
| **images** | `Array` | `Required` | Images,<br>Array Elements should be like this structure,<br>{ url: "" } | |
| **style** | `String` | `Optional` | css object | |
| **slideDuration** | `Number` | `Optional` | css transition-duration property | `0.5` |
| **navStyle** | `Number` | `Optional` | Arrow Navgation Style,<br>1 or 2 | `1` |
| **showNavs** | `Boolean` | `Optional` | Toggle Arrow Navgation | `true` |
| **showBullets** | `Boolean` | `Optional` | Toggle Bullets | `true` |
| **useGPURender** | `Boolean` | `Optional` | Toggle GPU Render | `true` |
| **bgColor** | `String` | `Optional` | slider container's css background-color property | `#000000` |
| **onClick** | `Function` | `Optional` | Image Click Callback function,<br>`onClick = (idx, event) => { }`<br>idx : number : clicked bullet index (begin from 0) | |
| **onClickNav** | `Function` | `Optional` | Arrow Navigation Callback function,<br>`onClickNav = (toRight) => { }`<br>toRight : Boolean : slide direction | |
| **onClickBullets** | `Function` | `Optional` | Bullets Callback function,<br>`onClickBullets = (idx) => { }`<br>idx : Number : clicked bullet index (begin from 0) | |
| **onStartSlide** | `Function` | `Optional` | Slide Transition Start function,<br>`onStartSlide = (idx, length) => { }`<br>idx : Number : start index (begin from 1)<br>length : Number : image length | |
| **onCompleteSlide** | `Function` | `Optional` | Slide TransitionEnd Callback function,<br>`onCompleteSlide = (idx, length) => { }`<br>idx : Number : start index (begin from 1)<br>length : Number : image length | |

If You want to see more detail,<br>
- [`src/ImageSliderPropTypes.js`](https://github.com/kimcoder/react-simple-image-slider/blob/master/src/ImageSliderPropTypes.js)
- [`example/app.jsx`](https://github.com/kimcoder/react-simple-image-slider/blob/master/example/App.jsx)<br>

- [`example/app.tsx`](https://github.com/kimcoder/react-simple-image-slider/blob/master/example/App.tsx)<br>

# Development

### directory & source
- ``./example/`` : demo site souce for testing component
- ``./src/`` : image slider component source
- ``./dist/`` : image slider component distribution
- ``./babelrc`` : babel configure. (version 7.x)
- ``./webpack.config.js`` : webpack configure. (version 4.x)
- ``./rollup.config.js`` : rollup configure.

- `./example/` : demo site souce for testing component
- `./src/` : image slider component source
- `./dist/` : image slider component distribution
- `./babelrc` : babel configure. (version 7.x)
- `./webpack.config.js` : webpack configure. (version 4.x)
- `./rollup.config.js` : rollup configure.

### scripts

```
// npm
npm run example // run a test app(demo) by webpack dev server
Expand All @@ -105,10 +113,12 @@ yarn example
yarn build
yarn build:watch
```

If you want to run a test app, should build before do that.<br>

After run example by webpack dev server,<br>
open ``http://localhost:8080/`` in a browser<br>
open `http://localhost:8080/` in a browser<br>

# License
MIT

MIT
165 changes: 0 additions & 165 deletions example/App.jsx

This file was deleted.

Loading