import React, { lazy } from 'react';
import { IFieldConfig } from '../../types';
import { FieldType } from '../../constants/fields';
import * as yup from 'yup';
import SvgIcon from '@material-ui/core/SvgIcon';
import { mdiFormatListNumbered } from '@mdi/js';
import Settings from './ListSettings';
const Component = lazy(
() => import('./ListComponent') /* webpackChunkName: FormBuilder-List */
);
export const ListConfig: IFieldConfig = {
type: FieldType.list,
name: 'List',
group: 'input',
icon: (
),
dataType: 'string[]',
defaultValue: [],
component: Component,
settings: Settings,
validation: (config: Record) => {
const validation: any[][] = [
['array'],
['of', yup.string().trim()],
['ensure'],
['compact'],
];
if (config.required === true)
validation.push(['min', 1, `${config.label || config.name} is required`]);
return validation;
},
};
export default ListConfig;