UNPKG

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