aboutsummaryrefslogtreecommitdiff
path: root/components/Input/index.tsx
blob: 69f64fa6893baafd08ddf316cfc64bde0ae95160 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import React, { TextareaHTMLAttributes, ForwardRefRenderFunction } from 'react';
import { getSystemStyle, SystemProps } from '../utils/systemProps';
import inputElStyle from '../utils/inputElementStyle';

interface InputProps
  extends React.InputHTMLAttributes<HTMLInputElement>,
  SystemProps
{ }

const Input: ForwardRefRenderFunction<HTMLInputElement, InputProps> =
  ({ style, ...props }, ref) => {
    style = {
      ...inputElStyle,
      ...style,
    };

    const systemStyle = getSystemStyle(props, style);

    return <input ref={ref} style={systemStyle} {...props} />;
  };

export default React.forwardRef(Input);