UNPKG

277 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__(82);
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__(84);var Demo2 = __webpack_require__(87);var Demo3 = __webpack_require__(88);var Demo4 = __webpack_require__(89);var DemoArray = [{ "example": _react2['default'].createElement(Demo1, null), "title": " 默认开关", "code": "/**\r\n *\r\n * @title 默认开关\r\n * @description\r\n *\r\n */\r\nimport React, { Component } from \"react\";\r\n\nimport { Switch, Row, Col } from 'tinper-bee';\r\n\r\nclass Demo1 extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n checked: true\r\n };\r\n }\r\n onChange = () => {\r\n this.setState({\r\n checked: !this.state.checked\r\n });\r\n };\r\n render() {\r\n return (\r\n <Row>\r\n <Col sm={2}>\r\n <Switch />\r\n </Col>\r\n <Col sm={2}>\r\n <Switch\r\n checked={this.state.checked}\r\n onChange={this.onChange}\r\n />\r\n </Col>\r\n </Row>\r\n );\r\n }\r\n}\r\n\r\n\r\n", "desc": "" }, { "example": _react2['default'].createElement(Demo2, null), "title": " 不同大小的开关", "code": "/**\r\n *\r\n * @title 不同大小的开关\r\n * @description 通过`size`属性控制开关的大小\r\n *\r\n */\r\n\r\nimport React, { Component } from \"react\";\r\n\nimport { Switch, Row, Col } from 'tinper-bee';\r\n\r\nclass Demo2 extends Component {\r\n render() {\r\n return (\r\n <Row>\r\n <Col sm={2}>\r\n <Switch size=\"sm\" />\r\n </Col>\r\n <Col sm={2}>\r\n <Switch />\r\n </Col>\r\n <Col sm={2}>\r\n <Switch size=\"lg\" />\r\n </Col>\r\n </Row>\r\n );\r\n }\r\n}\r\n\r\n\r\n", "desc": " 通过`size`属性控制开关的大小" }, { "example": _react2['default'].createElement(Demo3, null), "title": " 事件开关", "code": "/**\r\n *\r\n * @title 事件开关\r\n * @description 点击开关触发事件\r\n *\r\n */\r\n\r\nimport React, { Component } from \"react\";\r\n\nimport { Switch, Row, Col } from 'tinper-bee';\r\n\r\nclass Demo3 extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n switch: \"\",\r\n checked: false\r\n };\r\n }\r\n onChange = e => {\r\n this.setState({\r\n switch: `${e}`,\r\n checked: !this.state.checked\r\n });\r\n };\r\n\r\n render() {\r\n return (\r\n <Row>\r\n <Col sm={2}>\r\n <Switch\r\n checked={this.state.checked}\r\n onChange={this.onChange}\r\n checkedChildren={\"on\"}\r\n unCheckedChildren={\"off\"}\r\n />\r\n </Col>\r\n <Col sm={2}>\r\n <span>{this.state.switch}</span>\r\n </Col>\r\n </Row>\r\n );\r\n }\r\n}\r\n\r\n\r\n", "desc": " 点击开关触发事件" }, { "example": _react2['default'].createElement(Demo4, null), "title": " 被禁用开关", "code": "/**\r\n *\r\n * @title 被禁用开关\r\n * @description\r\n *\r\n */\r\nimport React, { Component } from \"react\";\r\n\nimport { Switch, Button, Row, Col } from 'tinper-bee';\r\n\n\r\nclass Demo4 extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n defaultDisabled: true\r\n };\r\n }\r\n onChange = () => {\r\n this.setState({\r\n defaultDisabled: !this.state.defaultDisabled\r\n });\r\n };\r\n onConsoleLog=(x)=>{\r\n console.log(x) \r\n }\r\n render() {\r\n return (\r\n <Row>\r\n <Col sm={2}>\r\n <Switch disabled={this.state.defaultDisabled}/>\r\n </Col>\r\n <Col sm={2}>\r\n <Button onClick={this.onChange}>toggle disabled</Button>\r\n </Col>\r\n </Row>\r\n );\r\n }\r\n}\r\n\r\n\r\n", "desc": "" }];
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__(81);
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__(79);
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: clsPrefix + '-copy 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 * This source code is quoted from rc-util.
2124 * homepage: https://github.com/react-component/util
2125 */
2126
2127/***/ }),
2128/* 29 */
2129/***/ (function(module, exports) {
2130
2131 'use strict';
2132
2133 exports.__esModule = true;
2134 exports.default = createChainableTypeChecker;
2135 /**
2136 * Copyright 2013-present, Facebook, Inc.
2137 * All rights reserved.
2138 *
2139 * This source code is licensed under the BSD-style license found in the
2140 * LICENSE file in the root directory of this source tree. An additional grant
2141 * of patent rights can be found in the PATENTS file in the same directory.
2142 */
2143
2144 // Mostly taken from ReactPropTypes.
2145
2146 /* This source code is quoted from rc-util.
2147 * homepage: https://github.com/react-component/util
2148 */
2149
2150 function createChainableTypeChecker(validate) {
2151 function checkType(isRequired, props, propName, componentName, location, propFullName) {
2152 var componentNameSafe = componentName || '<<anonymous>>';
2153 var propFullNameSafe = propFullName || propName;
2154
2155 if (props[propName] == null) {
2156 if (isRequired) {
2157 return new Error('Required ' + location + ' `' + propFullNameSafe + '` was not specified ' + ('in `' + componentNameSafe + '`.'));
2158 }
2159
2160 return null;
2161 }
2162
2163 for (var _len = arguments.length, args = Array(_len > 6 ? _len - 6 : 0), _key = 6; _key < _len; _key++) {
2164 args[_key - 6] = arguments[_key];
2165 }
2166
2167 return validate.apply(undefined, [props, propName, componentNameSafe, location, propFullNameSafe].concat(args));
2168 }
2169
2170 var chainedCheckType = checkType.bind(null, false);
2171 chainedCheckType.isRequired = checkType.bind(null, true);
2172
2173 return chainedCheckType;
2174 }
2175
2176/***/ }),
2177/* 30 */
2178/***/ (function(module, exports, __webpack_require__) {
2179
2180 'use strict';
2181
2182 exports.__esModule = true;
2183
2184 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; }; /**
2185 * This source code is quoted from rc-util.
2186 * homepage: https://github.com/react-component/util
2187 */
2188
2189
2190 var _react = __webpack_require__(4);
2191
2192 var _react2 = _interopRequireDefault(_react);
2193
2194 var _createChainableTypeChecker = __webpack_require__(29);
2195
2196 var _createChainableTypeChecker2 = _interopRequireDefault(_createChainableTypeChecker);
2197
2198 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2199
2200 function validate(props, propName, componentName, location, propFullName) {
2201 var propValue = props[propName];
2202 var propType = typeof propValue === 'undefined' ? 'undefined' : _typeof(propValue);
2203
2204 if (_react2.default.isValidElement(propValue)) {
2205 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.');
2206 }
2207
2208 if ((propType !== 'object' || typeof propValue.render !== 'function') && propValue.nodeType !== 1) {
2209 return new Error('Invalid ' + location + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected a ReactComponent or a ') + 'DOMElement.');
2210 }
2211
2212 return null;
2213 }
2214
2215 exports.default = (0, _createChainableTypeChecker2.default)(validate);
2216
2217/***/ }),
2218/* 31 */
2219/***/ (function(module, exports, __webpack_require__) {
2220
2221 'use strict';
2222
2223 exports.__esModule = true;
2224 exports.default = deprecated;
2225
2226 var _warning = __webpack_require__(32);
2227
2228 var _warning2 = _interopRequireDefault(_warning);
2229
2230 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2231
2232 var warned = {}; /**
2233 * This source code is quoted from rc-util.
2234 * homepage: https://github.com/react-component/util
2235 */
2236 function deprecated(validator, reason) {
2237 return function validate(props, propName, componentName, location, propFullName) {
2238 var componentNameSafe = componentName || '<<anonymous>>';
2239 var propFullNameSafe = propFullName || propName;
2240
2241 if (props[propName] != null) {
2242 var messageKey = componentName + '.' + propName;
2243
2244 (0, _warning2.default)(warned[messageKey], 'The ' + location + ' `' + propFullNameSafe + '` of ' + ('`' + componentNameSafe + '` is deprecated. ' + reason + '.'));
2245
2246 warned[messageKey] = true;
2247 }
2248
2249 for (var _len = arguments.length, args = Array(_len > 5 ? _len - 5 : 0), _key = 5; _key < _len; _key++) {
2250 args[_key - 5] = arguments[_key];
2251 }
2252
2253 return validator.apply(undefined, [props, propName, componentName, location, propFullName].concat(args));
2254 };
2255 }
2256
2257 /* eslint-disable no-underscore-dangle */
2258 function _resetWarned() {
2259 warned = {};
2260 }
2261
2262 deprecated._resetWarned = _resetWarned;
2263 /* eslint-enable no-underscore-dangle */
2264
2265/***/ }),
2266/* 32 */
2267/***/ (function(module, exports, __webpack_require__) {
2268
2269 /* WEBPACK VAR INJECTION */(function(process) {/**
2270 * Copyright 2014-2015, Facebook, Inc.
2271 * All rights reserved.
2272 *
2273 * This source code is licensed under the BSD-style license found in the
2274 * LICENSE file in the root directory of this source tree. An additional grant
2275 * of patent rights can be found in the PATENTS file in the same directory.
2276 */
2277
2278 'use strict';
2279
2280 /**
2281 * Similar to invariant but only logs a warning if the condition is not met.
2282 * This can be used to log issues in development environments in critical
2283 * paths. Removing the logging code for production environments will keep the
2284 * same logic and follow the same code paths.
2285 */
2286
2287 var warning = function() {};
2288
2289 if (process.env.NODE_ENV !== 'production') {
2290 warning = function(condition, format, args) {
2291 var len = arguments.length;
2292 args = new Array(len > 2 ? len - 2 : 0);
2293 for (var key = 2; key < len; key++) {
2294 args[key - 2] = arguments[key];
2295 }
2296 if (format === undefined) {
2297 throw new Error(
2298 '`warning(condition, format, ...args)` requires a warning ' +
2299 'message argument'
2300 );
2301 }
2302
2303 if (format.length < 10 || (/^[s\W]*$/).test(format)) {
2304 throw new Error(
2305 'The warning format should be able to uniquely identify this ' +
2306 'warning. Please, use a more descriptive format than: ' + format
2307 );
2308 }
2309
2310 if (!condition) {
2311 var argIndex = 0;
2312 var message = 'Warning: ' +
2313 format.replace(/%s/g, function() {
2314 return args[argIndex++];
2315 });
2316 if (typeof console !== 'undefined') {
2317 console.error(message);
2318 }
2319 try {
2320 // This error was thrown as a convenience so that you can use this stack
2321 // to find the callsite that caused this warning to fire.
2322 throw new Error(message);
2323 } catch(x) {}
2324 }
2325 };
2326 }
2327
2328 module.exports = warning;
2329
2330 /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(33)))
2331
2332/***/ }),
2333/* 33 */
2334/***/ (function(module, exports) {
2335
2336 // shim for using process in browser
2337 var process = module.exports = {};
2338
2339 // cached from whatever global is present so that test runners that stub it
2340 // don't break things. But we need to wrap it in a try catch in case it is
2341 // wrapped in strict mode code which doesn't define any globals. It's inside a
2342 // function because try/catches deoptimize in certain engines.
2343
2344 var cachedSetTimeout;
2345 var cachedClearTimeout;
2346
2347 function defaultSetTimout() {
2348 throw new Error('setTimeout has not been defined');
2349 }
2350 function defaultClearTimeout () {
2351 throw new Error('clearTimeout has not been defined');
2352 }
2353 (function () {
2354 try {
2355 if (typeof setTimeout === 'function') {
2356 cachedSetTimeout = setTimeout;
2357 } else {
2358 cachedSetTimeout = defaultSetTimout;
2359 }
2360 } catch (e) {
2361 cachedSetTimeout = defaultSetTimout;
2362 }
2363 try {
2364 if (typeof clearTimeout === 'function') {
2365 cachedClearTimeout = clearTimeout;
2366 } else {
2367 cachedClearTimeout = defaultClearTimeout;
2368 }
2369 } catch (e) {
2370 cachedClearTimeout = defaultClearTimeout;
2371 }
2372 } ())
2373 function runTimeout(fun) {
2374 if (cachedSetTimeout === setTimeout) {
2375 //normal enviroments in sane situations
2376 return setTimeout(fun, 0);
2377 }
2378 // if setTimeout wasn't available but was latter defined
2379 if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {
2380 cachedSetTimeout = setTimeout;
2381 return setTimeout(fun, 0);
2382 }
2383 try {
2384 // when when somebody has screwed with setTimeout but no I.E. maddness
2385 return cachedSetTimeout(fun, 0);
2386 } catch(e){
2387 try {
2388 // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
2389 return cachedSetTimeout.call(null, fun, 0);
2390 } catch(e){
2391 // 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
2392 return cachedSetTimeout.call(this, fun, 0);
2393 }
2394 }
2395
2396
2397 }
2398 function runClearTimeout(marker) {
2399 if (cachedClearTimeout === clearTimeout) {
2400 //normal enviroments in sane situations
2401 return clearTimeout(marker);
2402 }
2403 // if clearTimeout wasn't available but was latter defined
2404 if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {
2405 cachedClearTimeout = clearTimeout;
2406 return clearTimeout(marker);
2407 }
2408 try {
2409 // when when somebody has screwed with setTimeout but no I.E. maddness
2410 return cachedClearTimeout(marker);
2411 } catch (e){
2412 try {
2413 // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
2414 return cachedClearTimeout.call(null, marker);
2415 } catch (e){
2416 // 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.
2417 // Some versions of I.E. have different rules for clearTimeout vs setTimeout
2418 return cachedClearTimeout.call(this, marker);
2419 }
2420 }
2421
2422
2423
2424 }
2425 var queue = [];
2426 var draining = false;
2427 var currentQueue;
2428 var queueIndex = -1;
2429
2430 function cleanUpNextTick() {
2431 if (!draining || !currentQueue) {
2432 return;
2433 }
2434 draining = false;
2435 if (currentQueue.length) {
2436 queue = currentQueue.concat(queue);
2437 } else {
2438 queueIndex = -1;
2439 }
2440 if (queue.length) {
2441 drainQueue();
2442 }
2443 }
2444
2445 function drainQueue() {
2446 if (draining) {
2447 return;
2448 }
2449 var timeout = runTimeout(cleanUpNextTick);
2450 draining = true;
2451
2452 var len = queue.length;
2453 while(len) {
2454 currentQueue = queue;
2455 queue = [];
2456 while (++queueIndex < len) {
2457 if (currentQueue) {
2458 currentQueue[queueIndex].run();
2459 }
2460 }
2461 queueIndex = -1;
2462 len = queue.length;
2463 }
2464 currentQueue = null;
2465 draining = false;
2466 runClearTimeout(timeout);
2467 }
2468
2469 process.nextTick = function (fun) {
2470 var args = new Array(arguments.length - 1);
2471 if (arguments.length > 1) {
2472 for (var i = 1; i < arguments.length; i++) {
2473 args[i - 1] = arguments[i];
2474 }
2475 }
2476 queue.push(new Item(fun, args));
2477 if (queue.length === 1 && !draining) {
2478 runTimeout(drainQueue);
2479 }
2480 };
2481
2482 // v8 likes predictible objects
2483 function Item(fun, array) {
2484 this.fun = fun;
2485 this.array = array;
2486 }
2487 Item.prototype.run = function () {
2488 this.fun.apply(null, this.array);
2489 };
2490 process.title = 'browser';
2491 process.browser = true;
2492 process.env = {};
2493 process.argv = [];
2494 process.version = ''; // empty string to avoid regexp issues
2495 process.versions = {};
2496
2497 function noop() {}
2498
2499 process.on = noop;
2500 process.addListener = noop;
2501 process.once = noop;
2502 process.off = noop;
2503 process.removeListener = noop;
2504 process.removeAllListeners = noop;
2505 process.emit = noop;
2506 process.prependListener = noop;
2507 process.prependOnceListener = noop;
2508
2509 process.listeners = function (name) { return [] }
2510
2511 process.binding = function (name) {
2512 throw new Error('process.binding is not supported');
2513 };
2514
2515 process.cwd = function () { return '/' };
2516 process.chdir = function (dir) {
2517 throw new Error('process.chdir is not supported');
2518 };
2519 process.umask = function() { return 0; };
2520
2521
2522/***/ }),
2523/* 34 */
2524/***/ (function(module, exports, __webpack_require__) {
2525
2526 'use strict';
2527
2528 exports.__esModule = true;
2529
2530 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; }; /**
2531 * This source code is quoted from rc-util.
2532 * homepage: https://github.com/react-component/util
2533 */
2534
2535
2536 var _react = __webpack_require__(4);
2537
2538 var _react2 = _interopRequireDefault(_react);
2539
2540 var _createChainableTypeChecker = __webpack_require__(29);
2541
2542 var _createChainableTypeChecker2 = _interopRequireDefault(_createChainableTypeChecker);
2543
2544 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2545
2546 function elementType(props, propName, componentName, location, propFullName) {
2547 var propValue = props[propName];
2548 var propType = typeof propValue === 'undefined' ? 'undefined' : _typeof(propValue);
2549
2550 if (_react2.default.isValidElement(propValue)) {
2551 return new Error('Invalid ' + location + ' `' + propFullName + '` of type ReactElement ' + ('supplied to `' + componentName + '`, expected an element type (a string ') + 'or a ReactClass).');
2552 }
2553
2554 if (propType !== 'function' && propType !== 'string') {
2555 return new Error('Invalid ' + location + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected an element type (a string ') + 'or a ReactClass).');
2556 }
2557
2558 return null;
2559 }
2560
2561 exports.default = (0, _createChainableTypeChecker2.default)(elementType);
2562
2563/***/ }),
2564/* 35 */
2565/***/ (function(module, exports) {
2566
2567 'use strict';
2568
2569 exports.__esModule = true;
2570 exports.default = isRequiredForA11y;
2571 /**
2572 * This source code is quoted from rc-util.
2573 * homepage: https://github.com/react-component/util
2574 */
2575 function isRequiredForA11y(validator) {
2576 return function validate(props, propName, componentName, location, propFullName) {
2577 var componentNameSafe = componentName || '<<anonymous>>';
2578 var propFullNameSafe = propFullName || propName;
2579
2580 if (props[propName] == null) {
2581 return new Error('The ' + location + ' `' + propFullNameSafe + '` is required to make ' + ('`' + componentNameSafe + '` accessible for users of assistive ') + 'technologies such as screen readers.');
2582 }
2583
2584 for (var _len = arguments.length, args = Array(_len > 5 ? _len - 5 : 0), _key = 5; _key < _len; _key++) {
2585 args[_key - 5] = arguments[_key];
2586 }
2587
2588 return validator.apply(undefined, [props, propName, componentName, location, propFullName].concat(args));
2589 };
2590 }
2591
2592/***/ }),
2593/* 36 */
2594/***/ (function(module, exports) {
2595
2596 "use strict";
2597
2598 exports.__esModule = true;
2599 exports.default = splitComponentProps;
2600 /**
2601 * This source code is quoted from rc-util.
2602 * homepage: https://github.com/react-component/util
2603 */
2604 function _objectEntries(obj) {
2605 var entries = [];
2606 var keys = Object.keys(obj);
2607
2608 for (var k = 0; k < keys.length; ++k) {
2609 entries.push([keys[k], obj[keys[k]]]);
2610 }return entries;
2611 }
2612
2613 /**
2614 * 分割要传入父元素和子元素的props
2615 * @param {[object]} props 传入的属性
2616 * @param {[reactElement]} Component 组件
2617 * @return {[array]} 返回数组,第一个元素为父元素props对象,第二个子元素props对象
2618 */
2619 function splitComponentProps(props, Component) {
2620 var componentPropTypes = Component.propTypes;
2621
2622 var parentProps = {};
2623 var childProps = {};
2624
2625 _objectEntries(props).forEach(function (_ref) {
2626 var propName = _ref[0],
2627 propValue = _ref[1];
2628
2629 if (componentPropTypes[propName]) {
2630 parentProps[propName] = propValue;
2631 } else {
2632 childProps[propName] = propValue;
2633 }
2634 });
2635
2636 return [parentProps, childProps];
2637 }
2638
2639/***/ }),
2640/* 37 */
2641/***/ (function(module, exports) {
2642
2643 'use strict';
2644
2645 exports.__esModule = true;
2646 /**
2647 * This source code is quoted from rc-util.
2648 * homepage: https://github.com/react-component/util
2649 */
2650 function createChainedFunction() {
2651 for (var _len = arguments.length, funcs = Array(_len), _key = 0; _key < _len; _key++) {
2652 funcs[_key] = arguments[_key];
2653 }
2654
2655 return funcs.filter(function (f) {
2656 return f != null;
2657 }).reduce(function (acc, f) {
2658 if (typeof f !== 'function') {
2659 throw new Error('Invalid Argument Type, must only provide functions, undefined, or null.');
2660 }
2661
2662 if (acc === null) {
2663 return f;
2664 }
2665
2666 return function chainedFunction() {
2667 for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
2668 args[_key2] = arguments[_key2];
2669 }
2670
2671 acc.apply(this, args);
2672 f.apply(this, args);
2673 };
2674 }, null);
2675 }
2676 exports.default = createChainedFunction;
2677
2678/***/ }),
2679/* 38 */
2680/***/ (function(module, exports) {
2681
2682 /**
2683 * This source code is quoted from rc-util.
2684 * homepage: https://github.com/react-component/util
2685 */
2686 'use strict';
2687
2688 /**
2689 * @ignore
2690 * some key-codes definition and utils from closure-library
2691 * @author yiminghe@gmail.com
2692 */
2693
2694 var KeyCode = {
2695 /**
2696 * MAC_ENTER
2697 */
2698 MAC_ENTER: 3,
2699 /**
2700 * BACKSPACE
2701 */
2702 BACKSPACE: 8,
2703 /**
2704 * TAB
2705 */
2706 TAB: 9,
2707 /**
2708 * NUMLOCK on FF/Safari Mac
2709 */
2710 NUM_CENTER: 12, // NUMLOCK on FF/Safari Mac
2711 /**
2712 * ENTER
2713 */
2714 ENTER: 13,
2715 /**
2716 * SHIFT
2717 */
2718 SHIFT: 16,
2719 /**
2720 * CTRL
2721 */
2722 CTRL: 17,
2723 /**
2724 * ALT
2725 */
2726 ALT: 18,
2727 /**
2728 * PAUSE
2729 */
2730 PAUSE: 19,
2731 /**
2732 * CAPS_LOCK
2733 */
2734 CAPS_LOCK: 20,
2735 /**
2736 * ESC
2737 */
2738 ESC: 27,
2739 /**
2740 * SPACE
2741 */
2742 SPACE: 32,
2743 /**
2744 * PAGE_UP
2745 */
2746 PAGE_UP: 33, // also NUM_NORTH_EAST
2747 /**
2748 * PAGE_DOWN
2749 */
2750 PAGE_DOWN: 34, // also NUM_SOUTH_EAST
2751 /**
2752 * END
2753 */
2754 END: 35, // also NUM_SOUTH_WEST
2755 /**
2756 * HOME
2757 */
2758 HOME: 36, // also NUM_NORTH_WEST
2759 /**
2760 * LEFT
2761 */
2762 LEFT: 37, // also NUM_WEST
2763 /**
2764 * UP
2765 */
2766 UP: 38, // also NUM_NORTH
2767 /**
2768 * RIGHT
2769 */
2770 RIGHT: 39, // also NUM_EAST
2771 /**
2772 * DOWN
2773 */
2774 DOWN: 40, // also NUM_SOUTH
2775 /**
2776 * PRINT_SCREEN
2777 */
2778 PRINT_SCREEN: 44,
2779 /**
2780 * INSERT
2781 */
2782 INSERT: 45, // also NUM_INSERT
2783 /**
2784 * DELETE
2785 */
2786 DELETE: 46, // also NUM_DELETE
2787 /**
2788 * ZERO
2789 */
2790 ZERO: 48,
2791 /**
2792 * ONE
2793 */
2794 ONE: 49,
2795 /**
2796 * TWO
2797 */
2798 TWO: 50,
2799 /**
2800 * THREE
2801 */
2802 THREE: 51,
2803 /**
2804 * FOUR
2805 */
2806 FOUR: 52,
2807 /**
2808 * FIVE
2809 */
2810 FIVE: 53,
2811 /**
2812 * SIX
2813 */
2814 SIX: 54,
2815 /**
2816 * SEVEN
2817 */
2818 SEVEN: 55,
2819 /**
2820 * EIGHT
2821 */
2822 EIGHT: 56,
2823 /**
2824 * NINE
2825 */
2826 NINE: 57,
2827 /**
2828 * QUESTION_MARK
2829 */
2830 QUESTION_MARK: 63, // needs localization
2831 /**
2832 * A
2833 */
2834 A: 65,
2835 /**
2836 * B
2837 */
2838 B: 66,
2839 /**
2840 * C
2841 */
2842 C: 67,
2843 /**
2844 * D
2845 */
2846 D: 68,
2847 /**
2848 * E
2849 */
2850 E: 69,
2851 /**
2852 * F
2853 */
2854 F: 70,
2855 /**
2856 * G
2857 */
2858 G: 71,
2859 /**
2860 * H
2861 */
2862 H: 72,
2863 /**
2864 * I
2865 */
2866 I: 73,
2867 /**
2868 * J
2869 */
2870 J: 74,
2871 /**
2872 * K
2873 */
2874 K: 75,
2875 /**
2876 * L
2877 */
2878 L: 76,
2879 /**
2880 * M
2881 */
2882 M: 77,
2883 /**
2884 * N
2885 */
2886 N: 78,
2887 /**
2888 * O
2889 */
2890 O: 79,
2891 /**
2892 * P
2893 */
2894 P: 80,
2895 /**
2896 * Q
2897 */
2898 Q: 81,
2899 /**
2900 * R
2901 */
2902 R: 82,
2903 /**
2904 * S
2905 */
2906 S: 83,
2907 /**
2908 * T
2909 */
2910 T: 84,
2911 /**
2912 * U
2913 */
2914 U: 85,
2915 /**
2916 * V
2917 */
2918 V: 86,
2919 /**
2920 * W
2921 */
2922 W: 87,
2923 /**
2924 * X
2925 */
2926 X: 88,
2927 /**
2928 * Y
2929 */
2930 Y: 89,
2931 /**
2932 * Z
2933 */
2934 Z: 90,
2935 /**
2936 * META
2937 */
2938 META: 91, // WIN_KEY_LEFT
2939 /**
2940 * WIN_KEY_RIGHT
2941 */
2942 WIN_KEY_RIGHT: 92,
2943 /**
2944 * CONTEXT_MENU
2945 */
2946 CONTEXT_MENU: 93,
2947 /**
2948 * NUM_ZERO
2949 */
2950 NUM_ZERO: 96,
2951 /**
2952 * NUM_ONE
2953 */
2954 NUM_ONE: 97,
2955 /**
2956 * NUM_TWO
2957 */
2958 NUM_TWO: 98,
2959 /**
2960 * NUM_THREE
2961 */
2962 NUM_THREE: 99,
2963 /**
2964 * NUM_FOUR
2965 */
2966 NUM_FOUR: 100,
2967 /**
2968 * NUM_FIVE
2969 */
2970 NUM_FIVE: 101,
2971 /**
2972 * NUM_SIX
2973 */
2974 NUM_SIX: 102,
2975 /**
2976 * NUM_SEVEN
2977 */
2978 NUM_SEVEN: 103,
2979 /**
2980 * NUM_EIGHT
2981 */
2982 NUM_EIGHT: 104,
2983 /**
2984 * NUM_NINE
2985 */
2986 NUM_NINE: 105,
2987 /**
2988 * NUM_MULTIPLY
2989 */
2990 NUM_MULTIPLY: 106,
2991 /**
2992 * NUM_PLUS
2993 */
2994 NUM_PLUS: 107,
2995 /**
2996 * NUM_MINUS
2997 */
2998 NUM_MINUS: 109,
2999 /**
3000 * NUM_PERIOD
3001 */
3002 NUM_PERIOD: 110,
3003 /**
3004 * NUM_DIVISION
3005 */
3006 NUM_DIVISION: 111,
3007 /**
3008 * F1
3009 */
3010 F1: 112,
3011 /**
3012 * F2
3013 */
3014 F2: 113,
3015 /**
3016 * F3
3017 */
3018 F3: 114,
3019 /**
3020 * F4
3021 */
3022 F4: 115,
3023 /**
3024 * F5
3025 */
3026 F5: 116,
3027 /**
3028 * F6
3029 */
3030 F6: 117,
3031 /**
3032 * F7
3033 */
3034 F7: 118,
3035 /**
3036 * F8
3037 */
3038 F8: 119,
3039 /**
3040 * F9
3041 */
3042 F9: 120,
3043 /**
3044 * F10
3045 */
3046 F10: 121,
3047 /**
3048 * F11
3049 */
3050 F11: 122,
3051 /**
3052 * F12
3053 */
3054 F12: 123,
3055 /**
3056 * NUMLOCK
3057 */
3058 NUMLOCK: 144,
3059 /**
3060 * SEMICOLON
3061 */
3062 SEMICOLON: 186, // needs localization
3063 /**
3064 * DASH
3065 */
3066 DASH: 189, // needs localization
3067 /**
3068 * EQUALS
3069 */
3070 EQUALS: 187, // needs localization
3071 /**
3072 * COMMA
3073 */
3074 COMMA: 188, // needs localization
3075 /**
3076 * PERIOD
3077 */
3078 PERIOD: 190, // needs localization
3079 /**
3080 * SLASH
3081 */
3082 SLASH: 191, // needs localization
3083 /**
3084 * APOSTROPHE
3085 */
3086 APOSTROPHE: 192, // needs localization
3087 /**
3088 * SINGLE_QUOTE
3089 */
3090 SINGLE_QUOTE: 222, // needs localization
3091 /**
3092 * OPEN_SQUARE_BRACKET
3093 */
3094 OPEN_SQUARE_BRACKET: 219, // needs localization
3095 /**
3096 * BACKSLASH
3097 */
3098 BACKSLASH: 220, // needs localization
3099 /**
3100 * CLOSE_SQUARE_BRACKET
3101 */
3102 CLOSE_SQUARE_BRACKET: 221, // needs localization
3103 /**
3104 * WIN_KEY
3105 */
3106 WIN_KEY: 224,
3107 /**
3108 * MAC_FF_META
3109 */
3110 MAC_FF_META: 224, // Firefox (Gecko) fires this for the meta key instead of 91
3111 /**
3112 * WIN_IME
3113 */
3114 WIN_IME: 229
3115 };
3116
3117 /*
3118 whether text and modified key is entered at the same time.
3119 */
3120 KeyCode.isTextModifyingKeyEvent = function isTextModifyingKeyEvent(e) {
3121 var keyCode = e.keyCode;
3122 if (e.altKey && !e.ctrlKey || e.metaKey ||
3123 // Function keys don't generate text
3124 keyCode >= KeyCode.F1 && keyCode <= KeyCode.F12) {
3125 return false;
3126 }
3127
3128 // The following keys are quite harmless, even in combination with
3129 // CTRL, ALT or SHIFT.
3130 switch (keyCode) {
3131 case KeyCode.ALT:
3132 case KeyCode.CAPS_LOCK:
3133 case KeyCode.CONTEXT_MENU:
3134 case KeyCode.CTRL:
3135 case KeyCode.DOWN:
3136 case KeyCode.END:
3137 case KeyCode.ESC:
3138 case KeyCode.HOME:
3139 case KeyCode.INSERT:
3140 case KeyCode.LEFT:
3141 case KeyCode.MAC_FF_META:
3142 case KeyCode.META:
3143 case KeyCode.NUMLOCK:
3144 case KeyCode.NUM_CENTER:
3145 case KeyCode.PAGE_DOWN:
3146 case KeyCode.PAGE_UP:
3147 case KeyCode.PAUSE:
3148 case KeyCode.PRINT_SCREEN:
3149 case KeyCode.RIGHT:
3150 case KeyCode.SHIFT:
3151 case KeyCode.UP:
3152 case KeyCode.WIN_KEY:
3153 case KeyCode.WIN_KEY_RIGHT:
3154 return false;
3155 default:
3156 return true;
3157 }
3158 };
3159
3160 /*
3161 whether character is entered.
3162 */
3163 KeyCode.isCharacterKey = function isCharacterKey(keyCode) {
3164 if (keyCode >= KeyCode.ZERO && keyCode <= KeyCode.NINE) {
3165 return true;
3166 }
3167
3168 if (keyCode >= KeyCode.NUM_ZERO && keyCode <= KeyCode.NUM_MULTIPLY) {
3169 return true;
3170 }
3171
3172 if (keyCode >= KeyCode.A && keyCode <= KeyCode.Z) {
3173 return true;
3174 }
3175
3176 // Safari sends zero key code for non-latin characters.
3177 if (window.navigation.userAgent.indexOf('WebKit') !== -1 && keyCode === 0) {
3178 return true;
3179 }
3180
3181 switch (keyCode) {
3182 case KeyCode.SPACE:
3183 case KeyCode.QUESTION_MARK:
3184 case KeyCode.NUM_PLUS:
3185 case KeyCode.NUM_MINUS:
3186 case KeyCode.NUM_PERIOD:
3187 case KeyCode.NUM_DIVISION:
3188 case KeyCode.SEMICOLON:
3189 case KeyCode.DASH:
3190 case KeyCode.EQUALS:
3191 case KeyCode.COMMA:
3192 case KeyCode.PERIOD:
3193 case KeyCode.SLASH:
3194 case KeyCode.APOSTROPHE:
3195 case KeyCode.SINGLE_QUOTE:
3196 case KeyCode.OPEN_SQUARE_BRACKET:
3197 case KeyCode.BACKSLASH:
3198 case KeyCode.CLOSE_SQUARE_BRACKET:
3199 return true;
3200 default:
3201 return false;
3202 }
3203 };
3204
3205 module.exports = KeyCode;
3206
3207/***/ }),
3208/* 39 */
3209/***/ (function(module, exports) {
3210
3211 "use strict";
3212
3213 exports.__esModule = true;
3214 exports.default = contains;
3215 /**
3216 * This source code is quoted from rc-util.
3217 * homepage: https://github.com/react-component/util
3218 */
3219 function contains(root, n) {
3220 var node = n;
3221 while (node) {
3222 if (node === root) {
3223 return true;
3224 }
3225 node = node.parentNode;
3226 }
3227
3228 return false;
3229 }
3230
3231/***/ }),
3232/* 40 */
3233/***/ (function(module, exports, __webpack_require__) {
3234
3235 'use strict';
3236
3237 exports.__esModule = true;
3238 exports.default = addEventListenerWrap;
3239
3240 var _addDomEventListener = __webpack_require__(41);
3241
3242 var _addDomEventListener2 = _interopRequireDefault(_addDomEventListener);
3243
3244 var _reactDom = __webpack_require__(12);
3245
3246 var _reactDom2 = _interopRequireDefault(_reactDom);
3247
3248 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
3249
3250 /**
3251 * This source code is quoted from rc-util.
3252 * homepage: https://github.com/react-component/util
3253 */
3254 function addEventListenerWrap(target, eventType, cb) {
3255 /* eslint camelcase: 2 */
3256 var callback = _reactDom2.default.unstable_batchedUpdates ? function run(e) {
3257 _reactDom2.default.unstable_batchedUpdates(cb, e);
3258 } : cb;
3259 return (0, _addDomEventListener2.default)(target, eventType, callback);
3260 }
3261
3262/***/ }),
3263/* 41 */
3264/***/ (function(module, exports, __webpack_require__) {
3265
3266 'use strict';
3267
3268 Object.defineProperty(exports, '__esModule', {
3269 value: true
3270 });
3271 exports['default'] = addEventListener;
3272
3273 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
3274
3275 var _EventObject = __webpack_require__(42);
3276
3277 var _EventObject2 = _interopRequireDefault(_EventObject);
3278
3279 function addEventListener(target, eventType, callback, option) {
3280 function wrapCallback(e) {
3281 var ne = new _EventObject2['default'](e);
3282 callback.call(target, ne);
3283 }
3284
3285 if (target.addEventListener) {
3286 var _ret = (function () {
3287 var useCapture = false;
3288 if (typeof option === 'object') {
3289 useCapture = option.capture || false;
3290 } else if (typeof option === 'boolean') {
3291 useCapture = option;
3292 }
3293
3294 target.addEventListener(eventType, wrapCallback, option || false);
3295
3296 return {
3297 v: {
3298 remove: function remove() {
3299 target.removeEventListener(eventType, wrapCallback, useCapture);
3300 }
3301 }
3302 };
3303 })();
3304
3305 if (typeof _ret === 'object') return _ret.v;
3306 } else if (target.attachEvent) {
3307 target.attachEvent('on' + eventType, wrapCallback);
3308 return {
3309 remove: function remove() {
3310 target.detachEvent('on' + eventType, wrapCallback);
3311 }
3312 };
3313 }
3314 }
3315
3316 module.exports = exports['default'];
3317
3318/***/ }),
3319/* 42 */
3320/***/ (function(module, exports, __webpack_require__) {
3321
3322 /**
3323 * @ignore
3324 * event object for dom
3325 * @author yiminghe@gmail.com
3326 */
3327
3328 'use strict';
3329
3330 Object.defineProperty(exports, '__esModule', {
3331 value: true
3332 });
3333
3334 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
3335
3336 var _EventBaseObject = __webpack_require__(43);
3337
3338 var _EventBaseObject2 = _interopRequireDefault(_EventBaseObject);
3339
3340 var _objectAssign = __webpack_require__(44);
3341
3342 var _objectAssign2 = _interopRequireDefault(_objectAssign);
3343
3344 var TRUE = true;
3345 var FALSE = false;
3346 var commonProps = ['altKey', 'bubbles', 'cancelable', 'ctrlKey', 'currentTarget', 'eventPhase', 'metaKey', 'shiftKey', 'target', 'timeStamp', 'view', 'type'];
3347
3348 function isNullOrUndefined(w) {
3349 return w === null || w === undefined;
3350 }
3351
3352 var eventNormalizers = [{
3353 reg: /^key/,
3354 props: ['char', 'charCode', 'key', 'keyCode', 'which'],
3355 fix: function fix(event, nativeEvent) {
3356 if (isNullOrUndefined(event.which)) {
3357 event.which = !isNullOrUndefined(nativeEvent.charCode) ? nativeEvent.charCode : nativeEvent.keyCode;
3358 }
3359
3360 // add metaKey to non-Mac browsers (use ctrl for PC 's and Meta for Macs)
3361 if (event.metaKey === undefined) {
3362 event.metaKey = event.ctrlKey;
3363 }
3364 }
3365 }, {
3366 reg: /^touch/,
3367 props: ['touches', 'changedTouches', 'targetTouches']
3368 }, {
3369 reg: /^hashchange$/,
3370 props: ['newURL', 'oldURL']
3371 }, {
3372 reg: /^gesturechange$/i,
3373 props: ['rotation', 'scale']
3374 }, {
3375 reg: /^(mousewheel|DOMMouseScroll)$/,
3376 props: [],
3377 fix: function fix(event, nativeEvent) {
3378 var deltaX = undefined;
3379 var deltaY = undefined;
3380 var delta = undefined;
3381 var wheelDelta = nativeEvent.wheelDelta;
3382 var axis = nativeEvent.axis;
3383 var wheelDeltaY = nativeEvent.wheelDeltaY;
3384 var wheelDeltaX = nativeEvent.wheelDeltaX;
3385 var detail = nativeEvent.detail;
3386
3387 // ie/webkit
3388 if (wheelDelta) {
3389 delta = wheelDelta / 120;
3390 }
3391
3392 // gecko
3393 if (detail) {
3394 // press control e.detail == 1 else e.detail == 3
3395 delta = 0 - (detail % 3 === 0 ? detail / 3 : detail);
3396 }
3397
3398 // Gecko
3399 if (axis !== undefined) {
3400 if (axis === event.HORIZONTAL_AXIS) {
3401 deltaY = 0;
3402 deltaX = 0 - delta;
3403 } else if (axis === event.VERTICAL_AXIS) {
3404 deltaX = 0;
3405 deltaY = delta;
3406 }
3407 }
3408
3409 // Webkit
3410 if (wheelDeltaY !== undefined) {
3411 deltaY = wheelDeltaY / 120;
3412 }
3413 if (wheelDeltaX !== undefined) {
3414 deltaX = -1 * wheelDeltaX / 120;
3415 }
3416
3417 // 默认 deltaY (ie)
3418 if (!deltaX && !deltaY) {
3419 deltaY = delta;
3420 }
3421
3422 if (deltaX !== undefined) {
3423 /**
3424 * deltaX of mousewheel event
3425 * @property deltaX
3426 * @member Event.DomEvent.Object
3427 */
3428 event.deltaX = deltaX;
3429 }
3430
3431 if (deltaY !== undefined) {
3432 /**
3433 * deltaY of mousewheel event
3434 * @property deltaY
3435 * @member Event.DomEvent.Object
3436 */
3437 event.deltaY = deltaY;
3438 }
3439
3440 if (delta !== undefined) {
3441 /**
3442 * delta of mousewheel event
3443 * @property delta
3444 * @member Event.DomEvent.Object
3445 */
3446 event.delta = delta;
3447 }
3448 }
3449 }, {
3450 reg: /^mouse|contextmenu|click|mspointer|(^DOMMouseScroll$)/i,
3451 props: ['buttons', 'clientX', 'clientY', 'button', 'offsetX', 'relatedTarget', 'which', 'fromElement', 'toElement', 'offsetY', 'pageX', 'pageY', 'screenX', 'screenY'],
3452 fix: function fix(event, nativeEvent) {
3453 var eventDoc = undefined;
3454 var doc = undefined;
3455 var body = undefined;
3456 var target = event.target;
3457 var button = nativeEvent.button;
3458
3459 // Calculate pageX/Y if missing and clientX/Y available
3460 if (target && isNullOrUndefined(event.pageX) && !isNullOrUndefined(nativeEvent.clientX)) {
3461 eventDoc = target.ownerDocument || document;
3462 doc = eventDoc.documentElement;
3463 body = eventDoc.body;
3464 event.pageX = nativeEvent.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc && doc.clientLeft || body && body.clientLeft || 0);
3465 event.pageY = nativeEvent.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc && doc.clientTop || body && body.clientTop || 0);
3466 }
3467
3468 // which for click: 1 === left; 2 === middle; 3 === right
3469 // do not use button
3470 if (!event.which && button !== undefined) {
3471 if (button & 1) {
3472 event.which = 1;
3473 } else if (button & 2) {
3474 event.which = 3;
3475 } else if (button & 4) {
3476 event.which = 2;
3477 } else {
3478 event.which = 0;
3479 }
3480 }
3481
3482 // add relatedTarget, if necessary
3483 if (!event.relatedTarget && event.fromElement) {
3484 event.relatedTarget = event.fromElement === target ? event.toElement : event.fromElement;
3485 }
3486
3487 return event;
3488 }
3489 }];
3490
3491 function retTrue() {
3492 return TRUE;
3493 }
3494
3495 function retFalse() {
3496 return FALSE;
3497 }
3498
3499 function DomEventObject(nativeEvent) {
3500 var type = nativeEvent.type;
3501
3502 var isNative = typeof nativeEvent.stopPropagation === 'function' || typeof nativeEvent.cancelBubble === 'boolean';
3503
3504 _EventBaseObject2['default'].call(this);
3505
3506 this.nativeEvent = nativeEvent;
3507
3508 // in case dom event has been mark as default prevented by lower dom node
3509 var isDefaultPrevented = retFalse;
3510 if ('defaultPrevented' in nativeEvent) {
3511 isDefaultPrevented = nativeEvent.defaultPrevented ? retTrue : retFalse;
3512 } else if ('getPreventDefault' in nativeEvent) {
3513 // https://bugzilla.mozilla.org/show_bug.cgi?id=691151
3514 isDefaultPrevented = nativeEvent.getPreventDefault() ? retTrue : retFalse;
3515 } else if ('returnValue' in nativeEvent) {
3516 isDefaultPrevented = nativeEvent.returnValue === FALSE ? retTrue : retFalse;
3517 }
3518
3519 this.isDefaultPrevented = isDefaultPrevented;
3520
3521 var fixFns = [];
3522 var fixFn = undefined;
3523 var l = undefined;
3524 var prop = undefined;
3525 var props = commonProps.concat();
3526
3527 eventNormalizers.forEach(function (normalizer) {
3528 if (type.match(normalizer.reg)) {
3529 props = props.concat(normalizer.props);
3530 if (normalizer.fix) {
3531 fixFns.push(normalizer.fix);
3532 }
3533 }
3534 });
3535
3536 l = props.length;
3537
3538 // clone properties of the original event object
3539 while (l) {
3540 prop = props[--l];
3541 this[prop] = nativeEvent[prop];
3542 }
3543
3544 // fix target property, if necessary
3545 if (!this.target && isNative) {
3546 this.target = nativeEvent.srcElement || document; // srcElement might not be defined either
3547 }
3548
3549 // check if target is a text node (safari)
3550 if (this.target && this.target.nodeType === 3) {
3551 this.target = this.target.parentNode;
3552 }
3553
3554 l = fixFns.length;
3555
3556 while (l) {
3557 fixFn = fixFns[--l];
3558 fixFn(this, nativeEvent);
3559 }
3560
3561 this.timeStamp = nativeEvent.timeStamp || Date.now();
3562 }
3563
3564 var EventBaseObjectProto = _EventBaseObject2['default'].prototype;
3565
3566 (0, _objectAssign2['default'])(DomEventObject.prototype, EventBaseObjectProto, {
3567 constructor: DomEventObject,
3568
3569 preventDefault: function preventDefault() {
3570 var e = this.nativeEvent;
3571
3572 // if preventDefault exists run it on the original event
3573 if (e.preventDefault) {
3574 e.preventDefault();
3575 } else {
3576 // otherwise set the returnValue property of the original event to FALSE (IE)
3577 e.returnValue = FALSE;
3578 }
3579
3580 EventBaseObjectProto.preventDefault.call(this);
3581 },
3582
3583 stopPropagation: function stopPropagation() {
3584 var e = this.nativeEvent;
3585
3586 // if stopPropagation exists run it on the original event
3587 if (e.stopPropagation) {
3588 e.stopPropagation();
3589 } else {
3590 // otherwise set the cancelBubble property of the original event to TRUE (IE)
3591 e.cancelBubble = TRUE;
3592 }
3593
3594 EventBaseObjectProto.stopPropagation.call(this);
3595 }
3596 });
3597
3598 exports['default'] = DomEventObject;
3599 module.exports = exports['default'];
3600
3601/***/ }),
3602/* 43 */
3603/***/ (function(module, exports) {
3604
3605 /**
3606 * @ignore
3607 * base event object for custom and dom event.
3608 * @author yiminghe@gmail.com
3609 */
3610
3611 "use strict";
3612
3613 Object.defineProperty(exports, "__esModule", {
3614 value: true
3615 });
3616 function returnFalse() {
3617 return false;
3618 }
3619
3620 function returnTrue() {
3621 return true;
3622 }
3623
3624 function EventBaseObject() {
3625 this.timeStamp = Date.now();
3626 this.target = undefined;
3627 this.currentTarget = undefined;
3628 }
3629
3630 EventBaseObject.prototype = {
3631 isEventObject: 1,
3632
3633 constructor: EventBaseObject,
3634
3635 isDefaultPrevented: returnFalse,
3636
3637 isPropagationStopped: returnFalse,
3638
3639 isImmediatePropagationStopped: returnFalse,
3640
3641 preventDefault: function preventDefault() {
3642 this.isDefaultPrevented = returnTrue;
3643 },
3644
3645 stopPropagation: function stopPropagation() {
3646 this.isPropagationStopped = returnTrue;
3647 },
3648
3649 stopImmediatePropagation: function stopImmediatePropagation() {
3650 this.isImmediatePropagationStopped = returnTrue;
3651 // fixed 1.2
3652 // call stopPropagation implicitly
3653 this.stopPropagation();
3654 },
3655
3656 halt: function halt(immediate) {
3657 if (immediate) {
3658 this.stopImmediatePropagation();
3659 } else {
3660 this.stopPropagation();
3661 }
3662 this.preventDefault();
3663 }
3664 };
3665
3666 exports["default"] = EventBaseObject;
3667 module.exports = exports["default"];
3668
3669/***/ }),
3670/* 44 */
3671/***/ (function(module, exports) {
3672
3673 /*
3674 object-assign
3675 (c) Sindre Sorhus
3676 @license MIT
3677 */
3678
3679 'use strict';
3680 /* eslint-disable no-unused-vars */
3681 var getOwnPropertySymbols = Object.getOwnPropertySymbols;
3682 var hasOwnProperty = Object.prototype.hasOwnProperty;
3683 var propIsEnumerable = Object.prototype.propertyIsEnumerable;
3684
3685 function toObject(val) {
3686 if (val === null || val === undefined) {
3687 throw new TypeError('Object.assign cannot be called with null or undefined');
3688 }
3689
3690 return Object(val);
3691 }
3692
3693 function shouldUseNative() {
3694 try {
3695 if (!Object.assign) {
3696 return false;
3697 }
3698
3699 // Detect buggy property enumeration order in older V8 versions.
3700
3701 // https://bugs.chromium.org/p/v8/issues/detail?id=4118
3702 var test1 = new String('abc'); // eslint-disable-line no-new-wrappers
3703 test1[5] = 'de';
3704 if (Object.getOwnPropertyNames(test1)[0] === '5') {
3705 return false;
3706 }
3707
3708 // https://bugs.chromium.org/p/v8/issues/detail?id=3056
3709 var test2 = {};
3710 for (var i = 0; i < 10; i++) {
3711 test2['_' + String.fromCharCode(i)] = i;
3712 }
3713 var order2 = Object.getOwnPropertyNames(test2).map(function (n) {
3714 return test2[n];
3715 });
3716 if (order2.join('') !== '0123456789') {
3717 return false;
3718 }
3719
3720 // https://bugs.chromium.org/p/v8/issues/detail?id=3056
3721 var test3 = {};
3722 'abcdefghijklmnopqrst'.split('').forEach(function (letter) {
3723 test3[letter] = letter;
3724 });
3725 if (Object.keys(Object.assign({}, test3)).join('') !==
3726 'abcdefghijklmnopqrst') {
3727 return false;
3728 }
3729
3730 return true;
3731 } catch (err) {
3732 // We don't expect any of the above to throw, but better to be safe.
3733 return false;
3734 }
3735 }
3736
3737 module.exports = shouldUseNative() ? Object.assign : function (target, source) {
3738 var from;
3739 var to = toObject(target);
3740 var symbols;
3741
3742 for (var s = 1; s < arguments.length; s++) {
3743 from = Object(arguments[s]);
3744
3745 for (var key in from) {
3746 if (hasOwnProperty.call(from, key)) {
3747 to[key] = from[key];
3748 }
3749 }
3750
3751 if (getOwnPropertySymbols) {
3752 symbols = getOwnPropertySymbols(from);
3753 for (var i = 0; i < symbols.length; i++) {
3754 if (propIsEnumerable.call(from, symbols[i])) {
3755 to[symbols[i]] = from[symbols[i]];
3756 }
3757 }
3758 }
3759 }
3760
3761 return to;
3762 };
3763
3764
3765/***/ }),
3766/* 45 */
3767/***/ (function(module, exports, __webpack_require__) {
3768
3769 'use strict';
3770
3771 exports.__esModule = true;
3772
3773 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; }; /**
3774 * This source code is quoted from rc-util.
3775 * homepage: https://github.com/react-component/util
3776 */
3777
3778
3779 var _Event = __webpack_require__(46);
3780
3781 var _Event2 = _interopRequireDefault(_Event);
3782
3783 var _componentClasses = __webpack_require__(47);
3784
3785 var _componentClasses2 = _interopRequireDefault(_componentClasses);
3786
3787 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
3788
3789 var isCssAnimationSupported = _Event2.default.endEvents.length !== 0;
3790
3791
3792 var capitalPrefixes = ['Webkit', 'Moz', 'O',
3793 // ms is special .... !
3794 'ms'];
3795 var prefixes = ['-webkit-', '-moz-', '-o-', 'ms-', ''];
3796
3797 function getStyleProperty(node, name) {
3798 var style = window.getComputedStyle(node);
3799
3800 var ret = '';
3801 for (var i = 0; i < prefixes.length; i++) {
3802 ret = style.getPropertyValue(prefixes[i] + name);
3803 if (ret) {
3804 break;
3805 }
3806 }
3807 return ret;
3808 }
3809
3810 function fixBrowserByTimeout(node) {
3811 if (isCssAnimationSupported) {
3812 var transitionDelay = parseFloat(getStyleProperty(node, 'transition-delay')) || 0;
3813 var transitionDuration = parseFloat(getStyleProperty(node, 'transition-duration')) || 0;
3814 var animationDelay = parseFloat(getStyleProperty(node, 'animation-delay')) || 0;
3815 var animationDuration = parseFloat(getStyleProperty(node, 'animation-duration')) || 0;
3816 var time = Math.max(transitionDuration + transitionDelay, animationDuration + animationDelay);
3817 // sometimes, browser bug
3818 node.rcEndAnimTimeout = setTimeout(function () {
3819 node.rcEndAnimTimeout = null;
3820 if (node.rcEndListener) {
3821 node.rcEndListener();
3822 }
3823 }, time * 1000 + 200);
3824 }
3825 }
3826
3827 function clearBrowserBugTimeout(node) {
3828 if (node.rcEndAnimTimeout) {
3829 clearTimeout(node.rcEndAnimTimeout);
3830 node.rcEndAnimTimeout = null;
3831 }
3832 }
3833
3834 var cssAnimation = function cssAnimation(node, transitionName, endCallback) {
3835 var nameIsObj = (typeof transitionName === 'undefined' ? 'undefined' : _typeof(transitionName)) === 'object';
3836 var className = nameIsObj ? transitionName.name : transitionName;
3837 var activeClassName = nameIsObj ? transitionName.active : transitionName + '-active';
3838 var end = endCallback;
3839 var start = void 0;
3840 var active = void 0;
3841 var nodeClasses = (0, _componentClasses2.default)(node);
3842
3843 if (endCallback && Object.prototype.toString.call(endCallback) === '[object Object]') {
3844 end = endCallback.end;
3845 start = endCallback.start;
3846 active = endCallback.active;
3847 }
3848
3849 if (node.rcEndListener) {
3850 node.rcEndListener();
3851 }
3852
3853 node.rcEndListener = function (e) {
3854 if (e && e.target !== node) {
3855 return;
3856 }
3857
3858 if (node.rcAnimTimeout) {
3859 clearTimeout(node.rcAnimTimeout);
3860 node.rcAnimTimeout = null;
3861 }
3862
3863 clearBrowserBugTimeout(node);
3864
3865 nodeClasses.remove(className);
3866 nodeClasses.remove(activeClassName);
3867
3868 _Event2.default.removeEndEventListener(node, node.rcEndListener);
3869 node.rcEndListener = null;
3870
3871 // Usually this optional end is used for informing an owner of
3872 // a leave animation and telling it to remove the child.
3873 if (end) {
3874 end();
3875 }
3876 };
3877
3878 _Event2.default.addEndEventListener(node, node.rcEndListener);
3879
3880 if (start) {
3881 start();
3882 }
3883 nodeClasses.add(className);
3884
3885 node.rcAnimTimeout = setTimeout(function () {
3886 node.rcAnimTimeout = null;
3887 nodeClasses.add(activeClassName);
3888 if (active) {
3889 setTimeout(active, 0);
3890 }
3891 fixBrowserByTimeout(node);
3892 // 30ms for firefox
3893 }, 30);
3894
3895 return {
3896 stop: function stop() {
3897 if (node.rcEndListener) {
3898 node.rcEndListener();
3899 }
3900 }
3901 };
3902 };
3903
3904 cssAnimation.style = function (node, style, callback) {
3905 if (node.rcEndListener) {
3906 node.rcEndListener();
3907 }
3908
3909 node.rcEndListener = function (e) {
3910 if (e && e.target !== node) {
3911 return;
3912 }
3913
3914 if (node.rcAnimTimeout) {
3915 clearTimeout(node.rcAnimTimeout);
3916 node.rcAnimTimeout = null;
3917 }
3918
3919 clearBrowserBugTimeout(node);
3920
3921 _Event2.default.removeEndEventListener(node, node.rcEndListener);
3922 node.rcEndListener = null;
3923
3924 // Usually this optional callback is used for informing an owner of
3925 // a leave animation and telling it to remove the child.
3926 if (callback) {
3927 callback();
3928 }
3929 };
3930
3931 _Event2.default.addEndEventListener(node, node.rcEndListener);
3932
3933 node.rcAnimTimeout = setTimeout(function () {
3934 for (var s in style) {
3935 if (style.hasOwnProperty(s)) {
3936 node.style[s] = style[s];
3937 }
3938 }
3939 node.rcAnimTimeout = null;
3940 fixBrowserByTimeout(node);
3941 }, 0);
3942 };
3943
3944 cssAnimation.setTransition = function (node, p, value) {
3945 var property = p;
3946 var v = value;
3947 if (value === undefined) {
3948 v = property;
3949 property = '';
3950 }
3951 property = property || '';
3952 capitalPrefixes.forEach(function (prefix) {
3953 node.style[prefix + 'Transition' + property] = v;
3954 });
3955 };
3956
3957 cssAnimation.isCssAnimationSupported = isCssAnimationSupported;
3958
3959 exports.default = cssAnimation;
3960
3961/***/ }),
3962/* 46 */
3963/***/ (function(module, exports) {
3964
3965 'use strict';
3966
3967 exports.__esModule = true;
3968 /**
3969 * This source code is quoted from rc-util.
3970 * homepage: https://github.com/react-component/util
3971 */
3972 var EVENT_NAME_MAP = {
3973 transitionend: {
3974 transition: 'transitionend',
3975 WebkitTransition: 'webkitTransitionEnd',
3976 MozTransition: 'mozTransitionEnd',
3977 OTransition: 'oTransitionEnd',
3978 msTransition: 'MSTransitionEnd'
3979 },
3980
3981 animationend: {
3982 animation: 'animationend',
3983 WebkitAnimation: 'webkitAnimationEnd',
3984 MozAnimation: 'mozAnimationEnd',
3985 OAnimation: 'oAnimationEnd',
3986 msAnimation: 'MSAnimationEnd'
3987 }
3988 };
3989
3990 var endEvents = [];
3991
3992 function detectEvents() {
3993 var testEl = document.createElement('div');
3994 var style = testEl.style;
3995
3996 if (!('AnimationEvent' in window)) {
3997 delete EVENT_NAME_MAP.animationend.animation;
3998 }
3999
4000 if (!('TransitionEvent' in window)) {
4001 delete EVENT_NAME_MAP.transitionend.transition;
4002 }
4003
4004 for (var baseEventName in EVENT_NAME_MAP) {
4005 if (EVENT_NAME_MAP.hasOwnProperty(baseEventName)) {
4006 var baseEvents = EVENT_NAME_MAP[baseEventName];
4007 for (var styleName in baseEvents) {
4008 if (styleName in style) {
4009 endEvents.push(baseEvents[styleName]);
4010 break;
4011 }
4012 }
4013 }
4014 }
4015 }
4016
4017 if (typeof window !== 'undefined' && typeof document !== 'undefined') {
4018 detectEvents();
4019 }
4020
4021 function addEventListener(node, eventName, eventListener) {
4022 node.addEventListener(eventName, eventListener, false);
4023 }
4024
4025 function removeEventListener(node, eventName, eventListener) {
4026 node.removeEventListener(eventName, eventListener, false);
4027 }
4028
4029 var TransitionEvents = {
4030 addEndEventListener: function addEndEventListener(node, eventListener) {
4031 if (endEvents.length === 0) {
4032 window.setTimeout(eventListener, 0);
4033 return;
4034 }
4035 endEvents.forEach(function (endEvent) {
4036 addEventListener(node, endEvent, eventListener);
4037 });
4038 },
4039
4040
4041 endEvents: endEvents,
4042
4043 removeEndEventListener: function removeEndEventListener(node, eventListener) {
4044 if (endEvents.length === 0) {
4045 return;
4046 }
4047 endEvents.forEach(function (endEvent) {
4048 removeEventListener(node, endEvent, eventListener);
4049 });
4050 }
4051 };
4052
4053 exports.default = TransitionEvents;
4054
4055/***/ }),
4056/* 47 */
4057/***/ (function(module, exports, __webpack_require__) {
4058
4059 /**
4060 * Module dependencies.
4061 */
4062
4063 try {
4064 var index = __webpack_require__(48);
4065 } catch (err) {
4066 var index = __webpack_require__(48);
4067 }
4068
4069 /**
4070 * Whitespace regexp.
4071 */
4072
4073 var re = /\s+/;
4074
4075 /**
4076 * toString reference.
4077 */
4078
4079 var toString = Object.prototype.toString;
4080
4081 /**
4082 * Wrap `el` in a `ClassList`.
4083 *
4084 * @param {Element} el
4085 * @return {ClassList}
4086 * @api public
4087 */
4088
4089 module.exports = function(el){
4090 return new ClassList(el);
4091 };
4092
4093 /**
4094 * Initialize a new ClassList for `el`.
4095 *
4096 * @param {Element} el
4097 * @api private
4098 */
4099
4100 function ClassList(el) {
4101 if (!el || !el.nodeType) {
4102 throw new Error('A DOM element reference is required');
4103 }
4104 this.el = el;
4105 this.list = el.classList;
4106 }
4107
4108 /**
4109 * Add class `name` if not already present.
4110 *
4111 * @param {String} name
4112 * @return {ClassList}
4113 * @api public
4114 */
4115
4116 ClassList.prototype.add = function(name){
4117 // classList
4118 if (this.list) {
4119 this.list.add(name);
4120 return this;
4121 }
4122
4123 // fallback
4124 var arr = this.array();
4125 var i = index(arr, name);
4126 if (!~i) arr.push(name);
4127 this.el.className = arr.join(' ');
4128 return this;
4129 };
4130
4131 /**
4132 * Remove class `name` when present, or
4133 * pass a regular expression to remove
4134 * any which match.
4135 *
4136 * @param {String|RegExp} name
4137 * @return {ClassList}
4138 * @api public
4139 */
4140
4141 ClassList.prototype.remove = function(name){
4142 if ('[object RegExp]' == toString.call(name)) {
4143 return this.removeMatching(name);
4144 }
4145
4146 // classList
4147 if (this.list) {
4148 this.list.remove(name);
4149 return this;
4150 }
4151
4152 // fallback
4153 var arr = this.array();
4154 var i = index(arr, name);
4155 if (~i) arr.splice(i, 1);
4156 this.el.className = arr.join(' ');
4157 return this;
4158 };
4159
4160 /**
4161 * Remove all classes matching `re`.
4162 *
4163 * @param {RegExp} re
4164 * @return {ClassList}
4165 * @api private
4166 */
4167
4168 ClassList.prototype.removeMatching = function(re){
4169 var arr = this.array();
4170 for (var i = 0; i < arr.length; i++) {
4171 if (re.test(arr[i])) {
4172 this.remove(arr[i]);
4173 }
4174 }
4175 return this;
4176 };
4177
4178 /**
4179 * Toggle class `name`, can force state via `force`.
4180 *
4181 * For browsers that support classList, but do not support `force` yet,
4182 * the mistake will be detected and corrected.
4183 *
4184 * @param {String} name
4185 * @param {Boolean} force
4186 * @return {ClassList}
4187 * @api public
4188 */
4189
4190 ClassList.prototype.toggle = function(name, force){
4191 // classList
4192 if (this.list) {
4193 if ("undefined" !== typeof force) {
4194 if (force !== this.list.toggle(name, force)) {
4195 this.list.toggle(name); // toggle again to correct
4196 }
4197 } else {
4198 this.list.toggle(name);
4199 }
4200 return this;
4201 }
4202
4203 // fallback
4204 if ("undefined" !== typeof force) {
4205 if (!force) {
4206 this.remove(name);
4207 } else {
4208 this.add(name);
4209 }
4210 } else {
4211 if (this.has(name)) {
4212 this.remove(name);
4213 } else {
4214 this.add(name);
4215 }
4216 }
4217
4218 return this;
4219 };
4220
4221 /**
4222 * Return an array of classes.
4223 *
4224 * @return {Array}
4225 * @api public
4226 */
4227
4228 ClassList.prototype.array = function(){
4229 var className = this.el.getAttribute('class') || '';
4230 var str = className.replace(/^\s+|\s+$/g, '');
4231 var arr = str.split(re);
4232 if ('' === arr[0]) arr.shift();
4233 return arr;
4234 };
4235
4236 /**
4237 * Check if class `name` is present.
4238 *
4239 * @param {String} name
4240 * @return {ClassList}
4241 * @api public
4242 */
4243
4244 ClassList.prototype.has =
4245 ClassList.prototype.contains = function(name){
4246 return this.list
4247 ? this.list.contains(name)
4248 : !! ~index(this.array(), name);
4249 };
4250
4251
4252/***/ }),
4253/* 48 */
4254/***/ (function(module, exports) {
4255
4256 module.exports = function(arr, obj){
4257 if (arr.indexOf) return arr.indexOf(obj);
4258 for (var i = 0; i < arr.length; ++i) {
4259 if (arr[i] === obj) return i;
4260 }
4261 return -1;
4262 };
4263
4264/***/ }),
4265/* 49 */
4266/***/ (function(module, exports, __webpack_require__) {
4267
4268 'use strict';
4269
4270 exports.__esModule = true;
4271 exports.default = toArray;
4272
4273 var _react = __webpack_require__(4);
4274
4275 var _react2 = _interopRequireDefault(_react);
4276
4277 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4278
4279 function toArray(children) {
4280 var ret = [];
4281 _react2.default.Children.forEach(children, function (c) {
4282 ret.push(c);
4283 });
4284 return ret;
4285 } /**
4286 * This source code is quoted from rc-util.
4287 * homepage: https://github.com/react-component/util
4288 */
4289
4290/***/ }),
4291/* 50 */
4292/***/ (function(module, exports, __webpack_require__) {
4293
4294 'use strict';
4295
4296 exports.__esModule = true;
4297
4298 var _react = __webpack_require__(4);
4299
4300 var _react2 = _interopRequireDefault(_react);
4301
4302 var _propTypes = __webpack_require__(5);
4303
4304 var _propTypes2 = _interopRequireDefault(_propTypes);
4305
4306 var _reactDom = __webpack_require__(12);
4307
4308 var _reactDom2 = _interopRequireDefault(_reactDom);
4309
4310 var _domAlign = __webpack_require__(51);
4311
4312 var _domAlign2 = _interopRequireDefault(_domAlign);
4313
4314 var _addEventListener = __webpack_require__(40);
4315
4316 var _addEventListener2 = _interopRequireDefault(_addEventListener);
4317
4318 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4319
4320 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
4321
4322 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; }
4323
4324 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; } /**
4325 * This source code is quoted from rc-util.
4326 * homepage: https://github.com/react-component/util
4327 */
4328
4329
4330 //import isWindow from './isWindow';
4331
4332 function isWindow(obj) {
4333 /* eslint no-eq-null: 0 */
4334 /* eslint eqeqeq: 0 */
4335 return obj != null && obj == obj.window;
4336 }
4337
4338 function buffer(fn, ms) {
4339 var timer = void 0;
4340
4341 function clear() {
4342 if (timer) {
4343 clearTimeout(timer);
4344 timer = null;
4345 }
4346 }
4347
4348 function bufferFn() {
4349 clear();
4350 timer = setTimeout(fn, ms);
4351 }
4352
4353 bufferFn.clear = clear;
4354
4355 return bufferFn;
4356 }
4357
4358 var propTypes = {
4359 childrenProps: _propTypes2.default.object,
4360 align: _propTypes2.default.object.isRequired,
4361 target: _propTypes2.default.func,
4362 onAlign: _propTypes2.default.func,
4363 monitorBufferTime: _propTypes2.default.number,
4364 monitorWindowResize: _propTypes2.default.bool,
4365 disabled: _propTypes2.default.bool,
4366 children: _propTypes2.default.any
4367 };
4368
4369 var defaultProps = {
4370 target: function target() {
4371 return window;
4372 },
4373 onAlign: function onAlign() {},
4374
4375 monitorBufferTime: 50,
4376 monitorWindowResize: false,
4377 disabled: false
4378 };
4379
4380 var Align = function (_React$Component) {
4381 _inherits(Align, _React$Component);
4382
4383 function Align(props) {
4384 _classCallCheck(this, Align);
4385
4386 var _this = _possibleConstructorReturn(this, _React$Component.call(this, props));
4387
4388 _initialiseProps.call(_this);
4389
4390 return _this;
4391 }
4392
4393 Align.prototype.componentDidMount = function componentDidMount() {
4394 var props = this.props;
4395 // if parent ref not attached .... use document.getElementById
4396 this.forceAlign();
4397 if (!props.disabled && props.monitorWindowResize) {
4398 this.startMonitorWindowResize();
4399 }
4400 };
4401
4402 Align.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {
4403 var reAlign = false;
4404 var props = this.props;
4405
4406 if (!props.disabled) {
4407 if (prevProps.disabled || prevProps.align !== props.align) {
4408 reAlign = true;
4409 } else {
4410 var lastTarget = prevProps.target();
4411 var currentTarget = props.target();
4412 if (isWindow(lastTarget) && isWindow(currentTarget)) {
4413 reAlign = false;
4414 } else if (lastTarget !== currentTarget) {
4415 reAlign = true;
4416 }
4417 }
4418 }
4419
4420 if (reAlign) {
4421 this.forceAlign();
4422 }
4423
4424 if (props.monitorWindowResize && !props.disabled) {
4425 this.startMonitorWindowResize();
4426 } else {
4427 this.stopMonitorWindowResize();
4428 }
4429 };
4430
4431 Align.prototype.componentWillUnmount = function componentWillUnmount() {
4432 this.stopMonitorWindowResize();
4433 };
4434
4435 Align.prototype.render = function render() {
4436 var _props = this.props,
4437 childrenProps = _props.childrenProps,
4438 children = _props.children;
4439
4440 var child = _react2.default.Children.only(children);
4441 if (childrenProps) {
4442 var newProps = {};
4443 for (var prop in childrenProps) {
4444 if (childrenProps.hasOwnProperty(prop)) {
4445 newProps[prop] = this.props[childrenProps[prop]];
4446 }
4447 }
4448 return _react2.default.cloneElement(child, newProps);
4449 }
4450 return child;
4451 };
4452
4453 return Align;
4454 }(_react2.default.Component);
4455
4456 var _initialiseProps = function _initialiseProps() {
4457 var _this2 = this;
4458
4459 this.startMonitorWindowResize = function () {
4460 if (!_this2.resizeHandler) {
4461 _this2.bufferMonitor = buffer(_this2.forceAlign, _this2.props.monitorBufferTime);
4462 _this2.resizeHandler = (0, _addEventListener2.default)(window, 'resize', _this2.bufferMonitor);
4463 }
4464 };
4465
4466 this.stopMonitorWindowResize = function () {
4467 if (_this2.resizeHandler) {
4468 _this2.bufferMonitor.clear();
4469 _this2.resizeHandler.remove();
4470 _this2.resizeHandler = null;
4471 }
4472 };
4473
4474 this.forceAlign = function () {
4475 var props = _this2.props;
4476 if (!props.disabled) {
4477 var source = _reactDom2.default.findDOMNode(_this2);
4478 props.onAlign(source, (0, _domAlign2.default)(source, props.target(), props.align));
4479 }
4480 };
4481 };
4482
4483 ;
4484
4485 Align.defaultProps = defaultProps;
4486 Align.propTypes = propTypes;
4487
4488 exports.default = Align;
4489
4490/***/ }),
4491/* 51 */
4492/***/ (function(module, exports, __webpack_require__) {
4493
4494 'use strict';
4495
4496 Object.defineProperty(exports, "__esModule", {
4497 value: true
4498 });
4499 exports.alignPoint = exports.alignElement = undefined;
4500
4501 var _alignElement = __webpack_require__(52);
4502
4503 var _alignElement2 = _interopRequireDefault(_alignElement);
4504
4505 var _alignPoint = __webpack_require__(63);
4506
4507 var _alignPoint2 = _interopRequireDefault(_alignPoint);
4508
4509 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
4510
4511 exports.alignElement = _alignElement2['default'];
4512 exports.alignPoint = _alignPoint2['default'];
4513 exports['default'] = _alignElement2['default'];
4514
4515/***/ }),
4516/* 52 */
4517/***/ (function(module, exports, __webpack_require__) {
4518
4519 'use strict';
4520
4521 Object.defineProperty(exports, "__esModule", {
4522 value: true
4523 });
4524
4525 var _align = __webpack_require__(53);
4526
4527 var _align2 = _interopRequireDefault(_align);
4528
4529 var _getOffsetParent = __webpack_require__(57);
4530
4531 var _getOffsetParent2 = _interopRequireDefault(_getOffsetParent);
4532
4533 var _getVisibleRectForElement = __webpack_require__(56);
4534
4535 var _getVisibleRectForElement2 = _interopRequireDefault(_getVisibleRectForElement);
4536
4537 var _getRegion = __webpack_require__(60);
4538
4539 var _getRegion2 = _interopRequireDefault(_getRegion);
4540
4541 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
4542
4543 function isOutOfVisibleRect(target) {
4544 var visibleRect = (0, _getVisibleRectForElement2['default'])(target);
4545 var targetRegion = (0, _getRegion2['default'])(target);
4546
4547 return !visibleRect || targetRegion.left + targetRegion.width <= visibleRect.left || targetRegion.top + targetRegion.height <= visibleRect.top || targetRegion.left >= visibleRect.right || targetRegion.top >= visibleRect.bottom;
4548 }
4549
4550 function alignElement(el, refNode, align) {
4551 var target = align.target || refNode;
4552 var refNodeRegion = (0, _getRegion2['default'])(target);
4553
4554 var isTargetNotOutOfVisible = !isOutOfVisibleRect(target);
4555
4556 return (0, _align2['default'])(el, refNodeRegion, align, isTargetNotOutOfVisible);
4557 }
4558
4559 alignElement.__getOffsetParent = _getOffsetParent2['default'];
4560
4561 alignElement.__getVisibleRectForElement = _getVisibleRectForElement2['default'];
4562
4563 exports['default'] = alignElement;
4564 module.exports = exports['default'];
4565
4566/***/ }),
4567/* 53 */
4568/***/ (function(module, exports, __webpack_require__) {
4569
4570 'use strict';
4571
4572 Object.defineProperty(exports, "__esModule", {
4573 value: true
4574 });
4575
4576 var _utils = __webpack_require__(54);
4577
4578 var _utils2 = _interopRequireDefault(_utils);
4579
4580 var _getVisibleRectForElement = __webpack_require__(56);
4581
4582 var _getVisibleRectForElement2 = _interopRequireDefault(_getVisibleRectForElement);
4583
4584 var _adjustForViewport = __webpack_require__(59);
4585
4586 var _adjustForViewport2 = _interopRequireDefault(_adjustForViewport);
4587
4588 var _getRegion = __webpack_require__(60);
4589
4590 var _getRegion2 = _interopRequireDefault(_getRegion);
4591
4592 var _getElFuturePos = __webpack_require__(61);
4593
4594 var _getElFuturePos2 = _interopRequireDefault(_getElFuturePos);
4595
4596 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
4597
4598 // http://yiminghe.iteye.com/blog/1124720
4599
4600 function isFailX(elFuturePos, elRegion, visibleRect) {
4601 return elFuturePos.left < visibleRect.left || elFuturePos.left + elRegion.width > visibleRect.right;
4602 } /**
4603 * align dom node flexibly
4604 * @author yiminghe@gmail.com
4605 */
4606
4607 function isFailY(elFuturePos, elRegion, visibleRect) {
4608 return elFuturePos.top < visibleRect.top || elFuturePos.top + elRegion.height > visibleRect.bottom;
4609 }
4610
4611 function isCompleteFailX(elFuturePos, elRegion, visibleRect) {
4612 return elFuturePos.left > visibleRect.right || elFuturePos.left + elRegion.width < visibleRect.left;
4613 }
4614
4615 function isCompleteFailY(elFuturePos, elRegion, visibleRect) {
4616 return elFuturePos.top > visibleRect.bottom || elFuturePos.top + elRegion.height < visibleRect.top;
4617 }
4618
4619 function flip(points, reg, map) {
4620 var ret = [];
4621 _utils2['default'].each(points, function (p) {
4622 ret.push(p.replace(reg, function (m) {
4623 return map[m];
4624 }));
4625 });
4626 return ret;
4627 }
4628
4629 function flipOffset(offset, index) {
4630 offset[index] = -offset[index];
4631 return offset;
4632 }
4633
4634 function convertOffset(str, offsetLen) {
4635 var n = void 0;
4636 if (/%$/.test(str)) {
4637 n = parseInt(str.substring(0, str.length - 1), 10) / 100 * offsetLen;
4638 } else {
4639 n = parseInt(str, 10);
4640 }
4641 return n || 0;
4642 }
4643
4644 function normalizeOffset(offset, el) {
4645 offset[0] = convertOffset(offset[0], el.width);
4646 offset[1] = convertOffset(offset[1], el.height);
4647 }
4648
4649 /**
4650 * @param el
4651 * @param tgtRegion 参照节点所占的区域: { left, top, width, height }
4652 * @param align
4653 */
4654 function doAlign(el, tgtRegion, align, isTgtRegionVisible) {
4655 var points = align.points;
4656 var offset = align.offset || [0, 0];
4657 var targetOffset = align.targetOffset || [0, 0];
4658 var overflow = align.overflow;
4659 var source = align.source || el;
4660 offset = [].concat(offset);
4661 targetOffset = [].concat(targetOffset);
4662 overflow = overflow || {};
4663 var newOverflowCfg = {};
4664 var fail = 0;
4665 // 当前节点可以被放置的显示区域
4666 var visibleRect = (0, _getVisibleRectForElement2['default'])(source);
4667 // 当前节点所占的区域, left/top/width/height
4668 var elRegion = (0, _getRegion2['default'])(source);
4669 // 将 offset 转换成数值,支持百分比
4670 normalizeOffset(offset, elRegion);
4671 normalizeOffset(targetOffset, tgtRegion);
4672 // 当前节点将要被放置的位置
4673 var elFuturePos = (0, _getElFuturePos2['default'])(elRegion, tgtRegion, points, offset, targetOffset);
4674 // 当前节点将要所处的区域
4675 var newElRegion = _utils2['default'].merge(elRegion, elFuturePos);
4676
4677 // 如果可视区域不能完全放置当前节点时允许调整
4678 if (visibleRect && (overflow.adjustX || overflow.adjustY) && isTgtRegionVisible) {
4679 if (overflow.adjustX) {
4680 // 如果横向不能放下
4681 if (isFailX(elFuturePos, elRegion, visibleRect)) {
4682 // 对齐位置反下
4683 var newPoints = flip(points, /[lr]/ig, {
4684 l: 'r',
4685 r: 'l'
4686 });
4687 // 偏移量也反下
4688 var newOffset = flipOffset(offset, 0);
4689 var newTargetOffset = flipOffset(targetOffset, 0);
4690 var newElFuturePos = (0, _getElFuturePos2['default'])(elRegion, tgtRegion, newPoints, newOffset, newTargetOffset);
4691
4692 if (!isCompleteFailX(newElFuturePos, elRegion, visibleRect)) {
4693 fail = 1;
4694 points = newPoints;
4695 offset = newOffset;
4696 targetOffset = newTargetOffset;
4697 }
4698 }
4699 }
4700
4701 if (overflow.adjustY) {
4702 // 如果纵向不能放下
4703 if (isFailY(elFuturePos, elRegion, visibleRect)) {
4704 // 对齐位置反下
4705 var _newPoints = flip(points, /[tb]/ig, {
4706 t: 'b',
4707 b: 't'
4708 });
4709 // 偏移量也反下
4710 var _newOffset = flipOffset(offset, 1);
4711 var _newTargetOffset = flipOffset(targetOffset, 1);
4712 var _newElFuturePos = (0, _getElFuturePos2['default'])(elRegion, tgtRegion, _newPoints, _newOffset, _newTargetOffset);
4713
4714 if (!isCompleteFailY(_newElFuturePos, elRegion, visibleRect)) {
4715 fail = 1;
4716 points = _newPoints;
4717 offset = _newOffset;
4718 targetOffset = _newTargetOffset;
4719 }
4720 }
4721 }
4722
4723 // 如果失败,重新计算当前节点将要被放置的位置
4724 if (fail) {
4725 elFuturePos = (0, _getElFuturePos2['default'])(elRegion, tgtRegion, points, offset, targetOffset);
4726 _utils2['default'].mix(newElRegion, elFuturePos);
4727 }
4728 var isStillFailX = isFailX(elFuturePos, elRegion, visibleRect);
4729 var isStillFailY = isFailY(elFuturePos, elRegion, visibleRect);
4730 // 检查反下后的位置是否可以放下了,如果仍然放不下:
4731 // 1. 复原修改过的定位参数
4732 if (isStillFailX || isStillFailY) {
4733 points = align.points;
4734 offset = align.offset || [0, 0];
4735 targetOffset = align.targetOffset || [0, 0];
4736 }
4737 // 2. 只有指定了可以调整当前方向才调整
4738 newOverflowCfg.adjustX = overflow.adjustX && isStillFailX;
4739 newOverflowCfg.adjustY = overflow.adjustY && isStillFailY;
4740
4741 // 确实要调整,甚至可能会调整高度宽度
4742 if (newOverflowCfg.adjustX || newOverflowCfg.adjustY) {
4743 newElRegion = (0, _adjustForViewport2['default'])(elFuturePos, elRegion, visibleRect, newOverflowCfg);
4744 }
4745 }
4746
4747 // need judge to in case set fixed with in css on height auto element
4748 if (newElRegion.width !== elRegion.width) {
4749 _utils2['default'].css(source, 'width', _utils2['default'].width(source) + newElRegion.width - elRegion.width);
4750 }
4751
4752 if (newElRegion.height !== elRegion.height) {
4753 _utils2['default'].css(source, 'height', _utils2['default'].height(source) + newElRegion.height - elRegion.height);
4754 }
4755
4756 // https://github.com/kissyteam/kissy/issues/190
4757 // 相对于屏幕位置没变,而 left/top 变了
4758 // 例如 <div 'relative'><el absolute></div>
4759 _utils2['default'].offset(source, {
4760 left: newElRegion.left,
4761 top: newElRegion.top
4762 }, {
4763 useCssRight: align.useCssRight,
4764 useCssBottom: align.useCssBottom,
4765 useCssTransform: align.useCssTransform,
4766 ignoreShake: align.ignoreShake
4767 });
4768
4769 return {
4770 points: points,
4771 offset: offset,
4772 targetOffset: targetOffset,
4773 overflow: newOverflowCfg
4774 };
4775 }
4776
4777 exports['default'] = doAlign;
4778 /**
4779 * 2012-04-26 yiminghe@gmail.com
4780 * - 优化智能对齐算法
4781 * - 慎用 resizeXX
4782 *
4783 * 2011-07-13 yiminghe@gmail.com note:
4784 * - 增加智能对齐,以及大小调整选项
4785 **/
4786
4787 module.exports = exports['default'];
4788
4789/***/ }),
4790/* 54 */
4791/***/ (function(module, exports, __webpack_require__) {
4792
4793 'use strict';
4794
4795 Object.defineProperty(exports, "__esModule", {
4796 value: true
4797 });
4798
4799 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; };
4800
4801 var _propertyUtils = __webpack_require__(55);
4802
4803 var RE_NUM = /[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source;
4804
4805 var getComputedStyleX = void 0;
4806
4807 // https://stackoverflow.com/a/3485654/3040605
4808 function forceRelayout(elem) {
4809 var originalStyle = elem.style.display;
4810 elem.style.display = 'none';
4811 elem.offsetHeight; // eslint-disable-line
4812 elem.style.display = originalStyle;
4813 }
4814
4815 function css(el, name, v) {
4816 var value = v;
4817 if ((typeof name === 'undefined' ? 'undefined' : _typeof(name)) === 'object') {
4818 for (var i in name) {
4819 if (name.hasOwnProperty(i)) {
4820 css(el, i, name[i]);
4821 }
4822 }
4823 return undefined;
4824 }
4825 if (typeof value !== 'undefined') {
4826 if (typeof value === 'number') {
4827 value = value + 'px';
4828 }
4829 el.style[name] = value;
4830 return undefined;
4831 }
4832 return getComputedStyleX(el, name);
4833 }
4834
4835 function getClientPosition(elem) {
4836 var box = void 0;
4837 var x = void 0;
4838 var y = void 0;
4839 var doc = elem.ownerDocument;
4840 var body = doc.body;
4841 var docElem = doc && doc.documentElement;
4842 // 根据 GBS 最新数据,A-Grade Browsers 都已支持 getBoundingClientRect 方法,不用再考虑传统的实现方式
4843 box = elem.getBoundingClientRect();
4844
4845 // 注:jQuery 还考虑减去 docElem.clientLeft/clientTop
4846 // 但测试发现,这样反而会导致当 html 和 body 有边距/边框样式时,获取的值不正确
4847 // 此外,ie6 会忽略 html 的 margin 值,幸运地是没有谁会去设置 html 的 margin
4848
4849 x = box.left;
4850 y = box.top;
4851
4852 // In IE, most of the time, 2 extra pixels are added to the top and left
4853 // due to the implicit 2-pixel inset border. In IE6/7 quirks mode and
4854 // IE6 standards mode, this border can be overridden by setting the
4855 // document element's border to zero -- thus, we cannot rely on the
4856 // offset always being 2 pixels.
4857
4858 // In quirks mode, the offset can be determined by querying the body's
4859 // clientLeft/clientTop, but in standards mode, it is found by querying
4860 // the document element's clientLeft/clientTop. Since we already called
4861 // getClientBoundingRect we have already forced a reflow, so it is not
4862 // too expensive just to query them all.
4863
4864 // ie 下应该减去窗口的边框吧,毕竟默认 absolute 都是相对窗口定位的
4865 // 窗口边框标准是设 documentElement ,quirks 时设置 body
4866 // 最好禁止在 body 和 html 上边框 ,但 ie < 9 html 默认有 2px ,减去
4867 // 但是非 ie 不可能设置窗口边框,body html 也不是窗口 ,ie 可以通过 html,body 设置
4868 // 标准 ie 下 docElem.clientTop 就是 border-top
4869 // ie7 html 即窗口边框改变不了。永远为 2
4870 // 但标准 firefox/chrome/ie9 下 docElem.clientTop 是窗口边框,即使设了 border-top 也为 0
4871
4872 x -= docElem.clientLeft || body.clientLeft || 0;
4873 y -= docElem.clientTop || body.clientTop || 0;
4874
4875 return {
4876 left: x,
4877 top: y
4878 };
4879 }
4880
4881 function getScroll(w, top) {
4882 var ret = w['page' + (top ? 'Y' : 'X') + 'Offset'];
4883 var method = 'scroll' + (top ? 'Top' : 'Left');
4884 if (typeof ret !== 'number') {
4885 var d = w.document;
4886 // ie6,7,8 standard mode
4887 ret = d.documentElement[method];
4888 if (typeof ret !== 'number') {
4889 // quirks mode
4890 ret = d.body[method];
4891 }
4892 }
4893 return ret;
4894 }
4895
4896 function getScrollLeft(w) {
4897 return getScroll(w);
4898 }
4899
4900 function getScrollTop(w) {
4901 return getScroll(w, true);
4902 }
4903
4904 function getOffset(el) {
4905 var pos = getClientPosition(el);
4906 var doc = el.ownerDocument;
4907 var w = doc.defaultView || doc.parentWindow;
4908 pos.left += getScrollLeft(w);
4909 pos.top += getScrollTop(w);
4910 return pos;
4911 }
4912
4913 /**
4914 * A crude way of determining if an object is a window
4915 * @member util
4916 */
4917 function isWindow(obj) {
4918 // must use == for ie8
4919 /* eslint eqeqeq:0 */
4920 return obj !== null && obj !== undefined && obj == obj.window;
4921 }
4922
4923 function getDocument(node) {
4924 if (isWindow(node)) {
4925 return node.document;
4926 }
4927 if (node.nodeType === 9) {
4928 return node;
4929 }
4930 return node.ownerDocument;
4931 }
4932
4933 function _getComputedStyle(elem, name, cs) {
4934 var computedStyle = cs;
4935 var val = '';
4936 var d = getDocument(elem);
4937 computedStyle = computedStyle || d.defaultView.getComputedStyle(elem, null);
4938
4939 // https://github.com/kissyteam/kissy/issues/61
4940 if (computedStyle) {
4941 val = computedStyle.getPropertyValue(name) || computedStyle[name];
4942 }
4943
4944 return val;
4945 }
4946
4947 var _RE_NUM_NO_PX = new RegExp('^(' + RE_NUM + ')(?!px)[a-z%]+$', 'i');
4948 var RE_POS = /^(top|right|bottom|left)$/;
4949 var CURRENT_STYLE = 'currentStyle';
4950 var RUNTIME_STYLE = 'runtimeStyle';
4951 var LEFT = 'left';
4952 var PX = 'px';
4953
4954 function _getComputedStyleIE(elem, name) {
4955 // currentStyle maybe null
4956 // http://msdn.microsoft.com/en-us/library/ms535231.aspx
4957 var ret = elem[CURRENT_STYLE] && elem[CURRENT_STYLE][name];
4958
4959 // 当 width/height 设置为百分比时,通过 pixelLeft 方式转换的 width/height 值
4960 // 一开始就处理了! CUSTOM_STYLE.height,CUSTOM_STYLE.width ,cssHook 解决@2011-08-19
4961 // 在 ie 下不对,需要直接用 offset 方式
4962 // borderWidth 等值也有问题,但考虑到 borderWidth 设为百分比的概率很小,这里就不考虑了
4963
4964 // From the awesome hack by Dean Edwards
4965 // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291
4966 // If we're not dealing with a regular pixel number
4967 // but a number that has a weird ending, we need to convert it to pixels
4968 // exclude left right for relativity
4969 if (_RE_NUM_NO_PX.test(ret) && !RE_POS.test(name)) {
4970 // Remember the original values
4971 var style = elem.style;
4972 var left = style[LEFT];
4973 var rsLeft = elem[RUNTIME_STYLE][LEFT];
4974
4975 // prevent flashing of content
4976 elem[RUNTIME_STYLE][LEFT] = elem[CURRENT_STYLE][LEFT];
4977
4978 // Put in the new values to get a computed value out
4979 style[LEFT] = name === 'fontSize' ? '1em' : ret || 0;
4980 ret = style.pixelLeft + PX;
4981
4982 // Revert the changed values
4983 style[LEFT] = left;
4984
4985 elem[RUNTIME_STYLE][LEFT] = rsLeft;
4986 }
4987 return ret === '' ? 'auto' : ret;
4988 }
4989
4990 if (typeof window !== 'undefined') {
4991 getComputedStyleX = window.getComputedStyle ? _getComputedStyle : _getComputedStyleIE;
4992 }
4993
4994 function getOffsetDirection(dir, option) {
4995 if (dir === 'left') {
4996 return option.useCssRight ? 'right' : dir;
4997 }
4998 return option.useCssBottom ? 'bottom' : dir;
4999 }
5000
5001 function oppositeOffsetDirection(dir) {
5002 if (dir === 'left') {
5003 return 'right';
5004 } else if (dir === 'right') {
5005 return 'left';
5006 } else if (dir === 'top') {
5007 return 'bottom';
5008 } else if (dir === 'bottom') {
5009 return 'top';
5010 }
5011 }
5012
5013 // 设置 elem 相对 elem.ownerDocument 的坐标
5014 function setLeftTop(elem, offset, option) {
5015 // set position first, in-case top/left are set even on static elem
5016 if (css(elem, 'position') === 'static') {
5017 elem.style.position = 'relative';
5018 }
5019 var presetH = -999;
5020 var presetV = -999;
5021 var horizontalProperty = getOffsetDirection('left', option);
5022 var verticalProperty = getOffsetDirection('top', option);
5023 var oppositeHorizontalProperty = oppositeOffsetDirection(horizontalProperty);
5024 var oppositeVerticalProperty = oppositeOffsetDirection(verticalProperty);
5025
5026 if (horizontalProperty !== 'left') {
5027 presetH = 999;
5028 }
5029
5030 if (verticalProperty !== 'top') {
5031 presetV = 999;
5032 }
5033 var originalTransition = '';
5034 var originalOffset = getOffset(elem);
5035 if ('left' in offset || 'top' in offset) {
5036 originalTransition = (0, _propertyUtils.getTransitionProperty)(elem) || '';
5037 (0, _propertyUtils.setTransitionProperty)(elem, 'none');
5038 }
5039 if ('left' in offset) {
5040 elem.style[oppositeHorizontalProperty] = '';
5041 elem.style[horizontalProperty] = presetH + 'px';
5042 }
5043 if ('top' in offset) {
5044 elem.style[oppositeVerticalProperty] = '';
5045 elem.style[verticalProperty] = presetV + 'px';
5046 }
5047 // force relayout
5048 forceRelayout(elem);
5049 var old = getOffset(elem);
5050 var originalStyle = {};
5051 for (var key in offset) {
5052 if (offset.hasOwnProperty(key)) {
5053 var dir = getOffsetDirection(key, option);
5054 var preset = key === 'left' ? presetH : presetV;
5055 var off = originalOffset[key] - old[key];
5056 if (dir === key) {
5057 originalStyle[dir] = preset + off;
5058 } else {
5059 originalStyle[dir] = preset - off;
5060 }
5061 }
5062 }
5063 css(elem, originalStyle);
5064 // force relayout
5065 forceRelayout(elem);
5066 if ('left' in offset || 'top' in offset) {
5067 (0, _propertyUtils.setTransitionProperty)(elem, originalTransition);
5068 }
5069 var ret = {};
5070 for (var _key in offset) {
5071 if (offset.hasOwnProperty(_key)) {
5072 var _dir = getOffsetDirection(_key, option);
5073 var _off = offset[_key] - originalOffset[_key];
5074 if (_key === _dir) {
5075 ret[_dir] = originalStyle[_dir] + _off;
5076 } else {
5077 ret[_dir] = originalStyle[_dir] - _off;
5078 }
5079 }
5080 }
5081 css(elem, ret);
5082 }
5083
5084 function setTransform(elem, offset) {
5085 var originalOffset = getOffset(elem);
5086 var originalXY = (0, _propertyUtils.getTransformXY)(elem);
5087 var resultXY = { x: originalXY.x, y: originalXY.y };
5088 if ('left' in offset) {
5089 resultXY.x = originalXY.x + offset.left - originalOffset.left;
5090 }
5091 if ('top' in offset) {
5092 resultXY.y = originalXY.y + offset.top - originalOffset.top;
5093 }
5094 (0, _propertyUtils.setTransformXY)(elem, resultXY);
5095 }
5096
5097 function setOffset(elem, offset, option) {
5098 if (option.ignoreShake) {
5099 var oriOffset = getOffset(elem);
5100
5101 var oLeft = oriOffset.left.toFixed(0);
5102 var oTop = oriOffset.top.toFixed(0);
5103 var tLeft = offset.left.toFixed(0);
5104 var tTop = offset.top.toFixed(0);
5105
5106 if (oLeft === tLeft && oTop === tTop) {
5107 return;
5108 }
5109 }
5110
5111 if (option.useCssRight || option.useCssBottom) {
5112 setLeftTop(elem, offset, option);
5113 } else if (option.useCssTransform && (0, _propertyUtils.getTransformName)() in document.body.style) {
5114 setTransform(elem, offset, option);
5115 } else {
5116 setLeftTop(elem, offset, option);
5117 }
5118 }
5119
5120 function each(arr, fn) {
5121 for (var i = 0; i < arr.length; i++) {
5122 fn(arr[i]);
5123 }
5124 }
5125
5126 function isBorderBoxFn(elem) {
5127 return getComputedStyleX(elem, 'boxSizing') === 'border-box';
5128 }
5129
5130 var BOX_MODELS = ['margin', 'border', 'padding'];
5131 var CONTENT_INDEX = -1;
5132 var PADDING_INDEX = 2;
5133 var BORDER_INDEX = 1;
5134 var MARGIN_INDEX = 0;
5135
5136 function swap(elem, options, callback) {
5137 var old = {};
5138 var style = elem.style;
5139 var name = void 0;
5140
5141 // Remember the old values, and insert the new ones
5142 for (name in options) {
5143 if (options.hasOwnProperty(name)) {
5144 old[name] = style[name];
5145 style[name] = options[name];
5146 }
5147 }
5148
5149 callback.call(elem);
5150
5151 // Revert the old values
5152 for (name in options) {
5153 if (options.hasOwnProperty(name)) {
5154 style[name] = old[name];
5155 }
5156 }
5157 }
5158
5159 function getPBMWidth(elem, props, which) {
5160 var value = 0;
5161 var prop = void 0;
5162 var j = void 0;
5163 var i = void 0;
5164 for (j = 0; j < props.length; j++) {
5165 prop = props[j];
5166 if (prop) {
5167 for (i = 0; i < which.length; i++) {
5168 var cssProp = void 0;
5169 if (prop === 'border') {
5170 cssProp = '' + prop + which[i] + 'Width';
5171 } else {
5172 cssProp = prop + which[i];
5173 }
5174 value += parseFloat(getComputedStyleX(elem, cssProp)) || 0;
5175 }
5176 }
5177 }
5178 return value;
5179 }
5180
5181 var domUtils = {};
5182
5183 each(['Width', 'Height'], function (name) {
5184 domUtils['doc' + name] = function (refWin) {
5185 var d = refWin.document;
5186 return Math.max(
5187 // firefox chrome documentElement.scrollHeight< body.scrollHeight
5188 // ie standard mode : documentElement.scrollHeight> body.scrollHeight
5189 d.documentElement['scroll' + name],
5190 // quirks : documentElement.scrollHeight 最大等于可视窗口多一点?
5191 d.body['scroll' + name], domUtils['viewport' + name](d));
5192 };
5193
5194 domUtils['viewport' + name] = function (win) {
5195 // pc browser includes scrollbar in window.innerWidth
5196 var prop = 'client' + name;
5197 var doc = win.document;
5198 var body = doc.body;
5199 var documentElement = doc.documentElement;
5200 var documentElementProp = documentElement[prop];
5201 // 标准模式取 documentElement
5202 // backcompat 取 body
5203 return doc.compatMode === 'CSS1Compat' && documentElementProp || body && body[prop] || documentElementProp;
5204 };
5205 });
5206
5207 /*
5208 得到元素的大小信息
5209 @param elem
5210 @param name
5211 @param {String} [extra] 'padding' : (css width) + padding
5212 'border' : (css width) + padding + border
5213 'margin' : (css width) + padding + border + margin
5214 */
5215 function getWH(elem, name, ex) {
5216 var extra = ex;
5217 if (isWindow(elem)) {
5218 return name === 'width' ? domUtils.viewportWidth(elem) : domUtils.viewportHeight(elem);
5219 } else if (elem.nodeType === 9) {
5220 return name === 'width' ? domUtils.docWidth(elem) : domUtils.docHeight(elem);
5221 }
5222 var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];
5223 var borderBoxValue = name === 'width' ? elem.getBoundingClientRect().width : elem.getBoundingClientRect().height;
5224 var computedStyle = getComputedStyleX(elem);
5225 var isBorderBox = isBorderBoxFn(elem, computedStyle);
5226 var cssBoxValue = 0;
5227 if (borderBoxValue === null || borderBoxValue === undefined || borderBoxValue <= 0) {
5228 borderBoxValue = undefined;
5229 // Fall back to computed then un computed css if necessary
5230 cssBoxValue = getComputedStyleX(elem, name);
5231 if (cssBoxValue === null || cssBoxValue === undefined || Number(cssBoxValue) < 0) {
5232 cssBoxValue = elem.style[name] || 0;
5233 }
5234 // Normalize '', auto, and prepare for extra
5235 cssBoxValue = parseFloat(cssBoxValue) || 0;
5236 }
5237 if (extra === undefined) {
5238 extra = isBorderBox ? BORDER_INDEX : CONTENT_INDEX;
5239 }
5240 var borderBoxValueOrIsBorderBox = borderBoxValue !== undefined || isBorderBox;
5241 var val = borderBoxValue || cssBoxValue;
5242 if (extra === CONTENT_INDEX) {
5243 if (borderBoxValueOrIsBorderBox) {
5244 return val - getPBMWidth(elem, ['border', 'padding'], which, computedStyle);
5245 }
5246 return cssBoxValue;
5247 } else if (borderBoxValueOrIsBorderBox) {
5248 if (extra === BORDER_INDEX) {
5249 return val;
5250 }
5251 return val + (extra === PADDING_INDEX ? -getPBMWidth(elem, ['border'], which, computedStyle) : getPBMWidth(elem, ['margin'], which, computedStyle));
5252 }
5253 return cssBoxValue + getPBMWidth(elem, BOX_MODELS.slice(extra), which, computedStyle);
5254 }
5255
5256 var cssShow = {
5257 position: 'absolute',
5258 visibility: 'hidden',
5259 display: 'block'
5260 };
5261
5262 // fix #119 : https://github.com/kissyteam/kissy/issues/119
5263 function getWHIgnoreDisplay() {
5264 for (var _len = arguments.length, args = Array(_len), _key2 = 0; _key2 < _len; _key2++) {
5265 args[_key2] = arguments[_key2];
5266 }
5267
5268 var val = void 0;
5269 var elem = args[0];
5270 // in case elem is window
5271 // elem.offsetWidth === undefined
5272 if (elem.offsetWidth !== 0) {
5273 val = getWH.apply(undefined, args);
5274 } else {
5275 swap(elem, cssShow, function () {
5276 val = getWH.apply(undefined, args);
5277 });
5278 }
5279 return val;
5280 }
5281
5282 each(['width', 'height'], function (name) {
5283 var first = name.charAt(0).toUpperCase() + name.slice(1);
5284 domUtils['outer' + first] = function (el, includeMargin) {
5285 return el && getWHIgnoreDisplay(el, name, includeMargin ? MARGIN_INDEX : BORDER_INDEX);
5286 };
5287 var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];
5288
5289 domUtils[name] = function (elem, v) {
5290 var val = v;
5291 if (val !== undefined) {
5292 if (elem) {
5293 var computedStyle = getComputedStyleX(elem);
5294 var isBorderBox = isBorderBoxFn(elem);
5295 if (isBorderBox) {
5296 val += getPBMWidth(elem, ['padding', 'border'], which, computedStyle);
5297 }
5298 return css(elem, name, val);
5299 }
5300 return undefined;
5301 }
5302 return elem && getWHIgnoreDisplay(elem, name, CONTENT_INDEX);
5303 };
5304 });
5305
5306 function mix(to, from) {
5307 for (var i in from) {
5308 if (from.hasOwnProperty(i)) {
5309 to[i] = from[i];
5310 }
5311 }
5312 return to;
5313 }
5314
5315 var utils = {
5316 getWindow: function getWindow(node) {
5317 if (node && node.document && node.setTimeout) {
5318 return node;
5319 }
5320 var doc = node.ownerDocument || node;
5321 return doc.defaultView || doc.parentWindow;
5322 },
5323
5324 getDocument: getDocument,
5325 offset: function offset(el, value, option) {
5326 if (typeof value !== 'undefined') {
5327 setOffset(el, value, option || {});
5328 } else {
5329 return getOffset(el);
5330 }
5331 },
5332
5333 isWindow: isWindow,
5334 each: each,
5335 css: css,
5336 clone: function clone(obj) {
5337 var i = void 0;
5338 var ret = {};
5339 for (i in obj) {
5340 if (obj.hasOwnProperty(i)) {
5341 ret[i] = obj[i];
5342 }
5343 }
5344 var overflow = obj.overflow;
5345 if (overflow) {
5346 for (i in obj) {
5347 if (obj.hasOwnProperty(i)) {
5348 ret.overflow[i] = obj.overflow[i];
5349 }
5350 }
5351 }
5352 return ret;
5353 },
5354
5355 mix: mix,
5356 getWindowScrollLeft: function getWindowScrollLeft(w) {
5357 return getScrollLeft(w);
5358 },
5359 getWindowScrollTop: function getWindowScrollTop(w) {
5360 return getScrollTop(w);
5361 },
5362 merge: function merge() {
5363 var ret = {};
5364
5365 for (var _len2 = arguments.length, args = Array(_len2), _key3 = 0; _key3 < _len2; _key3++) {
5366 args[_key3] = arguments[_key3];
5367 }
5368
5369 for (var i = 0; i < args.length; i++) {
5370 utils.mix(ret, args[i]);
5371 }
5372 return ret;
5373 },
5374
5375 viewportWidth: 0,
5376 viewportHeight: 0
5377 };
5378
5379 mix(utils, domUtils);
5380
5381 exports['default'] = utils;
5382 module.exports = exports['default'];
5383
5384/***/ }),
5385/* 55 */
5386/***/ (function(module, exports) {
5387
5388 'use strict';
5389
5390 Object.defineProperty(exports, "__esModule", {
5391 value: true
5392 });
5393 exports.getTransformName = getTransformName;
5394 exports.setTransitionProperty = setTransitionProperty;
5395 exports.getTransitionProperty = getTransitionProperty;
5396 exports.getTransformXY = getTransformXY;
5397 exports.setTransformXY = setTransformXY;
5398 var vendorPrefix = void 0;
5399
5400 var jsCssMap = {
5401 Webkit: '-webkit-',
5402 Moz: '-moz-',
5403 // IE did it wrong again ...
5404 ms: '-ms-',
5405 O: '-o-'
5406 };
5407
5408 function getVendorPrefix() {
5409 if (vendorPrefix !== undefined) {
5410 return vendorPrefix;
5411 }
5412 vendorPrefix = '';
5413 var style = document.createElement('p').style;
5414 var testProp = 'Transform';
5415 for (var key in jsCssMap) {
5416 if (key + testProp in style) {
5417 vendorPrefix = key;
5418 }
5419 }
5420 return vendorPrefix;
5421 }
5422
5423 function getTransitionName() {
5424 return getVendorPrefix() ? getVendorPrefix() + 'TransitionProperty' : 'transitionProperty';
5425 }
5426
5427 function getTransformName() {
5428 return getVendorPrefix() ? getVendorPrefix() + 'Transform' : 'transform';
5429 }
5430
5431 function setTransitionProperty(node, value) {
5432 var name = getTransitionName();
5433 if (name) {
5434 node.style[name] = value;
5435 if (name !== 'transitionProperty') {
5436 node.style.transitionProperty = value;
5437 }
5438 }
5439 }
5440
5441 function setTransform(node, value) {
5442 var name = getTransformName();
5443 if (name) {
5444 node.style[name] = value;
5445 if (name !== 'transform') {
5446 node.style.transform = value;
5447 }
5448 }
5449 }
5450
5451 function getTransitionProperty(node) {
5452 return node.style.transitionProperty || node.style[getTransitionName()];
5453 }
5454
5455 function getTransformXY(node) {
5456 var style = window.getComputedStyle(node, null);
5457 var transform = style.getPropertyValue('transform') || style.getPropertyValue(getTransformName());
5458 if (transform && transform !== 'none') {
5459 var matrix = transform.replace(/[^0-9\-.,]/g, '').split(',');
5460 return { x: parseFloat(matrix[12] || matrix[4], 0), y: parseFloat(matrix[13] || matrix[5], 0) };
5461 }
5462 return {
5463 x: 0,
5464 y: 0
5465 };
5466 }
5467
5468 var matrix2d = /matrix\((.*)\)/;
5469 var matrix3d = /matrix3d\((.*)\)/;
5470
5471 function setTransformXY(node, xy) {
5472 var style = window.getComputedStyle(node, null);
5473 var transform = style.getPropertyValue('transform') || style.getPropertyValue(getTransformName());
5474 if (transform && transform !== 'none') {
5475 var arr = void 0;
5476 var match2d = transform.match(matrix2d);
5477 if (match2d) {
5478 match2d = match2d[1];
5479 arr = match2d.split(',').map(function (item) {
5480 return parseFloat(item, 10);
5481 });
5482 arr[4] = xy.x;
5483 arr[5] = xy.y;
5484 setTransform(node, 'matrix(' + arr.join(',') + ')');
5485 } else {
5486 var match3d = transform.match(matrix3d)[1];
5487 arr = match3d.split(',').map(function (item) {
5488 return parseFloat(item, 10);
5489 });
5490 arr[12] = xy.x;
5491 arr[13] = xy.y;
5492 setTransform(node, 'matrix3d(' + arr.join(',') + ')');
5493 }
5494 } else {
5495 setTransform(node, 'translateX(' + xy.x + 'px) translateY(' + xy.y + 'px) translateZ(0)');
5496 }
5497 }
5498
5499/***/ }),
5500/* 56 */
5501/***/ (function(module, exports, __webpack_require__) {
5502
5503 'use strict';
5504
5505 Object.defineProperty(exports, "__esModule", {
5506 value: true
5507 });
5508
5509 var _utils = __webpack_require__(54);
5510
5511 var _utils2 = _interopRequireDefault(_utils);
5512
5513 var _getOffsetParent = __webpack_require__(57);
5514
5515 var _getOffsetParent2 = _interopRequireDefault(_getOffsetParent);
5516
5517 var _isAncestorFixed = __webpack_require__(58);
5518
5519 var _isAncestorFixed2 = _interopRequireDefault(_isAncestorFixed);
5520
5521 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
5522
5523 /**
5524 * 获得元素的显示部分的区域
5525 */
5526 function getVisibleRectForElement(element) {
5527 var visibleRect = {
5528 left: 0,
5529 right: Infinity,
5530 top: 0,
5531 bottom: Infinity
5532 };
5533 var el = (0, _getOffsetParent2['default'])(element);
5534 var doc = _utils2['default'].getDocument(element);
5535 var win = doc.defaultView || doc.parentWindow;
5536 var body = doc.body;
5537 var documentElement = doc.documentElement;
5538
5539 // Determine the size of the visible rect by climbing the dom accounting for
5540 // all scrollable containers.
5541 while (el) {
5542 // clientWidth is zero for inline block elements in ie.
5543 if ((navigator.userAgent.indexOf('MSIE') === -1 || el.clientWidth !== 0) &&
5544 // body may have overflow set on it, yet we still get the entire
5545 // viewport. In some browsers, el.offsetParent may be
5546 // document.documentElement, so check for that too.
5547 el !== body && el !== documentElement && _utils2['default'].css(el, 'overflow') !== 'visible') {
5548 var pos = _utils2['default'].offset(el);
5549 // add border
5550 pos.left += el.clientLeft;
5551 pos.top += el.clientTop;
5552 visibleRect.top = Math.max(visibleRect.top, pos.top);
5553 visibleRect.right = Math.min(visibleRect.right,
5554 // consider area without scrollBar
5555 pos.left + el.clientWidth);
5556 visibleRect.bottom = Math.min(visibleRect.bottom, pos.top + el.clientHeight);
5557 visibleRect.left = Math.max(visibleRect.left, pos.left);
5558 } else if (el === body || el === documentElement) {
5559 break;
5560 }
5561 el = (0, _getOffsetParent2['default'])(el);
5562 }
5563
5564 // Set element position to fixed
5565 // make sure absolute element itself don't affect it's visible area
5566 // https://github.com/ant-design/ant-design/issues/7601
5567 var originalPosition = null;
5568 if (!_utils2['default'].isWindow(element) && element.nodeType !== 9) {
5569 originalPosition = element.style.position;
5570 var position = _utils2['default'].css(element, 'position');
5571 if (position === 'absolute') {
5572 element.style.position = 'fixed';
5573 }
5574 }
5575
5576 var scrollX = _utils2['default'].getWindowScrollLeft(win);
5577 var scrollY = _utils2['default'].getWindowScrollTop(win);
5578 var viewportWidth = _utils2['default'].viewportWidth(win);
5579 var viewportHeight = _utils2['default'].viewportHeight(win);
5580 var documentWidth = documentElement.scrollWidth;
5581 var documentHeight = documentElement.scrollHeight;
5582
5583 // Reset element position after calculate the visible area
5584 if (element.style) {
5585 element.style.position = originalPosition;
5586 }
5587
5588 if ((0, _isAncestorFixed2['default'])(element)) {
5589 // Clip by viewport's size.
5590 visibleRect.left = Math.max(visibleRect.left, scrollX);
5591 visibleRect.top = Math.max(visibleRect.top, scrollY);
5592 visibleRect.right = Math.min(visibleRect.right, scrollX + viewportWidth);
5593 visibleRect.bottom = Math.min(visibleRect.bottom, scrollY + viewportHeight);
5594 } else {
5595 // Clip by document's size.
5596 var maxVisibleWidth = Math.max(documentWidth, scrollX + viewportWidth);
5597 visibleRect.right = Math.min(visibleRect.right, maxVisibleWidth);
5598
5599 var maxVisibleHeight = Math.max(documentHeight, scrollY + viewportHeight);
5600 visibleRect.bottom = Math.min(visibleRect.bottom, maxVisibleHeight);
5601 }
5602
5603 return visibleRect.top >= 0 && visibleRect.left >= 0 && visibleRect.bottom > visibleRect.top && visibleRect.right > visibleRect.left ? visibleRect : null;
5604 }
5605
5606 exports['default'] = getVisibleRectForElement;
5607 module.exports = exports['default'];
5608
5609/***/ }),
5610/* 57 */
5611/***/ (function(module, exports, __webpack_require__) {
5612
5613 'use strict';
5614
5615 Object.defineProperty(exports, "__esModule", {
5616 value: true
5617 });
5618
5619 var _utils = __webpack_require__(54);
5620
5621 var _utils2 = _interopRequireDefault(_utils);
5622
5623 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
5624
5625 /**
5626 * 得到会导致元素显示不全的祖先元素
5627 */
5628
5629 function getOffsetParent(element) {
5630 if (_utils2['default'].isWindow(element) || element.nodeType === 9) {
5631 return null;
5632 }
5633 // ie 这个也不是完全可行
5634 /*
5635 <div style="width: 50px;height: 100px;overflow: hidden">
5636 <div style="width: 50px;height: 100px;position: relative;" id="d6">
5637 元素 6 高 100px 宽 50px<br/>
5638 </div>
5639 </div>
5640 */
5641 // element.offsetParent does the right thing in ie7 and below. Return parent with layout!
5642 // In other browsers it only includes elements with position absolute, relative or
5643 // fixed, not elements with overflow set to auto or scroll.
5644 // if (UA.ie && ieMode < 8) {
5645 // return element.offsetParent;
5646 // }
5647 // 统一的 offsetParent 方法
5648 var doc = _utils2['default'].getDocument(element);
5649 var body = doc.body;
5650 var parent = void 0;
5651 var positionStyle = _utils2['default'].css(element, 'position');
5652 var skipStatic = positionStyle === 'fixed' || positionStyle === 'absolute';
5653
5654 if (!skipStatic) {
5655 return element.nodeName.toLowerCase() === 'html' ? null : element.parentNode;
5656 }
5657
5658 for (parent = element.parentNode; parent && parent !== body; parent = parent.parentNode) {
5659 positionStyle = _utils2['default'].css(parent, 'position');
5660 if (positionStyle !== 'static') {
5661 return parent;
5662 }
5663 }
5664 return null;
5665 }
5666
5667 exports['default'] = getOffsetParent;
5668 module.exports = exports['default'];
5669
5670/***/ }),
5671/* 58 */
5672/***/ (function(module, exports, __webpack_require__) {
5673
5674 'use strict';
5675
5676 Object.defineProperty(exports, "__esModule", {
5677 value: true
5678 });
5679 exports['default'] = isAncestorFixed;
5680
5681 var _utils = __webpack_require__(54);
5682
5683 var _utils2 = _interopRequireDefault(_utils);
5684
5685 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
5686
5687 function isAncestorFixed(element) {
5688 if (_utils2['default'].isWindow(element) || element.nodeType === 9) {
5689 return false;
5690 }
5691
5692 var doc = _utils2['default'].getDocument(element);
5693 var body = doc.body;
5694 var parent = null;
5695 for (parent = element.parentNode; parent && parent !== body; parent = parent.parentNode) {
5696 var positionStyle = _utils2['default'].css(parent, 'position');
5697 if (positionStyle === 'fixed') {
5698 return true;
5699 }
5700 }
5701 return false;
5702 }
5703 module.exports = exports['default'];
5704
5705/***/ }),
5706/* 59 */
5707/***/ (function(module, exports, __webpack_require__) {
5708
5709 'use strict';
5710
5711 Object.defineProperty(exports, "__esModule", {
5712 value: true
5713 });
5714
5715 var _utils = __webpack_require__(54);
5716
5717 var _utils2 = _interopRequireDefault(_utils);
5718
5719 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
5720
5721 function adjustForViewport(elFuturePos, elRegion, visibleRect, overflow) {
5722 var pos = _utils2['default'].clone(elFuturePos);
5723 var size = {
5724 width: elRegion.width,
5725 height: elRegion.height
5726 };
5727
5728 if (overflow.adjustX && pos.left < visibleRect.left) {
5729 pos.left = visibleRect.left;
5730 }
5731
5732 // Left edge inside and right edge outside viewport, try to resize it.
5733 if (overflow.resizeWidth && pos.left >= visibleRect.left && pos.left + size.width > visibleRect.right) {
5734 size.width -= pos.left + size.width - visibleRect.right;
5735 }
5736
5737 // Right edge outside viewport, try to move it.
5738 if (overflow.adjustX && pos.left + size.width > visibleRect.right) {
5739 // 保证左边界和可视区域左边界对齐
5740 pos.left = Math.max(visibleRect.right - size.width, visibleRect.left);
5741 }
5742
5743 // Top edge outside viewport, try to move it.
5744 if (overflow.adjustY && pos.top < visibleRect.top) {
5745 pos.top = visibleRect.top;
5746 }
5747
5748 // Top edge inside and bottom edge outside viewport, try to resize it.
5749 if (overflow.resizeHeight && pos.top >= visibleRect.top && pos.top + size.height > visibleRect.bottom) {
5750 size.height -= pos.top + size.height - visibleRect.bottom;
5751 }
5752
5753 // Bottom edge outside viewport, try to move it.
5754 if (overflow.adjustY && pos.top + size.height > visibleRect.bottom) {
5755 // 保证上边界和可视区域上边界对齐
5756 pos.top = Math.max(visibleRect.bottom - size.height, visibleRect.top);
5757 }
5758
5759 return _utils2['default'].mix(pos, size);
5760 }
5761
5762 exports['default'] = adjustForViewport;
5763 module.exports = exports['default'];
5764
5765/***/ }),
5766/* 60 */
5767/***/ (function(module, exports, __webpack_require__) {
5768
5769 'use strict';
5770
5771 Object.defineProperty(exports, "__esModule", {
5772 value: true
5773 });
5774
5775 var _utils = __webpack_require__(54);
5776
5777 var _utils2 = _interopRequireDefault(_utils);
5778
5779 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
5780
5781 function getRegion(node) {
5782 var offset = void 0;
5783 var w = void 0;
5784 var h = void 0;
5785 if (!_utils2['default'].isWindow(node) && node.nodeType !== 9) {
5786 offset = _utils2['default'].offset(node);
5787 w = _utils2['default'].outerWidth(node);
5788 h = _utils2['default'].outerHeight(node);
5789 } else {
5790 var win = _utils2['default'].getWindow(node);
5791 offset = {
5792 left: _utils2['default'].getWindowScrollLeft(win),
5793 top: _utils2['default'].getWindowScrollTop(win)
5794 };
5795 w = _utils2['default'].viewportWidth(win);
5796 h = _utils2['default'].viewportHeight(win);
5797 }
5798 offset.width = w;
5799 offset.height = h;
5800 return offset;
5801 }
5802
5803 exports['default'] = getRegion;
5804 module.exports = exports['default'];
5805
5806/***/ }),
5807/* 61 */
5808/***/ (function(module, exports, __webpack_require__) {
5809
5810 'use strict';
5811
5812 Object.defineProperty(exports, "__esModule", {
5813 value: true
5814 });
5815
5816 var _getAlignOffset = __webpack_require__(62);
5817
5818 var _getAlignOffset2 = _interopRequireDefault(_getAlignOffset);
5819
5820 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
5821
5822 function getElFuturePos(elRegion, refNodeRegion, points, offset, targetOffset) {
5823 var p1 = (0, _getAlignOffset2['default'])(refNodeRegion, points[1]);
5824 var p2 = (0, _getAlignOffset2['default'])(elRegion, points[0]);
5825 var diff = [p2.left - p1.left, p2.top - p1.top];
5826
5827 return {
5828 left: elRegion.left - diff[0] + offset[0] - targetOffset[0],
5829 top: elRegion.top - diff[1] + offset[1] - targetOffset[1]
5830 };
5831 }
5832
5833 exports['default'] = getElFuturePos;
5834 module.exports = exports['default'];
5835
5836/***/ }),
5837/* 62 */
5838/***/ (function(module, exports) {
5839
5840 'use strict';
5841
5842 Object.defineProperty(exports, "__esModule", {
5843 value: true
5844 });
5845 /**
5846 * 获取 node 上的 align 对齐点 相对于页面的坐标
5847 */
5848
5849 function getAlignOffset(region, align) {
5850 var V = align.charAt(0);
5851 var H = align.charAt(1);
5852 var w = region.width;
5853 var h = region.height;
5854
5855 var x = region.left;
5856 var y = region.top;
5857
5858 if (V === 'c') {
5859 y += h / 2;
5860 } else if (V === 'b') {
5861 y += h;
5862 }
5863
5864 if (H === 'c') {
5865 x += w / 2;
5866 } else if (H === 'r') {
5867 x += w;
5868 }
5869
5870 return {
5871 left: x,
5872 top: y
5873 };
5874 }
5875
5876 exports['default'] = getAlignOffset;
5877 module.exports = exports['default'];
5878
5879/***/ }),
5880/* 63 */
5881/***/ (function(module, exports, __webpack_require__) {
5882
5883 'use strict';
5884
5885 Object.defineProperty(exports, "__esModule", {
5886 value: true
5887 });
5888
5889 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; };
5890
5891 var _utils = __webpack_require__(54);
5892
5893 var _utils2 = _interopRequireDefault(_utils);
5894
5895 var _align = __webpack_require__(53);
5896
5897 var _align2 = _interopRequireDefault(_align);
5898
5899 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
5900
5901 /**
5902 * `tgtPoint`: { pageX, pageY } or { clientX, clientY }.
5903 * If client position provided, will internal convert to page position.
5904 */
5905
5906 function alignPoint(el, tgtPoint, align) {
5907 var pageX = void 0;
5908 var pageY = void 0;
5909
5910 var doc = _utils2['default'].getDocument(el);
5911 var win = doc.defaultView || doc.parentWindow;
5912
5913 var scrollX = _utils2['default'].getWindowScrollLeft(win);
5914 var scrollY = _utils2['default'].getWindowScrollTop(win);
5915 var viewportWidth = _utils2['default'].viewportWidth(win);
5916 var viewportHeight = _utils2['default'].viewportHeight(win);
5917
5918 if ('pageX' in tgtPoint) {
5919 pageX = tgtPoint.pageX;
5920 } else {
5921 pageX = scrollX + tgtPoint.clientX;
5922 }
5923
5924 if ('pageY' in tgtPoint) {
5925 pageY = tgtPoint.pageY;
5926 } else {
5927 pageY = scrollY + tgtPoint.clientY;
5928 }
5929
5930 var tgtRegion = {
5931 left: pageX,
5932 top: pageY,
5933 width: 0,
5934 height: 0
5935 };
5936
5937 var pointInView = pageX >= 0 && pageX <= scrollX + viewportWidth && pageY >= 0 && pageY <= scrollY + viewportHeight;
5938
5939 // Provide default target point
5940 var points = [align.points[0], 'cc'];
5941
5942 return (0, _align2['default'])(el, tgtRegion, _extends({}, align, { points: points }), pointInView);
5943 }
5944
5945 exports['default'] = alignPoint;
5946 module.exports = exports['default'];
5947
5948/***/ }),
5949/* 64 */
5950/***/ (function(module, exports, __webpack_require__) {
5951
5952 'use strict';
5953
5954 Object.defineProperty(exports, "__esModule", {
5955 value: true
5956 });
5957
5958 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; };
5959
5960 var _classnames = __webpack_require__(3);
5961
5962 var _classnames2 = _interopRequireDefault(_classnames);
5963
5964 var _react = __webpack_require__(4);
5965
5966 var _react2 = _interopRequireDefault(_react);
5967
5968 var _propTypes = __webpack_require__(5);
5969
5970 var _propTypes2 = _interopRequireDefault(_propTypes);
5971
5972 var _Transition = __webpack_require__(11);
5973
5974 var _Transition2 = _interopRequireDefault(_Transition);
5975
5976 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
5977
5978 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; }
5979
5980 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
5981
5982 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; }
5983
5984 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); }
5985
5986 var propTypes = {
5987 /**
5988 * Show the component; triggers the fade in or fade out animation
5989 */
5990 "in": _propTypes2["default"].bool,
5991
5992 /**
5993 * Unmount the component (remove it from the DOM) when it is faded out
5994 */
5995 unmountOnExit: _propTypes2["default"].bool,
5996
5997 /**
5998 * Run the fade in animation when the component mounts, if it is initially
5999 * shown
6000 */
6001 transitionAppear: _propTypes2["default"].bool,
6002
6003 /**
6004 * Duration of the fade animation in milliseconds, to ensure that finishing
6005 * callbacks are fired even if the original browser transition end events are
6006 * canceled
6007 */
6008 timeout: _propTypes2["default"].number,
6009
6010 /**
6011 * Callback fired before the component fades in
6012 */
6013 onEnter: _propTypes2["default"].func,
6014 /**
6015 * Callback fired after the component starts to fade in
6016 */
6017 onEntering: _propTypes2["default"].func,
6018 /**
6019 * Callback fired after the has component faded in
6020 */
6021 onEntered: _propTypes2["default"].func,
6022 /**
6023 * Callback fired before the component fades out
6024 */
6025 onExit: _propTypes2["default"].func,
6026 /**
6027 * Callback fired after the component starts to fade out
6028 */
6029 onExiting: _propTypes2["default"].func,
6030 /**
6031 * Callback fired after the component has faded out
6032 */
6033 onExited: _propTypes2["default"].func
6034 };
6035
6036 var defaultProps = {
6037 "in": false,
6038 timeout: 300,
6039 unmountOnExit: false,
6040 transitionAppear: false
6041 };
6042
6043 var Fade = function (_React$Component) {
6044 _inherits(Fade, _React$Component);
6045
6046 function Fade() {
6047 _classCallCheck(this, Fade);
6048
6049 return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));
6050 }
6051
6052 Fade.prototype.render = function render() {
6053 return _react2["default"].createElement(_Transition2["default"], _extends({}, this.props, {
6054 className: (0, _classnames2["default"])(this.props.className, 'fade'),
6055 enteredClassName: 'in',
6056 enteringClassName: 'in'
6057 }));
6058 };
6059
6060 return Fade;
6061 }(_react2["default"].Component);
6062
6063 Fade.propTypes = propTypes;
6064 Fade.defaultProps = defaultProps;
6065
6066 exports["default"] = Fade;
6067 module.exports = exports['default'];
6068
6069/***/ }),
6070/* 65 */
6071/***/ (function(module, exports, __webpack_require__) {
6072
6073 'use strict';
6074
6075 Object.defineProperty(exports, "__esModule", {
6076 value: true
6077 });
6078
6079 var _Message = __webpack_require__(66);
6080
6081 var _Message2 = _interopRequireDefault(_Message);
6082
6083 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
6084
6085 exports["default"] = _Message2["default"];
6086 module.exports = exports['default'];
6087
6088/***/ }),
6089/* 66 */
6090/***/ (function(module, exports, __webpack_require__) {
6091
6092 'use strict';
6093
6094 Object.defineProperty(exports, "__esModule", {
6095 value: true
6096 });
6097
6098 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; };
6099
6100 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; };
6101
6102 var _react = __webpack_require__(4);
6103
6104 var _react2 = _interopRequireDefault(_react);
6105
6106 var _beeNotification = __webpack_require__(67);
6107
6108 var _beeNotification2 = _interopRequireDefault(_beeNotification);
6109
6110 var _classnames = __webpack_require__(3);
6111
6112 var _classnames2 = _interopRequireDefault(_classnames);
6113
6114 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
6115
6116 var defaultDuration = 1.5;
6117 var defaultTop = 0;
6118 var defaultBottom = 48;
6119 var bottom = 90;
6120 var padding = 30;
6121 var width = 200;
6122 var messageInstance = void 0;
6123 var key = 1;
6124 var clsPrefix = 'u-message';
6125 var noop = function noop() {};
6126
6127 var positionObj = {
6128 "top": {
6129 messageStyle: {
6130 width: "100%"
6131 },
6132 notificationStyle: {
6133 top: defaultTop,
6134 width: "100%"
6135 },
6136 transitionName: 'top'
6137 },
6138 "bottom": {
6139 messageStyle: {
6140 width: "100%"
6141 },
6142 notificationStyle: {
6143 bottom: defaultBottom,
6144 width: "100%"
6145 },
6146 transitionName: 'bottom'
6147 },
6148 "topRight": {
6149 messageStyle: {
6150 width: width
6151 },
6152 notificationStyle: {
6153 top: padding,
6154 right: padding,
6155 width: width
6156 },
6157 transitionName: 'right'
6158 },
6159 "bottomRight": {
6160 messageStyle: {
6161 width: width
6162 },
6163 notificationStyle: {
6164 bottom: bottom,
6165 right: padding,
6166 width: width
6167 },
6168 transitionName: 'right'
6169 },
6170 "topLeft": {
6171 messageStyle: {
6172 width: width
6173 },
6174 notificationStyle: {
6175 top: padding,
6176 left: padding,
6177 width: width
6178 },
6179 transitionName: 'left'
6180 },
6181 "bottomLeft": {
6182 messageStyle: {
6183 width: width
6184 },
6185 notificationStyle: {
6186 bottom: bottom,
6187 left: padding,
6188 width: width
6189 },
6190 transitionName: 'left'
6191 }
6192 };
6193
6194 function getMessageInstance() {
6195 var position = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'top';
6196 var callback = arguments[1];
6197 var keyboard = arguments[2];
6198 var onEscapeKeyUp = arguments[3];
6199
6200 if (messageInstance) {
6201 callback(messageInstance);
6202 return;
6203 }
6204 var style = positionObj[position].notificationStyle;
6205 var instanceObj = {
6206 clsPrefix: clsPrefix,
6207 transitionName: clsPrefix + '-' + positionObj[position].transitionName,
6208 style: style, // 覆盖原来的样式
6209 position: ''
6210 };
6211 if (typeof keyboard === 'boolean') {
6212 instanceObj.keyboard = keyboard;
6213 }
6214 if (typeof onEscapeKeyUp === 'function') {
6215 instanceObj.onEscapeKeyUp = onEscapeKeyUp;
6216 }
6217 _beeNotification2["default"].newInstance(instanceObj, function (instance) {
6218 messageInstance = instance;
6219 callback(instance);
6220 });
6221 }
6222
6223 function notice(content, duration, type, onClose, position, style, keyboard, onEscapeKeyUp, showIcon) {
6224 var iconType = {
6225 info: 'uf uf-i-c-2',
6226 success: 'uf uf-correct',
6227 danger: 'uf uf-close-c',
6228 warning: 'uf uf-exc-t',
6229 light: 'uf uf-notification',
6230 dark: 'uf uf-bubble',
6231 news: 'uf uf-bell',
6232 infolight: 'uf uf-i-c-2',
6233 successlight: 'uf uf-correct',
6234 dangerlight: 'uf uf-close-c',
6235 warninglight: 'uf uf-exc-t'
6236 }[type];
6237
6238 var positionStyle = positionObj[position].messageStyle;
6239
6240 getMessageInstance(position, function (instance) {
6241 instance.notice({
6242 key: key,
6243 duration: duration,
6244 color: type,
6245 style: _extends({}, positionStyle, style),
6246 content: _react2["default"].createElement(
6247 'div',
6248 null,
6249 showIcon ? _react2["default"].createElement(
6250 'div',
6251 { className: clsPrefix + '-notice-description-icon' },
6252 _react2["default"].createElement('i', { className: (0, _classnames2["default"])(iconType) })
6253 ) : null,
6254 _react2["default"].createElement(
6255 'div',
6256 { className: clsPrefix + '-notice-description-content' },
6257 content
6258 )
6259 ),
6260 onClose: onClose
6261 });
6262 }, keyboard, onEscapeKeyUp);
6263 return function () {
6264 var target = key++;
6265 return function () {
6266 if (messageInstance) {
6267 messageInstance.removeNotice(target);
6268 }
6269 };
6270 }();
6271 }
6272
6273 exports["default"] = {
6274 create: function create(obj) {
6275 var content = obj.content || '';
6276 var duration = _typeof(obj.duration) == undefined ? defaultDuration : obj.duration;
6277 var color = obj.color || 'dark';
6278 var onClose = obj.onClose || noop;
6279 var position = obj.position || "top";
6280 var style = obj.style || {};
6281 var showIcon = obj.showIcon || false;
6282 return notice(content, duration, color, onClose, position, style, obj.keyboard, obj.onEscapeKeyUp, showIcon);
6283 },
6284 config: function config(options) {
6285 if (options.top !== undefined) {
6286 defaultTop = options.top;
6287 }
6288 if (options.duration !== undefined) {
6289 defaultDuration = options.duration;
6290 }
6291 if (options.clsPrefix !== undefined) {
6292 clsPrefix = options.clsPrefix;
6293 }
6294 if (options.defaultBottom !== undefined) {
6295 defaultBottom = options.defaultBottom;
6296 }
6297 if (options.bottom !== undefined) {
6298 bottom = options.bottom;
6299 }
6300 if (options.width !== undefined) {
6301 bottom = options.width;
6302 }
6303 },
6304 destroy: function destroy() {
6305 if (messageInstance) {
6306 messageInstance.destroy();
6307 messageInstance = null;
6308 }
6309 }
6310 };
6311 module.exports = exports['default'];
6312
6313/***/ }),
6314/* 67 */
6315/***/ (function(module, exports, __webpack_require__) {
6316
6317 'use strict';
6318
6319 Object.defineProperty(exports, "__esModule", {
6320 value: true
6321 });
6322
6323 var _Notification = __webpack_require__(68);
6324
6325 var _Notification2 = _interopRequireDefault(_Notification);
6326
6327 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
6328
6329 exports["default"] = _Notification2["default"];
6330 module.exports = exports['default'];
6331
6332/***/ }),
6333/* 68 */
6334/***/ (function(module, exports, __webpack_require__) {
6335
6336 'use strict';
6337
6338 Object.defineProperty(exports, "__esModule", {
6339 value: true
6340 });
6341
6342 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; };
6343
6344 var _react = __webpack_require__(4);
6345
6346 var _react2 = _interopRequireDefault(_react);
6347
6348 var _propTypes = __webpack_require__(5);
6349
6350 var _propTypes2 = _interopRequireDefault(_propTypes);
6351
6352 var _reactDom = __webpack_require__(12);
6353
6354 var _reactDom2 = _interopRequireDefault(_reactDom);
6355
6356 var _beeAnimate = __webpack_require__(69);
6357
6358 var _beeAnimate2 = _interopRequireDefault(_beeAnimate);
6359
6360 var _createChainedFunction = __webpack_require__(37);
6361
6362 var _createChainedFunction2 = _interopRequireDefault(_createChainedFunction);
6363
6364 var _ownerDocument = __webpack_require__(74);
6365
6366 var _ownerDocument2 = _interopRequireDefault(_ownerDocument);
6367
6368 var _addEventListener = __webpack_require__(76);
6369
6370 var _addEventListener2 = _interopRequireDefault(_addEventListener);
6371
6372 var _classnames = __webpack_require__(3);
6373
6374 var _classnames2 = _interopRequireDefault(_classnames);
6375
6376 var _Notice = __webpack_require__(78);
6377
6378 var _Notice2 = _interopRequireDefault(_Notice);
6379
6380 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
6381
6382 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; }
6383
6384 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; }
6385
6386 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
6387
6388 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; }
6389
6390 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); }
6391
6392 var seed = 0;
6393 var now = Date.now();
6394
6395 function getUuid() {
6396 return 'uNotification_' + now + '_' + seed++;
6397 }
6398
6399 var propTypes = {
6400 show: _propTypes2["default"].bool,
6401 clsPrefix: _propTypes2["default"].string,
6402 style: _propTypes2["default"].object,
6403 position: _propTypes2["default"].oneOf(['topRight', 'bottomRight', '']),
6404 transitionName: _propTypes2["default"].string,
6405 keyboard: _propTypes2["default"].bool, // 按esc键是否关闭notice
6406 onEscapeKeyUp: _propTypes2["default"].func, // 设置esc键特殊钩子函数
6407 animation: _propTypes2["default"].oneOfType([_propTypes2["default"].string, _propTypes2["default"].object])
6408 };
6409
6410 var defaultProps = {
6411 clsPrefix: 'u-notification',
6412 animation: 'fade',
6413 keyboard: true,
6414 position: 'topRight'
6415 };
6416
6417 var Notification = function (_Component) {
6418 _inherits(Notification, _Component);
6419
6420 function Notification(props) {
6421 _classCallCheck(this, Notification);
6422
6423 var _this = _possibleConstructorReturn(this, _Component.call(this, props));
6424
6425 _this.handleDocumentKeyUp = function (e) {
6426 if (_this.props.keyboard && e.keyCode === 27 && _this.state.notices.length) {
6427 _this.setState(function (previousState) {
6428 previousState.notices.shift();
6429 return {
6430 notices: previousState.notices
6431 };
6432 });
6433 if (_this.props.onEscapeKeyUp) {
6434 _this.props.onEscapeKeyUp(e);
6435 }
6436 }
6437 };
6438
6439 _this.state = {
6440 notices: []
6441 };
6442 _this.add = _this.add.bind(_this);
6443 _this.remove = _this.remove.bind(_this);
6444
6445 return _this;
6446 }
6447
6448 Notification.prototype.componentDidMount = function componentDidMount() {
6449 // 给document绑定keyup事件
6450 var doc = (0, _ownerDocument2["default"])(this);
6451 this._onDocumentKeyupListener = (0, _addEventListener2["default"])(doc, 'keyup', this.handleDocumentKeyUp);
6452 };
6453
6454 Notification.prototype.componentWillUnmount = function componentWillUnmount() {
6455 this._onDocumentKeyupListener.remove();
6456 };
6457
6458 Notification.prototype.getTransitionName = function getTransitionName() {
6459 var props = this.props;
6460 var transitionName = props.transitionName;
6461 if (!transitionName && props.animation) {
6462 transitionName = props.clsPrefix + '-' + props.animation;
6463 }
6464 return transitionName;
6465 };
6466
6467 Notification.prototype.add = function add(notice) {
6468 var key = notice.key = notice.key || getUuid();
6469 this.setState(function (previousState) {
6470 var notices = previousState.notices;
6471 if (!notices.filter(function (v) {
6472 return v.key === key;
6473 }).length) {
6474 return {
6475 notices: notices.concat(notice)
6476 };
6477 }
6478 });
6479 };
6480
6481 Notification.prototype.remove = function remove(key) {
6482 this.setState(function (previousState) {
6483 return {
6484 notices: previousState.notices.filter(function (notice) {
6485 return notice.key !== key;
6486 })
6487 };
6488 });
6489 };
6490
6491 /**
6492 * 处理绑定在document上的keyup事件
6493 */
6494
6495
6496 Notification.prototype.render = function render() {
6497 var _this2 = this,
6498 _classes;
6499
6500 var _props = this.props,
6501 clsPrefix = _props.clsPrefix,
6502 className = _props.className,
6503 position = _props.position,
6504 style = _props.style;
6505
6506 var noticeNodes = this.state.notices.map(function (notice) {
6507 var onClose = (0, _createChainedFunction2["default"])(_this2.remove.bind(_this2, notice.key), notice.onClose);
6508 return _react2["default"].createElement(
6509 _Notice2["default"],
6510 _extends({
6511 clsPrefix: clsPrefix
6512 }, notice, {
6513 onClose: onClose
6514 }),
6515 notice.content
6516 );
6517 });
6518 var classes = (_classes = {}, _defineProperty(_classes, clsPrefix, 1), _defineProperty(_classes, className, !!className), _classes);
6519 if (position) {
6520 classes[clsPrefix + '-' + position] = !!position;
6521 }
6522
6523 return _react2["default"].createElement(
6524 'div',
6525 { className: (0, _classnames2["default"])(className, classes), style: style },
6526 _react2["default"].createElement(
6527 _beeAnimate2["default"],
6528 { transitionName: this.getTransitionName() },
6529 noticeNodes
6530 )
6531 );
6532 };
6533
6534 return Notification;
6535 }(_react.Component);
6536
6537 ;
6538
6539 Notification.propTypes = propTypes;
6540 Notification.defaultProps = defaultProps;
6541
6542 Notification.newInstance = function newNotificationInstance(properties, callback) {
6543 if (typeof callback !== 'function') {
6544 console.error('You must introduce callback as the second parameter of Notification.newInstance().');
6545 return;
6546 }
6547 var props = properties || {};
6548 var div = document.createElement('div');
6549 document.body.appendChild(div);
6550
6551 var called = false;
6552 function ref(notification) {
6553 if (called) {
6554 return;
6555 }
6556 called = true;
6557 callback({
6558 notice: function notice(noticeProps) {
6559 notification.add(noticeProps);
6560 },
6561 removeNotice: function removeNotice(key) {
6562 notification.remove(key);
6563 },
6564
6565 component: notification,
6566 destroy: function destroy() {
6567 _reactDom2["default"].unmountComponentAtNode(div);
6568 document.body.removeChild(div);
6569 }
6570 });
6571 }
6572 _reactDom2["default"].render(_react2["default"].createElement(Notification, _extends({}, props, { ref: ref })), div);
6573 };
6574
6575 exports["default"] = Notification;
6576 module.exports = exports['default'];
6577
6578/***/ }),
6579/* 69 */
6580/***/ (function(module, exports, __webpack_require__) {
6581
6582 'use strict';
6583
6584 Object.defineProperty(exports, "__esModule", {
6585 value: true
6586 });
6587
6588 var _Animate = __webpack_require__(70);
6589
6590 var _Animate2 = _interopRequireDefault(_Animate);
6591
6592 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
6593
6594 exports["default"] = _Animate2["default"];
6595 module.exports = exports['default'];
6596
6597/***/ }),
6598/* 70 */
6599/***/ (function(module, exports, __webpack_require__) {
6600
6601 'use strict';
6602
6603 Object.defineProperty(exports, "__esModule", {
6604 value: true
6605 });
6606
6607 var _react = __webpack_require__(4);
6608
6609 var _react2 = _interopRequireDefault(_react);
6610
6611 var _propTypes = __webpack_require__(5);
6612
6613 var _propTypes2 = _interopRequireDefault(_propTypes);
6614
6615 var _ChildrenUtils = __webpack_require__(71);
6616
6617 var _AnimateChild = __webpack_require__(72);
6618
6619 var _AnimateChild2 = _interopRequireDefault(_AnimateChild);
6620
6621 var _util = __webpack_require__(73);
6622
6623 var _util2 = _interopRequireDefault(_util);
6624
6625 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
6626
6627 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; }
6628
6629 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; }
6630
6631 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
6632
6633 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; }
6634
6635 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); }
6636
6637 var defaultKey = 'u_animate_' + Date.now();
6638
6639
6640 function getChildrenFromProps(props) {
6641 var children = props.children;
6642 if (_react2["default"].isValidElement(children)) {
6643 if (!children.key) {
6644 return _react2["default"].cloneElement(children, {
6645 key: defaultKey
6646 });
6647 }
6648 }
6649 return children;
6650 }
6651
6652 function noop() {}
6653
6654 var propTypes = {
6655 component: _propTypes2["default"].any,
6656 animation: _propTypes2["default"].object,
6657 transitionName: _propTypes2["default"].oneOfType([_propTypes2["default"].string, _propTypes2["default"].object]),
6658 transitionEnter: _propTypes2["default"].bool,
6659 transitionAppear: _propTypes2["default"].bool,
6660 exclusive: _propTypes2["default"].bool,
6661 transitionLeave: _propTypes2["default"].bool,
6662 onEnd: _propTypes2["default"].func,
6663 onEnter: _propTypes2["default"].func,
6664 onLeave: _propTypes2["default"].func,
6665 onAppear: _propTypes2["default"].func,
6666 showProp: _propTypes2["default"].string
6667 };
6668
6669 var defaultProps = {
6670 animation: {},
6671 component: 'span',
6672 transitionEnter: true,
6673 transitionLeave: true,
6674 transitionAppear: false,
6675 onEnd: noop,
6676 onEnter: noop,
6677 onLeave: noop,
6678 onAppear: noop
6679 };
6680
6681 var Animate = function (_Component) {
6682 _inherits(Animate, _Component);
6683
6684 function Animate(props) {
6685 _classCallCheck(this, Animate);
6686
6687 var _this = _possibleConstructorReturn(this, _Component.call(this, props));
6688
6689 _this.currentlyAnimatingKeys = {};
6690 _this.keysToEnter = [];
6691 _this.keysToLeave = [];
6692 _this.state = {
6693 children: (0, _ChildrenUtils.toArrayChildren)(getChildrenFromProps(_this.props))
6694 };
6695
6696 _this.performEnter = _this.performEnter.bind(_this);
6697 _this.performAppear = _this.performAppear.bind(_this);
6698 _this.handleDoneAdding = _this.handleDoneAdding.bind(_this);
6699 _this.performLeave = _this.performLeave.bind(_this);
6700
6701 _this.performLeave = _this.performLeave.bind(_this);
6702 _this.handleDoneLeaving = _this.handleDoneLeaving.bind(_this);
6703 _this.isValidChildByKey = _this.isValidChildByKey.bind(_this);
6704 _this.stop = _this.stop.bind(_this);
6705 return _this;
6706 }
6707
6708 Animate.prototype.componentDidMount = function componentDidMount() {
6709 var _this2 = this;
6710
6711 this.mounted = true;
6712 var showProp = this.props.showProp;
6713 var children = this.state.children;
6714 if (showProp) {
6715 children = children.filter(function (child) {
6716 return !!child.props[showProp];
6717 });
6718 }
6719 children.forEach(function (child) {
6720 if (child) {
6721 _this2.performAppear(child.key);
6722 }
6723 });
6724 };
6725
6726 Animate.prototype.componentWillUnmount = function componentWillUnmount() {
6727 this.mounted = false;
6728 };
6729
6730 Animate.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
6731 var _this3 = this;
6732
6733 this.nextProps = nextProps;
6734 var nextChildren = (0, _ChildrenUtils.toArrayChildren)(getChildrenFromProps(nextProps));
6735 var props = this.props;
6736 // exclusive needs immediate response
6737 if (props.exclusive) {
6738 Object.keys(this.currentlyAnimatingKeys).forEach(function (key) {
6739 _this3.stop(key);
6740 });
6741 }
6742 var showProp = props.showProp;
6743 var currentlyAnimatingKeys = this.currentlyAnimatingKeys;
6744 // last props children if exclusive
6745 var currentChildren = props.exclusive ? (0, _ChildrenUtils.toArrayChildren)(getChildrenFromProps(props)) : this.state.children;
6746 // in case destroy in showProp mode
6747 var newChildren = [];
6748 if (showProp) {
6749 currentChildren.forEach(function (currentChild) {
6750 var nextChild = currentChild && (0, _ChildrenUtils.findChildInChildrenByKey)(nextChildren, currentChild.key);
6751 var newChild = void 0;
6752 if ((!nextChild || !nextChild.props[showProp]) && currentChild.props[showProp]) {
6753 newChild = _react2["default"].cloneElement(nextChild || currentChild, _defineProperty({}, showProp, true));
6754 } else {
6755 newChild = nextChild;
6756 }
6757 if (newChild) {
6758 newChildren.push(newChild);
6759 }
6760 });
6761 nextChildren.forEach(function (nextChild) {
6762 if (!nextChild || !(0, _ChildrenUtils.findChildInChildrenByKey)(currentChildren, nextChild.key)) {
6763 newChildren.push(nextChild);
6764 }
6765 });
6766 } else {
6767 newChildren = (0, _ChildrenUtils.mergeChildren)(currentChildren, nextChildren);
6768 }
6769
6770 // need render to avoid update
6771 this.setState({
6772 children: newChildren
6773 });
6774
6775 nextChildren.forEach(function (child) {
6776 var key = child && child.key;
6777 if (child && currentlyAnimatingKeys[key]) {
6778 return;
6779 }
6780 var hasPrev = child && (0, _ChildrenUtils.findChildInChildrenByKey)(currentChildren, key);
6781 if (showProp) {
6782 var showInNext = child.props[showProp];
6783 if (hasPrev) {
6784 var showInNow = (0, _ChildrenUtils.findShownChildInChildrenByKey)(currentChildren, key, showProp);
6785 if (!showInNow && showInNext) {
6786 _this3.keysToEnter.push(key);
6787 }
6788 } else if (showInNext) {
6789 _this3.keysToEnter.push(key);
6790 }
6791 } else if (!hasPrev) {
6792 _this3.keysToEnter.push(key);
6793 }
6794 });
6795
6796 currentChildren.forEach(function (child) {
6797 var key = child && child.key;
6798 if (child && currentlyAnimatingKeys[key]) {
6799 return;
6800 }
6801 var hasNext = child && (0, _ChildrenUtils.findChildInChildrenByKey)(nextChildren, key);
6802 if (showProp) {
6803 var showInNow = child.props[showProp];
6804 if (hasNext) {
6805 var showInNext = (0, _ChildrenUtils.findShownChildInChildrenByKey)(nextChildren, key, showProp);
6806 if (!showInNext && showInNow) {
6807 _this3.keysToLeave.push(key);
6808 }
6809 } else if (showInNow) {
6810 _this3.keysToLeave.push(key);
6811 }
6812 } else if (!hasNext) {
6813 _this3.keysToLeave.push(key);
6814 }
6815 });
6816 };
6817
6818 Animate.prototype.componentDidUpdate = function componentDidUpdate() {
6819 var keysToEnter = this.keysToEnter;
6820 this.keysToEnter = [];
6821 keysToEnter.forEach(this.performEnter);
6822 var keysToLeave = this.keysToLeave;
6823 this.keysToLeave = [];
6824 keysToLeave.forEach(this.performLeave);
6825 };
6826
6827 Animate.prototype.performEnter = function performEnter(key) {
6828 // may already remove by exclusive
6829 if (this.refs[key]) {
6830 this.currentlyAnimatingKeys[key] = true;
6831 this.refs[key].componentWillEnter(this.handleDoneAdding.bind(this, key, 'enter'));
6832 }
6833 };
6834
6835 Animate.prototype.performAppear = function performAppear(key) {
6836 if (this.refs[key]) {
6837 this.currentlyAnimatingKeys[key] = true;
6838 this.refs[key].componentWillAppear(this.handleDoneAdding.bind(this, key, 'appear'));
6839 }
6840 };
6841
6842 Animate.prototype.handleDoneAdding = function handleDoneAdding(key, type) {
6843 var props = this.props;
6844 delete this.currentlyAnimatingKeys[key];
6845 // if update on exclusive mode, skip check
6846 if (props.exclusive && props !== this.nextProps) {
6847 return;
6848 }
6849 var currentChildren = (0, _ChildrenUtils.toArrayChildren)(getChildrenFromProps(props));
6850 if (!this.isValidChildByKey(currentChildren, key)) {
6851 // exclusive will not need this
6852 this.performLeave(key);
6853 } else {
6854 if (type === 'appear') {
6855 if (_util2["default"].allowAppearCallback(props)) {
6856 props.onAppear(key);
6857 props.onEnd(key, true);
6858 }
6859 } else {
6860 if (_util2["default"].allowEnterCallback(props)) {
6861 props.onEnter(key);
6862 props.onEnd(key, true);
6863 }
6864 }
6865 }
6866 };
6867
6868 Animate.prototype.performLeave = function performLeave(key) {
6869 // may already remove by exclusive
6870 if (this.refs[key]) {
6871 this.currentlyAnimatingKeys[key] = true;
6872 this.refs[key].componentWillLeave(this.handleDoneLeaving.bind(this, key));
6873 }
6874 };
6875
6876 Animate.prototype.handleDoneLeaving = function handleDoneLeaving(key) {
6877 var props = this.props;
6878 delete this.currentlyAnimatingKeys[key];
6879 // if update on exclusive mode, skip check
6880 if (props.exclusive && props !== this.nextProps) {
6881 return;
6882 }
6883 var currentChildren = (0, _ChildrenUtils.toArrayChildren)(getChildrenFromProps(props));
6884 // in case state change is too fast
6885 if (this.isValidChildByKey(currentChildren, key)) {
6886 this.performEnter(key);
6887 } else {
6888 var end = function end() {
6889 if (_util2["default"].allowLeaveCallback(props)) {
6890 props.onLeave(key);
6891 props.onEnd(key, false);
6892 }
6893 };
6894 /* eslint react/no-is-mounted:0 */
6895 if (this.mounted && !(0, _ChildrenUtils.isSameChildren)(this.state.children, currentChildren, props.showProp)) {
6896 this.setState({
6897 children: currentChildren
6898 }, end);
6899 } else {
6900 end();
6901 }
6902 }
6903 };
6904
6905 Animate.prototype.isValidChildByKey = function isValidChildByKey(currentChildren, key) {
6906 var showProp = this.props.showProp;
6907 if (showProp) {
6908 return (0, _ChildrenUtils.findShownChildInChildrenByKey)(currentChildren, key, showProp);
6909 }
6910 return (0, _ChildrenUtils.findChildInChildrenByKey)(currentChildren, key);
6911 };
6912
6913 Animate.prototype.stop = function stop(key) {
6914 delete this.currentlyAnimatingKeys[key];
6915 var component = this.refs[key];
6916 if (component) {
6917 component.stop();
6918 }
6919 };
6920
6921 Animate.prototype.render = function render() {
6922 var props = this.props;
6923 this.nextProps = props;
6924 var stateChildren = this.state.children;
6925 var children = null;
6926 if (stateChildren) {
6927 children = stateChildren.map(function (child) {
6928 if (child === null || child === undefined) {
6929 return child;
6930 }
6931 if (!child.key) {
6932 throw new Error('must set key for <rc-animate> children');
6933 }
6934 return _react2["default"].createElement(
6935 _AnimateChild2["default"],
6936 {
6937 key: child.key,
6938 ref: child.key,
6939 animation: props.animation,
6940 transitionName: props.transitionName,
6941 transitionEnter: props.transitionEnter,
6942 transitionAppear: props.transitionAppear,
6943 transitionLeave: props.transitionLeave
6944 },
6945 child
6946 );
6947 });
6948 }
6949 var Component = props.component;
6950 if (Component) {
6951 var passedProps = props;
6952 if (typeof Component === 'string') {
6953 passedProps = {
6954 className: props.className,
6955 style: props.style
6956 };
6957 }
6958 return _react2["default"].createElement(
6959 Component,
6960 passedProps,
6961 children
6962 );
6963 }
6964 return children[0] || null;
6965 };
6966
6967 return Animate;
6968 }(_react.Component);
6969
6970 ;
6971 Animate.defaultProps = defaultProps;
6972 Animate.propTypes = Animate.propTypes;
6973
6974 exports["default"] = Animate;
6975 module.exports = exports['default'];
6976
6977/***/ }),
6978/* 71 */
6979/***/ (function(module, exports, __webpack_require__) {
6980
6981 'use strict';
6982
6983 Object.defineProperty(exports, "__esModule", {
6984 value: true
6985 });
6986 exports.toArrayChildren = toArrayChildren;
6987 exports.findChildInChildrenByKey = findChildInChildrenByKey;
6988 exports.findShownChildInChildrenByKey = findShownChildInChildrenByKey;
6989 exports.findHiddenChildInChildrenByKey = findHiddenChildInChildrenByKey;
6990 exports.isSameChildren = isSameChildren;
6991 exports.mergeChildren = mergeChildren;
6992
6993 var _react = __webpack_require__(4);
6994
6995 var _react2 = _interopRequireDefault(_react);
6996
6997 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
6998
6999 function toArrayChildren(children) {
7000 var ret = [];
7001 _react2["default"].Children.forEach(children, function (child) {
7002 ret.push(child);
7003 });
7004 return ret;
7005 }
7006
7007 function findChildInChildrenByKey(children, key) {
7008 var ret = null;
7009 if (children) {
7010 children.forEach(function (child) {
7011 if (ret) {
7012 return;
7013 }
7014 if (child && child.key === key) {
7015 ret = child;
7016 }
7017 });
7018 }
7019 return ret;
7020 }
7021
7022 function findShownChildInChildrenByKey(children, key, showProp) {
7023 var ret = null;
7024 if (children) {
7025 children.forEach(function (child) {
7026 if (child && child.key === key && child.props[showProp]) {
7027 if (ret) {
7028 throw new Error('two child with same key for <rc-animate> children');
7029 }
7030 ret = child;
7031 }
7032 });
7033 }
7034 return ret;
7035 }
7036
7037 function findHiddenChildInChildrenByKey(children, key, showProp) {
7038 var found = 0;
7039 if (children) {
7040 children.forEach(function (child) {
7041 if (found) {
7042 return;
7043 }
7044 found = child && child.key === key && !child.props[showProp];
7045 });
7046 }
7047 return found;
7048 }
7049
7050 function isSameChildren(c1, c2, showProp) {
7051 var same = c1.length === c2.length;
7052 if (same) {
7053 c1.forEach(function (child, index) {
7054 var child2 = c2[index];
7055 if (child && child2) {
7056 if (child && !child2 || !child && child2) {
7057 same = false;
7058 } else if (child.key !== child2.key) {
7059 same = false;
7060 } else if (showProp && child.props[showProp] !== child2.props[showProp]) {
7061 same = false;
7062 }
7063 }
7064 });
7065 }
7066 return same;
7067 }
7068
7069 function mergeChildren(prev, next) {
7070 var ret = [];
7071
7072 // For each key of `next`, the list of keys to insert before that key in
7073 // the combined list
7074 var nextChildrenPending = {};
7075 var pendingChildren = [];
7076 prev.forEach(function (child) {
7077 if (child && findChildInChildrenByKey(next, child.key)) {
7078 if (pendingChildren.length) {
7079 nextChildrenPending[child.key] = pendingChildren;
7080 pendingChildren = [];
7081 }
7082 } else {
7083 pendingChildren.push(child);
7084 }
7085 });
7086
7087 next.forEach(function (child) {
7088 if (child && nextChildrenPending.hasOwnProperty(child.key)) {
7089 ret = ret.concat(nextChildrenPending[child.key]);
7090 }
7091 ret.push(child);
7092 });
7093
7094 ret = ret.concat(pendingChildren);
7095
7096 return ret;
7097 }
7098
7099/***/ }),
7100/* 72 */
7101/***/ (function(module, exports, __webpack_require__) {
7102
7103 'use strict';
7104
7105 Object.defineProperty(exports, "__esModule", {
7106 value: true
7107 });
7108
7109 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; };
7110
7111 var _react = __webpack_require__(4);
7112
7113 var _react2 = _interopRequireDefault(_react);
7114
7115 var _propTypes = __webpack_require__(5);
7116
7117 var _propTypes2 = _interopRequireDefault(_propTypes);
7118
7119 var _reactDom = __webpack_require__(12);
7120
7121 var _reactDom2 = _interopRequireDefault(_reactDom);
7122
7123 var _tinperBeeCore = __webpack_require__(27);
7124
7125 var _util = __webpack_require__(73);
7126
7127 var _util2 = _interopRequireDefault(_util);
7128
7129 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
7130
7131 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; }
7132
7133 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
7134
7135 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; }
7136
7137 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); }
7138
7139 var transitionMap = {
7140 enter: 'transitionEnter',
7141 appear: 'transitionAppear',
7142 leave: 'transitionLeave'
7143 };
7144
7145 var propTypes = {
7146 children: _propTypes2["default"].any
7147 };
7148
7149 var AnimateChild = function (_Component) {
7150 _inherits(AnimateChild, _Component);
7151
7152 function AnimateChild(props) {
7153 _classCallCheck(this, AnimateChild);
7154
7155 var _this = _possibleConstructorReturn(this, _Component.call(this, props));
7156
7157 _this.transition = _this.transition.bind(_this);
7158 _this.stop = _this.stop.bind(_this);
7159 return _this;
7160 }
7161
7162 AnimateChild.prototype.componentWillUnmount = function componentWillUnmount() {
7163 this.stop();
7164 };
7165
7166 AnimateChild.prototype.componentWillEnter = function componentWillEnter(done) {
7167 if (_util2["default"].isEnterSupported(this.props)) {
7168 this.transition('enter', done);
7169 } else {
7170 done();
7171 }
7172 };
7173
7174 AnimateChild.prototype.componentWillAppear = function componentWillAppear(done) {
7175 if (_util2["default"].isAppearSupported(this.props)) {
7176 this.transition('appear', done);
7177 } else {
7178 done();
7179 }
7180 };
7181
7182 AnimateChild.prototype.componentWillLeave = function componentWillLeave(done) {
7183 if (_util2["default"].isLeaveSupported(this.props)) {
7184 this.transition('leave', done);
7185 } else {
7186 // always sync, do not interupt with react component life cycle
7187 // update hidden -> animate hidden ->
7188 // didUpdate -> animate leave -> unmount (if animate is none)
7189 done();
7190 }
7191 };
7192
7193 AnimateChild.prototype.transition = function transition(animationType, finishCallback) {
7194 var _this2 = this;
7195
7196 var node = _reactDom2["default"].findDOMNode(this);
7197 var props = this.props;
7198 var transitionName = props.transitionName;
7199 var nameIsObj = (typeof transitionName === 'undefined' ? 'undefined' : _typeof(transitionName)) === 'object';
7200 this.stop();
7201 var end = function end() {
7202 _this2.stopper = null;
7203 finishCallback();
7204 };
7205 if ((_tinperBeeCore.cssAnimation.isCssAnimationSupported || !props.animation[animationType]) && transitionName && props[transitionMap[animationType]]) {
7206 var name = nameIsObj ? transitionName[animationType] : transitionName + '-' + animationType;
7207 var activeName = name + '-active';
7208 if (nameIsObj && transitionName[animationType + 'Active']) {
7209 activeName = transitionName[animationType + 'Active'];
7210 }
7211 this.stopper = (0, _tinperBeeCore.cssAnimation)(node, {
7212 name: name,
7213 active: activeName
7214 }, end);
7215 } else {
7216 this.stopper = props.animation[animationType](node, end);
7217 }
7218 };
7219
7220 AnimateChild.prototype.stop = function stop() {
7221 var stopper = this.stopper;
7222 if (stopper) {
7223 this.stopper = null;
7224 stopper.stop();
7225 }
7226 };
7227
7228 AnimateChild.prototype.render = function render() {
7229 return this.props.children;
7230 };
7231
7232 return AnimateChild;
7233 }(_react.Component);
7234
7235 ;
7236
7237 AnimateChild.propTypes = propTypes;
7238
7239 exports["default"] = AnimateChild;
7240 module.exports = exports['default'];
7241
7242/***/ }),
7243/* 73 */
7244/***/ (function(module, exports) {
7245
7246 "use strict";
7247
7248 Object.defineProperty(exports, "__esModule", {
7249 value: true
7250 });
7251 var util = {
7252 isAppearSupported: function isAppearSupported(props) {
7253 return props.transitionName && props.transitionAppear || props.animation.appear;
7254 },
7255 isEnterSupported: function isEnterSupported(props) {
7256 return props.transitionName && props.transitionEnter || props.animation.enter;
7257 },
7258 isLeaveSupported: function isLeaveSupported(props) {
7259 return props.transitionName && props.transitionLeave || props.animation.leave;
7260 },
7261 allowAppearCallback: function allowAppearCallback(props) {
7262 return props.transitionAppear || props.animation.appear;
7263 },
7264 allowEnterCallback: function allowEnterCallback(props) {
7265 return props.transitionEnter || props.animation.enter;
7266 },
7267 allowLeaveCallback: function allowLeaveCallback(props) {
7268 return props.transitionLeave || props.animation.leave;
7269 }
7270 };
7271 exports["default"] = util;
7272 module.exports = exports["default"];
7273
7274/***/ }),
7275/* 74 */
7276/***/ (function(module, exports, __webpack_require__) {
7277
7278 'use strict';
7279
7280 Object.defineProperty(exports, "__esModule", {
7281 value: true
7282 });
7283
7284 exports["default"] = function (componentOrElement) {
7285 return (0, _ownerDocument2["default"])(_reactDom2["default"].findDOMNode(componentOrElement));
7286 };
7287
7288 var _reactDom = __webpack_require__(12);
7289
7290 var _reactDom2 = _interopRequireDefault(_reactDom);
7291
7292 var _ownerDocument = __webpack_require__(75);
7293
7294 var _ownerDocument2 = _interopRequireDefault(_ownerDocument);
7295
7296 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
7297
7298 module.exports = exports['default'];
7299
7300/***/ }),
7301/* 75 */
7302/***/ (function(module, exports) {
7303
7304 "use strict";
7305
7306 exports.__esModule = true;
7307 exports.default = ownerDocument;
7308
7309 function ownerDocument(node) {
7310 return node && node.ownerDocument || document;
7311 }
7312
7313 module.exports = exports["default"];
7314
7315/***/ }),
7316/* 76 */
7317/***/ (function(module, exports, __webpack_require__) {
7318
7319 'use strict';
7320
7321 Object.defineProperty(exports, "__esModule", {
7322 value: true
7323 });
7324
7325 exports["default"] = function (node, event, handler, capture) {
7326 (0, _on2["default"])(node, event, handler, capture);
7327
7328 return {
7329 remove: function remove() {
7330 (0, _off2["default"])(node, event, handler, capture);
7331 }
7332 };
7333 };
7334
7335 var _on = __webpack_require__(16);
7336
7337 var _on2 = _interopRequireDefault(_on);
7338
7339 var _off = __webpack_require__(77);
7340
7341 var _off2 = _interopRequireDefault(_off);
7342
7343 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
7344
7345 module.exports = exports['default'];
7346
7347/***/ }),
7348/* 77 */
7349/***/ (function(module, exports, __webpack_require__) {
7350
7351 "use strict";
7352
7353 var _interopRequireDefault = __webpack_require__(14);
7354
7355 exports.__esModule = true;
7356 exports.default = void 0;
7357
7358 var _inDOM = _interopRequireDefault(__webpack_require__(15));
7359
7360 var off = function off() {};
7361
7362 if (_inDOM.default) {
7363 off = function () {
7364 if (document.addEventListener) return function (node, eventName, handler, capture) {
7365 return node.removeEventListener(eventName, handler, capture || false);
7366 };else if (document.attachEvent) return function (node, eventName, handler) {
7367 return node.detachEvent('on' + eventName, handler);
7368 };
7369 }();
7370 }
7371
7372 var _default = off;
7373 exports.default = _default;
7374 module.exports = exports["default"];
7375
7376/***/ }),
7377/* 78 */
7378/***/ (function(module, exports, __webpack_require__) {
7379
7380 'use strict';
7381
7382 Object.defineProperty(exports, "__esModule", {
7383 value: true
7384 });
7385
7386 var _react = __webpack_require__(4);
7387
7388 var _react2 = _interopRequireDefault(_react);
7389
7390 var _classnames = __webpack_require__(3);
7391
7392 var _classnames2 = _interopRequireDefault(_classnames);
7393
7394 var _propTypes = __webpack_require__(5);
7395
7396 var _propTypes2 = _interopRequireDefault(_propTypes);
7397
7398 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
7399
7400 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; }
7401
7402 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; }
7403
7404 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
7405
7406 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; }
7407
7408 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); }
7409
7410 var propTypes = {
7411 duration: _propTypes2["default"].number,
7412 onClose: _propTypes2["default"].func,
7413 children: _propTypes2["default"].any,
7414 color: _propTypes2["default"].oneOf(['info', 'success', 'danger', 'warning', 'light', 'dark', 'news', 'infolight', 'successlight', 'dangerlight', 'warninglight']),
7415 title: _propTypes2["default"].any
7416 };
7417
7418 function noop() {}
7419
7420 var defaultProps = {
7421 onEnd: noop,
7422 onClose: noop,
7423 duration: 4.5,
7424 closable: true
7425 };
7426
7427 var Notice = function (_React$Component) {
7428 _inherits(Notice, _React$Component);
7429
7430 function Notice(props) {
7431 _classCallCheck(this, Notice);
7432
7433 var _this = _possibleConstructorReturn(this, _React$Component.call(this, props));
7434
7435 _this.clearCloseTimer = _this.clearCloseTimer.bind(_this);
7436 _this.close = _this.close.bind(_this);
7437 return _this;
7438 }
7439
7440 Notice.prototype.componentDidMount = function componentDidMount() {
7441 var _this2 = this;
7442
7443 if (this.props.duration) {
7444 this.closeTimer = setTimeout(function () {
7445 _this2.close();
7446 }, this.props.duration * 1000);
7447 }
7448 };
7449
7450 Notice.prototype.componentWillUnmount = function componentWillUnmount() {
7451 this.clearCloseTimer();
7452 };
7453
7454 Notice.prototype.clearCloseTimer = function clearCloseTimer() {
7455 if (this.closeTimer) {
7456 clearTimeout(this.closeTimer);
7457 this.closeTimer = null;
7458 }
7459 };
7460
7461 Notice.prototype.close = function close() {
7462 this.clearCloseTimer();
7463 this.props.onClose();
7464 };
7465
7466 Notice.prototype.render = function render() {
7467 var _classes;
7468
7469 var _props = this.props,
7470 closable = _props.closable,
7471 clsPrefix = _props.clsPrefix,
7472 className = _props.className,
7473 style = _props.style,
7474 children = _props.children,
7475 color = _props.color,
7476 title = _props.title;
7477
7478 var componentClass = clsPrefix + '-notice';
7479 var classes = (_classes = {}, _defineProperty(_classes, '' + componentClass, 1), _defineProperty(_classes, componentClass + '-closable', closable), _defineProperty(_classes, className, !!className), _classes);
7480 if (color) {
7481 classes[componentClass + '-' + color] = true;
7482 }
7483 return _react2["default"].createElement(
7484 'div',
7485 { className: (0, _classnames2["default"])(classes), style: style, onClick: this.close },
7486 _react2["default"].createElement(
7487 'div',
7488 { className: componentClass + '-content' },
7489 title && _react2["default"].createElement(
7490 'div',
7491 { className: componentClass + '-title' },
7492 title
7493 ),
7494 _react2["default"].createElement(
7495 'div',
7496 { className: componentClass + '-description' },
7497 children
7498 )
7499 ),
7500 closable ? _react2["default"].createElement(
7501 'a',
7502 { tabIndex: '0', onClick: this.close, className: componentClass + '-close' },
7503 _react2["default"].createElement('span', { className: componentClass + '-close-x' })
7504 ) : null
7505 );
7506 };
7507
7508 return Notice;
7509 }(_react2["default"].Component);
7510
7511 ;
7512
7513 Notice.propTypes = propTypes;
7514 Notice.defaultProps = defaultProps;
7515
7516 exports["default"] = Notice;
7517 module.exports = exports['default'];
7518
7519/***/ }),
7520/* 79 */
7521/***/ (function(module, exports, __webpack_require__) {
7522
7523 'use strict';
7524
7525 var deselectCurrent = __webpack_require__(80);
7526
7527 var defaultMessage = 'Copy to clipboard: #{key}, Enter';
7528
7529 function format(message) {
7530 var copyKey = (/mac os x/i.test(navigator.userAgent) ? '⌘' : 'Ctrl') + '+C';
7531 return message.replace(/#{\s*key\s*}/g, copyKey);
7532 }
7533
7534 function copy(text, options) {
7535 var debug, message, reselectPrevious, range, selection, mark, success = false;
7536 if (!options) { options = {}; }
7537 debug = options.debug || false;
7538 try {
7539 reselectPrevious = deselectCurrent();
7540
7541 range = document.createRange();
7542 selection = document.getSelection();
7543
7544 mark = document.createElement('span');
7545 mark.textContent = text;
7546 // reset user styles for span element
7547 mark.style.all = 'unset';
7548 // prevents scrolling to the end of the page
7549 mark.style.position = 'fixed';
7550 mark.style.top = 0;
7551 mark.style.clip = 'rect(0, 0, 0, 0)';
7552 // used to preserve spaces and line breaks
7553 mark.style.whiteSpace = 'pre';
7554 // do not inherit user-select (it may be `none`)
7555 mark.style.webkitUserSelect = 'text';
7556 mark.style.MozUserSelect = 'text';
7557 mark.style.msUserSelect = 'text';
7558 mark.style.userSelect = 'text';
7559
7560 document.body.appendChild(mark);
7561
7562 range.selectNode(mark);
7563 selection.addRange(range);
7564
7565 var successful = document.execCommand('copy');
7566 if (!successful) {
7567 throw new Error('copy command was unsuccessful');
7568 }
7569 success = true;
7570 } catch (err) {
7571 debug && console.error('unable to copy using execCommand: ', err);
7572 debug && console.warn('trying IE specific stuff');
7573 try {
7574 window.clipboardData.setData('text', text);
7575 success = true;
7576 } catch (err) {
7577 debug && console.error('unable to copy using clipboardData: ', err);
7578 debug && console.error('falling back to prompt');
7579 message = format('message' in options ? options.message : defaultMessage);
7580 window.prompt(message, text);
7581 }
7582 } finally {
7583 if (selection) {
7584 if (typeof selection.removeRange == 'function') {
7585 selection.removeRange(range);
7586 } else {
7587 selection.removeAllRanges();
7588 }
7589 }
7590
7591 if (mark) {
7592 document.body.removeChild(mark);
7593 }
7594 reselectPrevious();
7595 }
7596
7597 return success;
7598 }
7599
7600 module.exports = copy;
7601
7602
7603/***/ }),
7604/* 80 */
7605/***/ (function(module, exports) {
7606
7607
7608 module.exports = function () {
7609 var selection = document.getSelection();
7610 if (!selection.rangeCount) {
7611 return function () {};
7612 }
7613 var active = document.activeElement;
7614
7615 var ranges = [];
7616 for (var i = 0; i < selection.rangeCount; i++) {
7617 ranges.push(selection.getRangeAt(i));
7618 }
7619
7620 switch (active.tagName.toUpperCase()) { // .toUpperCase handles XHTML
7621 case 'INPUT':
7622 case 'TEXTAREA':
7623 active.blur();
7624 break;
7625
7626 default:
7627 active = null;
7628 break;
7629 }
7630
7631 selection.removeAllRanges();
7632 return function () {
7633 selection.type === 'Caret' &&
7634 selection.removeAllRanges();
7635
7636 if (!selection.rangeCount) {
7637 ranges.forEach(function(range) {
7638 selection.addRange(range);
7639 });
7640 }
7641
7642 active &&
7643 active.focus();
7644 };
7645 };
7646
7647
7648/***/ }),
7649/* 81 */
7650/***/ (function(module, exports, __webpack_require__) {
7651
7652 'use strict';
7653
7654 Object.defineProperty(exports, "__esModule", {
7655 value: true
7656 });
7657
7658 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; };
7659
7660 var _classnames = __webpack_require__(3);
7661
7662 var _classnames2 = _interopRequireDefault(_classnames);
7663
7664 var _react = __webpack_require__(4);
7665
7666 var _react2 = _interopRequireDefault(_react);
7667
7668 var _propTypes = __webpack_require__(5);
7669
7670 var _propTypes2 = _interopRequireDefault(_propTypes);
7671
7672 var _tinperBeeCore = __webpack_require__(27);
7673
7674 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
7675
7676 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; }
7677
7678 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; }
7679
7680 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
7681
7682 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; }
7683
7684 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); }
7685
7686 var propTypes = {
7687 //是否是手风琴效果
7688 accordion: _propTypes2["default"].bool,
7689 //激活的项
7690 activeKey: _propTypes2["default"].any,
7691 //默认的激活的项
7692 defaultActiveKey: _propTypes2["default"].any,
7693 //选中函数
7694 onSelect: _propTypes2["default"].func,
7695 role: _propTypes2["default"].string
7696 };
7697
7698 var defaultProps = {
7699 accordion: false,
7700 clsPrefix: 'u-panel-group'
7701 };
7702
7703 // TODO: Use uncontrollable.
7704
7705 var PanelGroup = function (_React$Component) {
7706 _inherits(PanelGroup, _React$Component);
7707
7708 function PanelGroup(props, context) {
7709 _classCallCheck(this, PanelGroup);
7710
7711 var _this = _possibleConstructorReturn(this, _React$Component.call(this, props, context));
7712
7713 _this.handleSelect = _this.handleSelect.bind(_this);
7714
7715 _this.state = {
7716 activeKey: props.defaultActiveKey
7717 };
7718 return _this;
7719 }
7720
7721 PanelGroup.prototype.handleSelect = function handleSelect(key, e) {
7722 e.preventDefault();
7723
7724 if (this.props.onSelect) {
7725 this.props.onSelect(key, e);
7726 }
7727
7728 if (this.state.activeKey === key) {
7729 key = null;
7730 }
7731
7732 this.setState({ activeKey: key });
7733 };
7734
7735 PanelGroup.prototype.render = function render() {
7736 var _this2 = this;
7737
7738 var _props = this.props,
7739 accordion = _props.accordion,
7740 propsActiveKey = _props.activeKey,
7741 className = _props.className,
7742 children = _props.children,
7743 defaultActiveKey = _props.defaultActiveKey,
7744 onSelect = _props.onSelect,
7745 style = _props.style,
7746 clsPrefix = _props.clsPrefix,
7747 others = _objectWithoutProperties(_props, ['accordion', 'activeKey', 'className', 'children', 'defaultActiveKey', 'onSelect', 'style', 'clsPrefix']);
7748
7749 var activeKey = void 0;
7750 if (accordion) {
7751 activeKey = propsActiveKey != null ? propsActiveKey : this.state.activeKey;
7752 others.role = others.role || 'tablist';
7753 }
7754
7755 var classes = {};
7756 classes['' + clsPrefix] = true;
7757
7758 return _react2["default"].createElement(
7759 'div',
7760 _extends({}, others, {
7761 className: (0, _classnames2["default"])(className, classes)
7762 }),
7763 _react2["default"].Children.map(children, function (child) {
7764 if (!_react2["default"].isValidElement(child)) {
7765 return child;
7766 }
7767 var childProps = {
7768 style: child.props.style
7769 };
7770
7771 if (accordion) {
7772 _extends(childProps, {
7773 headerRole: 'tab',
7774 panelRole: 'tabpanel',
7775 collapsible: true,
7776 expanded: child.props.eventKey === activeKey,
7777 onSelect: (0, _tinperBeeCore.createChainedFunction)(_this2.handleSelect, child.props.onSelect)
7778 });
7779 }
7780
7781 return (0, _react.cloneElement)(child, childProps);
7782 })
7783 );
7784 };
7785
7786 return PanelGroup;
7787 }(_react2["default"].Component);
7788
7789 PanelGroup.propTypes = propTypes;
7790 PanelGroup.defaultProps = defaultProps;
7791
7792 exports["default"] = PanelGroup;
7793 module.exports = exports['default'];
7794
7795/***/ }),
7796/* 82 */
7797/***/ (function(module, exports, __webpack_require__) {
7798
7799 'use strict';
7800
7801 Object.defineProperty(exports, "__esModule", {
7802 value: true
7803 });
7804
7805 var _Button = __webpack_require__(83);
7806
7807 var _Button2 = _interopRequireDefault(_Button);
7808
7809 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
7810
7811 exports["default"] = _Button2["default"];
7812 module.exports = exports['default'];
7813
7814/***/ }),
7815/* 83 */
7816/***/ (function(module, exports, __webpack_require__) {
7817
7818 'use strict';
7819
7820 Object.defineProperty(exports, "__esModule", {
7821 value: true
7822 });
7823
7824 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; };
7825
7826 var _react = __webpack_require__(4);
7827
7828 var _react2 = _interopRequireDefault(_react);
7829
7830 var _reactDom = __webpack_require__(12);
7831
7832 var _reactDom2 = _interopRequireDefault(_reactDom);
7833
7834 var _propTypes = __webpack_require__(5);
7835
7836 var _propTypes2 = _interopRequireDefault(_propTypes);
7837
7838 var _classnames = __webpack_require__(3);
7839
7840 var _classnames2 = _interopRequireDefault(_classnames);
7841
7842 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
7843
7844 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; }
7845
7846 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; }
7847
7848 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
7849
7850 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; }
7851
7852 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); }
7853
7854 var propTypes = {
7855 /**
7856 * @title 尺寸
7857 */
7858 size: _propTypes2["default"].oneOf(['sm', 'md', 'xg', 'lg']),
7859 /**
7860 * @title 样式
7861 */
7862 style: _propTypes2["default"].object,
7863 /**
7864 * @title 形状
7865 */
7866 shape: _propTypes2["default"].oneOf(['block', 'round', 'border', 'squared', 'floating', 'pillRight', 'pillLeft', 'icon']),
7867
7868 bordered: _propTypes2["default"].bool,
7869 /**
7870 * @title 类型
7871 */
7872 colors: _propTypes2["default"].oneOf(['primary', 'secondary', 'accent', 'success', 'info', 'warning', 'danger', 'dark', 'light', 'default']),
7873 /**
7874 * @title 是否禁用
7875 * @veIgnore
7876 */
7877 disabled: _propTypes2["default"].bool,
7878 /**
7879 * @title 类名
7880 * @veIgnore
7881 */
7882 className: _propTypes2["default"].string,
7883
7884 /**
7885 * @title <button> 的 type
7886 * @veIgnore
7887 */
7888 htmlType: _propTypes2["default"].oneOf(['submit', 'button', 'reset']),
7889 isSubmit: _propTypes2["default"].bool //是否作为form的提交按钮
7890 };
7891
7892 var defaultProps = {
7893 disabled: false,
7894 htmlType: 'button',
7895 clsPrefix: 'u-button',
7896 bordered: false,
7897 isSubmit: false
7898 };
7899
7900 var sizeMap = {
7901 sm: 'sm',
7902 md: 'md',
7903 xg: 'xg',
7904 lg: 'lg'
7905 },
7906 colorsMap = {
7907 primary: 'primary',
7908 secondary: 'secondary',
7909 accent: 'accent',
7910 success: 'success',
7911 info: 'info',
7912 warning: 'warning',
7913 danger: 'danger',
7914 dark: 'dark',
7915 light: 'light'
7916 },
7917 shapeMap = {
7918 block: 'block',
7919 round: 'round',
7920 border: 'border',
7921 squared: 'squared',
7922 floating: 'floating',
7923 pillRight: 'pill-right',
7924 pillLeft: 'pill-left',
7925 icon: 'icon'
7926 };
7927
7928 var Button = function (_Component) {
7929 _inherits(Button, _Component);
7930
7931 function Button(props) {
7932 _classCallCheck(this, Button);
7933
7934 return _possibleConstructorReturn(this, _Component.call(this, props));
7935 }
7936
7937 Button.prototype.render = function render() {
7938 var _props = this.props,
7939 colors = _props.colors,
7940 shape = _props.shape,
7941 disabled = _props.disabled,
7942 className = _props.className,
7943 size = _props.size,
7944 bordered = _props.bordered,
7945 children = _props.children,
7946 htmlType = _props.htmlType,
7947 clsPrefix = _props.clsPrefix,
7948 isSubmit = _props.isSubmit,
7949 others = _objectWithoutProperties(_props, ['colors', 'shape', 'disabled', 'className', 'size', 'bordered', 'children', 'htmlType', 'clsPrefix', 'isSubmit']);
7950
7951 var clsObj = {};
7952 if (className) {
7953 clsObj[className] = true;
7954 }
7955 if (sizeMap[size]) {
7956 clsObj[clsPrefix + '-' + sizeMap[size]] = true;
7957 }
7958
7959 if (shapeMap[shape]) {
7960 clsObj[clsPrefix + '-' + shapeMap[shape]] = true;
7961 }
7962 if (colorsMap[colors]) {
7963 clsObj[clsPrefix + '-' + colorsMap[colors]] = true;
7964 }
7965 //clsObj[`${clsPrefix}-border`] = bordered;
7966 var classes = (0, _classnames2["default"])(clsPrefix, clsObj);
7967 return _react2["default"].createElement(
7968 'button',
7969 _extends({
7970 type: htmlType,
7971 className: classes,
7972 disabled: disabled
7973 }, others),
7974 this.props.children
7975 );
7976 };
7977
7978 return Button;
7979 }(_react.Component);
7980
7981 Button.propTypes = propTypes;
7982 Button.defaultProps = defaultProps;
7983
7984 exports["default"] = Button;
7985 module.exports = exports['default'];
7986
7987/***/ }),
7988/* 84 */
7989/***/ (function(module, exports, __webpack_require__) {
7990
7991 "use strict";
7992
7993 Object.defineProperty(exports, "__esModule", {
7994 value: true
7995 });
7996
7997 var _react = __webpack_require__(4);
7998
7999 var _react2 = _interopRequireDefault(_react);
8000
8001 var _beeLayout = __webpack_require__(1);
8002
8003 var _src = __webpack_require__(85);
8004
8005 var _src2 = _interopRequireDefault(_src);
8006
8007 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
8008
8009 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; }
8010
8011 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
8012
8013 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; }
8014
8015 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); } /**
8016 *
8017 * @title 默认开关
8018 * @description
8019 *
8020 */
8021
8022
8023 var Demo1 = function (_Component) {
8024 _inherits(Demo1, _Component);
8025
8026 function Demo1(props) {
8027 _classCallCheck(this, Demo1);
8028
8029 var _this = _possibleConstructorReturn(this, _Component.call(this, props));
8030
8031 _this.onChange = function () {
8032 _this.setState({
8033 checked: !_this.state.checked
8034 });
8035 };
8036
8037 _this.state = {
8038 checked: true
8039 };
8040 return _this;
8041 }
8042
8043 Demo1.prototype.render = function render() {
8044 return _react2["default"].createElement(
8045 _beeLayout.Row,
8046 null,
8047 _react2["default"].createElement(
8048 _beeLayout.Col,
8049 { sm: 2 },
8050 _react2["default"].createElement(_src2["default"], null)
8051 ),
8052 _react2["default"].createElement(
8053 _beeLayout.Col,
8054 { sm: 2 },
8055 _react2["default"].createElement(_src2["default"], {
8056 checked: this.state.checked,
8057 onChange: this.onChange
8058 })
8059 )
8060 );
8061 };
8062
8063 return Demo1;
8064 }(_react.Component);
8065
8066 exports["default"] = Demo1;
8067 module.exports = exports["default"];
8068
8069/***/ }),
8070/* 85 */
8071/***/ (function(module, exports, __webpack_require__) {
8072
8073 'use strict';
8074
8075 Object.defineProperty(exports, "__esModule", {
8076 value: true
8077 });
8078
8079 var _Switch = __webpack_require__(86);
8080
8081 var _Switch2 = _interopRequireDefault(_Switch);
8082
8083 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
8084
8085 exports['default'] = _Switch2['default'];
8086 module.exports = exports['default'];
8087
8088/***/ }),
8089/* 86 */
8090/***/ (function(module, exports, __webpack_require__) {
8091
8092 "use strict";
8093
8094 Object.defineProperty(exports, "__esModule", {
8095 value: true
8096 });
8097
8098 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; };
8099
8100 var _react = __webpack_require__(4);
8101
8102 var _react2 = _interopRequireDefault(_react);
8103
8104 var _reactDom = __webpack_require__(12);
8105
8106 var _reactDom2 = _interopRequireDefault(_reactDom);
8107
8108 var _classnames = __webpack_require__(3);
8109
8110 var _classnames2 = _interopRequireDefault(_classnames);
8111
8112 var _propTypes = __webpack_require__(5);
8113
8114 var _propTypes2 = _interopRequireDefault(_propTypes);
8115
8116 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
8117
8118 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; }
8119
8120 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; }
8121
8122 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
8123
8124 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; }
8125
8126 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); }
8127
8128 var propTypes = {
8129 clsPrefix: _propTypes2["default"].string,
8130 disabled: _propTypes2["default"].bool,
8131 checkedChildren: _propTypes2["default"].any,
8132 unCheckedChildren: _propTypes2["default"].any,
8133 onChangeHandler: _propTypes2["default"].func,
8134 onChange: _propTypes2["default"].func
8135 };
8136 var defaultProps = {
8137 clsPrefix: "u-switch",
8138 checkedChildren: null,
8139 unCheckedChildren: null,
8140 defaultChecked: false,
8141 size: "",
8142 disabled: false,
8143 onChangeHandler: function onChangeHandler() {},
8144 onChange: function onChange() {}
8145 };
8146
8147 var Switch = function (_Component) {
8148 _inherits(Switch, _Component);
8149
8150 function Switch(props) {
8151 _classCallCheck(this, Switch);
8152
8153 var _this = _possibleConstructorReturn(this, _Component.call(this, props));
8154
8155 _initialiseProps.call(_this);
8156
8157 var checked = false;
8158 if ('checked' in props) {
8159 checked = !!props.checked;
8160 } else if ('defaultValue' in props) {
8161 checked = !!props.defaultValue;
8162 } else {
8163 checked = !!props.defaultChecked;
8164 }
8165 _this.state = { checked: checked };
8166 return _this;
8167 }
8168
8169 Switch.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps, nextState) {
8170 if ("checked" in nextProps) {
8171 this.setState({ checked: !!nextProps.checked });
8172 }
8173 };
8174 //点击switch改变状态
8175
8176 // Handle auto focus when click switch in Chrome
8177
8178
8179 Switch.prototype.render = function render() {
8180 var _props = this.props,
8181 checkedChildren = _props.checkedChildren,
8182 unCheckedChildren = _props.unCheckedChildren,
8183 onChangeHandler = _props.onChangeHandler,
8184 size = _props.size,
8185 className = _props.className,
8186 clsPrefix = _props.clsPrefix,
8187 disabled = _props.disabled,
8188 colors = _props.colors,
8189 others = _objectWithoutProperties(_props, ["checkedChildren", "unCheckedChildren", "onChangeHandler", "size", "className", "clsPrefix", "disabled", "colors"]);
8190 //获取checked
8191
8192
8193 var checked = this.state.checked;
8194 var classes = {
8195 "is-checked": checked
8196 };
8197 if (size) {
8198 classes[clsPrefix + "-" + size] = true;
8199 }
8200 if (colors) {
8201 classes[clsPrefix + "-" + colors] = true;
8202 }
8203 classes[[clsPrefix + "-disabled"]] = disabled;
8204
8205 var classNames = (0, _classnames2["default"])(clsPrefix, classes);
8206
8207 return _react2["default"].createElement(
8208 "span",
8209 _extends({}, others, {
8210 ref: this.saveNode,
8211 onClick: this.clickHandler,
8212 onKeyDown: this.handleKeyDown,
8213 onMouseUp: this.handleMouseUp,
8214 className: (0, _classnames2["default"])(className, classNames),
8215 tabIndex: disabled ? -1 : 0
8216 }),
8217 _react2["default"].createElement(
8218 "span",
8219 { className: clsPrefix + "-inner" },
8220 checked ? checkedChildren : unCheckedChildren
8221 )
8222 );
8223 };
8224
8225 return Switch;
8226 }(_react.Component);
8227
8228 var _initialiseProps = function _initialiseProps() {
8229 var _this2 = this;
8230
8231 this.setChecked = function (checked) {
8232 if (_this2.props.disabled) {
8233 return;
8234 }
8235 if (!('checked' in _this2.props)) {
8236 _this2.setState({
8237 checked: checked
8238 });
8239 }
8240 _this2.props.onChangeHandler(checked);
8241 _this2.props.onChange(checked);
8242 };
8243
8244 this.clickHandler = function () {
8245 var checked = !_this2.state.checked;
8246 _this2.setChecked(checked);
8247 };
8248
8249 this.handleKeyDown = function (e) {
8250 if (e.keyCode === 37) {
8251 // Left
8252 _this2.setChecked(false);
8253 } else if (e.keyCode === 39) {
8254 // Right
8255 _this2.setChecked(true);
8256 } else if (e.keyCode === 32 || e.keyCode === 13) {
8257 // Space, Enter
8258 _this2.clickHandler();
8259 }
8260 };
8261
8262 this.handleMouseUp = function (e) {
8263 if (_this2.node) {
8264 _this2.node.blur();
8265 }
8266 if (_this2.props.onMouseUp) {
8267 _this2.props.onMouseUp(e);
8268 }
8269 };
8270
8271 this.saveNode = function (node) {
8272 _this2.node = node;
8273 };
8274 };
8275
8276 Switch.propTypes = propTypes;
8277 Switch.defaultProps = defaultProps;
8278 exports["default"] = Switch;
8279 module.exports = exports["default"];
8280
8281/***/ }),
8282/* 87 */
8283/***/ (function(module, exports, __webpack_require__) {
8284
8285 "use strict";
8286
8287 Object.defineProperty(exports, "__esModule", {
8288 value: true
8289 });
8290
8291 var _react = __webpack_require__(4);
8292
8293 var _react2 = _interopRequireDefault(_react);
8294
8295 var _beeLayout = __webpack_require__(1);
8296
8297 var _src = __webpack_require__(85);
8298
8299 var _src2 = _interopRequireDefault(_src);
8300
8301 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
8302
8303 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; }
8304
8305 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
8306
8307 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; }
8308
8309 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); } /**
8310 *
8311 * @title 不同大小的开关
8312 * @description 通过`size`属性控制开关的大小
8313 *
8314 */
8315
8316 var Demo2 = function (_Component) {
8317 _inherits(Demo2, _Component);
8318
8319 function Demo2() {
8320 _classCallCheck(this, Demo2);
8321
8322 return _possibleConstructorReturn(this, _Component.apply(this, arguments));
8323 }
8324
8325 Demo2.prototype.render = function render() {
8326 return _react2["default"].createElement(
8327 _beeLayout.Row,
8328 null,
8329 _react2["default"].createElement(
8330 _beeLayout.Col,
8331 { sm: 2 },
8332 _react2["default"].createElement(_src2["default"], { size: "sm" })
8333 ),
8334 _react2["default"].createElement(
8335 _beeLayout.Col,
8336 { sm: 2 },
8337 _react2["default"].createElement(_src2["default"], null)
8338 ),
8339 _react2["default"].createElement(
8340 _beeLayout.Col,
8341 { sm: 2 },
8342 _react2["default"].createElement(_src2["default"], { size: "lg" })
8343 )
8344 );
8345 };
8346
8347 return Demo2;
8348 }(_react.Component);
8349
8350 exports["default"] = Demo2;
8351 module.exports = exports["default"];
8352
8353/***/ }),
8354/* 88 */
8355/***/ (function(module, exports, __webpack_require__) {
8356
8357 "use strict";
8358
8359 Object.defineProperty(exports, "__esModule", {
8360 value: true
8361 });
8362
8363 var _react = __webpack_require__(4);
8364
8365 var _react2 = _interopRequireDefault(_react);
8366
8367 var _beeLayout = __webpack_require__(1);
8368
8369 var _src = __webpack_require__(85);
8370
8371 var _src2 = _interopRequireDefault(_src);
8372
8373 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
8374
8375 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; }
8376
8377 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
8378
8379 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; }
8380
8381 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); } /**
8382 *
8383 * @title 事件开关
8384 * @description 点击开关触发事件
8385 *
8386 */
8387
8388 var Demo3 = function (_Component) {
8389 _inherits(Demo3, _Component);
8390
8391 function Demo3(props) {
8392 _classCallCheck(this, Demo3);
8393
8394 var _this = _possibleConstructorReturn(this, _Component.call(this, props));
8395
8396 _this.onChange = function (e) {
8397 _this.setState({
8398 "switch": "" + e,
8399 checked: !_this.state.checked
8400 });
8401 };
8402
8403 _this.state = {
8404 "switch": "",
8405 checked: false
8406 };
8407 return _this;
8408 }
8409
8410 Demo3.prototype.render = function render() {
8411 return _react2["default"].createElement(
8412 _beeLayout.Row,
8413 null,
8414 _react2["default"].createElement(
8415 _beeLayout.Col,
8416 { sm: 2 },
8417 _react2["default"].createElement(_src2["default"], {
8418 checked: this.state.checked,
8419 onChange: this.onChange,
8420 checkedChildren: "on",
8421 unCheckedChildren: "off"
8422 })
8423 ),
8424 _react2["default"].createElement(
8425 _beeLayout.Col,
8426 { sm: 2 },
8427 _react2["default"].createElement(
8428 "span",
8429 null,
8430 this.state["switch"]
8431 )
8432 )
8433 );
8434 };
8435
8436 return Demo3;
8437 }(_react.Component);
8438
8439 exports["default"] = Demo3;
8440 module.exports = exports["default"];
8441
8442/***/ }),
8443/* 89 */
8444/***/ (function(module, exports, __webpack_require__) {
8445
8446 "use strict";
8447
8448 Object.defineProperty(exports, "__esModule", {
8449 value: true
8450 });
8451
8452 var _react = __webpack_require__(4);
8453
8454 var _react2 = _interopRequireDefault(_react);
8455
8456 var _beeLayout = __webpack_require__(1);
8457
8458 var _src = __webpack_require__(85);
8459
8460 var _src2 = _interopRequireDefault(_src);
8461
8462 var _beeButton = __webpack_require__(82);
8463
8464 var _beeButton2 = _interopRequireDefault(_beeButton);
8465
8466 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
8467
8468 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; }
8469
8470 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
8471
8472 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; }
8473
8474 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); } /**
8475 *
8476 * @title 被禁用开关
8477 * @description
8478 *
8479 */
8480
8481
8482 var Demo4 = function (_Component) {
8483 _inherits(Demo4, _Component);
8484
8485 function Demo4(props) {
8486 _classCallCheck(this, Demo4);
8487
8488 var _this = _possibleConstructorReturn(this, _Component.call(this, props));
8489
8490 _this.onChange = function () {
8491 _this.setState({
8492 defaultDisabled: !_this.state.defaultDisabled
8493 });
8494 };
8495
8496 _this.onConsoleLog = function (x) {
8497 console.log(x);
8498 };
8499
8500 _this.state = {
8501 defaultDisabled: true
8502 };
8503 return _this;
8504 }
8505
8506 Demo4.prototype.render = function render() {
8507 return _react2["default"].createElement(
8508 _beeLayout.Row,
8509 null,
8510 _react2["default"].createElement(
8511 _beeLayout.Col,
8512 { sm: 2 },
8513 _react2["default"].createElement(_src2["default"], { disabled: this.state.defaultDisabled })
8514 ),
8515 _react2["default"].createElement(
8516 _beeLayout.Col,
8517 { sm: 2 },
8518 _react2["default"].createElement(
8519 _beeButton2["default"],
8520 { onClick: this.onChange },
8521 "toggle disabled"
8522 )
8523 )
8524 );
8525 };
8526
8527 return Demo4;
8528 }(_react.Component);
8529
8530 exports["default"] = Demo4;
8531 module.exports = exports["default"];
8532
8533/***/ })
8534/******/ ]);
8535//# sourceMappingURL=demo.js.map
\No newline at end of file