react-input-ui
Version:
Collection of input fields for ReactJs
151 lines (127 loc) • 4.04 kB
Markdown
# React Input UI Collection
____________________________________________________
[DEMO](https://sakalx.github.io/react-input-collection/)
Note: **React version 16.8.0**
____________________________________________________
Inspiration from [codrops](https://tympanus.net/codrops/2015/03/18/inspiration-text-input-effects-2/)
>Form inputs offer a great opportunity to add some subtle and interesting effects to a web page. They are elements that your user will interact with at some point and making them fun to use can enhance the experience. We are used to the default form resembling its paper counterpart but in the digital world we can be more creative
### List of components :
1. InputAkira
1. InputIchiro
1. InputJiro
1. InputKuro
1. InputMadoka
1. InputMaterial
1. InputMinoru
1. InputNao
1. InputSoda
1. InputYoko
#### Example
```javascript
import React, {useState} from 'react';
import InputAkira from 'react-input-ui/collection/akira';
function App() {
const [value, setValue] = useState('');
return (
<InputAkira
label={'Akira UI'}
placeholder='type...'
onChanhe={setValue}
value={value}
/>
)
}
```
#### Example with custom style
> If you need change style for label or input tag,
> just use property:
`labelStyle` `inputStyle`
*in other cases:* `style` `className`
```javascript
import React, {useState} from 'react';
import InputAkira from 'react-input-ui/collection/akira';
function App() {
const [value, setValue] = useState('');
return (
<InputAkira
label={'Akira UI'}
placeholder='type...'
onChanhe={setValue}
value={value}
style={{margin: '25px'}}
className={'custom-class'}
labelStyle={{fontSize: '18px'}}
inputStyle={{fontSize: '21px'}}
/>
)
}
```
#### Example for validation field
> If field **not valid** set property **error** to `true`
> If field **valid** set property **error** to `false`
> If don't need validation set property **error** to `null`
```javascript
import React, {useState} from 'react';
import InputAkira from 'react-input-ui/collection/akira';
function App() {
const [value, setValue] = useState('');
const [error, setError] = useState(null);
const handleChange = e => {
setValue(e.target.value);
};
const handleFocus = () => {
setError(null);
};
const handleSubmit = () => {
setError(!!value.length > 2);
}
return (
<div>
<InputAkira
label={'Akira UI'}
placeholder='type...'
onChange={handleChange}
onFocus={handleFocus}
value={value}
error={error}
/>
<button onClick={handleSubmit}>SUBMIT</button>
</div>
)
}
```
#### Example for customizing theme
> Theme has 4 property:
| Theme property: |
| --- |
| activeTextColor |
| focusColor |
| hoverColor |
| mainColor |
To change them use `theme` method
```javascript
import React, {useState} from 'react';
import InputAkira, {theme} from 'react-input-ui/collection/akira';
function App() {
const [value, setValue] = useState('');
const handleSetTheme = () => {
theme({
activeTextColor: '#101010',
focusColor: '#2196f3',
hoverColor: '#252525',
mainColor: '#727272',
})
};
return (
<div>
<InputAkira
label={'Akira UI'}
placeholder='type...'
onChanhe={setValue}
value={value}
/>
<button onClick={handleSetTheme}>CHANGE THEME</button>
</div>
)
}
```