aboutsummaryrefslogtreecommitdiffstats
path: root/packages/forms/src/label/index.tsx
diff options
context:
space:
mode:
authorLibravatar Stefan Malzner <stefan@adlk.io>2019-01-03 16:46:47 +0100
committerLibravatar Stefan Malzner <stefan@adlk.io>2019-01-03 16:46:47 +0100
commit3fa0b0439c7dc49ffb2c4aff89e5a0f96aacf5e2 (patch)
tree450b9e21d0bfac2cdde28995a04a3643b3ea2a37 /packages/forms/src/label/index.tsx
parentAdd theme (diff)
downloadferdium-app-3fa0b0439c7dc49ffb2c4aff89e5a0f96aacf5e2.tar.gz
ferdium-app-3fa0b0439c7dc49ffb2c4aff89e5a0f96aacf5e2.tar.zst
ferdium-app-3fa0b0439c7dc49ffb2c4aff89e5a0f96aacf5e2.zip
Add forms
Diffstat (limited to 'packages/forms/src/label/index.tsx')
-rw-r--r--packages/forms/src/label/index.tsx49
1 files changed, 49 insertions, 0 deletions
diff --git a/packages/forms/src/label/index.tsx b/packages/forms/src/label/index.tsx
new file mode 100644
index 000000000..348b820c5
--- /dev/null
+++ b/packages/forms/src/label/index.tsx
@@ -0,0 +1,49 @@
1import classnames from 'classnames';
2import { Classes } from 'jss';
3import { observer } from 'mobx-react';
4import React, { Component } from 'react';
5import injectSheet from 'react-jss';
6
7import { IFormField } from '../typings/generic';
8
9import styles from './styles';
10
11interface ILabel extends IFormField, React.LabelHTMLAttributes<HTMLLabelElement> {
12 classes: Classes;
13}
14
15@observer
16class Label extends Component<ILabel> {
17 static defaultProps = {
18 showLabel: true,
19 };
20
21 render() {
22 const {
23 title,
24 showLabel,
25 classes,
26 className,
27 children,
28 htmlFor,
29 } = this.props;
30
31 return (
32 <label
33 className={classnames({
34 [`${className}`]: className,
35 })}
36 htmlFor={htmlFor}
37 >
38 {showLabel && (
39 <span className={classes.label}>{title}</span>
40 )}
41 <div className={classes.content}>
42 {children}
43 </div>
44 </label>
45 );
46 }
47}
48
49export default injectSheet(styles)(Label);