import React from 'react'; import { MessageDescriptor } from 'react-intl'; import clsx from 'clsx'; import { SKIN_DARK, COLOR_GREEN, Color, Skin } from 'app/components/ui'; import { omit } from 'app/functions'; import styles from './form.scss'; import FormInputComponent from './FormInputComponent'; export default class Checkbox extends FormInputComponent< React.InputHTMLAttributes & { color: Color; skin: Skin; label: string | MessageDescriptor | React.ReactElement; } > { static defaultProps = { color: COLOR_GREEN, skin: SKIN_DARK, }; elRef = React.createRef(); render() { const { color, skin } = this.props; let { label } = this.props; label = React.isValidElement(label) ? label : this.formatMessage(label); const props = omit(this.props, ['color', 'skin', 'label']); return (