0.0.8 • Published 2 years ago

hts-react-form v0.0.8

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

hts-react-form

A simple and easy form for your react project.

Installation

npm install hts-react-form
yarn add hts-react-form

Usage

import React, { useState } from 'react'
import 'hts-react-form/styles/default.css'
import { HTSReactForm } from 'hts-react-form'

function HtsFormExample() {
  const [email, setEmail] = useState(null)
  const [password, setPassword] = useState(null)

  const loginHandler = (e) => {
    e.preventDefault()
  }

  return (
    <HTSReactForm
      controls={[
        {
          label: 'Email',
          type: 'text',
          name: 'email',
          value: email,
          onChange: (e) => setEmail(e.target.value),
          required: true,
        },
        {
          label: 'Password',
          type: 'password',
          name: 'password',
          value: password,
          onChange: (e) => setPassword(e.target.value),
          required: true,
        },
      ]}
      actionControl={{
        label: 'Login',
        onSubmit: loginHandler,
        className: `${btnStyles.button} ${btnStyles.primary}`,
      }}
      forgetPassword={{
        label: 'Forgot Password?',
        onClick: () => {},
      }}
      googleLogin={{
        label: <i className='la la-google-plus'></i>,
        onClick: () => {},
      }}
      facebookLogin={{
        label: <i className='lab la-facebook'></i>,
        onClick: () => {},
      }}
      githubLogin={{
        label: <i className='la la-github'></i>,
        onClick: () => {},
      }}
    />
  )
}

export default HtsFormExample

Preview

image

Attributes

Array of input control each contains these properties

{
  "label": "string or JSX.Element"
  "name" :"string"
  "type" :"string"
  "placeholder" :"string (optional)"
  "value" :"any"
  "onChange" :"function"
  "styles" :"React.CSSProperties (optional)"
  "className" :"string (optional)"
  "required" :"boolean (optional) default false"
  "validation" :{ "pattern" : "RegExp", "message": "string" } "(optional)"
  "options": {
    "label": "string"
    "value": "string"
  } "(optional)"
}

action control otpions

{
  "label": "string or JSX.Element"
  "onSubmit": "function"
  "styles": "React.CSSProperties (optional)"
  "className": "string"
}

option for showing forgot password button

{
  "label": "string or JSX.Element"
  "onClick": "function"
  "styles": "React.CSSProperties (optional)"
  "className": "string"
}

option for showing googleLogin button

{
  "label": "string or JSX.Element"
  "onClick": "function"
  "styles": "React.CSSProperties (optional)"
  "className": "string"
}

option for showing githubLogin button

{
  "label": "string or JSX.Element"
  "onClick": "function"
  "styles": "React.CSSProperties (optional)"
  "className": "string"
}

option for showing facebookLogin button

{
  "label": "string or JSX.Element"
  "onClick": "function"
  "styles": "React.CSSProperties (optional)"
  "className": "string"
}

Todos

Firebse auth option for all social logins

License

MIT

0.0.8

2 years ago

0.0.7

2 years ago

0.0.6

2 years ago

0.0.5

2 years ago

0.0.4

2 years ago

0.0.3

2 years ago

0.0.2

2 years ago

0.0.1

2 years ago