UNPKG

297 kBJavaScriptView Raw
1/******/ (function(modules) { // webpackBootstrap
2/******/ // The module cache
3/******/ var installedModules = {};
4/******/
5/******/ // The require function
6/******/ function __webpack_require__(moduleId) {
7/******/
8/******/ // Check if module is in cache
9/******/ if(installedModules[moduleId])
10/******/ return installedModules[moduleId].exports;
11/******/
12/******/ // Create a new module (and put it into the cache)
13/******/ var module = installedModules[moduleId] = {
14/******/ exports: {},
15/******/ id: moduleId,
16/******/ loaded: false
17/******/ };
18/******/
19/******/ // Execute the module function
20/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
21/******/
22/******/ // Flag the module as loaded
23/******/ module.loaded = true;
24/******/
25/******/ // Return the exports of the module
26/******/ return module.exports;
27/******/ }
28/******/
29/******/
30/******/ // expose the modules object (__webpack_modules__)
31/******/ __webpack_require__.m = modules;
32/******/
33/******/ // expose the module cache
34/******/ __webpack_require__.c = installedModules;
35/******/
36/******/ // __webpack_public_path__
37/******/ __webpack_require__.p = "";
38/******/
39/******/ // Load entry module and return exports
40/******/ return __webpack_require__(0);
41/******/ })
42/************************************************************************/
43/******/ ([
44/* 0 */
45/***/ (function(module, exports, __webpack_require__) {
46
47 'use strict';
48
49 var _beeLayout = __webpack_require__(1);
50
51 var _beePanel = __webpack_require__(8);
52
53 var _beeButton = __webpack_require__(78);
54
55 var _beeButton2 = _interopRequireDefault(_beeButton);
56
57 var _react = __webpack_require__(4);
58
59 var _react2 = _interopRequireDefault(_react);
60
61 var _reactDom = __webpack_require__(12);
62
63 var _reactDom2 = _interopRequireDefault(_reactDom);
64
65 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
66
67 function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
68
69 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
70
71 function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
72
73 function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
74
75 var CARET = _react2['default'].createElement('i', { className: 'uf uf-arrow-down' });
76
77 var CARETUP = _react2['default'].createElement('i', { className: 'uf uf-arrow-up' });
78
79 var Demo1 = __webpack_require__(80);var Demo2 = __webpack_require__(86);var Demo3 = __webpack_require__(89);var Demo4 = __webpack_require__(90);var Demo5 = __webpack_require__(91);var DemoArray = [{ "example": _react2['default'].createElement(Demo1, null), "title": " 常用基础 Step", "code": "/**\n*\n* @title 常用基础 Step\n* @description current 标记当前进行哪一步\n*\n*/\n\nimport React, { Component } from 'react';\nimport { Step } from 'tinper-bee';\n\nclass Demo1 extends Component {\n render () {\n return (\n <Step.Steps current={1}>\n <Step title=\"Finished\" description=\"This is a description.\" />\n <Step title=\"In Progress\" description=\"This is a description.\" />\n <Step title=\"Waiting\" description=\"This is a description.\" />\n </Step.Steps>\n )\n }\n}\n\n\n", "desc": " current 标记当前进行哪一步" }, { "example": _react2['default'].createElement(Demo2, null), "title": " 自定义icon Step", "code": "/**\n*\n* @title 自定义icon Step\n* @description\n*\n*/\n\nimport React, { Component } from 'react';\nimport { Step, Icon } from 'tinper-bee';\n\nclass Demo2 extends Component {\n render () {\n return (\n <Step.Steps>\n <Step status=\"finish\" title=\"Login\" icon={<Icon type=\"uf-users-o\" />} />\n <Step status=\"finish\" title=\"Verification\" icon={<Icon type=\"uf-personin-o\" />} />\n <Step status=\"process\" title=\"Pay\" icon={<Icon type=\"uf-creditcard\" />} />\n <Step status=\"wait\" title=\"Done\" icon={<Icon type=\"uf-correct-2\" />} />\n </Step.Steps>\n )\n }\n}\n\n", "desc": "" }, { "example": _react2['default'].createElement(Demo3, null), "title": " 结合切换事件的 Step", "code": "\n/**\n*\n* @title 结合切换事件的 Step\n* @description 点击next,Step的流程跟进\n*\n*/\nimport React, { Component } from 'react';\nimport { Step, Button, Message } from 'tinper-bee';\n\nconst Steps = Step.Steps;\n\nconst steps = [{\n title: 'First',\n content: 'First-content',\n}, {\n title: 'Second',\n content: 'Second-content',\n}, {\n title: 'Last',\n content: 'Last-content',\n}];\n\nclass Demo3 extends Component {\n constructor(props) {\n super(props);\n this.state = {\n current: 0,\n };\n }\n next() {\n const current = this.state.current + 1;\n this.setState({ current });\n }\n prev() {\n const current = this.state.current - 1;\n this.setState({ current });\n }\n\n alertDone() {\n Message.create({content: '完成', color: 'info'});\n }\n\n render() {\n const { current } = this.state;\n return (\n <div>\n <Steps current={current}>\n {steps.map(item => <Step key={item.title} title={item.title} />)}\n </Steps>\n <div className=\"steps-content\">{steps[this.state.current].content}</div>\n <div className=\"steps-action\">\n {\n this.state.current < steps.length - 1\n &&\n <Button type=\"primary\" onClick={() => this.next()}>下一页</Button>\n }\n {\n this.state.current === steps.length - 1\n &&\n <Button type=\"primary\" onClick={() => this.alertDone()}>完成</Button>\n }\n {\n this.state.current > 0\n &&\n <Button style={{ marginLeft: 8 }} onClick={() => this.prev()}>\n 上一页\n </Button>\n }\n </div>\n </div>\n );\n }\n}\n\n", "desc": " 点击next,Step的流程跟进", "scss_code": ".steps-content {\n margin-top: 16px;\n border: 1px dashed #e9e9e9;\n border-radius: 6px;\n background-color: #fafafa;\n min-height: 200px;\n text-align: center;\n padding-top: 80px;\n}\n\n.steps-action {\n margin-top: 24px;\n}" }, { "example": _react2['default'].createElement(Demo4, null), "title": " vertical Step", "code": "/**\n*\n* @title vertical Step\n* @description \n*\n*/\n\nimport React, { Component } from 'react';\nimport { Step } from 'tinper-bee';\n\nconst Steps = Step.Steps;\n\nclass Demo4 extends Component {\n render () {\n return (\n <div>\n <Steps direction=\"vertical\" size=\"small\" current={1}>\n <Step title=\"Finished\" description=\"This is a description.\" />\n <Step title=\"In Progress\" description=\"This is a description.\" />\n <Step title=\"Waiting\" description=\"This is a description.\" />\n </Steps>\n </div>\n )\n }\n}\n\n", "desc": " " }, { "example": _react2['default'].createElement(Demo5, null), "title": " 指定状态的Step", "code": "/**\n*\n* @title 指定状态的Step\n* @description 用step的status属性,指定当前step的状态\n*\n*/\n\nimport React, { Component } from 'react';\nimport { Step } from 'tinper-bee';\n\nconst Steps = Step.Steps;\n\nclass Demo5 extends Component {\n render () {\n return (\n <div>\n <Steps current={1} status=\"error\">\n <Step title=\"Finished\" description=\"This is a description\" />\n <Step title=\"In Process\" description=\"This is a description\" />\n <Step title=\"Waiting\" description=\"This is a description\" />\n </Steps>\n </div>\n )\n }\n}\n\n", "desc": " 用step的status属性,指定当前step的状态" }];
80
81 var Demo = function (_Component) {
82 _inherits(Demo, _Component);
83
84 function Demo(props) {
85 _classCallCheck(this, Demo);
86
87 var _this = _possibleConstructorReturn(this, _Component.call(this, props));
88
89 _this.state = {
90 open: false
91 };
92 _this.handleClick = _this.handleClick.bind(_this);
93 return _this;
94 }
95
96 Demo.prototype.handleClick = function handleClick() {
97 this.setState({ open: !this.state.open });
98 };
99
100 Demo.prototype.render = function render() {
101 var _props = this.props,
102 title = _props.title,
103 example = _props.example,
104 code = _props.code,
105 desc = _props.desc,
106 scss_code = _props.scss_code;
107
108 var caret = this.state.open ? CARETUP : CARET;
109 var text = this.state.open ? "隐藏代码" : "查看代码";
110
111 var header = _react2['default'].createElement(
112 'div',
113 null,
114 example,
115 _react2['default'].createElement(
116 _beeButton2['default'],
117 { style: { "marginTop": "10px" }, shape: 'block', onClick: this.handleClick },
118 caret,
119 text
120 )
121 );
122 return _react2['default'].createElement(
123 _beeLayout.Col,
124 { md: 12 },
125 _react2['default'].createElement(
126 'h3',
127 null,
128 title
129 ),
130 _react2['default'].createElement(
131 'p',
132 null,
133 desc
134 ),
135 _react2['default'].createElement(
136 _beePanel.Panel,
137 { collapsible: true, headerContent: true, expanded: this.state.open, colors: 'bordered', header: header, footerStyle: { padding: 0 } },
138 _react2['default'].createElement(
139 'pre',
140 null,
141 _react2['default'].createElement(
142 'code',
143 { className: 'hljs javascript' },
144 code
145 )
146 ),
147 !!scss_code ? _react2['default'].createElement(
148 'pre',
149 null,
150 _react2['default'].createElement(
151 'code',
152 { className: 'hljs css' },
153 scss_code
154 )
155 ) : null
156 )
157 );
158 };
159
160 return Demo;
161 }(_react.Component);
162
163 var DemoGroup = function (_Component2) {
164 _inherits(DemoGroup, _Component2);
165
166 function DemoGroup(props) {
167 _classCallCheck(this, DemoGroup);
168
169 return _possibleConstructorReturn(this, _Component2.call(this, props));
170 }
171
172 DemoGroup.prototype.render = function render() {
173 return _react2['default'].createElement(
174 _beeLayout.Row,
175 null,
176 DemoArray.map(function (child, index) {
177
178 return _react2['default'].createElement(Demo, { example: child.example, title: child.title, code: child.code, scss_code: child.scss_code, desc: child.desc, key: index });
179 })
180 );
181 };
182
183 return DemoGroup;
184 }(_react.Component);
185
186 _reactDom2['default'].render(_react2['default'].createElement(DemoGroup, null), document.getElementById('tinperBeeDemo'));
187
188/***/ }),
189/* 1 */
190/***/ (function(module, exports, __webpack_require__) {
191
192 'use strict';
193
194 Object.defineProperty(exports, "__esModule", {
195 value: true
196 });
197 exports.Con = exports.Row = exports.Col = undefined;
198
199 var _Col2 = __webpack_require__(2);
200
201 var _Col3 = _interopRequireDefault(_Col2);
202
203 var _Row2 = __webpack_require__(6);
204
205 var _Row3 = _interopRequireDefault(_Row2);
206
207 var _Layout = __webpack_require__(7);
208
209 var _Layout2 = _interopRequireDefault(_Layout);
210
211 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
212
213 exports.Col = _Col3["default"];
214 exports.Row = _Row3["default"];
215 exports.Con = _Layout2["default"];
216
217/***/ }),
218/* 2 */
219/***/ (function(module, exports, __webpack_require__) {
220
221 'use strict';
222
223 Object.defineProperty(exports, "__esModule", {
224 value: true
225 });
226
227 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; };
228
229 var _classnames = __webpack_require__(3);
230
231 var _classnames2 = _interopRequireDefault(_classnames);
232
233 var _react = __webpack_require__(4);
234
235 var _react2 = _interopRequireDefault(_react);
236
237 var _propTypes = __webpack_require__(5);
238
239 var _propTypes2 = _interopRequireDefault(_propTypes);
240
241 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
242
243 function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
244
245 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; }
246
247 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
248
249 function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
250
251 function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
252
253 var propTypes = {
254 componentClass: _propTypes2["default"].oneOfType([_propTypes2["default"].element, _propTypes2["default"].string]),
255
256 /**
257 * xs显示列数
258 */
259 xs: _propTypes2["default"].number,
260 /**
261 * sm显示列数
262 */
263 sm: _propTypes2["default"].number,
264 /**
265 * md显示列数
266 */
267 md: _propTypes2["default"].number,
268 /**
269 * lg显示列数
270 */
271 lg: _propTypes2["default"].number,
272 /**
273 * xs偏移列数
274 */
275 xsOffset: _propTypes2["default"].number,
276 /**
277 * sm偏移列数
278 */
279 smOffset: _propTypes2["default"].number,
280 /**
281 * md偏移列数
282 */
283 mdOffset: _propTypes2["default"].number,
284 /**
285 * lg偏移列数
286 */
287 lgOffset: _propTypes2["default"].number,
288 /**
289 * xs右偏移列数
290 */
291 xsPush: _propTypes2["default"].number,
292 /**
293 * sm右偏移列数
294 */
295 smPush: _propTypes2["default"].number,
296 /**
297 * md右偏移列数
298 */
299 mdPush: _propTypes2["default"].number,
300 /**
301 * lg右偏移列数
302 */
303 lgPush: _propTypes2["default"].number,
304 /**
305 * xs左偏移列数
306 */
307 xsPull: _propTypes2["default"].number,
308 /**
309 * sm左偏移列数
310 */
311 smPull: _propTypes2["default"].number,
312 /**
313 * md左偏移列数
314 */
315 mdPull: _propTypes2["default"].number,
316 /**
317 * lg左偏移列数
318 */
319 lgPull: _propTypes2["default"].number
320 };
321
322 var defaultProps = {
323 componentClass: 'div',
324 clsPrefix: 'u-col'
325 };
326
327 var DEVICE_SIZES = ['lg', 'md', 'sm', 'xs'];
328
329 var Col = function (_Component) {
330 _inherits(Col, _Component);
331
332 function Col() {
333 _classCallCheck(this, Col);
334
335 return _possibleConstructorReturn(this, _Component.apply(this, arguments));
336 }
337
338 Col.prototype.render = function render() {
339 var _props = this.props,
340 Component = _props.componentClass,
341 className = _props.className,
342 clsPrefix = _props.clsPrefix,
343 others = _objectWithoutProperties(_props, ['componentClass', 'className', 'clsPrefix']);
344
345 var tbClass = [];
346 /**
347 * 对传入props做样式转化
348 * @type {[type]}
349 */
350 DEVICE_SIZES.forEach(function (size) {
351 function popProp(propSuffix, modifier) {
352 var propName = '' + size + propSuffix;
353 var propValue = others[propName];
354
355 if (propValue != undefined && propValue != null) {
356 tbClass.push(clsPrefix + '-' + size + modifier + '-' + propValue);
357 }
358
359 delete others[propName];
360 }
361
362 popProp('', '');
363 popProp('Offset', '-offset');
364 popProp('Push', '-push');
365 popProp('Pull', '-pull');
366 });
367
368 return _react2["default"].createElement(
369 Component,
370 _extends({
371 className: (0, _classnames2["default"])(tbClass, className)
372 }, others),
373 this.props.children
374 );
375 };
376
377 return Col;
378 }(_react.Component);
379
380 Col.defaultProps = defaultProps;
381 Col.propTypes = propTypes;
382
383 exports["default"] = Col;
384 module.exports = exports['default'];
385
386/***/ }),
387/* 3 */
388/***/ (function(module, exports, __webpack_require__) {
389
390 var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
391 Copyright (c) 2017 Jed Watson.
392 Licensed under the MIT License (MIT), see
393 http://jedwatson.github.io/classnames
394 */
395 /* global define */
396
397 (function () {
398 'use strict';
399
400 var hasOwn = {}.hasOwnProperty;
401
402 function classNames () {
403 var classes = [];
404
405 for (var i = 0; i < arguments.length; i++) {
406 var arg = arguments[i];
407 if (!arg) continue;
408
409 var argType = typeof arg;
410
411 if (argType === 'string' || argType === 'number') {
412 classes.push(arg);
413 } else if (Array.isArray(arg) && arg.length) {
414 var inner = classNames.apply(null, arg);
415 if (inner) {
416 classes.push(inner);
417 }
418 } else if (argType === 'object') {
419 for (var key in arg) {
420 if (hasOwn.call(arg, key) && arg[key]) {
421 classes.push(key);
422 }
423 }
424 }
425 }
426
427 return classes.join(' ');
428 }
429
430 if (typeof module !== 'undefined' && module.exports) {
431 classNames.default = classNames;
432 module.exports = classNames;
433 } else if (true) {
434 // register as 'classnames', consistent with npm package name
435 !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = function () {
436 return classNames;
437 }.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
438 } else {
439 window.classNames = classNames;
440 }
441 }());
442
443
444/***/ }),
445/* 4 */
446/***/ (function(module, exports) {
447
448 module.exports = React;
449
450/***/ }),
451/* 5 */
452/***/ (function(module, exports) {
453
454 module.exports = PropTypes;
455
456/***/ }),
457/* 6 */
458/***/ (function(module, exports, __webpack_require__) {
459
460 'use strict';
461
462 Object.defineProperty(exports, "__esModule", {
463 value: true
464 });
465
466 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; };
467
468 var _classnames = __webpack_require__(3);
469
470 var _classnames2 = _interopRequireDefault(_classnames);
471
472 var _react = __webpack_require__(4);
473
474 var _react2 = _interopRequireDefault(_react);
475
476 var _propTypes = __webpack_require__(5);
477
478 var _propTypes2 = _interopRequireDefault(_propTypes);
479
480 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
481
482 function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
483
484 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; }
485
486 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
487
488 function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
489
490 function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
491
492 var propTypes = {
493 componentClass: _propTypes2["default"].oneOfType([_propTypes2["default"].element, _propTypes2["default"].string])
494 };
495
496 var defaultProps = {
497 componentClass: 'div',
498 clsPrefix: 'u-row'
499 };
500
501 var Row = function (_Component) {
502 _inherits(Row, _Component);
503
504 function Row() {
505 _classCallCheck(this, Row);
506
507 return _possibleConstructorReturn(this, _Component.apply(this, arguments));
508 }
509
510 Row.prototype.render = function render() {
511 var _props = this.props,
512 Component = _props.componentClass,
513 clsPrefix = _props.clsPrefix,
514 className = _props.className,
515 others = _objectWithoutProperties(_props, ['componentClass', 'clsPrefix', 'className']);
516
517 var bsclass = '' + clsPrefix;
518
519 return _react2["default"].createElement(
520 Component,
521 _extends({}, others, {
522 className: (0, _classnames2["default"])(bsclass, className)
523 }),
524 this.props.children
525 );
526 };
527
528 return Row;
529 }(_react.Component);
530
531 Row.propTypes = propTypes;
532 Row.defaultProps = defaultProps;
533
534 exports["default"] = Row;
535 module.exports = exports['default'];
536
537/***/ }),
538/* 7 */
539/***/ (function(module, exports, __webpack_require__) {
540
541 'use strict';
542
543 Object.defineProperty(exports, "__esModule", {
544 value: true
545 });
546
547 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; };
548
549 var _classnames = __webpack_require__(3);
550
551 var _classnames2 = _interopRequireDefault(_classnames);
552
553 var _react = __webpack_require__(4);
554
555 var _react2 = _interopRequireDefault(_react);
556
557 var _propTypes = __webpack_require__(5);
558
559 var _propTypes2 = _interopRequireDefault(_propTypes);
560
561 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
562
563 function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
564
565 function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
566
567 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; }
568
569 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
570
571 function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
572
573 function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
574
575 var propTypes = {
576 /**
577 * Adds `container-fluid` class.
578 */
579 fluid: _propTypes2["default"].bool,
580 /**
581 * You can use a custom element for this component
582 */
583 componentClass: _propTypes2["default"].oneOfType([_propTypes2["default"].element, _propTypes2["default"].string])
584 };
585
586 var defaultProps = {
587 componentClass: 'div',
588 fluid: false,
589 clsPrefix: 'u-container'
590 };
591
592 var Con = function (_React$Component) {
593 _inherits(Con, _React$Component);
594
595 function Con() {
596 _classCallCheck(this, Con);
597
598 return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));
599 }
600
601 Con.prototype.render = function render() {
602 var _tbclass;
603
604 var _props = this.props,
605 fluid = _props.fluid,
606 Component = _props.componentClass,
607 clsPrefix = _props.clsPrefix,
608 className = _props.className,
609 others = _objectWithoutProperties(_props, ['fluid', 'componentClass', 'clsPrefix', 'className']);
610
611 var tbclass = (_tbclass = {}, _defineProperty(_tbclass, '' + clsPrefix, !fluid), _defineProperty(_tbclass, clsPrefix + '-fluid', fluid), _tbclass);
612
613 return _react2["default"].createElement(
614 Component,
615 _extends({}, others, {
616 className: (0, _classnames2["default"])(tbclass, className)
617 }),
618 this.props.children
619 );
620 };
621
622 return Con;
623 }(_react2["default"].Component);
624
625 Con.propTypes = propTypes;
626 Con.defaultProps = defaultProps;
627
628 exports["default"] = Con;
629 module.exports = exports['default'];
630
631/***/ }),
632/* 8 */
633/***/ (function(module, exports, __webpack_require__) {
634
635 'use strict';
636
637 Object.defineProperty(exports, "__esModule", {
638 value: true
639 });
640 exports.PanelGroup = exports.Panel = undefined;
641
642 var _Panel2 = __webpack_require__(9);
643
644 var _Panel3 = _interopRequireDefault(_Panel2);
645
646 var _PanelGroup2 = __webpack_require__(77);
647
648 var _PanelGroup3 = _interopRequireDefault(_PanelGroup2);
649
650 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
651
652 exports.Panel = _Panel3["default"];
653 exports.PanelGroup = _PanelGroup3["default"];
654
655/***/ }),
656/* 9 */
657/***/ (function(module, exports, __webpack_require__) {
658
659 'use strict';
660
661 Object.defineProperty(exports, "__esModule", {
662 value: true
663 });
664
665 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; };
666
667 var _classnames = __webpack_require__(3);
668
669 var _classnames2 = _interopRequireDefault(_classnames);
670
671 var _react = __webpack_require__(4);
672
673 var _react2 = _interopRequireDefault(_react);
674
675 var _beeTransition = __webpack_require__(10);
676
677 var _beeMessage = __webpack_require__(65);
678
679 var _beeMessage2 = _interopRequireDefault(_beeMessage);
680
681 var _propTypes = __webpack_require__(5);
682
683 var _propTypes2 = _interopRequireDefault(_propTypes);
684
685 var _copyToClipboard = __webpack_require__(75);
686
687 var _copyToClipboard2 = _interopRequireDefault(_copyToClipboard);
688
689 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
690
691 function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
692
693 function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
694
695 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; }
696
697 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
698
699 function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
700
701 function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
702
703 var propTypes = {
704 //是否添加折叠
705 collapsible: _propTypes2["default"].bool,
706 onSelect: _propTypes2["default"].func,
707 //头部组件
708 header: _propTypes2["default"].node,
709 headerStyle: _propTypes2["default"].object,
710 id: _propTypes2["default"].oneOfType([_propTypes2["default"].string, _propTypes2["default"].number]),
711 headerContent: _propTypes2["default"].bool,
712 //footer组件
713 footer: _propTypes2["default"].node,
714 footerStyle: _propTypes2["default"].object,
715 //默认是否打开
716 defaultExpanded: _propTypes2["default"].bool,
717 //是否打开
718 expanded: _propTypes2["default"].bool,
719 //每个panel的标记
720 eventKey: _propTypes2["default"].any,
721 headerRole: _propTypes2["default"].string,
722 panelRole: _propTypes2["default"].string,
723 //颜色
724 colors: _propTypes2["default"].oneOf(['primary', 'accent', 'success', 'info', 'warning', 'danger', 'default', 'bordered']),
725
726 // From Collapse.的扩展动画
727 onEnter: _propTypes2["default"].func,
728 onEntering: _propTypes2["default"].func,
729 onEntered: _propTypes2["default"].func,
730 onExit: _propTypes2["default"].func,
731 onExiting: _propTypes2["default"].func,
732 onExited: _propTypes2["default"].func,
733 //是否可复制内容
734 copyable: _propTypes2["default"].bool
735 };
736
737 var defaultProps = {
738 defaultExpanded: false,
739 clsPrefix: "u-panel",
740 colors: "default"
741 };
742
743 var Panel = function (_React$Component) {
744 _inherits(Panel, _React$Component);
745
746 function Panel(props, context) {
747 _classCallCheck(this, Panel);
748
749 var _this = _possibleConstructorReturn(this, _React$Component.call(this, props, context));
750
751 _this.handleClickTitle = _this.handleClickTitle.bind(_this);
752
753 _this.state = {
754 expanded: _this.props.defaultExpanded
755 };
756 return _this;
757 }
758
759 //头部点击事件
760
761
762 Panel.prototype.handleClickTitle = function handleClickTitle(e) {
763 // 不让事件进入事件池
764 e.persist();
765 e.selected = true;
766
767 if (this.props.onSelect) {
768 this.props.onSelect(this.props.eventKey, e);
769 } else {
770 e.preventDefault();
771 }
772
773 if (e.selected) {
774 this.setState({ expanded: !this.state.expanded });
775 }
776 };
777
778 //渲染panelheader
779
780
781 Panel.prototype.renderHeader = function renderHeader(collapsible, header, id, role, expanded, clsPrefix) {
782 var titleClassName = clsPrefix + '-title';
783
784 if (!collapsible) {
785 if (!_react2["default"].isValidElement(header)) {
786 return header;
787 }
788
789 return (0, _react.cloneElement)(header, {
790 className: (0, _classnames2["default"])(header.props.className, titleClassName)
791 });
792 }
793
794 if (!_react2["default"].isValidElement(header)) {
795 return _react2["default"].createElement(
796 'h4',
797 { role: 'presentation', className: titleClassName },
798 this.renderAnchor(header, id, role, expanded)
799 );
800 }
801 if (this.props.headerContent) {
802 return (0, _react.cloneElement)(header, {
803 className: (0, _classnames2["default"])(header.props.className, titleClassName)
804 });
805 }
806
807 return (0, _react.cloneElement)(header, {
808 className: (0, _classnames2["default"])(header.props.className, titleClassName),
809 children: this.renderAnchor(header.props.children, id, role, expanded)
810 });
811 };
812
813 //如果使用链接,渲染为a标签
814
815
816 Panel.prototype.renderAnchor = function renderAnchor(header, id, role, expanded) {
817 return _react2["default"].createElement(
818 'a',
819 {
820 role: role,
821 href: id && '#' + id,
822 'aria-controls': id,
823 'aria-expanded': expanded,
824 'aria-selected': expanded,
825 className: expanded ? null : 'collapsed'
826 },
827 header
828 );
829 };
830
831 //复制代码,弹出提示信息
832
833
834 Panel.prototype.copyDemo = function copyDemo(e) {
835 var panelTarget = e.target.parentNode;
836 var clipBoardContent = panelTarget.firstChild.innerText;
837 (0, _copyToClipboard2["default"])(clipBoardContent);
838 _beeMessage2["default"].create({ content: '复制成功!', color: 'success', duration: 2 });
839 };
840
841 //如果有折叠动画,渲染折叠动画
842
843
844 Panel.prototype.renderCollapsibleBody = function renderCollapsibleBody(id, expanded, role, children, clsPrefix, copyable, animationHooks) {
845 return _react2["default"].createElement(
846 _beeTransition.Collapse,
847 _extends({ 'in': expanded }, animationHooks),
848 _react2["default"].createElement(
849 'div',
850 {
851 id: id,
852 role: role,
853 className: clsPrefix + '-collapse',
854 'aria-hidden': !expanded
855 },
856 this.renderBody(children, clsPrefix, copyable)
857 )
858 );
859 };
860
861 //渲染panelbody
862
863
864 Panel.prototype.renderBody = function renderBody(rawChildren, clsPrefix, copyable) {
865 var self = this;
866 var children = [];
867 var bodyChildren = [];
868
869 var bodyClassName = clsPrefix + '-body';
870 //添加到body的children中
871 function maybeAddBody(self) {
872 if (!bodyChildren.length) {
873 return;
874 }
875 // 给子组件添加key,为了之后触发事件时使用
876 children.push(_react2["default"].createElement(
877 'div',
878 { key: children.length, className: bodyClassName },
879 bodyChildren,
880 copyable && _react2["default"].createElement('i', { className: 'uf uf-files-o', onClick: self.copyDemo })
881 ));
882 bodyChildren = [];
883 }
884
885 //转换为数组,方便复用
886 _react2["default"].Children.toArray(rawChildren).forEach(function (child) {
887 if (_react2["default"].isValidElement(child) && child.props.fill) {
888 maybeAddBody(self);
889
890 //将标示fill设置为undefined
891 children.push((0, _react.cloneElement)(child, { fill: undefined }));
892
893 return;
894 }
895 bodyChildren.push(child);
896 });
897
898 maybeAddBody(self);
899
900 return children;
901 };
902
903 Panel.prototype.render = function render() {
904 var _props = this.props,
905 collapsible = _props.collapsible,
906 header = _props.header,
907 id = _props.id,
908 footer = _props.footer,
909 propsExpanded = _props.expanded,
910 footerStyle = _props.footerStyle,
911 headerStyle = _props.headerStyle,
912 headerRole = _props.headerRole,
913 panelRole = _props.panelRole,
914 className = _props.className,
915 colors = _props.colors,
916 children = _props.children,
917 onEnter = _props.onEnter,
918 onEntering = _props.onEntering,
919 onEntered = _props.onEntered,
920 clsPrefix = _props.clsPrefix,
921 onExit = _props.onExit,
922 headerContent = _props.headerContent,
923 onExiting = _props.onExiting,
924 onExited = _props.onExited,
925 defaultExpanded = _props.defaultExpanded,
926 eventKey = _props.eventKey,
927 onSelect = _props.onSelect,
928 copyable = _props.copyable,
929 props = _objectWithoutProperties(_props, ['collapsible', 'header', 'id', 'footer', 'expanded', 'footerStyle', 'headerStyle', 'headerRole', 'panelRole', 'className', 'colors', 'children', 'onEnter', 'onEntering', 'onEntered', 'clsPrefix', 'onExit', 'headerContent', 'onExiting', 'onExited', 'defaultExpanded', 'eventKey', 'onSelect', 'copyable']);
930
931 var expanded = propsExpanded != null ? propsExpanded : this.state.expanded;
932
933 var classes = {};
934 classes['' + clsPrefix] = true;
935 classes[clsPrefix + '-' + colors] = true;
936
937 var headerClass = _defineProperty({}, clsPrefix + '-heading', true);
938
939 copyable === false ? false : true;
940 return _react2["default"].createElement(
941 'div',
942 _extends({}, props, {
943 className: (0, _classnames2["default"])(className, classes),
944 id: collapsible ? null : id
945 }),
946 header && _react2["default"].createElement(
947 'div',
948 { className: (0, _classnames2["default"])(headerClass), style: headerStyle, onClick: this.handleClickTitle },
949 this.renderHeader(collapsible, header, id, headerRole, expanded, clsPrefix)
950 ),
951 collapsible ? this.renderCollapsibleBody(id, expanded, panelRole, children, clsPrefix, copyable, { onEnter: onEnter, onEntering: onEntering, onEntered: onEntered, onExit: onExit, onExiting: onExiting, onExited: onExited }) : this.renderBody(children, clsPrefix, copyable),
952 footer && _react2["default"].createElement(
953 'div',
954 { className: clsPrefix + '-footer', style: footerStyle },
955 footer
956 )
957 );
958 };
959
960 return Panel;
961 }(_react2["default"].Component);
962
963 Panel.propTypes = propTypes;
964 Panel.defaultProps = defaultProps;
965
966 exports["default"] = Panel;
967 module.exports = exports['default'];
968
969/***/ }),
970/* 10 */
971/***/ (function(module, exports, __webpack_require__) {
972
973 'use strict';
974
975 Object.defineProperty(exports, "__esModule", {
976 value: true
977 });
978 exports.Fade = exports.Collapse = exports.Transition = undefined;
979
980 var _Transition2 = __webpack_require__(11);
981
982 var _Transition3 = _interopRequireDefault(_Transition2);
983
984 var _Collapse2 = __webpack_require__(17);
985
986 var _Collapse3 = _interopRequireDefault(_Collapse2);
987
988 var _Fade2 = __webpack_require__(64);
989
990 var _Fade3 = _interopRequireDefault(_Fade2);
991
992 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
993
994 exports.Transition = _Transition3["default"];
995 exports.Collapse = _Collapse3["default"];
996 exports.Fade = _Fade3["default"];
997
998/***/ }),
999/* 11 */
1000/***/ (function(module, exports, __webpack_require__) {
1001
1002 'use strict';
1003
1004 Object.defineProperty(exports, "__esModule", {
1005 value: true
1006 });
1007 exports.EXITING = exports.ENTERED = exports.ENTERING = exports.EXITED = exports.UNMOUNTED = undefined;
1008
1009 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; };
1010
1011 var _react = __webpack_require__(4);
1012
1013 var _react2 = _interopRequireDefault(_react);
1014
1015 var _reactDom = __webpack_require__(12);
1016
1017 var _reactDom2 = _interopRequireDefault(_reactDom);
1018
1019 var _properties = __webpack_require__(13);
1020
1021 var _properties2 = _interopRequireDefault(_properties);
1022
1023 var _on = __webpack_require__(16);
1024
1025 var _on2 = _interopRequireDefault(_on);
1026
1027 var _classnames = __webpack_require__(3);
1028
1029 var _classnames2 = _interopRequireDefault(_classnames);
1030
1031 var _propTypes = __webpack_require__(5);
1032
1033 var _propTypes2 = _interopRequireDefault(_propTypes);
1034
1035 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
1036
1037 function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
1038
1039 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; }
1040
1041 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
1042
1043 function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
1044
1045 function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
1046
1047 var transitionEndEvent = _properties2["default"].end;
1048
1049 //设置状态码
1050 var UNMOUNTED = exports.UNMOUNTED = 0;
1051 var EXITED = exports.EXITED = 1;
1052 var ENTERING = exports.ENTERING = 2;
1053 var ENTERED = exports.ENTERED = 3;
1054 var EXITING = exports.EXITING = 4;
1055
1056 var propTypes = {
1057 /**
1058 * 是否触发动画
1059 */
1060 "in": _propTypes2["default"].bool,
1061
1062 /**
1063 * 不显示的时候是否移除组件
1064 */
1065 unmountOnExit: _propTypes2["default"].bool,
1066
1067 /**
1068 * 如果设置为默认显示,挂载时显示动画
1069 */
1070 transitionAppear: _propTypes2["default"].bool,
1071
1072 /**
1073 * 设置超时时间,防止出现问题,可设置为>=动画时间
1074 */
1075 timeout: _propTypes2["default"].number,
1076
1077 /**
1078 * 退出组件时添加的class
1079 */
1080 exitedClassName: _propTypes2["default"].string,
1081 /**
1082 * 退出组件中添加的class
1083 */
1084 exitingClassName: _propTypes2["default"].string,
1085 /**
1086 * 进入动画后添加的class
1087 */
1088 enteredClassName: _propTypes2["default"].string,
1089 /**
1090 * 进入动画时添加的class
1091 */
1092 enteringClassName: _propTypes2["default"].string,
1093
1094 /**
1095 * 进入动画开始时的钩子函数
1096 */
1097 onEnter: _propTypes2["default"].func,
1098 /**
1099 * 进入动画中的钩子函数
1100 */
1101 onEntering: _propTypes2["default"].func,
1102 /**
1103 * 进入动画后的钩子函数
1104 */
1105 onEntered: _propTypes2["default"].func,
1106 /**
1107 * 退出动画开始时的钩子函数
1108 */
1109 onExit: _propTypes2["default"].func,
1110 /**
1111 * 退出动画中的钩子函数
1112 */
1113 onExiting: _propTypes2["default"].func,
1114 /**
1115 * 退出动画后的钩子函数
1116 */
1117 onExited: _propTypes2["default"].func
1118 };
1119
1120 function noop() {}
1121
1122 var defaultProps = {
1123 "in": false,
1124 unmountOnExit: false,
1125 transitionAppear: false,
1126 timeout: 5000,
1127 onEnter: noop,
1128 onEntering: noop,
1129 onEntered: noop,
1130 onExit: noop,
1131 onExiting: noop,
1132 onExited: noop
1133 };
1134
1135 /**
1136 * 动画组件
1137 */
1138
1139 var Transition = function (_Component) {
1140 _inherits(Transition, _Component);
1141
1142 function Transition(props, context) {
1143 _classCallCheck(this, Transition);
1144
1145 var _this = _possibleConstructorReturn(this, _Component.call(this, props, context));
1146
1147 var initialStatus = void 0;
1148 if (props["in"]) {
1149 // 在componentdidmount时开始执行动画
1150 initialStatus = props.transitionAppear ? EXITED : ENTERED;
1151 } else {
1152 initialStatus = props.unmountOnExit ? UNMOUNTED : EXITED;
1153 }
1154 _this.state = { status: initialStatus };
1155
1156 _this.nextCallback = null;
1157 return _this;
1158 }
1159
1160 Transition.prototype.componentDidMount = function componentDidMount() {
1161 if (this.props.transitionAppear && this.props["in"]) {
1162 this.performEnter(this.props);
1163 }
1164 };
1165
1166 Transition.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
1167 if (nextProps["in"] && this.props.unmountOnExit) {
1168 if (this.state.status === UNMOUNTED) {
1169 // 在componentDidUpdate执行动画.
1170 this.setState({ status: EXITED });
1171 }
1172 } else {
1173 this._needsUpdate = true;
1174 }
1175 };
1176
1177 Transition.prototype.componentDidUpdate = function componentDidUpdate() {
1178 var status = this.state.status;
1179
1180 if (this.props.unmountOnExit && status === EXITED) {
1181 // 当使用unmountOnExit时,exited为exiting和unmont的过渡状态
1182 if (this.props["in"]) {
1183 this.performEnter(this.props);
1184 } else {
1185 this.setState({ status: UNMOUNTED });
1186 }
1187
1188 return;
1189 }
1190
1191 // 确保只响应prop变化
1192 if (this._needsUpdate) {
1193 this._needsUpdate = false;
1194
1195 if (this.props["in"]) {
1196 if (status === EXITING) {
1197 this.performEnter(this.props);
1198 } else if (status === EXITED) {
1199 this.performEnter(this.props);
1200 }
1201 // 其他,当我们已经输入或输出
1202 } else {
1203 if (status === ENTERING || status === ENTERED) {
1204 this.performExit(this.props);
1205 }
1206 // 我们已经输入或输出完成
1207 }
1208 }
1209 };
1210
1211 Transition.prototype.componentWillUnmount = function componentWillUnmount() {
1212 this.cancelNextCallback();
1213 };
1214
1215 Transition.prototype.performEnter = function performEnter(props) {
1216 var _this2 = this;
1217
1218 this.cancelNextCallback();
1219 var node = _reactDom2["default"].findDOMNode(this);
1220
1221 // 这里接收新props
1222 props.onEnter(node);
1223
1224 this.safeSetState({ status: ENTERING }, function () {
1225 _this2.props.onEntering(node);
1226
1227 _this2.onTransitionEnd(node, function () {
1228 _this2.safeSetState({ status: ENTERED }, function () {
1229 _this2.props.onEntered(node);
1230 });
1231 });
1232 });
1233 };
1234
1235 Transition.prototype.performExit = function performExit(props) {
1236 var _this3 = this;
1237
1238 this.cancelNextCallback();
1239 var node = _reactDom2["default"].findDOMNode(this);
1240
1241 props.onExit(node);
1242
1243 this.safeSetState({ status: EXITING }, function () {
1244 _this3.props.onExiting(node);
1245
1246 _this3.onTransitionEnd(node, function () {
1247 _this3.safeSetState({ status: EXITED }, function () {
1248 _this3.props.onExited(node);
1249 });
1250 });
1251 });
1252 };
1253
1254 Transition.prototype.cancelNextCallback = function cancelNextCallback() {
1255 if (this.nextCallback !== null) {
1256 this.nextCallback.cancel();
1257 this.nextCallback = null;
1258 }
1259 };
1260
1261 Transition.prototype.safeSetState = function safeSetState(nextState, callback) {
1262 // 确保在组件销毁后挂起的setState被消除
1263 this.setState(nextState, this.setNextCallback(callback));
1264 };
1265
1266 Transition.prototype.setNextCallback = function setNextCallback(callback) {
1267 var _this4 = this;
1268
1269 var active = true;
1270
1271 this.nextCallback = function (event) {
1272 if (active) {
1273 active = false;
1274 _this4.nextCallback = null;
1275
1276 callback(event);
1277 }
1278 };
1279
1280 this.nextCallback.cancel = function () {
1281 active = false;
1282 };
1283
1284 return this.nextCallback;
1285 };
1286
1287 Transition.prototype.onTransitionEnd = function onTransitionEnd(node, handler) {
1288 this.setNextCallback(handler);
1289
1290 if (node) {
1291 if (transitionEndEvent == undefined) {
1292 this.nextCallback();
1293 } else {
1294 (0, _on2["default"])(node, transitionEndEvent, this.nextCallback);
1295 }
1296 setTimeout(this.nextCallback, this.props.timeout);
1297 } else {
1298 setTimeout(this.nextCallback, 0);
1299 }
1300 };
1301
1302 Transition.prototype.render = function render() {
1303 var status = this.state.status;
1304 if (status === UNMOUNTED) {
1305 return null;
1306 }
1307
1308 var _props = this.props,
1309 children = _props.children,
1310 className = _props.className,
1311 childProps = _objectWithoutProperties(_props, ['children', 'className']);
1312
1313 Object.keys(Transition.propTypes).forEach(function (key) {
1314 return delete childProps[key];
1315 });
1316
1317 var transitionClassName = void 0;
1318 if (status === EXITED) {
1319 transitionClassName = this.props.exitedClassName;
1320 } else if (status === ENTERING) {
1321 transitionClassName = this.props.enteringClassName;
1322 } else if (status === ENTERED) {
1323 transitionClassName = this.props.enteredClassName;
1324 } else if (status === EXITING) {
1325 transitionClassName = this.props.exitingClassName;
1326 }
1327
1328 var child = _react2["default"].Children.only(children);
1329 return _react2["default"].cloneElement(child, _extends({}, childProps, {
1330 className: (0, _classnames2["default"])(child.props.className, className, transitionClassName)
1331 }));
1332 };
1333
1334 return Transition;
1335 }(_react.Component);
1336
1337 Transition.propTypes = propTypes;
1338
1339 Transition.defaultProps = defaultProps;
1340
1341 exports["default"] = Transition;
1342
1343/***/ }),
1344/* 12 */
1345/***/ (function(module, exports) {
1346
1347 module.exports = ReactDOM;
1348
1349/***/ }),
1350/* 13 */
1351/***/ (function(module, exports, __webpack_require__) {
1352
1353 "use strict";
1354
1355 var _interopRequireDefault = __webpack_require__(14);
1356
1357 exports.__esModule = true;
1358 exports.default = exports.animationEnd = exports.animationDelay = exports.animationTiming = exports.animationDuration = exports.animationName = exports.transitionEnd = exports.transitionDuration = exports.transitionDelay = exports.transitionTiming = exports.transitionProperty = exports.transform = void 0;
1359
1360 var _inDOM = _interopRequireDefault(__webpack_require__(15));
1361
1362 var transform = 'transform';
1363 exports.transform = transform;
1364 var prefix, transitionEnd, animationEnd;
1365 exports.animationEnd = animationEnd;
1366 exports.transitionEnd = transitionEnd;
1367 var transitionProperty, transitionDuration, transitionTiming, transitionDelay;
1368 exports.transitionDelay = transitionDelay;
1369 exports.transitionTiming = transitionTiming;
1370 exports.transitionDuration = transitionDuration;
1371 exports.transitionProperty = transitionProperty;
1372 var animationName, animationDuration, animationTiming, animationDelay;
1373 exports.animationDelay = animationDelay;
1374 exports.animationTiming = animationTiming;
1375 exports.animationDuration = animationDuration;
1376 exports.animationName = animationName;
1377
1378 if (_inDOM.default) {
1379 var _getTransitionPropert = getTransitionProperties();
1380
1381 prefix = _getTransitionPropert.prefix;
1382 exports.transitionEnd = transitionEnd = _getTransitionPropert.transitionEnd;
1383 exports.animationEnd = animationEnd = _getTransitionPropert.animationEnd;
1384 exports.transform = transform = prefix + "-" + transform;
1385 exports.transitionProperty = transitionProperty = prefix + "-transition-property";
1386 exports.transitionDuration = transitionDuration = prefix + "-transition-duration";
1387 exports.transitionDelay = transitionDelay = prefix + "-transition-delay";
1388 exports.transitionTiming = transitionTiming = prefix + "-transition-timing-function";
1389 exports.animationName = animationName = prefix + "-animation-name";
1390 exports.animationDuration = animationDuration = prefix + "-animation-duration";
1391 exports.animationTiming = animationTiming = prefix + "-animation-delay";
1392 exports.animationDelay = animationDelay = prefix + "-animation-timing-function";
1393 }
1394
1395 var _default = {
1396 transform: transform,
1397 end: transitionEnd,
1398 property: transitionProperty,
1399 timing: transitionTiming,
1400 delay: transitionDelay,
1401 duration: transitionDuration
1402 };
1403 exports.default = _default;
1404
1405 function getTransitionProperties() {
1406 var style = document.createElement('div').style;
1407 var vendorMap = {
1408 O: function O(e) {
1409 return "o" + e.toLowerCase();
1410 },
1411 Moz: function Moz(e) {
1412 return e.toLowerCase();
1413 },
1414 Webkit: function Webkit(e) {
1415 return "webkit" + e;
1416 },
1417 ms: function ms(e) {
1418 return "MS" + e;
1419 }
1420 };
1421 var vendors = Object.keys(vendorMap);
1422 var transitionEnd, animationEnd;
1423 var prefix = '';
1424
1425 for (var i = 0; i < vendors.length; i++) {
1426 var vendor = vendors[i];
1427
1428 if (vendor + "TransitionProperty" in style) {
1429 prefix = "-" + vendor.toLowerCase();
1430 transitionEnd = vendorMap[vendor]('TransitionEnd');
1431 animationEnd = vendorMap[vendor]('AnimationEnd');
1432 break;
1433 }
1434 }
1435
1436 if (!transitionEnd && 'transitionProperty' in style) transitionEnd = 'transitionend';
1437 if (!animationEnd && 'animationName' in style) animationEnd = 'animationend';
1438 style = null;
1439 return {
1440 animationEnd: animationEnd,
1441 transitionEnd: transitionEnd,
1442 prefix: prefix
1443 };
1444 }
1445
1446/***/ }),
1447/* 14 */
1448/***/ (function(module, exports) {
1449
1450 function _interopRequireDefault(obj) {
1451 return obj && obj.__esModule ? obj : {
1452 default: obj
1453 };
1454 }
1455
1456 module.exports = _interopRequireDefault;
1457
1458/***/ }),
1459/* 15 */
1460/***/ (function(module, exports) {
1461
1462 "use strict";
1463
1464 exports.__esModule = true;
1465 exports.default = void 0;
1466
1467 var _default = !!(typeof window !== 'undefined' && window.document && window.document.createElement);
1468
1469 exports.default = _default;
1470 module.exports = exports["default"];
1471
1472/***/ }),
1473/* 16 */
1474/***/ (function(module, exports, __webpack_require__) {
1475
1476 "use strict";
1477
1478 var _interopRequireDefault = __webpack_require__(14);
1479
1480 exports.__esModule = true;
1481 exports.default = void 0;
1482
1483 var _inDOM = _interopRequireDefault(__webpack_require__(15));
1484
1485 var on = function on() {};
1486
1487 if (_inDOM.default) {
1488 on = function () {
1489 if (document.addEventListener) return function (node, eventName, handler, capture) {
1490 return node.addEventListener(eventName, handler, capture || false);
1491 };else if (document.attachEvent) return function (node, eventName, handler) {
1492 return node.attachEvent('on' + eventName, function (e) {
1493 e = e || window.event;
1494 e.target = e.target || e.srcElement;
1495 e.currentTarget = node;
1496 handler.call(node, e);
1497 });
1498 };
1499 }();
1500 }
1501
1502 var _default = on;
1503 exports.default = _default;
1504 module.exports = exports["default"];
1505
1506/***/ }),
1507/* 17 */
1508/***/ (function(module, exports, __webpack_require__) {
1509
1510 'use strict';
1511
1512 Object.defineProperty(exports, "__esModule", {
1513 value: true
1514 });
1515
1516 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; };
1517
1518 var _classnames = __webpack_require__(3);
1519
1520 var _classnames2 = _interopRequireDefault(_classnames);
1521
1522 var _style = __webpack_require__(18);
1523
1524 var _style2 = _interopRequireDefault(_style);
1525
1526 var _react = __webpack_require__(4);
1527
1528 var _react2 = _interopRequireDefault(_react);
1529
1530 var _propTypes = __webpack_require__(5);
1531
1532 var _propTypes2 = _interopRequireDefault(_propTypes);
1533
1534 var _Transition = __webpack_require__(11);
1535
1536 var _Transition2 = _interopRequireDefault(_Transition);
1537
1538 var _capitalize = __webpack_require__(26);
1539
1540 var _capitalize2 = _interopRequireDefault(_capitalize);
1541
1542 var _tinperBeeCore = __webpack_require__(27);
1543
1544 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
1545
1546 function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
1547
1548 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; }
1549
1550 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
1551
1552 function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
1553
1554 function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
1555
1556 var MARGINS = {
1557 height: ['marginTop', 'marginBottom'],
1558 width: ['marginLeft', 'marginRight']
1559 };
1560
1561 // reading a dimension prop will cause the browser to recalculate,
1562 // which will let our animations work
1563 function triggerBrowserReflow(node) {
1564 node.offsetHeight; // eslint-disable-line no-unused-expressions
1565 }
1566
1567 function getDimensionValue(dimension, elem) {
1568 var value = elem['offset' + (0, _capitalize2["default"])(dimension)];
1569 var margins = MARGINS[dimension];
1570
1571 return value + parseInt((0, _style2["default"])(elem, margins[0]), 10) + parseInt((0, _style2["default"])(elem, margins[1]), 10);
1572 }
1573
1574 var propTypes = {
1575 /**
1576 * Show the component; triggers the expand or collapse animation
1577 */
1578 "in": _propTypes2["default"].bool,
1579
1580 /**
1581 * Unmount the component (remove it from the DOM) when it is collapsed
1582 */
1583 unmountOnExit: _propTypes2["default"].bool,
1584
1585 /**
1586 * Run the expand animation when the component mounts, if it is initially
1587 * shown
1588 */
1589 transitionAppear: _propTypes2["default"].bool,
1590
1591 /**
1592 * Duration of the collapse animation in milliseconds, to ensure that
1593 * finishing callbacks are fired even if the original browser transition end
1594 * events are canceled
1595 */
1596 timeout: _propTypes2["default"].number,
1597
1598 /**
1599 * Callback fired before the component expands
1600 */
1601 onEnter: _propTypes2["default"].func,
1602 /**
1603 * Callback fired after the component starts to expand
1604 */
1605 onEntering: _propTypes2["default"].func,
1606 /**
1607 * Callback fired after the component has expanded
1608 */
1609 onEntered: _propTypes2["default"].func,
1610 /**
1611 * Callback fired before the component collapses
1612 */
1613 onExit: _propTypes2["default"].func,
1614 /**
1615 * Callback fired after the component starts to collapse
1616 */
1617 onExiting: _propTypes2["default"].func,
1618 /**
1619 * Callback fired after the component has collapsed
1620 */
1621 onExited: _propTypes2["default"].func,
1622
1623 /**
1624 * The dimension used when collapsing, or a function that returns the
1625 * dimension
1626 *
1627 * _Note: Bootstrap only partially supports 'width'!
1628 * You will need to supply your own CSS animation for the `.width` CSS class._
1629 */
1630 dimension: _propTypes2["default"].oneOfType([_propTypes2["default"].oneOf(['height', 'width']), _propTypes2["default"].func]),
1631
1632 /**
1633 * Function that returns the height or width of the animating DOM node
1634 *
1635 * Allows for providing some custom logic for how much the Collapse component
1636 * should animate in its specified dimension. Called with the current
1637 * dimension prop value and the DOM node.
1638 */
1639 getDimensionValue: _propTypes2["default"].func,
1640
1641 /**
1642 * ARIA role of collapsible element
1643 */
1644 role: _propTypes2["default"].string
1645 };
1646
1647 var defaultProps = {
1648 "in": false,
1649 timeout: 300,
1650 unmountOnExit: false,
1651 transitionAppear: false,
1652
1653 dimension: 'height',
1654 getDimensionValue: getDimensionValue
1655 };
1656
1657 var Collapse = function (_React$Component) {
1658 _inherits(Collapse, _React$Component);
1659
1660 function Collapse(props, context) {
1661 _classCallCheck(this, Collapse);
1662
1663 var _this = _possibleConstructorReturn(this, _React$Component.call(this, props, context));
1664
1665 _this.handleEnter = _this.handleEnter.bind(_this);
1666 _this.handleEntering = _this.handleEntering.bind(_this);
1667 _this.handleEntered = _this.handleEntered.bind(_this);
1668 _this.handleExit = _this.handleExit.bind(_this);
1669 _this.handleExiting = _this.handleExiting.bind(_this);
1670 return _this;
1671 }
1672
1673 /* -- Expanding -- */
1674
1675
1676 Collapse.prototype.handleEnter = function handleEnter(elem) {
1677 var dimension = this._dimension();
1678 elem.style[dimension] = '0';
1679 };
1680
1681 Collapse.prototype.handleEntering = function handleEntering(elem) {
1682 var dimension = this._dimension();
1683 elem.style[dimension] = this._getScrollDimensionValue(elem, dimension);
1684 };
1685
1686 Collapse.prototype.handleEntered = function handleEntered(elem) {
1687 var dimension = this._dimension();
1688 elem.style[dimension] = null;
1689 };
1690
1691 /* -- Collapsing -- */
1692
1693
1694 Collapse.prototype.handleExit = function handleExit(elem) {
1695 var dimension = this._dimension();
1696 elem.style[dimension] = this.props.getDimensionValue(dimension, elem) + 'px';
1697 triggerBrowserReflow(elem);
1698 };
1699
1700 Collapse.prototype.handleExiting = function handleExiting(elem) {
1701 var dimension = this._dimension();
1702 elem.style[dimension] = '0';
1703 };
1704
1705 Collapse.prototype._dimension = function _dimension() {
1706 return typeof this.props.dimension === 'function' ? this.props.dimension() : this.props.dimension;
1707 };
1708
1709 // for testing
1710
1711
1712 Collapse.prototype._getScrollDimensionValue = function _getScrollDimensionValue(elem, dimension) {
1713 return elem['scroll' + (0, _capitalize2["default"])(dimension)] + 'px';
1714 };
1715
1716 Collapse.prototype.render = function render() {
1717 var _props = this.props,
1718 onEnter = _props.onEnter,
1719 onEntering = _props.onEntering,
1720 onEntered = _props.onEntered,
1721 onExit = _props.onExit,
1722 onExiting = _props.onExiting,
1723 className = _props.className,
1724 props = _objectWithoutProperties(_props, ['onEnter', 'onEntering', 'onEntered', 'onExit', 'onExiting', 'className']);
1725
1726 delete props.dimension;
1727 delete props.getDimensionValue;
1728
1729 var handleEnter = (0, _tinperBeeCore.createChainedFunction)(this.handleEnter, onEnter);
1730 var handleEntering = (0, _tinperBeeCore.createChainedFunction)(this.handleEntering, onEntering);
1731 var handleEntered = (0, _tinperBeeCore.createChainedFunction)(this.handleEntered, onEntered);
1732 var handleExit = (0, _tinperBeeCore.createChainedFunction)(this.handleExit, onExit);
1733 var handleExiting = (0, _tinperBeeCore.createChainedFunction)(this.handleExiting, onExiting);
1734
1735 var classes = {
1736 width: this._dimension() === 'width'
1737 };
1738
1739 return _react2["default"].createElement(_Transition2["default"], _extends({}, props, {
1740 'aria-expanded': props.role ? props["in"] : null,
1741 className: (0, _classnames2["default"])(className, classes),
1742 exitedClassName: 'collapse',
1743 exitingClassName: 'collapsing',
1744 enteredClassName: 'collapse in',
1745 enteringClassName: 'collapsing',
1746 onEnter: handleEnter,
1747 onEntering: handleEntering,
1748 onEntered: handleEntered,
1749 onExit: handleExit,
1750 onExiting: handleExiting
1751 }));
1752 };
1753
1754 return Collapse;
1755 }(_react2["default"].Component);
1756
1757 Collapse.propTypes = propTypes;
1758 Collapse.defaultProps = defaultProps;
1759
1760 exports["default"] = Collapse;
1761 module.exports = exports['default'];
1762
1763/***/ }),
1764/* 18 */
1765/***/ (function(module, exports, __webpack_require__) {
1766
1767 "use strict";
1768
1769 var _interopRequireDefault = __webpack_require__(14);
1770
1771 exports.__esModule = true;
1772 exports.default = style;
1773
1774 var _camelizeStyle = _interopRequireDefault(__webpack_require__(19));
1775
1776 var _hyphenateStyle = _interopRequireDefault(__webpack_require__(21));
1777
1778 var _getComputedStyle2 = _interopRequireDefault(__webpack_require__(23));
1779
1780 var _removeStyle = _interopRequireDefault(__webpack_require__(24));
1781
1782 var _properties = __webpack_require__(13);
1783
1784 var _isTransform = _interopRequireDefault(__webpack_require__(25));
1785
1786 function style(node, property, value) {
1787 var css = '';
1788 var transforms = '';
1789 var props = property;
1790
1791 if (typeof property === 'string') {
1792 if (value === undefined) {
1793 return node.style[(0, _camelizeStyle.default)(property)] || (0, _getComputedStyle2.default)(node).getPropertyValue((0, _hyphenateStyle.default)(property));
1794 } else {
1795 (props = {})[property] = value;
1796 }
1797 }
1798
1799 Object.keys(props).forEach(function (key) {
1800 var value = props[key];
1801
1802 if (!value && value !== 0) {
1803 (0, _removeStyle.default)(node, (0, _hyphenateStyle.default)(key));
1804 } else if ((0, _isTransform.default)(key)) {
1805 transforms += key + "(" + value + ") ";
1806 } else {
1807 css += (0, _hyphenateStyle.default)(key) + ": " + value + ";";
1808 }
1809 });
1810
1811 if (transforms) {
1812 css += _properties.transform + ": " + transforms + ";";
1813 }
1814
1815 node.style.cssText += ';' + css;
1816 }
1817
1818 module.exports = exports["default"];
1819
1820/***/ }),
1821/* 19 */
1822/***/ (function(module, exports, __webpack_require__) {
1823
1824 "use strict";
1825
1826 var _interopRequireDefault = __webpack_require__(14);
1827
1828 exports.__esModule = true;
1829 exports.default = camelizeStyleName;
1830
1831 var _camelize = _interopRequireDefault(__webpack_require__(20));
1832
1833 /**
1834 * Copyright 2014-2015, Facebook, Inc.
1835 * All rights reserved.
1836 * https://github.com/facebook/react/blob/2aeb8a2a6beb00617a4217f7f8284924fa2ad819/src/vendor/core/camelizeStyleName.js
1837 */
1838 var msPattern = /^-ms-/;
1839
1840 function camelizeStyleName(string) {
1841 return (0, _camelize.default)(string.replace(msPattern, 'ms-'));
1842 }
1843
1844 module.exports = exports["default"];
1845
1846/***/ }),
1847/* 20 */
1848/***/ (function(module, exports) {
1849
1850 "use strict";
1851
1852 exports.__esModule = true;
1853 exports.default = camelize;
1854 var rHyphen = /-(.)/g;
1855
1856 function camelize(string) {
1857 return string.replace(rHyphen, function (_, chr) {
1858 return chr.toUpperCase();
1859 });
1860 }
1861
1862 module.exports = exports["default"];
1863
1864/***/ }),
1865/* 21 */
1866/***/ (function(module, exports, __webpack_require__) {
1867
1868 "use strict";
1869
1870 var _interopRequireDefault = __webpack_require__(14);
1871
1872 exports.__esModule = true;
1873 exports.default = hyphenateStyleName;
1874
1875 var _hyphenate = _interopRequireDefault(__webpack_require__(22));
1876
1877 /**
1878 * Copyright 2013-2014, Facebook, Inc.
1879 * All rights reserved.
1880 * https://github.com/facebook/react/blob/2aeb8a2a6beb00617a4217f7f8284924fa2ad819/src/vendor/core/hyphenateStyleName.js
1881 */
1882 var msPattern = /^ms-/;
1883
1884 function hyphenateStyleName(string) {
1885 return (0, _hyphenate.default)(string).replace(msPattern, '-ms-');
1886 }
1887
1888 module.exports = exports["default"];
1889
1890/***/ }),
1891/* 22 */
1892/***/ (function(module, exports) {
1893
1894 "use strict";
1895
1896 exports.__esModule = true;
1897 exports.default = hyphenate;
1898 var rUpper = /([A-Z])/g;
1899
1900 function hyphenate(string) {
1901 return string.replace(rUpper, '-$1').toLowerCase();
1902 }
1903
1904 module.exports = exports["default"];
1905
1906/***/ }),
1907/* 23 */
1908/***/ (function(module, exports, __webpack_require__) {
1909
1910 "use strict";
1911
1912 var _interopRequireDefault = __webpack_require__(14);
1913
1914 exports.__esModule = true;
1915 exports.default = _getComputedStyle;
1916
1917 var _camelizeStyle = _interopRequireDefault(__webpack_require__(19));
1918
1919 var rposition = /^(top|right|bottom|left)$/;
1920 var rnumnonpx = /^([+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|))(?!px)[a-z%]+$/i;
1921
1922 function _getComputedStyle(node) {
1923 if (!node) throw new TypeError('No Element passed to `getComputedStyle()`');
1924 var doc = node.ownerDocument;
1925 return 'defaultView' in doc ? doc.defaultView.opener ? node.ownerDocument.defaultView.getComputedStyle(node, null) : window.getComputedStyle(node, null) : {
1926 //ie 8 "magic" from: https://github.com/jquery/jquery/blob/1.11-stable/src/css/curCSS.js#L72
1927 getPropertyValue: function getPropertyValue(prop) {
1928 var style = node.style;
1929 prop = (0, _camelizeStyle.default)(prop);
1930 if (prop == 'float') prop = 'styleFloat';
1931 var current = node.currentStyle[prop] || null;
1932 if (current == null && style && style[prop]) current = style[prop];
1933
1934 if (rnumnonpx.test(current) && !rposition.test(prop)) {
1935 // Remember the original values
1936 var left = style.left;
1937 var runStyle = node.runtimeStyle;
1938 var rsLeft = runStyle && runStyle.left; // Put in the new values to get a computed value out
1939
1940 if (rsLeft) runStyle.left = node.currentStyle.left;
1941 style.left = prop === 'fontSize' ? '1em' : current;
1942 current = style.pixelLeft + 'px'; // Revert the changed values
1943
1944 style.left = left;
1945 if (rsLeft) runStyle.left = rsLeft;
1946 }
1947
1948 return current;
1949 }
1950 };
1951 }
1952
1953 module.exports = exports["default"];
1954
1955/***/ }),
1956/* 24 */
1957/***/ (function(module, exports) {
1958
1959 "use strict";
1960
1961 exports.__esModule = true;
1962 exports.default = removeStyle;
1963
1964 function removeStyle(node, key) {
1965 return 'removeProperty' in node.style ? node.style.removeProperty(key) : node.style.removeAttribute(key);
1966 }
1967
1968 module.exports = exports["default"];
1969
1970/***/ }),
1971/* 25 */
1972/***/ (function(module, exports) {
1973
1974 "use strict";
1975
1976 exports.__esModule = true;
1977 exports.default = isTransform;
1978 var supportedTransforms = /^((translate|rotate|scale)(X|Y|Z|3d)?|matrix(3d)?|perspective|skew(X|Y)?)$/i;
1979
1980 function isTransform(property) {
1981 return !!(property && supportedTransforms.test(property));
1982 }
1983
1984 module.exports = exports["default"];
1985
1986/***/ }),
1987/* 26 */
1988/***/ (function(module, exports) {
1989
1990 "use strict";
1991
1992 Object.defineProperty(exports, "__esModule", {
1993 value: true
1994 });
1995 exports["default"] = capitalize;
1996 function capitalize(string) {
1997 return "" + string.charAt(0).toUpperCase() + string.slice(1);
1998 }
1999 module.exports = exports["default"];
2000
2001/***/ }),
2002/* 27 */
2003/***/ (function(module, exports, __webpack_require__) {
2004
2005 'use strict';
2006
2007 exports.__esModule = true;
2008 exports.Align = exports.toArray = exports.cssAnimation = exports.addEventListener = exports.contains = exports.KeyCode = exports.createChainedFunction = exports.splitComponent = exports.isRequiredForA11y = exports.elementType = exports.deprecated = exports.componentOrElement = exports.all = undefined;
2009
2010 var _all2 = __webpack_require__(28);
2011
2012 var _all3 = _interopRequireDefault(_all2);
2013
2014 var _componentOrElement2 = __webpack_require__(30);
2015
2016 var _componentOrElement3 = _interopRequireDefault(_componentOrElement2);
2017
2018 var _deprecated2 = __webpack_require__(31);
2019
2020 var _deprecated3 = _interopRequireDefault(_deprecated2);
2021
2022 var _elementType2 = __webpack_require__(34);
2023
2024 var _elementType3 = _interopRequireDefault(_elementType2);
2025
2026 var _isRequiredForA11y2 = __webpack_require__(35);
2027
2028 var _isRequiredForA11y3 = _interopRequireDefault(_isRequiredForA11y2);
2029
2030 var _splitComponent2 = __webpack_require__(36);
2031
2032 var _splitComponent3 = _interopRequireDefault(_splitComponent2);
2033
2034 var _createChainedFunction2 = __webpack_require__(37);
2035
2036 var _createChainedFunction3 = _interopRequireDefault(_createChainedFunction2);
2037
2038 var _keyCode = __webpack_require__(38);
2039
2040 var _keyCode2 = _interopRequireDefault(_keyCode);
2041
2042 var _contains2 = __webpack_require__(39);
2043
2044 var _contains3 = _interopRequireDefault(_contains2);
2045
2046 var _addEventListener2 = __webpack_require__(40);
2047
2048 var _addEventListener3 = _interopRequireDefault(_addEventListener2);
2049
2050 var _cssAnimation2 = __webpack_require__(45);
2051
2052 var _cssAnimation3 = _interopRequireDefault(_cssAnimation2);
2053
2054 var _toArray2 = __webpack_require__(49);
2055
2056 var _toArray3 = _interopRequireDefault(_toArray2);
2057
2058 var _Align2 = __webpack_require__(50);
2059
2060 var _Align3 = _interopRequireDefault(_Align2);
2061
2062 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2063
2064 exports.all = _all3.default;
2065 exports.componentOrElement = _componentOrElement3.default;
2066 exports.deprecated = _deprecated3.default;
2067 exports.elementType = _elementType3.default;
2068 exports.isRequiredForA11y = _isRequiredForA11y3.default;
2069 exports.splitComponent = _splitComponent3.default;
2070 exports.createChainedFunction = _createChainedFunction3.default;
2071 exports.KeyCode = _keyCode2.default;
2072 exports.contains = _contains3.default;
2073 exports.addEventListener = _addEventListener3.default;
2074 exports.cssAnimation = _cssAnimation3.default;
2075 exports.toArray = _toArray3.default;
2076 //export getContainerRenderMixin from './getContainerRenderMixin';
2077
2078 exports.Align = _Align3.default;
2079
2080/***/ }),
2081/* 28 */
2082/***/ (function(module, exports, __webpack_require__) {
2083
2084 'use strict';
2085
2086 exports.__esModule = true;
2087 exports.default = all;
2088
2089 var _createChainableTypeChecker = __webpack_require__(29);
2090
2091 var _createChainableTypeChecker2 = _interopRequireDefault(_createChainableTypeChecker);
2092
2093 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2094
2095 function all() {
2096 for (var _len = arguments.length, validators = Array(_len), _key = 0; _key < _len; _key++) {
2097 validators[_key] = arguments[_key];
2098 }
2099
2100 function allPropTypes() {
2101 for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
2102 args[_key2] = arguments[_key2];
2103 }
2104
2105 var error = null;
2106
2107 validators.forEach(function (validator) {
2108 if (error != null) {
2109 return;
2110 }
2111
2112 var result = validator.apply(undefined, args);
2113 if (result != null) {
2114 error = result;
2115 }
2116 });
2117
2118 return error;
2119 }
2120
2121 return (0, _createChainableTypeChecker2.default)(allPropTypes);
2122 }
2123
2124/***/ }),
2125/* 29 */
2126/***/ (function(module, exports) {
2127
2128 'use strict';
2129
2130 exports.__esModule = true;
2131 exports.default = createChainableTypeChecker;
2132 /**
2133 * Copyright 2013-present, Facebook, Inc.
2134 * All rights reserved.
2135 *
2136 * This source code is licensed under the BSD-style license found in the
2137 * LICENSE file in the root directory of this source tree. An additional grant
2138 * of patent rights can be found in the PATENTS file in the same directory.
2139 */
2140
2141 // Mostly taken from ReactPropTypes.
2142
2143 function createChainableTypeChecker(validate) {
2144 function checkType(isRequired, props, propName, componentName, location, propFullName) {
2145 var componentNameSafe = componentName || '<<anonymous>>';
2146 var propFullNameSafe = propFullName || propName;
2147
2148 if (props[propName] == null) {
2149 if (isRequired) {
2150 return new Error('Required ' + location + ' `' + propFullNameSafe + '` was not specified ' + ('in `' + componentNameSafe + '`.'));
2151 }
2152
2153 return null;
2154 }
2155
2156 for (var _len = arguments.length, args = Array(_len > 6 ? _len - 6 : 0), _key = 6; _key < _len; _key++) {
2157 args[_key - 6] = arguments[_key];
2158 }
2159
2160 return validate.apply(undefined, [props, propName, componentNameSafe, location, propFullNameSafe].concat(args));
2161 }
2162
2163 var chainedCheckType = checkType.bind(null, false);
2164 chainedCheckType.isRequired = checkType.bind(null, true);
2165
2166 return chainedCheckType;
2167 }
2168
2169/***/ }),
2170/* 30 */
2171/***/ (function(module, exports, __webpack_require__) {
2172
2173 'use strict';
2174
2175 exports.__esModule = true;
2176
2177 var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
2178
2179 var _react = __webpack_require__(4);
2180
2181 var _react2 = _interopRequireDefault(_react);
2182
2183 var _createChainableTypeChecker = __webpack_require__(29);
2184
2185 var _createChainableTypeChecker2 = _interopRequireDefault(_createChainableTypeChecker);
2186
2187 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2188
2189 function validate(props, propName, componentName, location, propFullName) {
2190 var propValue = props[propName];
2191 var propType = typeof propValue === 'undefined' ? 'undefined' : _typeof(propValue);
2192
2193 if (_react2.default.isValidElement(propValue)) {
2194 return new Error('Invalid ' + location + ' `' + propFullName + '` of type ReactElement ' + ('supplied to `' + componentName + '`, expected a ReactComponent or a ') + 'DOMElement. You can usually obtain a ReactComponent or DOMElement ' + 'from a ReactElement by attaching a ref to it.');
2195 }
2196
2197 if ((propType !== 'object' || typeof propValue.render !== 'function') && propValue.nodeType !== 1) {
2198 return new Error('Invalid ' + location + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected a ReactComponent or a ') + 'DOMElement.');
2199 }
2200
2201 return null;
2202 }
2203
2204 exports.default = (0, _createChainableTypeChecker2.default)(validate);
2205
2206/***/ }),
2207/* 31 */
2208/***/ (function(module, exports, __webpack_require__) {
2209
2210 'use strict';
2211
2212 exports.__esModule = true;
2213 exports.default = deprecated;
2214
2215 var _warning = __webpack_require__(32);
2216
2217 var _warning2 = _interopRequireDefault(_warning);
2218
2219 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2220
2221 var warned = {};
2222
2223 function deprecated(validator, reason) {
2224 return function validate(props, propName, componentName, location, propFullName) {
2225 var componentNameSafe = componentName || '<<anonymous>>';
2226 var propFullNameSafe = propFullName || propName;
2227
2228 if (props[propName] != null) {
2229 var messageKey = componentName + '.' + propName;
2230
2231 (0, _warning2.default)(warned[messageKey], 'The ' + location + ' `' + propFullNameSafe + '` of ' + ('`' + componentNameSafe + '` is deprecated. ' + reason + '.'));
2232
2233 warned[messageKey] = true;
2234 }
2235
2236 for (var _len = arguments.length, args = Array(_len > 5 ? _len - 5 : 0), _key = 5; _key < _len; _key++) {
2237 args[_key - 5] = arguments[_key];
2238 }
2239
2240 return validator.apply(undefined, [props, propName, componentName, location, propFullName].concat(args));
2241 };
2242 }
2243
2244 /* eslint-disable no-underscore-dangle */
2245 function _resetWarned() {
2246 warned = {};
2247 }
2248
2249 deprecated._resetWarned = _resetWarned;
2250 /* eslint-enable no-underscore-dangle */
2251
2252/***/ }),
2253/* 32 */
2254/***/ (function(module, exports, __webpack_require__) {
2255
2256 /* WEBPACK VAR INJECTION */(function(process) {/**
2257 * Copyright 2014-2015, Facebook, Inc.
2258 * All rights reserved.
2259 *
2260 * This source code is licensed under the BSD-style license found in the
2261 * LICENSE file in the root directory of this source tree. An additional grant
2262 * of patent rights can be found in the PATENTS file in the same directory.
2263 */
2264
2265 'use strict';
2266
2267 /**
2268 * Similar to invariant but only logs a warning if the condition is not met.
2269 * This can be used to log issues in development environments in critical
2270 * paths. Removing the logging code for production environments will keep the
2271 * same logic and follow the same code paths.
2272 */
2273
2274 var warning = function() {};
2275
2276 if (process.env.NODE_ENV !== 'production') {
2277 warning = function(condition, format, args) {
2278 var len = arguments.length;
2279 args = new Array(len > 2 ? len - 2 : 0);
2280 for (var key = 2; key < len; key++) {
2281 args[key - 2] = arguments[key];
2282 }
2283 if (format === undefined) {
2284 throw new Error(
2285 '`warning(condition, format, ...args)` requires a warning ' +
2286 'message argument'
2287 );
2288 }
2289
2290 if (format.length < 10 || (/^[s\W]*$/).test(format)) {
2291 throw new Error(
2292 'The warning format should be able to uniquely identify this ' +
2293 'warning. Please, use a more descriptive format than: ' + format
2294 );
2295 }
2296
2297 if (!condition) {
2298 var argIndex = 0;
2299 var message = 'Warning: ' +
2300 format.replace(/%s/g, function() {
2301 return args[argIndex++];
2302 });
2303 if (typeof console !== 'undefined') {
2304 console.error(message);
2305 }
2306 try {
2307 // This error was thrown as a convenience so that you can use this stack
2308 // to find the callsite that caused this warning to fire.
2309 throw new Error(message);
2310 } catch(x) {}
2311 }
2312 };
2313 }
2314
2315 module.exports = warning;
2316
2317 /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(33)))
2318
2319/***/ }),
2320/* 33 */
2321/***/ (function(module, exports) {
2322
2323 // shim for using process in browser
2324 var process = module.exports = {};
2325
2326 // cached from whatever global is present so that test runners that stub it
2327 // don't break things. But we need to wrap it in a try catch in case it is
2328 // wrapped in strict mode code which doesn't define any globals. It's inside a
2329 // function because try/catches deoptimize in certain engines.
2330
2331 var cachedSetTimeout;
2332 var cachedClearTimeout;
2333
2334 function defaultSetTimout() {
2335 throw new Error('setTimeout has not been defined');
2336 }
2337 function defaultClearTimeout () {
2338 throw new Error('clearTimeout has not been defined');
2339 }
2340 (function () {
2341 try {
2342 if (typeof setTimeout === 'function') {
2343 cachedSetTimeout = setTimeout;
2344 } else {
2345 cachedSetTimeout = defaultSetTimout;
2346 }
2347 } catch (e) {
2348 cachedSetTimeout = defaultSetTimout;
2349 }
2350 try {
2351 if (typeof clearTimeout === 'function') {
2352 cachedClearTimeout = clearTimeout;
2353 } else {
2354 cachedClearTimeout = defaultClearTimeout;
2355 }
2356 } catch (e) {
2357 cachedClearTimeout = defaultClearTimeout;
2358 }
2359 } ())
2360 function runTimeout(fun) {
2361 if (cachedSetTimeout === setTimeout) {
2362 //normal enviroments in sane situations
2363 return setTimeout(fun, 0);
2364 }
2365 // if setTimeout wasn't available but was latter defined
2366 if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {
2367 cachedSetTimeout = setTimeout;
2368 return setTimeout(fun, 0);
2369 }
2370 try {
2371 // when when somebody has screwed with setTimeout but no I.E. maddness
2372 return cachedSetTimeout(fun, 0);
2373 } catch(e){
2374 try {
2375 // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
2376 return cachedSetTimeout.call(null, fun, 0);
2377 } catch(e){
2378 // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error
2379 return cachedSetTimeout.call(this, fun, 0);
2380 }
2381 }
2382
2383
2384 }
2385 function runClearTimeout(marker) {
2386 if (cachedClearTimeout === clearTimeout) {
2387 //normal enviroments in sane situations
2388 return clearTimeout(marker);
2389 }
2390 // if clearTimeout wasn't available but was latter defined
2391 if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {
2392 cachedClearTimeout = clearTimeout;
2393 return clearTimeout(marker);
2394 }
2395 try {
2396 // when when somebody has screwed with setTimeout but no I.E. maddness
2397 return cachedClearTimeout(marker);
2398 } catch (e){
2399 try {
2400 // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
2401 return cachedClearTimeout.call(null, marker);
2402 } catch (e){
2403 // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.
2404 // Some versions of I.E. have different rules for clearTimeout vs setTimeout
2405 return cachedClearTimeout.call(this, marker);
2406 }
2407 }
2408
2409
2410
2411 }
2412 var queue = [];
2413 var draining = false;
2414 var currentQueue;
2415 var queueIndex = -1;
2416
2417 function cleanUpNextTick() {
2418 if (!draining || !currentQueue) {
2419 return;
2420 }
2421 draining = false;
2422 if (currentQueue.length) {
2423 queue = currentQueue.concat(queue);
2424 } else {
2425 queueIndex = -1;
2426 }
2427 if (queue.length) {
2428 drainQueue();
2429 }
2430 }
2431
2432 function drainQueue() {
2433 if (draining) {
2434 return;
2435 }
2436 var timeout = runTimeout(cleanUpNextTick);
2437 draining = true;
2438
2439 var len = queue.length;
2440 while(len) {
2441 currentQueue = queue;
2442 queue = [];
2443 while (++queueIndex < len) {
2444 if (currentQueue) {
2445 currentQueue[queueIndex].run();
2446 }
2447 }
2448 queueIndex = -1;
2449 len = queue.length;
2450 }
2451 currentQueue = null;
2452 draining = false;
2453 runClearTimeout(timeout);
2454 }
2455
2456 process.nextTick = function (fun) {
2457 var args = new Array(arguments.length - 1);
2458 if (arguments.length > 1) {
2459 for (var i = 1; i < arguments.length; i++) {
2460 args[i - 1] = arguments[i];
2461 }
2462 }
2463 queue.push(new Item(fun, args));
2464 if (queue.length === 1 && !draining) {
2465 runTimeout(drainQueue);
2466 }
2467 };
2468
2469 // v8 likes predictible objects
2470 function Item(fun, array) {
2471 this.fun = fun;
2472 this.array = array;
2473 }
2474 Item.prototype.run = function () {
2475 this.fun.apply(null, this.array);
2476 };
2477 process.title = 'browser';
2478 process.browser = true;
2479 process.env = {};
2480 process.argv = [];
2481 process.version = ''; // empty string to avoid regexp issues
2482 process.versions = {};
2483
2484 function noop() {}
2485
2486 process.on = noop;
2487 process.addListener = noop;
2488 process.once = noop;
2489 process.off = noop;
2490 process.removeListener = noop;
2491 process.removeAllListeners = noop;
2492 process.emit = noop;
2493 process.prependListener = noop;
2494 process.prependOnceListener = noop;
2495
2496 process.listeners = function (name) { return [] }
2497
2498 process.binding = function (name) {
2499 throw new Error('process.binding is not supported');
2500 };
2501
2502 process.cwd = function () { return '/' };
2503 process.chdir = function (dir) {
2504 throw new Error('process.chdir is not supported');
2505 };
2506 process.umask = function() { return 0; };
2507
2508
2509/***/ }),
2510/* 34 */
2511/***/ (function(module, exports, __webpack_require__) {
2512
2513 'use strict';
2514
2515 exports.__esModule = true;
2516
2517 var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
2518
2519 var _react = __webpack_require__(4);
2520
2521 var _react2 = _interopRequireDefault(_react);
2522
2523 var _createChainableTypeChecker = __webpack_require__(29);
2524
2525 var _createChainableTypeChecker2 = _interopRequireDefault(_createChainableTypeChecker);
2526
2527 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2528
2529 function elementType(props, propName, componentName, location, propFullName) {
2530 var propValue = props[propName];
2531 var propType = typeof propValue === 'undefined' ? 'undefined' : _typeof(propValue);
2532
2533 if (_react2.default.isValidElement(propValue)) {
2534 return new Error('Invalid ' + location + ' `' + propFullName + '` of type ReactElement ' + ('supplied to `' + componentName + '`, expected an element type (a string ') + 'or a ReactClass).');
2535 }
2536
2537 if (propType !== 'function' && propType !== 'string') {
2538 return new Error('Invalid ' + location + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected an element type (a string ') + 'or a ReactClass).');
2539 }
2540
2541 return null;
2542 }
2543
2544 exports.default = (0, _createChainableTypeChecker2.default)(elementType);
2545
2546/***/ }),
2547/* 35 */
2548/***/ (function(module, exports) {
2549
2550 'use strict';
2551
2552 exports.__esModule = true;
2553 exports.default = isRequiredForA11y;
2554 function isRequiredForA11y(validator) {
2555 return function validate(props, propName, componentName, location, propFullName) {
2556 var componentNameSafe = componentName || '<<anonymous>>';
2557 var propFullNameSafe = propFullName || propName;
2558
2559 if (props[propName] == null) {
2560 return new Error('The ' + location + ' `' + propFullNameSafe + '` is required to make ' + ('`' + componentNameSafe + '` accessible for users of assistive ') + 'technologies such as screen readers.');
2561 }
2562
2563 for (var _len = arguments.length, args = Array(_len > 5 ? _len - 5 : 0), _key = 5; _key < _len; _key++) {
2564 args[_key - 5] = arguments[_key];
2565 }
2566
2567 return validator.apply(undefined, [props, propName, componentName, location, propFullName].concat(args));
2568 };
2569 }
2570
2571/***/ }),
2572/* 36 */
2573/***/ (function(module, exports) {
2574
2575 "use strict";
2576
2577 exports.__esModule = true;
2578 exports.default = splitComponentProps;
2579 function _objectEntries(obj) {
2580 var entries = [];
2581 var keys = Object.keys(obj);
2582
2583 for (var k = 0; k < keys.length; ++k) {
2584 entries.push([keys[k], obj[keys[k]]]);
2585 }return entries;
2586 }
2587
2588 /**
2589 * 分割要传入父元素和子元素的props
2590 * @param {[object]} props 传入的属性
2591 * @param {[reactElement]} Component 组件
2592 * @return {[array]} 返回数组,第一个元素为父元素props对象,第二个子元素props对象
2593 */
2594 function splitComponentProps(props, Component) {
2595 var componentPropTypes = Component.propTypes;
2596
2597 var parentProps = {};
2598 var childProps = {};
2599
2600 _objectEntries(props).forEach(function (_ref) {
2601 var propName = _ref[0],
2602 propValue = _ref[1];
2603
2604 if (componentPropTypes[propName]) {
2605 parentProps[propName] = propValue;
2606 } else {
2607 childProps[propName] = propValue;
2608 }
2609 });
2610
2611 return [parentProps, childProps];
2612 }
2613
2614/***/ }),
2615/* 37 */
2616/***/ (function(module, exports) {
2617
2618 'use strict';
2619
2620 exports.__esModule = true;
2621 function createChainedFunction() {
2622 for (var _len = arguments.length, funcs = Array(_len), _key = 0; _key < _len; _key++) {
2623 funcs[_key] = arguments[_key];
2624 }
2625
2626 return funcs.filter(function (f) {
2627 return f != null;
2628 }).reduce(function (acc, f) {
2629 if (typeof f !== 'function') {
2630 throw new Error('Invalid Argument Type, must only provide functions, undefined, or null.');
2631 }
2632
2633 if (acc === null) {
2634 return f;
2635 }
2636
2637 return function chainedFunction() {
2638 for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
2639 args[_key2] = arguments[_key2];
2640 }
2641
2642 acc.apply(this, args);
2643 f.apply(this, args);
2644 };
2645 }, null);
2646 }
2647 exports.default = createChainedFunction;
2648
2649/***/ }),
2650/* 38 */
2651/***/ (function(module, exports) {
2652
2653 'use strict';
2654
2655 /**
2656 * @ignore
2657 * some key-codes definition and utils from closure-library
2658 * @author yiminghe@gmail.com
2659 */
2660
2661 var KeyCode = {
2662 /**
2663 * MAC_ENTER
2664 */
2665 MAC_ENTER: 3,
2666 /**
2667 * BACKSPACE
2668 */
2669 BACKSPACE: 8,
2670 /**
2671 * TAB
2672 */
2673 TAB: 9,
2674 /**
2675 * NUMLOCK on FF/Safari Mac
2676 */
2677 NUM_CENTER: 12, // NUMLOCK on FF/Safari Mac
2678 /**
2679 * ENTER
2680 */
2681 ENTER: 13,
2682 /**
2683 * SHIFT
2684 */
2685 SHIFT: 16,
2686 /**
2687 * CTRL
2688 */
2689 CTRL: 17,
2690 /**
2691 * ALT
2692 */
2693 ALT: 18,
2694 /**
2695 * PAUSE
2696 */
2697 PAUSE: 19,
2698 /**
2699 * CAPS_LOCK
2700 */
2701 CAPS_LOCK: 20,
2702 /**
2703 * ESC
2704 */
2705 ESC: 27,
2706 /**
2707 * SPACE
2708 */
2709 SPACE: 32,
2710 /**
2711 * PAGE_UP
2712 */
2713 PAGE_UP: 33, // also NUM_NORTH_EAST
2714 /**
2715 * PAGE_DOWN
2716 */
2717 PAGE_DOWN: 34, // also NUM_SOUTH_EAST
2718 /**
2719 * END
2720 */
2721 END: 35, // also NUM_SOUTH_WEST
2722 /**
2723 * HOME
2724 */
2725 HOME: 36, // also NUM_NORTH_WEST
2726 /**
2727 * LEFT
2728 */
2729 LEFT: 37, // also NUM_WEST
2730 /**
2731 * UP
2732 */
2733 UP: 38, // also NUM_NORTH
2734 /**
2735 * RIGHT
2736 */
2737 RIGHT: 39, // also NUM_EAST
2738 /**
2739 * DOWN
2740 */
2741 DOWN: 40, // also NUM_SOUTH
2742 /**
2743 * PRINT_SCREEN
2744 */
2745 PRINT_SCREEN: 44,
2746 /**
2747 * INSERT
2748 */
2749 INSERT: 45, // also NUM_INSERT
2750 /**
2751 * DELETE
2752 */
2753 DELETE: 46, // also NUM_DELETE
2754 /**
2755 * ZERO
2756 */
2757 ZERO: 48,
2758 /**
2759 * ONE
2760 */
2761 ONE: 49,
2762 /**
2763 * TWO
2764 */
2765 TWO: 50,
2766 /**
2767 * THREE
2768 */
2769 THREE: 51,
2770 /**
2771 * FOUR
2772 */
2773 FOUR: 52,
2774 /**
2775 * FIVE
2776 */
2777 FIVE: 53,
2778 /**
2779 * SIX
2780 */
2781 SIX: 54,
2782 /**
2783 * SEVEN
2784 */
2785 SEVEN: 55,
2786 /**
2787 * EIGHT
2788 */
2789 EIGHT: 56,
2790 /**
2791 * NINE
2792 */
2793 NINE: 57,
2794 /**
2795 * QUESTION_MARK
2796 */
2797 QUESTION_MARK: 63, // needs localization
2798 /**
2799 * A
2800 */
2801 A: 65,
2802 /**
2803 * B
2804 */
2805 B: 66,
2806 /**
2807 * C
2808 */
2809 C: 67,
2810 /**
2811 * D
2812 */
2813 D: 68,
2814 /**
2815 * E
2816 */
2817 E: 69,
2818 /**
2819 * F
2820 */
2821 F: 70,
2822 /**
2823 * G
2824 */
2825 G: 71,
2826 /**
2827 * H
2828 */
2829 H: 72,
2830 /**
2831 * I
2832 */
2833 I: 73,
2834 /**
2835 * J
2836 */
2837 J: 74,
2838 /**
2839 * K
2840 */
2841 K: 75,
2842 /**
2843 * L
2844 */
2845 L: 76,
2846 /**
2847 * M
2848 */
2849 M: 77,
2850 /**
2851 * N
2852 */
2853 N: 78,
2854 /**
2855 * O
2856 */
2857 O: 79,
2858 /**
2859 * P
2860 */
2861 P: 80,
2862 /**
2863 * Q
2864 */
2865 Q: 81,
2866 /**
2867 * R
2868 */
2869 R: 82,
2870 /**
2871 * S
2872 */
2873 S: 83,
2874 /**
2875 * T
2876 */
2877 T: 84,
2878 /**
2879 * U
2880 */
2881 U: 85,
2882 /**
2883 * V
2884 */
2885 V: 86,
2886 /**
2887 * W
2888 */
2889 W: 87,
2890 /**
2891 * X
2892 */
2893 X: 88,
2894 /**
2895 * Y
2896 */
2897 Y: 89,
2898 /**
2899 * Z
2900 */
2901 Z: 90,
2902 /**
2903 * META
2904 */
2905 META: 91, // WIN_KEY_LEFT
2906 /**
2907 * WIN_KEY_RIGHT
2908 */
2909 WIN_KEY_RIGHT: 92,
2910 /**
2911 * CONTEXT_MENU
2912 */
2913 CONTEXT_MENU: 93,
2914 /**
2915 * NUM_ZERO
2916 */
2917 NUM_ZERO: 96,
2918 /**
2919 * NUM_ONE
2920 */
2921 NUM_ONE: 97,
2922 /**
2923 * NUM_TWO
2924 */
2925 NUM_TWO: 98,
2926 /**
2927 * NUM_THREE
2928 */
2929 NUM_THREE: 99,
2930 /**
2931 * NUM_FOUR
2932 */
2933 NUM_FOUR: 100,
2934 /**
2935 * NUM_FIVE
2936 */
2937 NUM_FIVE: 101,
2938 /**
2939 * NUM_SIX
2940 */
2941 NUM_SIX: 102,
2942 /**
2943 * NUM_SEVEN
2944 */
2945 NUM_SEVEN: 103,
2946 /**
2947 * NUM_EIGHT
2948 */
2949 NUM_EIGHT: 104,
2950 /**
2951 * NUM_NINE
2952 */
2953 NUM_NINE: 105,
2954 /**
2955 * NUM_MULTIPLY
2956 */
2957 NUM_MULTIPLY: 106,
2958 /**
2959 * NUM_PLUS
2960 */
2961 NUM_PLUS: 107,
2962 /**
2963 * NUM_MINUS
2964 */
2965 NUM_MINUS: 109,
2966 /**
2967 * NUM_PERIOD
2968 */
2969 NUM_PERIOD: 110,
2970 /**
2971 * NUM_DIVISION
2972 */
2973 NUM_DIVISION: 111,
2974 /**
2975 * F1
2976 */
2977 F1: 112,
2978 /**
2979 * F2
2980 */
2981 F2: 113,
2982 /**
2983 * F3
2984 */
2985 F3: 114,
2986 /**
2987 * F4
2988 */
2989 F4: 115,
2990 /**
2991 * F5
2992 */
2993 F5: 116,
2994 /**
2995 * F6
2996 */
2997 F6: 117,
2998 /**
2999 * F7
3000 */
3001 F7: 118,
3002 /**
3003 * F8
3004 */
3005 F8: 119,
3006 /**
3007 * F9
3008 */
3009 F9: 120,
3010 /**
3011 * F10
3012 */
3013 F10: 121,
3014 /**
3015 * F11
3016 */
3017 F11: 122,
3018 /**
3019 * F12
3020 */
3021 F12: 123,
3022 /**
3023 * NUMLOCK
3024 */
3025 NUMLOCK: 144,
3026 /**
3027 * SEMICOLON
3028 */
3029 SEMICOLON: 186, // needs localization
3030 /**
3031 * DASH
3032 */
3033 DASH: 189, // needs localization
3034 /**
3035 * EQUALS
3036 */
3037 EQUALS: 187, // needs localization
3038 /**
3039 * COMMA
3040 */
3041 COMMA: 188, // needs localization
3042 /**
3043 * PERIOD
3044 */
3045 PERIOD: 190, // needs localization
3046 /**
3047 * SLASH
3048 */
3049 SLASH: 191, // needs localization
3050 /**
3051 * APOSTROPHE
3052 */
3053 APOSTROPHE: 192, // needs localization
3054 /**
3055 * SINGLE_QUOTE
3056 */
3057 SINGLE_QUOTE: 222, // needs localization
3058 /**
3059 * OPEN_SQUARE_BRACKET
3060 */
3061 OPEN_SQUARE_BRACKET: 219, // needs localization
3062 /**
3063 * BACKSLASH
3064 */
3065 BACKSLASH: 220, // needs localization
3066 /**
3067 * CLOSE_SQUARE_BRACKET
3068 */
3069 CLOSE_SQUARE_BRACKET: 221, // needs localization
3070 /**
3071 * WIN_KEY
3072 */
3073 WIN_KEY: 224,
3074 /**
3075 * MAC_FF_META
3076 */
3077 MAC_FF_META: 224, // Firefox (Gecko) fires this for the meta key instead of 91
3078 /**
3079 * WIN_IME
3080 */
3081 WIN_IME: 229
3082 };
3083
3084 /*
3085 whether text and modified key is entered at the same time.
3086 */
3087 KeyCode.isTextModifyingKeyEvent = function isTextModifyingKeyEvent(e) {
3088 var keyCode = e.keyCode;
3089 if (e.altKey && !e.ctrlKey || e.metaKey ||
3090 // Function keys don't generate text
3091 keyCode >= KeyCode.F1 && keyCode <= KeyCode.F12) {
3092 return false;
3093 }
3094
3095 // The following keys are quite harmless, even in combination with
3096 // CTRL, ALT or SHIFT.
3097 switch (keyCode) {
3098 case KeyCode.ALT:
3099 case KeyCode.CAPS_LOCK:
3100 case KeyCode.CONTEXT_MENU:
3101 case KeyCode.CTRL:
3102 case KeyCode.DOWN:
3103 case KeyCode.END:
3104 case KeyCode.ESC:
3105 case KeyCode.HOME:
3106 case KeyCode.INSERT:
3107 case KeyCode.LEFT:
3108 case KeyCode.MAC_FF_META:
3109 case KeyCode.META:
3110 case KeyCode.NUMLOCK:
3111 case KeyCode.NUM_CENTER:
3112 case KeyCode.PAGE_DOWN:
3113 case KeyCode.PAGE_UP:
3114 case KeyCode.PAUSE:
3115 case KeyCode.PRINT_SCREEN:
3116 case KeyCode.RIGHT:
3117 case KeyCode.SHIFT:
3118 case KeyCode.UP:
3119 case KeyCode.WIN_KEY:
3120 case KeyCode.WIN_KEY_RIGHT:
3121 return false;
3122 default:
3123 return true;
3124 }
3125 };
3126
3127 /*
3128 whether character is entered.
3129 */
3130 KeyCode.isCharacterKey = function isCharacterKey(keyCode) {
3131 if (keyCode >= KeyCode.ZERO && keyCode <= KeyCode.NINE) {
3132 return true;
3133 }
3134
3135 if (keyCode >= KeyCode.NUM_ZERO && keyCode <= KeyCode.NUM_MULTIPLY) {
3136 return true;
3137 }
3138
3139 if (keyCode >= KeyCode.A && keyCode <= KeyCode.Z) {
3140 return true;
3141 }
3142
3143 // Safari sends zero key code for non-latin characters.
3144 if (window.navigation.userAgent.indexOf('WebKit') !== -1 && keyCode === 0) {
3145 return true;
3146 }
3147
3148 switch (keyCode) {
3149 case KeyCode.SPACE:
3150 case KeyCode.QUESTION_MARK:
3151 case KeyCode.NUM_PLUS:
3152 case KeyCode.NUM_MINUS:
3153 case KeyCode.NUM_PERIOD:
3154 case KeyCode.NUM_DIVISION:
3155 case KeyCode.SEMICOLON:
3156 case KeyCode.DASH:
3157 case KeyCode.EQUALS:
3158 case KeyCode.COMMA:
3159 case KeyCode.PERIOD:
3160 case KeyCode.SLASH:
3161 case KeyCode.APOSTROPHE:
3162 case KeyCode.SINGLE_QUOTE:
3163 case KeyCode.OPEN_SQUARE_BRACKET:
3164 case KeyCode.BACKSLASH:
3165 case KeyCode.CLOSE_SQUARE_BRACKET:
3166 return true;
3167 default:
3168 return false;
3169 }
3170 };
3171
3172 module.exports = KeyCode;
3173
3174/***/ }),
3175/* 39 */
3176/***/ (function(module, exports) {
3177
3178 "use strict";
3179
3180 exports.__esModule = true;
3181 exports.default = contains;
3182 function contains(root, n) {
3183 var node = n;
3184 while (node) {
3185 if (node === root) {
3186 return true;
3187 }
3188 node = node.parentNode;
3189 }
3190
3191 return false;
3192 }
3193
3194/***/ }),
3195/* 40 */
3196/***/ (function(module, exports, __webpack_require__) {
3197
3198 'use strict';
3199
3200 exports.__esModule = true;
3201 exports.default = addEventListenerWrap;
3202
3203 var _addDomEventListener = __webpack_require__(41);
3204
3205 var _addDomEventListener2 = _interopRequireDefault(_addDomEventListener);
3206
3207 var _reactDom = __webpack_require__(12);
3208
3209 var _reactDom2 = _interopRequireDefault(_reactDom);
3210
3211 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
3212
3213 function addEventListenerWrap(target, eventType, cb) {
3214 /* eslint camelcase: 2 */
3215 var callback = _reactDom2.default.unstable_batchedUpdates ? function run(e) {
3216 _reactDom2.default.unstable_batchedUpdates(cb, e);
3217 } : cb;
3218 return (0, _addDomEventListener2.default)(target, eventType, callback);
3219 }
3220
3221/***/ }),
3222/* 41 */
3223/***/ (function(module, exports, __webpack_require__) {
3224
3225 'use strict';
3226
3227 Object.defineProperty(exports, '__esModule', {
3228 value: true
3229 });
3230 exports['default'] = addEventListener;
3231
3232 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
3233
3234 var _EventObject = __webpack_require__(42);
3235
3236 var _EventObject2 = _interopRequireDefault(_EventObject);
3237
3238 function addEventListener(target, eventType, callback, option) {
3239 function wrapCallback(e) {
3240 var ne = new _EventObject2['default'](e);
3241 callback.call(target, ne);
3242 }
3243
3244 if (target.addEventListener) {
3245 var _ret = (function () {
3246 var useCapture = false;
3247 if (typeof option === 'object') {
3248 useCapture = option.capture || false;
3249 } else if (typeof option === 'boolean') {
3250 useCapture = option;
3251 }
3252
3253 target.addEventListener(eventType, wrapCallback, option || false);
3254
3255 return {
3256 v: {
3257 remove: function remove() {
3258 target.removeEventListener(eventType, wrapCallback, useCapture);
3259 }
3260 }
3261 };
3262 })();
3263
3264 if (typeof _ret === 'object') return _ret.v;
3265 } else if (target.attachEvent) {
3266 target.attachEvent('on' + eventType, wrapCallback);
3267 return {
3268 remove: function remove() {
3269 target.detachEvent('on' + eventType, wrapCallback);
3270 }
3271 };
3272 }
3273 }
3274
3275 module.exports = exports['default'];
3276
3277/***/ }),
3278/* 42 */
3279/***/ (function(module, exports, __webpack_require__) {
3280
3281 /**
3282 * @ignore
3283 * event object for dom
3284 * @author yiminghe@gmail.com
3285 */
3286
3287 'use strict';
3288
3289 Object.defineProperty(exports, '__esModule', {
3290 value: true
3291 });
3292
3293 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
3294
3295 var _EventBaseObject = __webpack_require__(43);
3296
3297 var _EventBaseObject2 = _interopRequireDefault(_EventBaseObject);
3298
3299 var _objectAssign = __webpack_require__(44);
3300
3301 var _objectAssign2 = _interopRequireDefault(_objectAssign);
3302
3303 var TRUE = true;
3304 var FALSE = false;
3305 var commonProps = ['altKey', 'bubbles', 'cancelable', 'ctrlKey', 'currentTarget', 'eventPhase', 'metaKey', 'shiftKey', 'target', 'timeStamp', 'view', 'type'];
3306
3307 function isNullOrUndefined(w) {
3308 return w === null || w === undefined;
3309 }
3310
3311 var eventNormalizers = [{
3312 reg: /^key/,
3313 props: ['char', 'charCode', 'key', 'keyCode', 'which'],
3314 fix: function fix(event, nativeEvent) {
3315 if (isNullOrUndefined(event.which)) {
3316 event.which = !isNullOrUndefined(nativeEvent.charCode) ? nativeEvent.charCode : nativeEvent.keyCode;
3317 }
3318
3319 // add metaKey to non-Mac browsers (use ctrl for PC 's and Meta for Macs)
3320 if (event.metaKey === undefined) {
3321 event.metaKey = event.ctrlKey;
3322 }
3323 }
3324 }, {
3325 reg: /^touch/,
3326 props: ['touches', 'changedTouches', 'targetTouches']
3327 }, {
3328 reg: /^hashchange$/,
3329 props: ['newURL', 'oldURL']
3330 }, {
3331 reg: /^gesturechange$/i,
3332 props: ['rotation', 'scale']
3333 }, {
3334 reg: /^(mousewheel|DOMMouseScroll)$/,
3335 props: [],
3336 fix: function fix(event, nativeEvent) {
3337 var deltaX = undefined;
3338 var deltaY = undefined;
3339 var delta = undefined;
3340 var wheelDelta = nativeEvent.wheelDelta;
3341 var axis = nativeEvent.axis;
3342 var wheelDeltaY = nativeEvent.wheelDeltaY;
3343 var wheelDeltaX = nativeEvent.wheelDeltaX;
3344 var detail = nativeEvent.detail;
3345
3346 // ie/webkit
3347 if (wheelDelta) {
3348 delta = wheelDelta / 120;
3349 }
3350
3351 // gecko
3352 if (detail) {
3353 // press control e.detail == 1 else e.detail == 3
3354 delta = 0 - (detail % 3 === 0 ? detail / 3 : detail);
3355 }
3356
3357 // Gecko
3358 if (axis !== undefined) {
3359 if (axis === event.HORIZONTAL_AXIS) {
3360 deltaY = 0;
3361 deltaX = 0 - delta;
3362 } else if (axis === event.VERTICAL_AXIS) {
3363 deltaX = 0;
3364 deltaY = delta;
3365 }
3366 }
3367
3368 // Webkit
3369 if (wheelDeltaY !== undefined) {
3370 deltaY = wheelDeltaY / 120;
3371 }
3372 if (wheelDeltaX !== undefined) {
3373 deltaX = -1 * wheelDeltaX / 120;
3374 }
3375
3376 // 默认 deltaY (ie)
3377 if (!deltaX && !deltaY) {
3378 deltaY = delta;
3379 }
3380
3381 if (deltaX !== undefined) {
3382 /**
3383 * deltaX of mousewheel event
3384 * @property deltaX
3385 * @member Event.DomEvent.Object
3386 */
3387 event.deltaX = deltaX;
3388 }
3389
3390 if (deltaY !== undefined) {
3391 /**
3392 * deltaY of mousewheel event
3393 * @property deltaY
3394 * @member Event.DomEvent.Object
3395 */
3396 event.deltaY = deltaY;
3397 }
3398
3399 if (delta !== undefined) {
3400 /**
3401 * delta of mousewheel event
3402 * @property delta
3403 * @member Event.DomEvent.Object
3404 */
3405 event.delta = delta;
3406 }
3407 }
3408 }, {
3409 reg: /^mouse|contextmenu|click|mspointer|(^DOMMouseScroll$)/i,
3410 props: ['buttons', 'clientX', 'clientY', 'button', 'offsetX', 'relatedTarget', 'which', 'fromElement', 'toElement', 'offsetY', 'pageX', 'pageY', 'screenX', 'screenY'],
3411 fix: function fix(event, nativeEvent) {
3412 var eventDoc = undefined;
3413 var doc = undefined;
3414 var body = undefined;
3415 var target = event.target;
3416 var button = nativeEvent.button;
3417
3418 // Calculate pageX/Y if missing and clientX/Y available
3419 if (target && isNullOrUndefined(event.pageX) && !isNullOrUndefined(nativeEvent.clientX)) {
3420 eventDoc = target.ownerDocument || document;
3421 doc = eventDoc.documentElement;
3422 body = eventDoc.body;
3423 event.pageX = nativeEvent.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc && doc.clientLeft || body && body.clientLeft || 0);
3424 event.pageY = nativeEvent.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc && doc.clientTop || body && body.clientTop || 0);
3425 }
3426
3427 // which for click: 1 === left; 2 === middle; 3 === right
3428 // do not use button
3429 if (!event.which && button !== undefined) {
3430 if (button & 1) {
3431 event.which = 1;
3432 } else if (button & 2) {
3433 event.which = 3;
3434 } else if (button & 4) {
3435 event.which = 2;
3436 } else {
3437 event.which = 0;
3438 }
3439 }
3440
3441 // add relatedTarget, if necessary
3442 if (!event.relatedTarget && event.fromElement) {
3443 event.relatedTarget = event.fromElement === target ? event.toElement : event.fromElement;
3444 }
3445
3446 return event;
3447 }
3448 }];
3449
3450 function retTrue() {
3451 return TRUE;
3452 }
3453
3454 function retFalse() {
3455 return FALSE;
3456 }
3457
3458 function DomEventObject(nativeEvent) {
3459 var type = nativeEvent.type;
3460
3461 var isNative = typeof nativeEvent.stopPropagation === 'function' || typeof nativeEvent.cancelBubble === 'boolean';
3462
3463 _EventBaseObject2['default'].call(this);
3464
3465 this.nativeEvent = nativeEvent;
3466
3467 // in case dom event has been mark as default prevented by lower dom node
3468 var isDefaultPrevented = retFalse;
3469 if ('defaultPrevented' in nativeEvent) {
3470 isDefaultPrevented = nativeEvent.defaultPrevented ? retTrue : retFalse;
3471 } else if ('getPreventDefault' in nativeEvent) {
3472 // https://bugzilla.mozilla.org/show_bug.cgi?id=691151
3473 isDefaultPrevented = nativeEvent.getPreventDefault() ? retTrue : retFalse;
3474 } else if ('returnValue' in nativeEvent) {
3475 isDefaultPrevented = nativeEvent.returnValue === FALSE ? retTrue : retFalse;
3476 }
3477
3478 this.isDefaultPrevented = isDefaultPrevented;
3479
3480 var fixFns = [];
3481 var fixFn = undefined;
3482 var l = undefined;
3483 var prop = undefined;
3484 var props = commonProps.concat();
3485
3486 eventNormalizers.forEach(function (normalizer) {
3487 if (type.match(normalizer.reg)) {
3488 props = props.concat(normalizer.props);
3489 if (normalizer.fix) {
3490 fixFns.push(normalizer.fix);
3491 }
3492 }
3493 });
3494
3495 l = props.length;
3496
3497 // clone properties of the original event object
3498 while (l) {
3499 prop = props[--l];
3500 this[prop] = nativeEvent[prop];
3501 }
3502
3503 // fix target property, if necessary
3504 if (!this.target && isNative) {
3505 this.target = nativeEvent.srcElement || document; // srcElement might not be defined either
3506 }
3507
3508 // check if target is a text node (safari)
3509 if (this.target && this.target.nodeType === 3) {
3510 this.target = this.target.parentNode;
3511 }
3512
3513 l = fixFns.length;
3514
3515 while (l) {
3516 fixFn = fixFns[--l];
3517 fixFn(this, nativeEvent);
3518 }
3519
3520 this.timeStamp = nativeEvent.timeStamp || Date.now();
3521 }
3522
3523 var EventBaseObjectProto = _EventBaseObject2['default'].prototype;
3524
3525 (0, _objectAssign2['default'])(DomEventObject.prototype, EventBaseObjectProto, {
3526 constructor: DomEventObject,
3527
3528 preventDefault: function preventDefault() {
3529 var e = this.nativeEvent;
3530
3531 // if preventDefault exists run it on the original event
3532 if (e.preventDefault) {
3533 e.preventDefault();
3534 } else {
3535 // otherwise set the returnValue property of the original event to FALSE (IE)
3536 e.returnValue = FALSE;
3537 }
3538
3539 EventBaseObjectProto.preventDefault.call(this);
3540 },
3541
3542 stopPropagation: function stopPropagation() {
3543 var e = this.nativeEvent;
3544
3545 // if stopPropagation exists run it on the original event
3546 if (e.stopPropagation) {
3547 e.stopPropagation();
3548 } else {
3549 // otherwise set the cancelBubble property of the original event to TRUE (IE)
3550 e.cancelBubble = TRUE;
3551 }
3552
3553 EventBaseObjectProto.stopPropagation.call(this);
3554 }
3555 });
3556
3557 exports['default'] = DomEventObject;
3558 module.exports = exports['default'];
3559
3560/***/ }),
3561/* 43 */
3562/***/ (function(module, exports) {
3563
3564 /**
3565 * @ignore
3566 * base event object for custom and dom event.
3567 * @author yiminghe@gmail.com
3568 */
3569
3570 "use strict";
3571
3572 Object.defineProperty(exports, "__esModule", {
3573 value: true
3574 });
3575 function returnFalse() {
3576 return false;
3577 }
3578
3579 function returnTrue() {
3580 return true;
3581 }
3582
3583 function EventBaseObject() {
3584 this.timeStamp = Date.now();
3585 this.target = undefined;
3586 this.currentTarget = undefined;
3587 }
3588
3589 EventBaseObject.prototype = {
3590 isEventObject: 1,
3591
3592 constructor: EventBaseObject,
3593
3594 isDefaultPrevented: returnFalse,
3595
3596 isPropagationStopped: returnFalse,
3597
3598 isImmediatePropagationStopped: returnFalse,
3599
3600 preventDefault: function preventDefault() {
3601 this.isDefaultPrevented = returnTrue;
3602 },
3603
3604 stopPropagation: function stopPropagation() {
3605 this.isPropagationStopped = returnTrue;
3606 },
3607
3608 stopImmediatePropagation: function stopImmediatePropagation() {
3609 this.isImmediatePropagationStopped = returnTrue;
3610 // fixed 1.2
3611 // call stopPropagation implicitly
3612 this.stopPropagation();
3613 },
3614
3615 halt: function halt(immediate) {
3616 if (immediate) {
3617 this.stopImmediatePropagation();
3618 } else {
3619 this.stopPropagation();
3620 }
3621 this.preventDefault();
3622 }
3623 };
3624
3625 exports["default"] = EventBaseObject;
3626 module.exports = exports["default"];
3627
3628/***/ }),
3629/* 44 */
3630/***/ (function(module, exports) {
3631
3632 /*
3633 object-assign
3634 (c) Sindre Sorhus
3635 @license MIT
3636 */
3637
3638 'use strict';
3639 /* eslint-disable no-unused-vars */
3640 var getOwnPropertySymbols = Object.getOwnPropertySymbols;
3641 var hasOwnProperty = Object.prototype.hasOwnProperty;
3642 var propIsEnumerable = Object.prototype.propertyIsEnumerable;
3643
3644 function toObject(val) {
3645 if (val === null || val === undefined) {
3646 throw new TypeError('Object.assign cannot be called with null or undefined');
3647 }
3648
3649 return Object(val);
3650 }
3651
3652 function shouldUseNative() {
3653 try {
3654 if (!Object.assign) {
3655 return false;
3656 }
3657
3658 // Detect buggy property enumeration order in older V8 versions.
3659
3660 // https://bugs.chromium.org/p/v8/issues/detail?id=4118
3661 var test1 = new String('abc'); // eslint-disable-line no-new-wrappers
3662 test1[5] = 'de';
3663 if (Object.getOwnPropertyNames(test1)[0] === '5') {
3664 return false;
3665 }
3666
3667 // https://bugs.chromium.org/p/v8/issues/detail?id=3056
3668 var test2 = {};
3669 for (var i = 0; i < 10; i++) {
3670 test2['_' + String.fromCharCode(i)] = i;
3671 }
3672 var order2 = Object.getOwnPropertyNames(test2).map(function (n) {
3673 return test2[n];
3674 });
3675 if (order2.join('') !== '0123456789') {
3676 return false;
3677 }
3678
3679 // https://bugs.chromium.org/p/v8/issues/detail?id=3056
3680 var test3 = {};
3681 'abcdefghijklmnopqrst'.split('').forEach(function (letter) {
3682 test3[letter] = letter;
3683 });
3684 if (Object.keys(Object.assign({}, test3)).join('') !==
3685 'abcdefghijklmnopqrst') {
3686 return false;
3687 }
3688
3689 return true;
3690 } catch (err) {
3691 // We don't expect any of the above to throw, but better to be safe.
3692 return false;
3693 }
3694 }
3695
3696 module.exports = shouldUseNative() ? Object.assign : function (target, source) {
3697 var from;
3698 var to = toObject(target);
3699 var symbols;
3700
3701 for (var s = 1; s < arguments.length; s++) {
3702 from = Object(arguments[s]);
3703
3704 for (var key in from) {
3705 if (hasOwnProperty.call(from, key)) {
3706 to[key] = from[key];
3707 }
3708 }
3709
3710 if (getOwnPropertySymbols) {
3711 symbols = getOwnPropertySymbols(from);
3712 for (var i = 0; i < symbols.length; i++) {
3713 if (propIsEnumerable.call(from, symbols[i])) {
3714 to[symbols[i]] = from[symbols[i]];
3715 }
3716 }
3717 }
3718 }
3719
3720 return to;
3721 };
3722
3723
3724/***/ }),
3725/* 45 */
3726/***/ (function(module, exports, __webpack_require__) {
3727
3728 'use strict';
3729
3730 exports.__esModule = true;
3731
3732 var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
3733
3734 var _Event = __webpack_require__(46);
3735
3736 var _Event2 = _interopRequireDefault(_Event);
3737
3738 var _componentClasses = __webpack_require__(47);
3739
3740 var _componentClasses2 = _interopRequireDefault(_componentClasses);
3741
3742 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
3743
3744 var isCssAnimationSupported = _Event2.default.endEvents.length !== 0;
3745
3746
3747 var capitalPrefixes = ['Webkit', 'Moz', 'O',
3748 // ms is special .... !
3749 'ms'];
3750 var prefixes = ['-webkit-', '-moz-', '-o-', 'ms-', ''];
3751
3752 function getStyleProperty(node, name) {
3753 var style = window.getComputedStyle(node);
3754
3755 var ret = '';
3756 for (var i = 0; i < prefixes.length; i++) {
3757 ret = style.getPropertyValue(prefixes[i] + name);
3758 if (ret) {
3759 break;
3760 }
3761 }
3762 return ret;
3763 }
3764
3765 function fixBrowserByTimeout(node) {
3766 if (isCssAnimationSupported) {
3767 var transitionDelay = parseFloat(getStyleProperty(node, 'transition-delay')) || 0;
3768 var transitionDuration = parseFloat(getStyleProperty(node, 'transition-duration')) || 0;
3769 var animationDelay = parseFloat(getStyleProperty(node, 'animation-delay')) || 0;
3770 var animationDuration = parseFloat(getStyleProperty(node, 'animation-duration')) || 0;
3771 var time = Math.max(transitionDuration + transitionDelay, animationDuration + animationDelay);
3772 // sometimes, browser bug
3773 node.rcEndAnimTimeout = setTimeout(function () {
3774 node.rcEndAnimTimeout = null;
3775 if (node.rcEndListener) {
3776 node.rcEndListener();
3777 }
3778 }, time * 1000 + 200);
3779 }
3780 }
3781
3782 function clearBrowserBugTimeout(node) {
3783 if (node.rcEndAnimTimeout) {
3784 clearTimeout(node.rcEndAnimTimeout);
3785 node.rcEndAnimTimeout = null;
3786 }
3787 }
3788
3789 var cssAnimation = function cssAnimation(node, transitionName, endCallback) {
3790 var nameIsObj = (typeof transitionName === 'undefined' ? 'undefined' : _typeof(transitionName)) === 'object';
3791 var className = nameIsObj ? transitionName.name : transitionName;
3792 var activeClassName = nameIsObj ? transitionName.active : transitionName + '-active';
3793 var end = endCallback;
3794 var start = void 0;
3795 var active = void 0;
3796 var nodeClasses = (0, _componentClasses2.default)(node);
3797
3798 if (endCallback && Object.prototype.toString.call(endCallback) === '[object Object]') {
3799 end = endCallback.end;
3800 start = endCallback.start;
3801 active = endCallback.active;
3802 }
3803
3804 if (node.rcEndListener) {
3805 node.rcEndListener();
3806 }
3807
3808 node.rcEndListener = function (e) {
3809 if (e && e.target !== node) {
3810 return;
3811 }
3812
3813 if (node.rcAnimTimeout) {
3814 clearTimeout(node.rcAnimTimeout);
3815 node.rcAnimTimeout = null;
3816 }
3817
3818 clearBrowserBugTimeout(node);
3819
3820 nodeClasses.remove(className);
3821 nodeClasses.remove(activeClassName);
3822
3823 _Event2.default.removeEndEventListener(node, node.rcEndListener);
3824 node.rcEndListener = null;
3825
3826 // Usually this optional end is used for informing an owner of
3827 // a leave animation and telling it to remove the child.
3828 if (end) {
3829 end();
3830 }
3831 };
3832
3833 _Event2.default.addEndEventListener(node, node.rcEndListener);
3834
3835 if (start) {
3836 start();
3837 }
3838 nodeClasses.add(className);
3839
3840 node.rcAnimTimeout = setTimeout(function () {
3841 node.rcAnimTimeout = null;
3842 nodeClasses.add(activeClassName);
3843 if (active) {
3844 setTimeout(active, 0);
3845 }
3846 fixBrowserByTimeout(node);
3847 // 30ms for firefox
3848 }, 30);
3849
3850 return {
3851 stop: function stop() {
3852 if (node.rcEndListener) {
3853 node.rcEndListener();
3854 }
3855 }
3856 };
3857 };
3858
3859 cssAnimation.style = function (node, style, callback) {
3860 if (node.rcEndListener) {
3861 node.rcEndListener();
3862 }
3863
3864 node.rcEndListener = function (e) {
3865 if (e && e.target !== node) {
3866 return;
3867 }
3868
3869 if (node.rcAnimTimeout) {
3870 clearTimeout(node.rcAnimTimeout);
3871 node.rcAnimTimeout = null;
3872 }
3873
3874 clearBrowserBugTimeout(node);
3875
3876 _Event2.default.removeEndEventListener(node, node.rcEndListener);
3877 node.rcEndListener = null;
3878
3879 // Usually this optional callback is used for informing an owner of
3880 // a leave animation and telling it to remove the child.
3881 if (callback) {
3882 callback();
3883 }
3884 };
3885
3886 _Event2.default.addEndEventListener(node, node.rcEndListener);
3887
3888 node.rcAnimTimeout = setTimeout(function () {
3889 for (var s in style) {
3890 if (style.hasOwnProperty(s)) {
3891 node.style[s] = style[s];
3892 }
3893 }
3894 node.rcAnimTimeout = null;
3895 fixBrowserByTimeout(node);
3896 }, 0);
3897 };
3898
3899 cssAnimation.setTransition = function (node, p, value) {
3900 var property = p;
3901 var v = value;
3902 if (value === undefined) {
3903 v = property;
3904 property = '';
3905 }
3906 property = property || '';
3907 capitalPrefixes.forEach(function (prefix) {
3908 node.style[prefix + 'Transition' + property] = v;
3909 });
3910 };
3911
3912 cssAnimation.isCssAnimationSupported = isCssAnimationSupported;
3913
3914 exports.default = cssAnimation;
3915
3916/***/ }),
3917/* 46 */
3918/***/ (function(module, exports) {
3919
3920 'use strict';
3921
3922 exports.__esModule = true;
3923 var EVENT_NAME_MAP = {
3924 transitionend: {
3925 transition: 'transitionend',
3926 WebkitTransition: 'webkitTransitionEnd',
3927 MozTransition: 'mozTransitionEnd',
3928 OTransition: 'oTransitionEnd',
3929 msTransition: 'MSTransitionEnd'
3930 },
3931
3932 animationend: {
3933 animation: 'animationend',
3934 WebkitAnimation: 'webkitAnimationEnd',
3935 MozAnimation: 'mozAnimationEnd',
3936 OAnimation: 'oAnimationEnd',
3937 msAnimation: 'MSAnimationEnd'
3938 }
3939 };
3940
3941 var endEvents = [];
3942
3943 function detectEvents() {
3944 var testEl = document.createElement('div');
3945 var style = testEl.style;
3946
3947 if (!('AnimationEvent' in window)) {
3948 delete EVENT_NAME_MAP.animationend.animation;
3949 }
3950
3951 if (!('TransitionEvent' in window)) {
3952 delete EVENT_NAME_MAP.transitionend.transition;
3953 }
3954
3955 for (var baseEventName in EVENT_NAME_MAP) {
3956 if (EVENT_NAME_MAP.hasOwnProperty(baseEventName)) {
3957 var baseEvents = EVENT_NAME_MAP[baseEventName];
3958 for (var styleName in baseEvents) {
3959 if (styleName in style) {
3960 endEvents.push(baseEvents[styleName]);
3961 break;
3962 }
3963 }
3964 }
3965 }
3966 }
3967
3968 if (typeof window !== 'undefined' && typeof document !== 'undefined') {
3969 detectEvents();
3970 }
3971
3972 function addEventListener(node, eventName, eventListener) {
3973 node.addEventListener(eventName, eventListener, false);
3974 }
3975
3976 function removeEventListener(node, eventName, eventListener) {
3977 node.removeEventListener(eventName, eventListener, false);
3978 }
3979
3980 var TransitionEvents = {
3981 addEndEventListener: function addEndEventListener(node, eventListener) {
3982 if (endEvents.length === 0) {
3983 window.setTimeout(eventListener, 0);
3984 return;
3985 }
3986 endEvents.forEach(function (endEvent) {
3987 addEventListener(node, endEvent, eventListener);
3988 });
3989 },
3990
3991
3992 endEvents: endEvents,
3993
3994 removeEndEventListener: function removeEndEventListener(node, eventListener) {
3995 if (endEvents.length === 0) {
3996 return;
3997 }
3998 endEvents.forEach(function (endEvent) {
3999 removeEventListener(node, endEvent, eventListener);
4000 });
4001 }
4002 };
4003
4004 exports.default = TransitionEvents;
4005
4006/***/ }),
4007/* 47 */
4008/***/ (function(module, exports, __webpack_require__) {
4009
4010 /**
4011 * Module dependencies.
4012 */
4013
4014 try {
4015 var index = __webpack_require__(48);
4016 } catch (err) {
4017 var index = __webpack_require__(48);
4018 }
4019
4020 /**
4021 * Whitespace regexp.
4022 */
4023
4024 var re = /\s+/;
4025
4026 /**
4027 * toString reference.
4028 */
4029
4030 var toString = Object.prototype.toString;
4031
4032 /**
4033 * Wrap `el` in a `ClassList`.
4034 *
4035 * @param {Element} el
4036 * @return {ClassList}
4037 * @api public
4038 */
4039
4040 module.exports = function(el){
4041 return new ClassList(el);
4042 };
4043
4044 /**
4045 * Initialize a new ClassList for `el`.
4046 *
4047 * @param {Element} el
4048 * @api private
4049 */
4050
4051 function ClassList(el) {
4052 if (!el || !el.nodeType) {
4053 throw new Error('A DOM element reference is required');
4054 }
4055 this.el = el;
4056 this.list = el.classList;
4057 }
4058
4059 /**
4060 * Add class `name` if not already present.
4061 *
4062 * @param {String} name
4063 * @return {ClassList}
4064 * @api public
4065 */
4066
4067 ClassList.prototype.add = function(name){
4068 // classList
4069 if (this.list) {
4070 this.list.add(name);
4071 return this;
4072 }
4073
4074 // fallback
4075 var arr = this.array();
4076 var i = index(arr, name);
4077 if (!~i) arr.push(name);
4078 this.el.className = arr.join(' ');
4079 return this;
4080 };
4081
4082 /**
4083 * Remove class `name` when present, or
4084 * pass a regular expression to remove
4085 * any which match.
4086 *
4087 * @param {String|RegExp} name
4088 * @return {ClassList}
4089 * @api public
4090 */
4091
4092 ClassList.prototype.remove = function(name){
4093 if ('[object RegExp]' == toString.call(name)) {
4094 return this.removeMatching(name);
4095 }
4096
4097 // classList
4098 if (this.list) {
4099 this.list.remove(name);
4100 return this;
4101 }
4102
4103 // fallback
4104 var arr = this.array();
4105 var i = index(arr, name);
4106 if (~i) arr.splice(i, 1);
4107 this.el.className = arr.join(' ');
4108 return this;
4109 };
4110
4111 /**
4112 * Remove all classes matching `re`.
4113 *
4114 * @param {RegExp} re
4115 * @return {ClassList}
4116 * @api private
4117 */
4118
4119 ClassList.prototype.removeMatching = function(re){
4120 var arr = this.array();
4121 for (var i = 0; i < arr.length; i++) {
4122 if (re.test(arr[i])) {
4123 this.remove(arr[i]);
4124 }
4125 }
4126 return this;
4127 };
4128
4129 /**
4130 * Toggle class `name`, can force state via `force`.
4131 *
4132 * For browsers that support classList, but do not support `force` yet,
4133 * the mistake will be detected and corrected.
4134 *
4135 * @param {String} name
4136 * @param {Boolean} force
4137 * @return {ClassList}
4138 * @api public
4139 */
4140
4141 ClassList.prototype.toggle = function(name, force){
4142 // classList
4143 if (this.list) {
4144 if ("undefined" !== typeof force) {
4145 if (force !== this.list.toggle(name, force)) {
4146 this.list.toggle(name); // toggle again to correct
4147 }
4148 } else {
4149 this.list.toggle(name);
4150 }
4151 return this;
4152 }
4153
4154 // fallback
4155 if ("undefined" !== typeof force) {
4156 if (!force) {
4157 this.remove(name);
4158 } else {
4159 this.add(name);
4160 }
4161 } else {
4162 if (this.has(name)) {
4163 this.remove(name);
4164 } else {
4165 this.add(name);
4166 }
4167 }
4168
4169 return this;
4170 };
4171
4172 /**
4173 * Return an array of classes.
4174 *
4175 * @return {Array}
4176 * @api public
4177 */
4178
4179 ClassList.prototype.array = function(){
4180 var className = this.el.getAttribute('class') || '';
4181 var str = className.replace(/^\s+|\s+$/g, '');
4182 var arr = str.split(re);
4183 if ('' === arr[0]) arr.shift();
4184 return arr;
4185 };
4186
4187 /**
4188 * Check if class `name` is present.
4189 *
4190 * @param {String} name
4191 * @return {ClassList}
4192 * @api public
4193 */
4194
4195 ClassList.prototype.has =
4196 ClassList.prototype.contains = function(name){
4197 return this.list
4198 ? this.list.contains(name)
4199 : !! ~index(this.array(), name);
4200 };
4201
4202
4203/***/ }),
4204/* 48 */
4205/***/ (function(module, exports) {
4206
4207 module.exports = function(arr, obj){
4208 if (arr.indexOf) return arr.indexOf(obj);
4209 for (var i = 0; i < arr.length; ++i) {
4210 if (arr[i] === obj) return i;
4211 }
4212 return -1;
4213 };
4214
4215/***/ }),
4216/* 49 */
4217/***/ (function(module, exports, __webpack_require__) {
4218
4219 'use strict';
4220
4221 exports.__esModule = true;
4222 exports.default = toArray;
4223
4224 var _react = __webpack_require__(4);
4225
4226 var _react2 = _interopRequireDefault(_react);
4227
4228 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4229
4230 function toArray(children) {
4231 var ret = [];
4232 _react2.default.Children.forEach(children, function (c) {
4233 ret.push(c);
4234 });
4235 return ret;
4236 }
4237
4238/***/ }),
4239/* 50 */
4240/***/ (function(module, exports, __webpack_require__) {
4241
4242 'use strict';
4243
4244 exports.__esModule = true;
4245
4246 var _react = __webpack_require__(4);
4247
4248 var _react2 = _interopRequireDefault(_react);
4249
4250 var _propTypes = __webpack_require__(5);
4251
4252 var _propTypes2 = _interopRequireDefault(_propTypes);
4253
4254 var _reactDom = __webpack_require__(12);
4255
4256 var _reactDom2 = _interopRequireDefault(_reactDom);
4257
4258 var _domAlign = __webpack_require__(51);
4259
4260 var _domAlign2 = _interopRequireDefault(_domAlign);
4261
4262 var _addEventListener = __webpack_require__(40);
4263
4264 var _addEventListener2 = _interopRequireDefault(_addEventListener);
4265
4266 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4267
4268 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
4269
4270 function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
4271
4272 function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
4273
4274 //import isWindow from './isWindow';
4275
4276 function isWindow(obj) {
4277 /* eslint no-eq-null: 0 */
4278 /* eslint eqeqeq: 0 */
4279 return obj != null && obj == obj.window;
4280 }
4281
4282 function buffer(fn, ms) {
4283 var timer = void 0;
4284
4285 function clear() {
4286 if (timer) {
4287 clearTimeout(timer);
4288 timer = null;
4289 }
4290 }
4291
4292 function bufferFn() {
4293 clear();
4294 timer = setTimeout(fn, ms);
4295 }
4296
4297 bufferFn.clear = clear;
4298
4299 return bufferFn;
4300 }
4301
4302 var propTypes = {
4303 childrenProps: _propTypes2.default.object,
4304 align: _propTypes2.default.object.isRequired,
4305 target: _propTypes2.default.func,
4306 onAlign: _propTypes2.default.func,
4307 monitorBufferTime: _propTypes2.default.number,
4308 monitorWindowResize: _propTypes2.default.bool,
4309 disabled: _propTypes2.default.bool,
4310 children: _propTypes2.default.any
4311 };
4312
4313 var defaultProps = {
4314 target: function target() {
4315 return window;
4316 },
4317 onAlign: function onAlign() {},
4318
4319 monitorBufferTime: 50,
4320 monitorWindowResize: false,
4321 disabled: false
4322 };
4323
4324 var Align = function (_React$Component) {
4325 _inherits(Align, _React$Component);
4326
4327 function Align(props) {
4328 _classCallCheck(this, Align);
4329
4330 var _this = _possibleConstructorReturn(this, _React$Component.call(this, props));
4331
4332 _initialiseProps.call(_this);
4333
4334 return _this;
4335 }
4336
4337 Align.prototype.componentDidMount = function componentDidMount() {
4338 var props = this.props;
4339 // if parent ref not attached .... use document.getElementById
4340 this.forceAlign();
4341 if (!props.disabled && props.monitorWindowResize) {
4342 this.startMonitorWindowResize();
4343 }
4344 };
4345
4346 Align.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {
4347 var reAlign = false;
4348 var props = this.props;
4349
4350 if (!props.disabled) {
4351 if (prevProps.disabled || prevProps.align !== props.align) {
4352 reAlign = true;
4353 } else {
4354 var lastTarget = prevProps.target();
4355 var currentTarget = props.target();
4356 if (isWindow(lastTarget) && isWindow(currentTarget)) {
4357 reAlign = false;
4358 } else if (lastTarget !== currentTarget) {
4359 reAlign = true;
4360 }
4361 }
4362 }
4363
4364 if (reAlign) {
4365 this.forceAlign();
4366 }
4367
4368 if (props.monitorWindowResize && !props.disabled) {
4369 this.startMonitorWindowResize();
4370 } else {
4371 this.stopMonitorWindowResize();
4372 }
4373 };
4374
4375 Align.prototype.componentWillUnmount = function componentWillUnmount() {
4376 this.stopMonitorWindowResize();
4377 };
4378
4379 Align.prototype.render = function render() {
4380 var _props = this.props,
4381 childrenProps = _props.childrenProps,
4382 children = _props.children;
4383
4384 var child = _react2.default.Children.only(children);
4385 if (childrenProps) {
4386 var newProps = {};
4387 for (var prop in childrenProps) {
4388 if (childrenProps.hasOwnProperty(prop)) {
4389 newProps[prop] = this.props[childrenProps[prop]];
4390 }
4391 }
4392 return _react2.default.cloneElement(child, newProps);
4393 }
4394 return child;
4395 };
4396
4397 return Align;
4398 }(_react2.default.Component);
4399
4400 var _initialiseProps = function _initialiseProps() {
4401 var _this2 = this;
4402
4403 this.startMonitorWindowResize = function () {
4404 if (!_this2.resizeHandler) {
4405 _this2.bufferMonitor = buffer(_this2.forceAlign, _this2.props.monitorBufferTime);
4406 _this2.resizeHandler = (0, _addEventListener2.default)(window, 'resize', _this2.bufferMonitor);
4407 }
4408 };
4409
4410 this.stopMonitorWindowResize = function () {
4411 if (_this2.resizeHandler) {
4412 _this2.bufferMonitor.clear();
4413 _this2.resizeHandler.remove();
4414 _this2.resizeHandler = null;
4415 }
4416 };
4417
4418 this.forceAlign = function () {
4419 var props = _this2.props;
4420 if (!props.disabled) {
4421 var source = _reactDom2.default.findDOMNode(_this2);
4422 props.onAlign(source, (0, _domAlign2.default)(source, props.target(), props.align));
4423 }
4424 };
4425 };
4426
4427 ;
4428
4429 Align.defaultProps = defaultProps;
4430 Align.propTypes = propTypes;
4431
4432 exports.default = Align;
4433
4434/***/ }),
4435/* 51 */
4436/***/ (function(module, exports, __webpack_require__) {
4437
4438 'use strict';
4439
4440 Object.defineProperty(exports, "__esModule", {
4441 value: true
4442 });
4443 exports.alignPoint = exports.alignElement = undefined;
4444
4445 var _alignElement = __webpack_require__(52);
4446
4447 var _alignElement2 = _interopRequireDefault(_alignElement);
4448
4449 var _alignPoint = __webpack_require__(63);
4450
4451 var _alignPoint2 = _interopRequireDefault(_alignPoint);
4452
4453 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
4454
4455 exports.alignElement = _alignElement2['default'];
4456 exports.alignPoint = _alignPoint2['default'];
4457 exports['default'] = _alignElement2['default'];
4458
4459/***/ }),
4460/* 52 */
4461/***/ (function(module, exports, __webpack_require__) {
4462
4463 'use strict';
4464
4465 Object.defineProperty(exports, "__esModule", {
4466 value: true
4467 });
4468
4469 var _align = __webpack_require__(53);
4470
4471 var _align2 = _interopRequireDefault(_align);
4472
4473 var _getOffsetParent = __webpack_require__(57);
4474
4475 var _getOffsetParent2 = _interopRequireDefault(_getOffsetParent);
4476
4477 var _getVisibleRectForElement = __webpack_require__(56);
4478
4479 var _getVisibleRectForElement2 = _interopRequireDefault(_getVisibleRectForElement);
4480
4481 var _getRegion = __webpack_require__(60);
4482
4483 var _getRegion2 = _interopRequireDefault(_getRegion);
4484
4485 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
4486
4487 function isOutOfVisibleRect(target) {
4488 var visibleRect = (0, _getVisibleRectForElement2['default'])(target);
4489 var targetRegion = (0, _getRegion2['default'])(target);
4490
4491 return !visibleRect || targetRegion.left + targetRegion.width <= visibleRect.left || targetRegion.top + targetRegion.height <= visibleRect.top || targetRegion.left >= visibleRect.right || targetRegion.top >= visibleRect.bottom;
4492 }
4493
4494 function alignElement(el, refNode, align) {
4495 var target = align.target || refNode;
4496 var refNodeRegion = (0, _getRegion2['default'])(target);
4497
4498 var isTargetNotOutOfVisible = !isOutOfVisibleRect(target);
4499
4500 return (0, _align2['default'])(el, refNodeRegion, align, isTargetNotOutOfVisible);
4501 }
4502
4503 alignElement.__getOffsetParent = _getOffsetParent2['default'];
4504
4505 alignElement.__getVisibleRectForElement = _getVisibleRectForElement2['default'];
4506
4507 exports['default'] = alignElement;
4508 module.exports = exports['default'];
4509
4510/***/ }),
4511/* 53 */
4512/***/ (function(module, exports, __webpack_require__) {
4513
4514 'use strict';
4515
4516 Object.defineProperty(exports, "__esModule", {
4517 value: true
4518 });
4519
4520 var _utils = __webpack_require__(54);
4521
4522 var _utils2 = _interopRequireDefault(_utils);
4523
4524 var _getVisibleRectForElement = __webpack_require__(56);
4525
4526 var _getVisibleRectForElement2 = _interopRequireDefault(_getVisibleRectForElement);
4527
4528 var _adjustForViewport = __webpack_require__(59);
4529
4530 var _adjustForViewport2 = _interopRequireDefault(_adjustForViewport);
4531
4532 var _getRegion = __webpack_require__(60);
4533
4534 var _getRegion2 = _interopRequireDefault(_getRegion);
4535
4536 var _getElFuturePos = __webpack_require__(61);
4537
4538 var _getElFuturePos2 = _interopRequireDefault(_getElFuturePos);
4539
4540 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
4541
4542 // http://yiminghe.iteye.com/blog/1124720
4543
4544 function isFailX(elFuturePos, elRegion, visibleRect) {
4545 return elFuturePos.left < visibleRect.left || elFuturePos.left + elRegion.width > visibleRect.right;
4546 } /**
4547 * align dom node flexibly
4548 * @author yiminghe@gmail.com
4549 */
4550
4551 function isFailY(elFuturePos, elRegion, visibleRect) {
4552 return elFuturePos.top < visibleRect.top || elFuturePos.top + elRegion.height > visibleRect.bottom;
4553 }
4554
4555 function isCompleteFailX(elFuturePos, elRegion, visibleRect) {
4556 return elFuturePos.left > visibleRect.right || elFuturePos.left + elRegion.width < visibleRect.left;
4557 }
4558
4559 function isCompleteFailY(elFuturePos, elRegion, visibleRect) {
4560 return elFuturePos.top > visibleRect.bottom || elFuturePos.top + elRegion.height < visibleRect.top;
4561 }
4562
4563 function flip(points, reg, map) {
4564 var ret = [];
4565 _utils2['default'].each(points, function (p) {
4566 ret.push(p.replace(reg, function (m) {
4567 return map[m];
4568 }));
4569 });
4570 return ret;
4571 }
4572
4573 function flipOffset(offset, index) {
4574 offset[index] = -offset[index];
4575 return offset;
4576 }
4577
4578 function convertOffset(str, offsetLen) {
4579 var n = void 0;
4580 if (/%$/.test(str)) {
4581 n = parseInt(str.substring(0, str.length - 1), 10) / 100 * offsetLen;
4582 } else {
4583 n = parseInt(str, 10);
4584 }
4585 return n || 0;
4586 }
4587
4588 function normalizeOffset(offset, el) {
4589 offset[0] = convertOffset(offset[0], el.width);
4590 offset[1] = convertOffset(offset[1], el.height);
4591 }
4592
4593 /**
4594 * @param el
4595 * @param tgtRegion 参照节点所占的区域: { left, top, width, height }
4596 * @param align
4597 */
4598 function doAlign(el, tgtRegion, align, isTgtRegionVisible) {
4599 var points = align.points;
4600 var offset = align.offset || [0, 0];
4601 var targetOffset = align.targetOffset || [0, 0];
4602 var overflow = align.overflow;
4603 var source = align.source || el;
4604 offset = [].concat(offset);
4605 targetOffset = [].concat(targetOffset);
4606 overflow = overflow || {};
4607 var newOverflowCfg = {};
4608 var fail = 0;
4609 // 当前节点可以被放置的显示区域
4610 var visibleRect = (0, _getVisibleRectForElement2['default'])(source);
4611 // 当前节点所占的区域, left/top/width/height
4612 var elRegion = (0, _getRegion2['default'])(source);
4613 // 将 offset 转换成数值,支持百分比
4614 normalizeOffset(offset, elRegion);
4615 normalizeOffset(targetOffset, tgtRegion);
4616 // 当前节点将要被放置的位置
4617 var elFuturePos = (0, _getElFuturePos2['default'])(elRegion, tgtRegion, points, offset, targetOffset);
4618 // 当前节点将要所处的区域
4619 var newElRegion = _utils2['default'].merge(elRegion, elFuturePos);
4620
4621 // 如果可视区域不能完全放置当前节点时允许调整
4622 if (visibleRect && (overflow.adjustX || overflow.adjustY) && isTgtRegionVisible) {
4623 if (overflow.adjustX) {
4624 // 如果横向不能放下
4625 if (isFailX(elFuturePos, elRegion, visibleRect)) {
4626 // 对齐位置反下
4627 var newPoints = flip(points, /[lr]/ig, {
4628 l: 'r',
4629 r: 'l'
4630 });
4631 // 偏移量也反下
4632 var newOffset = flipOffset(offset, 0);
4633 var newTargetOffset = flipOffset(targetOffset, 0);
4634 var newElFuturePos = (0, _getElFuturePos2['default'])(elRegion, tgtRegion, newPoints, newOffset, newTargetOffset);
4635
4636 if (!isCompleteFailX(newElFuturePos, elRegion, visibleRect)) {
4637 fail = 1;
4638 points = newPoints;
4639 offset = newOffset;
4640 targetOffset = newTargetOffset;
4641 }
4642 }
4643 }
4644
4645 if (overflow.adjustY) {
4646 // 如果纵向不能放下
4647 if (isFailY(elFuturePos, elRegion, visibleRect)) {
4648 // 对齐位置反下
4649 var _newPoints = flip(points, /[tb]/ig, {
4650 t: 'b',
4651 b: 't'
4652 });
4653 // 偏移量也反下
4654 var _newOffset = flipOffset(offset, 1);
4655 var _newTargetOffset = flipOffset(targetOffset, 1);
4656 var _newElFuturePos = (0, _getElFuturePos2['default'])(elRegion, tgtRegion, _newPoints, _newOffset, _newTargetOffset);
4657
4658 if (!isCompleteFailY(_newElFuturePos, elRegion, visibleRect)) {
4659 fail = 1;
4660 points = _newPoints;
4661 offset = _newOffset;
4662 targetOffset = _newTargetOffset;
4663 }
4664 }
4665 }
4666
4667 // 如果失败,重新计算当前节点将要被放置的位置
4668 if (fail) {
4669 elFuturePos = (0, _getElFuturePos2['default'])(elRegion, tgtRegion, points, offset, targetOffset);
4670 _utils2['default'].mix(newElRegion, elFuturePos);
4671 }
4672 var isStillFailX = isFailX(elFuturePos, elRegion, visibleRect);
4673 var isStillFailY = isFailY(elFuturePos, elRegion, visibleRect);
4674 // 检查反下后的位置是否可以放下了,如果仍然放不下:
4675 // 1. 复原修改过的定位参数
4676 if (isStillFailX || isStillFailY) {
4677 points = align.points;
4678 offset = align.offset || [0, 0];
4679 targetOffset = align.targetOffset || [0, 0];
4680 }
4681 // 2. 只有指定了可以调整当前方向才调整
4682 newOverflowCfg.adjustX = overflow.adjustX && isStillFailX;
4683 newOverflowCfg.adjustY = overflow.adjustY && isStillFailY;
4684
4685 // 确实要调整,甚至可能会调整高度宽度
4686 if (newOverflowCfg.adjustX || newOverflowCfg.adjustY) {
4687 newElRegion = (0, _adjustForViewport2['default'])(elFuturePos, elRegion, visibleRect, newOverflowCfg);
4688 }
4689 }
4690
4691 // need judge to in case set fixed with in css on height auto element
4692 if (newElRegion.width !== elRegion.width) {
4693 _utils2['default'].css(source, 'width', _utils2['default'].width(source) + newElRegion.width - elRegion.width);
4694 }
4695
4696 if (newElRegion.height !== elRegion.height) {
4697 _utils2['default'].css(source, 'height', _utils2['default'].height(source) + newElRegion.height - elRegion.height);
4698 }
4699
4700 // https://github.com/kissyteam/kissy/issues/190
4701 // 相对于屏幕位置没变,而 left/top 变了
4702 // 例如 <div 'relative'><el absolute></div>
4703 _utils2['default'].offset(source, {
4704 left: newElRegion.left,
4705 top: newElRegion.top
4706 }, {
4707 useCssRight: align.useCssRight,
4708 useCssBottom: align.useCssBottom,
4709 useCssTransform: align.useCssTransform,
4710 ignoreShake: align.ignoreShake
4711 });
4712
4713 return {
4714 points: points,
4715 offset: offset,
4716 targetOffset: targetOffset,
4717 overflow: newOverflowCfg
4718 };
4719 }
4720
4721 exports['default'] = doAlign;
4722 /**
4723 * 2012-04-26 yiminghe@gmail.com
4724 * - 优化智能对齐算法
4725 * - 慎用 resizeXX
4726 *
4727 * 2011-07-13 yiminghe@gmail.com note:
4728 * - 增加智能对齐,以及大小调整选项
4729 **/
4730
4731 module.exports = exports['default'];
4732
4733/***/ }),
4734/* 54 */
4735/***/ (function(module, exports, __webpack_require__) {
4736
4737 'use strict';
4738
4739 Object.defineProperty(exports, "__esModule", {
4740 value: true
4741 });
4742
4743 var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
4744
4745 var _propertyUtils = __webpack_require__(55);
4746
4747 var RE_NUM = /[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source;
4748
4749 var getComputedStyleX = void 0;
4750
4751 // https://stackoverflow.com/a/3485654/3040605
4752 function forceRelayout(elem) {
4753 var originalStyle = elem.style.display;
4754 elem.style.display = 'none';
4755 elem.offsetHeight; // eslint-disable-line
4756 elem.style.display = originalStyle;
4757 }
4758
4759 function css(el, name, v) {
4760 var value = v;
4761 if ((typeof name === 'undefined' ? 'undefined' : _typeof(name)) === 'object') {
4762 for (var i in name) {
4763 if (name.hasOwnProperty(i)) {
4764 css(el, i, name[i]);
4765 }
4766 }
4767 return undefined;
4768 }
4769 if (typeof value !== 'undefined') {
4770 if (typeof value === 'number') {
4771 value = value + 'px';
4772 }
4773 el.style[name] = value;
4774 return undefined;
4775 }
4776 return getComputedStyleX(el, name);
4777 }
4778
4779 function getClientPosition(elem) {
4780 var box = void 0;
4781 var x = void 0;
4782 var y = void 0;
4783 var doc = elem.ownerDocument;
4784 var body = doc.body;
4785 var docElem = doc && doc.documentElement;
4786 // 根据 GBS 最新数据,A-Grade Browsers 都已支持 getBoundingClientRect 方法,不用再考虑传统的实现方式
4787 box = elem.getBoundingClientRect();
4788
4789 // 注:jQuery 还考虑减去 docElem.clientLeft/clientTop
4790 // 但测试发现,这样反而会导致当 html 和 body 有边距/边框样式时,获取的值不正确
4791 // 此外,ie6 会忽略 html 的 margin 值,幸运地是没有谁会去设置 html 的 margin
4792
4793 x = box.left;
4794 y = box.top;
4795
4796 // In IE, most of the time, 2 extra pixels are added to the top and left
4797 // due to the implicit 2-pixel inset border. In IE6/7 quirks mode and
4798 // IE6 standards mode, this border can be overridden by setting the
4799 // document element's border to zero -- thus, we cannot rely on the
4800 // offset always being 2 pixels.
4801
4802 // In quirks mode, the offset can be determined by querying the body's
4803 // clientLeft/clientTop, but in standards mode, it is found by querying
4804 // the document element's clientLeft/clientTop. Since we already called
4805 // getClientBoundingRect we have already forced a reflow, so it is not
4806 // too expensive just to query them all.
4807
4808 // ie 下应该减去窗口的边框吧,毕竟默认 absolute 都是相对窗口定位的
4809 // 窗口边框标准是设 documentElement ,quirks 时设置 body
4810 // 最好禁止在 body 和 html 上边框 ,但 ie < 9 html 默认有 2px ,减去
4811 // 但是非 ie 不可能设置窗口边框,body html 也不是窗口 ,ie 可以通过 html,body 设置
4812 // 标准 ie 下 docElem.clientTop 就是 border-top
4813 // ie7 html 即窗口边框改变不了。永远为 2
4814 // 但标准 firefox/chrome/ie9 下 docElem.clientTop 是窗口边框,即使设了 border-top 也为 0
4815
4816 x -= docElem.clientLeft || body.clientLeft || 0;
4817 y -= docElem.clientTop || body.clientTop || 0;
4818
4819 return {
4820 left: x,
4821 top: y
4822 };
4823 }
4824
4825 function getScroll(w, top) {
4826 var ret = w['page' + (top ? 'Y' : 'X') + 'Offset'];
4827 var method = 'scroll' + (top ? 'Top' : 'Left');
4828 if (typeof ret !== 'number') {
4829 var d = w.document;
4830 // ie6,7,8 standard mode
4831 ret = d.documentElement[method];
4832 if (typeof ret !== 'number') {
4833 // quirks mode
4834 ret = d.body[method];
4835 }
4836 }
4837 return ret;
4838 }
4839
4840 function getScrollLeft(w) {
4841 return getScroll(w);
4842 }
4843
4844 function getScrollTop(w) {
4845 return getScroll(w, true);
4846 }
4847
4848 function getOffset(el) {
4849 var pos = getClientPosition(el);
4850 var doc = el.ownerDocument;
4851 var w = doc.defaultView || doc.parentWindow;
4852 pos.left += getScrollLeft(w);
4853 pos.top += getScrollTop(w);
4854 return pos;
4855 }
4856
4857 /**
4858 * A crude way of determining if an object is a window
4859 * @member util
4860 */
4861 function isWindow(obj) {
4862 // must use == for ie8
4863 /* eslint eqeqeq:0 */
4864 return obj !== null && obj !== undefined && obj == obj.window;
4865 }
4866
4867 function getDocument(node) {
4868 if (isWindow(node)) {
4869 return node.document;
4870 }
4871 if (node.nodeType === 9) {
4872 return node;
4873 }
4874 return node.ownerDocument;
4875 }
4876
4877 function _getComputedStyle(elem, name, cs) {
4878 var computedStyle = cs;
4879 var val = '';
4880 var d = getDocument(elem);
4881 computedStyle = computedStyle || d.defaultView.getComputedStyle(elem, null);
4882
4883 // https://github.com/kissyteam/kissy/issues/61
4884 if (computedStyle) {
4885 val = computedStyle.getPropertyValue(name) || computedStyle[name];
4886 }
4887
4888 return val;
4889 }
4890
4891 var _RE_NUM_NO_PX = new RegExp('^(' + RE_NUM + ')(?!px)[a-z%]+$', 'i');
4892 var RE_POS = /^(top|right|bottom|left)$/;
4893 var CURRENT_STYLE = 'currentStyle';
4894 var RUNTIME_STYLE = 'runtimeStyle';
4895 var LEFT = 'left';
4896 var PX = 'px';
4897
4898 function _getComputedStyleIE(elem, name) {
4899 // currentStyle maybe null
4900 // http://msdn.microsoft.com/en-us/library/ms535231.aspx
4901 var ret = elem[CURRENT_STYLE] && elem[CURRENT_STYLE][name];
4902
4903 // 当 width/height 设置为百分比时,通过 pixelLeft 方式转换的 width/height 值
4904 // 一开始就处理了! CUSTOM_STYLE.height,CUSTOM_STYLE.width ,cssHook 解决@2011-08-19
4905 // 在 ie 下不对,需要直接用 offset 方式
4906 // borderWidth 等值也有问题,但考虑到 borderWidth 设为百分比的概率很小,这里就不考虑了
4907
4908 // From the awesome hack by Dean Edwards
4909 // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291
4910 // If we're not dealing with a regular pixel number
4911 // but a number that has a weird ending, we need to convert it to pixels
4912 // exclude left right for relativity
4913 if (_RE_NUM_NO_PX.test(ret) && !RE_POS.test(name)) {
4914 // Remember the original values
4915 var style = elem.style;
4916 var left = style[LEFT];
4917 var rsLeft = elem[RUNTIME_STYLE][LEFT];
4918
4919 // prevent flashing of content
4920 elem[RUNTIME_STYLE][LEFT] = elem[CURRENT_STYLE][LEFT];
4921
4922 // Put in the new values to get a computed value out
4923 style[LEFT] = name === 'fontSize' ? '1em' : ret || 0;
4924 ret = style.pixelLeft + PX;
4925
4926 // Revert the changed values
4927 style[LEFT] = left;
4928
4929 elem[RUNTIME_STYLE][LEFT] = rsLeft;
4930 }
4931 return ret === '' ? 'auto' : ret;
4932 }
4933
4934 if (typeof window !== 'undefined') {
4935 getComputedStyleX = window.getComputedStyle ? _getComputedStyle : _getComputedStyleIE;
4936 }
4937
4938 function getOffsetDirection(dir, option) {
4939 if (dir === 'left') {
4940 return option.useCssRight ? 'right' : dir;
4941 }
4942 return option.useCssBottom ? 'bottom' : dir;
4943 }
4944
4945 function oppositeOffsetDirection(dir) {
4946 if (dir === 'left') {
4947 return 'right';
4948 } else if (dir === 'right') {
4949 return 'left';
4950 } else if (dir === 'top') {
4951 return 'bottom';
4952 } else if (dir === 'bottom') {
4953 return 'top';
4954 }
4955 }
4956
4957 // 设置 elem 相对 elem.ownerDocument 的坐标
4958 function setLeftTop(elem, offset, option) {
4959 // set position first, in-case top/left are set even on static elem
4960 if (css(elem, 'position') === 'static') {
4961 elem.style.position = 'relative';
4962 }
4963 var presetH = -999;
4964 var presetV = -999;
4965 var horizontalProperty = getOffsetDirection('left', option);
4966 var verticalProperty = getOffsetDirection('top', option);
4967 var oppositeHorizontalProperty = oppositeOffsetDirection(horizontalProperty);
4968 var oppositeVerticalProperty = oppositeOffsetDirection(verticalProperty);
4969
4970 if (horizontalProperty !== 'left') {
4971 presetH = 999;
4972 }
4973
4974 if (verticalProperty !== 'top') {
4975 presetV = 999;
4976 }
4977 var originalTransition = '';
4978 var originalOffset = getOffset(elem);
4979 if ('left' in offset || 'top' in offset) {
4980 originalTransition = (0, _propertyUtils.getTransitionProperty)(elem) || '';
4981 (0, _propertyUtils.setTransitionProperty)(elem, 'none');
4982 }
4983 if ('left' in offset) {
4984 elem.style[oppositeHorizontalProperty] = '';
4985 elem.style[horizontalProperty] = presetH + 'px';
4986 }
4987 if ('top' in offset) {
4988 elem.style[oppositeVerticalProperty] = '';
4989 elem.style[verticalProperty] = presetV + 'px';
4990 }
4991 // force relayout
4992 forceRelayout(elem);
4993 var old = getOffset(elem);
4994 var originalStyle = {};
4995 for (var key in offset) {
4996 if (offset.hasOwnProperty(key)) {
4997 var dir = getOffsetDirection(key, option);
4998 var preset = key === 'left' ? presetH : presetV;
4999 var off = originalOffset[key] - old[key];
5000 if (dir === key) {
5001 originalStyle[dir] = preset + off;
5002 } else {
5003 originalStyle[dir] = preset - off;
5004 }
5005 }
5006 }
5007 css(elem, originalStyle);
5008 // force relayout
5009 forceRelayout(elem);
5010 if ('left' in offset || 'top' in offset) {
5011 (0, _propertyUtils.setTransitionProperty)(elem, originalTransition);
5012 }
5013 var ret = {};
5014 for (var _key in offset) {
5015 if (offset.hasOwnProperty(_key)) {
5016 var _dir = getOffsetDirection(_key, option);
5017 var _off = offset[_key] - originalOffset[_key];
5018 if (_key === _dir) {
5019 ret[_dir] = originalStyle[_dir] + _off;
5020 } else {
5021 ret[_dir] = originalStyle[_dir] - _off;
5022 }
5023 }
5024 }
5025 css(elem, ret);
5026 }
5027
5028 function setTransform(elem, offset) {
5029 var originalOffset = getOffset(elem);
5030 var originalXY = (0, _propertyUtils.getTransformXY)(elem);
5031 var resultXY = { x: originalXY.x, y: originalXY.y };
5032 if ('left' in offset) {
5033 resultXY.x = originalXY.x + offset.left - originalOffset.left;
5034 }
5035 if ('top' in offset) {
5036 resultXY.y = originalXY.y + offset.top - originalOffset.top;
5037 }
5038 (0, _propertyUtils.setTransformXY)(elem, resultXY);
5039 }
5040
5041 function setOffset(elem, offset, option) {
5042 if (option.ignoreShake) {
5043 var oriOffset = getOffset(elem);
5044
5045 var oLeft = oriOffset.left.toFixed(0);
5046 var oTop = oriOffset.top.toFixed(0);
5047 var tLeft = offset.left.toFixed(0);
5048 var tTop = offset.top.toFixed(0);
5049
5050 if (oLeft === tLeft && oTop === tTop) {
5051 return;
5052 }
5053 }
5054
5055 if (option.useCssRight || option.useCssBottom) {
5056 setLeftTop(elem, offset, option);
5057 } else if (option.useCssTransform && (0, _propertyUtils.getTransformName)() in document.body.style) {
5058 setTransform(elem, offset, option);
5059 } else {
5060 setLeftTop(elem, offset, option);
5061 }
5062 }
5063
5064 function each(arr, fn) {
5065 for (var i = 0; i < arr.length; i++) {
5066 fn(arr[i]);
5067 }
5068 }
5069
5070 function isBorderBoxFn(elem) {
5071 return getComputedStyleX(elem, 'boxSizing') === 'border-box';
5072 }
5073
5074 var BOX_MODELS = ['margin', 'border', 'padding'];
5075 var CONTENT_INDEX = -1;
5076 var PADDING_INDEX = 2;
5077 var BORDER_INDEX = 1;
5078 var MARGIN_INDEX = 0;
5079
5080 function swap(elem, options, callback) {
5081 var old = {};
5082 var style = elem.style;
5083 var name = void 0;
5084
5085 // Remember the old values, and insert the new ones
5086 for (name in options) {
5087 if (options.hasOwnProperty(name)) {
5088 old[name] = style[name];
5089 style[name] = options[name];
5090 }
5091 }
5092
5093 callback.call(elem);
5094
5095 // Revert the old values
5096 for (name in options) {
5097 if (options.hasOwnProperty(name)) {
5098 style[name] = old[name];
5099 }
5100 }
5101 }
5102
5103 function getPBMWidth(elem, props, which) {
5104 var value = 0;
5105 var prop = void 0;
5106 var j = void 0;
5107 var i = void 0;
5108 for (j = 0; j < props.length; j++) {
5109 prop = props[j];
5110 if (prop) {
5111 for (i = 0; i < which.length; i++) {
5112 var cssProp = void 0;
5113 if (prop === 'border') {
5114 cssProp = '' + prop + which[i] + 'Width';
5115 } else {
5116 cssProp = prop + which[i];
5117 }
5118 value += parseFloat(getComputedStyleX(elem, cssProp)) || 0;
5119 }
5120 }
5121 }
5122 return value;
5123 }
5124
5125 var domUtils = {};
5126
5127 each(['Width', 'Height'], function (name) {
5128 domUtils['doc' + name] = function (refWin) {
5129 var d = refWin.document;
5130 return Math.max(
5131 // firefox chrome documentElement.scrollHeight< body.scrollHeight
5132 // ie standard mode : documentElement.scrollHeight> body.scrollHeight
5133 d.documentElement['scroll' + name],
5134 // quirks : documentElement.scrollHeight 最大等于可视窗口多一点?
5135 d.body['scroll' + name], domUtils['viewport' + name](d));
5136 };
5137
5138 domUtils['viewport' + name] = function (win) {
5139 // pc browser includes scrollbar in window.innerWidth
5140 var prop = 'client' + name;
5141 var doc = win.document;
5142 var body = doc.body;
5143 var documentElement = doc.documentElement;
5144 var documentElementProp = documentElement[prop];
5145 // 标准模式取 documentElement
5146 // backcompat 取 body
5147 return doc.compatMode === 'CSS1Compat' && documentElementProp || body && body[prop] || documentElementProp;
5148 };
5149 });
5150
5151 /*
5152 得到元素的大小信息
5153 @param elem
5154 @param name
5155 @param {String} [extra] 'padding' : (css width) + padding
5156 'border' : (css width) + padding + border
5157 'margin' : (css width) + padding + border + margin
5158 */
5159 function getWH(elem, name, ex) {
5160 var extra = ex;
5161 if (isWindow(elem)) {
5162 return name === 'width' ? domUtils.viewportWidth(elem) : domUtils.viewportHeight(elem);
5163 } else if (elem.nodeType === 9) {
5164 return name === 'width' ? domUtils.docWidth(elem) : domUtils.docHeight(elem);
5165 }
5166 var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];
5167 var borderBoxValue = name === 'width' ? elem.getBoundingClientRect().width : elem.getBoundingClientRect().height;
5168 var computedStyle = getComputedStyleX(elem);
5169 var isBorderBox = isBorderBoxFn(elem, computedStyle);
5170 var cssBoxValue = 0;
5171 if (borderBoxValue === null || borderBoxValue === undefined || borderBoxValue <= 0) {
5172 borderBoxValue = undefined;
5173 // Fall back to computed then un computed css if necessary
5174 cssBoxValue = getComputedStyleX(elem, name);
5175 if (cssBoxValue === null || cssBoxValue === undefined || Number(cssBoxValue) < 0) {
5176 cssBoxValue = elem.style[name] || 0;
5177 }
5178 // Normalize '', auto, and prepare for extra
5179 cssBoxValue = parseFloat(cssBoxValue) || 0;
5180 }
5181 if (extra === undefined) {
5182 extra = isBorderBox ? BORDER_INDEX : CONTENT_INDEX;
5183 }
5184 var borderBoxValueOrIsBorderBox = borderBoxValue !== undefined || isBorderBox;
5185 var val = borderBoxValue || cssBoxValue;
5186 if (extra === CONTENT_INDEX) {
5187 if (borderBoxValueOrIsBorderBox) {
5188 return val - getPBMWidth(elem, ['border', 'padding'], which, computedStyle);
5189 }
5190 return cssBoxValue;
5191 } else if (borderBoxValueOrIsBorderBox) {
5192 if (extra === BORDER_INDEX) {
5193 return val;
5194 }
5195 return val + (extra === PADDING_INDEX ? -getPBMWidth(elem, ['border'], which, computedStyle) : getPBMWidth(elem, ['margin'], which, computedStyle));
5196 }
5197 return cssBoxValue + getPBMWidth(elem, BOX_MODELS.slice(extra), which, computedStyle);
5198 }
5199
5200 var cssShow = {
5201 position: 'absolute',
5202 visibility: 'hidden',
5203 display: 'block'
5204 };
5205
5206 // fix #119 : https://github.com/kissyteam/kissy/issues/119
5207 function getWHIgnoreDisplay() {
5208 for (var _len = arguments.length, args = Array(_len), _key2 = 0; _key2 < _len; _key2++) {
5209 args[_key2] = arguments[_key2];
5210 }
5211
5212 var val = void 0;
5213 var elem = args[0];
5214 // in case elem is window
5215 // elem.offsetWidth === undefined
5216 if (elem.offsetWidth !== 0) {
5217 val = getWH.apply(undefined, args);
5218 } else {
5219 swap(elem, cssShow, function () {
5220 val = getWH.apply(undefined, args);
5221 });
5222 }
5223 return val;
5224 }
5225
5226 each(['width', 'height'], function (name) {
5227 var first = name.charAt(0).toUpperCase() + name.slice(1);
5228 domUtils['outer' + first] = function (el, includeMargin) {
5229 return el && getWHIgnoreDisplay(el, name, includeMargin ? MARGIN_INDEX : BORDER_INDEX);
5230 };
5231 var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];
5232
5233 domUtils[name] = function (elem, v) {
5234 var val = v;
5235 if (val !== undefined) {
5236 if (elem) {
5237 var computedStyle = getComputedStyleX(elem);
5238 var isBorderBox = isBorderBoxFn(elem);
5239 if (isBorderBox) {
5240 val += getPBMWidth(elem, ['padding', 'border'], which, computedStyle);
5241 }
5242 return css(elem, name, val);
5243 }
5244 return undefined;
5245 }
5246 return elem && getWHIgnoreDisplay(elem, name, CONTENT_INDEX);
5247 };
5248 });
5249
5250 function mix(to, from) {
5251 for (var i in from) {
5252 if (from.hasOwnProperty(i)) {
5253 to[i] = from[i];
5254 }
5255 }
5256 return to;
5257 }
5258
5259 var utils = {
5260 getWindow: function getWindow(node) {
5261 if (node && node.document && node.setTimeout) {
5262 return node;
5263 }
5264 var doc = node.ownerDocument || node;
5265 return doc.defaultView || doc.parentWindow;
5266 },
5267
5268 getDocument: getDocument,
5269 offset: function offset(el, value, option) {
5270 if (typeof value !== 'undefined') {
5271 setOffset(el, value, option || {});
5272 } else {
5273 return getOffset(el);
5274 }
5275 },
5276
5277 isWindow: isWindow,
5278 each: each,
5279 css: css,
5280 clone: function clone(obj) {
5281 var i = void 0;
5282 var ret = {};
5283 for (i in obj) {
5284 if (obj.hasOwnProperty(i)) {
5285 ret[i] = obj[i];
5286 }
5287 }
5288 var overflow = obj.overflow;
5289 if (overflow) {
5290 for (i in obj) {
5291 if (obj.hasOwnProperty(i)) {
5292 ret.overflow[i] = obj.overflow[i];
5293 }
5294 }
5295 }
5296 return ret;
5297 },
5298
5299 mix: mix,
5300 getWindowScrollLeft: function getWindowScrollLeft(w) {
5301 return getScrollLeft(w);
5302 },
5303 getWindowScrollTop: function getWindowScrollTop(w) {
5304 return getScrollTop(w);
5305 },
5306 merge: function merge() {
5307 var ret = {};
5308
5309 for (var _len2 = arguments.length, args = Array(_len2), _key3 = 0; _key3 < _len2; _key3++) {
5310 args[_key3] = arguments[_key3];
5311 }
5312
5313 for (var i = 0; i < args.length; i++) {
5314 utils.mix(ret, args[i]);
5315 }
5316 return ret;
5317 },
5318
5319 viewportWidth: 0,
5320 viewportHeight: 0
5321 };
5322
5323 mix(utils, domUtils);
5324
5325 exports['default'] = utils;
5326 module.exports = exports['default'];
5327
5328/***/ }),
5329/* 55 */
5330/***/ (function(module, exports) {
5331
5332 'use strict';
5333
5334 Object.defineProperty(exports, "__esModule", {
5335 value: true
5336 });
5337 exports.getTransformName = getTransformName;
5338 exports.setTransitionProperty = setTransitionProperty;
5339 exports.getTransitionProperty = getTransitionProperty;
5340 exports.getTransformXY = getTransformXY;
5341 exports.setTransformXY = setTransformXY;
5342 var vendorPrefix = void 0;
5343
5344 var jsCssMap = {
5345 Webkit: '-webkit-',
5346 Moz: '-moz-',
5347 // IE did it wrong again ...
5348 ms: '-ms-',
5349 O: '-o-'
5350 };
5351
5352 function getVendorPrefix() {
5353 if (vendorPrefix !== undefined) {
5354 return vendorPrefix;
5355 }
5356 vendorPrefix = '';
5357 var style = document.createElement('p').style;
5358 var testProp = 'Transform';
5359 for (var key in jsCssMap) {
5360 if (key + testProp in style) {
5361 vendorPrefix = key;
5362 }
5363 }
5364 return vendorPrefix;
5365 }
5366
5367 function getTransitionName() {
5368 return getVendorPrefix() ? getVendorPrefix() + 'TransitionProperty' : 'transitionProperty';
5369 }
5370
5371 function getTransformName() {
5372 return getVendorPrefix() ? getVendorPrefix() + 'Transform' : 'transform';
5373 }
5374
5375 function setTransitionProperty(node, value) {
5376 var name = getTransitionName();
5377 if (name) {
5378 node.style[name] = value;
5379 if (name !== 'transitionProperty') {
5380 node.style.transitionProperty = value;
5381 }
5382 }
5383 }
5384
5385 function setTransform(node, value) {
5386 var name = getTransformName();
5387 if (name) {
5388 node.style[name] = value;
5389 if (name !== 'transform') {
5390 node.style.transform = value;
5391 }
5392 }
5393 }
5394
5395 function getTransitionProperty(node) {
5396 return node.style.transitionProperty || node.style[getTransitionName()];
5397 }
5398
5399 function getTransformXY(node) {
5400 var style = window.getComputedStyle(node, null);
5401 var transform = style.getPropertyValue('transform') || style.getPropertyValue(getTransformName());
5402 if (transform && transform !== 'none') {
5403 var matrix = transform.replace(/[^0-9\-.,]/g, '').split(',');
5404 return { x: parseFloat(matrix[12] || matrix[4], 0), y: parseFloat(matrix[13] || matrix[5], 0) };
5405 }
5406 return {
5407 x: 0,
5408 y: 0
5409 };
5410 }
5411
5412 var matrix2d = /matrix\((.*)\)/;
5413 var matrix3d = /matrix3d\((.*)\)/;
5414
5415 function setTransformXY(node, xy) {
5416 var style = window.getComputedStyle(node, null);
5417 var transform = style.getPropertyValue('transform') || style.getPropertyValue(getTransformName());
5418 if (transform && transform !== 'none') {
5419 var arr = void 0;
5420 var match2d = transform.match(matrix2d);
5421 if (match2d) {
5422 match2d = match2d[1];
5423 arr = match2d.split(',').map(function (item) {
5424 return parseFloat(item, 10);
5425 });
5426 arr[4] = xy.x;
5427 arr[5] = xy.y;
5428 setTransform(node, 'matrix(' + arr.join(',') + ')');
5429 } else {
5430 var match3d = transform.match(matrix3d)[1];
5431 arr = match3d.split(',').map(function (item) {
5432 return parseFloat(item, 10);
5433 });
5434 arr[12] = xy.x;
5435 arr[13] = xy.y;
5436 setTransform(node, 'matrix3d(' + arr.join(',') + ')');
5437 }
5438 } else {
5439 setTransform(node, 'translateX(' + xy.x + 'px) translateY(' + xy.y + 'px) translateZ(0)');
5440 }
5441 }
5442
5443/***/ }),
5444/* 56 */
5445/***/ (function(module, exports, __webpack_require__) {
5446
5447 'use strict';
5448
5449 Object.defineProperty(exports, "__esModule", {
5450 value: true
5451 });
5452
5453 var _utils = __webpack_require__(54);
5454
5455 var _utils2 = _interopRequireDefault(_utils);
5456
5457 var _getOffsetParent = __webpack_require__(57);
5458
5459 var _getOffsetParent2 = _interopRequireDefault(_getOffsetParent);
5460
5461 var _isAncestorFixed = __webpack_require__(58);
5462
5463 var _isAncestorFixed2 = _interopRequireDefault(_isAncestorFixed);
5464
5465 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
5466
5467 /**
5468 * 获得元素的显示部分的区域
5469 */
5470 function getVisibleRectForElement(element) {
5471 var visibleRect = {
5472 left: 0,
5473 right: Infinity,
5474 top: 0,
5475 bottom: Infinity
5476 };
5477 var el = (0, _getOffsetParent2['default'])(element);
5478 var doc = _utils2['default'].getDocument(element);
5479 var win = doc.defaultView || doc.parentWindow;
5480 var body = doc.body;
5481 var documentElement = doc.documentElement;
5482
5483 // Determine the size of the visible rect by climbing the dom accounting for
5484 // all scrollable containers.
5485 while (el) {
5486 // clientWidth is zero for inline block elements in ie.
5487 if ((navigator.userAgent.indexOf('MSIE') === -1 || el.clientWidth !== 0) &&
5488 // body may have overflow set on it, yet we still get the entire
5489 // viewport. In some browsers, el.offsetParent may be
5490 // document.documentElement, so check for that too.
5491 el !== body && el !== documentElement && _utils2['default'].css(el, 'overflow') !== 'visible') {
5492 var pos = _utils2['default'].offset(el);
5493 // add border
5494 pos.left += el.clientLeft;
5495 pos.top += el.clientTop;
5496 visibleRect.top = Math.max(visibleRect.top, pos.top);
5497 visibleRect.right = Math.min(visibleRect.right,
5498 // consider area without scrollBar
5499 pos.left + el.clientWidth);
5500 visibleRect.bottom = Math.min(visibleRect.bottom, pos.top + el.clientHeight);
5501 visibleRect.left = Math.max(visibleRect.left, pos.left);
5502 } else if (el === body || el === documentElement) {
5503 break;
5504 }
5505 el = (0, _getOffsetParent2['default'])(el);
5506 }
5507
5508 // Set element position to fixed
5509 // make sure absolute element itself don't affect it's visible area
5510 // https://github.com/ant-design/ant-design/issues/7601
5511 var originalPosition = null;
5512 if (!_utils2['default'].isWindow(element) && element.nodeType !== 9) {
5513 originalPosition = element.style.position;
5514 var position = _utils2['default'].css(element, 'position');
5515 if (position === 'absolute') {
5516 element.style.position = 'fixed';
5517 }
5518 }
5519
5520 var scrollX = _utils2['default'].getWindowScrollLeft(win);
5521 var scrollY = _utils2['default'].getWindowScrollTop(win);
5522 var viewportWidth = _utils2['default'].viewportWidth(win);
5523 var viewportHeight = _utils2['default'].viewportHeight(win);
5524 var documentWidth = documentElement.scrollWidth;
5525 var documentHeight = documentElement.scrollHeight;
5526
5527 // Reset element position after calculate the visible area
5528 if (element.style) {
5529 element.style.position = originalPosition;
5530 }
5531
5532 if ((0, _isAncestorFixed2['default'])(element)) {
5533 // Clip by viewport's size.
5534 visibleRect.left = Math.max(visibleRect.left, scrollX);
5535 visibleRect.top = Math.max(visibleRect.top, scrollY);
5536 visibleRect.right = Math.min(visibleRect.right, scrollX + viewportWidth);
5537 visibleRect.bottom = Math.min(visibleRect.bottom, scrollY + viewportHeight);
5538 } else {
5539 // Clip by document's size.
5540 var maxVisibleWidth = Math.max(documentWidth, scrollX + viewportWidth);
5541 visibleRect.right = Math.min(visibleRect.right, maxVisibleWidth);
5542
5543 var maxVisibleHeight = Math.max(documentHeight, scrollY + viewportHeight);
5544 visibleRect.bottom = Math.min(visibleRect.bottom, maxVisibleHeight);
5545 }
5546
5547 return visibleRect.top >= 0 && visibleRect.left >= 0 && visibleRect.bottom > visibleRect.top && visibleRect.right > visibleRect.left ? visibleRect : null;
5548 }
5549
5550 exports['default'] = getVisibleRectForElement;
5551 module.exports = exports['default'];
5552
5553/***/ }),
5554/* 57 */
5555/***/ (function(module, exports, __webpack_require__) {
5556
5557 'use strict';
5558
5559 Object.defineProperty(exports, "__esModule", {
5560 value: true
5561 });
5562
5563 var _utils = __webpack_require__(54);
5564
5565 var _utils2 = _interopRequireDefault(_utils);
5566
5567 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
5568
5569 /**
5570 * 得到会导致元素显示不全的祖先元素
5571 */
5572
5573 function getOffsetParent(element) {
5574 if (_utils2['default'].isWindow(element) || element.nodeType === 9) {
5575 return null;
5576 }
5577 // ie 这个也不是完全可行
5578 /*
5579 <div style="width: 50px;height: 100px;overflow: hidden">
5580 <div style="width: 50px;height: 100px;position: relative;" id="d6">
5581 元素 6 高 100px 宽 50px<br/>
5582 </div>
5583 </div>
5584 */
5585 // element.offsetParent does the right thing in ie7 and below. Return parent with layout!
5586 // In other browsers it only includes elements with position absolute, relative or
5587 // fixed, not elements with overflow set to auto or scroll.
5588 // if (UA.ie && ieMode < 8) {
5589 // return element.offsetParent;
5590 // }
5591 // 统一的 offsetParent 方法
5592 var doc = _utils2['default'].getDocument(element);
5593 var body = doc.body;
5594 var parent = void 0;
5595 var positionStyle = _utils2['default'].css(element, 'position');
5596 var skipStatic = positionStyle === 'fixed' || positionStyle === 'absolute';
5597
5598 if (!skipStatic) {
5599 return element.nodeName.toLowerCase() === 'html' ? null : element.parentNode;
5600 }
5601
5602 for (parent = element.parentNode; parent && parent !== body; parent = parent.parentNode) {
5603 positionStyle = _utils2['default'].css(parent, 'position');
5604 if (positionStyle !== 'static') {
5605 return parent;
5606 }
5607 }
5608 return null;
5609 }
5610
5611 exports['default'] = getOffsetParent;
5612 module.exports = exports['default'];
5613
5614/***/ }),
5615/* 58 */
5616/***/ (function(module, exports, __webpack_require__) {
5617
5618 'use strict';
5619
5620 Object.defineProperty(exports, "__esModule", {
5621 value: true
5622 });
5623 exports['default'] = isAncestorFixed;
5624
5625 var _utils = __webpack_require__(54);
5626
5627 var _utils2 = _interopRequireDefault(_utils);
5628
5629 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
5630
5631 function isAncestorFixed(element) {
5632 if (_utils2['default'].isWindow(element) || element.nodeType === 9) {
5633 return false;
5634 }
5635
5636 var doc = _utils2['default'].getDocument(element);
5637 var body = doc.body;
5638 var parent = null;
5639 for (parent = element.parentNode; parent && parent !== body; parent = parent.parentNode) {
5640 var positionStyle = _utils2['default'].css(parent, 'position');
5641 if (positionStyle === 'fixed') {
5642 return true;
5643 }
5644 }
5645 return false;
5646 }
5647 module.exports = exports['default'];
5648
5649/***/ }),
5650/* 59 */
5651/***/ (function(module, exports, __webpack_require__) {
5652
5653 'use strict';
5654
5655 Object.defineProperty(exports, "__esModule", {
5656 value: true
5657 });
5658
5659 var _utils = __webpack_require__(54);
5660
5661 var _utils2 = _interopRequireDefault(_utils);
5662
5663 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
5664
5665 function adjustForViewport(elFuturePos, elRegion, visibleRect, overflow) {
5666 var pos = _utils2['default'].clone(elFuturePos);
5667 var size = {
5668 width: elRegion.width,
5669 height: elRegion.height
5670 };
5671
5672 if (overflow.adjustX && pos.left < visibleRect.left) {
5673 pos.left = visibleRect.left;
5674 }
5675
5676 // Left edge inside and right edge outside viewport, try to resize it.
5677 if (overflow.resizeWidth && pos.left >= visibleRect.left && pos.left + size.width > visibleRect.right) {
5678 size.width -= pos.left + size.width - visibleRect.right;
5679 }
5680
5681 // Right edge outside viewport, try to move it.
5682 if (overflow.adjustX && pos.left + size.width > visibleRect.right) {
5683 // 保证左边界和可视区域左边界对齐
5684 pos.left = Math.max(visibleRect.right - size.width, visibleRect.left);
5685 }
5686
5687 // Top edge outside viewport, try to move it.
5688 if (overflow.adjustY && pos.top < visibleRect.top) {
5689 pos.top = visibleRect.top;
5690 }
5691
5692 // Top edge inside and bottom edge outside viewport, try to resize it.
5693 if (overflow.resizeHeight && pos.top >= visibleRect.top && pos.top + size.height > visibleRect.bottom) {
5694 size.height -= pos.top + size.height - visibleRect.bottom;
5695 }
5696
5697 // Bottom edge outside viewport, try to move it.
5698 if (overflow.adjustY && pos.top + size.height > visibleRect.bottom) {
5699 // 保证上边界和可视区域上边界对齐
5700 pos.top = Math.max(visibleRect.bottom - size.height, visibleRect.top);
5701 }
5702
5703 return _utils2['default'].mix(pos, size);
5704 }
5705
5706 exports['default'] = adjustForViewport;
5707 module.exports = exports['default'];
5708
5709/***/ }),
5710/* 60 */
5711/***/ (function(module, exports, __webpack_require__) {
5712
5713 'use strict';
5714
5715 Object.defineProperty(exports, "__esModule", {
5716 value: true
5717 });
5718
5719 var _utils = __webpack_require__(54);
5720
5721 var _utils2 = _interopRequireDefault(_utils);
5722
5723 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
5724
5725 function getRegion(node) {
5726 var offset = void 0;
5727 var w = void 0;
5728 var h = void 0;
5729 if (!_utils2['default'].isWindow(node) && node.nodeType !== 9) {
5730 offset = _utils2['default'].offset(node);
5731 w = _utils2['default'].outerWidth(node);
5732 h = _utils2['default'].outerHeight(node);
5733 } else {
5734 var win = _utils2['default'].getWindow(node);
5735 offset = {
5736 left: _utils2['default'].getWindowScrollLeft(win),
5737 top: _utils2['default'].getWindowScrollTop(win)
5738 };
5739 w = _utils2['default'].viewportWidth(win);
5740 h = _utils2['default'].viewportHeight(win);
5741 }
5742 offset.width = w;
5743 offset.height = h;
5744 return offset;
5745 }
5746
5747 exports['default'] = getRegion;
5748 module.exports = exports['default'];
5749
5750/***/ }),
5751/* 61 */
5752/***/ (function(module, exports, __webpack_require__) {
5753
5754 'use strict';
5755
5756 Object.defineProperty(exports, "__esModule", {
5757 value: true
5758 });
5759
5760 var _getAlignOffset = __webpack_require__(62);
5761
5762 var _getAlignOffset2 = _interopRequireDefault(_getAlignOffset);
5763
5764 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
5765
5766 function getElFuturePos(elRegion, refNodeRegion, points, offset, targetOffset) {
5767 var p1 = (0, _getAlignOffset2['default'])(refNodeRegion, points[1]);
5768 var p2 = (0, _getAlignOffset2['default'])(elRegion, points[0]);
5769 var diff = [p2.left - p1.left, p2.top - p1.top];
5770
5771 return {
5772 left: elRegion.left - diff[0] + offset[0] - targetOffset[0],
5773 top: elRegion.top - diff[1] + offset[1] - targetOffset[1]
5774 };
5775 }
5776
5777 exports['default'] = getElFuturePos;
5778 module.exports = exports['default'];
5779
5780/***/ }),
5781/* 62 */
5782/***/ (function(module, exports) {
5783
5784 'use strict';
5785
5786 Object.defineProperty(exports, "__esModule", {
5787 value: true
5788 });
5789 /**
5790 * 获取 node 上的 align 对齐点 相对于页面的坐标
5791 */
5792
5793 function getAlignOffset(region, align) {
5794 var V = align.charAt(0);
5795 var H = align.charAt(1);
5796 var w = region.width;
5797 var h = region.height;
5798
5799 var x = region.left;
5800 var y = region.top;
5801
5802 if (V === 'c') {
5803 y += h / 2;
5804 } else if (V === 'b') {
5805 y += h;
5806 }
5807
5808 if (H === 'c') {
5809 x += w / 2;
5810 } else if (H === 'r') {
5811 x += w;
5812 }
5813
5814 return {
5815 left: x,
5816 top: y
5817 };
5818 }
5819
5820 exports['default'] = getAlignOffset;
5821 module.exports = exports['default'];
5822
5823/***/ }),
5824/* 63 */
5825/***/ (function(module, exports, __webpack_require__) {
5826
5827 'use strict';
5828
5829 Object.defineProperty(exports, "__esModule", {
5830 value: true
5831 });
5832
5833 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; };
5834
5835 var _utils = __webpack_require__(54);
5836
5837 var _utils2 = _interopRequireDefault(_utils);
5838
5839 var _align = __webpack_require__(53);
5840
5841 var _align2 = _interopRequireDefault(_align);
5842
5843 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
5844
5845 /**
5846 * `tgtPoint`: { pageX, pageY } or { clientX, clientY }.
5847 * If client position provided, will internal convert to page position.
5848 */
5849
5850 function alignPoint(el, tgtPoint, align) {
5851 var pageX = void 0;
5852 var pageY = void 0;
5853
5854 var doc = _utils2['default'].getDocument(el);
5855 var win = doc.defaultView || doc.parentWindow;
5856
5857 var scrollX = _utils2['default'].getWindowScrollLeft(win);
5858 var scrollY = _utils2['default'].getWindowScrollTop(win);
5859 var viewportWidth = _utils2['default'].viewportWidth(win);
5860 var viewportHeight = _utils2['default'].viewportHeight(win);
5861
5862 if ('pageX' in tgtPoint) {
5863 pageX = tgtPoint.pageX;
5864 } else {
5865 pageX = scrollX + tgtPoint.clientX;
5866 }
5867
5868 if ('pageY' in tgtPoint) {
5869 pageY = tgtPoint.pageY;
5870 } else {
5871 pageY = scrollY + tgtPoint.clientY;
5872 }
5873
5874 var tgtRegion = {
5875 left: pageX,
5876 top: pageY,
5877 width: 0,
5878 height: 0
5879 };
5880
5881 var pointInView = pageX >= 0 && pageX <= scrollX + viewportWidth && pageY >= 0 && pageY <= scrollY + viewportHeight;
5882
5883 // Provide default target point
5884 var points = [align.points[0], 'cc'];
5885
5886 return (0, _align2['default'])(el, tgtRegion, _extends({}, align, { points: points }), pointInView);
5887 }
5888
5889 exports['default'] = alignPoint;
5890 module.exports = exports['default'];
5891
5892/***/ }),
5893/* 64 */
5894/***/ (function(module, exports, __webpack_require__) {
5895
5896 'use strict';
5897
5898 Object.defineProperty(exports, "__esModule", {
5899 value: true
5900 });
5901
5902 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; };
5903
5904 var _classnames = __webpack_require__(3);
5905
5906 var _classnames2 = _interopRequireDefault(_classnames);
5907
5908 var _react = __webpack_require__(4);
5909
5910 var _react2 = _interopRequireDefault(_react);
5911
5912 var _propTypes = __webpack_require__(5);
5913
5914 var _propTypes2 = _interopRequireDefault(_propTypes);
5915
5916 var _Transition = __webpack_require__(11);
5917
5918 var _Transition2 = _interopRequireDefault(_Transition);
5919
5920 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
5921
5922 function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
5923
5924 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
5925
5926 function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
5927
5928 function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
5929
5930 var propTypes = {
5931 /**
5932 * Show the component; triggers the fade in or fade out animation
5933 */
5934 "in": _propTypes2["default"].bool,
5935
5936 /**
5937 * Unmount the component (remove it from the DOM) when it is faded out
5938 */
5939 unmountOnExit: _propTypes2["default"].bool,
5940
5941 /**
5942 * Run the fade in animation when the component mounts, if it is initially
5943 * shown
5944 */
5945 transitionAppear: _propTypes2["default"].bool,
5946
5947 /**
5948 * Duration of the fade animation in milliseconds, to ensure that finishing
5949 * callbacks are fired even if the original browser transition end events are
5950 * canceled
5951 */
5952 timeout: _propTypes2["default"].number,
5953
5954 /**
5955 * Callback fired before the component fades in
5956 */
5957 onEnter: _propTypes2["default"].func,
5958 /**
5959 * Callback fired after the component starts to fade in
5960 */
5961 onEntering: _propTypes2["default"].func,
5962 /**
5963 * Callback fired after the has component faded in
5964 */
5965 onEntered: _propTypes2["default"].func,
5966 /**
5967 * Callback fired before the component fades out
5968 */
5969 onExit: _propTypes2["default"].func,
5970 /**
5971 * Callback fired after the component starts to fade out
5972 */
5973 onExiting: _propTypes2["default"].func,
5974 /**
5975 * Callback fired after the component has faded out
5976 */
5977 onExited: _propTypes2["default"].func
5978 };
5979
5980 var defaultProps = {
5981 "in": false,
5982 timeout: 300,
5983 unmountOnExit: false,
5984 transitionAppear: false
5985 };
5986
5987 var Fade = function (_React$Component) {
5988 _inherits(Fade, _React$Component);
5989
5990 function Fade() {
5991 _classCallCheck(this, Fade);
5992
5993 return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));
5994 }
5995
5996 Fade.prototype.render = function render() {
5997 return _react2["default"].createElement(_Transition2["default"], _extends({}, this.props, {
5998 className: (0, _classnames2["default"])(this.props.className, 'fade'),
5999 enteredClassName: 'in',
6000 enteringClassName: 'in'
6001 }));
6002 };
6003
6004 return Fade;
6005 }(_react2["default"].Component);
6006
6007 Fade.propTypes = propTypes;
6008 Fade.defaultProps = defaultProps;
6009
6010 exports["default"] = Fade;
6011 module.exports = exports['default'];
6012
6013/***/ }),
6014/* 65 */
6015/***/ (function(module, exports, __webpack_require__) {
6016
6017 'use strict';
6018
6019 Object.defineProperty(exports, "__esModule", {
6020 value: true
6021 });
6022
6023 var _Message = __webpack_require__(66);
6024
6025 var _Message2 = _interopRequireDefault(_Message);
6026
6027 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
6028
6029 exports["default"] = _Message2["default"];
6030 module.exports = exports['default'];
6031
6032/***/ }),
6033/* 66 */
6034/***/ (function(module, exports, __webpack_require__) {
6035
6036 'use strict';
6037
6038 Object.defineProperty(exports, "__esModule", {
6039 value: true
6040 });
6041
6042 var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
6043
6044 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; };
6045
6046 var _react = __webpack_require__(4);
6047
6048 var _react2 = _interopRequireDefault(_react);
6049
6050 var _beeNotification = __webpack_require__(67);
6051
6052 var _beeNotification2 = _interopRequireDefault(_beeNotification);
6053
6054 var _classnames = __webpack_require__(3);
6055
6056 var _classnames2 = _interopRequireDefault(_classnames);
6057
6058 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
6059
6060 var defaultDuration = 1.5;
6061 var defaultTop = 0;
6062 var defaultBottom = 48;
6063 var bottom = 90;
6064 var padding = 30;
6065 var width = 200;
6066 var messageInstance = void 0;
6067 var key = 1;
6068 var clsPrefix = 'u-message';
6069 var noop = function noop() {};
6070
6071 var positionObj = {
6072 "top": {
6073 messageStyle: {
6074 width: "100%"
6075 },
6076 notificationStyle: {
6077 top: defaultTop,
6078 width: "100%"
6079 },
6080 transitionName: 'top'
6081 },
6082 "bottom": {
6083 messageStyle: {
6084 width: "100%"
6085 },
6086 notificationStyle: {
6087 bottom: defaultBottom,
6088 width: "100%"
6089 },
6090 transitionName: 'bottom'
6091 },
6092 "topRight": {
6093 messageStyle: {
6094 width: width
6095 },
6096 notificationStyle: {
6097 top: padding,
6098 right: padding,
6099 width: width
6100 },
6101 transitionName: 'right'
6102 },
6103 "bottomRight": {
6104 messageStyle: {
6105 width: width
6106 },
6107 notificationStyle: {
6108 bottom: bottom,
6109 right: padding,
6110 width: width
6111 },
6112 transitionName: 'right'
6113 },
6114 "topLeft": {
6115 messageStyle: {
6116 width: width
6117 },
6118 notificationStyle: {
6119 top: padding,
6120 left: padding,
6121 width: width
6122 },
6123 transitionName: 'left'
6124 },
6125 "bottomLeft": {
6126 messageStyle: {
6127 width: width
6128 },
6129 notificationStyle: {
6130 bottom: bottom,
6131 left: padding,
6132 width: width
6133 },
6134 transitionName: 'left'
6135 }
6136 };
6137
6138 function getMessageInstance() {
6139 var position = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'top';
6140 var callback = arguments[1];
6141
6142 if (messageInstance) {
6143 callback(messageInstance);
6144 return;
6145 }
6146 var style = positionObj[position].notificationStyle;
6147 _beeNotification2["default"].newInstance({
6148 clsPrefix: clsPrefix,
6149 transitionName: clsPrefix + '-' + positionObj[position].transitionName,
6150 style: style, // 覆盖原来的样式
6151 position: ''
6152 }, function (instance) {
6153 messageInstance = instance;
6154 callback(instance);
6155 });
6156 }
6157
6158 function notice(content, duration, type, onClose, position, style) {
6159 var iconType = {
6160 info: 'uf uf-i-c-2',
6161 success: 'uf uf-correct',
6162 danger: 'uf uf-close-c',
6163 warning: 'uf uf-exc-t',
6164 light: 'uf uf-notification',
6165 dark: 'uf uf-bubble',
6166 news: 'uf uf-bell',
6167 infolight: 'uf uf-i-c-2',
6168 successlight: 'uf uf-correct',
6169 dangerlight: 'uf uf-close-c',
6170 warninglight: 'uf uf-exc-t'
6171 }[type];
6172
6173 var positionStyle = positionObj[position].messageStyle;
6174
6175 getMessageInstance(position, function (instance) {
6176 instance.notice({
6177 key: key,
6178 duration: duration,
6179 color: type,
6180 style: _extends({}, positionStyle, style),
6181 content: _react2["default"].createElement(
6182 'div',
6183 null,
6184 _react2["default"].createElement(
6185 'div',
6186 { className: clsPrefix + '-notice-description-icon' },
6187 _react2["default"].createElement('i', { className: (0, _classnames2["default"])(iconType) })
6188 ),
6189 _react2["default"].createElement(
6190 'div',
6191 { className: clsPrefix + '-notice-description-content' },
6192 content
6193 )
6194 ),
6195 onClose: onClose
6196 });
6197 });
6198 return function () {
6199 var target = key++;
6200 return function () {
6201 if (messageInstance) {
6202 messageInstance.removeNotice(target);
6203 }
6204 };
6205 }();
6206 }
6207
6208 exports["default"] = {
6209 create: function create(obj) {
6210 var content = obj.content || '';
6211 var duration = _typeof(obj.duration) == undefined ? defaultDuration : obj.duration;
6212 var color = obj.color || 'dark';
6213 var onClose = obj.onClose || noop;
6214 var position = obj.position || "top";
6215 var style = obj.style || {};
6216 return notice(content, duration, color, onClose, position, style);
6217 },
6218 config: function config(options) {
6219 if (options.top !== undefined) {
6220 defaultTop = options.top;
6221 }
6222 if (options.duration !== undefined) {
6223 defaultDuration = options.duration;
6224 }
6225 if (options.clsPrefix !== undefined) {
6226 clsPrefix = options.clsPrefix;
6227 }
6228 if (options.defaultBottom !== undefined) {
6229 defaultBottom = options.defaultBottom;
6230 }
6231 if (options.bottom !== undefined) {
6232 bottom = options.bottom;
6233 }
6234 if (options.width !== undefined) {
6235 bottom = options.width;
6236 }
6237 },
6238 destroy: function destroy() {
6239 if (messageInstance) {
6240 messageInstance.destroy();
6241 messageInstance = null;
6242 }
6243 }
6244 };
6245 module.exports = exports['default'];
6246
6247/***/ }),
6248/* 67 */
6249/***/ (function(module, exports, __webpack_require__) {
6250
6251 'use strict';
6252
6253 Object.defineProperty(exports, "__esModule", {
6254 value: true
6255 });
6256
6257 var _Notification = __webpack_require__(68);
6258
6259 var _Notification2 = _interopRequireDefault(_Notification);
6260
6261 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
6262
6263 exports["default"] = _Notification2["default"];
6264 module.exports = exports['default'];
6265
6266/***/ }),
6267/* 68 */
6268/***/ (function(module, exports, __webpack_require__) {
6269
6270 'use strict';
6271
6272 Object.defineProperty(exports, "__esModule", {
6273 value: true
6274 });
6275
6276 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; };
6277
6278 var _react = __webpack_require__(4);
6279
6280 var _react2 = _interopRequireDefault(_react);
6281
6282 var _propTypes = __webpack_require__(5);
6283
6284 var _propTypes2 = _interopRequireDefault(_propTypes);
6285
6286 var _reactDom = __webpack_require__(12);
6287
6288 var _reactDom2 = _interopRequireDefault(_reactDom);
6289
6290 var _beeAnimate = __webpack_require__(69);
6291
6292 var _beeAnimate2 = _interopRequireDefault(_beeAnimate);
6293
6294 var _createChainedFunction = __webpack_require__(37);
6295
6296 var _createChainedFunction2 = _interopRequireDefault(_createChainedFunction);
6297
6298 var _classnames = __webpack_require__(3);
6299
6300 var _classnames2 = _interopRequireDefault(_classnames);
6301
6302 var _Notice = __webpack_require__(74);
6303
6304 var _Notice2 = _interopRequireDefault(_Notice);
6305
6306 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
6307
6308 function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
6309
6310 function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6311
6312 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
6313
6314 function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
6315
6316 function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
6317
6318 var seed = 0;
6319 var now = Date.now();
6320
6321 function getUuid() {
6322 return 'uNotification_' + now + '_' + seed++;
6323 }
6324
6325 var propTypes = {
6326 show: _propTypes2["default"].bool,
6327 clsPrefix: _propTypes2["default"].string,
6328 style: _propTypes2["default"].object,
6329 position: _propTypes2["default"].oneOf(['topRight', 'bottomRight', '']),
6330 transitionName: _propTypes2["default"].string,
6331 animation: _propTypes2["default"].oneOfType([_propTypes2["default"].string, _propTypes2["default"].object])
6332 };
6333
6334 var defaultProps = {
6335 clsPrefix: 'u-notification',
6336 animation: 'fade',
6337 position: 'topRight'
6338 };
6339
6340 var Notification = function (_Component) {
6341 _inherits(Notification, _Component);
6342
6343 function Notification(props) {
6344 _classCallCheck(this, Notification);
6345
6346 var _this = _possibleConstructorReturn(this, _Component.call(this, props));
6347
6348 _this.state = {
6349 notices: []
6350 };
6351 _this.add = _this.add.bind(_this);
6352 _this.remove = _this.remove.bind(_this);
6353
6354 return _this;
6355 }
6356
6357 Notification.prototype.getTransitionName = function getTransitionName() {
6358 var props = this.props;
6359 var transitionName = props.transitionName;
6360 if (!transitionName && props.animation) {
6361 transitionName = props.clsPrefix + '-' + props.animation;
6362 }
6363 return transitionName;
6364 };
6365
6366 Notification.prototype.add = function add(notice) {
6367 var key = notice.key = notice.key || getUuid();
6368 this.setState(function (previousState) {
6369 var notices = previousState.notices;
6370 if (!notices.filter(function (v) {
6371 return v.key === key;
6372 }).length) {
6373 return {
6374 notices: notices.concat(notice)
6375 };
6376 }
6377 });
6378 };
6379
6380 Notification.prototype.remove = function remove(key) {
6381 this.setState(function (previousState) {
6382 return {
6383 notices: previousState.notices.filter(function (notice) {
6384 return notice.key !== key;
6385 })
6386 };
6387 });
6388 };
6389
6390 Notification.prototype.render = function render() {
6391 var _this2 = this,
6392 _classes;
6393
6394 var _props = this.props,
6395 clsPrefix = _props.clsPrefix,
6396 className = _props.className,
6397 position = _props.position,
6398 style = _props.style;
6399
6400 var noticeNodes = this.state.notices.map(function (notice) {
6401 var onClose = (0, _createChainedFunction2["default"])(_this2.remove.bind(_this2, notice.key), notice.onClose);
6402 return _react2["default"].createElement(
6403 _Notice2["default"],
6404 _extends({
6405 clsPrefix: clsPrefix
6406 }, notice, {
6407 onClose: onClose
6408 }),
6409 notice.content
6410 );
6411 });
6412 var classes = (_classes = {}, _defineProperty(_classes, clsPrefix, 1), _defineProperty(_classes, className, !!className), _classes);
6413 if (position) {
6414 classes[clsPrefix + '-' + position] = !!position;
6415 }
6416
6417 return _react2["default"].createElement(
6418 'div',
6419 { className: (0, _classnames2["default"])(className, classes), style: style },
6420 _react2["default"].createElement(
6421 _beeAnimate2["default"],
6422 { transitionName: this.getTransitionName() },
6423 noticeNodes
6424 )
6425 );
6426 };
6427
6428 return Notification;
6429 }(_react.Component);
6430
6431 ;
6432
6433 Notification.propTypes = propTypes;
6434 Notification.defaultProps = defaultProps;
6435
6436 Notification.newInstance = function newNotificationInstance(properties, callback) {
6437 if (typeof callback !== 'function') {
6438 console.error('You must introduce callback as the second parameter of Notification.newInstance().');
6439 return;
6440 }
6441 var props = properties || {};
6442 var div = document.createElement('div');
6443 document.body.appendChild(div);
6444
6445 var called = false;
6446 function ref(notification) {
6447 if (called) {
6448 return;
6449 }
6450 called = true;
6451 callback({
6452 notice: function notice(noticeProps) {
6453 notification.add(noticeProps);
6454 },
6455 removeNotice: function removeNotice(key) {
6456 notification.remove(key);
6457 },
6458
6459 component: notification,
6460 destroy: function destroy() {
6461 _reactDom2["default"].unmountComponentAtNode(div);
6462 document.body.removeChild(div);
6463 }
6464 });
6465 }
6466 _reactDom2["default"].render(_react2["default"].createElement(Notification, _extends({}, props, { ref: ref })), div);
6467 };
6468
6469 exports["default"] = Notification;
6470 module.exports = exports['default'];
6471
6472/***/ }),
6473/* 69 */
6474/***/ (function(module, exports, __webpack_require__) {
6475
6476 'use strict';
6477
6478 Object.defineProperty(exports, "__esModule", {
6479 value: true
6480 });
6481
6482 var _Animate = __webpack_require__(70);
6483
6484 var _Animate2 = _interopRequireDefault(_Animate);
6485
6486 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
6487
6488 exports["default"] = _Animate2["default"];
6489 module.exports = exports['default'];
6490
6491/***/ }),
6492/* 70 */
6493/***/ (function(module, exports, __webpack_require__) {
6494
6495 'use strict';
6496
6497 Object.defineProperty(exports, "__esModule", {
6498 value: true
6499 });
6500
6501 var _react = __webpack_require__(4);
6502
6503 var _react2 = _interopRequireDefault(_react);
6504
6505 var _propTypes = __webpack_require__(5);
6506
6507 var _propTypes2 = _interopRequireDefault(_propTypes);
6508
6509 var _ChildrenUtils = __webpack_require__(71);
6510
6511 var _AnimateChild = __webpack_require__(72);
6512
6513 var _AnimateChild2 = _interopRequireDefault(_AnimateChild);
6514
6515 var _util = __webpack_require__(73);
6516
6517 var _util2 = _interopRequireDefault(_util);
6518
6519 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
6520
6521 function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
6522
6523 function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6524
6525 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
6526
6527 function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
6528
6529 function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
6530
6531 var defaultKey = 'u_animate_' + Date.now();
6532
6533
6534 function getChildrenFromProps(props) {
6535 var children = props.children;
6536 if (_react2["default"].isValidElement(children)) {
6537 if (!children.key) {
6538 return _react2["default"].cloneElement(children, {
6539 key: defaultKey
6540 });
6541 }
6542 }
6543 return children;
6544 }
6545
6546 function noop() {}
6547
6548 var propTypes = {
6549 component: _propTypes2["default"].any,
6550 animation: _propTypes2["default"].object,
6551 transitionName: _propTypes2["default"].oneOfType([_propTypes2["default"].string, _propTypes2["default"].object]),
6552 transitionEnter: _propTypes2["default"].bool,
6553 transitionAppear: _propTypes2["default"].bool,
6554 exclusive: _propTypes2["default"].bool,
6555 transitionLeave: _propTypes2["default"].bool,
6556 onEnd: _propTypes2["default"].func,
6557 onEnter: _propTypes2["default"].func,
6558 onLeave: _propTypes2["default"].func,
6559 onAppear: _propTypes2["default"].func,
6560 showProp: _propTypes2["default"].string
6561 };
6562
6563 var defaultProps = {
6564 animation: {},
6565 component: 'span',
6566 transitionEnter: true,
6567 transitionLeave: true,
6568 transitionAppear: false,
6569 onEnd: noop,
6570 onEnter: noop,
6571 onLeave: noop,
6572 onAppear: noop
6573 };
6574
6575 var Animate = function (_Component) {
6576 _inherits(Animate, _Component);
6577
6578 function Animate(props) {
6579 _classCallCheck(this, Animate);
6580
6581 var _this = _possibleConstructorReturn(this, _Component.call(this, props));
6582
6583 _this.currentlyAnimatingKeys = {};
6584 _this.keysToEnter = [];
6585 _this.keysToLeave = [];
6586 _this.state = {
6587 children: (0, _ChildrenUtils.toArrayChildren)(getChildrenFromProps(_this.props))
6588 };
6589
6590 _this.performEnter = _this.performEnter.bind(_this);
6591 _this.performAppear = _this.performAppear.bind(_this);
6592 _this.handleDoneAdding = _this.handleDoneAdding.bind(_this);
6593 _this.performLeave = _this.performLeave.bind(_this);
6594
6595 _this.performLeave = _this.performLeave.bind(_this);
6596 _this.handleDoneLeaving = _this.handleDoneLeaving.bind(_this);
6597 _this.isValidChildByKey = _this.isValidChildByKey.bind(_this);
6598 _this.stop = _this.stop.bind(_this);
6599 return _this;
6600 }
6601
6602 Animate.prototype.componentDidMount = function componentDidMount() {
6603 var _this2 = this;
6604
6605 this.mounted = true;
6606 var showProp = this.props.showProp;
6607 var children = this.state.children;
6608 if (showProp) {
6609 children = children.filter(function (child) {
6610 return !!child.props[showProp];
6611 });
6612 }
6613 children.forEach(function (child) {
6614 if (child) {
6615 _this2.performAppear(child.key);
6616 }
6617 });
6618 };
6619
6620 Animate.prototype.componentWillUnmount = function componentWillUnmount() {
6621 this.mounted = false;
6622 };
6623
6624 Animate.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
6625 var _this3 = this;
6626
6627 this.nextProps = nextProps;
6628 var nextChildren = (0, _ChildrenUtils.toArrayChildren)(getChildrenFromProps(nextProps));
6629 var props = this.props;
6630 // exclusive needs immediate response
6631 if (props.exclusive) {
6632 Object.keys(this.currentlyAnimatingKeys).forEach(function (key) {
6633 _this3.stop(key);
6634 });
6635 }
6636 var showProp = props.showProp;
6637 var currentlyAnimatingKeys = this.currentlyAnimatingKeys;
6638 // last props children if exclusive
6639 var currentChildren = props.exclusive ? (0, _ChildrenUtils.toArrayChildren)(getChildrenFromProps(props)) : this.state.children;
6640 // in case destroy in showProp mode
6641 var newChildren = [];
6642 if (showProp) {
6643 currentChildren.forEach(function (currentChild) {
6644 var nextChild = currentChild && (0, _ChildrenUtils.findChildInChildrenByKey)(nextChildren, currentChild.key);
6645 var newChild = void 0;
6646 if ((!nextChild || !nextChild.props[showProp]) && currentChild.props[showProp]) {
6647 newChild = _react2["default"].cloneElement(nextChild || currentChild, _defineProperty({}, showProp, true));
6648 } else {
6649 newChild = nextChild;
6650 }
6651 if (newChild) {
6652 newChildren.push(newChild);
6653 }
6654 });
6655 nextChildren.forEach(function (nextChild) {
6656 if (!nextChild || !(0, _ChildrenUtils.findChildInChildrenByKey)(currentChildren, nextChild.key)) {
6657 newChildren.push(nextChild);
6658 }
6659 });
6660 } else {
6661 newChildren = (0, _ChildrenUtils.mergeChildren)(currentChildren, nextChildren);
6662 }
6663
6664 // need render to avoid update
6665 this.setState({
6666 children: newChildren
6667 });
6668
6669 nextChildren.forEach(function (child) {
6670 var key = child && child.key;
6671 if (child && currentlyAnimatingKeys[key]) {
6672 return;
6673 }
6674 var hasPrev = child && (0, _ChildrenUtils.findChildInChildrenByKey)(currentChildren, key);
6675 if (showProp) {
6676 var showInNext = child.props[showProp];
6677 if (hasPrev) {
6678 var showInNow = (0, _ChildrenUtils.findShownChildInChildrenByKey)(currentChildren, key, showProp);
6679 if (!showInNow && showInNext) {
6680 _this3.keysToEnter.push(key);
6681 }
6682 } else if (showInNext) {
6683 _this3.keysToEnter.push(key);
6684 }
6685 } else if (!hasPrev) {
6686 _this3.keysToEnter.push(key);
6687 }
6688 });
6689
6690 currentChildren.forEach(function (child) {
6691 var key = child && child.key;
6692 if (child && currentlyAnimatingKeys[key]) {
6693 return;
6694 }
6695 var hasNext = child && (0, _ChildrenUtils.findChildInChildrenByKey)(nextChildren, key);
6696 if (showProp) {
6697 var showInNow = child.props[showProp];
6698 if (hasNext) {
6699 var showInNext = (0, _ChildrenUtils.findShownChildInChildrenByKey)(nextChildren, key, showProp);
6700 if (!showInNext && showInNow) {
6701 _this3.keysToLeave.push(key);
6702 }
6703 } else if (showInNow) {
6704 _this3.keysToLeave.push(key);
6705 }
6706 } else if (!hasNext) {
6707 _this3.keysToLeave.push(key);
6708 }
6709 });
6710 };
6711
6712 Animate.prototype.componentDidUpdate = function componentDidUpdate() {
6713 var keysToEnter = this.keysToEnter;
6714 this.keysToEnter = [];
6715 keysToEnter.forEach(this.performEnter);
6716 var keysToLeave = this.keysToLeave;
6717 this.keysToLeave = [];
6718 keysToLeave.forEach(this.performLeave);
6719 };
6720
6721 Animate.prototype.performEnter = function performEnter(key) {
6722 // may already remove by exclusive
6723 if (this.refs[key]) {
6724 this.currentlyAnimatingKeys[key] = true;
6725 this.refs[key].componentWillEnter(this.handleDoneAdding.bind(this, key, 'enter'));
6726 }
6727 };
6728
6729 Animate.prototype.performAppear = function performAppear(key) {
6730 if (this.refs[key]) {
6731 this.currentlyAnimatingKeys[key] = true;
6732 this.refs[key].componentWillAppear(this.handleDoneAdding.bind(this, key, 'appear'));
6733 }
6734 };
6735
6736 Animate.prototype.handleDoneAdding = function handleDoneAdding(key, type) {
6737 var props = this.props;
6738 delete this.currentlyAnimatingKeys[key];
6739 // if update on exclusive mode, skip check
6740 if (props.exclusive && props !== this.nextProps) {
6741 return;
6742 }
6743 var currentChildren = (0, _ChildrenUtils.toArrayChildren)(getChildrenFromProps(props));
6744 if (!this.isValidChildByKey(currentChildren, key)) {
6745 // exclusive will not need this
6746 this.performLeave(key);
6747 } else {
6748 if (type === 'appear') {
6749 if (_util2["default"].allowAppearCallback(props)) {
6750 props.onAppear(key);
6751 props.onEnd(key, true);
6752 }
6753 } else {
6754 if (_util2["default"].allowEnterCallback(props)) {
6755 props.onEnter(key);
6756 props.onEnd(key, true);
6757 }
6758 }
6759 }
6760 };
6761
6762 Animate.prototype.performLeave = function performLeave(key) {
6763 // may already remove by exclusive
6764 if (this.refs[key]) {
6765 this.currentlyAnimatingKeys[key] = true;
6766 this.refs[key].componentWillLeave(this.handleDoneLeaving.bind(this, key));
6767 }
6768 };
6769
6770 Animate.prototype.handleDoneLeaving = function handleDoneLeaving(key) {
6771 var props = this.props;
6772 delete this.currentlyAnimatingKeys[key];
6773 // if update on exclusive mode, skip check
6774 if (props.exclusive && props !== this.nextProps) {
6775 return;
6776 }
6777 var currentChildren = (0, _ChildrenUtils.toArrayChildren)(getChildrenFromProps(props));
6778 // in case state change is too fast
6779 if (this.isValidChildByKey(currentChildren, key)) {
6780 this.performEnter(key);
6781 } else {
6782 var end = function end() {
6783 if (_util2["default"].allowLeaveCallback(props)) {
6784 props.onLeave(key);
6785 props.onEnd(key, false);
6786 }
6787 };
6788 /* eslint react/no-is-mounted:0 */
6789 if (this.mounted && !(0, _ChildrenUtils.isSameChildren)(this.state.children, currentChildren, props.showProp)) {
6790 this.setState({
6791 children: currentChildren
6792 }, end);
6793 } else {
6794 end();
6795 }
6796 }
6797 };
6798
6799 Animate.prototype.isValidChildByKey = function isValidChildByKey(currentChildren, key) {
6800 var showProp = this.props.showProp;
6801 if (showProp) {
6802 return (0, _ChildrenUtils.findShownChildInChildrenByKey)(currentChildren, key, showProp);
6803 }
6804 return (0, _ChildrenUtils.findChildInChildrenByKey)(currentChildren, key);
6805 };
6806
6807 Animate.prototype.stop = function stop(key) {
6808 delete this.currentlyAnimatingKeys[key];
6809 var component = this.refs[key];
6810 if (component) {
6811 component.stop();
6812 }
6813 };
6814
6815 Animate.prototype.render = function render() {
6816 var props = this.props;
6817 this.nextProps = props;
6818 var stateChildren = this.state.children;
6819 var children = null;
6820 if (stateChildren) {
6821 children = stateChildren.map(function (child) {
6822 if (child === null || child === undefined) {
6823 return child;
6824 }
6825 if (!child.key) {
6826 throw new Error('must set key for <rc-animate> children');
6827 }
6828 return _react2["default"].createElement(
6829 _AnimateChild2["default"],
6830 {
6831 key: child.key,
6832 ref: child.key,
6833 animation: props.animation,
6834 transitionName: props.transitionName,
6835 transitionEnter: props.transitionEnter,
6836 transitionAppear: props.transitionAppear,
6837 transitionLeave: props.transitionLeave
6838 },
6839 child
6840 );
6841 });
6842 }
6843 var Component = props.component;
6844 if (Component) {
6845 var passedProps = props;
6846 if (typeof Component === 'string') {
6847 passedProps = {
6848 className: props.className,
6849 style: props.style
6850 };
6851 }
6852 return _react2["default"].createElement(
6853 Component,
6854 passedProps,
6855 children
6856 );
6857 }
6858 return children[0] || null;
6859 };
6860
6861 return Animate;
6862 }(_react.Component);
6863
6864 ;
6865 Animate.defaultProps = defaultProps;
6866 Animate.propTypes = Animate.propTypes;
6867
6868 exports["default"] = Animate;
6869 module.exports = exports['default'];
6870
6871/***/ }),
6872/* 71 */
6873/***/ (function(module, exports, __webpack_require__) {
6874
6875 'use strict';
6876
6877 Object.defineProperty(exports, "__esModule", {
6878 value: true
6879 });
6880 exports.toArrayChildren = toArrayChildren;
6881 exports.findChildInChildrenByKey = findChildInChildrenByKey;
6882 exports.findShownChildInChildrenByKey = findShownChildInChildrenByKey;
6883 exports.findHiddenChildInChildrenByKey = findHiddenChildInChildrenByKey;
6884 exports.isSameChildren = isSameChildren;
6885 exports.mergeChildren = mergeChildren;
6886
6887 var _react = __webpack_require__(4);
6888
6889 var _react2 = _interopRequireDefault(_react);
6890
6891 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
6892
6893 function toArrayChildren(children) {
6894 var ret = [];
6895 _react2["default"].Children.forEach(children, function (child) {
6896 ret.push(child);
6897 });
6898 return ret;
6899 }
6900
6901 function findChildInChildrenByKey(children, key) {
6902 var ret = null;
6903 if (children) {
6904 children.forEach(function (child) {
6905 if (ret) {
6906 return;
6907 }
6908 if (child && child.key === key) {
6909 ret = child;
6910 }
6911 });
6912 }
6913 return ret;
6914 }
6915
6916 function findShownChildInChildrenByKey(children, key, showProp) {
6917 var ret = null;
6918 if (children) {
6919 children.forEach(function (child) {
6920 if (child && child.key === key && child.props[showProp]) {
6921 if (ret) {
6922 throw new Error('two child with same key for <rc-animate> children');
6923 }
6924 ret = child;
6925 }
6926 });
6927 }
6928 return ret;
6929 }
6930
6931 function findHiddenChildInChildrenByKey(children, key, showProp) {
6932 var found = 0;
6933 if (children) {
6934 children.forEach(function (child) {
6935 if (found) {
6936 return;
6937 }
6938 found = child && child.key === key && !child.props[showProp];
6939 });
6940 }
6941 return found;
6942 }
6943
6944 function isSameChildren(c1, c2, showProp) {
6945 var same = c1.length === c2.length;
6946 if (same) {
6947 c1.forEach(function (child, index) {
6948 var child2 = c2[index];
6949 if (child && child2) {
6950 if (child && !child2 || !child && child2) {
6951 same = false;
6952 } else if (child.key !== child2.key) {
6953 same = false;
6954 } else if (showProp && child.props[showProp] !== child2.props[showProp]) {
6955 same = false;
6956 }
6957 }
6958 });
6959 }
6960 return same;
6961 }
6962
6963 function mergeChildren(prev, next) {
6964 var ret = [];
6965
6966 // For each key of `next`, the list of keys to insert before that key in
6967 // the combined list
6968 var nextChildrenPending = {};
6969 var pendingChildren = [];
6970 prev.forEach(function (child) {
6971 if (child && findChildInChildrenByKey(next, child.key)) {
6972 if (pendingChildren.length) {
6973 nextChildrenPending[child.key] = pendingChildren;
6974 pendingChildren = [];
6975 }
6976 } else {
6977 pendingChildren.push(child);
6978 }
6979 });
6980
6981 next.forEach(function (child) {
6982 if (child && nextChildrenPending.hasOwnProperty(child.key)) {
6983 ret = ret.concat(nextChildrenPending[child.key]);
6984 }
6985 ret.push(child);
6986 });
6987
6988 ret = ret.concat(pendingChildren);
6989
6990 return ret;
6991 }
6992
6993/***/ }),
6994/* 72 */
6995/***/ (function(module, exports, __webpack_require__) {
6996
6997 'use strict';
6998
6999 Object.defineProperty(exports, "__esModule", {
7000 value: true
7001 });
7002
7003 var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
7004
7005 var _react = __webpack_require__(4);
7006
7007 var _react2 = _interopRequireDefault(_react);
7008
7009 var _propTypes = __webpack_require__(5);
7010
7011 var _propTypes2 = _interopRequireDefault(_propTypes);
7012
7013 var _reactDom = __webpack_require__(12);
7014
7015 var _reactDom2 = _interopRequireDefault(_reactDom);
7016
7017 var _tinperBeeCore = __webpack_require__(27);
7018
7019 var _util = __webpack_require__(73);
7020
7021 var _util2 = _interopRequireDefault(_util);
7022
7023 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
7024
7025 function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
7026
7027 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
7028
7029 function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
7030
7031 function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
7032
7033 var transitionMap = {
7034 enter: 'transitionEnter',
7035 appear: 'transitionAppear',
7036 leave: 'transitionLeave'
7037 };
7038
7039 var propTypes = {
7040 children: _propTypes2["default"].any
7041 };
7042
7043 var AnimateChild = function (_Component) {
7044 _inherits(AnimateChild, _Component);
7045
7046 function AnimateChild(props) {
7047 _classCallCheck(this, AnimateChild);
7048
7049 var _this = _possibleConstructorReturn(this, _Component.call(this, props));
7050
7051 _this.transition = _this.transition.bind(_this);
7052 _this.stop = _this.stop.bind(_this);
7053 return _this;
7054 }
7055
7056 AnimateChild.prototype.componentWillUnmount = function componentWillUnmount() {
7057 this.stop();
7058 };
7059
7060 AnimateChild.prototype.componentWillEnter = function componentWillEnter(done) {
7061 if (_util2["default"].isEnterSupported(this.props)) {
7062 this.transition('enter', done);
7063 } else {
7064 done();
7065 }
7066 };
7067
7068 AnimateChild.prototype.componentWillAppear = function componentWillAppear(done) {
7069 if (_util2["default"].isAppearSupported(this.props)) {
7070 this.transition('appear', done);
7071 } else {
7072 done();
7073 }
7074 };
7075
7076 AnimateChild.prototype.componentWillLeave = function componentWillLeave(done) {
7077 if (_util2["default"].isLeaveSupported(this.props)) {
7078 this.transition('leave', done);
7079 } else {
7080 // always sync, do not interupt with react component life cycle
7081 // update hidden -> animate hidden ->
7082 // didUpdate -> animate leave -> unmount (if animate is none)
7083 done();
7084 }
7085 };
7086
7087 AnimateChild.prototype.transition = function transition(animationType, finishCallback) {
7088 var _this2 = this;
7089
7090 var node = _reactDom2["default"].findDOMNode(this);
7091 var props = this.props;
7092 var transitionName = props.transitionName;
7093 var nameIsObj = (typeof transitionName === 'undefined' ? 'undefined' : _typeof(transitionName)) === 'object';
7094 this.stop();
7095 var end = function end() {
7096 _this2.stopper = null;
7097 finishCallback();
7098 };
7099 if ((_tinperBeeCore.cssAnimation.isCssAnimationSupported || !props.animation[animationType]) && transitionName && props[transitionMap[animationType]]) {
7100 var name = nameIsObj ? transitionName[animationType] : transitionName + '-' + animationType;
7101 var activeName = name + '-active';
7102 if (nameIsObj && transitionName[animationType + 'Active']) {
7103 activeName = transitionName[animationType + 'Active'];
7104 }
7105 this.stopper = (0, _tinperBeeCore.cssAnimation)(node, {
7106 name: name,
7107 active: activeName
7108 }, end);
7109 } else {
7110 this.stopper = props.animation[animationType](node, end);
7111 }
7112 };
7113
7114 AnimateChild.prototype.stop = function stop() {
7115 var stopper = this.stopper;
7116 if (stopper) {
7117 this.stopper = null;
7118 stopper.stop();
7119 }
7120 };
7121
7122 AnimateChild.prototype.render = function render() {
7123 return this.props.children;
7124 };
7125
7126 return AnimateChild;
7127 }(_react.Component);
7128
7129 ;
7130
7131 AnimateChild.propTypes = propTypes;
7132
7133 exports["default"] = AnimateChild;
7134 module.exports = exports['default'];
7135
7136/***/ }),
7137/* 73 */
7138/***/ (function(module, exports) {
7139
7140 "use strict";
7141
7142 Object.defineProperty(exports, "__esModule", {
7143 value: true
7144 });
7145 var util = {
7146 isAppearSupported: function isAppearSupported(props) {
7147 return props.transitionName && props.transitionAppear || props.animation.appear;
7148 },
7149 isEnterSupported: function isEnterSupported(props) {
7150 return props.transitionName && props.transitionEnter || props.animation.enter;
7151 },
7152 isLeaveSupported: function isLeaveSupported(props) {
7153 return props.transitionName && props.transitionLeave || props.animation.leave;
7154 },
7155 allowAppearCallback: function allowAppearCallback(props) {
7156 return props.transitionAppear || props.animation.appear;
7157 },
7158 allowEnterCallback: function allowEnterCallback(props) {
7159 return props.transitionEnter || props.animation.enter;
7160 },
7161 allowLeaveCallback: function allowLeaveCallback(props) {
7162 return props.transitionLeave || props.animation.leave;
7163 }
7164 };
7165 exports["default"] = util;
7166 module.exports = exports["default"];
7167
7168/***/ }),
7169/* 74 */
7170/***/ (function(module, exports, __webpack_require__) {
7171
7172 'use strict';
7173
7174 Object.defineProperty(exports, "__esModule", {
7175 value: true
7176 });
7177
7178 var _react = __webpack_require__(4);
7179
7180 var _react2 = _interopRequireDefault(_react);
7181
7182 var _classnames = __webpack_require__(3);
7183
7184 var _classnames2 = _interopRequireDefault(_classnames);
7185
7186 var _propTypes = __webpack_require__(5);
7187
7188 var _propTypes2 = _interopRequireDefault(_propTypes);
7189
7190 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
7191
7192 function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
7193
7194 function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
7195
7196 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
7197
7198 function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
7199
7200 function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
7201
7202 var propTypes = {
7203 duration: _propTypes2["default"].number,
7204 onClose: _propTypes2["default"].func,
7205 children: _propTypes2["default"].any,
7206 color: _propTypes2["default"].oneOf(['info', 'success', 'danger', 'warning', 'light', 'dark', 'news', 'infolight', 'successlight', 'dangerlight', 'warninglight']),
7207 title: _propTypes2["default"].any
7208 };
7209
7210 function noop() {}
7211
7212 var defaultProps = {
7213 onEnd: noop,
7214 onClose: noop,
7215 duration: 4.5,
7216 closable: true
7217 };
7218
7219 var Notice = function (_React$Component) {
7220 _inherits(Notice, _React$Component);
7221
7222 function Notice(props) {
7223 _classCallCheck(this, Notice);
7224
7225 var _this = _possibleConstructorReturn(this, _React$Component.call(this, props));
7226
7227 _this.clearCloseTimer = _this.clearCloseTimer.bind(_this);
7228 _this.close = _this.close.bind(_this);
7229 return _this;
7230 }
7231
7232 Notice.prototype.componentDidMount = function componentDidMount() {
7233 var _this2 = this;
7234
7235 if (this.props.duration) {
7236 this.closeTimer = setTimeout(function () {
7237 _this2.close();
7238 }, this.props.duration * 1000);
7239 }
7240 };
7241
7242 Notice.prototype.componentWillUnmount = function componentWillUnmount() {
7243 this.clearCloseTimer();
7244 };
7245
7246 Notice.prototype.clearCloseTimer = function clearCloseTimer() {
7247 if (this.closeTimer) {
7248 clearTimeout(this.closeTimer);
7249 this.closeTimer = null;
7250 }
7251 };
7252
7253 Notice.prototype.close = function close() {
7254 this.clearCloseTimer();
7255 this.props.onClose();
7256 };
7257
7258 Notice.prototype.render = function render() {
7259 var _classes;
7260
7261 var _props = this.props,
7262 closable = _props.closable,
7263 clsPrefix = _props.clsPrefix,
7264 className = _props.className,
7265 style = _props.style,
7266 children = _props.children,
7267 color = _props.color,
7268 title = _props.title;
7269
7270 var componentClass = clsPrefix + '-notice';
7271 var classes = (_classes = {}, _defineProperty(_classes, '' + componentClass, 1), _defineProperty(_classes, componentClass + '-closable', closable), _defineProperty(_classes, className, !!className), _classes);
7272 if (color) {
7273 classes[componentClass + '-' + color] = true;
7274 }
7275 return _react2["default"].createElement(
7276 'div',
7277 { className: (0, _classnames2["default"])(classes), style: style, onClick: this.close },
7278 _react2["default"].createElement(
7279 'div',
7280 { className: componentClass + '-content' },
7281 title && _react2["default"].createElement(
7282 'div',
7283 { className: componentClass + '-title' },
7284 title
7285 ),
7286 _react2["default"].createElement(
7287 'div',
7288 { className: componentClass + '-description' },
7289 children
7290 )
7291 ),
7292 closable ? _react2["default"].createElement(
7293 'a',
7294 { tabIndex: '0', onClick: this.close, className: componentClass + '-close' },
7295 _react2["default"].createElement('span', { className: componentClass + '-close-x' })
7296 ) : null
7297 );
7298 };
7299
7300 return Notice;
7301 }(_react2["default"].Component);
7302
7303 ;
7304
7305 Notice.propTypes = propTypes;
7306 Notice.defaultProps = defaultProps;
7307
7308 exports["default"] = Notice;
7309 module.exports = exports['default'];
7310
7311/***/ }),
7312/* 75 */
7313/***/ (function(module, exports, __webpack_require__) {
7314
7315 'use strict';
7316
7317 var deselectCurrent = __webpack_require__(76);
7318
7319 var defaultMessage = 'Copy to clipboard: #{key}, Enter';
7320
7321 function format(message) {
7322 var copyKey = (/mac os x/i.test(navigator.userAgent) ? '⌘' : 'Ctrl') + '+C';
7323 return message.replace(/#{\s*key\s*}/g, copyKey);
7324 }
7325
7326 function copy(text, options) {
7327 var debug, message, reselectPrevious, range, selection, mark, success = false;
7328 if (!options) { options = {}; }
7329 debug = options.debug || false;
7330 try {
7331 reselectPrevious = deselectCurrent();
7332
7333 range = document.createRange();
7334 selection = document.getSelection();
7335
7336 mark = document.createElement('span');
7337 mark.textContent = text;
7338 // reset user styles for span element
7339 mark.style.all = 'unset';
7340 // prevents scrolling to the end of the page
7341 mark.style.position = 'fixed';
7342 mark.style.top = 0;
7343 mark.style.clip = 'rect(0, 0, 0, 0)';
7344 // used to preserve spaces and line breaks
7345 mark.style.whiteSpace = 'pre';
7346 // do not inherit user-select (it may be `none`)
7347 mark.style.webkitUserSelect = 'text';
7348 mark.style.MozUserSelect = 'text';
7349 mark.style.msUserSelect = 'text';
7350 mark.style.userSelect = 'text';
7351
7352 document.body.appendChild(mark);
7353
7354 range.selectNode(mark);
7355 selection.addRange(range);
7356
7357 var successful = document.execCommand('copy');
7358 if (!successful) {
7359 throw new Error('copy command was unsuccessful');
7360 }
7361 success = true;
7362 } catch (err) {
7363 debug && console.error('unable to copy using execCommand: ', err);
7364 debug && console.warn('trying IE specific stuff');
7365 try {
7366 window.clipboardData.setData('text', text);
7367 success = true;
7368 } catch (err) {
7369 debug && console.error('unable to copy using clipboardData: ', err);
7370 debug && console.error('falling back to prompt');
7371 message = format('message' in options ? options.message : defaultMessage);
7372 window.prompt(message, text);
7373 }
7374 } finally {
7375 if (selection) {
7376 if (typeof selection.removeRange == 'function') {
7377 selection.removeRange(range);
7378 } else {
7379 selection.removeAllRanges();
7380 }
7381 }
7382
7383 if (mark) {
7384 document.body.removeChild(mark);
7385 }
7386 reselectPrevious();
7387 }
7388
7389 return success;
7390 }
7391
7392 module.exports = copy;
7393
7394
7395/***/ }),
7396/* 76 */
7397/***/ (function(module, exports) {
7398
7399
7400 module.exports = function () {
7401 var selection = document.getSelection();
7402 if (!selection.rangeCount) {
7403 return function () {};
7404 }
7405 var active = document.activeElement;
7406
7407 var ranges = [];
7408 for (var i = 0; i < selection.rangeCount; i++) {
7409 ranges.push(selection.getRangeAt(i));
7410 }
7411
7412 switch (active.tagName.toUpperCase()) { // .toUpperCase handles XHTML
7413 case 'INPUT':
7414 case 'TEXTAREA':
7415 active.blur();
7416 break;
7417
7418 default:
7419 active = null;
7420 break;
7421 }
7422
7423 selection.removeAllRanges();
7424 return function () {
7425 selection.type === 'Caret' &&
7426 selection.removeAllRanges();
7427
7428 if (!selection.rangeCount) {
7429 ranges.forEach(function(range) {
7430 selection.addRange(range);
7431 });
7432 }
7433
7434 active &&
7435 active.focus();
7436 };
7437 };
7438
7439
7440/***/ }),
7441/* 77 */
7442/***/ (function(module, exports, __webpack_require__) {
7443
7444 'use strict';
7445
7446 Object.defineProperty(exports, "__esModule", {
7447 value: true
7448 });
7449
7450 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; };
7451
7452 var _classnames = __webpack_require__(3);
7453
7454 var _classnames2 = _interopRequireDefault(_classnames);
7455
7456 var _react = __webpack_require__(4);
7457
7458 var _react2 = _interopRequireDefault(_react);
7459
7460 var _propTypes = __webpack_require__(5);
7461
7462 var _propTypes2 = _interopRequireDefault(_propTypes);
7463
7464 var _tinperBeeCore = __webpack_require__(27);
7465
7466 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
7467
7468 function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
7469
7470 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; }
7471
7472 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
7473
7474 function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
7475
7476 function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
7477
7478 var propTypes = {
7479 //是否是手风琴效果
7480 accordion: _propTypes2["default"].bool,
7481 //激活的项
7482 activeKey: _propTypes2["default"].any,
7483 //默认的激活的项
7484 defaultActiveKey: _propTypes2["default"].any,
7485 //选中函数
7486 onSelect: _propTypes2["default"].func,
7487 role: _propTypes2["default"].string
7488 };
7489
7490 var defaultProps = {
7491 accordion: false,
7492 clsPrefix: 'u-panel-group'
7493 };
7494
7495 // TODO: Use uncontrollable.
7496
7497 var PanelGroup = function (_React$Component) {
7498 _inherits(PanelGroup, _React$Component);
7499
7500 function PanelGroup(props, context) {
7501 _classCallCheck(this, PanelGroup);
7502
7503 var _this = _possibleConstructorReturn(this, _React$Component.call(this, props, context));
7504
7505 _this.handleSelect = _this.handleSelect.bind(_this);
7506
7507 _this.state = {
7508 activeKey: props.defaultActiveKey
7509 };
7510 return _this;
7511 }
7512
7513 PanelGroup.prototype.handleSelect = function handleSelect(key, e) {
7514 e.preventDefault();
7515
7516 if (this.props.onSelect) {
7517 this.props.onSelect(key, e);
7518 }
7519
7520 if (this.state.activeKey === key) {
7521 key = null;
7522 }
7523
7524 this.setState({ activeKey: key });
7525 };
7526
7527 PanelGroup.prototype.render = function render() {
7528 var _this2 = this;
7529
7530 var _props = this.props,
7531 accordion = _props.accordion,
7532 propsActiveKey = _props.activeKey,
7533 className = _props.className,
7534 children = _props.children,
7535 defaultActiveKey = _props.defaultActiveKey,
7536 onSelect = _props.onSelect,
7537 style = _props.style,
7538 clsPrefix = _props.clsPrefix,
7539 others = _objectWithoutProperties(_props, ['accordion', 'activeKey', 'className', 'children', 'defaultActiveKey', 'onSelect', 'style', 'clsPrefix']);
7540
7541 var activeKey = void 0;
7542 if (accordion) {
7543 activeKey = propsActiveKey != null ? propsActiveKey : this.state.activeKey;
7544 others.role = others.role || 'tablist';
7545 }
7546
7547 var classes = {};
7548 classes['' + clsPrefix] = true;
7549
7550 return _react2["default"].createElement(
7551 'div',
7552 _extends({}, others, {
7553 className: (0, _classnames2["default"])(className, classes)
7554 }),
7555 _react2["default"].Children.map(children, function (child) {
7556 if (!_react2["default"].isValidElement(child)) {
7557 return child;
7558 }
7559 var childProps = {
7560 style: child.props.style
7561 };
7562
7563 if (accordion) {
7564 _extends(childProps, {
7565 headerRole: 'tab',
7566 panelRole: 'tabpanel',
7567 collapsible: true,
7568 expanded: child.props.eventKey === activeKey,
7569 onSelect: (0, _tinperBeeCore.createChainedFunction)(_this2.handleSelect, child.props.onSelect)
7570 });
7571 }
7572
7573 return (0, _react.cloneElement)(child, childProps);
7574 })
7575 );
7576 };
7577
7578 return PanelGroup;
7579 }(_react2["default"].Component);
7580
7581 PanelGroup.propTypes = propTypes;
7582 PanelGroup.defaultProps = defaultProps;
7583
7584 exports["default"] = PanelGroup;
7585 module.exports = exports['default'];
7586
7587/***/ }),
7588/* 78 */
7589/***/ (function(module, exports, __webpack_require__) {
7590
7591 'use strict';
7592
7593 Object.defineProperty(exports, "__esModule", {
7594 value: true
7595 });
7596
7597 var _Button = __webpack_require__(79);
7598
7599 var _Button2 = _interopRequireDefault(_Button);
7600
7601 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
7602
7603 exports["default"] = _Button2["default"];
7604 module.exports = exports['default'];
7605
7606/***/ }),
7607/* 79 */
7608/***/ (function(module, exports, __webpack_require__) {
7609
7610 'use strict';
7611
7612 Object.defineProperty(exports, "__esModule", {
7613 value: true
7614 });
7615
7616 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; };
7617
7618 var _react = __webpack_require__(4);
7619
7620 var _react2 = _interopRequireDefault(_react);
7621
7622 var _reactDom = __webpack_require__(12);
7623
7624 var _reactDom2 = _interopRequireDefault(_reactDom);
7625
7626 var _propTypes = __webpack_require__(5);
7627
7628 var _propTypes2 = _interopRequireDefault(_propTypes);
7629
7630 var _classnames = __webpack_require__(3);
7631
7632 var _classnames2 = _interopRequireDefault(_classnames);
7633
7634 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
7635
7636 function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
7637
7638 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; }
7639
7640 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
7641
7642 function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
7643
7644 function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
7645
7646 var propTypes = {
7647 /**
7648 * @title 尺寸
7649 */
7650 size: _propTypes2["default"].oneOf(['sm', 'xg', 'lg']),
7651 /**
7652 * @title 样式
7653 */
7654 style: _propTypes2["default"].object,
7655 /**
7656 * @title 形状
7657 */
7658 shape: _propTypes2["default"].oneOf(['block', 'round', 'border', 'squared', 'floating', 'pillRight', 'pillLeft', 'icon']),
7659
7660 bordered: _propTypes2["default"].bool,
7661 /**
7662 * @title 类型
7663 */
7664 colors: _propTypes2["default"].oneOf(['primary', 'accent', 'success', 'info', 'warning', 'danger', 'default']),
7665 /**
7666 * @title 是否禁用
7667 * @veIgnore
7668 */
7669 disabled: _propTypes2["default"].bool,
7670 /**
7671 * @title 类名
7672 * @veIgnore
7673 */
7674 className: _propTypes2["default"].string,
7675
7676 /**
7677 * @title <button> 的 type
7678 * @veIgnore
7679 */
7680 htmlType: _propTypes2["default"].oneOf(['submit', 'button', 'reset']),
7681 isSubmit: _propTypes2["default"].bool //是否作为form的提交按钮
7682 };
7683
7684 var defaultProps = {
7685 disabled: false,
7686 htmlType: 'button',
7687 clsPrefix: 'u-button',
7688 bordered: false,
7689 isSubmit: false
7690 };
7691
7692 var sizeMap = {
7693 sm: 'sm',
7694 xg: 'xg',
7695 lg: 'lg'
7696 },
7697 colorsMap = {
7698 primary: 'primary',
7699 accent: 'accent',
7700 success: 'success',
7701 info: 'info',
7702 warning: 'warning',
7703 danger: 'danger'
7704 },
7705 shapeMap = {
7706 block: 'block',
7707 round: 'round',
7708 border: 'border',
7709 squared: 'squared',
7710 floating: 'floating',
7711 pillRight: 'pill-right',
7712 pillLeft: 'pill-left',
7713 icon: 'icon'
7714 };
7715
7716 var Button = function (_Component) {
7717 _inherits(Button, _Component);
7718
7719 function Button(props) {
7720 _classCallCheck(this, Button);
7721
7722 return _possibleConstructorReturn(this, _Component.call(this, props));
7723 }
7724
7725 Button.prototype.render = function render() {
7726 var _props = this.props,
7727 colors = _props.colors,
7728 shape = _props.shape,
7729 disabled = _props.disabled,
7730 className = _props.className,
7731 size = _props.size,
7732 bordered = _props.bordered,
7733 children = _props.children,
7734 htmlType = _props.htmlType,
7735 clsPrefix = _props.clsPrefix,
7736 isSubmit = _props.isSubmit,
7737 others = _objectWithoutProperties(_props, ['colors', 'shape', 'disabled', 'className', 'size', 'bordered', 'children', 'htmlType', 'clsPrefix', 'isSubmit']);
7738
7739 var clsObj = {};
7740 if (className) {
7741 clsObj[className] = true;
7742 }
7743 if (sizeMap[size]) {
7744 clsObj[clsPrefix + '-' + sizeMap[size]] = true;
7745 }
7746
7747 if (shapeMap[shape]) {
7748 clsObj[clsPrefix + '-' + shapeMap[shape]] = true;
7749 }
7750 if (colorsMap[colors]) {
7751 clsObj[clsPrefix + '-' + colorsMap[colors]] = true;
7752 }
7753 //clsObj[`${clsPrefix}-border`] = bordered;
7754 var classes = (0, _classnames2["default"])(clsPrefix, clsObj);
7755 return _react2["default"].createElement(
7756 'button',
7757 _extends({
7758 type: htmlType,
7759 className: classes,
7760 disabled: disabled
7761 }, others),
7762 this.props.children
7763 );
7764 };
7765
7766 return Button;
7767 }(_react.Component);
7768
7769 Button.propTypes = propTypes;
7770 Button.defaultProps = defaultProps;
7771
7772 exports["default"] = Button;
7773 module.exports = exports['default'];
7774
7775/***/ }),
7776/* 80 */
7777/***/ (function(module, exports, __webpack_require__) {
7778
7779 'use strict';
7780
7781 Object.defineProperty(exports, "__esModule", {
7782 value: true
7783 });
7784
7785 var _react = __webpack_require__(4);
7786
7787 var _react2 = _interopRequireDefault(_react);
7788
7789 var _src = __webpack_require__(81);
7790
7791 var _src2 = _interopRequireDefault(_src);
7792
7793 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
7794
7795 function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
7796
7797 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
7798
7799 function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
7800
7801 function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); } /**
7802 *
7803 * @title 常用基础 Step
7804 * @description current 标记当前进行哪一步
7805 *
7806 */
7807
7808 var Demo1 = function (_Component) {
7809 _inherits(Demo1, _Component);
7810
7811 function Demo1() {
7812 _classCallCheck(this, Demo1);
7813
7814 return _possibleConstructorReturn(this, _Component.apply(this, arguments));
7815 }
7816
7817 Demo1.prototype.render = function render() {
7818 return _react2['default'].createElement(
7819 _src2['default'].Steps,
7820 { current: 1 },
7821 _react2['default'].createElement(_src2['default'], { title: 'Finished', description: 'This is a description.' }),
7822 _react2['default'].createElement(_src2['default'], { title: 'In Progress', description: 'This is a description.' }),
7823 _react2['default'].createElement(_src2['default'], { title: 'Waiting', description: 'This is a description.' })
7824 );
7825 };
7826
7827 return Demo1;
7828 }(_react.Component);
7829
7830 exports['default'] = Demo1;
7831 module.exports = exports['default'];
7832
7833/***/ }),
7834/* 81 */
7835/***/ (function(module, exports, __webpack_require__) {
7836
7837 'use strict';
7838
7839 Object.defineProperty(exports, "__esModule", {
7840 value: true
7841 });
7842
7843 var _Step = __webpack_require__(82);
7844
7845 var _Step2 = _interopRequireDefault(_Step);
7846
7847 var _Steps = __webpack_require__(83);
7848
7849 var _Steps2 = _interopRequireDefault(_Steps);
7850
7851 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
7852
7853 _Step2['default'].Steps = _Steps2['default'];
7854 exports['default'] = _Step2['default'];
7855 module.exports = exports['default'];
7856
7857/***/ }),
7858/* 82 */
7859/***/ (function(module, exports, __webpack_require__) {
7860
7861 'use strict';
7862
7863 Object.defineProperty(exports, "__esModule", {
7864 value: true
7865 });
7866
7867 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; };
7868
7869 var _react = __webpack_require__(4);
7870
7871 var _react2 = _interopRequireDefault(_react);
7872
7873 var _propTypes = __webpack_require__(5);
7874
7875 var _propTypes2 = _interopRequireDefault(_propTypes);
7876
7877 var _classnames = __webpack_require__(3);
7878
7879 var _classnames2 = _interopRequireDefault(_classnames);
7880
7881 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
7882
7883 function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
7884
7885 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; }
7886
7887 function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
7888
7889 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
7890
7891 function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
7892
7893 function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
7894
7895 function isString(str) {
7896 return typeof str === 'string';
7897 }
7898
7899 var Step = function (_React$Component) {
7900 _inherits(Step, _React$Component);
7901
7902 function Step() {
7903 _classCallCheck(this, Step);
7904
7905 return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));
7906 }
7907
7908 Step.prototype.renderIconNode = function renderIconNode() {
7909 var _classNames;
7910
7911 var _props = this.props,
7912 prefixCls = _props.prefixCls,
7913 progressDot = _props.progressDot,
7914 stepNumber = _props.stepNumber,
7915 status = _props.status,
7916 title = _props.title,
7917 description = _props.description,
7918 icon = _props.icon,
7919 iconPrefix = _props.iconPrefix,
7920 icons = _props.icons;
7921
7922 var iconNode = void 0;
7923 var iconClassName = (0, _classnames2['default'])(prefixCls + '-icon', iconPrefix + 'icon', (_classNames = {}, _defineProperty(_classNames, iconPrefix + 'icon-' + icon, icon && isString(icon)), _defineProperty(_classNames, iconPrefix + 'icon-check', !icon && status === 'finish' && icons && !icons.finish), _defineProperty(_classNames, iconPrefix + 'icon-close', !icon && status === 'error' && icons && !icons.error), _classNames));
7924 var iconDot = _react2['default'].createElement('span', { className: prefixCls + '-icon-dot' });
7925 // `progressDot` enjoy the highest priority
7926 if (progressDot) {
7927 if (typeof progressDot === 'function') {
7928 iconNode = _react2['default'].createElement(
7929 'span',
7930 { className: prefixCls + '-icon' },
7931 progressDot(iconDot, { index: stepNumber - 1, status: status, title: title, description: description })
7932 );
7933 } else {
7934 iconNode = _react2['default'].createElement(
7935 'span',
7936 { className: prefixCls + '-icon' },
7937 iconDot
7938 );
7939 }
7940 } else if (icon && !isString(icon)) {
7941 iconNode = _react2['default'].createElement(
7942 'span',
7943 { className: prefixCls + '-icon' },
7944 icon
7945 );
7946 } else if (icons && icons.finish && status === 'finish') {
7947 iconNode = _react2['default'].createElement(
7948 'span',
7949 { className: prefixCls + '-icon' },
7950 icons.finish
7951 );
7952 } else if (icons && icons.error && status === 'error') {
7953 iconNode = _react2['default'].createElement(
7954 'span',
7955 { className: prefixCls + '-icon' },
7956 icons.error
7957 );
7958 } else if (icon || status === 'finish' || status === 'error') {
7959 iconNode = _react2['default'].createElement('span', { className: iconClassName });
7960 } else {
7961 iconNode = _react2['default'].createElement(
7962 'span',
7963 { className: prefixCls + '-icon' },
7964 stepNumber
7965 );
7966 }
7967
7968 return iconNode;
7969 };
7970
7971 Step.prototype.render = function render() {
7972 var _props2 = this.props,
7973 className = _props2.className,
7974 prefixCls = _props2.prefixCls,
7975 style = _props2.style,
7976 itemWidth = _props2.itemWidth,
7977 _props2$status = _props2.status,
7978 status = _props2$status === undefined ? 'wait' : _props2$status,
7979 iconPrefix = _props2.iconPrefix,
7980 icon = _props2.icon,
7981 wrapperStyle = _props2.wrapperStyle,
7982 adjustMarginRight = _props2.adjustMarginRight,
7983 stepNumber = _props2.stepNumber,
7984 description = _props2.description,
7985 title = _props2.title,
7986 progressDot = _props2.progressDot,
7987 tailContent = _props2.tailContent,
7988 icons = _props2.icons,
7989 restProps = _objectWithoutProperties(_props2, ['className', 'prefixCls', 'style', 'itemWidth', 'status', 'iconPrefix', 'icon', 'wrapperStyle', 'adjustMarginRight', 'stepNumber', 'description', 'title', 'progressDot', 'tailContent', 'icons']);
7990
7991 var classString = (0, _classnames2['default'])(prefixCls + '-item', prefixCls + '-item-' + status, className, _defineProperty({}, prefixCls + '-item-custom', icon));
7992 var stepItemStyle = _extends({}, style);
7993 if (itemWidth) {
7994 stepItemStyle.width = itemWidth;
7995 }
7996 if (adjustMarginRight) {
7997 stepItemStyle.marginRight = adjustMarginRight;
7998 }
7999 return _react2['default'].createElement(
8000 'div',
8001 _extends({}, restProps, {
8002 className: classString,
8003 style: stepItemStyle
8004 }),
8005 _react2['default'].createElement(
8006 'div',
8007 { className: prefixCls + '-item-tail' },
8008 tailContent
8009 ),
8010 _react2['default'].createElement(
8011 'div',
8012 { className: prefixCls + '-item-icon' },
8013 this.renderIconNode()
8014 ),
8015 _react2['default'].createElement(
8016 'div',
8017 { className: prefixCls + '-item-content' },
8018 _react2['default'].createElement(
8019 'div',
8020 { className: prefixCls + '-item-title' },
8021 title
8022 ),
8023 description && _react2['default'].createElement(
8024 'div',
8025 { className: prefixCls + '-item-description' },
8026 description
8027 )
8028 )
8029 );
8030 };
8031
8032 return Step;
8033 }(_react2['default'].Component);
8034
8035 Step.propTypes = {
8036 className: _propTypes2['default'].string,
8037 prefixCls: _propTypes2['default'].string,
8038 style: _propTypes2['default'].object,
8039 wrapperStyle: _propTypes2['default'].object,
8040 itemWidth: _propTypes2['default'].oneOfType([_propTypes2['default'].number, _propTypes2['default'].string]),
8041 status: _propTypes2['default'].string,
8042 iconPrefix: _propTypes2['default'].string,
8043 icon: _propTypes2['default'].node,
8044 adjustMarginRight: _propTypes2['default'].oneOfType([_propTypes2['default'].number, _propTypes2['default'].string]),
8045 stepNumber: _propTypes2['default'].string,
8046 description: _propTypes2['default'].any,
8047 title: _propTypes2['default'].any,
8048 progressDot: _propTypes2['default'].oneOfType([_propTypes2['default'].bool, _propTypes2['default'].func]),
8049 tailContent: _propTypes2['default'].any,
8050 icons: _propTypes2['default'].shape({
8051 finish: _propTypes2['default'].node,
8052 error: _propTypes2['default'].node
8053 })
8054 };
8055
8056 exports['default'] = Step;
8057 module.exports = exports['default'];
8058
8059/***/ }),
8060/* 83 */
8061/***/ (function(module, exports, __webpack_require__) {
8062
8063 'use strict';
8064
8065 Object.defineProperty(exports, "__esModule", {
8066 value: true
8067 });
8068
8069 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; };
8070
8071 var _react = __webpack_require__(4);
8072
8073 var _react2 = _interopRequireDefault(_react);
8074
8075 var _propTypes = __webpack_require__(5);
8076
8077 var _propTypes2 = _interopRequireDefault(_propTypes);
8078
8079 var _reactDom = __webpack_require__(12);
8080
8081 var _classnames = __webpack_require__(3);
8082
8083 var _classnames2 = _interopRequireDefault(_classnames);
8084
8085 var _lodash = __webpack_require__(84);
8086
8087 var _lodash2 = _interopRequireDefault(_lodash);
8088
8089 var _utils = __webpack_require__(85);
8090
8091 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
8092
8093 function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
8094
8095 function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
8096
8097 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; }
8098
8099 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
8100
8101 function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
8102
8103 function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
8104
8105 var propTypes = { prefixCls: _propTypes2['default'].string,
8106 className: _propTypes2['default'].string,
8107 iconPrefix: _propTypes2['default'].string,
8108 direction: _propTypes2['default'].string,
8109 labelPlacement: _propTypes2['default'].string,
8110 children: _propTypes2['default'].any,
8111 status: _propTypes2['default'].string,
8112 size: _propTypes2['default'].string,
8113 progressDot: _propTypes2['default'].oneOfType([_propTypes2['default'].bool, _propTypes2['default'].func]),
8114 style: _propTypes2['default'].object,
8115 initial: _propTypes2['default'].number,
8116 current: _propTypes2['default'].number,
8117 icons: _propTypes2['default'].shape({
8118 finish: _propTypes2['default'].node,
8119 error: _propTypes2['default'].node
8120 })
8121 };
8122
8123 var defaultProps = {
8124 prefixCls: 'u-steps',
8125 iconPrefix: 'u',
8126 direction: 'horizontal',
8127 labelPlacement: 'horizontal',
8128 current: 0,
8129 initial: 0,
8130 status: 'process',
8131 size: 'default',
8132 progressDot: false
8133 };
8134
8135 var Steps = function (_React$Component) {
8136 _inherits(Steps, _React$Component);
8137
8138 function Steps(props) {
8139 _classCallCheck(this, Steps);
8140
8141 var _this = _possibleConstructorReturn(this, _React$Component.call(this, props));
8142
8143 _this.calcStepOffsetWidth = function () {
8144 if ((0, _utils.isFlexSupported)()) {
8145 return;
8146 }
8147 // Just for IE9
8148 var domNode = (0, _reactDom.findDOMNode)(_this);
8149 if (domNode.children.length > 0) {
8150 if (_this.calcTimeout) {
8151 clearTimeout(_this.calcTimeout);
8152 }
8153 _this.calcTimeout = setTimeout(function () {
8154 // +1 for fit edge bug of digit width, like 35.4px
8155 var lastStepOffsetWidth = (domNode.lastChild.offsetWidth || 0) + 1;
8156 // Reduce shake bug
8157 if (_this.state.lastStepOffsetWidth === lastStepOffsetWidth || Math.abs(_this.state.lastStepOffsetWidth - lastStepOffsetWidth) <= 3) {
8158 return;
8159 }
8160 _this.setState({ lastStepOffsetWidth: lastStepOffsetWidth });
8161 });
8162 }
8163 };
8164
8165 _this.state = {
8166 flexSupported: true,
8167 lastStepOffsetWidth: 0
8168 };
8169 _this.calcStepOffsetWidth = (0, _lodash2['default'])(_this.calcStepOffsetWidth, 150);
8170 return _this;
8171 }
8172
8173 Steps.prototype.componentDidMount = function componentDidMount() {
8174 this.calcStepOffsetWidth();
8175 if (!(0, _utils.isFlexSupported)()) {
8176 this.setState({
8177 flexSupported: false
8178 });
8179 }
8180 };
8181
8182 Steps.prototype.componentDidUpdate = function componentDidUpdate() {
8183 this.calcStepOffsetWidth();
8184 };
8185
8186 Steps.prototype.componentWillUnmount = function componentWillUnmount() {
8187 if (this.calcTimeout) {
8188 clearTimeout(this.calcTimeout);
8189 }
8190 if (this.calcStepOffsetWidth && this.calcStepOffsetWidth.cancel) {
8191 this.calcStepOffsetWidth.cancel();
8192 }
8193 };
8194
8195 Steps.prototype.render = function render() {
8196 var _classNames;
8197
8198 var _props = this.props,
8199 prefixCls = _props.prefixCls,
8200 _props$style = _props.style,
8201 style = _props$style === undefined ? {} : _props$style,
8202 className = _props.className,
8203 children = _props.children,
8204 direction = _props.direction,
8205 labelPlacement = _props.labelPlacement,
8206 iconPrefix = _props.iconPrefix,
8207 status = _props.status,
8208 size = _props.size,
8209 current = _props.current,
8210 progressDot = _props.progressDot,
8211 initial = _props.initial,
8212 icons = _props.icons,
8213 restProps = _objectWithoutProperties(_props, ['prefixCls', 'style', 'className', 'children', 'direction', 'labelPlacement', 'iconPrefix', 'status', 'size', 'current', 'progressDot', 'initial', 'icons']);
8214
8215 var _state = this.state,
8216 lastStepOffsetWidth = _state.lastStepOffsetWidth,
8217 flexSupported = _state.flexSupported;
8218
8219 var filteredChildren = _react2['default'].Children.toArray(children).filter(function (c) {
8220 return !!c;
8221 });
8222 var lastIndex = filteredChildren.length - 1;
8223 var adjustedlabelPlacement = !!progressDot ? 'vertical' : labelPlacement;
8224 var classString = (0, _classnames2['default'])(prefixCls, prefixCls + '-' + direction, className, (_classNames = {}, _defineProperty(_classNames, prefixCls + '-' + size, size), _defineProperty(_classNames, prefixCls + '-label-' + adjustedlabelPlacement, direction === 'horizontal'), _defineProperty(_classNames, prefixCls + '-dot', !!progressDot), _classNames));
8225
8226 return _react2['default'].createElement(
8227 'div',
8228 _extends({ className: classString, style: style }, restProps),
8229 _react.Children.map(filteredChildren, function (child, index) {
8230 if (!child) {
8231 return null;
8232 }
8233 var stepNumber = initial + index;
8234 var childProps = _extends({
8235 stepNumber: '' + (stepNumber + 1),
8236 prefixCls: prefixCls,
8237 iconPrefix: iconPrefix,
8238 wrapperStyle: style,
8239 progressDot: progressDot,
8240 icons: icons
8241 }, child.props);
8242 if (!flexSupported && direction !== 'vertical' && index !== lastIndex) {
8243 childProps.itemWidth = 100 / lastIndex + '%';
8244 childProps.adjustMarginRight = -Math.round(lastStepOffsetWidth / lastIndex + 1);
8245 }
8246 // fix tail color
8247 if (status === 'error' && index === current - 1) {
8248 childProps.className = prefixCls + '-next-error';
8249 }
8250 if (!child.props.status) {
8251 if (stepNumber === current) {
8252 childProps.status = status;
8253 } else if (stepNumber < current) {
8254 childProps.status = 'finish';
8255 } else {
8256 childProps.status = 'wait';
8257 }
8258 }
8259 return (0, _react.cloneElement)(child, childProps);
8260 })
8261 );
8262 };
8263
8264 return Steps;
8265 }(_react2['default'].Component);
8266
8267 Steps.defaultProps = defaultProps;
8268 Steps.propTypes = propTypes;
8269
8270 exports['default'] = Steps;
8271 module.exports = exports['default'];
8272
8273/***/ }),
8274/* 84 */
8275/***/ (function(module, exports) {
8276
8277 /* WEBPACK VAR INJECTION */(function(global) {/**
8278 * lodash (Custom Build) <https://lodash.com/>
8279 * Build: `lodash modularize exports="npm" -o ./`
8280 * Copyright jQuery Foundation and other contributors <https://jquery.org/>
8281 * Released under MIT license <https://lodash.com/license>
8282 * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
8283 * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
8284 */
8285
8286 /** Used as the `TypeError` message for "Functions" methods. */
8287 var FUNC_ERROR_TEXT = 'Expected a function';
8288
8289 /** Used as references for various `Number` constants. */
8290 var NAN = 0 / 0;
8291
8292 /** `Object#toString` result references. */
8293 var symbolTag = '[object Symbol]';
8294
8295 /** Used to match leading and trailing whitespace. */
8296 var reTrim = /^\s+|\s+$/g;
8297
8298 /** Used to detect bad signed hexadecimal string values. */
8299 var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;
8300
8301 /** Used to detect binary string values. */
8302 var reIsBinary = /^0b[01]+$/i;
8303
8304 /** Used to detect octal string values. */
8305 var reIsOctal = /^0o[0-7]+$/i;
8306
8307 /** Built-in method references without a dependency on `root`. */
8308 var freeParseInt = parseInt;
8309
8310 /** Detect free variable `global` from Node.js. */
8311 var freeGlobal = typeof global == 'object' && global && global.Object === Object && global;
8312
8313 /** Detect free variable `self`. */
8314 var freeSelf = typeof self == 'object' && self && self.Object === Object && self;
8315
8316 /** Used as a reference to the global object. */
8317 var root = freeGlobal || freeSelf || Function('return this')();
8318
8319 /** Used for built-in method references. */
8320 var objectProto = Object.prototype;
8321
8322 /**
8323 * Used to resolve the
8324 * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
8325 * of values.
8326 */
8327 var objectToString = objectProto.toString;
8328
8329 /* Built-in method references for those with the same name as other `lodash` methods. */
8330 var nativeMax = Math.max,
8331 nativeMin = Math.min;
8332
8333 /**
8334 * Gets the timestamp of the number of milliseconds that have elapsed since
8335 * the Unix epoch (1 January 1970 00:00:00 UTC).
8336 *
8337 * @static
8338 * @memberOf _
8339 * @since 2.4.0
8340 * @category Date
8341 * @returns {number} Returns the timestamp.
8342 * @example
8343 *
8344 * _.defer(function(stamp) {
8345 * console.log(_.now() - stamp);
8346 * }, _.now());
8347 * // => Logs the number of milliseconds it took for the deferred invocation.
8348 */
8349 var now = function() {
8350 return root.Date.now();
8351 };
8352
8353 /**
8354 * Creates a debounced function that delays invoking `func` until after `wait`
8355 * milliseconds have elapsed since the last time the debounced function was
8356 * invoked. The debounced function comes with a `cancel` method to cancel
8357 * delayed `func` invocations and a `flush` method to immediately invoke them.
8358 * Provide `options` to indicate whether `func` should be invoked on the
8359 * leading and/or trailing edge of the `wait` timeout. The `func` is invoked
8360 * with the last arguments provided to the debounced function. Subsequent
8361 * calls to the debounced function return the result of the last `func`
8362 * invocation.
8363 *
8364 * **Note:** If `leading` and `trailing` options are `true`, `func` is
8365 * invoked on the trailing edge of the timeout only if the debounced function
8366 * is invoked more than once during the `wait` timeout.
8367 *
8368 * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred
8369 * until to the next tick, similar to `setTimeout` with a timeout of `0`.
8370 *
8371 * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)
8372 * for details over the differences between `_.debounce` and `_.throttle`.
8373 *
8374 * @static
8375 * @memberOf _
8376 * @since 0.1.0
8377 * @category Function
8378 * @param {Function} func The function to debounce.
8379 * @param {number} [wait=0] The number of milliseconds to delay.
8380 * @param {Object} [options={}] The options object.
8381 * @param {boolean} [options.leading=false]
8382 * Specify invoking on the leading edge of the timeout.
8383 * @param {number} [options.maxWait]
8384 * The maximum time `func` is allowed to be delayed before it's invoked.
8385 * @param {boolean} [options.trailing=true]
8386 * Specify invoking on the trailing edge of the timeout.
8387 * @returns {Function} Returns the new debounced function.
8388 * @example
8389 *
8390 * // Avoid costly calculations while the window size is in flux.
8391 * jQuery(window).on('resize', _.debounce(calculateLayout, 150));
8392 *
8393 * // Invoke `sendMail` when clicked, debouncing subsequent calls.
8394 * jQuery(element).on('click', _.debounce(sendMail, 300, {
8395 * 'leading': true,
8396 * 'trailing': false
8397 * }));
8398 *
8399 * // Ensure `batchLog` is invoked once after 1 second of debounced calls.
8400 * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });
8401 * var source = new EventSource('/stream');
8402 * jQuery(source).on('message', debounced);
8403 *
8404 * // Cancel the trailing debounced invocation.
8405 * jQuery(window).on('popstate', debounced.cancel);
8406 */
8407 function debounce(func, wait, options) {
8408 var lastArgs,
8409 lastThis,
8410 maxWait,
8411 result,
8412 timerId,
8413 lastCallTime,
8414 lastInvokeTime = 0,
8415 leading = false,
8416 maxing = false,
8417 trailing = true;
8418
8419 if (typeof func != 'function') {
8420 throw new TypeError(FUNC_ERROR_TEXT);
8421 }
8422 wait = toNumber(wait) || 0;
8423 if (isObject(options)) {
8424 leading = !!options.leading;
8425 maxing = 'maxWait' in options;
8426 maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;
8427 trailing = 'trailing' in options ? !!options.trailing : trailing;
8428 }
8429
8430 function invokeFunc(time) {
8431 var args = lastArgs,
8432 thisArg = lastThis;
8433
8434 lastArgs = lastThis = undefined;
8435 lastInvokeTime = time;
8436 result = func.apply(thisArg, args);
8437 return result;
8438 }
8439
8440 function leadingEdge(time) {
8441 // Reset any `maxWait` timer.
8442 lastInvokeTime = time;
8443 // Start the timer for the trailing edge.
8444 timerId = setTimeout(timerExpired, wait);
8445 // Invoke the leading edge.
8446 return leading ? invokeFunc(time) : result;
8447 }
8448
8449 function remainingWait(time) {
8450 var timeSinceLastCall = time - lastCallTime,
8451 timeSinceLastInvoke = time - lastInvokeTime,
8452 result = wait - timeSinceLastCall;
8453
8454 return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;
8455 }
8456
8457 function shouldInvoke(time) {
8458 var timeSinceLastCall = time - lastCallTime,
8459 timeSinceLastInvoke = time - lastInvokeTime;
8460
8461 // Either this is the first call, activity has stopped and we're at the
8462 // trailing edge, the system time has gone backwards and we're treating
8463 // it as the trailing edge, or we've hit the `maxWait` limit.
8464 return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||
8465 (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));
8466 }
8467
8468 function timerExpired() {
8469 var time = now();
8470 if (shouldInvoke(time)) {
8471 return trailingEdge(time);
8472 }
8473 // Restart the timer.
8474 timerId = setTimeout(timerExpired, remainingWait(time));
8475 }
8476
8477 function trailingEdge(time) {
8478 timerId = undefined;
8479
8480 // Only invoke if we have `lastArgs` which means `func` has been
8481 // debounced at least once.
8482 if (trailing && lastArgs) {
8483 return invokeFunc(time);
8484 }
8485 lastArgs = lastThis = undefined;
8486 return result;
8487 }
8488
8489 function cancel() {
8490 if (timerId !== undefined) {
8491 clearTimeout(timerId);
8492 }
8493 lastInvokeTime = 0;
8494 lastArgs = lastCallTime = lastThis = timerId = undefined;
8495 }
8496
8497 function flush() {
8498 return timerId === undefined ? result : trailingEdge(now());
8499 }
8500
8501 function debounced() {
8502 var time = now(),
8503 isInvoking = shouldInvoke(time);
8504
8505 lastArgs = arguments;
8506 lastThis = this;
8507 lastCallTime = time;
8508
8509 if (isInvoking) {
8510 if (timerId === undefined) {
8511 return leadingEdge(lastCallTime);
8512 }
8513 if (maxing) {
8514 // Handle invocations in a tight loop.
8515 timerId = setTimeout(timerExpired, wait);
8516 return invokeFunc(lastCallTime);
8517 }
8518 }
8519 if (timerId === undefined) {
8520 timerId = setTimeout(timerExpired, wait);
8521 }
8522 return result;
8523 }
8524 debounced.cancel = cancel;
8525 debounced.flush = flush;
8526 return debounced;
8527 }
8528
8529 /**
8530 * Checks if `value` is the
8531 * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
8532 * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
8533 *
8534 * @static
8535 * @memberOf _
8536 * @since 0.1.0
8537 * @category Lang
8538 * @param {*} value The value to check.
8539 * @returns {boolean} Returns `true` if `value` is an object, else `false`.
8540 * @example
8541 *
8542 * _.isObject({});
8543 * // => true
8544 *
8545 * _.isObject([1, 2, 3]);
8546 * // => true
8547 *
8548 * _.isObject(_.noop);
8549 * // => true
8550 *
8551 * _.isObject(null);
8552 * // => false
8553 */
8554 function isObject(value) {
8555 var type = typeof value;
8556 return !!value && (type == 'object' || type == 'function');
8557 }
8558
8559 /**
8560 * Checks if `value` is object-like. A value is object-like if it's not `null`
8561 * and has a `typeof` result of "object".
8562 *
8563 * @static
8564 * @memberOf _
8565 * @since 4.0.0
8566 * @category Lang
8567 * @param {*} value The value to check.
8568 * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
8569 * @example
8570 *
8571 * _.isObjectLike({});
8572 * // => true
8573 *
8574 * _.isObjectLike([1, 2, 3]);
8575 * // => true
8576 *
8577 * _.isObjectLike(_.noop);
8578 * // => false
8579 *
8580 * _.isObjectLike(null);
8581 * // => false
8582 */
8583 function isObjectLike(value) {
8584 return !!value && typeof value == 'object';
8585 }
8586
8587 /**
8588 * Checks if `value` is classified as a `Symbol` primitive or object.
8589 *
8590 * @static
8591 * @memberOf _
8592 * @since 4.0.0
8593 * @category Lang
8594 * @param {*} value The value to check.
8595 * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.
8596 * @example
8597 *
8598 * _.isSymbol(Symbol.iterator);
8599 * // => true
8600 *
8601 * _.isSymbol('abc');
8602 * // => false
8603 */
8604 function isSymbol(value) {
8605 return typeof value == 'symbol' ||
8606 (isObjectLike(value) && objectToString.call(value) == symbolTag);
8607 }
8608
8609 /**
8610 * Converts `value` to a number.
8611 *
8612 * @static
8613 * @memberOf _
8614 * @since 4.0.0
8615 * @category Lang
8616 * @param {*} value The value to process.
8617 * @returns {number} Returns the number.
8618 * @example
8619 *
8620 * _.toNumber(3.2);
8621 * // => 3.2
8622 *
8623 * _.toNumber(Number.MIN_VALUE);
8624 * // => 5e-324
8625 *
8626 * _.toNumber(Infinity);
8627 * // => Infinity
8628 *
8629 * _.toNumber('3.2');
8630 * // => 3.2
8631 */
8632 function toNumber(value) {
8633 if (typeof value == 'number') {
8634 return value;
8635 }
8636 if (isSymbol(value)) {
8637 return NAN;
8638 }
8639 if (isObject(value)) {
8640 var other = typeof value.valueOf == 'function' ? value.valueOf() : value;
8641 value = isObject(other) ? (other + '') : other;
8642 }
8643 if (typeof value != 'string') {
8644 return value === 0 ? value : +value;
8645 }
8646 value = value.replace(reTrim, '');
8647 var isBinary = reIsBinary.test(value);
8648 return (isBinary || reIsOctal.test(value))
8649 ? freeParseInt(value.slice(2), isBinary ? 2 : 8)
8650 : (reIsBadHex.test(value) ? NAN : +value);
8651 }
8652
8653 module.exports = debounce;
8654
8655 /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))
8656
8657/***/ }),
8658/* 85 */
8659/***/ (function(module, exports) {
8660
8661 'use strict';
8662
8663 Object.defineProperty(exports, "__esModule", {
8664 value: true
8665 });
8666 exports.isFlexSupported = isFlexSupported;
8667 function isFlexSupported() {
8668 if (typeof window !== 'undefined' && window.document && window.document.documentElement) {
8669 var documentElement = window.document.documentElement;
8670
8671 return 'flex' in documentElement.style || 'webkitFlex' in documentElement.style || 'Flex' in documentElement.style || 'msFlex' in documentElement.style;
8672 }
8673 return false;
8674 }
8675
8676/***/ }),
8677/* 86 */
8678/***/ (function(module, exports, __webpack_require__) {
8679
8680 'use strict';
8681
8682 Object.defineProperty(exports, "__esModule", {
8683 value: true
8684 });
8685
8686 var _react = __webpack_require__(4);
8687
8688 var _react2 = _interopRequireDefault(_react);
8689
8690 var _beeIcon = __webpack_require__(87);
8691
8692 var _beeIcon2 = _interopRequireDefault(_beeIcon);
8693
8694 var _src = __webpack_require__(81);
8695
8696 var _src2 = _interopRequireDefault(_src);
8697
8698 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
8699
8700 function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
8701
8702 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
8703
8704 function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
8705
8706 function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); } /**
8707 *
8708 * @title 自定义icon Step
8709 * @description
8710 *
8711 */
8712
8713 var Demo2 = function (_Component) {
8714 _inherits(Demo2, _Component);
8715
8716 function Demo2() {
8717 _classCallCheck(this, Demo2);
8718
8719 return _possibleConstructorReturn(this, _Component.apply(this, arguments));
8720 }
8721
8722 Demo2.prototype.render = function render() {
8723 return _react2['default'].createElement(
8724 _src2['default'].Steps,
8725 null,
8726 _react2['default'].createElement(_src2['default'], { status: 'finish', title: 'Login', icon: _react2['default'].createElement(_beeIcon2['default'], { type: 'uf-users-o' }) }),
8727 _react2['default'].createElement(_src2['default'], { status: 'finish', title: 'Verification', icon: _react2['default'].createElement(_beeIcon2['default'], { type: 'uf-personin-o' }) }),
8728 _react2['default'].createElement(_src2['default'], { status: 'process', title: 'Pay', icon: _react2['default'].createElement(_beeIcon2['default'], { type: 'uf-creditcard' }) }),
8729 _react2['default'].createElement(_src2['default'], { status: 'wait', title: 'Done', icon: _react2['default'].createElement(_beeIcon2['default'], { type: 'uf-correct-2' }) })
8730 );
8731 };
8732
8733 return Demo2;
8734 }(_react.Component);
8735
8736 exports['default'] = Demo2;
8737 module.exports = exports['default'];
8738
8739/***/ }),
8740/* 87 */
8741/***/ (function(module, exports, __webpack_require__) {
8742
8743 'use strict';
8744
8745 Object.defineProperty(exports, "__esModule", {
8746 value: true
8747 });
8748
8749 var _Icon = __webpack_require__(88);
8750
8751 var _Icon2 = _interopRequireDefault(_Icon);
8752
8753 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
8754
8755 exports["default"] = _Icon2["default"];
8756 module.exports = exports['default'];
8757
8758/***/ }),
8759/* 88 */
8760/***/ (function(module, exports, __webpack_require__) {
8761
8762 'use strict';
8763
8764 Object.defineProperty(exports, "__esModule", {
8765 value: true
8766 });
8767
8768 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; };
8769
8770 var _react = __webpack_require__(4);
8771
8772 var _react2 = _interopRequireDefault(_react);
8773
8774 var _classnames = __webpack_require__(3);
8775
8776 var _classnames2 = _interopRequireDefault(_classnames);
8777
8778 var _propTypes = __webpack_require__(5);
8779
8780 var _propTypes2 = _interopRequireDefault(_propTypes);
8781
8782 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
8783
8784 function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
8785
8786 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; }
8787
8788 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
8789
8790 function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
8791
8792 function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
8793
8794 var propTypes = {
8795 type: _propTypes2["default"].string
8796
8797 };
8798 /**
8799 * badge 默认显示内容1
8800 */
8801 var defaultProps = {
8802 clsPrefix: 'uf'
8803 };
8804
8805 var Icon = function (_Component) {
8806 _inherits(Icon, _Component);
8807
8808 function Icon(props) {
8809 _classCallCheck(this, Icon);
8810
8811 return _possibleConstructorReturn(this, _Component.call(this, props));
8812 }
8813
8814 Icon.prototype.render = function render() {
8815 var _props = this.props,
8816 type = _props.type,
8817 className = _props.className,
8818 clsPrefix = _props.clsPrefix,
8819 others = _objectWithoutProperties(_props, ['type', 'className', 'clsPrefix']);
8820
8821 var clsObj = {};
8822
8823 var classNames = (0, _classnames2["default"])(clsPrefix, type);
8824
8825 return _react2["default"].createElement('i', _extends({}, others, { className: (0, _classnames2["default"])(classNames, className) }));
8826 };
8827
8828 return Icon;
8829 }(_react.Component);
8830
8831 Icon.defaultProps = defaultProps;
8832 Icon.propTypes = propTypes;
8833
8834 exports["default"] = Icon;
8835 module.exports = exports['default'];
8836
8837/***/ }),
8838/* 89 */
8839/***/ (function(module, exports, __webpack_require__) {
8840
8841 'use strict';
8842
8843 Object.defineProperty(exports, "__esModule", {
8844 value: true
8845 });
8846
8847 var _react = __webpack_require__(4);
8848
8849 var _react2 = _interopRequireDefault(_react);
8850
8851 var _beeMessage = __webpack_require__(65);
8852
8853 var _beeMessage2 = _interopRequireDefault(_beeMessage);
8854
8855 var _beeButton = __webpack_require__(78);
8856
8857 var _beeButton2 = _interopRequireDefault(_beeButton);
8858
8859 var _src = __webpack_require__(81);
8860
8861 var _src2 = _interopRequireDefault(_src);
8862
8863 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
8864
8865 function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
8866
8867 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
8868
8869 function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
8870
8871 function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
8872 /**
8873 *
8874 * @title 结合切换事件的 Step
8875 * @description 点击next,Step的流程跟进
8876 *
8877 */
8878
8879
8880 var Steps = _src2['default'].Steps;
8881
8882 var steps = [{
8883 title: 'First',
8884 content: 'First-content'
8885 }, {
8886 title: 'Second',
8887 content: 'Second-content'
8888 }, {
8889 title: 'Last',
8890 content: 'Last-content'
8891 }];
8892
8893 var Demo3 = function (_Component) {
8894 _inherits(Demo3, _Component);
8895
8896 function Demo3(props) {
8897 _classCallCheck(this, Demo3);
8898
8899 var _this = _possibleConstructorReturn(this, _Component.call(this, props));
8900
8901 _this.state = {
8902 current: 0
8903 };
8904 return _this;
8905 }
8906
8907 Demo3.prototype.next = function next() {
8908 var current = this.state.current + 1;
8909 this.setState({ current: current });
8910 };
8911
8912 Demo3.prototype.prev = function prev() {
8913 var current = this.state.current - 1;
8914 this.setState({ current: current });
8915 };
8916
8917 Demo3.prototype.alertDone = function alertDone() {
8918 _beeMessage2['default'].create({ content: '完成', color: 'info' });
8919 };
8920
8921 Demo3.prototype.render = function render() {
8922 var _this2 = this;
8923
8924 var current = this.state.current;
8925
8926 return _react2['default'].createElement(
8927 'div',
8928 null,
8929 _react2['default'].createElement(
8930 Steps,
8931 { current: current },
8932 steps.map(function (item) {
8933 return _react2['default'].createElement(_src2['default'], { key: item.title, title: item.title });
8934 })
8935 ),
8936 _react2['default'].createElement(
8937 'div',
8938 { className: 'steps-content' },
8939 steps[this.state.current].content
8940 ),
8941 _react2['default'].createElement(
8942 'div',
8943 { className: 'steps-action' },
8944 this.state.current < steps.length - 1 && _react2['default'].createElement(
8945 _beeButton2['default'],
8946 { type: 'primary', onClick: function onClick() {
8947 return _this2.next();
8948 } },
8949 '\u4E0B\u4E00\u9875'
8950 ),
8951 this.state.current === steps.length - 1 && _react2['default'].createElement(
8952 _beeButton2['default'],
8953 { type: 'primary', onClick: function onClick() {
8954 return _this2.alertDone();
8955 } },
8956 '\u5B8C\u6210'
8957 ),
8958 this.state.current > 0 && _react2['default'].createElement(
8959 _beeButton2['default'],
8960 { style: { marginLeft: 8 }, onClick: function onClick() {
8961 return _this2.prev();
8962 } },
8963 '\u4E0A\u4E00\u9875'
8964 )
8965 )
8966 );
8967 };
8968
8969 return Demo3;
8970 }(_react.Component);
8971
8972 exports['default'] = Demo3;
8973 module.exports = exports['default'];
8974
8975/***/ }),
8976/* 90 */
8977/***/ (function(module, exports, __webpack_require__) {
8978
8979 'use strict';
8980
8981 Object.defineProperty(exports, "__esModule", {
8982 value: true
8983 });
8984
8985 var _react = __webpack_require__(4);
8986
8987 var _react2 = _interopRequireDefault(_react);
8988
8989 var _src = __webpack_require__(81);
8990
8991 var _src2 = _interopRequireDefault(_src);
8992
8993 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
8994
8995 function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
8996
8997 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
8998
8999 function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
9000
9001 function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); } /**
9002 *
9003 * @title vertical Step
9004 * @description
9005 *
9006 */
9007
9008 var Steps = _src2['default'].Steps;
9009
9010 var Demo4 = function (_Component) {
9011 _inherits(Demo4, _Component);
9012
9013 function Demo4() {
9014 _classCallCheck(this, Demo4);
9015
9016 return _possibleConstructorReturn(this, _Component.apply(this, arguments));
9017 }
9018
9019 Demo4.prototype.render = function render() {
9020 return _react2['default'].createElement(
9021 'div',
9022 null,
9023 _react2['default'].createElement(
9024 Steps,
9025 { direction: 'vertical', size: 'small', current: 1 },
9026 _react2['default'].createElement(_src2['default'], { title: 'Finished', description: 'This is a description.' }),
9027 _react2['default'].createElement(_src2['default'], { title: 'In Progress', description: 'This is a description.' }),
9028 _react2['default'].createElement(_src2['default'], { title: 'Waiting', description: 'This is a description.' })
9029 )
9030 );
9031 };
9032
9033 return Demo4;
9034 }(_react.Component);
9035
9036 exports['default'] = Demo4;
9037 module.exports = exports['default'];
9038
9039/***/ }),
9040/* 91 */
9041/***/ (function(module, exports, __webpack_require__) {
9042
9043 'use strict';
9044
9045 Object.defineProperty(exports, "__esModule", {
9046 value: true
9047 });
9048
9049 var _react = __webpack_require__(4);
9050
9051 var _react2 = _interopRequireDefault(_react);
9052
9053 var _src = __webpack_require__(81);
9054
9055 var _src2 = _interopRequireDefault(_src);
9056
9057 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
9058
9059 function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
9060
9061 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
9062
9063 function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
9064
9065 function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); } /**
9066 *
9067 * @title 指定状态的Step
9068 * @description 用step的status属性,指定当前step的状态
9069 *
9070 */
9071
9072 var Steps = _src2['default'].Steps;
9073
9074 var Demo5 = function (_Component) {
9075 _inherits(Demo5, _Component);
9076
9077 function Demo5() {
9078 _classCallCheck(this, Demo5);
9079
9080 return _possibleConstructorReturn(this, _Component.apply(this, arguments));
9081 }
9082
9083 Demo5.prototype.render = function render() {
9084 return _react2['default'].createElement(
9085 'div',
9086 null,
9087 _react2['default'].createElement(
9088 Steps,
9089 { current: 1, status: 'error' },
9090 _react2['default'].createElement(_src2['default'], { title: 'Finished', description: 'This is a description' }),
9091 _react2['default'].createElement(_src2['default'], { title: 'In Process', description: 'This is a description' }),
9092 _react2['default'].createElement(_src2['default'], { title: 'Waiting', description: 'This is a description' })
9093 )
9094 );
9095 };
9096
9097 return Demo5;
9098 }(_react.Component);
9099
9100 exports['default'] = Demo5;
9101 module.exports = exports['default'];
9102
9103/***/ })
9104/******/ ]);
9105//# sourceMappingURL=demo.js.map
\No newline at end of file