You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

178 lines
5.3 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 card = context.muiTheme.card;
  28. return {
  29. root: {
  30. padding: 16,
  31. position: 'relative'
  32. },
  33. title: {
  34. fontSize: 24,
  35. color: props.titleColor || card.titleColor,
  36. display: 'block',
  37. lineHeight: '36px'
  38. },
  39. subtitle: {
  40. fontSize: 14,
  41. color: props.subtitleColor || card.subtitleColor,
  42. display: 'block'
  43. }
  44. };
  45. }
  46. var CardTitle = function (_Component) {
  47. (0, _inherits3.default)(CardTitle, _Component);
  48. function CardTitle() {
  49. (0, _classCallCheck3.default)(this, CardTitle);
  50. return (0, _possibleConstructorReturn3.default)(this, (CardTitle.__proto__ || (0, _getPrototypeOf2.default)(CardTitle)).apply(this, arguments));
  51. }
  52. (0, _createClass3.default)(CardTitle, [{
  53. key: 'render',
  54. value: function render() {
  55. var _props = this.props,
  56. actAsExpander = _props.actAsExpander,
  57. children = _props.children,
  58. closeIcon = _props.closeIcon,
  59. expandable = _props.expandable,
  60. showExpandableButton = _props.showExpandableButton,
  61. style = _props.style,
  62. subtitle = _props.subtitle,
  63. subtitleColor = _props.subtitleColor,
  64. subtitleStyle = _props.subtitleStyle,
  65. title = _props.title,
  66. titleColor = _props.titleColor,
  67. titleStyle = _props.titleStyle,
  68. other = (0, _objectWithoutProperties3.default)(_props, ['actAsExpander', 'children', 'closeIcon', 'expandable', 'showExpandableButton', 'style', 'subtitle', 'subtitleColor', 'subtitleStyle', 'title', 'titleColor', 'titleStyle']);
  69. var prepareStyles = this.context.muiTheme.prepareStyles;
  70. var styles = getStyles(this.props, this.context);
  71. var rootStyle = (0, _simpleAssign2.default)({}, styles.root, style);
  72. var extendedTitleStyle = (0, _simpleAssign2.default)({}, styles.title, titleStyle);
  73. var extendedSubtitleStyle = (0, _simpleAssign2.default)({}, styles.subtitle, subtitleStyle);
  74. return _react2.default.createElement(
  75. 'div',
  76. (0, _extends3.default)({}, other, { style: prepareStyles(rootStyle) }),
  77. _react2.default.createElement(
  78. 'span',
  79. { style: prepareStyles(extendedTitleStyle) },
  80. title
  81. ),
  82. _react2.default.createElement(
  83. 'span',
  84. { style: prepareStyles(extendedSubtitleStyle) },
  85. subtitle
  86. ),
  87. children
  88. );
  89. }
  90. }]);
  91. return CardTitle;
  92. }(_react.Component);
  93. CardTitle.muiName = 'CardTitle';
  94. CardTitle.contextTypes = {
  95. muiTheme: _propTypes2.default.object.isRequired
  96. };
  97. CardTitle.propTypes = process.env.NODE_ENV !== "production" ? {
  98. /**
  99. * If true, a click on this card component expands the card.
  100. */
  101. actAsExpander: _propTypes2.default.bool,
  102. /**
  103. * Can be used to render elements inside the Card Title.
  104. */
  105. children: _propTypes2.default.node,
  106. /**
  107. * Can be used to pass a closeIcon if you don't like the default expandable close Icon.
  108. */
  109. closeIcon: _propTypes2.default.node,
  110. /**
  111. * If true, this card component is expandable.
  112. */
  113. expandable: _propTypes2.default.bool,
  114. /**
  115. * If true, this card component will include a button to expand the card.
  116. */
  117. showExpandableButton: _propTypes2.default.bool,
  118. /**
  119. * Override the inline-styles of the root element.
  120. */
  121. style: _propTypes2.default.object,
  122. /**
  123. * Can be used to render a subtitle in the Card Title.
  124. */
  125. subtitle: _propTypes2.default.node,
  126. /**
  127. * Override the subtitle color.
  128. */
  129. subtitleColor: _propTypes2.default.string,
  130. /**
  131. * Override the inline-styles of the subtitle.
  132. */
  133. subtitleStyle: _propTypes2.default.object,
  134. /**
  135. * Can be used to render a title in the Card Title.
  136. */
  137. title: _propTypes2.default.node,
  138. /**
  139. * Override the title color.
  140. */
  141. titleColor: _propTypes2.default.string,
  142. /**
  143. * Override the inline-styles of the title.
  144. */
  145. titleStyle: _propTypes2.default.object
  146. } : {};
  147. exports.default = CardTitle;