Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

formelio

Package Overview
Dependencies
Maintainers
1
Versions
48
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

formelio

Forms for human beings

  • 0.0.47
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

Forms for human beings

NPM JavaScript Style Guide

See https://sgmonda.github.io/formelio/ for documentation and usage examples.

Installation

To use Formelio from a React component, just install it with your favorite package manager (like NPM):

npm install --save formelio

Usage

Once installed, you'll be able to import and use it from your Javascript/Typescript code. Here's a simple example of a simple login form, without validation or password hiding (please, don't do this in production 😜):

import React, { useState } from 'react';
import { Form } from 'formelio';
import 'formelio/dist/index.css';

export const MyForm = () => {
  const [value, onChange] = useState({});
  const fields = [{ name: 'email' }, { name: 'password' }];
  return <Form {...{ fields, value, onChange }} />;
};

Go to https://sgmonda.github.io/formelio/ to see this and other usage examples working.

Form properties

A form requires the following main properties:

PropertyRequiredDescriptionDefault
fields[X]Form inputs to include in the form-
onChange[X]Change event handler, receiving form value and validity status-
value[ ]Initial or current value for all (or some) inputs{}
delay[ ]Time to wait before triggering onChange() after an input change500ms
colors[ ]Simple customization{ accent: '#5196D5', error: '#D65947' }
  • fields: A list (Array) of field definitions. A field definition is a plain object where field properties are defined. See the next section. Example:

    <Form
      ...
      fields={[
        { name: 'firstName', type: 'text', required: true },
        { name: 'age', type: 'number' },
      ]}
      ...
    />
    
  • onChange: A change event handler, that will be called when the form is modified. It also receives a validation state, according with required properties and custom validators (see next section). Example:

    <Form
      ...
      onChange={ (value, isValid) => { /* Do whatever you want */ } }
      ...
    />
    

A form supports also the following optional properties:

  • colors
  • delay
  • value

Now lets see how to define each property correctly:

License

GPL-3.0 © Sergio Garcia Mondaray

Development

Git hooks

This project uses git hooks for:

Storybook
$ npm run storybook
Environment
First time
$ npm i

To prevent Invalid hook call error during development of another app using formelio as file dependency, I mean:

// path/to/myOtherProject/package.json

"dependencies": {
  "formelio": "path/to/formelio",
}

We should link react version from formelio project. Example:

$ npm link path/to/myOtherProject/node_modules/react-dom
$ cd path/to/myOtherProject/ && npm i
Once working
  • Terminal 1: Open dev server, to compile and bundle everything on every change:

    $ npm run dev
    
  • Terminal 2: Open test watcher, to run tests on every change:

    $ npm run dev:test
    
  • Terminal 3: Serve (watching) the example

    $ npm run dev:site
    
Deployment

To publish on npm:

$ npm publish

To update gh pages:

$ npm run site:deploy

FAQs

Package last updated on 19 May 2021

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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc