import InputAdornmentLib, { InputAdornmentProps as LibInputAdornmentProps, } from "@mui/material/InputAdornment"; import InputLabelLib, { InputLabelProps as LibInputLabelProps } from "@mui/material/InputLabel"; import { css, styled } from "@mui/material/styles"; import TextFieldLib, { TextFieldProps as LibTextFieldProps } from "@mui/material/TextField"; import { pxToRem } from "@ui/theme"; import { inputStyles } from "@ui/theme/mixins/form"; import { FC } from "react"; export type TextFieldProps = LibTextFieldProps & { labelPosition?: "top" | "left"; }; export type InputLabelProps = LibInputLabelProps; export type InputAdornmentProps = LibInputAdornmentProps; const StyledTextField = styled(({ labelPosition, ...props }: TextFieldProps) => ( ))` ${inputStyles()} ${({ labelPosition }) => { if (labelPosition === "left") { return css` flex-direction: row; align-items: center; .MuiFormLabel-root { margin-right: ${pxToRem(2)}; overflow: visible; } `; } }} `; const TextField: FC = ({ children, ...props }) => { return {children}; }; TextField.displayName = "TextField"; export const InputLabel: FC = ({ children, ...props }) => { return {children}; }; export const InputAdornment: FC = ({ children, ...props }) => { return {children}; }; export default TextField;