UNPKG

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