UNPKG

5.25 kBJavaScriptView Raw
1'use strict';
2
3exports.__esModule = true;
4exports.default = undefined;
5
6var _extends2 = require('babel-runtime/helpers/extends');
7
8var _extends3 = _interopRequireDefault(_extends2);
9
10var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
11
12var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
13
14var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
15
16var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
17
18var _inherits2 = require('babel-runtime/helpers/inherits');
19
20var _inherits3 = _interopRequireDefault(_inherits2);
21
22var _class, _temp; /* eslint-disable valid-jsdoc */
23
24
25var _react = require('react');
26
27var _react2 = _interopRequireDefault(_react);
28
29var _propTypes = require('prop-types');
30
31var _propTypes2 = _interopRequireDefault(_propTypes);
32
33var _classnames = require('classnames');
34
35var _classnames2 = _interopRequireDefault(_classnames);
36
37var _configProvider = require('../config-provider');
38
39var _configProvider2 = _interopRequireDefault(_configProvider);
40
41var _bulletHeader = require('./bullet-header');
42
43var _bulletHeader2 = _interopRequireDefault(_bulletHeader);
44
45var _collapseContent = require('./collapse-content');
46
47var _collapseContent2 = _interopRequireDefault(_collapseContent);
48
49var _media = require('./media');
50
51var _media2 = _interopRequireDefault(_media);
52
53var _actions = require('./actions');
54
55var _actions2 = _interopRequireDefault(_actions);
56
57var _util = require('../util');
58
59function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
60
61var pickOthers = _util.obj.pickOthers;
62
63/**
64 * Card
65 * @order 0
66 */
67
68var Card = (_temp = _class = function (_React$Component) {
69 (0, _inherits3.default)(Card, _React$Component);
70
71 function Card() {
72 (0, _classCallCheck3.default)(this, Card);
73 return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments));
74 }
75
76 Card.prototype.render = function render() {
77 var _classNames;
78
79 var _props = this.props,
80 prefix = _props.prefix,
81 className = _props.className,
82 title = _props.title,
83 subTitle = _props.subTitle,
84 extra = _props.extra,
85 showTitleBullet = _props.showTitleBullet,
86 showHeadDivider = _props.showHeadDivider,
87 children = _props.children,
88 rtl = _props.rtl,
89 contentHeight = _props.contentHeight,
90 free = _props.free,
91 actions = _props.actions,
92 hasBorder = _props.hasBorder,
93 media = _props.media;
94
95
96 var cardCls = (0, _classnames2.default)((_classNames = {}, _classNames[prefix + 'card'] = true, _classNames[prefix + 'card-free'] = free, _classNames[prefix + 'card-noborder'] = !hasBorder, _classNames[prefix + 'card-show-divider'] = showHeadDivider, _classNames[prefix + 'card-hide-divider'] = !showHeadDivider, _classNames), className);
97
98 var others = pickOthers(Object.keys(Card.propTypes), this.props);
99
100 others.dir = rtl ? 'rtl' : undefined;
101
102 return _react2.default.createElement(
103 'div',
104 (0, _extends3.default)({}, others, { className: cardCls }),
105 media && _react2.default.createElement(
106 _media2.default,
107 null,
108 media
109 ),
110 _react2.default.createElement(_bulletHeader2.default, { title: title, subTitle: subTitle, extra: extra, showTitleBullet: showTitleBullet }),
111 free ? children : _react2.default.createElement(
112 _collapseContent2.default,
113 { contentHeight: contentHeight },
114 children
115 ),
116 actions && _react2.default.createElement(
117 _actions2.default,
118 null,
119 actions
120 )
121 );
122 };
123
124 return Card;
125}(_react2.default.Component), _class.displayName = 'Card', _class.propTypes = (0, _extends3.default)({}, _configProvider2.default.propTypes, {
126 prefix: _propTypes2.default.string,
127 rtl: _propTypes2.default.bool,
128 /**
129 * 卡片的上的图片 / 视频
130 */
131 media: _propTypes2.default.node,
132 /**
133 * 卡片的标题
134 */
135 title: _propTypes2.default.node,
136 /**
137 * 卡片的副标题
138 */
139 subTitle: _propTypes2.default.node,
140 /**
141 * 卡片操作组,位置在卡片底部
142 */
143 actions: _propTypes2.default.node,
144 /**
145 * 是否显示标题的项目符号
146 */
147 showTitleBullet: _propTypes2.default.bool,
148 /**
149 * 是否展示头部的分隔线
150 */
151 showHeadDivider: _propTypes2.default.bool,
152 /**
153 * 内容区域的固定高度
154 */
155 contentHeight: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number]),
156 /**
157 * 标题区域的用户自定义内容
158 */
159 extra: _propTypes2.default.node,
160 /**
161 * 是否开启自由模式,开启后card 将使用子组件配合使用, 设置此项后 title, subtitle, 等等属性都将失效
162 */
163 free: _propTypes2.default.bool,
164 /**
165 * 是否带边框
166 * @version 1.24
167 */
168 hasBorder: _propTypes2.default.bool,
169 className: _propTypes2.default.string,
170 children: _propTypes2.default.node
171}), _class.defaultProps = {
172 prefix: 'next-',
173 free: false,
174 showTitleBullet: true,
175 showHeadDivider: true,
176 hasBorder: true,
177 contentHeight: 120
178}, _temp);
179Card.displayName = 'Card';
180exports.default = Card;
181module.exports = exports['default'];
\No newline at end of file