import React, { useMemo } from 'react'; import * as Yup from 'yup'; import { useFormik } from 'formik'; import { Row, Col } from 'react-grid-system'; import { FormattedMessage as T } from 'react-intl'; import { ErrorMessage } from 'components'; import { Button, Classes, FormGroup, InputGroup, Intent, } from '@blueprintjs/core'; /** * Reference number form. */ export default function ReferenceNumberForm({ onSubmit, onClose, initialPrefix, initialNumber, }) { const validationSchema = Yup.object().shape({ number_prefix: Yup.string(), next_number: Yup.number(), }); const initialValues = useMemo( () => ({ number_prefix: initialPrefix || '', next_number: initialNumber || '', }), [initialPrefix, initialNumber], ); const { errors, touched, handleSubmit, isSubmitting, getFieldProps, } = useFormik({ enableReinitialize: true, initialValues: { ...initialValues, }, validationSchema, onSubmit: (values, { setSubmitting, setErrors }) => { onSubmit(values, { setSubmitting, setErrors }); }, }); return (