@yan_coquoz/react_input
v0.1.57
Published
Composants custom React de type Input
Downloads
15
Readme
React Component
Minimalist input-like components for React.
Prerequisites
- A text editor like
VSCode, Vim, IntelliJ...
- Node.js > v.16
- Git
Summary
React Components
InputText
InputNumber
SelectField
Button
Modale
DatePicker
ScrollBar
Properties
All properties with a * are required :
InputText
idName
*: {String} Corresponds to thehtmlFor
andclassName
.properties of the label, as well as theid
and thename
of the input.labelName
: {String}label
value andplaceholder
content.isRequired
: {Boolean} Whether the value is required or not.myClass
: {String} component class name.toUpperCase
: {Boolean} if you need to upper case label.onChange
: {Function} To have a controlled component, allows to retrieve the values of the input: name and value, for each action on the keyboard.value
: {String} the value found in the field.placeholder
: {String} the placeholder.
InputNumber
idName
*: {String} Corresponds to thehtmlFor
andclassName
properties of the label, as well as theid
and thename
of the input.labelName
: {String}label
andplaceholder
contentisRequired
: {Boolean} Whether the value is required or notmyClass
*: {String} component class namemini
: {Number} minimum valuemaxi
: {Number} maximum valuetoUpperCase
: {Boolean} if you need to upper case label.onChange
: {Function} To have a controlled component, allows to retrieve the values of the input: name and value, for each action on the keyboard.value
: {String} the value found in the field.placeholder
: {String} the placeholder.
SelectField
options
*: {Array of Object || Array} for theoption
tag, if it 's an Array of Object, it must contain a propertyname
who will be displaylabelName
: {String} instead oflabel
isRequired
: {Boolean} Whether the value is required or not.idName
*: {String} Corresponds to thehtmlFor
andclassName
properties of the label, as well as theid
and thename
of the input.onChange
: {Function} to get the event.toUpperCase
: {Boolean} if you need to upper case labeloptValue
: {Boolean} Render 'Options' for first value in select area. If true, the first value will be options, but ifisRequired
is true, the value will be empty.group
: {Boolean} false by default. If true,tabs
must look like this : [{car:[...arrayOfCars],bike:[...arrayOfBikes]}], then optgroup label will becar
andbike
.onClick
: {Function} Capture the click of the field.onBlur
: {Function} Capture the change of the field.value
: {String} the value found in the field.
Button
type
*: {String} The type of button : button, submit, reset...children
*: {String} The content, like : 'validate', 'save' ...myClass
: {String} A class to give some styleidName
: {String} Id of the buttononClick
: {Function} If you need a function.. (onClick)
Modale
message
*: {String} The message you need to displayopen
*: {Boolean} the order to open the modalsendStyle
: {String} Send color to the border of close button and text.onClose
*: {Function} the order to close the modal
DatePicker
idName
*: {String} Corresponds to thehtmlFor
andclassName
properties of the label, as well as theid
of the input.labelName
: {String}label
value.myClass
: {String} inputclassName
isRequired
: {Boolean} Whether the value is required or not.toUpperCase
: {Boolean} if you need to upper case labellang
: {String} to format date. by default "en" : yyyy-MM-dd. Can be french with "fr" : dd-MM-yyyyplaceholder
: {String} What is expected in the field.
ScrollBar
barColor
: {Number} Height of the progress bar, in pixels.barHeight
: {String} Progress bar color. 5px by default.barOpacity
: {Boolean} Gives a gradual opacity effect along the bar. False by default.
Example
import React, {useState} from "react"
import { InputText, Button, Modale, DatePicker } from "@yan_coquoz/react_input"
const MyForm = () => {
const [isOpen, setIsOpen] = useState(false);
const tab1 = ["red", "blue", "green"];
const tab2 = ["short", "coat", "socket"];
const tab3 = ["moto", "car", "boat"];
const arrays = [
{ colors: [...tab1] },
{ clothes: [...tab2] },
{ vehicle: [...tab3] },
];
const selectTabs = {
options: arrays,
idName: "arrays",
labelName: "all tables",
optValue: true,
toUpperCase: true,
isRequired: true,
group: true,
};
const barOptions = {
barColor: "rgba(3, 83, 255, 0.8)",
barHeight: 5,
barOpacity: true,
}
function handleOpenModal() {
setIsOpen(true);
}
function handleInputText(name, value){
console.log(name, value)
// do what you want
}
return(
<div>
<ScrollBar {...barOptions}/>
<form>
<InputText
idName={firstname}
labelName={first name}
isRequired={true}
sendValue={handleInputText}
myClass={"input_firstname"}
toUpperCase={true}
/>
<DatePicker
idName={"dateOfBirth"}
isRequired={false}
labelName={"date of birth"}
toUpperCase={true}
lang={"en"}
/>
<SelectField {...selectTabs}>
<Button type="submit">Save</Button>
</form>
<div>
<Button type="button" onClick={handleOpenModal}>
Open Modale
</Button>
<Modale message="Hello World !!!" open={isOpen} sendStyle={"#F0F"} onClose={()=> setIsOpen(!isOpen)} />
</div>
</div>
)
}