aboutsummaryrefslogtreecommitdiff
path: root/frontend/src/components/FloatingLabel.js
diff options
context:
space:
mode:
authorjackyzha0 <[email protected]>2020-05-10 11:48:31 -0700
committerjackyzha0 <[email protected]>2020-05-10 11:48:31 -0700
commit7a3ca8a956468db1e3a66b4f0ec3beb8ad0b81f3 (patch)
treebab2b3aaa18a53aca30e805e1f9e91435a181d3c /frontend/src/components/FloatingLabel.js
parentinput length check and component splitting (diff)
downloadctrl-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.js34
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