All files / SearchField SearchField.js

50% Statements 3/6
0% Branches 0/2
0% Functions 0/1
50% Lines 3/6

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45              26x             26x                                                     26x      
import { forwardRef } from 'react';
import PropTypes from 'prop-types';
import { Icon, TextField } from '@folio/stripes/components';
 
import css from '../../../styles/SearchField.css';
 
// Accepts the same props as TextField
const propTypes = {
  ariaLabel: PropTypes.string,
  clearSearchId: PropTypes.string,
  disabled: PropTypes.bool,
  onClear: PropTypes.func,
};
 
const SearchField = forwardRef((props, ref) => {
  const {
    ariaLabel,
    ...rest
  } = props;
 
  const searchIcon = (
    <Icon
      icon="search"
      iconClassName={css.searchIcon}
      size="small"
    />
  );
 
  return (
    <TextField
      {...rest}
      aria-label={rest['aria-label'] || ariaLabel}
      focussedclass={css.isFocused}
      hasClearIcon
      inputRef={ref}
      startControl={searchIcon}
      type="search"
    />
  );
});
 
SearchField.propTypes = propTypes;
 
export default SearchField;