Add onFocus,onBlur callback props to InputSearch
This commit is contained in:
@@ -7,7 +7,9 @@ import Input, { Props as InputProps } from "~/components/Input";
|
|||||||
type Props = InputProps & {
|
type Props = InputProps & {
|
||||||
placeholder?: string;
|
placeholder?: string;
|
||||||
value?: string;
|
value?: string;
|
||||||
onChange: (event: React.ChangeEvent<HTMLInputElement>) => unknown;
|
onBlur?: (event: React.FocusEvent<HTMLInputElement>) => unknown;
|
||||||
|
onFocus?: (event: React.FocusEvent<HTMLInputElement>) => unknown;
|
||||||
|
onChange?: (event: React.ChangeEvent<HTMLInputElement>) => unknown;
|
||||||
onKeyDown?: (event: React.KeyboardEvent<HTMLInputElement>) => unknown;
|
onKeyDown?: (event: React.KeyboardEvent<HTMLInputElement>) => unknown;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -18,15 +20,29 @@ function InputSearch(
|
|||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
const theme = useTheme();
|
const theme = useTheme();
|
||||||
const [isFocused, setIsFocused] = React.useState(false);
|
const [isFocused, setIsFocused] = React.useState(false);
|
||||||
const handleFocus = React.useCallback(() => {
|
const {
|
||||||
setIsFocused(true);
|
placeholder = `${t("Search")}…`,
|
||||||
}, []);
|
onKeyDown,
|
||||||
|
onBlur,
|
||||||
|
onFocus,
|
||||||
|
...rest
|
||||||
|
} = props;
|
||||||
|
|
||||||
const handleBlur = React.useCallback(() => {
|
const handleFocus = React.useCallback(
|
||||||
setIsFocused(false);
|
(event) => {
|
||||||
}, []);
|
setIsFocused(true);
|
||||||
|
onFocus?.(event);
|
||||||
|
},
|
||||||
|
[onFocus]
|
||||||
|
);
|
||||||
|
|
||||||
const { placeholder = `${t("Search")}…`, onKeyDown, ...rest } = props;
|
const handleBlur = React.useCallback(
|
||||||
|
(event) => {
|
||||||
|
setIsFocused(false);
|
||||||
|
onBlur?.(event);
|
||||||
|
},
|
||||||
|
[onBlur]
|
||||||
|
);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Input
|
<Input
|
||||||
|
|||||||
Reference in New Issue
Block a user