All files / src/components/common/CustomIntegerInput RHFCustomIntegerInput.tsx

25% Statements 1/4
0% Branches 0/2
0% Functions 0/2
25% Lines 1/4

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43                      5x                                                              
import React from "react";
import { Controller, useFormContext } from "react-hook-form";
import { Box } from "@mui/material";
import CustomIntegerInput, { CustomAmountInputProps } from "./CustomIntegerInput";
 
type RHFCustomAmountInputProps = CustomAmountInputProps & {
  name: string,
  width?: string | number,
  helper?: string | React.ReactNode,
};
 
const RHFCustomIntegerInput = ({ 
  name,
  label,
  width,
  helper,
  ...props
}: RHFCustomAmountInputProps) => {
  const { control } = useFormContext();
 
  return (
    <Controller
      name={name}
      control={control}
      render={({ field: { ref, ...rest }, fieldState: { error } }) => {
        return (
          <Box width={width}>
            <CustomIntegerInput
              inputRef={ref}
              label={label}
              error={Boolean(error)}
              helperText={helper ? helper : error?.message as string}
              {...rest}
              {...props}
            />
          </Box>
      )}}
    />
  )
};
 
export default RHFCustomIntegerInput;