123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- import React, { forwardRef } from 'react';
- import { TextArea } from './styled';
- type Props = {
- id?: string;
- name?: string;
- onChange?: (val: string) => void;
- onBlur?: () => void;
- value?: string | number;
- defaultValue?: string | number;
- placeholder?: string;
- disabled?: boolean;
- error?: boolean;
- shouldFitContainer?: boolean;
- };
- const InputBox = forwardRef<HTMLTextAreaElement, Props>(
- ({ onChange, disabled = false, ...rest }: Props, ref) => {
- const handleChange = (e: React.ChangeEvent<HTMLTextAreaElement>): void => {
- if (onChange && !disabled) {
- onChange(e.target.value);
- }
- };
- return (
- <TextArea
- ref={ref}
- disabled={disabled}
- onChange={handleChange}
- {...rest}
- />
- );
- },
- );
- InputBox.defaultProps = {
- id: '',
- name: '',
- onChange: () => {
- // do something
- },
- onBlur: () => {
- // do something
- },
- value: '',
- defaultValue: undefined,
- placeholder: '',
- disabled: false,
- error: false,
- shouldFitContainer: false,
- };
- export default InputBox;
|