🚀 DAY 5 OF LAUNCH WEEK:Introducing Webhook Events for Alert Changes.Learn more →
Socket
Book a DemoInstallSign in
Socket

react-drip-form-components

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

react-drip-form-components

Official UI Components for react-drip-form. styling by styled-components.

latest
Source
npmnpm
Version
0.0.2
Version published
Maintainers
1
Created
Source

react-drip-form-components

Build Status Codecov npm version

Official UI Components for react-drip-form. styling by styled-components.

https://tsuyoshiwada.github.io/react-drip-form-components/

Table of Contents

DEMO

Screenshot

See Live Demo.

Getting Started

Installation

react-drip-form must also be installed.

$ npm install --save react-drip-form
$ npm install --save react-drip-form-components

Usage

import React from 'react';
import { dripForm } from 'react-drip-form';
import {
  Checkbox,
  FieldGroup,
  Input,
  Radio,
  Select,
  Textarea,
} from 'react-drip-form-components';

export default dripForm({/* form options */})(({ handlers }) => (
  <form onSubmit={handlers.onSubmit}>
    {/* Input field */}
    <Input name="username" type="text" />

    {/* Select field */}
    <Select name="color">
      <option value="#fff">White</option>
      <option value="#ccc">Gray</option>
      <option value="#000">Black</option>
    </Select>

    {/* Checkbox with FieldGroup field */}
    <FieldGroup name="library" multiple>
      <Checkbox value="react">React</Checkbox>
      <Checkbox value="angular">Angular</Checkbox>
      <Checkbox value="vue">Vue</Checkbox>
    </FieldGroup>

    {/* Radio with FieldGroup field */}
    <FieldGroup name="gender">
      <Radio name="female">Female</Radio>
      <Radio name="male">Male</Radio>
      <Radio name="other">Other</Radio>
    </FieldGroup>

    {/* Textarea field */}
    <Textarea name="message" />

    {/* Checkbox only */}
    <Checkbox name="confirm" value="yes">
      I agree to the <a href="/foo/bar/">Terms of Use</a>
    </Checkbox>

    <button type="submit" onClick={handlers.onSubmit}>Submit</button>
  </form>
));

For actual use, demo/components/SampleForm.js source code may be helpful!

API

The APIs listed below are proprietary properties other than the field properties of react-drip-form.
Please refer to the document for react-drip-form field properties.

shouldDisplayError

This function accepts the properties of the field and makes a decision whether to display an error.
If you want to display an error you need to return true.

By default the following code is used.

({ meta }) => !!(meta.error && meta.dirty && meta.touched)

shouldDisplaySpinner

This function determines the display of the spinner used for asynchronous verification and so on.
If you want to display a spinner you need to return true.

By default the following code is used.

({ meta }) => meta.validating

Checkbox

It is a component that wraps type="checkbox" with dripFormField().

keydescription
childrenChild element to display on label.
disabledSpecify whether the field is disabled.
shouldDisplayErrorref: shouldDisplayError
shouldDisplaySpinnerref: shouldDisplaySpinner

Input

It is a component that wraps input with dripFormField(). mainly used for text control.

keydescription
typeSpecify an InputType other than checkbox and radio. (Text or email etc...)
disabledSpecify whether the field is disabled.
shouldDisplayErrorref: shouldDisplayError
shouldDisplaySpinnerref: shouldDisplaySpinner

Radio

It is a component that wraps type="radio" with dripFormField().

keydescription
childrenChild element to display on label.
disabledSpecify whether the field is disabled.
shouldDisplayErrorref: shouldDisplayError
shouldDisplaySpinnerref: shouldDisplaySpinner

Select

It is a component that wraps select with dripFormField().

keydescription
childrenSpecify the <option> element.
multipleWhether multiple selection is enabled or not. Specify true if it is enable.
disabledSpecify whether the field is disabled.
shouldDisplayErrorref: shouldDisplayError
shouldDisplaySpinnerref: shouldDisplaySpinner

Textarea

It is a component that wraps textarea with dripFormField().

keydescription
disabledSpecify whether the field is disabled.
shouldDisplayErrorref: shouldDisplayError
shouldDisplaySpinnerref: shouldDisplaySpinner

FieldGroup

It is a component wrapped in dripFormGroup().

keydescription
childrenSpecify the enclosing child element.
shouldDisplayErrorref: shouldDisplayError

Customize Theme

You can customize the theme by using extendTheme as follows.

import React from 'react';
import { ThemeProvider } from 'styled-components';
import { extendTheme } from 'react-drip-form-components';

const originalTheme = {
  /* ... Your theme variables */

  // The `rdf` namespace is the theme of `react-drip-form`.
  rdf: extendTheme({
    /* Specify a custom theme here */
  }),
};

export default () => (
  <ThemeProvider theme={originalTheme}>
    {/* Here is your components. */}
  </ThemeProvider>
);

See src/theme.js for customizable variables.

Contribute

  • Fork it!
  • Create your feature branch: git checkout -b my-new-feature
  • Commit your changes: git commit -am 'Add some feature'
  • Push to the branch: git push origin my-new-feature
  • Submit a pull request :D

Bugs, feature requests and comments are more than welcome in the issues.

License

MIT © tsuyoshiwada

Keywords

react

FAQs

Package last updated on 26 Jul 2017

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