Giter Site home page Giter Site logo

yangxin1994 / react-formik-ui Goto Github PK

View Code? Open in Web Editor NEW

This project forked from kaihotz/react-formik-ui

0.0 0.0 0.0 41.72 MB

A simple component library, composed out of pure HTML form elements to make your live easier composing forms with Formik and React

Home Page: https://kaihotz.github.io/react-formik-ui/

License: MIT License

JavaScript 41.28% SCSS 19.98% TypeScript 38.75%

react-formik-ui's Introduction

React-Formik-UI

NPM npm bundle size JavaScript Style Guide license npm

Overview

React-Formik-UI is a simple component library, composed out of pure HTML form elements like: form, input, select, checkbox, radio and textarea.

The Idea behind React-Formik-UI is to make the composition of forms with React and Formik even easier, so you don't have to write any HTML markup or extra components for your forms.

Each component makes use of Formiks context, there for you need to have Formik installed in your project.

NEW in v5:

Typescript: React-Formik-UI is now written in Typescript

There where several breaking changes, if you come from version 4 please refer to Migrating from v4 to v5 section in this document for all the changes

Markup, Styling and ClassNames

The markup for the components Input, PhoneInput, Select, Checkbox, Radio, Textarea, Datepicker and DropZone consists of a wrapper div, label, the main component, hint, and error message.

By default all component have NO styling applied at all.
This is intentionally, so you have the possibility to apply your own styling through css or scss by passing a custom className.
All the components used in the Form are scoped by the default classes, situated on the Form component, react-formik-ui form-wrapper

Each component has its corresponding component class (eg: PhoneInput component phoneInput ) followed a level deeper by its wrapper class (eg: phoneInput component phoneInput-wrapper ), as well as the class form-element.

You can pass the style prop on each component, to add custom inline styles to the component main element. Lets say you ad a style object through the style prop on the Select component, the inline styles will be applied to the select element of the Select component.

The className Prop can be passed on each component to add a css class directly to the component instead of the wrapper div, so libraries like Bootstrap can be used to style the form component.

The Styling prop: If you pass the styling prop to the Form component with structure as value, a minimal styling will be applied to add some structure to each form-element.

In case you pass the value theme through the styling prop on the Form component, the React-Formik-Ui Theme will be applied

Migrating from v4 to v5:

  • Button component has been removed, therfore you should use your own.
  • SubmitBtn component now also recieves a text prop for rnedering the text of the button
  • mode prop has been renamed to styling, the values structured and themed for the it also have been renamed to structure and theme.
  • Datepicker component has been renamed to `DatePicker``
  • The style prop has been removed form the DatePicker and PhoneInputcomponent

Installation

Note: React Formik UI makes use of the recently released react Hooks API, therefore make sure that your project uses at least React version 16.13.1

yarn add react-formik-ui

or

npm i -S react-formik-ui

Usage

Peer Dependency

React-Formik-UI has Formik, React and react-dom as Peer dependencies.
So make shure to have those packages installed to your project to make use of React-Formik-UI.

yarn add formik

or

npm i -S formik

Form validations

To validate the form fields, the use of Yup is recommended.

yarn add yup

or

npm i -S yup

See the Styleguide with Demo and Examples here

Components Documentation and Examples

License

MIT © KaiHotz

Support

If you like the project and want to support my work, you can buy me a coffee :)

paypal

react-formik-ui's People

Contributors

elstob avatar glcheetham avatar jefhar avatar kaihotz avatar staff0rd avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.