diff options
| author | jackyzha0 <[email protected]> | 2020-05-10 11:48:31 -0700 |
|---|---|---|
| committer | jackyzha0 <[email protected]> | 2020-05-10 11:48:31 -0700 |
| commit | 7a3ca8a956468db1e3a66b4f0ec3beb8ad0b81f3 (patch) | |
| tree | bab2b3aaa18a53aca30e805e1f9e91435a181d3c /frontend/src/components/FloatingLabel.js | |
| parent | input length check and component splitting (diff) | |
| download | ctrl-v-7a3ca8a956468db1e3a66b4f0ec3beb8ad0b81f3.tar.xz ctrl-v-7a3ca8a956468db1e3a66b4f0ec3beb8ad0b81f3.zip | |
add focus opacity change, password input
Diffstat (limited to 'frontend/src/components/FloatingLabel.js')
| -rw-r--r-- | frontend/src/components/FloatingLabel.js | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/frontend/src/components/FloatingLabel.js b/frontend/src/components/FloatingLabel.js new file mode 100644 index 0000000..814790c --- /dev/null +++ b/frontend/src/components/FloatingLabel.js @@ -0,0 +1,34 @@ +import React from 'react'; +import styled, { css } from 'styled-components' + +const StyledLabel = styled.label` + position: absolute; + top: 0.5em; + font-weight: 700; + font-size: 1em; + opacity: 0; + transition: all 0.5s cubic-bezier(.25,.8,.25,1); + + ${props => + (props.value.length > 0) && + css` + top: 0em; + opacity: 1 + `}; +` + +class FloatingLabel extends React.Component { + render() { + return ( + <StyledLabel + label={this.props.label} + value={this.props.value} + className={this.props.id} + htmlFor={this.props.id}> + {this.props.label} + </StyledLabel> + ); + } +} + +export default FloatingLabel
\ No newline at end of file |