UNPKG

499 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__(183);var Demo3 = __webpack_require__(184);var Demo4 = __webpack_require__(185);var Demo5 = __webpack_require__(186);var Demo6 = __webpack_require__(187);var Demo7 = __webpack_require__(188);var DemoArray = [{ "example": _react2['default'].createElement(Demo1, null), "title": " 基础级联菜单", "code": "/**\r\n *\r\n * @title 基础级联菜单\r\n * @description 级联选择对数据有较严格要求,请参照示例的格式使用options,每项数据至少包含 value、label 两项,子集为 children,以此类推。\r\n *\r\n */\r\n\r\nimport React, { Component } from 'react';\r\n\nimport { Cascader, Row, Col } from 'tinper-bee';\r\n\r\nconst options = [{\r\n\tlabel: '浙江',\r\n\tvalue: 'zj',\r\n\tchildren: [{\r\n\t\tlabel: '杭州',\r\n\t\tvalue: 'hz',\r\n\t\tchildren: [{\r\n\t\t\tlabel: '西湖',\r\n\t\t\tvalue: 'xh',\r\n\t\t\tchildren: [{\r\n\t\t\t\tlabel: '白娘子',\r\n\t\t\t\tvalue: 'bnz'\r\n\t\t\t},{\r\n\t\t\t\tlabel: '许仙',\r\n\t\t\t\tvalue: 'xx'\r\n\t\t\t}]\r\n\t\t}]\r\n\t}]\r\n\t},\r\n\t{\r\n\t\tlabel: '江苏',\r\n\t\tvalue: 'js',\r\n\t\tchildren: [{\r\n\t\t\tlabel: '南京',\r\n\t\t\tvalue: 'nj',\r\n\t\t\tchildren: [{\r\n\t\t\t\tlabel: '中华门',\r\n\t\t\t\tvalue: 'zhm'\r\n\t\t\t}]\r\n\t\t}]\r\n \t},\r\n \t{\r\n\t\tlabel: '山东',\r\n \t value: 'sd'\r\n \t}\r\n];\r\nclass Demo1 extends Component {\r\n\r\n\tonChange = (value, selectedOptions) => {\r\n \tconsole.log(value, selectedOptions);\r\n\t}\r\n\t\r\n \trender(){\r\n \t\treturn(\r\n\t\t\t<Row>\r\n\t\t\t\t<Col md={4}>\r\n\t\t\t\t\t<div className=\"height-150\">\r\n\t\t\t\t\t\t<Cascader \r\n\t\t\t\t\t\t\toptions = {options} \r\n\t\t\t\t\t\t\tonChange = {this.onChange}\r\n\t\t\t\t\t\t\tplaceholder = \"请选择地址\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</Col>\r\n\t\t\t</Row>\r\n \t\t)\r\n \t}\r\n}\r\n", "desc": " 级联选择对数据有较严格要求,请参照示例的格式使用options,每项数据至少包含 value、label 两项,子集为 children,以此类推。" }, { "example": _react2['default'].createElement(Demo2, null), "title": " 默认值", "code": "/**\r\n *\r\n * @title 默认值\r\n * @description 默认值通过数组的方式指定。注:需要给数组的每一项指定label和value属性。\r\n *\r\n */\r\n\r\nimport React, { Component } from 'react';\r\n\nimport { Cascader, Row, Col } from 'tinper-bee';\r\n\r\nconst options = [{\r\n label: '浙江',\r\n value: 'zj',\r\n children: [{\r\n label: '杭州',\r\n value: 'hz',\r\n children: [{\r\n label: '西湖',\r\n value: 'xh',\r\n children: [{\r\n label: '白娘子',\r\n value: 'bnz'\r\n },{\r\n label: '许仙',\r\n value: 'xx'\r\n }]\r\n }]\r\n }]\r\n },\r\n {\r\n label: '江苏',\r\n value: 'js',\r\n children: [{\r\n\t\t\tlabel: '南京',\r\n\t\t\tvalue: 'nj',\r\n\t\t\tchildren: [{\r\n\t\t\t\tlabel: '中华门',\r\n\t\t\t\tvalue: 'zhm'\r\n\t\t\t}]\r\n \t\t}]\r\n \t},\r\n \t{\r\n\t\tlabel: '山东',\r\n \t value: 'sd'\r\n \t}\r\n];\r\n\r\nconst defaultOptions = [{\r\n label: '江苏',\r\n value: 'js',\r\n}, {\r\n label: '南京',\r\n value: 'nj',\r\n}, {\r\n label: '中华门',\r\n value: 'zhm',\r\n}];\r\n\r\nclass Demo2 extends Component {\r\n\r\n\tonChange = (value, selectedOptions) => {\r\n console.log(value, selectedOptions);\r\n\t}\r\n\t\r\n \trender(){\r\n \t\treturn(\r\n\t\t\t<Row>\r\n\t\t\t\t<Col md={4}>\r\n\t\t\t\t\t<div className=\"height-150\">\r\n <Cascader \r\n defaultValue={defaultOptions}\r\n\t\t\t\t\t\t\toptions = {options} \r\n\t\t\t\t\t\t\tonChange = {this.onChange}\r\n\t\t\t\t\t\t\tplaceholder = \"请选择地址\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</Col>\r\n\t\t\t</Row>\r\n \t\t)\r\n \t}\r\n}\r\n", "desc": " 默认值通过数组的方式指定。注:需要给数组的每一项指定label和value属性。" }, { "example": _react2['default'].createElement(Demo3, null), "title": " 移入展开", "code": "/**\r\n *\r\n * @title 移入展开\r\n * @description 鼠标hover时展开菜单子选项\r\n *\r\n */\r\n\r\nimport React, { Component } from 'react';\r\n\nimport { Cascader, Row, Col } from 'tinper-bee';\r\n\r\nconst options = [{\r\n label: '浙江',\r\n value: 'zj',\r\n children: [{\r\n label: '杭州',\r\n value: 'hz',\r\n children: [{\r\n label: '西湖',\r\n value: 'xh',\r\n children: [{\r\n label: '白娘子',\r\n value: 'bnz'\r\n },{\r\n label: '许仙',\r\n value: 'xx'\r\n }]\r\n }]\r\n }]\r\n },\r\n {\r\n label: '江苏',\r\n value: 'js',\r\n children: [{\r\n label: '南京',\r\n value: 'nj',\r\n children: [{\r\n label: '中华门',\r\n value: 'zhm'\r\n }]\r\n }]\r\n },\r\n {\r\n label: '山东',\r\n value: 'sd'\r\n }\r\n];\r\n\r\nclass Demo3 extends Component {\r\n\r\n onChange = (value) => {\r\n console.log(value)\r\n }\r\n\r\n render(){\r\n return (\r\n <Row>\r\n <Col md={4}>\r\n <div className=\"height-150\">\r\n <Cascader expandTrigger=\"hover\" options={options} onChange={this.onChange} placeholder=\"请选择地址\"/>\r\n </div>\r\n </Col>\r\n </Row>\r\n )\r\n }\r\n}\r\n\r\n", "desc": " 鼠标hover时展开菜单子选项" }, { "example": _react2['default'].createElement(Demo4, null), "title": " 禁用状态", "code": "/**\r\n *\r\n * @title 禁用状态\r\n * @description 通过`disabled`参数设置是否禁用。\r\n *\r\n */\r\n\r\nimport React, { Component } from 'react';\r\n\nimport { Cascader, Row, Col } from 'tinper-bee';\r\n\r\nconst options = [{\r\n label: '浙江',\r\n value: 'zj',\r\n children: [{\r\n label: '杭州',\r\n value: 'hz',\r\n children: [{\r\n label: '西湖',\r\n value: 'xh',\r\n children: [{\r\n label: '白娘子',\r\n value: 'bnz'\r\n },{\r\n label: '许仙',\r\n value: 'xx'\r\n }]\r\n }]\r\n }]\r\n },\r\n {\r\n label: '江苏',\r\n value: 'js',\r\n children: [{\r\n label: '南京',\r\n value: 'nj',\r\n children: [{\r\n label: '中华门',\r\n value: 'zhm'\r\n }]\r\n }]\r\n },\r\n {\r\n label: '山东',\r\n value: 'sd'\r\n }\r\n];\r\n\r\nclass Demo4 extends Component { \r\n render(){\r\n return (\r\n <Row>\r\n <Col md={4}>\r\n <div className=\"height-150\">\r\n <Cascader disabled options={options} placeholder=\"请选择地址\"/>\r\n </div>\r\n </Col>\r\n </Row>\r\n )\r\n }\r\n}\r\n\r\n", "desc": " 通过`disabled`参数设置是否禁用。" }, { "example": _react2['default'].createElement(Demo5, null), "title": " 选择即改变", "code": "/**\r\n *\r\n * @title 选择即改变\r\n * @description 设置属性 `changeOnSelect` 点任何一级都可以选择。\r\n *\r\n */\r\n\r\nimport React, { Component } from 'react';\r\n\nimport { Cascader, Row, Col } from 'tinper-bee';\r\n\r\nconst options = [{\r\n label: '浙江',\r\n value: 'zj',\r\n children: [{\r\n label: '杭州',\r\n value: 'hz',\r\n children: [{\r\n label: '西湖',\r\n value: 'xh',\r\n children: [{\r\n label: '白娘子',\r\n value: 'bnz'\r\n },{\r\n label: '许仙',\r\n value: 'xx'\r\n }]\r\n }]\r\n }]\r\n },\r\n {\r\n label: '江苏',\r\n value: 'js',\r\n children: [{\r\n label: '南京',\r\n value: 'nj',\r\n children: [{\r\n label: '中华门',\r\n value: 'zhm'\r\n }]\r\n }]\r\n },\r\n {\r\n label: '山东',\r\n value: 'sd'\r\n }\r\n];\r\n\r\nclass Demo5 extends Component { \r\n render(){\r\n return (\r\n <Row>\r\n <Col md={4}>\r\n <div className=\"height-150\">\r\n <Cascader changeOnSelect options={options} placeholder=\"请选择地址\"/>\r\n </div>\r\n </Col>\r\n </Row>\r\n )\r\n }\r\n}\r\n\r\n", "desc": " 设置属性 `changeOnSelect` 点任何一级都可以选择。" }, { "example": _react2['default'].createElement(Demo6, null), "title": " 动态改变options", "code": "/**\r\n *\r\n * @title 动态改变options\r\n * @description 通过动态设置`options`参数,即可灵活改变数据源。\r\n *\r\n */\r\n\r\nimport React, { Component } from 'react';\r\n\n\nimport { Cascader, Button, Row, Col } from 'tinper-bee';\r\n\r\nconst addressOptions = [{\r\n label: '浙江',\r\n value: 'zj',\r\n children: [{\r\n label: '杭州',\r\n value: 'hz',\r\n children: [{\r\n label: '西湖',\r\n value: 'xh',\r\n children: [{\r\n label: '白娘子',\r\n value: 'bnz'\r\n },{\r\n label: '许仙',\r\n value: 'xx'\r\n }]\r\n }]\r\n }]\r\n },\r\n {\r\n label: '江苏',\r\n value: 'js',\r\n children: [{\r\n label: '南京',\r\n value: 'nj',\r\n children: [{\r\n label: '中华门',\r\n value: 'zhm'\r\n }]\r\n }]\r\n },\r\n {\r\n label: '山东',\r\n value: 'sd'\r\n }\r\n];\r\n\r\nclass Demo6 extends Component { \r\n state = {\r\n options: addressOptions\r\n }\r\n \r\n changeOptions = () => {\r\n this.setState({\r\n options: [{\r\n label: '北京',\r\n value: 'bj',\r\n children: [{\r\n label: '故宫',\r\n value: 'gg',\r\n },{\r\n label: '天坛',\r\n value: 'tt',\r\n },{\r\n label: '王府井',\r\n value: 'wfj',\r\n }]\r\n },\r\n {\r\n label: '江苏1',\r\n value: 'js1',\r\n children: [{\r\n label: '南京1',\r\n value: 'nj1',\r\n children: [{\r\n label: '中华门1',\r\n value: 'zhm1'\r\n }]\r\n }]\r\n },\r\n {\r\n label: '山东1',\r\n value: 'sd1'\r\n }\r\n ]\r\n })\r\n }\r\n\r\n render(){\r\n return (\r\n <Row>\r\n <Col md={4}>\r\n <div className=\"height-150\">\r\n <Button colors=\"primary\" onClick={this.changeOptions} style={{marginBottom:8+'px'}}>点击改变选项数组</Button>\r\n <Cascader options={this.state.options} placeholder=\"请选择地址\"/>\r\n </div>\r\n </Col>\r\n </Row>\r\n )\r\n }\r\n}\r\n\r\n", "desc": " 通过动态设置`options`参数,即可灵活改变数据源。" }, { "example": _react2['default'].createElement(Demo7, null), "title": " 不同尺寸的Cascader", "code": "/**\r\n *\r\n * @title 不同尺寸的Cascader\r\n * @description 通过设置`size`属性为 \"lg\" 和 \"sm\" 将输入框设置为大和小尺寸,不设置为默认(中)尺寸。\r\n *\r\n */\r\n\r\nimport React, { Component } from 'react';\r\n\n\nimport { Cascader, Button, Row, Col } from 'tinper-bee';\r\n\r\nconst addressOptions = [{\r\n label: '浙江',\r\n value: 'zj',\r\n children: [{\r\n label: '杭州',\r\n value: 'hz',\r\n children: [{\r\n label: '西湖',\r\n value: 'xh',\r\n children: [{\r\n label: '白娘子',\r\n value: 'bnz'\r\n },{\r\n label: '许仙',\r\n value: 'xx'\r\n }]\r\n }]\r\n }]\r\n },\r\n {\r\n label: '江苏',\r\n value: 'js',\r\n children: [{\r\n label: '南京',\r\n value: 'nj',\r\n children: [{\r\n label: '中华门',\r\n value: 'zhm'\r\n }]\r\n }]\r\n },\r\n {\r\n label: '山东',\r\n value: 'sd'\r\n }\r\n];\r\n\r\nclass Demo7 extends Component { \r\n\r\n render(){\r\n return (\r\n <Row>\r\n <Col md={4}>\r\n <div className=\"height-150 demo7\">\r\n <Cascader size=\"sm\" options={addressOptions} placeholder=\"请选择地址\"/>\r\n <Cascader options={addressOptions} placeholder=\"请选择地址\"/>\r\n <Cascader size=\"lg\" options={addressOptions} placeholder=\"请选择地址\"/>\r\n </div>\r\n </Col>\r\n </Row>\r\n )\r\n }\r\n}\r\n\r\n", "desc": " 通过设置`size`属性为 \"lg\" 和 \"sm\" 将输入框设置为大和小尺寸,不设置为默认(中)尺寸。", "scss_code": ".demo7{\r\n span{\r\n margin-bottom: 16px;\r\n }\r\n .u-form-control.lg{\r\n width: 183px;\r\n }\r\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,
138 footerStyle: { padding: 0 } },
139 _react2['default'].createElement(
140 'pre',
141 null,
142 _react2['default'].createElement(
143 'code',
144 { className: 'hljs javascript' },
145 code
146 )
147 ),
148 !!scss_code ? _react2['default'].createElement(
149 'pre',
150 null,
151 _react2['default'].createElement(
152 'code',
153 { className: 'hljs css' },
154 scss_code
155 )
156 ) : null
157 )
158 );
159 };
160
161 return Demo;
162 }(_react.Component);
163
164 var DemoGroup = function (_Component2) {
165 _inherits(DemoGroup, _Component2);
166
167 function DemoGroup(props) {
168 _classCallCheck(this, DemoGroup);
169
170 return _possibleConstructorReturn(this, _Component2.call(this, props));
171 }
172
173 DemoGroup.prototype.render = function render() {
174 return _react2['default'].createElement(
175 _beeLayout.Row,
176 null,
177 DemoArray.map(function (child, index) {
178
179 return _react2['default'].createElement(Demo, { example: child.example, title: child.title, code: child.code, scss_code: child.scss_code,
180 desc: child.desc, key: index });
181 })
182 );
183 };
184
185 return DemoGroup;
186 }(_react.Component);
187
188 _reactDom2['default'].render(_react2['default'].createElement(DemoGroup, null), document.getElementById('tinperBeeDemo'));
189
190/***/ }),
191/* 1 */
192/***/ (function(module, exports, __webpack_require__) {
193
194 'use strict';
195
196 Object.defineProperty(exports, "__esModule", {
197 value: true
198 });
199 exports.Con = exports.Row = exports.Col = undefined;
200
201 var _Col2 = __webpack_require__(2);
202
203 var _Col3 = _interopRequireDefault(_Col2);
204
205 var _Row2 = __webpack_require__(6);
206
207 var _Row3 = _interopRequireDefault(_Row2);
208
209 var _Layout = __webpack_require__(7);
210
211 var _Layout2 = _interopRequireDefault(_Layout);
212
213 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
214
215 exports.Col = _Col3["default"];
216 exports.Row = _Row3["default"];
217 exports.Con = _Layout2["default"];
218
219/***/ }),
220/* 2 */
221/***/ (function(module, exports, __webpack_require__) {
222
223 'use strict';
224
225 Object.defineProperty(exports, "__esModule", {
226 value: true
227 });
228
229 var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
230
231 var _classnames = __webpack_require__(3);
232
233 var _classnames2 = _interopRequireDefault(_classnames);
234
235 var _react = __webpack_require__(4);
236
237 var _react2 = _interopRequireDefault(_react);
238
239 var _propTypes = __webpack_require__(5);
240
241 var _propTypes2 = _interopRequireDefault(_propTypes);
242
243 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
244
245 function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
246
247 function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
248
249 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
250
251 function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
252
253 function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
254
255 var propTypes = {
256 componentClass: _propTypes2["default"].oneOfType([_propTypes2["default"].element, _propTypes2["default"].string]),
257
258 /**
259 * xs显示列数
260 */
261 xs: _propTypes2["default"].number,
262 /**
263 * sm显示列数
264 */
265 sm: _propTypes2["default"].number,
266 /**
267 * md显示列数
268 */
269 md: _propTypes2["default"].number,
270 /**
271 * lg显示列数
272 */
273 lg: _propTypes2["default"].number,
274 /**
275 * xs偏移列数
276 */
277 xsOffset: _propTypes2["default"].number,
278 /**
279 * sm偏移列数
280 */
281 smOffset: _propTypes2["default"].number,
282 /**
283 * md偏移列数
284 */
285 mdOffset: _propTypes2["default"].number,
286 /**
287 * lg偏移列数
288 */
289 lgOffset: _propTypes2["default"].number,
290 /**
291 * xs右偏移列数
292 */
293 xsPush: _propTypes2["default"].number,
294 /**
295 * sm右偏移列数
296 */
297 smPush: _propTypes2["default"].number,
298 /**
299 * md右偏移列数
300 */
301 mdPush: _propTypes2["default"].number,
302 /**
303 * lg右偏移列数
304 */
305 lgPush: _propTypes2["default"].number,
306 /**
307 * xs左偏移列数
308 */
309 xsPull: _propTypes2["default"].number,
310 /**
311 * sm左偏移列数
312 */
313 smPull: _propTypes2["default"].number,
314 /**
315 * md左偏移列数
316 */
317 mdPull: _propTypes2["default"].number,
318 /**
319 * lg左偏移列数
320 */
321 lgPull: _propTypes2["default"].number
322 };
323
324 var defaultProps = {
325 componentClass: 'div',
326 clsPrefix: 'u-col'
327 };
328
329 var DEVICE_SIZES = ['lg', 'md', 'sm', 'xs'];
330
331 var Col = function (_Component) {
332 _inherits(Col, _Component);
333
334 function Col() {
335 _classCallCheck(this, Col);
336
337 return _possibleConstructorReturn(this, _Component.apply(this, arguments));
338 }
339
340 Col.prototype.render = function render() {
341 var _props = this.props,
342 Component = _props.componentClass,
343 className = _props.className,
344 clsPrefix = _props.clsPrefix,
345 others = _objectWithoutProperties(_props, ['componentClass', 'className', 'clsPrefix']);
346
347 var tbClass = [];
348 /**
349 * 对传入props做样式转化
350 * @type {[type]}
351 */
352 DEVICE_SIZES.forEach(function (size) {
353 function popProp(propSuffix, modifier) {
354 var propName = '' + size + propSuffix;
355 var propValue = others[propName];
356
357 if (propValue != undefined && propValue != null) {
358 tbClass.push(clsPrefix + '-' + size + modifier + '-' + propValue);
359 }
360
361 delete others[propName];
362 }
363
364 popProp('', '');
365 popProp('Offset', '-offset');
366 popProp('Push', '-push');
367 popProp('Pull', '-pull');
368 });
369
370 return _react2["default"].createElement(
371 Component,
372 _extends({
373 className: (0, _classnames2["default"])(tbClass, className)
374 }, others),
375 this.props.children
376 );
377 };
378
379 return Col;
380 }(_react.Component);
381
382 Col.defaultProps = defaultProps;
383 Col.propTypes = propTypes;
384
385 exports["default"] = Col;
386 module.exports = exports['default'];
387
388/***/ }),
389/* 3 */
390/***/ (function(module, exports, __webpack_require__) {
391
392 var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
393 Copyright (c) 2017 Jed Watson.
394 Licensed under the MIT License (MIT), see
395 http://jedwatson.github.io/classnames
396 */
397 /* global define */
398
399 (function () {
400 'use strict';
401
402 var hasOwn = {}.hasOwnProperty;
403
404 function classNames () {
405 var classes = [];
406
407 for (var i = 0; i < arguments.length; i++) {
408 var arg = arguments[i];
409 if (!arg) continue;
410
411 var argType = typeof arg;
412
413 if (argType === 'string' || argType === 'number') {
414 classes.push(arg);
415 } else if (Array.isArray(arg) && arg.length) {
416 var inner = classNames.apply(null, arg);
417 if (inner) {
418 classes.push(inner);
419 }
420 } else if (argType === 'object') {
421 for (var key in arg) {
422 if (hasOwn.call(arg, key) && arg[key]) {
423 classes.push(key);
424 }
425 }
426 }
427 }
428
429 return classes.join(' ');
430 }
431
432 if (typeof module !== 'undefined' && module.exports) {
433 classNames.default = classNames;
434 module.exports = classNames;
435 } else if (true) {
436 // register as 'classnames', consistent with npm package name
437 !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = function () {
438 return classNames;
439 }.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
440 } else {
441 window.classNames = classNames;
442 }
443 }());
444
445
446/***/ }),
447/* 4 */
448/***/ (function(module, exports) {
449
450 module.exports = React;
451
452/***/ }),
453/* 5 */
454/***/ (function(module, exports) {
455
456 module.exports = PropTypes;
457
458/***/ }),
459/* 6 */
460/***/ (function(module, exports, __webpack_require__) {
461
462 'use strict';
463
464 Object.defineProperty(exports, "__esModule", {
465 value: true
466 });
467
468 var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
469
470 var _classnames = __webpack_require__(3);
471
472 var _classnames2 = _interopRequireDefault(_classnames);
473
474 var _react = __webpack_require__(4);
475
476 var _react2 = _interopRequireDefault(_react);
477
478 var _propTypes = __webpack_require__(5);
479
480 var _propTypes2 = _interopRequireDefault(_propTypes);
481
482 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
483
484 function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
485
486 function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
487
488 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
489
490 function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
491
492 function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
493
494 var propTypes = {
495 componentClass: _propTypes2["default"].oneOfType([_propTypes2["default"].element, _propTypes2["default"].string])
496 };
497
498 var defaultProps = {
499 componentClass: 'div',
500 clsPrefix: 'u-row'
501 };
502
503 var Row = function (_Component) {
504 _inherits(Row, _Component);
505
506 function Row() {
507 _classCallCheck(this, Row);
508
509 return _possibleConstructorReturn(this, _Component.apply(this, arguments));
510 }
511
512 Row.prototype.render = function render() {
513 var _props = this.props,
514 Component = _props.componentClass,
515 clsPrefix = _props.clsPrefix,
516 className = _props.className,
517 others = _objectWithoutProperties(_props, ['componentClass', 'clsPrefix', 'className']);
518
519 var bsclass = '' + clsPrefix;
520
521 return _react2["default"].createElement(
522 Component,
523 _extends({}, others, {
524 className: (0, _classnames2["default"])(bsclass, className)
525 }),
526 this.props.children
527 );
528 };
529
530 return Row;
531 }(_react.Component);
532
533 Row.propTypes = propTypes;
534 Row.defaultProps = defaultProps;
535
536 exports["default"] = Row;
537 module.exports = exports['default'];
538
539/***/ }),
540/* 7 */
541/***/ (function(module, exports, __webpack_require__) {
542
543 'use strict';
544
545 Object.defineProperty(exports, "__esModule", {
546 value: true
547 });
548
549 var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
550
551 var _classnames = __webpack_require__(3);
552
553 var _classnames2 = _interopRequireDefault(_classnames);
554
555 var _react = __webpack_require__(4);
556
557 var _react2 = _interopRequireDefault(_react);
558
559 var _propTypes = __webpack_require__(5);
560
561 var _propTypes2 = _interopRequireDefault(_propTypes);
562
563 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
564
565 function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
566
567 function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
568
569 function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
570
571 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
572
573 function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
574
575 function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
576
577 var propTypes = {
578 /**
579 * Adds `container-fluid` class.
580 */
581 fluid: _propTypes2["default"].bool,
582 /**
583 * You can use a custom element for this component
584 */
585 componentClass: _propTypes2["default"].oneOfType([_propTypes2["default"].element, _propTypes2["default"].string])
586 };
587
588 var defaultProps = {
589 componentClass: 'div',
590 fluid: false,
591 clsPrefix: 'u-container'
592 };
593
594 var Con = function (_React$Component) {
595 _inherits(Con, _React$Component);
596
597 function Con() {
598 _classCallCheck(this, Con);
599
600 return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));
601 }
602
603 Con.prototype.render = function render() {
604 var _tbclass;
605
606 var _props = this.props,
607 fluid = _props.fluid,
608 Component = _props.componentClass,
609 clsPrefix = _props.clsPrefix,
610 className = _props.className,
611 others = _objectWithoutProperties(_props, ['fluid', 'componentClass', 'clsPrefix', 'className']);
612
613 var tbclass = (_tbclass = {}, _defineProperty(_tbclass, '' + clsPrefix, !fluid), _defineProperty(_tbclass, clsPrefix + '-fluid', fluid), _tbclass);
614
615 return _react2["default"].createElement(
616 Component,
617 _extends({}, others, {
618 className: (0, _classnames2["default"])(tbclass, className)
619 }),
620 this.props.children
621 );
622 };
623
624 return Con;
625 }(_react2["default"].Component);
626
627 Con.propTypes = propTypes;
628 Con.defaultProps = defaultProps;
629
630 exports["default"] = Con;
631 module.exports = exports['default'];
632
633/***/ }),
634/* 8 */
635/***/ (function(module, exports, __webpack_require__) {
636
637 'use strict';
638
639 Object.defineProperty(exports, "__esModule", {
640 value: true
641 });
642 exports.PanelGroup = exports.Panel = undefined;
643
644 var _Panel2 = __webpack_require__(9);
645
646 var _Panel3 = _interopRequireDefault(_Panel2);
647
648 var _PanelGroup2 = __webpack_require__(81);
649
650 var _PanelGroup3 = _interopRequireDefault(_PanelGroup2);
651
652 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
653
654 exports.Panel = _Panel3["default"];
655 exports.PanelGroup = _PanelGroup3["default"];
656
657/***/ }),
658/* 9 */
659/***/ (function(module, exports, __webpack_require__) {
660
661 'use strict';
662
663 Object.defineProperty(exports, "__esModule", {
664 value: true
665 });
666
667 var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
668
669 var _classnames = __webpack_require__(3);
670
671 var _classnames2 = _interopRequireDefault(_classnames);
672
673 var _react = __webpack_require__(4);
674
675 var _react2 = _interopRequireDefault(_react);
676
677 var _beeTransition = __webpack_require__(10);
678
679 var _beeMessage = __webpack_require__(65);
680
681 var _beeMessage2 = _interopRequireDefault(_beeMessage);
682
683 var _propTypes = __webpack_require__(5);
684
685 var _propTypes2 = _interopRequireDefault(_propTypes);
686
687 var _copyToClipboard = __webpack_require__(79);
688
689 var _copyToClipboard2 = _interopRequireDefault(_copyToClipboard);
690
691 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
692
693 function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
694
695 function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
696
697 function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
698
699 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
700
701 function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
702
703 function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
704
705 var propTypes = {
706 //是否添加折叠
707 collapsible: _propTypes2["default"].bool,
708 onSelect: _propTypes2["default"].func,
709 //头部组件
710 header: _propTypes2["default"].node,
711 headerStyle: _propTypes2["default"].object,
712 id: _propTypes2["default"].oneOfType([_propTypes2["default"].string, _propTypes2["default"].number]),
713 headerContent: _propTypes2["default"].bool,
714 //footer组件
715 footer: _propTypes2["default"].node,
716 footerStyle: _propTypes2["default"].object,
717 //默认是否打开
718 defaultExpanded: _propTypes2["default"].bool,
719 //是否打开
720 expanded: _propTypes2["default"].bool,
721 //每个panel的标记
722 eventKey: _propTypes2["default"].any,
723 headerRole: _propTypes2["default"].string,
724 panelRole: _propTypes2["default"].string,
725 //颜色
726 colors: _propTypes2["default"].oneOf(['primary', 'accent', 'success', 'info', 'warning', 'danger', 'default', 'bordered']),
727
728 // From Collapse.的扩展动画
729 onEnter: _propTypes2["default"].func,
730 onEntering: _propTypes2["default"].func,
731 onEntered: _propTypes2["default"].func,
732 onExit: _propTypes2["default"].func,
733 onExiting: _propTypes2["default"].func,
734 onExited: _propTypes2["default"].func,
735 //是否可复制内容
736 copyable: _propTypes2["default"].bool
737 };
738
739 var defaultProps = {
740 defaultExpanded: false,
741 clsPrefix: "u-panel",
742 colors: "default"
743 };
744
745 var Panel = function (_React$Component) {
746 _inherits(Panel, _React$Component);
747
748 function Panel(props, context) {
749 _classCallCheck(this, Panel);
750
751 var _this = _possibleConstructorReturn(this, _React$Component.call(this, props, context));
752
753 _this.handleClickTitle = _this.handleClickTitle.bind(_this);
754
755 _this.state = {
756 expanded: _this.props.defaultExpanded
757 };
758 return _this;
759 }
760
761 //头部点击事件
762
763
764 Panel.prototype.handleClickTitle = function handleClickTitle(e) {
765 // 不让事件进入事件池
766 e.persist();
767 e.selected = true;
768
769 if (this.props.onSelect) {
770 this.props.onSelect(this.props.eventKey, e);
771 } else {
772 e.preventDefault();
773 }
774
775 if (e.selected) {
776 this.setState({ expanded: !this.state.expanded });
777 }
778 };
779
780 //渲染panelheader
781
782
783 Panel.prototype.renderHeader = function renderHeader(collapsible, header, id, role, expanded, clsPrefix) {
784 var titleClassName = clsPrefix + '-title';
785
786 if (!collapsible) {
787 if (!_react2["default"].isValidElement(header)) {
788 return header;
789 }
790
791 return (0, _react.cloneElement)(header, {
792 className: (0, _classnames2["default"])(header.props.className, titleClassName)
793 });
794 }
795
796 if (!_react2["default"].isValidElement(header)) {
797 return _react2["default"].createElement(
798 'h4',
799 { role: 'presentation', className: titleClassName },
800 this.renderAnchor(header, id, role, expanded)
801 );
802 }
803 if (this.props.headerContent) {
804 return (0, _react.cloneElement)(header, {
805 className: (0, _classnames2["default"])(header.props.className, titleClassName)
806 });
807 }
808
809 return (0, _react.cloneElement)(header, {
810 className: (0, _classnames2["default"])(header.props.className, titleClassName),
811 children: this.renderAnchor(header.props.children, id, role, expanded)
812 });
813 };
814
815 //如果使用链接,渲染为a标签
816
817
818 Panel.prototype.renderAnchor = function renderAnchor(header, id, role, expanded) {
819 return _react2["default"].createElement(
820 'a',
821 {
822 role: role,
823 href: id && '#' + id,
824 'aria-controls': id,
825 'aria-expanded': expanded,
826 'aria-selected': expanded,
827 className: expanded ? null : 'collapsed'
828 },
829 header
830 );
831 };
832
833 //复制代码,弹出提示信息
834
835
836 Panel.prototype.copyDemo = function copyDemo(e) {
837 var panelTarget = e.target.parentNode;
838 var clipBoardContent = panelTarget.firstChild.innerText;
839 (0, _copyToClipboard2["default"])(clipBoardContent);
840 _beeMessage2["default"].create({ content: '复制成功!', color: 'success', duration: 2 });
841 };
842
843 //如果有折叠动画,渲染折叠动画
844
845
846 Panel.prototype.renderCollapsibleBody = function renderCollapsibleBody(id, expanded, role, children, clsPrefix, copyable, animationHooks) {
847 return _react2["default"].createElement(
848 _beeTransition.Collapse,
849 _extends({ 'in': expanded }, animationHooks),
850 _react2["default"].createElement(
851 'div',
852 {
853 id: id,
854 role: role,
855 className: clsPrefix + '-collapse',
856 'aria-hidden': !expanded
857 },
858 this.renderBody(children, clsPrefix, copyable)
859 )
860 );
861 };
862
863 //渲染panelbody
864
865
866 Panel.prototype.renderBody = function renderBody(rawChildren, clsPrefix, copyable) {
867 var self = this;
868 var children = [];
869 var bodyChildren = [];
870
871 var bodyClassName = clsPrefix + '-body';
872 //添加到body的children中
873 function maybeAddBody(self) {
874 if (!bodyChildren.length) {
875 return;
876 }
877 // 给子组件添加key,为了之后触发事件时使用
878 children.push(_react2["default"].createElement(
879 'div',
880 { key: children.length, className: bodyClassName },
881 bodyChildren,
882 copyable && _react2["default"].createElement('i', { className: clsPrefix + '-copy uf uf-files-o', onClick: self.copyDemo })
883 ));
884 bodyChildren = [];
885 }
886
887 //转换为数组,方便复用
888 _react2["default"].Children.toArray(rawChildren).forEach(function (child) {
889 if (_react2["default"].isValidElement(child) && child.props.fill) {
890 maybeAddBody(self);
891
892 //将标示fill设置为undefined
893 children.push((0, _react.cloneElement)(child, { fill: undefined }));
894
895 return;
896 }
897 bodyChildren.push(child);
898 });
899
900 maybeAddBody(self);
901
902 return children;
903 };
904
905 Panel.prototype.render = function render() {
906 var _props = this.props,
907 collapsible = _props.collapsible,
908 header = _props.header,
909 id = _props.id,
910 footer = _props.footer,
911 propsExpanded = _props.expanded,
912 footerStyle = _props.footerStyle,
913 headerStyle = _props.headerStyle,
914 headerRole = _props.headerRole,
915 panelRole = _props.panelRole,
916 className = _props.className,
917 colors = _props.colors,
918 children = _props.children,
919 onEnter = _props.onEnter,
920 onEntering = _props.onEntering,
921 onEntered = _props.onEntered,
922 clsPrefix = _props.clsPrefix,
923 onExit = _props.onExit,
924 headerContent = _props.headerContent,
925 onExiting = _props.onExiting,
926 onExited = _props.onExited,
927 defaultExpanded = _props.defaultExpanded,
928 eventKey = _props.eventKey,
929 onSelect = _props.onSelect,
930 copyable = _props.copyable,
931 props = _objectWithoutProperties(_props, ['collapsible', 'header', 'id', 'footer', 'expanded', 'footerStyle', 'headerStyle', 'headerRole', 'panelRole', 'className', 'colors', 'children', 'onEnter', 'onEntering', 'onEntered', 'clsPrefix', 'onExit', 'headerContent', 'onExiting', 'onExited', 'defaultExpanded', 'eventKey', 'onSelect', 'copyable']);
932
933 var expanded = propsExpanded != null ? propsExpanded : this.state.expanded;
934
935 var classes = {};
936 classes['' + clsPrefix] = true;
937 classes[clsPrefix + '-' + colors] = true;
938
939 var headerClass = _defineProperty({}, clsPrefix + '-heading', true);
940
941 copyable === false ? false : true;
942 return _react2["default"].createElement(
943 'div',
944 _extends({}, props, {
945 className: (0, _classnames2["default"])(className, classes),
946 id: collapsible ? null : id
947 }),
948 header && _react2["default"].createElement(
949 'div',
950 { className: (0, _classnames2["default"])(headerClass), style: headerStyle, onClick: this.handleClickTitle },
951 this.renderHeader(collapsible, header, id, headerRole, expanded, clsPrefix)
952 ),
953 collapsible ? this.renderCollapsibleBody(id, expanded, panelRole, children, clsPrefix, copyable, { onEnter: onEnter, onEntering: onEntering, onEntered: onEntered, onExit: onExit, onExiting: onExiting, onExited: onExited }) : this.renderBody(children, clsPrefix, copyable),
954 footer && _react2["default"].createElement(
955 'div',
956 { className: clsPrefix + '-footer', style: footerStyle },
957 footer
958 )
959 );
960 };
961
962 return Panel;
963 }(_react2["default"].Component);
964
965 Panel.propTypes = propTypes;
966 Panel.defaultProps = defaultProps;
967
968 exports["default"] = Panel;
969 module.exports = exports['default'];
970
971/***/ }),
972/* 10 */
973/***/ (function(module, exports, __webpack_require__) {
974
975 'use strict';
976
977 Object.defineProperty(exports, "__esModule", {
978 value: true
979 });
980 exports.Fade = exports.Collapse = exports.Transition = undefined;
981
982 var _Transition2 = __webpack_require__(11);
983
984 var _Transition3 = _interopRequireDefault(_Transition2);
985
986 var _Collapse2 = __webpack_require__(17);
987
988 var _Collapse3 = _interopRequireDefault(_Collapse2);
989
990 var _Fade2 = __webpack_require__(64);
991
992 var _Fade3 = _interopRequireDefault(_Fade2);
993
994 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
995
996 exports.Transition = _Transition3["default"];
997 exports.Collapse = _Collapse3["default"];
998 exports.Fade = _Fade3["default"];
999
1000/***/ }),
1001/* 11 */
1002/***/ (function(module, exports, __webpack_require__) {
1003
1004 'use strict';
1005
1006 Object.defineProperty(exports, "__esModule", {
1007 value: true
1008 });
1009 exports.EXITING = exports.ENTERED = exports.ENTERING = exports.EXITED = exports.UNMOUNTED = undefined;
1010
1011 var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
1012
1013 var _react = __webpack_require__(4);
1014
1015 var _react2 = _interopRequireDefault(_react);
1016
1017 var _reactDom = __webpack_require__(12);
1018
1019 var _reactDom2 = _interopRequireDefault(_reactDom);
1020
1021 var _properties = __webpack_require__(13);
1022
1023 var _properties2 = _interopRequireDefault(_properties);
1024
1025 var _on = __webpack_require__(16);
1026
1027 var _on2 = _interopRequireDefault(_on);
1028
1029 var _classnames = __webpack_require__(3);
1030
1031 var _classnames2 = _interopRequireDefault(_classnames);
1032
1033 var _propTypes = __webpack_require__(5);
1034
1035 var _propTypes2 = _interopRequireDefault(_propTypes);
1036
1037 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
1038
1039 function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
1040
1041 function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
1042
1043 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
1044
1045 function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
1046
1047 function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
1048
1049 var transitionEndEvent = _properties2["default"].end;
1050
1051 //设置状态码
1052 var UNMOUNTED = exports.UNMOUNTED = 0;
1053 var EXITED = exports.EXITED = 1;
1054 var ENTERING = exports.ENTERING = 2;
1055 var ENTERED = exports.ENTERED = 3;
1056 var EXITING = exports.EXITING = 4;
1057
1058 var propTypes = {
1059 /**
1060 * 是否触发动画
1061 */
1062 "in": _propTypes2["default"].bool,
1063
1064 /**
1065 * 不显示的时候是否移除组件
1066 */
1067 unmountOnExit: _propTypes2["default"].bool,
1068
1069 /**
1070 * 如果设置为默认显示,挂载时显示动画
1071 */
1072 transitionAppear: _propTypes2["default"].bool,
1073
1074 /**
1075 * 设置超时时间,防止出现问题,可设置为>=动画时间
1076 */
1077 timeout: _propTypes2["default"].number,
1078
1079 /**
1080 * 退出组件时添加的class
1081 */
1082 exitedClassName: _propTypes2["default"].string,
1083 /**
1084 * 退出组件中添加的class
1085 */
1086 exitingClassName: _propTypes2["default"].string,
1087 /**
1088 * 进入动画后添加的class
1089 */
1090 enteredClassName: _propTypes2["default"].string,
1091 /**
1092 * 进入动画时添加的class
1093 */
1094 enteringClassName: _propTypes2["default"].string,
1095
1096 /**
1097 * 进入动画开始时的钩子函数
1098 */
1099 onEnter: _propTypes2["default"].func,
1100 /**
1101 * 进入动画中的钩子函数
1102 */
1103 onEntering: _propTypes2["default"].func,
1104 /**
1105 * 进入动画后的钩子函数
1106 */
1107 onEntered: _propTypes2["default"].func,
1108 /**
1109 * 退出动画开始时的钩子函数
1110 */
1111 onExit: _propTypes2["default"].func,
1112 /**
1113 * 退出动画中的钩子函数
1114 */
1115 onExiting: _propTypes2["default"].func,
1116 /**
1117 * 退出动画后的钩子函数
1118 */
1119 onExited: _propTypes2["default"].func
1120 };
1121
1122 function noop() {}
1123
1124 var defaultProps = {
1125 "in": false,
1126 unmountOnExit: false,
1127 transitionAppear: false,
1128 timeout: 5000,
1129 onEnter: noop,
1130 onEntering: noop,
1131 onEntered: noop,
1132 onExit: noop,
1133 onExiting: noop,
1134 onExited: noop
1135 };
1136
1137 /**
1138 * 动画组件
1139 */
1140
1141 var Transition = function (_Component) {
1142 _inherits(Transition, _Component);
1143
1144 function Transition(props, context) {
1145 _classCallCheck(this, Transition);
1146
1147 var _this = _possibleConstructorReturn(this, _Component.call(this, props, context));
1148
1149 var initialStatus = void 0;
1150 if (props["in"]) {
1151 // 在componentdidmount时开始执行动画
1152 initialStatus = props.transitionAppear ? EXITED : ENTERED;
1153 } else {
1154 initialStatus = props.unmountOnExit ? UNMOUNTED : EXITED;
1155 }
1156 _this.state = { status: initialStatus };
1157
1158 _this.nextCallback = null;
1159 return _this;
1160 }
1161
1162 Transition.prototype.componentDidMount = function componentDidMount() {
1163 if (this.props.transitionAppear && this.props["in"]) {
1164 this.performEnter(this.props);
1165 }
1166 };
1167
1168 Transition.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
1169 if (nextProps["in"] && this.props.unmountOnExit) {
1170 if (this.state.status === UNMOUNTED) {
1171 // 在componentDidUpdate执行动画.
1172 this.setState({ status: EXITED });
1173 }
1174 } else {
1175 this._needsUpdate = true;
1176 }
1177 };
1178
1179 Transition.prototype.componentDidUpdate = function componentDidUpdate() {
1180 var status = this.state.status;
1181
1182 if (this.props.unmountOnExit && status === EXITED) {
1183 // 当使用unmountOnExit时,exited为exiting和unmont的过渡状态
1184 if (this.props["in"]) {
1185 this.performEnter(this.props);
1186 } else {
1187 this.setState({ status: UNMOUNTED });
1188 }
1189
1190 return;
1191 }
1192
1193 // 确保只响应prop变化
1194 if (this._needsUpdate) {
1195 this._needsUpdate = false;
1196
1197 if (this.props["in"]) {
1198 if (status === EXITING) {
1199 this.performEnter(this.props);
1200 } else if (status === EXITED) {
1201 this.performEnter(this.props);
1202 }
1203 // 其他,当我们已经输入或输出
1204 } else {
1205 if (status === ENTERING || status === ENTERED) {
1206 this.performExit(this.props);
1207 }
1208 // 我们已经输入或输出完成
1209 }
1210 }
1211 };
1212
1213 Transition.prototype.componentWillUnmount = function componentWillUnmount() {
1214 this.cancelNextCallback();
1215 };
1216
1217 Transition.prototype.performEnter = function performEnter(props) {
1218 var _this2 = this;
1219
1220 this.cancelNextCallback();
1221 var node = _reactDom2["default"].findDOMNode(this);
1222
1223 // 这里接收新props
1224 props.onEnter(node);
1225
1226 this.safeSetState({ status: ENTERING }, function () {
1227 _this2.props.onEntering(node);
1228
1229 _this2.onTransitionEnd(node, function () {
1230 _this2.safeSetState({ status: ENTERED }, function () {
1231 _this2.props.onEntered(node);
1232 });
1233 });
1234 });
1235 };
1236
1237 Transition.prototype.performExit = function performExit(props) {
1238 var _this3 = this;
1239
1240 this.cancelNextCallback();
1241 var node = _reactDom2["default"].findDOMNode(this);
1242
1243 props.onExit(node);
1244
1245 this.safeSetState({ status: EXITING }, function () {
1246 _this3.props.onExiting(node);
1247
1248 _this3.onTransitionEnd(node, function () {
1249 _this3.safeSetState({ status: EXITED }, function () {
1250 _this3.props.onExited(node);
1251 });
1252 });
1253 });
1254 };
1255
1256 Transition.prototype.cancelNextCallback = function cancelNextCallback() {
1257 if (this.nextCallback !== null) {
1258 this.nextCallback.cancel();
1259 this.nextCallback = null;
1260 }
1261 };
1262
1263 Transition.prototype.safeSetState = function safeSetState(nextState, callback) {
1264 // 确保在组件销毁后挂起的setState被消除
1265 this.setState(nextState, this.setNextCallback(callback));
1266 };
1267
1268 Transition.prototype.setNextCallback = function setNextCallback(callback) {
1269 var _this4 = this;
1270
1271 var active = true;
1272
1273 this.nextCallback = function (event) {
1274 if (active) {
1275 active = false;
1276 _this4.nextCallback = null;
1277
1278 callback(event);
1279 }
1280 };
1281
1282 this.nextCallback.cancel = function () {
1283 active = false;
1284 };
1285
1286 return this.nextCallback;
1287 };
1288
1289 Transition.prototype.onTransitionEnd = function onTransitionEnd(node, handler) {
1290 this.setNextCallback(handler);
1291
1292 if (node) {
1293 if (transitionEndEvent == undefined) {
1294 this.nextCallback();
1295 } else {
1296 (0, _on2["default"])(node, transitionEndEvent, this.nextCallback);
1297 }
1298 setTimeout(this.nextCallback, this.props.timeout);
1299 } else {
1300 setTimeout(this.nextCallback, 0);
1301 }
1302 };
1303
1304 Transition.prototype.render = function render() {
1305 var status = this.state.status;
1306 if (status === UNMOUNTED) {
1307 return null;
1308 }
1309
1310 var _props = this.props,
1311 children = _props.children,
1312 className = _props.className,
1313 childProps = _objectWithoutProperties(_props, ['children', 'className']);
1314
1315 Object.keys(Transition.propTypes).forEach(function (key) {
1316 return delete childProps[key];
1317 });
1318
1319 var transitionClassName = void 0;
1320 if (status === EXITED) {
1321 transitionClassName = this.props.exitedClassName;
1322 } else if (status === ENTERING) {
1323 transitionClassName = this.props.enteringClassName;
1324 } else if (status === ENTERED) {
1325 transitionClassName = this.props.enteredClassName;
1326 } else if (status === EXITING) {
1327 transitionClassName = this.props.exitingClassName;
1328 }
1329
1330 var child = _react2["default"].Children.only(children);
1331 return _react2["default"].cloneElement(child, _extends({}, childProps, {
1332 className: (0, _classnames2["default"])(child.props.className, className, transitionClassName)
1333 }));
1334 };
1335
1336 return Transition;
1337 }(_react.Component);
1338
1339 Transition.propTypes = propTypes;
1340
1341 Transition.defaultProps = defaultProps;
1342
1343 exports["default"] = Transition;
1344
1345/***/ }),
1346/* 12 */
1347/***/ (function(module, exports) {
1348
1349 module.exports = ReactDOM;
1350
1351/***/ }),
1352/* 13 */
1353/***/ (function(module, exports, __webpack_require__) {
1354
1355 "use strict";
1356
1357 var _interopRequireDefault = __webpack_require__(14);
1358
1359 exports.__esModule = true;
1360 exports.default = exports.animationEnd = exports.animationDelay = exports.animationTiming = exports.animationDuration = exports.animationName = exports.transitionEnd = exports.transitionDuration = exports.transitionDelay = exports.transitionTiming = exports.transitionProperty = exports.transform = void 0;
1361
1362 var _inDOM = _interopRequireDefault(__webpack_require__(15));
1363
1364 var transform = 'transform';
1365 exports.transform = transform;
1366 var prefix, transitionEnd, animationEnd;
1367 exports.animationEnd = animationEnd;
1368 exports.transitionEnd = transitionEnd;
1369 var transitionProperty, transitionDuration, transitionTiming, transitionDelay;
1370 exports.transitionDelay = transitionDelay;
1371 exports.transitionTiming = transitionTiming;
1372 exports.transitionDuration = transitionDuration;
1373 exports.transitionProperty = transitionProperty;
1374 var animationName, animationDuration, animationTiming, animationDelay;
1375 exports.animationDelay = animationDelay;
1376 exports.animationTiming = animationTiming;
1377 exports.animationDuration = animationDuration;
1378 exports.animationName = animationName;
1379
1380 if (_inDOM.default) {
1381 var _getTransitionPropert = getTransitionProperties();
1382
1383 prefix = _getTransitionPropert.prefix;
1384 exports.transitionEnd = transitionEnd = _getTransitionPropert.transitionEnd;
1385 exports.animationEnd = animationEnd = _getTransitionPropert.animationEnd;
1386 exports.transform = transform = prefix + "-" + transform;
1387 exports.transitionProperty = transitionProperty = prefix + "-transition-property";
1388 exports.transitionDuration = transitionDuration = prefix + "-transition-duration";
1389 exports.transitionDelay = transitionDelay = prefix + "-transition-delay";
1390 exports.transitionTiming = transitionTiming = prefix + "-transition-timing-function";
1391 exports.animationName = animationName = prefix + "-animation-name";
1392 exports.animationDuration = animationDuration = prefix + "-animation-duration";
1393 exports.animationTiming = animationTiming = prefix + "-animation-delay";
1394 exports.animationDelay = animationDelay = prefix + "-animation-timing-function";
1395 }
1396
1397 var _default = {
1398 transform: transform,
1399 end: transitionEnd,
1400 property: transitionProperty,
1401 timing: transitionTiming,
1402 delay: transitionDelay,
1403 duration: transitionDuration
1404 };
1405 exports.default = _default;
1406
1407 function getTransitionProperties() {
1408 var style = document.createElement('div').style;
1409 var vendorMap = {
1410 O: function O(e) {
1411 return "o" + e.toLowerCase();
1412 },
1413 Moz: function Moz(e) {
1414 return e.toLowerCase();
1415 },
1416 Webkit: function Webkit(e) {
1417 return "webkit" + e;
1418 },
1419 ms: function ms(e) {
1420 return "MS" + e;
1421 }
1422 };
1423 var vendors = Object.keys(vendorMap);
1424 var transitionEnd, animationEnd;
1425 var prefix = '';
1426
1427 for (var i = 0; i < vendors.length; i++) {
1428 var vendor = vendors[i];
1429
1430 if (vendor + "TransitionProperty" in style) {
1431 prefix = "-" + vendor.toLowerCase();
1432 transitionEnd = vendorMap[vendor]('TransitionEnd');
1433 animationEnd = vendorMap[vendor]('AnimationEnd');
1434 break;
1435 }
1436 }
1437
1438 if (!transitionEnd && 'transitionProperty' in style) transitionEnd = 'transitionend';
1439 if (!animationEnd && 'animationName' in style) animationEnd = 'animationend';
1440 style = null;
1441 return {
1442 animationEnd: animationEnd,
1443 transitionEnd: transitionEnd,
1444 prefix: prefix
1445 };
1446 }
1447
1448/***/ }),
1449/* 14 */
1450/***/ (function(module, exports) {
1451
1452 function _interopRequireDefault(obj) {
1453 return obj && obj.__esModule ? obj : {
1454 default: obj
1455 };
1456 }
1457
1458 module.exports = _interopRequireDefault;
1459
1460/***/ }),
1461/* 15 */
1462/***/ (function(module, exports) {
1463
1464 "use strict";
1465
1466 exports.__esModule = true;
1467 exports.default = void 0;
1468
1469 var _default = !!(typeof window !== 'undefined' && window.document && window.document.createElement);
1470
1471 exports.default = _default;
1472 module.exports = exports["default"];
1473
1474/***/ }),
1475/* 16 */
1476/***/ (function(module, exports, __webpack_require__) {
1477
1478 "use strict";
1479
1480 var _interopRequireDefault = __webpack_require__(14);
1481
1482 exports.__esModule = true;
1483 exports.default = void 0;
1484
1485 var _inDOM = _interopRequireDefault(__webpack_require__(15));
1486
1487 var on = function on() {};
1488
1489 if (_inDOM.default) {
1490 on = function () {
1491 if (document.addEventListener) return function (node, eventName, handler, capture) {
1492 return node.addEventListener(eventName, handler, capture || false);
1493 };else if (document.attachEvent) return function (node, eventName, handler) {
1494 return node.attachEvent('on' + eventName, function (e) {
1495 e = e || window.event;
1496 e.target = e.target || e.srcElement;
1497 e.currentTarget = node;
1498 handler.call(node, e);
1499 });
1500 };
1501 }();
1502 }
1503
1504 var _default = on;
1505 exports.default = _default;
1506 module.exports = exports["default"];
1507
1508/***/ }),
1509/* 17 */
1510/***/ (function(module, exports, __webpack_require__) {
1511
1512 'use strict';
1513
1514 Object.defineProperty(exports, "__esModule", {
1515 value: true
1516 });
1517
1518 var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
1519
1520 var _classnames = __webpack_require__(3);
1521
1522 var _classnames2 = _interopRequireDefault(_classnames);
1523
1524 var _style = __webpack_require__(18);
1525
1526 var _style2 = _interopRequireDefault(_style);
1527
1528 var _react = __webpack_require__(4);
1529
1530 var _react2 = _interopRequireDefault(_react);
1531
1532 var _propTypes = __webpack_require__(5);
1533
1534 var _propTypes2 = _interopRequireDefault(_propTypes);
1535
1536 var _Transition = __webpack_require__(11);
1537
1538 var _Transition2 = _interopRequireDefault(_Transition);
1539
1540 var _capitalize = __webpack_require__(26);
1541
1542 var _capitalize2 = _interopRequireDefault(_capitalize);
1543
1544 var _tinperBeeCore = __webpack_require__(27);
1545
1546 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
1547
1548 function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
1549
1550 function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
1551
1552 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
1553
1554 function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
1555
1556 function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
1557
1558 var MARGINS = {
1559 height: ['marginTop', 'marginBottom'],
1560 width: ['marginLeft', 'marginRight']
1561 };
1562
1563 // reading a dimension prop will cause the browser to recalculate,
1564 // which will let our animations work
1565 function triggerBrowserReflow(node) {
1566 node.offsetHeight; // eslint-disable-line no-unused-expressions
1567 }
1568
1569 function getDimensionValue(dimension, elem) {
1570 var value = elem['offset' + (0, _capitalize2["default"])(dimension)];
1571 var margins = MARGINS[dimension];
1572
1573 return value + parseInt((0, _style2["default"])(elem, margins[0]), 10) + parseInt((0, _style2["default"])(elem, margins[1]), 10);
1574 }
1575
1576 var propTypes = {
1577 /**
1578 * Show the component; triggers the expand or collapse animation
1579 */
1580 "in": _propTypes2["default"].bool,
1581
1582 /**
1583 * Unmount the component (remove it from the DOM) when it is collapsed
1584 */
1585 unmountOnExit: _propTypes2["default"].bool,
1586
1587 /**
1588 * Run the expand animation when the component mounts, if it is initially
1589 * shown
1590 */
1591 transitionAppear: _propTypes2["default"].bool,
1592
1593 /**
1594 * Duration of the collapse animation in milliseconds, to ensure that
1595 * finishing callbacks are fired even if the original browser transition end
1596 * events are canceled
1597 */
1598 timeout: _propTypes2["default"].number,
1599
1600 /**
1601 * Callback fired before the component expands
1602 */
1603 onEnter: _propTypes2["default"].func,
1604 /**
1605 * Callback fired after the component starts to expand
1606 */
1607 onEntering: _propTypes2["default"].func,
1608 /**
1609 * Callback fired after the component has expanded
1610 */
1611 onEntered: _propTypes2["default"].func,
1612 /**
1613 * Callback fired before the component collapses
1614 */
1615 onExit: _propTypes2["default"].func,
1616 /**
1617 * Callback fired after the component starts to collapse
1618 */
1619 onExiting: _propTypes2["default"].func,
1620 /**
1621 * Callback fired after the component has collapsed
1622 */
1623 onExited: _propTypes2["default"].func,
1624
1625 /**
1626 * The dimension used when collapsing, or a function that returns the
1627 * dimension
1628 *
1629 * _Note: Bootstrap only partially supports 'width'!
1630 * You will need to supply your own CSS animation for the `.width` CSS class._
1631 */
1632 dimension: _propTypes2["default"].oneOfType([_propTypes2["default"].oneOf(['height', 'width']), _propTypes2["default"].func]),
1633
1634 /**
1635 * Function that returns the height or width of the animating DOM node
1636 *
1637 * Allows for providing some custom logic for how much the Collapse component
1638 * should animate in its specified dimension. Called with the current
1639 * dimension prop value and the DOM node.
1640 */
1641 getDimensionValue: _propTypes2["default"].func,
1642
1643 /**
1644 * ARIA role of collapsible element
1645 */
1646 role: _propTypes2["default"].string
1647 };
1648
1649 var defaultProps = {
1650 "in": false,
1651 timeout: 300,
1652 unmountOnExit: false,
1653 transitionAppear: false,
1654
1655 dimension: 'height',
1656 getDimensionValue: getDimensionValue
1657 };
1658
1659 var Collapse = function (_React$Component) {
1660 _inherits(Collapse, _React$Component);
1661
1662 function Collapse(props, context) {
1663 _classCallCheck(this, Collapse);
1664
1665 var _this = _possibleConstructorReturn(this, _React$Component.call(this, props, context));
1666
1667 _this.handleEnter = _this.handleEnter.bind(_this);
1668 _this.handleEntering = _this.handleEntering.bind(_this);
1669 _this.handleEntered = _this.handleEntered.bind(_this);
1670 _this.handleExit = _this.handleExit.bind(_this);
1671 _this.handleExiting = _this.handleExiting.bind(_this);
1672 return _this;
1673 }
1674
1675 /* -- Expanding -- */
1676
1677
1678 Collapse.prototype.handleEnter = function handleEnter(elem) {
1679 var dimension = this._dimension();
1680 elem.style[dimension] = '0';
1681 };
1682
1683 Collapse.prototype.handleEntering = function handleEntering(elem) {
1684 var dimension = this._dimension();
1685 elem.style[dimension] = this._getScrollDimensionValue(elem, dimension);
1686 };
1687
1688 Collapse.prototype.handleEntered = function handleEntered(elem) {
1689 var dimension = this._dimension();
1690 elem.style[dimension] = null;
1691 };
1692
1693 /* -- Collapsing -- */
1694
1695
1696 Collapse.prototype.handleExit = function handleExit(elem) {
1697 var dimension = this._dimension();
1698 elem.style[dimension] = this.props.getDimensionValue(dimension, elem) + 'px';
1699 triggerBrowserReflow(elem);
1700 };
1701
1702 Collapse.prototype.handleExiting = function handleExiting(elem) {
1703 var dimension = this._dimension();
1704 elem.style[dimension] = '0';
1705 };
1706
1707 Collapse.prototype._dimension = function _dimension() {
1708 return typeof this.props.dimension === 'function' ? this.props.dimension() : this.props.dimension;
1709 };
1710
1711 // for testing
1712
1713
1714 Collapse.prototype._getScrollDimensionValue = function _getScrollDimensionValue(elem, dimension) {
1715 return elem['scroll' + (0, _capitalize2["default"])(dimension)] + 'px';
1716 };
1717
1718 Collapse.prototype.render = function render() {
1719 var _props = this.props,
1720 onEnter = _props.onEnter,
1721 onEntering = _props.onEntering,
1722 onEntered = _props.onEntered,
1723 onExit = _props.onExit,
1724 onExiting = _props.onExiting,
1725 className = _props.className,
1726 props = _objectWithoutProperties(_props, ['onEnter', 'onEntering', 'onEntered', 'onExit', 'onExiting', 'className']);
1727
1728 delete props.dimension;
1729 delete props.getDimensionValue;
1730
1731 var handleEnter = (0, _tinperBeeCore.createChainedFunction)(this.handleEnter, onEnter);
1732 var handleEntering = (0, _tinperBeeCore.createChainedFunction)(this.handleEntering, onEntering);
1733 var handleEntered = (0, _tinperBeeCore.createChainedFunction)(this.handleEntered, onEntered);
1734 var handleExit = (0, _tinperBeeCore.createChainedFunction)(this.handleExit, onExit);
1735 var handleExiting = (0, _tinperBeeCore.createChainedFunction)(this.handleExiting, onExiting);
1736
1737 var classes = {
1738 width: this._dimension() === 'width'
1739 };
1740
1741 return _react2["default"].createElement(_Transition2["default"], _extends({}, props, {
1742 'aria-expanded': props.role ? props["in"] : null,
1743 className: (0, _classnames2["default"])(className, classes),
1744 exitedClassName: 'collapse',
1745 exitingClassName: 'collapsing',
1746 enteredClassName: 'collapse in',
1747 enteringClassName: 'collapsing',
1748 onEnter: handleEnter,
1749 onEntering: handleEntering,
1750 onEntered: handleEntered,
1751 onExit: handleExit,
1752 onExiting: handleExiting
1753 }));
1754 };
1755
1756 return Collapse;
1757 }(_react2["default"].Component);
1758
1759 Collapse.propTypes = propTypes;
1760 Collapse.defaultProps = defaultProps;
1761
1762 exports["default"] = Collapse;
1763 module.exports = exports['default'];
1764
1765/***/ }),
1766/* 18 */
1767/***/ (function(module, exports, __webpack_require__) {
1768
1769 "use strict";
1770
1771 var _interopRequireDefault = __webpack_require__(14);
1772
1773 exports.__esModule = true;
1774 exports.default = style;
1775
1776 var _camelizeStyle = _interopRequireDefault(__webpack_require__(19));
1777
1778 var _hyphenateStyle = _interopRequireDefault(__webpack_require__(21));
1779
1780 var _getComputedStyle2 = _interopRequireDefault(__webpack_require__(23));
1781
1782 var _removeStyle = _interopRequireDefault(__webpack_require__(24));
1783
1784 var _properties = __webpack_require__(13);
1785
1786 var _isTransform = _interopRequireDefault(__webpack_require__(25));
1787
1788 function style(node, property, value) {
1789 var css = '';
1790 var transforms = '';
1791 var props = property;
1792
1793 if (typeof property === 'string') {
1794 if (value === undefined) {
1795 return node.style[(0, _camelizeStyle.default)(property)] || (0, _getComputedStyle2.default)(node).getPropertyValue((0, _hyphenateStyle.default)(property));
1796 } else {
1797 (props = {})[property] = value;
1798 }
1799 }
1800
1801 Object.keys(props).forEach(function (key) {
1802 var value = props[key];
1803
1804 if (!value && value !== 0) {
1805 (0, _removeStyle.default)(node, (0, _hyphenateStyle.default)(key));
1806 } else if ((0, _isTransform.default)(key)) {
1807 transforms += key + "(" + value + ") ";
1808 } else {
1809 css += (0, _hyphenateStyle.default)(key) + ": " + value + ";";
1810 }
1811 });
1812
1813 if (transforms) {
1814 css += _properties.transform + ": " + transforms + ";";
1815 }
1816
1817 node.style.cssText += ';' + css;
1818 }
1819
1820 module.exports = exports["default"];
1821
1822/***/ }),
1823/* 19 */
1824/***/ (function(module, exports, __webpack_require__) {
1825
1826 "use strict";
1827
1828 var _interopRequireDefault = __webpack_require__(14);
1829
1830 exports.__esModule = true;
1831 exports.default = camelizeStyleName;
1832
1833 var _camelize = _interopRequireDefault(__webpack_require__(20));
1834
1835 /**
1836 * Copyright 2014-2015, Facebook, Inc.
1837 * All rights reserved.
1838 * https://github.com/facebook/react/blob/2aeb8a2a6beb00617a4217f7f8284924fa2ad819/src/vendor/core/camelizeStyleName.js
1839 */
1840 var msPattern = /^-ms-/;
1841
1842 function camelizeStyleName(string) {
1843 return (0, _camelize.default)(string.replace(msPattern, 'ms-'));
1844 }
1845
1846 module.exports = exports["default"];
1847
1848/***/ }),
1849/* 20 */
1850/***/ (function(module, exports) {
1851
1852 "use strict";
1853
1854 exports.__esModule = true;
1855 exports.default = camelize;
1856 var rHyphen = /-(.)/g;
1857
1858 function camelize(string) {
1859 return string.replace(rHyphen, function (_, chr) {
1860 return chr.toUpperCase();
1861 });
1862 }
1863
1864 module.exports = exports["default"];
1865
1866/***/ }),
1867/* 21 */
1868/***/ (function(module, exports, __webpack_require__) {
1869
1870 "use strict";
1871
1872 var _interopRequireDefault = __webpack_require__(14);
1873
1874 exports.__esModule = true;
1875 exports.default = hyphenateStyleName;
1876
1877 var _hyphenate = _interopRequireDefault(__webpack_require__(22));
1878
1879 /**
1880 * Copyright 2013-2014, Facebook, Inc.
1881 * All rights reserved.
1882 * https://github.com/facebook/react/blob/2aeb8a2a6beb00617a4217f7f8284924fa2ad819/src/vendor/core/hyphenateStyleName.js
1883 */
1884 var msPattern = /^ms-/;
1885
1886 function hyphenateStyleName(string) {
1887 return (0, _hyphenate.default)(string).replace(msPattern, '-ms-');
1888 }
1889
1890 module.exports = exports["default"];
1891
1892/***/ }),
1893/* 22 */
1894/***/ (function(module, exports) {
1895
1896 "use strict";
1897
1898 exports.__esModule = true;
1899 exports.default = hyphenate;
1900 var rUpper = /([A-Z])/g;
1901
1902 function hyphenate(string) {
1903 return string.replace(rUpper, '-$1').toLowerCase();
1904 }
1905
1906 module.exports = exports["default"];
1907
1908/***/ }),
1909/* 23 */
1910/***/ (function(module, exports, __webpack_require__) {
1911
1912 "use strict";
1913
1914 var _interopRequireDefault = __webpack_require__(14);
1915
1916 exports.__esModule = true;
1917 exports.default = _getComputedStyle;
1918
1919 var _camelizeStyle = _interopRequireDefault(__webpack_require__(19));
1920
1921 var rposition = /^(top|right|bottom|left)$/;
1922 var rnumnonpx = /^([+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|))(?!px)[a-z%]+$/i;
1923
1924 function _getComputedStyle(node) {
1925 if (!node) throw new TypeError('No Element passed to `getComputedStyle()`');
1926 var doc = node.ownerDocument;
1927 return 'defaultView' in doc ? doc.defaultView.opener ? node.ownerDocument.defaultView.getComputedStyle(node, null) : window.getComputedStyle(node, null) : {
1928 //ie 8 "magic" from: https://github.com/jquery/jquery/blob/1.11-stable/src/css/curCSS.js#L72
1929 getPropertyValue: function getPropertyValue(prop) {
1930 var style = node.style;
1931 prop = (0, _camelizeStyle.default)(prop);
1932 if (prop == 'float') prop = 'styleFloat';
1933 var current = node.currentStyle[prop] || null;
1934 if (current == null && style && style[prop]) current = style[prop];
1935
1936 if (rnumnonpx.test(current) && !rposition.test(prop)) {
1937 // Remember the original values
1938 var left = style.left;
1939 var runStyle = node.runtimeStyle;
1940 var rsLeft = runStyle && runStyle.left; // Put in the new values to get a computed value out
1941
1942 if (rsLeft) runStyle.left = node.currentStyle.left;
1943 style.left = prop === 'fontSize' ? '1em' : current;
1944 current = style.pixelLeft + 'px'; // Revert the changed values
1945
1946 style.left = left;
1947 if (rsLeft) runStyle.left = rsLeft;
1948 }
1949
1950 return current;
1951 }
1952 };
1953 }
1954
1955 module.exports = exports["default"];
1956
1957/***/ }),
1958/* 24 */
1959/***/ (function(module, exports) {
1960
1961 "use strict";
1962
1963 exports.__esModule = true;
1964 exports.default = removeStyle;
1965
1966 function removeStyle(node, key) {
1967 return 'removeProperty' in node.style ? node.style.removeProperty(key) : node.style.removeAttribute(key);
1968 }
1969
1970 module.exports = exports["default"];
1971
1972/***/ }),
1973/* 25 */
1974/***/ (function(module, exports) {
1975
1976 "use strict";
1977
1978 exports.__esModule = true;
1979 exports.default = isTransform;
1980 var supportedTransforms = /^((translate|rotate|scale)(X|Y|Z|3d)?|matrix(3d)?|perspective|skew(X|Y)?)$/i;
1981
1982 function isTransform(property) {
1983 return !!(property && supportedTransforms.test(property));
1984 }
1985
1986 module.exports = exports["default"];
1987
1988/***/ }),
1989/* 26 */
1990/***/ (function(module, exports) {
1991
1992 "use strict";
1993
1994 Object.defineProperty(exports, "__esModule", {
1995 value: true
1996 });
1997 exports["default"] = capitalize;
1998 function capitalize(string) {
1999 return "" + string.charAt(0).toUpperCase() + string.slice(1);
2000 }
2001 module.exports = exports["default"];
2002
2003/***/ }),
2004/* 27 */
2005/***/ (function(module, exports, __webpack_require__) {
2006
2007 'use strict';
2008
2009 exports.__esModule = true;
2010 exports.Align = exports.toArray = exports.cssAnimation = exports.addEventListener = exports.contains = exports.KeyCode = exports.createChainedFunction = exports.splitComponent = exports.isRequiredForA11y = exports.elementType = exports.deprecated = exports.componentOrElement = exports.all = undefined;
2011
2012 var _all2 = __webpack_require__(28);
2013
2014 var _all3 = _interopRequireDefault(_all2);
2015
2016 var _componentOrElement2 = __webpack_require__(30);
2017
2018 var _componentOrElement3 = _interopRequireDefault(_componentOrElement2);
2019
2020 var _deprecated2 = __webpack_require__(31);
2021
2022 var _deprecated3 = _interopRequireDefault(_deprecated2);
2023
2024 var _elementType2 = __webpack_require__(34);
2025
2026 var _elementType3 = _interopRequireDefault(_elementType2);
2027
2028 var _isRequiredForA11y2 = __webpack_require__(35);
2029
2030 var _isRequiredForA11y3 = _interopRequireDefault(_isRequiredForA11y2);
2031
2032 var _splitComponent2 = __webpack_require__(36);
2033
2034 var _splitComponent3 = _interopRequireDefault(_splitComponent2);
2035
2036 var _createChainedFunction2 = __webpack_require__(37);
2037
2038 var _createChainedFunction3 = _interopRequireDefault(_createChainedFunction2);
2039
2040 var _keyCode = __webpack_require__(38);
2041
2042 var _keyCode2 = _interopRequireDefault(_keyCode);
2043
2044 var _contains2 = __webpack_require__(39);
2045
2046 var _contains3 = _interopRequireDefault(_contains2);
2047
2048 var _addEventListener2 = __webpack_require__(40);
2049
2050 var _addEventListener3 = _interopRequireDefault(_addEventListener2);
2051
2052 var _cssAnimation2 = __webpack_require__(45);
2053
2054 var _cssAnimation3 = _interopRequireDefault(_cssAnimation2);
2055
2056 var _toArray2 = __webpack_require__(49);
2057
2058 var _toArray3 = _interopRequireDefault(_toArray2);
2059
2060 var _Align2 = __webpack_require__(50);
2061
2062 var _Align3 = _interopRequireDefault(_Align2);
2063
2064 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2065
2066 exports.all = _all3.default;
2067 exports.componentOrElement = _componentOrElement3.default;
2068 exports.deprecated = _deprecated3.default;
2069 exports.elementType = _elementType3.default;
2070 exports.isRequiredForA11y = _isRequiredForA11y3.default;
2071 exports.splitComponent = _splitComponent3.default;
2072 exports.createChainedFunction = _createChainedFunction3.default;
2073 exports.KeyCode = _keyCode2.default;
2074 exports.contains = _contains3.default;
2075 exports.addEventListener = _addEventListener3.default;
2076 exports.cssAnimation = _cssAnimation3.default;
2077 exports.toArray = _toArray3.default;
2078 //export getContainerRenderMixin from './getContainerRenderMixin';
2079
2080 exports.Align = _Align3.default;
2081
2082/***/ }),
2083/* 28 */
2084/***/ (function(module, exports, __webpack_require__) {
2085
2086 'use strict';
2087
2088 exports.__esModule = true;
2089 exports.default = all;
2090
2091 var _createChainableTypeChecker = __webpack_require__(29);
2092
2093 var _createChainableTypeChecker2 = _interopRequireDefault(_createChainableTypeChecker);
2094
2095 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2096
2097 function all() {
2098 for (var _len = arguments.length, validators = Array(_len), _key = 0; _key < _len; _key++) {
2099 validators[_key] = arguments[_key];
2100 }
2101
2102 function allPropTypes() {
2103 for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
2104 args[_key2] = arguments[_key2];
2105 }
2106
2107 var error = null;
2108
2109 validators.forEach(function (validator) {
2110 if (error != null) {
2111 return;
2112 }
2113
2114 var result = validator.apply(undefined, args);
2115 if (result != null) {
2116 error = result;
2117 }
2118 });
2119
2120 return error;
2121 }
2122
2123 return (0, _createChainableTypeChecker2.default)(allPropTypes);
2124 } /**
2125 * This source code is quoted from rc-util.
2126 * homepage: https://github.com/react-component/util
2127 */
2128
2129/***/ }),
2130/* 29 */
2131/***/ (function(module, exports) {
2132
2133 'use strict';
2134
2135 exports.__esModule = true;
2136 exports.default = createChainableTypeChecker;
2137 /**
2138 * Copyright 2013-present, Facebook, Inc.
2139 * All rights reserved.
2140 *
2141 * This source code is licensed under the BSD-style license found in the
2142 * LICENSE file in the root directory of this source tree. An additional grant
2143 * of patent rights can be found in the PATENTS file in the same directory.
2144 */
2145
2146 // Mostly taken from ReactPropTypes.
2147
2148 /* This source code is quoted from rc-util.
2149 * homepage: https://github.com/react-component/util
2150 */
2151
2152 function createChainableTypeChecker(validate) {
2153 function checkType(isRequired, props, propName, componentName, location, propFullName) {
2154 var componentNameSafe = componentName || '<<anonymous>>';
2155 var propFullNameSafe = propFullName || propName;
2156
2157 if (props[propName] == null) {
2158 if (isRequired) {
2159 return new Error('Required ' + location + ' `' + propFullNameSafe + '` was not specified ' + ('in `' + componentNameSafe + '`.'));
2160 }
2161
2162 return null;
2163 }
2164
2165 for (var _len = arguments.length, args = Array(_len > 6 ? _len - 6 : 0), _key = 6; _key < _len; _key++) {
2166 args[_key - 6] = arguments[_key];
2167 }
2168
2169 return validate.apply(undefined, [props, propName, componentNameSafe, location, propFullNameSafe].concat(args));
2170 }
2171
2172 var chainedCheckType = checkType.bind(null, false);
2173 chainedCheckType.isRequired = checkType.bind(null, true);
2174
2175 return chainedCheckType;
2176 }
2177
2178/***/ }),
2179/* 30 */
2180/***/ (function(module, exports, __webpack_require__) {
2181
2182 'use strict';
2183
2184 exports.__esModule = true;
2185
2186 var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; /**
2187 * This source code is quoted from rc-util.
2188 * homepage: https://github.com/react-component/util
2189 */
2190
2191
2192 var _react = __webpack_require__(4);
2193
2194 var _react2 = _interopRequireDefault(_react);
2195
2196 var _createChainableTypeChecker = __webpack_require__(29);
2197
2198 var _createChainableTypeChecker2 = _interopRequireDefault(_createChainableTypeChecker);
2199
2200 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2201
2202 function validate(props, propName, componentName, location, propFullName) {
2203 var propValue = props[propName];
2204 var propType = typeof propValue === 'undefined' ? 'undefined' : _typeof(propValue);
2205
2206 if (_react2.default.isValidElement(propValue)) {
2207 return new Error('Invalid ' + location + ' `' + propFullName + '` of type ReactElement ' + ('supplied to `' + componentName + '`, expected a ReactComponent or a ') + 'DOMElement. You can usually obtain a ReactComponent or DOMElement ' + 'from a ReactElement by attaching a ref to it.');
2208 }
2209
2210 if ((propType !== 'object' || typeof propValue.render !== 'function') && propValue.nodeType !== 1) {
2211 return new Error('Invalid ' + location + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected a ReactComponent or a ') + 'DOMElement.');
2212 }
2213
2214 return null;
2215 }
2216
2217 exports.default = (0, _createChainableTypeChecker2.default)(validate);
2218
2219/***/ }),
2220/* 31 */
2221/***/ (function(module, exports, __webpack_require__) {
2222
2223 'use strict';
2224
2225 exports.__esModule = true;
2226 exports.default = deprecated;
2227
2228 var _warning = __webpack_require__(32);
2229
2230 var _warning2 = _interopRequireDefault(_warning);
2231
2232 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2233
2234 var warned = {}; /**
2235 * This source code is quoted from rc-util.
2236 * homepage: https://github.com/react-component/util
2237 */
2238 function deprecated(validator, reason) {
2239 return function validate(props, propName, componentName, location, propFullName) {
2240 var componentNameSafe = componentName || '<<anonymous>>';
2241 var propFullNameSafe = propFullName || propName;
2242
2243 if (props[propName] != null) {
2244 var messageKey = componentName + '.' + propName;
2245
2246 (0, _warning2.default)(warned[messageKey], 'The ' + location + ' `' + propFullNameSafe + '` of ' + ('`' + componentNameSafe + '` is deprecated. ' + reason + '.'));
2247
2248 warned[messageKey] = true;
2249 }
2250
2251 for (var _len = arguments.length, args = Array(_len > 5 ? _len - 5 : 0), _key = 5; _key < _len; _key++) {
2252 args[_key - 5] = arguments[_key];
2253 }
2254
2255 return validator.apply(undefined, [props, propName, componentName, location, propFullName].concat(args));
2256 };
2257 }
2258
2259 /* eslint-disable no-underscore-dangle */
2260 function _resetWarned() {
2261 warned = {};
2262 }
2263
2264 deprecated._resetWarned = _resetWarned;
2265 /* eslint-enable no-underscore-dangle */
2266
2267/***/ }),
2268/* 32 */
2269/***/ (function(module, exports, __webpack_require__) {
2270
2271 /* WEBPACK VAR INJECTION */(function(process) {/**
2272 * Copyright (c) 2014-present, Facebook, Inc.
2273 *
2274 * This source code is licensed under the MIT license found in the
2275 * LICENSE file in the root directory of this source tree.
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 __DEV__ = process.env.NODE_ENV !== 'production';
2288
2289 var warning = function() {};
2290
2291 if (__DEV__) {
2292 var printWarning = function printWarning(format, args) {
2293 var len = arguments.length;
2294 args = new Array(len > 1 ? len - 1 : 0);
2295 for (var key = 1; key < len; key++) {
2296 args[key - 1] = arguments[key];
2297 }
2298 var argIndex = 0;
2299 var message = 'Warning: ' +
2300 format.replace(/%s/g, function() {
2301 return args[argIndex++];
2302 });
2303 if (typeof console !== 'undefined') {
2304 console.error(message);
2305 }
2306 try {
2307 // --- Welcome to debugging React ---
2308 // This error was thrown as a convenience so that you can use this stack
2309 // to find the callsite that caused this warning to fire.
2310 throw new Error(message);
2311 } catch (x) {}
2312 }
2313
2314 warning = function(condition, format, args) {
2315 var len = arguments.length;
2316 args = new Array(len > 2 ? len - 2 : 0);
2317 for (var key = 2; key < len; key++) {
2318 args[key - 2] = arguments[key];
2319 }
2320 if (format === undefined) {
2321 throw new Error(
2322 '`warning(condition, format, ...args)` requires a warning ' +
2323 'message argument'
2324 );
2325 }
2326 if (!condition) {
2327 printWarning.apply(null, [format].concat(args));
2328 }
2329 };
2330 }
2331
2332 module.exports = warning;
2333
2334 /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(33)))
2335
2336/***/ }),
2337/* 33 */
2338/***/ (function(module, exports) {
2339
2340 // shim for using process in browser
2341 var process = module.exports = {};
2342
2343 // cached from whatever global is present so that test runners that stub it
2344 // don't break things. But we need to wrap it in a try catch in case it is
2345 // wrapped in strict mode code which doesn't define any globals. It's inside a
2346 // function because try/catches deoptimize in certain engines.
2347
2348 var cachedSetTimeout;
2349 var cachedClearTimeout;
2350
2351 function defaultSetTimout() {
2352 throw new Error('setTimeout has not been defined');
2353 }
2354 function defaultClearTimeout () {
2355 throw new Error('clearTimeout has not been defined');
2356 }
2357 (function () {
2358 try {
2359 if (typeof setTimeout === 'function') {
2360 cachedSetTimeout = setTimeout;
2361 } else {
2362 cachedSetTimeout = defaultSetTimout;
2363 }
2364 } catch (e) {
2365 cachedSetTimeout = defaultSetTimout;
2366 }
2367 try {
2368 if (typeof clearTimeout === 'function') {
2369 cachedClearTimeout = clearTimeout;
2370 } else {
2371 cachedClearTimeout = defaultClearTimeout;
2372 }
2373 } catch (e) {
2374 cachedClearTimeout = defaultClearTimeout;
2375 }
2376 } ())
2377 function runTimeout(fun) {
2378 if (cachedSetTimeout === setTimeout) {
2379 //normal enviroments in sane situations
2380 return setTimeout(fun, 0);
2381 }
2382 // if setTimeout wasn't available but was latter defined
2383 if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {
2384 cachedSetTimeout = setTimeout;
2385 return setTimeout(fun, 0);
2386 }
2387 try {
2388 // when when somebody has screwed with setTimeout but no I.E. maddness
2389 return cachedSetTimeout(fun, 0);
2390 } catch(e){
2391 try {
2392 // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
2393 return cachedSetTimeout.call(null, fun, 0);
2394 } catch(e){
2395 // 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
2396 return cachedSetTimeout.call(this, fun, 0);
2397 }
2398 }
2399
2400
2401 }
2402 function runClearTimeout(marker) {
2403 if (cachedClearTimeout === clearTimeout) {
2404 //normal enviroments in sane situations
2405 return clearTimeout(marker);
2406 }
2407 // if clearTimeout wasn't available but was latter defined
2408 if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {
2409 cachedClearTimeout = clearTimeout;
2410 return clearTimeout(marker);
2411 }
2412 try {
2413 // when when somebody has screwed with setTimeout but no I.E. maddness
2414 return cachedClearTimeout(marker);
2415 } catch (e){
2416 try {
2417 // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
2418 return cachedClearTimeout.call(null, marker);
2419 } catch (e){
2420 // 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.
2421 // Some versions of I.E. have different rules for clearTimeout vs setTimeout
2422 return cachedClearTimeout.call(this, marker);
2423 }
2424 }
2425
2426
2427
2428 }
2429 var queue = [];
2430 var draining = false;
2431 var currentQueue;
2432 var queueIndex = -1;
2433
2434 function cleanUpNextTick() {
2435 if (!draining || !currentQueue) {
2436 return;
2437 }
2438 draining = false;
2439 if (currentQueue.length) {
2440 queue = currentQueue.concat(queue);
2441 } else {
2442 queueIndex = -1;
2443 }
2444 if (queue.length) {
2445 drainQueue();
2446 }
2447 }
2448
2449 function drainQueue() {
2450 if (draining) {
2451 return;
2452 }
2453 var timeout = runTimeout(cleanUpNextTick);
2454 draining = true;
2455
2456 var len = queue.length;
2457 while(len) {
2458 currentQueue = queue;
2459 queue = [];
2460 while (++queueIndex < len) {
2461 if (currentQueue) {
2462 currentQueue[queueIndex].run();
2463 }
2464 }
2465 queueIndex = -1;
2466 len = queue.length;
2467 }
2468 currentQueue = null;
2469 draining = false;
2470 runClearTimeout(timeout);
2471 }
2472
2473 process.nextTick = function (fun) {
2474 var args = new Array(arguments.length - 1);
2475 if (arguments.length > 1) {
2476 for (var i = 1; i < arguments.length; i++) {
2477 args[i - 1] = arguments[i];
2478 }
2479 }
2480 queue.push(new Item(fun, args));
2481 if (queue.length === 1 && !draining) {
2482 runTimeout(drainQueue);
2483 }
2484 };
2485
2486 // v8 likes predictible objects
2487 function Item(fun, array) {
2488 this.fun = fun;
2489 this.array = array;
2490 }
2491 Item.prototype.run = function () {
2492 this.fun.apply(null, this.array);
2493 };
2494 process.title = 'browser';
2495 process.browser = true;
2496 process.env = {};
2497 process.argv = [];
2498 process.version = ''; // empty string to avoid regexp issues
2499 process.versions = {};
2500
2501 function noop() {}
2502
2503 process.on = noop;
2504 process.addListener = noop;
2505 process.once = noop;
2506 process.off = noop;
2507 process.removeListener = noop;
2508 process.removeAllListeners = noop;
2509 process.emit = noop;
2510 process.prependListener = noop;
2511 process.prependOnceListener = noop;
2512
2513 process.listeners = function (name) { return [] }
2514
2515 process.binding = function (name) {
2516 throw new Error('process.binding is not supported');
2517 };
2518
2519 process.cwd = function () { return '/' };
2520 process.chdir = function (dir) {
2521 throw new Error('process.chdir is not supported');
2522 };
2523 process.umask = function() { return 0; };
2524
2525
2526/***/ }),
2527/* 34 */
2528/***/ (function(module, exports, __webpack_require__) {
2529
2530 'use strict';
2531
2532 exports.__esModule = true;
2533
2534 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; }; /**
2535 * This source code is quoted from rc-util.
2536 * homepage: https://github.com/react-component/util
2537 */
2538
2539
2540 var _react = __webpack_require__(4);
2541
2542 var _react2 = _interopRequireDefault(_react);
2543
2544 var _createChainableTypeChecker = __webpack_require__(29);
2545
2546 var _createChainableTypeChecker2 = _interopRequireDefault(_createChainableTypeChecker);
2547
2548 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2549
2550 function elementType(props, propName, componentName, location, propFullName) {
2551 var propValue = props[propName];
2552 var propType = typeof propValue === 'undefined' ? 'undefined' : _typeof(propValue);
2553
2554 if (_react2.default.isValidElement(propValue)) {
2555 return new Error('Invalid ' + location + ' `' + propFullName + '` of type ReactElement ' + ('supplied to `' + componentName + '`, expected an element type (a string ') + 'or a ReactClass).');
2556 }
2557
2558 if (propType !== 'function' && propType !== 'string') {
2559 return new Error('Invalid ' + location + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected an element type (a string ') + 'or a ReactClass).');
2560 }
2561
2562 return null;
2563 }
2564
2565 exports.default = (0, _createChainableTypeChecker2.default)(elementType);
2566
2567/***/ }),
2568/* 35 */
2569/***/ (function(module, exports) {
2570
2571 'use strict';
2572
2573 exports.__esModule = true;
2574 exports.default = isRequiredForA11y;
2575 /**
2576 * This source code is quoted from rc-util.
2577 * homepage: https://github.com/react-component/util
2578 */
2579 function isRequiredForA11y(validator) {
2580 return function validate(props, propName, componentName, location, propFullName) {
2581 var componentNameSafe = componentName || '<<anonymous>>';
2582 var propFullNameSafe = propFullName || propName;
2583
2584 if (props[propName] == null) {
2585 return new Error('The ' + location + ' `' + propFullNameSafe + '` is required to make ' + ('`' + componentNameSafe + '` accessible for users of assistive ') + 'technologies such as screen readers.');
2586 }
2587
2588 for (var _len = arguments.length, args = Array(_len > 5 ? _len - 5 : 0), _key = 5; _key < _len; _key++) {
2589 args[_key - 5] = arguments[_key];
2590 }
2591
2592 return validator.apply(undefined, [props, propName, componentName, location, propFullName].concat(args));
2593 };
2594 }
2595
2596/***/ }),
2597/* 36 */
2598/***/ (function(module, exports) {
2599
2600 "use strict";
2601
2602 exports.__esModule = true;
2603 exports.default = splitComponentProps;
2604 /**
2605 * This source code is quoted from rc-util.
2606 * homepage: https://github.com/react-component/util
2607 */
2608 function _objectEntries(obj) {
2609 var entries = [];
2610 var keys = Object.keys(obj);
2611
2612 for (var k = 0; k < keys.length; ++k) {
2613 entries.push([keys[k], obj[keys[k]]]);
2614 }return entries;
2615 }
2616
2617 /**
2618 * 分割要传入父元素和子元素的props
2619 * @param {[object]} props 传入的属性
2620 * @param {[reactElement]} Component 组件
2621 * @return {[array]} 返回数组,第一个元素为父元素props对象,第二个子元素props对象
2622 */
2623 function splitComponentProps(props, Component) {
2624 var componentPropTypes = Component.propTypes;
2625
2626 var parentProps = {};
2627 var childProps = {};
2628
2629 _objectEntries(props).forEach(function (_ref) {
2630 var propName = _ref[0],
2631 propValue = _ref[1];
2632
2633 if (componentPropTypes[propName]) {
2634 parentProps[propName] = propValue;
2635 } else {
2636 childProps[propName] = propValue;
2637 }
2638 });
2639
2640 return [parentProps, childProps];
2641 }
2642
2643/***/ }),
2644/* 37 */
2645/***/ (function(module, exports) {
2646
2647 'use strict';
2648
2649 exports.__esModule = true;
2650 /**
2651 * This source code is quoted from rc-util.
2652 * homepage: https://github.com/react-component/util
2653 */
2654 function createChainedFunction() {
2655 for (var _len = arguments.length, funcs = Array(_len), _key = 0; _key < _len; _key++) {
2656 funcs[_key] = arguments[_key];
2657 }
2658
2659 return funcs.filter(function (f) {
2660 return f != null;
2661 }).reduce(function (acc, f) {
2662 if (typeof f !== 'function') {
2663 throw new Error('Invalid Argument Type, must only provide functions, undefined, or null.');
2664 }
2665
2666 if (acc === null) {
2667 return f;
2668 }
2669
2670 return function chainedFunction() {
2671 for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
2672 args[_key2] = arguments[_key2];
2673 }
2674
2675 acc.apply(this, args);
2676 f.apply(this, args);
2677 };
2678 }, null);
2679 }
2680 exports.default = createChainedFunction;
2681
2682/***/ }),
2683/* 38 */
2684/***/ (function(module, exports) {
2685
2686 /**
2687 * This source code is quoted from rc-util.
2688 * homepage: https://github.com/react-component/util
2689 */
2690 'use strict';
2691
2692 /**
2693 * @ignore
2694 * some key-codes definition and utils from closure-library
2695 * @author yiminghe@gmail.com
2696 */
2697
2698 var KeyCode = {
2699 /**
2700 * MAC_ENTER
2701 */
2702 MAC_ENTER: 3,
2703 /**
2704 * BACKSPACE
2705 */
2706 BACKSPACE: 8,
2707 /**
2708 * TAB
2709 */
2710 TAB: 9,
2711 /**
2712 * NUMLOCK on FF/Safari Mac
2713 */
2714 NUM_CENTER: 12, // NUMLOCK on FF/Safari Mac
2715 /**
2716 * ENTER
2717 */
2718 ENTER: 13,
2719 /**
2720 * SHIFT
2721 */
2722 SHIFT: 16,
2723 /**
2724 * CTRL
2725 */
2726 CTRL: 17,
2727 /**
2728 * ALT
2729 */
2730 ALT: 18,
2731 /**
2732 * PAUSE
2733 */
2734 PAUSE: 19,
2735 /**
2736 * CAPS_LOCK
2737 */
2738 CAPS_LOCK: 20,
2739 /**
2740 * ESC
2741 */
2742 ESC: 27,
2743 /**
2744 * SPACE
2745 */
2746 SPACE: 32,
2747 /**
2748 * PAGE_UP
2749 */
2750 PAGE_UP: 33, // also NUM_NORTH_EAST
2751 /**
2752 * PAGE_DOWN
2753 */
2754 PAGE_DOWN: 34, // also NUM_SOUTH_EAST
2755 /**
2756 * END
2757 */
2758 END: 35, // also NUM_SOUTH_WEST
2759 /**
2760 * HOME
2761 */
2762 HOME: 36, // also NUM_NORTH_WEST
2763 /**
2764 * LEFT
2765 */
2766 LEFT: 37, // also NUM_WEST
2767 /**
2768 * UP
2769 */
2770 UP: 38, // also NUM_NORTH
2771 /**
2772 * RIGHT
2773 */
2774 RIGHT: 39, // also NUM_EAST
2775 /**
2776 * DOWN
2777 */
2778 DOWN: 40, // also NUM_SOUTH
2779 /**
2780 * PRINT_SCREEN
2781 */
2782 PRINT_SCREEN: 44,
2783 /**
2784 * INSERT
2785 */
2786 INSERT: 45, // also NUM_INSERT
2787 /**
2788 * DELETE
2789 */
2790 DELETE: 46, // also NUM_DELETE
2791 /**
2792 * ZERO
2793 */
2794 ZERO: 48,
2795 /**
2796 * ONE
2797 */
2798 ONE: 49,
2799 /**
2800 * TWO
2801 */
2802 TWO: 50,
2803 /**
2804 * THREE
2805 */
2806 THREE: 51,
2807 /**
2808 * FOUR
2809 */
2810 FOUR: 52,
2811 /**
2812 * FIVE
2813 */
2814 FIVE: 53,
2815 /**
2816 * SIX
2817 */
2818 SIX: 54,
2819 /**
2820 * SEVEN
2821 */
2822 SEVEN: 55,
2823 /**
2824 * EIGHT
2825 */
2826 EIGHT: 56,
2827 /**
2828 * NINE
2829 */
2830 NINE: 57,
2831 /**
2832 * QUESTION_MARK
2833 */
2834 QUESTION_MARK: 63, // needs localization
2835 /**
2836 * A
2837 */
2838 A: 65,
2839 /**
2840 * B
2841 */
2842 B: 66,
2843 /**
2844 * C
2845 */
2846 C: 67,
2847 /**
2848 * D
2849 */
2850 D: 68,
2851 /**
2852 * E
2853 */
2854 E: 69,
2855 /**
2856 * F
2857 */
2858 F: 70,
2859 /**
2860 * G
2861 */
2862 G: 71,
2863 /**
2864 * H
2865 */
2866 H: 72,
2867 /**
2868 * I
2869 */
2870 I: 73,
2871 /**
2872 * J
2873 */
2874 J: 74,
2875 /**
2876 * K
2877 */
2878 K: 75,
2879 /**
2880 * L
2881 */
2882 L: 76,
2883 /**
2884 * M
2885 */
2886 M: 77,
2887 /**
2888 * N
2889 */
2890 N: 78,
2891 /**
2892 * O
2893 */
2894 O: 79,
2895 /**
2896 * P
2897 */
2898 P: 80,
2899 /**
2900 * Q
2901 */
2902 Q: 81,
2903 /**
2904 * R
2905 */
2906 R: 82,
2907 /**
2908 * S
2909 */
2910 S: 83,
2911 /**
2912 * T
2913 */
2914 T: 84,
2915 /**
2916 * U
2917 */
2918 U: 85,
2919 /**
2920 * V
2921 */
2922 V: 86,
2923 /**
2924 * W
2925 */
2926 W: 87,
2927 /**
2928 * X
2929 */
2930 X: 88,
2931 /**
2932 * Y
2933 */
2934 Y: 89,
2935 /**
2936 * Z
2937 */
2938 Z: 90,
2939 /**
2940 * META
2941 */
2942 META: 91, // WIN_KEY_LEFT
2943 /**
2944 * WIN_KEY_RIGHT
2945 */
2946 WIN_KEY_RIGHT: 92,
2947 /**
2948 * CONTEXT_MENU
2949 */
2950 CONTEXT_MENU: 93,
2951 /**
2952 * NUM_ZERO
2953 */
2954 NUM_ZERO: 96,
2955 /**
2956 * NUM_ONE
2957 */
2958 NUM_ONE: 97,
2959 /**
2960 * NUM_TWO
2961 */
2962 NUM_TWO: 98,
2963 /**
2964 * NUM_THREE
2965 */
2966 NUM_THREE: 99,
2967 /**
2968 * NUM_FOUR
2969 */
2970 NUM_FOUR: 100,
2971 /**
2972 * NUM_FIVE
2973 */
2974 NUM_FIVE: 101,
2975 /**
2976 * NUM_SIX
2977 */
2978 NUM_SIX: 102,
2979 /**
2980 * NUM_SEVEN
2981 */
2982 NUM_SEVEN: 103,
2983 /**
2984 * NUM_EIGHT
2985 */
2986 NUM_EIGHT: 104,
2987 /**
2988 * NUM_NINE
2989 */
2990 NUM_NINE: 105,
2991 /**
2992 * NUM_MULTIPLY
2993 */
2994 NUM_MULTIPLY: 106,
2995 /**
2996 * NUM_PLUS
2997 */
2998 NUM_PLUS: 107,
2999 /**
3000 * NUM_MINUS
3001 */
3002 NUM_MINUS: 109,
3003 /**
3004 * NUM_PERIOD
3005 */
3006 NUM_PERIOD: 110,
3007 /**
3008 * NUM_DIVISION
3009 */
3010 NUM_DIVISION: 111,
3011 /**
3012 * F1
3013 */
3014 F1: 112,
3015 /**
3016 * F2
3017 */
3018 F2: 113,
3019 /**
3020 * F3
3021 */
3022 F3: 114,
3023 /**
3024 * F4
3025 */
3026 F4: 115,
3027 /**
3028 * F5
3029 */
3030 F5: 116,
3031 /**
3032 * F6
3033 */
3034 F6: 117,
3035 /**
3036 * F7
3037 */
3038 F7: 118,
3039 /**
3040 * F8
3041 */
3042 F8: 119,
3043 /**
3044 * F9
3045 */
3046 F9: 120,
3047 /**
3048 * F10
3049 */
3050 F10: 121,
3051 /**
3052 * F11
3053 */
3054 F11: 122,
3055 /**
3056 * F12
3057 */
3058 F12: 123,
3059 /**
3060 * NUMLOCK
3061 */
3062 NUMLOCK: 144,
3063 /**
3064 * SEMICOLON
3065 */
3066 SEMICOLON: 186, // needs localization
3067 /**
3068 * DASH
3069 */
3070 DASH: 189, // needs localization
3071 /**
3072 * EQUALS
3073 */
3074 EQUALS: 187, // needs localization
3075 /**
3076 * COMMA
3077 */
3078 COMMA: 188, // needs localization
3079 /**
3080 * PERIOD
3081 */
3082 PERIOD: 190, // needs localization
3083 /**
3084 * SLASH
3085 */
3086 SLASH: 191, // needs localization
3087 /**
3088 * APOSTROPHE
3089 */
3090 APOSTROPHE: 192, // needs localization
3091 /**
3092 * SINGLE_QUOTE
3093 */
3094 SINGLE_QUOTE: 222, // needs localization
3095 /**
3096 * OPEN_SQUARE_BRACKET
3097 */
3098 OPEN_SQUARE_BRACKET: 219, // needs localization
3099 /**
3100 * BACKSLASH
3101 */
3102 BACKSLASH: 220, // needs localization
3103 /**
3104 * CLOSE_SQUARE_BRACKET
3105 */
3106 CLOSE_SQUARE_BRACKET: 221, // needs localization
3107 /**
3108 * WIN_KEY
3109 */
3110 WIN_KEY: 224,
3111 /**
3112 * MAC_FF_META
3113 */
3114 MAC_FF_META: 224, // Firefox (Gecko) fires this for the meta key instead of 91
3115 /**
3116 * WIN_IME
3117 */
3118 WIN_IME: 229
3119 };
3120
3121 /*
3122 whether text and modified key is entered at the same time.
3123 */
3124 KeyCode.isTextModifyingKeyEvent = function isTextModifyingKeyEvent(e) {
3125 var keyCode = e.keyCode;
3126 if (e.altKey && !e.ctrlKey || e.metaKey ||
3127 // Function keys don't generate text
3128 keyCode >= KeyCode.F1 && keyCode <= KeyCode.F12) {
3129 return false;
3130 }
3131
3132 // The following keys are quite harmless, even in combination with
3133 // CTRL, ALT or SHIFT.
3134 switch (keyCode) {
3135 case KeyCode.ALT:
3136 case KeyCode.CAPS_LOCK:
3137 case KeyCode.CONTEXT_MENU:
3138 case KeyCode.CTRL:
3139 case KeyCode.DOWN:
3140 case KeyCode.END:
3141 case KeyCode.ESC:
3142 case KeyCode.HOME:
3143 case KeyCode.INSERT:
3144 case KeyCode.LEFT:
3145 case KeyCode.MAC_FF_META:
3146 case KeyCode.META:
3147 case KeyCode.NUMLOCK:
3148 case KeyCode.NUM_CENTER:
3149 case KeyCode.PAGE_DOWN:
3150 case KeyCode.PAGE_UP:
3151 case KeyCode.PAUSE:
3152 case KeyCode.PRINT_SCREEN:
3153 case KeyCode.RIGHT:
3154 case KeyCode.SHIFT:
3155 case KeyCode.UP:
3156 case KeyCode.WIN_KEY:
3157 case KeyCode.WIN_KEY_RIGHT:
3158 return false;
3159 default:
3160 return true;
3161 }
3162 };
3163
3164 /*
3165 whether character is entered.
3166 */
3167 KeyCode.isCharacterKey = function isCharacterKey(keyCode) {
3168 if (keyCode >= KeyCode.ZERO && keyCode <= KeyCode.NINE) {
3169 return true;
3170 }
3171
3172 if (keyCode >= KeyCode.NUM_ZERO && keyCode <= KeyCode.NUM_MULTIPLY) {
3173 return true;
3174 }
3175
3176 if (keyCode >= KeyCode.A && keyCode <= KeyCode.Z) {
3177 return true;
3178 }
3179
3180 // Safari sends zero key code for non-latin characters.
3181 if (window.navigation.userAgent.indexOf('WebKit') !== -1 && keyCode === 0) {
3182 return true;
3183 }
3184
3185 switch (keyCode) {
3186 case KeyCode.SPACE:
3187 case KeyCode.QUESTION_MARK:
3188 case KeyCode.NUM_PLUS:
3189 case KeyCode.NUM_MINUS:
3190 case KeyCode.NUM_PERIOD:
3191 case KeyCode.NUM_DIVISION:
3192 case KeyCode.SEMICOLON:
3193 case KeyCode.DASH:
3194 case KeyCode.EQUALS:
3195 case KeyCode.COMMA:
3196 case KeyCode.PERIOD:
3197 case KeyCode.SLASH:
3198 case KeyCode.APOSTROPHE:
3199 case KeyCode.SINGLE_QUOTE:
3200 case KeyCode.OPEN_SQUARE_BRACKET:
3201 case KeyCode.BACKSLASH:
3202 case KeyCode.CLOSE_SQUARE_BRACKET:
3203 return true;
3204 default:
3205 return false;
3206 }
3207 };
3208
3209 module.exports = KeyCode;
3210
3211/***/ }),
3212/* 39 */
3213/***/ (function(module, exports) {
3214
3215 "use strict";
3216
3217 exports.__esModule = true;
3218 exports.default = contains;
3219 /**
3220 * This source code is quoted from rc-util.
3221 * homepage: https://github.com/react-component/util
3222 */
3223 function contains(root, n) {
3224 var node = n;
3225 while (node) {
3226 if (node === root) {
3227 return true;
3228 }
3229 node = node.parentNode;
3230 }
3231
3232 return false;
3233 }
3234
3235/***/ }),
3236/* 40 */
3237/***/ (function(module, exports, __webpack_require__) {
3238
3239 'use strict';
3240
3241 exports.__esModule = true;
3242 exports.default = addEventListenerWrap;
3243
3244 var _addDomEventListener = __webpack_require__(41);
3245
3246 var _addDomEventListener2 = _interopRequireDefault(_addDomEventListener);
3247
3248 var _reactDom = __webpack_require__(12);
3249
3250 var _reactDom2 = _interopRequireDefault(_reactDom);
3251
3252 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
3253
3254 /**
3255 * This source code is quoted from rc-util.
3256 * homepage: https://github.com/react-component/util
3257 */
3258 function addEventListenerWrap(target, eventType, cb) {
3259 /* eslint camelcase: 2 */
3260 var callback = _reactDom2.default.unstable_batchedUpdates ? function run(e) {
3261 _reactDom2.default.unstable_batchedUpdates(cb, e);
3262 } : cb;
3263 return (0, _addDomEventListener2.default)(target, eventType, callback);
3264 }
3265
3266/***/ }),
3267/* 41 */
3268/***/ (function(module, exports, __webpack_require__) {
3269
3270 'use strict';
3271
3272 Object.defineProperty(exports, '__esModule', {
3273 value: true
3274 });
3275 exports['default'] = addEventListener;
3276
3277 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
3278
3279 var _EventObject = __webpack_require__(42);
3280
3281 var _EventObject2 = _interopRequireDefault(_EventObject);
3282
3283 function addEventListener(target, eventType, callback, option) {
3284 function wrapCallback(e) {
3285 var ne = new _EventObject2['default'](e);
3286 callback.call(target, ne);
3287 }
3288
3289 if (target.addEventListener) {
3290 var _ret = (function () {
3291 var useCapture = false;
3292 if (typeof option === 'object') {
3293 useCapture = option.capture || false;
3294 } else if (typeof option === 'boolean') {
3295 useCapture = option;
3296 }
3297
3298 target.addEventListener(eventType, wrapCallback, option || false);
3299
3300 return {
3301 v: {
3302 remove: function remove() {
3303 target.removeEventListener(eventType, wrapCallback, useCapture);
3304 }
3305 }
3306 };
3307 })();
3308
3309 if (typeof _ret === 'object') return _ret.v;
3310 } else if (target.attachEvent) {
3311 target.attachEvent('on' + eventType, wrapCallback);
3312 return {
3313 remove: function remove() {
3314 target.detachEvent('on' + eventType, wrapCallback);
3315 }
3316 };
3317 }
3318 }
3319
3320 module.exports = exports['default'];
3321
3322/***/ }),
3323/* 42 */
3324/***/ (function(module, exports, __webpack_require__) {
3325
3326 /**
3327 * @ignore
3328 * event object for dom
3329 * @author yiminghe@gmail.com
3330 */
3331
3332 'use strict';
3333
3334 Object.defineProperty(exports, '__esModule', {
3335 value: true
3336 });
3337
3338 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
3339
3340 var _EventBaseObject = __webpack_require__(43);
3341
3342 var _EventBaseObject2 = _interopRequireDefault(_EventBaseObject);
3343
3344 var _objectAssign = __webpack_require__(44);
3345
3346 var _objectAssign2 = _interopRequireDefault(_objectAssign);
3347
3348 var TRUE = true;
3349 var FALSE = false;
3350 var commonProps = ['altKey', 'bubbles', 'cancelable', 'ctrlKey', 'currentTarget', 'eventPhase', 'metaKey', 'shiftKey', 'target', 'timeStamp', 'view', 'type'];
3351
3352 function isNullOrUndefined(w) {
3353 return w === null || w === undefined;
3354 }
3355
3356 var eventNormalizers = [{
3357 reg: /^key/,
3358 props: ['char', 'charCode', 'key', 'keyCode', 'which'],
3359 fix: function fix(event, nativeEvent) {
3360 if (isNullOrUndefined(event.which)) {
3361 event.which = !isNullOrUndefined(nativeEvent.charCode) ? nativeEvent.charCode : nativeEvent.keyCode;
3362 }
3363
3364 // add metaKey to non-Mac browsers (use ctrl for PC 's and Meta for Macs)
3365 if (event.metaKey === undefined) {
3366 event.metaKey = event.ctrlKey;
3367 }
3368 }
3369 }, {
3370 reg: /^touch/,
3371 props: ['touches', 'changedTouches', 'targetTouches']
3372 }, {
3373 reg: /^hashchange$/,
3374 props: ['newURL', 'oldURL']
3375 }, {
3376 reg: /^gesturechange$/i,
3377 props: ['rotation', 'scale']
3378 }, {
3379 reg: /^(mousewheel|DOMMouseScroll)$/,
3380 props: [],
3381 fix: function fix(event, nativeEvent) {
3382 var deltaX = undefined;
3383 var deltaY = undefined;
3384 var delta = undefined;
3385 var wheelDelta = nativeEvent.wheelDelta;
3386 var axis = nativeEvent.axis;
3387 var wheelDeltaY = nativeEvent.wheelDeltaY;
3388 var wheelDeltaX = nativeEvent.wheelDeltaX;
3389 var detail = nativeEvent.detail;
3390
3391 // ie/webkit
3392 if (wheelDelta) {
3393 delta = wheelDelta / 120;
3394 }
3395
3396 // gecko
3397 if (detail) {
3398 // press control e.detail == 1 else e.detail == 3
3399 delta = 0 - (detail % 3 === 0 ? detail / 3 : detail);
3400 }
3401
3402 // Gecko
3403 if (axis !== undefined) {
3404 if (axis === event.HORIZONTAL_AXIS) {
3405 deltaY = 0;
3406 deltaX = 0 - delta;
3407 } else if (axis === event.VERTICAL_AXIS) {
3408 deltaX = 0;
3409 deltaY = delta;
3410 }
3411 }
3412
3413 // Webkit
3414 if (wheelDeltaY !== undefined) {
3415 deltaY = wheelDeltaY / 120;
3416 }
3417 if (wheelDeltaX !== undefined) {
3418 deltaX = -1 * wheelDeltaX / 120;
3419 }
3420
3421 // 默认 deltaY (ie)
3422 if (!deltaX && !deltaY) {
3423 deltaY = delta;
3424 }
3425
3426 if (deltaX !== undefined) {
3427 /**
3428 * deltaX of mousewheel event
3429 * @property deltaX
3430 * @member Event.DomEvent.Object
3431 */
3432 event.deltaX = deltaX;
3433 }
3434
3435 if (deltaY !== undefined) {
3436 /**
3437 * deltaY of mousewheel event
3438 * @property deltaY
3439 * @member Event.DomEvent.Object
3440 */
3441 event.deltaY = deltaY;
3442 }
3443
3444 if (delta !== undefined) {
3445 /**
3446 * delta of mousewheel event
3447 * @property delta
3448 * @member Event.DomEvent.Object
3449 */
3450 event.delta = delta;
3451 }
3452 }
3453 }, {
3454 reg: /^mouse|contextmenu|click|mspointer|(^DOMMouseScroll$)/i,
3455 props: ['buttons', 'clientX', 'clientY', 'button', 'offsetX', 'relatedTarget', 'which', 'fromElement', 'toElement', 'offsetY', 'pageX', 'pageY', 'screenX', 'screenY'],
3456 fix: function fix(event, nativeEvent) {
3457 var eventDoc = undefined;
3458 var doc = undefined;
3459 var body = undefined;
3460 var target = event.target;
3461 var button = nativeEvent.button;
3462
3463 // Calculate pageX/Y if missing and clientX/Y available
3464 if (target && isNullOrUndefined(event.pageX) && !isNullOrUndefined(nativeEvent.clientX)) {
3465 eventDoc = target.ownerDocument || document;
3466 doc = eventDoc.documentElement;
3467 body = eventDoc.body;
3468 event.pageX = nativeEvent.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc && doc.clientLeft || body && body.clientLeft || 0);
3469 event.pageY = nativeEvent.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc && doc.clientTop || body && body.clientTop || 0);
3470 }
3471
3472 // which for click: 1 === left; 2 === middle; 3 === right
3473 // do not use button
3474 if (!event.which && button !== undefined) {
3475 if (button & 1) {
3476 event.which = 1;
3477 } else if (button & 2) {
3478 event.which = 3;
3479 } else if (button & 4) {
3480 event.which = 2;
3481 } else {
3482 event.which = 0;
3483 }
3484 }
3485
3486 // add relatedTarget, if necessary
3487 if (!event.relatedTarget && event.fromElement) {
3488 event.relatedTarget = event.fromElement === target ? event.toElement : event.fromElement;
3489 }
3490
3491 return event;
3492 }
3493 }];
3494
3495 function retTrue() {
3496 return TRUE;
3497 }
3498
3499 function retFalse() {
3500 return FALSE;
3501 }
3502
3503 function DomEventObject(nativeEvent) {
3504 var type = nativeEvent.type;
3505
3506 var isNative = typeof nativeEvent.stopPropagation === 'function' || typeof nativeEvent.cancelBubble === 'boolean';
3507
3508 _EventBaseObject2['default'].call(this);
3509
3510 this.nativeEvent = nativeEvent;
3511
3512 // in case dom event has been mark as default prevented by lower dom node
3513 var isDefaultPrevented = retFalse;
3514 if ('defaultPrevented' in nativeEvent) {
3515 isDefaultPrevented = nativeEvent.defaultPrevented ? retTrue : retFalse;
3516 } else if ('getPreventDefault' in nativeEvent) {
3517 // https://bugzilla.mozilla.org/show_bug.cgi?id=691151
3518 isDefaultPrevented = nativeEvent.getPreventDefault() ? retTrue : retFalse;
3519 } else if ('returnValue' in nativeEvent) {
3520 isDefaultPrevented = nativeEvent.returnValue === FALSE ? retTrue : retFalse;
3521 }
3522
3523 this.isDefaultPrevented = isDefaultPrevented;
3524
3525 var fixFns = [];
3526 var fixFn = undefined;
3527 var l = undefined;
3528 var prop = undefined;
3529 var props = commonProps.concat();
3530
3531 eventNormalizers.forEach(function (normalizer) {
3532 if (type.match(normalizer.reg)) {
3533 props = props.concat(normalizer.props);
3534 if (normalizer.fix) {
3535 fixFns.push(normalizer.fix);
3536 }
3537 }
3538 });
3539
3540 l = props.length;
3541
3542 // clone properties of the original event object
3543 while (l) {
3544 prop = props[--l];
3545 this[prop] = nativeEvent[prop];
3546 }
3547
3548 // fix target property, if necessary
3549 if (!this.target && isNative) {
3550 this.target = nativeEvent.srcElement || document; // srcElement might not be defined either
3551 }
3552
3553 // check if target is a text node (safari)
3554 if (this.target && this.target.nodeType === 3) {
3555 this.target = this.target.parentNode;
3556 }
3557
3558 l = fixFns.length;
3559
3560 while (l) {
3561 fixFn = fixFns[--l];
3562 fixFn(this, nativeEvent);
3563 }
3564
3565 this.timeStamp = nativeEvent.timeStamp || Date.now();
3566 }
3567
3568 var EventBaseObjectProto = _EventBaseObject2['default'].prototype;
3569
3570 (0, _objectAssign2['default'])(DomEventObject.prototype, EventBaseObjectProto, {
3571 constructor: DomEventObject,
3572
3573 preventDefault: function preventDefault() {
3574 var e = this.nativeEvent;
3575
3576 // if preventDefault exists run it on the original event
3577 if (e.preventDefault) {
3578 e.preventDefault();
3579 } else {
3580 // otherwise set the returnValue property of the original event to FALSE (IE)
3581 e.returnValue = FALSE;
3582 }
3583
3584 EventBaseObjectProto.preventDefault.call(this);
3585 },
3586
3587 stopPropagation: function stopPropagation() {
3588 var e = this.nativeEvent;
3589
3590 // if stopPropagation exists run it on the original event
3591 if (e.stopPropagation) {
3592 e.stopPropagation();
3593 } else {
3594 // otherwise set the cancelBubble property of the original event to TRUE (IE)
3595 e.cancelBubble = TRUE;
3596 }
3597
3598 EventBaseObjectProto.stopPropagation.call(this);
3599 }
3600 });
3601
3602 exports['default'] = DomEventObject;
3603 module.exports = exports['default'];
3604
3605/***/ }),
3606/* 43 */
3607/***/ (function(module, exports) {
3608
3609 /**
3610 * @ignore
3611 * base event object for custom and dom event.
3612 * @author yiminghe@gmail.com
3613 */
3614
3615 "use strict";
3616
3617 Object.defineProperty(exports, "__esModule", {
3618 value: true
3619 });
3620 function returnFalse() {
3621 return false;
3622 }
3623
3624 function returnTrue() {
3625 return true;
3626 }
3627
3628 function EventBaseObject() {
3629 this.timeStamp = Date.now();
3630 this.target = undefined;
3631 this.currentTarget = undefined;
3632 }
3633
3634 EventBaseObject.prototype = {
3635 isEventObject: 1,
3636
3637 constructor: EventBaseObject,
3638
3639 isDefaultPrevented: returnFalse,
3640
3641 isPropagationStopped: returnFalse,
3642
3643 isImmediatePropagationStopped: returnFalse,
3644
3645 preventDefault: function preventDefault() {
3646 this.isDefaultPrevented = returnTrue;
3647 },
3648
3649 stopPropagation: function stopPropagation() {
3650 this.isPropagationStopped = returnTrue;
3651 },
3652
3653 stopImmediatePropagation: function stopImmediatePropagation() {
3654 this.isImmediatePropagationStopped = returnTrue;
3655 // fixed 1.2
3656 // call stopPropagation implicitly
3657 this.stopPropagation();
3658 },
3659
3660 halt: function halt(immediate) {
3661 if (immediate) {
3662 this.stopImmediatePropagation();
3663 } else {
3664 this.stopPropagation();
3665 }
3666 this.preventDefault();
3667 }
3668 };
3669
3670 exports["default"] = EventBaseObject;
3671 module.exports = exports["default"];
3672
3673/***/ }),
3674/* 44 */
3675/***/ (function(module, exports) {
3676
3677 /*
3678 object-assign
3679 (c) Sindre Sorhus
3680 @license MIT
3681 */
3682
3683 'use strict';
3684 /* eslint-disable no-unused-vars */
3685 var getOwnPropertySymbols = Object.getOwnPropertySymbols;
3686 var hasOwnProperty = Object.prototype.hasOwnProperty;
3687 var propIsEnumerable = Object.prototype.propertyIsEnumerable;
3688
3689 function toObject(val) {
3690 if (val === null || val === undefined) {
3691 throw new TypeError('Object.assign cannot be called with null or undefined');
3692 }
3693
3694 return Object(val);
3695 }
3696
3697 function shouldUseNative() {
3698 try {
3699 if (!Object.assign) {
3700 return false;
3701 }
3702
3703 // Detect buggy property enumeration order in older V8 versions.
3704
3705 // https://bugs.chromium.org/p/v8/issues/detail?id=4118
3706 var test1 = new String('abc'); // eslint-disable-line no-new-wrappers
3707 test1[5] = 'de';
3708 if (Object.getOwnPropertyNames(test1)[0] === '5') {
3709 return false;
3710 }
3711
3712 // https://bugs.chromium.org/p/v8/issues/detail?id=3056
3713 var test2 = {};
3714 for (var i = 0; i < 10; i++) {
3715 test2['_' + String.fromCharCode(i)] = i;
3716 }
3717 var order2 = Object.getOwnPropertyNames(test2).map(function (n) {
3718 return test2[n];
3719 });
3720 if (order2.join('') !== '0123456789') {
3721 return false;
3722 }
3723
3724 // https://bugs.chromium.org/p/v8/issues/detail?id=3056
3725 var test3 = {};
3726 'abcdefghijklmnopqrst'.split('').forEach(function (letter) {
3727 test3[letter] = letter;
3728 });
3729 if (Object.keys(Object.assign({}, test3)).join('') !==
3730 'abcdefghijklmnopqrst') {
3731 return false;
3732 }
3733
3734 return true;
3735 } catch (err) {
3736 // We don't expect any of the above to throw, but better to be safe.
3737 return false;
3738 }
3739 }
3740
3741 module.exports = shouldUseNative() ? Object.assign : function (target, source) {
3742 var from;
3743 var to = toObject(target);
3744 var symbols;
3745
3746 for (var s = 1; s < arguments.length; s++) {
3747 from = Object(arguments[s]);
3748
3749 for (var key in from) {
3750 if (hasOwnProperty.call(from, key)) {
3751 to[key] = from[key];
3752 }
3753 }
3754
3755 if (getOwnPropertySymbols) {
3756 symbols = getOwnPropertySymbols(from);
3757 for (var i = 0; i < symbols.length; i++) {
3758 if (propIsEnumerable.call(from, symbols[i])) {
3759 to[symbols[i]] = from[symbols[i]];
3760 }
3761 }
3762 }
3763 }
3764
3765 return to;
3766 };
3767
3768
3769/***/ }),
3770/* 45 */
3771/***/ (function(module, exports, __webpack_require__) {
3772
3773 'use strict';
3774
3775 exports.__esModule = true;
3776
3777 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; }; /**
3778 * This source code is quoted from rc-util.
3779 * homepage: https://github.com/react-component/util
3780 */
3781
3782
3783 var _Event = __webpack_require__(46);
3784
3785 var _Event2 = _interopRequireDefault(_Event);
3786
3787 var _componentClasses = __webpack_require__(47);
3788
3789 var _componentClasses2 = _interopRequireDefault(_componentClasses);
3790
3791 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
3792
3793 var isCssAnimationSupported = _Event2.default.endEvents.length !== 0;
3794
3795
3796 var capitalPrefixes = ['Webkit', 'Moz', 'O',
3797 // ms is special .... !
3798 'ms'];
3799 var prefixes = ['-webkit-', '-moz-', '-o-', 'ms-', ''];
3800
3801 function getStyleProperty(node, name) {
3802 var style = window.getComputedStyle(node);
3803
3804 var ret = '';
3805 for (var i = 0; i < prefixes.length; i++) {
3806 ret = style.getPropertyValue(prefixes[i] + name);
3807 if (ret) {
3808 break;
3809 }
3810 }
3811 return ret;
3812 }
3813
3814 function fixBrowserByTimeout(node) {
3815 if (isCssAnimationSupported) {
3816 var transitionDelay = parseFloat(getStyleProperty(node, 'transition-delay')) || 0;
3817 var transitionDuration = parseFloat(getStyleProperty(node, 'transition-duration')) || 0;
3818 var animationDelay = parseFloat(getStyleProperty(node, 'animation-delay')) || 0;
3819 var animationDuration = parseFloat(getStyleProperty(node, 'animation-duration')) || 0;
3820 var time = Math.max(transitionDuration + transitionDelay, animationDuration + animationDelay);
3821 // sometimes, browser bug
3822 node.rcEndAnimTimeout = setTimeout(function () {
3823 node.rcEndAnimTimeout = null;
3824 if (node.rcEndListener) {
3825 node.rcEndListener();
3826 }
3827 }, time * 1000 + 200);
3828 }
3829 }
3830
3831 function clearBrowserBugTimeout(node) {
3832 if (node.rcEndAnimTimeout) {
3833 clearTimeout(node.rcEndAnimTimeout);
3834 node.rcEndAnimTimeout = null;
3835 }
3836 }
3837
3838 var cssAnimation = function cssAnimation(node, transitionName, endCallback) {
3839 var nameIsObj = (typeof transitionName === 'undefined' ? 'undefined' : _typeof(transitionName)) === 'object';
3840 var className = nameIsObj ? transitionName.name : transitionName;
3841 var activeClassName = nameIsObj ? transitionName.active : transitionName + '-active';
3842 var end = endCallback;
3843 var start = void 0;
3844 var active = void 0;
3845 var nodeClasses = (0, _componentClasses2.default)(node);
3846
3847 if (endCallback && Object.prototype.toString.call(endCallback) === '[object Object]') {
3848 end = endCallback.end;
3849 start = endCallback.start;
3850 active = endCallback.active;
3851 }
3852
3853 if (node.rcEndListener) {
3854 node.rcEndListener();
3855 }
3856
3857 node.rcEndListener = function (e) {
3858 if (e && e.target !== node) {
3859 return;
3860 }
3861
3862 if (node.rcAnimTimeout) {
3863 clearTimeout(node.rcAnimTimeout);
3864 node.rcAnimTimeout = null;
3865 }
3866
3867 clearBrowserBugTimeout(node);
3868
3869 nodeClasses.remove(className);
3870 nodeClasses.remove(activeClassName);
3871
3872 _Event2.default.removeEndEventListener(node, node.rcEndListener);
3873 node.rcEndListener = null;
3874
3875 // Usually this optional end is used for informing an owner of
3876 // a leave animation and telling it to remove the child.
3877 if (end) {
3878 end();
3879 }
3880 };
3881
3882 _Event2.default.addEndEventListener(node, node.rcEndListener);
3883
3884 if (start) {
3885 start();
3886 }
3887 nodeClasses.add(className);
3888
3889 node.rcAnimTimeout = setTimeout(function () {
3890 node.rcAnimTimeout = null;
3891 nodeClasses.add(activeClassName);
3892 if (active) {
3893 setTimeout(active, 0);
3894 }
3895 fixBrowserByTimeout(node);
3896 // 30ms for firefox
3897 }, 30);
3898
3899 return {
3900 stop: function stop() {
3901 if (node.rcEndListener) {
3902 node.rcEndListener();
3903 }
3904 }
3905 };
3906 };
3907
3908 cssAnimation.style = function (node, style, callback) {
3909 if (node.rcEndListener) {
3910 node.rcEndListener();
3911 }
3912
3913 node.rcEndListener = function (e) {
3914 if (e && e.target !== node) {
3915 return;
3916 }
3917
3918 if (node.rcAnimTimeout) {
3919 clearTimeout(node.rcAnimTimeout);
3920 node.rcAnimTimeout = null;
3921 }
3922
3923 clearBrowserBugTimeout(node);
3924
3925 _Event2.default.removeEndEventListener(node, node.rcEndListener);
3926 node.rcEndListener = null;
3927
3928 // Usually this optional callback is used for informing an owner of
3929 // a leave animation and telling it to remove the child.
3930 if (callback) {
3931 callback();
3932 }
3933 };
3934
3935 _Event2.default.addEndEventListener(node, node.rcEndListener);
3936
3937 node.rcAnimTimeout = setTimeout(function () {
3938 for (var s in style) {
3939 if (style.hasOwnProperty(s)) {
3940 node.style[s] = style[s];
3941 }
3942 }
3943 node.rcAnimTimeout = null;
3944 fixBrowserByTimeout(node);
3945 }, 0);
3946 };
3947
3948 cssAnimation.setTransition = function (node, p, value) {
3949 var property = p;
3950 var v = value;
3951 if (value === undefined) {
3952 v = property;
3953 property = '';
3954 }
3955 property = property || '';
3956 capitalPrefixes.forEach(function (prefix) {
3957 node.style[prefix + 'Transition' + property] = v;
3958 });
3959 };
3960
3961 cssAnimation.isCssAnimationSupported = isCssAnimationSupported;
3962
3963 exports.default = cssAnimation;
3964
3965/***/ }),
3966/* 46 */
3967/***/ (function(module, exports) {
3968
3969 'use strict';
3970
3971 exports.__esModule = true;
3972 /**
3973 * This source code is quoted from rc-util.
3974 * homepage: https://github.com/react-component/util
3975 */
3976 var EVENT_NAME_MAP = {
3977 transitionend: {
3978 transition: 'transitionend',
3979 WebkitTransition: 'webkitTransitionEnd',
3980 MozTransition: 'mozTransitionEnd',
3981 OTransition: 'oTransitionEnd',
3982 msTransition: 'MSTransitionEnd'
3983 },
3984
3985 animationend: {
3986 animation: 'animationend',
3987 WebkitAnimation: 'webkitAnimationEnd',
3988 MozAnimation: 'mozAnimationEnd',
3989 OAnimation: 'oAnimationEnd',
3990 msAnimation: 'MSAnimationEnd'
3991 }
3992 };
3993
3994 var endEvents = [];
3995
3996 function detectEvents() {
3997 var testEl = document.createElement('div');
3998 var style = testEl.style;
3999
4000 if (!('AnimationEvent' in window)) {
4001 delete EVENT_NAME_MAP.animationend.animation;
4002 }
4003
4004 if (!('TransitionEvent' in window)) {
4005 delete EVENT_NAME_MAP.transitionend.transition;
4006 }
4007
4008 for (var baseEventName in EVENT_NAME_MAP) {
4009 if (EVENT_NAME_MAP.hasOwnProperty(baseEventName)) {
4010 var baseEvents = EVENT_NAME_MAP[baseEventName];
4011 for (var styleName in baseEvents) {
4012 if (styleName in style) {
4013 endEvents.push(baseEvents[styleName]);
4014 break;
4015 }
4016 }
4017 }
4018 }
4019 }
4020
4021 if (typeof window !== 'undefined' && typeof document !== 'undefined') {
4022 detectEvents();
4023 }
4024
4025 function addEventListener(node, eventName, eventListener) {
4026 node.addEventListener(eventName, eventListener, false);
4027 }
4028
4029 function removeEventListener(node, eventName, eventListener) {
4030 node.removeEventListener(eventName, eventListener, false);
4031 }
4032
4033 var TransitionEvents = {
4034 addEndEventListener: function addEndEventListener(node, eventListener) {
4035 if (endEvents.length === 0) {
4036 window.setTimeout(eventListener, 0);
4037 return;
4038 }
4039 endEvents.forEach(function (endEvent) {
4040 addEventListener(node, endEvent, eventListener);
4041 });
4042 },
4043
4044
4045 endEvents: endEvents,
4046
4047 removeEndEventListener: function removeEndEventListener(node, eventListener) {
4048 if (endEvents.length === 0) {
4049 return;
4050 }
4051 endEvents.forEach(function (endEvent) {
4052 removeEventListener(node, endEvent, eventListener);
4053 });
4054 }
4055 };
4056
4057 exports.default = TransitionEvents;
4058
4059/***/ }),
4060/* 47 */
4061/***/ (function(module, exports, __webpack_require__) {
4062
4063 /**
4064 * Module dependencies.
4065 */
4066
4067 try {
4068 var index = __webpack_require__(48);
4069 } catch (err) {
4070 var index = __webpack_require__(48);
4071 }
4072
4073 /**
4074 * Whitespace regexp.
4075 */
4076
4077 var re = /\s+/;
4078
4079 /**
4080 * toString reference.
4081 */
4082
4083 var toString = Object.prototype.toString;
4084
4085 /**
4086 * Wrap `el` in a `ClassList`.
4087 *
4088 * @param {Element} el
4089 * @return {ClassList}
4090 * @api public
4091 */
4092
4093 module.exports = function(el){
4094 return new ClassList(el);
4095 };
4096
4097 /**
4098 * Initialize a new ClassList for `el`.
4099 *
4100 * @param {Element} el
4101 * @api private
4102 */
4103
4104 function ClassList(el) {
4105 if (!el || !el.nodeType) {
4106 throw new Error('A DOM element reference is required');
4107 }
4108 this.el = el;
4109 this.list = el.classList;
4110 }
4111
4112 /**
4113 * Add class `name` if not already present.
4114 *
4115 * @param {String} name
4116 * @return {ClassList}
4117 * @api public
4118 */
4119
4120 ClassList.prototype.add = function(name){
4121 // classList
4122 if (this.list) {
4123 this.list.add(name);
4124 return this;
4125 }
4126
4127 // fallback
4128 var arr = this.array();
4129 var i = index(arr, name);
4130 if (!~i) arr.push(name);
4131 this.el.className = arr.join(' ');
4132 return this;
4133 };
4134
4135 /**
4136 * Remove class `name` when present, or
4137 * pass a regular expression to remove
4138 * any which match.
4139 *
4140 * @param {String|RegExp} name
4141 * @return {ClassList}
4142 * @api public
4143 */
4144
4145 ClassList.prototype.remove = function(name){
4146 if ('[object RegExp]' == toString.call(name)) {
4147 return this.removeMatching(name);
4148 }
4149
4150 // classList
4151 if (this.list) {
4152 this.list.remove(name);
4153 return this;
4154 }
4155
4156 // fallback
4157 var arr = this.array();
4158 var i = index(arr, name);
4159 if (~i) arr.splice(i, 1);
4160 this.el.className = arr.join(' ');
4161 return this;
4162 };
4163
4164 /**
4165 * Remove all classes matching `re`.
4166 *
4167 * @param {RegExp} re
4168 * @return {ClassList}
4169 * @api private
4170 */
4171
4172 ClassList.prototype.removeMatching = function(re){
4173 var arr = this.array();
4174 for (var i = 0; i < arr.length; i++) {
4175 if (re.test(arr[i])) {
4176 this.remove(arr[i]);
4177 }
4178 }
4179 return this;
4180 };
4181
4182 /**
4183 * Toggle class `name`, can force state via `force`.
4184 *
4185 * For browsers that support classList, but do not support `force` yet,
4186 * the mistake will be detected and corrected.
4187 *
4188 * @param {String} name
4189 * @param {Boolean} force
4190 * @return {ClassList}
4191 * @api public
4192 */
4193
4194 ClassList.prototype.toggle = function(name, force){
4195 // classList
4196 if (this.list) {
4197 if ("undefined" !== typeof force) {
4198 if (force !== this.list.toggle(name, force)) {
4199 this.list.toggle(name); // toggle again to correct
4200 }
4201 } else {
4202 this.list.toggle(name);
4203 }
4204 return this;
4205 }
4206
4207 // fallback
4208 if ("undefined" !== typeof force) {
4209 if (!force) {
4210 this.remove(name);
4211 } else {
4212 this.add(name);
4213 }
4214 } else {
4215 if (this.has(name)) {
4216 this.remove(name);
4217 } else {
4218 this.add(name);
4219 }
4220 }
4221
4222 return this;
4223 };
4224
4225 /**
4226 * Return an array of classes.
4227 *
4228 * @return {Array}
4229 * @api public
4230 */
4231
4232 ClassList.prototype.array = function(){
4233 var className = this.el.getAttribute('class') || '';
4234 var str = className.replace(/^\s+|\s+$/g, '');
4235 var arr = str.split(re);
4236 if ('' === arr[0]) arr.shift();
4237 return arr;
4238 };
4239
4240 /**
4241 * Check if class `name` is present.
4242 *
4243 * @param {String} name
4244 * @return {ClassList}
4245 * @api public
4246 */
4247
4248 ClassList.prototype.has =
4249 ClassList.prototype.contains = function(name){
4250 return this.list
4251 ? this.list.contains(name)
4252 : !! ~index(this.array(), name);
4253 };
4254
4255
4256/***/ }),
4257/* 48 */
4258/***/ (function(module, exports) {
4259
4260 module.exports = function(arr, obj){
4261 if (arr.indexOf) return arr.indexOf(obj);
4262 for (var i = 0; i < arr.length; ++i) {
4263 if (arr[i] === obj) return i;
4264 }
4265 return -1;
4266 };
4267
4268/***/ }),
4269/* 49 */
4270/***/ (function(module, exports, __webpack_require__) {
4271
4272 'use strict';
4273
4274 exports.__esModule = true;
4275 exports.default = toArray;
4276
4277 var _react = __webpack_require__(4);
4278
4279 var _react2 = _interopRequireDefault(_react);
4280
4281 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4282
4283 function toArray(children) {
4284 var ret = [];
4285 _react2.default.Children.forEach(children, function (c) {
4286 ret.push(c);
4287 });
4288 return ret;
4289 } /**
4290 * This source code is quoted from rc-util.
4291 * homepage: https://github.com/react-component/util
4292 */
4293
4294/***/ }),
4295/* 50 */
4296/***/ (function(module, exports, __webpack_require__) {
4297
4298 'use strict';
4299
4300 exports.__esModule = true;
4301
4302 var _react = __webpack_require__(4);
4303
4304 var _react2 = _interopRequireDefault(_react);
4305
4306 var _propTypes = __webpack_require__(5);
4307
4308 var _propTypes2 = _interopRequireDefault(_propTypes);
4309
4310 var _reactDom = __webpack_require__(12);
4311
4312 var _reactDom2 = _interopRequireDefault(_reactDom);
4313
4314 var _domAlign = __webpack_require__(51);
4315
4316 var _domAlign2 = _interopRequireDefault(_domAlign);
4317
4318 var _addEventListener = __webpack_require__(40);
4319
4320 var _addEventListener2 = _interopRequireDefault(_addEventListener);
4321
4322 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4323
4324 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
4325
4326 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; }
4327
4328 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; } /**
4329 * This source code is quoted from rc-util.
4330 * homepage: https://github.com/react-component/util
4331 */
4332
4333
4334 //import isWindow from './isWindow';
4335
4336 function isWindow(obj) {
4337 /* eslint no-eq-null: 0 */
4338 /* eslint eqeqeq: 0 */
4339 return obj != null && obj == obj.window;
4340 }
4341
4342 function buffer(fn, ms) {
4343 var timer = void 0;
4344
4345 function clear() {
4346 if (timer) {
4347 clearTimeout(timer);
4348 timer = null;
4349 }
4350 }
4351
4352 function bufferFn() {
4353 clear();
4354 timer = setTimeout(fn, ms);
4355 }
4356
4357 bufferFn.clear = clear;
4358
4359 return bufferFn;
4360 }
4361
4362 var propTypes = {
4363 childrenProps: _propTypes2.default.object,
4364 align: _propTypes2.default.object.isRequired,
4365 target: _propTypes2.default.func,
4366 onAlign: _propTypes2.default.func,
4367 monitorBufferTime: _propTypes2.default.number,
4368 monitorWindowResize: _propTypes2.default.bool,
4369 disabled: _propTypes2.default.bool,
4370 children: _propTypes2.default.any
4371 };
4372
4373 var defaultProps = {
4374 target: function target() {
4375 return window;
4376 },
4377 onAlign: function onAlign() {},
4378
4379 monitorBufferTime: 50,
4380 monitorWindowResize: false,
4381 disabled: false
4382 };
4383
4384 var Align = function (_React$Component) {
4385 _inherits(Align, _React$Component);
4386
4387 function Align(props) {
4388 _classCallCheck(this, Align);
4389
4390 var _this = _possibleConstructorReturn(this, _React$Component.call(this, props));
4391
4392 _initialiseProps.call(_this);
4393
4394 return _this;
4395 }
4396
4397 Align.prototype.componentDidMount = function componentDidMount() {
4398 var props = this.props;
4399 // if parent ref not attached .... use document.getElementById
4400 this.forceAlign();
4401 if (!props.disabled && props.monitorWindowResize) {
4402 this.startMonitorWindowResize();
4403 }
4404 };
4405
4406 Align.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {
4407 var reAlign = false;
4408 var props = this.props;
4409
4410 if (!props.disabled) {
4411 if (prevProps.disabled || prevProps.align !== props.align) {
4412 reAlign = true;
4413 } else {
4414 var lastTarget = prevProps.target();
4415 var currentTarget = props.target();
4416 if (isWindow(lastTarget) && isWindow(currentTarget)) {
4417 reAlign = false;
4418 } else if (lastTarget !== currentTarget) {
4419 reAlign = true;
4420 }
4421 }
4422 }
4423
4424 if (reAlign) {
4425 this.forceAlign();
4426 }
4427
4428 if (props.monitorWindowResize && !props.disabled) {
4429 this.startMonitorWindowResize();
4430 } else {
4431 this.stopMonitorWindowResize();
4432 }
4433 };
4434
4435 Align.prototype.componentWillUnmount = function componentWillUnmount() {
4436 this.stopMonitorWindowResize();
4437 };
4438
4439 Align.prototype.render = function render() {
4440 var _props = this.props,
4441 childrenProps = _props.childrenProps,
4442 children = _props.children;
4443
4444 var child = _react2.default.Children.only(children);
4445 if (childrenProps) {
4446 var newProps = {};
4447 for (var prop in childrenProps) {
4448 if (childrenProps.hasOwnProperty(prop)) {
4449 newProps[prop] = this.props[childrenProps[prop]];
4450 }
4451 }
4452 return _react2.default.cloneElement(child, newProps);
4453 }
4454 return child;
4455 };
4456
4457 return Align;
4458 }(_react2.default.Component);
4459
4460 var _initialiseProps = function _initialiseProps() {
4461 var _this2 = this;
4462
4463 this.startMonitorWindowResize = function () {
4464 if (!_this2.resizeHandler) {
4465 _this2.bufferMonitor = buffer(_this2.forceAlign, _this2.props.monitorBufferTime);
4466 _this2.resizeHandler = (0, _addEventListener2.default)(window, 'resize', _this2.bufferMonitor);
4467 }
4468 };
4469
4470 this.stopMonitorWindowResize = function () {
4471 if (_this2.resizeHandler) {
4472 _this2.bufferMonitor.clear();
4473 _this2.resizeHandler.remove();
4474 _this2.resizeHandler = null;
4475 }
4476 };
4477
4478 this.forceAlign = function () {
4479 var props = _this2.props;
4480 if (!props.disabled) {
4481 var source = _reactDom2.default.findDOMNode(_this2);
4482 props.onAlign(source, (0, _domAlign2.default)(source, props.target(), props.align));
4483 }
4484 };
4485 };
4486
4487 ;
4488
4489 Align.defaultProps = defaultProps;
4490 Align.propTypes = propTypes;
4491
4492 exports.default = Align;
4493
4494/***/ }),
4495/* 51 */
4496/***/ (function(module, exports, __webpack_require__) {
4497
4498 'use strict';
4499
4500 Object.defineProperty(exports, "__esModule", {
4501 value: true
4502 });
4503 exports.alignPoint = exports.alignElement = undefined;
4504
4505 var _alignElement = __webpack_require__(52);
4506
4507 var _alignElement2 = _interopRequireDefault(_alignElement);
4508
4509 var _alignPoint = __webpack_require__(63);
4510
4511 var _alignPoint2 = _interopRequireDefault(_alignPoint);
4512
4513 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
4514
4515 exports.alignElement = _alignElement2['default'];
4516 exports.alignPoint = _alignPoint2['default'];
4517 exports['default'] = _alignElement2['default'];
4518
4519/***/ }),
4520/* 52 */
4521/***/ (function(module, exports, __webpack_require__) {
4522
4523 'use strict';
4524
4525 Object.defineProperty(exports, "__esModule", {
4526 value: true
4527 });
4528
4529 var _align = __webpack_require__(53);
4530
4531 var _align2 = _interopRequireDefault(_align);
4532
4533 var _getOffsetParent = __webpack_require__(57);
4534
4535 var _getOffsetParent2 = _interopRequireDefault(_getOffsetParent);
4536
4537 var _getVisibleRectForElement = __webpack_require__(56);
4538
4539 var _getVisibleRectForElement2 = _interopRequireDefault(_getVisibleRectForElement);
4540
4541 var _getRegion = __webpack_require__(60);
4542
4543 var _getRegion2 = _interopRequireDefault(_getRegion);
4544
4545 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
4546
4547 function isOutOfVisibleRect(target) {
4548 var visibleRect = (0, _getVisibleRectForElement2['default'])(target);
4549 var targetRegion = (0, _getRegion2['default'])(target);
4550
4551 return !visibleRect || targetRegion.left + targetRegion.width <= visibleRect.left || targetRegion.top + targetRegion.height <= visibleRect.top || targetRegion.left >= visibleRect.right || targetRegion.top >= visibleRect.bottom;
4552 }
4553
4554 function alignElement(el, refNode, align) {
4555 var target = align.target || refNode;
4556 var refNodeRegion = (0, _getRegion2['default'])(target);
4557
4558 var isTargetNotOutOfVisible = !isOutOfVisibleRect(target);
4559
4560 return (0, _align2['default'])(el, refNodeRegion, align, isTargetNotOutOfVisible);
4561 }
4562
4563 alignElement.__getOffsetParent = _getOffsetParent2['default'];
4564
4565 alignElement.__getVisibleRectForElement = _getVisibleRectForElement2['default'];
4566
4567 exports['default'] = alignElement;
4568 module.exports = exports['default'];
4569
4570/***/ }),
4571/* 53 */
4572/***/ (function(module, exports, __webpack_require__) {
4573
4574 'use strict';
4575
4576 Object.defineProperty(exports, "__esModule", {
4577 value: true
4578 });
4579
4580 var _utils = __webpack_require__(54);
4581
4582 var _utils2 = _interopRequireDefault(_utils);
4583
4584 var _getVisibleRectForElement = __webpack_require__(56);
4585
4586 var _getVisibleRectForElement2 = _interopRequireDefault(_getVisibleRectForElement);
4587
4588 var _adjustForViewport = __webpack_require__(59);
4589
4590 var _adjustForViewport2 = _interopRequireDefault(_adjustForViewport);
4591
4592 var _getRegion = __webpack_require__(60);
4593
4594 var _getRegion2 = _interopRequireDefault(_getRegion);
4595
4596 var _getElFuturePos = __webpack_require__(61);
4597
4598 var _getElFuturePos2 = _interopRequireDefault(_getElFuturePos);
4599
4600 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
4601
4602 // http://yiminghe.iteye.com/blog/1124720
4603
4604 function isFailX(elFuturePos, elRegion, visibleRect) {
4605 return elFuturePos.left < visibleRect.left || elFuturePos.left + elRegion.width > visibleRect.right;
4606 } /**
4607 * align dom node flexibly
4608 * @author yiminghe@gmail.com
4609 */
4610
4611 function isFailY(elFuturePos, elRegion, visibleRect) {
4612 return elFuturePos.top < visibleRect.top || elFuturePos.top + elRegion.height > visibleRect.bottom;
4613 }
4614
4615 function isCompleteFailX(elFuturePos, elRegion, visibleRect) {
4616 return elFuturePos.left > visibleRect.right || elFuturePos.left + elRegion.width < visibleRect.left;
4617 }
4618
4619 function isCompleteFailY(elFuturePos, elRegion, visibleRect) {
4620 return elFuturePos.top > visibleRect.bottom || elFuturePos.top + elRegion.height < visibleRect.top;
4621 }
4622
4623 function flip(points, reg, map) {
4624 var ret = [];
4625 _utils2['default'].each(points, function (p) {
4626 ret.push(p.replace(reg, function (m) {
4627 return map[m];
4628 }));
4629 });
4630 return ret;
4631 }
4632
4633 function flipOffset(offset, index) {
4634 offset[index] = -offset[index];
4635 return offset;
4636 }
4637
4638 function convertOffset(str, offsetLen) {
4639 var n = void 0;
4640 if (/%$/.test(str)) {
4641 n = parseInt(str.substring(0, str.length - 1), 10) / 100 * offsetLen;
4642 } else {
4643 n = parseInt(str, 10);
4644 }
4645 return n || 0;
4646 }
4647
4648 function normalizeOffset(offset, el) {
4649 offset[0] = convertOffset(offset[0], el.width);
4650 offset[1] = convertOffset(offset[1], el.height);
4651 }
4652
4653 /**
4654 * @param el
4655 * @param tgtRegion 参照节点所占的区域: { left, top, width, height }
4656 * @param align
4657 */
4658 function doAlign(el, tgtRegion, align, isTgtRegionVisible) {
4659 var points = align.points;
4660 var offset = align.offset || [0, 0];
4661 var targetOffset = align.targetOffset || [0, 0];
4662 var overflow = align.overflow;
4663 var source = align.source || el;
4664 offset = [].concat(offset);
4665 targetOffset = [].concat(targetOffset);
4666 overflow = overflow || {};
4667 var newOverflowCfg = {};
4668 var fail = 0;
4669 // 当前节点可以被放置的显示区域
4670 var visibleRect = (0, _getVisibleRectForElement2['default'])(source);
4671 // 当前节点所占的区域, left/top/width/height
4672 var elRegion = (0, _getRegion2['default'])(source);
4673 // 将 offset 转换成数值,支持百分比
4674 normalizeOffset(offset, elRegion);
4675 normalizeOffset(targetOffset, tgtRegion);
4676 // 当前节点将要被放置的位置
4677 var elFuturePos = (0, _getElFuturePos2['default'])(elRegion, tgtRegion, points, offset, targetOffset);
4678 // 当前节点将要所处的区域
4679 var newElRegion = _utils2['default'].merge(elRegion, elFuturePos);
4680
4681 // 如果可视区域不能完全放置当前节点时允许调整
4682 if (visibleRect && (overflow.adjustX || overflow.adjustY) && isTgtRegionVisible) {
4683 if (overflow.adjustX) {
4684 // 如果横向不能放下
4685 if (isFailX(elFuturePos, elRegion, visibleRect)) {
4686 // 对齐位置反下
4687 var newPoints = flip(points, /[lr]/ig, {
4688 l: 'r',
4689 r: 'l'
4690 });
4691 // 偏移量也反下
4692 var newOffset = flipOffset(offset, 0);
4693 var newTargetOffset = flipOffset(targetOffset, 0);
4694 var newElFuturePos = (0, _getElFuturePos2['default'])(elRegion, tgtRegion, newPoints, newOffset, newTargetOffset);
4695
4696 if (!isCompleteFailX(newElFuturePos, elRegion, visibleRect)) {
4697 fail = 1;
4698 points = newPoints;
4699 offset = newOffset;
4700 targetOffset = newTargetOffset;
4701 }
4702 }
4703 }
4704
4705 if (overflow.adjustY) {
4706 // 如果纵向不能放下
4707 if (isFailY(elFuturePos, elRegion, visibleRect)) {
4708 // 对齐位置反下
4709 var _newPoints = flip(points, /[tb]/ig, {
4710 t: 'b',
4711 b: 't'
4712 });
4713 // 偏移量也反下
4714 var _newOffset = flipOffset(offset, 1);
4715 var _newTargetOffset = flipOffset(targetOffset, 1);
4716 var _newElFuturePos = (0, _getElFuturePos2['default'])(elRegion, tgtRegion, _newPoints, _newOffset, _newTargetOffset);
4717
4718 if (!isCompleteFailY(_newElFuturePos, elRegion, visibleRect)) {
4719 fail = 1;
4720 points = _newPoints;
4721 offset = _newOffset;
4722 targetOffset = _newTargetOffset;
4723 }
4724 }
4725 }
4726
4727 // 如果失败,重新计算当前节点将要被放置的位置
4728 if (fail) {
4729 elFuturePos = (0, _getElFuturePos2['default'])(elRegion, tgtRegion, points, offset, targetOffset);
4730 _utils2['default'].mix(newElRegion, elFuturePos);
4731 }
4732 var isStillFailX = isFailX(elFuturePos, elRegion, visibleRect);
4733 var isStillFailY = isFailY(elFuturePos, elRegion, visibleRect);
4734 // 检查反下后的位置是否可以放下了,如果仍然放不下:
4735 // 1. 复原修改过的定位参数
4736 if (isStillFailX || isStillFailY) {
4737 points = align.points;
4738 offset = align.offset || [0, 0];
4739 targetOffset = align.targetOffset || [0, 0];
4740 }
4741 // 2. 只有指定了可以调整当前方向才调整
4742 newOverflowCfg.adjustX = overflow.adjustX && isStillFailX;
4743 newOverflowCfg.adjustY = overflow.adjustY && isStillFailY;
4744
4745 // 确实要调整,甚至可能会调整高度宽度
4746 if (newOverflowCfg.adjustX || newOverflowCfg.adjustY) {
4747 newElRegion = (0, _adjustForViewport2['default'])(elFuturePos, elRegion, visibleRect, newOverflowCfg);
4748 }
4749 }
4750
4751 // need judge to in case set fixed with in css on height auto element
4752 if (newElRegion.width !== elRegion.width) {
4753 _utils2['default'].css(source, 'width', _utils2['default'].width(source) + newElRegion.width - elRegion.width);
4754 }
4755
4756 if (newElRegion.height !== elRegion.height) {
4757 _utils2['default'].css(source, 'height', _utils2['default'].height(source) + newElRegion.height - elRegion.height);
4758 }
4759
4760 // https://github.com/kissyteam/kissy/issues/190
4761 // 相对于屏幕位置没变,而 left/top 变了
4762 // 例如 <div 'relative'><el absolute></div>
4763 _utils2['default'].offset(source, {
4764 left: newElRegion.left,
4765 top: newElRegion.top
4766 }, {
4767 useCssRight: align.useCssRight,
4768 useCssBottom: align.useCssBottom,
4769 useCssTransform: align.useCssTransform,
4770 ignoreShake: align.ignoreShake
4771 });
4772
4773 return {
4774 points: points,
4775 offset: offset,
4776 targetOffset: targetOffset,
4777 overflow: newOverflowCfg
4778 };
4779 }
4780
4781 exports['default'] = doAlign;
4782 /**
4783 * 2012-04-26 yiminghe@gmail.com
4784 * - 优化智能对齐算法
4785 * - 慎用 resizeXX
4786 *
4787 * 2011-07-13 yiminghe@gmail.com note:
4788 * - 增加智能对齐,以及大小调整选项
4789 **/
4790
4791 module.exports = exports['default'];
4792
4793/***/ }),
4794/* 54 */
4795/***/ (function(module, exports, __webpack_require__) {
4796
4797 'use strict';
4798
4799 Object.defineProperty(exports, "__esModule", {
4800 value: true
4801 });
4802
4803 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; };
4804
4805 var _propertyUtils = __webpack_require__(55);
4806
4807 var RE_NUM = /[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source;
4808
4809 var getComputedStyleX = void 0;
4810
4811 // https://stackoverflow.com/a/3485654/3040605
4812 function forceRelayout(elem) {
4813 var originalStyle = elem.style.display;
4814 elem.style.display = 'none';
4815 elem.offsetHeight; // eslint-disable-line
4816 elem.style.display = originalStyle;
4817 }
4818
4819 function css(el, name, v) {
4820 var value = v;
4821 if ((typeof name === 'undefined' ? 'undefined' : _typeof(name)) === 'object') {
4822 for (var i in name) {
4823 if (name.hasOwnProperty(i)) {
4824 css(el, i, name[i]);
4825 }
4826 }
4827 return undefined;
4828 }
4829 if (typeof value !== 'undefined') {
4830 if (typeof value === 'number') {
4831 value = value + 'px';
4832 }
4833 el.style[name] = value;
4834 return undefined;
4835 }
4836 return getComputedStyleX(el, name);
4837 }
4838
4839 function getClientPosition(elem) {
4840 var box = void 0;
4841 var x = void 0;
4842 var y = void 0;
4843 var doc = elem.ownerDocument;
4844 var body = doc.body;
4845 var docElem = doc && doc.documentElement;
4846 // 根据 GBS 最新数据,A-Grade Browsers 都已支持 getBoundingClientRect 方法,不用再考虑传统的实现方式
4847 box = elem.getBoundingClientRect();
4848
4849 // 注:jQuery 还考虑减去 docElem.clientLeft/clientTop
4850 // 但测试发现,这样反而会导致当 html 和 body 有边距/边框样式时,获取的值不正确
4851 // 此外,ie6 会忽略 html 的 margin 值,幸运地是没有谁会去设置 html 的 margin
4852
4853 x = box.left;
4854 y = box.top;
4855
4856 // In IE, most of the time, 2 extra pixels are added to the top and left
4857 // due to the implicit 2-pixel inset border. In IE6/7 quirks mode and
4858 // IE6 standards mode, this border can be overridden by setting the
4859 // document element's border to zero -- thus, we cannot rely on the
4860 // offset always being 2 pixels.
4861
4862 // In quirks mode, the offset can be determined by querying the body's
4863 // clientLeft/clientTop, but in standards mode, it is found by querying
4864 // the document element's clientLeft/clientTop. Since we already called
4865 // getClientBoundingRect we have already forced a reflow, so it is not
4866 // too expensive just to query them all.
4867
4868 // ie 下应该减去窗口的边框吧,毕竟默认 absolute 都是相对窗口定位的
4869 // 窗口边框标准是设 documentElement ,quirks 时设置 body
4870 // 最好禁止在 body 和 html 上边框 ,但 ie < 9 html 默认有 2px ,减去
4871 // 但是非 ie 不可能设置窗口边框,body html 也不是窗口 ,ie 可以通过 html,body 设置
4872 // 标准 ie 下 docElem.clientTop 就是 border-top
4873 // ie7 html 即窗口边框改变不了。永远为 2
4874 // 但标准 firefox/chrome/ie9 下 docElem.clientTop 是窗口边框,即使设了 border-top 也为 0
4875
4876 x -= docElem.clientLeft || body.clientLeft || 0;
4877 y -= docElem.clientTop || body.clientTop || 0;
4878
4879 return {
4880 left: x,
4881 top: y
4882 };
4883 }
4884
4885 function getScroll(w, top) {
4886 var ret = w['page' + (top ? 'Y' : 'X') + 'Offset'];
4887 var method = 'scroll' + (top ? 'Top' : 'Left');
4888 if (typeof ret !== 'number') {
4889 var d = w.document;
4890 // ie6,7,8 standard mode
4891 ret = d.documentElement[method];
4892 if (typeof ret !== 'number') {
4893 // quirks mode
4894 ret = d.body[method];
4895 }
4896 }
4897 return ret;
4898 }
4899
4900 function getScrollLeft(w) {
4901 return getScroll(w);
4902 }
4903
4904 function getScrollTop(w) {
4905 return getScroll(w, true);
4906 }
4907
4908 function getOffset(el) {
4909 var pos = getClientPosition(el);
4910 var doc = el.ownerDocument;
4911 var w = doc.defaultView || doc.parentWindow;
4912 pos.left += getScrollLeft(w);
4913 pos.top += getScrollTop(w);
4914 return pos;
4915 }
4916
4917 /**
4918 * A crude way of determining if an object is a window
4919 * @member util
4920 */
4921 function isWindow(obj) {
4922 // must use == for ie8
4923 /* eslint eqeqeq:0 */
4924 return obj !== null && obj !== undefined && obj == obj.window;
4925 }
4926
4927 function getDocument(node) {
4928 if (isWindow(node)) {
4929 return node.document;
4930 }
4931 if (node.nodeType === 9) {
4932 return node;
4933 }
4934 return node.ownerDocument;
4935 }
4936
4937 function _getComputedStyle(elem, name, cs) {
4938 var computedStyle = cs;
4939 var val = '';
4940 var d = getDocument(elem);
4941 computedStyle = computedStyle || d.defaultView.getComputedStyle(elem, null);
4942
4943 // https://github.com/kissyteam/kissy/issues/61
4944 if (computedStyle) {
4945 val = computedStyle.getPropertyValue(name) || computedStyle[name];
4946 }
4947
4948 return val;
4949 }
4950
4951 var _RE_NUM_NO_PX = new RegExp('^(' + RE_NUM + ')(?!px)[a-z%]+$', 'i');
4952 var RE_POS = /^(top|right|bottom|left)$/;
4953 var CURRENT_STYLE = 'currentStyle';
4954 var RUNTIME_STYLE = 'runtimeStyle';
4955 var LEFT = 'left';
4956 var PX = 'px';
4957
4958 function _getComputedStyleIE(elem, name) {
4959 // currentStyle maybe null
4960 // http://msdn.microsoft.com/en-us/library/ms535231.aspx
4961 var ret = elem[CURRENT_STYLE] && elem[CURRENT_STYLE][name];
4962
4963 // 当 width/height 设置为百分比时,通过 pixelLeft 方式转换的 width/height 值
4964 // 一开始就处理了! CUSTOM_STYLE.height,CUSTOM_STYLE.width ,cssHook 解决@2011-08-19
4965 // 在 ie 下不对,需要直接用 offset 方式
4966 // borderWidth 等值也有问题,但考虑到 borderWidth 设为百分比的概率很小,这里就不考虑了
4967
4968 // From the awesome hack by Dean Edwards
4969 // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291
4970 // If we're not dealing with a regular pixel number
4971 // but a number that has a weird ending, we need to convert it to pixels
4972 // exclude left right for relativity
4973 if (_RE_NUM_NO_PX.test(ret) && !RE_POS.test(name)) {
4974 // Remember the original values
4975 var style = elem.style;
4976 var left = style[LEFT];
4977 var rsLeft = elem[RUNTIME_STYLE][LEFT];
4978
4979 // prevent flashing of content
4980 elem[RUNTIME_STYLE][LEFT] = elem[CURRENT_STYLE][LEFT];
4981
4982 // Put in the new values to get a computed value out
4983 style[LEFT] = name === 'fontSize' ? '1em' : ret || 0;
4984 ret = style.pixelLeft + PX;
4985
4986 // Revert the changed values
4987 style[LEFT] = left;
4988
4989 elem[RUNTIME_STYLE][LEFT] = rsLeft;
4990 }
4991 return ret === '' ? 'auto' : ret;
4992 }
4993
4994 if (typeof window !== 'undefined') {
4995 getComputedStyleX = window.getComputedStyle ? _getComputedStyle : _getComputedStyleIE;
4996 }
4997
4998 function getOffsetDirection(dir, option) {
4999 if (dir === 'left') {
5000 return option.useCssRight ? 'right' : dir;
5001 }
5002 return option.useCssBottom ? 'bottom' : dir;
5003 }
5004
5005 function oppositeOffsetDirection(dir) {
5006 if (dir === 'left') {
5007 return 'right';
5008 } else if (dir === 'right') {
5009 return 'left';
5010 } else if (dir === 'top') {
5011 return 'bottom';
5012 } else if (dir === 'bottom') {
5013 return 'top';
5014 }
5015 }
5016
5017 // 设置 elem 相对 elem.ownerDocument 的坐标
5018 function setLeftTop(elem, offset, option) {
5019 // set position first, in-case top/left are set even on static elem
5020 if (css(elem, 'position') === 'static') {
5021 elem.style.position = 'relative';
5022 }
5023 var presetH = -999;
5024 var presetV = -999;
5025 var horizontalProperty = getOffsetDirection('left', option);
5026 var verticalProperty = getOffsetDirection('top', option);
5027 var oppositeHorizontalProperty = oppositeOffsetDirection(horizontalProperty);
5028 var oppositeVerticalProperty = oppositeOffsetDirection(verticalProperty);
5029
5030 if (horizontalProperty !== 'left') {
5031 presetH = 999;
5032 }
5033
5034 if (verticalProperty !== 'top') {
5035 presetV = 999;
5036 }
5037 var originalTransition = '';
5038 var originalOffset = getOffset(elem);
5039 if ('left' in offset || 'top' in offset) {
5040 originalTransition = (0, _propertyUtils.getTransitionProperty)(elem) || '';
5041 (0, _propertyUtils.setTransitionProperty)(elem, 'none');
5042 }
5043 if ('left' in offset) {
5044 elem.style[oppositeHorizontalProperty] = '';
5045 elem.style[horizontalProperty] = presetH + 'px';
5046 }
5047 if ('top' in offset) {
5048 elem.style[oppositeVerticalProperty] = '';
5049 elem.style[verticalProperty] = presetV + 'px';
5050 }
5051 // force relayout
5052 forceRelayout(elem);
5053 var old = getOffset(elem);
5054 var originalStyle = {};
5055 for (var key in offset) {
5056 if (offset.hasOwnProperty(key)) {
5057 var dir = getOffsetDirection(key, option);
5058 var preset = key === 'left' ? presetH : presetV;
5059 var off = originalOffset[key] - old[key];
5060 if (dir === key) {
5061 originalStyle[dir] = preset + off;
5062 } else {
5063 originalStyle[dir] = preset - off;
5064 }
5065 }
5066 }
5067 css(elem, originalStyle);
5068 // force relayout
5069 forceRelayout(elem);
5070 if ('left' in offset || 'top' in offset) {
5071 (0, _propertyUtils.setTransitionProperty)(elem, originalTransition);
5072 }
5073 var ret = {};
5074 for (var _key in offset) {
5075 if (offset.hasOwnProperty(_key)) {
5076 var _dir = getOffsetDirection(_key, option);
5077 var _off = offset[_key] - originalOffset[_key];
5078 if (_key === _dir) {
5079 ret[_dir] = originalStyle[_dir] + _off;
5080 } else {
5081 ret[_dir] = originalStyle[_dir] - _off;
5082 }
5083 }
5084 }
5085 css(elem, ret);
5086 }
5087
5088 function setTransform(elem, offset) {
5089 var originalOffset = getOffset(elem);
5090 var originalXY = (0, _propertyUtils.getTransformXY)(elem);
5091 var resultXY = { x: originalXY.x, y: originalXY.y };
5092 if ('left' in offset) {
5093 resultXY.x = originalXY.x + offset.left - originalOffset.left;
5094 }
5095 if ('top' in offset) {
5096 resultXY.y = originalXY.y + offset.top - originalOffset.top;
5097 }
5098 (0, _propertyUtils.setTransformXY)(elem, resultXY);
5099 }
5100
5101 function setOffset(elem, offset, option) {
5102 if (option.ignoreShake) {
5103 var oriOffset = getOffset(elem);
5104
5105 var oLeft = oriOffset.left.toFixed(0);
5106 var oTop = oriOffset.top.toFixed(0);
5107 var tLeft = offset.left.toFixed(0);
5108 var tTop = offset.top.toFixed(0);
5109
5110 if (oLeft === tLeft && oTop === tTop) {
5111 return;
5112 }
5113 }
5114
5115 if (option.useCssRight || option.useCssBottom) {
5116 setLeftTop(elem, offset, option);
5117 } else if (option.useCssTransform && (0, _propertyUtils.getTransformName)() in document.body.style) {
5118 setTransform(elem, offset, option);
5119 } else {
5120 setLeftTop(elem, offset, option);
5121 }
5122 }
5123
5124 function each(arr, fn) {
5125 for (var i = 0; i < arr.length; i++) {
5126 fn(arr[i]);
5127 }
5128 }
5129
5130 function isBorderBoxFn(elem) {
5131 return getComputedStyleX(elem, 'boxSizing') === 'border-box';
5132 }
5133
5134 var BOX_MODELS = ['margin', 'border', 'padding'];
5135 var CONTENT_INDEX = -1;
5136 var PADDING_INDEX = 2;
5137 var BORDER_INDEX = 1;
5138 var MARGIN_INDEX = 0;
5139
5140 function swap(elem, options, callback) {
5141 var old = {};
5142 var style = elem.style;
5143 var name = void 0;
5144
5145 // Remember the old values, and insert the new ones
5146 for (name in options) {
5147 if (options.hasOwnProperty(name)) {
5148 old[name] = style[name];
5149 style[name] = options[name];
5150 }
5151 }
5152
5153 callback.call(elem);
5154
5155 // Revert the old values
5156 for (name in options) {
5157 if (options.hasOwnProperty(name)) {
5158 style[name] = old[name];
5159 }
5160 }
5161 }
5162
5163 function getPBMWidth(elem, props, which) {
5164 var value = 0;
5165 var prop = void 0;
5166 var j = void 0;
5167 var i = void 0;
5168 for (j = 0; j < props.length; j++) {
5169 prop = props[j];
5170 if (prop) {
5171 for (i = 0; i < which.length; i++) {
5172 var cssProp = void 0;
5173 if (prop === 'border') {
5174 cssProp = '' + prop + which[i] + 'Width';
5175 } else {
5176 cssProp = prop + which[i];
5177 }
5178 value += parseFloat(getComputedStyleX(elem, cssProp)) || 0;
5179 }
5180 }
5181 }
5182 return value;
5183 }
5184
5185 var domUtils = {};
5186
5187 each(['Width', 'Height'], function (name) {
5188 domUtils['doc' + name] = function (refWin) {
5189 var d = refWin.document;
5190 return Math.max(
5191 // firefox chrome documentElement.scrollHeight< body.scrollHeight
5192 // ie standard mode : documentElement.scrollHeight> body.scrollHeight
5193 d.documentElement['scroll' + name],
5194 // quirks : documentElement.scrollHeight 最大等于可视窗口多一点?
5195 d.body['scroll' + name], domUtils['viewport' + name](d));
5196 };
5197
5198 domUtils['viewport' + name] = function (win) {
5199 // pc browser includes scrollbar in window.innerWidth
5200 var prop = 'client' + name;
5201 var doc = win.document;
5202 var body = doc.body;
5203 var documentElement = doc.documentElement;
5204 var documentElementProp = documentElement[prop];
5205 // 标准模式取 documentElement
5206 // backcompat 取 body
5207 return doc.compatMode === 'CSS1Compat' && documentElementProp || body && body[prop] || documentElementProp;
5208 };
5209 });
5210
5211 /*
5212 得到元素的大小信息
5213 @param elem
5214 @param name
5215 @param {String} [extra] 'padding' : (css width) + padding
5216 'border' : (css width) + padding + border
5217 'margin' : (css width) + padding + border + margin
5218 */
5219 function getWH(elem, name, ex) {
5220 var extra = ex;
5221 if (isWindow(elem)) {
5222 return name === 'width' ? domUtils.viewportWidth(elem) : domUtils.viewportHeight(elem);
5223 } else if (elem.nodeType === 9) {
5224 return name === 'width' ? domUtils.docWidth(elem) : domUtils.docHeight(elem);
5225 }
5226 var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];
5227 var borderBoxValue = name === 'width' ? elem.getBoundingClientRect().width : elem.getBoundingClientRect().height;
5228 var computedStyle = getComputedStyleX(elem);
5229 var isBorderBox = isBorderBoxFn(elem, computedStyle);
5230 var cssBoxValue = 0;
5231 if (borderBoxValue === null || borderBoxValue === undefined || borderBoxValue <= 0) {
5232 borderBoxValue = undefined;
5233 // Fall back to computed then un computed css if necessary
5234 cssBoxValue = getComputedStyleX(elem, name);
5235 if (cssBoxValue === null || cssBoxValue === undefined || Number(cssBoxValue) < 0) {
5236 cssBoxValue = elem.style[name] || 0;
5237 }
5238 // Normalize '', auto, and prepare for extra
5239 cssBoxValue = parseFloat(cssBoxValue) || 0;
5240 }
5241 if (extra === undefined) {
5242 extra = isBorderBox ? BORDER_INDEX : CONTENT_INDEX;
5243 }
5244 var borderBoxValueOrIsBorderBox = borderBoxValue !== undefined || isBorderBox;
5245 var val = borderBoxValue || cssBoxValue;
5246 if (extra === CONTENT_INDEX) {
5247 if (borderBoxValueOrIsBorderBox) {
5248 return val - getPBMWidth(elem, ['border', 'padding'], which, computedStyle);
5249 }
5250 return cssBoxValue;
5251 } else if (borderBoxValueOrIsBorderBox) {
5252 if (extra === BORDER_INDEX) {
5253 return val;
5254 }
5255 return val + (extra === PADDING_INDEX ? -getPBMWidth(elem, ['border'], which, computedStyle) : getPBMWidth(elem, ['margin'], which, computedStyle));
5256 }
5257 return cssBoxValue + getPBMWidth(elem, BOX_MODELS.slice(extra), which, computedStyle);
5258 }
5259
5260 var cssShow = {
5261 position: 'absolute',
5262 visibility: 'hidden',
5263 display: 'block'
5264 };
5265
5266 // fix #119 : https://github.com/kissyteam/kissy/issues/119
5267 function getWHIgnoreDisplay() {
5268 for (var _len = arguments.length, args = Array(_len), _key2 = 0; _key2 < _len; _key2++) {
5269 args[_key2] = arguments[_key2];
5270 }
5271
5272 var val = void 0;
5273 var elem = args[0];
5274 // in case elem is window
5275 // elem.offsetWidth === undefined
5276 if (elem.offsetWidth !== 0) {
5277 val = getWH.apply(undefined, args);
5278 } else {
5279 swap(elem, cssShow, function () {
5280 val = getWH.apply(undefined, args);
5281 });
5282 }
5283 return val;
5284 }
5285
5286 each(['width', 'height'], function (name) {
5287 var first = name.charAt(0).toUpperCase() + name.slice(1);
5288 domUtils['outer' + first] = function (el, includeMargin) {
5289 return el && getWHIgnoreDisplay(el, name, includeMargin ? MARGIN_INDEX : BORDER_INDEX);
5290 };
5291 var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];
5292
5293 domUtils[name] = function (elem, v) {
5294 var val = v;
5295 if (val !== undefined) {
5296 if (elem) {
5297 var computedStyle = getComputedStyleX(elem);
5298 var isBorderBox = isBorderBoxFn(elem);
5299 if (isBorderBox) {
5300 val += getPBMWidth(elem, ['padding', 'border'], which, computedStyle);
5301 }
5302 return css(elem, name, val);
5303 }
5304 return undefined;
5305 }
5306 return elem && getWHIgnoreDisplay(elem, name, CONTENT_INDEX);
5307 };
5308 });
5309
5310 function mix(to, from) {
5311 for (var i in from) {
5312 if (from.hasOwnProperty(i)) {
5313 to[i] = from[i];
5314 }
5315 }
5316 return to;
5317 }
5318
5319 var utils = {
5320 getWindow: function getWindow(node) {
5321 if (node && node.document && node.setTimeout) {
5322 return node;
5323 }
5324 var doc = node.ownerDocument || node;
5325 return doc.defaultView || doc.parentWindow;
5326 },
5327
5328 getDocument: getDocument,
5329 offset: function offset(el, value, option) {
5330 if (typeof value !== 'undefined') {
5331 setOffset(el, value, option || {});
5332 } else {
5333 return getOffset(el);
5334 }
5335 },
5336
5337 isWindow: isWindow,
5338 each: each,
5339 css: css,
5340 clone: function clone(obj) {
5341 var i = void 0;
5342 var ret = {};
5343 for (i in obj) {
5344 if (obj.hasOwnProperty(i)) {
5345 ret[i] = obj[i];
5346 }
5347 }
5348 var overflow = obj.overflow;
5349 if (overflow) {
5350 for (i in obj) {
5351 if (obj.hasOwnProperty(i)) {
5352 ret.overflow[i] = obj.overflow[i];
5353 }
5354 }
5355 }
5356 return ret;
5357 },
5358
5359 mix: mix,
5360 getWindowScrollLeft: function getWindowScrollLeft(w) {
5361 return getScrollLeft(w);
5362 },
5363 getWindowScrollTop: function getWindowScrollTop(w) {
5364 return getScrollTop(w);
5365 },
5366 merge: function merge() {
5367 var ret = {};
5368
5369 for (var _len2 = arguments.length, args = Array(_len2), _key3 = 0; _key3 < _len2; _key3++) {
5370 args[_key3] = arguments[_key3];
5371 }
5372
5373 for (var i = 0; i < args.length; i++) {
5374 utils.mix(ret, args[i]);
5375 }
5376 return ret;
5377 },
5378
5379 viewportWidth: 0,
5380 viewportHeight: 0
5381 };
5382
5383 mix(utils, domUtils);
5384
5385 exports['default'] = utils;
5386 module.exports = exports['default'];
5387
5388/***/ }),
5389/* 55 */
5390/***/ (function(module, exports) {
5391
5392 'use strict';
5393
5394 Object.defineProperty(exports, "__esModule", {
5395 value: true
5396 });
5397 exports.getTransformName = getTransformName;
5398 exports.setTransitionProperty = setTransitionProperty;
5399 exports.getTransitionProperty = getTransitionProperty;
5400 exports.getTransformXY = getTransformXY;
5401 exports.setTransformXY = setTransformXY;
5402 var vendorPrefix = void 0;
5403
5404 var jsCssMap = {
5405 Webkit: '-webkit-',
5406 Moz: '-moz-',
5407 // IE did it wrong again ...
5408 ms: '-ms-',
5409 O: '-o-'
5410 };
5411
5412 function getVendorPrefix() {
5413 if (vendorPrefix !== undefined) {
5414 return vendorPrefix;
5415 }
5416 vendorPrefix = '';
5417 var style = document.createElement('p').style;
5418 var testProp = 'Transform';
5419 for (var key in jsCssMap) {
5420 if (key + testProp in style) {
5421 vendorPrefix = key;
5422 }
5423 }
5424 return vendorPrefix;
5425 }
5426
5427 function getTransitionName() {
5428 return getVendorPrefix() ? getVendorPrefix() + 'TransitionProperty' : 'transitionProperty';
5429 }
5430
5431 function getTransformName() {
5432 return getVendorPrefix() ? getVendorPrefix() + 'Transform' : 'transform';
5433 }
5434
5435 function setTransitionProperty(node, value) {
5436 var name = getTransitionName();
5437 if (name) {
5438 node.style[name] = value;
5439 if (name !== 'transitionProperty') {
5440 node.style.transitionProperty = value;
5441 }
5442 }
5443 }
5444
5445 function setTransform(node, value) {
5446 var name = getTransformName();
5447 if (name) {
5448 node.style[name] = value;
5449 if (name !== 'transform') {
5450 node.style.transform = value;
5451 }
5452 }
5453 }
5454
5455 function getTransitionProperty(node) {
5456 return node.style.transitionProperty || node.style[getTransitionName()];
5457 }
5458
5459 function getTransformXY(node) {
5460 var style = window.getComputedStyle(node, null);
5461 var transform = style.getPropertyValue('transform') || style.getPropertyValue(getTransformName());
5462 if (transform && transform !== 'none') {
5463 var matrix = transform.replace(/[^0-9\-.,]/g, '').split(',');
5464 return { x: parseFloat(matrix[12] || matrix[4], 0), y: parseFloat(matrix[13] || matrix[5], 0) };
5465 }
5466 return {
5467 x: 0,
5468 y: 0
5469 };
5470 }
5471
5472 var matrix2d = /matrix\((.*)\)/;
5473 var matrix3d = /matrix3d\((.*)\)/;
5474
5475 function setTransformXY(node, xy) {
5476 var style = window.getComputedStyle(node, null);
5477 var transform = style.getPropertyValue('transform') || style.getPropertyValue(getTransformName());
5478 if (transform && transform !== 'none') {
5479 var arr = void 0;
5480 var match2d = transform.match(matrix2d);
5481 if (match2d) {
5482 match2d = match2d[1];
5483 arr = match2d.split(',').map(function (item) {
5484 return parseFloat(item, 10);
5485 });
5486 arr[4] = xy.x;
5487 arr[5] = xy.y;
5488 setTransform(node, 'matrix(' + arr.join(',') + ')');
5489 } else {
5490 var match3d = transform.match(matrix3d)[1];
5491 arr = match3d.split(',').map(function (item) {
5492 return parseFloat(item, 10);
5493 });
5494 arr[12] = xy.x;
5495 arr[13] = xy.y;
5496 setTransform(node, 'matrix3d(' + arr.join(',') + ')');
5497 }
5498 } else {
5499 setTransform(node, 'translateX(' + xy.x + 'px) translateY(' + xy.y + 'px) translateZ(0)');
5500 }
5501 }
5502
5503/***/ }),
5504/* 56 */
5505/***/ (function(module, exports, __webpack_require__) {
5506
5507 'use strict';
5508
5509 Object.defineProperty(exports, "__esModule", {
5510 value: true
5511 });
5512
5513 var _utils = __webpack_require__(54);
5514
5515 var _utils2 = _interopRequireDefault(_utils);
5516
5517 var _getOffsetParent = __webpack_require__(57);
5518
5519 var _getOffsetParent2 = _interopRequireDefault(_getOffsetParent);
5520
5521 var _isAncestorFixed = __webpack_require__(58);
5522
5523 var _isAncestorFixed2 = _interopRequireDefault(_isAncestorFixed);
5524
5525 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
5526
5527 /**
5528 * 获得元素的显示部分的区域
5529 */
5530 function getVisibleRectForElement(element) {
5531 var visibleRect = {
5532 left: 0,
5533 right: Infinity,
5534 top: 0,
5535 bottom: Infinity
5536 };
5537 var el = (0, _getOffsetParent2['default'])(element);
5538 var doc = _utils2['default'].getDocument(element);
5539 var win = doc.defaultView || doc.parentWindow;
5540 var body = doc.body;
5541 var documentElement = doc.documentElement;
5542
5543 // Determine the size of the visible rect by climbing the dom accounting for
5544 // all scrollable containers.
5545 while (el) {
5546 // clientWidth is zero for inline block elements in ie.
5547 if ((navigator.userAgent.indexOf('MSIE') === -1 || el.clientWidth !== 0) &&
5548 // body may have overflow set on it, yet we still get the entire
5549 // viewport. In some browsers, el.offsetParent may be
5550 // document.documentElement, so check for that too.
5551 el !== body && el !== documentElement && _utils2['default'].css(el, 'overflow') !== 'visible') {
5552 var pos = _utils2['default'].offset(el);
5553 // add border
5554 pos.left += el.clientLeft;
5555 pos.top += el.clientTop;
5556 visibleRect.top = Math.max(visibleRect.top, pos.top);
5557 visibleRect.right = Math.min(visibleRect.right,
5558 // consider area without scrollBar
5559 pos.left + el.clientWidth);
5560 visibleRect.bottom = Math.min(visibleRect.bottom, pos.top + el.clientHeight);
5561 visibleRect.left = Math.max(visibleRect.left, pos.left);
5562 } else if (el === body || el === documentElement) {
5563 break;
5564 }
5565 el = (0, _getOffsetParent2['default'])(el);
5566 }
5567
5568 // Set element position to fixed
5569 // make sure absolute element itself don't affect it's visible area
5570 // https://github.com/ant-design/ant-design/issues/7601
5571 var originalPosition = null;
5572 if (!_utils2['default'].isWindow(element) && element.nodeType !== 9) {
5573 originalPosition = element.style.position;
5574 var position = _utils2['default'].css(element, 'position');
5575 if (position === 'absolute') {
5576 element.style.position = 'fixed';
5577 }
5578 }
5579
5580 var scrollX = _utils2['default'].getWindowScrollLeft(win);
5581 var scrollY = _utils2['default'].getWindowScrollTop(win);
5582 var viewportWidth = _utils2['default'].viewportWidth(win);
5583 var viewportHeight = _utils2['default'].viewportHeight(win);
5584 var documentWidth = documentElement.scrollWidth;
5585 var documentHeight = documentElement.scrollHeight;
5586
5587 // scrollXXX on html is sync with body which means overflow: hidden on body gets wrong scrollXXX.
5588 // We should cut this ourself.
5589 var bodyStyle = window.getComputedStyle(body);
5590 if (bodyStyle.overflowX === 'hidden') {
5591 documentWidth = win.innerWidth;
5592 }
5593 if (bodyStyle.overflowY === 'hidden') {
5594 documentHeight = win.innerHeight;
5595 }
5596
5597 // Reset element position after calculate the visible area
5598 if (element.style) {
5599 element.style.position = originalPosition;
5600 }
5601
5602 if ((0, _isAncestorFixed2['default'])(element)) {
5603 // Clip by viewport's size.
5604 visibleRect.left = Math.max(visibleRect.left, scrollX);
5605 visibleRect.top = Math.max(visibleRect.top, scrollY);
5606 visibleRect.right = Math.min(visibleRect.right, scrollX + viewportWidth);
5607 visibleRect.bottom = Math.min(visibleRect.bottom, scrollY + viewportHeight);
5608 } else {
5609 // Clip by document's size.
5610 var maxVisibleWidth = Math.max(documentWidth, scrollX + viewportWidth);
5611 visibleRect.right = Math.min(visibleRect.right, maxVisibleWidth);
5612
5613 var maxVisibleHeight = Math.max(documentHeight, scrollY + viewportHeight);
5614 visibleRect.bottom = Math.min(visibleRect.bottom, maxVisibleHeight);
5615 }
5616
5617 return visibleRect.top >= 0 && visibleRect.left >= 0 && visibleRect.bottom > visibleRect.top && visibleRect.right > visibleRect.left ? visibleRect : null;
5618 }
5619
5620 exports['default'] = getVisibleRectForElement;
5621 module.exports = exports['default'];
5622
5623/***/ }),
5624/* 57 */
5625/***/ (function(module, exports, __webpack_require__) {
5626
5627 'use strict';
5628
5629 Object.defineProperty(exports, "__esModule", {
5630 value: true
5631 });
5632
5633 var _utils = __webpack_require__(54);
5634
5635 var _utils2 = _interopRequireDefault(_utils);
5636
5637 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
5638
5639 /**
5640 * 得到会导致元素显示不全的祖先元素
5641 */
5642
5643 function getOffsetParent(element) {
5644 if (_utils2['default'].isWindow(element) || element.nodeType === 9) {
5645 return null;
5646 }
5647 // ie 这个也不是完全可行
5648 /*
5649 <div style="width: 50px;height: 100px;overflow: hidden">
5650 <div style="width: 50px;height: 100px;position: relative;" id="d6">
5651 元素 6 高 100px 宽 50px<br/>
5652 </div>
5653 </div>
5654 */
5655 // element.offsetParent does the right thing in ie7 and below. Return parent with layout!
5656 // In other browsers it only includes elements with position absolute, relative or
5657 // fixed, not elements with overflow set to auto or scroll.
5658 // if (UA.ie && ieMode < 8) {
5659 // return element.offsetParent;
5660 // }
5661 // 统一的 offsetParent 方法
5662 var doc = _utils2['default'].getDocument(element);
5663 var body = doc.body;
5664 var parent = void 0;
5665 var positionStyle = _utils2['default'].css(element, 'position');
5666 var skipStatic = positionStyle === 'fixed' || positionStyle === 'absolute';
5667
5668 if (!skipStatic) {
5669 return element.nodeName.toLowerCase() === 'html' ? null : element.parentNode;
5670 }
5671
5672 for (parent = element.parentNode; parent && parent !== body; parent = parent.parentNode) {
5673 positionStyle = _utils2['default'].css(parent, 'position');
5674 if (positionStyle !== 'static') {
5675 return parent;
5676 }
5677 }
5678 return null;
5679 }
5680
5681 exports['default'] = getOffsetParent;
5682 module.exports = exports['default'];
5683
5684/***/ }),
5685/* 58 */
5686/***/ (function(module, exports, __webpack_require__) {
5687
5688 'use strict';
5689
5690 Object.defineProperty(exports, "__esModule", {
5691 value: true
5692 });
5693 exports['default'] = isAncestorFixed;
5694
5695 var _utils = __webpack_require__(54);
5696
5697 var _utils2 = _interopRequireDefault(_utils);
5698
5699 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
5700
5701 function isAncestorFixed(element) {
5702 if (_utils2['default'].isWindow(element) || element.nodeType === 9) {
5703 return false;
5704 }
5705
5706 var doc = _utils2['default'].getDocument(element);
5707 var body = doc.body;
5708 var parent = null;
5709 for (parent = element.parentNode; parent && parent !== body; parent = parent.parentNode) {
5710 var positionStyle = _utils2['default'].css(parent, 'position');
5711 if (positionStyle === 'fixed') {
5712 return true;
5713 }
5714 }
5715 return false;
5716 }
5717 module.exports = exports['default'];
5718
5719/***/ }),
5720/* 59 */
5721/***/ (function(module, exports, __webpack_require__) {
5722
5723 'use strict';
5724
5725 Object.defineProperty(exports, "__esModule", {
5726 value: true
5727 });
5728
5729 var _utils = __webpack_require__(54);
5730
5731 var _utils2 = _interopRequireDefault(_utils);
5732
5733 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
5734
5735 function adjustForViewport(elFuturePos, elRegion, visibleRect, overflow) {
5736 var pos = _utils2['default'].clone(elFuturePos);
5737 var size = {
5738 width: elRegion.width,
5739 height: elRegion.height
5740 };
5741
5742 if (overflow.adjustX && pos.left < visibleRect.left) {
5743 pos.left = visibleRect.left;
5744 }
5745
5746 // Left edge inside and right edge outside viewport, try to resize it.
5747 if (overflow.resizeWidth && pos.left >= visibleRect.left && pos.left + size.width > visibleRect.right) {
5748 size.width -= pos.left + size.width - visibleRect.right;
5749 }
5750
5751 // Right edge outside viewport, try to move it.
5752 if (overflow.adjustX && pos.left + size.width > visibleRect.right) {
5753 // 保证左边界和可视区域左边界对齐
5754 pos.left = Math.max(visibleRect.right - size.width, visibleRect.left);
5755 }
5756
5757 // Top edge outside viewport, try to move it.
5758 if (overflow.adjustY && pos.top < visibleRect.top) {
5759 pos.top = visibleRect.top;
5760 }
5761
5762 // Top edge inside and bottom edge outside viewport, try to resize it.
5763 if (overflow.resizeHeight && pos.top >= visibleRect.top && pos.top + size.height > visibleRect.bottom) {
5764 size.height -= pos.top + size.height - visibleRect.bottom;
5765 }
5766
5767 // Bottom edge outside viewport, try to move it.
5768 if (overflow.adjustY && pos.top + size.height > visibleRect.bottom) {
5769 // 保证上边界和可视区域上边界对齐
5770 pos.top = Math.max(visibleRect.bottom - size.height, visibleRect.top);
5771 }
5772
5773 return _utils2['default'].mix(pos, size);
5774 }
5775
5776 exports['default'] = adjustForViewport;
5777 module.exports = exports['default'];
5778
5779/***/ }),
5780/* 60 */
5781/***/ (function(module, exports, __webpack_require__) {
5782
5783 'use strict';
5784
5785 Object.defineProperty(exports, "__esModule", {
5786 value: true
5787 });
5788
5789 var _utils = __webpack_require__(54);
5790
5791 var _utils2 = _interopRequireDefault(_utils);
5792
5793 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
5794
5795 function getRegion(node) {
5796 var offset = void 0;
5797 var w = void 0;
5798 var h = void 0;
5799 if (!_utils2['default'].isWindow(node) && node.nodeType !== 9) {
5800 offset = _utils2['default'].offset(node);
5801 w = _utils2['default'].outerWidth(node);
5802 h = _utils2['default'].outerHeight(node);
5803 } else {
5804 var win = _utils2['default'].getWindow(node);
5805 offset = {
5806 left: _utils2['default'].getWindowScrollLeft(win),
5807 top: _utils2['default'].getWindowScrollTop(win)
5808 };
5809 w = _utils2['default'].viewportWidth(win);
5810 h = _utils2['default'].viewportHeight(win);
5811 }
5812 offset.width = w;
5813 offset.height = h;
5814 return offset;
5815 }
5816
5817 exports['default'] = getRegion;
5818 module.exports = exports['default'];
5819
5820/***/ }),
5821/* 61 */
5822/***/ (function(module, exports, __webpack_require__) {
5823
5824 'use strict';
5825
5826 Object.defineProperty(exports, "__esModule", {
5827 value: true
5828 });
5829
5830 var _getAlignOffset = __webpack_require__(62);
5831
5832 var _getAlignOffset2 = _interopRequireDefault(_getAlignOffset);
5833
5834 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
5835
5836 function getElFuturePos(elRegion, refNodeRegion, points, offset, targetOffset) {
5837 var p1 = (0, _getAlignOffset2['default'])(refNodeRegion, points[1]);
5838 var p2 = (0, _getAlignOffset2['default'])(elRegion, points[0]);
5839 var diff = [p2.left - p1.left, p2.top - p1.top];
5840
5841 return {
5842 left: elRegion.left - diff[0] + offset[0] - targetOffset[0],
5843 top: elRegion.top - diff[1] + offset[1] - targetOffset[1]
5844 };
5845 }
5846
5847 exports['default'] = getElFuturePos;
5848 module.exports = exports['default'];
5849
5850/***/ }),
5851/* 62 */
5852/***/ (function(module, exports) {
5853
5854 'use strict';
5855
5856 Object.defineProperty(exports, "__esModule", {
5857 value: true
5858 });
5859 /**
5860 * 获取 node 上的 align 对齐点 相对于页面的坐标
5861 */
5862
5863 function getAlignOffset(region, align) {
5864 var V = align.charAt(0);
5865 var H = align.charAt(1);
5866 var w = region.width;
5867 var h = region.height;
5868
5869 var x = region.left;
5870 var y = region.top;
5871
5872 if (V === 'c') {
5873 y += h / 2;
5874 } else if (V === 'b') {
5875 y += h;
5876 }
5877
5878 if (H === 'c') {
5879 x += w / 2;
5880 } else if (H === 'r') {
5881 x += w;
5882 }
5883
5884 return {
5885 left: x,
5886 top: y
5887 };
5888 }
5889
5890 exports['default'] = getAlignOffset;
5891 module.exports = exports['default'];
5892
5893/***/ }),
5894/* 63 */
5895/***/ (function(module, exports, __webpack_require__) {
5896
5897 'use strict';
5898
5899 Object.defineProperty(exports, "__esModule", {
5900 value: true
5901 });
5902
5903 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; };
5904
5905 var _utils = __webpack_require__(54);
5906
5907 var _utils2 = _interopRequireDefault(_utils);
5908
5909 var _align = __webpack_require__(53);
5910
5911 var _align2 = _interopRequireDefault(_align);
5912
5913 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
5914
5915 /**
5916 * `tgtPoint`: { pageX, pageY } or { clientX, clientY }.
5917 * If client position provided, will internal convert to page position.
5918 */
5919
5920 function alignPoint(el, tgtPoint, align) {
5921 var pageX = void 0;
5922 var pageY = void 0;
5923
5924 var doc = _utils2['default'].getDocument(el);
5925 var win = doc.defaultView || doc.parentWindow;
5926
5927 var scrollX = _utils2['default'].getWindowScrollLeft(win);
5928 var scrollY = _utils2['default'].getWindowScrollTop(win);
5929 var viewportWidth = _utils2['default'].viewportWidth(win);
5930 var viewportHeight = _utils2['default'].viewportHeight(win);
5931
5932 if ('pageX' in tgtPoint) {
5933 pageX = tgtPoint.pageX;
5934 } else {
5935 pageX = scrollX + tgtPoint.clientX;
5936 }
5937
5938 if ('pageY' in tgtPoint) {
5939 pageY = tgtPoint.pageY;
5940 } else {
5941 pageY = scrollY + tgtPoint.clientY;
5942 }
5943
5944 var tgtRegion = {
5945 left: pageX,
5946 top: pageY,
5947 width: 0,
5948 height: 0
5949 };
5950
5951 var pointInView = pageX >= 0 && pageX <= scrollX + viewportWidth && pageY >= 0 && pageY <= scrollY + viewportHeight;
5952
5953 // Provide default target point
5954 var points = [align.points[0], 'cc'];
5955
5956 return (0, _align2['default'])(el, tgtRegion, _extends({}, align, { points: points }), pointInView);
5957 }
5958
5959 exports['default'] = alignPoint;
5960 module.exports = exports['default'];
5961
5962/***/ }),
5963/* 64 */
5964/***/ (function(module, exports, __webpack_require__) {
5965
5966 'use strict';
5967
5968 Object.defineProperty(exports, "__esModule", {
5969 value: true
5970 });
5971
5972 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; };
5973
5974 var _classnames = __webpack_require__(3);
5975
5976 var _classnames2 = _interopRequireDefault(_classnames);
5977
5978 var _react = __webpack_require__(4);
5979
5980 var _react2 = _interopRequireDefault(_react);
5981
5982 var _propTypes = __webpack_require__(5);
5983
5984 var _propTypes2 = _interopRequireDefault(_propTypes);
5985
5986 var _Transition = __webpack_require__(11);
5987
5988 var _Transition2 = _interopRequireDefault(_Transition);
5989
5990 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
5991
5992 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; }
5993
5994 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
5995
5996 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; }
5997
5998 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); }
5999
6000 var propTypes = {
6001 /**
6002 * Show the component; triggers the fade in or fade out animation
6003 */
6004 "in": _propTypes2["default"].bool,
6005
6006 /**
6007 * Unmount the component (remove it from the DOM) when it is faded out
6008 */
6009 unmountOnExit: _propTypes2["default"].bool,
6010
6011 /**
6012 * Run the fade in animation when the component mounts, if it is initially
6013 * shown
6014 */
6015 transitionAppear: _propTypes2["default"].bool,
6016
6017 /**
6018 * Duration of the fade animation in milliseconds, to ensure that finishing
6019 * callbacks are fired even if the original browser transition end events are
6020 * canceled
6021 */
6022 timeout: _propTypes2["default"].number,
6023
6024 /**
6025 * Callback fired before the component fades in
6026 */
6027 onEnter: _propTypes2["default"].func,
6028 /**
6029 * Callback fired after the component starts to fade in
6030 */
6031 onEntering: _propTypes2["default"].func,
6032 /**
6033 * Callback fired after the has component faded in
6034 */
6035 onEntered: _propTypes2["default"].func,
6036 /**
6037 * Callback fired before the component fades out
6038 */
6039 onExit: _propTypes2["default"].func,
6040 /**
6041 * Callback fired after the component starts to fade out
6042 */
6043 onExiting: _propTypes2["default"].func,
6044 /**
6045 * Callback fired after the component has faded out
6046 */
6047 onExited: _propTypes2["default"].func
6048 };
6049
6050 var defaultProps = {
6051 "in": false,
6052 timeout: 300,
6053 unmountOnExit: false,
6054 transitionAppear: false
6055 };
6056
6057 var Fade = function (_React$Component) {
6058 _inherits(Fade, _React$Component);
6059
6060 function Fade() {
6061 _classCallCheck(this, Fade);
6062
6063 return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));
6064 }
6065
6066 Fade.prototype.render = function render() {
6067 return _react2["default"].createElement(_Transition2["default"], _extends({}, this.props, {
6068 className: (0, _classnames2["default"])(this.props.className, 'fade'),
6069 enteredClassName: 'in',
6070 enteringClassName: 'in'
6071 }));
6072 };
6073
6074 return Fade;
6075 }(_react2["default"].Component);
6076
6077 Fade.propTypes = propTypes;
6078 Fade.defaultProps = defaultProps;
6079
6080 exports["default"] = Fade;
6081 module.exports = exports['default'];
6082
6083/***/ }),
6084/* 65 */
6085/***/ (function(module, exports, __webpack_require__) {
6086
6087 'use strict';
6088
6089 Object.defineProperty(exports, "__esModule", {
6090 value: true
6091 });
6092
6093 var _Message = __webpack_require__(66);
6094
6095 var _Message2 = _interopRequireDefault(_Message);
6096
6097 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
6098
6099 exports["default"] = _Message2["default"];
6100 module.exports = exports['default'];
6101
6102/***/ }),
6103/* 66 */
6104/***/ (function(module, exports, __webpack_require__) {
6105
6106 'use strict';
6107
6108 Object.defineProperty(exports, "__esModule", {
6109 value: true
6110 });
6111
6112 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; };
6113
6114 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; };
6115
6116 var _react = __webpack_require__(4);
6117
6118 var _react2 = _interopRequireDefault(_react);
6119
6120 var _beeNotification = __webpack_require__(67);
6121
6122 var _beeNotification2 = _interopRequireDefault(_beeNotification);
6123
6124 var _classnames = __webpack_require__(3);
6125
6126 var _classnames2 = _interopRequireDefault(_classnames);
6127
6128 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
6129
6130 var defaultDuration = 1.5;
6131 var defaultTop = 0;
6132 var defaultBottom = 48;
6133 var bottom = 90;
6134 var padding = 30;
6135 var width = 200;
6136 var messageInstance = void 0;
6137 var key = 1;
6138 var clsPrefix = 'u-message';
6139 var noop = function noop() {};
6140
6141 var positionObj = {
6142 "top": {
6143 messageStyle: {
6144 width: "100%"
6145 },
6146 notificationStyle: {
6147 top: defaultTop,
6148 width: "100%"
6149 },
6150 transitionName: 'top'
6151 },
6152 "bottom": {
6153 messageStyle: {
6154 width: "100%"
6155 },
6156 notificationStyle: {
6157 bottom: defaultBottom,
6158 width: "100%"
6159 },
6160 transitionName: 'bottom'
6161 },
6162 "topRight": {
6163 messageStyle: {
6164 width: width
6165 },
6166 notificationStyle: {
6167 top: padding,
6168 right: padding,
6169 width: width
6170 },
6171 transitionName: 'right'
6172 },
6173 "bottomRight": {
6174 messageStyle: {
6175 width: width
6176 },
6177 notificationStyle: {
6178 bottom: bottom,
6179 right: padding,
6180 width: width
6181 },
6182 transitionName: 'right'
6183 },
6184 "topLeft": {
6185 messageStyle: {
6186 width: width
6187 },
6188 notificationStyle: {
6189 top: padding,
6190 left: padding,
6191 width: width
6192 },
6193 transitionName: 'left'
6194 },
6195 "bottomLeft": {
6196 messageStyle: {
6197 width: width
6198 },
6199 notificationStyle: {
6200 bottom: bottom,
6201 left: padding,
6202 width: width
6203 },
6204 transitionName: 'left'
6205 }
6206 };
6207
6208 function getMessageInstance() {
6209 var position = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'top';
6210 var callback = arguments[1];
6211 var keyboard = arguments[2];
6212 var onEscapeKeyUp = arguments[3];
6213
6214 if (messageInstance) {
6215 callback(messageInstance);
6216 return;
6217 }
6218 var style = positionObj[position].notificationStyle;
6219 var instanceObj = {
6220 clsPrefix: clsPrefix,
6221 transitionName: clsPrefix + '-' + positionObj[position].transitionName,
6222 style: style, // 覆盖原来的样式
6223 position: ''
6224 };
6225 if (typeof keyboard === 'boolean') {
6226 instanceObj.keyboard = keyboard;
6227 }
6228 if (typeof onEscapeKeyUp === 'function') {
6229 instanceObj.onEscapeKeyUp = onEscapeKeyUp;
6230 }
6231 _beeNotification2["default"].newInstance(instanceObj, function (instance) {
6232 messageInstance = instance;
6233 callback(instance);
6234 });
6235 }
6236
6237 function notice(content, duration, type, onClose, position, style, keyboard, onEscapeKeyUp, showIcon) {
6238 var iconType = {
6239 info: 'uf uf-i-c-2',
6240 success: 'uf uf-correct',
6241 danger: 'uf uf-close-c',
6242 warning: 'uf uf-exc-t',
6243 light: 'uf uf-notification',
6244 dark: 'uf uf-bubble',
6245 news: 'uf uf-bell',
6246 infolight: 'uf uf-i-c-2',
6247 successlight: 'uf uf-correct',
6248 dangerlight: 'uf uf-close-c',
6249 warninglight: 'uf uf-exc-t'
6250 }[type];
6251
6252 var positionStyle = positionObj[position].messageStyle;
6253
6254 getMessageInstance(position, function (instance) {
6255 instance.notice({
6256 key: key,
6257 duration: duration,
6258 color: type,
6259 style: _extends({}, positionStyle, style),
6260 content: _react2["default"].createElement(
6261 'div',
6262 null,
6263 showIcon ? _react2["default"].createElement(
6264 'div',
6265 { className: clsPrefix + '-notice-description-icon' },
6266 _react2["default"].createElement('i', { className: (0, _classnames2["default"])(iconType) })
6267 ) : null,
6268 _react2["default"].createElement(
6269 'div',
6270 { className: clsPrefix + '-notice-description-content' },
6271 content
6272 )
6273 ),
6274 onClose: onClose
6275 });
6276 }, keyboard, onEscapeKeyUp);
6277 return function () {
6278 var target = key++;
6279 return function () {
6280 if (messageInstance) {
6281 messageInstance.removeNotice(target);
6282 }
6283 };
6284 }();
6285 }
6286
6287 exports["default"] = {
6288 create: function create(obj) {
6289 var content = obj.content || '';
6290 var duration = _typeof(obj.duration) == undefined ? defaultDuration : obj.duration;
6291 var color = obj.color || 'dark';
6292 var onClose = obj.onClose || noop;
6293 var position = obj.position || "top";
6294 var style = obj.style || {};
6295 var showIcon = obj.showIcon || false;
6296 return notice(content, duration, color, onClose, position, style, obj.keyboard, obj.onEscapeKeyUp, showIcon);
6297 },
6298 config: function config(options) {
6299 if (options.top !== undefined) {
6300 defaultTop = options.top;
6301 }
6302 if (options.duration !== undefined) {
6303 defaultDuration = options.duration;
6304 }
6305 if (options.clsPrefix !== undefined) {
6306 clsPrefix = options.clsPrefix;
6307 }
6308 if (options.defaultBottom !== undefined) {
6309 defaultBottom = options.defaultBottom;
6310 }
6311 if (options.bottom !== undefined) {
6312 bottom = options.bottom;
6313 }
6314 if (options.width !== undefined) {
6315 bottom = options.width;
6316 }
6317 },
6318 destroy: function destroy() {
6319 if (messageInstance) {
6320 messageInstance.destroy();
6321 messageInstance = null;
6322 }
6323 }
6324 };
6325 module.exports = exports['default'];
6326
6327/***/ }),
6328/* 67 */
6329/***/ (function(module, exports, __webpack_require__) {
6330
6331 'use strict';
6332
6333 Object.defineProperty(exports, "__esModule", {
6334 value: true
6335 });
6336
6337 var _Notification = __webpack_require__(68);
6338
6339 var _Notification2 = _interopRequireDefault(_Notification);
6340
6341 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
6342
6343 exports["default"] = _Notification2["default"];
6344 module.exports = exports['default'];
6345
6346/***/ }),
6347/* 68 */
6348/***/ (function(module, exports, __webpack_require__) {
6349
6350 'use strict';
6351
6352 Object.defineProperty(exports, "__esModule", {
6353 value: true
6354 });
6355
6356 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; };
6357
6358 var _react = __webpack_require__(4);
6359
6360 var _react2 = _interopRequireDefault(_react);
6361
6362 var _propTypes = __webpack_require__(5);
6363
6364 var _propTypes2 = _interopRequireDefault(_propTypes);
6365
6366 var _reactDom = __webpack_require__(12);
6367
6368 var _reactDom2 = _interopRequireDefault(_reactDom);
6369
6370 var _beeAnimate = __webpack_require__(69);
6371
6372 var _beeAnimate2 = _interopRequireDefault(_beeAnimate);
6373
6374 var _createChainedFunction = __webpack_require__(37);
6375
6376 var _createChainedFunction2 = _interopRequireDefault(_createChainedFunction);
6377
6378 var _ownerDocument = __webpack_require__(74);
6379
6380 var _ownerDocument2 = _interopRequireDefault(_ownerDocument);
6381
6382 var _addEventListener = __webpack_require__(76);
6383
6384 var _addEventListener2 = _interopRequireDefault(_addEventListener);
6385
6386 var _classnames = __webpack_require__(3);
6387
6388 var _classnames2 = _interopRequireDefault(_classnames);
6389
6390 var _Notice = __webpack_require__(78);
6391
6392 var _Notice2 = _interopRequireDefault(_Notice);
6393
6394 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
6395
6396 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; }
6397
6398 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; }
6399
6400 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
6401
6402 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; }
6403
6404 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); }
6405
6406 var seed = 0;
6407 var now = Date.now();
6408
6409 function getUuid() {
6410 return 'uNotification_' + now + '_' + seed++;
6411 }
6412
6413 var propTypes = {
6414 show: _propTypes2["default"].bool,
6415 clsPrefix: _propTypes2["default"].string,
6416 style: _propTypes2["default"].object,
6417 position: _propTypes2["default"].oneOf(['topRight', 'bottomRight', '']),
6418 transitionName: _propTypes2["default"].string,
6419 keyboard: _propTypes2["default"].bool, // 按esc键是否关闭notice
6420 onEscapeKeyUp: _propTypes2["default"].func, // 设置esc键特殊钩子函数
6421 animation: _propTypes2["default"].oneOfType([_propTypes2["default"].string, _propTypes2["default"].object])
6422 };
6423
6424 var defaultProps = {
6425 clsPrefix: 'u-notification',
6426 animation: 'fade',
6427 keyboard: true,
6428 position: 'topRight'
6429 };
6430
6431 var Notification = function (_Component) {
6432 _inherits(Notification, _Component);
6433
6434 function Notification(props) {
6435 _classCallCheck(this, Notification);
6436
6437 var _this = _possibleConstructorReturn(this, _Component.call(this, props));
6438
6439 _this.handleDocumentKeyUp = function (e) {
6440 if (_this.props.keyboard && e.keyCode === 27 && _this.state.notices.length) {
6441 _this.setState(function (previousState) {
6442 previousState.notices.shift();
6443 return {
6444 notices: previousState.notices
6445 };
6446 });
6447 if (_this.props.onEscapeKeyUp) {
6448 _this.props.onEscapeKeyUp(e);
6449 }
6450 }
6451 };
6452
6453 _this.state = {
6454 notices: []
6455 };
6456 _this.add = _this.add.bind(_this);
6457 _this.remove = _this.remove.bind(_this);
6458
6459 return _this;
6460 }
6461
6462 Notification.prototype.componentDidMount = function componentDidMount() {
6463 // 给document绑定keyup事件
6464 var doc = (0, _ownerDocument2["default"])(this);
6465 this._onDocumentKeyupListener = (0, _addEventListener2["default"])(doc, 'keyup', this.handleDocumentKeyUp);
6466 };
6467
6468 Notification.prototype.componentWillUnmount = function componentWillUnmount() {
6469 this._onDocumentKeyupListener.remove();
6470 };
6471
6472 Notification.prototype.getTransitionName = function getTransitionName() {
6473 var props = this.props;
6474 var transitionName = props.transitionName;
6475 if (!transitionName && props.animation) {
6476 transitionName = props.clsPrefix + '-' + props.animation;
6477 }
6478 return transitionName;
6479 };
6480
6481 Notification.prototype.add = function add(notice) {
6482 var key = notice.key = notice.key || getUuid();
6483 this.setState(function (previousState) {
6484 var notices = previousState.notices;
6485 if (!notices.filter(function (v) {
6486 return v.key === key;
6487 }).length) {
6488 return {
6489 notices: notices.concat(notice)
6490 };
6491 }
6492 });
6493 };
6494
6495 Notification.prototype.remove = function remove(key) {
6496 this.setState(function (previousState) {
6497 return {
6498 notices: previousState.notices.filter(function (notice) {
6499 return notice.key !== key;
6500 })
6501 };
6502 });
6503 };
6504
6505 /**
6506 * 处理绑定在document上的keyup事件
6507 */
6508
6509
6510 Notification.prototype.render = function render() {
6511 var _this2 = this,
6512 _classes;
6513
6514 var _props = this.props,
6515 clsPrefix = _props.clsPrefix,
6516 className = _props.className,
6517 position = _props.position,
6518 style = _props.style;
6519
6520 var noticeNodes = this.state.notices.map(function (notice) {
6521 var onClose = (0, _createChainedFunction2["default"])(_this2.remove.bind(_this2, notice.key), notice.onClose);
6522 return _react2["default"].createElement(
6523 _Notice2["default"],
6524 _extends({
6525 clsPrefix: clsPrefix
6526 }, notice, {
6527 onClose: onClose
6528 }),
6529 notice.content
6530 );
6531 });
6532 var classes = (_classes = {}, _defineProperty(_classes, clsPrefix, 1), _defineProperty(_classes, className, !!className), _classes);
6533 if (position) {
6534 classes[clsPrefix + '-' + position] = !!position;
6535 }
6536
6537 return _react2["default"].createElement(
6538 'div',
6539 { className: (0, _classnames2["default"])(className, classes), style: style },
6540 _react2["default"].createElement(
6541 _beeAnimate2["default"],
6542 { transitionName: this.getTransitionName() },
6543 noticeNodes
6544 )
6545 );
6546 };
6547
6548 return Notification;
6549 }(_react.Component);
6550
6551 ;
6552
6553 Notification.propTypes = propTypes;
6554 Notification.defaultProps = defaultProps;
6555
6556 Notification.newInstance = function newNotificationInstance(properties, callback) {
6557 if (typeof callback !== 'function') {
6558 console.error('You must introduce callback as the second parameter of Notification.newInstance().');
6559 return;
6560 }
6561 var props = properties || {};
6562 var div = document.createElement('div');
6563 document.body.appendChild(div);
6564
6565 var called = false;
6566 function ref(notification) {
6567 if (called) {
6568 return;
6569 }
6570 called = true;
6571 callback({
6572 notice: function notice(noticeProps) {
6573 notification.add(noticeProps);
6574 },
6575 removeNotice: function removeNotice(key) {
6576 notification.remove(key);
6577 },
6578
6579 component: notification,
6580 destroy: function destroy() {
6581 _reactDom2["default"].unmountComponentAtNode(div);
6582 document.body.removeChild(div);
6583 }
6584 });
6585 }
6586 _reactDom2["default"].render(_react2["default"].createElement(Notification, _extends({}, props, { ref: ref })), div);
6587 };
6588
6589 exports["default"] = Notification;
6590 module.exports = exports['default'];
6591
6592/***/ }),
6593/* 69 */
6594/***/ (function(module, exports, __webpack_require__) {
6595
6596 'use strict';
6597
6598 Object.defineProperty(exports, "__esModule", {
6599 value: true
6600 });
6601
6602 var _Animate = __webpack_require__(70);
6603
6604 var _Animate2 = _interopRequireDefault(_Animate);
6605
6606 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
6607
6608 exports["default"] = _Animate2["default"];
6609 module.exports = exports['default'];
6610
6611/***/ }),
6612/* 70 */
6613/***/ (function(module, exports, __webpack_require__) {
6614
6615 'use strict';
6616
6617 Object.defineProperty(exports, "__esModule", {
6618 value: true
6619 });
6620
6621 var _react = __webpack_require__(4);
6622
6623 var _react2 = _interopRequireDefault(_react);
6624
6625 var _propTypes = __webpack_require__(5);
6626
6627 var _propTypes2 = _interopRequireDefault(_propTypes);
6628
6629 var _ChildrenUtils = __webpack_require__(71);
6630
6631 var _AnimateChild = __webpack_require__(72);
6632
6633 var _AnimateChild2 = _interopRequireDefault(_AnimateChild);
6634
6635 var _util = __webpack_require__(73);
6636
6637 var _util2 = _interopRequireDefault(_util);
6638
6639 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
6640
6641 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; }
6642
6643 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; }
6644
6645 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
6646
6647 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; }
6648
6649 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); }
6650
6651 var defaultKey = 'u_animate_' + Date.now();
6652
6653
6654 function getChildrenFromProps(props) {
6655 var children = props.children;
6656 if (_react2["default"].isValidElement(children)) {
6657 if (!children.key) {
6658 return _react2["default"].cloneElement(children, {
6659 key: defaultKey
6660 });
6661 }
6662 }
6663 return children;
6664 }
6665
6666 function noop() {}
6667
6668 var propTypes = {
6669 component: _propTypes2["default"].any,
6670 animation: _propTypes2["default"].object,
6671 transitionName: _propTypes2["default"].oneOfType([_propTypes2["default"].string, _propTypes2["default"].object]),
6672 transitionEnter: _propTypes2["default"].bool,
6673 transitionAppear: _propTypes2["default"].bool,
6674 exclusive: _propTypes2["default"].bool,
6675 transitionLeave: _propTypes2["default"].bool,
6676 onEnd: _propTypes2["default"].func,
6677 onEnter: _propTypes2["default"].func,
6678 onLeave: _propTypes2["default"].func,
6679 onAppear: _propTypes2["default"].func,
6680 showProp: _propTypes2["default"].string
6681 };
6682
6683 var defaultProps = {
6684 animation: {},
6685 component: 'span',
6686 transitionEnter: true,
6687 transitionLeave: true,
6688 transitionAppear: false,
6689 onEnd: noop,
6690 onEnter: noop,
6691 onLeave: noop,
6692 onAppear: noop
6693 };
6694
6695 var Animate = function (_Component) {
6696 _inherits(Animate, _Component);
6697
6698 function Animate(props) {
6699 _classCallCheck(this, Animate);
6700
6701 var _this = _possibleConstructorReturn(this, _Component.call(this, props));
6702
6703 _this.currentlyAnimatingKeys = {};
6704 _this.keysToEnter = [];
6705 _this.keysToLeave = [];
6706 _this.state = {
6707 children: (0, _ChildrenUtils.toArrayChildren)(getChildrenFromProps(_this.props))
6708 };
6709
6710 _this.performEnter = _this.performEnter.bind(_this);
6711 _this.performAppear = _this.performAppear.bind(_this);
6712 _this.handleDoneAdding = _this.handleDoneAdding.bind(_this);
6713 _this.performLeave = _this.performLeave.bind(_this);
6714
6715 _this.performLeave = _this.performLeave.bind(_this);
6716 _this.handleDoneLeaving = _this.handleDoneLeaving.bind(_this);
6717 _this.isValidChildByKey = _this.isValidChildByKey.bind(_this);
6718 _this.stop = _this.stop.bind(_this);
6719 return _this;
6720 }
6721
6722 Animate.prototype.componentDidMount = function componentDidMount() {
6723 var _this2 = this;
6724
6725 this.mounted = true;
6726 var showProp = this.props.showProp;
6727 var children = this.state.children;
6728 if (showProp) {
6729 children = children.filter(function (child) {
6730 return !!child.props[showProp];
6731 });
6732 }
6733 children.forEach(function (child) {
6734 if (child) {
6735 _this2.performAppear(child.key);
6736 }
6737 });
6738 };
6739
6740 Animate.prototype.componentWillUnmount = function componentWillUnmount() {
6741 this.mounted = false;
6742 };
6743
6744 Animate.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
6745 var _this3 = this;
6746
6747 this.nextProps = nextProps;
6748 var nextChildren = (0, _ChildrenUtils.toArrayChildren)(getChildrenFromProps(nextProps));
6749 var props = this.props;
6750 // exclusive needs immediate response
6751 if (props.exclusive) {
6752 Object.keys(this.currentlyAnimatingKeys).forEach(function (key) {
6753 _this3.stop(key);
6754 });
6755 }
6756 var showProp = props.showProp;
6757 var currentlyAnimatingKeys = this.currentlyAnimatingKeys;
6758 // last props children if exclusive
6759 var currentChildren = props.exclusive ? (0, _ChildrenUtils.toArrayChildren)(getChildrenFromProps(props)) : this.state.children;
6760 // in case destroy in showProp mode
6761 var newChildren = [];
6762 if (showProp) {
6763 currentChildren.forEach(function (currentChild) {
6764 var nextChild = currentChild && (0, _ChildrenUtils.findChildInChildrenByKey)(nextChildren, currentChild.key);
6765 var newChild = void 0;
6766 if ((!nextChild || !nextChild.props[showProp]) && currentChild.props[showProp]) {
6767 newChild = _react2["default"].cloneElement(nextChild || currentChild, _defineProperty({}, showProp, true));
6768 } else {
6769 newChild = nextChild;
6770 }
6771 if (newChild) {
6772 newChildren.push(newChild);
6773 }
6774 });
6775 nextChildren.forEach(function (nextChild) {
6776 if (!nextChild || !(0, _ChildrenUtils.findChildInChildrenByKey)(currentChildren, nextChild.key)) {
6777 newChildren.push(nextChild);
6778 }
6779 });
6780 } else {
6781 newChildren = (0, _ChildrenUtils.mergeChildren)(currentChildren, nextChildren);
6782 }
6783
6784 // need render to avoid update
6785 this.setState({
6786 children: newChildren
6787 });
6788
6789 nextChildren.forEach(function (child) {
6790 var key = child && child.key;
6791 if (child && currentlyAnimatingKeys[key]) {
6792 return;
6793 }
6794 var hasPrev = child && (0, _ChildrenUtils.findChildInChildrenByKey)(currentChildren, key);
6795 if (showProp) {
6796 var showInNext = child.props[showProp];
6797 if (hasPrev) {
6798 var showInNow = (0, _ChildrenUtils.findShownChildInChildrenByKey)(currentChildren, key, showProp);
6799 if (!showInNow && showInNext) {
6800 _this3.keysToEnter.push(key);
6801 }
6802 } else if (showInNext) {
6803 _this3.keysToEnter.push(key);
6804 }
6805 } else if (!hasPrev) {
6806 _this3.keysToEnter.push(key);
6807 }
6808 });
6809
6810 currentChildren.forEach(function (child) {
6811 var key = child && child.key;
6812 if (child && currentlyAnimatingKeys[key]) {
6813 return;
6814 }
6815 var hasNext = child && (0, _ChildrenUtils.findChildInChildrenByKey)(nextChildren, key);
6816 if (showProp) {
6817 var showInNow = child.props[showProp];
6818 if (hasNext) {
6819 var showInNext = (0, _ChildrenUtils.findShownChildInChildrenByKey)(nextChildren, key, showProp);
6820 if (!showInNext && showInNow) {
6821 _this3.keysToLeave.push(key);
6822 }
6823 } else if (showInNow) {
6824 _this3.keysToLeave.push(key);
6825 }
6826 } else if (!hasNext) {
6827 _this3.keysToLeave.push(key);
6828 }
6829 });
6830 };
6831
6832 Animate.prototype.componentDidUpdate = function componentDidUpdate() {
6833 var keysToEnter = this.keysToEnter;
6834 this.keysToEnter = [];
6835 keysToEnter.forEach(this.performEnter);
6836 var keysToLeave = this.keysToLeave;
6837 this.keysToLeave = [];
6838 keysToLeave.forEach(this.performLeave);
6839 };
6840
6841 Animate.prototype.performEnter = function performEnter(key) {
6842 // may already remove by exclusive
6843 if (this.refs[key]) {
6844 this.currentlyAnimatingKeys[key] = true;
6845 this.refs[key].componentWillEnter(this.handleDoneAdding.bind(this, key, 'enter'));
6846 }
6847 };
6848
6849 Animate.prototype.performAppear = function performAppear(key) {
6850 if (this.refs[key]) {
6851 this.currentlyAnimatingKeys[key] = true;
6852 this.refs[key].componentWillAppear(this.handleDoneAdding.bind(this, key, 'appear'));
6853 }
6854 };
6855
6856 Animate.prototype.handleDoneAdding = function handleDoneAdding(key, type) {
6857 var props = this.props;
6858 delete this.currentlyAnimatingKeys[key];
6859 // if update on exclusive mode, skip check
6860 if (props.exclusive && props !== this.nextProps) {
6861 return;
6862 }
6863 var currentChildren = (0, _ChildrenUtils.toArrayChildren)(getChildrenFromProps(props));
6864 if (!this.isValidChildByKey(currentChildren, key)) {
6865 // exclusive will not need this
6866 this.performLeave(key);
6867 } else {
6868 if (type === 'appear') {
6869 if (_util2["default"].allowAppearCallback(props)) {
6870 props.onAppear(key);
6871 props.onEnd(key, true);
6872 }
6873 } else {
6874 if (_util2["default"].allowEnterCallback(props)) {
6875 props.onEnter(key);
6876 props.onEnd(key, true);
6877 }
6878 }
6879 }
6880 };
6881
6882 Animate.prototype.performLeave = function performLeave(key) {
6883 // may already remove by exclusive
6884 if (this.refs[key]) {
6885 this.currentlyAnimatingKeys[key] = true;
6886 this.refs[key].componentWillLeave(this.handleDoneLeaving.bind(this, key));
6887 }
6888 };
6889
6890 Animate.prototype.handleDoneLeaving = function handleDoneLeaving(key) {
6891 var props = this.props;
6892 delete this.currentlyAnimatingKeys[key];
6893 // if update on exclusive mode, skip check
6894 if (props.exclusive && props !== this.nextProps) {
6895 return;
6896 }
6897 var currentChildren = (0, _ChildrenUtils.toArrayChildren)(getChildrenFromProps(props));
6898 // in case state change is too fast
6899 if (this.isValidChildByKey(currentChildren, key)) {
6900 this.performEnter(key);
6901 } else {
6902 var end = function end() {
6903 if (_util2["default"].allowLeaveCallback(props)) {
6904 props.onLeave(key);
6905 props.onEnd(key, false);
6906 }
6907 };
6908 /* eslint react/no-is-mounted:0 */
6909 if (this.mounted && !(0, _ChildrenUtils.isSameChildren)(this.state.children, currentChildren, props.showProp)) {
6910 this.setState({
6911 children: currentChildren
6912 }, end);
6913 } else {
6914 end();
6915 }
6916 }
6917 };
6918
6919 Animate.prototype.isValidChildByKey = function isValidChildByKey(currentChildren, key) {
6920 var showProp = this.props.showProp;
6921 if (showProp) {
6922 return (0, _ChildrenUtils.findShownChildInChildrenByKey)(currentChildren, key, showProp);
6923 }
6924 return (0, _ChildrenUtils.findChildInChildrenByKey)(currentChildren, key);
6925 };
6926
6927 Animate.prototype.stop = function stop(key) {
6928 delete this.currentlyAnimatingKeys[key];
6929 var component = this.refs[key];
6930 if (component) {
6931 component.stop();
6932 }
6933 };
6934
6935 Animate.prototype.render = function render() {
6936 var props = this.props;
6937 this.nextProps = props;
6938 var stateChildren = this.state.children;
6939 var children = null;
6940 if (stateChildren) {
6941 children = stateChildren.map(function (child) {
6942 if (child === null || child === undefined) {
6943 return child;
6944 }
6945 if (!child.key) {
6946 throw new Error('must set key for <rc-animate> children');
6947 }
6948 return _react2["default"].createElement(
6949 _AnimateChild2["default"],
6950 {
6951 key: child.key,
6952 ref: child.key,
6953 animation: props.animation,
6954 transitionName: props.transitionName,
6955 transitionEnter: props.transitionEnter,
6956 transitionAppear: props.transitionAppear,
6957 transitionLeave: props.transitionLeave
6958 },
6959 child
6960 );
6961 });
6962 }
6963 var Component = props.component;
6964 if (Component) {
6965 var passedProps = props;
6966 if (typeof Component === 'string') {
6967 passedProps = {
6968 className: props.className,
6969 style: props.style
6970 };
6971 }
6972 return _react2["default"].createElement(
6973 Component,
6974 passedProps,
6975 children
6976 );
6977 }
6978 return children[0] || null;
6979 };
6980
6981 return Animate;
6982 }(_react.Component);
6983
6984 ;
6985 Animate.defaultProps = defaultProps;
6986 Animate.propTypes = Animate.propTypes;
6987
6988 exports["default"] = Animate;
6989 module.exports = exports['default'];
6990
6991/***/ }),
6992/* 71 */
6993/***/ (function(module, exports, __webpack_require__) {
6994
6995 'use strict';
6996
6997 Object.defineProperty(exports, "__esModule", {
6998 value: true
6999 });
7000 exports.toArrayChildren = toArrayChildren;
7001 exports.findChildInChildrenByKey = findChildInChildrenByKey;
7002 exports.findShownChildInChildrenByKey = findShownChildInChildrenByKey;
7003 exports.findHiddenChildInChildrenByKey = findHiddenChildInChildrenByKey;
7004 exports.isSameChildren = isSameChildren;
7005 exports.mergeChildren = mergeChildren;
7006
7007 var _react = __webpack_require__(4);
7008
7009 var _react2 = _interopRequireDefault(_react);
7010
7011 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
7012
7013 function toArrayChildren(children) {
7014 var ret = [];
7015 _react2["default"].Children.forEach(children, function (child) {
7016 ret.push(child);
7017 });
7018 return ret;
7019 }
7020
7021 function findChildInChildrenByKey(children, key) {
7022 var ret = null;
7023 if (children) {
7024 children.forEach(function (child) {
7025 if (ret) {
7026 return;
7027 }
7028 if (child && child.key === key) {
7029 ret = child;
7030 }
7031 });
7032 }
7033 return ret;
7034 }
7035
7036 function findShownChildInChildrenByKey(children, key, showProp) {
7037 var ret = null;
7038 if (children) {
7039 children.forEach(function (child) {
7040 if (child && child.key === key && child.props[showProp]) {
7041 if (ret) {
7042 throw new Error('two child with same key for <rc-animate> children');
7043 }
7044 ret = child;
7045 }
7046 });
7047 }
7048 return ret;
7049 }
7050
7051 function findHiddenChildInChildrenByKey(children, key, showProp) {
7052 var found = 0;
7053 if (children) {
7054 children.forEach(function (child) {
7055 if (found) {
7056 return;
7057 }
7058 found = child && child.key === key && !child.props[showProp];
7059 });
7060 }
7061 return found;
7062 }
7063
7064 function isSameChildren(c1, c2, showProp) {
7065 var same = c1.length === c2.length;
7066 if (same) {
7067 c1.forEach(function (child, index) {
7068 var child2 = c2[index];
7069 if (child && child2) {
7070 if (child && !child2 || !child && child2) {
7071 same = false;
7072 } else if (child.key !== child2.key) {
7073 same = false;
7074 } else if (showProp && child.props[showProp] !== child2.props[showProp]) {
7075 same = false;
7076 }
7077 }
7078 });
7079 }
7080 return same;
7081 }
7082
7083 function mergeChildren(prev, next) {
7084 var ret = [];
7085
7086 // For each key of `next`, the list of keys to insert before that key in
7087 // the combined list
7088 var nextChildrenPending = {};
7089 var pendingChildren = [];
7090 prev.forEach(function (child) {
7091 if (child && findChildInChildrenByKey(next, child.key)) {
7092 if (pendingChildren.length) {
7093 nextChildrenPending[child.key] = pendingChildren;
7094 pendingChildren = [];
7095 }
7096 } else {
7097 pendingChildren.push(child);
7098 }
7099 });
7100
7101 next.forEach(function (child) {
7102 if (child && nextChildrenPending.hasOwnProperty(child.key)) {
7103 ret = ret.concat(nextChildrenPending[child.key]);
7104 }
7105 ret.push(child);
7106 });
7107
7108 ret = ret.concat(pendingChildren);
7109
7110 return ret;
7111 }
7112
7113/***/ }),
7114/* 72 */
7115/***/ (function(module, exports, __webpack_require__) {
7116
7117 'use strict';
7118
7119 Object.defineProperty(exports, "__esModule", {
7120 value: true
7121 });
7122
7123 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; };
7124
7125 var _react = __webpack_require__(4);
7126
7127 var _react2 = _interopRequireDefault(_react);
7128
7129 var _propTypes = __webpack_require__(5);
7130
7131 var _propTypes2 = _interopRequireDefault(_propTypes);
7132
7133 var _reactDom = __webpack_require__(12);
7134
7135 var _reactDom2 = _interopRequireDefault(_reactDom);
7136
7137 var _tinperBeeCore = __webpack_require__(27);
7138
7139 var _util = __webpack_require__(73);
7140
7141 var _util2 = _interopRequireDefault(_util);
7142
7143 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
7144
7145 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; }
7146
7147 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
7148
7149 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; }
7150
7151 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); }
7152
7153 var transitionMap = {
7154 enter: 'transitionEnter',
7155 appear: 'transitionAppear',
7156 leave: 'transitionLeave'
7157 };
7158
7159 var propTypes = {
7160 children: _propTypes2["default"].any
7161 };
7162
7163 var AnimateChild = function (_Component) {
7164 _inherits(AnimateChild, _Component);
7165
7166 function AnimateChild(props) {
7167 _classCallCheck(this, AnimateChild);
7168
7169 var _this = _possibleConstructorReturn(this, _Component.call(this, props));
7170
7171 _this.transition = _this.transition.bind(_this);
7172 _this.stop = _this.stop.bind(_this);
7173 return _this;
7174 }
7175
7176 AnimateChild.prototype.componentWillUnmount = function componentWillUnmount() {
7177 this.stop();
7178 };
7179
7180 AnimateChild.prototype.componentWillEnter = function componentWillEnter(done) {
7181 if (_util2["default"].isEnterSupported(this.props)) {
7182 this.transition('enter', done);
7183 } else {
7184 done();
7185 }
7186 };
7187
7188 AnimateChild.prototype.componentWillAppear = function componentWillAppear(done) {
7189 if (_util2["default"].isAppearSupported(this.props)) {
7190 this.transition('appear', done);
7191 } else {
7192 done();
7193 }
7194 };
7195
7196 AnimateChild.prototype.componentWillLeave = function componentWillLeave(done) {
7197 if (_util2["default"].isLeaveSupported(this.props)) {
7198 this.transition('leave', done);
7199 } else {
7200 // always sync, do not interupt with react component life cycle
7201 // update hidden -> animate hidden ->
7202 // didUpdate -> animate leave -> unmount (if animate is none)
7203 done();
7204 }
7205 };
7206
7207 AnimateChild.prototype.transition = function transition(animationType, finishCallback) {
7208 var _this2 = this;
7209
7210 var node = _reactDom2["default"].findDOMNode(this);
7211 var props = this.props;
7212 var transitionName = props.transitionName;
7213 var nameIsObj = (typeof transitionName === 'undefined' ? 'undefined' : _typeof(transitionName)) === 'object';
7214 this.stop();
7215 var end = function end() {
7216 _this2.stopper = null;
7217 finishCallback();
7218 };
7219 if ((_tinperBeeCore.cssAnimation.isCssAnimationSupported || !props.animation[animationType]) && transitionName && props[transitionMap[animationType]]) {
7220 var name = nameIsObj ? transitionName[animationType] : transitionName + '-' + animationType;
7221 var activeName = name + '-active';
7222 if (nameIsObj && transitionName[animationType + 'Active']) {
7223 activeName = transitionName[animationType + 'Active'];
7224 }
7225 this.stopper = (0, _tinperBeeCore.cssAnimation)(node, {
7226 name: name,
7227 active: activeName
7228 }, end);
7229 } else {
7230 this.stopper = props.animation[animationType](node, end);
7231 }
7232 };
7233
7234 AnimateChild.prototype.stop = function stop() {
7235 var stopper = this.stopper;
7236 if (stopper) {
7237 this.stopper = null;
7238 stopper.stop();
7239 }
7240 };
7241
7242 AnimateChild.prototype.render = function render() {
7243 return this.props.children;
7244 };
7245
7246 return AnimateChild;
7247 }(_react.Component);
7248
7249 ;
7250
7251 AnimateChild.propTypes = propTypes;
7252
7253 exports["default"] = AnimateChild;
7254 module.exports = exports['default'];
7255
7256/***/ }),
7257/* 73 */
7258/***/ (function(module, exports) {
7259
7260 "use strict";
7261
7262 Object.defineProperty(exports, "__esModule", {
7263 value: true
7264 });
7265 var util = {
7266 isAppearSupported: function isAppearSupported(props) {
7267 return props.transitionName && props.transitionAppear || props.animation.appear;
7268 },
7269 isEnterSupported: function isEnterSupported(props) {
7270 return props.transitionName && props.transitionEnter || props.animation.enter;
7271 },
7272 isLeaveSupported: function isLeaveSupported(props) {
7273 return props.transitionName && props.transitionLeave || props.animation.leave;
7274 },
7275 allowAppearCallback: function allowAppearCallback(props) {
7276 return props.transitionAppear || props.animation.appear;
7277 },
7278 allowEnterCallback: function allowEnterCallback(props) {
7279 return props.transitionEnter || props.animation.enter;
7280 },
7281 allowLeaveCallback: function allowLeaveCallback(props) {
7282 return props.transitionLeave || props.animation.leave;
7283 }
7284 };
7285 exports["default"] = util;
7286 module.exports = exports["default"];
7287
7288/***/ }),
7289/* 74 */
7290/***/ (function(module, exports, __webpack_require__) {
7291
7292 'use strict';
7293
7294 Object.defineProperty(exports, "__esModule", {
7295 value: true
7296 });
7297
7298 exports["default"] = function (componentOrElement) {
7299 return (0, _ownerDocument2["default"])(_reactDom2["default"].findDOMNode(componentOrElement));
7300 };
7301
7302 var _reactDom = __webpack_require__(12);
7303
7304 var _reactDom2 = _interopRequireDefault(_reactDom);
7305
7306 var _ownerDocument = __webpack_require__(75);
7307
7308 var _ownerDocument2 = _interopRequireDefault(_ownerDocument);
7309
7310 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
7311
7312 module.exports = exports['default'];
7313
7314/***/ }),
7315/* 75 */
7316/***/ (function(module, exports) {
7317
7318 "use strict";
7319
7320 exports.__esModule = true;
7321 exports.default = ownerDocument;
7322
7323 function ownerDocument(node) {
7324 return node && node.ownerDocument || document;
7325 }
7326
7327 module.exports = exports["default"];
7328
7329/***/ }),
7330/* 76 */
7331/***/ (function(module, exports, __webpack_require__) {
7332
7333 'use strict';
7334
7335 Object.defineProperty(exports, "__esModule", {
7336 value: true
7337 });
7338
7339 exports["default"] = function (node, event, handler, capture) {
7340 (0, _on2["default"])(node, event, handler, capture);
7341
7342 return {
7343 remove: function remove() {
7344 (0, _off2["default"])(node, event, handler, capture);
7345 }
7346 };
7347 };
7348
7349 var _on = __webpack_require__(16);
7350
7351 var _on2 = _interopRequireDefault(_on);
7352
7353 var _off = __webpack_require__(77);
7354
7355 var _off2 = _interopRequireDefault(_off);
7356
7357 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
7358
7359 module.exports = exports['default'];
7360
7361/***/ }),
7362/* 77 */
7363/***/ (function(module, exports, __webpack_require__) {
7364
7365 "use strict";
7366
7367 var _interopRequireDefault = __webpack_require__(14);
7368
7369 exports.__esModule = true;
7370 exports.default = void 0;
7371
7372 var _inDOM = _interopRequireDefault(__webpack_require__(15));
7373
7374 var off = function off() {};
7375
7376 if (_inDOM.default) {
7377 off = function () {
7378 if (document.addEventListener) return function (node, eventName, handler, capture) {
7379 return node.removeEventListener(eventName, handler, capture || false);
7380 };else if (document.attachEvent) return function (node, eventName, handler) {
7381 return node.detachEvent('on' + eventName, handler);
7382 };
7383 }();
7384 }
7385
7386 var _default = off;
7387 exports.default = _default;
7388 module.exports = exports["default"];
7389
7390/***/ }),
7391/* 78 */
7392/***/ (function(module, exports, __webpack_require__) {
7393
7394 'use strict';
7395
7396 Object.defineProperty(exports, "__esModule", {
7397 value: true
7398 });
7399
7400 var _react = __webpack_require__(4);
7401
7402 var _react2 = _interopRequireDefault(_react);
7403
7404 var _classnames = __webpack_require__(3);
7405
7406 var _classnames2 = _interopRequireDefault(_classnames);
7407
7408 var _propTypes = __webpack_require__(5);
7409
7410 var _propTypes2 = _interopRequireDefault(_propTypes);
7411
7412 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
7413
7414 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; }
7415
7416 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; }
7417
7418 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
7419
7420 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; }
7421
7422 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); }
7423
7424 var propTypes = {
7425 duration: _propTypes2["default"].number,
7426 onClose: _propTypes2["default"].func,
7427 children: _propTypes2["default"].any,
7428 color: _propTypes2["default"].oneOf(['info', 'success', 'danger', 'warning', 'light', 'dark', 'news', 'infolight', 'successlight', 'dangerlight', 'warninglight']),
7429 title: _propTypes2["default"].any
7430 };
7431
7432 function noop() {}
7433
7434 var defaultProps = {
7435 onEnd: noop,
7436 onClose: noop,
7437 duration: 4.5,
7438 closable: true
7439 };
7440
7441 var Notice = function (_React$Component) {
7442 _inherits(Notice, _React$Component);
7443
7444 function Notice(props) {
7445 _classCallCheck(this, Notice);
7446
7447 var _this = _possibleConstructorReturn(this, _React$Component.call(this, props));
7448
7449 _this.clearCloseTimer = _this.clearCloseTimer.bind(_this);
7450 _this.close = _this.close.bind(_this);
7451 return _this;
7452 }
7453
7454 Notice.prototype.componentDidMount = function componentDidMount() {
7455 var _this2 = this;
7456
7457 if (this.props.duration) {
7458 this.closeTimer = setTimeout(function () {
7459 _this2.close();
7460 }, this.props.duration * 1000);
7461 }
7462 };
7463
7464 Notice.prototype.componentWillUnmount = function componentWillUnmount() {
7465 this.clearCloseTimer();
7466 };
7467
7468 Notice.prototype.clearCloseTimer = function clearCloseTimer() {
7469 if (this.closeTimer) {
7470 clearTimeout(this.closeTimer);
7471 this.closeTimer = null;
7472 }
7473 };
7474
7475 Notice.prototype.close = function close() {
7476 this.clearCloseTimer();
7477 this.props.onClose();
7478 };
7479
7480 Notice.prototype.render = function render() {
7481 var _classes;
7482
7483 var _props = this.props,
7484 closable = _props.closable,
7485 clsPrefix = _props.clsPrefix,
7486 className = _props.className,
7487 style = _props.style,
7488 children = _props.children,
7489 color = _props.color,
7490 title = _props.title;
7491
7492 var componentClass = clsPrefix + '-notice';
7493 var classes = (_classes = {}, _defineProperty(_classes, '' + componentClass, 1), _defineProperty(_classes, componentClass + '-closable', closable), _defineProperty(_classes, className, !!className), _classes);
7494 if (color) {
7495 classes[componentClass + '-' + color] = true;
7496 }
7497 return _react2["default"].createElement(
7498 'div',
7499 { className: (0, _classnames2["default"])(classes), style: style, onClick: this.close },
7500 _react2["default"].createElement(
7501 'div',
7502 { className: componentClass + '-content' },
7503 title && _react2["default"].createElement(
7504 'div',
7505 { className: componentClass + '-title' },
7506 title
7507 ),
7508 _react2["default"].createElement(
7509 'div',
7510 { className: componentClass + '-description' },
7511 children
7512 )
7513 ),
7514 closable ? _react2["default"].createElement(
7515 'a',
7516 { tabIndex: '0', onClick: this.close, className: componentClass + '-close' },
7517 _react2["default"].createElement('span', { className: componentClass + '-close-x' })
7518 ) : null
7519 );
7520 };
7521
7522 return Notice;
7523 }(_react2["default"].Component);
7524
7525 ;
7526
7527 Notice.propTypes = propTypes;
7528 Notice.defaultProps = defaultProps;
7529
7530 exports["default"] = Notice;
7531 module.exports = exports['default'];
7532
7533/***/ }),
7534/* 79 */
7535/***/ (function(module, exports, __webpack_require__) {
7536
7537 'use strict';
7538
7539 var deselectCurrent = __webpack_require__(80);
7540
7541 var defaultMessage = 'Copy to clipboard: #{key}, Enter';
7542
7543 function format(message) {
7544 var copyKey = (/mac os x/i.test(navigator.userAgent) ? '⌘' : 'Ctrl') + '+C';
7545 return message.replace(/#{\s*key\s*}/g, copyKey);
7546 }
7547
7548 function copy(text, options) {
7549 var debug, message, reselectPrevious, range, selection, mark, success = false;
7550 if (!options) { options = {}; }
7551 debug = options.debug || false;
7552 try {
7553 reselectPrevious = deselectCurrent();
7554
7555 range = document.createRange();
7556 selection = document.getSelection();
7557
7558 mark = document.createElement('span');
7559 mark.textContent = text;
7560 // reset user styles for span element
7561 mark.style.all = 'unset';
7562 // prevents scrolling to the end of the page
7563 mark.style.position = 'fixed';
7564 mark.style.top = 0;
7565 mark.style.clip = 'rect(0, 0, 0, 0)';
7566 // used to preserve spaces and line breaks
7567 mark.style.whiteSpace = 'pre';
7568 // do not inherit user-select (it may be `none`)
7569 mark.style.webkitUserSelect = 'text';
7570 mark.style.MozUserSelect = 'text';
7571 mark.style.msUserSelect = 'text';
7572 mark.style.userSelect = 'text';
7573
7574 document.body.appendChild(mark);
7575
7576 range.selectNode(mark);
7577 selection.addRange(range);
7578
7579 var successful = document.execCommand('copy');
7580 if (!successful) {
7581 throw new Error('copy command was unsuccessful');
7582 }
7583 success = true;
7584 } catch (err) {
7585 debug && console.error('unable to copy using execCommand: ', err);
7586 debug && console.warn('trying IE specific stuff');
7587 try {
7588 window.clipboardData.setData('text', text);
7589 success = true;
7590 } catch (err) {
7591 debug && console.error('unable to copy using clipboardData: ', err);
7592 debug && console.error('falling back to prompt');
7593 message = format('message' in options ? options.message : defaultMessage);
7594 window.prompt(message, text);
7595 }
7596 } finally {
7597 if (selection) {
7598 if (typeof selection.removeRange == 'function') {
7599 selection.removeRange(range);
7600 } else {
7601 selection.removeAllRanges();
7602 }
7603 }
7604
7605 if (mark) {
7606 document.body.removeChild(mark);
7607 }
7608 reselectPrevious();
7609 }
7610
7611 return success;
7612 }
7613
7614 module.exports = copy;
7615
7616
7617/***/ }),
7618/* 80 */
7619/***/ (function(module, exports) {
7620
7621
7622 module.exports = function () {
7623 var selection = document.getSelection();
7624 if (!selection.rangeCount) {
7625 return function () {};
7626 }
7627 var active = document.activeElement;
7628
7629 var ranges = [];
7630 for (var i = 0; i < selection.rangeCount; i++) {
7631 ranges.push(selection.getRangeAt(i));
7632 }
7633
7634 switch (active.tagName.toUpperCase()) { // .toUpperCase handles XHTML
7635 case 'INPUT':
7636 case 'TEXTAREA':
7637 active.blur();
7638 break;
7639
7640 default:
7641 active = null;
7642 break;
7643 }
7644
7645 selection.removeAllRanges();
7646 return function () {
7647 selection.type === 'Caret' &&
7648 selection.removeAllRanges();
7649
7650 if (!selection.rangeCount) {
7651 ranges.forEach(function(range) {
7652 selection.addRange(range);
7653 });
7654 }
7655
7656 active &&
7657 active.focus();
7658 };
7659 };
7660
7661
7662/***/ }),
7663/* 81 */
7664/***/ (function(module, exports, __webpack_require__) {
7665
7666 'use strict';
7667
7668 Object.defineProperty(exports, "__esModule", {
7669 value: true
7670 });
7671
7672 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; };
7673
7674 var _classnames = __webpack_require__(3);
7675
7676 var _classnames2 = _interopRequireDefault(_classnames);
7677
7678 var _react = __webpack_require__(4);
7679
7680 var _react2 = _interopRequireDefault(_react);
7681
7682 var _propTypes = __webpack_require__(5);
7683
7684 var _propTypes2 = _interopRequireDefault(_propTypes);
7685
7686 var _tinperBeeCore = __webpack_require__(27);
7687
7688 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
7689
7690 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; }
7691
7692 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; }
7693
7694 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
7695
7696 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; }
7697
7698 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); }
7699
7700 var propTypes = {
7701 //是否是手风琴效果
7702 accordion: _propTypes2["default"].bool,
7703 //激活的项
7704 activeKey: _propTypes2["default"].any,
7705 //默认的激活的项
7706 defaultActiveKey: _propTypes2["default"].any,
7707 //选中函数
7708 onSelect: _propTypes2["default"].func,
7709 role: _propTypes2["default"].string
7710 };
7711
7712 var defaultProps = {
7713 accordion: false,
7714 clsPrefix: 'u-panel-group'
7715 };
7716
7717 // TODO: Use uncontrollable.
7718
7719 var PanelGroup = function (_React$Component) {
7720 _inherits(PanelGroup, _React$Component);
7721
7722 function PanelGroup(props, context) {
7723 _classCallCheck(this, PanelGroup);
7724
7725 var _this = _possibleConstructorReturn(this, _React$Component.call(this, props, context));
7726
7727 _this.handleSelect = _this.handleSelect.bind(_this);
7728
7729 _this.state = {
7730 activeKey: props.defaultActiveKey
7731 };
7732 return _this;
7733 }
7734
7735 PanelGroup.prototype.handleSelect = function handleSelect(key, e) {
7736 e.preventDefault();
7737
7738 if (this.props.onSelect) {
7739 this.props.onSelect(key, e);
7740 }
7741
7742 if (this.state.activeKey === key) {
7743 key = null;
7744 }
7745
7746 this.setState({ activeKey: key });
7747 };
7748
7749 PanelGroup.prototype.render = function render() {
7750 var _this2 = this;
7751
7752 var _props = this.props,
7753 accordion = _props.accordion,
7754 propsActiveKey = _props.activeKey,
7755 className = _props.className,
7756 children = _props.children,
7757 defaultActiveKey = _props.defaultActiveKey,
7758 onSelect = _props.onSelect,
7759 style = _props.style,
7760 clsPrefix = _props.clsPrefix,
7761 others = _objectWithoutProperties(_props, ['accordion', 'activeKey', 'className', 'children', 'defaultActiveKey', 'onSelect', 'style', 'clsPrefix']);
7762
7763 var activeKey = void 0;
7764 if (accordion) {
7765 activeKey = propsActiveKey != null ? propsActiveKey : this.state.activeKey;
7766 others.role = others.role || 'tablist';
7767 }
7768
7769 var classes = {};
7770 classes['' + clsPrefix] = true;
7771
7772 return _react2["default"].createElement(
7773 'div',
7774 _extends({}, others, {
7775 className: (0, _classnames2["default"])(className, classes)
7776 }),
7777 _react2["default"].Children.map(children, function (child) {
7778 if (!_react2["default"].isValidElement(child)) {
7779 return child;
7780 }
7781 var childProps = {
7782 style: child.props.style
7783 };
7784
7785 if (accordion) {
7786 _extends(childProps, {
7787 headerRole: 'tab',
7788 panelRole: 'tabpanel',
7789 collapsible: true,
7790 expanded: child.props.eventKey === activeKey,
7791 onSelect: (0, _tinperBeeCore.createChainedFunction)(_this2.handleSelect, child.props.onSelect)
7792 });
7793 }
7794
7795 return (0, _react.cloneElement)(child, childProps);
7796 })
7797 );
7798 };
7799
7800 return PanelGroup;
7801 }(_react2["default"].Component);
7802
7803 PanelGroup.propTypes = propTypes;
7804 PanelGroup.defaultProps = defaultProps;
7805
7806 exports["default"] = PanelGroup;
7807 module.exports = exports['default'];
7808
7809/***/ }),
7810/* 82 */
7811/***/ (function(module, exports, __webpack_require__) {
7812
7813 'use strict';
7814
7815 Object.defineProperty(exports, "__esModule", {
7816 value: true
7817 });
7818
7819 var _Button = __webpack_require__(83);
7820
7821 var _Button2 = _interopRequireDefault(_Button);
7822
7823 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
7824
7825 exports["default"] = _Button2["default"];
7826 module.exports = exports['default'];
7827
7828/***/ }),
7829/* 83 */
7830/***/ (function(module, exports, __webpack_require__) {
7831
7832 'use strict';
7833
7834 Object.defineProperty(exports, "__esModule", {
7835 value: true
7836 });
7837
7838 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; };
7839
7840 var _react = __webpack_require__(4);
7841
7842 var _react2 = _interopRequireDefault(_react);
7843
7844 var _reactDom = __webpack_require__(12);
7845
7846 var _reactDom2 = _interopRequireDefault(_reactDom);
7847
7848 var _propTypes = __webpack_require__(5);
7849
7850 var _propTypes2 = _interopRequireDefault(_propTypes);
7851
7852 var _classnames = __webpack_require__(3);
7853
7854 var _classnames2 = _interopRequireDefault(_classnames);
7855
7856 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
7857
7858 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; }
7859
7860 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; }
7861
7862 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
7863
7864 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; }
7865
7866 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); }
7867
7868 var propTypes = {
7869 /**
7870 * @title 尺寸
7871 */
7872 size: _propTypes2["default"].oneOf(['sm', 'md', 'xg', 'lg']),
7873 /**
7874 * @title 样式
7875 */
7876 style: _propTypes2["default"].object,
7877 /**
7878 * @title 形状
7879 */
7880 shape: _propTypes2["default"].oneOf(['block', 'round', 'border', 'squared', 'floating', 'pillRight', 'pillLeft', 'icon']),
7881
7882 bordered: _propTypes2["default"].bool,
7883 /**
7884 * @title 类型
7885 */
7886 colors: _propTypes2["default"].oneOf(['primary', 'secondary', 'accent', 'success', 'info', 'warning', 'danger', 'dark', 'light', 'default']),
7887 /**
7888 * @title 是否禁用
7889 * @veIgnore
7890 */
7891 disabled: _propTypes2["default"].bool,
7892 /**
7893 * @title 类名
7894 * @veIgnore
7895 */
7896 className: _propTypes2["default"].string,
7897
7898 /**
7899 * @title <button> 的 type
7900 * @veIgnore
7901 */
7902 htmlType: _propTypes2["default"].oneOf(['submit', 'button', 'reset']),
7903 isSubmit: _propTypes2["default"].bool //是否作为form的提交按钮
7904 };
7905
7906 var defaultProps = {
7907 disabled: false,
7908 htmlType: 'button',
7909 clsPrefix: 'u-button',
7910 bordered: false,
7911 isSubmit: false
7912 };
7913
7914 var sizeMap = {
7915 sm: 'sm',
7916 md: 'md',
7917 xg: 'xg',
7918 lg: 'lg'
7919 },
7920 colorsMap = {
7921 primary: 'primary',
7922 secondary: 'secondary',
7923 accent: 'accent',
7924 success: 'success',
7925 info: 'info',
7926 warning: 'warning',
7927 danger: 'danger',
7928 dark: 'dark',
7929 light: 'light'
7930 },
7931 shapeMap = {
7932 block: 'block',
7933 round: 'round',
7934 border: 'border',
7935 squared: 'squared',
7936 floating: 'floating',
7937 pillRight: 'pill-right',
7938 pillLeft: 'pill-left',
7939 icon: 'icon'
7940 };
7941
7942 var Button = function (_Component) {
7943 _inherits(Button, _Component);
7944
7945 function Button(props) {
7946 _classCallCheck(this, Button);
7947
7948 return _possibleConstructorReturn(this, _Component.call(this, props));
7949 }
7950
7951 Button.prototype.render = function render() {
7952 var _props = this.props,
7953 colors = _props.colors,
7954 shape = _props.shape,
7955 disabled = _props.disabled,
7956 className = _props.className,
7957 size = _props.size,
7958 bordered = _props.bordered,
7959 children = _props.children,
7960 htmlType = _props.htmlType,
7961 clsPrefix = _props.clsPrefix,
7962 isSubmit = _props.isSubmit,
7963 others = _objectWithoutProperties(_props, ['colors', 'shape', 'disabled', 'className', 'size', 'bordered', 'children', 'htmlType', 'clsPrefix', 'isSubmit']);
7964
7965 var clsObj = {};
7966 if (className) {
7967 clsObj[className] = true;
7968 }
7969 if (sizeMap[size]) {
7970 clsObj[clsPrefix + '-' + sizeMap[size]] = true;
7971 }
7972
7973 if (shapeMap[shape]) {
7974 clsObj[clsPrefix + '-' + shapeMap[shape]] = true;
7975 }
7976 if (colorsMap[colors]) {
7977 clsObj[clsPrefix + '-' + colorsMap[colors]] = true;
7978 }
7979 //clsObj[`${clsPrefix}-border`] = bordered;
7980 var classes = (0, _classnames2["default"])(clsPrefix, clsObj);
7981 return _react2["default"].createElement(
7982 'button',
7983 _extends({
7984 type: htmlType,
7985 className: classes,
7986 disabled: disabled
7987 }, others),
7988 this.props.children
7989 );
7990 };
7991
7992 return Button;
7993 }(_react.Component);
7994
7995 Button.propTypes = propTypes;
7996 Button.defaultProps = defaultProps;
7997
7998 exports["default"] = Button;
7999 module.exports = exports['default'];
8000
8001/***/ }),
8002/* 84 */
8003/***/ (function(module, exports, __webpack_require__) {
8004
8005 'use strict';
8006
8007 Object.defineProperty(exports, "__esModule", {
8008 value: true
8009 });
8010
8011 var _react = __webpack_require__(4);
8012
8013 var _react2 = _interopRequireDefault(_react);
8014
8015 var _beeLayout = __webpack_require__(1);
8016
8017 var _src = __webpack_require__(85);
8018
8019 var _src2 = _interopRequireDefault(_src);
8020
8021 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
8022
8023 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; }
8024
8025 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
8026
8027 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; }
8028
8029 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); } /**
8030 *
8031 * @title 基础级联菜单
8032 * @description 级联选择对数据有较严格要求,请参照示例的格式使用options,每项数据至少包含 value、label 两项,子集为 children,以此类推。
8033 *
8034 */
8035
8036 var options = [{
8037 label: '浙江',
8038 value: 'zj',
8039 children: [{
8040 label: '杭州',
8041 value: 'hz',
8042 children: [{
8043 label: '西湖',
8044 value: 'xh',
8045 children: [{
8046 label: '白娘子',
8047 value: 'bnz'
8048 }, {
8049 label: '许仙',
8050 value: 'xx'
8051 }]
8052 }]
8053 }]
8054 }, {
8055 label: '江苏',
8056 value: 'js',
8057 children: [{
8058 label: '南京',
8059 value: 'nj',
8060 children: [{
8061 label: '中华门',
8062 value: 'zhm'
8063 }]
8064 }]
8065 }, {
8066 label: '山东',
8067 value: 'sd'
8068 }];
8069
8070 var Demo1 = function (_Component) {
8071 _inherits(Demo1, _Component);
8072
8073 function Demo1() {
8074 var _temp, _this, _ret;
8075
8076 _classCallCheck(this, Demo1);
8077
8078 for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
8079 args[_key] = arguments[_key];
8080 }
8081
8082 return _ret = (_temp = (_this = _possibleConstructorReturn(this, _Component.call.apply(_Component, [this].concat(args))), _this), _this.onChange = function (value, selectedOptions) {
8083 console.log(value, selectedOptions);
8084 }, _temp), _possibleConstructorReturn(_this, _ret);
8085 }
8086
8087 Demo1.prototype.render = function render() {
8088 return _react2['default'].createElement(
8089 _beeLayout.Row,
8090 null,
8091 _react2['default'].createElement(
8092 _beeLayout.Col,
8093 { md: 4 },
8094 _react2['default'].createElement(
8095 'div',
8096 { className: 'height-150' },
8097 _react2['default'].createElement(_src2['default'], {
8098 options: options,
8099 onChange: this.onChange,
8100 placeholder: '\u8BF7\u9009\u62E9\u5730\u5740'
8101 })
8102 )
8103 )
8104 );
8105 };
8106
8107 return Demo1;
8108 }(_react.Component);
8109
8110 exports['default'] = Demo1;
8111 module.exports = exports['default'];
8112
8113/***/ }),
8114/* 85 */
8115/***/ (function(module, exports, __webpack_require__) {
8116
8117 'use strict';
8118
8119 Object.defineProperty(exports, "__esModule", {
8120 value: true
8121 });
8122
8123 var _Cascader = __webpack_require__(86);
8124
8125 var _Cascader2 = _interopRequireDefault(_Cascader);
8126
8127 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
8128
8129 exports['default'] = _Cascader2['default'];
8130 module.exports = exports['default'];
8131
8132/***/ }),
8133/* 86 */
8134/***/ (function(module, exports, __webpack_require__) {
8135
8136 'use strict';
8137
8138 Object.defineProperty(exports, "__esModule", {
8139 value: true
8140 });
8141
8142 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; };
8143
8144 var _react = __webpack_require__(4);
8145
8146 var _react2 = _interopRequireDefault(_react);
8147
8148 var _index = __webpack_require__(87);
8149
8150 var _index2 = _interopRequireDefault(_index);
8151
8152 var _propTypes = __webpack_require__(5);
8153
8154 var _propTypes2 = _interopRequireDefault(_propTypes);
8155
8156 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
8157
8158 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; }
8159
8160 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
8161
8162 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; }
8163
8164 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); }
8165
8166 var propTypes = {};
8167 var defaultProps = {};
8168
8169 var Cascader = function (_Component) {
8170 _inherits(Cascader, _Component);
8171
8172 function Cascader() {
8173 _classCallCheck(this, Cascader);
8174
8175 return _possibleConstructorReturn(this, _Component.apply(this, arguments));
8176 }
8177
8178 Cascader.prototype.render = function render() {
8179 var props = this.props;
8180 return _react2['default'].createElement(_index2['default'], _extends({ prefixCls: 'u-cascader' }, props));
8181 };
8182
8183 return Cascader;
8184 }(_react.Component);
8185
8186 ;
8187 Cascader.propTypes = propTypes;
8188 Cascader.defaultProps = defaultProps;
8189 exports['default'] = Cascader;
8190 module.exports = exports['default'];
8191
8192/***/ }),
8193/* 87 */
8194/***/ (function(module, exports, __webpack_require__) {
8195
8196 'use strict';
8197
8198 Object.defineProperty(exports, "__esModule", {
8199 value: true
8200 });
8201
8202 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; };
8203
8204 var _react = __webpack_require__(4);
8205
8206 var _react2 = _interopRequireDefault(_react);
8207
8208 var _propTypes = __webpack_require__(5);
8209
8210 var _propTypes2 = _interopRequireDefault(_propTypes);
8211
8212 var _rcTrigger = __webpack_require__(88);
8213
8214 var _rcTrigger2 = _interopRequireDefault(_rcTrigger);
8215
8216 var _warning = __webpack_require__(32);
8217
8218 var _warning2 = _interopRequireDefault(_warning);
8219
8220 var _tinperBeeCore = __webpack_require__(27);
8221
8222 var _tinperBeeCore2 = _interopRequireDefault(_tinperBeeCore);
8223
8224 var _arrayTreeFilter = __webpack_require__(170);
8225
8226 var _arrayTreeFilter2 = _interopRequireDefault(_arrayTreeFilter);
8227
8228 var _arrays = __webpack_require__(171);
8229
8230 var _arrays2 = _interopRequireDefault(_arrays);
8231
8232 var _reactLifecyclesCompat = __webpack_require__(172);
8233
8234 var _Menus = __webpack_require__(173);
8235
8236 var _Menus2 = _interopRequireDefault(_Menus);
8237
8238 var _beeIcon = __webpack_require__(174);
8239
8240 var _beeIcon2 = _interopRequireDefault(_beeIcon);
8241
8242 var _beeFormControl = __webpack_require__(176);
8243
8244 var _beeFormControl2 = _interopRequireDefault(_beeFormControl);
8245
8246 var _beeInputGroup = __webpack_require__(178);
8247
8248 var _beeInputGroup2 = _interopRequireDefault(_beeInputGroup);
8249
8250 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
8251
8252 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; }
8253
8254 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; }
8255
8256 function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
8257
8258 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
8259
8260 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; }
8261
8262 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); } /**
8263 * This source code is quoted from rc-cascader.
8264 * homepage: https://github.com/react-component/cascader
8265 */
8266
8267
8268 var BUILT_IN_PLACEMENTS = {
8269 bottomLeft: {
8270 points: ['tl', 'bl'],
8271 offset: [0, 4],
8272 overflow: {
8273 adjustX: 1,
8274 adjustY: 1
8275 }
8276 },
8277 topLeft: {
8278 points: ['bl', 'tl'],
8279 offset: [0, -4],
8280 overflow: {
8281 adjustX: 1,
8282 adjustY: 1
8283 }
8284 },
8285 bottomRight: {
8286 points: ['tr', 'br'],
8287 offset: [0, 4],
8288 overflow: {
8289 adjustX: 1,
8290 adjustY: 1
8291 }
8292 },
8293 topRight: {
8294 points: ['br', 'tr'],
8295 offset: [0, -4],
8296 overflow: {
8297 adjustX: 1,
8298 adjustY: 1
8299 }
8300 }
8301 };
8302
8303 var Rcascader = function (_Component) {
8304 _inherits(Rcascader, _Component);
8305
8306 function Rcascader(props) {
8307 _classCallCheck(this, Rcascader);
8308
8309 var _this = _possibleConstructorReturn(this, _Component.call(this, props));
8310
8311 _this.setPopupVisible = function (popupVisible) {
8312 if (!('popupVisible' in _this.props)) {
8313 _this.setState({ popupVisible: popupVisible });
8314 }
8315 // sync activeValue with value when panel open
8316 if (popupVisible && !_this.state.popupVisible) {
8317 _this.setState({
8318 activeValue: _this.state.value
8319 });
8320 }
8321 _this.props.onPopupVisibleChange(popupVisible);
8322 };
8323
8324 _this.handleChange = function (options, setProps, e) {
8325 if (e.type !== 'keydown' || e.keyCode === _tinperBeeCore2['default'].ENTER) {
8326 _this.props.onChange(options.map(function (o) {
8327 return o[_this.getFieldName('value')];
8328 }), options);
8329 _this.setState({
8330 inputValue: options.map(function (o) {
8331 return o[_this.getFieldName('label')];
8332 }).join('/ ')
8333 });
8334 _this.setPopupVisible(setProps.visible);
8335 }
8336 };
8337
8338 _this.handlePopupVisibleChange = function (popupVisible) {
8339 _this.setPopupVisible(popupVisible);
8340 };
8341
8342 _this.handleMenuSelect = function (targetOption, menuIndex, e) {
8343 // Keep focused state for keyboard support
8344 var triggerNode = _this.trigger.getRootDomNode();
8345 if (triggerNode && triggerNode.focus) {
8346 triggerNode.focus();
8347 }
8348 var _this$props = _this.props,
8349 changeOnSelect = _this$props.changeOnSelect,
8350 loadData = _this$props.loadData,
8351 expandTrigger = _this$props.expandTrigger;
8352
8353 if (!targetOption || targetOption.disabled) {
8354 return;
8355 }
8356 var activeValue = _this.state.activeValue;
8357
8358 activeValue = activeValue.slice(0, menuIndex + 1);
8359 activeValue[menuIndex] = targetOption[_this.getFieldName('value')];
8360 var activeOptions = _this.getActiveOptions(activeValue);
8361 if (targetOption.isLeaf === false && !targetOption[_this.getFieldName('children')] && loadData) {
8362 if (changeOnSelect) {
8363 _this.handleChange(activeOptions, { visible: true }, e);
8364 }
8365 _this.setState({ activeValue: activeValue });
8366 loadData(activeOptions);
8367 return;
8368 }
8369 var newState = {};
8370 if (!targetOption[_this.getFieldName('children')] || !targetOption[_this.getFieldName('children')].length) {
8371 _this.handleChange(activeOptions, { visible: false }, e);
8372 // set value to activeValue when select leaf option
8373 newState.value = activeValue;
8374 // add e.type judgement to prevent `onChange` being triggered by mouseEnter
8375 } else if (changeOnSelect && (e.type === 'click' || e.type === 'keydown')) {
8376 if (expandTrigger === 'hover') {
8377 _this.handleChange(activeOptions, { visible: false }, e);
8378 } else {
8379 _this.handleChange(activeOptions, { visible: true }, e);
8380 }
8381 // set value to activeValue on every select
8382 newState.value = activeValue;
8383 }
8384 newState.activeValue = activeValue;
8385 // not change the value by keyboard
8386 if ('value' in _this.props || e.type === 'keydown' && e.keyCode !== _tinperBeeCore2['default'].ENTER) {
8387 delete newState.value;
8388 }
8389 _this.setState(newState);
8390 };
8391
8392 _this.handleItemDoubleClick = function () {
8393 var changeOnSelect = _this.props.changeOnSelect;
8394
8395 if (changeOnSelect) {
8396 _this.setPopupVisible(false);
8397 }
8398 };
8399
8400 _this.handleKeyDown = function (e) {
8401 var children = _this.props.children;
8402 // https://github.com/ant-design/ant-design/issues/6717
8403 // Don't bind keyboard support when children specify the onKeyDown
8404
8405 if (children && children.props.onKeyDown) {
8406 children.props.onKeyDown(e);
8407 return;
8408 }
8409 var activeValue = [].concat(_toConsumableArray(_this.state.activeValue));
8410 var currentLevel = activeValue.length - 1 < 0 ? 0 : activeValue.length - 1;
8411 var currentOptions = _this.getCurrentLevelOptions();
8412 var currentIndex = currentOptions.map(function (o) {
8413 return o[_this.getFieldName('value')];
8414 }).indexOf(activeValue[currentLevel]);
8415 if (e.keyCode !== _tinperBeeCore2['default'].DOWN && e.keyCode !== _tinperBeeCore2['default'].UP && e.keyCode !== _tinperBeeCore2['default'].LEFT && e.keyCode !== _tinperBeeCore2['default'].RIGHT && e.keyCode !== _tinperBeeCore2['default'].ENTER && e.keyCode !== _tinperBeeCore2['default'].SPACE && e.keyCode !== _tinperBeeCore2['default'].BACKSPACE && e.keyCode !== _tinperBeeCore2['default'].ESC) {
8416 return;
8417 }
8418 // Press any keys above to reopen menu
8419 if (!_this.state.popupVisible && e.keyCode !== _tinperBeeCore2['default'].BACKSPACE && e.keyCode !== _tinperBeeCore2['default'].LEFT && e.keyCode !== _tinperBeeCore2['default'].RIGHT && e.keyCode !== _tinperBeeCore2['default'].ESC) {
8420 _this.setPopupVisible(true);
8421 return;
8422 }
8423 if (e.keyCode === _tinperBeeCore2['default'].DOWN || e.keyCode === _tinperBeeCore2['default'].UP) {
8424 e.preventDefault();
8425 var nextIndex = currentIndex;
8426 if (nextIndex !== -1) {
8427 if (e.keyCode === _tinperBeeCore2['default'].DOWN) {
8428 nextIndex += 1;
8429 nextIndex = nextIndex >= currentOptions.length ? 0 : nextIndex;
8430 } else {
8431 nextIndex -= 1;
8432 nextIndex = nextIndex < 0 ? currentOptions.length - 1 : nextIndex;
8433 }
8434 } else {
8435 nextIndex = 0;
8436 }
8437 activeValue[currentLevel] = currentOptions[nextIndex][_this.getFieldName('value')];
8438 } else if (e.keyCode === _tinperBeeCore2['default'].LEFT || e.keyCode === _tinperBeeCore2['default'].BACKSPACE) {
8439 e.preventDefault();
8440 activeValue.splice(activeValue.length - 1, 1);
8441 } else if (e.keyCode === _tinperBeeCore2['default'].RIGHT) {
8442 e.preventDefault();
8443 if (currentOptions[currentIndex] && currentOptions[currentIndex][_this.getFieldName('children')]) {
8444 activeValue.push(currentOptions[currentIndex][_this.getFieldName('children')][0][_this.getFieldName('value')]);
8445 }
8446 } else if (e.keyCode === _tinperBeeCore2['default'].ESC) {
8447 _this.setPopupVisible(false);
8448 return;
8449 }
8450 if (!activeValue || activeValue.length === 0) {
8451 _this.setPopupVisible(false);
8452 }
8453 var activeOptions = _this.getActiveOptions(activeValue);
8454 var targetOption = activeOptions[activeOptions.length - 1];
8455 _this.handleMenuSelect(targetOption, activeOptions.length - 1, e);
8456
8457 if (_this.props.onKeyDown) {
8458 _this.props.onKeyDown(e);
8459 }
8460 };
8461
8462 _this.saveTrigger = function (node) {
8463 _this.trigger = node;
8464 };
8465
8466 _this.onMouseLeave = function (e) {
8467 _this.setState({
8468 showClose: false
8469 });
8470 };
8471
8472 _this.onMouseEnter = function (e) {
8473 _this.setState({
8474 showClose: true
8475 });
8476 };
8477
8478 var initialValue = [];
8479 var initInputValue = "";
8480 var initOptions = [];
8481 if ('value' in props) {
8482 initialValue = props.value || [];
8483 } else if ('defaultValue' in props) {
8484 initialValue = props.defaultValue.map(function (o) {
8485 return o.value;
8486 }) || [];
8487 initInputValue = props.defaultValue.map(function (o) {
8488 return o.label;
8489 }).join('/ ') || '';
8490 } else if ('options' in props) {
8491 initOptions = props.options || [];
8492 }
8493
8494 (0, _warning2['default'])(!('filedNames' in props), '`filedNames` of Cascader is a typo usage and deprecated, please use `fieldNames` instead.');
8495
8496 _this.state = {
8497 popupVisible: props.popupVisible,
8498 activeValue: initialValue,
8499 value: initialValue,
8500 prevProps: props,
8501 showClose: false, //是否显示清空按钮
8502 inputValue: initInputValue, //输入框显示的值
8503 option: initOptions //下拉面板中的数据源
8504 };
8505 _this.defaultFieldNames = { label: 'label', value: 'value', children: 'children' };
8506 _this.uniqueID = _this.uniqueID.bind(_this);
8507 return _this;
8508 }
8509
8510 Rcascader.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, prevState) {
8511 var _prevState$prevProps = prevState.prevProps,
8512 prevProps = _prevState$prevProps === undefined ? {} : _prevState$prevProps;
8513
8514 var newState = {
8515 prevProps: nextProps
8516 };
8517
8518 if ('value' in nextProps && !(0, _arrays2['default'])(prevProps.value, nextProps.value)) {
8519 newState.value = nextProps.value || [];
8520
8521 // allow activeValue diff from value
8522 // https://github.com/ant-design/ant-design/issues/2767
8523 if (!('loadData' in nextProps)) {
8524 newState.activeValue = nextProps.value || [];
8525 }
8526 }
8527 if ('popupVisible' in nextProps) {
8528 newState.popupVisible = nextProps.popupVisible;
8529 }
8530 if ('options' in nextProps) {
8531 newState.options = nextProps.options || [];
8532 }
8533
8534 return newState;
8535 };
8536
8537 Rcascader.prototype.uniqueID = function uniqueID() {
8538 function s4() {
8539 return Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1);
8540 }
8541 return s4() + s4() + '-' + s4() + '-' + s4() + '-' + s4() + '-' + s4() + s4() + s4();
8542 };
8543
8544 Rcascader.prototype.getPopupDOMNode = function getPopupDOMNode() {
8545 return this.trigger.getPopupDomNode();
8546 };
8547
8548 Rcascader.prototype.getFieldName = function getFieldName(name) {
8549 var defaultFieldNames = this.defaultFieldNames;
8550 var _props = this.props,
8551 fieldNames = _props.fieldNames,
8552 filedNames = _props.filedNames;
8553
8554 if ('filedNames' in this.props) {
8555 return filedNames[name] || defaultFieldNames[name]; // For old compatibility
8556 }
8557 return fieldNames[name] || defaultFieldNames[name];
8558 };
8559
8560 Rcascader.prototype.getFieldNames = function getFieldNames() {
8561 var _props2 = this.props,
8562 fieldNames = _props2.fieldNames,
8563 filedNames = _props2.filedNames;
8564
8565 if ('filedNames' in this.props) {
8566 return filedNames; // For old compatibility
8567 }
8568 return fieldNames;
8569 };
8570
8571 Rcascader.prototype.getCurrentLevelOptions = function getCurrentLevelOptions() {
8572 var _this2 = this;
8573
8574 var _props$options = this.props.options,
8575 options = _props$options === undefined ? [] : _props$options;
8576 var _state$activeValue = this.state.activeValue,
8577 activeValue = _state$activeValue === undefined ? [] : _state$activeValue;
8578
8579 var result = (0, _arrayTreeFilter2['default'])(options, function (o, level) {
8580 return o[_this2.getFieldName('value')] === activeValue[level];
8581 }, { childrenKeyName: this.getFieldName('children') });
8582 if (result[result.length - 2]) {
8583 return result[result.length - 2][this.getFieldName('children')];
8584 }
8585 return [].concat(_toConsumableArray(options)).filter(function (o) {
8586 return !o.disabled;
8587 });
8588 };
8589
8590 Rcascader.prototype.getActiveOptions = function getActiveOptions(activeValue) {
8591 var _this3 = this;
8592
8593 return (0, _arrayTreeFilter2['default'])(this.props.options || [], function (o, level) {
8594 return o[_this3.getFieldName('value')] === activeValue[level];
8595 }, { childrenKeyName: this.getFieldName('children') });
8596 };
8597
8598 Rcascader.prototype.resetValue = function resetValue(e) {
8599 e.stopPropagation();
8600 e.preventDefault();
8601 this.setState({
8602 inputValue: '',
8603 activeValue: []
8604 });
8605 };
8606
8607 Rcascader.prototype.render = function render() {
8608 var _this4 = this;
8609
8610 var _state = this.state,
8611 showClose = _state.showClose,
8612 popupVisible = _state.popupVisible,
8613 inputValue = _state.inputValue,
8614 options = _state.options,
8615 activeValue = _state.activeValue;
8616
8617 var _props3 = this.props,
8618 prefixCls = _props3.prefixCls,
8619 transitionName = _props3.transitionName,
8620 popupClassName = _props3.popupClassName,
8621 size = _props3.size,
8622 disabled = _props3.disabled,
8623 builtinPlacements = _props3.builtinPlacements,
8624 popupPlacement = _props3.popupPlacement,
8625 children = _props3.children,
8626 placeholder = _props3.placeholder,
8627 restProps = _objectWithoutProperties(_props3, ['prefixCls', 'transitionName', 'popupClassName', 'size', 'disabled', 'builtinPlacements', 'popupPlacement', 'children', 'placeholder']);
8628 // Did not show popup when there is no options
8629
8630
8631 var menus = _react2['default'].createElement('div', null);
8632 var emptyMenuClassName = '';
8633 var iconClass = !popupVisible ? "uf-treearrow-down" : "uf-gridcaretarrowup";
8634 if (options && options.length > 0) {
8635 menus = _react2['default'].createElement(_Menus2['default'], _extends({}, this.props, {
8636 fieldNames: this.getFieldNames(),
8637 defaultFieldNames: this.defaultFieldNames,
8638 activeValue: this.state.activeValue,
8639 onSelect: this.handleMenuSelect,
8640 onItemDoubleClick: this.handleItemDoubleClick,
8641 visible: this.state.popupVisible
8642 }));
8643 } else {
8644 emptyMenuClassName = ' ' + prefixCls + '-menus-empty';
8645 }
8646 return _react2['default'].createElement(
8647 _rcTrigger2['default'],
8648 _extends({
8649 ref: this.saveTrigger
8650 }, restProps, {
8651 options: options,
8652 disabled: disabled,
8653 popupPlacement: popupPlacement,
8654 builtinPlacements: builtinPlacements,
8655 popupTransitionName: transitionName,
8656 action: disabled ? [] : ['click'],
8657 popupVisible: disabled ? false : this.state.popupVisible,
8658 onPopupVisibleChange: this.handlePopupVisibleChange,
8659 prefixCls: prefixCls + '-menus',
8660 popupClassName: popupClassName + emptyMenuClassName,
8661 popup: menus
8662 }),
8663 _react2['default'].createElement(
8664 _beeInputGroup2['default'],
8665 { simple: true, className: prefixCls + '-input-group',
8666 onMouseEnter: this.onMouseEnter,
8667 onMouseLeave: this.onMouseLeave
8668 },
8669 _react2['default'].createElement(_beeFormControl2['default'], {
8670 disabled: disabled ? true : false,
8671 placeholder: placeholder,
8672 value: inputValue,
8673 size: size,
8674 type: 'text',
8675 readOnly: true
8676 }),
8677 inputValue && showClose ? _react2['default'].createElement(
8678 _beeInputGroup2['default'].Button,
8679 { shape: 'border',
8680 onClick: function onClick(e) {
8681 return _this4.resetValue(e);
8682 } },
8683 _react2['default'].createElement('i', { className: 'uf uf-close-c' })
8684 ) : _react2['default'].createElement(
8685 _beeInputGroup2['default'].Button,
8686 { shape: 'border',
8687 onClick: function onClick(e) {
8688 props.keyboardInput ? _this4.iconClick(e) : '';
8689 } },
8690 _react2['default'].createElement('i', { className: 'uf ' + iconClass })
8691 )
8692 )
8693 );
8694 };
8695
8696 return Rcascader;
8697 }(_react.Component);
8698
8699 Rcascader.defaultProps = {
8700 onChange: function onChange() {},
8701 onPopupVisibleChange: function onPopupVisibleChange() {},
8702
8703 size: 'md',
8704 disabled: false,
8705 transitionName: '',
8706 prefixCls: 'rc-cascader',
8707 defaultValue: [],
8708 popupClassName: '',
8709 popupPlacement: 'bottomLeft',
8710 builtinPlacements: BUILT_IN_PLACEMENTS,
8711 expandTrigger: 'click',
8712 fieldNames: { label: 'label', value: 'value', children: 'children' },
8713 expandIcon: _react2['default'].createElement(_beeIcon2['default'], { type: 'uf-arrow-right' })
8714 };
8715
8716 Rcascader.propTypes = {
8717 size: _propTypes2['default'].string,
8718 value: _propTypes2['default'].array,
8719 defaultValue: _propTypes2['default'].array,
8720 options: _propTypes2['default'].array.isRequired,
8721 onChange: _propTypes2['default'].func,
8722 onPopupVisibleChange: _propTypes2['default'].func,
8723 popupVisible: _propTypes2['default'].bool,
8724 disabled: _propTypes2['default'].bool,
8725 transitionName: _propTypes2['default'].string,
8726 popupClassName: _propTypes2['default'].string,
8727 popupPlacement: _propTypes2['default'].string,
8728 prefixCls: _propTypes2['default'].string,
8729 dropdownMenuColumnStyle: _propTypes2['default'].object,
8730 builtinPlacements: _propTypes2['default'].object,
8731 loadData: _propTypes2['default'].func,
8732 changeOnSelect: _propTypes2['default'].bool,
8733 children: _propTypes2['default'].node,
8734 onKeyDown: _propTypes2['default'].func,
8735 expandTrigger: _propTypes2['default'].string,
8736 fieldNames: _propTypes2['default'].object,
8737 filedNames: _propTypes2['default'].object, // typo but for compatibility
8738 expandIcon: _propTypes2['default'].node,
8739 loadingIcon: _propTypes2['default'].node
8740 };
8741
8742 (0, _reactLifecyclesCompat.polyfill)(Rcascader);
8743
8744 exports['default'] = Rcascader;
8745 module.exports = exports['default'];
8746
8747/***/ }),
8748/* 88 */
8749/***/ (function(module, exports, __webpack_require__) {
8750
8751 'use strict';
8752
8753 exports.__esModule = true;
8754
8755 var _extends2 = __webpack_require__(89);
8756
8757 var _extends3 = _interopRequireDefault(_extends2);
8758
8759 var _classCallCheck2 = __webpack_require__(105);
8760
8761 var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
8762
8763 var _possibleConstructorReturn2 = __webpack_require__(106);
8764
8765 var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
8766
8767 var _inherits2 = __webpack_require__(141);
8768
8769 var _inherits3 = _interopRequireDefault(_inherits2);
8770
8771 var _react = __webpack_require__(4);
8772
8773 var _react2 = _interopRequireDefault(_react);
8774
8775 var _propTypes = __webpack_require__(5);
8776
8777 var _propTypes2 = _interopRequireDefault(_propTypes);
8778
8779 var _reactDom = __webpack_require__(12);
8780
8781 var _contains = __webpack_require__(148);
8782
8783 var _contains2 = _interopRequireDefault(_contains);
8784
8785 var _addEventListener = __webpack_require__(149);
8786
8787 var _addEventListener2 = _interopRequireDefault(_addEventListener);
8788
8789 var _ContainerRender = __webpack_require__(150);
8790
8791 var _ContainerRender2 = _interopRequireDefault(_ContainerRender);
8792
8793 var _Portal = __webpack_require__(154);
8794
8795 var _Portal2 = _interopRequireDefault(_Portal);
8796
8797 var _classnames = __webpack_require__(3);
8798
8799 var _classnames2 = _interopRequireDefault(_classnames);
8800
8801 var _utils = __webpack_require__(155);
8802
8803 var _Popup = __webpack_require__(156);
8804
8805 var _Popup2 = _interopRequireDefault(_Popup);
8806
8807 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
8808
8809 function noop() {}
8810
8811 function returnEmptyString() {
8812 return '';
8813 }
8814
8815 function returnDocument() {
8816 return window.document;
8817 }
8818
8819 var ALL_HANDLERS = ['onClick', 'onMouseDown', 'onTouchStart', 'onMouseEnter', 'onMouseLeave', 'onFocus', 'onBlur', 'onContextMenu'];
8820
8821 var IS_REACT_16 = !!_reactDom.createPortal;
8822
8823 var contextTypes = {
8824 rcTrigger: _propTypes2['default'].shape({
8825 onPopupMouseDown: _propTypes2['default'].func
8826 })
8827 };
8828
8829 var Trigger = function (_React$Component) {
8830 (0, _inherits3['default'])(Trigger, _React$Component);
8831
8832 function Trigger(props) {
8833 (0, _classCallCheck3['default'])(this, Trigger);
8834
8835 var _this = (0, _possibleConstructorReturn3['default'])(this, _React$Component.call(this, props));
8836
8837 _initialiseProps.call(_this);
8838
8839 var popupVisible = void 0;
8840 if ('popupVisible' in props) {
8841 popupVisible = !!props.popupVisible;
8842 } else {
8843 popupVisible = !!props.defaultPopupVisible;
8844 }
8845
8846 _this.prevPopupVisible = popupVisible;
8847
8848 _this.state = {
8849 popupVisible: popupVisible
8850 };
8851 return _this;
8852 }
8853
8854 Trigger.prototype.getChildContext = function getChildContext() {
8855 return {
8856 rcTrigger: {
8857 onPopupMouseDown: this.onPopupMouseDown
8858 }
8859 };
8860 };
8861
8862 Trigger.prototype.componentWillMount = function componentWillMount() {
8863 var _this2 = this;
8864
8865 ALL_HANDLERS.forEach(function (h) {
8866 _this2['fire' + h] = function (e) {
8867 _this2.fireEvents(h, e);
8868 };
8869 });
8870 };
8871
8872 Trigger.prototype.componentDidMount = function componentDidMount() {
8873 this.componentDidUpdate({}, {
8874 popupVisible: this.state.popupVisible
8875 });
8876 };
8877
8878 Trigger.prototype.componentWillReceiveProps = function componentWillReceiveProps(_ref) {
8879 var popupVisible = _ref.popupVisible;
8880
8881 if (popupVisible !== undefined) {
8882 this.setState({
8883 popupVisible: popupVisible
8884 });
8885 }
8886 };
8887
8888 Trigger.prototype.componentDidUpdate = function componentDidUpdate(_, prevState) {
8889 var props = this.props;
8890 var state = this.state;
8891 var triggerAfterPopupVisibleChange = function triggerAfterPopupVisibleChange() {
8892 if (prevState.popupVisible !== state.popupVisible) {
8893 props.afterPopupVisibleChange(state.popupVisible);
8894 }
8895 };
8896 if (!IS_REACT_16) {
8897 this.renderComponent(null, triggerAfterPopupVisibleChange);
8898 }
8899
8900 this.prevPopupVisible = prevState.popupVisible;
8901
8902 // We must listen to `mousedown` or `touchstart`, edge case:
8903 // https://github.com/ant-design/ant-design/issues/5804
8904 // https://github.com/react-component/calendar/issues/250
8905 // https://github.com/react-component/trigger/issues/50
8906 if (state.popupVisible) {
8907 var currentDocument = void 0;
8908 if (!this.clickOutsideHandler && (this.isClickToHide() || this.isContextMenuToShow())) {
8909 currentDocument = props.getDocument();
8910 this.clickOutsideHandler = (0, _addEventListener2['default'])(currentDocument, 'mousedown', this.onDocumentClick);
8911 }
8912 // always hide on mobile
8913 if (!this.touchOutsideHandler) {
8914 currentDocument = currentDocument || props.getDocument();
8915 this.touchOutsideHandler = (0, _addEventListener2['default'])(currentDocument, 'touchstart', this.onDocumentClick);
8916 }
8917 // close popup when trigger type contains 'onContextMenu' and document is scrolling.
8918 if (!this.contextMenuOutsideHandler1 && this.isContextMenuToShow()) {
8919 currentDocument = currentDocument || props.getDocument();
8920 this.contextMenuOutsideHandler1 = (0, _addEventListener2['default'])(currentDocument, 'scroll', this.onContextMenuClose);
8921 }
8922 // close popup when trigger type contains 'onContextMenu' and window is blur.
8923 if (!this.contextMenuOutsideHandler2 && this.isContextMenuToShow()) {
8924 this.contextMenuOutsideHandler2 = (0, _addEventListener2['default'])(window, 'blur', this.onContextMenuClose);
8925 }
8926 return;
8927 }
8928
8929 this.clearOutsideHandler();
8930 };
8931
8932 Trigger.prototype.componentWillUnmount = function componentWillUnmount() {
8933 this.clearDelayTimer();
8934 this.clearOutsideHandler();
8935 clearTimeout(this.mouseDownTimeout);
8936 };
8937
8938 Trigger.prototype.getPopupDomNode = function getPopupDomNode() {
8939 // for test
8940 if (this._component && this._component.getPopupDomNode) {
8941 return this._component.getPopupDomNode();
8942 }
8943 return null;
8944 };
8945
8946 Trigger.prototype.getPopupAlign = function getPopupAlign() {
8947 var props = this.props;
8948 var popupPlacement = props.popupPlacement,
8949 popupAlign = props.popupAlign,
8950 builtinPlacements = props.builtinPlacements;
8951
8952 if (popupPlacement && builtinPlacements) {
8953 return (0, _utils.getAlignFromPlacement)(builtinPlacements, popupPlacement, popupAlign);
8954 }
8955 return popupAlign;
8956 };
8957
8958 /**
8959 * @param popupVisible Show or not the popup element
8960 * @param event SyntheticEvent, used for `pointAlign`
8961 */
8962 Trigger.prototype.setPopupVisible = function setPopupVisible(popupVisible, event) {
8963 var alignPoint = this.props.alignPoint;
8964
8965
8966 this.clearDelayTimer();
8967
8968 if (this.state.popupVisible !== popupVisible) {
8969 if (!('popupVisible' in this.props)) {
8970 this.setState({ popupVisible: popupVisible });
8971 }
8972 this.props.onPopupVisibleChange(popupVisible);
8973 }
8974
8975 // Always record the point position since mouseEnterDelay will delay the show
8976 if (alignPoint && event) {
8977 this.setPoint(event);
8978 }
8979 };
8980
8981 Trigger.prototype.delaySetPopupVisible = function delaySetPopupVisible(visible, delayS, event) {
8982 var _this3 = this;
8983
8984 var delay = delayS * 1000;
8985 this.clearDelayTimer();
8986 if (delay) {
8987 var point = event ? { pageX: event.pageX, pageY: event.pageY } : null;
8988 this.delayTimer = setTimeout(function () {
8989 _this3.setPopupVisible(visible, point);
8990 _this3.clearDelayTimer();
8991 }, delay);
8992 } else {
8993 this.setPopupVisible(visible, event);
8994 }
8995 };
8996
8997 Trigger.prototype.clearDelayTimer = function clearDelayTimer() {
8998 if (this.delayTimer) {
8999 clearTimeout(this.delayTimer);
9000 this.delayTimer = null;
9001 }
9002 };
9003
9004 Trigger.prototype.clearOutsideHandler = function clearOutsideHandler() {
9005 if (this.clickOutsideHandler) {
9006 this.clickOutsideHandler.remove();
9007 this.clickOutsideHandler = null;
9008 }
9009
9010 if (this.contextMenuOutsideHandler1) {
9011 this.contextMenuOutsideHandler1.remove();
9012 this.contextMenuOutsideHandler1 = null;
9013 }
9014
9015 if (this.contextMenuOutsideHandler2) {
9016 this.contextMenuOutsideHandler2.remove();
9017 this.contextMenuOutsideHandler2 = null;
9018 }
9019
9020 if (this.touchOutsideHandler) {
9021 this.touchOutsideHandler.remove();
9022 this.touchOutsideHandler = null;
9023 }
9024 };
9025
9026 Trigger.prototype.createTwoChains = function createTwoChains(event) {
9027 var childPros = this.props.children.props;
9028 var props = this.props;
9029 if (childPros[event] && props[event]) {
9030 return this['fire' + event];
9031 }
9032 return childPros[event] || props[event];
9033 };
9034
9035 Trigger.prototype.isClickToShow = function isClickToShow() {
9036 var _props = this.props,
9037 action = _props.action,
9038 showAction = _props.showAction;
9039
9040 return action.indexOf('click') !== -1 || showAction.indexOf('click') !== -1;
9041 };
9042
9043 Trigger.prototype.isContextMenuToShow = function isContextMenuToShow() {
9044 var _props2 = this.props,
9045 action = _props2.action,
9046 showAction = _props2.showAction;
9047
9048 return action.indexOf('contextMenu') !== -1 || showAction.indexOf('contextMenu') !== -1;
9049 };
9050
9051 Trigger.prototype.isClickToHide = function isClickToHide() {
9052 var _props3 = this.props,
9053 action = _props3.action,
9054 hideAction = _props3.hideAction;
9055
9056 return action.indexOf('click') !== -1 || hideAction.indexOf('click') !== -1;
9057 };
9058
9059 Trigger.prototype.isMouseEnterToShow = function isMouseEnterToShow() {
9060 var _props4 = this.props,
9061 action = _props4.action,
9062 showAction = _props4.showAction;
9063
9064 return action.indexOf('hover') !== -1 || showAction.indexOf('mouseEnter') !== -1;
9065 };
9066
9067 Trigger.prototype.isMouseLeaveToHide = function isMouseLeaveToHide() {
9068 var _props5 = this.props,
9069 action = _props5.action,
9070 hideAction = _props5.hideAction;
9071
9072 return action.indexOf('hover') !== -1 || hideAction.indexOf('mouseLeave') !== -1;
9073 };
9074
9075 Trigger.prototype.isFocusToShow = function isFocusToShow() {
9076 var _props6 = this.props,
9077 action = _props6.action,
9078 showAction = _props6.showAction;
9079
9080 return action.indexOf('focus') !== -1 || showAction.indexOf('focus') !== -1;
9081 };
9082
9083 Trigger.prototype.isBlurToHide = function isBlurToHide() {
9084 var _props7 = this.props,
9085 action = _props7.action,
9086 hideAction = _props7.hideAction;
9087
9088 return action.indexOf('focus') !== -1 || hideAction.indexOf('blur') !== -1;
9089 };
9090
9091 Trigger.prototype.forcePopupAlign = function forcePopupAlign() {
9092 if (this.state.popupVisible && this._component && this._component.alignInstance) {
9093 this._component.alignInstance.forceAlign();
9094 }
9095 };
9096
9097 Trigger.prototype.fireEvents = function fireEvents(type, e) {
9098 var childCallback = this.props.children.props[type];
9099 if (childCallback) {
9100 childCallback(e);
9101 }
9102 var callback = this.props[type];
9103 if (callback) {
9104 callback(e);
9105 }
9106 };
9107
9108 Trigger.prototype.close = function close() {
9109 this.setPopupVisible(false);
9110 };
9111
9112 Trigger.prototype.render = function render() {
9113 var _this4 = this;
9114
9115 var popupVisible = this.state.popupVisible;
9116 var _props8 = this.props,
9117 children = _props8.children,
9118 forceRender = _props8.forceRender,
9119 alignPoint = _props8.alignPoint,
9120 className = _props8.className;
9121
9122 var child = _react2['default'].Children.only(children);
9123 var newChildProps = { key: 'trigger' };
9124
9125 if (this.isContextMenuToShow()) {
9126 newChildProps.onContextMenu = this.onContextMenu;
9127 } else {
9128 newChildProps.onContextMenu = this.createTwoChains('onContextMenu');
9129 }
9130
9131 if (this.isClickToHide() || this.isClickToShow()) {
9132 newChildProps.onClick = this.onClick;
9133 newChildProps.onMouseDown = this.onMouseDown;
9134 newChildProps.onTouchStart = this.onTouchStart;
9135 } else {
9136 newChildProps.onClick = this.createTwoChains('onClick');
9137 newChildProps.onMouseDown = this.createTwoChains('onMouseDown');
9138 newChildProps.onTouchStart = this.createTwoChains('onTouchStart');
9139 }
9140 if (this.isMouseEnterToShow()) {
9141 newChildProps.onMouseEnter = this.onMouseEnter;
9142 if (alignPoint) {
9143 newChildProps.onMouseMove = this.onMouseMove;
9144 }
9145 } else {
9146 newChildProps.onMouseEnter = this.createTwoChains('onMouseEnter');
9147 }
9148 if (this.isMouseLeaveToHide()) {
9149 newChildProps.onMouseLeave = this.onMouseLeave;
9150 } else {
9151 newChildProps.onMouseLeave = this.createTwoChains('onMouseLeave');
9152 }
9153 if (this.isFocusToShow() || this.isBlurToHide()) {
9154 newChildProps.onFocus = this.onFocus;
9155 newChildProps.onBlur = this.onBlur;
9156 } else {
9157 newChildProps.onFocus = this.createTwoChains('onFocus');
9158 newChildProps.onBlur = this.createTwoChains('onBlur');
9159 }
9160
9161 var childrenClassName = (0, _classnames2['default'])(child && child.props && child.props.className, className);
9162 if (childrenClassName) {
9163 newChildProps.className = childrenClassName;
9164 }
9165 var trigger = _react2['default'].cloneElement(child, newChildProps);
9166
9167 if (!IS_REACT_16) {
9168 return _react2['default'].createElement(
9169 _ContainerRender2['default'],
9170 {
9171 parent: this,
9172 visible: popupVisible,
9173 autoMount: false,
9174 forceRender: forceRender,
9175 getComponent: this.getComponent,
9176 getContainer: this.getContainer
9177 },
9178 function (_ref2) {
9179 var renderComponent = _ref2.renderComponent;
9180
9181 _this4.renderComponent = renderComponent;
9182 return trigger;
9183 }
9184 );
9185 }
9186
9187 var portal = void 0;
9188 // prevent unmounting after it's rendered
9189 if (popupVisible || this._component || forceRender) {
9190 portal = _react2['default'].createElement(
9191 _Portal2['default'],
9192 {
9193 key: 'portal',
9194 getContainer: this.getContainer,
9195 didUpdate: this.handlePortalUpdate
9196 },
9197 this.getComponent()
9198 );
9199 }
9200
9201 return [trigger, portal];
9202 };
9203
9204 return Trigger;
9205 }(_react2['default'].Component);
9206
9207 Trigger.propTypes = {
9208 children: _propTypes2['default'].any,
9209 action: _propTypes2['default'].oneOfType([_propTypes2['default'].string, _propTypes2['default'].arrayOf(_propTypes2['default'].string)]),
9210 showAction: _propTypes2['default'].any,
9211 hideAction: _propTypes2['default'].any,
9212 getPopupClassNameFromAlign: _propTypes2['default'].any,
9213 onPopupVisibleChange: _propTypes2['default'].func,
9214 afterPopupVisibleChange: _propTypes2['default'].func,
9215 popup: _propTypes2['default'].oneOfType([_propTypes2['default'].node, _propTypes2['default'].func]).isRequired,
9216 popupStyle: _propTypes2['default'].object,
9217 prefixCls: _propTypes2['default'].string,
9218 popupClassName: _propTypes2['default'].string,
9219 className: _propTypes2['default'].string,
9220 popupPlacement: _propTypes2['default'].string,
9221 builtinPlacements: _propTypes2['default'].object,
9222 popupTransitionName: _propTypes2['default'].oneOfType([_propTypes2['default'].string, _propTypes2['default'].object]),
9223 popupAnimation: _propTypes2['default'].any,
9224 mouseEnterDelay: _propTypes2['default'].number,
9225 mouseLeaveDelay: _propTypes2['default'].number,
9226 zIndex: _propTypes2['default'].number,
9227 focusDelay: _propTypes2['default'].number,
9228 blurDelay: _propTypes2['default'].number,
9229 getPopupContainer: _propTypes2['default'].func,
9230 getDocument: _propTypes2['default'].func,
9231 forceRender: _propTypes2['default'].bool,
9232 destroyPopupOnHide: _propTypes2['default'].bool,
9233 mask: _propTypes2['default'].bool,
9234 maskClosable: _propTypes2['default'].bool,
9235 onPopupAlign: _propTypes2['default'].func,
9236 popupAlign: _propTypes2['default'].object,
9237 popupVisible: _propTypes2['default'].bool,
9238 defaultPopupVisible: _propTypes2['default'].bool,
9239 maskTransitionName: _propTypes2['default'].oneOfType([_propTypes2['default'].string, _propTypes2['default'].object]),
9240 maskAnimation: _propTypes2['default'].string,
9241 stretch: _propTypes2['default'].string,
9242 alignPoint: _propTypes2['default'].bool // Maybe we can support user pass position in the future
9243 };
9244 Trigger.contextTypes = contextTypes;
9245 Trigger.childContextTypes = contextTypes;
9246 Trigger.defaultProps = {
9247 prefixCls: 'rc-trigger-popup',
9248 getPopupClassNameFromAlign: returnEmptyString,
9249 getDocument: returnDocument,
9250 onPopupVisibleChange: noop,
9251 afterPopupVisibleChange: noop,
9252 onPopupAlign: noop,
9253 popupClassName: '',
9254 mouseEnterDelay: 0,
9255 mouseLeaveDelay: 0.1,
9256 focusDelay: 0,
9257 blurDelay: 0.15,
9258 popupStyle: {},
9259 destroyPopupOnHide: false,
9260 popupAlign: {},
9261 defaultPopupVisible: false,
9262 mask: false,
9263 maskClosable: true,
9264 action: [],
9265 showAction: [],
9266 hideAction: []
9267 };
9268
9269 var _initialiseProps = function _initialiseProps() {
9270 var _this5 = this;
9271
9272 this.onMouseEnter = function (e) {
9273 var mouseEnterDelay = _this5.props.mouseEnterDelay;
9274
9275 _this5.fireEvents('onMouseEnter', e);
9276 _this5.delaySetPopupVisible(true, mouseEnterDelay, mouseEnterDelay ? null : e);
9277 };
9278
9279 this.onMouseMove = function (e) {
9280 _this5.fireEvents('onMouseMove', e);
9281 _this5.setPoint(e);
9282 };
9283
9284 this.onMouseLeave = function (e) {
9285 _this5.fireEvents('onMouseLeave', e);
9286 _this5.delaySetPopupVisible(false, _this5.props.mouseLeaveDelay);
9287 };
9288
9289 this.onPopupMouseEnter = function () {
9290 _this5.clearDelayTimer();
9291 };
9292
9293 this.onPopupMouseLeave = function (e) {
9294 // https://github.com/react-component/trigger/pull/13
9295 // react bug?
9296 if (e.relatedTarget && !e.relatedTarget.setTimeout && _this5._component && _this5._component.getPopupDomNode && (0, _contains2['default'])(_this5._component.getPopupDomNode(), e.relatedTarget)) {
9297 return;
9298 }
9299 _this5.delaySetPopupVisible(false, _this5.props.mouseLeaveDelay);
9300 };
9301
9302 this.onFocus = function (e) {
9303 _this5.fireEvents('onFocus', e);
9304 // incase focusin and focusout
9305 _this5.clearDelayTimer();
9306 if (_this5.isFocusToShow()) {
9307 _this5.focusTime = Date.now();
9308 _this5.delaySetPopupVisible(true, _this5.props.focusDelay);
9309 }
9310 };
9311
9312 this.onMouseDown = function (e) {
9313 _this5.fireEvents('onMouseDown', e);
9314 _this5.preClickTime = Date.now();
9315 };
9316
9317 this.onTouchStart = function (e) {
9318 _this5.fireEvents('onTouchStart', e);
9319 _this5.preTouchTime = Date.now();
9320 };
9321
9322 this.onBlur = function (e) {
9323 _this5.fireEvents('onBlur', e);
9324 _this5.clearDelayTimer();
9325 if (_this5.isBlurToHide()) {
9326 _this5.delaySetPopupVisible(false, _this5.props.blurDelay);
9327 }
9328 };
9329
9330 this.onContextMenu = function (e) {
9331 e.preventDefault();
9332 _this5.fireEvents('onContextMenu', e);
9333 _this5.setPopupVisible(true, e);
9334 };
9335
9336 this.onContextMenuClose = function () {
9337 if (_this5.isContextMenuToShow()) {
9338 _this5.close();
9339 }
9340 };
9341
9342 this.onClick = function (event) {
9343 _this5.fireEvents('onClick', event);
9344 // focus will trigger click
9345 if (_this5.focusTime) {
9346 var preTime = void 0;
9347 if (_this5.preClickTime && _this5.preTouchTime) {
9348 preTime = Math.min(_this5.preClickTime, _this5.preTouchTime);
9349 } else if (_this5.preClickTime) {
9350 preTime = _this5.preClickTime;
9351 } else if (_this5.preTouchTime) {
9352 preTime = _this5.preTouchTime;
9353 }
9354 if (Math.abs(preTime - _this5.focusTime) < 20) {
9355 return;
9356 }
9357 _this5.focusTime = 0;
9358 }
9359 _this5.preClickTime = 0;
9360 _this5.preTouchTime = 0;
9361 if (event && event.preventDefault) {
9362 event.preventDefault();
9363 }
9364 var nextVisible = !_this5.state.popupVisible;
9365 if (_this5.isClickToHide() && !nextVisible || nextVisible && _this5.isClickToShow()) {
9366 _this5.setPopupVisible(!_this5.state.popupVisible, event);
9367 }
9368 };
9369
9370 this.onPopupMouseDown = function () {
9371 var _context$rcTrigger = _this5.context.rcTrigger,
9372 rcTrigger = _context$rcTrigger === undefined ? {} : _context$rcTrigger;
9373
9374 _this5.hasPopupMouseDown = true;
9375
9376 clearTimeout(_this5.mouseDownTimeout);
9377 _this5.mouseDownTimeout = setTimeout(function () {
9378 _this5.hasPopupMouseDown = false;
9379 }, 0);
9380
9381 if (rcTrigger.onPopupMouseDown) {
9382 rcTrigger.onPopupMouseDown.apply(rcTrigger, arguments);
9383 }
9384 };
9385
9386 this.onDocumentClick = function (event) {
9387 if (_this5.props.mask && !_this5.props.maskClosable) {
9388 return;
9389 }
9390
9391 var target = event.target;
9392 var root = (0, _reactDom.findDOMNode)(_this5);
9393 if (!(0, _contains2['default'])(root, target) && !_this5.hasPopupMouseDown) {
9394 _this5.close();
9395 }
9396 };
9397
9398 this.getRootDomNode = function () {
9399 return (0, _reactDom.findDOMNode)(_this5);
9400 };
9401
9402 this.getPopupClassNameFromAlign = function (align) {
9403 var className = [];
9404 var _props9 = _this5.props,
9405 popupPlacement = _props9.popupPlacement,
9406 builtinPlacements = _props9.builtinPlacements,
9407 prefixCls = _props9.prefixCls,
9408 alignPoint = _props9.alignPoint,
9409 getPopupClassNameFromAlign = _props9.getPopupClassNameFromAlign;
9410
9411 if (popupPlacement && builtinPlacements) {
9412 className.push((0, _utils.getAlignPopupClassName)(builtinPlacements, prefixCls, align, alignPoint));
9413 }
9414 if (getPopupClassNameFromAlign) {
9415 className.push(getPopupClassNameFromAlign(align));
9416 }
9417 return className.join(' ');
9418 };
9419
9420 this.getComponent = function () {
9421 var _props10 = _this5.props,
9422 prefixCls = _props10.prefixCls,
9423 destroyPopupOnHide = _props10.destroyPopupOnHide,
9424 popupClassName = _props10.popupClassName,
9425 action = _props10.action,
9426 onPopupAlign = _props10.onPopupAlign,
9427 popupAnimation = _props10.popupAnimation,
9428 popupTransitionName = _props10.popupTransitionName,
9429 popupStyle = _props10.popupStyle,
9430 mask = _props10.mask,
9431 maskAnimation = _props10.maskAnimation,
9432 maskTransitionName = _props10.maskTransitionName,
9433 zIndex = _props10.zIndex,
9434 popup = _props10.popup,
9435 stretch = _props10.stretch,
9436 alignPoint = _props10.alignPoint;
9437 var _state = _this5.state,
9438 popupVisible = _state.popupVisible,
9439 point = _state.point;
9440
9441
9442 var align = _this5.getPopupAlign();
9443
9444 var mouseProps = {};
9445 if (_this5.isMouseEnterToShow()) {
9446 mouseProps.onMouseEnter = _this5.onPopupMouseEnter;
9447 }
9448 if (_this5.isMouseLeaveToHide()) {
9449 mouseProps.onMouseLeave = _this5.onPopupMouseLeave;
9450 }
9451
9452 mouseProps.onMouseDown = _this5.onPopupMouseDown;
9453 mouseProps.onTouchStart = _this5.onPopupMouseDown;
9454
9455 return _react2['default'].createElement(
9456 _Popup2['default'],
9457 (0, _extends3['default'])({
9458 prefixCls: prefixCls,
9459 destroyPopupOnHide: destroyPopupOnHide,
9460 visible: popupVisible,
9461 point: alignPoint && point,
9462 className: popupClassName,
9463 action: action,
9464 align: align,
9465 onAlign: onPopupAlign,
9466 animation: popupAnimation,
9467 getClassNameFromAlign: _this5.getPopupClassNameFromAlign
9468 }, mouseProps, {
9469 stretch: stretch,
9470 getRootDomNode: _this5.getRootDomNode,
9471 style: popupStyle,
9472 mask: mask,
9473 zIndex: zIndex,
9474 transitionName: popupTransitionName,
9475 maskAnimation: maskAnimation,
9476 maskTransitionName: maskTransitionName,
9477 ref: _this5.savePopup
9478 }),
9479 typeof popup === 'function' ? popup() : popup
9480 );
9481 };
9482
9483 this.getContainer = function () {
9484 var props = _this5.props;
9485
9486 var popupContainer = document.createElement('div');
9487 // Make sure default popup container will never cause scrollbar appearing
9488 // https://github.com/react-component/trigger/issues/41
9489 popupContainer.style.position = 'absolute';
9490 popupContainer.style.top = '0';
9491 popupContainer.style.left = '0';
9492 popupContainer.style.width = '100%';
9493 var mountNode = props.getPopupContainer ? props.getPopupContainer((0, _reactDom.findDOMNode)(_this5)) : props.getDocument().body;
9494 mountNode.appendChild(popupContainer);
9495 return popupContainer;
9496 };
9497
9498 this.setPoint = function (point) {
9499 var alignPoint = _this5.props.alignPoint;
9500
9501 if (!alignPoint || !point) return;
9502
9503 _this5.setState({
9504 point: {
9505 pageX: point.pageX,
9506 pageY: point.pageY
9507 }
9508 });
9509 };
9510
9511 this.handlePortalUpdate = function () {
9512 if (_this5.prevPopupVisible !== _this5.state.popupVisible) {
9513 _this5.props.afterPopupVisibleChange(_this5.state.popupVisible);
9514 }
9515 };
9516
9517 this.savePopup = function (node) {
9518 _this5._component = node;
9519 };
9520 };
9521
9522 exports['default'] = Trigger;
9523 module.exports = exports['default'];
9524
9525/***/ }),
9526/* 89 */
9527/***/ (function(module, exports, __webpack_require__) {
9528
9529 "use strict";
9530
9531 exports.__esModule = true;
9532
9533 var _assign = __webpack_require__(90);
9534
9535 var _assign2 = _interopRequireDefault(_assign);
9536
9537 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9538
9539 exports.default = _assign2.default || function (target) {
9540 for (var i = 1; i < arguments.length; i++) {
9541 var source = arguments[i];
9542
9543 for (var key in source) {
9544 if (Object.prototype.hasOwnProperty.call(source, key)) {
9545 target[key] = source[key];
9546 }
9547 }
9548 }
9549
9550 return target;
9551 };
9552
9553/***/ }),
9554/* 90 */
9555/***/ (function(module, exports, __webpack_require__) {
9556
9557 module.exports = { "default": __webpack_require__(91), __esModule: true };
9558
9559/***/ }),
9560/* 91 */
9561/***/ (function(module, exports, __webpack_require__) {
9562
9563 __webpack_require__(92);
9564 module.exports = __webpack_require__(95).Object.assign;
9565
9566/***/ }),
9567/* 92 */
9568/***/ (function(module, exports, __webpack_require__) {
9569
9570 // 19.1.3.1 Object.assign(target, source)
9571 var $export = __webpack_require__(93);
9572
9573 $export($export.S + $export.F, 'Object', {assign: __webpack_require__(98)});
9574
9575/***/ }),
9576/* 93 */
9577/***/ (function(module, exports, __webpack_require__) {
9578
9579 var global = __webpack_require__(94)
9580 , core = __webpack_require__(95)
9581 , ctx = __webpack_require__(96)
9582 , PROTOTYPE = 'prototype';
9583
9584 var $export = function(type, name, source){
9585 var IS_FORCED = type & $export.F
9586 , IS_GLOBAL = type & $export.G
9587 , IS_STATIC = type & $export.S
9588 , IS_PROTO = type & $export.P
9589 , IS_BIND = type & $export.B
9590 , IS_WRAP = type & $export.W
9591 , exports = IS_GLOBAL ? core : core[name] || (core[name] = {})
9592 , target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE]
9593 , key, own, out;
9594 if(IS_GLOBAL)source = name;
9595 for(key in source){
9596 // contains in native
9597 own = !IS_FORCED && target && key in target;
9598 if(own && key in exports)continue;
9599 // export native or passed
9600 out = own ? target[key] : source[key];
9601 // prevent global pollution for namespaces
9602 exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]
9603 // bind timers to global for call from export context
9604 : IS_BIND && own ? ctx(out, global)
9605 // wrap global constructors for prevent change them in library
9606 : IS_WRAP && target[key] == out ? (function(C){
9607 var F = function(param){
9608 return this instanceof C ? new C(param) : C(param);
9609 };
9610 F[PROTOTYPE] = C[PROTOTYPE];
9611 return F;
9612 // make static versions for prototype methods
9613 })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;
9614 if(IS_PROTO)(exports[PROTOTYPE] || (exports[PROTOTYPE] = {}))[key] = out;
9615 }
9616 };
9617 // type bitmap
9618 $export.F = 1; // forced
9619 $export.G = 2; // global
9620 $export.S = 4; // static
9621 $export.P = 8; // proto
9622 $export.B = 16; // bind
9623 $export.W = 32; // wrap
9624 module.exports = $export;
9625
9626/***/ }),
9627/* 94 */
9628/***/ (function(module, exports) {
9629
9630 // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
9631 var global = module.exports = typeof window != 'undefined' && window.Math == Math
9632 ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();
9633 if(typeof __g == 'number')__g = global; // eslint-disable-line no-undef
9634
9635/***/ }),
9636/* 95 */
9637/***/ (function(module, exports) {
9638
9639 var core = module.exports = {version: '1.2.6'};
9640 if(typeof __e == 'number')__e = core; // eslint-disable-line no-undef
9641
9642/***/ }),
9643/* 96 */
9644/***/ (function(module, exports, __webpack_require__) {
9645
9646 // optional / simple context binding
9647 var aFunction = __webpack_require__(97);
9648 module.exports = function(fn, that, length){
9649 aFunction(fn);
9650 if(that === undefined)return fn;
9651 switch(length){
9652 case 1: return function(a){
9653 return fn.call(that, a);
9654 };
9655 case 2: return function(a, b){
9656 return fn.call(that, a, b);
9657 };
9658 case 3: return function(a, b, c){
9659 return fn.call(that, a, b, c);
9660 };
9661 }
9662 return function(/* ...args */){
9663 return fn.apply(that, arguments);
9664 };
9665 };
9666
9667/***/ }),
9668/* 97 */
9669/***/ (function(module, exports) {
9670
9671 module.exports = function(it){
9672 if(typeof it != 'function')throw TypeError(it + ' is not a function!');
9673 return it;
9674 };
9675
9676/***/ }),
9677/* 98 */
9678/***/ (function(module, exports, __webpack_require__) {
9679
9680 // 19.1.2.1 Object.assign(target, source, ...)
9681 var $ = __webpack_require__(99)
9682 , toObject = __webpack_require__(100)
9683 , IObject = __webpack_require__(102);
9684
9685 // should work with symbols and should have deterministic property order (V8 bug)
9686 module.exports = __webpack_require__(104)(function(){
9687 var a = Object.assign
9688 , A = {}
9689 , B = {}
9690 , S = Symbol()
9691 , K = 'abcdefghijklmnopqrst';
9692 A[S] = 7;
9693 K.split('').forEach(function(k){ B[k] = k; });
9694 return a({}, A)[S] != 7 || Object.keys(a({}, B)).join('') != K;
9695 }) ? function assign(target, source){ // eslint-disable-line no-unused-vars
9696 var T = toObject(target)
9697 , $$ = arguments
9698 , $$len = $$.length
9699 , index = 1
9700 , getKeys = $.getKeys
9701 , getSymbols = $.getSymbols
9702 , isEnum = $.isEnum;
9703 while($$len > index){
9704 var S = IObject($$[index++])
9705 , keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S)
9706 , length = keys.length
9707 , j = 0
9708 , key;
9709 while(length > j)if(isEnum.call(S, key = keys[j++]))T[key] = S[key];
9710 }
9711 return T;
9712 } : Object.assign;
9713
9714/***/ }),
9715/* 99 */
9716/***/ (function(module, exports) {
9717
9718 var $Object = Object;
9719 module.exports = {
9720 create: $Object.create,
9721 getProto: $Object.getPrototypeOf,
9722 isEnum: {}.propertyIsEnumerable,
9723 getDesc: $Object.getOwnPropertyDescriptor,
9724 setDesc: $Object.defineProperty,
9725 setDescs: $Object.defineProperties,
9726 getKeys: $Object.keys,
9727 getNames: $Object.getOwnPropertyNames,
9728 getSymbols: $Object.getOwnPropertySymbols,
9729 each: [].forEach
9730 };
9731
9732/***/ }),
9733/* 100 */
9734/***/ (function(module, exports, __webpack_require__) {
9735
9736 // 7.1.13 ToObject(argument)
9737 var defined = __webpack_require__(101);
9738 module.exports = function(it){
9739 return Object(defined(it));
9740 };
9741
9742/***/ }),
9743/* 101 */
9744/***/ (function(module, exports) {
9745
9746 // 7.2.1 RequireObjectCoercible(argument)
9747 module.exports = function(it){
9748 if(it == undefined)throw TypeError("Can't call method on " + it);
9749 return it;
9750 };
9751
9752/***/ }),
9753/* 102 */
9754/***/ (function(module, exports, __webpack_require__) {
9755
9756 // fallback for non-array-like ES3 and non-enumerable old V8 strings
9757 var cof = __webpack_require__(103);
9758 module.exports = Object('z').propertyIsEnumerable(0) ? Object : function(it){
9759 return cof(it) == 'String' ? it.split('') : Object(it);
9760 };
9761
9762/***/ }),
9763/* 103 */
9764/***/ (function(module, exports) {
9765
9766 var toString = {}.toString;
9767
9768 module.exports = function(it){
9769 return toString.call(it).slice(8, -1);
9770 };
9771
9772/***/ }),
9773/* 104 */
9774/***/ (function(module, exports) {
9775
9776 module.exports = function(exec){
9777 try {
9778 return !!exec();
9779 } catch(e){
9780 return true;
9781 }
9782 };
9783
9784/***/ }),
9785/* 105 */
9786/***/ (function(module, exports) {
9787
9788 "use strict";
9789
9790 exports.__esModule = true;
9791
9792 exports.default = function (instance, Constructor) {
9793 if (!(instance instanceof Constructor)) {
9794 throw new TypeError("Cannot call a class as a function");
9795 }
9796 };
9797
9798/***/ }),
9799/* 106 */
9800/***/ (function(module, exports, __webpack_require__) {
9801
9802 "use strict";
9803
9804 exports.__esModule = true;
9805
9806 var _typeof2 = __webpack_require__(107);
9807
9808 var _typeof3 = _interopRequireDefault(_typeof2);
9809
9810 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9811
9812 exports.default = function (self, call) {
9813 if (!self) {
9814 throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
9815 }
9816
9817 return call && ((typeof call === "undefined" ? "undefined" : (0, _typeof3.default)(call)) === "object" || typeof call === "function") ? call : self;
9818 };
9819
9820/***/ }),
9821/* 107 */
9822/***/ (function(module, exports, __webpack_require__) {
9823
9824 "use strict";
9825
9826 exports.__esModule = true;
9827
9828 var _iterator = __webpack_require__(108);
9829
9830 var _iterator2 = _interopRequireDefault(_iterator);
9831
9832 var _symbol = __webpack_require__(131);
9833
9834 var _symbol2 = _interopRequireDefault(_symbol);
9835
9836 var _typeof = typeof _symbol2.default === "function" && typeof _iterator2.default === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === "function" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? "symbol" : typeof obj; };
9837
9838 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9839
9840 exports.default = typeof _symbol2.default === "function" && _typeof(_iterator2.default) === "symbol" ? function (obj) {
9841 return typeof obj === "undefined" ? "undefined" : _typeof(obj);
9842 } : function (obj) {
9843 return obj && typeof _symbol2.default === "function" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof(obj);
9844 };
9845
9846/***/ }),
9847/* 108 */
9848/***/ (function(module, exports, __webpack_require__) {
9849
9850 module.exports = { "default": __webpack_require__(109), __esModule: true };
9851
9852/***/ }),
9853/* 109 */
9854/***/ (function(module, exports, __webpack_require__) {
9855
9856 __webpack_require__(110);
9857 __webpack_require__(126);
9858 module.exports = __webpack_require__(123)('iterator');
9859
9860/***/ }),
9861/* 110 */
9862/***/ (function(module, exports, __webpack_require__) {
9863
9864 'use strict';
9865 var $at = __webpack_require__(111)(true);
9866
9867 // 21.1.3.27 String.prototype[@@iterator]()
9868 __webpack_require__(113)(String, 'String', function(iterated){
9869 this._t = String(iterated); // target
9870 this._i = 0; // next index
9871 // 21.1.5.2.1 %StringIteratorPrototype%.next()
9872 }, function(){
9873 var O = this._t
9874 , index = this._i
9875 , point;
9876 if(index >= O.length)return {value: undefined, done: true};
9877 point = $at(O, index);
9878 this._i += point.length;
9879 return {value: point, done: false};
9880 });
9881
9882/***/ }),
9883/* 111 */
9884/***/ (function(module, exports, __webpack_require__) {
9885
9886 var toInteger = __webpack_require__(112)
9887 , defined = __webpack_require__(101);
9888 // true -> String#at
9889 // false -> String#codePointAt
9890 module.exports = function(TO_STRING){
9891 return function(that, pos){
9892 var s = String(defined(that))
9893 , i = toInteger(pos)
9894 , l = s.length
9895 , a, b;
9896 if(i < 0 || i >= l)return TO_STRING ? '' : undefined;
9897 a = s.charCodeAt(i);
9898 return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff
9899 ? TO_STRING ? s.charAt(i) : a
9900 : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;
9901 };
9902 };
9903
9904/***/ }),
9905/* 112 */
9906/***/ (function(module, exports) {
9907
9908 // 7.1.4 ToInteger
9909 var ceil = Math.ceil
9910 , floor = Math.floor;
9911 module.exports = function(it){
9912 return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);
9913 };
9914
9915/***/ }),
9916/* 113 */
9917/***/ (function(module, exports, __webpack_require__) {
9918
9919 'use strict';
9920 var LIBRARY = __webpack_require__(114)
9921 , $export = __webpack_require__(93)
9922 , redefine = __webpack_require__(115)
9923 , hide = __webpack_require__(116)
9924 , has = __webpack_require__(119)
9925 , Iterators = __webpack_require__(120)
9926 , $iterCreate = __webpack_require__(121)
9927 , setToStringTag = __webpack_require__(122)
9928 , getProto = __webpack_require__(99).getProto
9929 , ITERATOR = __webpack_require__(123)('iterator')
9930 , BUGGY = !([].keys && 'next' in [].keys()) // Safari has buggy iterators w/o `next`
9931 , FF_ITERATOR = '@@iterator'
9932 , KEYS = 'keys'
9933 , VALUES = 'values';
9934
9935 var returnThis = function(){ return this; };
9936
9937 module.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED){
9938 $iterCreate(Constructor, NAME, next);
9939 var getMethod = function(kind){
9940 if(!BUGGY && kind in proto)return proto[kind];
9941 switch(kind){
9942 case KEYS: return function keys(){ return new Constructor(this, kind); };
9943 case VALUES: return function values(){ return new Constructor(this, kind); };
9944 } return function entries(){ return new Constructor(this, kind); };
9945 };
9946 var TAG = NAME + ' Iterator'
9947 , DEF_VALUES = DEFAULT == VALUES
9948 , VALUES_BUG = false
9949 , proto = Base.prototype
9950 , $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]
9951 , $default = $native || getMethod(DEFAULT)
9952 , methods, key;
9953 // Fix native
9954 if($native){
9955 var IteratorPrototype = getProto($default.call(new Base));
9956 // Set @@toStringTag to native iterators
9957 setToStringTag(IteratorPrototype, TAG, true);
9958 // FF fix
9959 if(!LIBRARY && has(proto, FF_ITERATOR))hide(IteratorPrototype, ITERATOR, returnThis);
9960 // fix Array#{values, @@iterator}.name in V8 / FF
9961 if(DEF_VALUES && $native.name !== VALUES){
9962 VALUES_BUG = true;
9963 $default = function values(){ return $native.call(this); };
9964 }
9965 }
9966 // Define iterator
9967 if((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])){
9968 hide(proto, ITERATOR, $default);
9969 }
9970 // Plug for library
9971 Iterators[NAME] = $default;
9972 Iterators[TAG] = returnThis;
9973 if(DEFAULT){
9974 methods = {
9975 values: DEF_VALUES ? $default : getMethod(VALUES),
9976 keys: IS_SET ? $default : getMethod(KEYS),
9977 entries: !DEF_VALUES ? $default : getMethod('entries')
9978 };
9979 if(FORCED)for(key in methods){
9980 if(!(key in proto))redefine(proto, key, methods[key]);
9981 } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);
9982 }
9983 return methods;
9984 };
9985
9986/***/ }),
9987/* 114 */
9988/***/ (function(module, exports) {
9989
9990 module.exports = true;
9991
9992/***/ }),
9993/* 115 */
9994/***/ (function(module, exports, __webpack_require__) {
9995
9996 module.exports = __webpack_require__(116);
9997
9998/***/ }),
9999/* 116 */
10000/***/ (function(module, exports, __webpack_require__) {
10001
10002 var $ = __webpack_require__(99)
10003 , createDesc = __webpack_require__(117);
10004 module.exports = __webpack_require__(118) ? function(object, key, value){
10005 return $.setDesc(object, key, createDesc(1, value));
10006 } : function(object, key, value){
10007 object[key] = value;
10008 return object;
10009 };
10010
10011/***/ }),
10012/* 117 */
10013/***/ (function(module, exports) {
10014
10015 module.exports = function(bitmap, value){
10016 return {
10017 enumerable : !(bitmap & 1),
10018 configurable: !(bitmap & 2),
10019 writable : !(bitmap & 4),
10020 value : value
10021 };
10022 };
10023
10024/***/ }),
10025/* 118 */
10026/***/ (function(module, exports, __webpack_require__) {
10027
10028 // Thank's IE8 for his funny defineProperty
10029 module.exports = !__webpack_require__(104)(function(){
10030 return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7;
10031 });
10032
10033/***/ }),
10034/* 119 */
10035/***/ (function(module, exports) {
10036
10037 var hasOwnProperty = {}.hasOwnProperty;
10038 module.exports = function(it, key){
10039 return hasOwnProperty.call(it, key);
10040 };
10041
10042/***/ }),
10043/* 120 */
10044/***/ (function(module, exports) {
10045
10046 module.exports = {};
10047
10048/***/ }),
10049/* 121 */
10050/***/ (function(module, exports, __webpack_require__) {
10051
10052 'use strict';
10053 var $ = __webpack_require__(99)
10054 , descriptor = __webpack_require__(117)
10055 , setToStringTag = __webpack_require__(122)
10056 , IteratorPrototype = {};
10057
10058 // 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
10059 __webpack_require__(116)(IteratorPrototype, __webpack_require__(123)('iterator'), function(){ return this; });
10060
10061 module.exports = function(Constructor, NAME, next){
10062 Constructor.prototype = $.create(IteratorPrototype, {next: descriptor(1, next)});
10063 setToStringTag(Constructor, NAME + ' Iterator');
10064 };
10065
10066/***/ }),
10067/* 122 */
10068/***/ (function(module, exports, __webpack_require__) {
10069
10070 var def = __webpack_require__(99).setDesc
10071 , has = __webpack_require__(119)
10072 , TAG = __webpack_require__(123)('toStringTag');
10073
10074 module.exports = function(it, tag, stat){
10075 if(it && !has(it = stat ? it : it.prototype, TAG))def(it, TAG, {configurable: true, value: tag});
10076 };
10077
10078/***/ }),
10079/* 123 */
10080/***/ (function(module, exports, __webpack_require__) {
10081
10082 var store = __webpack_require__(124)('wks')
10083 , uid = __webpack_require__(125)
10084 , Symbol = __webpack_require__(94).Symbol;
10085 module.exports = function(name){
10086 return store[name] || (store[name] =
10087 Symbol && Symbol[name] || (Symbol || uid)('Symbol.' + name));
10088 };
10089
10090/***/ }),
10091/* 124 */
10092/***/ (function(module, exports, __webpack_require__) {
10093
10094 var global = __webpack_require__(94)
10095 , SHARED = '__core-js_shared__'
10096 , store = global[SHARED] || (global[SHARED] = {});
10097 module.exports = function(key){
10098 return store[key] || (store[key] = {});
10099 };
10100
10101/***/ }),
10102/* 125 */
10103/***/ (function(module, exports) {
10104
10105 var id = 0
10106 , px = Math.random();
10107 module.exports = function(key){
10108 return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));
10109 };
10110
10111/***/ }),
10112/* 126 */
10113/***/ (function(module, exports, __webpack_require__) {
10114
10115 __webpack_require__(127);
10116 var Iterators = __webpack_require__(120);
10117 Iterators.NodeList = Iterators.HTMLCollection = Iterators.Array;
10118
10119/***/ }),
10120/* 127 */
10121/***/ (function(module, exports, __webpack_require__) {
10122
10123 'use strict';
10124 var addToUnscopables = __webpack_require__(128)
10125 , step = __webpack_require__(129)
10126 , Iterators = __webpack_require__(120)
10127 , toIObject = __webpack_require__(130);
10128
10129 // 22.1.3.4 Array.prototype.entries()
10130 // 22.1.3.13 Array.prototype.keys()
10131 // 22.1.3.29 Array.prototype.values()
10132 // 22.1.3.30 Array.prototype[@@iterator]()
10133 module.exports = __webpack_require__(113)(Array, 'Array', function(iterated, kind){
10134 this._t = toIObject(iterated); // target
10135 this._i = 0; // next index
10136 this._k = kind; // kind
10137 // 22.1.5.2.1 %ArrayIteratorPrototype%.next()
10138 }, function(){
10139 var O = this._t
10140 , kind = this._k
10141 , index = this._i++;
10142 if(!O || index >= O.length){
10143 this._t = undefined;
10144 return step(1);
10145 }
10146 if(kind == 'keys' )return step(0, index);
10147 if(kind == 'values')return step(0, O[index]);
10148 return step(0, [index, O[index]]);
10149 }, 'values');
10150
10151 // argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)
10152 Iterators.Arguments = Iterators.Array;
10153
10154 addToUnscopables('keys');
10155 addToUnscopables('values');
10156 addToUnscopables('entries');
10157
10158/***/ }),
10159/* 128 */
10160/***/ (function(module, exports) {
10161
10162 module.exports = function(){ /* empty */ };
10163
10164/***/ }),
10165/* 129 */
10166/***/ (function(module, exports) {
10167
10168 module.exports = function(done, value){
10169 return {value: value, done: !!done};
10170 };
10171
10172/***/ }),
10173/* 130 */
10174/***/ (function(module, exports, __webpack_require__) {
10175
10176 // to indexed object, toObject with fallback for non-array-like ES3 strings
10177 var IObject = __webpack_require__(102)
10178 , defined = __webpack_require__(101);
10179 module.exports = function(it){
10180 return IObject(defined(it));
10181 };
10182
10183/***/ }),
10184/* 131 */
10185/***/ (function(module, exports, __webpack_require__) {
10186
10187 module.exports = { "default": __webpack_require__(132), __esModule: true };
10188
10189/***/ }),
10190/* 132 */
10191/***/ (function(module, exports, __webpack_require__) {
10192
10193 __webpack_require__(133);
10194 __webpack_require__(140);
10195 module.exports = __webpack_require__(95).Symbol;
10196
10197/***/ }),
10198/* 133 */
10199/***/ (function(module, exports, __webpack_require__) {
10200
10201 'use strict';
10202 // ECMAScript 6 symbols shim
10203 var $ = __webpack_require__(99)
10204 , global = __webpack_require__(94)
10205 , has = __webpack_require__(119)
10206 , DESCRIPTORS = __webpack_require__(118)
10207 , $export = __webpack_require__(93)
10208 , redefine = __webpack_require__(115)
10209 , $fails = __webpack_require__(104)
10210 , shared = __webpack_require__(124)
10211 , setToStringTag = __webpack_require__(122)
10212 , uid = __webpack_require__(125)
10213 , wks = __webpack_require__(123)
10214 , keyOf = __webpack_require__(134)
10215 , $names = __webpack_require__(135)
10216 , enumKeys = __webpack_require__(136)
10217 , isArray = __webpack_require__(137)
10218 , anObject = __webpack_require__(138)
10219 , toIObject = __webpack_require__(130)
10220 , createDesc = __webpack_require__(117)
10221 , getDesc = $.getDesc
10222 , setDesc = $.setDesc
10223 , _create = $.create
10224 , getNames = $names.get
10225 , $Symbol = global.Symbol
10226 , $JSON = global.JSON
10227 , _stringify = $JSON && $JSON.stringify
10228 , setter = false
10229 , HIDDEN = wks('_hidden')
10230 , isEnum = $.isEnum
10231 , SymbolRegistry = shared('symbol-registry')
10232 , AllSymbols = shared('symbols')
10233 , useNative = typeof $Symbol == 'function'
10234 , ObjectProto = Object.prototype;
10235
10236 // fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687
10237 var setSymbolDesc = DESCRIPTORS && $fails(function(){
10238 return _create(setDesc({}, 'a', {
10239 get: function(){ return setDesc(this, 'a', {value: 7}).a; }
10240 })).a != 7;
10241 }) ? function(it, key, D){
10242 var protoDesc = getDesc(ObjectProto, key);
10243 if(protoDesc)delete ObjectProto[key];
10244 setDesc(it, key, D);
10245 if(protoDesc && it !== ObjectProto)setDesc(ObjectProto, key, protoDesc);
10246 } : setDesc;
10247
10248 var wrap = function(tag){
10249 var sym = AllSymbols[tag] = _create($Symbol.prototype);
10250 sym._k = tag;
10251 DESCRIPTORS && setter && setSymbolDesc(ObjectProto, tag, {
10252 configurable: true,
10253 set: function(value){
10254 if(has(this, HIDDEN) && has(this[HIDDEN], tag))this[HIDDEN][tag] = false;
10255 setSymbolDesc(this, tag, createDesc(1, value));
10256 }
10257 });
10258 return sym;
10259 };
10260
10261 var isSymbol = function(it){
10262 return typeof it == 'symbol';
10263 };
10264
10265 var $defineProperty = function defineProperty(it, key, D){
10266 if(D && has(AllSymbols, key)){
10267 if(!D.enumerable){
10268 if(!has(it, HIDDEN))setDesc(it, HIDDEN, createDesc(1, {}));
10269 it[HIDDEN][key] = true;
10270 } else {
10271 if(has(it, HIDDEN) && it[HIDDEN][key])it[HIDDEN][key] = false;
10272 D = _create(D, {enumerable: createDesc(0, false)});
10273 } return setSymbolDesc(it, key, D);
10274 } return setDesc(it, key, D);
10275 };
10276 var $defineProperties = function defineProperties(it, P){
10277 anObject(it);
10278 var keys = enumKeys(P = toIObject(P))
10279 , i = 0
10280 , l = keys.length
10281 , key;
10282 while(l > i)$defineProperty(it, key = keys[i++], P[key]);
10283 return it;
10284 };
10285 var $create = function create(it, P){
10286 return P === undefined ? _create(it) : $defineProperties(_create(it), P);
10287 };
10288 var $propertyIsEnumerable = function propertyIsEnumerable(key){
10289 var E = isEnum.call(this, key);
10290 return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key]
10291 ? E : true;
10292 };
10293 var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key){
10294 var D = getDesc(it = toIObject(it), key);
10295 if(D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key]))D.enumerable = true;
10296 return D;
10297 };
10298 var $getOwnPropertyNames = function getOwnPropertyNames(it){
10299 var names = getNames(toIObject(it))
10300 , result = []
10301 , i = 0
10302 , key;
10303 while(names.length > i)if(!has(AllSymbols, key = names[i++]) && key != HIDDEN)result.push(key);
10304 return result;
10305 };
10306 var $getOwnPropertySymbols = function getOwnPropertySymbols(it){
10307 var names = getNames(toIObject(it))
10308 , result = []
10309 , i = 0
10310 , key;
10311 while(names.length > i)if(has(AllSymbols, key = names[i++]))result.push(AllSymbols[key]);
10312 return result;
10313 };
10314 var $stringify = function stringify(it){
10315 if(it === undefined || isSymbol(it))return; // IE8 returns string on undefined
10316 var args = [it]
10317 , i = 1
10318 , $$ = arguments
10319 , replacer, $replacer;
10320 while($$.length > i)args.push($$[i++]);
10321 replacer = args[1];
10322 if(typeof replacer == 'function')$replacer = replacer;
10323 if($replacer || !isArray(replacer))replacer = function(key, value){
10324 if($replacer)value = $replacer.call(this, key, value);
10325 if(!isSymbol(value))return value;
10326 };
10327 args[1] = replacer;
10328 return _stringify.apply($JSON, args);
10329 };
10330 var buggyJSON = $fails(function(){
10331 var S = $Symbol();
10332 // MS Edge converts symbol values to JSON as {}
10333 // WebKit converts symbol values to JSON as null
10334 // V8 throws on boxed symbols
10335 return _stringify([S]) != '[null]' || _stringify({a: S}) != '{}' || _stringify(Object(S)) != '{}';
10336 });
10337
10338 // 19.4.1.1 Symbol([description])
10339 if(!useNative){
10340 $Symbol = function Symbol(){
10341 if(isSymbol(this))throw TypeError('Symbol is not a constructor');
10342 return wrap(uid(arguments.length > 0 ? arguments[0] : undefined));
10343 };
10344 redefine($Symbol.prototype, 'toString', function toString(){
10345 return this._k;
10346 });
10347
10348 isSymbol = function(it){
10349 return it instanceof $Symbol;
10350 };
10351
10352 $.create = $create;
10353 $.isEnum = $propertyIsEnumerable;
10354 $.getDesc = $getOwnPropertyDescriptor;
10355 $.setDesc = $defineProperty;
10356 $.setDescs = $defineProperties;
10357 $.getNames = $names.get = $getOwnPropertyNames;
10358 $.getSymbols = $getOwnPropertySymbols;
10359
10360 if(DESCRIPTORS && !__webpack_require__(114)){
10361 redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);
10362 }
10363 }
10364
10365 var symbolStatics = {
10366 // 19.4.2.1 Symbol.for(key)
10367 'for': function(key){
10368 return has(SymbolRegistry, key += '')
10369 ? SymbolRegistry[key]
10370 : SymbolRegistry[key] = $Symbol(key);
10371 },
10372 // 19.4.2.5 Symbol.keyFor(sym)
10373 keyFor: function keyFor(key){
10374 return keyOf(SymbolRegistry, key);
10375 },
10376 useSetter: function(){ setter = true; },
10377 useSimple: function(){ setter = false; }
10378 };
10379 // 19.4.2.2 Symbol.hasInstance
10380 // 19.4.2.3 Symbol.isConcatSpreadable
10381 // 19.4.2.4 Symbol.iterator
10382 // 19.4.2.6 Symbol.match
10383 // 19.4.2.8 Symbol.replace
10384 // 19.4.2.9 Symbol.search
10385 // 19.4.2.10 Symbol.species
10386 // 19.4.2.11 Symbol.split
10387 // 19.4.2.12 Symbol.toPrimitive
10388 // 19.4.2.13 Symbol.toStringTag
10389 // 19.4.2.14 Symbol.unscopables
10390 $.each.call((
10391 'hasInstance,isConcatSpreadable,iterator,match,replace,search,' +
10392 'species,split,toPrimitive,toStringTag,unscopables'
10393 ).split(','), function(it){
10394 var sym = wks(it);
10395 symbolStatics[it] = useNative ? sym : wrap(sym);
10396 });
10397
10398 setter = true;
10399
10400 $export($export.G + $export.W, {Symbol: $Symbol});
10401
10402 $export($export.S, 'Symbol', symbolStatics);
10403
10404 $export($export.S + $export.F * !useNative, 'Object', {
10405 // 19.1.2.2 Object.create(O [, Properties])
10406 create: $create,
10407 // 19.1.2.4 Object.defineProperty(O, P, Attributes)
10408 defineProperty: $defineProperty,
10409 // 19.1.2.3 Object.defineProperties(O, Properties)
10410 defineProperties: $defineProperties,
10411 // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)
10412 getOwnPropertyDescriptor: $getOwnPropertyDescriptor,
10413 // 19.1.2.7 Object.getOwnPropertyNames(O)
10414 getOwnPropertyNames: $getOwnPropertyNames,
10415 // 19.1.2.8 Object.getOwnPropertySymbols(O)
10416 getOwnPropertySymbols: $getOwnPropertySymbols
10417 });
10418
10419 // 24.3.2 JSON.stringify(value [, replacer [, space]])
10420 $JSON && $export($export.S + $export.F * (!useNative || buggyJSON), 'JSON', {stringify: $stringify});
10421
10422 // 19.4.3.5 Symbol.prototype[@@toStringTag]
10423 setToStringTag($Symbol, 'Symbol');
10424 // 20.2.1.9 Math[@@toStringTag]
10425 setToStringTag(Math, 'Math', true);
10426 // 24.3.3 JSON[@@toStringTag]
10427 setToStringTag(global.JSON, 'JSON', true);
10428
10429/***/ }),
10430/* 134 */
10431/***/ (function(module, exports, __webpack_require__) {
10432
10433 var $ = __webpack_require__(99)
10434 , toIObject = __webpack_require__(130);
10435 module.exports = function(object, el){
10436 var O = toIObject(object)
10437 , keys = $.getKeys(O)
10438 , length = keys.length
10439 , index = 0
10440 , key;
10441 while(length > index)if(O[key = keys[index++]] === el)return key;
10442 };
10443
10444/***/ }),
10445/* 135 */
10446/***/ (function(module, exports, __webpack_require__) {
10447
10448 // fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window
10449 var toIObject = __webpack_require__(130)
10450 , getNames = __webpack_require__(99).getNames
10451 , toString = {}.toString;
10452
10453 var windowNames = typeof window == 'object' && Object.getOwnPropertyNames
10454 ? Object.getOwnPropertyNames(window) : [];
10455
10456 var getWindowNames = function(it){
10457 try {
10458 return getNames(it);
10459 } catch(e){
10460 return windowNames.slice();
10461 }
10462 };
10463
10464 module.exports.get = function getOwnPropertyNames(it){
10465 if(windowNames && toString.call(it) == '[object Window]')return getWindowNames(it);
10466 return getNames(toIObject(it));
10467 };
10468
10469/***/ }),
10470/* 136 */
10471/***/ (function(module, exports, __webpack_require__) {
10472
10473 // all enumerable object keys, includes symbols
10474 var $ = __webpack_require__(99);
10475 module.exports = function(it){
10476 var keys = $.getKeys(it)
10477 , getSymbols = $.getSymbols;
10478 if(getSymbols){
10479 var symbols = getSymbols(it)
10480 , isEnum = $.isEnum
10481 , i = 0
10482 , key;
10483 while(symbols.length > i)if(isEnum.call(it, key = symbols[i++]))keys.push(key);
10484 }
10485 return keys;
10486 };
10487
10488/***/ }),
10489/* 137 */
10490/***/ (function(module, exports, __webpack_require__) {
10491
10492 // 7.2.2 IsArray(argument)
10493 var cof = __webpack_require__(103);
10494 module.exports = Array.isArray || function(arg){
10495 return cof(arg) == 'Array';
10496 };
10497
10498/***/ }),
10499/* 138 */
10500/***/ (function(module, exports, __webpack_require__) {
10501
10502 var isObject = __webpack_require__(139);
10503 module.exports = function(it){
10504 if(!isObject(it))throw TypeError(it + ' is not an object!');
10505 return it;
10506 };
10507
10508/***/ }),
10509/* 139 */
10510/***/ (function(module, exports) {
10511
10512 module.exports = function(it){
10513 return typeof it === 'object' ? it !== null : typeof it === 'function';
10514 };
10515
10516/***/ }),
10517/* 140 */
10518/***/ (function(module, exports) {
10519
10520
10521
10522/***/ }),
10523/* 141 */
10524/***/ (function(module, exports, __webpack_require__) {
10525
10526 "use strict";
10527
10528 exports.__esModule = true;
10529
10530 var _setPrototypeOf = __webpack_require__(142);
10531
10532 var _setPrototypeOf2 = _interopRequireDefault(_setPrototypeOf);
10533
10534 var _create = __webpack_require__(146);
10535
10536 var _create2 = _interopRequireDefault(_create);
10537
10538 var _typeof2 = __webpack_require__(107);
10539
10540 var _typeof3 = _interopRequireDefault(_typeof2);
10541
10542 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10543
10544 exports.default = function (subClass, superClass) {
10545 if (typeof superClass !== "function" && superClass !== null) {
10546 throw new TypeError("Super expression must either be null or a function, not " + (typeof superClass === "undefined" ? "undefined" : (0, _typeof3.default)(superClass)));
10547 }
10548
10549 subClass.prototype = (0, _create2.default)(superClass && superClass.prototype, {
10550 constructor: {
10551 value: subClass,
10552 enumerable: false,
10553 writable: true,
10554 configurable: true
10555 }
10556 });
10557 if (superClass) _setPrototypeOf2.default ? (0, _setPrototypeOf2.default)(subClass, superClass) : subClass.__proto__ = superClass;
10558 };
10559
10560/***/ }),
10561/* 142 */
10562/***/ (function(module, exports, __webpack_require__) {
10563
10564 module.exports = { "default": __webpack_require__(143), __esModule: true };
10565
10566/***/ }),
10567/* 143 */
10568/***/ (function(module, exports, __webpack_require__) {
10569
10570 __webpack_require__(144);
10571 module.exports = __webpack_require__(95).Object.setPrototypeOf;
10572
10573/***/ }),
10574/* 144 */
10575/***/ (function(module, exports, __webpack_require__) {
10576
10577 // 19.1.3.19 Object.setPrototypeOf(O, proto)
10578 var $export = __webpack_require__(93);
10579 $export($export.S, 'Object', {setPrototypeOf: __webpack_require__(145).set});
10580
10581/***/ }),
10582/* 145 */
10583/***/ (function(module, exports, __webpack_require__) {
10584
10585 // Works with __proto__ only. Old v8 can't work with null proto objects.
10586 /* eslint-disable no-proto */
10587 var getDesc = __webpack_require__(99).getDesc
10588 , isObject = __webpack_require__(139)
10589 , anObject = __webpack_require__(138);
10590 var check = function(O, proto){
10591 anObject(O);
10592 if(!isObject(proto) && proto !== null)throw TypeError(proto + ": can't set as prototype!");
10593 };
10594 module.exports = {
10595 set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line
10596 function(test, buggy, set){
10597 try {
10598 set = __webpack_require__(96)(Function.call, getDesc(Object.prototype, '__proto__').set, 2);
10599 set(test, []);
10600 buggy = !(test instanceof Array);
10601 } catch(e){ buggy = true; }
10602 return function setPrototypeOf(O, proto){
10603 check(O, proto);
10604 if(buggy)O.__proto__ = proto;
10605 else set(O, proto);
10606 return O;
10607 };
10608 }({}, false) : undefined),
10609 check: check
10610 };
10611
10612/***/ }),
10613/* 146 */
10614/***/ (function(module, exports, __webpack_require__) {
10615
10616 module.exports = { "default": __webpack_require__(147), __esModule: true };
10617
10618/***/ }),
10619/* 147 */
10620/***/ (function(module, exports, __webpack_require__) {
10621
10622 var $ = __webpack_require__(99);
10623 module.exports = function create(P, D){
10624 return $.create(P, D);
10625 };
10626
10627/***/ }),
10628/* 148 */
10629/***/ (function(module, exports) {
10630
10631 "use strict";
10632
10633 Object.defineProperty(exports, "__esModule", {
10634 value: true
10635 });
10636 exports["default"] = contains;
10637 function contains(root, n) {
10638 var node = n;
10639 while (node) {
10640 if (node === root) {
10641 return true;
10642 }
10643 node = node.parentNode;
10644 }
10645
10646 return false;
10647 }
10648 module.exports = exports['default'];
10649
10650/***/ }),
10651/* 149 */
10652/***/ (function(module, exports, __webpack_require__) {
10653
10654 'use strict';
10655
10656 Object.defineProperty(exports, "__esModule", {
10657 value: true
10658 });
10659 exports['default'] = addEventListenerWrap;
10660
10661 var _addDomEventListener = __webpack_require__(41);
10662
10663 var _addDomEventListener2 = _interopRequireDefault(_addDomEventListener);
10664
10665 var _reactDom = __webpack_require__(12);
10666
10667 var _reactDom2 = _interopRequireDefault(_reactDom);
10668
10669 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
10670
10671 function addEventListenerWrap(target, eventType, cb, option) {
10672 /* eslint camelcase: 2 */
10673 var callback = _reactDom2['default'].unstable_batchedUpdates ? function run(e) {
10674 _reactDom2['default'].unstable_batchedUpdates(cb, e);
10675 } : cb;
10676 return (0, _addDomEventListener2['default'])(target, eventType, callback, option);
10677 }
10678 module.exports = exports['default'];
10679
10680/***/ }),
10681/* 150 */
10682/***/ (function(module, exports, __webpack_require__) {
10683
10684 'use strict';
10685
10686 Object.defineProperty(exports, "__esModule", {
10687 value: true
10688 });
10689
10690 var _classCallCheck2 = __webpack_require__(105);
10691
10692 var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
10693
10694 var _createClass2 = __webpack_require__(151);
10695
10696 var _createClass3 = _interopRequireDefault(_createClass2);
10697
10698 var _possibleConstructorReturn2 = __webpack_require__(106);
10699
10700 var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
10701
10702 var _inherits2 = __webpack_require__(141);
10703
10704 var _inherits3 = _interopRequireDefault(_inherits2);
10705
10706 var _react = __webpack_require__(4);
10707
10708 var _react2 = _interopRequireDefault(_react);
10709
10710 var _reactDom = __webpack_require__(12);
10711
10712 var _reactDom2 = _interopRequireDefault(_reactDom);
10713
10714 var _propTypes = __webpack_require__(5);
10715
10716 var _propTypes2 = _interopRequireDefault(_propTypes);
10717
10718 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
10719
10720 var ContainerRender = function (_React$Component) {
10721 (0, _inherits3['default'])(ContainerRender, _React$Component);
10722
10723 function ContainerRender() {
10724 var _ref;
10725
10726 var _temp, _this, _ret;
10727
10728 (0, _classCallCheck3['default'])(this, ContainerRender);
10729
10730 for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
10731 args[_key] = arguments[_key];
10732 }
10733
10734 return _ret = (_temp = (_this = (0, _possibleConstructorReturn3['default'])(this, (_ref = ContainerRender.__proto__ || Object.getPrototypeOf(ContainerRender)).call.apply(_ref, [this].concat(args))), _this), _this.removeContainer = function () {
10735 if (_this.container) {
10736 _reactDom2['default'].unmountComponentAtNode(_this.container);
10737 _this.container.parentNode.removeChild(_this.container);
10738 _this.container = null;
10739 }
10740 }, _this.renderComponent = function (props, ready) {
10741 var _this$props = _this.props,
10742 visible = _this$props.visible,
10743 getComponent = _this$props.getComponent,
10744 forceRender = _this$props.forceRender,
10745 getContainer = _this$props.getContainer,
10746 parent = _this$props.parent;
10747
10748 if (visible || parent._component || forceRender) {
10749 if (!_this.container) {
10750 _this.container = getContainer();
10751 }
10752 _reactDom2['default'].unstable_renderSubtreeIntoContainer(parent, getComponent(props), _this.container, function callback() {
10753 if (ready) {
10754 ready.call(this);
10755 }
10756 });
10757 }
10758 }, _temp), (0, _possibleConstructorReturn3['default'])(_this, _ret);
10759 }
10760
10761 (0, _createClass3['default'])(ContainerRender, [{
10762 key: 'componentDidMount',
10763 value: function componentDidMount() {
10764 if (this.props.autoMount) {
10765 this.renderComponent();
10766 }
10767 }
10768 }, {
10769 key: 'componentDidUpdate',
10770 value: function componentDidUpdate() {
10771 if (this.props.autoMount) {
10772 this.renderComponent();
10773 }
10774 }
10775 }, {
10776 key: 'componentWillUnmount',
10777 value: function componentWillUnmount() {
10778 if (this.props.autoDestroy) {
10779 this.removeContainer();
10780 }
10781 }
10782 }, {
10783 key: 'render',
10784 value: function render() {
10785 return this.props.children({
10786 renderComponent: this.renderComponent,
10787 removeContainer: this.removeContainer
10788 });
10789 }
10790 }]);
10791 return ContainerRender;
10792 }(_react2['default'].Component);
10793
10794 ContainerRender.propTypes = {
10795 autoMount: _propTypes2['default'].bool,
10796 autoDestroy: _propTypes2['default'].bool,
10797 visible: _propTypes2['default'].bool,
10798 forceRender: _propTypes2['default'].bool,
10799 parent: _propTypes2['default'].any,
10800 getComponent: _propTypes2['default'].func.isRequired,
10801 getContainer: _propTypes2['default'].func.isRequired,
10802 children: _propTypes2['default'].func.isRequired
10803 };
10804 ContainerRender.defaultProps = {
10805 autoMount: true,
10806 autoDestroy: true,
10807 forceRender: false
10808 };
10809 exports['default'] = ContainerRender;
10810 module.exports = exports['default'];
10811
10812/***/ }),
10813/* 151 */
10814/***/ (function(module, exports, __webpack_require__) {
10815
10816 "use strict";
10817
10818 exports.__esModule = true;
10819
10820 var _defineProperty = __webpack_require__(152);
10821
10822 var _defineProperty2 = _interopRequireDefault(_defineProperty);
10823
10824 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10825
10826 exports.default = function () {
10827 function defineProperties(target, props) {
10828 for (var i = 0; i < props.length; i++) {
10829 var descriptor = props[i];
10830 descriptor.enumerable = descriptor.enumerable || false;
10831 descriptor.configurable = true;
10832 if ("value" in descriptor) descriptor.writable = true;
10833 (0, _defineProperty2.default)(target, descriptor.key, descriptor);
10834 }
10835 }
10836
10837 return function (Constructor, protoProps, staticProps) {
10838 if (protoProps) defineProperties(Constructor.prototype, protoProps);
10839 if (staticProps) defineProperties(Constructor, staticProps);
10840 return Constructor;
10841 };
10842 }();
10843
10844/***/ }),
10845/* 152 */
10846/***/ (function(module, exports, __webpack_require__) {
10847
10848 module.exports = { "default": __webpack_require__(153), __esModule: true };
10849
10850/***/ }),
10851/* 153 */
10852/***/ (function(module, exports, __webpack_require__) {
10853
10854 var $ = __webpack_require__(99);
10855 module.exports = function defineProperty(it, key, desc){
10856 return $.setDesc(it, key, desc);
10857 };
10858
10859/***/ }),
10860/* 154 */
10861/***/ (function(module, exports, __webpack_require__) {
10862
10863 'use strict';
10864
10865 Object.defineProperty(exports, "__esModule", {
10866 value: true
10867 });
10868
10869 var _classCallCheck2 = __webpack_require__(105);
10870
10871 var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
10872
10873 var _createClass2 = __webpack_require__(151);
10874
10875 var _createClass3 = _interopRequireDefault(_createClass2);
10876
10877 var _possibleConstructorReturn2 = __webpack_require__(106);
10878
10879 var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
10880
10881 var _inherits2 = __webpack_require__(141);
10882
10883 var _inherits3 = _interopRequireDefault(_inherits2);
10884
10885 var _react = __webpack_require__(4);
10886
10887 var _react2 = _interopRequireDefault(_react);
10888
10889 var _reactDom = __webpack_require__(12);
10890
10891 var _reactDom2 = _interopRequireDefault(_reactDom);
10892
10893 var _propTypes = __webpack_require__(5);
10894
10895 var _propTypes2 = _interopRequireDefault(_propTypes);
10896
10897 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
10898
10899 var Portal = function (_React$Component) {
10900 (0, _inherits3['default'])(Portal, _React$Component);
10901
10902 function Portal() {
10903 (0, _classCallCheck3['default'])(this, Portal);
10904 return (0, _possibleConstructorReturn3['default'])(this, (Portal.__proto__ || Object.getPrototypeOf(Portal)).apply(this, arguments));
10905 }
10906
10907 (0, _createClass3['default'])(Portal, [{
10908 key: 'componentDidMount',
10909 value: function componentDidMount() {
10910 this.createContainer();
10911 }
10912 }, {
10913 key: 'componentDidUpdate',
10914 value: function componentDidUpdate(prevProps) {
10915 var didUpdate = this.props.didUpdate;
10916
10917 if (didUpdate) {
10918 didUpdate(prevProps);
10919 }
10920 }
10921 }, {
10922 key: 'componentWillUnmount',
10923 value: function componentWillUnmount() {
10924 this.removeContainer();
10925 }
10926 }, {
10927 key: 'createContainer',
10928 value: function createContainer() {
10929 this._container = this.props.getContainer();
10930 this.forceUpdate();
10931 }
10932 }, {
10933 key: 'removeContainer',
10934 value: function removeContainer() {
10935 if (this._container) {
10936 this._container.parentNode.removeChild(this._container);
10937 }
10938 }
10939 }, {
10940 key: 'render',
10941 value: function render() {
10942 if (this._container) {
10943 return _reactDom2['default'].createPortal(this.props.children, this._container);
10944 }
10945 return null;
10946 }
10947 }]);
10948 return Portal;
10949 }(_react2['default'].Component);
10950
10951 Portal.propTypes = {
10952 getContainer: _propTypes2['default'].func.isRequired,
10953 children: _propTypes2['default'].node.isRequired,
10954 didUpdate: _propTypes2['default'].func
10955 };
10956 exports['default'] = Portal;
10957 module.exports = exports['default'];
10958
10959/***/ }),
10960/* 155 */
10961/***/ (function(module, exports, __webpack_require__) {
10962
10963 'use strict';
10964
10965 exports.__esModule = true;
10966
10967 var _extends2 = __webpack_require__(89);
10968
10969 var _extends3 = _interopRequireDefault(_extends2);
10970
10971 exports.getAlignFromPlacement = getAlignFromPlacement;
10972 exports.getAlignPopupClassName = getAlignPopupClassName;
10973 exports.saveRef = saveRef;
10974
10975 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
10976
10977 function isPointsEq(a1, a2, isAlignPoint) {
10978 if (isAlignPoint) {
10979 return a1[0] === a2[0];
10980 }
10981 return a1[0] === a2[0] && a1[1] === a2[1];
10982 }
10983
10984 function getAlignFromPlacement(builtinPlacements, placementStr, align) {
10985 var baseAlign = builtinPlacements[placementStr] || {};
10986 return (0, _extends3['default'])({}, baseAlign, align);
10987 }
10988
10989 function getAlignPopupClassName(builtinPlacements, prefixCls, align, isAlignPoint) {
10990 var points = align.points;
10991 for (var placement in builtinPlacements) {
10992 if (builtinPlacements.hasOwnProperty(placement)) {
10993 if (isPointsEq(builtinPlacements[placement].points, points, isAlignPoint)) {
10994 return prefixCls + '-placement-' + placement;
10995 }
10996 }
10997 }
10998 return '';
10999 }
11000
11001 function saveRef(name, component) {
11002 this[name] = component;
11003 }
11004
11005/***/ }),
11006/* 156 */
11007/***/ (function(module, exports, __webpack_require__) {
11008
11009 'use strict';
11010
11011 exports.__esModule = true;
11012
11013 var _extends2 = __webpack_require__(89);
11014
11015 var _extends3 = _interopRequireDefault(_extends2);
11016
11017 var _classCallCheck2 = __webpack_require__(105);
11018
11019 var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
11020
11021 var _possibleConstructorReturn2 = __webpack_require__(106);
11022
11023 var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
11024
11025 var _inherits2 = __webpack_require__(141);
11026
11027 var _inherits3 = _interopRequireDefault(_inherits2);
11028
11029 var _react = __webpack_require__(4);
11030
11031 var _react2 = _interopRequireDefault(_react);
11032
11033 var _propTypes = __webpack_require__(5);
11034
11035 var _propTypes2 = _interopRequireDefault(_propTypes);
11036
11037 var _reactDom = __webpack_require__(12);
11038
11039 var _reactDom2 = _interopRequireDefault(_reactDom);
11040
11041 var _rcAlign = __webpack_require__(157);
11042
11043 var _rcAlign2 = _interopRequireDefault(_rcAlign);
11044
11045 var _rcAnimate = __webpack_require__(160);
11046
11047 var _rcAnimate2 = _interopRequireDefault(_rcAnimate);
11048
11049 var _PopupInner = __webpack_require__(167);
11050
11051 var _PopupInner2 = _interopRequireDefault(_PopupInner);
11052
11053 var _LazyRenderBox = __webpack_require__(168);
11054
11055 var _LazyRenderBox2 = _interopRequireDefault(_LazyRenderBox);
11056
11057 var _utils = __webpack_require__(155);
11058
11059 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
11060
11061 var Popup = function (_Component) {
11062 (0, _inherits3['default'])(Popup, _Component);
11063
11064 function Popup(props) {
11065 (0, _classCallCheck3['default'])(this, Popup);
11066
11067 var _this = (0, _possibleConstructorReturn3['default'])(this, _Component.call(this, props));
11068
11069 _initialiseProps.call(_this);
11070
11071 _this.state = {
11072 // Used for stretch
11073 stretchChecked: false,
11074 targetWidth: undefined,
11075 targetHeight: undefined
11076 };
11077
11078 _this.savePopupRef = _utils.saveRef.bind(_this, 'popupInstance');
11079 _this.saveAlignRef = _utils.saveRef.bind(_this, 'alignInstance');
11080 return _this;
11081 }
11082
11083 Popup.prototype.componentDidMount = function componentDidMount() {
11084 this.rootNode = this.getPopupDomNode();
11085 this.setStretchSize();
11086 };
11087
11088 Popup.prototype.componentDidUpdate = function componentDidUpdate() {
11089 this.setStretchSize();
11090 };
11091
11092 // Record size if stretch needed
11093
11094
11095 Popup.prototype.getPopupDomNode = function getPopupDomNode() {
11096 return _reactDom2['default'].findDOMNode(this.popupInstance);
11097 };
11098
11099 // `target` on `rc-align` can accept as a function to get the bind element or a point.
11100 // ref: https://www.npmjs.com/package/rc-align
11101
11102
11103 Popup.prototype.getMaskTransitionName = function getMaskTransitionName() {
11104 var props = this.props;
11105 var transitionName = props.maskTransitionName;
11106 var animation = props.maskAnimation;
11107 if (!transitionName && animation) {
11108 transitionName = props.prefixCls + '-' + animation;
11109 }
11110 return transitionName;
11111 };
11112
11113 Popup.prototype.getTransitionName = function getTransitionName() {
11114 var props = this.props;
11115 var transitionName = props.transitionName;
11116 if (!transitionName && props.animation) {
11117 transitionName = props.prefixCls + '-' + props.animation;
11118 }
11119 return transitionName;
11120 };
11121
11122 Popup.prototype.getClassName = function getClassName(currentAlignClassName) {
11123 return this.props.prefixCls + ' ' + this.props.className + ' ' + currentAlignClassName;
11124 };
11125
11126 Popup.prototype.getPopupElement = function getPopupElement() {
11127 var _this2 = this;
11128
11129 var savePopupRef = this.savePopupRef;
11130 var _state = this.state,
11131 stretchChecked = _state.stretchChecked,
11132 targetHeight = _state.targetHeight,
11133 targetWidth = _state.targetWidth;
11134 var _props = this.props,
11135 align = _props.align,
11136 visible = _props.visible,
11137 prefixCls = _props.prefixCls,
11138 style = _props.style,
11139 getClassNameFromAlign = _props.getClassNameFromAlign,
11140 destroyPopupOnHide = _props.destroyPopupOnHide,
11141 stretch = _props.stretch,
11142 children = _props.children,
11143 onMouseEnter = _props.onMouseEnter,
11144 onMouseLeave = _props.onMouseLeave,
11145 onMouseDown = _props.onMouseDown,
11146 onTouchStart = _props.onTouchStart;
11147
11148 var className = this.getClassName(this.currentAlignClassName || getClassNameFromAlign(align));
11149 var hiddenClassName = prefixCls + '-hidden';
11150
11151 if (!visible) {
11152 this.currentAlignClassName = null;
11153 }
11154
11155 var sizeStyle = {};
11156 if (stretch) {
11157 // Stretch with target
11158 if (stretch.indexOf('height') !== -1) {
11159 sizeStyle.height = targetHeight;
11160 } else if (stretch.indexOf('minHeight') !== -1) {
11161 sizeStyle.minHeight = targetHeight;
11162 }
11163 if (stretch.indexOf('width') !== -1) {
11164 sizeStyle.width = targetWidth;
11165 } else if (stretch.indexOf('minWidth') !== -1) {
11166 sizeStyle.minWidth = targetWidth;
11167 }
11168
11169 // Delay force align to makes ui smooth
11170 if (!stretchChecked) {
11171 sizeStyle.visibility = 'hidden';
11172 setTimeout(function () {
11173 if (_this2.alignInstance) {
11174 _this2.alignInstance.forceAlign();
11175 }
11176 }, 0);
11177 }
11178 }
11179
11180 var newStyle = (0, _extends3['default'])({}, sizeStyle, style, this.getZIndexStyle());
11181
11182 var popupInnerProps = {
11183 className: className,
11184 prefixCls: prefixCls,
11185 ref: savePopupRef,
11186 onMouseEnter: onMouseEnter,
11187 onMouseLeave: onMouseLeave,
11188 onMouseDown: onMouseDown,
11189 onTouchStart: onTouchStart,
11190 style: newStyle
11191 };
11192 if (destroyPopupOnHide) {
11193 return _react2['default'].createElement(
11194 _rcAnimate2['default'],
11195 {
11196 component: '',
11197 exclusive: true,
11198 transitionAppear: true,
11199 transitionName: this.getTransitionName()
11200 },
11201 visible ? _react2['default'].createElement(
11202 _rcAlign2['default'],
11203 {
11204 target: this.getAlignTarget(),
11205 key: 'popup',
11206 ref: this.saveAlignRef,
11207 monitorWindowResize: true,
11208 align: align,
11209 onAlign: this.onAlign
11210 },
11211 _react2['default'].createElement(
11212 _PopupInner2['default'],
11213 (0, _extends3['default'])({
11214 visible: true
11215 }, popupInnerProps),
11216 children
11217 )
11218 ) : null
11219 );
11220 }
11221
11222 return _react2['default'].createElement(
11223 _rcAnimate2['default'],
11224 {
11225 component: '',
11226 exclusive: true,
11227 transitionAppear: true,
11228 transitionName: this.getTransitionName(),
11229 showProp: 'xVisible'
11230 },
11231 _react2['default'].createElement(
11232 _rcAlign2['default'],
11233 {
11234 target: this.getAlignTarget(),
11235 key: 'popup',
11236 ref: this.saveAlignRef,
11237 monitorWindowResize: true,
11238 xVisible: visible,
11239 childrenProps: { visible: 'xVisible' },
11240 disabled: !visible,
11241 align: align,
11242 onAlign: this.onAlign
11243 },
11244 _react2['default'].createElement(
11245 _PopupInner2['default'],
11246 (0, _extends3['default'])({
11247 hiddenClassName: hiddenClassName
11248 }, popupInnerProps),
11249 children
11250 )
11251 )
11252 );
11253 };
11254
11255 Popup.prototype.getZIndexStyle = function getZIndexStyle() {
11256 var style = {};
11257 var props = this.props;
11258 if (props.zIndex !== undefined) {
11259 style.zIndex = props.zIndex;
11260 }
11261 return style;
11262 };
11263
11264 Popup.prototype.getMaskElement = function getMaskElement() {
11265 var props = this.props;
11266 var maskElement = void 0;
11267 if (props.mask) {
11268 var maskTransition = this.getMaskTransitionName();
11269 maskElement = _react2['default'].createElement(_LazyRenderBox2['default'], {
11270 style: this.getZIndexStyle(),
11271 key: 'mask',
11272 className: props.prefixCls + '-mask',
11273 hiddenClassName: props.prefixCls + '-mask-hidden',
11274 visible: props.visible
11275 });
11276 if (maskTransition) {
11277 maskElement = _react2['default'].createElement(
11278 _rcAnimate2['default'],
11279 {
11280 key: 'mask',
11281 showProp: 'visible',
11282 transitionAppear: true,
11283 component: '',
11284 transitionName: maskTransition
11285 },
11286 maskElement
11287 );
11288 }
11289 }
11290 return maskElement;
11291 };
11292
11293 Popup.prototype.render = function render() {
11294 return _react2['default'].createElement(
11295 'div',
11296 null,
11297 this.getMaskElement(),
11298 this.getPopupElement()
11299 );
11300 };
11301
11302 return Popup;
11303 }(_react.Component);
11304
11305 Popup.propTypes = {
11306 visible: _propTypes2['default'].bool,
11307 style: _propTypes2['default'].object,
11308 getClassNameFromAlign: _propTypes2['default'].func,
11309 onAlign: _propTypes2['default'].func,
11310 getRootDomNode: _propTypes2['default'].func,
11311 align: _propTypes2['default'].any,
11312 destroyPopupOnHide: _propTypes2['default'].bool,
11313 className: _propTypes2['default'].string,
11314 prefixCls: _propTypes2['default'].string,
11315 onMouseEnter: _propTypes2['default'].func,
11316 onMouseLeave: _propTypes2['default'].func,
11317 onMouseDown: _propTypes2['default'].func,
11318 onTouchStart: _propTypes2['default'].func,
11319 stretch: _propTypes2['default'].string,
11320 children: _propTypes2['default'].node,
11321 point: _propTypes2['default'].shape({
11322 pageX: _propTypes2['default'].number,
11323 pageY: _propTypes2['default'].number
11324 })
11325 };
11326
11327 var _initialiseProps = function _initialiseProps() {
11328 var _this3 = this;
11329
11330 this.onAlign = function (popupDomNode, align) {
11331 var props = _this3.props;
11332 var currentAlignClassName = props.getClassNameFromAlign(align);
11333 // FIX: https://github.com/react-component/trigger/issues/56
11334 // FIX: https://github.com/react-component/tooltip/issues/79
11335 if (_this3.currentAlignClassName !== currentAlignClassName) {
11336 _this3.currentAlignClassName = currentAlignClassName;
11337 popupDomNode.className = _this3.getClassName(currentAlignClassName);
11338 }
11339 props.onAlign(popupDomNode, align);
11340 };
11341
11342 this.setStretchSize = function () {
11343 var _props2 = _this3.props,
11344 stretch = _props2.stretch,
11345 getRootDomNode = _props2.getRootDomNode,
11346 visible = _props2.visible;
11347 var _state2 = _this3.state,
11348 stretchChecked = _state2.stretchChecked,
11349 targetHeight = _state2.targetHeight,
11350 targetWidth = _state2.targetWidth;
11351
11352
11353 if (!stretch || !visible) {
11354 if (stretchChecked) {
11355 _this3.setState({ stretchChecked: false });
11356 }
11357 return;
11358 }
11359
11360 var $ele = getRootDomNode();
11361 if (!$ele) return;
11362
11363 var height = $ele.offsetHeight;
11364 var width = $ele.offsetWidth;
11365
11366 if (targetHeight !== height || targetWidth !== width || !stretchChecked) {
11367 _this3.setState({
11368 stretchChecked: true,
11369 targetHeight: height,
11370 targetWidth: width
11371 });
11372 }
11373 };
11374
11375 this.getTargetElement = function () {
11376 return _this3.props.getRootDomNode();
11377 };
11378
11379 this.getAlignTarget = function () {
11380 var point = _this3.props.point;
11381
11382 if (point) {
11383 return point;
11384 }
11385 return _this3.getTargetElement;
11386 };
11387 };
11388
11389 exports['default'] = Popup;
11390 module.exports = exports['default'];
11391
11392/***/ }),
11393/* 157 */
11394/***/ (function(module, exports, __webpack_require__) {
11395
11396 'use strict';
11397
11398 Object.defineProperty(exports, "__esModule", {
11399 value: true
11400 });
11401
11402 var _Align = __webpack_require__(158);
11403
11404 var _Align2 = _interopRequireDefault(_Align);
11405
11406 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
11407
11408 exports['default'] = _Align2['default']; // export this package's api
11409
11410 module.exports = exports['default'];
11411
11412/***/ }),
11413/* 158 */
11414/***/ (function(module, exports, __webpack_require__) {
11415
11416 'use strict';
11417
11418 Object.defineProperty(exports, "__esModule", {
11419 value: true
11420 });
11421
11422 var _classCallCheck2 = __webpack_require__(105);
11423
11424 var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
11425
11426 var _createClass2 = __webpack_require__(151);
11427
11428 var _createClass3 = _interopRequireDefault(_createClass2);
11429
11430 var _possibleConstructorReturn2 = __webpack_require__(106);
11431
11432 var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
11433
11434 var _inherits2 = __webpack_require__(141);
11435
11436 var _inherits3 = _interopRequireDefault(_inherits2);
11437
11438 var _react = __webpack_require__(4);
11439
11440 var _react2 = _interopRequireDefault(_react);
11441
11442 var _propTypes = __webpack_require__(5);
11443
11444 var _propTypes2 = _interopRequireDefault(_propTypes);
11445
11446 var _reactDom = __webpack_require__(12);
11447
11448 var _reactDom2 = _interopRequireDefault(_reactDom);
11449
11450 var _domAlign = __webpack_require__(51);
11451
11452 var _addEventListener = __webpack_require__(149);
11453
11454 var _addEventListener2 = _interopRequireDefault(_addEventListener);
11455
11456 var _util = __webpack_require__(159);
11457
11458 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
11459
11460 function getElement(func) {
11461 if (typeof func !== 'function' || !func) return null;
11462 return func();
11463 }
11464
11465 function getPoint(point) {
11466 if (typeof point !== 'object' || !point) return null;
11467 return point;
11468 }
11469
11470 var Align = function (_Component) {
11471 (0, _inherits3['default'])(Align, _Component);
11472
11473 function Align() {
11474 var _ref;
11475
11476 var _temp, _this, _ret;
11477
11478 (0, _classCallCheck3['default'])(this, Align);
11479
11480 for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
11481 args[_key] = arguments[_key];
11482 }
11483
11484 return _ret = (_temp = (_this = (0, _possibleConstructorReturn3['default'])(this, (_ref = Align.__proto__ || Object.getPrototypeOf(Align)).call.apply(_ref, [this].concat(args))), _this), _this.forceAlign = function () {
11485 var _this$props = _this.props,
11486 disabled = _this$props.disabled,
11487 target = _this$props.target,
11488 align = _this$props.align,
11489 onAlign = _this$props.onAlign;
11490
11491 if (!disabled && target) {
11492 var source = _reactDom2['default'].findDOMNode(_this);
11493
11494 var result = void 0;
11495 var element = getElement(target);
11496 var point = getPoint(target);
11497
11498 // IE lose focus after element realign
11499 // We should record activeElement and restore later
11500 var activeElement = document.activeElement;
11501
11502 if (element) {
11503 result = (0, _domAlign.alignElement)(source, element, align);
11504 } else if (point) {
11505 result = (0, _domAlign.alignPoint)(source, point, align);
11506 }
11507
11508 (0, _util.restoreFocus)(activeElement, source);
11509
11510 if (onAlign) {
11511 onAlign(source, result);
11512 }
11513 }
11514 }, _temp), (0, _possibleConstructorReturn3['default'])(_this, _ret);
11515 }
11516
11517 (0, _createClass3['default'])(Align, [{
11518 key: 'componentDidMount',
11519 value: function componentDidMount() {
11520 var props = this.props;
11521 // if parent ref not attached .... use document.getElementById
11522 this.forceAlign();
11523 if (!props.disabled && props.monitorWindowResize) {
11524 this.startMonitorWindowResize();
11525 }
11526 }
11527 }, {
11528 key: 'componentDidUpdate',
11529 value: function componentDidUpdate(prevProps) {
11530 var reAlign = false;
11531 var props = this.props;
11532
11533 if (!props.disabled) {
11534 var source = _reactDom2['default'].findDOMNode(this);
11535 var sourceRect = source ? source.getBoundingClientRect() : null;
11536
11537 if (prevProps.disabled) {
11538 reAlign = true;
11539 } else {
11540 var lastElement = getElement(prevProps.target);
11541 var currentElement = getElement(props.target);
11542 var lastPoint = getPoint(prevProps.target);
11543 var currentPoint = getPoint(props.target);
11544
11545 if ((0, _util.isWindow)(lastElement) && (0, _util.isWindow)(currentElement)) {
11546 // Skip if is window
11547 reAlign = false;
11548 } else if (lastElement !== currentElement || // Element change
11549 lastElement && !currentElement && currentPoint || // Change from element to point
11550 lastPoint && currentPoint && currentElement || // Change from point to element
11551 currentPoint && !(0, _util.isSamePoint)(lastPoint, currentPoint)) {
11552 reAlign = true;
11553 }
11554
11555 // If source element size changed
11556 var preRect = this.sourceRect || {};
11557 if (!reAlign && source && (!(0, _util.isSimilarValue)(preRect.width, sourceRect.width) || !(0, _util.isSimilarValue)(preRect.height, sourceRect.height))) {
11558 reAlign = true;
11559 }
11560 }
11561
11562 this.sourceRect = sourceRect;
11563 }
11564
11565 if (reAlign) {
11566 this.forceAlign();
11567 }
11568
11569 if (props.monitorWindowResize && !props.disabled) {
11570 this.startMonitorWindowResize();
11571 } else {
11572 this.stopMonitorWindowResize();
11573 }
11574 }
11575 }, {
11576 key: 'componentWillUnmount',
11577 value: function componentWillUnmount() {
11578 this.stopMonitorWindowResize();
11579 }
11580 }, {
11581 key: 'startMonitorWindowResize',
11582 value: function startMonitorWindowResize() {
11583 if (!this.resizeHandler) {
11584 this.bufferMonitor = (0, _util.buffer)(this.forceAlign, this.props.monitorBufferTime);
11585 this.resizeHandler = (0, _addEventListener2['default'])(window, 'resize', this.bufferMonitor);
11586 }
11587 }
11588 }, {
11589 key: 'stopMonitorWindowResize',
11590 value: function stopMonitorWindowResize() {
11591 if (this.resizeHandler) {
11592 this.bufferMonitor.clear();
11593 this.resizeHandler.remove();
11594 this.resizeHandler = null;
11595 }
11596 }
11597 }, {
11598 key: 'render',
11599 value: function render() {
11600 var _this2 = this;
11601
11602 var _props = this.props,
11603 childrenProps = _props.childrenProps,
11604 children = _props.children;
11605
11606 var child = _react2['default'].Children.only(children);
11607 if (childrenProps) {
11608 var newProps = {};
11609 var propList = Object.keys(childrenProps);
11610 propList.forEach(function (prop) {
11611 newProps[prop] = _this2.props[childrenProps[prop]];
11612 });
11613
11614 return _react2['default'].cloneElement(child, newProps);
11615 }
11616 return child;
11617 }
11618 }]);
11619 return Align;
11620 }(_react.Component);
11621
11622 Align.propTypes = {
11623 childrenProps: _propTypes2['default'].object,
11624 align: _propTypes2['default'].object.isRequired,
11625 target: _propTypes2['default'].oneOfType([_propTypes2['default'].func, _propTypes2['default'].shape({
11626 clientX: _propTypes2['default'].number,
11627 clientY: _propTypes2['default'].number,
11628 pageX: _propTypes2['default'].number,
11629 pageY: _propTypes2['default'].number
11630 })]),
11631 onAlign: _propTypes2['default'].func,
11632 monitorBufferTime: _propTypes2['default'].number,
11633 monitorWindowResize: _propTypes2['default'].bool,
11634 disabled: _propTypes2['default'].bool,
11635 children: _propTypes2['default'].any
11636 };
11637 Align.defaultProps = {
11638 target: function target() {
11639 return window;
11640 },
11641 monitorBufferTime: 50,
11642 monitorWindowResize: false,
11643 disabled: false
11644 };
11645 exports['default'] = Align;
11646 module.exports = exports['default'];
11647
11648/***/ }),
11649/* 159 */
11650/***/ (function(module, exports, __webpack_require__) {
11651
11652 'use strict';
11653
11654 Object.defineProperty(exports, "__esModule", {
11655 value: true
11656 });
11657 exports.buffer = buffer;
11658 exports.isSamePoint = isSamePoint;
11659 exports.isWindow = isWindow;
11660 exports.isSimilarValue = isSimilarValue;
11661 exports.restoreFocus = restoreFocus;
11662
11663 var _contains = __webpack_require__(148);
11664
11665 var _contains2 = _interopRequireDefault(_contains);
11666
11667 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
11668
11669 function buffer(fn, ms) {
11670 var timer = void 0;
11671
11672 function clear() {
11673 if (timer) {
11674 clearTimeout(timer);
11675 timer = null;
11676 }
11677 }
11678
11679 function bufferFn() {
11680 clear();
11681 timer = setTimeout(fn, ms);
11682 }
11683
11684 bufferFn.clear = clear;
11685
11686 return bufferFn;
11687 }
11688
11689 function isSamePoint(prev, next) {
11690 if (prev === next) return true;
11691 if (!prev || !next) return false;
11692
11693 if ('pageX' in next && 'pageY' in next) {
11694 return prev.pageX === next.pageX && prev.pageY === next.pageY;
11695 }
11696
11697 if ('clientX' in next && 'clientY' in next) {
11698 return prev.clientX === next.clientX && prev.clientY === next.clientY;
11699 }
11700
11701 return false;
11702 }
11703
11704 function isWindow(obj) {
11705 return obj && typeof obj === 'object' && obj.window === obj;
11706 }
11707
11708 function isSimilarValue(val1, val2) {
11709 var int1 = Math.floor(val1);
11710 var int2 = Math.floor(val2);
11711 return Math.abs(int1 - int2) <= 1;
11712 }
11713
11714 function restoreFocus(activeElement, container) {
11715 // Focus back if is in the container
11716 if (activeElement !== document.activeElement && (0, _contains2['default'])(container, activeElement)) {
11717 activeElement.focus();
11718 }
11719 }
11720
11721/***/ }),
11722/* 160 */
11723/***/ (function(module, exports, __webpack_require__) {
11724
11725 'use strict';
11726
11727 Object.defineProperty(exports, "__esModule", {
11728 value: true
11729 });
11730
11731 var _extends2 = __webpack_require__(89);
11732
11733 var _extends3 = _interopRequireDefault(_extends2);
11734
11735 var _defineProperty2 = __webpack_require__(161);
11736
11737 var _defineProperty3 = _interopRequireDefault(_defineProperty2);
11738
11739 var _classCallCheck2 = __webpack_require__(105);
11740
11741 var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
11742
11743 var _createClass2 = __webpack_require__(151);
11744
11745 var _createClass3 = _interopRequireDefault(_createClass2);
11746
11747 var _possibleConstructorReturn2 = __webpack_require__(106);
11748
11749 var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
11750
11751 var _inherits2 = __webpack_require__(141);
11752
11753 var _inherits3 = _interopRequireDefault(_inherits2);
11754
11755 var _react = __webpack_require__(4);
11756
11757 var _react2 = _interopRequireDefault(_react);
11758
11759 var _propTypes = __webpack_require__(5);
11760
11761 var _propTypes2 = _interopRequireDefault(_propTypes);
11762
11763 var _ChildrenUtils = __webpack_require__(162);
11764
11765 var _AnimateChild = __webpack_require__(163);
11766
11767 var _AnimateChild2 = _interopRequireDefault(_AnimateChild);
11768
11769 var _animate = __webpack_require__(166);
11770
11771 var _animate2 = _interopRequireDefault(_animate);
11772
11773 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
11774
11775 var defaultKey = 'rc_animate_' + Date.now();
11776
11777 function getChildrenFromProps(props) {
11778 var children = props.children;
11779 if (_react2['default'].isValidElement(children)) {
11780 if (!children.key) {
11781 return _react2['default'].cloneElement(children, {
11782 key: defaultKey
11783 });
11784 }
11785 }
11786 return children;
11787 }
11788
11789 function noop() {}
11790
11791 var Animate = function (_React$Component) {
11792 (0, _inherits3['default'])(Animate, _React$Component);
11793
11794 // eslint-disable-line
11795
11796 function Animate(props) {
11797 (0, _classCallCheck3['default'])(this, Animate);
11798
11799 var _this = (0, _possibleConstructorReturn3['default'])(this, (Animate.__proto__ || Object.getPrototypeOf(Animate)).call(this, props));
11800
11801 _initialiseProps.call(_this);
11802
11803 _this.currentlyAnimatingKeys = {};
11804 _this.keysToEnter = [];
11805 _this.keysToLeave = [];
11806
11807 _this.state = {
11808 children: (0, _ChildrenUtils.toArrayChildren)(getChildrenFromProps(props))
11809 };
11810
11811 _this.childrenRefs = {};
11812 return _this;
11813 }
11814
11815 (0, _createClass3['default'])(Animate, [{
11816 key: 'componentDidMount',
11817 value: function componentDidMount() {
11818 var _this2 = this;
11819
11820 var showProp = this.props.showProp;
11821 var children = this.state.children;
11822 if (showProp) {
11823 children = children.filter(function (child) {
11824 return !!child.props[showProp];
11825 });
11826 }
11827 children.forEach(function (child) {
11828 if (child) {
11829 _this2.performAppear(child.key);
11830 }
11831 });
11832 }
11833 }, {
11834 key: 'componentWillReceiveProps',
11835 value: function componentWillReceiveProps(nextProps) {
11836 var _this3 = this;
11837
11838 this.nextProps = nextProps;
11839 var nextChildren = (0, _ChildrenUtils.toArrayChildren)(getChildrenFromProps(nextProps));
11840 var props = this.props;
11841 // exclusive needs immediate response
11842 if (props.exclusive) {
11843 Object.keys(this.currentlyAnimatingKeys).forEach(function (key) {
11844 _this3.stop(key);
11845 });
11846 }
11847 var showProp = props.showProp;
11848 var currentlyAnimatingKeys = this.currentlyAnimatingKeys;
11849 // last props children if exclusive
11850 var currentChildren = props.exclusive ? (0, _ChildrenUtils.toArrayChildren)(getChildrenFromProps(props)) : this.state.children;
11851 // in case destroy in showProp mode
11852 var newChildren = [];
11853 if (showProp) {
11854 currentChildren.forEach(function (currentChild) {
11855 var nextChild = currentChild && (0, _ChildrenUtils.findChildInChildrenByKey)(nextChildren, currentChild.key);
11856 var newChild = void 0;
11857 if ((!nextChild || !nextChild.props[showProp]) && currentChild.props[showProp]) {
11858 newChild = _react2['default'].cloneElement(nextChild || currentChild, (0, _defineProperty3['default'])({}, showProp, true));
11859 } else {
11860 newChild = nextChild;
11861 }
11862 if (newChild) {
11863 newChildren.push(newChild);
11864 }
11865 });
11866 nextChildren.forEach(function (nextChild) {
11867 if (!nextChild || !(0, _ChildrenUtils.findChildInChildrenByKey)(currentChildren, nextChild.key)) {
11868 newChildren.push(nextChild);
11869 }
11870 });
11871 } else {
11872 newChildren = (0, _ChildrenUtils.mergeChildren)(currentChildren, nextChildren);
11873 }
11874
11875 // need render to avoid update
11876 this.setState({
11877 children: newChildren
11878 });
11879
11880 nextChildren.forEach(function (child) {
11881 var key = child && child.key;
11882 if (child && currentlyAnimatingKeys[key]) {
11883 return;
11884 }
11885 var hasPrev = child && (0, _ChildrenUtils.findChildInChildrenByKey)(currentChildren, key);
11886 if (showProp) {
11887 var showInNext = child.props[showProp];
11888 if (hasPrev) {
11889 var showInNow = (0, _ChildrenUtils.findShownChildInChildrenByKey)(currentChildren, key, showProp);
11890 if (!showInNow && showInNext) {
11891 _this3.keysToEnter.push(key);
11892 }
11893 } else if (showInNext) {
11894 _this3.keysToEnter.push(key);
11895 }
11896 } else if (!hasPrev) {
11897 _this3.keysToEnter.push(key);
11898 }
11899 });
11900
11901 currentChildren.forEach(function (child) {
11902 var key = child && child.key;
11903 if (child && currentlyAnimatingKeys[key]) {
11904 return;
11905 }
11906 var hasNext = child && (0, _ChildrenUtils.findChildInChildrenByKey)(nextChildren, key);
11907 if (showProp) {
11908 var showInNow = child.props[showProp];
11909 if (hasNext) {
11910 var showInNext = (0, _ChildrenUtils.findShownChildInChildrenByKey)(nextChildren, key, showProp);
11911 if (!showInNext && showInNow) {
11912 _this3.keysToLeave.push(key);
11913 }
11914 } else if (showInNow) {
11915 _this3.keysToLeave.push(key);
11916 }
11917 } else if (!hasNext) {
11918 _this3.keysToLeave.push(key);
11919 }
11920 });
11921 }
11922 }, {
11923 key: 'componentDidUpdate',
11924 value: function componentDidUpdate() {
11925 var keysToEnter = this.keysToEnter;
11926 this.keysToEnter = [];
11927 keysToEnter.forEach(this.performEnter);
11928 var keysToLeave = this.keysToLeave;
11929 this.keysToLeave = [];
11930 keysToLeave.forEach(this.performLeave);
11931 }
11932 }, {
11933 key: 'isValidChildByKey',
11934 value: function isValidChildByKey(currentChildren, key) {
11935 var showProp = this.props.showProp;
11936 if (showProp) {
11937 return (0, _ChildrenUtils.findShownChildInChildrenByKey)(currentChildren, key, showProp);
11938 }
11939 return (0, _ChildrenUtils.findChildInChildrenByKey)(currentChildren, key);
11940 }
11941 }, {
11942 key: 'stop',
11943 value: function stop(key) {
11944 delete this.currentlyAnimatingKeys[key];
11945 var component = this.childrenRefs[key];
11946 if (component) {
11947 component.stop();
11948 }
11949 }
11950 }, {
11951 key: 'render',
11952 value: function render() {
11953 var _this4 = this;
11954
11955 var props = this.props;
11956 this.nextProps = props;
11957 var stateChildren = this.state.children;
11958 var children = null;
11959 if (stateChildren) {
11960 children = stateChildren.map(function (child) {
11961 if (child === null || child === undefined) {
11962 return child;
11963 }
11964 if (!child.key) {
11965 throw new Error('must set key for <rc-animate> children');
11966 }
11967 return _react2['default'].createElement(
11968 _AnimateChild2['default'],
11969 {
11970 key: child.key,
11971 ref: function ref(node) {
11972 _this4.childrenRefs[child.key] = node;
11973 },
11974 animation: props.animation,
11975 transitionName: props.transitionName,
11976 transitionEnter: props.transitionEnter,
11977 transitionAppear: props.transitionAppear,
11978 transitionLeave: props.transitionLeave
11979 },
11980 child
11981 );
11982 });
11983 }
11984 var Component = props.component;
11985 if (Component) {
11986 var passedProps = props;
11987 if (typeof Component === 'string') {
11988 passedProps = (0, _extends3['default'])({
11989 className: props.className,
11990 style: props.style
11991 }, props.componentProps);
11992 }
11993 return _react2['default'].createElement(
11994 Component,
11995 passedProps,
11996 children
11997 );
11998 }
11999 return children[0] || null;
12000 }
12001 }]);
12002 return Animate;
12003 }(_react2['default'].Component);
12004
12005 Animate.isAnimate = true;
12006 Animate.propTypes = {
12007 component: _propTypes2['default'].any,
12008 componentProps: _propTypes2['default'].object,
12009 animation: _propTypes2['default'].object,
12010 transitionName: _propTypes2['default'].oneOfType([_propTypes2['default'].string, _propTypes2['default'].object]),
12011 transitionEnter: _propTypes2['default'].bool,
12012 transitionAppear: _propTypes2['default'].bool,
12013 exclusive: _propTypes2['default'].bool,
12014 transitionLeave: _propTypes2['default'].bool,
12015 onEnd: _propTypes2['default'].func,
12016 onEnter: _propTypes2['default'].func,
12017 onLeave: _propTypes2['default'].func,
12018 onAppear: _propTypes2['default'].func,
12019 showProp: _propTypes2['default'].string,
12020 children: _propTypes2['default'].node
12021 };
12022 Animate.defaultProps = {
12023 animation: {},
12024 component: 'span',
12025 componentProps: {},
12026 transitionEnter: true,
12027 transitionLeave: true,
12028 transitionAppear: false,
12029 onEnd: noop,
12030 onEnter: noop,
12031 onLeave: noop,
12032 onAppear: noop
12033 };
12034
12035 var _initialiseProps = function _initialiseProps() {
12036 var _this5 = this;
12037
12038 this.performEnter = function (key) {
12039 // may already remove by exclusive
12040 if (_this5.childrenRefs[key]) {
12041 _this5.currentlyAnimatingKeys[key] = true;
12042 _this5.childrenRefs[key].componentWillEnter(_this5.handleDoneAdding.bind(_this5, key, 'enter'));
12043 }
12044 };
12045
12046 this.performAppear = function (key) {
12047 if (_this5.childrenRefs[key]) {
12048 _this5.currentlyAnimatingKeys[key] = true;
12049 _this5.childrenRefs[key].componentWillAppear(_this5.handleDoneAdding.bind(_this5, key, 'appear'));
12050 }
12051 };
12052
12053 this.handleDoneAdding = function (key, type) {
12054 var props = _this5.props;
12055 delete _this5.currentlyAnimatingKeys[key];
12056 // if update on exclusive mode, skip check
12057 if (props.exclusive && props !== _this5.nextProps) {
12058 return;
12059 }
12060 var currentChildren = (0, _ChildrenUtils.toArrayChildren)(getChildrenFromProps(props));
12061 if (!_this5.isValidChildByKey(currentChildren, key)) {
12062 // exclusive will not need this
12063 _this5.performLeave(key);
12064 } else if (type === 'appear') {
12065 if (_animate2['default'].allowAppearCallback(props)) {
12066 props.onAppear(key);
12067 props.onEnd(key, true);
12068 }
12069 } else if (_animate2['default'].allowEnterCallback(props)) {
12070 props.onEnter(key);
12071 props.onEnd(key, true);
12072 }
12073 };
12074
12075 this.performLeave = function (key) {
12076 // may already remove by exclusive
12077 if (_this5.childrenRefs[key]) {
12078 _this5.currentlyAnimatingKeys[key] = true;
12079 _this5.childrenRefs[key].componentWillLeave(_this5.handleDoneLeaving.bind(_this5, key));
12080 }
12081 };
12082
12083 this.handleDoneLeaving = function (key) {
12084 var props = _this5.props;
12085 delete _this5.currentlyAnimatingKeys[key];
12086 // if update on exclusive mode, skip check
12087 if (props.exclusive && props !== _this5.nextProps) {
12088 return;
12089 }
12090 var currentChildren = (0, _ChildrenUtils.toArrayChildren)(getChildrenFromProps(props));
12091 // in case state change is too fast
12092 if (_this5.isValidChildByKey(currentChildren, key)) {
12093 _this5.performEnter(key);
12094 } else {
12095 var end = function end() {
12096 if (_animate2['default'].allowLeaveCallback(props)) {
12097 props.onLeave(key);
12098 props.onEnd(key, false);
12099 }
12100 };
12101 if (!(0, _ChildrenUtils.isSameChildren)(_this5.state.children, currentChildren, props.showProp)) {
12102 _this5.setState({
12103 children: currentChildren
12104 }, end);
12105 } else {
12106 end();
12107 }
12108 }
12109 };
12110 };
12111
12112 exports['default'] = Animate;
12113 module.exports = exports['default'];
12114
12115/***/ }),
12116/* 161 */
12117/***/ (function(module, exports, __webpack_require__) {
12118
12119 "use strict";
12120
12121 exports.__esModule = true;
12122
12123 var _defineProperty = __webpack_require__(152);
12124
12125 var _defineProperty2 = _interopRequireDefault(_defineProperty);
12126
12127 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12128
12129 exports.default = function (obj, key, value) {
12130 if (key in obj) {
12131 (0, _defineProperty2.default)(obj, key, {
12132 value: value,
12133 enumerable: true,
12134 configurable: true,
12135 writable: true
12136 });
12137 } else {
12138 obj[key] = value;
12139 }
12140
12141 return obj;
12142 };
12143
12144/***/ }),
12145/* 162 */
12146/***/ (function(module, exports, __webpack_require__) {
12147
12148 'use strict';
12149
12150 Object.defineProperty(exports, "__esModule", {
12151 value: true
12152 });
12153 exports.toArrayChildren = toArrayChildren;
12154 exports.findChildInChildrenByKey = findChildInChildrenByKey;
12155 exports.findShownChildInChildrenByKey = findShownChildInChildrenByKey;
12156 exports.findHiddenChildInChildrenByKey = findHiddenChildInChildrenByKey;
12157 exports.isSameChildren = isSameChildren;
12158 exports.mergeChildren = mergeChildren;
12159
12160 var _react = __webpack_require__(4);
12161
12162 var _react2 = _interopRequireDefault(_react);
12163
12164 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
12165
12166 function toArrayChildren(children) {
12167 var ret = [];
12168 _react2['default'].Children.forEach(children, function (child) {
12169 ret.push(child);
12170 });
12171 return ret;
12172 }
12173
12174 function findChildInChildrenByKey(children, key) {
12175 var ret = null;
12176 if (children) {
12177 children.forEach(function (child) {
12178 if (ret) {
12179 return;
12180 }
12181 if (child && child.key === key) {
12182 ret = child;
12183 }
12184 });
12185 }
12186 return ret;
12187 }
12188
12189 function findShownChildInChildrenByKey(children, key, showProp) {
12190 var ret = null;
12191 if (children) {
12192 children.forEach(function (child) {
12193 if (child && child.key === key && child.props[showProp]) {
12194 if (ret) {
12195 throw new Error('two child with same key for <rc-animate> children');
12196 }
12197 ret = child;
12198 }
12199 });
12200 }
12201 return ret;
12202 }
12203
12204 function findHiddenChildInChildrenByKey(children, key, showProp) {
12205 var found = 0;
12206 if (children) {
12207 children.forEach(function (child) {
12208 if (found) {
12209 return;
12210 }
12211 found = child && child.key === key && !child.props[showProp];
12212 });
12213 }
12214 return found;
12215 }
12216
12217 function isSameChildren(c1, c2, showProp) {
12218 var same = c1.length === c2.length;
12219 if (same) {
12220 c1.forEach(function (child, index) {
12221 var child2 = c2[index];
12222 if (child && child2) {
12223 if (child && !child2 || !child && child2) {
12224 same = false;
12225 } else if (child.key !== child2.key) {
12226 same = false;
12227 } else if (showProp && child.props[showProp] !== child2.props[showProp]) {
12228 same = false;
12229 }
12230 }
12231 });
12232 }
12233 return same;
12234 }
12235
12236 function mergeChildren(prev, next) {
12237 var ret = [];
12238
12239 // For each key of `next`, the list of keys to insert before that key in
12240 // the combined list
12241 var nextChildrenPending = {};
12242 var pendingChildren = [];
12243 prev.forEach(function (child) {
12244 if (child && findChildInChildrenByKey(next, child.key)) {
12245 if (pendingChildren.length) {
12246 nextChildrenPending[child.key] = pendingChildren;
12247 pendingChildren = [];
12248 }
12249 } else {
12250 pendingChildren.push(child);
12251 }
12252 });
12253
12254 next.forEach(function (child) {
12255 if (child && Object.prototype.hasOwnProperty.call(nextChildrenPending, child.key)) {
12256 ret = ret.concat(nextChildrenPending[child.key]);
12257 }
12258 ret.push(child);
12259 });
12260
12261 ret = ret.concat(pendingChildren);
12262
12263 return ret;
12264 }
12265
12266/***/ }),
12267/* 163 */
12268/***/ (function(module, exports, __webpack_require__) {
12269
12270 'use strict';
12271
12272 Object.defineProperty(exports, "__esModule", {
12273 value: true
12274 });
12275
12276 var _classCallCheck2 = __webpack_require__(105);
12277
12278 var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
12279
12280 var _createClass2 = __webpack_require__(151);
12281
12282 var _createClass3 = _interopRequireDefault(_createClass2);
12283
12284 var _possibleConstructorReturn2 = __webpack_require__(106);
12285
12286 var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
12287
12288 var _inherits2 = __webpack_require__(141);
12289
12290 var _inherits3 = _interopRequireDefault(_inherits2);
12291
12292 var _react = __webpack_require__(4);
12293
12294 var _react2 = _interopRequireDefault(_react);
12295
12296 var _reactDom = __webpack_require__(12);
12297
12298 var _reactDom2 = _interopRequireDefault(_reactDom);
12299
12300 var _propTypes = __webpack_require__(5);
12301
12302 var _propTypes2 = _interopRequireDefault(_propTypes);
12303
12304 var _cssAnimation = __webpack_require__(164);
12305
12306 var _cssAnimation2 = _interopRequireDefault(_cssAnimation);
12307
12308 var _animate = __webpack_require__(166);
12309
12310 var _animate2 = _interopRequireDefault(_animate);
12311
12312 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
12313
12314 var transitionMap = {
12315 enter: 'transitionEnter',
12316 appear: 'transitionAppear',
12317 leave: 'transitionLeave'
12318 };
12319
12320 var AnimateChild = function (_React$Component) {
12321 (0, _inherits3['default'])(AnimateChild, _React$Component);
12322
12323 function AnimateChild() {
12324 (0, _classCallCheck3['default'])(this, AnimateChild);
12325 return (0, _possibleConstructorReturn3['default'])(this, (AnimateChild.__proto__ || Object.getPrototypeOf(AnimateChild)).apply(this, arguments));
12326 }
12327
12328 (0, _createClass3['default'])(AnimateChild, [{
12329 key: 'componentWillUnmount',
12330 value: function componentWillUnmount() {
12331 this.stop();
12332 }
12333 }, {
12334 key: 'componentWillEnter',
12335 value: function componentWillEnter(done) {
12336 if (_animate2['default'].isEnterSupported(this.props)) {
12337 this.transition('enter', done);
12338 } else {
12339 done();
12340 }
12341 }
12342 }, {
12343 key: 'componentWillAppear',
12344 value: function componentWillAppear(done) {
12345 if (_animate2['default'].isAppearSupported(this.props)) {
12346 this.transition('appear', done);
12347 } else {
12348 done();
12349 }
12350 }
12351 }, {
12352 key: 'componentWillLeave',
12353 value: function componentWillLeave(done) {
12354 if (_animate2['default'].isLeaveSupported(this.props)) {
12355 this.transition('leave', done);
12356 } else {
12357 // always sync, do not interupt with react component life cycle
12358 // update hidden -> animate hidden ->
12359 // didUpdate -> animate leave -> unmount (if animate is none)
12360 done();
12361 }
12362 }
12363 }, {
12364 key: 'transition',
12365 value: function transition(animationType, finishCallback) {
12366 var _this2 = this;
12367
12368 var node = _reactDom2['default'].findDOMNode(this);
12369 var props = this.props;
12370 var transitionName = props.transitionName;
12371 var nameIsObj = typeof transitionName === 'object';
12372 this.stop();
12373 var end = function end() {
12374 _this2.stopper = null;
12375 finishCallback();
12376 };
12377 if ((_cssAnimation.isCssAnimationSupported || !props.animation[animationType]) && transitionName && props[transitionMap[animationType]]) {
12378 var name = nameIsObj ? transitionName[animationType] : transitionName + '-' + animationType;
12379 var activeName = name + '-active';
12380 if (nameIsObj && transitionName[animationType + 'Active']) {
12381 activeName = transitionName[animationType + 'Active'];
12382 }
12383 this.stopper = (0, _cssAnimation2['default'])(node, {
12384 name: name,
12385 active: activeName
12386 }, end);
12387 } else {
12388 this.stopper = props.animation[animationType](node, end);
12389 }
12390 }
12391 }, {
12392 key: 'stop',
12393 value: function stop() {
12394 var stopper = this.stopper;
12395 if (stopper) {
12396 this.stopper = null;
12397 stopper.stop();
12398 }
12399 }
12400 }, {
12401 key: 'render',
12402 value: function render() {
12403 return this.props.children;
12404 }
12405 }]);
12406 return AnimateChild;
12407 }(_react2['default'].Component);
12408
12409 AnimateChild.propTypes = {
12410 children: _propTypes2['default'].any
12411 };
12412 exports['default'] = AnimateChild;
12413 module.exports = exports['default'];
12414
12415/***/ }),
12416/* 164 */
12417/***/ (function(module, exports, __webpack_require__) {
12418
12419 'use strict';
12420
12421 Object.defineProperty(exports, "__esModule", {
12422 value: true
12423 });
12424 exports.isCssAnimationSupported = undefined;
12425
12426 var _typeof2 = __webpack_require__(107);
12427
12428 var _typeof3 = _interopRequireDefault(_typeof2);
12429
12430 var _Event = __webpack_require__(165);
12431
12432 var _Event2 = _interopRequireDefault(_Event);
12433
12434 var _componentClasses = __webpack_require__(47);
12435
12436 var _componentClasses2 = _interopRequireDefault(_componentClasses);
12437
12438 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
12439
12440 var isCssAnimationSupported = _Event2['default'].endEvents.length !== 0;
12441 var capitalPrefixes = ['Webkit', 'Moz', 'O',
12442 // ms is special .... !
12443 'ms'];
12444 var prefixes = ['-webkit-', '-moz-', '-o-', 'ms-', ''];
12445
12446 function getStyleProperty(node, name) {
12447 // old ff need null, https://developer.mozilla.org/en-US/docs/Web/API/Window/getComputedStyle
12448 var style = window.getComputedStyle(node, null);
12449 var ret = '';
12450 for (var i = 0; i < prefixes.length; i++) {
12451 ret = style.getPropertyValue(prefixes[i] + name);
12452 if (ret) {
12453 break;
12454 }
12455 }
12456 return ret;
12457 }
12458
12459 function fixBrowserByTimeout(node) {
12460 if (isCssAnimationSupported) {
12461 var transitionDelay = parseFloat(getStyleProperty(node, 'transition-delay')) || 0;
12462 var transitionDuration = parseFloat(getStyleProperty(node, 'transition-duration')) || 0;
12463 var animationDelay = parseFloat(getStyleProperty(node, 'animation-delay')) || 0;
12464 var animationDuration = parseFloat(getStyleProperty(node, 'animation-duration')) || 0;
12465 var time = Math.max(transitionDuration + transitionDelay, animationDuration + animationDelay);
12466 // sometimes, browser bug
12467 node.rcEndAnimTimeout = setTimeout(function () {
12468 node.rcEndAnimTimeout = null;
12469 if (node.rcEndListener) {
12470 node.rcEndListener();
12471 }
12472 }, time * 1000 + 200);
12473 }
12474 }
12475
12476 function clearBrowserBugTimeout(node) {
12477 if (node.rcEndAnimTimeout) {
12478 clearTimeout(node.rcEndAnimTimeout);
12479 node.rcEndAnimTimeout = null;
12480 }
12481 }
12482
12483 var cssAnimation = function cssAnimation(node, transitionName, endCallback) {
12484 var nameIsObj = (typeof transitionName === 'undefined' ? 'undefined' : (0, _typeof3['default'])(transitionName)) === 'object';
12485 var className = nameIsObj ? transitionName.name : transitionName;
12486 var activeClassName = nameIsObj ? transitionName.active : transitionName + '-active';
12487 var end = endCallback;
12488 var start = void 0;
12489 var active = void 0;
12490 var nodeClasses = (0, _componentClasses2['default'])(node);
12491
12492 if (endCallback && Object.prototype.toString.call(endCallback) === '[object Object]') {
12493 end = endCallback.end;
12494 start = endCallback.start;
12495 active = endCallback.active;
12496 }
12497
12498 if (node.rcEndListener) {
12499 node.rcEndListener();
12500 }
12501
12502 node.rcEndListener = function (e) {
12503 if (e && e.target !== node) {
12504 return;
12505 }
12506
12507 if (node.rcAnimTimeout) {
12508 clearTimeout(node.rcAnimTimeout);
12509 node.rcAnimTimeout = null;
12510 }
12511
12512 clearBrowserBugTimeout(node);
12513
12514 nodeClasses.remove(className);
12515 nodeClasses.remove(activeClassName);
12516
12517 _Event2['default'].removeEndEventListener(node, node.rcEndListener);
12518 node.rcEndListener = null;
12519
12520 // Usually this optional end is used for informing an owner of
12521 // a leave animation and telling it to remove the child.
12522 if (end) {
12523 end();
12524 }
12525 };
12526
12527 _Event2['default'].addEndEventListener(node, node.rcEndListener);
12528
12529 if (start) {
12530 start();
12531 }
12532 nodeClasses.add(className);
12533
12534 node.rcAnimTimeout = setTimeout(function () {
12535 node.rcAnimTimeout = null;
12536 nodeClasses.add(activeClassName);
12537 if (active) {
12538 setTimeout(active, 0);
12539 }
12540 fixBrowserByTimeout(node);
12541 // 30ms for firefox
12542 }, 30);
12543
12544 return {
12545 stop: function stop() {
12546 if (node.rcEndListener) {
12547 node.rcEndListener();
12548 }
12549 }
12550 };
12551 };
12552
12553 cssAnimation.style = function (node, style, callback) {
12554 if (node.rcEndListener) {
12555 node.rcEndListener();
12556 }
12557
12558 node.rcEndListener = function (e) {
12559 if (e && e.target !== node) {
12560 return;
12561 }
12562
12563 if (node.rcAnimTimeout) {
12564 clearTimeout(node.rcAnimTimeout);
12565 node.rcAnimTimeout = null;
12566 }
12567
12568 clearBrowserBugTimeout(node);
12569
12570 _Event2['default'].removeEndEventListener(node, node.rcEndListener);
12571 node.rcEndListener = null;
12572
12573 // Usually this optional callback is used for informing an owner of
12574 // a leave animation and telling it to remove the child.
12575 if (callback) {
12576 callback();
12577 }
12578 };
12579
12580 _Event2['default'].addEndEventListener(node, node.rcEndListener);
12581
12582 node.rcAnimTimeout = setTimeout(function () {
12583 for (var s in style) {
12584 if (style.hasOwnProperty(s)) {
12585 node.style[s] = style[s];
12586 }
12587 }
12588 node.rcAnimTimeout = null;
12589 fixBrowserByTimeout(node);
12590 }, 0);
12591 };
12592
12593 cssAnimation.setTransition = function (node, p, value) {
12594 var property = p;
12595 var v = value;
12596 if (value === undefined) {
12597 v = property;
12598 property = '';
12599 }
12600 property = property || '';
12601 capitalPrefixes.forEach(function (prefix) {
12602 node.style[prefix + 'Transition' + property] = v;
12603 });
12604 };
12605
12606 cssAnimation.isCssAnimationSupported = isCssAnimationSupported;
12607
12608 exports.isCssAnimationSupported = isCssAnimationSupported;
12609 exports['default'] = cssAnimation;
12610
12611/***/ }),
12612/* 165 */
12613/***/ (function(module, exports) {
12614
12615 'use strict';
12616
12617 Object.defineProperty(exports, "__esModule", {
12618 value: true
12619 });
12620 var START_EVENT_NAME_MAP = {
12621 transitionstart: {
12622 transition: 'transitionstart',
12623 WebkitTransition: 'webkitTransitionStart',
12624 MozTransition: 'mozTransitionStart',
12625 OTransition: 'oTransitionStart',
12626 msTransition: 'MSTransitionStart'
12627 },
12628
12629 animationstart: {
12630 animation: 'animationstart',
12631 WebkitAnimation: 'webkitAnimationStart',
12632 MozAnimation: 'mozAnimationStart',
12633 OAnimation: 'oAnimationStart',
12634 msAnimation: 'MSAnimationStart'
12635 }
12636 };
12637
12638 var END_EVENT_NAME_MAP = {
12639 transitionend: {
12640 transition: 'transitionend',
12641 WebkitTransition: 'webkitTransitionEnd',
12642 MozTransition: 'mozTransitionEnd',
12643 OTransition: 'oTransitionEnd',
12644 msTransition: 'MSTransitionEnd'
12645 },
12646
12647 animationend: {
12648 animation: 'animationend',
12649 WebkitAnimation: 'webkitAnimationEnd',
12650 MozAnimation: 'mozAnimationEnd',
12651 OAnimation: 'oAnimationEnd',
12652 msAnimation: 'MSAnimationEnd'
12653 }
12654 };
12655
12656 var startEvents = [];
12657 var endEvents = [];
12658
12659 function detectEvents() {
12660 var testEl = document.createElement('div');
12661 var style = testEl.style;
12662
12663 if (!('AnimationEvent' in window)) {
12664 delete START_EVENT_NAME_MAP.animationstart.animation;
12665 delete END_EVENT_NAME_MAP.animationend.animation;
12666 }
12667
12668 if (!('TransitionEvent' in window)) {
12669 delete START_EVENT_NAME_MAP.transitionstart.transition;
12670 delete END_EVENT_NAME_MAP.transitionend.transition;
12671 }
12672
12673 function process(EVENT_NAME_MAP, events) {
12674 for (var baseEventName in EVENT_NAME_MAP) {
12675 if (EVENT_NAME_MAP.hasOwnProperty(baseEventName)) {
12676 var baseEvents = EVENT_NAME_MAP[baseEventName];
12677 for (var styleName in baseEvents) {
12678 if (styleName in style) {
12679 events.push(baseEvents[styleName]);
12680 break;
12681 }
12682 }
12683 }
12684 }
12685 }
12686
12687 process(START_EVENT_NAME_MAP, startEvents);
12688 process(END_EVENT_NAME_MAP, endEvents);
12689 }
12690
12691 if (typeof window !== 'undefined' && typeof document !== 'undefined') {
12692 detectEvents();
12693 }
12694
12695 function addEventListener(node, eventName, eventListener) {
12696 node.addEventListener(eventName, eventListener, false);
12697 }
12698
12699 function removeEventListener(node, eventName, eventListener) {
12700 node.removeEventListener(eventName, eventListener, false);
12701 }
12702
12703 var TransitionEvents = {
12704 // Start events
12705 startEvents: startEvents,
12706
12707 addStartEventListener: function addStartEventListener(node, eventListener) {
12708 if (startEvents.length === 0) {
12709 window.setTimeout(eventListener, 0);
12710 return;
12711 }
12712 startEvents.forEach(function (startEvent) {
12713 addEventListener(node, startEvent, eventListener);
12714 });
12715 },
12716 removeStartEventListener: function removeStartEventListener(node, eventListener) {
12717 if (startEvents.length === 0) {
12718 return;
12719 }
12720 startEvents.forEach(function (startEvent) {
12721 removeEventListener(node, startEvent, eventListener);
12722 });
12723 },
12724
12725
12726 // End events
12727 endEvents: endEvents,
12728
12729 addEndEventListener: function addEndEventListener(node, eventListener) {
12730 if (endEvents.length === 0) {
12731 window.setTimeout(eventListener, 0);
12732 return;
12733 }
12734 endEvents.forEach(function (endEvent) {
12735 addEventListener(node, endEvent, eventListener);
12736 });
12737 },
12738 removeEndEventListener: function removeEndEventListener(node, eventListener) {
12739 if (endEvents.length === 0) {
12740 return;
12741 }
12742 endEvents.forEach(function (endEvent) {
12743 removeEventListener(node, endEvent, eventListener);
12744 });
12745 }
12746 };
12747
12748 exports['default'] = TransitionEvents;
12749 module.exports = exports['default'];
12750
12751/***/ }),
12752/* 166 */
12753/***/ (function(module, exports) {
12754
12755 "use strict";
12756
12757 Object.defineProperty(exports, "__esModule", {
12758 value: true
12759 });
12760 var util = {
12761 isAppearSupported: function isAppearSupported(props) {
12762 return props.transitionName && props.transitionAppear || props.animation.appear;
12763 },
12764 isEnterSupported: function isEnterSupported(props) {
12765 return props.transitionName && props.transitionEnter || props.animation.enter;
12766 },
12767 isLeaveSupported: function isLeaveSupported(props) {
12768 return props.transitionName && props.transitionLeave || props.animation.leave;
12769 },
12770 allowAppearCallback: function allowAppearCallback(props) {
12771 return props.transitionAppear || props.animation.appear;
12772 },
12773 allowEnterCallback: function allowEnterCallback(props) {
12774 return props.transitionEnter || props.animation.enter;
12775 },
12776 allowLeaveCallback: function allowLeaveCallback(props) {
12777 return props.transitionLeave || props.animation.leave;
12778 }
12779 };
12780 exports["default"] = util;
12781 module.exports = exports['default'];
12782
12783/***/ }),
12784/* 167 */
12785/***/ (function(module, exports, __webpack_require__) {
12786
12787 'use strict';
12788
12789 exports.__esModule = true;
12790
12791 var _classCallCheck2 = __webpack_require__(105);
12792
12793 var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
12794
12795 var _possibleConstructorReturn2 = __webpack_require__(106);
12796
12797 var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
12798
12799 var _inherits2 = __webpack_require__(141);
12800
12801 var _inherits3 = _interopRequireDefault(_inherits2);
12802
12803 var _react = __webpack_require__(4);
12804
12805 var _react2 = _interopRequireDefault(_react);
12806
12807 var _propTypes = __webpack_require__(5);
12808
12809 var _propTypes2 = _interopRequireDefault(_propTypes);
12810
12811 var _LazyRenderBox = __webpack_require__(168);
12812
12813 var _LazyRenderBox2 = _interopRequireDefault(_LazyRenderBox);
12814
12815 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
12816
12817 var PopupInner = function (_Component) {
12818 (0, _inherits3['default'])(PopupInner, _Component);
12819
12820 function PopupInner() {
12821 (0, _classCallCheck3['default'])(this, PopupInner);
12822 return (0, _possibleConstructorReturn3['default'])(this, _Component.apply(this, arguments));
12823 }
12824
12825 PopupInner.prototype.render = function render() {
12826 var props = this.props;
12827 var className = props.className;
12828 if (!props.visible) {
12829 className += ' ' + props.hiddenClassName;
12830 }
12831 return _react2['default'].createElement(
12832 'div',
12833 {
12834 className: className,
12835 onMouseEnter: props.onMouseEnter,
12836 onMouseLeave: props.onMouseLeave,
12837 onMouseDown: props.onMouseDown,
12838 onTouchStart: props.onTouchStart,
12839 style: props.style
12840 },
12841 _react2['default'].createElement(
12842 _LazyRenderBox2['default'],
12843 { className: props.prefixCls + '-content', visible: props.visible },
12844 props.children
12845 )
12846 );
12847 };
12848
12849 return PopupInner;
12850 }(_react.Component);
12851
12852 PopupInner.propTypes = {
12853 hiddenClassName: _propTypes2['default'].string,
12854 className: _propTypes2['default'].string,
12855 prefixCls: _propTypes2['default'].string,
12856 onMouseEnter: _propTypes2['default'].func,
12857 onMouseLeave: _propTypes2['default'].func,
12858 onMouseDown: _propTypes2['default'].func,
12859 onTouchStart: _propTypes2['default'].func,
12860 children: _propTypes2['default'].any
12861 };
12862 exports['default'] = PopupInner;
12863 module.exports = exports['default'];
12864
12865/***/ }),
12866/* 168 */
12867/***/ (function(module, exports, __webpack_require__) {
12868
12869 'use strict';
12870
12871 exports.__esModule = true;
12872
12873 var _objectWithoutProperties2 = __webpack_require__(169);
12874
12875 var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
12876
12877 var _classCallCheck2 = __webpack_require__(105);
12878
12879 var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
12880
12881 var _possibleConstructorReturn2 = __webpack_require__(106);
12882
12883 var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
12884
12885 var _inherits2 = __webpack_require__(141);
12886
12887 var _inherits3 = _interopRequireDefault(_inherits2);
12888
12889 var _react = __webpack_require__(4);
12890
12891 var _react2 = _interopRequireDefault(_react);
12892
12893 var _propTypes = __webpack_require__(5);
12894
12895 var _propTypes2 = _interopRequireDefault(_propTypes);
12896
12897 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
12898
12899 var LazyRenderBox = function (_Component) {
12900 (0, _inherits3['default'])(LazyRenderBox, _Component);
12901
12902 function LazyRenderBox() {
12903 (0, _classCallCheck3['default'])(this, LazyRenderBox);
12904 return (0, _possibleConstructorReturn3['default'])(this, _Component.apply(this, arguments));
12905 }
12906
12907 LazyRenderBox.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {
12908 return nextProps.hiddenClassName || nextProps.visible;
12909 };
12910
12911 LazyRenderBox.prototype.render = function render() {
12912 var _props = this.props,
12913 hiddenClassName = _props.hiddenClassName,
12914 visible = _props.visible,
12915 props = (0, _objectWithoutProperties3['default'])(_props, ['hiddenClassName', 'visible']);
12916
12917
12918 if (hiddenClassName || _react2['default'].Children.count(props.children) > 1) {
12919 if (!visible && hiddenClassName) {
12920 props.className += ' ' + hiddenClassName;
12921 }
12922 return _react2['default'].createElement('div', props);
12923 }
12924
12925 return _react2['default'].Children.only(props.children);
12926 };
12927
12928 return LazyRenderBox;
12929 }(_react.Component);
12930
12931 LazyRenderBox.propTypes = {
12932 children: _propTypes2['default'].any,
12933 className: _propTypes2['default'].string,
12934 visible: _propTypes2['default'].bool,
12935 hiddenClassName: _propTypes2['default'].string
12936 };
12937 exports['default'] = LazyRenderBox;
12938 module.exports = exports['default'];
12939
12940/***/ }),
12941/* 169 */
12942/***/ (function(module, exports) {
12943
12944 "use strict";
12945
12946 exports.__esModule = true;
12947
12948 exports.default = function (obj, keys) {
12949 var target = {};
12950
12951 for (var i in obj) {
12952 if (keys.indexOf(i) >= 0) continue;
12953 if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;
12954 target[i] = obj[i];
12955 }
12956
12957 return target;
12958 };
12959
12960/***/ }),
12961/* 170 */
12962/***/ (function(module, exports, __webpack_require__) {
12963
12964 (function (global, factory) {
12965 true ? module.exports = factory() :
12966 typeof define === 'function' && define.amd ? define(factory) :
12967 (global.arrayTreeFilter = factory());
12968 }(this, (function () { 'use strict';
12969
12970 function arrayTreeFilter(data, filterFn, options) {
12971 options = options || {};
12972 options.childrenKeyName = options.childrenKeyName || "children";
12973 var children = data || [];
12974 var result = [];
12975 var level = 0;
12976 do {
12977 var foundItem = children.filter(function (item) {
12978 return filterFn(item, level);
12979 })[0];
12980 if (!foundItem) {
12981 break;
12982 }
12983 result.push(foundItem);
12984 children = foundItem[options.childrenKeyName] || [];
12985 level += 1;
12986 } while (children.length > 0);
12987 return result;
12988 }
12989
12990 return arrayTreeFilter;
12991
12992 })));
12993
12994
12995/***/ }),
12996/* 171 */
12997/***/ (function(module, exports) {
12998
12999 module.exports = function shallowEqualArrays(arrA, arrB) {
13000 if (arrA === arrB) {
13001 return true;
13002 }
13003
13004 if (!arrA || !arrB) {
13005 return false;
13006 }
13007
13008 var len = arrA.length;
13009
13010 if (arrB.length !== len) {
13011 return false;
13012 }
13013
13014 for (var i = 0; i < len; i++) {
13015 if (arrA[i] !== arrB[i]) {
13016 return false;
13017 }
13018 }
13019
13020 return true;
13021 };
13022
13023
13024/***/ }),
13025/* 172 */
13026/***/ (function(module, exports) {
13027
13028 'use strict';
13029
13030 Object.defineProperty(exports, '__esModule', { value: true });
13031
13032 /**
13033 * Copyright (c) 2013-present, Facebook, Inc.
13034 *
13035 * This source code is licensed under the MIT license found in the
13036 * LICENSE file in the root directory of this source tree.
13037 */
13038
13039 function componentWillMount() {
13040 // Call this.constructor.gDSFP to support sub-classes.
13041 var state = this.constructor.getDerivedStateFromProps(this.props, this.state);
13042 if (state !== null && state !== undefined) {
13043 this.setState(state);
13044 }
13045 }
13046
13047 function componentWillReceiveProps(nextProps) {
13048 // Call this.constructor.gDSFP to support sub-classes.
13049 // Use the setState() updater to ensure state isn't stale in certain edge cases.
13050 function updater(prevState) {
13051 var state = this.constructor.getDerivedStateFromProps(nextProps, prevState);
13052 return state !== null && state !== undefined ? state : null;
13053 }
13054 // Binding "this" is important for shallow renderer support.
13055 this.setState(updater.bind(this));
13056 }
13057
13058 function componentWillUpdate(nextProps, nextState) {
13059 try {
13060 var prevProps = this.props;
13061 var prevState = this.state;
13062 this.props = nextProps;
13063 this.state = nextState;
13064 this.__reactInternalSnapshotFlag = true;
13065 this.__reactInternalSnapshot = this.getSnapshotBeforeUpdate(
13066 prevProps,
13067 prevState
13068 );
13069 } finally {
13070 this.props = prevProps;
13071 this.state = prevState;
13072 }
13073 }
13074
13075 // React may warn about cWM/cWRP/cWU methods being deprecated.
13076 // Add a flag to suppress these warnings for this special case.
13077 componentWillMount.__suppressDeprecationWarning = true;
13078 componentWillReceiveProps.__suppressDeprecationWarning = true;
13079 componentWillUpdate.__suppressDeprecationWarning = true;
13080
13081 function polyfill(Component) {
13082 var prototype = Component.prototype;
13083
13084 if (!prototype || !prototype.isReactComponent) {
13085 throw new Error('Can only polyfill class components');
13086 }
13087
13088 if (
13089 typeof Component.getDerivedStateFromProps !== 'function' &&
13090 typeof prototype.getSnapshotBeforeUpdate !== 'function'
13091 ) {
13092 return Component;
13093 }
13094
13095 // If new component APIs are defined, "unsafe" lifecycles won't be called.
13096 // Error if any of these lifecycles are present,
13097 // Because they would work differently between older and newer (16.3+) versions of React.
13098 var foundWillMountName = null;
13099 var foundWillReceivePropsName = null;
13100 var foundWillUpdateName = null;
13101 if (typeof prototype.componentWillMount === 'function') {
13102 foundWillMountName = 'componentWillMount';
13103 } else if (typeof prototype.UNSAFE_componentWillMount === 'function') {
13104 foundWillMountName = 'UNSAFE_componentWillMount';
13105 }
13106 if (typeof prototype.componentWillReceiveProps === 'function') {
13107 foundWillReceivePropsName = 'componentWillReceiveProps';
13108 } else if (typeof prototype.UNSAFE_componentWillReceiveProps === 'function') {
13109 foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps';
13110 }
13111 if (typeof prototype.componentWillUpdate === 'function') {
13112 foundWillUpdateName = 'componentWillUpdate';
13113 } else if (typeof prototype.UNSAFE_componentWillUpdate === 'function') {
13114 foundWillUpdateName = 'UNSAFE_componentWillUpdate';
13115 }
13116 if (
13117 foundWillMountName !== null ||
13118 foundWillReceivePropsName !== null ||
13119 foundWillUpdateName !== null
13120 ) {
13121 var componentName = Component.displayName || Component.name;
13122 var newApiName =
13123 typeof Component.getDerivedStateFromProps === 'function'
13124 ? 'getDerivedStateFromProps()'
13125 : 'getSnapshotBeforeUpdate()';
13126
13127 throw Error(
13128 'Unsafe legacy lifecycles will not be called for components using new component APIs.\n\n' +
13129 componentName +
13130 ' uses ' +
13131 newApiName +
13132 ' but also contains the following legacy lifecycles:' +
13133 (foundWillMountName !== null ? '\n ' + foundWillMountName : '') +
13134 (foundWillReceivePropsName !== null
13135 ? '\n ' + foundWillReceivePropsName
13136 : '') +
13137 (foundWillUpdateName !== null ? '\n ' + foundWillUpdateName : '') +
13138 '\n\nThe above lifecycles should be removed. Learn more about this warning here:\n' +
13139 'https://fb.me/react-async-component-lifecycle-hooks'
13140 );
13141 }
13142
13143 // React <= 16.2 does not support static getDerivedStateFromProps.
13144 // As a workaround, use cWM and cWRP to invoke the new static lifecycle.
13145 // Newer versions of React will ignore these lifecycles if gDSFP exists.
13146 if (typeof Component.getDerivedStateFromProps === 'function') {
13147 prototype.componentWillMount = componentWillMount;
13148 prototype.componentWillReceiveProps = componentWillReceiveProps;
13149 }
13150
13151 // React <= 16.2 does not support getSnapshotBeforeUpdate.
13152 // As a workaround, use cWU to invoke the new lifecycle.
13153 // Newer versions of React will ignore that lifecycle if gSBU exists.
13154 if (typeof prototype.getSnapshotBeforeUpdate === 'function') {
13155 if (typeof prototype.componentDidUpdate !== 'function') {
13156 throw new Error(
13157 'Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype'
13158 );
13159 }
13160
13161 prototype.componentWillUpdate = componentWillUpdate;
13162
13163 var componentDidUpdate = prototype.componentDidUpdate;
13164
13165 prototype.componentDidUpdate = function componentDidUpdatePolyfill(
13166 prevProps,
13167 prevState,
13168 maybeSnapshot
13169 ) {
13170 // 16.3+ will not execute our will-update method;
13171 // It will pass a snapshot value to did-update though.
13172 // Older versions will require our polyfilled will-update value.
13173 // We need to handle both cases, but can't just check for the presence of "maybeSnapshot",
13174 // Because for <= 15.x versions this might be a "prevContext" object.
13175 // We also can't just check "__reactInternalSnapshot",
13176 // Because get-snapshot might return a falsy value.
13177 // So check for the explicit __reactInternalSnapshotFlag flag to determine behavior.
13178 var snapshot = this.__reactInternalSnapshotFlag
13179 ? this.__reactInternalSnapshot
13180 : maybeSnapshot;
13181
13182 componentDidUpdate.call(this, prevProps, prevState, snapshot);
13183 };
13184 }
13185
13186 return Component;
13187 }
13188
13189 exports.polyfill = polyfill;
13190
13191
13192/***/ }),
13193/* 173 */
13194/***/ (function(module, exports, __webpack_require__) {
13195
13196 'use strict';
13197
13198 Object.defineProperty(exports, "__esModule", {
13199 value: true
13200 });
13201
13202 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; };
13203
13204 var _react = __webpack_require__(4);
13205
13206 var _react2 = _interopRequireDefault(_react);
13207
13208 var _propTypes = __webpack_require__(5);
13209
13210 var _propTypes2 = _interopRequireDefault(_propTypes);
13211
13212 var _arrayTreeFilter = __webpack_require__(170);
13213
13214 var _arrayTreeFilter2 = _interopRequireDefault(_arrayTreeFilter);
13215
13216 var _reactDom = __webpack_require__(12);
13217
13218 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
13219
13220 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; }
13221
13222 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
13223
13224 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; }
13225
13226 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); } /**
13227 * This source code is quoted from rc-cascader.
13228 * homepage: https://github.com/react-component/cascader
13229 */
13230
13231
13232 var Menus = function (_React$Component) {
13233 _inherits(Menus, _React$Component);
13234
13235 function Menus(props) {
13236 _classCallCheck(this, Menus);
13237
13238 var _this = _possibleConstructorReturn(this, _React$Component.call(this, props));
13239
13240 _this.saveMenuItem = function (index) {
13241 return function (node) {
13242 _this.menuItems[index] = node;
13243 };
13244 };
13245
13246 _this.menuItems = {};
13247 return _this;
13248 }
13249
13250 Menus.prototype.componentDidMount = function componentDidMount() {
13251 this.scrollActiveItemToView();
13252 };
13253
13254 Menus.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {
13255 if (!prevProps.visible && this.props.visible) {
13256 this.scrollActiveItemToView();
13257 }
13258 };
13259
13260 Menus.prototype.getFieldName = function getFieldName(name) {
13261 var _props = this.props,
13262 fieldNames = _props.fieldNames,
13263 defaultFieldNames = _props.defaultFieldNames;
13264 // 防止只设置单个属性的名字
13265
13266 return fieldNames[name] || defaultFieldNames[name];
13267 };
13268
13269 Menus.prototype.getOption = function getOption(option, menuIndex) {
13270 var _props2 = this.props,
13271 prefixCls = _props2.prefixCls,
13272 expandTrigger = _props2.expandTrigger,
13273 expandIcon = _props2.expandIcon,
13274 loadingIcon = _props2.loadingIcon;
13275
13276 var onSelect = this.props.onSelect.bind(this, option, menuIndex);
13277 var onItemDoubleClick = this.props.onItemDoubleClick.bind(this, option, menuIndex);
13278 var expandProps = {
13279 onClick: onSelect,
13280 onDoubleClick: onItemDoubleClick
13281 };
13282 var menuItemCls = prefixCls + '-menu-item';
13283 var expandIconNode = null;
13284 var hasChildren = option[this.getFieldName('children')] && option[this.getFieldName('children')].length > 0;
13285 if (hasChildren || option.isLeaf === false) {
13286 menuItemCls += ' ' + prefixCls + '-menu-item-expand';
13287 if (!option.loading) {
13288 expandIconNode = _react2['default'].createElement(
13289 'span',
13290 { className: prefixCls + '-menu-item-expand-icon' },
13291 expandIcon
13292 );
13293 }
13294 }
13295 if (expandTrigger === 'hover' && hasChildren) {
13296 expandProps = {
13297 onMouseEnter: this.delayOnSelect.bind(this, onSelect),
13298 onMouseLeave: this.delayOnSelect.bind(this),
13299 onClick: onSelect
13300 };
13301 }
13302 if (this.isActiveOption(option, menuIndex)) {
13303 menuItemCls += ' ' + prefixCls + '-menu-item-active';
13304 expandProps.ref = this.saveMenuItem(menuIndex);
13305 }
13306 if (option.disabled) {
13307 menuItemCls += ' ' + prefixCls + '-menu-item-disabled';
13308 }
13309
13310 var loadingIconNode = null;
13311 if (option.loading) {
13312 menuItemCls += ' ' + prefixCls + '-menu-item-loading';
13313 loadingIconNode = loadingIcon || null;
13314 }
13315 var title = '';
13316 if (option.title) {
13317 title = option.title;
13318 } else if (typeof option[this.getFieldName('label')] === 'string') {
13319 title = option[this.getFieldName('label')];
13320 }
13321
13322 return _react2['default'].createElement(
13323 'li',
13324 _extends({
13325 key: option[this.getFieldName('value')],
13326 className: menuItemCls,
13327 title: title
13328 }, expandProps),
13329 option[this.getFieldName('label')],
13330 expandIconNode,
13331 loadingIconNode
13332 );
13333 };
13334
13335 Menus.prototype.getActiveOptions = function getActiveOptions(values) {
13336 var _this2 = this;
13337
13338 var activeValue = values || this.props.activeValue;
13339 var options = this.props.options;
13340 return (0, _arrayTreeFilter2['default'])(options, function (o, level) {
13341 return o[_this2.getFieldName('value')] === activeValue[level];
13342 }, { childrenKeyName: this.getFieldName('children') });
13343 };
13344
13345 Menus.prototype.getShowOptions = function getShowOptions() {
13346 var _this3 = this;
13347
13348 var options = this.props.options;
13349
13350 var result = this.getActiveOptions().map(function (activeOption) {
13351 return activeOption[_this3.getFieldName('children')];
13352 }).filter(function (activeOption) {
13353 return !!activeOption;
13354 });
13355 result.unshift(options);
13356 return result;
13357 };
13358
13359 Menus.prototype.delayOnSelect = function delayOnSelect(onSelect) {
13360 var _this4 = this;
13361
13362 for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
13363 args[_key - 1] = arguments[_key];
13364 }
13365
13366 if (this.delayTimer) {
13367 clearTimeout(this.delayTimer);
13368 this.delayTimer = null;
13369 }
13370 if (typeof onSelect === 'function') {
13371 this.delayTimer = setTimeout(function () {
13372 onSelect(args);
13373 _this4.delayTimer = null;
13374 }, 150);
13375 }
13376 };
13377
13378 Menus.prototype.scrollActiveItemToView = function scrollActiveItemToView() {
13379 // scroll into view
13380 var optionsLength = this.getShowOptions().length;
13381 for (var i = 0; i < optionsLength; i++) {
13382 var itemComponent = this.menuItems[i];
13383 if (itemComponent) {
13384 var target = (0, _reactDom.findDOMNode)(itemComponent);
13385 target.parentNode.scrollTop = target.offsetTop;
13386 }
13387 }
13388 };
13389
13390 Menus.prototype.isActiveOption = function isActiveOption(option, menuIndex) {
13391 var _props$activeValue = this.props.activeValue,
13392 activeValue = _props$activeValue === undefined ? [] : _props$activeValue;
13393
13394 return activeValue[menuIndex] === option[this.getFieldName('value')];
13395 };
13396
13397 Menus.prototype.render = function render() {
13398 var _this5 = this;
13399
13400 var _props3 = this.props,
13401 prefixCls = _props3.prefixCls,
13402 dropdownMenuColumnStyle = _props3.dropdownMenuColumnStyle;
13403
13404 return _react2['default'].createElement(
13405 'div',
13406 null,
13407 this.getShowOptions().map(function (options, menuIndex) {
13408 return _react2['default'].createElement(
13409 'ul',
13410 { className: prefixCls + '-menu', key: menuIndex, style: dropdownMenuColumnStyle },
13411 options.map(function (option) {
13412 return _this5.getOption(option, menuIndex);
13413 })
13414 );
13415 })
13416 );
13417 };
13418
13419 return Menus;
13420 }(_react2['default'].Component);
13421
13422 Menus.defaultProps = {
13423 options: [],
13424 value: [],
13425 activeValue: [],
13426 onSelect: function onSelect() {},
13427
13428 prefixCls: 'rc-cascader-menus',
13429 visible: false,
13430 expandTrigger: 'click'
13431 };
13432
13433 Menus.propTypes = {
13434 value: _propTypes2['default'].array,
13435 activeValue: _propTypes2['default'].array,
13436 options: _propTypes2['default'].array,
13437 prefixCls: _propTypes2['default'].string,
13438 expandTrigger: _propTypes2['default'].string,
13439 onSelect: _propTypes2['default'].func,
13440 visible: _propTypes2['default'].bool,
13441 dropdownMenuColumnStyle: _propTypes2['default'].object,
13442 defaultFieldNames: _propTypes2['default'].object,
13443 fieldNames: _propTypes2['default'].object,
13444 expandIcon: _propTypes2['default'].node,
13445 loadingIcon: _propTypes2['default'].node,
13446 onItemDoubleClick: _propTypes2['default'].func
13447 };
13448
13449 exports['default'] = Menus;
13450 module.exports = exports['default'];
13451
13452/***/ }),
13453/* 174 */
13454/***/ (function(module, exports, __webpack_require__) {
13455
13456 'use strict';
13457
13458 Object.defineProperty(exports, "__esModule", {
13459 value: true
13460 });
13461
13462 var _Icon = __webpack_require__(175);
13463
13464 var _Icon2 = _interopRequireDefault(_Icon);
13465
13466 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
13467
13468 exports["default"] = _Icon2["default"];
13469 module.exports = exports['default'];
13470
13471/***/ }),
13472/* 175 */
13473/***/ (function(module, exports, __webpack_require__) {
13474
13475 'use strict';
13476
13477 Object.defineProperty(exports, "__esModule", {
13478 value: true
13479 });
13480
13481 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; };
13482
13483 var _react = __webpack_require__(4);
13484
13485 var _react2 = _interopRequireDefault(_react);
13486
13487 var _classnames = __webpack_require__(3);
13488
13489 var _classnames2 = _interopRequireDefault(_classnames);
13490
13491 var _propTypes = __webpack_require__(5);
13492
13493 var _propTypes2 = _interopRequireDefault(_propTypes);
13494
13495 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
13496
13497 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; }
13498
13499 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; }
13500
13501 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
13502
13503 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; }
13504
13505 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); }
13506
13507 var propTypes = {
13508 type: _propTypes2["default"].string
13509
13510 };
13511 /**
13512 * badge 默认显示内容1
13513 */
13514 var defaultProps = {
13515 clsPrefix: 'uf'
13516 };
13517
13518 var Icon = function (_Component) {
13519 _inherits(Icon, _Component);
13520
13521 function Icon(props) {
13522 _classCallCheck(this, Icon);
13523
13524 return _possibleConstructorReturn(this, _Component.call(this, props));
13525 }
13526
13527 Icon.prototype.render = function render() {
13528 var _props = this.props,
13529 type = _props.type,
13530 className = _props.className,
13531 clsPrefix = _props.clsPrefix,
13532 others = _objectWithoutProperties(_props, ['type', 'className', 'clsPrefix']);
13533
13534 var clsObj = {};
13535
13536 var classNames = (0, _classnames2["default"])(clsPrefix, type);
13537
13538 return _react2["default"].createElement('i', _extends({}, others, { className: (0, _classnames2["default"])(classNames, className) }));
13539 };
13540
13541 return Icon;
13542 }(_react.Component);
13543
13544 Icon.defaultProps = defaultProps;
13545 Icon.propTypes = propTypes;
13546
13547 exports["default"] = Icon;
13548 module.exports = exports['default'];
13549
13550/***/ }),
13551/* 176 */
13552/***/ (function(module, exports, __webpack_require__) {
13553
13554 'use strict';
13555
13556 Object.defineProperty(exports, "__esModule", {
13557 value: true
13558 });
13559
13560 var _FormControl = __webpack_require__(177);
13561
13562 var _FormControl2 = _interopRequireDefault(_FormControl);
13563
13564 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
13565
13566 exports["default"] = _FormControl2["default"];
13567 module.exports = exports['default'];
13568
13569/***/ }),
13570/* 177 */
13571/***/ (function(module, exports, __webpack_require__) {
13572
13573 'use strict';
13574
13575 Object.defineProperty(exports, "__esModule", {
13576 value: true
13577 });
13578
13579 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; };
13580
13581 var _react = __webpack_require__(4);
13582
13583 var _react2 = _interopRequireDefault(_react);
13584
13585 var _classnames = __webpack_require__(3);
13586
13587 var _classnames2 = _interopRequireDefault(_classnames);
13588
13589 var _beeIcon = __webpack_require__(174);
13590
13591 var _beeIcon2 = _interopRequireDefault(_beeIcon);
13592
13593 var _propTypes = __webpack_require__(5);
13594
13595 var _propTypes2 = _interopRequireDefault(_propTypes);
13596
13597 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
13598
13599 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; }
13600
13601 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; }
13602
13603 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
13604
13605 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; }
13606
13607 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); }
13608
13609 var propTypes = {
13610 componentClass: _propTypes2["default"].oneOfType([_propTypes2["default"].element, _propTypes2["default"].string]),
13611 type: _propTypes2["default"].string,
13612 size: _propTypes2["default"].oneOf(['sm', 'md', 'lg']),
13613 onSearch: _propTypes2["default"].func,
13614 onChange: _propTypes2["default"].func,
13615 onBlur: _propTypes2["default"].func,
13616 showClose: _propTypes2["default"].bool,
13617 focusSelect: _propTypes2["default"].bool
13618 };
13619
13620 var defaultProps = {
13621 componentClass: 'input',
13622 clsPrefix: 'u-form-control',
13623 type: 'text',
13624 size: 'md'
13625 };
13626
13627 var FormControl = function (_React$Component) {
13628 _inherits(FormControl, _React$Component);
13629
13630 function FormControl(props) {
13631 _classCallCheck(this, FormControl);
13632
13633 var _this = _possibleConstructorReturn(this, _React$Component.call(this, props));
13634
13635 _this.handleSearchChange = function (e) {
13636 var onChange = _this.props.onChange;
13637
13638 var value = _this.input.value;
13639 _this.setState({
13640 value: value,
13641 showSearch: value == null || value === ""
13642 });
13643 if (onChange) {
13644 onChange(value, e);
13645 }
13646 };
13647
13648 _this.handleChange = function (e) {
13649 var onChange = _this.props.onChange;
13650
13651 var value = _this.input.value;
13652 _this.setState({
13653 showClose: true
13654 });
13655 if (onChange) {
13656 onChange(value, e);
13657 }
13658 };
13659
13660 _this.clearValue = function () {
13661 var onChange = _this.props.onChange;
13662
13663 _this.setState({
13664 showSearch: true,
13665 value: "",
13666 showClose: false
13667 });
13668 if (onChange) {
13669 onChange("");
13670 }
13671 _this.input.focus();
13672 };
13673
13674 _this.handleKeyDown = function (e) {
13675 var _this$props = _this.props,
13676 onSearch = _this$props.onSearch,
13677 type = _this$props.type;
13678
13679 if (e.keyCode === 13 && type === "search") {
13680 if (onSearch) {
13681 onSearch(_this.input.value);
13682 }
13683 }
13684 };
13685
13686 _this.handleSearch = function (e) {
13687 var onSearch = _this.props.onSearch;
13688
13689 if (onSearch) onSearch(_this.input.value);
13690 };
13691
13692 _this.handleBlur = function (e) {
13693 var value = _this.state.value;
13694 var onBlur = _this.props.onBlur;
13695
13696
13697 if (onBlur) {
13698 onBlur(value, e);
13699 }
13700 };
13701
13702 _this.handleFocus = function (e) {
13703 var value = _this.state.value;
13704 var onFocus = _this.props.onFocus;
13705
13706 if (_this.props.focusSelect) {
13707 _this.input.select();
13708 }
13709 if (onFocus) {
13710 onFocus(value, e);
13711 }
13712 };
13713
13714 _this.renderInput = function () {
13715 var _this$props2 = _this.props,
13716 Component = _this$props2.componentClass,
13717 type = _this$props2.type,
13718 className = _this$props2.className,
13719 size = _this$props2.size,
13720 clsPrefix = _this$props2.clsPrefix,
13721 value = _this$props2.value,
13722 onChange = _this$props2.onChange,
13723 onSearch = _this$props2.onSearch,
13724 onBlur = _this$props2.onBlur,
13725 showClose = _this$props2.showClose,
13726 focusSelect = _this$props2.focusSelect,
13727 others = _objectWithoutProperties(_this$props2, ['componentClass', 'type', 'className', 'size', 'clsPrefix', 'value', 'onChange', 'onSearch', 'onBlur', 'showClose', 'focusSelect']);
13728 // input[type="file"] 不应该有类名 .form-control.
13729
13730
13731 var classes = {};
13732 if (size) {
13733 classes['' + size] = true;
13734 }
13735
13736 var classNames = void 0;
13737 if (type !== 'file') {
13738 classNames = (0, _classnames2["default"])(clsPrefix, classes);
13739 }
13740
13741 return showClose ? _react2["default"].createElement(
13742 'div',
13743 { className: (0, _classnames2["default"])(clsPrefix + '-close', clsPrefix + '-affix-wrapper', className) },
13744 _react2["default"].createElement(Component, _extends({}, others, {
13745 type: type,
13746 ref: function ref(el) {
13747 return _this.input = el;
13748 },
13749 value: value,
13750 onChange: _this.handleChange,
13751 onBlur: _this.handleBlur,
13752 onFocus: _this.handleFocus,
13753 className: (0, _classnames2["default"])(className, classNames)
13754 })),
13755 _react2["default"].createElement(
13756 'div',
13757 { className: clsPrefix + '-suffix' },
13758 _this.state.showClose ? _react2["default"].createElement(_beeIcon2["default"], { onClick: _this.clearValue, type: 'uf-close-c' }) : ''
13759 )
13760 ) : _react2["default"].createElement(Component, _extends({}, others, {
13761 type: type,
13762 ref: function ref(el) {
13763 return _this.input = el;
13764 },
13765 value: value,
13766 onChange: _this.handleChange,
13767 onBlur: _this.handleBlur,
13768 onFocus: _this.handleFocus,
13769 className: (0, _classnames2["default"])(className, classNames)
13770 }));
13771 };
13772
13773 _this.renderSearch = function () {
13774 var _this$props3 = _this.props,
13775 Component = _this$props3.componentClass,
13776 type = _this$props3.type,
13777 className = _this$props3.className,
13778 size = _this$props3.size,
13779 clsPrefix = _this$props3.clsPrefix,
13780 value = _this$props3.value,
13781 onChange = _this$props3.onChange,
13782 onSearch = _this$props3.onSearch,
13783 onBlur = _this$props3.onBlur,
13784 others = _objectWithoutProperties(_this$props3, ['componentClass', 'type', 'className', 'size', 'clsPrefix', 'value', 'onChange', 'onSearch', 'onBlur']);
13785 // input[type="file"] 不应该有类名 .form-control.
13786
13787
13788 var classes = {};
13789 if (size) {
13790 classes['' + size] = true;
13791 }
13792 classes[clsPrefix + '-search'] = true;
13793
13794 if (type === "search") {
13795 return _react2["default"].createElement(
13796 'div',
13797 { className: (0, _classnames2["default"])(clsPrefix + '-search', clsPrefix + '-affix-wrapper', className) },
13798 _react2["default"].createElement(Component, _extends({}, others, {
13799 type: type,
13800 ref: function ref(el) {
13801 return _this.input = el;
13802 },
13803 onChange: _this.handleSearchChange,
13804 value: value,
13805 onKeyDown: _this.handleKeyDown,
13806 onBlur: _this.handleBlur,
13807 onFocus: _this.handleFocus,
13808 className: (0, _classnames2["default"])(className, clsPrefix, classes)
13809 })),
13810 _react2["default"].createElement(
13811 'div',
13812 { className: clsPrefix + '-suffix' },
13813 _react2["default"].createElement(_beeIcon2["default"], { type: 'uf-search', onClick: _this.handleSearch })
13814 )
13815 );
13816 }
13817 };
13818
13819 _this.state = {
13820 showSearch: !props.value,
13821 value: props.value == null ? "" : props.value,
13822 showClose: false
13823 };
13824 _this.input = {};
13825 return _this;
13826 }
13827
13828 FormControl.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProp) {
13829 if (nextProp.value !== this.state.value) {
13830 this.setState({ value: nextProp.value });
13831 }
13832 };
13833
13834 FormControl.prototype.render = function render() {
13835
13836 if (this.props.type === "search") {
13837 return this.renderSearch();
13838 }
13839
13840 return this.renderInput();
13841 };
13842
13843 return FormControl;
13844 }(_react2["default"].Component);
13845
13846 FormControl.propTypes = propTypes;
13847 FormControl.defaultProps = defaultProps;
13848
13849 exports["default"] = FormControl;
13850 module.exports = exports['default'];
13851
13852/***/ }),
13853/* 178 */
13854/***/ (function(module, exports, __webpack_require__) {
13855
13856 'use strict';
13857
13858 module.exports = __webpack_require__(179);
13859
13860/***/ }),
13861/* 179 */
13862/***/ (function(module, exports, __webpack_require__) {
13863
13864 'use strict';
13865
13866 Object.defineProperty(exports, "__esModule", {
13867 value: true
13868 });
13869
13870 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; };
13871
13872 var _classnames = __webpack_require__(3);
13873
13874 var _classnames2 = _interopRequireDefault(_classnames);
13875
13876 var _react = __webpack_require__(4);
13877
13878 var _react2 = _interopRequireDefault(_react);
13879
13880 var _beeInputGroupAddon = __webpack_require__(180);
13881
13882 var _beeInputGroupAddon2 = _interopRequireDefault(_beeInputGroupAddon);
13883
13884 var _InputGroupButton = __webpack_require__(182);
13885
13886 var _InputGroupButton2 = _interopRequireDefault(_InputGroupButton);
13887
13888 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
13889
13890 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; }
13891
13892 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; }
13893
13894 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
13895
13896 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; }
13897
13898 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); }
13899
13900 var defaultProps = {
13901 clsPrefix: 'u-input-group',
13902 simple: false
13903 };
13904
13905 var InputGroup = function (_React$Component) {
13906 _inherits(InputGroup, _React$Component);
13907
13908 function InputGroup() {
13909 _classCallCheck(this, InputGroup);
13910
13911 return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));
13912 }
13913
13914 InputGroup.prototype.render = function render() {
13915 var _props = this.props,
13916 className = _props.className,
13917 clsPrefix = _props.clsPrefix,
13918 simple = _props.simple,
13919 others = _objectWithoutProperties(_props, ['className', 'clsPrefix', 'simple']);
13920
13921 return _react2["default"].createElement('span', _extends({}, others, {
13922 className: (0, _classnames2["default"])(className, clsPrefix, simple && 'simple')
13923 }));
13924 };
13925
13926 return InputGroup;
13927 }(_react2["default"].Component);
13928
13929 /**
13930 * 将InputGroupAddon与InputGroupButton组件作为InputGroup的附属组件
13931 */
13932
13933
13934 InputGroup.Addon = _beeInputGroupAddon2["default"];
13935 InputGroup.Button = _InputGroupButton2["default"];
13936 InputGroup.defaultProps = defaultProps;
13937 exports["default"] = InputGroup;
13938 module.exports = exports['default'];
13939
13940/***/ }),
13941/* 180 */
13942/***/ (function(module, exports, __webpack_require__) {
13943
13944 'use strict';
13945
13946 Object.defineProperty(exports, "__esModule", {
13947 value: true
13948 });
13949
13950 var _InputGroupAddon = __webpack_require__(181);
13951
13952 var _InputGroupAddon2 = _interopRequireDefault(_InputGroupAddon);
13953
13954 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
13955
13956 exports["default"] = _InputGroupAddon2["default"];
13957 module.exports = exports['default'];
13958
13959/***/ }),
13960/* 181 */
13961/***/ (function(module, exports, __webpack_require__) {
13962
13963 'use strict';
13964
13965 Object.defineProperty(exports, "__esModule", {
13966 value: true
13967 });
13968
13969 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; };
13970
13971 var _classnames = __webpack_require__(3);
13972
13973 var _classnames2 = _interopRequireDefault(_classnames);
13974
13975 var _react = __webpack_require__(4);
13976
13977 var _react2 = _interopRequireDefault(_react);
13978
13979 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
13980
13981 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; }
13982
13983 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; }
13984
13985 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
13986
13987 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; }
13988
13989 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); }
13990
13991 var defaultProps = {
13992 clsPrefix: 'u-input-group-addon'
13993 };
13994
13995 var InputGroupAddon = function (_React$Component) {
13996 _inherits(InputGroupAddon, _React$Component);
13997
13998 function InputGroupAddon() {
13999 _classCallCheck(this, InputGroupAddon);
14000
14001 return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));
14002 }
14003
14004 InputGroupAddon.prototype.render = function render() {
14005 var _props = this.props,
14006 className = _props.className,
14007 clsPrefix = _props.clsPrefix,
14008 others = _objectWithoutProperties(_props, ['className', 'clsPrefix']);
14009
14010 return _react2["default"].createElement('span', _extends({}, others, {
14011 className: (0, _classnames2["default"])(className, clsPrefix)
14012 }));
14013 };
14014
14015 return InputGroupAddon;
14016 }(_react2["default"].Component);
14017
14018 InputGroupAddon.defaultProps = defaultProps;
14019 exports["default"] = InputGroupAddon;
14020 module.exports = exports['default'];
14021
14022/***/ }),
14023/* 182 */
14024/***/ (function(module, exports, __webpack_require__) {
14025
14026 'use strict';
14027
14028 Object.defineProperty(exports, "__esModule", {
14029 value: true
14030 });
14031
14032 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; };
14033
14034 var _classnames = __webpack_require__(3);
14035
14036 var _classnames2 = _interopRequireDefault(_classnames);
14037
14038 var _react = __webpack_require__(4);
14039
14040 var _react2 = _interopRequireDefault(_react);
14041
14042 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
14043
14044 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; }
14045
14046 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; }
14047
14048 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
14049
14050 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; }
14051
14052 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); }
14053
14054 var defaultProps = {
14055 clsPrefix: 'u-input-group-btn'
14056 };
14057
14058 var InputGroupButton = function (_React$Component) {
14059 _inherits(InputGroupButton, _React$Component);
14060
14061 function InputGroupButton() {
14062 _classCallCheck(this, InputGroupButton);
14063
14064 return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));
14065 }
14066
14067 InputGroupButton.prototype.render = function render() {
14068 var _props = this.props,
14069 className = _props.className,
14070 clsPrefix = _props.clsPrefix,
14071 others = _objectWithoutProperties(_props, ['className', 'clsPrefix']);
14072
14073 return _react2["default"].createElement('span', _extends({}, others, {
14074 className: (0, _classnames2["default"])(className, clsPrefix)
14075 }));
14076 };
14077
14078 return InputGroupButton;
14079 }(_react2["default"].Component);
14080
14081 InputGroupButton.defaultProps = defaultProps;
14082 exports["default"] = InputGroupButton;
14083 module.exports = exports['default'];
14084
14085/***/ }),
14086/* 183 */
14087/***/ (function(module, exports, __webpack_require__) {
14088
14089 'use strict';
14090
14091 Object.defineProperty(exports, "__esModule", {
14092 value: true
14093 });
14094
14095 var _react = __webpack_require__(4);
14096
14097 var _react2 = _interopRequireDefault(_react);
14098
14099 var _beeLayout = __webpack_require__(1);
14100
14101 var _src = __webpack_require__(85);
14102
14103 var _src2 = _interopRequireDefault(_src);
14104
14105 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
14106
14107 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; }
14108
14109 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
14110
14111 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; }
14112
14113 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); } /**
14114 *
14115 * @title 默认值
14116 * @description 默认值通过数组的方式指定。注:需要给数组的每一项指定label和value属性。
14117 *
14118 */
14119
14120 var options = [{
14121 label: '浙江',
14122 value: 'zj',
14123 children: [{
14124 label: '杭州',
14125 value: 'hz',
14126 children: [{
14127 label: '西湖',
14128 value: 'xh',
14129 children: [{
14130 label: '白娘子',
14131 value: 'bnz'
14132 }, {
14133 label: '许仙',
14134 value: 'xx'
14135 }]
14136 }]
14137 }]
14138 }, {
14139 label: '江苏',
14140 value: 'js',
14141 children: [{
14142 label: '南京',
14143 value: 'nj',
14144 children: [{
14145 label: '中华门',
14146 value: 'zhm'
14147 }]
14148 }]
14149 }, {
14150 label: '山东',
14151 value: 'sd'
14152 }];
14153
14154 var defaultOptions = [{
14155 label: '江苏',
14156 value: 'js'
14157 }, {
14158 label: '南京',
14159 value: 'nj'
14160 }, {
14161 label: '中华门',
14162 value: 'zhm'
14163 }];
14164
14165 var Demo2 = function (_Component) {
14166 _inherits(Demo2, _Component);
14167
14168 function Demo2() {
14169 var _temp, _this, _ret;
14170
14171 _classCallCheck(this, Demo2);
14172
14173 for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
14174 args[_key] = arguments[_key];
14175 }
14176
14177 return _ret = (_temp = (_this = _possibleConstructorReturn(this, _Component.call.apply(_Component, [this].concat(args))), _this), _this.onChange = function (value, selectedOptions) {
14178 console.log(value, selectedOptions);
14179 }, _temp), _possibleConstructorReturn(_this, _ret);
14180 }
14181
14182 Demo2.prototype.render = function render() {
14183 return _react2['default'].createElement(
14184 _beeLayout.Row,
14185 null,
14186 _react2['default'].createElement(
14187 _beeLayout.Col,
14188 { md: 4 },
14189 _react2['default'].createElement(
14190 'div',
14191 { className: 'height-150' },
14192 _react2['default'].createElement(_src2['default'], {
14193 defaultValue: defaultOptions,
14194 options: options,
14195 onChange: this.onChange,
14196 placeholder: '\u8BF7\u9009\u62E9\u5730\u5740'
14197 })
14198 )
14199 )
14200 );
14201 };
14202
14203 return Demo2;
14204 }(_react.Component);
14205
14206 exports['default'] = Demo2;
14207 module.exports = exports['default'];
14208
14209/***/ }),
14210/* 184 */
14211/***/ (function(module, exports, __webpack_require__) {
14212
14213 'use strict';
14214
14215 Object.defineProperty(exports, "__esModule", {
14216 value: true
14217 });
14218
14219 var _react = __webpack_require__(4);
14220
14221 var _react2 = _interopRequireDefault(_react);
14222
14223 var _beeLayout = __webpack_require__(1);
14224
14225 var _src = __webpack_require__(85);
14226
14227 var _src2 = _interopRequireDefault(_src);
14228
14229 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
14230
14231 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; }
14232
14233 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
14234
14235 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; }
14236
14237 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); } /**
14238 *
14239 * @title 移入展开
14240 * @description 鼠标hover时展开菜单子选项
14241 *
14242 */
14243
14244 var options = [{
14245 label: '浙江',
14246 value: 'zj',
14247 children: [{
14248 label: '杭州',
14249 value: 'hz',
14250 children: [{
14251 label: '西湖',
14252 value: 'xh',
14253 children: [{
14254 label: '白娘子',
14255 value: 'bnz'
14256 }, {
14257 label: '许仙',
14258 value: 'xx'
14259 }]
14260 }]
14261 }]
14262 }, {
14263 label: '江苏',
14264 value: 'js',
14265 children: [{
14266 label: '南京',
14267 value: 'nj',
14268 children: [{
14269 label: '中华门',
14270 value: 'zhm'
14271 }]
14272 }]
14273 }, {
14274 label: '山东',
14275 value: 'sd'
14276 }];
14277
14278 var Demo3 = function (_Component) {
14279 _inherits(Demo3, _Component);
14280
14281 function Demo3() {
14282 var _temp, _this, _ret;
14283
14284 _classCallCheck(this, Demo3);
14285
14286 for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
14287 args[_key] = arguments[_key];
14288 }
14289
14290 return _ret = (_temp = (_this = _possibleConstructorReturn(this, _Component.call.apply(_Component, [this].concat(args))), _this), _this.onChange = function (value) {
14291 console.log(value);
14292 }, _temp), _possibleConstructorReturn(_this, _ret);
14293 }
14294
14295 Demo3.prototype.render = function render() {
14296 return _react2['default'].createElement(
14297 _beeLayout.Row,
14298 null,
14299 _react2['default'].createElement(
14300 _beeLayout.Col,
14301 { md: 4 },
14302 _react2['default'].createElement(
14303 'div',
14304 { className: 'height-150' },
14305 _react2['default'].createElement(_src2['default'], { expandTrigger: 'hover', options: options, onChange: this.onChange, placeholder: '\u8BF7\u9009\u62E9\u5730\u5740' })
14306 )
14307 )
14308 );
14309 };
14310
14311 return Demo3;
14312 }(_react.Component);
14313
14314 exports['default'] = Demo3;
14315 module.exports = exports['default'];
14316
14317/***/ }),
14318/* 185 */
14319/***/ (function(module, exports, __webpack_require__) {
14320
14321 'use strict';
14322
14323 Object.defineProperty(exports, "__esModule", {
14324 value: true
14325 });
14326
14327 var _react = __webpack_require__(4);
14328
14329 var _react2 = _interopRequireDefault(_react);
14330
14331 var _beeLayout = __webpack_require__(1);
14332
14333 var _src = __webpack_require__(85);
14334
14335 var _src2 = _interopRequireDefault(_src);
14336
14337 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
14338
14339 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; }
14340
14341 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
14342
14343 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; }
14344
14345 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); } /**
14346 *
14347 * @title 禁用状态
14348 * @description 通过`disabled`参数设置是否禁用。
14349 *
14350 */
14351
14352 var options = [{
14353 label: '浙江',
14354 value: 'zj',
14355 children: [{
14356 label: '杭州',
14357 value: 'hz',
14358 children: [{
14359 label: '西湖',
14360 value: 'xh',
14361 children: [{
14362 label: '白娘子',
14363 value: 'bnz'
14364 }, {
14365 label: '许仙',
14366 value: 'xx'
14367 }]
14368 }]
14369 }]
14370 }, {
14371 label: '江苏',
14372 value: 'js',
14373 children: [{
14374 label: '南京',
14375 value: 'nj',
14376 children: [{
14377 label: '中华门',
14378 value: 'zhm'
14379 }]
14380 }]
14381 }, {
14382 label: '山东',
14383 value: 'sd'
14384 }];
14385
14386 var Demo4 = function (_Component) {
14387 _inherits(Demo4, _Component);
14388
14389 function Demo4() {
14390 _classCallCheck(this, Demo4);
14391
14392 return _possibleConstructorReturn(this, _Component.apply(this, arguments));
14393 }
14394
14395 Demo4.prototype.render = function render() {
14396 return _react2['default'].createElement(
14397 _beeLayout.Row,
14398 null,
14399 _react2['default'].createElement(
14400 _beeLayout.Col,
14401 { md: 4 },
14402 _react2['default'].createElement(
14403 'div',
14404 { className: 'height-150' },
14405 _react2['default'].createElement(_src2['default'], { disabled: true, options: options, placeholder: '\u8BF7\u9009\u62E9\u5730\u5740' })
14406 )
14407 )
14408 );
14409 };
14410
14411 return Demo4;
14412 }(_react.Component);
14413
14414 exports['default'] = Demo4;
14415 module.exports = exports['default'];
14416
14417/***/ }),
14418/* 186 */
14419/***/ (function(module, exports, __webpack_require__) {
14420
14421 'use strict';
14422
14423 Object.defineProperty(exports, "__esModule", {
14424 value: true
14425 });
14426
14427 var _react = __webpack_require__(4);
14428
14429 var _react2 = _interopRequireDefault(_react);
14430
14431 var _beeLayout = __webpack_require__(1);
14432
14433 var _src = __webpack_require__(85);
14434
14435 var _src2 = _interopRequireDefault(_src);
14436
14437 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
14438
14439 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; }
14440
14441 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
14442
14443 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; }
14444
14445 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); } /**
14446 *
14447 * @title 选择即改变
14448 * @description 设置属性 `changeOnSelect` 点任何一级都可以选择。
14449 *
14450 */
14451
14452 var options = [{
14453 label: '浙江',
14454 value: 'zj',
14455 children: [{
14456 label: '杭州',
14457 value: 'hz',
14458 children: [{
14459 label: '西湖',
14460 value: 'xh',
14461 children: [{
14462 label: '白娘子',
14463 value: 'bnz'
14464 }, {
14465 label: '许仙',
14466 value: 'xx'
14467 }]
14468 }]
14469 }]
14470 }, {
14471 label: '江苏',
14472 value: 'js',
14473 children: [{
14474 label: '南京',
14475 value: 'nj',
14476 children: [{
14477 label: '中华门',
14478 value: 'zhm'
14479 }]
14480 }]
14481 }, {
14482 label: '山东',
14483 value: 'sd'
14484 }];
14485
14486 var Demo5 = function (_Component) {
14487 _inherits(Demo5, _Component);
14488
14489 function Demo5() {
14490 _classCallCheck(this, Demo5);
14491
14492 return _possibleConstructorReturn(this, _Component.apply(this, arguments));
14493 }
14494
14495 Demo5.prototype.render = function render() {
14496 return _react2['default'].createElement(
14497 _beeLayout.Row,
14498 null,
14499 _react2['default'].createElement(
14500 _beeLayout.Col,
14501 { md: 4 },
14502 _react2['default'].createElement(
14503 'div',
14504 { className: 'height-150' },
14505 _react2['default'].createElement(_src2['default'], { changeOnSelect: true, options: options, placeholder: '\u8BF7\u9009\u62E9\u5730\u5740' })
14506 )
14507 )
14508 );
14509 };
14510
14511 return Demo5;
14512 }(_react.Component);
14513
14514 exports['default'] = Demo5;
14515 module.exports = exports['default'];
14516
14517/***/ }),
14518/* 187 */
14519/***/ (function(module, exports, __webpack_require__) {
14520
14521 'use strict';
14522
14523 Object.defineProperty(exports, "__esModule", {
14524 value: true
14525 });
14526
14527 var _react = __webpack_require__(4);
14528
14529 var _react2 = _interopRequireDefault(_react);
14530
14531 var _beeLayout = __webpack_require__(1);
14532
14533 var _beeButton = __webpack_require__(82);
14534
14535 var _beeButton2 = _interopRequireDefault(_beeButton);
14536
14537 var _src = __webpack_require__(85);
14538
14539 var _src2 = _interopRequireDefault(_src);
14540
14541 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
14542
14543 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; }
14544
14545 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
14546
14547 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; }
14548
14549 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); } /**
14550 *
14551 * @title 动态改变options
14552 * @description 通过动态设置`options`参数,即可灵活改变数据源。
14553 *
14554 */
14555
14556 var addressOptions = [{
14557 label: '浙江',
14558 value: 'zj',
14559 children: [{
14560 label: '杭州',
14561 value: 'hz',
14562 children: [{
14563 label: '西湖',
14564 value: 'xh',
14565 children: [{
14566 label: '白娘子',
14567 value: 'bnz'
14568 }, {
14569 label: '许仙',
14570 value: 'xx'
14571 }]
14572 }]
14573 }]
14574 }, {
14575 label: '江苏',
14576 value: 'js',
14577 children: [{
14578 label: '南京',
14579 value: 'nj',
14580 children: [{
14581 label: '中华门',
14582 value: 'zhm'
14583 }]
14584 }]
14585 }, {
14586 label: '山东',
14587 value: 'sd'
14588 }];
14589
14590 var Demo6 = function (_Component) {
14591 _inherits(Demo6, _Component);
14592
14593 function Demo6() {
14594 var _temp, _this, _ret;
14595
14596 _classCallCheck(this, Demo6);
14597
14598 for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
14599 args[_key] = arguments[_key];
14600 }
14601
14602 return _ret = (_temp = (_this = _possibleConstructorReturn(this, _Component.call.apply(_Component, [this].concat(args))), _this), _this.state = {
14603 options: addressOptions
14604 }, _this.changeOptions = function () {
14605 _this.setState({
14606 options: [{
14607 label: '北京',
14608 value: 'bj',
14609 children: [{
14610 label: '故宫',
14611 value: 'gg'
14612 }, {
14613 label: '天坛',
14614 value: 'tt'
14615 }, {
14616 label: '王府井',
14617 value: 'wfj'
14618 }]
14619 }, {
14620 label: '江苏1',
14621 value: 'js1',
14622 children: [{
14623 label: '南京1',
14624 value: 'nj1',
14625 children: [{
14626 label: '中华门1',
14627 value: 'zhm1'
14628 }]
14629 }]
14630 }, {
14631 label: '山东1',
14632 value: 'sd1'
14633 }]
14634 });
14635 }, _temp), _possibleConstructorReturn(_this, _ret);
14636 }
14637
14638 Demo6.prototype.render = function render() {
14639 return _react2['default'].createElement(
14640 _beeLayout.Row,
14641 null,
14642 _react2['default'].createElement(
14643 _beeLayout.Col,
14644 { md: 4 },
14645 _react2['default'].createElement(
14646 'div',
14647 { className: 'height-150' },
14648 _react2['default'].createElement(
14649 _beeButton2['default'],
14650 { colors: 'primary', onClick: this.changeOptions, style: { marginBottom: 8 + 'px' } },
14651 '\u70B9\u51FB\u6539\u53D8\u9009\u9879\u6570\u7EC4'
14652 ),
14653 _react2['default'].createElement(_src2['default'], { options: this.state.options, placeholder: '\u8BF7\u9009\u62E9\u5730\u5740' })
14654 )
14655 )
14656 );
14657 };
14658
14659 return Demo6;
14660 }(_react.Component);
14661
14662 exports['default'] = Demo6;
14663 module.exports = exports['default'];
14664
14665/***/ }),
14666/* 188 */
14667/***/ (function(module, exports, __webpack_require__) {
14668
14669 'use strict';
14670
14671 Object.defineProperty(exports, "__esModule", {
14672 value: true
14673 });
14674
14675 var _react = __webpack_require__(4);
14676
14677 var _react2 = _interopRequireDefault(_react);
14678
14679 var _beeLayout = __webpack_require__(1);
14680
14681 var _beeButton = __webpack_require__(82);
14682
14683 var _beeButton2 = _interopRequireDefault(_beeButton);
14684
14685 var _src = __webpack_require__(85);
14686
14687 var _src2 = _interopRequireDefault(_src);
14688
14689 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
14690
14691 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; }
14692
14693 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
14694
14695 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; }
14696
14697 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); } /**
14698 *
14699 * @title 不同尺寸的Cascader
14700 * @description 通过设置`size`属性为 "lg" 和 "sm" 将输入框设置为大和小尺寸,不设置为默认(中)尺寸。
14701 *
14702 */
14703
14704 var addressOptions = [{
14705 label: '浙江',
14706 value: 'zj',
14707 children: [{
14708 label: '杭州',
14709 value: 'hz',
14710 children: [{
14711 label: '西湖',
14712 value: 'xh',
14713 children: [{
14714 label: '白娘子',
14715 value: 'bnz'
14716 }, {
14717 label: '许仙',
14718 value: 'xx'
14719 }]
14720 }]
14721 }]
14722 }, {
14723 label: '江苏',
14724 value: 'js',
14725 children: [{
14726 label: '南京',
14727 value: 'nj',
14728 children: [{
14729 label: '中华门',
14730 value: 'zhm'
14731 }]
14732 }]
14733 }, {
14734 label: '山东',
14735 value: 'sd'
14736 }];
14737
14738 var Demo7 = function (_Component) {
14739 _inherits(Demo7, _Component);
14740
14741 function Demo7() {
14742 _classCallCheck(this, Demo7);
14743
14744 return _possibleConstructorReturn(this, _Component.apply(this, arguments));
14745 }
14746
14747 Demo7.prototype.render = function render() {
14748 return _react2['default'].createElement(
14749 _beeLayout.Row,
14750 null,
14751 _react2['default'].createElement(
14752 _beeLayout.Col,
14753 { md: 4 },
14754 _react2['default'].createElement(
14755 'div',
14756 { className: 'height-150 demo7' },
14757 _react2['default'].createElement(_src2['default'], { size: 'sm', options: addressOptions, placeholder: '\u8BF7\u9009\u62E9\u5730\u5740' }),
14758 _react2['default'].createElement(_src2['default'], { options: addressOptions, placeholder: '\u8BF7\u9009\u62E9\u5730\u5740' }),
14759 _react2['default'].createElement(_src2['default'], { size: 'lg', options: addressOptions, placeholder: '\u8BF7\u9009\u62E9\u5730\u5740' })
14760 )
14761 )
14762 );
14763 };
14764
14765 return Demo7;
14766 }(_react.Component);
14767
14768 exports['default'] = Demo7;
14769 module.exports = exports['default'];
14770
14771/***/ })
14772/******/ ]);
14773//# sourceMappingURL=demo.js.map
\No newline at end of file