import React, {forwardRef, InputHTMLAttributes} from 'react'
import {styled} from '@karma.run/react'
import {
BorderRadius,
BorderWidth,
FontSize,
Spacing,
MarginProps,
FlexChildProps,
WidthProps,
extractStyleProps
} from '../style/helpers'
import {themeMiddleware, Theme} from '../style/themeContext'
interface SearchInputElementProps extends MarginProps, WidthProps, FlexChildProps {
theme: Theme
}
const SearchInputElement = styled(
'input',
({theme, width, ...props}: SearchInputElementProps) => ({
_className: process.env.NODE_ENV !== 'production' ? 'SearchInput' : undefined,
appearance: 'none',
display: 'block',
width: width ?? '100%',
padding: `${Spacing.ExtraSmall} ${Spacing.Small}`,
color: theme.colors.dark,
fontSize: FontSize.Medium,
borderRadius: BorderRadius.Medium,
borderWidth: BorderWidth.Small,
borderColor: theme.colors.gray,
borderStyle: 'solid',
backgroundColor: theme.colors.white,
...props,
'::placeholder': {
color: theme.colors.gray
},
':focus': {
outline: 'none',
borderColor: theme.colors.action
}
}),
themeMiddleware
)
export interface SearchInputProps extends Omit, 'type'> {}
export const SearchInput = forwardRef(function SearchInput(
props,
ref
) {
const [styleProps, elementProps] = extractStyleProps(props)
return
})