1.1.3 • Published 2 months ago

rfp-react-form-builder v1.1.3

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

GitHub watchers GitHub watchers GitHub watchers GitHub watchers

This is a fully customizable form builder based on React

Table of Contents

Screenshots

image infoimage info
image infoimage info

Demo

Visit https://rfp-react-form-planner.vercel.app/

Playground

Codesandbox Project

Features

  • JSON based.
  • Redux based.
  • Fully Responsive
  • Customizable
  • Quick and easy.
  • Styled component based.
  • Theme supported
  • Full validation support
  • Custom theme

When do you need it

  • You have complex form to be created?
  • Forms are dynamic in nature?
  • You don't want to manage the form?
  • You need a structured/organised form rendering?
  • You are providing forms as service

Usage

  • Simple Form
  • Dynamic Form
  • Quiz
  • Exams
  • Tutorial
  • Sky is the only limit

Install 🐙

npm install rfp-react-form-builder react-icons react-player styled-components @mui/material

or

yarn add rfp-react-form-builder react-icons react-player styled-components @mui/material

Highlight 🔥

This project contains an advanced Form Builder and a Form Viewer.

Form Builder

  • Capable of creating form of any type.
  • Styled component theme support
  • Endlesss Customization
  • Add your own style
  • Add your own properties

How to use

Import FormPlanner component

import { FormPlanner } from 'react-form-viewer'

Just drop it to desired place

<FormPlanner
  onControlValueChanged={() => {
    console.log('onControlValueChanged')
  }}
  onFormValueChanged={() => {
    console.log('onFormValueChanged')
  }}
  theme={dark}
/>

Supported Elements

FormPlanner comes with tons of prebuilt elements which are already grouped for convenience. Few of them are visible by default. Rest can be turned on when required

GroupElementInternal NameAvailability
BasicHeaderheaderDefault
Medium HeadermediumheaderDefault
Small HeadersmallheaderDefault
LabellabelDefault
Form ControlText BoxtextOn Demand
Number BoxnumberOn Demand
Multiline BoxmultilineOn Demand
Date PickerdateOn Demand
Date Time PickerdatetimeOn Demand
CheckboxcheckboxOn Demand
RadioradioOn Demand
SelectselectOn Demand
Color PickercolorOn Demand
MediaImageimageOn Demand
VideovideoOn Demand
PDFpdfOn Demand
QuizQuestionquestionOn Demand
AdvancedGridgridOn Demand
Rich TextrichtextOn Demand
Multi ValuesmultivalueOn Demand
UploadsImage UploadimageuploadOn Demand
Multiple Image UploadimagesuploadOn Demand
MiscellaneousDividerdividerOn Demand

Form Properties

Allows to add/update form meta information like

  • Title
  • Description
  • Header background image
  • Header background color
  • Background image
  • Background color image info

Form Parameters

NameDescriptionDefault Value
showFormPropertiesShow form properties button to update form level valuesfalse
showPreviewIntegrated button to show form previewfalse
allowCustomStylesAllow user to set custom css stylesfalse
allowCustomPropsAllow user to set custom field propertiesfalse
advancedFeaturesEnable advanced featuresfalse
fieldsList of control types to be shownAll

Preview your form

Preview your form while editing

Form Viewer

This is a full fledged form viewer.

  • Capable of rendering complex form layout.
  • Multi line and multi row
  • Theme support

How to use

Import FormPlanner component

import { FormPlanner } from 'react-form-viewer'

Just drop it to desired place

<FormViewer
  onChange={(a, b, c) => {
    console.log('Value received')
  }}
  template={<template_data>}
/>

Items in queue

  • Localization

Contribution 🍰

Feel free to create issue and make pull request

Refer code of conduct

Refer contributing

License

MIT © Koustov