diff --git a/src/ui/components/common/TextInput.css b/src/ui/components/common/TextInput.css index 441ab3a..a952cf0 100644 --- a/src/ui/components/common/TextInput.css +++ b/src/ui/components/common/TextInput.css @@ -2,10 +2,30 @@ border: none; border-bottom: 2px solid #cecece; + padding-right: 16px; + transition: border-bottom-color 0.1s ease-in-out; } .TextInput:focus { outline: none; border-bottom-color: #ffd326; +} + +.TextClear { + height: 10px; + display: inline-block; + position: absolute; + right: 16%; + + filter: invert(99%) sepia(0%) saturate(1188%) hue-rotate(186deg) brightness(97%) contrast(67%); +} + +.TextClear:hover { + cursor: pointer; + filter: invert(73%) sepia(0%) saturate(380%) hue-rotate(224deg) brightness(94%) contrast(90%); +} + +.TextInputClear { + height: 100%; } \ No newline at end of file diff --git a/src/ui/components/common/TextInput.tsx b/src/ui/components/common/TextInput.tsx index 908347d..e83fbce 100644 --- a/src/ui/components/common/TextInput.tsx +++ b/src/ui/components/common/TextInput.tsx @@ -1,5 +1,7 @@ import React from 'react' + import './TextInput.css' +import Close from '../../../resources/icons/close.svg' interface IProps { value?: string; @@ -7,6 +9,7 @@ interface IProps { onChange?: (value: string) => void; readOnly?: boolean; id?: string; + clearable?: boolean; } interface IState { @@ -34,10 +37,17 @@ export default class TextInput extends React.Component { render() { return ( - { - this.setState({ value: e.target.value }) - if (this.props.onChange) this.props.onChange(e.target.value) - }} /> +
+ { + this.setState({ value: e.target.value }) + if (this.props.onChange) this.props.onChange(e.target.value) + }} /> +
{ + this.setState({ value: '' }) + }}> + +
+
) } } \ No newline at end of file