Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.
 
 
 
 

174 rindas
4.9 KiB

  1. 'use strict';
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. var _extends2 = require('babel-runtime/helpers/extends');
  6. var _extends3 = _interopRequireDefault(_extends2);
  7. var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties');
  8. var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
  9. var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
  10. var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
  11. var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
  12. var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
  13. var _createClass2 = require('babel-runtime/helpers/createClass');
  14. var _createClass3 = _interopRequireDefault(_createClass2);
  15. var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
  16. var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
  17. var _inherits2 = require('babel-runtime/helpers/inherits');
  18. var _inherits3 = _interopRequireDefault(_inherits2);
  19. var _simpleAssign = require('simple-assign');
  20. var _simpleAssign2 = _interopRequireDefault(_simpleAssign);
  21. var _react = require('react');
  22. var _react2 = _interopRequireDefault(_react);
  23. var _propTypes = require('prop-types');
  24. var _propTypes2 = _interopRequireDefault(_propTypes);
  25. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  26. function getStyles(props, context) {
  27. var primary = props.primary,
  28. secondary = props.secondary;
  29. var badge = context.muiTheme.badge;
  30. var badgeBackgroundColor = void 0;
  31. var badgeTextColor = void 0;
  32. if (primary) {
  33. badgeBackgroundColor = badge.primaryColor;
  34. badgeTextColor = badge.primaryTextColor;
  35. } else if (secondary) {
  36. badgeBackgroundColor = badge.secondaryColor;
  37. badgeTextColor = badge.secondaryTextColor;
  38. } else {
  39. badgeBackgroundColor = badge.color;
  40. badgeTextColor = badge.textColor;
  41. }
  42. var radius = 12;
  43. var radius2x = Math.floor(2 * radius);
  44. return {
  45. root: {
  46. position: 'relative',
  47. display: 'inline-block',
  48. padding: radius2x + 'px ' + radius2x + 'px ' + radius + 'px ' + radius + 'px'
  49. },
  50. badge: {
  51. display: 'flex',
  52. flexDirection: 'row',
  53. flexWrap: 'wrap',
  54. justifyContent: 'center',
  55. alignContent: 'center',
  56. alignItems: 'center',
  57. position: 'absolute',
  58. top: 0,
  59. right: 0,
  60. fontWeight: badge.fontWeight,
  61. fontSize: radius,
  62. width: radius2x,
  63. height: radius2x,
  64. borderRadius: '50%',
  65. backgroundColor: badgeBackgroundColor,
  66. color: badgeTextColor
  67. }
  68. };
  69. }
  70. var Badge = function (_Component) {
  71. (0, _inherits3.default)(Badge, _Component);
  72. function Badge() {
  73. (0, _classCallCheck3.default)(this, Badge);
  74. return (0, _possibleConstructorReturn3.default)(this, (Badge.__proto__ || (0, _getPrototypeOf2.default)(Badge)).apply(this, arguments));
  75. }
  76. (0, _createClass3.default)(Badge, [{
  77. key: 'render',
  78. value: function render() {
  79. var _props = this.props,
  80. badgeContent = _props.badgeContent,
  81. badgeStyle = _props.badgeStyle,
  82. children = _props.children,
  83. primary = _props.primary,
  84. secondary = _props.secondary,
  85. style = _props.style,
  86. other = (0, _objectWithoutProperties3.default)(_props, ['badgeContent', 'badgeStyle', 'children', 'primary', 'secondary', 'style']);
  87. var prepareStyles = this.context.muiTheme.prepareStyles;
  88. var styles = getStyles(this.props, this.context);
  89. return _react2.default.createElement(
  90. 'div',
  91. (0, _extends3.default)({}, other, { style: prepareStyles((0, _simpleAssign2.default)({}, styles.root, style)) }),
  92. children,
  93. _react2.default.createElement(
  94. 'span',
  95. { style: prepareStyles((0, _simpleAssign2.default)({}, styles.badge, badgeStyle)) },
  96. badgeContent
  97. )
  98. );
  99. }
  100. }]);
  101. return Badge;
  102. }(_react.Component);
  103. Badge.defaultProps = {
  104. primary: false,
  105. secondary: false
  106. };
  107. Badge.contextTypes = {
  108. muiTheme: _propTypes2.default.object.isRequired
  109. };
  110. Badge.propTypes = process.env.NODE_ENV !== "production" ? {
  111. /**
  112. * This is the content rendered within the badge.
  113. */
  114. badgeContent: _propTypes2.default.node.isRequired,
  115. /**
  116. * Override the inline-styles of the badge element.
  117. */
  118. badgeStyle: _propTypes2.default.object,
  119. /**
  120. * The badge will be added relativelty to this node.
  121. */
  122. children: _propTypes2.default.node,
  123. /**
  124. * The css class name of the root element.
  125. */
  126. className: _propTypes2.default.string,
  127. /**
  128. * If true, the badge will use the primary badge colors.
  129. */
  130. primary: _propTypes2.default.bool,
  131. /**
  132. * If true, the badge will use the secondary badge colors.
  133. */
  134. secondary: _propTypes2.default.bool,
  135. /**
  136. * Override the inline-styles of the root element.
  137. */
  138. style: _propTypes2.default.object
  139. } : {};
  140. exports.default = Badge;