import React, { useCallback, cloneElement } from 'react'; import { IconCloseCircleFilled, IconSearch, Input, useUIKit } from '@tencentcloud/uikit-base-component-react'; import cs from 'classnames'; import { VariantType } from '../../../types/search'; import styles from './SearchBar.module.scss'; import type { SearchBarProps } from '../../../types/search'; export function SearchBar({ value, onChange, onKeyDown, onClear, placeholder, SearchIcon = , ClearIcon, className = '', style, onFocus, onBlur, autoFocus = false, variant, }: SearchBarProps) { const { t } = useUIKit(); const handleClear = useCallback(() => { onClear?.(); }, [onClear]); const searchPlaceholderMap = { [VariantType.EXACT]: t('Search.Search'), [VariantType.STANDARD]: t('Search.Search'), [VariantType.MINI]: t('Search.Search'), [VariantType.EMBEDDED]: t('Search.Search Messages'), }; return (
{value && (
{ClearIcon || }
)}
)} value={value || ''} onChange={onChange} onKeyDown={onKeyDown} onFocus={onFocus} onBlur={onBlur} placeholder={placeholder || searchPlaceholderMap[variant || VariantType.STANDARD]} autoFocus={autoFocus} enterKeyHint="search" /> ); } export default SearchBar;