import React from 'react' import type { InputProps } from './input' import ConditionalWrapper from '../ConditionalWrapper/ConditionalWrapper.tsx' import { classNames } from '../../utils/classNames' import styles from './input.module.scss' export type Props = InputProps> & { onChange?: (event: React.ChangeEvent) => void onKeyUp?: (event: React.KeyboardEvent) => void onInput?: (event: React.InputEvent) => void onClick?: (event: React.MouseEvent) => void children?: React.ReactNode } const Input = ({ type = 'text', theme, label, subText, value, className, labelClassName, children, ...rest }: Props) => { const classes = classNames([ styles.input, theme && styles[theme], className ]) const labelClasses = classNames([ styles['input-label'], labelClassName ]) const useLabel = !!(label || subText || children) return ( ( )}> {label && (
)} (
{children}
)}> {children}
{subText && (
)} ) } export default Input