woocommerce/packages/js/components/src/dynamic-form
Christopher Allford d2d8d78be1 Moved WCA Packages
This commit moves all of the packages in
`plugins/woocommerce-admin/packages` to their
new home in `packages/js`.
2022-03-18 14:25:26 -07:00
..
field-types Moved WCA Packages 2022-03-18 14:25:26 -07:00
stories Moved WCA Packages 2022-03-18 14:25:26 -07:00
README.md Moved WCA Packages 2022-03-18 14:25:26 -07:00
dynamic-form.tsx Moved WCA Packages 2022-03-18 14:25:26 -07:00
index.js Moved WCA Packages 2022-03-18 14:25:26 -07:00
style.scss Moved WCA Packages 2022-03-18 14:25:26 -07:00
types.ts Moved WCA Packages 2022-03-18 14:25:26 -07:00

README.md

DynamicForm

A component to handle form state and provide input helper props.

Usage

const initialValues = { firstName: '' };

<DynamicForm
	fields={ fields }
	onSubmit={ ( values ) => {
		setSubmitted( values );
	} }
	isBusy={ false }
	onChange={ () => {} }
	validate={ () => ( {} ) }
	submitLabel="Submit"
/>;

Props

Name Type Default Description
fields {} or [] [] An object to describe the structure and types of all fields, matching the structure returned by the Settings API
isBusy Boolean false Boolean indicating busy state of submit button
onSubmit Function noop Function to call when a form is submitted with valid fields
onChange Function noop Function to call when any values on the form are changed
validate Function noop A function that is passed a list of all values and should return an errors object with error response
submitLabel String "Proceed" Label for submit button.

Fields structure

Please reference the WordPress settings API documentation to better understand the structure expected for the fields property. This component accepts the object returned via the settings property when querying a gateway via the API, or simply the array provided by Object.values(settings).

Currently Supported Types

  • Text
  • Password
  • Checkbox
  • Select