export function getPropsForFields({ schema, uiSchema, idSchema, errorSchema, formData, onChange }: { schema: any; uiSchema: any; idSchema: any; errorSchema: any; formData: any; onChange: any; }, fields: any, title: any): { schema: { type: string; properties: {}; title: any; }; uiSchema: {}; idSchema: { $id: any; }; errorSchema: {}; formData: {}; onChange: ((formData: any) => any) | undefined; }; /** * Makes it possible to extract fields from object schema and * make them act like a nested schema without touching the form data structure. * * uiSchema = { * title: , * ui:options: { * nests: { * fieldName: { * fields: [], * title: , * } * }, * uiSchema: * } * } * * Example usage: * * schema = { * "type": "object", * "properties": { * "inner_1" { "type": "string" }, * "inner_2": { "type": "string" }, * "innerOfInner_1": { "type": "string" }, * "innerOfInner_2": { "type": "string" }, * "secondInner_1" { "type": "string" }, * "secondInner_2": { "type": "string" }, * "outer_2": { "type": "string" } * } * * uiSchema = { * "ui:field": "nest", * "ui:options": { * "nests": { * "inner": { * "fields": ["inner_1", "inner_2"], * "title": "title of inner", * "uiSchema": { * "ui:field": "someField" * "inner_1": { * "ui:field": "someField2" * } * } * }, * "secondInner": { * "fields": ["secondInner_1", "secondInner_2"], * "uiSchema": { * "ui:field": "someField3" * } * } * }, * "uiSchema": { * "ui:field": "container" * } * } * * would make the schemas look like this: * * schema = { * "type": "object", * "properties": { * "inner": { * "type": "object", * "title": "title of inner", * "properties": { * "inner_1": { * "type": "string" * }, * "inner_2": { * "type": "string" * } * } * }, * "inner2": { * "type: "object", * "properties": { * "secondInner_1": { * "type": "string" * }, * "secondInner_2": { * "type": "string" * } * } * }, * } * } * * uiSchema = { * "ui:field": "container", * "inner": { * "ui:field": "someField" * "inner_1": { * "ui:field": "someField2" * } * }, * "inner2": { * "ui:field": "someField3" * } * } * */ export default class NestField extends React.Component { static propTypes: { uiSchema: PropTypes.Validator>>; }>>>; schema: PropTypes.Validator; }>>>; formData: PropTypes.Requireable; }; static getName(): string; constructor(props: any); constructor(props: any, context: any); getStateFromProps(props: any, origProps: any): { schema: any; uiSchema: any; idSchema: any; errorSchema: any; formData: any; onChange: (formData?: {}) => void; }; onChange: (formData?: {}) => void; } import * as React from "react"; import * as PropTypes from "prop-types";