diff --git a/packages/builder/src/components/Form/array.js b/packages/builder/src/components/Form/array.js new file mode 100644 index 000000000..5ea62acfc --- /dev/null +++ b/packages/builder/src/components/Form/array.js @@ -0,0 +1,41 @@ +import React, { Fragment } from 'react' + +import { FieldArray, useFormikContext, getIn } from 'formik' + +export const FormArray = ({ + name, item: Item, + header: Header, footer: Footer, + wrapper: Wrapper=Fragment, + wrapperProps, + bodyWrapper: BodyWrapper=Fragment, + defaultItem={}, +}) => { + const { values } = useFormikContext() + const rows = getIn(values, name) + + return ( + + { + arrayHelpers => + { Header &&
} + + { + (rows || []).map( + (data, index) => + + ) + } + + { Footer &&