'use strict';

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

var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };

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

var _propTypes2 = _interopRequireDefault(_propTypes);

var _react = require('react');

var _react2 = _interopRequireDefault(_react);

var _classnames = require('classnames');

var _classnames2 = _interopRequireDefault(_classnames);

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

function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }

var LargeCardKeyValue = function LargeCardKeyValue(props) {
  var className = props.className,
      label = props.label,
      value = props.value,
      _props$renderValue = props.renderValue,
      renderValue = _props$renderValue === undefined ? defaultRenderValue : _props$renderValue,
      rest = _objectWithoutProperties(props, ['className', 'label', 'value', 'renderValue']);

  return _react2.default.createElement(
    'div',
    _extends({ className: (0, _classnames2.default)('summary_info', className) }, rest),
    _react2.default.createElement(
      'span',
      { className: 'label' },
      label
    ),
    _react2.default.createElement(
      'span',
      { className: 'count' },
      renderValue(value)
    )
  );
};

LargeCardKeyValue.defaultProps = {
  label: '',
  value: ''
};

LargeCardKeyValue.propTypes = {
  /**
   * Label for value
   */
  label: _propTypes2.default.string,
  /**
   * Raw value
   */
  value: _propTypes2.default.oneOfType([_propTypes2.default.number, _propTypes2.default.string]),
  /**
   * Optional transformation function for value to render.  Defaults to
   * `toLocaleString`.
   * @param {any} value
   * @returns {any}
   */
  renderValue: _propTypes2.default.func
};

function defaultRenderValue(value) {
  return value.toLocaleString(navigator.language, { minimumFractionDigits: 0 });
}
exports.default = LargeCardKeyValue;
//# sourceMappingURL=LargeCardKeyValue.js.map