Files
suwayomi-material-you-webui/src/features/core/components/inputs/SearchTextField.tsx

38 lines
1.3 KiB
TypeScript
Raw Normal View History

2024-02-25 23:12:27 +01:00
/*
* Copyright (C) Contributors to the Suwayomi project
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
import TextField, { TextFieldProps } from '@mui/material/TextField';
2024-09-06 16:59:27 +02:00
import IconButton, { IconButtonProps } from '@mui/material/IconButton';
import InputAdornment from '@mui/material/InputAdornment';
2024-02-25 23:12:27 +01:00
import CancelIcon from '@mui/icons-material/Cancel';
2024-09-06 16:59:27 +02:00
export const SearchTextField = ({
onCancel,
cancelButtonProps,
...textFieldProps
}: TextFieldProps & { onCancel: () => void; cancelButtonProps?: IconButtonProps }) => (
2024-02-25 23:12:27 +01:00
<TextField
2024-05-07 14:42:02 +02:00
{...textFieldProps}
2024-09-03 17:15:47 +02:00
slotProps={{
input: {
...textFieldProps.InputProps,
2024-09-06 16:59:27 +02:00
sx: {
color: 'inherit',
},
2024-09-03 17:15:47 +02:00
endAdornment: textFieldProps.InputProps?.endAdornment ?? (
<InputAdornment position="end">
2024-09-06 16:59:27 +02:00
<IconButton {...cancelButtonProps} onClick={() => onCancel()}>
2024-09-03 17:15:47 +02:00
<CancelIcon />
</IconButton>
</InputAdornment>
),
},
2024-02-25 23:12:27 +01:00
}}
/>
);