New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

@nimahkh/formact

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@nimahkh/formact

Formact is form generator for react with powerfull props

latest
npmnpm
Version
0.0.3
Version published
Maintainers
1
Created
Source

Formact is a react form generator component

install

npm i @nimahkh/formact

How to use

//App.js
import React, {Fragment, useState} from 'react';
import ReactDOM from 'react-dom';
import Field from '../../src';
import FieldStyle from "./FieldStyle";

const App = (props) => {

    const [value, setValue] = useState("");

    function handleChange(e) {
        const inputValue = e.target.value;
        setValue(inputValue)
    }

    return (
        <Fragment>
            <FieldStyle value={value} onChangeProp={(e)=>handleChange(e)}/>
            <Field
                element={"input"}
                type="password"
                label={"password"}
                name="password"
                value={value}
                placeholder="Password"
                variant={"bootstrap"}
            />
            <Field
                element={"input"}
                name="name"
                label={"user name"}
                value={value}
                type="text"
                placeholder="Name"
            />
        </Fragment>
    )
};

ReactDOM.render(<App/>, document.getElementById('root'));

//FieldStyle.js a simple jss override styling example
import Field from "../../src/Components/Field";
import React from "react";
import withStyles from "react-jss"

const styles={
    container:{
        backgroundColor: "#ccc"
    },
    inputStyle: {
        minWidth: '200px',
        minHeight:'40px',
        appearance: 'none !important',
        border: "1px solid blue",
        borderRadius: 5,
        boxSizing: "border-box",
        fontSize: "0.9rem",
        padding: "1rem 0.5rem",
        marginBottom: 10,
        '&:required': {
            border: '1px solid #333'
        },
        '&:hover': {
            border: '1px solid #333'
        }
    }
}

function FieldStyle (props){

    const {classes}=props;

    return(
        <Field
            inputClass={{
                container:classes.container,
                input : classes.inputStyle
            }}
            element={"input"}
            type="email"
            label={"email"}
            placeholder="Enter email"
            onChange={props.onChangeProp}
            name="email"
            value={props.value}
            required={true}
            variant={"material2"}
        />
    )
}

export default withStyles(styles)(FieldStyle)

features

  • jss
  • material and none-material styles
  • full props control
  • full class override

for now

  • supporting text and text area
  • overriding label and container classes
  • two styles group ( material , bootstrap)

Road map

  • support RTL
  • validations
  • checkboxes
  • radio boxes
  • buttons
  • drop downs
  • fieldSets
  • step forms

FAQs

Package last updated on 31 May 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts