diff --git a/react/SearchBar/index.jsx b/react/SearchBar/index.jsx index 27d5430681..ef7013c992 100644 --- a/react/SearchBar/index.jsx +++ b/react/SearchBar/index.jsx @@ -116,12 +116,14 @@ const SearchBar = forwardRef( label: labelProp, componentsProps, disabledClear, + disabledFocus, className, defaultValue, value, elevation, disabled, onChange, + onClear, onFocus, onBlur, ...props @@ -155,6 +157,7 @@ const SearchBar = forwardRef( const handleClear = ev => { onChange({ ...ev, target: { ...ev.target, value: '' } }) + onClear(ev) setCurrentValue('') } @@ -175,7 +178,7 @@ const SearchBar = forwardRef( className={cx(className, classes.root, { [classes.flat]: !elevation, [classes.elevation]: elevation, - [classes.focused]: isFocused, + [classes.focused]: isFocused && !disabledFocus, [classes.disabled]: disabled })} ref={ref} @@ -233,9 +236,11 @@ SearchBar.defaultProps = { size: 'small', type: 'search', disabledClear: false, + disabledFocus: false, defaultValue: '', onChange: () => {}, onFocus: () => {}, + onClear: () => {}, onBlur: () => {} } @@ -253,6 +258,7 @@ SearchBar.propTypes = { /** Used only with self-controlled component */ defaultValue: PropTypes.string, disabledClear: PropTypes.bool, + disabledFocus: PropTypes.bool, elevation: PropTypes.bool, placeholder: PropTypes.string, label: PropTypes.oneOfType([ @@ -263,13 +269,14 @@ SearchBar.propTypes = { disabled: PropTypes.bool, onChange: PropTypes.func, onFocus: PropTypes.func, + onClear: PropTypes.func, onBlur: PropTypes.func } -const SearchBarWithLocales = props => { +const SearchBarWithLocales = forwardRef((props, ref) => { useExtendI18n(locales) - return -} + return +}) export default SearchBarWithLocales