This component was done for quick add fields for editing. (the same as do ACF).

In folder block need to create file 'fields.js' with example data:

export const fields = {
    title: {
        type: 'text',
        label: 'Block Title',
        conditional: 0
    },
    title2: {
        type: 'text',
        label: 'Block Title 2',
        conditionals: [
            [
                {
                    "field": "title",
                    "operator": "!=empty", // !=empty, ==empty, ==, !=, ==pattern, ==contains
                    "value": "title"
                },
                {
                    "field": "title",
                    "operator": "==pattern", // !=empty, ==empty, ==, !=, ==pattern, ==contains
                    "value": "^[A-Za-z]+\$"
                }
            ],
        ]
    },
    displayDate: {
        type: 'toggle',
        label: 'Display Date'
    },
    dateTypography: {
        type: 'typography',
        label: 'Title Typography',
        conditionals: [
            [
                {
                "field": "displayDate",
                "operator": "==", // !=empty, ==empty, ==, !=, ==pattern, ==contains
                "value": true
                }
            ]
        ]
    },
    testimonials : {
        type: 'repeater',
        row_title: 'title',
        fields: {
        title: {
        id: 'title',
        type: 'text',
        label: 'Title',
        default: 'Default title'
    },
    text: {
        id: 'text',
        type: 'textarea',
        label: 'Text',
        default: 'some text'
    }
}

//export default fields
  
export const groups = [
    {
    name: 'General',
    fields: ['title', 'title2'],
    open: true
    },
    {
    name: 'Additional',
    fields: ['displayDate', 'dateTypography', 'testimonials'],
    open: false
    }
];


Fields for feilds configuration,   
Groups for groups configuration.

For now we have this type of fields:
text
textarea
toggle
range
typography
color
image
repeater

Additionaly we can use condition param, with this type of opperator
!=empty - not empty
==empty - emtpy
== - is equal
!= - not equal
==pattern - patterns, regexp
==contains - contains string

for example use condition, check example above


After this in 'edit.js', you need to add this 
import {FloFields} from 'components'
import {fields, groups} from './fields' 

and in render

<InspectorControls>
    <FloFields
        attributes={attributes}
        fields={fields}
        groups={groups}
        onChange={(attributes) => setAttributes(attributes)}
    />
</InspectorControls>

attributes - current block attributes
fields - fields config
groups - groups config
onChange - callback function to update attributes