1.1.2 • Published 2 years ago

react-form-planner v1.1.2

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

GitHub watchers GitHub watchers GitHub watchers GitHub watchers

This is a fully customizable form builder based on React

Table of Contents

Demo

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

Playground

Visit https://codesandbox.io/s/react-form-planner-smw51

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 react-form-planner

or

yarn add react-form-planner

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>}
/>

Playground

Getting built

Screenshots

Form Planner example image info

Edit element on hover image info

Edit element image info

Prebuilt Customization image info

Or add your own custmization image info

Items in queue

  • Localization

Contribution 🍰

Feel free to create issue and make pull request

Refer code of conduct

Refer contributing

License

MIT © Koustov