UNPKG

scratch-gui

Version:

GraphicaL User Interface for creating and running Scratch 3.0 projects

60 lines (56 loc) 1.55 kB
import classNames from 'classnames'; import PropTypes from 'prop-types'; import React from 'react'; import filterIcon from './icon--filter.svg'; import xIcon from './icon--x.svg'; import styles from './filter.css'; const FilterComponent = props => { const { className, onChange, onClear, placeholderText, filterQuery, inputClassName } = props; return ( <div className={classNames(className, styles.filter, { [styles.isActive]: filterQuery.length > 0 })} > <img className={styles.filterIcon} src={filterIcon} /> <input className={classNames(styles.filterInput, inputClassName)} placeholder={placeholderText} type="text" value={filterQuery} onChange={onChange} /> <div className={styles.xIconWrapper} onClick={onClear} > <img className={styles.xIcon} src={xIcon} /> </div> </div> ); }; FilterComponent.propTypes = { className: PropTypes.string, filterQuery: PropTypes.string, inputClassName: PropTypes.string, onChange: PropTypes.func, onClear: PropTypes.func, placeholderText: PropTypes.string }; FilterComponent.defaultProps = { placeholderText: 'Search' }; export default FilterComponent;