'use strict';

Object.defineProperty(exports, "__esModule", {
  value: true
});

var _react = require('react');

var _react2 = _interopRequireDefault(_react);

var _propTypes = require('prop-types');

var _propTypes2 = _interopRequireDefault(_propTypes);

var _styledComponents = require('styled-components');

var _styledComponents2 = _interopRequireDefault(_styledComponents);

var _themeGet = require('../../extensions/themeGet');

var _themeGet2 = _interopRequireDefault(_themeGet);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

var Label = _styledComponents2.default.label.withConfig({ displayName: 'Label' }).withConfig({
  displayName: 'Label'
})(['font-size:1em;letter-spacing:0.02em;font-weight:600;font-family:', ';color:', ';background:transparent;line-height:1.5;display:block;', ' &:disabled{opacity:0.5;}', ';'], (0, _themeGet2.default)('fonts.brand'), (0, _themeGet2.default)('colors.text.default'), function (_ref) {
  var disabled = _ref.disabled;
  return disabled ? 'opacity: 0.5;' : '';
}, function (_ref2) {
  var required = _ref2.required;
  return required ? (0, _styledComponents.css)(['&::after{content:\'*\';color:#e8562e;padding-left:0.3em;}']) : '';
});

Label.propTypes = {
  /**
   * Styles the label to indicate that the associated field is disabled.
   */
  disabled: _propTypes2.default.bool,
  /**
   * Adds a class name to the element.
   */
  className: _propTypes2.default.string,
  /**
   * Adds an id to the element.
   */
  id: _propTypes2.default.string
};

Label.defaultProps = {
  disabled: false,
  className: null,
  id: null
};

/**
 * @component
 */
exports.default = Label;