UNPKG

2.07 MBJavaScriptView 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__(65);
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__(67);var Demo2 = __webpack_require__(263);var Demo3 = __webpack_require__(264);var Demo4 = __webpack_require__(267);var Demo5 = __webpack_require__(561);var Demo6 = __webpack_require__(562);var DemoArray = [{ "example": _react2['default'].createElement(Demo1, null), "title": " 单个input校验", "code": '/**\n *\n * @title \u5355\u4E2Ainput\u6821\u9A8C\n * @description \u4F7F\u7528FormItem\n */\nimport React, { Component } from \'react\';\nimport { Form, Label, FormControl } from \'tinper-bee\';\nconst FormItem = Form.FormItem;\n\n\nconst Demo1 = Form.createForm()(class Demo extends Component {\n constructor(props) {\n super(props);\n }\n render() {\n const self=this;\n const { getFieldProps, getFieldError } = this.props.form;\n return (\n <FormItem className=\'demo1\'>\n <Label>\u59D3\u540D\uFF1A</Label>\n <FormControl placeholder=\'\u8BF7\u8F93\u5165\u59D3\u540D\'\n {...getFieldProps(\'name\', {\n validateTrigger: \'onBlur\',\n rules: [{\n required: true, message: \'\u8BF7\u8F93\u5165\u59D3\u540D\'\n },{\n max:5,message:\'\u6700\u5927\u957F\u5EA6\u4E3A10\'\n },{\n pattern: /[\\u4e00-\\u9fa5]/, message: \'\u8BF7\u8F93\u5165\u4E2D\u6587\u5B57\u7B26\',\n }],\n }) } />\n <span className=\'error\'>\n {getFieldError(\'name\')}\n </span> \n </FormItem>\n )\n }\n})\n\n', "desc": " 使用FormItem", "scss_code": ".demo1{\n font-size: 14px;\n}\n.demo1 .u-label {\n display: inline;\n}\n.demo1 .u-form-control {\n width: auto;\n}\n.demo1 .error{\n font-size: 12px;\n color: red;\n margin-left: 10px;\n}" }, { "example": _react2['default'].createElement(Demo2, null), "title": " 基本form校验", "code": "/**\n *\n * @title 基本form校验\n * @description 登录示例\n */\nimport React, { Component } from 'react';\nimport ReactDOM from 'react-dom';\nimport { Form, Button, Label, FormControl } from 'tinper-bee';\nconst FormItem = Form.FormItem;\n\nconst Demo2 = Form.createForm()(class Demo2 extends Component {\n submit = (e) => {\n e.preventDefault();\n this.props.form.validateFields((err, values) => {\n if (err) {\n console.log('校验失败', values);\n } else {\n console.log('提交成功', values)\n }\n });\n }\n render() {\n const { getFieldProps, getFieldError } = this.props.form;\n return (\n <div className=\"demo2\">\n <Form >\n <FormItem>\n <Label>用户名:</Label>\n <FormControl placeholder=\"请输入用户名\"\n {...getFieldProps('username', {\n validateTrigger: 'onBlur',\n rules: [{\n required: true, message: '请输入用户名',\n }],\n }) }\n />\n <span className='error'>\n {getFieldError('username')}\n </span>\n </FormItem>\n <FormItem>\n <Label>密码:</Label>\n <FormControl placeholder=\"请输入密码\" type='password'\n {...getFieldProps('password', {\n validateTrigger: 'onBlur',\n rules: [{\n required: true, message: '请输入密码',\n }],\n }) }\n />\n <span className='error'>\n {getFieldError('password')}\n </span>\n </FormItem>\n <div className='submit'>\n <Button colors=\"primary\" className=\"login\" onClick={this.submit}>登陆</Button>\n <Button shape=\"border\" className=\"reset\">取消</Button>\n </div>\n </Form>\n </div>\n )\n }\n})\n", "desc": " 登录示例", "scss_code": ".demo2{\n font-size: 14px;\n}\n.demo2 .u-label {\n display: inline-block;\n min-width: 80px;\n text-align: right;\n}\n.demo2 .u-form-control {\n width: auto;\n}\n.demo2 .error{\n font-size: 12px;\n color: red;\n margin-left: 10px;\n}\n.demo2 .submit{\n padding-left: 90px;\n}\n.demo2 .submit .login{\n margin-right: 10px;\n}" }, { "example": _react2['default'].createElement(Demo3, null), "title": " 基本form校验", "code": "/**\n *\n * @title 基本form校验\n * @description 注册示例\n */\nimport React, { Component } from 'react';\nimport { Form, Label, Checkbox, Button, FormControl } from 'tinper-bee';\nconst FormItem = Form.FormItem;\n\nconst Demo3 = Form.createForm()( class Demo extends Component {\n constructor(props) {\n super(props);\n this.state = {\n checkbox: false\n }\n }\n submit = (e) => {\n e.preventDefault();\n this.props.form.validateFields((err, values) => {\n if (err) {\n console.log('校验失败', values);\n } else {\n console.log('提交成功', values)\n }\n });\n }\n handleConfirmPassword = (rule, value, callback) => {\n const { getFieldValue } = this.props.form;\n if (value && value !== getFieldValue('password')) {\n callback('两次输入不一致!')\n }\n callback();\n }\n render() {\n const self = this;\n const { getFieldProps, getFieldError } = this.props.form;\n return (\n <div className=\"demo3\">\n <Form>\n <FormItem>\n <Label>用户名:</Label>\n <FormControl placeholder=\"请输入用户名(包含数字和字母,8-15位)\"\n {...getFieldProps('username', {\n validateTrigger: 'onBlur',\n rules: [{\n required: true, message: '请输入用户名',\n }, {\n pattern: /^(?!\\d+$)(?![a-zA-Z]+$)[a-zA-Z0-9]{8,15}$/, message: '用户名格式错误',\n }],\n }) }\n />\n <span className='error'>\n {getFieldError('username')}\n </span>\n </FormItem>\n\n <FormItem>\n <Label>密码:</Label>\n <FormControl placeholder=\"请输入密码\" type='password'\n {...getFieldProps('password', {\n validateTrigger: 'onBlur',\n rules: [{\n required: true, message: '请输入密码',\n }],\n }) }\n />\n <span className='error'>\n {getFieldError('password')}\n </span>\n </FormItem>\n\n <FormItem>\n <Label>再次输入密码:</Label>\n <FormControl placeholder=\"请输入密码\" type='password'\n {...getFieldProps('password2', {\n validateTrigger: 'onBlur',\n rules: [{\n required: true, message: '请输入密码',\n }, {\n validator: this.handleConfirmPassword\n }],\n }) }\n />\n <span className='error'>\n {getFieldError('password2')}\n </span>\n </FormItem>\n\n <FormItem>\n <Label>邮箱:</Label>\n <FormControl placeholder=\"请输入邮箱\"\n {...getFieldProps('email', {\n validateTrigger: 'onBlur',\n rules: [{\n required: true, message: '请输入邮箱',\n }, {\n type: 'email', message: '邮箱格式不正确'\n }],\n }) }\n />\n <span className='error'>\n {getFieldError('email')}\n </span>\n </FormItem>\n <FormItem>\n <Label>手机号:</Label>\n\n <FormControl placeholder=\"请输入手机号\"\n {...getFieldProps('phone', {\n validateTrigger: 'onBlur',\n rules: [{\n required: true, message: '请输入手机号',\n }, {\n pattern: /^\\d{11}$/, message: '手机号格式不正确'\n }],\n }) }\n />\n\n <span className='error'>\n {getFieldError('phone')}\n </span>\n </FormItem>\n\n <FormItem style={{'paddingLeft':'110px'}}>\n <Checkbox colors=\"info\"\n defaultChecked={this.state.checkbox}\n {\n ...getFieldProps('checkbox', {\n initialValue: false,\n }\n ) }\n />\n <span>我已经阅读并同意相关条款</span>\n </FormItem>\n <div className='submit'>\n <Button colors=\"primary\" className=\"login\" onClick={this.submit}>注册</Button>\n <Button shape=\"border\" className=\"reset\">取消</Button>\n </div>\n </Form>\n </div>\n )\n }\n})\n", "desc": " 注册示例", "scss_code": "@import '../../node_modules/bee-checkbox/src/Checkbox.scss';\n.demo3{\n font-size: 14px;\n}\n.demo3 .u-label {\n display: inline-block;\n min-width: 100px;\n text-align: right;\n}\n.demo3 .u-form-control {\n width: auto;\n min-width: 300px;\n}\n.demo3 .error{\n font-size: 12px;\n color: red;\n margin-left: 10px;\n}\n.demo3 .submit{\n padding-left: 110px;\n}\n.demo3 .submit .login{\n margin-right: 10px;\n}" }, { "example": _react2['default'].createElement(Demo4, null), "title": " 表单校验", "code": "/**\n *\n * @title 表单校验\n * @description 用户信息录入实例\n */\nimport React, { Component } from 'react';\nimport ReactDOM from 'react-dom';\nimport { Form, Button, Label, CitySelect, Rate, InputNumber, Slider, Switch, Checkbox, DatePicker, Radio, Select, FormControl } from 'tinper-bee';\nconst FormItem = Form.FormItem;\nconst Option = Select.Option;\n\nconst Demo4 = Form.createForm()(class Demo extends Component {\n constructor(props) {\n super(props);\n this.state = {\n selectedValue: 'man',\n };\n }\n submit = (e) => {\n this.props.form.validateFields((err, values) => {\n if (err) {\n console.log('校验失败', values);\n } else {\n console.log('提交成功', values)\n }\n });\n }\n render() {\n const { getFieldProps, getFieldError } = this.props.form;\n const self = this;\n return (\n <div>\n <Form className='demo4'>\n <FormItem>\n <Label>姓名:</Label>\n <FormControl placeholder=\"请输入姓名\"\n {...getFieldProps('name', {\n validateTrigger: 'onBlur',\n rules: [{\n required: true, message: '请输入姓名',\n }],\n }) }\n />\n <span className='error'>\n {getFieldError('name')}\n </span>\n </FormItem>\n <FormItem>\n <Label>身份证号:</Label>\n <FormControl placeholder=\"请输入身份证号\"\n {...getFieldProps('id', {\n validateTrigger: 'onBlur',\n rules: [{\n required: true, message: '请输入身份证号',\n }],\n }) }\n />\n <span className='error'>\n {getFieldError('id')}\n </span>\n </FormItem>\n <FormItem className='time'>\n <Label>出生日期:</Label>\n <DatePicker\n {\n ...getFieldProps('time', {\n\n }\n ) }\n placeholder={'请选择出生日期'}\n />\n </FormItem>\n <FormItem>\n <Label>年龄:</Label>\n <FormControl placeholder=\"请输入年龄\"\n {...getFieldProps('age', {\n validateTrigger: 'onBlur',\n rules: [{\n required: true, message: '请输入年龄',\n }],\n }) }\n />\n <span className='error'>\n {getFieldError('age')}\n </span>\n </FormItem>\n <FormItem>\n <Label>性别:</Label>\n <Radio.RadioGroup\n selectedValue={this.state.selectedValue}\n {\n ...getFieldProps('sex', {\n initialValue: 'man',\n onChange(value) {\n self.setState({ selectedValue: value });\n },\n rules: [{ required: true }]\n }\n ) }\n >\n <Radio value=\"man\" >男</Radio>\n <Radio value=\"woman\" >女</Radio>\n </Radio.RadioGroup>\n </FormItem>\n <FormItem>\n <Label>学历:</Label>\n <Select\n {\n ...getFieldProps('education', {\n initialValue: '',\n rules: [{ required: true }]\n }\n ) }\n >\n <Option value=\"\">请选择</Option>\n <Option value=\"nothing\">无</Option>\n <Option value=\"middle\">初中</Option>\n <Option value=\"senior\">高中</Option>\n <Option value=\"college1\">专科</Option>\n <Option value=\"college2\">本科</Option>\n <Option value=\"graduate\">研究生及以上</Option>\n <Option value=\"other\">其它</Option>\n </Select>\n </FormItem>\n <FormItem>\n <Label>保密等级:</Label>\n <Rate\n {\n ...getFieldProps('rate', {\n initialValue: 0,\n rules: [{ required: true }]\n }\n ) }\n />\n </FormItem>\n <FormItem >\n <Label>备注:</Label>\n <FormControl componentClass='textarea'\n {\n ...getFieldProps('remark', {}\n ) }\n />\n </FormItem> \n \n\n\n <div className='submit'>\n <Button colors=\"primary\" className=\"login\" onClick={this.submit}>提交</Button>\n <Button shape=\"border\" className=\"reset\">取消</Button>\n </div>\n </Form>\n </div>\n )\n }\n})\n", "desc": " 用户信息录入实例", "scss_code": "@import '../../node_modules/bee-checkbox/src/Checkbox.scss';\n.demo4{\n font-size: 14px;\n}\n.demo4 .u-label {\n display: inline-block;\n min-width: 100px;\n text-align: right;\n}\n.demo4 .u-form-control {\n width: auto;\n min-width: 380px;\n}\n.demo4 .error{\n font-size: 12px;\n color: red;\n margin-left: 10px;\n}\n.demo4 .submit{\n padding-left: 110px;\n}\n.demo4 .submit .login{\n margin-right: 10px;\n}\n.demo4 .u-select {\n max-width: 380px;\n}\n.demo4 textarea{\n min-height: 100px;\n resize: none;\n}\n.demo4 .time>div{\n display: inline-block;\n}\n.demo4 .time .u-label{\n position: relative;\n bottom: 10px;\n}\n.demo4 .u-city-select{\n display: inline-block;\n}\n.demo4 .u-city-select .province,.demo4 .u-city-select .city,.demo4 .u-city-select .area{\n width: 120px;\n}" }, { "example": _react2['default'].createElement(Demo5, null), "title": " 多种表单元素示例", "code": "/**\n *\n * @title 多种表单元素示例\n * @description 查询面板\n */\nimport React, { Component } from 'react';\nimport ReactDOM from 'react-dom';\nimport { Form, Button, Label, Switch, Checkbox, DatePicker, Radio, Select, Col , Row , FormControl } from 'tinper-bee';\nimport moment from \"moment/moment\";\nconst FormItem = Form.FormItem;\nconst Option = Select.Option;\nconst { RangePicker } = DatePicker;\n\nconst Demo5 = Form.createForm()(class Demo extends Component {\n constructor(props) {\n super(props);\n this.state = {\n approvalState: '',\n closeState: '',\n confirmState: '',\n voucherDate: [],\n orderTypes:[\n {\n 'code':'001',\n 'name':'类型1'\n },\n {\n 'code':'002',\n 'name':'类型2'\n },\n {\n 'code':'003',\n 'name':'类型3'\n },\n ]\n };\n }\n submit = (e) => {\n this.props.form.validateFields((err, values) => {\n if (err) {\n console.log('校验失败', values);\n } else {\n console.log('提交成功', values)\n }\n });\n }\n reset = () =>{\n this.props.form.resetFields();\n this.setState({\n approvalState: '',\n closeState: '',\n confirmState: '',\n voucherDate: []\n })\n }\n render() {\n const { getFieldProps, getFieldError } = this.props.form;\n const self = this;\n return (\n <div>\n <Form className='demo5'>\n <Row>\n <Col lg={4} md={6} xs={12}>\n <FormItem>\n <Label>订单编号:</Label>\n <FormControl\n {\n ...getFieldProps('orderCode', {\n initialValue: '',\n })\n }\n />\n </FormItem>\n </Col>\n <Col lg={4} md={6} xs={12}>\n <FormItem>\n <Label>供应商名称:</Label>\n <FormControl\n {\n ...getFieldProps('supplierName', {\n initialValue: '',\n })\n }\n />\n </FormItem>\n </Col>\n <Col lg={4} md={6} xs={4}>\n <FormItem>\n <Label className='time'>凭证日期:</Label>\n <RangePicker\n defaultValue={this.state.voucherDate}\n placeholder={'开始 ~ 结束'}\n dateInputPlaceholder={['开始', '结束']}\n {\n ...getFieldProps('voucherDate', {\n onChange: function (v) {\n self.setState({\n voucherDate: v\n })\n }\n })\n }\n />\n </FormItem>\n </Col>\n <Col lg={4} md={6} xs={12}>\n <FormItem>\n <Label>订单类型:</Label>\n <Select {\n ...getFieldProps('type', {\n initialValue: '',\n }\n )}>\n <Option value=\"\">请选择</Option>\n {\n self.state.orderTypes.map((item, index) => {\n return (\n <Option key={index} value={item.code}>{item.name}</Option>\n )\n })\n }\n </Select>\n </FormItem>\n </Col>\n <Col lg={4} md={6} xs={12}>\n <FormItem>\n <Label>采购组:</Label>\n <FormControl\n {\n ...getFieldProps('purchasingGroup', {\n initialValue: '',\n })\n }\n />\n </FormItem>\n </Col>\n <Col lg={4} md={6} xs={12}>\n <FormItem>\n <Label>审批状态:</Label>\n <Radio.RadioGroup\n selectedValue={this.state.approvalState}\n {\n ...getFieldProps('approvalState', {\n initialValue: '',\n onChange(value) {\n self.setState({ approvalState: value });\n },\n }\n )}\n >\n <Radio value=\"0\" >未审批</Radio>\n <Radio value=\"1\" >已审批</Radio>\n <Radio value=\"\" >全部</Radio>\n </Radio.RadioGroup>\n </FormItem>\n </Col>\n <Col lg={4} md={6} xs={12}>\n <FormItem>\n <Label>关闭状态:</Label>\n <Radio.RadioGroup\n selectedValue={this.state.closeState}\n {\n ...getFieldProps('closeState', {\n initialValue: '',\n onChange(value) {\n self.setState({ closeState: value });\n },\n }\n )}\n >\n <Radio value=\"0\" >未关闭</Radio>\n <Radio value=\"1\" >已关闭</Radio>\n <Radio value=\"\" >全部</Radio>\n </Radio.RadioGroup>\n </FormItem>\n </Col>\n <Col lg={4} md={6} xs={12}>\n <FormItem>\n <Label>确认状态:</Label>\n <Radio.RadioGroup\n selectedValue={this.state.confirmState}\n {\n ...getFieldProps('confirmState', {\n initialValue: '',\n onChange(value) {\n self.setState({ confirmState: value });\n },\n }\n )}\n >\n <Radio value=\"0\" >未确认</Radio>\n <Radio value=\"1\" >已确认</Radio>\n <Radio value=\"\" >全部</Radio>\n </Radio.RadioGroup>\n </FormItem>\n </Col>\n <Col lg={4} md={6} xs={12}>\n <FormItem>\n <Label>未分配:</Label>\n <Checkbox colors=\"primary\"></Checkbox>\n </FormItem>\n </Col>\n </Row>\n <div className='submit'>\n <Button colors=\"primary\" className=\"login\" onClick={this.submit}>查询</Button>\n <Button shape=\"border\" className=\"reset\" onClick={this.reset}>重置</Button>\n </div>\n </Form>\n </div>\n )\n }\n})\n", "desc": " 查询面板", "scss_code": "@import '../../node_modules/bee-checkbox/src/Checkbox.scss';\n\n.demo5 {\n .submit{\n padding-left:90px\n }\n .reset{\n margin-left:10px;\n }\n .u-form-item {\n min-width: 100%;\n min-height: 50px;\n padding: 0;\n .u-label{\n min-width: 90px;\n display: inline-block;\n text-align:right;\n }\n .u-label.time{\n position: relative;\n bottom: 10px;\n }\n .u-label + *{\n min-width: 200px;\n display: inline-block;\n }\n .datepicker-input-group{\n .u-input-group-btn{\n .uf-calendar{\n padding: 0;\n }\n }\n }\n .u-switch{\n min-width: auto;\n }\n .u-select{\n width: auto;\n }\n .u-form-control{\n width: auto;\n }\n .calendar-picker{\n display: inline-block;\n min-width:200px;\n width: auto;\n input{\n width: 100%;\n text-align: center;\n }\n }\n .u-radio .u-radio-label{\n font-size:14px;\n }\n }\n}\n" }, { "example": _react2['default'].createElement(Demo6, null), "title": " 多种布局示例", "code": "/**\n *\n * @title 多种布局示例\n * @description \n */\nimport React, { Component } from 'react';\nimport ReactDOM from 'react-dom';\nimport { Form, Button, Label, Switch, Checkbox, DatePicker, Radio, Select, Col , Row , FormControl } from 'tinper-bee';\nimport moment from \"moment/moment\";\nconst FormItem = Form.FormItem;\nconst Option = Select.Option;\nconst { RangePicker } = DatePicker;\n\nconst Demo6 = Form.createForm()(class Demo extends Component {\n constructor(props) {\n super(props);\n this.state = {\n approvalState: '',\n closeState: '',\n confirmState: '',\n voucherDate: [],\n orderTypes:[\n {\n 'code':'001',\n 'name':'类型1'\n },\n {\n 'code':'002',\n 'name':'类型2'\n },\n {\n 'code':'003',\n 'name':'类型3'\n },\n ]\n };\n }\n render() {\n const { getFieldProps, getFieldError } = this.props.form;\n const self = this;\n const orderTypes= [{\n \"code\":\"D001\",\n \"name\":\"D001\"\n },{\n \"code\":\"D002\",\n \"name\":\"D002\"\n },{\n \"code\":\"D003\",\n \"name\":\"D003\"\n },{\n \"code\":\"D004\",\n \"name\":\"D004\"\n }];\n return (\n <div>\n <Form className='demo6'>\n {/* 普通栅格布局 */}\n <h4>\n 普通栅格布局\n </h4>\n <Row className = 'edit-panel'>\n <Col lg={4} md={6} xs={12}>\n <FormItem>\n <Label>订单编号:\n <span className='mast'>*</span>\n </Label>\n <FormControl\n {\n ...getFieldProps('orderCode1', {\n initialValue: '',\n rules: [{\n required: true, message: '请输入订单编号',\n }],\n })\n }\n />\n <span className='error'>\n {\n getFieldError('orderCode1')\n }\n </span>\n </FormItem>\n </Col>\n <Col lg={4} md={6} xs={12}>\n <FormItem>\n <Label>供应商名称:\n <span className='mast'>*</span>\n </Label>\n <FormControl\n {\n ...getFieldProps('supplierName1', {\n initialValue: '',\n rules: [{\n required: true, message: '请输入供应商名称',\n }],\n })\n }\n />\n <span className='error'>\n {\n getFieldError('supplierName1')\n }\n </span>\n </FormItem>\n \n </Col>\n <Col lg={4} md={6} xs={12}>\n <FormItem>\n <Label className='time'>凭证日期:</Label>\n <RangePicker\n defaultValue={this.state.voucherDate}\n placeholder={'开始 ~ 结束'}\n dateInputPlaceholder={['开始', '结束']}\n {\n ...getFieldProps('voucherDate1', {\n onChange: function (v) {\n self.setState({\n voucherDate1: v\n })\n }\n })\n }\n />\n </FormItem>\n </Col>\n </Row>\n\n <div className='split'></div>\n \n \n {/* 单列铺满 */}\n <h4>\n 单列铺满\n </h4>\n <Row className = 'edit-panel edit-panel-all'>\n <FormItem>\n <Col md={2}>\n <Label>订单编号:\n <span className='mast'>*</span>\n </Label>\n </Col>\n <Col md={10}>\n <FormControl\n {\n ...getFieldProps('orderCode2', {\n initialValue: '',\n rules: [{\n required: true, message: '请输入订单编号',\n }],\n })\n }\n />\n <span className='error'>\n {\n getFieldError('orderCode2')\n }\n </span>\n </Col>\n </FormItem>\n\n <FormItem>\n <Col md={2}>\n <Label>供应商名称:\n <span className='mast'>*</span>\n </Label>\n </Col>\n <Col md={10}>\n <FormControl\n {\n ...getFieldProps('supplierName2', {\n initialValue: '',\n rules: [{\n required: true, message: '请输入供应商名称',\n }],\n })\n }\n />\n <span className='error'>\n {\n getFieldError('supplierName2')\n }\n </span>\n </Col>\n </FormItem>\n\n <FormItem>\n <Col md={2}>\n <Label>凭证日期:</Label>\n </Col>\n <Col md={10}>\n <RangePicker\n defaultValue={this.state.voucherDate}\n placeholder={'开始 ~ 结束'}\n dateInputPlaceholder={['开始', '结束']}\n {\n ...getFieldProps('voucherDate2', {\n onChange: function (v) {\n self.setState({\n voucherDate2: v\n })\n }\n })\n }\n />\n </Col>\n </FormItem>\n <FormItem>\n <Col md={2}>\n <Label>订单类型:</Label>\n </Col>\n <Col md={10}>\n <Select {\n ...getFieldProps('type', {\n initialValue: '',\n }\n )}>\n <Option value=\"\">请选择</Option>\n {\n orderTypes.map((item, index) => {\n return (\n <Option key={index} value={item.code}>{item.name}</Option>\n )\n })\n }\n </Select>\n </Col>\n </FormItem>\n \n </Row>\n\n <div className='split'></div>\n\n {/* 单列居中 */}\n <h4>\n 单列居中\n </h4>\n <Row className = 'edit-panel edit-panel-center'>\n <Col md={12}>\n <FormItem>\n <Label>订单编号:\n <span className='mast'>*</span>\n </Label>\n <FormControl\n {\n ...getFieldProps('orderCode3', {\n initialValue: '',\n rules: [{\n required: true, message: '请输入订单编号',\n }],\n })\n }\n />\n <span className='error'>\n {\n getFieldError('orderCode3')\n }\n </span>\n </FormItem>\n </Col>\n <Col md={12}>\n <FormItem>\n <Label>供应商名称:\n <span className='mast'>*</span>\n </Label>\n <FormControl\n {\n ...getFieldProps('supplierName3', {\n initialValue: '',\n rules: [{\n required: true, message: '请输入供应商名称',\n }],\n })\n }\n />\n <span className='error'>\n {\n getFieldError('supplierName3')\n }\n </span>\n </FormItem>\n \n </Col>\n <Col md={12}>\n <FormItem>\n <Label className='time'>凭证日期:</Label>\n <RangePicker\n defaultValue={this.state.voucherDate}\n placeholder={'开始 ~ 结束'}\n dateInputPlaceholder={['开始', '结束']}\n {\n ...getFieldProps('voucherDate3', {\n onChange: function (v) {\n self.setState({\n voucherDate3: v\n })\n }\n })\n }\n />\n </FormItem>\n </Col>\n \n </Row>\n\n <div className='split'></div>\n\n {/* 三列带textarea */}\n <h4>\n 三列带textarea\n </h4>\n <Row className = 'edit-panel edit-panel-textarea'>\n\n <Col md={1}>\n <Label>订单编号:\n <span className='mast'>*</span>\n </Label>\n </Col>\n <Col md={3}>\n <FormControl\n {\n ...getFieldProps('orderCode4', {\n initialValue: '',\n rules: [{\n required: true, message: '请输入订单编号',\n }],\n })\n }\n />\n <span className='error'>\n {\n getFieldError('orderCode4')\n }\n </span>\n </Col>\n <Col md={1}>\n <Label>供应商名称:\n <span className='mast'>*</span>\n </Label>\n </Col>\n <Col md={3}>\n <FormControl\n {\n ...getFieldProps('supplierName4', {\n initialValue: '',\n rules: [{\n required: true, message: '请输入供应商名称',\n }],\n })\n }\n />\n <span className='error'>\n {\n getFieldError('supplierName4')\n }\n </span>\n </Col>\n <Col md={1}>\n <Label className='time'>凭证日期:</Label>\n </Col>\n <Col md={3}>\n <RangePicker\n defaultValue={this.state.voucherDate}\n placeholder={'开始 ~ 结束'}\n dateInputPlaceholder={['开始', '结束']}\n {\n ...getFieldProps('voucherDate4', {\n onChange: function (v) {\n self.setState({\n voucherDate3: v\n })\n }\n })\n }\n />\n </Col>\n <Col md={1}>\n <Label className='time'>备注:</Label>\n </Col>\n <Col md={11}>\n <textarea className='u-form-control'\n {\n ...getFieldProps('mark', {\n initialValue: '',\n })\n }\n />\n </Col>\n\n \n </Row>\n \n </Form>\n </div>\n )\n }\n})\n", "desc": " ", "scss_code": "@import '../../node_modules/bee-checkbox/src/Checkbox.scss';\n.demo6 {\n .edit-panel {\n background: #FFF;\n padding: 15px 15px 15px 15px;\n .reset-btn,\n .reset-btn:hover {\n background: #fff;\n border: 1px solid #1E7BE2;\n color: #1E7BE2;\n margin-right: 15px;\n }\n .submit-btn,\n .submit-btn:hover {\n background: #1E7BE2;\n color: #fff;\n }\n .btn-group {\n text-align: right;\n }\n .u-form-item {\n min-width: 100%;\n margin-bottom: 10px;\n min-height: 50px;\n .error {\n margin-left: 100px;\n color: red;\n display: block;\n }\n .u-label {\n min-width: 100px;\n display: inline-block;\n }\n .u-label.time {\n position: relative;\n bottom: 10px;\n }\n .u-label+* {\n min-width: 200px;\n display: inline-block;\n }\n .mast {\n width: 5px;\n min-width: auto;\n margin-right: 5px;\n color: red;\n }\n .datepicker-input-group {\n .u-input-group-btn {\n .uf-calendar {\n padding: 0;\n }\n }\n }\n .u-switch {\n min-width: auto;\n }\n .u-select {\n width: auto;\n }\n .u-form-control {\n width: auto;\n }\n .calendar-picker {\n display: inline-block;\n min-width: 200px;\n width: auto;\n input {\n width: 100%;\n }\n }\n .u-form-control-close {\n width: auto;\n .u-form-control {\n width: 100%\n }\n }\n }\n .search-panel-btn {\n text-align: right;\n padding: 10px 0;\n }\n }\n .edit-panel-center {\n text-align: center;\n .u-form-item {\n min-width: auto;\n display: inline-block;\n .error {\n text-align: left;\n }\n }\n }\n .edit-panel-all {\n .u-form-item {\n padding: 0;\n .u-label {\n width: 100%;\n text-align: right;\n height: 30px;\n line-height: 30px;\n }\n .u-form-control {\n width: 100%;\n }\n .calendar-picker {\n width: 100%;\n position: relative;\n }\n .u-select {\n width: 100%;\n }\n .error {\n margin-left: 0;\n }\n }\n }\n .split {\n height: 5px;\n background: #e0e0e0;\n }\n .edit-panel-textarea {\n >div {\n margin-bottom: 10px;\n min-height: 50px;\n .u-label {\n height: 30px;\n line-height: 30px;\n text-align: right;\n display: block;\n }\n .error {\n margin-left: 100px;\n color: red;\n display: block;\n }\n .mast {\n color: red;\n }\n textarea {\n width: 100%;\n resize: none;\n min-height: 50px;\n }\n .calendar-picker,\n .u-select {\n width: 100%;\n }\n }\n }\n}" }];
80
81 var Demo = function (_Component) {
82 _inherits(Demo, _Component);
83
84 function Demo(props) {
85 _classCallCheck(this, Demo);
86
87 var _this = _possibleConstructorReturn(this, _Component.call(this, props));
88
89 _this.state = {
90 open: false
91 };
92 _this.handleClick = _this.handleClick.bind(_this);
93 return _this;
94 }
95
96 Demo.prototype.handleClick = function handleClick() {
97 this.setState({ open: !this.state.open });
98 };
99
100 Demo.prototype.render = function render() {
101 var _props = this.props,
102 title = _props.title,
103 example = _props.example,
104 code = _props.code,
105 desc = _props.desc,
106 scss_code = _props.scss_code;
107
108 var caret = this.state.open ? CARETUP : CARET;
109 var text = this.state.open ? "隐藏代码" : "查看代码";
110
111 var header = _react2['default'].createElement(
112 'div',
113 null,
114 example,
115 _react2['default'].createElement(
116 _beeButton2['default'],
117 { style: { "marginTop": "10px" }, shape: 'block', onClick: this.handleClick },
118 caret,
119 text
120 )
121 );
122 return _react2['default'].createElement(
123 _beeLayout.Col,
124 { md: 12 },
125 _react2['default'].createElement(
126 'h3',
127 null,
128 title
129 ),
130 _react2['default'].createElement(
131 'p',
132 null,
133 desc
134 ),
135 _react2['default'].createElement(
136 _beePanel.Panel,
137 { collapsible: true, headerContent: true, expanded: this.state.open, colors: 'bordered', header: header, footerStyle: { padding: 0 } },
138 _react2['default'].createElement(
139 'pre',
140 null,
141 _react2['default'].createElement(
142 'code',
143 { className: 'hljs javascript' },
144 code
145 )
146 ),
147 !!scss_code ? _react2['default'].createElement(
148 'pre',
149 null,
150 _react2['default'].createElement(
151 'code',
152 { className: 'hljs css' },
153 scss_code
154 )
155 ) : null
156 )
157 );
158 };
159
160 return Demo;
161 }(_react.Component);
162
163 var DemoGroup = function (_Component2) {
164 _inherits(DemoGroup, _Component2);
165
166 function DemoGroup(props) {
167 _classCallCheck(this, DemoGroup);
168
169 return _possibleConstructorReturn(this, _Component2.call(this, props));
170 }
171
172 DemoGroup.prototype.render = function render() {
173 return _react2['default'].createElement(
174 _beeLayout.Row,
175 null,
176 DemoArray.map(function (child, index) {
177
178 return _react2['default'].createElement(Demo, { example: child.example, title: child.title, code: child.code, scss_code: child.scss_code, desc: child.desc, key: index });
179 })
180 );
181 };
182
183 return DemoGroup;
184 }(_react.Component);
185
186 _reactDom2['default'].render(_react2['default'].createElement(DemoGroup, null), document.getElementById('tinperBeeDemo'));
187
188/***/ }),
189/* 1 */
190/***/ (function(module, exports, __webpack_require__) {
191
192 'use strict';
193
194 Object.defineProperty(exports, "__esModule", {
195 value: true
196 });
197 exports.Con = exports.Row = exports.Col = undefined;
198
199 var _Col2 = __webpack_require__(2);
200
201 var _Col3 = _interopRequireDefault(_Col2);
202
203 var _Row2 = __webpack_require__(6);
204
205 var _Row3 = _interopRequireDefault(_Row2);
206
207 var _Layout = __webpack_require__(7);
208
209 var _Layout2 = _interopRequireDefault(_Layout);
210
211 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
212
213 exports.Col = _Col3["default"];
214 exports.Row = _Row3["default"];
215 exports.Con = _Layout2["default"];
216
217/***/ }),
218/* 2 */
219/***/ (function(module, exports, __webpack_require__) {
220
221 'use strict';
222
223 Object.defineProperty(exports, "__esModule", {
224 value: true
225 });
226
227 var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
228
229 var _classnames = __webpack_require__(3);
230
231 var _classnames2 = _interopRequireDefault(_classnames);
232
233 var _react = __webpack_require__(4);
234
235 var _react2 = _interopRequireDefault(_react);
236
237 var _propTypes = __webpack_require__(5);
238
239 var _propTypes2 = _interopRequireDefault(_propTypes);
240
241 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
242
243 function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
244
245 function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
246
247 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
248
249 function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
250
251 function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
252
253 var propTypes = {
254 componentClass: _propTypes2["default"].oneOfType([_propTypes2["default"].element, _propTypes2["default"].string]),
255
256 /**
257 * xs显示列数
258 */
259 xs: _propTypes2["default"].number,
260 /**
261 * sm显示列数
262 */
263 sm: _propTypes2["default"].number,
264 /**
265 * md显示列数
266 */
267 md: _propTypes2["default"].number,
268 /**
269 * lg显示列数
270 */
271 lg: _propTypes2["default"].number,
272 /**
273 * xs偏移列数
274 */
275 xsOffset: _propTypes2["default"].number,
276 /**
277 * sm偏移列数
278 */
279 smOffset: _propTypes2["default"].number,
280 /**
281 * md偏移列数
282 */
283 mdOffset: _propTypes2["default"].number,
284 /**
285 * lg偏移列数
286 */
287 lgOffset: _propTypes2["default"].number,
288 /**
289 * xs右偏移列数
290 */
291 xsPush: _propTypes2["default"].number,
292 /**
293 * sm右偏移列数
294 */
295 smPush: _propTypes2["default"].number,
296 /**
297 * md右偏移列数
298 */
299 mdPush: _propTypes2["default"].number,
300 /**
301 * lg右偏移列数
302 */
303 lgPush: _propTypes2["default"].number,
304 /**
305 * xs左偏移列数
306 */
307 xsPull: _propTypes2["default"].number,
308 /**
309 * sm左偏移列数
310 */
311 smPull: _propTypes2["default"].number,
312 /**
313 * md左偏移列数
314 */
315 mdPull: _propTypes2["default"].number,
316 /**
317 * lg左偏移列数
318 */
319 lgPull: _propTypes2["default"].number
320 };
321
322 var defaultProps = {
323 componentClass: 'div',
324 clsPrefix: 'u-col'
325 };
326
327 var DEVICE_SIZES = ['lg', 'md', 'sm', 'xs'];
328
329 var Col = function (_Component) {
330 _inherits(Col, _Component);
331
332 function Col() {
333 _classCallCheck(this, Col);
334
335 return _possibleConstructorReturn(this, _Component.apply(this, arguments));
336 }
337
338 Col.prototype.render = function render() {
339 var _props = this.props,
340 Component = _props.componentClass,
341 className = _props.className,
342 clsPrefix = _props.clsPrefix,
343 others = _objectWithoutProperties(_props, ['componentClass', 'className', 'clsPrefix']);
344
345 var tbClass = [];
346 /**
347 * 对传入props做样式转化
348 * @type {[type]}
349 */
350 DEVICE_SIZES.forEach(function (size) {
351 function popProp(propSuffix, modifier) {
352 var propName = '' + size + propSuffix;
353 var propValue = others[propName];
354
355 if (propValue != undefined && propValue != null) {
356 tbClass.push(clsPrefix + '-' + size + modifier + '-' + propValue);
357 }
358
359 delete others[propName];
360 }
361
362 popProp('', '');
363 popProp('Offset', '-offset');
364 popProp('Push', '-push');
365 popProp('Pull', '-pull');
366 });
367
368 return _react2["default"].createElement(
369 Component,
370 _extends({
371 className: (0, _classnames2["default"])(tbClass, className)
372 }, others),
373 this.props.children
374 );
375 };
376
377 return Col;
378 }(_react.Component);
379
380 Col.defaultProps = defaultProps;
381 Col.propTypes = propTypes;
382
383 exports["default"] = Col;
384 module.exports = exports['default'];
385
386/***/ }),
387/* 3 */
388/***/ (function(module, exports, __webpack_require__) {
389
390 var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
391 Copyright (c) 2017 Jed Watson.
392 Licensed under the MIT License (MIT), see
393 http://jedwatson.github.io/classnames
394 */
395 /* global define */
396
397 (function () {
398 'use strict';
399
400 var hasOwn = {}.hasOwnProperty;
401
402 function classNames () {
403 var classes = [];
404
405 for (var i = 0; i < arguments.length; i++) {
406 var arg = arguments[i];
407 if (!arg) continue;
408
409 var argType = typeof arg;
410
411 if (argType === 'string' || argType === 'number') {
412 classes.push(arg);
413 } else if (Array.isArray(arg) && arg.length) {
414 var inner = classNames.apply(null, arg);
415 if (inner) {
416 classes.push(inner);
417 }
418 } else if (argType === 'object') {
419 for (var key in arg) {
420 if (hasOwn.call(arg, key) && arg[key]) {
421 classes.push(key);
422 }
423 }
424 }
425 }
426
427 return classes.join(' ');
428 }
429
430 if (typeof module !== 'undefined' && module.exports) {
431 classNames.default = classNames;
432 module.exports = classNames;
433 } else if (true) {
434 // register as 'classnames', consistent with npm package name
435 !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = function () {
436 return classNames;
437 }.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
438 } else {
439 window.classNames = classNames;
440 }
441 }());
442
443
444/***/ }),
445/* 4 */
446/***/ (function(module, exports) {
447
448 module.exports = React;
449
450/***/ }),
451/* 5 */
452/***/ (function(module, exports) {
453
454 module.exports = PropTypes;
455
456/***/ }),
457/* 6 */
458/***/ (function(module, exports, __webpack_require__) {
459
460 'use strict';
461
462 Object.defineProperty(exports, "__esModule", {
463 value: true
464 });
465
466 var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
467
468 var _classnames = __webpack_require__(3);
469
470 var _classnames2 = _interopRequireDefault(_classnames);
471
472 var _react = __webpack_require__(4);
473
474 var _react2 = _interopRequireDefault(_react);
475
476 var _propTypes = __webpack_require__(5);
477
478 var _propTypes2 = _interopRequireDefault(_propTypes);
479
480 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
481
482 function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
483
484 function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
485
486 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
487
488 function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
489
490 function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
491
492 var propTypes = {
493 componentClass: _propTypes2["default"].oneOfType([_propTypes2["default"].element, _propTypes2["default"].string])
494 };
495
496 var defaultProps = {
497 componentClass: 'div',
498 clsPrefix: 'u-row'
499 };
500
501 var Row = function (_Component) {
502 _inherits(Row, _Component);
503
504 function Row() {
505 _classCallCheck(this, Row);
506
507 return _possibleConstructorReturn(this, _Component.apply(this, arguments));
508 }
509
510 Row.prototype.render = function render() {
511 var _props = this.props,
512 Component = _props.componentClass,
513 clsPrefix = _props.clsPrefix,
514 className = _props.className,
515 others = _objectWithoutProperties(_props, ['componentClass', 'clsPrefix', 'className']);
516
517 var bsclass = '' + clsPrefix;
518
519 return _react2["default"].createElement(
520 Component,
521 _extends({}, others, {
522 className: (0, _classnames2["default"])(bsclass, className)
523 }),
524 this.props.children
525 );
526 };
527
528 return Row;
529 }(_react.Component);
530
531 Row.propTypes = propTypes;
532 Row.defaultProps = defaultProps;
533
534 exports["default"] = Row;
535 module.exports = exports['default'];
536
537/***/ }),
538/* 7 */
539/***/ (function(module, exports, __webpack_require__) {
540
541 'use strict';
542
543 Object.defineProperty(exports, "__esModule", {
544 value: true
545 });
546
547 var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
548
549 var _classnames = __webpack_require__(3);
550
551 var _classnames2 = _interopRequireDefault(_classnames);
552
553 var _react = __webpack_require__(4);
554
555 var _react2 = _interopRequireDefault(_react);
556
557 var _propTypes = __webpack_require__(5);
558
559 var _propTypes2 = _interopRequireDefault(_propTypes);
560
561 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
562
563 function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
564
565 function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
566
567 function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
568
569 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
570
571 function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
572
573 function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
574
575 var propTypes = {
576 /**
577 * Adds `container-fluid` class.
578 */
579 fluid: _propTypes2["default"].bool,
580 /**
581 * You can use a custom element for this component
582 */
583 componentClass: _propTypes2["default"].oneOfType([_propTypes2["default"].element, _propTypes2["default"].string])
584 };
585
586 var defaultProps = {
587 componentClass: 'div',
588 fluid: false,
589 clsPrefix: 'u-container'
590 };
591
592 var Con = function (_React$Component) {
593 _inherits(Con, _React$Component);
594
595 function Con() {
596 _classCallCheck(this, Con);
597
598 return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));
599 }
600
601 Con.prototype.render = function render() {
602 var _tbclass;
603
604 var _props = this.props,
605 fluid = _props.fluid,
606 Component = _props.componentClass,
607 clsPrefix = _props.clsPrefix,
608 className = _props.className,
609 others = _objectWithoutProperties(_props, ['fluid', 'componentClass', 'clsPrefix', 'className']);
610
611 var tbclass = (_tbclass = {}, _defineProperty(_tbclass, '' + clsPrefix, !fluid), _defineProperty(_tbclass, clsPrefix + '-fluid', fluid), _tbclass);
612
613 return _react2["default"].createElement(
614 Component,
615 _extends({}, others, {
616 className: (0, _classnames2["default"])(tbclass, className)
617 }),
618 this.props.children
619 );
620 };
621
622 return Con;
623 }(_react2["default"].Component);
624
625 Con.propTypes = propTypes;
626 Con.defaultProps = defaultProps;
627
628 exports["default"] = Con;
629 module.exports = exports['default'];
630
631/***/ }),
632/* 8 */
633/***/ (function(module, exports, __webpack_require__) {
634
635 'use strict';
636
637 Object.defineProperty(exports, "__esModule", {
638 value: true
639 });
640 exports.PanelGroup = exports.Panel = undefined;
641
642 var _Panel2 = __webpack_require__(9);
643
644 var _Panel3 = _interopRequireDefault(_Panel2);
645
646 var _PanelGroup2 = __webpack_require__(64);
647
648 var _PanelGroup3 = _interopRequireDefault(_PanelGroup2);
649
650 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
651
652 exports.Panel = _Panel3["default"];
653 exports.PanelGroup = _PanelGroup3["default"];
654
655/***/ }),
656/* 9 */
657/***/ (function(module, exports, __webpack_require__) {
658
659 'use strict';
660
661 Object.defineProperty(exports, "__esModule", {
662 value: true
663 });
664
665 var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
666
667 var _classnames = __webpack_require__(3);
668
669 var _classnames2 = _interopRequireDefault(_classnames);
670
671 var _react = __webpack_require__(4);
672
673 var _react2 = _interopRequireDefault(_react);
674
675 var _beeTransition = __webpack_require__(10);
676
677 var _propTypes = __webpack_require__(5);
678
679 var _propTypes2 = _interopRequireDefault(_propTypes);
680
681 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
682
683 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; }
684
685 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; }
686
687 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; }
688
689 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
690
691 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; }
692
693 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); }
694
695 var propTypes = {
696 //是否添加折叠
697 collapsible: _propTypes2["default"].bool,
698 onSelect: _propTypes2["default"].func,
699 //头部组件
700 header: _propTypes2["default"].node,
701 headerStyle: _propTypes2["default"].object,
702 id: _propTypes2["default"].oneOfType([_propTypes2["default"].string, _propTypes2["default"].number]),
703 headerContent: _propTypes2["default"].bool,
704 //footer组件
705 footer: _propTypes2["default"].node,
706 footerStyle: _propTypes2["default"].object,
707 //默认是否打开
708 defaultExpanded: _propTypes2["default"].bool,
709 //是否打开
710 expanded: _propTypes2["default"].bool,
711 //每个panel的标记
712 eventKey: _propTypes2["default"].any,
713 headerRole: _propTypes2["default"].string,
714 panelRole: _propTypes2["default"].string,
715 //颜色
716 colors: _propTypes2["default"].oneOf(['primary', 'accent', 'success', 'info', 'warning', 'danger', 'default', 'bordered']),
717
718 // From Collapse.的扩展动画
719 onEnter: _propTypes2["default"].func,
720 onEntering: _propTypes2["default"].func,
721 onEntered: _propTypes2["default"].func,
722 onExit: _propTypes2["default"].func,
723 onExiting: _propTypes2["default"].func,
724 onExited: _propTypes2["default"].func
725 };
726
727 var defaultProps = {
728 defaultExpanded: false,
729 clsPrefix: "u-panel",
730 colors: "default"
731 };
732
733 var Panel = function (_React$Component) {
734 _inherits(Panel, _React$Component);
735
736 function Panel(props, context) {
737 _classCallCheck(this, Panel);
738
739 var _this = _possibleConstructorReturn(this, _React$Component.call(this, props, context));
740
741 _this.handleClickTitle = _this.handleClickTitle.bind(_this);
742
743 _this.state = {
744 expanded: _this.props.defaultExpanded
745 };
746 return _this;
747 }
748
749 //头部点击事件
750
751
752 Panel.prototype.handleClickTitle = function handleClickTitle(e) {
753 // 不让事件进入事件池
754 e.persist();
755 e.selected = true;
756
757 if (this.props.onSelect) {
758 this.props.onSelect(this.props.eventKey, e);
759 } else {
760 e.preventDefault();
761 }
762
763 if (e.selected) {
764 this.setState({ expanded: !this.state.expanded });
765 }
766 };
767
768 //渲染panelheader
769
770
771 Panel.prototype.renderHeader = function renderHeader(collapsible, header, id, role, expanded, clsPrefix) {
772 var titleClassName = clsPrefix + '-title';
773
774 if (!collapsible) {
775 if (!_react2["default"].isValidElement(header)) {
776 return header;
777 }
778
779 return (0, _react.cloneElement)(header, {
780 className: (0, _classnames2["default"])(header.props.className, titleClassName)
781 });
782 }
783
784 if (!_react2["default"].isValidElement(header)) {
785 return _react2["default"].createElement(
786 'h4',
787 { role: 'presentation', className: titleClassName },
788 this.renderAnchor(header, id, role, expanded)
789 );
790 }
791 if (this.props.headerContent) {
792 return (0, _react.cloneElement)(header, {
793 className: (0, _classnames2["default"])(header.props.className, titleClassName)
794 });
795 }
796
797 return (0, _react.cloneElement)(header, {
798 className: (0, _classnames2["default"])(header.props.className, titleClassName),
799 children: this.renderAnchor(header.props.children, id, role, expanded)
800 });
801 };
802
803 //如果使用链接,渲染为a标签
804
805
806 Panel.prototype.renderAnchor = function renderAnchor(header, id, role, expanded) {
807 return _react2["default"].createElement(
808 'a',
809 {
810 role: role,
811 href: id && '#' + id,
812 'aria-controls': id,
813 'aria-expanded': expanded,
814 'aria-selected': expanded,
815 className: expanded ? null : 'collapsed'
816 },
817 header
818 );
819 };
820
821 //如果有折叠动画,渲染折叠动画
822
823
824 Panel.prototype.renderCollapsibleBody = function renderCollapsibleBody(id, expanded, role, children, clsPrefix, animationHooks) {
825 return _react2["default"].createElement(
826 _beeTransition.Collapse,
827 _extends({ 'in': expanded }, animationHooks),
828 _react2["default"].createElement(
829 'div',
830 {
831 id: id,
832 role: role,
833 className: clsPrefix + '-collapse',
834 'aria-hidden': !expanded
835 },
836 this.renderBody(children, clsPrefix)
837 )
838 );
839 };
840
841 //渲染panelbody
842
843
844 Panel.prototype.renderBody = function renderBody(rawChildren, clsPrefix) {
845 var children = [];
846 var bodyChildren = [];
847
848 var bodyClassName = clsPrefix + '-body';
849
850 //添加到body的children中
851 function maybeAddBody() {
852 if (!bodyChildren.length) {
853 return;
854 }
855
856 // 给子组件添加key,为了之后触发事件时使用
857 children.push(_react2["default"].createElement(
858 'div',
859 { key: children.length, className: bodyClassName },
860 bodyChildren
861 ));
862
863 bodyChildren = [];
864 }
865
866 //转换为数组,方便复用
867 _react2["default"].Children.toArray(rawChildren).forEach(function (child) {
868 if (_react2["default"].isValidElement(child) && child.props.fill) {
869 maybeAddBody();
870
871 //将标示fill设置为undefined
872 children.push((0, _react.cloneElement)(child, { fill: undefined }));
873
874 return;
875 }
876
877 bodyChildren.push(child);
878 });
879
880 maybeAddBody();
881
882 return children;
883 };
884
885 Panel.prototype.render = function render() {
886 var _props = this.props,
887 collapsible = _props.collapsible,
888 header = _props.header,
889 id = _props.id,
890 footer = _props.footer,
891 propsExpanded = _props.expanded,
892 footerStyle = _props.footerStyle,
893 headerStyle = _props.headerStyle,
894 headerRole = _props.headerRole,
895 panelRole = _props.panelRole,
896 className = _props.className,
897 colors = _props.colors,
898 children = _props.children,
899 onEnter = _props.onEnter,
900 onEntering = _props.onEntering,
901 onEntered = _props.onEntered,
902 clsPrefix = _props.clsPrefix,
903 onExit = _props.onExit,
904 headerContent = _props.headerContent,
905 onExiting = _props.onExiting,
906 onExited = _props.onExited,
907 defaultExpanded = _props.defaultExpanded,
908 eventKey = _props.eventKey,
909 onSelect = _props.onSelect,
910 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']);
911
912 var expanded = propsExpanded != null ? propsExpanded : this.state.expanded;
913
914 var classes = {};
915 classes['' + clsPrefix] = true;
916 classes[clsPrefix + '-' + colors] = true;
917
918 var headerClass = _defineProperty({}, clsPrefix + '-heading', true);
919
920 return _react2["default"].createElement(
921 'div',
922 _extends({}, props, {
923 className: (0, _classnames2["default"])(className, classes),
924 id: collapsible ? null : id
925 }),
926 header && _react2["default"].createElement(
927 'div',
928 { className: (0, _classnames2["default"])(headerClass), style: headerStyle, onClick: this.handleClickTitle },
929 this.renderHeader(collapsible, header, id, headerRole, expanded, clsPrefix)
930 ),
931 collapsible ? this.renderCollapsibleBody(id, expanded, panelRole, children, clsPrefix, { onEnter: onEnter, onEntering: onEntering, onEntered: onEntered, onExit: onExit, onExiting: onExiting, onExited: onExited }) : this.renderBody(children, clsPrefix),
932 footer && _react2["default"].createElement(
933 'div',
934 { className: clsPrefix + '-footer', style: footerStyle },
935 footer
936 )
937 );
938 };
939
940 return Panel;
941 }(_react2["default"].Component);
942
943 Panel.propTypes = propTypes;
944 Panel.defaultProps = defaultProps;
945
946 exports["default"] = Panel;
947 module.exports = exports['default'];
948
949/***/ }),
950/* 10 */
951/***/ (function(module, exports, __webpack_require__) {
952
953 'use strict';
954
955 Object.defineProperty(exports, "__esModule", {
956 value: true
957 });
958 exports.Fade = exports.Collapse = exports.Transition = undefined;
959
960 var _Transition2 = __webpack_require__(11);
961
962 var _Transition3 = _interopRequireDefault(_Transition2);
963
964 var _Collapse2 = __webpack_require__(16);
965
966 var _Collapse3 = _interopRequireDefault(_Collapse2);
967
968 var _Fade2 = __webpack_require__(63);
969
970 var _Fade3 = _interopRequireDefault(_Fade2);
971
972 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
973
974 exports.Transition = _Transition3["default"];
975 exports.Collapse = _Collapse3["default"];
976 exports.Fade = _Fade3["default"];
977
978/***/ }),
979/* 11 */
980/***/ (function(module, exports, __webpack_require__) {
981
982 'use strict';
983
984 Object.defineProperty(exports, "__esModule", {
985 value: true
986 });
987 exports.EXITING = exports.ENTERED = exports.ENTERING = exports.EXITED = exports.UNMOUNTED = undefined;
988
989 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; };
990
991 var _react = __webpack_require__(4);
992
993 var _react2 = _interopRequireDefault(_react);
994
995 var _reactDom = __webpack_require__(12);
996
997 var _reactDom2 = _interopRequireDefault(_reactDom);
998
999 var _properties = __webpack_require__(13);
1000
1001 var _properties2 = _interopRequireDefault(_properties);
1002
1003 var _on = __webpack_require__(15);
1004
1005 var _on2 = _interopRequireDefault(_on);
1006
1007 var _classnames = __webpack_require__(3);
1008
1009 var _classnames2 = _interopRequireDefault(_classnames);
1010
1011 var _propTypes = __webpack_require__(5);
1012
1013 var _propTypes2 = _interopRequireDefault(_propTypes);
1014
1015 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
1016
1017 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; }
1018
1019 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; }
1020
1021 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
1022
1023 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; }
1024
1025 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); }
1026
1027 var transitionEndEvent = _properties2["default"].end;
1028
1029 //设置状态码
1030 var UNMOUNTED = exports.UNMOUNTED = 0;
1031 var EXITED = exports.EXITED = 1;
1032 var ENTERING = exports.ENTERING = 2;
1033 var ENTERED = exports.ENTERED = 3;
1034 var EXITING = exports.EXITING = 4;
1035
1036 var propTypes = {
1037 /**
1038 * 是否触发动画
1039 */
1040 "in": _propTypes2["default"].bool,
1041
1042 /**
1043 * 不显示的时候是否移除组件
1044 */
1045 unmountOnExit: _propTypes2["default"].bool,
1046
1047 /**
1048 * 如果设置为默认显示,挂载时显示动画
1049 */
1050 transitionAppear: _propTypes2["default"].bool,
1051
1052 /**
1053 * 设置超时时间,防止出现问题,可设置为>=动画时间
1054 */
1055 timeout: _propTypes2["default"].number,
1056
1057 /**
1058 * 退出组件时添加的class
1059 */
1060 exitedClassName: _propTypes2["default"].string,
1061 /**
1062 * 退出组件中添加的class
1063 */
1064 exitingClassName: _propTypes2["default"].string,
1065 /**
1066 * 进入动画后添加的class
1067 */
1068 enteredClassName: _propTypes2["default"].string,
1069 /**
1070 * 进入动画时添加的class
1071 */
1072 enteringClassName: _propTypes2["default"].string,
1073
1074 /**
1075 * 进入动画开始时的钩子函数
1076 */
1077 onEnter: _propTypes2["default"].func,
1078 /**
1079 * 进入动画中的钩子函数
1080 */
1081 onEntering: _propTypes2["default"].func,
1082 /**
1083 * 进入动画后的钩子函数
1084 */
1085 onEntered: _propTypes2["default"].func,
1086 /**
1087 * 退出动画开始时的钩子函数
1088 */
1089 onExit: _propTypes2["default"].func,
1090 /**
1091 * 退出动画中的钩子函数
1092 */
1093 onExiting: _propTypes2["default"].func,
1094 /**
1095 * 退出动画后的钩子函数
1096 */
1097 onExited: _propTypes2["default"].func
1098 };
1099
1100 function noop() {}
1101
1102 var defaultProps = {
1103 "in": false,
1104 unmountOnExit: false,
1105 transitionAppear: false,
1106 timeout: 5000,
1107 onEnter: noop,
1108 onEntering: noop,
1109 onEntered: noop,
1110 onExit: noop,
1111 onExiting: noop,
1112 onExited: noop
1113 };
1114
1115 /**
1116 * 动画组件
1117 */
1118
1119 var Transition = function (_Component) {
1120 _inherits(Transition, _Component);
1121
1122 function Transition(props, context) {
1123 _classCallCheck(this, Transition);
1124
1125 var _this = _possibleConstructorReturn(this, _Component.call(this, props, context));
1126
1127 var initialStatus = void 0;
1128 if (props["in"]) {
1129 // 在componentdidmount时开始执行动画
1130 initialStatus = props.transitionAppear ? EXITED : ENTERED;
1131 } else {
1132 initialStatus = props.unmountOnExit ? UNMOUNTED : EXITED;
1133 }
1134 _this.state = { status: initialStatus };
1135
1136 _this.nextCallback = null;
1137 return _this;
1138 }
1139
1140 Transition.prototype.componentDidMount = function componentDidMount() {
1141 if (this.props.transitionAppear && this.props["in"]) {
1142 this.performEnter(this.props);
1143 }
1144 };
1145
1146 Transition.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
1147 if (nextProps["in"] && this.props.unmountOnExit) {
1148 if (this.state.status === UNMOUNTED) {
1149 // 在componentDidUpdate执行动画.
1150 this.setState({ status: EXITED });
1151 }
1152 } else {
1153 this._needsUpdate = true;
1154 }
1155 };
1156
1157 Transition.prototype.componentDidUpdate = function componentDidUpdate() {
1158 var status = this.state.status;
1159
1160 if (this.props.unmountOnExit && status === EXITED) {
1161 // 当使用unmountOnExit时,exited为exiting和unmont的过渡状态
1162 if (this.props["in"]) {
1163 this.performEnter(this.props);
1164 } else {
1165 this.setState({ status: UNMOUNTED });
1166 }
1167
1168 return;
1169 }
1170
1171 // 确保只响应prop变化
1172 if (this._needsUpdate) {
1173 this._needsUpdate = false;
1174
1175 if (this.props["in"]) {
1176 if (status === EXITING) {
1177 this.performEnter(this.props);
1178 } else if (status === EXITED) {
1179 this.performEnter(this.props);
1180 }
1181 // 其他,当我们已经输入或输出
1182 } else {
1183 if (status === ENTERING || status === ENTERED) {
1184 this.performExit(this.props);
1185 }
1186 // 我们已经输入或输出完成
1187 }
1188 }
1189 };
1190
1191 Transition.prototype.componentWillUnmount = function componentWillUnmount() {
1192 this.cancelNextCallback();
1193 };
1194
1195 Transition.prototype.performEnter = function performEnter(props) {
1196 var _this2 = this;
1197
1198 this.cancelNextCallback();
1199 var node = _reactDom2["default"].findDOMNode(this);
1200
1201 // 这里接收新props
1202 props.onEnter(node);
1203
1204 this.safeSetState({ status: ENTERING }, function () {
1205 _this2.props.onEntering(node);
1206
1207 _this2.onTransitionEnd(node, function () {
1208 _this2.safeSetState({ status: ENTERED }, function () {
1209 _this2.props.onEntered(node);
1210 });
1211 });
1212 });
1213 };
1214
1215 Transition.prototype.performExit = function performExit(props) {
1216 var _this3 = this;
1217
1218 this.cancelNextCallback();
1219 var node = _reactDom2["default"].findDOMNode(this);
1220
1221 props.onExit(node);
1222
1223 this.safeSetState({ status: EXITING }, function () {
1224 _this3.props.onExiting(node);
1225
1226 _this3.onTransitionEnd(node, function () {
1227 _this3.safeSetState({ status: EXITED }, function () {
1228 _this3.props.onExited(node);
1229 });
1230 });
1231 });
1232 };
1233
1234 Transition.prototype.cancelNextCallback = function cancelNextCallback() {
1235 if (this.nextCallback !== null) {
1236 this.nextCallback.cancel();
1237 this.nextCallback = null;
1238 }
1239 };
1240
1241 Transition.prototype.safeSetState = function safeSetState(nextState, callback) {
1242 // 确保在组件销毁后挂起的setState被消除
1243 this.setState(nextState, this.setNextCallback(callback));
1244 };
1245
1246 Transition.prototype.setNextCallback = function setNextCallback(callback) {
1247 var _this4 = this;
1248
1249 var active = true;
1250
1251 this.nextCallback = function (event) {
1252 if (active) {
1253 active = false;
1254 _this4.nextCallback = null;
1255
1256 callback(event);
1257 }
1258 };
1259
1260 this.nextCallback.cancel = function () {
1261 active = false;
1262 };
1263
1264 return this.nextCallback;
1265 };
1266
1267 Transition.prototype.onTransitionEnd = function onTransitionEnd(node, handler) {
1268 this.setNextCallback(handler);
1269
1270 if (node) {
1271 if (transitionEndEvent == undefined) {
1272 this.nextCallback();
1273 } else {
1274 (0, _on2["default"])(node, transitionEndEvent, this.nextCallback);
1275 }
1276 setTimeout(this.nextCallback, this.props.timeout);
1277 } else {
1278 setTimeout(this.nextCallback, 0);
1279 }
1280 };
1281
1282 Transition.prototype.render = function render() {
1283 var status = this.state.status;
1284 if (status === UNMOUNTED) {
1285 return null;
1286 }
1287
1288 var _props = this.props,
1289 children = _props.children,
1290 className = _props.className,
1291 childProps = _objectWithoutProperties(_props, ['children', 'className']);
1292
1293 Object.keys(Transition.propTypes).forEach(function (key) {
1294 return delete childProps[key];
1295 });
1296
1297 var transitionClassName = void 0;
1298 if (status === EXITED) {
1299 transitionClassName = this.props.exitedClassName;
1300 } else if (status === ENTERING) {
1301 transitionClassName = this.props.enteringClassName;
1302 } else if (status === ENTERED) {
1303 transitionClassName = this.props.enteredClassName;
1304 } else if (status === EXITING) {
1305 transitionClassName = this.props.exitingClassName;
1306 }
1307
1308 var child = _react2["default"].Children.only(children);
1309 return _react2["default"].cloneElement(child, _extends({}, childProps, {
1310 className: (0, _classnames2["default"])(child.props.className, className, transitionClassName)
1311 }));
1312 };
1313
1314 return Transition;
1315 }(_react.Component);
1316
1317 Transition.propTypes = propTypes;
1318
1319 Transition.defaultProps = defaultProps;
1320
1321 exports["default"] = Transition;
1322
1323/***/ }),
1324/* 12 */
1325/***/ (function(module, exports) {
1326
1327 module.exports = ReactDOM;
1328
1329/***/ }),
1330/* 13 */
1331/***/ (function(module, exports, __webpack_require__) {
1332
1333 'use strict';
1334
1335 Object.defineProperty(exports, "__esModule", {
1336 value: true
1337 });
1338 exports.animationEnd = exports.animationDelay = exports.animationTiming = exports.animationDuration = exports.animationName = exports.transitionEnd = exports.transitionDuration = exports.transitionDelay = exports.transitionTiming = exports.transitionProperty = exports.transform = undefined;
1339
1340 var _inDOM = __webpack_require__(14);
1341
1342 var _inDOM2 = _interopRequireDefault(_inDOM);
1343
1344 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
1345
1346 var transform = 'transform';
1347 var prefix = void 0,
1348 transitionEnd = void 0,
1349 animationEnd = void 0;
1350 var transitionProperty = void 0,
1351 transitionDuration = void 0,
1352 transitionTiming = void 0,
1353 transitionDelay = void 0;
1354 var animationName = void 0,
1355 animationDuration = void 0,
1356 animationTiming = void 0,
1357 animationDelay = void 0;
1358
1359 if (_inDOM2.default) {
1360 var _getTransitionPropert = getTransitionProperties();
1361
1362 prefix = _getTransitionPropert.prefix;
1363 exports.transitionEnd = transitionEnd = _getTransitionPropert.transitionEnd;
1364 exports.animationEnd = animationEnd = _getTransitionPropert.animationEnd;
1365
1366
1367 exports.transform = transform = prefix + '-' + transform;
1368 exports.transitionProperty = transitionProperty = prefix + '-transition-property';
1369 exports.transitionDuration = transitionDuration = prefix + '-transition-duration';
1370 exports.transitionDelay = transitionDelay = prefix + '-transition-delay';
1371 exports.transitionTiming = transitionTiming = prefix + '-transition-timing-function';
1372
1373 exports.animationName = animationName = prefix + '-animation-name';
1374 exports.animationDuration = animationDuration = prefix + '-animation-duration';
1375 exports.animationTiming = animationTiming = prefix + '-animation-delay';
1376 exports.animationDelay = animationDelay = prefix + '-animation-timing-function';
1377 }
1378
1379 exports.transform = transform;
1380 exports.transitionProperty = transitionProperty;
1381 exports.transitionTiming = transitionTiming;
1382 exports.transitionDelay = transitionDelay;
1383 exports.transitionDuration = transitionDuration;
1384 exports.transitionEnd = transitionEnd;
1385 exports.animationName = animationName;
1386 exports.animationDuration = animationDuration;
1387 exports.animationTiming = animationTiming;
1388 exports.animationDelay = animationDelay;
1389 exports.animationEnd = animationEnd;
1390 exports.default = {
1391 transform: transform,
1392 end: transitionEnd,
1393 property: transitionProperty,
1394 timing: transitionTiming,
1395 delay: transitionDelay,
1396 duration: transitionDuration
1397 };
1398
1399
1400 function getTransitionProperties() {
1401 var style = document.createElement('div').style;
1402
1403 var vendorMap = {
1404 O: function O(e) {
1405 return 'o' + e.toLowerCase();
1406 },
1407 Moz: function Moz(e) {
1408 return e.toLowerCase();
1409 },
1410 Webkit: function Webkit(e) {
1411 return 'webkit' + e;
1412 },
1413 ms: function ms(e) {
1414 return 'MS' + e;
1415 }
1416 };
1417
1418 var vendors = Object.keys(vendorMap);
1419
1420 var transitionEnd = void 0,
1421 animationEnd = void 0;
1422 var prefix = '';
1423
1424 for (var i = 0; i < vendors.length; i++) {
1425 var vendor = vendors[i];
1426
1427 if (vendor + 'TransitionProperty' in style) {
1428 prefix = '-' + vendor.toLowerCase();
1429 transitionEnd = vendorMap[vendor]('TransitionEnd');
1430 animationEnd = vendorMap[vendor]('AnimationEnd');
1431 break;
1432 }
1433 }
1434
1435 if (!transitionEnd && 'transitionProperty' in style) transitionEnd = 'transitionend';
1436
1437 if (!animationEnd && 'animationName' in style) animationEnd = 'animationend';
1438
1439 style = null;
1440
1441 return { animationEnd: animationEnd, transitionEnd: transitionEnd, prefix: prefix };
1442 }
1443
1444/***/ }),
1445/* 14 */
1446/***/ (function(module, exports) {
1447
1448 'use strict';
1449
1450 Object.defineProperty(exports, "__esModule", {
1451 value: true
1452 });
1453 exports.default = !!(typeof window !== 'undefined' && window.document && window.document.createElement);
1454 module.exports = exports['default'];
1455
1456/***/ }),
1457/* 15 */
1458/***/ (function(module, exports, __webpack_require__) {
1459
1460 'use strict';
1461
1462 Object.defineProperty(exports, "__esModule", {
1463 value: true
1464 });
1465
1466 var _inDOM = __webpack_require__(14);
1467
1468 var _inDOM2 = _interopRequireDefault(_inDOM);
1469
1470 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
1471
1472 var on = function on() {};
1473 if (_inDOM2.default) {
1474 on = function () {
1475
1476 if (document.addEventListener) return function (node, eventName, handler, capture) {
1477 return node.addEventListener(eventName, handler, capture || false);
1478 };else if (document.attachEvent) return function (node, eventName, handler) {
1479 return node.attachEvent('on' + eventName, function (e) {
1480 e = e || window.event;
1481 e.target = e.target || e.srcElement;
1482 e.currentTarget = node;
1483 handler.call(node, e);
1484 });
1485 };
1486 }();
1487 }
1488
1489 exports.default = on;
1490 module.exports = exports['default'];
1491
1492/***/ }),
1493/* 16 */
1494/***/ (function(module, exports, __webpack_require__) {
1495
1496 'use strict';
1497
1498 Object.defineProperty(exports, "__esModule", {
1499 value: true
1500 });
1501
1502 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; };
1503
1504 var _classnames = __webpack_require__(3);
1505
1506 var _classnames2 = _interopRequireDefault(_classnames);
1507
1508 var _style = __webpack_require__(17);
1509
1510 var _style2 = _interopRequireDefault(_style);
1511
1512 var _react = __webpack_require__(4);
1513
1514 var _react2 = _interopRequireDefault(_react);
1515
1516 var _propTypes = __webpack_require__(5);
1517
1518 var _propTypes2 = _interopRequireDefault(_propTypes);
1519
1520 var _Transition = __webpack_require__(11);
1521
1522 var _Transition2 = _interopRequireDefault(_Transition);
1523
1524 var _capitalize = __webpack_require__(25);
1525
1526 var _capitalize2 = _interopRequireDefault(_capitalize);
1527
1528 var _tinperBeeCore = __webpack_require__(26);
1529
1530 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
1531
1532 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; }
1533
1534 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; }
1535
1536 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
1537
1538 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; }
1539
1540 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); }
1541
1542 var MARGINS = {
1543 height: ['marginTop', 'marginBottom'],
1544 width: ['marginLeft', 'marginRight']
1545 };
1546
1547 // reading a dimension prop will cause the browser to recalculate,
1548 // which will let our animations work
1549 function triggerBrowserReflow(node) {
1550 node.offsetHeight; // eslint-disable-line no-unused-expressions
1551 }
1552
1553 function getDimensionValue(dimension, elem) {
1554 var value = elem['offset' + (0, _capitalize2["default"])(dimension)];
1555 var margins = MARGINS[dimension];
1556
1557 return value + parseInt((0, _style2["default"])(elem, margins[0]), 10) + parseInt((0, _style2["default"])(elem, margins[1]), 10);
1558 }
1559
1560 var propTypes = {
1561 /**
1562 * Show the component; triggers the expand or collapse animation
1563 */
1564 "in": _propTypes2["default"].bool,
1565
1566 /**
1567 * Unmount the component (remove it from the DOM) when it is collapsed
1568 */
1569 unmountOnExit: _propTypes2["default"].bool,
1570
1571 /**
1572 * Run the expand animation when the component mounts, if it is initially
1573 * shown
1574 */
1575 transitionAppear: _propTypes2["default"].bool,
1576
1577 /**
1578 * Duration of the collapse animation in milliseconds, to ensure that
1579 * finishing callbacks are fired even if the original browser transition end
1580 * events are canceled
1581 */
1582 timeout: _propTypes2["default"].number,
1583
1584 /**
1585 * Callback fired before the component expands
1586 */
1587 onEnter: _propTypes2["default"].func,
1588 /**
1589 * Callback fired after the component starts to expand
1590 */
1591 onEntering: _propTypes2["default"].func,
1592 /**
1593 * Callback fired after the component has expanded
1594 */
1595 onEntered: _propTypes2["default"].func,
1596 /**
1597 * Callback fired before the component collapses
1598 */
1599 onExit: _propTypes2["default"].func,
1600 /**
1601 * Callback fired after the component starts to collapse
1602 */
1603 onExiting: _propTypes2["default"].func,
1604 /**
1605 * Callback fired after the component has collapsed
1606 */
1607 onExited: _propTypes2["default"].func,
1608
1609 /**
1610 * The dimension used when collapsing, or a function that returns the
1611 * dimension
1612 *
1613 * _Note: Bootstrap only partially supports 'width'!
1614 * You will need to supply your own CSS animation for the `.width` CSS class._
1615 */
1616 dimension: _propTypes2["default"].oneOfType([_propTypes2["default"].oneOf(['height', 'width']), _propTypes2["default"].func]),
1617
1618 /**
1619 * Function that returns the height or width of the animating DOM node
1620 *
1621 * Allows for providing some custom logic for how much the Collapse component
1622 * should animate in its specified dimension. Called with the current
1623 * dimension prop value and the DOM node.
1624 */
1625 getDimensionValue: _propTypes2["default"].func,
1626
1627 /**
1628 * ARIA role of collapsible element
1629 */
1630 role: _propTypes2["default"].string
1631 };
1632
1633 var defaultProps = {
1634 "in": false,
1635 timeout: 300,
1636 unmountOnExit: false,
1637 transitionAppear: false,
1638
1639 dimension: 'height',
1640 getDimensionValue: getDimensionValue
1641 };
1642
1643 var Collapse = function (_React$Component) {
1644 _inherits(Collapse, _React$Component);
1645
1646 function Collapse(props, context) {
1647 _classCallCheck(this, Collapse);
1648
1649 var _this = _possibleConstructorReturn(this, _React$Component.call(this, props, context));
1650
1651 _this.handleEnter = _this.handleEnter.bind(_this);
1652 _this.handleEntering = _this.handleEntering.bind(_this);
1653 _this.handleEntered = _this.handleEntered.bind(_this);
1654 _this.handleExit = _this.handleExit.bind(_this);
1655 _this.handleExiting = _this.handleExiting.bind(_this);
1656 return _this;
1657 }
1658
1659 /* -- Expanding -- */
1660
1661
1662 Collapse.prototype.handleEnter = function handleEnter(elem) {
1663 var dimension = this._dimension();
1664 elem.style[dimension] = '0';
1665 };
1666
1667 Collapse.prototype.handleEntering = function handleEntering(elem) {
1668 var dimension = this._dimension();
1669 elem.style[dimension] = this._getScrollDimensionValue(elem, dimension);
1670 };
1671
1672 Collapse.prototype.handleEntered = function handleEntered(elem) {
1673 var dimension = this._dimension();
1674 elem.style[dimension] = null;
1675 };
1676
1677 /* -- Collapsing -- */
1678
1679
1680 Collapse.prototype.handleExit = function handleExit(elem) {
1681 var dimension = this._dimension();
1682 elem.style[dimension] = this.props.getDimensionValue(dimension, elem) + 'px';
1683 triggerBrowserReflow(elem);
1684 };
1685
1686 Collapse.prototype.handleExiting = function handleExiting(elem) {
1687 var dimension = this._dimension();
1688 elem.style[dimension] = '0';
1689 };
1690
1691 Collapse.prototype._dimension = function _dimension() {
1692 return typeof this.props.dimension === 'function' ? this.props.dimension() : this.props.dimension;
1693 };
1694
1695 // for testing
1696
1697
1698 Collapse.prototype._getScrollDimensionValue = function _getScrollDimensionValue(elem, dimension) {
1699 return elem['scroll' + (0, _capitalize2["default"])(dimension)] + 'px';
1700 };
1701
1702 Collapse.prototype.render = function render() {
1703 var _props = this.props,
1704 onEnter = _props.onEnter,
1705 onEntering = _props.onEntering,
1706 onEntered = _props.onEntered,
1707 onExit = _props.onExit,
1708 onExiting = _props.onExiting,
1709 className = _props.className,
1710 props = _objectWithoutProperties(_props, ['onEnter', 'onEntering', 'onEntered', 'onExit', 'onExiting', 'className']);
1711
1712 delete props.dimension;
1713 delete props.getDimensionValue;
1714
1715 var handleEnter = (0, _tinperBeeCore.createChainedFunction)(this.handleEnter, onEnter);
1716 var handleEntering = (0, _tinperBeeCore.createChainedFunction)(this.handleEntering, onEntering);
1717 var handleEntered = (0, _tinperBeeCore.createChainedFunction)(this.handleEntered, onEntered);
1718 var handleExit = (0, _tinperBeeCore.createChainedFunction)(this.handleExit, onExit);
1719 var handleExiting = (0, _tinperBeeCore.createChainedFunction)(this.handleExiting, onExiting);
1720
1721 var classes = {
1722 width: this._dimension() === 'width'
1723 };
1724
1725 return _react2["default"].createElement(_Transition2["default"], _extends({}, props, {
1726 'aria-expanded': props.role ? props["in"] : null,
1727 className: (0, _classnames2["default"])(className, classes),
1728 exitedClassName: 'collapse',
1729 exitingClassName: 'collapsing',
1730 enteredClassName: 'collapse in',
1731 enteringClassName: 'collapsing',
1732 onEnter: handleEnter,
1733 onEntering: handleEntering,
1734 onEntered: handleEntered,
1735 onExit: handleExit,
1736 onExiting: handleExiting
1737 }));
1738 };
1739
1740 return Collapse;
1741 }(_react2["default"].Component);
1742
1743 Collapse.propTypes = propTypes;
1744 Collapse.defaultProps = defaultProps;
1745
1746 exports["default"] = Collapse;
1747 module.exports = exports['default'];
1748
1749/***/ }),
1750/* 17 */
1751/***/ (function(module, exports, __webpack_require__) {
1752
1753 'use strict';
1754
1755 Object.defineProperty(exports, "__esModule", {
1756 value: true
1757 });
1758 exports.default = style;
1759
1760 var _camelizeStyle = __webpack_require__(18);
1761
1762 var _camelizeStyle2 = _interopRequireDefault(_camelizeStyle);
1763
1764 var _hyphenateStyle = __webpack_require__(20);
1765
1766 var _hyphenateStyle2 = _interopRequireDefault(_hyphenateStyle);
1767
1768 var _getComputedStyle2 = __webpack_require__(22);
1769
1770 var _getComputedStyle3 = _interopRequireDefault(_getComputedStyle2);
1771
1772 var _removeStyle = __webpack_require__(23);
1773
1774 var _removeStyle2 = _interopRequireDefault(_removeStyle);
1775
1776 var _properties = __webpack_require__(13);
1777
1778 var _isTransform = __webpack_require__(24);
1779
1780 var _isTransform2 = _interopRequireDefault(_isTransform);
1781
1782 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
1783
1784 function style(node, property, value) {
1785 var css = '';
1786 var transforms = '';
1787 var props = property;
1788
1789 if (typeof property === 'string') {
1790 if (value === undefined) {
1791 return node.style[(0, _camelizeStyle2.default)(property)] || (0, _getComputedStyle3.default)(node).getPropertyValue((0, _hyphenateStyle2.default)(property));
1792 } else {
1793 (props = {})[property] = value;
1794 }
1795 }
1796
1797 Object.keys(props).forEach(function (key) {
1798 var value = props[key];
1799 if (!value && value !== 0) {
1800 (0, _removeStyle2.default)(node, (0, _hyphenateStyle2.default)(key));
1801 } else if ((0, _isTransform2.default)(key)) {
1802 transforms += key + '(' + value + ') ';
1803 } else {
1804 css += (0, _hyphenateStyle2.default)(key) + ': ' + value + ';';
1805 }
1806 });
1807
1808 if (transforms) {
1809 css += _properties.transform + ': ' + transforms + ';';
1810 }
1811
1812 node.style.cssText += ';' + css;
1813 }
1814 module.exports = exports['default'];
1815
1816/***/ }),
1817/* 18 */
1818/***/ (function(module, exports, __webpack_require__) {
1819
1820 'use strict';
1821
1822 Object.defineProperty(exports, "__esModule", {
1823 value: true
1824 });
1825 exports.default = camelizeStyleName;
1826
1827 var _camelize = __webpack_require__(19);
1828
1829 var _camelize2 = _interopRequireDefault(_camelize);
1830
1831 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
1832
1833 var msPattern = /^-ms-/; /**
1834 * Copyright 2014-2015, Facebook, Inc.
1835 * All rights reserved.
1836 * https://github.com/facebook/react/blob/2aeb8a2a6beb00617a4217f7f8284924fa2ad819/src/vendor/core/camelizeStyleName.js
1837 */
1838 function camelizeStyleName(string) {
1839 return (0, _camelize2.default)(string.replace(msPattern, 'ms-'));
1840 }
1841 module.exports = exports['default'];
1842
1843/***/ }),
1844/* 19 */
1845/***/ (function(module, exports) {
1846
1847 "use strict";
1848
1849 Object.defineProperty(exports, "__esModule", {
1850 value: true
1851 });
1852 exports.default = camelize;
1853 var rHyphen = /-(.)/g;
1854
1855 function camelize(string) {
1856 return string.replace(rHyphen, function (_, chr) {
1857 return chr.toUpperCase();
1858 });
1859 }
1860 module.exports = exports["default"];
1861
1862/***/ }),
1863/* 20 */
1864/***/ (function(module, exports, __webpack_require__) {
1865
1866 'use strict';
1867
1868 Object.defineProperty(exports, "__esModule", {
1869 value: true
1870 });
1871 exports.default = hyphenateStyleName;
1872
1873 var _hyphenate = __webpack_require__(21);
1874
1875 var _hyphenate2 = _interopRequireDefault(_hyphenate);
1876
1877 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
1878
1879 var msPattern = /^ms-/; /**
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
1885 function hyphenateStyleName(string) {
1886 return (0, _hyphenate2.default)(string).replace(msPattern, '-ms-');
1887 }
1888 module.exports = exports['default'];
1889
1890/***/ }),
1891/* 21 */
1892/***/ (function(module, exports) {
1893
1894 'use strict';
1895
1896 Object.defineProperty(exports, "__esModule", {
1897 value: true
1898 });
1899 exports.default = hyphenate;
1900
1901 var rUpper = /([A-Z])/g;
1902
1903 function hyphenate(string) {
1904 return string.replace(rUpper, '-$1').toLowerCase();
1905 }
1906 module.exports = exports['default'];
1907
1908/***/ }),
1909/* 22 */
1910/***/ (function(module, exports, __webpack_require__) {
1911
1912 'use strict';
1913
1914 Object.defineProperty(exports, "__esModule", {
1915 value: true
1916 });
1917 exports.default = _getComputedStyle;
1918
1919 var _camelizeStyle = __webpack_require__(18);
1920
1921 var _camelizeStyle2 = _interopRequireDefault(_camelizeStyle);
1922
1923 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
1924
1925 var rposition = /^(top|right|bottom|left)$/;
1926 var rnumnonpx = /^([+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|))(?!px)[a-z%]+$/i;
1927
1928 function _getComputedStyle(node) {
1929 if (!node) throw new TypeError('No Element passed to `getComputedStyle()`');
1930 var doc = node.ownerDocument;
1931
1932 return 'defaultView' in doc ? doc.defaultView.opener ? node.ownerDocument.defaultView.getComputedStyle(node, null) : window.getComputedStyle(node, null) : {
1933 //ie 8 "magic" from: https://github.com/jquery/jquery/blob/1.11-stable/src/css/curCSS.js#L72
1934 getPropertyValue: function getPropertyValue(prop) {
1935 var style = node.style;
1936
1937 prop = (0, _camelizeStyle2.default)(prop);
1938
1939 if (prop == 'float') prop = 'styleFloat';
1940
1941 var current = node.currentStyle[prop] || null;
1942
1943 if (current == null && style && style[prop]) current = style[prop];
1944
1945 if (rnumnonpx.test(current) && !rposition.test(prop)) {
1946 // Remember the original values
1947 var left = style.left;
1948 var runStyle = node.runtimeStyle;
1949 var rsLeft = runStyle && runStyle.left;
1950
1951 // Put in the new values to get a computed value out
1952 if (rsLeft) runStyle.left = node.currentStyle.left;
1953
1954 style.left = prop === 'fontSize' ? '1em' : current;
1955 current = style.pixelLeft + 'px';
1956
1957 // Revert the changed values
1958 style.left = left;
1959 if (rsLeft) runStyle.left = rsLeft;
1960 }
1961
1962 return current;
1963 }
1964 };
1965 }
1966 module.exports = exports['default'];
1967
1968/***/ }),
1969/* 23 */
1970/***/ (function(module, exports) {
1971
1972 'use strict';
1973
1974 Object.defineProperty(exports, "__esModule", {
1975 value: true
1976 });
1977 exports.default = removeStyle;
1978 function removeStyle(node, key) {
1979 return 'removeProperty' in node.style ? node.style.removeProperty(key) : node.style.removeAttribute(key);
1980 }
1981 module.exports = exports['default'];
1982
1983/***/ }),
1984/* 24 */
1985/***/ (function(module, exports) {
1986
1987 "use strict";
1988
1989 Object.defineProperty(exports, "__esModule", {
1990 value: true
1991 });
1992 exports.default = isTransform;
1993 var supportedTransforms = /^((translate|rotate|scale)(X|Y|Z|3d)?|matrix(3d)?|perspective|skew(X|Y)?)$/i;
1994
1995 function isTransform(property) {
1996 return !!(property && supportedTransforms.test(property));
1997 }
1998 module.exports = exports["default"];
1999
2000/***/ }),
2001/* 25 */
2002/***/ (function(module, exports) {
2003
2004 "use strict";
2005
2006 Object.defineProperty(exports, "__esModule", {
2007 value: true
2008 });
2009 exports["default"] = capitalize;
2010 function capitalize(string) {
2011 return "" + string.charAt(0).toUpperCase() + string.slice(1);
2012 }
2013 module.exports = exports["default"];
2014
2015/***/ }),
2016/* 26 */
2017/***/ (function(module, exports, __webpack_require__) {
2018
2019 'use strict';
2020
2021 exports.__esModule = true;
2022 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;
2023
2024 var _all2 = __webpack_require__(27);
2025
2026 var _all3 = _interopRequireDefault(_all2);
2027
2028 var _componentOrElement2 = __webpack_require__(29);
2029
2030 var _componentOrElement3 = _interopRequireDefault(_componentOrElement2);
2031
2032 var _deprecated2 = __webpack_require__(30);
2033
2034 var _deprecated3 = _interopRequireDefault(_deprecated2);
2035
2036 var _elementType2 = __webpack_require__(33);
2037
2038 var _elementType3 = _interopRequireDefault(_elementType2);
2039
2040 var _isRequiredForA11y2 = __webpack_require__(34);
2041
2042 var _isRequiredForA11y3 = _interopRequireDefault(_isRequiredForA11y2);
2043
2044 var _splitComponent2 = __webpack_require__(35);
2045
2046 var _splitComponent3 = _interopRequireDefault(_splitComponent2);
2047
2048 var _createChainedFunction2 = __webpack_require__(36);
2049
2050 var _createChainedFunction3 = _interopRequireDefault(_createChainedFunction2);
2051
2052 var _keyCode = __webpack_require__(37);
2053
2054 var _keyCode2 = _interopRequireDefault(_keyCode);
2055
2056 var _contains2 = __webpack_require__(38);
2057
2058 var _contains3 = _interopRequireDefault(_contains2);
2059
2060 var _addEventListener2 = __webpack_require__(39);
2061
2062 var _addEventListener3 = _interopRequireDefault(_addEventListener2);
2063
2064 var _cssAnimation2 = __webpack_require__(44);
2065
2066 var _cssAnimation3 = _interopRequireDefault(_cssAnimation2);
2067
2068 var _toArray2 = __webpack_require__(48);
2069
2070 var _toArray3 = _interopRequireDefault(_toArray2);
2071
2072 var _Align2 = __webpack_require__(49);
2073
2074 var _Align3 = _interopRequireDefault(_Align2);
2075
2076 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2077
2078 exports.all = _all3.default;
2079 exports.componentOrElement = _componentOrElement3.default;
2080 exports.deprecated = _deprecated3.default;
2081 exports.elementType = _elementType3.default;
2082 exports.isRequiredForA11y = _isRequiredForA11y3.default;
2083 exports.splitComponent = _splitComponent3.default;
2084 exports.createChainedFunction = _createChainedFunction3.default;
2085 exports.KeyCode = _keyCode2.default;
2086 exports.contains = _contains3.default;
2087 exports.addEventListener = _addEventListener3.default;
2088 exports.cssAnimation = _cssAnimation3.default;
2089 exports.toArray = _toArray3.default;
2090 //export getContainerRenderMixin from './getContainerRenderMixin';
2091
2092 exports.Align = _Align3.default;
2093
2094/***/ }),
2095/* 27 */
2096/***/ (function(module, exports, __webpack_require__) {
2097
2098 'use strict';
2099
2100 exports.__esModule = true;
2101 exports.default = all;
2102
2103 var _createChainableTypeChecker = __webpack_require__(28);
2104
2105 var _createChainableTypeChecker2 = _interopRequireDefault(_createChainableTypeChecker);
2106
2107 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2108
2109 function all() {
2110 for (var _len = arguments.length, validators = Array(_len), _key = 0; _key < _len; _key++) {
2111 validators[_key] = arguments[_key];
2112 }
2113
2114 function allPropTypes() {
2115 for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
2116 args[_key2] = arguments[_key2];
2117 }
2118
2119 var error = null;
2120
2121 validators.forEach(function (validator) {
2122 if (error != null) {
2123 return;
2124 }
2125
2126 var result = validator.apply(undefined, args);
2127 if (result != null) {
2128 error = result;
2129 }
2130 });
2131
2132 return error;
2133 }
2134
2135 return (0, _createChainableTypeChecker2.default)(allPropTypes);
2136 }
2137
2138/***/ }),
2139/* 28 */
2140/***/ (function(module, exports) {
2141
2142 'use strict';
2143
2144 exports.__esModule = true;
2145 exports.default = createChainableTypeChecker;
2146 /**
2147 * Copyright 2013-present, Facebook, Inc.
2148 * All rights reserved.
2149 *
2150 * This source code is licensed under the BSD-style license found in the
2151 * LICENSE file in the root directory of this source tree. An additional grant
2152 * of patent rights can be found in the PATENTS file in the same directory.
2153 */
2154
2155 // Mostly taken from ReactPropTypes.
2156
2157 function createChainableTypeChecker(validate) {
2158 function checkType(isRequired, props, propName, componentName, location, propFullName) {
2159 var componentNameSafe = componentName || '<<anonymous>>';
2160 var propFullNameSafe = propFullName || propName;
2161
2162 if (props[propName] == null) {
2163 if (isRequired) {
2164 return new Error('Required ' + location + ' `' + propFullNameSafe + '` was not specified ' + ('in `' + componentNameSafe + '`.'));
2165 }
2166
2167 return null;
2168 }
2169
2170 for (var _len = arguments.length, args = Array(_len > 6 ? _len - 6 : 0), _key = 6; _key < _len; _key++) {
2171 args[_key - 6] = arguments[_key];
2172 }
2173
2174 return validate.apply(undefined, [props, propName, componentNameSafe, location, propFullNameSafe].concat(args));
2175 }
2176
2177 var chainedCheckType = checkType.bind(null, false);
2178 chainedCheckType.isRequired = checkType.bind(null, true);
2179
2180 return chainedCheckType;
2181 }
2182
2183/***/ }),
2184/* 29 */
2185/***/ (function(module, exports, __webpack_require__) {
2186
2187 'use strict';
2188
2189 exports.__esModule = true;
2190
2191 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; };
2192
2193 var _react = __webpack_require__(4);
2194
2195 var _react2 = _interopRequireDefault(_react);
2196
2197 var _createChainableTypeChecker = __webpack_require__(28);
2198
2199 var _createChainableTypeChecker2 = _interopRequireDefault(_createChainableTypeChecker);
2200
2201 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2202
2203 function validate(props, propName, componentName, location, propFullName) {
2204 var propValue = props[propName];
2205 var propType = typeof propValue === 'undefined' ? 'undefined' : _typeof(propValue);
2206
2207 if (_react2.default.isValidElement(propValue)) {
2208 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.');
2209 }
2210
2211 if ((propType !== 'object' || typeof propValue.render !== 'function') && propValue.nodeType !== 1) {
2212 return new Error('Invalid ' + location + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected a ReactComponent or a ') + 'DOMElement.');
2213 }
2214
2215 return null;
2216 }
2217
2218 exports.default = (0, _createChainableTypeChecker2.default)(validate);
2219
2220/***/ }),
2221/* 30 */
2222/***/ (function(module, exports, __webpack_require__) {
2223
2224 'use strict';
2225
2226 exports.__esModule = true;
2227 exports.default = deprecated;
2228
2229 var _warning = __webpack_require__(31);
2230
2231 var _warning2 = _interopRequireDefault(_warning);
2232
2233 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2234
2235 var warned = {};
2236
2237 function deprecated(validator, reason) {
2238 return function validate(props, propName, componentName, location, propFullName) {
2239 var componentNameSafe = componentName || '<<anonymous>>';
2240 var propFullNameSafe = propFullName || propName;
2241
2242 if (props[propName] != null) {
2243 var messageKey = componentName + '.' + propName;
2244
2245 (0, _warning2.default)(warned[messageKey], 'The ' + location + ' `' + propFullNameSafe + '` of ' + ('`' + componentNameSafe + '` is deprecated. ' + reason + '.'));
2246
2247 warned[messageKey] = true;
2248 }
2249
2250 for (var _len = arguments.length, args = Array(_len > 5 ? _len - 5 : 0), _key = 5; _key < _len; _key++) {
2251 args[_key - 5] = arguments[_key];
2252 }
2253
2254 return validator.apply(undefined, [props, propName, componentName, location, propFullName].concat(args));
2255 };
2256 }
2257
2258 /* eslint-disable no-underscore-dangle */
2259 function _resetWarned() {
2260 warned = {};
2261 }
2262
2263 deprecated._resetWarned = _resetWarned;
2264 /* eslint-enable no-underscore-dangle */
2265
2266/***/ }),
2267/* 31 */
2268/***/ (function(module, exports, __webpack_require__) {
2269
2270 /* WEBPACK VAR INJECTION */(function(process) {/**
2271 * Copyright 2014-2015, Facebook, Inc.
2272 * All rights reserved.
2273 *
2274 * This source code is licensed under the BSD-style license found in the
2275 * LICENSE file in the root directory of this source tree. An additional grant
2276 * of patent rights can be found in the PATENTS file in the same directory.
2277 */
2278
2279 'use strict';
2280
2281 /**
2282 * Similar to invariant but only logs a warning if the condition is not met.
2283 * This can be used to log issues in development environments in critical
2284 * paths. Removing the logging code for production environments will keep the
2285 * same logic and follow the same code paths.
2286 */
2287
2288 var warning = function() {};
2289
2290 if (process.env.NODE_ENV !== 'production') {
2291 warning = function(condition, format, args) {
2292 var len = arguments.length;
2293 args = new Array(len > 2 ? len - 2 : 0);
2294 for (var key = 2; key < len; key++) {
2295 args[key - 2] = arguments[key];
2296 }
2297 if (format === undefined) {
2298 throw new Error(
2299 '`warning(condition, format, ...args)` requires a warning ' +
2300 'message argument'
2301 );
2302 }
2303
2304 if (format.length < 10 || (/^[s\W]*$/).test(format)) {
2305 throw new Error(
2306 'The warning format should be able to uniquely identify this ' +
2307 'warning. Please, use a more descriptive format than: ' + format
2308 );
2309 }
2310
2311 if (!condition) {
2312 var argIndex = 0;
2313 var message = 'Warning: ' +
2314 format.replace(/%s/g, function() {
2315 return args[argIndex++];
2316 });
2317 if (typeof console !== 'undefined') {
2318 console.error(message);
2319 }
2320 try {
2321 // This error was thrown as a convenience so that you can use this stack
2322 // to find the callsite that caused this warning to fire.
2323 throw new Error(message);
2324 } catch(x) {}
2325 }
2326 };
2327 }
2328
2329 module.exports = warning;
2330
2331 /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(32)))
2332
2333/***/ }),
2334/* 32 */
2335/***/ (function(module, exports) {
2336
2337 // shim for using process in browser
2338 var process = module.exports = {};
2339
2340 // cached from whatever global is present so that test runners that stub it
2341 // don't break things. But we need to wrap it in a try catch in case it is
2342 // wrapped in strict mode code which doesn't define any globals. It's inside a
2343 // function because try/catches deoptimize in certain engines.
2344
2345 var cachedSetTimeout;
2346 var cachedClearTimeout;
2347
2348 function defaultSetTimout() {
2349 throw new Error('setTimeout has not been defined');
2350 }
2351 function defaultClearTimeout () {
2352 throw new Error('clearTimeout has not been defined');
2353 }
2354 (function () {
2355 try {
2356 if (typeof setTimeout === 'function') {
2357 cachedSetTimeout = setTimeout;
2358 } else {
2359 cachedSetTimeout = defaultSetTimout;
2360 }
2361 } catch (e) {
2362 cachedSetTimeout = defaultSetTimout;
2363 }
2364 try {
2365 if (typeof clearTimeout === 'function') {
2366 cachedClearTimeout = clearTimeout;
2367 } else {
2368 cachedClearTimeout = defaultClearTimeout;
2369 }
2370 } catch (e) {
2371 cachedClearTimeout = defaultClearTimeout;
2372 }
2373 } ())
2374 function runTimeout(fun) {
2375 if (cachedSetTimeout === setTimeout) {
2376 //normal enviroments in sane situations
2377 return setTimeout(fun, 0);
2378 }
2379 // if setTimeout wasn't available but was latter defined
2380 if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {
2381 cachedSetTimeout = setTimeout;
2382 return setTimeout(fun, 0);
2383 }
2384 try {
2385 // when when somebody has screwed with setTimeout but no I.E. maddness
2386 return cachedSetTimeout(fun, 0);
2387 } catch(e){
2388 try {
2389 // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
2390 return cachedSetTimeout.call(null, fun, 0);
2391 } catch(e){
2392 // 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
2393 return cachedSetTimeout.call(this, fun, 0);
2394 }
2395 }
2396
2397
2398 }
2399 function runClearTimeout(marker) {
2400 if (cachedClearTimeout === clearTimeout) {
2401 //normal enviroments in sane situations
2402 return clearTimeout(marker);
2403 }
2404 // if clearTimeout wasn't available but was latter defined
2405 if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {
2406 cachedClearTimeout = clearTimeout;
2407 return clearTimeout(marker);
2408 }
2409 try {
2410 // when when somebody has screwed with setTimeout but no I.E. maddness
2411 return cachedClearTimeout(marker);
2412 } catch (e){
2413 try {
2414 // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
2415 return cachedClearTimeout.call(null, marker);
2416 } catch (e){
2417 // 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.
2418 // Some versions of I.E. have different rules for clearTimeout vs setTimeout
2419 return cachedClearTimeout.call(this, marker);
2420 }
2421 }
2422
2423
2424
2425 }
2426 var queue = [];
2427 var draining = false;
2428 var currentQueue;
2429 var queueIndex = -1;
2430
2431 function cleanUpNextTick() {
2432 if (!draining || !currentQueue) {
2433 return;
2434 }
2435 draining = false;
2436 if (currentQueue.length) {
2437 queue = currentQueue.concat(queue);
2438 } else {
2439 queueIndex = -1;
2440 }
2441 if (queue.length) {
2442 drainQueue();
2443 }
2444 }
2445
2446 function drainQueue() {
2447 if (draining) {
2448 return;
2449 }
2450 var timeout = runTimeout(cleanUpNextTick);
2451 draining = true;
2452
2453 var len = queue.length;
2454 while(len) {
2455 currentQueue = queue;
2456 queue = [];
2457 while (++queueIndex < len) {
2458 if (currentQueue) {
2459 currentQueue[queueIndex].run();
2460 }
2461 }
2462 queueIndex = -1;
2463 len = queue.length;
2464 }
2465 currentQueue = null;
2466 draining = false;
2467 runClearTimeout(timeout);
2468 }
2469
2470 process.nextTick = function (fun) {
2471 var args = new Array(arguments.length - 1);
2472 if (arguments.length > 1) {
2473 for (var i = 1; i < arguments.length; i++) {
2474 args[i - 1] = arguments[i];
2475 }
2476 }
2477 queue.push(new Item(fun, args));
2478 if (queue.length === 1 && !draining) {
2479 runTimeout(drainQueue);
2480 }
2481 };
2482
2483 // v8 likes predictible objects
2484 function Item(fun, array) {
2485 this.fun = fun;
2486 this.array = array;
2487 }
2488 Item.prototype.run = function () {
2489 this.fun.apply(null, this.array);
2490 };
2491 process.title = 'browser';
2492 process.browser = true;
2493 process.env = {};
2494 process.argv = [];
2495 process.version = ''; // empty string to avoid regexp issues
2496 process.versions = {};
2497
2498 function noop() {}
2499
2500 process.on = noop;
2501 process.addListener = noop;
2502 process.once = noop;
2503 process.off = noop;
2504 process.removeListener = noop;
2505 process.removeAllListeners = noop;
2506 process.emit = noop;
2507 process.prependListener = noop;
2508 process.prependOnceListener = noop;
2509
2510 process.listeners = function (name) { return [] }
2511
2512 process.binding = function (name) {
2513 throw new Error('process.binding is not supported');
2514 };
2515
2516 process.cwd = function () { return '/' };
2517 process.chdir = function (dir) {
2518 throw new Error('process.chdir is not supported');
2519 };
2520 process.umask = function() { return 0; };
2521
2522
2523/***/ }),
2524/* 33 */
2525/***/ (function(module, exports, __webpack_require__) {
2526
2527 'use strict';
2528
2529 exports.__esModule = true;
2530
2531 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; };
2532
2533 var _react = __webpack_require__(4);
2534
2535 var _react2 = _interopRequireDefault(_react);
2536
2537 var _createChainableTypeChecker = __webpack_require__(28);
2538
2539 var _createChainableTypeChecker2 = _interopRequireDefault(_createChainableTypeChecker);
2540
2541 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2542
2543 function elementType(props, propName, componentName, location, propFullName) {
2544 var propValue = props[propName];
2545 var propType = typeof propValue === 'undefined' ? 'undefined' : _typeof(propValue);
2546
2547 if (_react2.default.isValidElement(propValue)) {
2548 return new Error('Invalid ' + location + ' `' + propFullName + '` of type ReactElement ' + ('supplied to `' + componentName + '`, expected an element type (a string ') + 'or a ReactClass).');
2549 }
2550
2551 if (propType !== 'function' && propType !== 'string') {
2552 return new Error('Invalid ' + location + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected an element type (a string ') + 'or a ReactClass).');
2553 }
2554
2555 return null;
2556 }
2557
2558 exports.default = (0, _createChainableTypeChecker2.default)(elementType);
2559
2560/***/ }),
2561/* 34 */
2562/***/ (function(module, exports) {
2563
2564 'use strict';
2565
2566 exports.__esModule = true;
2567 exports.default = isRequiredForA11y;
2568 function isRequiredForA11y(validator) {
2569 return function validate(props, propName, componentName, location, propFullName) {
2570 var componentNameSafe = componentName || '<<anonymous>>';
2571 var propFullNameSafe = propFullName || propName;
2572
2573 if (props[propName] == null) {
2574 return new Error('The ' + location + ' `' + propFullNameSafe + '` is required to make ' + ('`' + componentNameSafe + '` accessible for users of assistive ') + 'technologies such as screen readers.');
2575 }
2576
2577 for (var _len = arguments.length, args = Array(_len > 5 ? _len - 5 : 0), _key = 5; _key < _len; _key++) {
2578 args[_key - 5] = arguments[_key];
2579 }
2580
2581 return validator.apply(undefined, [props, propName, componentName, location, propFullName].concat(args));
2582 };
2583 }
2584
2585/***/ }),
2586/* 35 */
2587/***/ (function(module, exports) {
2588
2589 "use strict";
2590
2591 exports.__esModule = true;
2592 exports.default = splitComponentProps;
2593 function _objectEntries(obj) {
2594 var entries = [];
2595 var keys = Object.keys(obj);
2596
2597 for (var k = 0; k < keys.length; ++k) {
2598 entries.push([keys[k], obj[keys[k]]]);
2599 }return entries;
2600 }
2601
2602 /**
2603 * 分割要传入父元素和子元素的props
2604 * @param {[object]} props 传入的属性
2605 * @param {[reactElement]} Component 组件
2606 * @return {[array]} 返回数组,第一个元素为父元素props对象,第二个子元素props对象
2607 */
2608 function splitComponentProps(props, Component) {
2609 var componentPropTypes = Component.propTypes;
2610
2611 var parentProps = {};
2612 var childProps = {};
2613
2614 _objectEntries(props).forEach(function (_ref) {
2615 var propName = _ref[0],
2616 propValue = _ref[1];
2617
2618 if (componentPropTypes[propName]) {
2619 parentProps[propName] = propValue;
2620 } else {
2621 childProps[propName] = propValue;
2622 }
2623 });
2624
2625 return [parentProps, childProps];
2626 }
2627
2628/***/ }),
2629/* 36 */
2630/***/ (function(module, exports) {
2631
2632 'use strict';
2633
2634 exports.__esModule = true;
2635 function createChainedFunction() {
2636 for (var _len = arguments.length, funcs = Array(_len), _key = 0; _key < _len; _key++) {
2637 funcs[_key] = arguments[_key];
2638 }
2639
2640 return funcs.filter(function (f) {
2641 return f != null;
2642 }).reduce(function (acc, f) {
2643 if (typeof f !== 'function') {
2644 throw new Error('Invalid Argument Type, must only provide functions, undefined, or null.');
2645 }
2646
2647 if (acc === null) {
2648 return f;
2649 }
2650
2651 return function chainedFunction() {
2652 for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
2653 args[_key2] = arguments[_key2];
2654 }
2655
2656 acc.apply(this, args);
2657 f.apply(this, args);
2658 };
2659 }, null);
2660 }
2661 exports.default = createChainedFunction;
2662
2663/***/ }),
2664/* 37 */
2665/***/ (function(module, exports) {
2666
2667 'use strict';
2668
2669 /**
2670 * @ignore
2671 * some key-codes definition and utils from closure-library
2672 * @author yiminghe@gmail.com
2673 */
2674
2675 var KeyCode = {
2676 /**
2677 * MAC_ENTER
2678 */
2679 MAC_ENTER: 3,
2680 /**
2681 * BACKSPACE
2682 */
2683 BACKSPACE: 8,
2684 /**
2685 * TAB
2686 */
2687 TAB: 9,
2688 /**
2689 * NUMLOCK on FF/Safari Mac
2690 */
2691 NUM_CENTER: 12, // NUMLOCK on FF/Safari Mac
2692 /**
2693 * ENTER
2694 */
2695 ENTER: 13,
2696 /**
2697 * SHIFT
2698 */
2699 SHIFT: 16,
2700 /**
2701 * CTRL
2702 */
2703 CTRL: 17,
2704 /**
2705 * ALT
2706 */
2707 ALT: 18,
2708 /**
2709 * PAUSE
2710 */
2711 PAUSE: 19,
2712 /**
2713 * CAPS_LOCK
2714 */
2715 CAPS_LOCK: 20,
2716 /**
2717 * ESC
2718 */
2719 ESC: 27,
2720 /**
2721 * SPACE
2722 */
2723 SPACE: 32,
2724 /**
2725 * PAGE_UP
2726 */
2727 PAGE_UP: 33, // also NUM_NORTH_EAST
2728 /**
2729 * PAGE_DOWN
2730 */
2731 PAGE_DOWN: 34, // also NUM_SOUTH_EAST
2732 /**
2733 * END
2734 */
2735 END: 35, // also NUM_SOUTH_WEST
2736 /**
2737 * HOME
2738 */
2739 HOME: 36, // also NUM_NORTH_WEST
2740 /**
2741 * LEFT
2742 */
2743 LEFT: 37, // also NUM_WEST
2744 /**
2745 * UP
2746 */
2747 UP: 38, // also NUM_NORTH
2748 /**
2749 * RIGHT
2750 */
2751 RIGHT: 39, // also NUM_EAST
2752 /**
2753 * DOWN
2754 */
2755 DOWN: 40, // also NUM_SOUTH
2756 /**
2757 * PRINT_SCREEN
2758 */
2759 PRINT_SCREEN: 44,
2760 /**
2761 * INSERT
2762 */
2763 INSERT: 45, // also NUM_INSERT
2764 /**
2765 * DELETE
2766 */
2767 DELETE: 46, // also NUM_DELETE
2768 /**
2769 * ZERO
2770 */
2771 ZERO: 48,
2772 /**
2773 * ONE
2774 */
2775 ONE: 49,
2776 /**
2777 * TWO
2778 */
2779 TWO: 50,
2780 /**
2781 * THREE
2782 */
2783 THREE: 51,
2784 /**
2785 * FOUR
2786 */
2787 FOUR: 52,
2788 /**
2789 * FIVE
2790 */
2791 FIVE: 53,
2792 /**
2793 * SIX
2794 */
2795 SIX: 54,
2796 /**
2797 * SEVEN
2798 */
2799 SEVEN: 55,
2800 /**
2801 * EIGHT
2802 */
2803 EIGHT: 56,
2804 /**
2805 * NINE
2806 */
2807 NINE: 57,
2808 /**
2809 * QUESTION_MARK
2810 */
2811 QUESTION_MARK: 63, // needs localization
2812 /**
2813 * A
2814 */
2815 A: 65,
2816 /**
2817 * B
2818 */
2819 B: 66,
2820 /**
2821 * C
2822 */
2823 C: 67,
2824 /**
2825 * D
2826 */
2827 D: 68,
2828 /**
2829 * E
2830 */
2831 E: 69,
2832 /**
2833 * F
2834 */
2835 F: 70,
2836 /**
2837 * G
2838 */
2839 G: 71,
2840 /**
2841 * H
2842 */
2843 H: 72,
2844 /**
2845 * I
2846 */
2847 I: 73,
2848 /**
2849 * J
2850 */
2851 J: 74,
2852 /**
2853 * K
2854 */
2855 K: 75,
2856 /**
2857 * L
2858 */
2859 L: 76,
2860 /**
2861 * M
2862 */
2863 M: 77,
2864 /**
2865 * N
2866 */
2867 N: 78,
2868 /**
2869 * O
2870 */
2871 O: 79,
2872 /**
2873 * P
2874 */
2875 P: 80,
2876 /**
2877 * Q
2878 */
2879 Q: 81,
2880 /**
2881 * R
2882 */
2883 R: 82,
2884 /**
2885 * S
2886 */
2887 S: 83,
2888 /**
2889 * T
2890 */
2891 T: 84,
2892 /**
2893 * U
2894 */
2895 U: 85,
2896 /**
2897 * V
2898 */
2899 V: 86,
2900 /**
2901 * W
2902 */
2903 W: 87,
2904 /**
2905 * X
2906 */
2907 X: 88,
2908 /**
2909 * Y
2910 */
2911 Y: 89,
2912 /**
2913 * Z
2914 */
2915 Z: 90,
2916 /**
2917 * META
2918 */
2919 META: 91, // WIN_KEY_LEFT
2920 /**
2921 * WIN_KEY_RIGHT
2922 */
2923 WIN_KEY_RIGHT: 92,
2924 /**
2925 * CONTEXT_MENU
2926 */
2927 CONTEXT_MENU: 93,
2928 /**
2929 * NUM_ZERO
2930 */
2931 NUM_ZERO: 96,
2932 /**
2933 * NUM_ONE
2934 */
2935 NUM_ONE: 97,
2936 /**
2937 * NUM_TWO
2938 */
2939 NUM_TWO: 98,
2940 /**
2941 * NUM_THREE
2942 */
2943 NUM_THREE: 99,
2944 /**
2945 * NUM_FOUR
2946 */
2947 NUM_FOUR: 100,
2948 /**
2949 * NUM_FIVE
2950 */
2951 NUM_FIVE: 101,
2952 /**
2953 * NUM_SIX
2954 */
2955 NUM_SIX: 102,
2956 /**
2957 * NUM_SEVEN
2958 */
2959 NUM_SEVEN: 103,
2960 /**
2961 * NUM_EIGHT
2962 */
2963 NUM_EIGHT: 104,
2964 /**
2965 * NUM_NINE
2966 */
2967 NUM_NINE: 105,
2968 /**
2969 * NUM_MULTIPLY
2970 */
2971 NUM_MULTIPLY: 106,
2972 /**
2973 * NUM_PLUS
2974 */
2975 NUM_PLUS: 107,
2976 /**
2977 * NUM_MINUS
2978 */
2979 NUM_MINUS: 109,
2980 /**
2981 * NUM_PERIOD
2982 */
2983 NUM_PERIOD: 110,
2984 /**
2985 * NUM_DIVISION
2986 */
2987 NUM_DIVISION: 111,
2988 /**
2989 * F1
2990 */
2991 F1: 112,
2992 /**
2993 * F2
2994 */
2995 F2: 113,
2996 /**
2997 * F3
2998 */
2999 F3: 114,
3000 /**
3001 * F4
3002 */
3003 F4: 115,
3004 /**
3005 * F5
3006 */
3007 F5: 116,
3008 /**
3009 * F6
3010 */
3011 F6: 117,
3012 /**
3013 * F7
3014 */
3015 F7: 118,
3016 /**
3017 * F8
3018 */
3019 F8: 119,
3020 /**
3021 * F9
3022 */
3023 F9: 120,
3024 /**
3025 * F10
3026 */
3027 F10: 121,
3028 /**
3029 * F11
3030 */
3031 F11: 122,
3032 /**
3033 * F12
3034 */
3035 F12: 123,
3036 /**
3037 * NUMLOCK
3038 */
3039 NUMLOCK: 144,
3040 /**
3041 * SEMICOLON
3042 */
3043 SEMICOLON: 186, // needs localization
3044 /**
3045 * DASH
3046 */
3047 DASH: 189, // needs localization
3048 /**
3049 * EQUALS
3050 */
3051 EQUALS: 187, // needs localization
3052 /**
3053 * COMMA
3054 */
3055 COMMA: 188, // needs localization
3056 /**
3057 * PERIOD
3058 */
3059 PERIOD: 190, // needs localization
3060 /**
3061 * SLASH
3062 */
3063 SLASH: 191, // needs localization
3064 /**
3065 * APOSTROPHE
3066 */
3067 APOSTROPHE: 192, // needs localization
3068 /**
3069 * SINGLE_QUOTE
3070 */
3071 SINGLE_QUOTE: 222, // needs localization
3072 /**
3073 * OPEN_SQUARE_BRACKET
3074 */
3075 OPEN_SQUARE_BRACKET: 219, // needs localization
3076 /**
3077 * BACKSLASH
3078 */
3079 BACKSLASH: 220, // needs localization
3080 /**
3081 * CLOSE_SQUARE_BRACKET
3082 */
3083 CLOSE_SQUARE_BRACKET: 221, // needs localization
3084 /**
3085 * WIN_KEY
3086 */
3087 WIN_KEY: 224,
3088 /**
3089 * MAC_FF_META
3090 */
3091 MAC_FF_META: 224, // Firefox (Gecko) fires this for the meta key instead of 91
3092 /**
3093 * WIN_IME
3094 */
3095 WIN_IME: 229
3096 };
3097
3098 /*
3099 whether text and modified key is entered at the same time.
3100 */
3101 KeyCode.isTextModifyingKeyEvent = function isTextModifyingKeyEvent(e) {
3102 var keyCode = e.keyCode;
3103 if (e.altKey && !e.ctrlKey || e.metaKey ||
3104 // Function keys don't generate text
3105 keyCode >= KeyCode.F1 && keyCode <= KeyCode.F12) {
3106 return false;
3107 }
3108
3109 // The following keys are quite harmless, even in combination with
3110 // CTRL, ALT or SHIFT.
3111 switch (keyCode) {
3112 case KeyCode.ALT:
3113 case KeyCode.CAPS_LOCK:
3114 case KeyCode.CONTEXT_MENU:
3115 case KeyCode.CTRL:
3116 case KeyCode.DOWN:
3117 case KeyCode.END:
3118 case KeyCode.ESC:
3119 case KeyCode.HOME:
3120 case KeyCode.INSERT:
3121 case KeyCode.LEFT:
3122 case KeyCode.MAC_FF_META:
3123 case KeyCode.META:
3124 case KeyCode.NUMLOCK:
3125 case KeyCode.NUM_CENTER:
3126 case KeyCode.PAGE_DOWN:
3127 case KeyCode.PAGE_UP:
3128 case KeyCode.PAUSE:
3129 case KeyCode.PRINT_SCREEN:
3130 case KeyCode.RIGHT:
3131 case KeyCode.SHIFT:
3132 case KeyCode.UP:
3133 case KeyCode.WIN_KEY:
3134 case KeyCode.WIN_KEY_RIGHT:
3135 return false;
3136 default:
3137 return true;
3138 }
3139 };
3140
3141 /*
3142 whether character is entered.
3143 */
3144 KeyCode.isCharacterKey = function isCharacterKey(keyCode) {
3145 if (keyCode >= KeyCode.ZERO && keyCode <= KeyCode.NINE) {
3146 return true;
3147 }
3148
3149 if (keyCode >= KeyCode.NUM_ZERO && keyCode <= KeyCode.NUM_MULTIPLY) {
3150 return true;
3151 }
3152
3153 if (keyCode >= KeyCode.A && keyCode <= KeyCode.Z) {
3154 return true;
3155 }
3156
3157 // Safari sends zero key code for non-latin characters.
3158 if (window.navigation.userAgent.indexOf('WebKit') !== -1 && keyCode === 0) {
3159 return true;
3160 }
3161
3162 switch (keyCode) {
3163 case KeyCode.SPACE:
3164 case KeyCode.QUESTION_MARK:
3165 case KeyCode.NUM_PLUS:
3166 case KeyCode.NUM_MINUS:
3167 case KeyCode.NUM_PERIOD:
3168 case KeyCode.NUM_DIVISION:
3169 case KeyCode.SEMICOLON:
3170 case KeyCode.DASH:
3171 case KeyCode.EQUALS:
3172 case KeyCode.COMMA:
3173 case KeyCode.PERIOD:
3174 case KeyCode.SLASH:
3175 case KeyCode.APOSTROPHE:
3176 case KeyCode.SINGLE_QUOTE:
3177 case KeyCode.OPEN_SQUARE_BRACKET:
3178 case KeyCode.BACKSLASH:
3179 case KeyCode.CLOSE_SQUARE_BRACKET:
3180 return true;
3181 default:
3182 return false;
3183 }
3184 };
3185
3186 module.exports = KeyCode;
3187
3188/***/ }),
3189/* 38 */
3190/***/ (function(module, exports) {
3191
3192 "use strict";
3193
3194 exports.__esModule = true;
3195 exports.default = contains;
3196 function contains(root, n) {
3197 var node = n;
3198 while (node) {
3199 if (node === root) {
3200 return true;
3201 }
3202 node = node.parentNode;
3203 }
3204
3205 return false;
3206 }
3207
3208/***/ }),
3209/* 39 */
3210/***/ (function(module, exports, __webpack_require__) {
3211
3212 'use strict';
3213
3214 exports.__esModule = true;
3215 exports.default = addEventListenerWrap;
3216
3217 var _addDomEventListener = __webpack_require__(40);
3218
3219 var _addDomEventListener2 = _interopRequireDefault(_addDomEventListener);
3220
3221 var _reactDom = __webpack_require__(12);
3222
3223 var _reactDom2 = _interopRequireDefault(_reactDom);
3224
3225 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
3226
3227 function addEventListenerWrap(target, eventType, cb) {
3228 /* eslint camelcase: 2 */
3229 var callback = _reactDom2.default.unstable_batchedUpdates ? function run(e) {
3230 _reactDom2.default.unstable_batchedUpdates(cb, e);
3231 } : cb;
3232 return (0, _addDomEventListener2.default)(target, eventType, callback);
3233 }
3234
3235/***/ }),
3236/* 40 */
3237/***/ (function(module, exports, __webpack_require__) {
3238
3239 'use strict';
3240
3241 Object.defineProperty(exports, "__esModule", {
3242 value: true
3243 });
3244 exports["default"] = addEventListener;
3245
3246 var _EventObject = __webpack_require__(41);
3247
3248 var _EventObject2 = _interopRequireDefault(_EventObject);
3249
3250 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
3251
3252 function addEventListener(target, eventType, callback) {
3253 function wrapCallback(e) {
3254 var ne = new _EventObject2["default"](e);
3255 callback.call(target, ne);
3256 }
3257
3258 if (target.addEventListener) {
3259 target.addEventListener(eventType, wrapCallback, false);
3260 return {
3261 remove: function remove() {
3262 target.removeEventListener(eventType, wrapCallback, false);
3263 }
3264 };
3265 } else if (target.attachEvent) {
3266 target.attachEvent('on' + eventType, wrapCallback);
3267 return {
3268 remove: function remove() {
3269 target.detachEvent('on' + eventType, wrapCallback);
3270 }
3271 };
3272 }
3273 }
3274 module.exports = exports['default'];
3275
3276/***/ }),
3277/* 41 */
3278/***/ (function(module, exports, __webpack_require__) {
3279
3280 'use strict';
3281
3282 Object.defineProperty(exports, "__esModule", {
3283 value: true
3284 });
3285
3286 var _EventBaseObject = __webpack_require__(42);
3287
3288 var _EventBaseObject2 = _interopRequireDefault(_EventBaseObject);
3289
3290 var _objectAssign = __webpack_require__(43);
3291
3292 var _objectAssign2 = _interopRequireDefault(_objectAssign);
3293
3294 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
3295
3296 /**
3297 * @ignore
3298 * event object for dom
3299 * @author yiminghe@gmail.com
3300 */
3301
3302 var TRUE = true;
3303 var FALSE = false;
3304 var commonProps = ['altKey', 'bubbles', 'cancelable', 'ctrlKey', 'currentTarget', 'eventPhase', 'metaKey', 'shiftKey', 'target', 'timeStamp', 'view', 'type'];
3305
3306 function isNullOrUndefined(w) {
3307 return w === null || w === undefined;
3308 }
3309
3310 var eventNormalizers = [{
3311 reg: /^key/,
3312 props: ['char', 'charCode', 'key', 'keyCode', 'which'],
3313 fix: function fix(event, nativeEvent) {
3314 if (isNullOrUndefined(event.which)) {
3315 event.which = !isNullOrUndefined(nativeEvent.charCode) ? nativeEvent.charCode : nativeEvent.keyCode;
3316 }
3317
3318 // add metaKey to non-Mac browsers (use ctrl for PC 's and Meta for Macs)
3319 if (event.metaKey === undefined) {
3320 event.metaKey = event.ctrlKey;
3321 }
3322 }
3323 }, {
3324 reg: /^touch/,
3325 props: ['touches', 'changedTouches', 'targetTouches']
3326 }, {
3327 reg: /^hashchange$/,
3328 props: ['newURL', 'oldURL']
3329 }, {
3330 reg: /^gesturechange$/i,
3331 props: ['rotation', 'scale']
3332 }, {
3333 reg: /^(mousewheel|DOMMouseScroll)$/,
3334 props: [],
3335 fix: function fix(event, nativeEvent) {
3336 var deltaX = void 0;
3337 var deltaY = void 0;
3338 var delta = void 0;
3339 var wheelDelta = nativeEvent.wheelDelta;
3340 var axis = nativeEvent.axis;
3341 var wheelDeltaY = nativeEvent.wheelDeltaY;
3342 var wheelDeltaX = nativeEvent.wheelDeltaX;
3343 var detail = nativeEvent.detail;
3344
3345 // ie/webkit
3346 if (wheelDelta) {
3347 delta = wheelDelta / 120;
3348 }
3349
3350 // gecko
3351 if (detail) {
3352 // press control e.detail == 1 else e.detail == 3
3353 delta = 0 - (detail % 3 === 0 ? detail / 3 : detail);
3354 }
3355
3356 // Gecko
3357 if (axis !== undefined) {
3358 if (axis === event.HORIZONTAL_AXIS) {
3359 deltaY = 0;
3360 deltaX = 0 - delta;
3361 } else if (axis === event.VERTICAL_AXIS) {
3362 deltaX = 0;
3363 deltaY = delta;
3364 }
3365 }
3366
3367 // Webkit
3368 if (wheelDeltaY !== undefined) {
3369 deltaY = wheelDeltaY / 120;
3370 }
3371 if (wheelDeltaX !== undefined) {
3372 deltaX = -1 * wheelDeltaX / 120;
3373 }
3374
3375 // 默认 deltaY (ie)
3376 if (!deltaX && !deltaY) {
3377 deltaY = delta;
3378 }
3379
3380 if (deltaX !== undefined) {
3381 /**
3382 * deltaX of mousewheel event
3383 * @property deltaX
3384 * @member Event.DomEvent.Object
3385 */
3386 event.deltaX = deltaX;
3387 }
3388
3389 if (deltaY !== undefined) {
3390 /**
3391 * deltaY of mousewheel event
3392 * @property deltaY
3393 * @member Event.DomEvent.Object
3394 */
3395 event.deltaY = deltaY;
3396 }
3397
3398 if (delta !== undefined) {
3399 /**
3400 * delta of mousewheel event
3401 * @property delta
3402 * @member Event.DomEvent.Object
3403 */
3404 event.delta = delta;
3405 }
3406 }
3407 }, {
3408 reg: /^mouse|contextmenu|click|mspointer|(^DOMMouseScroll$)/i,
3409 props: ['buttons', 'clientX', 'clientY', 'button', 'offsetX', 'relatedTarget', 'which', 'fromElement', 'toElement', 'offsetY', 'pageX', 'pageY', 'screenX', 'screenY'],
3410 fix: function fix(event, nativeEvent) {
3411 var eventDoc = void 0;
3412 var doc = void 0;
3413 var body = void 0;
3414 var target = event.target;
3415 var button = nativeEvent.button;
3416
3417 // Calculate pageX/Y if missing and clientX/Y available
3418 if (target && isNullOrUndefined(event.pageX) && !isNullOrUndefined(nativeEvent.clientX)) {
3419 eventDoc = target.ownerDocument || document;
3420 doc = eventDoc.documentElement;
3421 body = eventDoc.body;
3422 event.pageX = nativeEvent.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc && doc.clientLeft || body && body.clientLeft || 0);
3423 event.pageY = nativeEvent.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc && doc.clientTop || body && body.clientTop || 0);
3424 }
3425
3426 // which for click: 1 === left; 2 === middle; 3 === right
3427 // do not use button
3428 if (!event.which && button !== undefined) {
3429 if (button & 1) {
3430 event.which = 1;
3431 } else if (button & 2) {
3432 event.which = 3;
3433 } else if (button & 4) {
3434 event.which = 2;
3435 } else {
3436 event.which = 0;
3437 }
3438 }
3439
3440 // add relatedTarget, if necessary
3441 if (!event.relatedTarget && event.fromElement) {
3442 event.relatedTarget = event.fromElement === target ? event.toElement : event.fromElement;
3443 }
3444
3445 return event;
3446 }
3447 }];
3448
3449 function retTrue() {
3450 return TRUE;
3451 }
3452
3453 function retFalse() {
3454 return FALSE;
3455 }
3456
3457 function DomEventObject(nativeEvent) {
3458 var type = nativeEvent.type;
3459
3460 var isNative = typeof nativeEvent.stopPropagation === 'function' || typeof nativeEvent.cancelBubble === 'boolean';
3461
3462 _EventBaseObject2["default"].call(this);
3463
3464 this.nativeEvent = nativeEvent;
3465
3466 // in case dom event has been mark as default prevented by lower dom node
3467 var isDefaultPrevented = retFalse;
3468 if ('defaultPrevented' in nativeEvent) {
3469 isDefaultPrevented = nativeEvent.defaultPrevented ? retTrue : retFalse;
3470 } else if ('getPreventDefault' in nativeEvent) {
3471 // https://bugzilla.mozilla.org/show_bug.cgi?id=691151
3472 isDefaultPrevented = nativeEvent.getPreventDefault() ? retTrue : retFalse;
3473 } else if ('returnValue' in nativeEvent) {
3474 isDefaultPrevented = nativeEvent.returnValue === FALSE ? retTrue : retFalse;
3475 }
3476
3477 this.isDefaultPrevented = isDefaultPrevented;
3478
3479 var fixFns = [];
3480 var fixFn = void 0;
3481 var l = void 0;
3482 var prop = void 0;
3483 var props = commonProps.concat();
3484
3485 eventNormalizers.forEach(function (normalizer) {
3486 if (type.match(normalizer.reg)) {
3487 props = props.concat(normalizer.props);
3488 if (normalizer.fix) {
3489 fixFns.push(normalizer.fix);
3490 }
3491 }
3492 });
3493
3494 l = props.length;
3495
3496 // clone properties of the original event object
3497 while (l) {
3498 prop = props[--l];
3499 this[prop] = nativeEvent[prop];
3500 }
3501
3502 // fix target property, if necessary
3503 if (!this.target && isNative) {
3504 this.target = nativeEvent.srcElement || document; // srcElement might not be defined either
3505 }
3506
3507 // check if target is a text node (safari)
3508 if (this.target && this.target.nodeType === 3) {
3509 this.target = this.target.parentNode;
3510 }
3511
3512 l = fixFns.length;
3513
3514 while (l) {
3515 fixFn = fixFns[--l];
3516 fixFn(this, nativeEvent);
3517 }
3518
3519 this.timeStamp = nativeEvent.timeStamp || Date.now();
3520 }
3521
3522 var EventBaseObjectProto = _EventBaseObject2["default"].prototype;
3523
3524 (0, _objectAssign2["default"])(DomEventObject.prototype, EventBaseObjectProto, {
3525 constructor: DomEventObject,
3526
3527 preventDefault: function preventDefault() {
3528 var e = this.nativeEvent;
3529
3530 // if preventDefault exists run it on the original event
3531 if (e.preventDefault) {
3532 e.preventDefault();
3533 } else {
3534 // otherwise set the returnValue property of the original event to FALSE (IE)
3535 e.returnValue = FALSE;
3536 }
3537
3538 EventBaseObjectProto.preventDefault.call(this);
3539 },
3540 stopPropagation: function stopPropagation() {
3541 var e = this.nativeEvent;
3542
3543 // if stopPropagation exists run it on the original event
3544 if (e.stopPropagation) {
3545 e.stopPropagation();
3546 } else {
3547 // otherwise set the cancelBubble property of the original event to TRUE (IE)
3548 e.cancelBubble = TRUE;
3549 }
3550
3551 EventBaseObjectProto.stopPropagation.call(this);
3552 }
3553 });
3554
3555 exports["default"] = DomEventObject;
3556 module.exports = exports['default'];
3557
3558/***/ }),
3559/* 42 */
3560/***/ (function(module, exports) {
3561
3562 "use strict";
3563
3564 Object.defineProperty(exports, "__esModule", {
3565 value: true
3566 });
3567 /**
3568 * @ignore
3569 * base event object for custom and dom event.
3570 * @author yiminghe@gmail.com
3571 */
3572
3573 function returnFalse() {
3574 return false;
3575 }
3576
3577 function returnTrue() {
3578 return true;
3579 }
3580
3581 function EventBaseObject() {
3582 this.timeStamp = Date.now();
3583 this.target = undefined;
3584 this.currentTarget = undefined;
3585 }
3586
3587 EventBaseObject.prototype = {
3588 isEventObject: 1,
3589
3590 constructor: EventBaseObject,
3591
3592 isDefaultPrevented: returnFalse,
3593
3594 isPropagationStopped: returnFalse,
3595
3596 isImmediatePropagationStopped: returnFalse,
3597
3598 preventDefault: function preventDefault() {
3599 this.isDefaultPrevented = returnTrue;
3600 },
3601 stopPropagation: function stopPropagation() {
3602 this.isPropagationStopped = returnTrue;
3603 },
3604 stopImmediatePropagation: function stopImmediatePropagation() {
3605 this.isImmediatePropagationStopped = returnTrue;
3606 // fixed 1.2
3607 // call stopPropagation implicitly
3608 this.stopPropagation();
3609 },
3610 halt: function halt(immediate) {
3611 if (immediate) {
3612 this.stopImmediatePropagation();
3613 } else {
3614 this.stopPropagation();
3615 }
3616 this.preventDefault();
3617 }
3618 };
3619
3620 exports["default"] = EventBaseObject;
3621 module.exports = exports['default'];
3622
3623/***/ }),
3624/* 43 */
3625/***/ (function(module, exports) {
3626
3627 /*
3628 object-assign
3629 (c) Sindre Sorhus
3630 @license MIT
3631 */
3632
3633 'use strict';
3634 /* eslint-disable no-unused-vars */
3635 var getOwnPropertySymbols = Object.getOwnPropertySymbols;
3636 var hasOwnProperty = Object.prototype.hasOwnProperty;
3637 var propIsEnumerable = Object.prototype.propertyIsEnumerable;
3638
3639 function toObject(val) {
3640 if (val === null || val === undefined) {
3641 throw new TypeError('Object.assign cannot be called with null or undefined');
3642 }
3643
3644 return Object(val);
3645 }
3646
3647 function shouldUseNative() {
3648 try {
3649 if (!Object.assign) {
3650 return false;
3651 }
3652
3653 // Detect buggy property enumeration order in older V8 versions.
3654
3655 // https://bugs.chromium.org/p/v8/issues/detail?id=4118
3656 var test1 = new String('abc'); // eslint-disable-line no-new-wrappers
3657 test1[5] = 'de';
3658 if (Object.getOwnPropertyNames(test1)[0] === '5') {
3659 return false;
3660 }
3661
3662 // https://bugs.chromium.org/p/v8/issues/detail?id=3056
3663 var test2 = {};
3664 for (var i = 0; i < 10; i++) {
3665 test2['_' + String.fromCharCode(i)] = i;
3666 }
3667 var order2 = Object.getOwnPropertyNames(test2).map(function (n) {
3668 return test2[n];
3669 });
3670 if (order2.join('') !== '0123456789') {
3671 return false;
3672 }
3673
3674 // https://bugs.chromium.org/p/v8/issues/detail?id=3056
3675 var test3 = {};
3676 'abcdefghijklmnopqrst'.split('').forEach(function (letter) {
3677 test3[letter] = letter;
3678 });
3679 if (Object.keys(Object.assign({}, test3)).join('') !==
3680 'abcdefghijklmnopqrst') {
3681 return false;
3682 }
3683
3684 return true;
3685 } catch (err) {
3686 // We don't expect any of the above to throw, but better to be safe.
3687 return false;
3688 }
3689 }
3690
3691 module.exports = shouldUseNative() ? Object.assign : function (target, source) {
3692 var from;
3693 var to = toObject(target);
3694 var symbols;
3695
3696 for (var s = 1; s < arguments.length; s++) {
3697 from = Object(arguments[s]);
3698
3699 for (var key in from) {
3700 if (hasOwnProperty.call(from, key)) {
3701 to[key] = from[key];
3702 }
3703 }
3704
3705 if (getOwnPropertySymbols) {
3706 symbols = getOwnPropertySymbols(from);
3707 for (var i = 0; i < symbols.length; i++) {
3708 if (propIsEnumerable.call(from, symbols[i])) {
3709 to[symbols[i]] = from[symbols[i]];
3710 }
3711 }
3712 }
3713 }
3714
3715 return to;
3716 };
3717
3718
3719/***/ }),
3720/* 44 */
3721/***/ (function(module, exports, __webpack_require__) {
3722
3723 'use strict';
3724
3725 exports.__esModule = true;
3726
3727 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; };
3728
3729 var _Event = __webpack_require__(45);
3730
3731 var _Event2 = _interopRequireDefault(_Event);
3732
3733 var _componentClasses = __webpack_require__(46);
3734
3735 var _componentClasses2 = _interopRequireDefault(_componentClasses);
3736
3737 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
3738
3739 var isCssAnimationSupported = _Event2.default.endEvents.length !== 0;
3740
3741
3742 var capitalPrefixes = ['Webkit', 'Moz', 'O',
3743 // ms is special .... !
3744 'ms'];
3745 var prefixes = ['-webkit-', '-moz-', '-o-', 'ms-', ''];
3746
3747 function getStyleProperty(node, name) {
3748 var style = window.getComputedStyle(node);
3749
3750 var ret = '';
3751 for (var i = 0; i < prefixes.length; i++) {
3752 ret = style.getPropertyValue(prefixes[i] + name);
3753 if (ret) {
3754 break;
3755 }
3756 }
3757 return ret;
3758 }
3759
3760 function fixBrowserByTimeout(node) {
3761 if (isCssAnimationSupported) {
3762 var transitionDelay = parseFloat(getStyleProperty(node, 'transition-delay')) || 0;
3763 var transitionDuration = parseFloat(getStyleProperty(node, 'transition-duration')) || 0;
3764 var animationDelay = parseFloat(getStyleProperty(node, 'animation-delay')) || 0;
3765 var animationDuration = parseFloat(getStyleProperty(node, 'animation-duration')) || 0;
3766 var time = Math.max(transitionDuration + transitionDelay, animationDuration + animationDelay);
3767 // sometimes, browser bug
3768 node.rcEndAnimTimeout = setTimeout(function () {
3769 node.rcEndAnimTimeout = null;
3770 if (node.rcEndListener) {
3771 node.rcEndListener();
3772 }
3773 }, time * 1000 + 200);
3774 }
3775 }
3776
3777 function clearBrowserBugTimeout(node) {
3778 if (node.rcEndAnimTimeout) {
3779 clearTimeout(node.rcEndAnimTimeout);
3780 node.rcEndAnimTimeout = null;
3781 }
3782 }
3783
3784 var cssAnimation = function cssAnimation(node, transitionName, endCallback) {
3785 var nameIsObj = (typeof transitionName === 'undefined' ? 'undefined' : _typeof(transitionName)) === 'object';
3786 var className = nameIsObj ? transitionName.name : transitionName;
3787 var activeClassName = nameIsObj ? transitionName.active : transitionName + '-active';
3788 var end = endCallback;
3789 var start = void 0;
3790 var active = void 0;
3791 var nodeClasses = (0, _componentClasses2.default)(node);
3792
3793 if (endCallback && Object.prototype.toString.call(endCallback) === '[object Object]') {
3794 end = endCallback.end;
3795 start = endCallback.start;
3796 active = endCallback.active;
3797 }
3798
3799 if (node.rcEndListener) {
3800 node.rcEndListener();
3801 }
3802
3803 node.rcEndListener = function (e) {
3804 if (e && e.target !== node) {
3805 return;
3806 }
3807
3808 if (node.rcAnimTimeout) {
3809 clearTimeout(node.rcAnimTimeout);
3810 node.rcAnimTimeout = null;
3811 }
3812
3813 clearBrowserBugTimeout(node);
3814
3815 nodeClasses.remove(className);
3816 nodeClasses.remove(activeClassName);
3817
3818 _Event2.default.removeEndEventListener(node, node.rcEndListener);
3819 node.rcEndListener = null;
3820
3821 // Usually this optional end is used for informing an owner of
3822 // a leave animation and telling it to remove the child.
3823 if (end) {
3824 end();
3825 }
3826 };
3827
3828 _Event2.default.addEndEventListener(node, node.rcEndListener);
3829
3830 if (start) {
3831 start();
3832 }
3833 nodeClasses.add(className);
3834
3835 node.rcAnimTimeout = setTimeout(function () {
3836 node.rcAnimTimeout = null;
3837 nodeClasses.add(activeClassName);
3838 if (active) {
3839 setTimeout(active, 0);
3840 }
3841 fixBrowserByTimeout(node);
3842 // 30ms for firefox
3843 }, 30);
3844
3845 return {
3846 stop: function stop() {
3847 if (node.rcEndListener) {
3848 node.rcEndListener();
3849 }
3850 }
3851 };
3852 };
3853
3854 cssAnimation.style = function (node, style, callback) {
3855 if (node.rcEndListener) {
3856 node.rcEndListener();
3857 }
3858
3859 node.rcEndListener = function (e) {
3860 if (e && e.target !== node) {
3861 return;
3862 }
3863
3864 if (node.rcAnimTimeout) {
3865 clearTimeout(node.rcAnimTimeout);
3866 node.rcAnimTimeout = null;
3867 }
3868
3869 clearBrowserBugTimeout(node);
3870
3871 _Event2.default.removeEndEventListener(node, node.rcEndListener);
3872 node.rcEndListener = null;
3873
3874 // Usually this optional callback is used for informing an owner of
3875 // a leave animation and telling it to remove the child.
3876 if (callback) {
3877 callback();
3878 }
3879 };
3880
3881 _Event2.default.addEndEventListener(node, node.rcEndListener);
3882
3883 node.rcAnimTimeout = setTimeout(function () {
3884 for (var s in style) {
3885 if (style.hasOwnProperty(s)) {
3886 node.style[s] = style[s];
3887 }
3888 }
3889 node.rcAnimTimeout = null;
3890 fixBrowserByTimeout(node);
3891 }, 0);
3892 };
3893
3894 cssAnimation.setTransition = function (node, p, value) {
3895 var property = p;
3896 var v = value;
3897 if (value === undefined) {
3898 v = property;
3899 property = '';
3900 }
3901 property = property || '';
3902 capitalPrefixes.forEach(function (prefix) {
3903 node.style[prefix + 'Transition' + property] = v;
3904 });
3905 };
3906
3907 cssAnimation.isCssAnimationSupported = isCssAnimationSupported;
3908
3909 exports.default = cssAnimation;
3910
3911/***/ }),
3912/* 45 */
3913/***/ (function(module, exports) {
3914
3915 'use strict';
3916
3917 exports.__esModule = true;
3918 var EVENT_NAME_MAP = {
3919 transitionend: {
3920 transition: 'transitionend',
3921 WebkitTransition: 'webkitTransitionEnd',
3922 MozTransition: 'mozTransitionEnd',
3923 OTransition: 'oTransitionEnd',
3924 msTransition: 'MSTransitionEnd'
3925 },
3926
3927 animationend: {
3928 animation: 'animationend',
3929 WebkitAnimation: 'webkitAnimationEnd',
3930 MozAnimation: 'mozAnimationEnd',
3931 OAnimation: 'oAnimationEnd',
3932 msAnimation: 'MSAnimationEnd'
3933 }
3934 };
3935
3936 var endEvents = [];
3937
3938 function detectEvents() {
3939 var testEl = document.createElement('div');
3940 var style = testEl.style;
3941
3942 if (!('AnimationEvent' in window)) {
3943 delete EVENT_NAME_MAP.animationend.animation;
3944 }
3945
3946 if (!('TransitionEvent' in window)) {
3947 delete EVENT_NAME_MAP.transitionend.transition;
3948 }
3949
3950 for (var baseEventName in EVENT_NAME_MAP) {
3951 if (EVENT_NAME_MAP.hasOwnProperty(baseEventName)) {
3952 var baseEvents = EVENT_NAME_MAP[baseEventName];
3953 for (var styleName in baseEvents) {
3954 if (styleName in style) {
3955 endEvents.push(baseEvents[styleName]);
3956 break;
3957 }
3958 }
3959 }
3960 }
3961 }
3962
3963 if (typeof window !== 'undefined' && typeof document !== 'undefined') {
3964 detectEvents();
3965 }
3966
3967 function addEventListener(node, eventName, eventListener) {
3968 node.addEventListener(eventName, eventListener, false);
3969 }
3970
3971 function removeEventListener(node, eventName, eventListener) {
3972 node.removeEventListener(eventName, eventListener, false);
3973 }
3974
3975 var TransitionEvents = {
3976 addEndEventListener: function addEndEventListener(node, eventListener) {
3977 if (endEvents.length === 0) {
3978 window.setTimeout(eventListener, 0);
3979 return;
3980 }
3981 endEvents.forEach(function (endEvent) {
3982 addEventListener(node, endEvent, eventListener);
3983 });
3984 },
3985
3986
3987 endEvents: endEvents,
3988
3989 removeEndEventListener: function removeEndEventListener(node, eventListener) {
3990 if (endEvents.length === 0) {
3991 return;
3992 }
3993 endEvents.forEach(function (endEvent) {
3994 removeEventListener(node, endEvent, eventListener);
3995 });
3996 }
3997 };
3998
3999 exports.default = TransitionEvents;
4000
4001/***/ }),
4002/* 46 */
4003/***/ (function(module, exports, __webpack_require__) {
4004
4005 /**
4006 * Module dependencies.
4007 */
4008
4009 try {
4010 var index = __webpack_require__(47);
4011 } catch (err) {
4012 var index = __webpack_require__(47);
4013 }
4014
4015 /**
4016 * Whitespace regexp.
4017 */
4018
4019 var re = /\s+/;
4020
4021 /**
4022 * toString reference.
4023 */
4024
4025 var toString = Object.prototype.toString;
4026
4027 /**
4028 * Wrap `el` in a `ClassList`.
4029 *
4030 * @param {Element} el
4031 * @return {ClassList}
4032 * @api public
4033 */
4034
4035 module.exports = function(el){
4036 return new ClassList(el);
4037 };
4038
4039 /**
4040 * Initialize a new ClassList for `el`.
4041 *
4042 * @param {Element} el
4043 * @api private
4044 */
4045
4046 function ClassList(el) {
4047 if (!el || !el.nodeType) {
4048 throw new Error('A DOM element reference is required');
4049 }
4050 this.el = el;
4051 this.list = el.classList;
4052 }
4053
4054 /**
4055 * Add class `name` if not already present.
4056 *
4057 * @param {String} name
4058 * @return {ClassList}
4059 * @api public
4060 */
4061
4062 ClassList.prototype.add = function(name){
4063 // classList
4064 if (this.list) {
4065 this.list.add(name);
4066 return this;
4067 }
4068
4069 // fallback
4070 var arr = this.array();
4071 var i = index(arr, name);
4072 if (!~i) arr.push(name);
4073 this.el.className = arr.join(' ');
4074 return this;
4075 };
4076
4077 /**
4078 * Remove class `name` when present, or
4079 * pass a regular expression to remove
4080 * any which match.
4081 *
4082 * @param {String|RegExp} name
4083 * @return {ClassList}
4084 * @api public
4085 */
4086
4087 ClassList.prototype.remove = function(name){
4088 if ('[object RegExp]' == toString.call(name)) {
4089 return this.removeMatching(name);
4090 }
4091
4092 // classList
4093 if (this.list) {
4094 this.list.remove(name);
4095 return this;
4096 }
4097
4098 // fallback
4099 var arr = this.array();
4100 var i = index(arr, name);
4101 if (~i) arr.splice(i, 1);
4102 this.el.className = arr.join(' ');
4103 return this;
4104 };
4105
4106 /**
4107 * Remove all classes matching `re`.
4108 *
4109 * @param {RegExp} re
4110 * @return {ClassList}
4111 * @api private
4112 */
4113
4114 ClassList.prototype.removeMatching = function(re){
4115 var arr = this.array();
4116 for (var i = 0; i < arr.length; i++) {
4117 if (re.test(arr[i])) {
4118 this.remove(arr[i]);
4119 }
4120 }
4121 return this;
4122 };
4123
4124 /**
4125 * Toggle class `name`, can force state via `force`.
4126 *
4127 * For browsers that support classList, but do not support `force` yet,
4128 * the mistake will be detected and corrected.
4129 *
4130 * @param {String} name
4131 * @param {Boolean} force
4132 * @return {ClassList}
4133 * @api public
4134 */
4135
4136 ClassList.prototype.toggle = function(name, force){
4137 // classList
4138 if (this.list) {
4139 if ("undefined" !== typeof force) {
4140 if (force !== this.list.toggle(name, force)) {
4141 this.list.toggle(name); // toggle again to correct
4142 }
4143 } else {
4144 this.list.toggle(name);
4145 }
4146 return this;
4147 }
4148
4149 // fallback
4150 if ("undefined" !== typeof force) {
4151 if (!force) {
4152 this.remove(name);
4153 } else {
4154 this.add(name);
4155 }
4156 } else {
4157 if (this.has(name)) {
4158 this.remove(name);
4159 } else {
4160 this.add(name);
4161 }
4162 }
4163
4164 return this;
4165 };
4166
4167 /**
4168 * Return an array of classes.
4169 *
4170 * @return {Array}
4171 * @api public
4172 */
4173
4174 ClassList.prototype.array = function(){
4175 var className = this.el.getAttribute('class') || '';
4176 var str = className.replace(/^\s+|\s+$/g, '');
4177 var arr = str.split(re);
4178 if ('' === arr[0]) arr.shift();
4179 return arr;
4180 };
4181
4182 /**
4183 * Check if class `name` is present.
4184 *
4185 * @param {String} name
4186 * @return {ClassList}
4187 * @api public
4188 */
4189
4190 ClassList.prototype.has =
4191 ClassList.prototype.contains = function(name){
4192 return this.list
4193 ? this.list.contains(name)
4194 : !! ~index(this.array(), name);
4195 };
4196
4197
4198/***/ }),
4199/* 47 */
4200/***/ (function(module, exports) {
4201
4202 module.exports = function(arr, obj){
4203 if (arr.indexOf) return arr.indexOf(obj);
4204 for (var i = 0; i < arr.length; ++i) {
4205 if (arr[i] === obj) return i;
4206 }
4207 return -1;
4208 };
4209
4210/***/ }),
4211/* 48 */
4212/***/ (function(module, exports, __webpack_require__) {
4213
4214 'use strict';
4215
4216 exports.__esModule = true;
4217 exports.default = toArray;
4218
4219 var _react = __webpack_require__(4);
4220
4221 var _react2 = _interopRequireDefault(_react);
4222
4223 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4224
4225 function toArray(children) {
4226 var ret = [];
4227 _react2.default.Children.forEach(children, function (c) {
4228 ret.push(c);
4229 });
4230 return ret;
4231 }
4232
4233/***/ }),
4234/* 49 */
4235/***/ (function(module, exports, __webpack_require__) {
4236
4237 'use strict';
4238
4239 exports.__esModule = true;
4240
4241 var _react = __webpack_require__(4);
4242
4243 var _react2 = _interopRequireDefault(_react);
4244
4245 var _propTypes = __webpack_require__(5);
4246
4247 var _propTypes2 = _interopRequireDefault(_propTypes);
4248
4249 var _reactDom = __webpack_require__(12);
4250
4251 var _reactDom2 = _interopRequireDefault(_reactDom);
4252
4253 var _domAlign = __webpack_require__(50);
4254
4255 var _domAlign2 = _interopRequireDefault(_domAlign);
4256
4257 var _addEventListener = __webpack_require__(39);
4258
4259 var _addEventListener2 = _interopRequireDefault(_addEventListener);
4260
4261 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4262
4263 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
4264
4265 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; }
4266
4267 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; }
4268
4269 //import isWindow from './isWindow';
4270
4271 function isWindow(obj) {
4272 /* eslint no-eq-null: 0 */
4273 /* eslint eqeqeq: 0 */
4274 return obj != null && obj == obj.window;
4275 }
4276
4277 function buffer(fn, ms) {
4278 var timer = void 0;
4279
4280 function clear() {
4281 if (timer) {
4282 clearTimeout(timer);
4283 timer = null;
4284 }
4285 }
4286
4287 function bufferFn() {
4288 clear();
4289 timer = setTimeout(fn, ms);
4290 }
4291
4292 bufferFn.clear = clear;
4293
4294 return bufferFn;
4295 }
4296
4297 var propTypes = {
4298 childrenProps: _propTypes2.default.object,
4299 align: _propTypes2.default.object.isRequired,
4300 target: _propTypes2.default.func,
4301 onAlign: _propTypes2.default.func,
4302 monitorBufferTime: _propTypes2.default.number,
4303 monitorWindowResize: _propTypes2.default.bool,
4304 disabled: _propTypes2.default.bool,
4305 children: _propTypes2.default.any
4306 };
4307
4308 var defaultProps = {
4309 target: function target() {
4310 return window;
4311 },
4312 onAlign: function onAlign() {},
4313
4314 monitorBufferTime: 50,
4315 monitorWindowResize: false,
4316 disabled: false
4317 };
4318
4319 var Align = function (_React$Component) {
4320 _inherits(Align, _React$Component);
4321
4322 function Align(props) {
4323 _classCallCheck(this, Align);
4324
4325 var _this = _possibleConstructorReturn(this, _React$Component.call(this, props));
4326
4327 _initialiseProps.call(_this);
4328
4329 return _this;
4330 }
4331
4332 Align.prototype.componentDidMount = function componentDidMount() {
4333 var props = this.props;
4334 // if parent ref not attached .... use document.getElementById
4335 this.forceAlign();
4336 if (!props.disabled && props.monitorWindowResize) {
4337 this.startMonitorWindowResize();
4338 }
4339 };
4340
4341 Align.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {
4342 var reAlign = false;
4343 var props = this.props;
4344
4345 if (!props.disabled) {
4346 if (prevProps.disabled || prevProps.align !== props.align) {
4347 reAlign = true;
4348 } else {
4349 var lastTarget = prevProps.target();
4350 var currentTarget = props.target();
4351 if (isWindow(lastTarget) && isWindow(currentTarget)) {
4352 reAlign = false;
4353 } else if (lastTarget !== currentTarget) {
4354 reAlign = true;
4355 }
4356 }
4357 }
4358
4359 if (reAlign) {
4360 this.forceAlign();
4361 }
4362
4363 if (props.monitorWindowResize && !props.disabled) {
4364 this.startMonitorWindowResize();
4365 } else {
4366 this.stopMonitorWindowResize();
4367 }
4368 };
4369
4370 Align.prototype.componentWillUnmount = function componentWillUnmount() {
4371 this.stopMonitorWindowResize();
4372 };
4373
4374 Align.prototype.render = function render() {
4375 var _props = this.props,
4376 childrenProps = _props.childrenProps,
4377 children = _props.children;
4378
4379 var child = _react2.default.Children.only(children);
4380 if (childrenProps) {
4381 var newProps = {};
4382 for (var prop in childrenProps) {
4383 if (childrenProps.hasOwnProperty(prop)) {
4384 newProps[prop] = this.props[childrenProps[prop]];
4385 }
4386 }
4387 return _react2.default.cloneElement(child, newProps);
4388 }
4389 return child;
4390 };
4391
4392 return Align;
4393 }(_react2.default.Component);
4394
4395 var _initialiseProps = function _initialiseProps() {
4396 var _this2 = this;
4397
4398 this.startMonitorWindowResize = function () {
4399 if (!_this2.resizeHandler) {
4400 _this2.bufferMonitor = buffer(_this2.forceAlign, _this2.props.monitorBufferTime);
4401 _this2.resizeHandler = (0, _addEventListener2.default)(window, 'resize', _this2.bufferMonitor);
4402 }
4403 };
4404
4405 this.stopMonitorWindowResize = function () {
4406 if (_this2.resizeHandler) {
4407 _this2.bufferMonitor.clear();
4408 _this2.resizeHandler.remove();
4409 _this2.resizeHandler = null;
4410 }
4411 };
4412
4413 this.forceAlign = function () {
4414 var props = _this2.props;
4415 if (!props.disabled) {
4416 var source = _reactDom2.default.findDOMNode(_this2);
4417 props.onAlign(source, (0, _domAlign2.default)(source, props.target(), props.align));
4418 }
4419 };
4420 };
4421
4422 ;
4423
4424 Align.defaultProps = defaultProps;
4425 Align.propTypes = propTypes;
4426
4427 exports.default = Align;
4428
4429/***/ }),
4430/* 50 */
4431/***/ (function(module, exports, __webpack_require__) {
4432
4433 'use strict';
4434
4435 Object.defineProperty(exports, "__esModule", {
4436 value: true
4437 });
4438 exports.alignPoint = exports.alignElement = undefined;
4439
4440 var _alignElement = __webpack_require__(51);
4441
4442 var _alignElement2 = _interopRequireDefault(_alignElement);
4443
4444 var _alignPoint = __webpack_require__(62);
4445
4446 var _alignPoint2 = _interopRequireDefault(_alignPoint);
4447
4448 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
4449
4450 exports.alignElement = _alignElement2['default'];
4451 exports.alignPoint = _alignPoint2['default'];
4452 exports['default'] = _alignElement2['default'];
4453
4454/***/ }),
4455/* 51 */
4456/***/ (function(module, exports, __webpack_require__) {
4457
4458 'use strict';
4459
4460 Object.defineProperty(exports, "__esModule", {
4461 value: true
4462 });
4463
4464 var _align = __webpack_require__(52);
4465
4466 var _align2 = _interopRequireDefault(_align);
4467
4468 var _getOffsetParent = __webpack_require__(56);
4469
4470 var _getOffsetParent2 = _interopRequireDefault(_getOffsetParent);
4471
4472 var _getVisibleRectForElement = __webpack_require__(55);
4473
4474 var _getVisibleRectForElement2 = _interopRequireDefault(_getVisibleRectForElement);
4475
4476 var _getRegion = __webpack_require__(59);
4477
4478 var _getRegion2 = _interopRequireDefault(_getRegion);
4479
4480 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
4481
4482 function isOutOfVisibleRect(target) {
4483 var visibleRect = (0, _getVisibleRectForElement2['default'])(target);
4484 var targetRegion = (0, _getRegion2['default'])(target);
4485
4486 return !visibleRect || targetRegion.left + targetRegion.width <= visibleRect.left || targetRegion.top + targetRegion.height <= visibleRect.top || targetRegion.left >= visibleRect.right || targetRegion.top >= visibleRect.bottom;
4487 }
4488
4489 function alignElement(el, refNode, align) {
4490 var target = align.target || refNode;
4491 var refNodeRegion = (0, _getRegion2['default'])(target);
4492
4493 var isTargetNotOutOfVisible = !isOutOfVisibleRect(target);
4494
4495 return (0, _align2['default'])(el, refNodeRegion, align, isTargetNotOutOfVisible);
4496 }
4497
4498 alignElement.__getOffsetParent = _getOffsetParent2['default'];
4499
4500 alignElement.__getVisibleRectForElement = _getVisibleRectForElement2['default'];
4501
4502 exports['default'] = alignElement;
4503 module.exports = exports['default'];
4504
4505/***/ }),
4506/* 52 */
4507/***/ (function(module, exports, __webpack_require__) {
4508
4509 'use strict';
4510
4511 Object.defineProperty(exports, "__esModule", {
4512 value: true
4513 });
4514
4515 var _utils = __webpack_require__(53);
4516
4517 var _utils2 = _interopRequireDefault(_utils);
4518
4519 var _getVisibleRectForElement = __webpack_require__(55);
4520
4521 var _getVisibleRectForElement2 = _interopRequireDefault(_getVisibleRectForElement);
4522
4523 var _adjustForViewport = __webpack_require__(58);
4524
4525 var _adjustForViewport2 = _interopRequireDefault(_adjustForViewport);
4526
4527 var _getRegion = __webpack_require__(59);
4528
4529 var _getRegion2 = _interopRequireDefault(_getRegion);
4530
4531 var _getElFuturePos = __webpack_require__(60);
4532
4533 var _getElFuturePos2 = _interopRequireDefault(_getElFuturePos);
4534
4535 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
4536
4537 // http://yiminghe.iteye.com/blog/1124720
4538
4539 function isFailX(elFuturePos, elRegion, visibleRect) {
4540 return elFuturePos.left < visibleRect.left || elFuturePos.left + elRegion.width > visibleRect.right;
4541 } /**
4542 * align dom node flexibly
4543 * @author yiminghe@gmail.com
4544 */
4545
4546 function isFailY(elFuturePos, elRegion, visibleRect) {
4547 return elFuturePos.top < visibleRect.top || elFuturePos.top + elRegion.height > visibleRect.bottom;
4548 }
4549
4550 function isCompleteFailX(elFuturePos, elRegion, visibleRect) {
4551 return elFuturePos.left > visibleRect.right || elFuturePos.left + elRegion.width < visibleRect.left;
4552 }
4553
4554 function isCompleteFailY(elFuturePos, elRegion, visibleRect) {
4555 return elFuturePos.top > visibleRect.bottom || elFuturePos.top + elRegion.height < visibleRect.top;
4556 }
4557
4558 function flip(points, reg, map) {
4559 var ret = [];
4560 _utils2['default'].each(points, function (p) {
4561 ret.push(p.replace(reg, function (m) {
4562 return map[m];
4563 }));
4564 });
4565 return ret;
4566 }
4567
4568 function flipOffset(offset, index) {
4569 offset[index] = -offset[index];
4570 return offset;
4571 }
4572
4573 function convertOffset(str, offsetLen) {
4574 var n = void 0;
4575 if (/%$/.test(str)) {
4576 n = parseInt(str.substring(0, str.length - 1), 10) / 100 * offsetLen;
4577 } else {
4578 n = parseInt(str, 10);
4579 }
4580 return n || 0;
4581 }
4582
4583 function normalizeOffset(offset, el) {
4584 offset[0] = convertOffset(offset[0], el.width);
4585 offset[1] = convertOffset(offset[1], el.height);
4586 }
4587
4588 /**
4589 * @param el
4590 * @param tgtRegion 参照节点所占的区域: { left, top, width, height }
4591 * @param align
4592 */
4593 function doAlign(el, tgtRegion, align, isTgtRegionVisible) {
4594 var points = align.points;
4595 var offset = align.offset || [0, 0];
4596 var targetOffset = align.targetOffset || [0, 0];
4597 var overflow = align.overflow;
4598 var source = align.source || el;
4599 offset = [].concat(offset);
4600 targetOffset = [].concat(targetOffset);
4601 overflow = overflow || {};
4602 var newOverflowCfg = {};
4603 var fail = 0;
4604 // 当前节点可以被放置的显示区域
4605 var visibleRect = (0, _getVisibleRectForElement2['default'])(source);
4606 // 当前节点所占的区域, left/top/width/height
4607 var elRegion = (0, _getRegion2['default'])(source);
4608 // 将 offset 转换成数值,支持百分比
4609 normalizeOffset(offset, elRegion);
4610 normalizeOffset(targetOffset, tgtRegion);
4611 // 当前节点将要被放置的位置
4612 var elFuturePos = (0, _getElFuturePos2['default'])(elRegion, tgtRegion, points, offset, targetOffset);
4613 // 当前节点将要所处的区域
4614 var newElRegion = _utils2['default'].merge(elRegion, elFuturePos);
4615
4616 // 如果可视区域不能完全放置当前节点时允许调整
4617 if (visibleRect && (overflow.adjustX || overflow.adjustY) && isTgtRegionVisible) {
4618 if (overflow.adjustX) {
4619 // 如果横向不能放下
4620 if (isFailX(elFuturePos, elRegion, visibleRect)) {
4621 // 对齐位置反下
4622 var newPoints = flip(points, /[lr]/ig, {
4623 l: 'r',
4624 r: 'l'
4625 });
4626 // 偏移量也反下
4627 var newOffset = flipOffset(offset, 0);
4628 var newTargetOffset = flipOffset(targetOffset, 0);
4629 var newElFuturePos = (0, _getElFuturePos2['default'])(elRegion, tgtRegion, newPoints, newOffset, newTargetOffset);
4630
4631 if (!isCompleteFailX(newElFuturePos, elRegion, visibleRect)) {
4632 fail = 1;
4633 points = newPoints;
4634 offset = newOffset;
4635 targetOffset = newTargetOffset;
4636 }
4637 }
4638 }
4639
4640 if (overflow.adjustY) {
4641 // 如果纵向不能放下
4642 if (isFailY(elFuturePos, elRegion, visibleRect)) {
4643 // 对齐位置反下
4644 var _newPoints = flip(points, /[tb]/ig, {
4645 t: 'b',
4646 b: 't'
4647 });
4648 // 偏移量也反下
4649 var _newOffset = flipOffset(offset, 1);
4650 var _newTargetOffset = flipOffset(targetOffset, 1);
4651 var _newElFuturePos = (0, _getElFuturePos2['default'])(elRegion, tgtRegion, _newPoints, _newOffset, _newTargetOffset);
4652
4653 if (!isCompleteFailY(_newElFuturePos, elRegion, visibleRect)) {
4654 fail = 1;
4655 points = _newPoints;
4656 offset = _newOffset;
4657 targetOffset = _newTargetOffset;
4658 }
4659 }
4660 }
4661
4662 // 如果失败,重新计算当前节点将要被放置的位置
4663 if (fail) {
4664 elFuturePos = (0, _getElFuturePos2['default'])(elRegion, tgtRegion, points, offset, targetOffset);
4665 _utils2['default'].mix(newElRegion, elFuturePos);
4666 }
4667 var isStillFailX = isFailX(elFuturePos, elRegion, visibleRect);
4668 var isStillFailY = isFailY(elFuturePos, elRegion, visibleRect);
4669 // 检查反下后的位置是否可以放下了,如果仍然放不下:
4670 // 1. 复原修改过的定位参数
4671 if (isStillFailX || isStillFailY) {
4672 points = align.points;
4673 offset = align.offset || [0, 0];
4674 targetOffset = align.targetOffset || [0, 0];
4675 }
4676 // 2. 只有指定了可以调整当前方向才调整
4677 newOverflowCfg.adjustX = overflow.adjustX && isStillFailX;
4678 newOverflowCfg.adjustY = overflow.adjustY && isStillFailY;
4679
4680 // 确实要调整,甚至可能会调整高度宽度
4681 if (newOverflowCfg.adjustX || newOverflowCfg.adjustY) {
4682 newElRegion = (0, _adjustForViewport2['default'])(elFuturePos, elRegion, visibleRect, newOverflowCfg);
4683 }
4684 }
4685
4686 // need judge to in case set fixed with in css on height auto element
4687 if (newElRegion.width !== elRegion.width) {
4688 _utils2['default'].css(source, 'width', _utils2['default'].width(source) + newElRegion.width - elRegion.width);
4689 }
4690
4691 if (newElRegion.height !== elRegion.height) {
4692 _utils2['default'].css(source, 'height', _utils2['default'].height(source) + newElRegion.height - elRegion.height);
4693 }
4694
4695 // https://github.com/kissyteam/kissy/issues/190
4696 // 相对于屏幕位置没变,而 left/top 变了
4697 // 例如 <div 'relative'><el absolute></div>
4698 _utils2['default'].offset(source, {
4699 left: newElRegion.left,
4700 top: newElRegion.top
4701 }, {
4702 useCssRight: align.useCssRight,
4703 useCssBottom: align.useCssBottom,
4704 useCssTransform: align.useCssTransform,
4705 ignoreShake: align.ignoreShake
4706 });
4707
4708 return {
4709 points: points,
4710 offset: offset,
4711 targetOffset: targetOffset,
4712 overflow: newOverflowCfg
4713 };
4714 }
4715
4716 exports['default'] = doAlign;
4717 /**
4718 * 2012-04-26 yiminghe@gmail.com
4719 * - 优化智能对齐算法
4720 * - 慎用 resizeXX
4721 *
4722 * 2011-07-13 yiminghe@gmail.com note:
4723 * - 增加智能对齐,以及大小调整选项
4724 **/
4725
4726 module.exports = exports['default'];
4727
4728/***/ }),
4729/* 53 */
4730/***/ (function(module, exports, __webpack_require__) {
4731
4732 'use strict';
4733
4734 Object.defineProperty(exports, "__esModule", {
4735 value: true
4736 });
4737
4738 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; };
4739
4740 var _propertyUtils = __webpack_require__(54);
4741
4742 var RE_NUM = /[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source;
4743
4744 var getComputedStyleX = void 0;
4745
4746 // https://stackoverflow.com/a/3485654/3040605
4747 function forceRelayout(elem) {
4748 var originalStyle = elem.style.display;
4749 elem.style.display = 'none';
4750 elem.offsetHeight; // eslint-disable-line
4751 elem.style.display = originalStyle;
4752 }
4753
4754 function css(el, name, v) {
4755 var value = v;
4756 if ((typeof name === 'undefined' ? 'undefined' : _typeof(name)) === 'object') {
4757 for (var i in name) {
4758 if (name.hasOwnProperty(i)) {
4759 css(el, i, name[i]);
4760 }
4761 }
4762 return undefined;
4763 }
4764 if (typeof value !== 'undefined') {
4765 if (typeof value === 'number') {
4766 value = value + 'px';
4767 }
4768 el.style[name] = value;
4769 return undefined;
4770 }
4771 return getComputedStyleX(el, name);
4772 }
4773
4774 function getClientPosition(elem) {
4775 var box = void 0;
4776 var x = void 0;
4777 var y = void 0;
4778 var doc = elem.ownerDocument;
4779 var body = doc.body;
4780 var docElem = doc && doc.documentElement;
4781 // 根据 GBS 最新数据,A-Grade Browsers 都已支持 getBoundingClientRect 方法,不用再考虑传统的实现方式
4782 box = elem.getBoundingClientRect();
4783
4784 // 注:jQuery 还考虑减去 docElem.clientLeft/clientTop
4785 // 但测试发现,这样反而会导致当 html 和 body 有边距/边框样式时,获取的值不正确
4786 // 此外,ie6 会忽略 html 的 margin 值,幸运地是没有谁会去设置 html 的 margin
4787
4788 x = box.left;
4789 y = box.top;
4790
4791 // In IE, most of the time, 2 extra pixels are added to the top and left
4792 // due to the implicit 2-pixel inset border. In IE6/7 quirks mode and
4793 // IE6 standards mode, this border can be overridden by setting the
4794 // document element's border to zero -- thus, we cannot rely on the
4795 // offset always being 2 pixels.
4796
4797 // In quirks mode, the offset can be determined by querying the body's
4798 // clientLeft/clientTop, but in standards mode, it is found by querying
4799 // the document element's clientLeft/clientTop. Since we already called
4800 // getClientBoundingRect we have already forced a reflow, so it is not
4801 // too expensive just to query them all.
4802
4803 // ie 下应该减去窗口的边框吧,毕竟默认 absolute 都是相对窗口定位的
4804 // 窗口边框标准是设 documentElement ,quirks 时设置 body
4805 // 最好禁止在 body 和 html 上边框 ,但 ie < 9 html 默认有 2px ,减去
4806 // 但是非 ie 不可能设置窗口边框,body html 也不是窗口 ,ie 可以通过 html,body 设置
4807 // 标准 ie 下 docElem.clientTop 就是 border-top
4808 // ie7 html 即窗口边框改变不了。永远为 2
4809 // 但标准 firefox/chrome/ie9 下 docElem.clientTop 是窗口边框,即使设了 border-top 也为 0
4810
4811 x -= docElem.clientLeft || body.clientLeft || 0;
4812 y -= docElem.clientTop || body.clientTop || 0;
4813
4814 return {
4815 left: x,
4816 top: y
4817 };
4818 }
4819
4820 function getScroll(w, top) {
4821 var ret = w['page' + (top ? 'Y' : 'X') + 'Offset'];
4822 var method = 'scroll' + (top ? 'Top' : 'Left');
4823 if (typeof ret !== 'number') {
4824 var d = w.document;
4825 // ie6,7,8 standard mode
4826 ret = d.documentElement[method];
4827 if (typeof ret !== 'number') {
4828 // quirks mode
4829 ret = d.body[method];
4830 }
4831 }
4832 return ret;
4833 }
4834
4835 function getScrollLeft(w) {
4836 return getScroll(w);
4837 }
4838
4839 function getScrollTop(w) {
4840 return getScroll(w, true);
4841 }
4842
4843 function getOffset(el) {
4844 var pos = getClientPosition(el);
4845 var doc = el.ownerDocument;
4846 var w = doc.defaultView || doc.parentWindow;
4847 pos.left += getScrollLeft(w);
4848 pos.top += getScrollTop(w);
4849 return pos;
4850 }
4851
4852 /**
4853 * A crude way of determining if an object is a window
4854 * @member util
4855 */
4856 function isWindow(obj) {
4857 // must use == for ie8
4858 /* eslint eqeqeq:0 */
4859 return obj !== null && obj !== undefined && obj == obj.window;
4860 }
4861
4862 function getDocument(node) {
4863 if (isWindow(node)) {
4864 return node.document;
4865 }
4866 if (node.nodeType === 9) {
4867 return node;
4868 }
4869 return node.ownerDocument;
4870 }
4871
4872 function _getComputedStyle(elem, name, cs) {
4873 var computedStyle = cs;
4874 var val = '';
4875 var d = getDocument(elem);
4876 computedStyle = computedStyle || d.defaultView.getComputedStyle(elem, null);
4877
4878 // https://github.com/kissyteam/kissy/issues/61
4879 if (computedStyle) {
4880 val = computedStyle.getPropertyValue(name) || computedStyle[name];
4881 }
4882
4883 return val;
4884 }
4885
4886 var _RE_NUM_NO_PX = new RegExp('^(' + RE_NUM + ')(?!px)[a-z%]+$', 'i');
4887 var RE_POS = /^(top|right|bottom|left)$/;
4888 var CURRENT_STYLE = 'currentStyle';
4889 var RUNTIME_STYLE = 'runtimeStyle';
4890 var LEFT = 'left';
4891 var PX = 'px';
4892
4893 function _getComputedStyleIE(elem, name) {
4894 // currentStyle maybe null
4895 // http://msdn.microsoft.com/en-us/library/ms535231.aspx
4896 var ret = elem[CURRENT_STYLE] && elem[CURRENT_STYLE][name];
4897
4898 // 当 width/height 设置为百分比时,通过 pixelLeft 方式转换的 width/height 值
4899 // 一开始就处理了! CUSTOM_STYLE.height,CUSTOM_STYLE.width ,cssHook 解决@2011-08-19
4900 // 在 ie 下不对,需要直接用 offset 方式
4901 // borderWidth 等值也有问题,但考虑到 borderWidth 设为百分比的概率很小,这里就不考虑了
4902
4903 // From the awesome hack by Dean Edwards
4904 // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291
4905 // If we're not dealing with a regular pixel number
4906 // but a number that has a weird ending, we need to convert it to pixels
4907 // exclude left right for relativity
4908 if (_RE_NUM_NO_PX.test(ret) && !RE_POS.test(name)) {
4909 // Remember the original values
4910 var style = elem.style;
4911 var left = style[LEFT];
4912 var rsLeft = elem[RUNTIME_STYLE][LEFT];
4913
4914 // prevent flashing of content
4915 elem[RUNTIME_STYLE][LEFT] = elem[CURRENT_STYLE][LEFT];
4916
4917 // Put in the new values to get a computed value out
4918 style[LEFT] = name === 'fontSize' ? '1em' : ret || 0;
4919 ret = style.pixelLeft + PX;
4920
4921 // Revert the changed values
4922 style[LEFT] = left;
4923
4924 elem[RUNTIME_STYLE][LEFT] = rsLeft;
4925 }
4926 return ret === '' ? 'auto' : ret;
4927 }
4928
4929 if (typeof window !== 'undefined') {
4930 getComputedStyleX = window.getComputedStyle ? _getComputedStyle : _getComputedStyleIE;
4931 }
4932
4933 function getOffsetDirection(dir, option) {
4934 if (dir === 'left') {
4935 return option.useCssRight ? 'right' : dir;
4936 }
4937 return option.useCssBottom ? 'bottom' : dir;
4938 }
4939
4940 function oppositeOffsetDirection(dir) {
4941 if (dir === 'left') {
4942 return 'right';
4943 } else if (dir === 'right') {
4944 return 'left';
4945 } else if (dir === 'top') {
4946 return 'bottom';
4947 } else if (dir === 'bottom') {
4948 return 'top';
4949 }
4950 }
4951
4952 // 设置 elem 相对 elem.ownerDocument 的坐标
4953 function setLeftTop(elem, offset, option) {
4954 // set position first, in-case top/left are set even on static elem
4955 if (css(elem, 'position') === 'static') {
4956 elem.style.position = 'relative';
4957 }
4958 var presetH = -999;
4959 var presetV = -999;
4960 var horizontalProperty = getOffsetDirection('left', option);
4961 var verticalProperty = getOffsetDirection('top', option);
4962 var oppositeHorizontalProperty = oppositeOffsetDirection(horizontalProperty);
4963 var oppositeVerticalProperty = oppositeOffsetDirection(verticalProperty);
4964
4965 if (horizontalProperty !== 'left') {
4966 presetH = 999;
4967 }
4968
4969 if (verticalProperty !== 'top') {
4970 presetV = 999;
4971 }
4972 var originalTransition = '';
4973 var originalOffset = getOffset(elem);
4974 if ('left' in offset || 'top' in offset) {
4975 originalTransition = (0, _propertyUtils.getTransitionProperty)(elem) || '';
4976 (0, _propertyUtils.setTransitionProperty)(elem, 'none');
4977 }
4978 if ('left' in offset) {
4979 elem.style[oppositeHorizontalProperty] = '';
4980 elem.style[horizontalProperty] = presetH + 'px';
4981 }
4982 if ('top' in offset) {
4983 elem.style[oppositeVerticalProperty] = '';
4984 elem.style[verticalProperty] = presetV + 'px';
4985 }
4986 // force relayout
4987 forceRelayout(elem);
4988 var old = getOffset(elem);
4989 var originalStyle = {};
4990 for (var key in offset) {
4991 if (offset.hasOwnProperty(key)) {
4992 var dir = getOffsetDirection(key, option);
4993 var preset = key === 'left' ? presetH : presetV;
4994 var off = originalOffset[key] - old[key];
4995 if (dir === key) {
4996 originalStyle[dir] = preset + off;
4997 } else {
4998 originalStyle[dir] = preset - off;
4999 }
5000 }
5001 }
5002 css(elem, originalStyle);
5003 // force relayout
5004 forceRelayout(elem);
5005 if ('left' in offset || 'top' in offset) {
5006 (0, _propertyUtils.setTransitionProperty)(elem, originalTransition);
5007 }
5008 var ret = {};
5009 for (var _key in offset) {
5010 if (offset.hasOwnProperty(_key)) {
5011 var _dir = getOffsetDirection(_key, option);
5012 var _off = offset[_key] - originalOffset[_key];
5013 if (_key === _dir) {
5014 ret[_dir] = originalStyle[_dir] + _off;
5015 } else {
5016 ret[_dir] = originalStyle[_dir] - _off;
5017 }
5018 }
5019 }
5020 css(elem, ret);
5021 }
5022
5023 function setTransform(elem, offset) {
5024 var originalOffset = getOffset(elem);
5025 var originalXY = (0, _propertyUtils.getTransformXY)(elem);
5026 var resultXY = { x: originalXY.x, y: originalXY.y };
5027 if ('left' in offset) {
5028 resultXY.x = originalXY.x + offset.left - originalOffset.left;
5029 }
5030 if ('top' in offset) {
5031 resultXY.y = originalXY.y + offset.top - originalOffset.top;
5032 }
5033 (0, _propertyUtils.setTransformXY)(elem, resultXY);
5034 }
5035
5036 function setOffset(elem, offset, option) {
5037 if (option.ignoreShake) {
5038 var oriOffset = getOffset(elem);
5039
5040 var oLeft = oriOffset.left.toFixed(0);
5041 var oTop = oriOffset.top.toFixed(0);
5042 var tLeft = offset.left.toFixed(0);
5043 var tTop = offset.top.toFixed(0);
5044
5045 if (oLeft === tLeft && oTop === tTop) {
5046 return;
5047 }
5048 }
5049
5050 if (option.useCssRight || option.useCssBottom) {
5051 setLeftTop(elem, offset, option);
5052 } else if (option.useCssTransform && (0, _propertyUtils.getTransformName)() in document.body.style) {
5053 setTransform(elem, offset, option);
5054 } else {
5055 setLeftTop(elem, offset, option);
5056 }
5057 }
5058
5059 function each(arr, fn) {
5060 for (var i = 0; i < arr.length; i++) {
5061 fn(arr[i]);
5062 }
5063 }
5064
5065 function isBorderBoxFn(elem) {
5066 return getComputedStyleX(elem, 'boxSizing') === 'border-box';
5067 }
5068
5069 var BOX_MODELS = ['margin', 'border', 'padding'];
5070 var CONTENT_INDEX = -1;
5071 var PADDING_INDEX = 2;
5072 var BORDER_INDEX = 1;
5073 var MARGIN_INDEX = 0;
5074
5075 function swap(elem, options, callback) {
5076 var old = {};
5077 var style = elem.style;
5078 var name = void 0;
5079
5080 // Remember the old values, and insert the new ones
5081 for (name in options) {
5082 if (options.hasOwnProperty(name)) {
5083 old[name] = style[name];
5084 style[name] = options[name];
5085 }
5086 }
5087
5088 callback.call(elem);
5089
5090 // Revert the old values
5091 for (name in options) {
5092 if (options.hasOwnProperty(name)) {
5093 style[name] = old[name];
5094 }
5095 }
5096 }
5097
5098 function getPBMWidth(elem, props, which) {
5099 var value = 0;
5100 var prop = void 0;
5101 var j = void 0;
5102 var i = void 0;
5103 for (j = 0; j < props.length; j++) {
5104 prop = props[j];
5105 if (prop) {
5106 for (i = 0; i < which.length; i++) {
5107 var cssProp = void 0;
5108 if (prop === 'border') {
5109 cssProp = '' + prop + which[i] + 'Width';
5110 } else {
5111 cssProp = prop + which[i];
5112 }
5113 value += parseFloat(getComputedStyleX(elem, cssProp)) || 0;
5114 }
5115 }
5116 }
5117 return value;
5118 }
5119
5120 var domUtils = {};
5121
5122 each(['Width', 'Height'], function (name) {
5123 domUtils['doc' + name] = function (refWin) {
5124 var d = refWin.document;
5125 return Math.max(
5126 // firefox chrome documentElement.scrollHeight< body.scrollHeight
5127 // ie standard mode : documentElement.scrollHeight> body.scrollHeight
5128 d.documentElement['scroll' + name],
5129 // quirks : documentElement.scrollHeight 最大等于可视窗口多一点?
5130 d.body['scroll' + name], domUtils['viewport' + name](d));
5131 };
5132
5133 domUtils['viewport' + name] = function (win) {
5134 // pc browser includes scrollbar in window.innerWidth
5135 var prop = 'client' + name;
5136 var doc = win.document;
5137 var body = doc.body;
5138 var documentElement = doc.documentElement;
5139 var documentElementProp = documentElement[prop];
5140 // 标准模式取 documentElement
5141 // backcompat 取 body
5142 return doc.compatMode === 'CSS1Compat' && documentElementProp || body && body[prop] || documentElementProp;
5143 };
5144 });
5145
5146 /*
5147 得到元素的大小信息
5148 @param elem
5149 @param name
5150 @param {String} [extra] 'padding' : (css width) + padding
5151 'border' : (css width) + padding + border
5152 'margin' : (css width) + padding + border + margin
5153 */
5154 function getWH(elem, name, ex) {
5155 var extra = ex;
5156 if (isWindow(elem)) {
5157 return name === 'width' ? domUtils.viewportWidth(elem) : domUtils.viewportHeight(elem);
5158 } else if (elem.nodeType === 9) {
5159 return name === 'width' ? domUtils.docWidth(elem) : domUtils.docHeight(elem);
5160 }
5161 var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];
5162 var borderBoxValue = name === 'width' ? elem.getBoundingClientRect().width : elem.getBoundingClientRect().height;
5163 var computedStyle = getComputedStyleX(elem);
5164 var isBorderBox = isBorderBoxFn(elem, computedStyle);
5165 var cssBoxValue = 0;
5166 if (borderBoxValue === null || borderBoxValue === undefined || borderBoxValue <= 0) {
5167 borderBoxValue = undefined;
5168 // Fall back to computed then un computed css if necessary
5169 cssBoxValue = getComputedStyleX(elem, name);
5170 if (cssBoxValue === null || cssBoxValue === undefined || Number(cssBoxValue) < 0) {
5171 cssBoxValue = elem.style[name] || 0;
5172 }
5173 // Normalize '', auto, and prepare for extra
5174 cssBoxValue = parseFloat(cssBoxValue) || 0;
5175 }
5176 if (extra === undefined) {
5177 extra = isBorderBox ? BORDER_INDEX : CONTENT_INDEX;
5178 }
5179 var borderBoxValueOrIsBorderBox = borderBoxValue !== undefined || isBorderBox;
5180 var val = borderBoxValue || cssBoxValue;
5181 if (extra === CONTENT_INDEX) {
5182 if (borderBoxValueOrIsBorderBox) {
5183 return val - getPBMWidth(elem, ['border', 'padding'], which, computedStyle);
5184 }
5185 return cssBoxValue;
5186 } else if (borderBoxValueOrIsBorderBox) {
5187 if (extra === BORDER_INDEX) {
5188 return val;
5189 }
5190 return val + (extra === PADDING_INDEX ? -getPBMWidth(elem, ['border'], which, computedStyle) : getPBMWidth(elem, ['margin'], which, computedStyle));
5191 }
5192 return cssBoxValue + getPBMWidth(elem, BOX_MODELS.slice(extra), which, computedStyle);
5193 }
5194
5195 var cssShow = {
5196 position: 'absolute',
5197 visibility: 'hidden',
5198 display: 'block'
5199 };
5200
5201 // fix #119 : https://github.com/kissyteam/kissy/issues/119
5202 function getWHIgnoreDisplay() {
5203 for (var _len = arguments.length, args = Array(_len), _key2 = 0; _key2 < _len; _key2++) {
5204 args[_key2] = arguments[_key2];
5205 }
5206
5207 var val = void 0;
5208 var elem = args[0];
5209 // in case elem is window
5210 // elem.offsetWidth === undefined
5211 if (elem.offsetWidth !== 0) {
5212 val = getWH.apply(undefined, args);
5213 } else {
5214 swap(elem, cssShow, function () {
5215 val = getWH.apply(undefined, args);
5216 });
5217 }
5218 return val;
5219 }
5220
5221 each(['width', 'height'], function (name) {
5222 var first = name.charAt(0).toUpperCase() + name.slice(1);
5223 domUtils['outer' + first] = function (el, includeMargin) {
5224 return el && getWHIgnoreDisplay(el, name, includeMargin ? MARGIN_INDEX : BORDER_INDEX);
5225 };
5226 var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];
5227
5228 domUtils[name] = function (elem, v) {
5229 var val = v;
5230 if (val !== undefined) {
5231 if (elem) {
5232 var computedStyle = getComputedStyleX(elem);
5233 var isBorderBox = isBorderBoxFn(elem);
5234 if (isBorderBox) {
5235 val += getPBMWidth(elem, ['padding', 'border'], which, computedStyle);
5236 }
5237 return css(elem, name, val);
5238 }
5239 return undefined;
5240 }
5241 return elem && getWHIgnoreDisplay(elem, name, CONTENT_INDEX);
5242 };
5243 });
5244
5245 function mix(to, from) {
5246 for (var i in from) {
5247 if (from.hasOwnProperty(i)) {
5248 to[i] = from[i];
5249 }
5250 }
5251 return to;
5252 }
5253
5254 var utils = {
5255 getWindow: function getWindow(node) {
5256 if (node && node.document && node.setTimeout) {
5257 return node;
5258 }
5259 var doc = node.ownerDocument || node;
5260 return doc.defaultView || doc.parentWindow;
5261 },
5262
5263 getDocument: getDocument,
5264 offset: function offset(el, value, option) {
5265 if (typeof value !== 'undefined') {
5266 setOffset(el, value, option || {});
5267 } else {
5268 return getOffset(el);
5269 }
5270 },
5271
5272 isWindow: isWindow,
5273 each: each,
5274 css: css,
5275 clone: function clone(obj) {
5276 var i = void 0;
5277 var ret = {};
5278 for (i in obj) {
5279 if (obj.hasOwnProperty(i)) {
5280 ret[i] = obj[i];
5281 }
5282 }
5283 var overflow = obj.overflow;
5284 if (overflow) {
5285 for (i in obj) {
5286 if (obj.hasOwnProperty(i)) {
5287 ret.overflow[i] = obj.overflow[i];
5288 }
5289 }
5290 }
5291 return ret;
5292 },
5293
5294 mix: mix,
5295 getWindowScrollLeft: function getWindowScrollLeft(w) {
5296 return getScrollLeft(w);
5297 },
5298 getWindowScrollTop: function getWindowScrollTop(w) {
5299 return getScrollTop(w);
5300 },
5301 merge: function merge() {
5302 var ret = {};
5303
5304 for (var _len2 = arguments.length, args = Array(_len2), _key3 = 0; _key3 < _len2; _key3++) {
5305 args[_key3] = arguments[_key3];
5306 }
5307
5308 for (var i = 0; i < args.length; i++) {
5309 utils.mix(ret, args[i]);
5310 }
5311 return ret;
5312 },
5313
5314 viewportWidth: 0,
5315 viewportHeight: 0
5316 };
5317
5318 mix(utils, domUtils);
5319
5320 exports['default'] = utils;
5321 module.exports = exports['default'];
5322
5323/***/ }),
5324/* 54 */
5325/***/ (function(module, exports) {
5326
5327 'use strict';
5328
5329 Object.defineProperty(exports, "__esModule", {
5330 value: true
5331 });
5332 exports.getTransformName = getTransformName;
5333 exports.setTransitionProperty = setTransitionProperty;
5334 exports.getTransitionProperty = getTransitionProperty;
5335 exports.getTransformXY = getTransformXY;
5336 exports.setTransformXY = setTransformXY;
5337 var vendorPrefix = void 0;
5338
5339 var jsCssMap = {
5340 Webkit: '-webkit-',
5341 Moz: '-moz-',
5342 // IE did it wrong again ...
5343 ms: '-ms-',
5344 O: '-o-'
5345 };
5346
5347 function getVendorPrefix() {
5348 if (vendorPrefix !== undefined) {
5349 return vendorPrefix;
5350 }
5351 vendorPrefix = '';
5352 var style = document.createElement('p').style;
5353 var testProp = 'Transform';
5354 for (var key in jsCssMap) {
5355 if (key + testProp in style) {
5356 vendorPrefix = key;
5357 }
5358 }
5359 return vendorPrefix;
5360 }
5361
5362 function getTransitionName() {
5363 return getVendorPrefix() ? getVendorPrefix() + 'TransitionProperty' : 'transitionProperty';
5364 }
5365
5366 function getTransformName() {
5367 return getVendorPrefix() ? getVendorPrefix() + 'Transform' : 'transform';
5368 }
5369
5370 function setTransitionProperty(node, value) {
5371 var name = getTransitionName();
5372 if (name) {
5373 node.style[name] = value;
5374 if (name !== 'transitionProperty') {
5375 node.style.transitionProperty = value;
5376 }
5377 }
5378 }
5379
5380 function setTransform(node, value) {
5381 var name = getTransformName();
5382 if (name) {
5383 node.style[name] = value;
5384 if (name !== 'transform') {
5385 node.style.transform = value;
5386 }
5387 }
5388 }
5389
5390 function getTransitionProperty(node) {
5391 return node.style.transitionProperty || node.style[getTransitionName()];
5392 }
5393
5394 function getTransformXY(node) {
5395 var style = window.getComputedStyle(node, null);
5396 var transform = style.getPropertyValue('transform') || style.getPropertyValue(getTransformName());
5397 if (transform && transform !== 'none') {
5398 var matrix = transform.replace(/[^0-9\-.,]/g, '').split(',');
5399 return { x: parseFloat(matrix[12] || matrix[4], 0), y: parseFloat(matrix[13] || matrix[5], 0) };
5400 }
5401 return {
5402 x: 0,
5403 y: 0
5404 };
5405 }
5406
5407 var matrix2d = /matrix\((.*)\)/;
5408 var matrix3d = /matrix3d\((.*)\)/;
5409
5410 function setTransformXY(node, xy) {
5411 var style = window.getComputedStyle(node, null);
5412 var transform = style.getPropertyValue('transform') || style.getPropertyValue(getTransformName());
5413 if (transform && transform !== 'none') {
5414 var arr = void 0;
5415 var match2d = transform.match(matrix2d);
5416 if (match2d) {
5417 match2d = match2d[1];
5418 arr = match2d.split(',').map(function (item) {
5419 return parseFloat(item, 10);
5420 });
5421 arr[4] = xy.x;
5422 arr[5] = xy.y;
5423 setTransform(node, 'matrix(' + arr.join(',') + ')');
5424 } else {
5425 var match3d = transform.match(matrix3d)[1];
5426 arr = match3d.split(',').map(function (item) {
5427 return parseFloat(item, 10);
5428 });
5429 arr[12] = xy.x;
5430 arr[13] = xy.y;
5431 setTransform(node, 'matrix3d(' + arr.join(',') + ')');
5432 }
5433 } else {
5434 setTransform(node, 'translateX(' + xy.x + 'px) translateY(' + xy.y + 'px) translateZ(0)');
5435 }
5436 }
5437
5438/***/ }),
5439/* 55 */
5440/***/ (function(module, exports, __webpack_require__) {
5441
5442 'use strict';
5443
5444 Object.defineProperty(exports, "__esModule", {
5445 value: true
5446 });
5447
5448 var _utils = __webpack_require__(53);
5449
5450 var _utils2 = _interopRequireDefault(_utils);
5451
5452 var _getOffsetParent = __webpack_require__(56);
5453
5454 var _getOffsetParent2 = _interopRequireDefault(_getOffsetParent);
5455
5456 var _isAncestorFixed = __webpack_require__(57);
5457
5458 var _isAncestorFixed2 = _interopRequireDefault(_isAncestorFixed);
5459
5460 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
5461
5462 /**
5463 * 获得元素的显示部分的区域
5464 */
5465 function getVisibleRectForElement(element) {
5466 var visibleRect = {
5467 left: 0,
5468 right: Infinity,
5469 top: 0,
5470 bottom: Infinity
5471 };
5472 var el = (0, _getOffsetParent2['default'])(element);
5473 var doc = _utils2['default'].getDocument(element);
5474 var win = doc.defaultView || doc.parentWindow;
5475 var body = doc.body;
5476 var documentElement = doc.documentElement;
5477
5478 // Determine the size of the visible rect by climbing the dom accounting for
5479 // all scrollable containers.
5480 while (el) {
5481 // clientWidth is zero for inline block elements in ie.
5482 if ((navigator.userAgent.indexOf('MSIE') === -1 || el.clientWidth !== 0) &&
5483 // body may have overflow set on it, yet we still get the entire
5484 // viewport. In some browsers, el.offsetParent may be
5485 // document.documentElement, so check for that too.
5486 el !== body && el !== documentElement && _utils2['default'].css(el, 'overflow') !== 'visible') {
5487 var pos = _utils2['default'].offset(el);
5488 // add border
5489 pos.left += el.clientLeft;
5490 pos.top += el.clientTop;
5491 visibleRect.top = Math.max(visibleRect.top, pos.top);
5492 visibleRect.right = Math.min(visibleRect.right,
5493 // consider area without scrollBar
5494 pos.left + el.clientWidth);
5495 visibleRect.bottom = Math.min(visibleRect.bottom, pos.top + el.clientHeight);
5496 visibleRect.left = Math.max(visibleRect.left, pos.left);
5497 } else if (el === body || el === documentElement) {
5498 break;
5499 }
5500 el = (0, _getOffsetParent2['default'])(el);
5501 }
5502
5503 // Set element position to fixed
5504 // make sure absolute element itself don't affect it's visible area
5505 // https://github.com/ant-design/ant-design/issues/7601
5506 var originalPosition = null;
5507 if (!_utils2['default'].isWindow(element) && element.nodeType !== 9) {
5508 originalPosition = element.style.position;
5509 var position = _utils2['default'].css(element, 'position');
5510 if (position === 'absolute') {
5511 element.style.position = 'fixed';
5512 }
5513 }
5514
5515 var scrollX = _utils2['default'].getWindowScrollLeft(win);
5516 var scrollY = _utils2['default'].getWindowScrollTop(win);
5517 var viewportWidth = _utils2['default'].viewportWidth(win);
5518 var viewportHeight = _utils2['default'].viewportHeight(win);
5519 var documentWidth = documentElement.scrollWidth;
5520 var documentHeight = documentElement.scrollHeight;
5521
5522 // Reset element position after calculate the visible area
5523 if (element.style) {
5524 element.style.position = originalPosition;
5525 }
5526
5527 if ((0, _isAncestorFixed2['default'])(element)) {
5528 // Clip by viewport's size.
5529 visibleRect.left = Math.max(visibleRect.left, scrollX);
5530 visibleRect.top = Math.max(visibleRect.top, scrollY);
5531 visibleRect.right = Math.min(visibleRect.right, scrollX + viewportWidth);
5532 visibleRect.bottom = Math.min(visibleRect.bottom, scrollY + viewportHeight);
5533 } else {
5534 // Clip by document's size.
5535 var maxVisibleWidth = Math.max(documentWidth, scrollX + viewportWidth);
5536 visibleRect.right = Math.min(visibleRect.right, maxVisibleWidth);
5537
5538 var maxVisibleHeight = Math.max(documentHeight, scrollY + viewportHeight);
5539 visibleRect.bottom = Math.min(visibleRect.bottom, maxVisibleHeight);
5540 }
5541
5542 return visibleRect.top >= 0 && visibleRect.left >= 0 && visibleRect.bottom > visibleRect.top && visibleRect.right > visibleRect.left ? visibleRect : null;
5543 }
5544
5545 exports['default'] = getVisibleRectForElement;
5546 module.exports = exports['default'];
5547
5548/***/ }),
5549/* 56 */
5550/***/ (function(module, exports, __webpack_require__) {
5551
5552 'use strict';
5553
5554 Object.defineProperty(exports, "__esModule", {
5555 value: true
5556 });
5557
5558 var _utils = __webpack_require__(53);
5559
5560 var _utils2 = _interopRequireDefault(_utils);
5561
5562 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
5563
5564 /**
5565 * 得到会导致元素显示不全的祖先元素
5566 */
5567
5568 function getOffsetParent(element) {
5569 if (_utils2['default'].isWindow(element) || element.nodeType === 9) {
5570 return null;
5571 }
5572 // ie 这个也不是完全可行
5573 /*
5574 <div style="width: 50px;height: 100px;overflow: hidden">
5575 <div style="width: 50px;height: 100px;position: relative;" id="d6">
5576 元素 6 高 100px 宽 50px<br/>
5577 </div>
5578 </div>
5579 */
5580 // element.offsetParent does the right thing in ie7 and below. Return parent with layout!
5581 // In other browsers it only includes elements with position absolute, relative or
5582 // fixed, not elements with overflow set to auto or scroll.
5583 // if (UA.ie && ieMode < 8) {
5584 // return element.offsetParent;
5585 // }
5586 // 统一的 offsetParent 方法
5587 var doc = _utils2['default'].getDocument(element);
5588 var body = doc.body;
5589 var parent = void 0;
5590 var positionStyle = _utils2['default'].css(element, 'position');
5591 var skipStatic = positionStyle === 'fixed' || positionStyle === 'absolute';
5592
5593 if (!skipStatic) {
5594 return element.nodeName.toLowerCase() === 'html' ? null : element.parentNode;
5595 }
5596
5597 for (parent = element.parentNode; parent && parent !== body; parent = parent.parentNode) {
5598 positionStyle = _utils2['default'].css(parent, 'position');
5599 if (positionStyle !== 'static') {
5600 return parent;
5601 }
5602 }
5603 return null;
5604 }
5605
5606 exports['default'] = getOffsetParent;
5607 module.exports = exports['default'];
5608
5609/***/ }),
5610/* 57 */
5611/***/ (function(module, exports, __webpack_require__) {
5612
5613 'use strict';
5614
5615 Object.defineProperty(exports, "__esModule", {
5616 value: true
5617 });
5618 exports['default'] = isAncestorFixed;
5619
5620 var _utils = __webpack_require__(53);
5621
5622 var _utils2 = _interopRequireDefault(_utils);
5623
5624 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
5625
5626 function isAncestorFixed(element) {
5627 if (_utils2['default'].isWindow(element) || element.nodeType === 9) {
5628 return false;
5629 }
5630
5631 var doc = _utils2['default'].getDocument(element);
5632 var body = doc.body;
5633 var parent = null;
5634 for (parent = element.parentNode; parent && parent !== body; parent = parent.parentNode) {
5635 var positionStyle = _utils2['default'].css(parent, 'position');
5636 if (positionStyle === 'fixed') {
5637 return true;
5638 }
5639 }
5640 return false;
5641 }
5642 module.exports = exports['default'];
5643
5644/***/ }),
5645/* 58 */
5646/***/ (function(module, exports, __webpack_require__) {
5647
5648 'use strict';
5649
5650 Object.defineProperty(exports, "__esModule", {
5651 value: true
5652 });
5653
5654 var _utils = __webpack_require__(53);
5655
5656 var _utils2 = _interopRequireDefault(_utils);
5657
5658 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
5659
5660 function adjustForViewport(elFuturePos, elRegion, visibleRect, overflow) {
5661 var pos = _utils2['default'].clone(elFuturePos);
5662 var size = {
5663 width: elRegion.width,
5664 height: elRegion.height
5665 };
5666
5667 if (overflow.adjustX && pos.left < visibleRect.left) {
5668 pos.left = visibleRect.left;
5669 }
5670
5671 // Left edge inside and right edge outside viewport, try to resize it.
5672 if (overflow.resizeWidth && pos.left >= visibleRect.left && pos.left + size.width > visibleRect.right) {
5673 size.width -= pos.left + size.width - visibleRect.right;
5674 }
5675
5676 // Right edge outside viewport, try to move it.
5677 if (overflow.adjustX && pos.left + size.width > visibleRect.right) {
5678 // 保证左边界和可视区域左边界对齐
5679 pos.left = Math.max(visibleRect.right - size.width, visibleRect.left);
5680 }
5681
5682 // Top edge outside viewport, try to move it.
5683 if (overflow.adjustY && pos.top < visibleRect.top) {
5684 pos.top = visibleRect.top;
5685 }
5686
5687 // Top edge inside and bottom edge outside viewport, try to resize it.
5688 if (overflow.resizeHeight && pos.top >= visibleRect.top && pos.top + size.height > visibleRect.bottom) {
5689 size.height -= pos.top + size.height - visibleRect.bottom;
5690 }
5691
5692 // Bottom edge outside viewport, try to move it.
5693 if (overflow.adjustY && pos.top + size.height > visibleRect.bottom) {
5694 // 保证上边界和可视区域上边界对齐
5695 pos.top = Math.max(visibleRect.bottom - size.height, visibleRect.top);
5696 }
5697
5698 return _utils2['default'].mix(pos, size);
5699 }
5700
5701 exports['default'] = adjustForViewport;
5702 module.exports = exports['default'];
5703
5704/***/ }),
5705/* 59 */
5706/***/ (function(module, exports, __webpack_require__) {
5707
5708 'use strict';
5709
5710 Object.defineProperty(exports, "__esModule", {
5711 value: true
5712 });
5713
5714 var _utils = __webpack_require__(53);
5715
5716 var _utils2 = _interopRequireDefault(_utils);
5717
5718 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
5719
5720 function getRegion(node) {
5721 var offset = void 0;
5722 var w = void 0;
5723 var h = void 0;
5724 if (!_utils2['default'].isWindow(node) && node.nodeType !== 9) {
5725 offset = _utils2['default'].offset(node);
5726 w = _utils2['default'].outerWidth(node);
5727 h = _utils2['default'].outerHeight(node);
5728 } else {
5729 var win = _utils2['default'].getWindow(node);
5730 offset = {
5731 left: _utils2['default'].getWindowScrollLeft(win),
5732 top: _utils2['default'].getWindowScrollTop(win)
5733 };
5734 w = _utils2['default'].viewportWidth(win);
5735 h = _utils2['default'].viewportHeight(win);
5736 }
5737 offset.width = w;
5738 offset.height = h;
5739 return offset;
5740 }
5741
5742 exports['default'] = getRegion;
5743 module.exports = exports['default'];
5744
5745/***/ }),
5746/* 60 */
5747/***/ (function(module, exports, __webpack_require__) {
5748
5749 'use strict';
5750
5751 Object.defineProperty(exports, "__esModule", {
5752 value: true
5753 });
5754
5755 var _getAlignOffset = __webpack_require__(61);
5756
5757 var _getAlignOffset2 = _interopRequireDefault(_getAlignOffset);
5758
5759 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
5760
5761 function getElFuturePos(elRegion, refNodeRegion, points, offset, targetOffset) {
5762 var p1 = (0, _getAlignOffset2['default'])(refNodeRegion, points[1]);
5763 var p2 = (0, _getAlignOffset2['default'])(elRegion, points[0]);
5764 var diff = [p2.left - p1.left, p2.top - p1.top];
5765
5766 return {
5767 left: elRegion.left - diff[0] + offset[0] - targetOffset[0],
5768 top: elRegion.top - diff[1] + offset[1] - targetOffset[1]
5769 };
5770 }
5771
5772 exports['default'] = getElFuturePos;
5773 module.exports = exports['default'];
5774
5775/***/ }),
5776/* 61 */
5777/***/ (function(module, exports) {
5778
5779 'use strict';
5780
5781 Object.defineProperty(exports, "__esModule", {
5782 value: true
5783 });
5784 /**
5785 * 获取 node 上的 align 对齐点 相对于页面的坐标
5786 */
5787
5788 function getAlignOffset(region, align) {
5789 var V = align.charAt(0);
5790 var H = align.charAt(1);
5791 var w = region.width;
5792 var h = region.height;
5793
5794 var x = region.left;
5795 var y = region.top;
5796
5797 if (V === 'c') {
5798 y += h / 2;
5799 } else if (V === 'b') {
5800 y += h;
5801 }
5802
5803 if (H === 'c') {
5804 x += w / 2;
5805 } else if (H === 'r') {
5806 x += w;
5807 }
5808
5809 return {
5810 left: x,
5811 top: y
5812 };
5813 }
5814
5815 exports['default'] = getAlignOffset;
5816 module.exports = exports['default'];
5817
5818/***/ }),
5819/* 62 */
5820/***/ (function(module, exports, __webpack_require__) {
5821
5822 'use strict';
5823
5824 Object.defineProperty(exports, "__esModule", {
5825 value: true
5826 });
5827
5828 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; };
5829
5830 var _utils = __webpack_require__(53);
5831
5832 var _utils2 = _interopRequireDefault(_utils);
5833
5834 var _align = __webpack_require__(52);
5835
5836 var _align2 = _interopRequireDefault(_align);
5837
5838 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
5839
5840 /**
5841 * `tgtPoint`: { pageX, pageY } or { clientX, clientY }.
5842 * If client position provided, will internal convert to page position.
5843 */
5844
5845 function alignPoint(el, tgtPoint, align) {
5846 var pageX = void 0;
5847 var pageY = void 0;
5848
5849 var doc = _utils2['default'].getDocument(el);
5850 var win = doc.defaultView || doc.parentWindow;
5851
5852 var scrollX = _utils2['default'].getWindowScrollLeft(win);
5853 var scrollY = _utils2['default'].getWindowScrollTop(win);
5854 var viewportWidth = _utils2['default'].viewportWidth(win);
5855 var viewportHeight = _utils2['default'].viewportHeight(win);
5856
5857 if ('pageX' in tgtPoint) {
5858 pageX = tgtPoint.pageX;
5859 } else {
5860 pageX = scrollX + tgtPoint.clientX;
5861 }
5862
5863 if ('pageY' in tgtPoint) {
5864 pageY = tgtPoint.pageY;
5865 } else {
5866 pageY = scrollY + tgtPoint.clientY;
5867 }
5868
5869 var tgtRegion = {
5870 left: pageX,
5871 top: pageY,
5872 width: 0,
5873 height: 0
5874 };
5875
5876 var pointInView = pageX >= 0 && pageX <= scrollX + viewportWidth && pageY >= 0 && pageY <= scrollY + viewportHeight;
5877
5878 // Provide default target point
5879 var points = [align.points[0], 'cc'];
5880
5881 return (0, _align2['default'])(el, tgtRegion, _extends({}, align, { points: points }), pointInView);
5882 }
5883
5884 exports['default'] = alignPoint;
5885 module.exports = exports['default'];
5886
5887/***/ }),
5888/* 63 */
5889/***/ (function(module, exports, __webpack_require__) {
5890
5891 'use strict';
5892
5893 Object.defineProperty(exports, "__esModule", {
5894 value: true
5895 });
5896
5897 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; };
5898
5899 var _classnames = __webpack_require__(3);
5900
5901 var _classnames2 = _interopRequireDefault(_classnames);
5902
5903 var _react = __webpack_require__(4);
5904
5905 var _react2 = _interopRequireDefault(_react);
5906
5907 var _propTypes = __webpack_require__(5);
5908
5909 var _propTypes2 = _interopRequireDefault(_propTypes);
5910
5911 var _Transition = __webpack_require__(11);
5912
5913 var _Transition2 = _interopRequireDefault(_Transition);
5914
5915 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
5916
5917 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; }
5918
5919 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
5920
5921 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; }
5922
5923 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); }
5924
5925 var propTypes = {
5926 /**
5927 * Show the component; triggers the fade in or fade out animation
5928 */
5929 "in": _propTypes2["default"].bool,
5930
5931 /**
5932 * Unmount the component (remove it from the DOM) when it is faded out
5933 */
5934 unmountOnExit: _propTypes2["default"].bool,
5935
5936 /**
5937 * Run the fade in animation when the component mounts, if it is initially
5938 * shown
5939 */
5940 transitionAppear: _propTypes2["default"].bool,
5941
5942 /**
5943 * Duration of the fade animation in milliseconds, to ensure that finishing
5944 * callbacks are fired even if the original browser transition end events are
5945 * canceled
5946 */
5947 timeout: _propTypes2["default"].number,
5948
5949 /**
5950 * Callback fired before the component fades in
5951 */
5952 onEnter: _propTypes2["default"].func,
5953 /**
5954 * Callback fired after the component starts to fade in
5955 */
5956 onEntering: _propTypes2["default"].func,
5957 /**
5958 * Callback fired after the has component faded in
5959 */
5960 onEntered: _propTypes2["default"].func,
5961 /**
5962 * Callback fired before the component fades out
5963 */
5964 onExit: _propTypes2["default"].func,
5965 /**
5966 * Callback fired after the component starts to fade out
5967 */
5968 onExiting: _propTypes2["default"].func,
5969 /**
5970 * Callback fired after the component has faded out
5971 */
5972 onExited: _propTypes2["default"].func
5973 };
5974
5975 var defaultProps = {
5976 "in": false,
5977 timeout: 300,
5978 unmountOnExit: false,
5979 transitionAppear: false
5980 };
5981
5982 var Fade = function (_React$Component) {
5983 _inherits(Fade, _React$Component);
5984
5985 function Fade() {
5986 _classCallCheck(this, Fade);
5987
5988 return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));
5989 }
5990
5991 Fade.prototype.render = function render() {
5992 return _react2["default"].createElement(_Transition2["default"], _extends({}, this.props, {
5993 className: (0, _classnames2["default"])(this.props.className, 'fade'),
5994 enteredClassName: 'in',
5995 enteringClassName: 'in'
5996 }));
5997 };
5998
5999 return Fade;
6000 }(_react2["default"].Component);
6001
6002 Fade.propTypes = propTypes;
6003 Fade.defaultProps = defaultProps;
6004
6005 exports["default"] = Fade;
6006 module.exports = exports['default'];
6007
6008/***/ }),
6009/* 64 */
6010/***/ (function(module, exports, __webpack_require__) {
6011
6012 'use strict';
6013
6014 Object.defineProperty(exports, "__esModule", {
6015 value: true
6016 });
6017
6018 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; };
6019
6020 var _classnames = __webpack_require__(3);
6021
6022 var _classnames2 = _interopRequireDefault(_classnames);
6023
6024 var _react = __webpack_require__(4);
6025
6026 var _react2 = _interopRequireDefault(_react);
6027
6028 var _propTypes = __webpack_require__(5);
6029
6030 var _propTypes2 = _interopRequireDefault(_propTypes);
6031
6032 var _tinperBeeCore = __webpack_require__(26);
6033
6034 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
6035
6036 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; }
6037
6038 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; }
6039
6040 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
6041
6042 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; }
6043
6044 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); }
6045
6046 var propTypes = {
6047 //是否是手风琴效果
6048 accordion: _propTypes2["default"].bool,
6049 //激活的项
6050 activeKey: _propTypes2["default"].any,
6051 //默认的激活的项
6052 defaultActiveKey: _propTypes2["default"].any,
6053 //选中函数
6054 onSelect: _propTypes2["default"].func,
6055 role: _propTypes2["default"].string
6056 };
6057
6058 var defaultProps = {
6059 accordion: false,
6060 clsPrefix: 'u-panel-group'
6061 };
6062
6063 // TODO: Use uncontrollable.
6064
6065 var PanelGroup = function (_React$Component) {
6066 _inherits(PanelGroup, _React$Component);
6067
6068 function PanelGroup(props, context) {
6069 _classCallCheck(this, PanelGroup);
6070
6071 var _this = _possibleConstructorReturn(this, _React$Component.call(this, props, context));
6072
6073 _this.handleSelect = _this.handleSelect.bind(_this);
6074
6075 _this.state = {
6076 activeKey: props.defaultActiveKey
6077 };
6078 return _this;
6079 }
6080
6081 PanelGroup.prototype.handleSelect = function handleSelect(key, e) {
6082 e.preventDefault();
6083
6084 if (this.props.onSelect) {
6085 this.props.onSelect(key, e);
6086 }
6087
6088 if (this.state.activeKey === key) {
6089 key = null;
6090 }
6091
6092 this.setState({ activeKey: key });
6093 };
6094
6095 PanelGroup.prototype.render = function render() {
6096 var _this2 = this;
6097
6098 var _props = this.props,
6099 accordion = _props.accordion,
6100 propsActiveKey = _props.activeKey,
6101 className = _props.className,
6102 children = _props.children,
6103 defaultActiveKey = _props.defaultActiveKey,
6104 onSelect = _props.onSelect,
6105 style = _props.style,
6106 clsPrefix = _props.clsPrefix,
6107 others = _objectWithoutProperties(_props, ['accordion', 'activeKey', 'className', 'children', 'defaultActiveKey', 'onSelect', 'style', 'clsPrefix']);
6108
6109 var activeKey = void 0;
6110 if (accordion) {
6111 activeKey = propsActiveKey != null ? propsActiveKey : this.state.activeKey;
6112 others.role = others.role || 'tablist';
6113 }
6114
6115 var classes = {};
6116 classes['' + clsPrefix] = true;
6117
6118 return _react2["default"].createElement(
6119 'div',
6120 _extends({}, others, {
6121 className: (0, _classnames2["default"])(className, classes)
6122 }),
6123 _react2["default"].Children.map(children, function (child) {
6124 if (!_react2["default"].isValidElement(child)) {
6125 return child;
6126 }
6127 var childProps = {
6128 style: child.props.style
6129 };
6130
6131 if (accordion) {
6132 _extends(childProps, {
6133 headerRole: 'tab',
6134 panelRole: 'tabpanel',
6135 collapsible: true,
6136 expanded: child.props.eventKey === activeKey,
6137 onSelect: (0, _tinperBeeCore.createChainedFunction)(_this2.handleSelect, child.props.onSelect)
6138 });
6139 }
6140
6141 return (0, _react.cloneElement)(child, childProps);
6142 })
6143 );
6144 };
6145
6146 return PanelGroup;
6147 }(_react2["default"].Component);
6148
6149 PanelGroup.propTypes = propTypes;
6150 PanelGroup.defaultProps = defaultProps;
6151
6152 exports["default"] = PanelGroup;
6153 module.exports = exports['default'];
6154
6155/***/ }),
6156/* 65 */
6157/***/ (function(module, exports, __webpack_require__) {
6158
6159 'use strict';
6160
6161 Object.defineProperty(exports, "__esModule", {
6162 value: true
6163 });
6164
6165 var _Button = __webpack_require__(66);
6166
6167 var _Button2 = _interopRequireDefault(_Button);
6168
6169 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
6170
6171 exports["default"] = _Button2["default"];
6172 module.exports = exports['default'];
6173
6174/***/ }),
6175/* 66 */
6176/***/ (function(module, exports, __webpack_require__) {
6177
6178 'use strict';
6179
6180 Object.defineProperty(exports, "__esModule", {
6181 value: true
6182 });
6183
6184 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; };
6185
6186 var _react = __webpack_require__(4);
6187
6188 var _react2 = _interopRequireDefault(_react);
6189
6190 var _reactDom = __webpack_require__(12);
6191
6192 var _reactDom2 = _interopRequireDefault(_reactDom);
6193
6194 var _propTypes = __webpack_require__(5);
6195
6196 var _propTypes2 = _interopRequireDefault(_propTypes);
6197
6198 var _classnames = __webpack_require__(3);
6199
6200 var _classnames2 = _interopRequireDefault(_classnames);
6201
6202 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
6203
6204 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; }
6205
6206 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; }
6207
6208 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
6209
6210 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; }
6211
6212 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); }
6213
6214 var propTypes = {
6215 /**
6216 * @title 尺寸
6217 */
6218 size: _propTypes2["default"].oneOf(['sm', 'xg', 'lg']),
6219 /**
6220 * @title 样式
6221 */
6222 style: _propTypes2["default"].object,
6223 /**
6224 * @title 形状
6225 */
6226 shape: _propTypes2["default"].oneOf(['block', 'round', 'border', 'squared', 'floating', 'pillRight', 'pillLeft', 'icon']),
6227
6228 bordered: _propTypes2["default"].bool,
6229 /**
6230 * @title 类型
6231 */
6232 colors: _propTypes2["default"].oneOf(['primary', 'accent', 'success', 'info', 'warning', 'danger', 'default']),
6233 /**
6234 * @title 是否禁用
6235 * @veIgnore
6236 */
6237 disabled: _propTypes2["default"].bool,
6238 /**
6239 * @title 类名
6240 * @veIgnore
6241 */
6242 className: _propTypes2["default"].string,
6243
6244 /**
6245 * @title <button> 的 type
6246 * @veIgnore
6247 */
6248 htmlType: _propTypes2["default"].oneOf(['submit', 'button', 'reset']),
6249 isSubmit: _propTypes2["default"].bool //是否作为form的提交按钮
6250 };
6251
6252 var defaultProps = {
6253 disabled: false,
6254 htmlType: 'button',
6255 clsPrefix: 'u-button',
6256 bordered: false,
6257 isSubmit: false
6258 };
6259
6260 var sizeMap = {
6261 sm: 'sm',
6262 xg: 'xg',
6263 lg: 'lg'
6264 },
6265 colorsMap = {
6266 primary: 'primary',
6267 accent: 'accent',
6268 success: 'success',
6269 info: 'info',
6270 warning: 'warning',
6271 danger: 'danger'
6272 },
6273 shapeMap = {
6274 block: 'block',
6275 round: 'round',
6276 border: 'border',
6277 squared: 'squared',
6278 floating: 'floating',
6279 pillRight: 'pill-right',
6280 pillLeft: 'pill-left',
6281 icon: 'icon'
6282 };
6283
6284 var Button = function (_Component) {
6285 _inherits(Button, _Component);
6286
6287 function Button(props) {
6288 _classCallCheck(this, Button);
6289
6290 return _possibleConstructorReturn(this, _Component.call(this, props));
6291 }
6292
6293 Button.prototype.render = function render() {
6294 var _props = this.props,
6295 colors = _props.colors,
6296 shape = _props.shape,
6297 disabled = _props.disabled,
6298 className = _props.className,
6299 size = _props.size,
6300 bordered = _props.bordered,
6301 children = _props.children,
6302 htmlType = _props.htmlType,
6303 clsPrefix = _props.clsPrefix,
6304 isSubmit = _props.isSubmit,
6305 others = _objectWithoutProperties(_props, ['colors', 'shape', 'disabled', 'className', 'size', 'bordered', 'children', 'htmlType', 'clsPrefix', 'isSubmit']);
6306
6307 var clsObj = {};
6308 if (className) {
6309 clsObj[className] = true;
6310 }
6311 if (sizeMap[size]) {
6312 clsObj[clsPrefix + '-' + sizeMap[size]] = true;
6313 }
6314
6315 if (shapeMap[shape]) {
6316 clsObj[clsPrefix + '-' + shapeMap[shape]] = true;
6317 }
6318 if (colorsMap[colors]) {
6319 clsObj[clsPrefix + '-' + colorsMap[colors]] = true;
6320 }
6321 //clsObj[`${clsPrefix}-border`] = bordered;
6322 var classes = (0, _classnames2["default"])(clsPrefix, clsObj);
6323 return _react2["default"].createElement(
6324 'button',
6325 _extends({
6326 type: htmlType,
6327 className: classes,
6328 disabled: disabled
6329 }, others),
6330 this.props.children
6331 );
6332 };
6333
6334 return Button;
6335 }(_react.Component);
6336
6337 Button.propTypes = propTypes;
6338 Button.defaultProps = defaultProps;
6339
6340 exports["default"] = Button;
6341 module.exports = exports['default'];
6342
6343/***/ }),
6344/* 67 */
6345/***/ (function(module, exports, __webpack_require__) {
6346
6347 'use strict';
6348
6349 Object.defineProperty(exports, "__esModule", {
6350 value: true
6351 });
6352
6353 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; };
6354
6355 var _react = __webpack_require__(4);
6356
6357 var _react2 = _interopRequireDefault(_react);
6358
6359 var _src = __webpack_require__(68);
6360
6361 var _src2 = _interopRequireDefault(_src);
6362
6363 var _beeFormControl = __webpack_require__(257);
6364
6365 var _beeFormControl2 = _interopRequireDefault(_beeFormControl);
6366
6367 var _beeLabel = __webpack_require__(261);
6368
6369 var _beeLabel2 = _interopRequireDefault(_beeLabel);
6370
6371 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
6372
6373 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; }
6374
6375 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
6376
6377 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; }
6378
6379 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); } /**
6380 *
6381 * @title 单个input校验
6382 * @description 使用FormItem
6383 */
6384
6385
6386 var FormItem = _src2['default'].FormItem;
6387
6388 var Demo1 = _src2['default'].createForm()(function (_Component) {
6389 _inherits(Demo, _Component);
6390
6391 function Demo(props) {
6392 _classCallCheck(this, Demo);
6393
6394 return _possibleConstructorReturn(this, _Component.call(this, props));
6395 }
6396
6397 Demo.prototype.render = function render() {
6398 var self = this;
6399 var _props$form = this.props.form,
6400 getFieldProps = _props$form.getFieldProps,
6401 getFieldError = _props$form.getFieldError;
6402
6403 return _react2['default'].createElement(
6404 FormItem,
6405 { className: 'demo1' },
6406 _react2['default'].createElement(
6407 _beeLabel2['default'],
6408 null,
6409 '\u59D3\u540D\uFF1A'
6410 ),
6411 _react2['default'].createElement(_beeFormControl2['default'], _extends({ placeholder: '\u8BF7\u8F93\u5165\u59D3\u540D'
6412 }, getFieldProps('name', {
6413 validateTrigger: 'onBlur',
6414 rules: [{
6415 required: true, message: '请输入姓名'
6416 }, {
6417 max: 5, message: '最大长度为10'
6418 }, {
6419 pattern: /[\u4e00-\u9fa5]/, message: '请输入中文字符'
6420 }]
6421 }))),
6422 _react2['default'].createElement(
6423 'span',
6424 { className: 'error' },
6425 getFieldError('name')
6426 )
6427 );
6428 };
6429
6430 return Demo;
6431 }(_react.Component));
6432
6433 exports['default'] = Demo1;
6434 module.exports = exports['default'];
6435
6436/***/ }),
6437/* 68 */
6438/***/ (function(module, exports, __webpack_require__) {
6439
6440 'use strict';
6441
6442 Object.defineProperty(exports, "__esModule", {
6443 value: true
6444 });
6445
6446 var _Form = __webpack_require__(69);
6447
6448 var _Form2 = _interopRequireDefault(_Form);
6449
6450 var _FormItem = __webpack_require__(256);
6451
6452 var _FormItem2 = _interopRequireDefault(_FormItem);
6453
6454 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
6455
6456 _Form2['default'].FormItem = _FormItem2['default'];
6457 exports['default'] = _Form2['default'];
6458 module.exports = exports['default'];
6459
6460/***/ }),
6461/* 69 */
6462/***/ (function(module, exports, __webpack_require__) {
6463
6464 'use strict';
6465
6466 Object.defineProperty(exports, "__esModule", {
6467 value: true
6468 });
6469
6470 var _react = __webpack_require__(4);
6471
6472 var _react2 = _interopRequireDefault(_react);
6473
6474 var _propTypes = __webpack_require__(5);
6475
6476 var _propTypes2 = _interopRequireDefault(_propTypes);
6477
6478 var _rcForm = __webpack_require__(70);
6479
6480 var _classnames = __webpack_require__(3);
6481
6482 var _classnames2 = _interopRequireDefault(_classnames);
6483
6484 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
6485
6486 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; }
6487
6488 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
6489
6490 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; }
6491
6492 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); }
6493
6494 var propTypes = {
6495 prefixCls: _propTypes2['default'].string,
6496 onSubmit: _propTypes2['default'].func
6497 };
6498 var defaultProps = {
6499 prefixCls: 'u-form',
6500 onSubmit: function onSubmit() {}
6501 };
6502
6503 var Form = function (_Component) {
6504 _inherits(Form, _Component);
6505
6506 function Form(props) {
6507 _classCallCheck(this, Form);
6508
6509 return _possibleConstructorReturn(this, _Component.call(this, props));
6510 }
6511
6512 Form.prototype.render = function render() {
6513 var _props = this.props,
6514 prefixCls = _props.prefixCls,
6515 _props$className = _props.className,
6516 className = _props$className === undefined ? '' : _props$className,
6517 children = _props.children,
6518 style = _props.style,
6519 onSubmit = _props.onSubmit;
6520
6521 var formClassName = (0, _classnames2['default'])(prefixCls, className);
6522 return _react2['default'].createElement(
6523 'form',
6524 { className: prefixCls + ' ' + className, style: style, onSubmit: onSubmit },
6525 children
6526 );
6527 };
6528
6529 return Form;
6530 }(_react.Component);
6531
6532 ;
6533 Form.createForm = _rcForm.createForm;
6534 Form.createFormField = _rcForm.createFormField;
6535 Form.propTypes = propTypes;
6536 Form.defaultProps = defaultProps;
6537 exports['default'] = Form;
6538 module.exports = exports['default'];
6539
6540/***/ }),
6541/* 70 */
6542/***/ (function(module, exports, __webpack_require__) {
6543
6544 'use strict';
6545
6546 Object.defineProperty(exports, "__esModule", {
6547 value: true
6548 });
6549 exports.formShape = exports.createFormField = exports.createForm = undefined;
6550
6551 var _createForm = __webpack_require__(71);
6552
6553 var _createForm2 = _interopRequireDefault(_createForm);
6554
6555 var _createFormField = __webpack_require__(252);
6556
6557 var _createFormField2 = _interopRequireDefault(_createFormField);
6558
6559 var _propTypes = __webpack_require__(255);
6560
6561 var _propTypes2 = _interopRequireDefault(_propTypes);
6562
6563 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
6564
6565 exports.createForm = _createForm2['default'];
6566 exports.createFormField = _createFormField2['default'];
6567 exports.formShape = _propTypes2['default']; // export this package's api
6568
6569/***/ }),
6570/* 71 */
6571/***/ (function(module, exports, __webpack_require__) {
6572
6573 'use strict';
6574
6575 Object.defineProperty(exports, "__esModule", {
6576 value: true
6577 });
6578 exports.mixin = undefined;
6579
6580 var _createBaseForm = __webpack_require__(72);
6581
6582 var _createBaseForm2 = _interopRequireDefault(_createBaseForm);
6583
6584 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
6585
6586 var mixin = exports.mixin = {
6587 getForm: function getForm() {
6588 return {
6589 getFieldsValue: this.fieldsStore.getFieldsValue,
6590 getFieldValue: this.fieldsStore.getFieldValue,
6591 getFieldInstance: this.getFieldInstance,
6592 setFieldsValue: this.setFieldsValue,
6593 setFields: this.setFields,
6594 setFieldsInitialValue: this.fieldsStore.setFieldsInitialValue,
6595 getFieldDecorator: this.getFieldDecorator,
6596 getFieldProps: this.getFieldProps,
6597 getFieldsError: this.fieldsStore.getFieldsError,
6598 getFieldError: this.fieldsStore.getFieldError,
6599 isFieldValidating: this.fieldsStore.isFieldValidating,
6600 isFieldsValidating: this.fieldsStore.isFieldsValidating,
6601 isFieldsTouched: this.fieldsStore.isFieldsTouched,
6602 isFieldTouched: this.fieldsStore.isFieldTouched,
6603 isSubmitting: this.isSubmitting,
6604 submit: this.submit,
6605 validateFields: this.validateFields,
6606 resetFields: this.resetFields
6607 };
6608 }
6609 };
6610
6611 function createForm(options) {
6612 return (0, _createBaseForm2['default'])(options, [mixin]);
6613 }
6614
6615 exports['default'] = createForm;
6616
6617/***/ }),
6618/* 72 */
6619/***/ (function(module, exports, __webpack_require__) {
6620
6621 /* WEBPACK VAR INJECTION */(function(process) {'use strict';
6622
6623 Object.defineProperty(exports, "__esModule", {
6624 value: true
6625 });
6626
6627 var _objectWithoutProperties2 = __webpack_require__(73);
6628
6629 var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
6630
6631 var _typeof2 = __webpack_require__(74);
6632
6633 var _typeof3 = _interopRequireDefault(_typeof2);
6634
6635 var _defineProperty2 = __webpack_require__(141);
6636
6637 var _defineProperty3 = _interopRequireDefault(_defineProperty2);
6638
6639 var _extends2 = __webpack_require__(145);
6640
6641 var _extends3 = _interopRequireDefault(_extends2);
6642
6643 var _toConsumableArray2 = __webpack_require__(150);
6644
6645 var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);
6646
6647 var _react = __webpack_require__(4);
6648
6649 var _react2 = _interopRequireDefault(_react);
6650
6651 var _createReactClass = __webpack_require__(160);
6652
6653 var _createReactClass2 = _interopRequireDefault(_createReactClass);
6654
6655 var _asyncValidator = __webpack_require__(166);
6656
6657 var _asyncValidator2 = _interopRequireDefault(_asyncValidator);
6658
6659 var _warning = __webpack_require__(31);
6660
6661 var _warning2 = _interopRequireDefault(_warning);
6662
6663 var _get = __webpack_require__(191);
6664
6665 var _get2 = _interopRequireDefault(_get);
6666
6667 var _set = __webpack_require__(243);
6668
6669 var _set2 = _interopRequireDefault(_set);
6670
6671 var _createFieldsStore = __webpack_require__(249);
6672
6673 var _createFieldsStore2 = _interopRequireDefault(_createFieldsStore);
6674
6675 var _utils = __webpack_require__(253);
6676
6677 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
6678
6679 var DEFAULT_TRIGGER = 'onChange';
6680
6681 function createBaseForm() {
6682 var option = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
6683 var mixins = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
6684 var validateMessages = option.validateMessages,
6685 onFieldsChange = option.onFieldsChange,
6686 onValuesChange = option.onValuesChange,
6687 _option$mapProps = option.mapProps,
6688 mapProps = _option$mapProps === undefined ? _utils.identity : _option$mapProps,
6689 mapPropsToFields = option.mapPropsToFields,
6690 fieldNameProp = option.fieldNameProp,
6691 fieldMetaProp = option.fieldMetaProp,
6692 fieldDataProp = option.fieldDataProp,
6693 _option$formPropName = option.formPropName,
6694 formPropName = _option$formPropName === undefined ? 'form' : _option$formPropName,
6695 withRef = option.withRef;
6696
6697
6698 return function decorate(WrappedComponent) {
6699 var Form = (0, _createReactClass2['default'])({
6700 displayName: 'Form',
6701
6702 mixins: mixins,
6703
6704 getInitialState: function getInitialState() {
6705 var _this = this;
6706
6707 var fields = mapPropsToFields && mapPropsToFields(this.props);
6708 this.fieldsStore = (0, _createFieldsStore2['default'])(fields || {});
6709
6710 this.instances = {};
6711 this.cachedBind = {};
6712 this.clearedFieldMetaCache = {};
6713 // HACK: https://github.com/ant-design/ant-design/issues/6406
6714 ['getFieldsValue', 'getFieldValue', 'setFieldsInitialValue', 'getFieldsError', 'getFieldError', 'isFieldValidating', 'isFieldsValidating', 'isFieldsTouched', 'isFieldTouched'].forEach(function (key) {
6715 return _this[key] = function () {
6716 var _fieldsStore;
6717
6718 if (process.env.NODE_ENV !== 'production') {
6719 (0, _warning2['default'])(false, 'you should not use `ref` on enhanced form, please use `wrappedComponentRef`. ' + 'See: https://github.com/react-component/form#note-use-wrappedcomponentref-instead-of-withref-after-rc-form140');
6720 }
6721 return (_fieldsStore = _this.fieldsStore)[key].apply(_fieldsStore, arguments);
6722 };
6723 });
6724
6725 return {
6726 submitting: false
6727 };
6728 },
6729 componentWillReceiveProps: function componentWillReceiveProps(nextProps) {
6730 if (mapPropsToFields) {
6731 this.fieldsStore.updateFields(mapPropsToFields(nextProps));
6732 }
6733 },
6734 onCollectCommon: function onCollectCommon(name, action, args) {
6735 var fieldMeta = this.fieldsStore.getFieldMeta(name);
6736 if (fieldMeta[action]) {
6737 fieldMeta[action].apply(fieldMeta, (0, _toConsumableArray3['default'])(args));
6738 } else if (fieldMeta.originalProps && fieldMeta.originalProps[action]) {
6739 var _fieldMeta$originalPr;
6740
6741 (_fieldMeta$originalPr = fieldMeta.originalProps)[action].apply(_fieldMeta$originalPr, (0, _toConsumableArray3['default'])(args));
6742 }
6743 var value = fieldMeta.getValueFromEvent ? fieldMeta.getValueFromEvent.apply(fieldMeta, (0, _toConsumableArray3['default'])(args)) : _utils.getValueFromEvent.apply(undefined, (0, _toConsumableArray3['default'])(args));
6744 if (onValuesChange && value !== this.fieldsStore.getFieldValue(name)) {
6745 var valuesAll = this.fieldsStore.getAllValues();
6746 var valuesAllSet = {};
6747 valuesAll[name] = value;
6748 Object.keys(valuesAll).forEach(function (key) {
6749 return (0, _set2['default'])(valuesAllSet, key, valuesAll[key]);
6750 });
6751 onValuesChange(this.props, (0, _set2['default'])({}, name, value), valuesAllSet);
6752 }
6753 var field = this.fieldsStore.getField(name);
6754 return { name: name, field: (0, _extends3['default'])({}, field, { value: value, touched: true }), fieldMeta: fieldMeta };
6755 },
6756 onCollect: function onCollect(name_, action) {
6757 for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
6758 args[_key - 2] = arguments[_key];
6759 }
6760
6761 var _onCollectCommon = this.onCollectCommon(name_, action, args),
6762 name = _onCollectCommon.name,
6763 field = _onCollectCommon.field,
6764 fieldMeta = _onCollectCommon.fieldMeta;
6765
6766 var validate = fieldMeta.validate;
6767
6768 var newField = (0, _extends3['default'])({}, field, {
6769 dirty: (0, _utils.hasRules)(validate)
6770 });
6771 this.setFields((0, _defineProperty3['default'])({}, name, newField));
6772 },
6773 onCollectValidate: function onCollectValidate(name_, action) {
6774 for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {
6775 args[_key2 - 2] = arguments[_key2];
6776 }
6777
6778 var _onCollectCommon2 = this.onCollectCommon(name_, action, args),
6779 field = _onCollectCommon2.field,
6780 fieldMeta = _onCollectCommon2.fieldMeta;
6781
6782 var newField = (0, _extends3['default'])({}, field, {
6783 dirty: true
6784 });
6785 this.validateFieldsInternal([newField], {
6786 action: action,
6787 options: {
6788 firstFields: !!fieldMeta.validateFirst
6789 }
6790 });
6791 },
6792 getCacheBind: function getCacheBind(name, action, fn) {
6793 if (!this.cachedBind[name]) {
6794 this.cachedBind[name] = {};
6795 }
6796 var cache = this.cachedBind[name];
6797 if (!cache[action]) {
6798 cache[action] = fn.bind(this, name, action);
6799 }
6800 return cache[action];
6801 },
6802 recoverClearedField: function recoverClearedField(name) {
6803 if (this.clearedFieldMetaCache[name]) {
6804 this.fieldsStore.setFields((0, _defineProperty3['default'])({}, name, this.clearedFieldMetaCache[name].field));
6805 this.fieldsStore.setFieldMeta(name, this.clearedFieldMetaCache[name].meta);
6806 delete this.clearedFieldMetaCache[name];
6807 }
6808 },
6809 getFieldDecorator: function getFieldDecorator(name, fieldOption) {
6810 var _this2 = this;
6811
6812 var props = this.getFieldProps(name, fieldOption);
6813 return function (fieldElem) {
6814 var fieldMeta = _this2.fieldsStore.getFieldMeta(name);
6815 var originalProps = fieldElem.props;
6816 if (process.env.NODE_ENV !== 'production') {
6817 var valuePropName = fieldMeta.valuePropName;
6818 (0, _warning2['default'])(!(valuePropName in originalProps), '`getFieldDecorator` will override `' + valuePropName + '`, ' + ('so please don\'t set `' + valuePropName + '` directly ') + 'and use `setFieldsValue` to set it.');
6819 var defaultValuePropName = 'default' + valuePropName[0].toUpperCase() + valuePropName.slice(1);
6820 (0, _warning2['default'])(!(defaultValuePropName in originalProps), '`' + defaultValuePropName + '` is invalid ' + ('for `getFieldDecorator` will set `' + valuePropName + '`,') + ' please use `option.initialValue` instead.');
6821 }
6822 fieldMeta.originalProps = originalProps;
6823 fieldMeta.ref = fieldElem.ref;
6824 return _react2['default'].cloneElement(fieldElem, (0, _extends3['default'])({}, props, _this2.fieldsStore.getFieldValuePropValue(fieldMeta)));
6825 };
6826 },
6827 getFieldProps: function getFieldProps(name) {
6828 var _this3 = this;
6829
6830 var usersFieldOption = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
6831
6832 if (!name) {
6833 throw new Error('Must call `getFieldProps` with valid name string!');
6834 }
6835 if (process.env.NODE_ENV !== 'production') {
6836 (0, _warning2['default'])(this.fieldsStore.isValidNestedFieldName(name), 'One field name cannot be part of another, e.g. `a` and `a.b`.');
6837 (0, _warning2['default'])(!('exclusive' in usersFieldOption), '`option.exclusive` of `getFieldProps`|`getFieldDecorator` had been remove.');
6838 }
6839
6840 delete this.clearedFieldMetaCache[name];
6841
6842 var fieldOption = (0, _extends3['default'])({
6843 name: name,
6844 trigger: DEFAULT_TRIGGER,
6845 valuePropName: 'value',
6846 validate: []
6847 }, usersFieldOption);
6848
6849 var rules = fieldOption.rules,
6850 trigger = fieldOption.trigger,
6851 _fieldOption$validate = fieldOption.validateTrigger,
6852 validateTrigger = _fieldOption$validate === undefined ? trigger : _fieldOption$validate,
6853 validate = fieldOption.validate;
6854
6855
6856 var fieldMeta = this.fieldsStore.getFieldMeta(name);
6857 if ('initialValue' in fieldOption) {
6858 fieldMeta.initialValue = fieldOption.initialValue;
6859 }
6860
6861 var inputProps = (0, _extends3['default'])({}, this.fieldsStore.getFieldValuePropValue(fieldOption), {
6862 ref: this.getCacheBind(name, name + '__ref', this.saveRef)
6863 });
6864 if (fieldNameProp) {
6865 inputProps[fieldNameProp] = name;
6866 }
6867
6868 var validateRules = (0, _utils.normalizeValidateRules)(validate, rules, validateTrigger);
6869 var validateTriggers = (0, _utils.getValidateTriggers)(validateRules);
6870 validateTriggers.forEach(function (action) {
6871 if (inputProps[action]) return;
6872 inputProps[action] = _this3.getCacheBind(name, action, _this3.onCollectValidate);
6873 });
6874
6875 // make sure that the value will be collect
6876 if (trigger && validateTriggers.indexOf(trigger) === -1) {
6877 inputProps[trigger] = this.getCacheBind(name, trigger, this.onCollect);
6878 }
6879
6880 var meta = (0, _extends3['default'])({}, fieldMeta, fieldOption, {
6881 validate: validateRules
6882 });
6883 this.fieldsStore.setFieldMeta(name, meta);
6884 if (fieldMetaProp) {
6885 inputProps[fieldMetaProp] = meta;
6886 }
6887
6888 if (fieldDataProp) {
6889 inputProps[fieldDataProp] = this.fieldsStore.getField(name);
6890 }
6891
6892 return inputProps;
6893 },
6894 getFieldInstance: function getFieldInstance(name) {
6895 return this.instances[name];
6896 },
6897 getRules: function getRules(fieldMeta, action) {
6898 var actionRules = fieldMeta.validate.filter(function (item) {
6899 return !action || item.trigger.indexOf(action) >= 0;
6900 }).map(function (item) {
6901 return item.rules;
6902 });
6903 return (0, _utils.flattenArray)(actionRules);
6904 },
6905 setFields: function setFields(maybeNestedFields, callback) {
6906 var _this4 = this;
6907
6908 var fields = this.fieldsStore.flattenRegisteredFields(maybeNestedFields);
6909 this.fieldsStore.setFields(fields);
6910 if (onFieldsChange) {
6911 var changedFields = Object.keys(fields).reduce(function (acc, name) {
6912 return (0, _set2['default'])(acc, name, _this4.fieldsStore.getField(name));
6913 }, {});
6914 onFieldsChange(this.props, changedFields, this.fieldsStore.getNestedAllFields());
6915 }
6916 this.forceUpdate(callback);
6917 },
6918 resetFields: function resetFields(ns) {
6919 var _this5 = this;
6920
6921 var newFields = this.fieldsStore.resetFields(ns);
6922 if (Object.keys(newFields).length > 0) {
6923 this.setFields(newFields);
6924 }
6925 if (ns) {
6926 var names = Array.isArray(ns) ? ns : [ns];
6927 names.forEach(function (name) {
6928 return delete _this5.clearedFieldMetaCache[name];
6929 });
6930 } else {
6931 this.clearedFieldMetaCache = {};
6932 }
6933 },
6934 setFieldsValue: function setFieldsValue(changedValues, callback) {
6935 var fieldsMeta = this.fieldsStore.fieldsMeta;
6936
6937 var values = this.fieldsStore.flattenRegisteredFields(changedValues);
6938 var newFields = Object.keys(values).reduce(function (acc, name) {
6939 var isRegistered = fieldsMeta[name];
6940 if (process.env.NODE_ENV !== 'production') {
6941 (0, _warning2['default'])(isRegistered, 'Cannot use `setFieldsValue` until ' + 'you use `getFieldDecorator` or `getFieldProps` to register it.');
6942 }
6943 if (isRegistered) {
6944 var value = values[name];
6945 acc[name] = {
6946 value: value
6947 };
6948 }
6949 return acc;
6950 }, {});
6951 this.setFields(newFields, callback);
6952 if (onValuesChange) {
6953 var allValues = this.fieldsStore.getAllValues();
6954 onValuesChange(this.props, changedValues, allValues);
6955 }
6956 },
6957 saveRef: function saveRef(name, _, component) {
6958 if (!component) {
6959 // after destroy, delete data
6960 this.clearedFieldMetaCache[name] = {
6961 field: this.fieldsStore.getField(name),
6962 meta: this.fieldsStore.getFieldMeta(name)
6963 };
6964 this.fieldsStore.clearField(name);
6965 delete this.instances[name];
6966 delete this.cachedBind[name];
6967 return;
6968 }
6969 this.recoverClearedField(name);
6970 var fieldMeta = this.fieldsStore.getFieldMeta(name);
6971 if (fieldMeta) {
6972 var ref = fieldMeta.ref;
6973 if (ref) {
6974 if (typeof ref === 'string') {
6975 throw new Error('can not set ref string for ' + name);
6976 }
6977 ref(component);
6978 }
6979 }
6980 this.instances[name] = component;
6981 },
6982 validateFieldsInternal: function validateFieldsInternal(fields, _ref, callback) {
6983 var _this6 = this;
6984
6985 var fieldNames = _ref.fieldNames,
6986 action = _ref.action,
6987 _ref$options = _ref.options,
6988 options = _ref$options === undefined ? {} : _ref$options;
6989
6990 var allRules = {};
6991 var allValues = {};
6992 var allFields = {};
6993 var alreadyErrors = {};
6994 fields.forEach(function (field) {
6995 var name = field.name;
6996 if (options.force !== true && field.dirty === false) {
6997 if (field.errors) {
6998 (0, _set2['default'])(alreadyErrors, name, { errors: field.errors });
6999 }
7000 return;
7001 }
7002 var fieldMeta = _this6.fieldsStore.getFieldMeta(name);
7003 var newField = (0, _extends3['default'])({}, field);
7004 newField.errors = undefined;
7005 newField.validating = true;
7006 newField.dirty = true;
7007 allRules[name] = _this6.getRules(fieldMeta, action);
7008 allValues[name] = newField.value;
7009 allFields[name] = newField;
7010 });
7011 this.setFields(allFields);
7012 // in case normalize
7013 Object.keys(allValues).forEach(function (f) {
7014 allValues[f] = _this6.fieldsStore.getFieldValue(f);
7015 });
7016 if (callback && (0, _utils.isEmptyObject)(allFields)) {
7017 callback((0, _utils.isEmptyObject)(alreadyErrors) ? null : alreadyErrors, this.fieldsStore.getFieldsValue(fieldNames));
7018 return;
7019 }
7020 var validator = new _asyncValidator2['default'](allRules);
7021 if (validateMessages) {
7022 validator.messages(validateMessages);
7023 }
7024 validator.validate(allValues, options, function (errors) {
7025 var errorsGroup = (0, _extends3['default'])({}, alreadyErrors);
7026 if (errors && errors.length) {
7027 errors.forEach(function (e) {
7028 var fieldName = e.field;
7029 var field = (0, _get2['default'])(errorsGroup, fieldName);
7030 if ((typeof field === 'undefined' ? 'undefined' : (0, _typeof3['default'])(field)) !== 'object' || Array.isArray(field)) {
7031 (0, _set2['default'])(errorsGroup, fieldName, { errors: [] });
7032 }
7033 var fieldErrors = (0, _get2['default'])(errorsGroup, fieldName.concat('.errors'));
7034 fieldErrors.push(e);
7035 });
7036 }
7037 var expired = [];
7038 var nowAllFields = {};
7039 Object.keys(allRules).forEach(function (name) {
7040 var fieldErrors = (0, _get2['default'])(errorsGroup, name);
7041 var nowField = _this6.fieldsStore.getField(name);
7042 // avoid concurrency problems
7043 if (nowField.value !== allValues[name]) {
7044 expired.push({
7045 name: name
7046 });
7047 } else {
7048 nowField.errors = fieldErrors && fieldErrors.errors;
7049 nowField.value = allValues[name];
7050 nowField.validating = false;
7051 nowField.dirty = false;
7052 nowAllFields[name] = nowField;
7053 }
7054 });
7055 _this6.setFields(nowAllFields);
7056 if (callback) {
7057 if (expired.length) {
7058 expired.forEach(function (_ref2) {
7059 var name = _ref2.name;
7060
7061 var fieldErrors = [{
7062 message: name + ' need to revalidate',
7063 field: name
7064 }];
7065 (0, _set2['default'])(errorsGroup, name, {
7066 expired: true,
7067 errors: fieldErrors
7068 });
7069 });
7070 }
7071
7072 callback((0, _utils.isEmptyObject)(errorsGroup) ? null : errorsGroup, _this6.fieldsStore.getFieldsValue(fieldNames));
7073 }
7074 });
7075 },
7076 validateFields: function validateFields(ns, opt, cb) {
7077 var _this7 = this;
7078
7079 var _getParams = (0, _utils.getParams)(ns, opt, cb),
7080 names = _getParams.names,
7081 callback = _getParams.callback,
7082 options = _getParams.options;
7083
7084 var fieldNames = names ? this.fieldsStore.getValidFieldsFullName(names) : this.fieldsStore.getValidFieldsName();
7085 var fields = fieldNames.filter(function (name) {
7086 var fieldMeta = _this7.fieldsStore.getFieldMeta(name);
7087 return (0, _utils.hasRules)(fieldMeta.validate);
7088 }).map(function (name) {
7089 var field = _this7.fieldsStore.getField(name);
7090 field.value = _this7.fieldsStore.getFieldValue(name);
7091 return field;
7092 });
7093 if (!fields.length) {
7094 if (callback) {
7095 callback(null, this.fieldsStore.getFieldsValue(fieldNames));
7096 }
7097 return;
7098 }
7099 if (!('firstFields' in options)) {
7100 options.firstFields = fieldNames.filter(function (name) {
7101 var fieldMeta = _this7.fieldsStore.getFieldMeta(name);
7102 return !!fieldMeta.validateFirst;
7103 });
7104 }
7105 this.validateFieldsInternal(fields, {
7106 fieldNames: fieldNames,
7107 options: options
7108 }, callback);
7109 },
7110 isSubmitting: function isSubmitting() {
7111 if (process.env.NODE_ENV !== 'production' && process.env.NODE_ENV !== 'test') {
7112 (0, _warning2['default'])(false, '`isSubmitting` is deprecated. ' + 'Actually, it\'s more convenient to handle submitting status by yourself.');
7113 }
7114 return this.state.submitting;
7115 },
7116 submit: function submit(callback) {
7117 var _this8 = this;
7118
7119 if (process.env.NODE_ENV !== 'production' && process.env.NODE_ENV !== 'test') {
7120 (0, _warning2['default'])(false, '`submit` is deprecated.' + 'Actually, it\'s more convenient to handle submitting status by yourself.');
7121 }
7122 var fn = function fn() {
7123 _this8.setState({
7124 submitting: false
7125 });
7126 };
7127 this.setState({
7128 submitting: true
7129 });
7130 callback(fn);
7131 },
7132 render: function render() {
7133 var _props = this.props,
7134 wrappedComponentRef = _props.wrappedComponentRef,
7135 restProps = (0, _objectWithoutProperties3['default'])(_props, ['wrappedComponentRef']);
7136
7137 var formProps = (0, _defineProperty3['default'])({}, formPropName, this.getForm());
7138 if (withRef) {
7139 if (process.env.NODE_ENV !== 'production' && process.env.NODE_ENV !== 'test') {
7140 (0, _warning2['default'])(false, '`withRef` is deprecated, please use `wrappedComponentRef` instead. ' + 'See: https://github.com/react-component/form#note-use-wrappedcomponentref-instead-of-withref-after-rc-form140');
7141 }
7142 formProps.ref = 'wrappedComponent';
7143 } else if (wrappedComponentRef) {
7144 formProps.ref = wrappedComponentRef;
7145 }
7146 var props = mapProps.call(this, (0, _extends3['default'])({}, formProps, restProps));
7147 return _react2['default'].createElement(WrappedComponent, props);
7148 }
7149 });
7150
7151 return (0, _utils.argumentContainer)(Form, WrappedComponent);
7152 };
7153 }
7154
7155 exports['default'] = createBaseForm;
7156 module.exports = exports['default'];
7157 /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(32)))
7158
7159/***/ }),
7160/* 73 */
7161/***/ (function(module, exports) {
7162
7163 "use strict";
7164
7165 exports.__esModule = true;
7166
7167 exports.default = function (obj, keys) {
7168 var target = {};
7169
7170 for (var i in obj) {
7171 if (keys.indexOf(i) >= 0) continue;
7172 if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;
7173 target[i] = obj[i];
7174 }
7175
7176 return target;
7177 };
7178
7179/***/ }),
7180/* 74 */
7181/***/ (function(module, exports, __webpack_require__) {
7182
7183 "use strict";
7184
7185 exports.__esModule = true;
7186
7187 var _iterator = __webpack_require__(75);
7188
7189 var _iterator2 = _interopRequireDefault(_iterator);
7190
7191 var _symbol = __webpack_require__(126);
7192
7193 var _symbol2 = _interopRequireDefault(_symbol);
7194
7195 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; };
7196
7197 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
7198
7199 exports.default = typeof _symbol2.default === "function" && _typeof(_iterator2.default) === "symbol" ? function (obj) {
7200 return typeof obj === "undefined" ? "undefined" : _typeof(obj);
7201 } : function (obj) {
7202 return obj && typeof _symbol2.default === "function" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof(obj);
7203 };
7204
7205/***/ }),
7206/* 75 */
7207/***/ (function(module, exports, __webpack_require__) {
7208
7209 module.exports = { "default": __webpack_require__(76), __esModule: true };
7210
7211/***/ }),
7212/* 76 */
7213/***/ (function(module, exports, __webpack_require__) {
7214
7215 __webpack_require__(77);
7216 __webpack_require__(121);
7217 module.exports = __webpack_require__(125).f('iterator');
7218
7219
7220/***/ }),
7221/* 77 */
7222/***/ (function(module, exports, __webpack_require__) {
7223
7224 'use strict';
7225 var $at = __webpack_require__(78)(true);
7226
7227 // 21.1.3.27 String.prototype[@@iterator]()
7228 __webpack_require__(81)(String, 'String', function (iterated) {
7229 this._t = String(iterated); // target
7230 this._i = 0; // next index
7231 // 21.1.5.2.1 %StringIteratorPrototype%.next()
7232 }, function () {
7233 var O = this._t;
7234 var index = this._i;
7235 var point;
7236 if (index >= O.length) return { value: undefined, done: true };
7237 point = $at(O, index);
7238 this._i += point.length;
7239 return { value: point, done: false };
7240 });
7241
7242
7243/***/ }),
7244/* 78 */
7245/***/ (function(module, exports, __webpack_require__) {
7246
7247 var toInteger = __webpack_require__(79);
7248 var defined = __webpack_require__(80);
7249 // true -> String#at
7250 // false -> String#codePointAt
7251 module.exports = function (TO_STRING) {
7252 return function (that, pos) {
7253 var s = String(defined(that));
7254 var i = toInteger(pos);
7255 var l = s.length;
7256 var a, b;
7257 if (i < 0 || i >= l) return TO_STRING ? '' : undefined;
7258 a = s.charCodeAt(i);
7259 return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff
7260 ? TO_STRING ? s.charAt(i) : a
7261 : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;
7262 };
7263 };
7264
7265
7266/***/ }),
7267/* 79 */
7268/***/ (function(module, exports) {
7269
7270 // 7.1.4 ToInteger
7271 var ceil = Math.ceil;
7272 var floor = Math.floor;
7273 module.exports = function (it) {
7274 return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);
7275 };
7276
7277
7278/***/ }),
7279/* 80 */
7280/***/ (function(module, exports) {
7281
7282 // 7.2.1 RequireObjectCoercible(argument)
7283 module.exports = function (it) {
7284 if (it == undefined) throw TypeError("Can't call method on " + it);
7285 return it;
7286 };
7287
7288
7289/***/ }),
7290/* 81 */
7291/***/ (function(module, exports, __webpack_require__) {
7292
7293 'use strict';
7294 var LIBRARY = __webpack_require__(82);
7295 var $export = __webpack_require__(83);
7296 var redefine = __webpack_require__(99);
7297 var hide = __webpack_require__(88);
7298 var Iterators = __webpack_require__(100);
7299 var $iterCreate = __webpack_require__(101);
7300 var setToStringTag = __webpack_require__(117);
7301 var getPrototypeOf = __webpack_require__(119);
7302 var ITERATOR = __webpack_require__(118)('iterator');
7303 var BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`
7304 var FF_ITERATOR = '@@iterator';
7305 var KEYS = 'keys';
7306 var VALUES = 'values';
7307
7308 var returnThis = function () { return this; };
7309
7310 module.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {
7311 $iterCreate(Constructor, NAME, next);
7312 var getMethod = function (kind) {
7313 if (!BUGGY && kind in proto) return proto[kind];
7314 switch (kind) {
7315 case KEYS: return function keys() { return new Constructor(this, kind); };
7316 case VALUES: return function values() { return new Constructor(this, kind); };
7317 } return function entries() { return new Constructor(this, kind); };
7318 };
7319 var TAG = NAME + ' Iterator';
7320 var DEF_VALUES = DEFAULT == VALUES;
7321 var VALUES_BUG = false;
7322 var proto = Base.prototype;
7323 var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];
7324 var $default = $native || getMethod(DEFAULT);
7325 var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;
7326 var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;
7327 var methods, key, IteratorPrototype;
7328 // Fix native
7329 if ($anyNative) {
7330 IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));
7331 if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {
7332 // Set @@toStringTag to native iterators
7333 setToStringTag(IteratorPrototype, TAG, true);
7334 // fix for some old engines
7335 if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);
7336 }
7337 }
7338 // fix Array#{values, @@iterator}.name in V8 / FF
7339 if (DEF_VALUES && $native && $native.name !== VALUES) {
7340 VALUES_BUG = true;
7341 $default = function values() { return $native.call(this); };
7342 }
7343 // Define iterator
7344 if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {
7345 hide(proto, ITERATOR, $default);
7346 }
7347 // Plug for library
7348 Iterators[NAME] = $default;
7349 Iterators[TAG] = returnThis;
7350 if (DEFAULT) {
7351 methods = {
7352 values: DEF_VALUES ? $default : getMethod(VALUES),
7353 keys: IS_SET ? $default : getMethod(KEYS),
7354 entries: $entries
7355 };
7356 if (FORCED) for (key in methods) {
7357 if (!(key in proto)) redefine(proto, key, methods[key]);
7358 } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);
7359 }
7360 return methods;
7361 };
7362
7363
7364/***/ }),
7365/* 82 */
7366/***/ (function(module, exports) {
7367
7368 module.exports = true;
7369
7370
7371/***/ }),
7372/* 83 */
7373/***/ (function(module, exports, __webpack_require__) {
7374
7375 var global = __webpack_require__(84);
7376 var core = __webpack_require__(85);
7377 var ctx = __webpack_require__(86);
7378 var hide = __webpack_require__(88);
7379 var has = __webpack_require__(98);
7380 var PROTOTYPE = 'prototype';
7381
7382 var $export = function (type, name, source) {
7383 var IS_FORCED = type & $export.F;
7384 var IS_GLOBAL = type & $export.G;
7385 var IS_STATIC = type & $export.S;
7386 var IS_PROTO = type & $export.P;
7387 var IS_BIND = type & $export.B;
7388 var IS_WRAP = type & $export.W;
7389 var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});
7390 var expProto = exports[PROTOTYPE];
7391 var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];
7392 var key, own, out;
7393 if (IS_GLOBAL) source = name;
7394 for (key in source) {
7395 // contains in native
7396 own = !IS_FORCED && target && target[key] !== undefined;
7397 if (own && has(exports, key)) continue;
7398 // export native or passed
7399 out = own ? target[key] : source[key];
7400 // prevent global pollution for namespaces
7401 exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]
7402 // bind timers to global for call from export context
7403 : IS_BIND && own ? ctx(out, global)
7404 // wrap global constructors for prevent change them in library
7405 : IS_WRAP && target[key] == out ? (function (C) {
7406 var F = function (a, b, c) {
7407 if (this instanceof C) {
7408 switch (arguments.length) {
7409 case 0: return new C();
7410 case 1: return new C(a);
7411 case 2: return new C(a, b);
7412 } return new C(a, b, c);
7413 } return C.apply(this, arguments);
7414 };
7415 F[PROTOTYPE] = C[PROTOTYPE];
7416 return F;
7417 // make static versions for prototype methods
7418 })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;
7419 // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%
7420 if (IS_PROTO) {
7421 (exports.virtual || (exports.virtual = {}))[key] = out;
7422 // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%
7423 if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);
7424 }
7425 }
7426 };
7427 // type bitmap
7428 $export.F = 1; // forced
7429 $export.G = 2; // global
7430 $export.S = 4; // static
7431 $export.P = 8; // proto
7432 $export.B = 16; // bind
7433 $export.W = 32; // wrap
7434 $export.U = 64; // safe
7435 $export.R = 128; // real proto method for `library`
7436 module.exports = $export;
7437
7438
7439/***/ }),
7440/* 84 */
7441/***/ (function(module, exports) {
7442
7443 // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
7444 var global = module.exports = typeof window != 'undefined' && window.Math == Math
7445 ? window : typeof self != 'undefined' && self.Math == Math ? self
7446 // eslint-disable-next-line no-new-func
7447 : Function('return this')();
7448 if (typeof __g == 'number') __g = global; // eslint-disable-line no-undef
7449
7450
7451/***/ }),
7452/* 85 */
7453/***/ (function(module, exports) {
7454
7455 var core = module.exports = { version: '2.5.7' };
7456 if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef
7457
7458
7459/***/ }),
7460/* 86 */
7461/***/ (function(module, exports, __webpack_require__) {
7462
7463 // optional / simple context binding
7464 var aFunction = __webpack_require__(87);
7465 module.exports = function (fn, that, length) {
7466 aFunction(fn);
7467 if (that === undefined) return fn;
7468 switch (length) {
7469 case 1: return function (a) {
7470 return fn.call(that, a);
7471 };
7472 case 2: return function (a, b) {
7473 return fn.call(that, a, b);
7474 };
7475 case 3: return function (a, b, c) {
7476 return fn.call(that, a, b, c);
7477 };
7478 }
7479 return function (/* ...args */) {
7480 return fn.apply(that, arguments);
7481 };
7482 };
7483
7484
7485/***/ }),
7486/* 87 */
7487/***/ (function(module, exports) {
7488
7489 module.exports = function (it) {
7490 if (typeof it != 'function') throw TypeError(it + ' is not a function!');
7491 return it;
7492 };
7493
7494
7495/***/ }),
7496/* 88 */
7497/***/ (function(module, exports, __webpack_require__) {
7498
7499 var dP = __webpack_require__(89);
7500 var createDesc = __webpack_require__(97);
7501 module.exports = __webpack_require__(93) ? function (object, key, value) {
7502 return dP.f(object, key, createDesc(1, value));
7503 } : function (object, key, value) {
7504 object[key] = value;
7505 return object;
7506 };
7507
7508
7509/***/ }),
7510/* 89 */
7511/***/ (function(module, exports, __webpack_require__) {
7512
7513 var anObject = __webpack_require__(90);
7514 var IE8_DOM_DEFINE = __webpack_require__(92);
7515 var toPrimitive = __webpack_require__(96);
7516 var dP = Object.defineProperty;
7517
7518 exports.f = __webpack_require__(93) ? Object.defineProperty : function defineProperty(O, P, Attributes) {
7519 anObject(O);
7520 P = toPrimitive(P, true);
7521 anObject(Attributes);
7522 if (IE8_DOM_DEFINE) try {
7523 return dP(O, P, Attributes);
7524 } catch (e) { /* empty */ }
7525 if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');
7526 if ('value' in Attributes) O[P] = Attributes.value;
7527 return O;
7528 };
7529
7530
7531/***/ }),
7532/* 90 */
7533/***/ (function(module, exports, __webpack_require__) {
7534
7535 var isObject = __webpack_require__(91);
7536 module.exports = function (it) {
7537 if (!isObject(it)) throw TypeError(it + ' is not an object!');
7538 return it;
7539 };
7540
7541
7542/***/ }),
7543/* 91 */
7544/***/ (function(module, exports) {
7545
7546 module.exports = function (it) {
7547 return typeof it === 'object' ? it !== null : typeof it === 'function';
7548 };
7549
7550
7551/***/ }),
7552/* 92 */
7553/***/ (function(module, exports, __webpack_require__) {
7554
7555 module.exports = !__webpack_require__(93) && !__webpack_require__(94)(function () {
7556 return Object.defineProperty(__webpack_require__(95)('div'), 'a', { get: function () { return 7; } }).a != 7;
7557 });
7558
7559
7560/***/ }),
7561/* 93 */
7562/***/ (function(module, exports, __webpack_require__) {
7563
7564 // Thank's IE8 for his funny defineProperty
7565 module.exports = !__webpack_require__(94)(function () {
7566 return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
7567 });
7568
7569
7570/***/ }),
7571/* 94 */
7572/***/ (function(module, exports) {
7573
7574 module.exports = function (exec) {
7575 try {
7576 return !!exec();
7577 } catch (e) {
7578 return true;
7579 }
7580 };
7581
7582
7583/***/ }),
7584/* 95 */
7585/***/ (function(module, exports, __webpack_require__) {
7586
7587 var isObject = __webpack_require__(91);
7588 var document = __webpack_require__(84).document;
7589 // typeof document.createElement is 'object' in old IE
7590 var is = isObject(document) && isObject(document.createElement);
7591 module.exports = function (it) {
7592 return is ? document.createElement(it) : {};
7593 };
7594
7595
7596/***/ }),
7597/* 96 */
7598/***/ (function(module, exports, __webpack_require__) {
7599
7600 // 7.1.1 ToPrimitive(input [, PreferredType])
7601 var isObject = __webpack_require__(91);
7602 // instead of the ES6 spec version, we didn't implement @@toPrimitive case
7603 // and the second argument - flag - preferred type is a string
7604 module.exports = function (it, S) {
7605 if (!isObject(it)) return it;
7606 var fn, val;
7607 if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;
7608 if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;
7609 if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;
7610 throw TypeError("Can't convert object to primitive value");
7611 };
7612
7613
7614/***/ }),
7615/* 97 */
7616/***/ (function(module, exports) {
7617
7618 module.exports = function (bitmap, value) {
7619 return {
7620 enumerable: !(bitmap & 1),
7621 configurable: !(bitmap & 2),
7622 writable: !(bitmap & 4),
7623 value: value
7624 };
7625 };
7626
7627
7628/***/ }),
7629/* 98 */
7630/***/ (function(module, exports) {
7631
7632 var hasOwnProperty = {}.hasOwnProperty;
7633 module.exports = function (it, key) {
7634 return hasOwnProperty.call(it, key);
7635 };
7636
7637
7638/***/ }),
7639/* 99 */
7640/***/ (function(module, exports, __webpack_require__) {
7641
7642 module.exports = __webpack_require__(88);
7643
7644
7645/***/ }),
7646/* 100 */
7647/***/ (function(module, exports) {
7648
7649 module.exports = {};
7650
7651
7652/***/ }),
7653/* 101 */
7654/***/ (function(module, exports, __webpack_require__) {
7655
7656 'use strict';
7657 var create = __webpack_require__(102);
7658 var descriptor = __webpack_require__(97);
7659 var setToStringTag = __webpack_require__(117);
7660 var IteratorPrototype = {};
7661
7662 // 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
7663 __webpack_require__(88)(IteratorPrototype, __webpack_require__(118)('iterator'), function () { return this; });
7664
7665 module.exports = function (Constructor, NAME, next) {
7666 Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });
7667 setToStringTag(Constructor, NAME + ' Iterator');
7668 };
7669
7670
7671/***/ }),
7672/* 102 */
7673/***/ (function(module, exports, __webpack_require__) {
7674
7675 // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
7676 var anObject = __webpack_require__(90);
7677 var dPs = __webpack_require__(103);
7678 var enumBugKeys = __webpack_require__(115);
7679 var IE_PROTO = __webpack_require__(112)('IE_PROTO');
7680 var Empty = function () { /* empty */ };
7681 var PROTOTYPE = 'prototype';
7682
7683 // Create object with fake `null` prototype: use iframe Object with cleared prototype
7684 var createDict = function () {
7685 // Thrash, waste and sodomy: IE GC bug
7686 var iframe = __webpack_require__(95)('iframe');
7687 var i = enumBugKeys.length;
7688 var lt = '<';
7689 var gt = '>';
7690 var iframeDocument;
7691 iframe.style.display = 'none';
7692 __webpack_require__(116).appendChild(iframe);
7693 iframe.src = 'javascript:'; // eslint-disable-line no-script-url
7694 // createDict = iframe.contentWindow.Object;
7695 // html.removeChild(iframe);
7696 iframeDocument = iframe.contentWindow.document;
7697 iframeDocument.open();
7698 iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);
7699 iframeDocument.close();
7700 createDict = iframeDocument.F;
7701 while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];
7702 return createDict();
7703 };
7704
7705 module.exports = Object.create || function create(O, Properties) {
7706 var result;
7707 if (O !== null) {
7708 Empty[PROTOTYPE] = anObject(O);
7709 result = new Empty();
7710 Empty[PROTOTYPE] = null;
7711 // add "__proto__" for Object.getPrototypeOf polyfill
7712 result[IE_PROTO] = O;
7713 } else result = createDict();
7714 return Properties === undefined ? result : dPs(result, Properties);
7715 };
7716
7717
7718/***/ }),
7719/* 103 */
7720/***/ (function(module, exports, __webpack_require__) {
7721
7722 var dP = __webpack_require__(89);
7723 var anObject = __webpack_require__(90);
7724 var getKeys = __webpack_require__(104);
7725
7726 module.exports = __webpack_require__(93) ? Object.defineProperties : function defineProperties(O, Properties) {
7727 anObject(O);
7728 var keys = getKeys(Properties);
7729 var length = keys.length;
7730 var i = 0;
7731 var P;
7732 while (length > i) dP.f(O, P = keys[i++], Properties[P]);
7733 return O;
7734 };
7735
7736
7737/***/ }),
7738/* 104 */
7739/***/ (function(module, exports, __webpack_require__) {
7740
7741 // 19.1.2.14 / 15.2.3.14 Object.keys(O)
7742 var $keys = __webpack_require__(105);
7743 var enumBugKeys = __webpack_require__(115);
7744
7745 module.exports = Object.keys || function keys(O) {
7746 return $keys(O, enumBugKeys);
7747 };
7748
7749
7750/***/ }),
7751/* 105 */
7752/***/ (function(module, exports, __webpack_require__) {
7753
7754 var has = __webpack_require__(98);
7755 var toIObject = __webpack_require__(106);
7756 var arrayIndexOf = __webpack_require__(109)(false);
7757 var IE_PROTO = __webpack_require__(112)('IE_PROTO');
7758
7759 module.exports = function (object, names) {
7760 var O = toIObject(object);
7761 var i = 0;
7762 var result = [];
7763 var key;
7764 for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);
7765 // Don't enum bug & hidden keys
7766 while (names.length > i) if (has(O, key = names[i++])) {
7767 ~arrayIndexOf(result, key) || result.push(key);
7768 }
7769 return result;
7770 };
7771
7772
7773/***/ }),
7774/* 106 */
7775/***/ (function(module, exports, __webpack_require__) {
7776
7777 // to indexed object, toObject with fallback for non-array-like ES3 strings
7778 var IObject = __webpack_require__(107);
7779 var defined = __webpack_require__(80);
7780 module.exports = function (it) {
7781 return IObject(defined(it));
7782 };
7783
7784
7785/***/ }),
7786/* 107 */
7787/***/ (function(module, exports, __webpack_require__) {
7788
7789 // fallback for non-array-like ES3 and non-enumerable old V8 strings
7790 var cof = __webpack_require__(108);
7791 // eslint-disable-next-line no-prototype-builtins
7792 module.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {
7793 return cof(it) == 'String' ? it.split('') : Object(it);
7794 };
7795
7796
7797/***/ }),
7798/* 108 */
7799/***/ (function(module, exports) {
7800
7801 var toString = {}.toString;
7802
7803 module.exports = function (it) {
7804 return toString.call(it).slice(8, -1);
7805 };
7806
7807
7808/***/ }),
7809/* 109 */
7810/***/ (function(module, exports, __webpack_require__) {
7811
7812 // false -> Array#indexOf
7813 // true -> Array#includes
7814 var toIObject = __webpack_require__(106);
7815 var toLength = __webpack_require__(110);
7816 var toAbsoluteIndex = __webpack_require__(111);
7817 module.exports = function (IS_INCLUDES) {
7818 return function ($this, el, fromIndex) {
7819 var O = toIObject($this);
7820 var length = toLength(O.length);
7821 var index = toAbsoluteIndex(fromIndex, length);
7822 var value;
7823 // Array#includes uses SameValueZero equality algorithm
7824 // eslint-disable-next-line no-self-compare
7825 if (IS_INCLUDES && el != el) while (length > index) {
7826 value = O[index++];
7827 // eslint-disable-next-line no-self-compare
7828 if (value != value) return true;
7829 // Array#indexOf ignores holes, Array#includes - not
7830 } else for (;length > index; index++) if (IS_INCLUDES || index in O) {
7831 if (O[index] === el) return IS_INCLUDES || index || 0;
7832 } return !IS_INCLUDES && -1;
7833 };
7834 };
7835
7836
7837/***/ }),
7838/* 110 */
7839/***/ (function(module, exports, __webpack_require__) {
7840
7841 // 7.1.15 ToLength
7842 var toInteger = __webpack_require__(79);
7843 var min = Math.min;
7844 module.exports = function (it) {
7845 return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991
7846 };
7847
7848
7849/***/ }),
7850/* 111 */
7851/***/ (function(module, exports, __webpack_require__) {
7852
7853 var toInteger = __webpack_require__(79);
7854 var max = Math.max;
7855 var min = Math.min;
7856 module.exports = function (index, length) {
7857 index = toInteger(index);
7858 return index < 0 ? max(index + length, 0) : min(index, length);
7859 };
7860
7861
7862/***/ }),
7863/* 112 */
7864/***/ (function(module, exports, __webpack_require__) {
7865
7866 var shared = __webpack_require__(113)('keys');
7867 var uid = __webpack_require__(114);
7868 module.exports = function (key) {
7869 return shared[key] || (shared[key] = uid(key));
7870 };
7871
7872
7873/***/ }),
7874/* 113 */
7875/***/ (function(module, exports, __webpack_require__) {
7876
7877 var core = __webpack_require__(85);
7878 var global = __webpack_require__(84);
7879 var SHARED = '__core-js_shared__';
7880 var store = global[SHARED] || (global[SHARED] = {});
7881
7882 (module.exports = function (key, value) {
7883 return store[key] || (store[key] = value !== undefined ? value : {});
7884 })('versions', []).push({
7885 version: core.version,
7886 mode: __webpack_require__(82) ? 'pure' : 'global',
7887 copyright: '© 2018 Denis Pushkarev (zloirock.ru)'
7888 });
7889
7890
7891/***/ }),
7892/* 114 */
7893/***/ (function(module, exports) {
7894
7895 var id = 0;
7896 var px = Math.random();
7897 module.exports = function (key) {
7898 return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));
7899 };
7900
7901
7902/***/ }),
7903/* 115 */
7904/***/ (function(module, exports) {
7905
7906 // IE 8- don't enum bug keys
7907 module.exports = (
7908 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'
7909 ).split(',');
7910
7911
7912/***/ }),
7913/* 116 */
7914/***/ (function(module, exports, __webpack_require__) {
7915
7916 var document = __webpack_require__(84).document;
7917 module.exports = document && document.documentElement;
7918
7919
7920/***/ }),
7921/* 117 */
7922/***/ (function(module, exports, __webpack_require__) {
7923
7924 var def = __webpack_require__(89).f;
7925 var has = __webpack_require__(98);
7926 var TAG = __webpack_require__(118)('toStringTag');
7927
7928 module.exports = function (it, tag, stat) {
7929 if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });
7930 };
7931
7932
7933/***/ }),
7934/* 118 */
7935/***/ (function(module, exports, __webpack_require__) {
7936
7937 var store = __webpack_require__(113)('wks');
7938 var uid = __webpack_require__(114);
7939 var Symbol = __webpack_require__(84).Symbol;
7940 var USE_SYMBOL = typeof Symbol == 'function';
7941
7942 var $exports = module.exports = function (name) {
7943 return store[name] || (store[name] =
7944 USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));
7945 };
7946
7947 $exports.store = store;
7948
7949
7950/***/ }),
7951/* 119 */
7952/***/ (function(module, exports, __webpack_require__) {
7953
7954 // 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)
7955 var has = __webpack_require__(98);
7956 var toObject = __webpack_require__(120);
7957 var IE_PROTO = __webpack_require__(112)('IE_PROTO');
7958 var ObjectProto = Object.prototype;
7959
7960 module.exports = Object.getPrototypeOf || function (O) {
7961 O = toObject(O);
7962 if (has(O, IE_PROTO)) return O[IE_PROTO];
7963 if (typeof O.constructor == 'function' && O instanceof O.constructor) {
7964 return O.constructor.prototype;
7965 } return O instanceof Object ? ObjectProto : null;
7966 };
7967
7968
7969/***/ }),
7970/* 120 */
7971/***/ (function(module, exports, __webpack_require__) {
7972
7973 // 7.1.13 ToObject(argument)
7974 var defined = __webpack_require__(80);
7975 module.exports = function (it) {
7976 return Object(defined(it));
7977 };
7978
7979
7980/***/ }),
7981/* 121 */
7982/***/ (function(module, exports, __webpack_require__) {
7983
7984 __webpack_require__(122);
7985 var global = __webpack_require__(84);
7986 var hide = __webpack_require__(88);
7987 var Iterators = __webpack_require__(100);
7988 var TO_STRING_TAG = __webpack_require__(118)('toStringTag');
7989
7990 var DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +
7991 'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +
7992 'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +
7993 'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +
7994 'TextTrackList,TouchList').split(',');
7995
7996 for (var i = 0; i < DOMIterables.length; i++) {
7997 var NAME = DOMIterables[i];
7998 var Collection = global[NAME];
7999 var proto = Collection && Collection.prototype;
8000 if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);
8001 Iterators[NAME] = Iterators.Array;
8002 }
8003
8004
8005/***/ }),
8006/* 122 */
8007/***/ (function(module, exports, __webpack_require__) {
8008
8009 'use strict';
8010 var addToUnscopables = __webpack_require__(123);
8011 var step = __webpack_require__(124);
8012 var Iterators = __webpack_require__(100);
8013 var toIObject = __webpack_require__(106);
8014
8015 // 22.1.3.4 Array.prototype.entries()
8016 // 22.1.3.13 Array.prototype.keys()
8017 // 22.1.3.29 Array.prototype.values()
8018 // 22.1.3.30 Array.prototype[@@iterator]()
8019 module.exports = __webpack_require__(81)(Array, 'Array', function (iterated, kind) {
8020 this._t = toIObject(iterated); // target
8021 this._i = 0; // next index
8022 this._k = kind; // kind
8023 // 22.1.5.2.1 %ArrayIteratorPrototype%.next()
8024 }, function () {
8025 var O = this._t;
8026 var kind = this._k;
8027 var index = this._i++;
8028 if (!O || index >= O.length) {
8029 this._t = undefined;
8030 return step(1);
8031 }
8032 if (kind == 'keys') return step(0, index);
8033 if (kind == 'values') return step(0, O[index]);
8034 return step(0, [index, O[index]]);
8035 }, 'values');
8036
8037 // argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)
8038 Iterators.Arguments = Iterators.Array;
8039
8040 addToUnscopables('keys');
8041 addToUnscopables('values');
8042 addToUnscopables('entries');
8043
8044
8045/***/ }),
8046/* 123 */
8047/***/ (function(module, exports) {
8048
8049 module.exports = function () { /* empty */ };
8050
8051
8052/***/ }),
8053/* 124 */
8054/***/ (function(module, exports) {
8055
8056 module.exports = function (done, value) {
8057 return { value: value, done: !!done };
8058 };
8059
8060
8061/***/ }),
8062/* 125 */
8063/***/ (function(module, exports, __webpack_require__) {
8064
8065 exports.f = __webpack_require__(118);
8066
8067
8068/***/ }),
8069/* 126 */
8070/***/ (function(module, exports, __webpack_require__) {
8071
8072 module.exports = { "default": __webpack_require__(127), __esModule: true };
8073
8074/***/ }),
8075/* 127 */
8076/***/ (function(module, exports, __webpack_require__) {
8077
8078 __webpack_require__(128);
8079 __webpack_require__(138);
8080 __webpack_require__(139);
8081 __webpack_require__(140);
8082 module.exports = __webpack_require__(85).Symbol;
8083
8084
8085/***/ }),
8086/* 128 */
8087/***/ (function(module, exports, __webpack_require__) {
8088
8089 'use strict';
8090 // ECMAScript 6 symbols shim
8091 var global = __webpack_require__(84);
8092 var has = __webpack_require__(98);
8093 var DESCRIPTORS = __webpack_require__(93);
8094 var $export = __webpack_require__(83);
8095 var redefine = __webpack_require__(99);
8096 var META = __webpack_require__(129).KEY;
8097 var $fails = __webpack_require__(94);
8098 var shared = __webpack_require__(113);
8099 var setToStringTag = __webpack_require__(117);
8100 var uid = __webpack_require__(114);
8101 var wks = __webpack_require__(118);
8102 var wksExt = __webpack_require__(125);
8103 var wksDefine = __webpack_require__(130);
8104 var enumKeys = __webpack_require__(131);
8105 var isArray = __webpack_require__(134);
8106 var anObject = __webpack_require__(90);
8107 var isObject = __webpack_require__(91);
8108 var toIObject = __webpack_require__(106);
8109 var toPrimitive = __webpack_require__(96);
8110 var createDesc = __webpack_require__(97);
8111 var _create = __webpack_require__(102);
8112 var gOPNExt = __webpack_require__(135);
8113 var $GOPD = __webpack_require__(137);
8114 var $DP = __webpack_require__(89);
8115 var $keys = __webpack_require__(104);
8116 var gOPD = $GOPD.f;
8117 var dP = $DP.f;
8118 var gOPN = gOPNExt.f;
8119 var $Symbol = global.Symbol;
8120 var $JSON = global.JSON;
8121 var _stringify = $JSON && $JSON.stringify;
8122 var PROTOTYPE = 'prototype';
8123 var HIDDEN = wks('_hidden');
8124 var TO_PRIMITIVE = wks('toPrimitive');
8125 var isEnum = {}.propertyIsEnumerable;
8126 var SymbolRegistry = shared('symbol-registry');
8127 var AllSymbols = shared('symbols');
8128 var OPSymbols = shared('op-symbols');
8129 var ObjectProto = Object[PROTOTYPE];
8130 var USE_NATIVE = typeof $Symbol == 'function';
8131 var QObject = global.QObject;
8132 // Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173
8133 var setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;
8134
8135 // fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687
8136 var setSymbolDesc = DESCRIPTORS && $fails(function () {
8137 return _create(dP({}, 'a', {
8138 get: function () { return dP(this, 'a', { value: 7 }).a; }
8139 })).a != 7;
8140 }) ? function (it, key, D) {
8141 var protoDesc = gOPD(ObjectProto, key);
8142 if (protoDesc) delete ObjectProto[key];
8143 dP(it, key, D);
8144 if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);
8145 } : dP;
8146
8147 var wrap = function (tag) {
8148 var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);
8149 sym._k = tag;
8150 return sym;
8151 };
8152
8153 var isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {
8154 return typeof it == 'symbol';
8155 } : function (it) {
8156 return it instanceof $Symbol;
8157 };
8158
8159 var $defineProperty = function defineProperty(it, key, D) {
8160 if (it === ObjectProto) $defineProperty(OPSymbols, key, D);
8161 anObject(it);
8162 key = toPrimitive(key, true);
8163 anObject(D);
8164 if (has(AllSymbols, key)) {
8165 if (!D.enumerable) {
8166 if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));
8167 it[HIDDEN][key] = true;
8168 } else {
8169 if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;
8170 D = _create(D, { enumerable: createDesc(0, false) });
8171 } return setSymbolDesc(it, key, D);
8172 } return dP(it, key, D);
8173 };
8174 var $defineProperties = function defineProperties(it, P) {
8175 anObject(it);
8176 var keys = enumKeys(P = toIObject(P));
8177 var i = 0;
8178 var l = keys.length;
8179 var key;
8180 while (l > i) $defineProperty(it, key = keys[i++], P[key]);
8181 return it;
8182 };
8183 var $create = function create(it, P) {
8184 return P === undefined ? _create(it) : $defineProperties(_create(it), P);
8185 };
8186 var $propertyIsEnumerable = function propertyIsEnumerable(key) {
8187 var E = isEnum.call(this, key = toPrimitive(key, true));
8188 if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;
8189 return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;
8190 };
8191 var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {
8192 it = toIObject(it);
8193 key = toPrimitive(key, true);
8194 if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;
8195 var D = gOPD(it, key);
8196 if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;
8197 return D;
8198 };
8199 var $getOwnPropertyNames = function getOwnPropertyNames(it) {
8200 var names = gOPN(toIObject(it));
8201 var result = [];
8202 var i = 0;
8203 var key;
8204 while (names.length > i) {
8205 if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);
8206 } return result;
8207 };
8208 var $getOwnPropertySymbols = function getOwnPropertySymbols(it) {
8209 var IS_OP = it === ObjectProto;
8210 var names = gOPN(IS_OP ? OPSymbols : toIObject(it));
8211 var result = [];
8212 var i = 0;
8213 var key;
8214 while (names.length > i) {
8215 if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);
8216 } return result;
8217 };
8218
8219 // 19.4.1.1 Symbol([description])
8220 if (!USE_NATIVE) {
8221 $Symbol = function Symbol() {
8222 if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');
8223 var tag = uid(arguments.length > 0 ? arguments[0] : undefined);
8224 var $set = function (value) {
8225 if (this === ObjectProto) $set.call(OPSymbols, value);
8226 if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;
8227 setSymbolDesc(this, tag, createDesc(1, value));
8228 };
8229 if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });
8230 return wrap(tag);
8231 };
8232 redefine($Symbol[PROTOTYPE], 'toString', function toString() {
8233 return this._k;
8234 });
8235
8236 $GOPD.f = $getOwnPropertyDescriptor;
8237 $DP.f = $defineProperty;
8238 __webpack_require__(136).f = gOPNExt.f = $getOwnPropertyNames;
8239 __webpack_require__(133).f = $propertyIsEnumerable;
8240 __webpack_require__(132).f = $getOwnPropertySymbols;
8241
8242 if (DESCRIPTORS && !__webpack_require__(82)) {
8243 redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);
8244 }
8245
8246 wksExt.f = function (name) {
8247 return wrap(wks(name));
8248 };
8249 }
8250
8251 $export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });
8252
8253 for (var es6Symbols = (
8254 // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14
8255 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'
8256 ).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);
8257
8258 for (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);
8259
8260 $export($export.S + $export.F * !USE_NATIVE, 'Symbol', {
8261 // 19.4.2.1 Symbol.for(key)
8262 'for': function (key) {
8263 return has(SymbolRegistry, key += '')
8264 ? SymbolRegistry[key]
8265 : SymbolRegistry[key] = $Symbol(key);
8266 },
8267 // 19.4.2.5 Symbol.keyFor(sym)
8268 keyFor: function keyFor(sym) {
8269 if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');
8270 for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;
8271 },
8272 useSetter: function () { setter = true; },
8273 useSimple: function () { setter = false; }
8274 });
8275
8276 $export($export.S + $export.F * !USE_NATIVE, 'Object', {
8277 // 19.1.2.2 Object.create(O [, Properties])
8278 create: $create,
8279 // 19.1.2.4 Object.defineProperty(O, P, Attributes)
8280 defineProperty: $defineProperty,
8281 // 19.1.2.3 Object.defineProperties(O, Properties)
8282 defineProperties: $defineProperties,
8283 // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)
8284 getOwnPropertyDescriptor: $getOwnPropertyDescriptor,
8285 // 19.1.2.7 Object.getOwnPropertyNames(O)
8286 getOwnPropertyNames: $getOwnPropertyNames,
8287 // 19.1.2.8 Object.getOwnPropertySymbols(O)
8288 getOwnPropertySymbols: $getOwnPropertySymbols
8289 });
8290
8291 // 24.3.2 JSON.stringify(value [, replacer [, space]])
8292 $JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {
8293 var S = $Symbol();
8294 // MS Edge converts symbol values to JSON as {}
8295 // WebKit converts symbol values to JSON as null
8296 // V8 throws on boxed symbols
8297 return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';
8298 })), 'JSON', {
8299 stringify: function stringify(it) {
8300 var args = [it];
8301 var i = 1;
8302 var replacer, $replacer;
8303 while (arguments.length > i) args.push(arguments[i++]);
8304 $replacer = replacer = args[1];
8305 if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined
8306 if (!isArray(replacer)) replacer = function (key, value) {
8307 if (typeof $replacer == 'function') value = $replacer.call(this, key, value);
8308 if (!isSymbol(value)) return value;
8309 };
8310 args[1] = replacer;
8311 return _stringify.apply($JSON, args);
8312 }
8313 });
8314
8315 // 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)
8316 $Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__(88)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);
8317 // 19.4.3.5 Symbol.prototype[@@toStringTag]
8318 setToStringTag($Symbol, 'Symbol');
8319 // 20.2.1.9 Math[@@toStringTag]
8320 setToStringTag(Math, 'Math', true);
8321 // 24.3.3 JSON[@@toStringTag]
8322 setToStringTag(global.JSON, 'JSON', true);
8323
8324
8325/***/ }),
8326/* 129 */
8327/***/ (function(module, exports, __webpack_require__) {
8328
8329 var META = __webpack_require__(114)('meta');
8330 var isObject = __webpack_require__(91);
8331 var has = __webpack_require__(98);
8332 var setDesc = __webpack_require__(89).f;
8333 var id = 0;
8334 var isExtensible = Object.isExtensible || function () {
8335 return true;
8336 };
8337 var FREEZE = !__webpack_require__(94)(function () {
8338 return isExtensible(Object.preventExtensions({}));
8339 });
8340 var setMeta = function (it) {
8341 setDesc(it, META, { value: {
8342 i: 'O' + ++id, // object ID
8343 w: {} // weak collections IDs
8344 } });
8345 };
8346 var fastKey = function (it, create) {
8347 // return primitive with prefix
8348 if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;
8349 if (!has(it, META)) {
8350 // can't set metadata to uncaught frozen object
8351 if (!isExtensible(it)) return 'F';
8352 // not necessary to add metadata
8353 if (!create) return 'E';
8354 // add missing metadata
8355 setMeta(it);
8356 // return object ID
8357 } return it[META].i;
8358 };
8359 var getWeak = function (it, create) {
8360 if (!has(it, META)) {
8361 // can't set metadata to uncaught frozen object
8362 if (!isExtensible(it)) return true;
8363 // not necessary to add metadata
8364 if (!create) return false;
8365 // add missing metadata
8366 setMeta(it);
8367 // return hash weak collections IDs
8368 } return it[META].w;
8369 };
8370 // add metadata on freeze-family methods calling
8371 var onFreeze = function (it) {
8372 if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);
8373 return it;
8374 };
8375 var meta = module.exports = {
8376 KEY: META,
8377 NEED: false,
8378 fastKey: fastKey,
8379 getWeak: getWeak,
8380 onFreeze: onFreeze
8381 };
8382
8383
8384/***/ }),
8385/* 130 */
8386/***/ (function(module, exports, __webpack_require__) {
8387
8388 var global = __webpack_require__(84);
8389 var core = __webpack_require__(85);
8390 var LIBRARY = __webpack_require__(82);
8391 var wksExt = __webpack_require__(125);
8392 var defineProperty = __webpack_require__(89).f;
8393 module.exports = function (name) {
8394 var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});
8395 if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });
8396 };
8397
8398
8399/***/ }),
8400/* 131 */
8401/***/ (function(module, exports, __webpack_require__) {
8402
8403 // all enumerable object keys, includes symbols
8404 var getKeys = __webpack_require__(104);
8405 var gOPS = __webpack_require__(132);
8406 var pIE = __webpack_require__(133);
8407 module.exports = function (it) {
8408 var result = getKeys(it);
8409 var getSymbols = gOPS.f;
8410 if (getSymbols) {
8411 var symbols = getSymbols(it);
8412 var isEnum = pIE.f;
8413 var i = 0;
8414 var key;
8415 while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);
8416 } return result;
8417 };
8418
8419
8420/***/ }),
8421/* 132 */
8422/***/ (function(module, exports) {
8423
8424 exports.f = Object.getOwnPropertySymbols;
8425
8426
8427/***/ }),
8428/* 133 */
8429/***/ (function(module, exports) {
8430
8431 exports.f = {}.propertyIsEnumerable;
8432
8433
8434/***/ }),
8435/* 134 */
8436/***/ (function(module, exports, __webpack_require__) {
8437
8438 // 7.2.2 IsArray(argument)
8439 var cof = __webpack_require__(108);
8440 module.exports = Array.isArray || function isArray(arg) {
8441 return cof(arg) == 'Array';
8442 };
8443
8444
8445/***/ }),
8446/* 135 */
8447/***/ (function(module, exports, __webpack_require__) {
8448
8449 // fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window
8450 var toIObject = __webpack_require__(106);
8451 var gOPN = __webpack_require__(136).f;
8452 var toString = {}.toString;
8453
8454 var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames
8455 ? Object.getOwnPropertyNames(window) : [];
8456
8457 var getWindowNames = function (it) {
8458 try {
8459 return gOPN(it);
8460 } catch (e) {
8461 return windowNames.slice();
8462 }
8463 };
8464
8465 module.exports.f = function getOwnPropertyNames(it) {
8466 return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));
8467 };
8468
8469
8470/***/ }),
8471/* 136 */
8472/***/ (function(module, exports, __webpack_require__) {
8473
8474 // 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)
8475 var $keys = __webpack_require__(105);
8476 var hiddenKeys = __webpack_require__(115).concat('length', 'prototype');
8477
8478 exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
8479 return $keys(O, hiddenKeys);
8480 };
8481
8482
8483/***/ }),
8484/* 137 */
8485/***/ (function(module, exports, __webpack_require__) {
8486
8487 var pIE = __webpack_require__(133);
8488 var createDesc = __webpack_require__(97);
8489 var toIObject = __webpack_require__(106);
8490 var toPrimitive = __webpack_require__(96);
8491 var has = __webpack_require__(98);
8492 var IE8_DOM_DEFINE = __webpack_require__(92);
8493 var gOPD = Object.getOwnPropertyDescriptor;
8494
8495 exports.f = __webpack_require__(93) ? gOPD : function getOwnPropertyDescriptor(O, P) {
8496 O = toIObject(O);
8497 P = toPrimitive(P, true);
8498 if (IE8_DOM_DEFINE) try {
8499 return gOPD(O, P);
8500 } catch (e) { /* empty */ }
8501 if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);
8502 };
8503
8504
8505/***/ }),
8506/* 138 */
8507/***/ (function(module, exports) {
8508
8509
8510
8511/***/ }),
8512/* 139 */
8513/***/ (function(module, exports, __webpack_require__) {
8514
8515 __webpack_require__(130)('asyncIterator');
8516
8517
8518/***/ }),
8519/* 140 */
8520/***/ (function(module, exports, __webpack_require__) {
8521
8522 __webpack_require__(130)('observable');
8523
8524
8525/***/ }),
8526/* 141 */
8527/***/ (function(module, exports, __webpack_require__) {
8528
8529 "use strict";
8530
8531 exports.__esModule = true;
8532
8533 var _defineProperty = __webpack_require__(142);
8534
8535 var _defineProperty2 = _interopRequireDefault(_defineProperty);
8536
8537 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
8538
8539 exports.default = function (obj, key, value) {
8540 if (key in obj) {
8541 (0, _defineProperty2.default)(obj, key, {
8542 value: value,
8543 enumerable: true,
8544 configurable: true,
8545 writable: true
8546 });
8547 } else {
8548 obj[key] = value;
8549 }
8550
8551 return obj;
8552 };
8553
8554/***/ }),
8555/* 142 */
8556/***/ (function(module, exports, __webpack_require__) {
8557
8558 module.exports = { "default": __webpack_require__(143), __esModule: true };
8559
8560/***/ }),
8561/* 143 */
8562/***/ (function(module, exports, __webpack_require__) {
8563
8564 __webpack_require__(144);
8565 var $Object = __webpack_require__(85).Object;
8566 module.exports = function defineProperty(it, key, desc) {
8567 return $Object.defineProperty(it, key, desc);
8568 };
8569
8570
8571/***/ }),
8572/* 144 */
8573/***/ (function(module, exports, __webpack_require__) {
8574
8575 var $export = __webpack_require__(83);
8576 // 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)
8577 $export($export.S + $export.F * !__webpack_require__(93), 'Object', { defineProperty: __webpack_require__(89).f });
8578
8579
8580/***/ }),
8581/* 145 */
8582/***/ (function(module, exports, __webpack_require__) {
8583
8584 "use strict";
8585
8586 exports.__esModule = true;
8587
8588 var _assign = __webpack_require__(146);
8589
8590 var _assign2 = _interopRequireDefault(_assign);
8591
8592 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
8593
8594 exports.default = _assign2.default || function (target) {
8595 for (var i = 1; i < arguments.length; i++) {
8596 var source = arguments[i];
8597
8598 for (var key in source) {
8599 if (Object.prototype.hasOwnProperty.call(source, key)) {
8600 target[key] = source[key];
8601 }
8602 }
8603 }
8604
8605 return target;
8606 };
8607
8608/***/ }),
8609/* 146 */
8610/***/ (function(module, exports, __webpack_require__) {
8611
8612 module.exports = { "default": __webpack_require__(147), __esModule: true };
8613
8614/***/ }),
8615/* 147 */
8616/***/ (function(module, exports, __webpack_require__) {
8617
8618 __webpack_require__(148);
8619 module.exports = __webpack_require__(85).Object.assign;
8620
8621
8622/***/ }),
8623/* 148 */
8624/***/ (function(module, exports, __webpack_require__) {
8625
8626 // 19.1.3.1 Object.assign(target, source)
8627 var $export = __webpack_require__(83);
8628
8629 $export($export.S + $export.F, 'Object', { assign: __webpack_require__(149) });
8630
8631
8632/***/ }),
8633/* 149 */
8634/***/ (function(module, exports, __webpack_require__) {
8635
8636 'use strict';
8637 // 19.1.2.1 Object.assign(target, source, ...)
8638 var getKeys = __webpack_require__(104);
8639 var gOPS = __webpack_require__(132);
8640 var pIE = __webpack_require__(133);
8641 var toObject = __webpack_require__(120);
8642 var IObject = __webpack_require__(107);
8643 var $assign = Object.assign;
8644
8645 // should work with symbols and should have deterministic property order (V8 bug)
8646 module.exports = !$assign || __webpack_require__(94)(function () {
8647 var A = {};
8648 var B = {};
8649 // eslint-disable-next-line no-undef
8650 var S = Symbol();
8651 var K = 'abcdefghijklmnopqrst';
8652 A[S] = 7;
8653 K.split('').forEach(function (k) { B[k] = k; });
8654 return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;
8655 }) ? function assign(target, source) { // eslint-disable-line no-unused-vars
8656 var T = toObject(target);
8657 var aLen = arguments.length;
8658 var index = 1;
8659 var getSymbols = gOPS.f;
8660 var isEnum = pIE.f;
8661 while (aLen > index) {
8662 var S = IObject(arguments[index++]);
8663 var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);
8664 var length = keys.length;
8665 var j = 0;
8666 var key;
8667 while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];
8668 } return T;
8669 } : $assign;
8670
8671
8672/***/ }),
8673/* 150 */
8674/***/ (function(module, exports, __webpack_require__) {
8675
8676 "use strict";
8677
8678 exports.__esModule = true;
8679
8680 var _from = __webpack_require__(151);
8681
8682 var _from2 = _interopRequireDefault(_from);
8683
8684 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
8685
8686 exports.default = function (arr) {
8687 if (Array.isArray(arr)) {
8688 for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {
8689 arr2[i] = arr[i];
8690 }
8691
8692 return arr2;
8693 } else {
8694 return (0, _from2.default)(arr);
8695 }
8696 };
8697
8698/***/ }),
8699/* 151 */
8700/***/ (function(module, exports, __webpack_require__) {
8701
8702 module.exports = { "default": __webpack_require__(152), __esModule: true };
8703
8704/***/ }),
8705/* 152 */
8706/***/ (function(module, exports, __webpack_require__) {
8707
8708 __webpack_require__(77);
8709 __webpack_require__(153);
8710 module.exports = __webpack_require__(85).Array.from;
8711
8712
8713/***/ }),
8714/* 153 */
8715/***/ (function(module, exports, __webpack_require__) {
8716
8717 'use strict';
8718 var ctx = __webpack_require__(86);
8719 var $export = __webpack_require__(83);
8720 var toObject = __webpack_require__(120);
8721 var call = __webpack_require__(154);
8722 var isArrayIter = __webpack_require__(155);
8723 var toLength = __webpack_require__(110);
8724 var createProperty = __webpack_require__(156);
8725 var getIterFn = __webpack_require__(157);
8726
8727 $export($export.S + $export.F * !__webpack_require__(159)(function (iter) { Array.from(iter); }), 'Array', {
8728 // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)
8729 from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {
8730 var O = toObject(arrayLike);
8731 var C = typeof this == 'function' ? this : Array;
8732 var aLen = arguments.length;
8733 var mapfn = aLen > 1 ? arguments[1] : undefined;
8734 var mapping = mapfn !== undefined;
8735 var index = 0;
8736 var iterFn = getIterFn(O);
8737 var length, result, step, iterator;
8738 if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);
8739 // if object isn't iterable or it's array with default iterator - use simple case
8740 if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {
8741 for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {
8742 createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);
8743 }
8744 } else {
8745 length = toLength(O.length);
8746 for (result = new C(length); length > index; index++) {
8747 createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);
8748 }
8749 }
8750 result.length = index;
8751 return result;
8752 }
8753 });
8754
8755
8756/***/ }),
8757/* 154 */
8758/***/ (function(module, exports, __webpack_require__) {
8759
8760 // call something on iterator step with safe closing on error
8761 var anObject = __webpack_require__(90);
8762 module.exports = function (iterator, fn, value, entries) {
8763 try {
8764 return entries ? fn(anObject(value)[0], value[1]) : fn(value);
8765 // 7.4.6 IteratorClose(iterator, completion)
8766 } catch (e) {
8767 var ret = iterator['return'];
8768 if (ret !== undefined) anObject(ret.call(iterator));
8769 throw e;
8770 }
8771 };
8772
8773
8774/***/ }),
8775/* 155 */
8776/***/ (function(module, exports, __webpack_require__) {
8777
8778 // check on default Array iterator
8779 var Iterators = __webpack_require__(100);
8780 var ITERATOR = __webpack_require__(118)('iterator');
8781 var ArrayProto = Array.prototype;
8782
8783 module.exports = function (it) {
8784 return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);
8785 };
8786
8787
8788/***/ }),
8789/* 156 */
8790/***/ (function(module, exports, __webpack_require__) {
8791
8792 'use strict';
8793 var $defineProperty = __webpack_require__(89);
8794 var createDesc = __webpack_require__(97);
8795
8796 module.exports = function (object, index, value) {
8797 if (index in object) $defineProperty.f(object, index, createDesc(0, value));
8798 else object[index] = value;
8799 };
8800
8801
8802/***/ }),
8803/* 157 */
8804/***/ (function(module, exports, __webpack_require__) {
8805
8806 var classof = __webpack_require__(158);
8807 var ITERATOR = __webpack_require__(118)('iterator');
8808 var Iterators = __webpack_require__(100);
8809 module.exports = __webpack_require__(85).getIteratorMethod = function (it) {
8810 if (it != undefined) return it[ITERATOR]
8811 || it['@@iterator']
8812 || Iterators[classof(it)];
8813 };
8814
8815
8816/***/ }),
8817/* 158 */
8818/***/ (function(module, exports, __webpack_require__) {
8819
8820 // getting tag from 19.1.3.6 Object.prototype.toString()
8821 var cof = __webpack_require__(108);
8822 var TAG = __webpack_require__(118)('toStringTag');
8823 // ES3 wrong here
8824 var ARG = cof(function () { return arguments; }()) == 'Arguments';
8825
8826 // fallback for IE11 Script Access Denied error
8827 var tryGet = function (it, key) {
8828 try {
8829 return it[key];
8830 } catch (e) { /* empty */ }
8831 };
8832
8833 module.exports = function (it) {
8834 var O, T, B;
8835 return it === undefined ? 'Undefined' : it === null ? 'Null'
8836 // @@toStringTag case
8837 : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T
8838 // builtinTag case
8839 : ARG ? cof(O)
8840 // ES3 arguments fallback
8841 : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;
8842 };
8843
8844
8845/***/ }),
8846/* 159 */
8847/***/ (function(module, exports, __webpack_require__) {
8848
8849 var ITERATOR = __webpack_require__(118)('iterator');
8850 var SAFE_CLOSING = false;
8851
8852 try {
8853 var riter = [7][ITERATOR]();
8854 riter['return'] = function () { SAFE_CLOSING = true; };
8855 // eslint-disable-next-line no-throw-literal
8856 Array.from(riter, function () { throw 2; });
8857 } catch (e) { /* empty */ }
8858
8859 module.exports = function (exec, skipClosing) {
8860 if (!skipClosing && !SAFE_CLOSING) return false;
8861 var safe = false;
8862 try {
8863 var arr = [7];
8864 var iter = arr[ITERATOR]();
8865 iter.next = function () { return { done: safe = true }; };
8866 arr[ITERATOR] = function () { return iter; };
8867 exec(arr);
8868 } catch (e) { /* empty */ }
8869 return safe;
8870 };
8871
8872
8873/***/ }),
8874/* 160 */
8875/***/ (function(module, exports, __webpack_require__) {
8876
8877 /**
8878 * Copyright (c) 2013-present, Facebook, Inc.
8879 *
8880 * This source code is licensed under the MIT license found in the
8881 * LICENSE file in the root directory of this source tree.
8882 *
8883 */
8884
8885 'use strict';
8886
8887 var React = __webpack_require__(4);
8888 var factory = __webpack_require__(161);
8889
8890 if (typeof React === 'undefined') {
8891 throw Error(
8892 'create-react-class could not find the React object. If you are using script tags, ' +
8893 'make sure that React is being loaded before create-react-class.'
8894 );
8895 }
8896
8897 // Hack to grab NoopUpdateQueue from isomorphic React
8898 var ReactNoopUpdateQueue = new React.Component().updater;
8899
8900 module.exports = factory(
8901 React.Component,
8902 React.isValidElement,
8903 ReactNoopUpdateQueue
8904 );
8905
8906
8907/***/ }),
8908/* 161 */
8909/***/ (function(module, exports, __webpack_require__) {
8910
8911 /* WEBPACK VAR INJECTION */(function(process) {/**
8912 * Copyright (c) 2013-present, Facebook, Inc.
8913 *
8914 * This source code is licensed under the MIT license found in the
8915 * LICENSE file in the root directory of this source tree.
8916 *
8917 */
8918
8919 'use strict';
8920
8921 var _assign = __webpack_require__(43);
8922
8923 var emptyObject = __webpack_require__(162);
8924 var _invariant = __webpack_require__(163);
8925
8926 if (process.env.NODE_ENV !== 'production') {
8927 var warning = __webpack_require__(164);
8928 }
8929
8930 var MIXINS_KEY = 'mixins';
8931
8932 // Helper function to allow the creation of anonymous functions which do not
8933 // have .name set to the name of the variable being assigned to.
8934 function identity(fn) {
8935 return fn;
8936 }
8937
8938 var ReactPropTypeLocationNames;
8939 if (process.env.NODE_ENV !== 'production') {
8940 ReactPropTypeLocationNames = {
8941 prop: 'prop',
8942 context: 'context',
8943 childContext: 'child context'
8944 };
8945 } else {
8946 ReactPropTypeLocationNames = {};
8947 }
8948
8949 function factory(ReactComponent, isValidElement, ReactNoopUpdateQueue) {
8950 /**
8951 * Policies that describe methods in `ReactClassInterface`.
8952 */
8953
8954 var injectedMixins = [];
8955
8956 /**
8957 * Composite components are higher-level components that compose other composite
8958 * or host components.
8959 *
8960 * To create a new type of `ReactClass`, pass a specification of
8961 * your new class to `React.createClass`. The only requirement of your class
8962 * specification is that you implement a `render` method.
8963 *
8964 * var MyComponent = React.createClass({
8965 * render: function() {
8966 * return <div>Hello World</div>;
8967 * }
8968 * });
8969 *
8970 * The class specification supports a specific protocol of methods that have
8971 * special meaning (e.g. `render`). See `ReactClassInterface` for
8972 * more the comprehensive protocol. Any other properties and methods in the
8973 * class specification will be available on the prototype.
8974 *
8975 * @interface ReactClassInterface
8976 * @internal
8977 */
8978 var ReactClassInterface = {
8979 /**
8980 * An array of Mixin objects to include when defining your component.
8981 *
8982 * @type {array}
8983 * @optional
8984 */
8985 mixins: 'DEFINE_MANY',
8986
8987 /**
8988 * An object containing properties and methods that should be defined on
8989 * the component's constructor instead of its prototype (static methods).
8990 *
8991 * @type {object}
8992 * @optional
8993 */
8994 statics: 'DEFINE_MANY',
8995
8996 /**
8997 * Definition of prop types for this component.
8998 *
8999 * @type {object}
9000 * @optional
9001 */
9002 propTypes: 'DEFINE_MANY',
9003
9004 /**
9005 * Definition of context types for this component.
9006 *
9007 * @type {object}
9008 * @optional
9009 */
9010 contextTypes: 'DEFINE_MANY',
9011
9012 /**
9013 * Definition of context types this component sets for its children.
9014 *
9015 * @type {object}
9016 * @optional
9017 */
9018 childContextTypes: 'DEFINE_MANY',
9019
9020 // ==== Definition methods ====
9021
9022 /**
9023 * Invoked when the component is mounted. Values in the mapping will be set on
9024 * `this.props` if that prop is not specified (i.e. using an `in` check).
9025 *
9026 * This method is invoked before `getInitialState` and therefore cannot rely
9027 * on `this.state` or use `this.setState`.
9028 *
9029 * @return {object}
9030 * @optional
9031 */
9032 getDefaultProps: 'DEFINE_MANY_MERGED',
9033
9034 /**
9035 * Invoked once before the component is mounted. The return value will be used
9036 * as the initial value of `this.state`.
9037 *
9038 * getInitialState: function() {
9039 * return {
9040 * isOn: false,
9041 * fooBaz: new BazFoo()
9042 * }
9043 * }
9044 *
9045 * @return {object}
9046 * @optional
9047 */
9048 getInitialState: 'DEFINE_MANY_MERGED',
9049
9050 /**
9051 * @return {object}
9052 * @optional
9053 */
9054 getChildContext: 'DEFINE_MANY_MERGED',
9055
9056 /**
9057 * Uses props from `this.props` and state from `this.state` to render the
9058 * structure of the component.
9059 *
9060 * No guarantees are made about when or how often this method is invoked, so
9061 * it must not have side effects.
9062 *
9063 * render: function() {
9064 * var name = this.props.name;
9065 * return <div>Hello, {name}!</div>;
9066 * }
9067 *
9068 * @return {ReactComponent}
9069 * @required
9070 */
9071 render: 'DEFINE_ONCE',
9072
9073 // ==== Delegate methods ====
9074
9075 /**
9076 * Invoked when the component is initially created and about to be mounted.
9077 * This may have side effects, but any external subscriptions or data created
9078 * by this method must be cleaned up in `componentWillUnmount`.
9079 *
9080 * @optional
9081 */
9082 componentWillMount: 'DEFINE_MANY',
9083
9084 /**
9085 * Invoked when the component has been mounted and has a DOM representation.
9086 * However, there is no guarantee that the DOM node is in the document.
9087 *
9088 * Use this as an opportunity to operate on the DOM when the component has
9089 * been mounted (initialized and rendered) for the first time.
9090 *
9091 * @param {DOMElement} rootNode DOM element representing the component.
9092 * @optional
9093 */
9094 componentDidMount: 'DEFINE_MANY',
9095
9096 /**
9097 * Invoked before the component receives new props.
9098 *
9099 * Use this as an opportunity to react to a prop transition by updating the
9100 * state using `this.setState`. Current props are accessed via `this.props`.
9101 *
9102 * componentWillReceiveProps: function(nextProps, nextContext) {
9103 * this.setState({
9104 * likesIncreasing: nextProps.likeCount > this.props.likeCount
9105 * });
9106 * }
9107 *
9108 * NOTE: There is no equivalent `componentWillReceiveState`. An incoming prop
9109 * transition may cause a state change, but the opposite is not true. If you
9110 * need it, you are probably looking for `componentWillUpdate`.
9111 *
9112 * @param {object} nextProps
9113 * @optional
9114 */
9115 componentWillReceiveProps: 'DEFINE_MANY',
9116
9117 /**
9118 * Invoked while deciding if the component should be updated as a result of
9119 * receiving new props, state and/or context.
9120 *
9121 * Use this as an opportunity to `return false` when you're certain that the
9122 * transition to the new props/state/context will not require a component
9123 * update.
9124 *
9125 * shouldComponentUpdate: function(nextProps, nextState, nextContext) {
9126 * return !equal(nextProps, this.props) ||
9127 * !equal(nextState, this.state) ||
9128 * !equal(nextContext, this.context);
9129 * }
9130 *
9131 * @param {object} nextProps
9132 * @param {?object} nextState
9133 * @param {?object} nextContext
9134 * @return {boolean} True if the component should update.
9135 * @optional
9136 */
9137 shouldComponentUpdate: 'DEFINE_ONCE',
9138
9139 /**
9140 * Invoked when the component is about to update due to a transition from
9141 * `this.props`, `this.state` and `this.context` to `nextProps`, `nextState`
9142 * and `nextContext`.
9143 *
9144 * Use this as an opportunity to perform preparation before an update occurs.
9145 *
9146 * NOTE: You **cannot** use `this.setState()` in this method.
9147 *
9148 * @param {object} nextProps
9149 * @param {?object} nextState
9150 * @param {?object} nextContext
9151 * @param {ReactReconcileTransaction} transaction
9152 * @optional
9153 */
9154 componentWillUpdate: 'DEFINE_MANY',
9155
9156 /**
9157 * Invoked when the component's DOM representation has been updated.
9158 *
9159 * Use this as an opportunity to operate on the DOM when the component has
9160 * been updated.
9161 *
9162 * @param {object} prevProps
9163 * @param {?object} prevState
9164 * @param {?object} prevContext
9165 * @param {DOMElement} rootNode DOM element representing the component.
9166 * @optional
9167 */
9168 componentDidUpdate: 'DEFINE_MANY',
9169
9170 /**
9171 * Invoked when the component is about to be removed from its parent and have
9172 * its DOM representation destroyed.
9173 *
9174 * Use this as an opportunity to deallocate any external resources.
9175 *
9176 * NOTE: There is no `componentDidUnmount` since your component will have been
9177 * destroyed by that point.
9178 *
9179 * @optional
9180 */
9181 componentWillUnmount: 'DEFINE_MANY',
9182
9183 /**
9184 * Replacement for (deprecated) `componentWillMount`.
9185 *
9186 * @optional
9187 */
9188 UNSAFE_componentWillMount: 'DEFINE_MANY',
9189
9190 /**
9191 * Replacement for (deprecated) `componentWillReceiveProps`.
9192 *
9193 * @optional
9194 */
9195 UNSAFE_componentWillReceiveProps: 'DEFINE_MANY',
9196
9197 /**
9198 * Replacement for (deprecated) `componentWillUpdate`.
9199 *
9200 * @optional
9201 */
9202 UNSAFE_componentWillUpdate: 'DEFINE_MANY',
9203
9204 // ==== Advanced methods ====
9205
9206 /**
9207 * Updates the component's currently mounted DOM representation.
9208 *
9209 * By default, this implements React's rendering and reconciliation algorithm.
9210 * Sophisticated clients may wish to override this.
9211 *
9212 * @param {ReactReconcileTransaction} transaction
9213 * @internal
9214 * @overridable
9215 */
9216 updateComponent: 'OVERRIDE_BASE'
9217 };
9218
9219 /**
9220 * Similar to ReactClassInterface but for static methods.
9221 */
9222 var ReactClassStaticInterface = {
9223 /**
9224 * This method is invoked after a component is instantiated and when it
9225 * receives new props. Return an object to update state in response to
9226 * prop changes. Return null to indicate no change to state.
9227 *
9228 * If an object is returned, its keys will be merged into the existing state.
9229 *
9230 * @return {object || null}
9231 * @optional
9232 */
9233 getDerivedStateFromProps: 'DEFINE_MANY_MERGED'
9234 };
9235
9236 /**
9237 * Mapping from class specification keys to special processing functions.
9238 *
9239 * Although these are declared like instance properties in the specification
9240 * when defining classes using `React.createClass`, they are actually static
9241 * and are accessible on the constructor instead of the prototype. Despite
9242 * being static, they must be defined outside of the "statics" key under
9243 * which all other static methods are defined.
9244 */
9245 var RESERVED_SPEC_KEYS = {
9246 displayName: function(Constructor, displayName) {
9247 Constructor.displayName = displayName;
9248 },
9249 mixins: function(Constructor, mixins) {
9250 if (mixins) {
9251 for (var i = 0; i < mixins.length; i++) {
9252 mixSpecIntoComponent(Constructor, mixins[i]);
9253 }
9254 }
9255 },
9256 childContextTypes: function(Constructor, childContextTypes) {
9257 if (process.env.NODE_ENV !== 'production') {
9258 validateTypeDef(Constructor, childContextTypes, 'childContext');
9259 }
9260 Constructor.childContextTypes = _assign(
9261 {},
9262 Constructor.childContextTypes,
9263 childContextTypes
9264 );
9265 },
9266 contextTypes: function(Constructor, contextTypes) {
9267 if (process.env.NODE_ENV !== 'production') {
9268 validateTypeDef(Constructor, contextTypes, 'context');
9269 }
9270 Constructor.contextTypes = _assign(
9271 {},
9272 Constructor.contextTypes,
9273 contextTypes
9274 );
9275 },
9276 /**
9277 * Special case getDefaultProps which should move into statics but requires
9278 * automatic merging.
9279 */
9280 getDefaultProps: function(Constructor, getDefaultProps) {
9281 if (Constructor.getDefaultProps) {
9282 Constructor.getDefaultProps = createMergedResultFunction(
9283 Constructor.getDefaultProps,
9284 getDefaultProps
9285 );
9286 } else {
9287 Constructor.getDefaultProps = getDefaultProps;
9288 }
9289 },
9290 propTypes: function(Constructor, propTypes) {
9291 if (process.env.NODE_ENV !== 'production') {
9292 validateTypeDef(Constructor, propTypes, 'prop');
9293 }
9294 Constructor.propTypes = _assign({}, Constructor.propTypes, propTypes);
9295 },
9296 statics: function(Constructor, statics) {
9297 mixStaticSpecIntoComponent(Constructor, statics);
9298 },
9299 autobind: function() {}
9300 };
9301
9302 function validateTypeDef(Constructor, typeDef, location) {
9303 for (var propName in typeDef) {
9304 if (typeDef.hasOwnProperty(propName)) {
9305 // use a warning instead of an _invariant so components
9306 // don't show up in prod but only in __DEV__
9307 if (process.env.NODE_ENV !== 'production') {
9308 warning(
9309 typeof typeDef[propName] === 'function',
9310 '%s: %s type `%s` is invalid; it must be a function, usually from ' +
9311 'React.PropTypes.',
9312 Constructor.displayName || 'ReactClass',
9313 ReactPropTypeLocationNames[location],
9314 propName
9315 );
9316 }
9317 }
9318 }
9319 }
9320
9321 function validateMethodOverride(isAlreadyDefined, name) {
9322 var specPolicy = ReactClassInterface.hasOwnProperty(name)
9323 ? ReactClassInterface[name]
9324 : null;
9325
9326 // Disallow overriding of base class methods unless explicitly allowed.
9327 if (ReactClassMixin.hasOwnProperty(name)) {
9328 _invariant(
9329 specPolicy === 'OVERRIDE_BASE',
9330 'ReactClassInterface: You are attempting to override ' +
9331 '`%s` from your class specification. Ensure that your method names ' +
9332 'do not overlap with React methods.',
9333 name
9334 );
9335 }
9336
9337 // Disallow defining methods more than once unless explicitly allowed.
9338 if (isAlreadyDefined) {
9339 _invariant(
9340 specPolicy === 'DEFINE_MANY' || specPolicy === 'DEFINE_MANY_MERGED',
9341 'ReactClassInterface: You are attempting to define ' +
9342 '`%s` on your component more than once. This conflict may be due ' +
9343 'to a mixin.',
9344 name
9345 );
9346 }
9347 }
9348
9349 /**
9350 * Mixin helper which handles policy validation and reserved
9351 * specification keys when building React classes.
9352 */
9353 function mixSpecIntoComponent(Constructor, spec) {
9354 if (!spec) {
9355 if (process.env.NODE_ENV !== 'production') {
9356 var typeofSpec = typeof spec;
9357 var isMixinValid = typeofSpec === 'object' && spec !== null;
9358
9359 if (process.env.NODE_ENV !== 'production') {
9360 warning(
9361 isMixinValid,
9362 "%s: You're attempting to include a mixin that is either null " +
9363 'or not an object. Check the mixins included by the component, ' +
9364 'as well as any mixins they include themselves. ' +
9365 'Expected object but got %s.',
9366 Constructor.displayName || 'ReactClass',
9367 spec === null ? null : typeofSpec
9368 );
9369 }
9370 }
9371
9372 return;
9373 }
9374
9375 _invariant(
9376 typeof spec !== 'function',
9377 "ReactClass: You're attempting to " +
9378 'use a component class or function as a mixin. Instead, just use a ' +
9379 'regular object.'
9380 );
9381 _invariant(
9382 !isValidElement(spec),
9383 "ReactClass: You're attempting to " +
9384 'use a component as a mixin. Instead, just use a regular object.'
9385 );
9386
9387 var proto = Constructor.prototype;
9388 var autoBindPairs = proto.__reactAutoBindPairs;
9389
9390 // By handling mixins before any other properties, we ensure the same
9391 // chaining order is applied to methods with DEFINE_MANY policy, whether
9392 // mixins are listed before or after these methods in the spec.
9393 if (spec.hasOwnProperty(MIXINS_KEY)) {
9394 RESERVED_SPEC_KEYS.mixins(Constructor, spec.mixins);
9395 }
9396
9397 for (var name in spec) {
9398 if (!spec.hasOwnProperty(name)) {
9399 continue;
9400 }
9401
9402 if (name === MIXINS_KEY) {
9403 // We have already handled mixins in a special case above.
9404 continue;
9405 }
9406
9407 var property = spec[name];
9408 var isAlreadyDefined = proto.hasOwnProperty(name);
9409 validateMethodOverride(isAlreadyDefined, name);
9410
9411 if (RESERVED_SPEC_KEYS.hasOwnProperty(name)) {
9412 RESERVED_SPEC_KEYS[name](Constructor, property);
9413 } else {
9414 // Setup methods on prototype:
9415 // The following member methods should not be automatically bound:
9416 // 1. Expected ReactClass methods (in the "interface").
9417 // 2. Overridden methods (that were mixed in).
9418 var isReactClassMethod = ReactClassInterface.hasOwnProperty(name);
9419 var isFunction = typeof property === 'function';
9420 var shouldAutoBind =
9421 isFunction &&
9422 !isReactClassMethod &&
9423 !isAlreadyDefined &&
9424 spec.autobind !== false;
9425
9426 if (shouldAutoBind) {
9427 autoBindPairs.push(name, property);
9428 proto[name] = property;
9429 } else {
9430 if (isAlreadyDefined) {
9431 var specPolicy = ReactClassInterface[name];
9432
9433 // These cases should already be caught by validateMethodOverride.
9434 _invariant(
9435 isReactClassMethod &&
9436 (specPolicy === 'DEFINE_MANY_MERGED' ||
9437 specPolicy === 'DEFINE_MANY'),
9438 'ReactClass: Unexpected spec policy %s for key %s ' +
9439 'when mixing in component specs.',
9440 specPolicy,
9441 name
9442 );
9443
9444 // For methods which are defined more than once, call the existing
9445 // methods before calling the new property, merging if appropriate.
9446 if (specPolicy === 'DEFINE_MANY_MERGED') {
9447 proto[name] = createMergedResultFunction(proto[name], property);
9448 } else if (specPolicy === 'DEFINE_MANY') {
9449 proto[name] = createChainedFunction(proto[name], property);
9450 }
9451 } else {
9452 proto[name] = property;
9453 if (process.env.NODE_ENV !== 'production') {
9454 // Add verbose displayName to the function, which helps when looking
9455 // at profiling tools.
9456 if (typeof property === 'function' && spec.displayName) {
9457 proto[name].displayName = spec.displayName + '_' + name;
9458 }
9459 }
9460 }
9461 }
9462 }
9463 }
9464 }
9465
9466 function mixStaticSpecIntoComponent(Constructor, statics) {
9467 if (!statics) {
9468 return;
9469 }
9470
9471 for (var name in statics) {
9472 var property = statics[name];
9473 if (!statics.hasOwnProperty(name)) {
9474 continue;
9475 }
9476
9477 var isReserved = name in RESERVED_SPEC_KEYS;
9478 _invariant(
9479 !isReserved,
9480 'ReactClass: You are attempting to define a reserved ' +
9481 'property, `%s`, that shouldn\'t be on the "statics" key. Define it ' +
9482 'as an instance property instead; it will still be accessible on the ' +
9483 'constructor.',
9484 name
9485 );
9486
9487 var isAlreadyDefined = name in Constructor;
9488 if (isAlreadyDefined) {
9489 var specPolicy = ReactClassStaticInterface.hasOwnProperty(name)
9490 ? ReactClassStaticInterface[name]
9491 : null;
9492
9493 _invariant(
9494 specPolicy === 'DEFINE_MANY_MERGED',
9495 'ReactClass: You are attempting to define ' +
9496 '`%s` on your component more than once. This conflict may be ' +
9497 'due to a mixin.',
9498 name
9499 );
9500
9501 Constructor[name] = createMergedResultFunction(Constructor[name], property);
9502
9503 return;
9504 }
9505
9506 Constructor[name] = property;
9507 }
9508 }
9509
9510 /**
9511 * Merge two objects, but throw if both contain the same key.
9512 *
9513 * @param {object} one The first object, which is mutated.
9514 * @param {object} two The second object
9515 * @return {object} one after it has been mutated to contain everything in two.
9516 */
9517 function mergeIntoWithNoDuplicateKeys(one, two) {
9518 _invariant(
9519 one && two && typeof one === 'object' && typeof two === 'object',
9520 'mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects.'
9521 );
9522
9523 for (var key in two) {
9524 if (two.hasOwnProperty(key)) {
9525 _invariant(
9526 one[key] === undefined,
9527 'mergeIntoWithNoDuplicateKeys(): ' +
9528 'Tried to merge two objects with the same key: `%s`. This conflict ' +
9529 'may be due to a mixin; in particular, this may be caused by two ' +
9530 'getInitialState() or getDefaultProps() methods returning objects ' +
9531 'with clashing keys.',
9532 key
9533 );
9534 one[key] = two[key];
9535 }
9536 }
9537 return one;
9538 }
9539
9540 /**
9541 * Creates a function that invokes two functions and merges their return values.
9542 *
9543 * @param {function} one Function to invoke first.
9544 * @param {function} two Function to invoke second.
9545 * @return {function} Function that invokes the two argument functions.
9546 * @private
9547 */
9548 function createMergedResultFunction(one, two) {
9549 return function mergedResult() {
9550 var a = one.apply(this, arguments);
9551 var b = two.apply(this, arguments);
9552 if (a == null) {
9553 return b;
9554 } else if (b == null) {
9555 return a;
9556 }
9557 var c = {};
9558 mergeIntoWithNoDuplicateKeys(c, a);
9559 mergeIntoWithNoDuplicateKeys(c, b);
9560 return c;
9561 };
9562 }
9563
9564 /**
9565 * Creates a function that invokes two functions and ignores their return vales.
9566 *
9567 * @param {function} one Function to invoke first.
9568 * @param {function} two Function to invoke second.
9569 * @return {function} Function that invokes the two argument functions.
9570 * @private
9571 */
9572 function createChainedFunction(one, two) {
9573 return function chainedFunction() {
9574 one.apply(this, arguments);
9575 two.apply(this, arguments);
9576 };
9577 }
9578
9579 /**
9580 * Binds a method to the component.
9581 *
9582 * @param {object} component Component whose method is going to be bound.
9583 * @param {function} method Method to be bound.
9584 * @return {function} The bound method.
9585 */
9586 function bindAutoBindMethod(component, method) {
9587 var boundMethod = method.bind(component);
9588 if (process.env.NODE_ENV !== 'production') {
9589 boundMethod.__reactBoundContext = component;
9590 boundMethod.__reactBoundMethod = method;
9591 boundMethod.__reactBoundArguments = null;
9592 var componentName = component.constructor.displayName;
9593 var _bind = boundMethod.bind;
9594 boundMethod.bind = function(newThis) {
9595 for (
9596 var _len = arguments.length,
9597 args = Array(_len > 1 ? _len - 1 : 0),
9598 _key = 1;
9599 _key < _len;
9600 _key++
9601 ) {
9602 args[_key - 1] = arguments[_key];
9603 }
9604
9605 // User is trying to bind() an autobound method; we effectively will
9606 // ignore the value of "this" that the user is trying to use, so
9607 // let's warn.
9608 if (newThis !== component && newThis !== null) {
9609 if (process.env.NODE_ENV !== 'production') {
9610 warning(
9611 false,
9612 'bind(): React component methods may only be bound to the ' +
9613 'component instance. See %s',
9614 componentName
9615 );
9616 }
9617 } else if (!args.length) {
9618 if (process.env.NODE_ENV !== 'production') {
9619 warning(
9620 false,
9621 'bind(): You are binding a component method to the component. ' +
9622 'React does this for you automatically in a high-performance ' +
9623 'way, so you can safely remove this call. See %s',
9624 componentName
9625 );
9626 }
9627 return boundMethod;
9628 }
9629 var reboundMethod = _bind.apply(boundMethod, arguments);
9630 reboundMethod.__reactBoundContext = component;
9631 reboundMethod.__reactBoundMethod = method;
9632 reboundMethod.__reactBoundArguments = args;
9633 return reboundMethod;
9634 };
9635 }
9636 return boundMethod;
9637 }
9638
9639 /**
9640 * Binds all auto-bound methods in a component.
9641 *
9642 * @param {object} component Component whose method is going to be bound.
9643 */
9644 function bindAutoBindMethods(component) {
9645 var pairs = component.__reactAutoBindPairs;
9646 for (var i = 0; i < pairs.length; i += 2) {
9647 var autoBindKey = pairs[i];
9648 var method = pairs[i + 1];
9649 component[autoBindKey] = bindAutoBindMethod(component, method);
9650 }
9651 }
9652
9653 var IsMountedPreMixin = {
9654 componentDidMount: function() {
9655 this.__isMounted = true;
9656 }
9657 };
9658
9659 var IsMountedPostMixin = {
9660 componentWillUnmount: function() {
9661 this.__isMounted = false;
9662 }
9663 };
9664
9665 /**
9666 * Add more to the ReactClass base class. These are all legacy features and
9667 * therefore not already part of the modern ReactComponent.
9668 */
9669 var ReactClassMixin = {
9670 /**
9671 * TODO: This will be deprecated because state should always keep a consistent
9672 * type signature and the only use case for this, is to avoid that.
9673 */
9674 replaceState: function(newState, callback) {
9675 this.updater.enqueueReplaceState(this, newState, callback);
9676 },
9677
9678 /**
9679 * Checks whether or not this composite component is mounted.
9680 * @return {boolean} True if mounted, false otherwise.
9681 * @protected
9682 * @final
9683 */
9684 isMounted: function() {
9685 if (process.env.NODE_ENV !== 'production') {
9686 warning(
9687 this.__didWarnIsMounted,
9688 '%s: isMounted is deprecated. Instead, make sure to clean up ' +
9689 'subscriptions and pending requests in componentWillUnmount to ' +
9690 'prevent memory leaks.',
9691 (this.constructor && this.constructor.displayName) ||
9692 this.name ||
9693 'Component'
9694 );
9695 this.__didWarnIsMounted = true;
9696 }
9697 return !!this.__isMounted;
9698 }
9699 };
9700
9701 var ReactClassComponent = function() {};
9702 _assign(
9703 ReactClassComponent.prototype,
9704 ReactComponent.prototype,
9705 ReactClassMixin
9706 );
9707
9708 /**
9709 * Creates a composite component class given a class specification.
9710 * See https://facebook.github.io/react/docs/top-level-api.html#react.createclass
9711 *
9712 * @param {object} spec Class specification (which must define `render`).
9713 * @return {function} Component constructor function.
9714 * @public
9715 */
9716 function createClass(spec) {
9717 // To keep our warnings more understandable, we'll use a little hack here to
9718 // ensure that Constructor.name !== 'Constructor'. This makes sure we don't
9719 // unnecessarily identify a class without displayName as 'Constructor'.
9720 var Constructor = identity(function(props, context, updater) {
9721 // This constructor gets overridden by mocks. The argument is used
9722 // by mocks to assert on what gets mounted.
9723
9724 if (process.env.NODE_ENV !== 'production') {
9725 warning(
9726 this instanceof Constructor,
9727 'Something is calling a React component directly. Use a factory or ' +
9728 'JSX instead. See: https://fb.me/react-legacyfactory'
9729 );
9730 }
9731
9732 // Wire up auto-binding
9733 if (this.__reactAutoBindPairs.length) {
9734 bindAutoBindMethods(this);
9735 }
9736
9737 this.props = props;
9738 this.context = context;
9739 this.refs = emptyObject;
9740 this.updater = updater || ReactNoopUpdateQueue;
9741
9742 this.state = null;
9743
9744 // ReactClasses doesn't have constructors. Instead, they use the
9745 // getInitialState and componentWillMount methods for initialization.
9746
9747 var initialState = this.getInitialState ? this.getInitialState() : null;
9748 if (process.env.NODE_ENV !== 'production') {
9749 // We allow auto-mocks to proceed as if they're returning null.
9750 if (
9751 initialState === undefined &&
9752 this.getInitialState._isMockFunction
9753 ) {
9754 // This is probably bad practice. Consider warning here and
9755 // deprecating this convenience.
9756 initialState = null;
9757 }
9758 }
9759 _invariant(
9760 typeof initialState === 'object' && !Array.isArray(initialState),
9761 '%s.getInitialState(): must return an object or null',
9762 Constructor.displayName || 'ReactCompositeComponent'
9763 );
9764
9765 this.state = initialState;
9766 });
9767 Constructor.prototype = new ReactClassComponent();
9768 Constructor.prototype.constructor = Constructor;
9769 Constructor.prototype.__reactAutoBindPairs = [];
9770
9771 injectedMixins.forEach(mixSpecIntoComponent.bind(null, Constructor));
9772
9773 mixSpecIntoComponent(Constructor, IsMountedPreMixin);
9774 mixSpecIntoComponent(Constructor, spec);
9775 mixSpecIntoComponent(Constructor, IsMountedPostMixin);
9776
9777 // Initialize the defaultProps property after all mixins have been merged.
9778 if (Constructor.getDefaultProps) {
9779 Constructor.defaultProps = Constructor.getDefaultProps();
9780 }
9781
9782 if (process.env.NODE_ENV !== 'production') {
9783 // This is a tag to indicate that the use of these method names is ok,
9784 // since it's used with createClass. If it's not, then it's likely a
9785 // mistake so we'll warn you to use the static property, property
9786 // initializer or constructor respectively.
9787 if (Constructor.getDefaultProps) {
9788 Constructor.getDefaultProps.isReactClassApproved = {};
9789 }
9790 if (Constructor.prototype.getInitialState) {
9791 Constructor.prototype.getInitialState.isReactClassApproved = {};
9792 }
9793 }
9794
9795 _invariant(
9796 Constructor.prototype.render,
9797 'createClass(...): Class specification must implement a `render` method.'
9798 );
9799
9800 if (process.env.NODE_ENV !== 'production') {
9801 warning(
9802 !Constructor.prototype.componentShouldUpdate,
9803 '%s has a method called ' +
9804 'componentShouldUpdate(). Did you mean shouldComponentUpdate()? ' +
9805 'The name is phrased as a question because the function is ' +
9806 'expected to return a value.',
9807 spec.displayName || 'A component'
9808 );
9809 warning(
9810 !Constructor.prototype.componentWillRecieveProps,
9811 '%s has a method called ' +
9812 'componentWillRecieveProps(). Did you mean componentWillReceiveProps()?',
9813 spec.displayName || 'A component'
9814 );
9815 warning(
9816 !Constructor.prototype.UNSAFE_componentWillRecieveProps,
9817 '%s has a method called UNSAFE_componentWillRecieveProps(). ' +
9818 'Did you mean UNSAFE_componentWillReceiveProps()?',
9819 spec.displayName || 'A component'
9820 );
9821 }
9822
9823 // Reduce time spent doing lookups by setting these on the prototype.
9824 for (var methodName in ReactClassInterface) {
9825 if (!Constructor.prototype[methodName]) {
9826 Constructor.prototype[methodName] = null;
9827 }
9828 }
9829
9830 return Constructor;
9831 }
9832
9833 return createClass;
9834 }
9835
9836 module.exports = factory;
9837
9838 /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(32)))
9839
9840/***/ }),
9841/* 162 */
9842/***/ (function(module, exports, __webpack_require__) {
9843
9844 /* WEBPACK VAR INJECTION */(function(process) {/**
9845 * Copyright (c) 2013-present, Facebook, Inc.
9846 *
9847 * This source code is licensed under the MIT license found in the
9848 * LICENSE file in the root directory of this source tree.
9849 *
9850 */
9851
9852 'use strict';
9853
9854 var emptyObject = {};
9855
9856 if (process.env.NODE_ENV !== 'production') {
9857 Object.freeze(emptyObject);
9858 }
9859
9860 module.exports = emptyObject;
9861 /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(32)))
9862
9863/***/ }),
9864/* 163 */
9865/***/ (function(module, exports, __webpack_require__) {
9866
9867 /* WEBPACK VAR INJECTION */(function(process) {/**
9868 * Copyright (c) 2013-present, Facebook, Inc.
9869 *
9870 * This source code is licensed under the MIT license found in the
9871 * LICENSE file in the root directory of this source tree.
9872 *
9873 */
9874
9875 'use strict';
9876
9877 /**
9878 * Use invariant() to assert state which your program assumes to be true.
9879 *
9880 * Provide sprintf-style format (only %s is supported) and arguments
9881 * to provide information about what broke and what you were
9882 * expecting.
9883 *
9884 * The invariant message will be stripped in production, but the invariant
9885 * will remain to ensure logic does not differ in production.
9886 */
9887
9888 var validateFormat = function validateFormat(format) {};
9889
9890 if (process.env.NODE_ENV !== 'production') {
9891 validateFormat = function validateFormat(format) {
9892 if (format === undefined) {
9893 throw new Error('invariant requires an error message argument');
9894 }
9895 };
9896 }
9897
9898 function invariant(condition, format, a, b, c, d, e, f) {
9899 validateFormat(format);
9900
9901 if (!condition) {
9902 var error;
9903 if (format === undefined) {
9904 error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');
9905 } else {
9906 var args = [a, b, c, d, e, f];
9907 var argIndex = 0;
9908 error = new Error(format.replace(/%s/g, function () {
9909 return args[argIndex++];
9910 }));
9911 error.name = 'Invariant Violation';
9912 }
9913
9914 error.framesToPop = 1; // we don't care about invariant's own frame
9915 throw error;
9916 }
9917 }
9918
9919 module.exports = invariant;
9920 /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(32)))
9921
9922/***/ }),
9923/* 164 */
9924/***/ (function(module, exports, __webpack_require__) {
9925
9926 /* WEBPACK VAR INJECTION */(function(process) {/**
9927 * Copyright (c) 2014-present, Facebook, Inc.
9928 *
9929 * This source code is licensed under the MIT license found in the
9930 * LICENSE file in the root directory of this source tree.
9931 *
9932 */
9933
9934 'use strict';
9935
9936 var emptyFunction = __webpack_require__(165);
9937
9938 /**
9939 * Similar to invariant but only logs a warning if the condition is not met.
9940 * This can be used to log issues in development environments in critical
9941 * paths. Removing the logging code for production environments will keep the
9942 * same logic and follow the same code paths.
9943 */
9944
9945 var warning = emptyFunction;
9946
9947 if (process.env.NODE_ENV !== 'production') {
9948 var printWarning = function printWarning(format) {
9949 for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
9950 args[_key - 1] = arguments[_key];
9951 }
9952
9953 var argIndex = 0;
9954 var message = 'Warning: ' + format.replace(/%s/g, function () {
9955 return args[argIndex++];
9956 });
9957 if (typeof console !== 'undefined') {
9958 console.error(message);
9959 }
9960 try {
9961 // --- Welcome to debugging React ---
9962 // This error was thrown as a convenience so that you can use this stack
9963 // to find the callsite that caused this warning to fire.
9964 throw new Error(message);
9965 } catch (x) {}
9966 };
9967
9968 warning = function warning(condition, format) {
9969 if (format === undefined) {
9970 throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');
9971 }
9972
9973 if (format.indexOf('Failed Composite propType: ') === 0) {
9974 return; // Ignore CompositeComponent proptype check.
9975 }
9976
9977 if (!condition) {
9978 for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {
9979 args[_key2 - 2] = arguments[_key2];
9980 }
9981
9982 printWarning.apply(undefined, [format].concat(args));
9983 }
9984 };
9985 }
9986
9987 module.exports = warning;
9988 /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(32)))
9989
9990/***/ }),
9991/* 165 */
9992/***/ (function(module, exports) {
9993
9994 "use strict";
9995
9996 /**
9997 * Copyright (c) 2013-present, Facebook, Inc.
9998 *
9999 * This source code is licensed under the MIT license found in the
10000 * LICENSE file in the root directory of this source tree.
10001 *
10002 *
10003 */
10004
10005 function makeEmptyFunction(arg) {
10006 return function () {
10007 return arg;
10008 };
10009 }
10010
10011 /**
10012 * This function accepts and discards inputs; it has no side effects. This is
10013 * primarily useful idiomatically for overridable function endpoints which
10014 * always need to be callable, since JS lacks a null-call idiom ala Cocoa.
10015 */
10016 var emptyFunction = function emptyFunction() {};
10017
10018 emptyFunction.thatReturns = makeEmptyFunction;
10019 emptyFunction.thatReturnsFalse = makeEmptyFunction(false);
10020 emptyFunction.thatReturnsTrue = makeEmptyFunction(true);
10021 emptyFunction.thatReturnsNull = makeEmptyFunction(null);
10022 emptyFunction.thatReturnsThis = function () {
10023 return this;
10024 };
10025 emptyFunction.thatReturnsArgument = function (arg) {
10026 return arg;
10027 };
10028
10029 module.exports = emptyFunction;
10030
10031/***/ }),
10032/* 166 */
10033/***/ (function(module, exports, __webpack_require__) {
10034
10035 'use strict';
10036
10037 Object.defineProperty(exports, "__esModule", {
10038 value: true
10039 });
10040
10041 var _extends2 = __webpack_require__(145);
10042
10043 var _extends3 = _interopRequireDefault(_extends2);
10044
10045 var _typeof2 = __webpack_require__(74);
10046
10047 var _typeof3 = _interopRequireDefault(_typeof2);
10048
10049 var _util = __webpack_require__(167);
10050
10051 var _validator = __webpack_require__(168);
10052
10053 var _validator2 = _interopRequireDefault(_validator);
10054
10055 var _messages2 = __webpack_require__(190);
10056
10057 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
10058
10059 /**
10060 * Encapsulates a validation schema.
10061 *
10062 * @param descriptor An object declaring validation rules
10063 * for this schema.
10064 */
10065 function Schema(descriptor) {
10066 this.rules = null;
10067 this._messages = _messages2.messages;
10068 this.define(descriptor);
10069 }
10070
10071 Schema.prototype = {
10072 messages: function messages(_messages) {
10073 if (_messages) {
10074 this._messages = (0, _util.deepMerge)((0, _messages2.newMessages)(), _messages);
10075 }
10076 return this._messages;
10077 },
10078 define: function define(rules) {
10079 if (!rules) {
10080 throw new Error('Cannot configure a schema with no rules');
10081 }
10082 if ((typeof rules === 'undefined' ? 'undefined' : (0, _typeof3['default'])(rules)) !== 'object' || Array.isArray(rules)) {
10083 throw new Error('Rules must be an object');
10084 }
10085 this.rules = {};
10086 var z = void 0;
10087 var item = void 0;
10088 for (z in rules) {
10089 if (rules.hasOwnProperty(z)) {
10090 item = rules[z];
10091 this.rules[z] = Array.isArray(item) ? item : [item];
10092 }
10093 }
10094 },
10095 validate: function validate(source_) {
10096 var _this = this;
10097
10098 var o = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
10099 var oc = arguments[2];
10100
10101 var source = source_;
10102 var options = o;
10103 var callback = oc;
10104 if (typeof options === 'function') {
10105 callback = options;
10106 options = {};
10107 }
10108 if (!this.rules || Object.keys(this.rules).length === 0) {
10109 if (callback) {
10110 callback();
10111 }
10112 return;
10113 }
10114 function complete(results) {
10115 var i = void 0;
10116 var field = void 0;
10117 var errors = [];
10118 var fields = {};
10119
10120 function add(e) {
10121 if (Array.isArray(e)) {
10122 errors = errors.concat.apply(errors, e);
10123 } else {
10124 errors.push(e);
10125 }
10126 }
10127
10128 for (i = 0; i < results.length; i++) {
10129 add(results[i]);
10130 }
10131 if (!errors.length) {
10132 errors = null;
10133 fields = null;
10134 } else {
10135 for (i = 0; i < errors.length; i++) {
10136 field = errors[i].field;
10137 fields[field] = fields[field] || [];
10138 fields[field].push(errors[i]);
10139 }
10140 }
10141 callback(errors, fields);
10142 }
10143
10144 if (options.messages) {
10145 var messages = this.messages();
10146 if (messages === _messages2.messages) {
10147 messages = (0, _messages2.newMessages)();
10148 }
10149 (0, _util.deepMerge)(messages, options.messages);
10150 options.messages = messages;
10151 } else {
10152 options.messages = this.messages();
10153 }
10154 var arr = void 0;
10155 var value = void 0;
10156 var series = {};
10157 var keys = options.keys || Object.keys(this.rules);
10158 keys.forEach(function (z) {
10159 arr = _this.rules[z];
10160 value = source[z];
10161 arr.forEach(function (r) {
10162 var rule = r;
10163 if (typeof rule.transform === 'function') {
10164 if (source === source_) {
10165 source = (0, _extends3['default'])({}, source);
10166 }
10167 value = source[z] = rule.transform(value);
10168 }
10169 if (typeof rule === 'function') {
10170 rule = {
10171 validator: rule
10172 };
10173 } else {
10174 rule = (0, _extends3['default'])({}, rule);
10175 }
10176 rule.validator = _this.getValidationMethod(rule);
10177 rule.field = z;
10178 rule.fullField = rule.fullField || z;
10179 rule.type = _this.getType(rule);
10180 if (!rule.validator) {
10181 return;
10182 }
10183 series[z] = series[z] || [];
10184 series[z].push({
10185 rule: rule,
10186 value: value,
10187 source: source,
10188 field: z
10189 });
10190 });
10191 });
10192 var errorFields = {};
10193 (0, _util.asyncMap)(series, options, function (data, doIt) {
10194 var rule = data.rule;
10195 var deep = (rule.type === 'object' || rule.type === 'array') && ((0, _typeof3['default'])(rule.fields) === 'object' || (0, _typeof3['default'])(rule.defaultField) === 'object');
10196 deep = deep && (rule.required || !rule.required && data.value);
10197 rule.field = data.field;
10198 function addFullfield(key, schema) {
10199 return (0, _extends3['default'])({}, schema, {
10200 fullField: rule.fullField + '.' + key
10201 });
10202 }
10203
10204 function cb() {
10205 var e = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
10206
10207 var errors = e;
10208 if (!Array.isArray(errors)) {
10209 errors = [errors];
10210 }
10211 if (errors.length) {
10212 (0, _util.warning)('async-validator:', errors);
10213 }
10214 if (errors.length && rule.message) {
10215 errors = [].concat(rule.message);
10216 }
10217
10218 errors = errors.map((0, _util.complementError)(rule));
10219
10220 if (options.first && errors.length) {
10221 errorFields[rule.field] = 1;
10222 return doIt(errors);
10223 }
10224 if (!deep) {
10225 doIt(errors);
10226 } else {
10227 // if rule is required but the target object
10228 // does not exist fail at the rule level and don't
10229 // go deeper
10230 if (rule.required && !data.value) {
10231 if (rule.message) {
10232 errors = [].concat(rule.message).map((0, _util.complementError)(rule));
10233 } else if (options.error) {
10234 errors = [options.error(rule, (0, _util.format)(options.messages.required, rule.field))];
10235 } else {
10236 errors = [];
10237 }
10238 return doIt(errors);
10239 }
10240
10241 var fieldsSchema = {};
10242 if (rule.defaultField) {
10243 for (var k in data.value) {
10244 if (data.value.hasOwnProperty(k)) {
10245 fieldsSchema[k] = rule.defaultField;
10246 }
10247 }
10248 }
10249 fieldsSchema = (0, _extends3['default'])({}, fieldsSchema, data.rule.fields);
10250 for (var f in fieldsSchema) {
10251 if (fieldsSchema.hasOwnProperty(f)) {
10252 var fieldSchema = Array.isArray(fieldsSchema[f]) ? fieldsSchema[f] : [fieldsSchema[f]];
10253 fieldsSchema[f] = fieldSchema.map(addFullfield.bind(null, f));
10254 }
10255 }
10256 var schema = new Schema(fieldsSchema);
10257 schema.messages(options.messages);
10258 if (data.rule.options) {
10259 data.rule.options.messages = options.messages;
10260 data.rule.options.error = options.error;
10261 }
10262 schema.validate(data.value, data.rule.options || options, function (errs) {
10263 doIt(errs && errs.length ? errors.concat(errs) : errs);
10264 });
10265 }
10266 }
10267
10268 var res = rule.validator(rule, data.value, cb, data.source, options);
10269 if (res && res.then) {
10270 res.then(function () {
10271 return cb();
10272 }, function (e) {
10273 return cb(e);
10274 });
10275 }
10276 }, function (results) {
10277 complete(results);
10278 });
10279 },
10280 getType: function getType(rule) {
10281 if (rule.type === undefined && rule.pattern instanceof RegExp) {
10282 rule.type = 'pattern';
10283 }
10284 if (typeof rule.validator !== 'function' && rule.type && !_validator2['default'].hasOwnProperty(rule.type)) {
10285 throw new Error((0, _util.format)('Unknown rule type %s', rule.type));
10286 }
10287 return rule.type || 'string';
10288 },
10289 getValidationMethod: function getValidationMethod(rule) {
10290 if (typeof rule.validator === 'function') {
10291 return rule.validator;
10292 }
10293 var keys = Object.keys(rule);
10294 var messageIndex = keys.indexOf('message');
10295 if (messageIndex !== -1) {
10296 keys.splice(messageIndex, 1);
10297 }
10298 if (keys.length === 1 && keys[0] === 'required') {
10299 return _validator2['default'].required;
10300 }
10301 return _validator2['default'][this.getType(rule)] || false;
10302 }
10303 };
10304
10305 Schema.register = function register(type, validator) {
10306 if (typeof validator !== 'function') {
10307 throw new Error('Cannot register a validator by type, validator is not a function');
10308 }
10309 _validator2['default'][type] = validator;
10310 };
10311
10312 Schema.messages = _messages2.messages;
10313
10314 exports['default'] = Schema;
10315 module.exports = exports['default'];
10316
10317/***/ }),
10318/* 167 */
10319/***/ (function(module, exports, __webpack_require__) {
10320
10321 /* WEBPACK VAR INJECTION */(function(process) {'use strict';
10322
10323 Object.defineProperty(exports, "__esModule", {
10324 value: true
10325 });
10326 exports.warning = undefined;
10327
10328 var _extends2 = __webpack_require__(145);
10329
10330 var _extends3 = _interopRequireDefault(_extends2);
10331
10332 var _typeof2 = __webpack_require__(74);
10333
10334 var _typeof3 = _interopRequireDefault(_typeof2);
10335
10336 exports.format = format;
10337 exports.isEmptyValue = isEmptyValue;
10338 exports.isEmptyObject = isEmptyObject;
10339 exports.asyncMap = asyncMap;
10340 exports.complementError = complementError;
10341 exports.deepMerge = deepMerge;
10342
10343 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
10344
10345 var formatRegExp = /%[sdj%]/g;
10346
10347 var warning = exports.warning = function warning() {};
10348
10349 // don't print warning message when in production env or node runtime
10350 if (process.env.NODE_ENV !== 'production' && typeof window !== 'undefined' && typeof document !== 'undefined') {
10351 exports.warning = warning = function warning(type, errors) {
10352 if (typeof console !== 'undefined' && console.warn) {
10353 if (errors.every(function (e) {
10354 return typeof e === 'string';
10355 })) {
10356 console.warn(type, errors);
10357 }
10358 }
10359 };
10360 }
10361
10362 function format() {
10363 for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
10364 args[_key] = arguments[_key];
10365 }
10366
10367 var i = 1;
10368 var f = args[0];
10369 var len = args.length;
10370 if (typeof f === 'function') {
10371 return f.apply(null, args.slice(1));
10372 }
10373 if (typeof f === 'string') {
10374 var str = String(f).replace(formatRegExp, function (x) {
10375 if (x === '%%') {
10376 return '%';
10377 }
10378 if (i >= len) {
10379 return x;
10380 }
10381 switch (x) {
10382 case '%s':
10383 return String(args[i++]);
10384 case '%d':
10385 return Number(args[i++]);
10386 case '%j':
10387 try {
10388 return JSON.stringify(args[i++]);
10389 } catch (_) {
10390 return '[Circular]';
10391 }
10392 break;
10393 default:
10394 return x;
10395 }
10396 });
10397 for (var arg = args[i]; i < len; arg = args[++i]) {
10398 str += ' ' + arg;
10399 }
10400 return str;
10401 }
10402 return f;
10403 }
10404
10405 function isNativeStringType(type) {
10406 return type === 'string' || type === 'url' || type === 'hex' || type === 'email' || type === 'pattern';
10407 }
10408
10409 function isEmptyValue(value, type) {
10410 if (value === undefined || value === null) {
10411 return true;
10412 }
10413 if (type === 'array' && Array.isArray(value) && !value.length) {
10414 return true;
10415 }
10416 if (isNativeStringType(type) && typeof value === 'string' && !value) {
10417 return true;
10418 }
10419 return false;
10420 }
10421
10422 function isEmptyObject(obj) {
10423 return Object.keys(obj).length === 0;
10424 }
10425
10426 function asyncParallelArray(arr, func, callback) {
10427 var results = [];
10428 var total = 0;
10429 var arrLength = arr.length;
10430
10431 function count(errors) {
10432 results.push.apply(results, errors);
10433 total++;
10434 if (total === arrLength) {
10435 callback(results);
10436 }
10437 }
10438
10439 arr.forEach(function (a) {
10440 func(a, count);
10441 });
10442 }
10443
10444 function asyncSerialArray(arr, func, callback) {
10445 var index = 0;
10446 var arrLength = arr.length;
10447
10448 function next(errors) {
10449 if (errors && errors.length) {
10450 callback(errors);
10451 return;
10452 }
10453 var original = index;
10454 index = index + 1;
10455 if (original < arrLength) {
10456 func(arr[original], next);
10457 } else {
10458 callback([]);
10459 }
10460 }
10461
10462 next([]);
10463 }
10464
10465 function flattenObjArr(objArr) {
10466 var ret = [];
10467 Object.keys(objArr).forEach(function (k) {
10468 ret.push.apply(ret, objArr[k]);
10469 });
10470 return ret;
10471 }
10472
10473 function asyncMap(objArr, option, func, callback) {
10474 if (option.first) {
10475 var flattenArr = flattenObjArr(objArr);
10476 return asyncSerialArray(flattenArr, func, callback);
10477 }
10478 var firstFields = option.firstFields || [];
10479 if (firstFields === true) {
10480 firstFields = Object.keys(objArr);
10481 }
10482 var objArrKeys = Object.keys(objArr);
10483 var objArrLength = objArrKeys.length;
10484 var total = 0;
10485 var results = [];
10486 var next = function next(errors) {
10487 results.push.apply(results, errors);
10488 total++;
10489 if (total === objArrLength) {
10490 callback(results);
10491 }
10492 };
10493 objArrKeys.forEach(function (key) {
10494 var arr = objArr[key];
10495 if (firstFields.indexOf(key) !== -1) {
10496 asyncSerialArray(arr, func, next);
10497 } else {
10498 asyncParallelArray(arr, func, next);
10499 }
10500 });
10501 }
10502
10503 function complementError(rule) {
10504 return function (oe) {
10505 if (oe && oe.message) {
10506 oe.field = oe.field || rule.fullField;
10507 return oe;
10508 }
10509 return {
10510 message: oe,
10511 field: oe.field || rule.fullField
10512 };
10513 };
10514 }
10515
10516 function deepMerge(target, source) {
10517 if (source) {
10518 for (var s in source) {
10519 if (source.hasOwnProperty(s)) {
10520 var value = source[s];
10521 if ((typeof value === 'undefined' ? 'undefined' : (0, _typeof3['default'])(value)) === 'object' && (0, _typeof3['default'])(target[s]) === 'object') {
10522 target[s] = (0, _extends3['default'])({}, target[s], value);
10523 } else {
10524 target[s] = value;
10525 }
10526 }
10527 }
10528 }
10529 return target;
10530 }
10531 /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(32)))
10532
10533/***/ }),
10534/* 168 */
10535/***/ (function(module, exports, __webpack_require__) {
10536
10537 'use strict';
10538
10539 Object.defineProperty(exports, "__esModule", {
10540 value: true
10541 });
10542
10543 var _string = __webpack_require__(169);
10544
10545 var _string2 = _interopRequireDefault(_string);
10546
10547 var _method = __webpack_require__(177);
10548
10549 var _method2 = _interopRequireDefault(_method);
10550
10551 var _number = __webpack_require__(178);
10552
10553 var _number2 = _interopRequireDefault(_number);
10554
10555 var _boolean = __webpack_require__(179);
10556
10557 var _boolean2 = _interopRequireDefault(_boolean);
10558
10559 var _regexp = __webpack_require__(180);
10560
10561 var _regexp2 = _interopRequireDefault(_regexp);
10562
10563 var _integer = __webpack_require__(181);
10564
10565 var _integer2 = _interopRequireDefault(_integer);
10566
10567 var _float = __webpack_require__(182);
10568
10569 var _float2 = _interopRequireDefault(_float);
10570
10571 var _array = __webpack_require__(183);
10572
10573 var _array2 = _interopRequireDefault(_array);
10574
10575 var _object = __webpack_require__(184);
10576
10577 var _object2 = _interopRequireDefault(_object);
10578
10579 var _enum = __webpack_require__(185);
10580
10581 var _enum2 = _interopRequireDefault(_enum);
10582
10583 var _pattern = __webpack_require__(186);
10584
10585 var _pattern2 = _interopRequireDefault(_pattern);
10586
10587 var _date = __webpack_require__(187);
10588
10589 var _date2 = _interopRequireDefault(_date);
10590
10591 var _required = __webpack_require__(188);
10592
10593 var _required2 = _interopRequireDefault(_required);
10594
10595 var _type = __webpack_require__(189);
10596
10597 var _type2 = _interopRequireDefault(_type);
10598
10599 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
10600
10601 exports['default'] = {
10602 string: _string2['default'],
10603 method: _method2['default'],
10604 number: _number2['default'],
10605 boolean: _boolean2['default'],
10606 regexp: _regexp2['default'],
10607 integer: _integer2['default'],
10608 float: _float2['default'],
10609 array: _array2['default'],
10610 object: _object2['default'],
10611 'enum': _enum2['default'],
10612 pattern: _pattern2['default'],
10613 date: _date2['default'],
10614 url: _type2['default'],
10615 hex: _type2['default'],
10616 email: _type2['default'],
10617 required: _required2['default']
10618 };
10619 module.exports = exports['default'];
10620
10621/***/ }),
10622/* 169 */
10623/***/ (function(module, exports, __webpack_require__) {
10624
10625 'use strict';
10626
10627 Object.defineProperty(exports, "__esModule", {
10628 value: true
10629 });
10630
10631 var _rule = __webpack_require__(170);
10632
10633 var _rule2 = _interopRequireDefault(_rule);
10634
10635 var _util = __webpack_require__(167);
10636
10637 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
10638
10639 /**
10640 * Performs validation for string types.
10641 *
10642 * @param rule The validation rule.
10643 * @param value The value of the field on the source object.
10644 * @param callback The callback function.
10645 * @param source The source object being validated.
10646 * @param options The validation options.
10647 * @param options.messages The validation messages.
10648 */
10649 function string(rule, value, callback, source, options) {
10650 var errors = [];
10651 var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
10652 if (validate) {
10653 if ((0, _util.isEmptyValue)(value, 'string') && !rule.required) {
10654 return callback();
10655 }
10656 _rule2['default'].required(rule, value, source, errors, options, 'string');
10657 if (!(0, _util.isEmptyValue)(value, 'string')) {
10658 _rule2['default'].type(rule, value, source, errors, options);
10659 _rule2['default'].range(rule, value, source, errors, options);
10660 _rule2['default'].pattern(rule, value, source, errors, options);
10661 if (rule.whitespace === true) {
10662 _rule2['default'].whitespace(rule, value, source, errors, options);
10663 }
10664 }
10665 }
10666 callback(errors);
10667 }
10668
10669 exports['default'] = string;
10670 module.exports = exports['default'];
10671
10672/***/ }),
10673/* 170 */
10674/***/ (function(module, exports, __webpack_require__) {
10675
10676 'use strict';
10677
10678 Object.defineProperty(exports, "__esModule", {
10679 value: true
10680 });
10681
10682 var _required = __webpack_require__(171);
10683
10684 var _required2 = _interopRequireDefault(_required);
10685
10686 var _whitespace = __webpack_require__(172);
10687
10688 var _whitespace2 = _interopRequireDefault(_whitespace);
10689
10690 var _type = __webpack_require__(173);
10691
10692 var _type2 = _interopRequireDefault(_type);
10693
10694 var _range = __webpack_require__(174);
10695
10696 var _range2 = _interopRequireDefault(_range);
10697
10698 var _enum = __webpack_require__(175);
10699
10700 var _enum2 = _interopRequireDefault(_enum);
10701
10702 var _pattern = __webpack_require__(176);
10703
10704 var _pattern2 = _interopRequireDefault(_pattern);
10705
10706 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
10707
10708 exports['default'] = {
10709 required: _required2['default'],
10710 whitespace: _whitespace2['default'],
10711 type: _type2['default'],
10712 range: _range2['default'],
10713 'enum': _enum2['default'],
10714 pattern: _pattern2['default']
10715 };
10716 module.exports = exports['default'];
10717
10718/***/ }),
10719/* 171 */
10720/***/ (function(module, exports, __webpack_require__) {
10721
10722 'use strict';
10723
10724 Object.defineProperty(exports, "__esModule", {
10725 value: true
10726 });
10727
10728 var _util = __webpack_require__(167);
10729
10730 var util = _interopRequireWildcard(_util);
10731
10732 function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }
10733
10734 /**
10735 * Rule for validating required fields.
10736 *
10737 * @param rule The validation rule.
10738 * @param value The value of the field on the source object.
10739 * @param source The source object being validated.
10740 * @param errors An array of errors that this rule may add
10741 * validation errors to.
10742 * @param options The validation options.
10743 * @param options.messages The validation messages.
10744 */
10745 function required(rule, value, source, errors, options, type) {
10746 if (rule.required && (!source.hasOwnProperty(rule.field) || util.isEmptyValue(value, type || rule.type))) {
10747 errors.push(util.format(options.messages.required, rule.fullField));
10748 }
10749 }
10750
10751 exports['default'] = required;
10752 module.exports = exports['default'];
10753
10754/***/ }),
10755/* 172 */
10756/***/ (function(module, exports, __webpack_require__) {
10757
10758 'use strict';
10759
10760 Object.defineProperty(exports, "__esModule", {
10761 value: true
10762 });
10763
10764 var _util = __webpack_require__(167);
10765
10766 var util = _interopRequireWildcard(_util);
10767
10768 function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }
10769
10770 /**
10771 * Rule for validating whitespace.
10772 *
10773 * @param rule The validation rule.
10774 * @param value The value of the field on the source object.
10775 * @param source The source object being validated.
10776 * @param errors An array of errors that this rule may add
10777 * validation errors to.
10778 * @param options The validation options.
10779 * @param options.messages The validation messages.
10780 */
10781 function whitespace(rule, value, source, errors, options) {
10782 if (/^\s+$/.test(value) || value === '') {
10783 errors.push(util.format(options.messages.whitespace, rule.fullField));
10784 }
10785 }
10786
10787 exports['default'] = whitespace;
10788 module.exports = exports['default'];
10789
10790/***/ }),
10791/* 173 */
10792/***/ (function(module, exports, __webpack_require__) {
10793
10794 'use strict';
10795
10796 Object.defineProperty(exports, "__esModule", {
10797 value: true
10798 });
10799
10800 var _typeof2 = __webpack_require__(74);
10801
10802 var _typeof3 = _interopRequireDefault(_typeof2);
10803
10804 var _util = __webpack_require__(167);
10805
10806 var util = _interopRequireWildcard(_util);
10807
10808 var _required = __webpack_require__(171);
10809
10810 var _required2 = _interopRequireDefault(_required);
10811
10812 function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }
10813
10814 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
10815
10816 /* eslint max-len:0 */
10817
10818 var pattern = {
10819 // http://emailregex.com/
10820 email: /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,
10821 url: new RegExp('^(?!mailto:)(?:(?:http|https|ftp)://|//)(?:\\S+(?::\\S*)?@)?(?:(?:(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[0-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))|localhost)(?::\\d{2,5})?(?:(/|\\?|#)[^\\s]*)?$', 'i'),
10822 hex: /^#?([a-f0-9]{6}|[a-f0-9]{3})$/i
10823 };
10824
10825 var types = {
10826 integer: function integer(value) {
10827 return types.number(value) && parseInt(value, 10) === value;
10828 },
10829 float: function float(value) {
10830 return types.number(value) && !types.integer(value);
10831 },
10832 array: function array(value) {
10833 return Array.isArray(value);
10834 },
10835 regexp: function regexp(value) {
10836 if (value instanceof RegExp) {
10837 return true;
10838 }
10839 try {
10840 return !!new RegExp(value);
10841 } catch (e) {
10842 return false;
10843 }
10844 },
10845 date: function date(value) {
10846 return typeof value.getTime === 'function' && typeof value.getMonth === 'function' && typeof value.getYear === 'function';
10847 },
10848 number: function number(value) {
10849 if (isNaN(value)) {
10850 return false;
10851 }
10852 return typeof value === 'number';
10853 },
10854 object: function object(value) {
10855 return (typeof value === 'undefined' ? 'undefined' : (0, _typeof3['default'])(value)) === 'object' && !types.array(value);
10856 },
10857 method: function method(value) {
10858 return typeof value === 'function';
10859 },
10860 email: function email(value) {
10861 return typeof value === 'string' && !!value.match(pattern.email) && value.length < 255;
10862 },
10863 url: function url(value) {
10864 return typeof value === 'string' && !!value.match(pattern.url);
10865 },
10866 hex: function hex(value) {
10867 return typeof value === 'string' && !!value.match(pattern.hex);
10868 }
10869 };
10870
10871 /**
10872 * Rule for validating the type of a value.
10873 *
10874 * @param rule The validation rule.
10875 * @param value The value of the field on the source object.
10876 * @param source The source object being validated.
10877 * @param errors An array of errors that this rule may add
10878 * validation errors to.
10879 * @param options The validation options.
10880 * @param options.messages The validation messages.
10881 */
10882 function type(rule, value, source, errors, options) {
10883 if (rule.required && value === undefined) {
10884 (0, _required2['default'])(rule, value, source, errors, options);
10885 return;
10886 }
10887 var custom = ['integer', 'float', 'array', 'regexp', 'object', 'method', 'email', 'number', 'date', 'url', 'hex'];
10888 var ruleType = rule.type;
10889 if (custom.indexOf(ruleType) > -1) {
10890 if (!types[ruleType](value)) {
10891 errors.push(util.format(options.messages.types[ruleType], rule.fullField, rule.type));
10892 }
10893 // straight typeof check
10894 } else if (ruleType && (typeof value === 'undefined' ? 'undefined' : (0, _typeof3['default'])(value)) !== rule.type) {
10895 errors.push(util.format(options.messages.types[ruleType], rule.fullField, rule.type));
10896 }
10897 }
10898
10899 exports['default'] = type;
10900 module.exports = exports['default'];
10901
10902/***/ }),
10903/* 174 */
10904/***/ (function(module, exports, __webpack_require__) {
10905
10906 'use strict';
10907
10908 Object.defineProperty(exports, "__esModule", {
10909 value: true
10910 });
10911
10912 var _util = __webpack_require__(167);
10913
10914 var util = _interopRequireWildcard(_util);
10915
10916 function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }
10917
10918 /**
10919 * Rule for validating minimum and maximum allowed values.
10920 *
10921 * @param rule The validation rule.
10922 * @param value The value of the field on the source object.
10923 * @param source The source object being validated.
10924 * @param errors An array of errors that this rule may add
10925 * validation errors to.
10926 * @param options The validation options.
10927 * @param options.messages The validation messages.
10928 */
10929 function range(rule, value, source, errors, options) {
10930 var len = typeof rule.len === 'number';
10931 var min = typeof rule.min === 'number';
10932 var max = typeof rule.max === 'number';
10933 // 正则匹配码点范围从U+010000一直到U+10FFFF的文字(补充平面Supplementary Plane)
10934 var spRegexp = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g;
10935 var val = value;
10936 var key = null;
10937 var num = typeof value === 'number';
10938 var str = typeof value === 'string';
10939 var arr = Array.isArray(value);
10940 if (num) {
10941 key = 'number';
10942 } else if (str) {
10943 key = 'string';
10944 } else if (arr) {
10945 key = 'array';
10946 }
10947 // if the value is not of a supported type for range validation
10948 // the validation rule rule should use the
10949 // type property to also test for a particular type
10950 if (!key) {
10951 return false;
10952 }
10953 if (arr) {
10954 val = value.length;
10955 }
10956 if (str) {
10957 // 处理码点大于U+010000的文字length属性不准确的bug,如"𠮷𠮷𠮷".lenght !== 3
10958 val = value.replace(spRegexp, '_').length;
10959 }
10960 if (len) {
10961 if (val !== rule.len) {
10962 errors.push(util.format(options.messages[key].len, rule.fullField, rule.len));
10963 }
10964 } else if (min && !max && val < rule.min) {
10965 errors.push(util.format(options.messages[key].min, rule.fullField, rule.min));
10966 } else if (max && !min && val > rule.max) {
10967 errors.push(util.format(options.messages[key].max, rule.fullField, rule.max));
10968 } else if (min && max && (val < rule.min || val > rule.max)) {
10969 errors.push(util.format(options.messages[key].range, rule.fullField, rule.min, rule.max));
10970 }
10971 }
10972
10973 exports['default'] = range;
10974 module.exports = exports['default'];
10975
10976/***/ }),
10977/* 175 */
10978/***/ (function(module, exports, __webpack_require__) {
10979
10980 'use strict';
10981
10982 Object.defineProperty(exports, "__esModule", {
10983 value: true
10984 });
10985
10986 var _util = __webpack_require__(167);
10987
10988 var util = _interopRequireWildcard(_util);
10989
10990 function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }
10991
10992 var ENUM = 'enum';
10993
10994 /**
10995 * Rule for validating a value exists in an enumerable list.
10996 *
10997 * @param rule The validation rule.
10998 * @param value The value of the field on the source object.
10999 * @param source The source object being validated.
11000 * @param errors An array of errors that this rule may add
11001 * validation errors to.
11002 * @param options The validation options.
11003 * @param options.messages The validation messages.
11004 */
11005 function enumerable(rule, value, source, errors, options) {
11006 rule[ENUM] = Array.isArray(rule[ENUM]) ? rule[ENUM] : [];
11007 if (rule[ENUM].indexOf(value) === -1) {
11008 errors.push(util.format(options.messages[ENUM], rule.fullField, rule[ENUM].join(', ')));
11009 }
11010 }
11011
11012 exports['default'] = enumerable;
11013 module.exports = exports['default'];
11014
11015/***/ }),
11016/* 176 */
11017/***/ (function(module, exports, __webpack_require__) {
11018
11019 'use strict';
11020
11021 Object.defineProperty(exports, "__esModule", {
11022 value: true
11023 });
11024
11025 var _util = __webpack_require__(167);
11026
11027 var util = _interopRequireWildcard(_util);
11028
11029 function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }
11030
11031 /**
11032 * Rule for validating a regular expression pattern.
11033 *
11034 * @param rule The validation rule.
11035 * @param value The value of the field on the source object.
11036 * @param source The source object being validated.
11037 * @param errors An array of errors that this rule may add
11038 * validation errors to.
11039 * @param options The validation options.
11040 * @param options.messages The validation messages.
11041 */
11042 function pattern(rule, value, source, errors, options) {
11043 if (rule.pattern) {
11044 if (rule.pattern instanceof RegExp) {
11045 // if a RegExp instance is passed, reset `lastIndex` in case its `global`
11046 // flag is accidentally set to `true`, which in a validation scenario
11047 // is not necessary and the result might be misleading
11048 rule.pattern.lastIndex = 0;
11049 if (!rule.pattern.test(value)) {
11050 errors.push(util.format(options.messages.pattern.mismatch, rule.fullField, value, rule.pattern));
11051 }
11052 } else if (typeof rule.pattern === 'string') {
11053 var _pattern = new RegExp(rule.pattern);
11054 if (!_pattern.test(value)) {
11055 errors.push(util.format(options.messages.pattern.mismatch, rule.fullField, value, rule.pattern));
11056 }
11057 }
11058 }
11059 }
11060
11061 exports['default'] = pattern;
11062 module.exports = exports['default'];
11063
11064/***/ }),
11065/* 177 */
11066/***/ (function(module, exports, __webpack_require__) {
11067
11068 'use strict';
11069
11070 Object.defineProperty(exports, "__esModule", {
11071 value: true
11072 });
11073
11074 var _rule = __webpack_require__(170);
11075
11076 var _rule2 = _interopRequireDefault(_rule);
11077
11078 var _util = __webpack_require__(167);
11079
11080 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
11081
11082 /**
11083 * Validates a function.
11084 *
11085 * @param rule The validation rule.
11086 * @param value The value of the field on the source object.
11087 * @param callback The callback function.
11088 * @param source The source object being validated.
11089 * @param options The validation options.
11090 * @param options.messages The validation messages.
11091 */
11092 function method(rule, value, callback, source, options) {
11093 var errors = [];
11094 var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
11095 if (validate) {
11096 if ((0, _util.isEmptyValue)(value) && !rule.required) {
11097 return callback();
11098 }
11099 _rule2['default'].required(rule, value, source, errors, options);
11100 if (value !== undefined) {
11101 _rule2['default'].type(rule, value, source, errors, options);
11102 }
11103 }
11104 callback(errors);
11105 }
11106
11107 exports['default'] = method;
11108 module.exports = exports['default'];
11109
11110/***/ }),
11111/* 178 */
11112/***/ (function(module, exports, __webpack_require__) {
11113
11114 'use strict';
11115
11116 Object.defineProperty(exports, "__esModule", {
11117 value: true
11118 });
11119
11120 var _rule = __webpack_require__(170);
11121
11122 var _rule2 = _interopRequireDefault(_rule);
11123
11124 var _util = __webpack_require__(167);
11125
11126 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
11127
11128 /**
11129 * Validates a number.
11130 *
11131 * @param rule The validation rule.
11132 * @param value The value of the field on the source object.
11133 * @param callback The callback function.
11134 * @param source The source object being validated.
11135 * @param options The validation options.
11136 * @param options.messages The validation messages.
11137 */
11138 function number(rule, value, callback, source, options) {
11139 var errors = [];
11140 var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
11141 if (validate) {
11142 if ((0, _util.isEmptyValue)(value) && !rule.required) {
11143 return callback();
11144 }
11145 _rule2['default'].required(rule, value, source, errors, options);
11146 if (value !== undefined) {
11147 _rule2['default'].type(rule, value, source, errors, options);
11148 _rule2['default'].range(rule, value, source, errors, options);
11149 }
11150 }
11151 callback(errors);
11152 }
11153
11154 exports['default'] = number;
11155 module.exports = exports['default'];
11156
11157/***/ }),
11158/* 179 */
11159/***/ (function(module, exports, __webpack_require__) {
11160
11161 'use strict';
11162
11163 Object.defineProperty(exports, "__esModule", {
11164 value: true
11165 });
11166
11167 var _util = __webpack_require__(167);
11168
11169 var _rule = __webpack_require__(170);
11170
11171 var _rule2 = _interopRequireDefault(_rule);
11172
11173 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
11174
11175 /**
11176 * Validates a boolean.
11177 *
11178 * @param rule The validation rule.
11179 * @param value The value of the field on the source object.
11180 * @param callback The callback function.
11181 * @param source The source object being validated.
11182 * @param options The validation options.
11183 * @param options.messages The validation messages.
11184 */
11185 function boolean(rule, value, callback, source, options) {
11186 var errors = [];
11187 var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
11188 if (validate) {
11189 if ((0, _util.isEmptyValue)(value) && !rule.required) {
11190 return callback();
11191 }
11192 _rule2['default'].required(rule, value, source, errors, options);
11193 if (value !== undefined) {
11194 _rule2['default'].type(rule, value, source, errors, options);
11195 }
11196 }
11197 callback(errors);
11198 }
11199
11200 exports['default'] = boolean;
11201 module.exports = exports['default'];
11202
11203/***/ }),
11204/* 180 */
11205/***/ (function(module, exports, __webpack_require__) {
11206
11207 'use strict';
11208
11209 Object.defineProperty(exports, "__esModule", {
11210 value: true
11211 });
11212
11213 var _rule = __webpack_require__(170);
11214
11215 var _rule2 = _interopRequireDefault(_rule);
11216
11217 var _util = __webpack_require__(167);
11218
11219 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
11220
11221 /**
11222 * Validates the regular expression type.
11223 *
11224 * @param rule The validation rule.
11225 * @param value The value of the field on the source object.
11226 * @param callback The callback function.
11227 * @param source The source object being validated.
11228 * @param options The validation options.
11229 * @param options.messages The validation messages.
11230 */
11231 function regexp(rule, value, callback, source, options) {
11232 var errors = [];
11233 var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
11234 if (validate) {
11235 if ((0, _util.isEmptyValue)(value) && !rule.required) {
11236 return callback();
11237 }
11238 _rule2['default'].required(rule, value, source, errors, options);
11239 if (!(0, _util.isEmptyValue)(value)) {
11240 _rule2['default'].type(rule, value, source, errors, options);
11241 }
11242 }
11243 callback(errors);
11244 }
11245
11246 exports['default'] = regexp;
11247 module.exports = exports['default'];
11248
11249/***/ }),
11250/* 181 */
11251/***/ (function(module, exports, __webpack_require__) {
11252
11253 'use strict';
11254
11255 Object.defineProperty(exports, "__esModule", {
11256 value: true
11257 });
11258
11259 var _rule = __webpack_require__(170);
11260
11261 var _rule2 = _interopRequireDefault(_rule);
11262
11263 var _util = __webpack_require__(167);
11264
11265 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
11266
11267 /**
11268 * Validates a number is an integer.
11269 *
11270 * @param rule The validation rule.
11271 * @param value The value of the field on the source object.
11272 * @param callback The callback function.
11273 * @param source The source object being validated.
11274 * @param options The validation options.
11275 * @param options.messages The validation messages.
11276 */
11277 function integer(rule, value, callback, source, options) {
11278 var errors = [];
11279 var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
11280 if (validate) {
11281 if ((0, _util.isEmptyValue)(value) && !rule.required) {
11282 return callback();
11283 }
11284 _rule2['default'].required(rule, value, source, errors, options);
11285 if (value !== undefined) {
11286 _rule2['default'].type(rule, value, source, errors, options);
11287 _rule2['default'].range(rule, value, source, errors, options);
11288 }
11289 }
11290 callback(errors);
11291 }
11292
11293 exports['default'] = integer;
11294 module.exports = exports['default'];
11295
11296/***/ }),
11297/* 182 */
11298/***/ (function(module, exports, __webpack_require__) {
11299
11300 'use strict';
11301
11302 Object.defineProperty(exports, "__esModule", {
11303 value: true
11304 });
11305
11306 var _rule = __webpack_require__(170);
11307
11308 var _rule2 = _interopRequireDefault(_rule);
11309
11310 var _util = __webpack_require__(167);
11311
11312 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
11313
11314 /**
11315 * Validates a number is a floating point number.
11316 *
11317 * @param rule The validation rule.
11318 * @param value The value of the field on the source object.
11319 * @param callback The callback function.
11320 * @param source The source object being validated.
11321 * @param options The validation options.
11322 * @param options.messages The validation messages.
11323 */
11324 function floatFn(rule, value, callback, source, options) {
11325 var errors = [];
11326 var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
11327 if (validate) {
11328 if ((0, _util.isEmptyValue)(value) && !rule.required) {
11329 return callback();
11330 }
11331 _rule2['default'].required(rule, value, source, errors, options);
11332 if (value !== undefined) {
11333 _rule2['default'].type(rule, value, source, errors, options);
11334 _rule2['default'].range(rule, value, source, errors, options);
11335 }
11336 }
11337 callback(errors);
11338 }
11339
11340 exports['default'] = floatFn;
11341 module.exports = exports['default'];
11342
11343/***/ }),
11344/* 183 */
11345/***/ (function(module, exports, __webpack_require__) {
11346
11347 'use strict';
11348
11349 Object.defineProperty(exports, "__esModule", {
11350 value: true
11351 });
11352
11353 var _rule = __webpack_require__(170);
11354
11355 var _rule2 = _interopRequireDefault(_rule);
11356
11357 var _util = __webpack_require__(167);
11358
11359 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
11360
11361 /**
11362 * Validates an array.
11363 *
11364 * @param rule The validation rule.
11365 * @param value The value of the field on the source object.
11366 * @param callback The callback function.
11367 * @param source The source object being validated.
11368 * @param options The validation options.
11369 * @param options.messages The validation messages.
11370 */
11371 function array(rule, value, callback, source, options) {
11372 var errors = [];
11373 var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
11374 if (validate) {
11375 if ((0, _util.isEmptyValue)(value, 'array') && !rule.required) {
11376 return callback();
11377 }
11378 _rule2['default'].required(rule, value, source, errors, options, 'array');
11379 if (!(0, _util.isEmptyValue)(value, 'array')) {
11380 _rule2['default'].type(rule, value, source, errors, options);
11381 _rule2['default'].range(rule, value, source, errors, options);
11382 }
11383 }
11384 callback(errors);
11385 }
11386
11387 exports['default'] = array;
11388 module.exports = exports['default'];
11389
11390/***/ }),
11391/* 184 */
11392/***/ (function(module, exports, __webpack_require__) {
11393
11394 'use strict';
11395
11396 Object.defineProperty(exports, "__esModule", {
11397 value: true
11398 });
11399
11400 var _rule = __webpack_require__(170);
11401
11402 var _rule2 = _interopRequireDefault(_rule);
11403
11404 var _util = __webpack_require__(167);
11405
11406 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
11407
11408 /**
11409 * Validates an object.
11410 *
11411 * @param rule The validation rule.
11412 * @param value The value of the field on the source object.
11413 * @param callback The callback function.
11414 * @param source The source object being validated.
11415 * @param options The validation options.
11416 * @param options.messages The validation messages.
11417 */
11418 function object(rule, value, callback, source, options) {
11419 var errors = [];
11420 var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
11421 if (validate) {
11422 if ((0, _util.isEmptyValue)(value) && !rule.required) {
11423 return callback();
11424 }
11425 _rule2['default'].required(rule, value, source, errors, options);
11426 if (value !== undefined) {
11427 _rule2['default'].type(rule, value, source, errors, options);
11428 }
11429 }
11430 callback(errors);
11431 }
11432
11433 exports['default'] = object;
11434 module.exports = exports['default'];
11435
11436/***/ }),
11437/* 185 */
11438/***/ (function(module, exports, __webpack_require__) {
11439
11440 'use strict';
11441
11442 Object.defineProperty(exports, "__esModule", {
11443 value: true
11444 });
11445
11446 var _rule = __webpack_require__(170);
11447
11448 var _rule2 = _interopRequireDefault(_rule);
11449
11450 var _util = __webpack_require__(167);
11451
11452 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
11453
11454 var ENUM = 'enum';
11455
11456 /**
11457 * Validates an enumerable list.
11458 *
11459 * @param rule The validation rule.
11460 * @param value The value of the field on the source object.
11461 * @param callback The callback function.
11462 * @param source The source object being validated.
11463 * @param options The validation options.
11464 * @param options.messages The validation messages.
11465 */
11466 function enumerable(rule, value, callback, source, options) {
11467 var errors = [];
11468 var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
11469 if (validate) {
11470 if ((0, _util.isEmptyValue)(value) && !rule.required) {
11471 return callback();
11472 }
11473 _rule2['default'].required(rule, value, source, errors, options);
11474 if (value) {
11475 _rule2['default'][ENUM](rule, value, source, errors, options);
11476 }
11477 }
11478 callback(errors);
11479 }
11480
11481 exports['default'] = enumerable;
11482 module.exports = exports['default'];
11483
11484/***/ }),
11485/* 186 */
11486/***/ (function(module, exports, __webpack_require__) {
11487
11488 'use strict';
11489
11490 Object.defineProperty(exports, "__esModule", {
11491 value: true
11492 });
11493
11494 var _rule = __webpack_require__(170);
11495
11496 var _rule2 = _interopRequireDefault(_rule);
11497
11498 var _util = __webpack_require__(167);
11499
11500 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
11501
11502 /**
11503 * Validates a regular expression pattern.
11504 *
11505 * Performs validation when a rule only contains
11506 * a pattern property but is not declared as a string type.
11507 *
11508 * @param rule The validation rule.
11509 * @param value The value of the field on the source object.
11510 * @param callback The callback function.
11511 * @param source The source object being validated.
11512 * @param options The validation options.
11513 * @param options.messages The validation messages.
11514 */
11515 function pattern(rule, value, callback, source, options) {
11516 var errors = [];
11517 var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
11518 if (validate) {
11519 if ((0, _util.isEmptyValue)(value, 'string') && !rule.required) {
11520 return callback();
11521 }
11522 _rule2['default'].required(rule, value, source, errors, options);
11523 if (!(0, _util.isEmptyValue)(value, 'string')) {
11524 _rule2['default'].pattern(rule, value, source, errors, options);
11525 }
11526 }
11527 callback(errors);
11528 }
11529
11530 exports['default'] = pattern;
11531 module.exports = exports['default'];
11532
11533/***/ }),
11534/* 187 */
11535/***/ (function(module, exports, __webpack_require__) {
11536
11537 'use strict';
11538
11539 Object.defineProperty(exports, "__esModule", {
11540 value: true
11541 });
11542
11543 var _rule = __webpack_require__(170);
11544
11545 var _rule2 = _interopRequireDefault(_rule);
11546
11547 var _util = __webpack_require__(167);
11548
11549 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
11550
11551 function date(rule, value, callback, source, options) {
11552 // console.log('integer rule called %j', rule);
11553 var errors = [];
11554 var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
11555 // console.log('validate on %s value', value);
11556 if (validate) {
11557 if ((0, _util.isEmptyValue)(value) && !rule.required) {
11558 return callback();
11559 }
11560 _rule2['default'].required(rule, value, source, errors, options);
11561 if (!(0, _util.isEmptyValue)(value)) {
11562 var dateObject = void 0;
11563
11564 if (typeof value === 'number') {
11565 dateObject = new Date(value);
11566 } else {
11567 dateObject = value;
11568 }
11569
11570 _rule2['default'].type(rule, dateObject, source, errors, options);
11571 if (dateObject) {
11572 _rule2['default'].range(rule, dateObject.getTime(), source, errors, options);
11573 }
11574 }
11575 }
11576 callback(errors);
11577 }
11578
11579 exports['default'] = date;
11580 module.exports = exports['default'];
11581
11582/***/ }),
11583/* 188 */
11584/***/ (function(module, exports, __webpack_require__) {
11585
11586 'use strict';
11587
11588 Object.defineProperty(exports, "__esModule", {
11589 value: true
11590 });
11591
11592 var _typeof2 = __webpack_require__(74);
11593
11594 var _typeof3 = _interopRequireDefault(_typeof2);
11595
11596 var _rule = __webpack_require__(170);
11597
11598 var _rule2 = _interopRequireDefault(_rule);
11599
11600 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
11601
11602 function required(rule, value, callback, source, options) {
11603 var errors = [];
11604 var type = Array.isArray(value) ? 'array' : typeof value === 'undefined' ? 'undefined' : (0, _typeof3['default'])(value);
11605 _rule2['default'].required(rule, value, source, errors, options, type);
11606 callback(errors);
11607 }
11608
11609 exports['default'] = required;
11610 module.exports = exports['default'];
11611
11612/***/ }),
11613/* 189 */
11614/***/ (function(module, exports, __webpack_require__) {
11615
11616 'use strict';
11617
11618 Object.defineProperty(exports, "__esModule", {
11619 value: true
11620 });
11621
11622 var _rule = __webpack_require__(170);
11623
11624 var _rule2 = _interopRequireDefault(_rule);
11625
11626 var _util = __webpack_require__(167);
11627
11628 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
11629
11630 function type(rule, value, callback, source, options) {
11631 var ruleType = rule.type;
11632 var errors = [];
11633 var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
11634 if (validate) {
11635 if ((0, _util.isEmptyValue)(value, ruleType) && !rule.required) {
11636 return callback();
11637 }
11638 _rule2['default'].required(rule, value, source, errors, options, ruleType);
11639 if (!(0, _util.isEmptyValue)(value, ruleType)) {
11640 _rule2['default'].type(rule, value, source, errors, options);
11641 }
11642 }
11643 callback(errors);
11644 }
11645
11646 exports['default'] = type;
11647 module.exports = exports['default'];
11648
11649/***/ }),
11650/* 190 */
11651/***/ (function(module, exports) {
11652
11653 'use strict';
11654
11655 Object.defineProperty(exports, "__esModule", {
11656 value: true
11657 });
11658 exports.newMessages = newMessages;
11659 function newMessages() {
11660 return {
11661 'default': 'Validation error on field %s',
11662 required: '%s is required',
11663 'enum': '%s must be one of %s',
11664 whitespace: '%s cannot be empty',
11665 date: {
11666 format: '%s date %s is invalid for format %s',
11667 parse: '%s date could not be parsed, %s is invalid ',
11668 invalid: '%s date %s is invalid'
11669 },
11670 types: {
11671 string: '%s is not a %s',
11672 method: '%s is not a %s (function)',
11673 array: '%s is not an %s',
11674 object: '%s is not an %s',
11675 number: '%s is not a %s',
11676 date: '%s is not a %s',
11677 boolean: '%s is not a %s',
11678 integer: '%s is not an %s',
11679 float: '%s is not a %s',
11680 regexp: '%s is not a valid %s',
11681 email: '%s is not a valid %s',
11682 url: '%s is not a valid %s',
11683 hex: '%s is not a valid %s'
11684 },
11685 string: {
11686 len: '%s must be exactly %s characters',
11687 min: '%s must be at least %s characters',
11688 max: '%s cannot be longer than %s characters',
11689 range: '%s must be between %s and %s characters'
11690 },
11691 number: {
11692 len: '%s must equal %s',
11693 min: '%s cannot be less than %s',
11694 max: '%s cannot be greater than %s',
11695 range: '%s must be between %s and %s'
11696 },
11697 array: {
11698 len: '%s must be exactly %s in length',
11699 min: '%s cannot be less than %s in length',
11700 max: '%s cannot be greater than %s in length',
11701 range: '%s must be between %s and %s in length'
11702 },
11703 pattern: {
11704 mismatch: '%s value %s does not match pattern %s'
11705 },
11706 clone: function clone() {
11707 var cloned = JSON.parse(JSON.stringify(this));
11708 cloned.clone = this.clone;
11709 return cloned;
11710 }
11711 };
11712 }
11713
11714 var messages = exports.messages = newMessages();
11715
11716/***/ }),
11717/* 191 */
11718/***/ (function(module, exports, __webpack_require__) {
11719
11720 var baseGet = __webpack_require__(192);
11721
11722 /**
11723 * Gets the value at `path` of `object`. If the resolved value is
11724 * `undefined`, the `defaultValue` is returned in its place.
11725 *
11726 * @static
11727 * @memberOf _
11728 * @since 3.7.0
11729 * @category Object
11730 * @param {Object} object The object to query.
11731 * @param {Array|string} path The path of the property to get.
11732 * @param {*} [defaultValue] The value returned for `undefined` resolved values.
11733 * @returns {*} Returns the resolved value.
11734 * @example
11735 *
11736 * var object = { 'a': [{ 'b': { 'c': 3 } }] };
11737 *
11738 * _.get(object, 'a[0].b.c');
11739 * // => 3
11740 *
11741 * _.get(object, ['a', '0', 'b', 'c']);
11742 * // => 3
11743 *
11744 * _.get(object, 'a.b.c', 'default');
11745 * // => 'default'
11746 */
11747 function get(object, path, defaultValue) {
11748 var result = object == null ? undefined : baseGet(object, path);
11749 return result === undefined ? defaultValue : result;
11750 }
11751
11752 module.exports = get;
11753
11754
11755/***/ }),
11756/* 192 */
11757/***/ (function(module, exports, __webpack_require__) {
11758
11759 var castPath = __webpack_require__(193),
11760 toKey = __webpack_require__(242);
11761
11762 /**
11763 * The base implementation of `_.get` without support for default values.
11764 *
11765 * @private
11766 * @param {Object} object The object to query.
11767 * @param {Array|string} path The path of the property to get.
11768 * @returns {*} Returns the resolved value.
11769 */
11770 function baseGet(object, path) {
11771 path = castPath(path, object);
11772
11773 var index = 0,
11774 length = path.length;
11775
11776 while (object != null && index < length) {
11777 object = object[toKey(path[index++])];
11778 }
11779 return (index && index == length) ? object : undefined;
11780 }
11781
11782 module.exports = baseGet;
11783
11784
11785/***/ }),
11786/* 193 */
11787/***/ (function(module, exports, __webpack_require__) {
11788
11789 var isArray = __webpack_require__(194),
11790 isKey = __webpack_require__(195),
11791 stringToPath = __webpack_require__(204),
11792 toString = __webpack_require__(239);
11793
11794 /**
11795 * Casts `value` to a path array if it's not one.
11796 *
11797 * @private
11798 * @param {*} value The value to inspect.
11799 * @param {Object} [object] The object to query keys on.
11800 * @returns {Array} Returns the cast property path array.
11801 */
11802 function castPath(value, object) {
11803 if (isArray(value)) {
11804 return value;
11805 }
11806 return isKey(value, object) ? [value] : stringToPath(toString(value));
11807 }
11808
11809 module.exports = castPath;
11810
11811
11812/***/ }),
11813/* 194 */
11814/***/ (function(module, exports) {
11815
11816 /**
11817 * Checks if `value` is classified as an `Array` object.
11818 *
11819 * @static
11820 * @memberOf _
11821 * @since 0.1.0
11822 * @category Lang
11823 * @param {*} value The value to check.
11824 * @returns {boolean} Returns `true` if `value` is an array, else `false`.
11825 * @example
11826 *
11827 * _.isArray([1, 2, 3]);
11828 * // => true
11829 *
11830 * _.isArray(document.body.children);
11831 * // => false
11832 *
11833 * _.isArray('abc');
11834 * // => false
11835 *
11836 * _.isArray(_.noop);
11837 * // => false
11838 */
11839 var isArray = Array.isArray;
11840
11841 module.exports = isArray;
11842
11843
11844/***/ }),
11845/* 195 */
11846/***/ (function(module, exports, __webpack_require__) {
11847
11848 var isArray = __webpack_require__(194),
11849 isSymbol = __webpack_require__(196);
11850
11851 /** Used to match property names within property paths. */
11852 var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,
11853 reIsPlainProp = /^\w*$/;
11854
11855 /**
11856 * Checks if `value` is a property name and not a property path.
11857 *
11858 * @private
11859 * @param {*} value The value to check.
11860 * @param {Object} [object] The object to query keys on.
11861 * @returns {boolean} Returns `true` if `value` is a property name, else `false`.
11862 */
11863 function isKey(value, object) {
11864 if (isArray(value)) {
11865 return false;
11866 }
11867 var type = typeof value;
11868 if (type == 'number' || type == 'symbol' || type == 'boolean' ||
11869 value == null || isSymbol(value)) {
11870 return true;
11871 }
11872 return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||
11873 (object != null && value in Object(object));
11874 }
11875
11876 module.exports = isKey;
11877
11878
11879/***/ }),
11880/* 196 */
11881/***/ (function(module, exports, __webpack_require__) {
11882
11883 var baseGetTag = __webpack_require__(197),
11884 isObjectLike = __webpack_require__(203);
11885
11886 /** `Object#toString` result references. */
11887 var symbolTag = '[object Symbol]';
11888
11889 /**
11890 * Checks if `value` is classified as a `Symbol` primitive or object.
11891 *
11892 * @static
11893 * @memberOf _
11894 * @since 4.0.0
11895 * @category Lang
11896 * @param {*} value The value to check.
11897 * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.
11898 * @example
11899 *
11900 * _.isSymbol(Symbol.iterator);
11901 * // => true
11902 *
11903 * _.isSymbol('abc');
11904 * // => false
11905 */
11906 function isSymbol(value) {
11907 return typeof value == 'symbol' ||
11908 (isObjectLike(value) && baseGetTag(value) == symbolTag);
11909 }
11910
11911 module.exports = isSymbol;
11912
11913
11914/***/ }),
11915/* 197 */
11916/***/ (function(module, exports, __webpack_require__) {
11917
11918 var Symbol = __webpack_require__(198),
11919 getRawTag = __webpack_require__(201),
11920 objectToString = __webpack_require__(202);
11921
11922 /** `Object#toString` result references. */
11923 var nullTag = '[object Null]',
11924 undefinedTag = '[object Undefined]';
11925
11926 /** Built-in value references. */
11927 var symToStringTag = Symbol ? Symbol.toStringTag : undefined;
11928
11929 /**
11930 * The base implementation of `getTag` without fallbacks for buggy environments.
11931 *
11932 * @private
11933 * @param {*} value The value to query.
11934 * @returns {string} Returns the `toStringTag`.
11935 */
11936 function baseGetTag(value) {
11937 if (value == null) {
11938 return value === undefined ? undefinedTag : nullTag;
11939 }
11940 return (symToStringTag && symToStringTag in Object(value))
11941 ? getRawTag(value)
11942 : objectToString(value);
11943 }
11944
11945 module.exports = baseGetTag;
11946
11947
11948/***/ }),
11949/* 198 */
11950/***/ (function(module, exports, __webpack_require__) {
11951
11952 var root = __webpack_require__(199);
11953
11954 /** Built-in value references. */
11955 var Symbol = root.Symbol;
11956
11957 module.exports = Symbol;
11958
11959
11960/***/ }),
11961/* 199 */
11962/***/ (function(module, exports, __webpack_require__) {
11963
11964 var freeGlobal = __webpack_require__(200);
11965
11966 /** Detect free variable `self`. */
11967 var freeSelf = typeof self == 'object' && self && self.Object === Object && self;
11968
11969 /** Used as a reference to the global object. */
11970 var root = freeGlobal || freeSelf || Function('return this')();
11971
11972 module.exports = root;
11973
11974
11975/***/ }),
11976/* 200 */
11977/***/ (function(module, exports) {
11978
11979 /* WEBPACK VAR INJECTION */(function(global) {/** Detect free variable `global` from Node.js. */
11980 var freeGlobal = typeof global == 'object' && global && global.Object === Object && global;
11981
11982 module.exports = freeGlobal;
11983
11984 /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))
11985
11986/***/ }),
11987/* 201 */
11988/***/ (function(module, exports, __webpack_require__) {
11989
11990 var Symbol = __webpack_require__(198);
11991
11992 /** Used for built-in method references. */
11993 var objectProto = Object.prototype;
11994
11995 /** Used to check objects for own properties. */
11996 var hasOwnProperty = objectProto.hasOwnProperty;
11997
11998 /**
11999 * Used to resolve the
12000 * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
12001 * of values.
12002 */
12003 var nativeObjectToString = objectProto.toString;
12004
12005 /** Built-in value references. */
12006 var symToStringTag = Symbol ? Symbol.toStringTag : undefined;
12007
12008 /**
12009 * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.
12010 *
12011 * @private
12012 * @param {*} value The value to query.
12013 * @returns {string} Returns the raw `toStringTag`.
12014 */
12015 function getRawTag(value) {
12016 var isOwn = hasOwnProperty.call(value, symToStringTag),
12017 tag = value[symToStringTag];
12018
12019 try {
12020 value[symToStringTag] = undefined;
12021 var unmasked = true;
12022 } catch (e) {}
12023
12024 var result = nativeObjectToString.call(value);
12025 if (unmasked) {
12026 if (isOwn) {
12027 value[symToStringTag] = tag;
12028 } else {
12029 delete value[symToStringTag];
12030 }
12031 }
12032 return result;
12033 }
12034
12035 module.exports = getRawTag;
12036
12037
12038/***/ }),
12039/* 202 */
12040/***/ (function(module, exports) {
12041
12042 /** Used for built-in method references. */
12043 var objectProto = Object.prototype;
12044
12045 /**
12046 * Used to resolve the
12047 * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
12048 * of values.
12049 */
12050 var nativeObjectToString = objectProto.toString;
12051
12052 /**
12053 * Converts `value` to a string using `Object.prototype.toString`.
12054 *
12055 * @private
12056 * @param {*} value The value to convert.
12057 * @returns {string} Returns the converted string.
12058 */
12059 function objectToString(value) {
12060 return nativeObjectToString.call(value);
12061 }
12062
12063 module.exports = objectToString;
12064
12065
12066/***/ }),
12067/* 203 */
12068/***/ (function(module, exports) {
12069
12070 /**
12071 * Checks if `value` is object-like. A value is object-like if it's not `null`
12072 * and has a `typeof` result of "object".
12073 *
12074 * @static
12075 * @memberOf _
12076 * @since 4.0.0
12077 * @category Lang
12078 * @param {*} value The value to check.
12079 * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
12080 * @example
12081 *
12082 * _.isObjectLike({});
12083 * // => true
12084 *
12085 * _.isObjectLike([1, 2, 3]);
12086 * // => true
12087 *
12088 * _.isObjectLike(_.noop);
12089 * // => false
12090 *
12091 * _.isObjectLike(null);
12092 * // => false
12093 */
12094 function isObjectLike(value) {
12095 return value != null && typeof value == 'object';
12096 }
12097
12098 module.exports = isObjectLike;
12099
12100
12101/***/ }),
12102/* 204 */
12103/***/ (function(module, exports, __webpack_require__) {
12104
12105 var memoizeCapped = __webpack_require__(205);
12106
12107 /** Used to match property names within property paths. */
12108 var rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;
12109
12110 /** Used to match backslashes in property paths. */
12111 var reEscapeChar = /\\(\\)?/g;
12112
12113 /**
12114 * Converts `string` to a property path array.
12115 *
12116 * @private
12117 * @param {string} string The string to convert.
12118 * @returns {Array} Returns the property path array.
12119 */
12120 var stringToPath = memoizeCapped(function(string) {
12121 var result = [];
12122 if (string.charCodeAt(0) === 46 /* . */) {
12123 result.push('');
12124 }
12125 string.replace(rePropName, function(match, number, quote, subString) {
12126 result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));
12127 });
12128 return result;
12129 });
12130
12131 module.exports = stringToPath;
12132
12133
12134/***/ }),
12135/* 205 */
12136/***/ (function(module, exports, __webpack_require__) {
12137
12138 var memoize = __webpack_require__(206);
12139
12140 /** Used as the maximum memoize cache size. */
12141 var MAX_MEMOIZE_SIZE = 500;
12142
12143 /**
12144 * A specialized version of `_.memoize` which clears the memoized function's
12145 * cache when it exceeds `MAX_MEMOIZE_SIZE`.
12146 *
12147 * @private
12148 * @param {Function} func The function to have its output memoized.
12149 * @returns {Function} Returns the new memoized function.
12150 */
12151 function memoizeCapped(func) {
12152 var result = memoize(func, function(key) {
12153 if (cache.size === MAX_MEMOIZE_SIZE) {
12154 cache.clear();
12155 }
12156 return key;
12157 });
12158
12159 var cache = result.cache;
12160 return result;
12161 }
12162
12163 module.exports = memoizeCapped;
12164
12165
12166/***/ }),
12167/* 206 */
12168/***/ (function(module, exports, __webpack_require__) {
12169
12170 var MapCache = __webpack_require__(207);
12171
12172 /** Error message constants. */
12173 var FUNC_ERROR_TEXT = 'Expected a function';
12174
12175 /**
12176 * Creates a function that memoizes the result of `func`. If `resolver` is
12177 * provided, it determines the cache key for storing the result based on the
12178 * arguments provided to the memoized function. By default, the first argument
12179 * provided to the memoized function is used as the map cache key. The `func`
12180 * is invoked with the `this` binding of the memoized function.
12181 *
12182 * **Note:** The cache is exposed as the `cache` property on the memoized
12183 * function. Its creation may be customized by replacing the `_.memoize.Cache`
12184 * constructor with one whose instances implement the
12185 * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)
12186 * method interface of `clear`, `delete`, `get`, `has`, and `set`.
12187 *
12188 * @static
12189 * @memberOf _
12190 * @since 0.1.0
12191 * @category Function
12192 * @param {Function} func The function to have its output memoized.
12193 * @param {Function} [resolver] The function to resolve the cache key.
12194 * @returns {Function} Returns the new memoized function.
12195 * @example
12196 *
12197 * var object = { 'a': 1, 'b': 2 };
12198 * var other = { 'c': 3, 'd': 4 };
12199 *
12200 * var values = _.memoize(_.values);
12201 * values(object);
12202 * // => [1, 2]
12203 *
12204 * values(other);
12205 * // => [3, 4]
12206 *
12207 * object.a = 2;
12208 * values(object);
12209 * // => [1, 2]
12210 *
12211 * // Modify the result cache.
12212 * values.cache.set(object, ['a', 'b']);
12213 * values(object);
12214 * // => ['a', 'b']
12215 *
12216 * // Replace `_.memoize.Cache`.
12217 * _.memoize.Cache = WeakMap;
12218 */
12219 function memoize(func, resolver) {
12220 if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {
12221 throw new TypeError(FUNC_ERROR_TEXT);
12222 }
12223 var memoized = function() {
12224 var args = arguments,
12225 key = resolver ? resolver.apply(this, args) : args[0],
12226 cache = memoized.cache;
12227
12228 if (cache.has(key)) {
12229 return cache.get(key);
12230 }
12231 var result = func.apply(this, args);
12232 memoized.cache = cache.set(key, result) || cache;
12233 return result;
12234 };
12235 memoized.cache = new (memoize.Cache || MapCache);
12236 return memoized;
12237 }
12238
12239 // Expose `MapCache`.
12240 memoize.Cache = MapCache;
12241
12242 module.exports = memoize;
12243
12244
12245/***/ }),
12246/* 207 */
12247/***/ (function(module, exports, __webpack_require__) {
12248
12249 var mapCacheClear = __webpack_require__(208),
12250 mapCacheDelete = __webpack_require__(233),
12251 mapCacheGet = __webpack_require__(236),
12252 mapCacheHas = __webpack_require__(237),
12253 mapCacheSet = __webpack_require__(238);
12254
12255 /**
12256 * Creates a map cache object to store key-value pairs.
12257 *
12258 * @private
12259 * @constructor
12260 * @param {Array} [entries] The key-value pairs to cache.
12261 */
12262 function MapCache(entries) {
12263 var index = -1,
12264 length = entries == null ? 0 : entries.length;
12265
12266 this.clear();
12267 while (++index < length) {
12268 var entry = entries[index];
12269 this.set(entry[0], entry[1]);
12270 }
12271 }
12272
12273 // Add methods to `MapCache`.
12274 MapCache.prototype.clear = mapCacheClear;
12275 MapCache.prototype['delete'] = mapCacheDelete;
12276 MapCache.prototype.get = mapCacheGet;
12277 MapCache.prototype.has = mapCacheHas;
12278 MapCache.prototype.set = mapCacheSet;
12279
12280 module.exports = MapCache;
12281
12282
12283/***/ }),
12284/* 208 */
12285/***/ (function(module, exports, __webpack_require__) {
12286
12287 var Hash = __webpack_require__(209),
12288 ListCache = __webpack_require__(224),
12289 Map = __webpack_require__(232);
12290
12291 /**
12292 * Removes all key-value entries from the map.
12293 *
12294 * @private
12295 * @name clear
12296 * @memberOf MapCache
12297 */
12298 function mapCacheClear() {
12299 this.size = 0;
12300 this.__data__ = {
12301 'hash': new Hash,
12302 'map': new (Map || ListCache),
12303 'string': new Hash
12304 };
12305 }
12306
12307 module.exports = mapCacheClear;
12308
12309
12310/***/ }),
12311/* 209 */
12312/***/ (function(module, exports, __webpack_require__) {
12313
12314 var hashClear = __webpack_require__(210),
12315 hashDelete = __webpack_require__(220),
12316 hashGet = __webpack_require__(221),
12317 hashHas = __webpack_require__(222),
12318 hashSet = __webpack_require__(223);
12319
12320 /**
12321 * Creates a hash object.
12322 *
12323 * @private
12324 * @constructor
12325 * @param {Array} [entries] The key-value pairs to cache.
12326 */
12327 function Hash(entries) {
12328 var index = -1,
12329 length = entries == null ? 0 : entries.length;
12330
12331 this.clear();
12332 while (++index < length) {
12333 var entry = entries[index];
12334 this.set(entry[0], entry[1]);
12335 }
12336 }
12337
12338 // Add methods to `Hash`.
12339 Hash.prototype.clear = hashClear;
12340 Hash.prototype['delete'] = hashDelete;
12341 Hash.prototype.get = hashGet;
12342 Hash.prototype.has = hashHas;
12343 Hash.prototype.set = hashSet;
12344
12345 module.exports = Hash;
12346
12347
12348/***/ }),
12349/* 210 */
12350/***/ (function(module, exports, __webpack_require__) {
12351
12352 var nativeCreate = __webpack_require__(211);
12353
12354 /**
12355 * Removes all key-value entries from the hash.
12356 *
12357 * @private
12358 * @name clear
12359 * @memberOf Hash
12360 */
12361 function hashClear() {
12362 this.__data__ = nativeCreate ? nativeCreate(null) : {};
12363 this.size = 0;
12364 }
12365
12366 module.exports = hashClear;
12367
12368
12369/***/ }),
12370/* 211 */
12371/***/ (function(module, exports, __webpack_require__) {
12372
12373 var getNative = __webpack_require__(212);
12374
12375 /* Built-in method references that are verified to be native. */
12376 var nativeCreate = getNative(Object, 'create');
12377
12378 module.exports = nativeCreate;
12379
12380
12381/***/ }),
12382/* 212 */
12383/***/ (function(module, exports, __webpack_require__) {
12384
12385 var baseIsNative = __webpack_require__(213),
12386 getValue = __webpack_require__(219);
12387
12388 /**
12389 * Gets the native function at `key` of `object`.
12390 *
12391 * @private
12392 * @param {Object} object The object to query.
12393 * @param {string} key The key of the method to get.
12394 * @returns {*} Returns the function if it's native, else `undefined`.
12395 */
12396 function getNative(object, key) {
12397 var value = getValue(object, key);
12398 return baseIsNative(value) ? value : undefined;
12399 }
12400
12401 module.exports = getNative;
12402
12403
12404/***/ }),
12405/* 213 */
12406/***/ (function(module, exports, __webpack_require__) {
12407
12408 var isFunction = __webpack_require__(214),
12409 isMasked = __webpack_require__(216),
12410 isObject = __webpack_require__(215),
12411 toSource = __webpack_require__(218);
12412
12413 /**
12414 * Used to match `RegExp`
12415 * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).
12416 */
12417 var reRegExpChar = /[\\^$.*+?()[\]{}|]/g;
12418
12419 /** Used to detect host constructors (Safari). */
12420 var reIsHostCtor = /^\[object .+?Constructor\]$/;
12421
12422 /** Used for built-in method references. */
12423 var funcProto = Function.prototype,
12424 objectProto = Object.prototype;
12425
12426 /** Used to resolve the decompiled source of functions. */
12427 var funcToString = funcProto.toString;
12428
12429 /** Used to check objects for own properties. */
12430 var hasOwnProperty = objectProto.hasOwnProperty;
12431
12432 /** Used to detect if a method is native. */
12433 var reIsNative = RegExp('^' +
12434 funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&')
12435 .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$'
12436 );
12437
12438 /**
12439 * The base implementation of `_.isNative` without bad shim checks.
12440 *
12441 * @private
12442 * @param {*} value The value to check.
12443 * @returns {boolean} Returns `true` if `value` is a native function,
12444 * else `false`.
12445 */
12446 function baseIsNative(value) {
12447 if (!isObject(value) || isMasked(value)) {
12448 return false;
12449 }
12450 var pattern = isFunction(value) ? reIsNative : reIsHostCtor;
12451 return pattern.test(toSource(value));
12452 }
12453
12454 module.exports = baseIsNative;
12455
12456
12457/***/ }),
12458/* 214 */
12459/***/ (function(module, exports, __webpack_require__) {
12460
12461 var baseGetTag = __webpack_require__(197),
12462 isObject = __webpack_require__(215);
12463
12464 /** `Object#toString` result references. */
12465 var asyncTag = '[object AsyncFunction]',
12466 funcTag = '[object Function]',
12467 genTag = '[object GeneratorFunction]',
12468 proxyTag = '[object Proxy]';
12469
12470 /**
12471 * Checks if `value` is classified as a `Function` object.
12472 *
12473 * @static
12474 * @memberOf _
12475 * @since 0.1.0
12476 * @category Lang
12477 * @param {*} value The value to check.
12478 * @returns {boolean} Returns `true` if `value` is a function, else `false`.
12479 * @example
12480 *
12481 * _.isFunction(_);
12482 * // => true
12483 *
12484 * _.isFunction(/abc/);
12485 * // => false
12486 */
12487 function isFunction(value) {
12488 if (!isObject(value)) {
12489 return false;
12490 }
12491 // The use of `Object#toString` avoids issues with the `typeof` operator
12492 // in Safari 9 which returns 'object' for typed arrays and other constructors.
12493 var tag = baseGetTag(value);
12494 return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;
12495 }
12496
12497 module.exports = isFunction;
12498
12499
12500/***/ }),
12501/* 215 */
12502/***/ (function(module, exports) {
12503
12504 /**
12505 * Checks if `value` is the
12506 * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
12507 * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
12508 *
12509 * @static
12510 * @memberOf _
12511 * @since 0.1.0
12512 * @category Lang
12513 * @param {*} value The value to check.
12514 * @returns {boolean} Returns `true` if `value` is an object, else `false`.
12515 * @example
12516 *
12517 * _.isObject({});
12518 * // => true
12519 *
12520 * _.isObject([1, 2, 3]);
12521 * // => true
12522 *
12523 * _.isObject(_.noop);
12524 * // => true
12525 *
12526 * _.isObject(null);
12527 * // => false
12528 */
12529 function isObject(value) {
12530 var type = typeof value;
12531 return value != null && (type == 'object' || type == 'function');
12532 }
12533
12534 module.exports = isObject;
12535
12536
12537/***/ }),
12538/* 216 */
12539/***/ (function(module, exports, __webpack_require__) {
12540
12541 var coreJsData = __webpack_require__(217);
12542
12543 /** Used to detect methods masquerading as native. */
12544 var maskSrcKey = (function() {
12545 var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');
12546 return uid ? ('Symbol(src)_1.' + uid) : '';
12547 }());
12548
12549 /**
12550 * Checks if `func` has its source masked.
12551 *
12552 * @private
12553 * @param {Function} func The function to check.
12554 * @returns {boolean} Returns `true` if `func` is masked, else `false`.
12555 */
12556 function isMasked(func) {
12557 return !!maskSrcKey && (maskSrcKey in func);
12558 }
12559
12560 module.exports = isMasked;
12561
12562
12563/***/ }),
12564/* 217 */
12565/***/ (function(module, exports, __webpack_require__) {
12566
12567 var root = __webpack_require__(199);
12568
12569 /** Used to detect overreaching core-js shims. */
12570 var coreJsData = root['__core-js_shared__'];
12571
12572 module.exports = coreJsData;
12573
12574
12575/***/ }),
12576/* 218 */
12577/***/ (function(module, exports) {
12578
12579 /** Used for built-in method references. */
12580 var funcProto = Function.prototype;
12581
12582 /** Used to resolve the decompiled source of functions. */
12583 var funcToString = funcProto.toString;
12584
12585 /**
12586 * Converts `func` to its source code.
12587 *
12588 * @private
12589 * @param {Function} func The function to convert.
12590 * @returns {string} Returns the source code.
12591 */
12592 function toSource(func) {
12593 if (func != null) {
12594 try {
12595 return funcToString.call(func);
12596 } catch (e) {}
12597 try {
12598 return (func + '');
12599 } catch (e) {}
12600 }
12601 return '';
12602 }
12603
12604 module.exports = toSource;
12605
12606
12607/***/ }),
12608/* 219 */
12609/***/ (function(module, exports) {
12610
12611 /**
12612 * Gets the value at `key` of `object`.
12613 *
12614 * @private
12615 * @param {Object} [object] The object to query.
12616 * @param {string} key The key of the property to get.
12617 * @returns {*} Returns the property value.
12618 */
12619 function getValue(object, key) {
12620 return object == null ? undefined : object[key];
12621 }
12622
12623 module.exports = getValue;
12624
12625
12626/***/ }),
12627/* 220 */
12628/***/ (function(module, exports) {
12629
12630 /**
12631 * Removes `key` and its value from the hash.
12632 *
12633 * @private
12634 * @name delete
12635 * @memberOf Hash
12636 * @param {Object} hash The hash to modify.
12637 * @param {string} key The key of the value to remove.
12638 * @returns {boolean} Returns `true` if the entry was removed, else `false`.
12639 */
12640 function hashDelete(key) {
12641 var result = this.has(key) && delete this.__data__[key];
12642 this.size -= result ? 1 : 0;
12643 return result;
12644 }
12645
12646 module.exports = hashDelete;
12647
12648
12649/***/ }),
12650/* 221 */
12651/***/ (function(module, exports, __webpack_require__) {
12652
12653 var nativeCreate = __webpack_require__(211);
12654
12655 /** Used to stand-in for `undefined` hash values. */
12656 var HASH_UNDEFINED = '__lodash_hash_undefined__';
12657
12658 /** Used for built-in method references. */
12659 var objectProto = Object.prototype;
12660
12661 /** Used to check objects for own properties. */
12662 var hasOwnProperty = objectProto.hasOwnProperty;
12663
12664 /**
12665 * Gets the hash value for `key`.
12666 *
12667 * @private
12668 * @name get
12669 * @memberOf Hash
12670 * @param {string} key The key of the value to get.
12671 * @returns {*} Returns the entry value.
12672 */
12673 function hashGet(key) {
12674 var data = this.__data__;
12675 if (nativeCreate) {
12676 var result = data[key];
12677 return result === HASH_UNDEFINED ? undefined : result;
12678 }
12679 return hasOwnProperty.call(data, key) ? data[key] : undefined;
12680 }
12681
12682 module.exports = hashGet;
12683
12684
12685/***/ }),
12686/* 222 */
12687/***/ (function(module, exports, __webpack_require__) {
12688
12689 var nativeCreate = __webpack_require__(211);
12690
12691 /** Used for built-in method references. */
12692 var objectProto = Object.prototype;
12693
12694 /** Used to check objects for own properties. */
12695 var hasOwnProperty = objectProto.hasOwnProperty;
12696
12697 /**
12698 * Checks if a hash value for `key` exists.
12699 *
12700 * @private
12701 * @name has
12702 * @memberOf Hash
12703 * @param {string} key The key of the entry to check.
12704 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
12705 */
12706 function hashHas(key) {
12707 var data = this.__data__;
12708 return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);
12709 }
12710
12711 module.exports = hashHas;
12712
12713
12714/***/ }),
12715/* 223 */
12716/***/ (function(module, exports, __webpack_require__) {
12717
12718 var nativeCreate = __webpack_require__(211);
12719
12720 /** Used to stand-in for `undefined` hash values. */
12721 var HASH_UNDEFINED = '__lodash_hash_undefined__';
12722
12723 /**
12724 * Sets the hash `key` to `value`.
12725 *
12726 * @private
12727 * @name set
12728 * @memberOf Hash
12729 * @param {string} key The key of the value to set.
12730 * @param {*} value The value to set.
12731 * @returns {Object} Returns the hash instance.
12732 */
12733 function hashSet(key, value) {
12734 var data = this.__data__;
12735 this.size += this.has(key) ? 0 : 1;
12736 data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;
12737 return this;
12738 }
12739
12740 module.exports = hashSet;
12741
12742
12743/***/ }),
12744/* 224 */
12745/***/ (function(module, exports, __webpack_require__) {
12746
12747 var listCacheClear = __webpack_require__(225),
12748 listCacheDelete = __webpack_require__(226),
12749 listCacheGet = __webpack_require__(229),
12750 listCacheHas = __webpack_require__(230),
12751 listCacheSet = __webpack_require__(231);
12752
12753 /**
12754 * Creates an list cache object.
12755 *
12756 * @private
12757 * @constructor
12758 * @param {Array} [entries] The key-value pairs to cache.
12759 */
12760 function ListCache(entries) {
12761 var index = -1,
12762 length = entries == null ? 0 : entries.length;
12763
12764 this.clear();
12765 while (++index < length) {
12766 var entry = entries[index];
12767 this.set(entry[0], entry[1]);
12768 }
12769 }
12770
12771 // Add methods to `ListCache`.
12772 ListCache.prototype.clear = listCacheClear;
12773 ListCache.prototype['delete'] = listCacheDelete;
12774 ListCache.prototype.get = listCacheGet;
12775 ListCache.prototype.has = listCacheHas;
12776 ListCache.prototype.set = listCacheSet;
12777
12778 module.exports = ListCache;
12779
12780
12781/***/ }),
12782/* 225 */
12783/***/ (function(module, exports) {
12784
12785 /**
12786 * Removes all key-value entries from the list cache.
12787 *
12788 * @private
12789 * @name clear
12790 * @memberOf ListCache
12791 */
12792 function listCacheClear() {
12793 this.__data__ = [];
12794 this.size = 0;
12795 }
12796
12797 module.exports = listCacheClear;
12798
12799
12800/***/ }),
12801/* 226 */
12802/***/ (function(module, exports, __webpack_require__) {
12803
12804 var assocIndexOf = __webpack_require__(227);
12805
12806 /** Used for built-in method references. */
12807 var arrayProto = Array.prototype;
12808
12809 /** Built-in value references. */
12810 var splice = arrayProto.splice;
12811
12812 /**
12813 * Removes `key` and its value from the list cache.
12814 *
12815 * @private
12816 * @name delete
12817 * @memberOf ListCache
12818 * @param {string} key The key of the value to remove.
12819 * @returns {boolean} Returns `true` if the entry was removed, else `false`.
12820 */
12821 function listCacheDelete(key) {
12822 var data = this.__data__,
12823 index = assocIndexOf(data, key);
12824
12825 if (index < 0) {
12826 return false;
12827 }
12828 var lastIndex = data.length - 1;
12829 if (index == lastIndex) {
12830 data.pop();
12831 } else {
12832 splice.call(data, index, 1);
12833 }
12834 --this.size;
12835 return true;
12836 }
12837
12838 module.exports = listCacheDelete;
12839
12840
12841/***/ }),
12842/* 227 */
12843/***/ (function(module, exports, __webpack_require__) {
12844
12845 var eq = __webpack_require__(228);
12846
12847 /**
12848 * Gets the index at which the `key` is found in `array` of key-value pairs.
12849 *
12850 * @private
12851 * @param {Array} array The array to inspect.
12852 * @param {*} key The key to search for.
12853 * @returns {number} Returns the index of the matched value, else `-1`.
12854 */
12855 function assocIndexOf(array, key) {
12856 var length = array.length;
12857 while (length--) {
12858 if (eq(array[length][0], key)) {
12859 return length;
12860 }
12861 }
12862 return -1;
12863 }
12864
12865 module.exports = assocIndexOf;
12866
12867
12868/***/ }),
12869/* 228 */
12870/***/ (function(module, exports) {
12871
12872 /**
12873 * Performs a
12874 * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
12875 * comparison between two values to determine if they are equivalent.
12876 *
12877 * @static
12878 * @memberOf _
12879 * @since 4.0.0
12880 * @category Lang
12881 * @param {*} value The value to compare.
12882 * @param {*} other The other value to compare.
12883 * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
12884 * @example
12885 *
12886 * var object = { 'a': 1 };
12887 * var other = { 'a': 1 };
12888 *
12889 * _.eq(object, object);
12890 * // => true
12891 *
12892 * _.eq(object, other);
12893 * // => false
12894 *
12895 * _.eq('a', 'a');
12896 * // => true
12897 *
12898 * _.eq('a', Object('a'));
12899 * // => false
12900 *
12901 * _.eq(NaN, NaN);
12902 * // => true
12903 */
12904 function eq(value, other) {
12905 return value === other || (value !== value && other !== other);
12906 }
12907
12908 module.exports = eq;
12909
12910
12911/***/ }),
12912/* 229 */
12913/***/ (function(module, exports, __webpack_require__) {
12914
12915 var assocIndexOf = __webpack_require__(227);
12916
12917 /**
12918 * Gets the list cache value for `key`.
12919 *
12920 * @private
12921 * @name get
12922 * @memberOf ListCache
12923 * @param {string} key The key of the value to get.
12924 * @returns {*} Returns the entry value.
12925 */
12926 function listCacheGet(key) {
12927 var data = this.__data__,
12928 index = assocIndexOf(data, key);
12929
12930 return index < 0 ? undefined : data[index][1];
12931 }
12932
12933 module.exports = listCacheGet;
12934
12935
12936/***/ }),
12937/* 230 */
12938/***/ (function(module, exports, __webpack_require__) {
12939
12940 var assocIndexOf = __webpack_require__(227);
12941
12942 /**
12943 * Checks if a list cache value for `key` exists.
12944 *
12945 * @private
12946 * @name has
12947 * @memberOf ListCache
12948 * @param {string} key The key of the entry to check.
12949 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
12950 */
12951 function listCacheHas(key) {
12952 return assocIndexOf(this.__data__, key) > -1;
12953 }
12954
12955 module.exports = listCacheHas;
12956
12957
12958/***/ }),
12959/* 231 */
12960/***/ (function(module, exports, __webpack_require__) {
12961
12962 var assocIndexOf = __webpack_require__(227);
12963
12964 /**
12965 * Sets the list cache `key` to `value`.
12966 *
12967 * @private
12968 * @name set
12969 * @memberOf ListCache
12970 * @param {string} key The key of the value to set.
12971 * @param {*} value The value to set.
12972 * @returns {Object} Returns the list cache instance.
12973 */
12974 function listCacheSet(key, value) {
12975 var data = this.__data__,
12976 index = assocIndexOf(data, key);
12977
12978 if (index < 0) {
12979 ++this.size;
12980 data.push([key, value]);
12981 } else {
12982 data[index][1] = value;
12983 }
12984 return this;
12985 }
12986
12987 module.exports = listCacheSet;
12988
12989
12990/***/ }),
12991/* 232 */
12992/***/ (function(module, exports, __webpack_require__) {
12993
12994 var getNative = __webpack_require__(212),
12995 root = __webpack_require__(199);
12996
12997 /* Built-in method references that are verified to be native. */
12998 var Map = getNative(root, 'Map');
12999
13000 module.exports = Map;
13001
13002
13003/***/ }),
13004/* 233 */
13005/***/ (function(module, exports, __webpack_require__) {
13006
13007 var getMapData = __webpack_require__(234);
13008
13009 /**
13010 * Removes `key` and its value from the map.
13011 *
13012 * @private
13013 * @name delete
13014 * @memberOf MapCache
13015 * @param {string} key The key of the value to remove.
13016 * @returns {boolean} Returns `true` if the entry was removed, else `false`.
13017 */
13018 function mapCacheDelete(key) {
13019 var result = getMapData(this, key)['delete'](key);
13020 this.size -= result ? 1 : 0;
13021 return result;
13022 }
13023
13024 module.exports = mapCacheDelete;
13025
13026
13027/***/ }),
13028/* 234 */
13029/***/ (function(module, exports, __webpack_require__) {
13030
13031 var isKeyable = __webpack_require__(235);
13032
13033 /**
13034 * Gets the data for `map`.
13035 *
13036 * @private
13037 * @param {Object} map The map to query.
13038 * @param {string} key The reference key.
13039 * @returns {*} Returns the map data.
13040 */
13041 function getMapData(map, key) {
13042 var data = map.__data__;
13043 return isKeyable(key)
13044 ? data[typeof key == 'string' ? 'string' : 'hash']
13045 : data.map;
13046 }
13047
13048 module.exports = getMapData;
13049
13050
13051/***/ }),
13052/* 235 */
13053/***/ (function(module, exports) {
13054
13055 /**
13056 * Checks if `value` is suitable for use as unique object key.
13057 *
13058 * @private
13059 * @param {*} value The value to check.
13060 * @returns {boolean} Returns `true` if `value` is suitable, else `false`.
13061 */
13062 function isKeyable(value) {
13063 var type = typeof value;
13064 return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')
13065 ? (value !== '__proto__')
13066 : (value === null);
13067 }
13068
13069 module.exports = isKeyable;
13070
13071
13072/***/ }),
13073/* 236 */
13074/***/ (function(module, exports, __webpack_require__) {
13075
13076 var getMapData = __webpack_require__(234);
13077
13078 /**
13079 * Gets the map value for `key`.
13080 *
13081 * @private
13082 * @name get
13083 * @memberOf MapCache
13084 * @param {string} key The key of the value to get.
13085 * @returns {*} Returns the entry value.
13086 */
13087 function mapCacheGet(key) {
13088 return getMapData(this, key).get(key);
13089 }
13090
13091 module.exports = mapCacheGet;
13092
13093
13094/***/ }),
13095/* 237 */
13096/***/ (function(module, exports, __webpack_require__) {
13097
13098 var getMapData = __webpack_require__(234);
13099
13100 /**
13101 * Checks if a map value for `key` exists.
13102 *
13103 * @private
13104 * @name has
13105 * @memberOf MapCache
13106 * @param {string} key The key of the entry to check.
13107 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
13108 */
13109 function mapCacheHas(key) {
13110 return getMapData(this, key).has(key);
13111 }
13112
13113 module.exports = mapCacheHas;
13114
13115
13116/***/ }),
13117/* 238 */
13118/***/ (function(module, exports, __webpack_require__) {
13119
13120 var getMapData = __webpack_require__(234);
13121
13122 /**
13123 * Sets the map `key` to `value`.
13124 *
13125 * @private
13126 * @name set
13127 * @memberOf MapCache
13128 * @param {string} key The key of the value to set.
13129 * @param {*} value The value to set.
13130 * @returns {Object} Returns the map cache instance.
13131 */
13132 function mapCacheSet(key, value) {
13133 var data = getMapData(this, key),
13134 size = data.size;
13135
13136 data.set(key, value);
13137 this.size += data.size == size ? 0 : 1;
13138 return this;
13139 }
13140
13141 module.exports = mapCacheSet;
13142
13143
13144/***/ }),
13145/* 239 */
13146/***/ (function(module, exports, __webpack_require__) {
13147
13148 var baseToString = __webpack_require__(240);
13149
13150 /**
13151 * Converts `value` to a string. An empty string is returned for `null`
13152 * and `undefined` values. The sign of `-0` is preserved.
13153 *
13154 * @static
13155 * @memberOf _
13156 * @since 4.0.0
13157 * @category Lang
13158 * @param {*} value The value to convert.
13159 * @returns {string} Returns the converted string.
13160 * @example
13161 *
13162 * _.toString(null);
13163 * // => ''
13164 *
13165 * _.toString(-0);
13166 * // => '-0'
13167 *
13168 * _.toString([1, 2, 3]);
13169 * // => '1,2,3'
13170 */
13171 function toString(value) {
13172 return value == null ? '' : baseToString(value);
13173 }
13174
13175 module.exports = toString;
13176
13177
13178/***/ }),
13179/* 240 */
13180/***/ (function(module, exports, __webpack_require__) {
13181
13182 var Symbol = __webpack_require__(198),
13183 arrayMap = __webpack_require__(241),
13184 isArray = __webpack_require__(194),
13185 isSymbol = __webpack_require__(196);
13186
13187 /** Used as references for various `Number` constants. */
13188 var INFINITY = 1 / 0;
13189
13190 /** Used to convert symbols to primitives and strings. */
13191 var symbolProto = Symbol ? Symbol.prototype : undefined,
13192 symbolToString = symbolProto ? symbolProto.toString : undefined;
13193
13194 /**
13195 * The base implementation of `_.toString` which doesn't convert nullish
13196 * values to empty strings.
13197 *
13198 * @private
13199 * @param {*} value The value to process.
13200 * @returns {string} Returns the string.
13201 */
13202 function baseToString(value) {
13203 // Exit early for strings to avoid a performance hit in some environments.
13204 if (typeof value == 'string') {
13205 return value;
13206 }
13207 if (isArray(value)) {
13208 // Recursively convert values (susceptible to call stack limits).
13209 return arrayMap(value, baseToString) + '';
13210 }
13211 if (isSymbol(value)) {
13212 return symbolToString ? symbolToString.call(value) : '';
13213 }
13214 var result = (value + '');
13215 return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;
13216 }
13217
13218 module.exports = baseToString;
13219
13220
13221/***/ }),
13222/* 241 */
13223/***/ (function(module, exports) {
13224
13225 /**
13226 * A specialized version of `_.map` for arrays without support for iteratee
13227 * shorthands.
13228 *
13229 * @private
13230 * @param {Array} [array] The array to iterate over.
13231 * @param {Function} iteratee The function invoked per iteration.
13232 * @returns {Array} Returns the new mapped array.
13233 */
13234 function arrayMap(array, iteratee) {
13235 var index = -1,
13236 length = array == null ? 0 : array.length,
13237 result = Array(length);
13238
13239 while (++index < length) {
13240 result[index] = iteratee(array[index], index, array);
13241 }
13242 return result;
13243 }
13244
13245 module.exports = arrayMap;
13246
13247
13248/***/ }),
13249/* 242 */
13250/***/ (function(module, exports, __webpack_require__) {
13251
13252 var isSymbol = __webpack_require__(196);
13253
13254 /** Used as references for various `Number` constants. */
13255 var INFINITY = 1 / 0;
13256
13257 /**
13258 * Converts `value` to a string key if it's not a string or symbol.
13259 *
13260 * @private
13261 * @param {*} value The value to inspect.
13262 * @returns {string|symbol} Returns the key.
13263 */
13264 function toKey(value) {
13265 if (typeof value == 'string' || isSymbol(value)) {
13266 return value;
13267 }
13268 var result = (value + '');
13269 return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;
13270 }
13271
13272 module.exports = toKey;
13273
13274
13275/***/ }),
13276/* 243 */
13277/***/ (function(module, exports, __webpack_require__) {
13278
13279 var baseSet = __webpack_require__(244);
13280
13281 /**
13282 * Sets the value at `path` of `object`. If a portion of `path` doesn't exist,
13283 * it's created. Arrays are created for missing index properties while objects
13284 * are created for all other missing properties. Use `_.setWith` to customize
13285 * `path` creation.
13286 *
13287 * **Note:** This method mutates `object`.
13288 *
13289 * @static
13290 * @memberOf _
13291 * @since 3.7.0
13292 * @category Object
13293 * @param {Object} object The object to modify.
13294 * @param {Array|string} path The path of the property to set.
13295 * @param {*} value The value to set.
13296 * @returns {Object} Returns `object`.
13297 * @example
13298 *
13299 * var object = { 'a': [{ 'b': { 'c': 3 } }] };
13300 *
13301 * _.set(object, 'a[0].b.c', 4);
13302 * console.log(object.a[0].b.c);
13303 * // => 4
13304 *
13305 * _.set(object, ['x', '0', 'y', 'z'], 5);
13306 * console.log(object.x[0].y.z);
13307 * // => 5
13308 */
13309 function set(object, path, value) {
13310 return object == null ? object : baseSet(object, path, value);
13311 }
13312
13313 module.exports = set;
13314
13315
13316/***/ }),
13317/* 244 */
13318/***/ (function(module, exports, __webpack_require__) {
13319
13320 var assignValue = __webpack_require__(245),
13321 castPath = __webpack_require__(193),
13322 isIndex = __webpack_require__(248),
13323 isObject = __webpack_require__(215),
13324 toKey = __webpack_require__(242);
13325
13326 /**
13327 * The base implementation of `_.set`.
13328 *
13329 * @private
13330 * @param {Object} object The object to modify.
13331 * @param {Array|string} path The path of the property to set.
13332 * @param {*} value The value to set.
13333 * @param {Function} [customizer] The function to customize path creation.
13334 * @returns {Object} Returns `object`.
13335 */
13336 function baseSet(object, path, value, customizer) {
13337 if (!isObject(object)) {
13338 return object;
13339 }
13340 path = castPath(path, object);
13341
13342 var index = -1,
13343 length = path.length,
13344 lastIndex = length - 1,
13345 nested = object;
13346
13347 while (nested != null && ++index < length) {
13348 var key = toKey(path[index]),
13349 newValue = value;
13350
13351 if (index != lastIndex) {
13352 var objValue = nested[key];
13353 newValue = customizer ? customizer(objValue, key, nested) : undefined;
13354 if (newValue === undefined) {
13355 newValue = isObject(objValue)
13356 ? objValue
13357 : (isIndex(path[index + 1]) ? [] : {});
13358 }
13359 }
13360 assignValue(nested, key, newValue);
13361 nested = nested[key];
13362 }
13363 return object;
13364 }
13365
13366 module.exports = baseSet;
13367
13368
13369/***/ }),
13370/* 245 */
13371/***/ (function(module, exports, __webpack_require__) {
13372
13373 var baseAssignValue = __webpack_require__(246),
13374 eq = __webpack_require__(228);
13375
13376 /** Used for built-in method references. */
13377 var objectProto = Object.prototype;
13378
13379 /** Used to check objects for own properties. */
13380 var hasOwnProperty = objectProto.hasOwnProperty;
13381
13382 /**
13383 * Assigns `value` to `key` of `object` if the existing value is not equivalent
13384 * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
13385 * for equality comparisons.
13386 *
13387 * @private
13388 * @param {Object} object The object to modify.
13389 * @param {string} key The key of the property to assign.
13390 * @param {*} value The value to assign.
13391 */
13392 function assignValue(object, key, value) {
13393 var objValue = object[key];
13394 if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||
13395 (value === undefined && !(key in object))) {
13396 baseAssignValue(object, key, value);
13397 }
13398 }
13399
13400 module.exports = assignValue;
13401
13402
13403/***/ }),
13404/* 246 */
13405/***/ (function(module, exports, __webpack_require__) {
13406
13407 var defineProperty = __webpack_require__(247);
13408
13409 /**
13410 * The base implementation of `assignValue` and `assignMergeValue` without
13411 * value checks.
13412 *
13413 * @private
13414 * @param {Object} object The object to modify.
13415 * @param {string} key The key of the property to assign.
13416 * @param {*} value The value to assign.
13417 */
13418 function baseAssignValue(object, key, value) {
13419 if (key == '__proto__' && defineProperty) {
13420 defineProperty(object, key, {
13421 'configurable': true,
13422 'enumerable': true,
13423 'value': value,
13424 'writable': true
13425 });
13426 } else {
13427 object[key] = value;
13428 }
13429 }
13430
13431 module.exports = baseAssignValue;
13432
13433
13434/***/ }),
13435/* 247 */
13436/***/ (function(module, exports, __webpack_require__) {
13437
13438 var getNative = __webpack_require__(212);
13439
13440 var defineProperty = (function() {
13441 try {
13442 var func = getNative(Object, 'defineProperty');
13443 func({}, '', {});
13444 return func;
13445 } catch (e) {}
13446 }());
13447
13448 module.exports = defineProperty;
13449
13450
13451/***/ }),
13452/* 248 */
13453/***/ (function(module, exports) {
13454
13455 /** Used as references for various `Number` constants. */
13456 var MAX_SAFE_INTEGER = 9007199254740991;
13457
13458 /** Used to detect unsigned integer values. */
13459 var reIsUint = /^(?:0|[1-9]\d*)$/;
13460
13461 /**
13462 * Checks if `value` is a valid array-like index.
13463 *
13464 * @private
13465 * @param {*} value The value to check.
13466 * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.
13467 * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.
13468 */
13469 function isIndex(value, length) {
13470 var type = typeof value;
13471 length = length == null ? MAX_SAFE_INTEGER : length;
13472
13473 return !!length &&
13474 (type == 'number' ||
13475 (type != 'symbol' && reIsUint.test(value))) &&
13476 (value > -1 && value % 1 == 0 && value < length);
13477 }
13478
13479 module.exports = isIndex;
13480
13481
13482/***/ }),
13483/* 249 */
13484/***/ (function(module, exports, __webpack_require__) {
13485
13486 'use strict';
13487
13488 Object.defineProperty(exports, "__esModule", {
13489 value: true
13490 });
13491
13492 var _defineProperty2 = __webpack_require__(141);
13493
13494 var _defineProperty3 = _interopRequireDefault(_defineProperty2);
13495
13496 var _extends2 = __webpack_require__(145);
13497
13498 var _extends3 = _interopRequireDefault(_extends2);
13499
13500 var _classCallCheck2 = __webpack_require__(250);
13501
13502 var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
13503
13504 var _createClass2 = __webpack_require__(251);
13505
13506 var _createClass3 = _interopRequireDefault(_createClass2);
13507
13508 exports['default'] = createFieldsStore;
13509
13510 var _set = __webpack_require__(243);
13511
13512 var _set2 = _interopRequireDefault(_set);
13513
13514 var _createFormField = __webpack_require__(252);
13515
13516 var _createFormField2 = _interopRequireDefault(_createFormField);
13517
13518 var _utils = __webpack_require__(253);
13519
13520 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
13521
13522 function partOf(a, b) {
13523 return b.indexOf(a) === 0 && ['.', '['].indexOf(b[a.length]) !== -1;
13524 }
13525
13526 var FieldsStore = function () {
13527 function FieldsStore(fields) {
13528 (0, _classCallCheck3['default'])(this, FieldsStore);
13529
13530 _initialiseProps.call(this);
13531
13532 this.fields = this.flattenFields(fields);
13533 this.fieldsMeta = {};
13534 }
13535
13536 (0, _createClass3['default'])(FieldsStore, [{
13537 key: 'updateFields',
13538 value: function updateFields(fields) {
13539 this.fields = this.flattenFields(fields);
13540 }
13541 }, {
13542 key: 'flattenFields',
13543 value: function flattenFields(fields) {
13544 return (0, _utils.flattenFields)(fields, function (_, node) {
13545 return (0, _createFormField.isFormField)(node);
13546 }, 'You must wrap field data with `createFormField`.');
13547 }
13548 }, {
13549 key: 'flattenRegisteredFields',
13550 value: function flattenRegisteredFields(fields) {
13551 var validFieldsName = this.getAllFieldsName();
13552 return (0, _utils.flattenFields)(fields, function (path) {
13553 return validFieldsName.indexOf(path) >= 0;
13554 }, 'You cannot set field before registering it.');
13555 }
13556 }, {
13557 key: 'setFields',
13558 value: function setFields(fields) {
13559 var _this = this;
13560
13561 var fieldsMeta = this.fieldsMeta;
13562 var nowFields = (0, _extends3['default'])({}, this.fields, fields);
13563 var nowValues = {};
13564 Object.keys(fieldsMeta).forEach(function (f) {
13565 return nowValues[f] = _this.getValueFromFields(f, nowFields);
13566 });
13567 Object.keys(nowValues).forEach(function (f) {
13568 var value = nowValues[f];
13569 var fieldMeta = _this.getFieldMeta(f);
13570 if (fieldMeta && fieldMeta.normalize) {
13571 var nowValue = fieldMeta.normalize(value, _this.getValueFromFields(f, _this.fields), nowValues);
13572 if (nowValue !== value) {
13573 nowFields[f] = (0, _extends3['default'])({}, nowFields[f], {
13574 value: nowValue
13575 });
13576 }
13577 }
13578 });
13579 this.fields = nowFields;
13580 }
13581 }, {
13582 key: 'resetFields',
13583 value: function resetFields(ns) {
13584 var fields = this.fields;
13585
13586 var names = ns ? this.getValidFieldsFullName(ns) : this.getAllFieldsName();
13587 return names.reduce(function (acc, name) {
13588 var field = fields[name];
13589 if (field && 'value' in field) {
13590 acc[name] = {};
13591 }
13592 return acc;
13593 }, {});
13594 }
13595 }, {
13596 key: 'setFieldMeta',
13597 value: function setFieldMeta(name, meta) {
13598 this.fieldsMeta[name] = meta;
13599 }
13600 }, {
13601 key: 'getFieldMeta',
13602 value: function getFieldMeta(name) {
13603 this.fieldsMeta[name] = this.fieldsMeta[name] || {};
13604 return this.fieldsMeta[name];
13605 }
13606 }, {
13607 key: 'getValueFromFields',
13608 value: function getValueFromFields(name, fields) {
13609 var field = fields[name];
13610 if (field && 'value' in field) {
13611 return field.value;
13612 }
13613 var fieldMeta = this.getFieldMeta(name);
13614 return fieldMeta && fieldMeta.initialValue;
13615 }
13616 }, {
13617 key: 'getValidFieldsName',
13618 value: function getValidFieldsName() {
13619 var _this2 = this;
13620
13621 var fieldsMeta = this.fieldsMeta;
13622
13623 return fieldsMeta ? Object.keys(fieldsMeta).filter(function (name) {
13624 return !_this2.getFieldMeta(name).hidden;
13625 }) : [];
13626 }
13627 }, {
13628 key: 'getAllFieldsName',
13629 value: function getAllFieldsName() {
13630 var fieldsMeta = this.fieldsMeta;
13631
13632 return fieldsMeta ? Object.keys(fieldsMeta) : [];
13633 }
13634 }, {
13635 key: 'getValidFieldsFullName',
13636 value: function getValidFieldsFullName(maybePartialName) {
13637 var maybePartialNames = Array.isArray(maybePartialName) ? maybePartialName : [maybePartialName];
13638 return this.getValidFieldsName().filter(function (fullName) {
13639 return maybePartialNames.some(function (partialName) {
13640 return fullName === partialName || (0, _utils.startsWith)(fullName, partialName) && ['.', '['].indexOf(fullName[partialName.length]) >= 0;
13641 });
13642 });
13643 }
13644 }, {
13645 key: 'getFieldValuePropValue',
13646 value: function getFieldValuePropValue(fieldMeta) {
13647 var name = fieldMeta.name,
13648 getValueProps = fieldMeta.getValueProps,
13649 valuePropName = fieldMeta.valuePropName;
13650
13651 var field = this.getField(name);
13652 var fieldValue = 'value' in field ? field.value : fieldMeta.initialValue;
13653 if (getValueProps) {
13654 return getValueProps(fieldValue);
13655 }
13656 return (0, _defineProperty3['default'])({}, valuePropName, fieldValue);
13657 }
13658 }, {
13659 key: 'getField',
13660 value: function getField(name) {
13661 return (0, _extends3['default'])({}, this.fields[name], {
13662 name: name
13663 });
13664 }
13665 }, {
13666 key: 'getNotCollectedFields',
13667 value: function getNotCollectedFields() {
13668 var _this3 = this;
13669
13670 return this.getValidFieldsName().filter(function (name) {
13671 return !_this3.fields[name];
13672 }).map(function (name) {
13673 return {
13674 name: name,
13675 dirty: false,
13676 value: _this3.getFieldMeta(name).initialValue
13677 };
13678 }).reduce(function (acc, field) {
13679 return (0, _set2['default'])(acc, field.name, (0, _createFormField2['default'])(field));
13680 }, {});
13681 }
13682 }, {
13683 key: 'getNestedAllFields',
13684 value: function getNestedAllFields() {
13685 var _this4 = this;
13686
13687 return Object.keys(this.fields).reduce(function (acc, name) {
13688 return (0, _set2['default'])(acc, name, (0, _createFormField2['default'])(_this4.fields[name]));
13689 }, this.getNotCollectedFields());
13690 }
13691 }, {
13692 key: 'getFieldMember',
13693 value: function getFieldMember(name, member) {
13694 return this.getField(name)[member];
13695 }
13696 }, {
13697 key: 'getNestedFields',
13698 value: function getNestedFields(names, getter) {
13699 var fields = names || this.getValidFieldsName();
13700 return fields.reduce(function (acc, f) {
13701 return (0, _set2['default'])(acc, f, getter(f));
13702 }, {});
13703 }
13704 }, {
13705 key: 'getNestedField',
13706 value: function getNestedField(name, getter) {
13707 var fullNames = this.getValidFieldsFullName(name);
13708 if (fullNames.length === 0 || // Not registered
13709 fullNames.length === 1 && fullNames[0] === name // Name already is full name.
13710 ) {
13711 return getter(name);
13712 }
13713 var isArrayValue = fullNames[0][name.length] === '[';
13714 var suffixNameStartIndex = isArrayValue ? name.length : name.length + 1;
13715 return fullNames.reduce(function (acc, fullName) {
13716 return (0, _set2['default'])(acc, fullName.slice(suffixNameStartIndex), getter(fullName));
13717 }, isArrayValue ? [] : {});
13718 }
13719 }, {
13720 key: 'isValidNestedFieldName',
13721
13722
13723 // @private
13724 // BG: `a` and `a.b` cannot be use in the same form
13725 value: function isValidNestedFieldName(name) {
13726 var names = this.getAllFieldsName();
13727 return names.every(function (n) {
13728 return !partOf(n, name) && !partOf(name, n);
13729 });
13730 }
13731 }, {
13732 key: 'clearField',
13733 value: function clearField(name) {
13734 delete this.fields[name];
13735 delete this.fieldsMeta[name];
13736 }
13737 }]);
13738 return FieldsStore;
13739 }();
13740
13741 var _initialiseProps = function _initialiseProps() {
13742 var _this5 = this;
13743
13744 this.setFieldsInitialValue = function (initialValues) {
13745 var flattenedInitialValues = _this5.flattenRegisteredFields(initialValues);
13746 var fieldsMeta = _this5.fieldsMeta;
13747 Object.keys(flattenedInitialValues).forEach(function (name) {
13748 if (fieldsMeta[name]) {
13749 _this5.setFieldMeta(name, (0, _extends3['default'])({}, _this5.getFieldMeta(name), {
13750 initialValue: flattenedInitialValues[name]
13751 }));
13752 }
13753 });
13754 };
13755
13756 this.getAllValues = function () {
13757 var fieldsMeta = _this5.fieldsMeta,
13758 fields = _this5.fields;
13759
13760 return Object.keys(fieldsMeta).reduce(function (acc, name) {
13761 return (0, _set2['default'])(acc, name, _this5.getValueFromFields(name, fields));
13762 }, {});
13763 };
13764
13765 this.getFieldsValue = function (names) {
13766 return _this5.getNestedFields(names, _this5.getFieldValue);
13767 };
13768
13769 this.getFieldValue = function (name) {
13770 var fields = _this5.fields;
13771
13772 return _this5.getNestedField(name, function (fullName) {
13773 return _this5.getValueFromFields(fullName, fields);
13774 });
13775 };
13776
13777 this.getFieldsError = function (names) {
13778 return _this5.getNestedFields(names, _this5.getFieldError);
13779 };
13780
13781 this.getFieldError = function (name) {
13782 return _this5.getNestedField(name, function (fullName) {
13783 return (0, _utils.getErrorStrs)(_this5.getFieldMember(fullName, 'errors'));
13784 });
13785 };
13786
13787 this.isFieldValidating = function (name) {
13788 return _this5.getFieldMember(name, 'validating');
13789 };
13790
13791 this.isFieldsValidating = function (ns) {
13792 var names = ns || _this5.getValidFieldsName();
13793 return names.some(function (n) {
13794 return _this5.isFieldValidating(n);
13795 });
13796 };
13797
13798 this.isFieldTouched = function (name) {
13799 return _this5.getFieldMember(name, 'touched');
13800 };
13801
13802 this.isFieldsTouched = function (ns) {
13803 var names = ns || _this5.getValidFieldsName();
13804 return names.some(function (n) {
13805 return _this5.isFieldTouched(n);
13806 });
13807 };
13808 };
13809
13810 function createFieldsStore(fields) {
13811 return new FieldsStore(fields);
13812 }
13813 module.exports = exports['default'];
13814
13815/***/ }),
13816/* 250 */
13817/***/ (function(module, exports) {
13818
13819 "use strict";
13820
13821 exports.__esModule = true;
13822
13823 exports.default = function (instance, Constructor) {
13824 if (!(instance instanceof Constructor)) {
13825 throw new TypeError("Cannot call a class as a function");
13826 }
13827 };
13828
13829/***/ }),
13830/* 251 */
13831/***/ (function(module, exports, __webpack_require__) {
13832
13833 "use strict";
13834
13835 exports.__esModule = true;
13836
13837 var _defineProperty = __webpack_require__(142);
13838
13839 var _defineProperty2 = _interopRequireDefault(_defineProperty);
13840
13841 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13842
13843 exports.default = function () {
13844 function defineProperties(target, props) {
13845 for (var i = 0; i < props.length; i++) {
13846 var descriptor = props[i];
13847 descriptor.enumerable = descriptor.enumerable || false;
13848 descriptor.configurable = true;
13849 if ("value" in descriptor) descriptor.writable = true;
13850 (0, _defineProperty2.default)(target, descriptor.key, descriptor);
13851 }
13852 }
13853
13854 return function (Constructor, protoProps, staticProps) {
13855 if (protoProps) defineProperties(Constructor.prototype, protoProps);
13856 if (staticProps) defineProperties(Constructor, staticProps);
13857 return Constructor;
13858 };
13859 }();
13860
13861/***/ }),
13862/* 252 */
13863/***/ (function(module, exports, __webpack_require__) {
13864
13865 "use strict";
13866
13867 Object.defineProperty(exports, "__esModule", {
13868 value: true
13869 });
13870
13871 var _extends2 = __webpack_require__(145);
13872
13873 var _extends3 = _interopRequireDefault(_extends2);
13874
13875 var _classCallCheck2 = __webpack_require__(250);
13876
13877 var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
13878
13879 exports.isFormField = isFormField;
13880 exports["default"] = createFormField;
13881
13882 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
13883
13884 var Field = function Field(fields) {
13885 (0, _classCallCheck3["default"])(this, Field);
13886
13887 (0, _extends3["default"])(this, fields);
13888 };
13889
13890 function isFormField(obj) {
13891 return obj instanceof Field;
13892 }
13893
13894 function createFormField(field) {
13895 if (isFormField(field)) {
13896 return field;
13897 }
13898 return new Field(field);
13899 }
13900
13901/***/ }),
13902/* 253 */
13903/***/ (function(module, exports, __webpack_require__) {
13904
13905 'use strict';
13906
13907 Object.defineProperty(exports, "__esModule", {
13908 value: true
13909 });
13910
13911 var _extends2 = __webpack_require__(145);
13912
13913 var _extends3 = _interopRequireDefault(_extends2);
13914
13915 var _typeof2 = __webpack_require__(74);
13916
13917 var _typeof3 = _interopRequireDefault(_typeof2);
13918
13919 exports.argumentContainer = argumentContainer;
13920 exports.identity = identity;
13921 exports.flattenArray = flattenArray;
13922 exports.treeTraverse = treeTraverse;
13923 exports.flattenFields = flattenFields;
13924 exports.normalizeValidateRules = normalizeValidateRules;
13925 exports.getValidateTriggers = getValidateTriggers;
13926 exports.getValueFromEvent = getValueFromEvent;
13927 exports.getErrorStrs = getErrorStrs;
13928 exports.getParams = getParams;
13929 exports.isEmptyObject = isEmptyObject;
13930 exports.hasRules = hasRules;
13931 exports.startsWith = startsWith;
13932
13933 var _hoistNonReactStatics = __webpack_require__(254);
13934
13935 var _hoistNonReactStatics2 = _interopRequireDefault(_hoistNonReactStatics);
13936
13937 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
13938
13939 function getDisplayName(WrappedComponent) {
13940 return WrappedComponent.displayName || WrappedComponent.name || 'WrappedComponent';
13941 }
13942
13943 function argumentContainer(Container, WrappedComponent) {
13944 /* eslint no-param-reassign:0 */
13945 Container.displayName = 'Form(' + getDisplayName(WrappedComponent) + ')';
13946 Container.WrappedComponent = WrappedComponent;
13947 return (0, _hoistNonReactStatics2['default'])(Container, WrappedComponent);
13948 }
13949
13950 function identity(obj) {
13951 return obj;
13952 }
13953
13954 function flattenArray(arr) {
13955 return Array.prototype.concat.apply([], arr);
13956 }
13957
13958 function treeTraverse() {
13959 var path = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
13960 var tree = arguments[1];
13961 var isLeafNode = arguments[2];
13962 var errorMessage = arguments[3];
13963 var callback = arguments[4];
13964
13965 if (isLeafNode(path, tree)) {
13966 callback(path, tree);
13967 } else if (tree === undefined || tree === null) {
13968 return;
13969 } else if (Array.isArray(tree)) {
13970 tree.forEach(function (subTree, index) {
13971 return treeTraverse(path + '[' + index + ']', subTree, isLeafNode, errorMessage, callback);
13972 });
13973 } else {
13974 // It's object and not a leaf node
13975 if ((typeof tree === 'undefined' ? 'undefined' : (0, _typeof3['default'])(tree)) !== 'object') {
13976 console.error(errorMessage);
13977 return;
13978 }
13979 Object.keys(tree).forEach(function (subTreeKey) {
13980 var subTree = tree[subTreeKey];
13981 treeTraverse('' + path + (path ? '.' : '') + subTreeKey, subTree, isLeafNode, errorMessage, callback);
13982 });
13983 }
13984 }
13985
13986 function flattenFields(maybeNestedFields, isLeafNode, errorMessage) {
13987 var fields = {};
13988 treeTraverse(undefined, maybeNestedFields, isLeafNode, errorMessage, function (path, node) {
13989 fields[path] = node;
13990 });
13991 return fields;
13992 }
13993
13994 function normalizeValidateRules(validate, rules, validateTrigger) {
13995 var validateRules = validate.map(function (item) {
13996 var newItem = (0, _extends3['default'])({}, item, {
13997 trigger: item.trigger || []
13998 });
13999 if (typeof newItem.trigger === 'string') {
14000 newItem.trigger = [newItem.trigger];
14001 }
14002 return newItem;
14003 });
14004 if (rules) {
14005 validateRules.push({
14006 trigger: validateTrigger ? [].concat(validateTrigger) : [],
14007 rules: rules
14008 });
14009 }
14010 return validateRules;
14011 }
14012
14013 function getValidateTriggers(validateRules) {
14014 return validateRules.filter(function (item) {
14015 return !!item.rules && item.rules.length;
14016 }).map(function (item) {
14017 return item.trigger;
14018 }).reduce(function (pre, curr) {
14019 return pre.concat(curr);
14020 }, []);
14021 }
14022
14023 function getValueFromEvent(e) {
14024 // To support custom element
14025 if (!e || !e.target) {
14026 return e;
14027 }
14028 var target = e.target;
14029
14030 return target.type === 'checkbox' ? target.checked : target.value;
14031 }
14032
14033 function getErrorStrs(errors) {
14034 if (errors) {
14035 return errors.map(function (e) {
14036 if (e && e.message) {
14037 return e.message;
14038 }
14039 return e;
14040 });
14041 }
14042 return errors;
14043 }
14044
14045 function getParams(ns, opt, cb) {
14046 var names = ns;
14047 var options = opt;
14048 var callback = cb;
14049 if (cb === undefined) {
14050 if (typeof names === 'function') {
14051 callback = names;
14052 options = {};
14053 names = undefined;
14054 } else if (Array.isArray(names)) {
14055 if (typeof options === 'function') {
14056 callback = options;
14057 options = {};
14058 } else {
14059 options = options || {};
14060 }
14061 } else {
14062 callback = options;
14063 options = names || {};
14064 names = undefined;
14065 }
14066 }
14067 return {
14068 names: names,
14069 options: options,
14070 callback: callback
14071 };
14072 }
14073
14074 function isEmptyObject(obj) {
14075 return Object.keys(obj).length === 0;
14076 }
14077
14078 function hasRules(validate) {
14079 if (validate) {
14080 return validate.some(function (item) {
14081 return item.rules && item.rules.length;
14082 });
14083 }
14084 return false;
14085 }
14086
14087 function startsWith(str, prefix) {
14088 return str.lastIndexOf(prefix, 0) === 0;
14089 }
14090
14091/***/ }),
14092/* 254 */
14093/***/ (function(module, exports) {
14094
14095 'use strict';
14096
14097 /**
14098 * Copyright 2015, Yahoo! Inc.
14099 * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.
14100 */
14101 var REACT_STATICS = {
14102 childContextTypes: true,
14103 contextTypes: true,
14104 defaultProps: true,
14105 displayName: true,
14106 getDefaultProps: true,
14107 getDerivedStateFromProps: true,
14108 mixins: true,
14109 propTypes: true,
14110 type: true
14111 };
14112
14113 var KNOWN_STATICS = {
14114 name: true,
14115 length: true,
14116 prototype: true,
14117 caller: true,
14118 callee: true,
14119 arguments: true,
14120 arity: true
14121 };
14122
14123 var defineProperty = Object.defineProperty;
14124 var getOwnPropertyNames = Object.getOwnPropertyNames;
14125 var getOwnPropertySymbols = Object.getOwnPropertySymbols;
14126 var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
14127 var getPrototypeOf = Object.getPrototypeOf;
14128 var objectPrototype = getPrototypeOf && getPrototypeOf(Object);
14129
14130 function hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {
14131 if (typeof sourceComponent !== 'string') { // don't hoist over string (html) components
14132
14133 if (objectPrototype) {
14134 var inheritedComponent = getPrototypeOf(sourceComponent);
14135 if (inheritedComponent && inheritedComponent !== objectPrototype) {
14136 hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);
14137 }
14138 }
14139
14140 var keys = getOwnPropertyNames(sourceComponent);
14141
14142 if (getOwnPropertySymbols) {
14143 keys = keys.concat(getOwnPropertySymbols(sourceComponent));
14144 }
14145
14146 for (var i = 0; i < keys.length; ++i) {
14147 var key = keys[i];
14148 if (!REACT_STATICS[key] && !KNOWN_STATICS[key] && (!blacklist || !blacklist[key])) {
14149 var descriptor = getOwnPropertyDescriptor(sourceComponent, key);
14150 try { // Avoid failures from read-only properties
14151 defineProperty(targetComponent, key, descriptor);
14152 } catch (e) {}
14153 }
14154 }
14155
14156 return targetComponent;
14157 }
14158
14159 return targetComponent;
14160 }
14161
14162 module.exports = hoistNonReactStatics;
14163
14164
14165/***/ }),
14166/* 255 */
14167/***/ (function(module, exports, __webpack_require__) {
14168
14169 'use strict';
14170
14171 Object.defineProperty(exports, "__esModule", {
14172 value: true
14173 });
14174
14175 var _propTypes = __webpack_require__(5);
14176
14177 var _propTypes2 = _interopRequireDefault(_propTypes);
14178
14179 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
14180
14181 var formShape = _propTypes2['default'].shape({
14182 getFieldsValue: _propTypes2['default'].func,
14183 getFieldValue: _propTypes2['default'].func,
14184 getFieldInstance: _propTypes2['default'].func,
14185 setFieldsValue: _propTypes2['default'].func,
14186 setFields: _propTypes2['default'].func,
14187 setFieldsInitialValue: _propTypes2['default'].func,
14188 getFieldDecorator: _propTypes2['default'].func,
14189 getFieldProps: _propTypes2['default'].func,
14190 getFieldsError: _propTypes2['default'].func,
14191 getFieldError: _propTypes2['default'].func,
14192 isFieldValidating: _propTypes2['default'].func,
14193 isFieldsValidating: _propTypes2['default'].func,
14194 isFieldsTouched: _propTypes2['default'].func,
14195 isFieldTouched: _propTypes2['default'].func,
14196 isSubmitting: _propTypes2['default'].func,
14197 submit: _propTypes2['default'].func,
14198 validateFields: _propTypes2['default'].func,
14199 resetFields: _propTypes2['default'].func
14200 });
14201
14202 exports['default'] = formShape;
14203 module.exports = exports['default'];
14204
14205/***/ }),
14206/* 256 */
14207/***/ (function(module, exports, __webpack_require__) {
14208
14209 'use strict';
14210
14211 Object.defineProperty(exports, "__esModule", {
14212 value: true
14213 });
14214
14215 var _react = __webpack_require__(4);
14216
14217 var _react2 = _interopRequireDefault(_react);
14218
14219 var _reactDom = __webpack_require__(12);
14220
14221 var _reactDom2 = _interopRequireDefault(_reactDom);
14222
14223 var _propTypes = __webpack_require__(5);
14224
14225 var _propTypes2 = _interopRequireDefault(_propTypes);
14226
14227 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
14228
14229 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; }
14230
14231 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
14232
14233 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; }
14234
14235 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); }
14236
14237 var propTypes = {
14238 prefixCls: _propTypes2['default'].string
14239 };
14240 var defaultProps = {
14241 prefixCls: 'u-form'
14242 };
14243
14244 var FormItem = function (_Component) {
14245 _inherits(FormItem, _Component);
14246
14247 function FormItem(props) {
14248 _classCallCheck(this, FormItem);
14249
14250 return _possibleConstructorReturn(this, _Component.call(this, props));
14251 }
14252
14253 FormItem.prototype.render = function render() {
14254 var _props = this.props,
14255 children = _props.children,
14256 _props$className = _props.className,
14257 className = _props$className === undefined ? '' : _props$className,
14258 prefixCls = _props.prefixCls,
14259 style = _props.style;
14260
14261 return _react2['default'].createElement(
14262 'div',
14263 { className: prefixCls + '-item' + ' ' + className, style: style },
14264 children
14265 );
14266 };
14267
14268 return FormItem;
14269 }(_react.Component);
14270
14271 ;
14272 FormItem.propTypes = propTypes;
14273 FormItem.defaultProps = defaultProps;
14274 exports['default'] = FormItem;
14275 module.exports = exports['default'];
14276
14277/***/ }),
14278/* 257 */
14279/***/ (function(module, exports, __webpack_require__) {
14280
14281 'use strict';
14282
14283 Object.defineProperty(exports, "__esModule", {
14284 value: true
14285 });
14286
14287 var _FormControl = __webpack_require__(258);
14288
14289 var _FormControl2 = _interopRequireDefault(_FormControl);
14290
14291 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
14292
14293 exports["default"] = _FormControl2["default"];
14294 module.exports = exports['default'];
14295
14296/***/ }),
14297/* 258 */
14298/***/ (function(module, exports, __webpack_require__) {
14299
14300 'use strict';
14301
14302 Object.defineProperty(exports, "__esModule", {
14303 value: true
14304 });
14305
14306 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; };
14307
14308 var _react = __webpack_require__(4);
14309
14310 var _react2 = _interopRequireDefault(_react);
14311
14312 var _classnames = __webpack_require__(3);
14313
14314 var _classnames2 = _interopRequireDefault(_classnames);
14315
14316 var _beeIcon = __webpack_require__(259);
14317
14318 var _beeIcon2 = _interopRequireDefault(_beeIcon);
14319
14320 var _propTypes = __webpack_require__(5);
14321
14322 var _propTypes2 = _interopRequireDefault(_propTypes);
14323
14324 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
14325
14326 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; }
14327
14328 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; }
14329
14330 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
14331
14332 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; }
14333
14334 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); }
14335
14336 var propTypes = {
14337 componentClass: _propTypes2["default"].oneOfType([_propTypes2["default"].element, _propTypes2["default"].string]),
14338 type: _propTypes2["default"].string,
14339 size: _propTypes2["default"].oneOf(['sm', 'md', 'lg']),
14340 onSearch: _propTypes2["default"].func,
14341 onChange: _propTypes2["default"].func,
14342 onBlur: _propTypes2["default"].func,
14343 showClose: _propTypes2["default"].bool,
14344 showPop: _propTypes2["default"].bool
14345 };
14346
14347 var defaultProps = {
14348 componentClass: 'input',
14349 clsPrefix: 'u-form-control',
14350 type: 'text',
14351 size: 'md',
14352 showClose: false,
14353 showPop: false
14354 };
14355
14356 var FormControl = function (_React$Component) {
14357 _inherits(FormControl, _React$Component);
14358
14359 function FormControl(props) {
14360 _classCallCheck(this, FormControl);
14361
14362 var _this = _possibleConstructorReturn(this, _React$Component.call(this, props));
14363
14364 _this.handleSearchChange = function (e) {
14365 var onChange = _this.props.onChange;
14366
14367 var value = _this.input.value;
14368 _this.setState({
14369 value: value,
14370 showSearch: value == null || value === ""
14371 });
14372 if (onChange) {
14373 onChange(value, e);
14374 }
14375 };
14376
14377 _this.handleChange = function (e) {
14378 var onChange = _this.props.onChange;
14379
14380 var value = _this.input.value;
14381 _this.setState({
14382 showClose: true
14383 });
14384 if (onChange) {
14385 onChange(value, e);
14386 }
14387 };
14388
14389 _this.clearValue = function () {
14390 var onChange = _this.props.onChange;
14391
14392 _this.setState({
14393 showSearch: true,
14394 value: "",
14395 showClose: false
14396 });
14397 if (onChange) {
14398 onChange("");
14399 }
14400 _this.input.focus();
14401 };
14402
14403 _this.handleKeyDown = function (e) {
14404 var _this$props = _this.props,
14405 onSearch = _this$props.onSearch,
14406 value = _this$props.value,
14407 type = _this$props.type;
14408
14409 if (e.keyCode === 13 && type === "search") {
14410 if (onSearch) {
14411 onSearch(value);
14412 }
14413 }
14414 };
14415
14416 _this.handleBlur = function (e) {
14417 var value = _this.state.value;
14418 var onBlur = _this.props.onBlur;
14419
14420
14421 if (onBlur) {
14422 onBlur(value, e);
14423 }
14424 };
14425
14426 _this.handleFocus = function (e) {
14427 var value = _this.state.value;
14428 var onFocus = _this.props.onFocus;
14429
14430 if (onFocus) {
14431 onFocus(value, e);
14432 }
14433 };
14434
14435 _this.handleClick = function (e) {
14436 alert();
14437 };
14438
14439 _this.renderInput = function () {
14440 var _this$props2 = _this.props,
14441 Component = _this$props2.componentClass,
14442 type = _this$props2.type,
14443 className = _this$props2.className,
14444 size = _this$props2.size,
14445 clsPrefix = _this$props2.clsPrefix,
14446 value = _this$props2.value,
14447 onChange = _this$props2.onChange,
14448 onSearch = _this$props2.onSearch,
14449 onBlur = _this$props2.onBlur,
14450 others = _objectWithoutProperties(_this$props2, ['componentClass', 'type', 'className', 'size', 'clsPrefix', 'value', 'onChange', 'onSearch', 'onBlur']);
14451 // input[type="file"] 不应该有类名 .form-control.
14452
14453
14454 var classes = {};
14455 if (size) {
14456 classes['' + size] = true;
14457 }
14458
14459 var classNames = void 0;
14460 if (type !== 'file') {
14461 classNames = (0, _classnames2["default"])(clsPrefix, classes);
14462 }
14463
14464 return _this.props.showClose ? _react2["default"].createElement(
14465 'div',
14466 { className: (0, _classnames2["default"])(clsPrefix + '-close', clsPrefix + '-affix-wrapper', className) },
14467 _react2["default"].createElement(Component, _extends({}, others, {
14468 type: type,
14469 ref: function ref(el) {
14470 return _this.input = el;
14471 },
14472 value: value,
14473 onChange: _this.handleChange,
14474 onBlur: _this.handleBlur,
14475 onFocus: _this.handleFocus,
14476 className: (0, _classnames2["default"])(className, classNames)
14477 })),
14478 _react2["default"].createElement(
14479 'div',
14480 { className: clsPrefix + '-suffix' },
14481 _this.state.showClose ? _react2["default"].createElement(_beeIcon2["default"], { onClick: _this.clearValue, type: 'uf-close-c' }) : ''
14482 )
14483 ) : _react2["default"].createElement(Component, _extends({}, others, {
14484 type: type,
14485 ref: function ref(el) {
14486 return _this.input = el;
14487 },
14488 value: value,
14489 onChange: _this.handleChange,
14490 onBlur: _this.handleBlur,
14491 className: (0, _classnames2["default"])(className, classNames)
14492 }));
14493 };
14494
14495 _this.renderSearch = function () {
14496 var _this$props3 = _this.props,
14497 Component = _this$props3.componentClass,
14498 type = _this$props3.type,
14499 className = _this$props3.className,
14500 size = _this$props3.size,
14501 clsPrefix = _this$props3.clsPrefix,
14502 value = _this$props3.value,
14503 onChange = _this$props3.onChange,
14504 onSearch = _this$props3.onSearch,
14505 onBlur = _this$props3.onBlur,
14506 others = _objectWithoutProperties(_this$props3, ['componentClass', 'type', 'className', 'size', 'clsPrefix', 'value', 'onChange', 'onSearch', 'onBlur']);
14507 // input[type="file"] 不应该有类名 .form-control.
14508
14509
14510 var classes = {};
14511 if (size) {
14512 classes['' + size] = true;
14513 }
14514 classes[clsPrefix + '-search'] = true;
14515
14516 if (type === "search") {
14517 return _react2["default"].createElement(
14518 'div',
14519 { className: (0, _classnames2["default"])(clsPrefix + '-search', clsPrefix + '-affix-wrapper', className) },
14520 _react2["default"].createElement(Component, _extends({}, others, {
14521 type: type,
14522 ref: function ref(el) {
14523 return _this.input = el;
14524 },
14525 onChange: _this.handleSearchChange,
14526 value: value,
14527 onKeyDown: _this.handleKeyDown,
14528 onBlur: _this.handleBlur,
14529 className: (0, _classnames2["default"])(className, clsPrefix, classes)
14530 })),
14531 _react2["default"].createElement(
14532 'div',
14533 { className: clsPrefix + '-suffix' },
14534 _this.state.showSearch || others.disabled ? _react2["default"].createElement(_beeIcon2["default"], { type: 'uf-search' }) : _react2["default"].createElement(_beeIcon2["default"], { onClick: _this.clearValue, type: 'uf-close-c' })
14535 )
14536 );
14537 }
14538 };
14539
14540 _this.state = {
14541 showSearch: !props.value,
14542 value: props.value == null ? "" : props.value,
14543 showClose: false
14544 };
14545 _this.input = {};
14546 return _this;
14547 }
14548
14549 FormControl.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProp) {
14550 if (nextProp.value !== this.state.value) {
14551 this.setState({ value: nextProp.value });
14552 }
14553 };
14554
14555 FormControl.prototype.render = function render() {
14556
14557 if (this.props.type === "search") {
14558 return this.renderSearch();
14559 }
14560
14561 return this.renderInput();
14562 };
14563
14564 return FormControl;
14565 }(_react2["default"].Component);
14566
14567 FormControl.propTypes = propTypes;
14568 FormControl.defaultProps = defaultProps;
14569
14570 exports["default"] = FormControl;
14571 module.exports = exports['default'];
14572
14573/***/ }),
14574/* 259 */
14575/***/ (function(module, exports, __webpack_require__) {
14576
14577 'use strict';
14578
14579 Object.defineProperty(exports, "__esModule", {
14580 value: true
14581 });
14582
14583 var _Icon = __webpack_require__(260);
14584
14585 var _Icon2 = _interopRequireDefault(_Icon);
14586
14587 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
14588
14589 exports["default"] = _Icon2["default"];
14590 module.exports = exports['default'];
14591
14592/***/ }),
14593/* 260 */
14594/***/ (function(module, exports, __webpack_require__) {
14595
14596 'use strict';
14597
14598 Object.defineProperty(exports, "__esModule", {
14599 value: true
14600 });
14601
14602 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; };
14603
14604 var _react = __webpack_require__(4);
14605
14606 var _react2 = _interopRequireDefault(_react);
14607
14608 var _classnames = __webpack_require__(3);
14609
14610 var _classnames2 = _interopRequireDefault(_classnames);
14611
14612 var _propTypes = __webpack_require__(5);
14613
14614 var _propTypes2 = _interopRequireDefault(_propTypes);
14615
14616 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
14617
14618 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; }
14619
14620 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; }
14621
14622 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
14623
14624 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; }
14625
14626 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); }
14627
14628 var propTypes = {
14629 type: _propTypes2["default"].string
14630
14631 };
14632 /**
14633 * badge 默认显示内容1
14634 */
14635 var defaultProps = {
14636 clsPrefix: 'uf'
14637 };
14638
14639 var Icon = function (_Component) {
14640 _inherits(Icon, _Component);
14641
14642 function Icon(props) {
14643 _classCallCheck(this, Icon);
14644
14645 return _possibleConstructorReturn(this, _Component.call(this, props));
14646 }
14647
14648 Icon.prototype.render = function render() {
14649 var _props = this.props,
14650 type = _props.type,
14651 className = _props.className,
14652 clsPrefix = _props.clsPrefix,
14653 others = _objectWithoutProperties(_props, ['type', 'className', 'clsPrefix']);
14654
14655 var clsObj = {};
14656
14657 var classNames = (0, _classnames2["default"])(clsPrefix, type);
14658
14659 return _react2["default"].createElement('i', _extends({}, others, { className: (0, _classnames2["default"])(classNames, className) }));
14660 };
14661
14662 return Icon;
14663 }(_react.Component);
14664
14665 Icon.defaultProps = defaultProps;
14666 Icon.propTypes = propTypes;
14667
14668 exports["default"] = Icon;
14669 module.exports = exports['default'];
14670
14671/***/ }),
14672/* 261 */
14673/***/ (function(module, exports, __webpack_require__) {
14674
14675 'use strict';
14676
14677 Object.defineProperty(exports, "__esModule", {
14678 value: true
14679 });
14680
14681 var _Label = __webpack_require__(262);
14682
14683 var _Label2 = _interopRequireDefault(_Label);
14684
14685 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
14686
14687 exports["default"] = _Label2["default"];
14688 module.exports = exports['default'];
14689
14690/***/ }),
14691/* 262 */
14692/***/ (function(module, exports, __webpack_require__) {
14693
14694 'use strict';
14695
14696 Object.defineProperty(exports, "__esModule", {
14697 value: true
14698 });
14699
14700 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; };
14701
14702 var _react = __webpack_require__(4);
14703
14704 var _react2 = _interopRequireDefault(_react);
14705
14706 var _reactDom = __webpack_require__(12);
14707
14708 var _reactDom2 = _interopRequireDefault(_reactDom);
14709
14710 var _classnames = __webpack_require__(3);
14711
14712 var _classnames2 = _interopRequireDefault(_classnames);
14713
14714 var _propTypes = __webpack_require__(5);
14715
14716 var _propTypes2 = _interopRequireDefault(_propTypes);
14717
14718 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
14719
14720 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; }
14721
14722 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; }
14723
14724 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
14725
14726 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; }
14727
14728 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); }
14729
14730 var defaultProps = {
14731 clsPrefix: 'u-label'
14732 };
14733
14734 var Label = function (_Component) {
14735 _inherits(Label, _Component);
14736
14737 function Label() {
14738 _classCallCheck(this, Label);
14739
14740 return _possibleConstructorReturn(this, _Component.apply(this, arguments));
14741 }
14742
14743 Label.prototype.render = function render() {
14744 var _props = this.props,
14745 className = _props.className,
14746 children = _props.children,
14747 clsPrefix = _props.clsPrefix,
14748 others = _objectWithoutProperties(_props, ['className', 'children', 'clsPrefix']);
14749
14750 var classNames = (0, _classnames2["default"])(clsPrefix, className);
14751
14752 return _react2["default"].createElement(
14753 'label',
14754 _extends({}, others, {
14755 className: classNames
14756 }),
14757 children
14758 );
14759 };
14760
14761 return Label;
14762 }(_react.Component);
14763
14764 Label.defaultProps = defaultProps;
14765
14766 exports["default"] = Label;
14767 module.exports = exports['default'];
14768
14769/***/ }),
14770/* 263 */
14771/***/ (function(module, exports, __webpack_require__) {
14772
14773 'use strict';
14774
14775 Object.defineProperty(exports, "__esModule", {
14776 value: true
14777 });
14778
14779 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; };
14780
14781 var _react = __webpack_require__(4);
14782
14783 var _react2 = _interopRequireDefault(_react);
14784
14785 var _reactDom = __webpack_require__(12);
14786
14787 var _reactDom2 = _interopRequireDefault(_reactDom);
14788
14789 var _src = __webpack_require__(68);
14790
14791 var _src2 = _interopRequireDefault(_src);
14792
14793 var _beeFormControl = __webpack_require__(257);
14794
14795 var _beeFormControl2 = _interopRequireDefault(_beeFormControl);
14796
14797 var _beeLabel = __webpack_require__(261);
14798
14799 var _beeLabel2 = _interopRequireDefault(_beeLabel);
14800
14801 var _beeButton = __webpack_require__(65);
14802
14803 var _beeButton2 = _interopRequireDefault(_beeButton);
14804
14805 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
14806
14807 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; }
14808
14809 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
14810
14811 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; }
14812
14813 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); } /**
14814 *
14815 * @title 基本form校验
14816 * @description 登录示例
14817 */
14818
14819
14820 var FormItem = _src2['default'].FormItem;
14821
14822 var Demo2 = _src2['default'].createForm()(function (_Component) {
14823 _inherits(Demo2, _Component);
14824
14825 function Demo2() {
14826 var _temp, _this, _ret;
14827
14828 _classCallCheck(this, Demo2);
14829
14830 for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
14831 args[_key] = arguments[_key];
14832 }
14833
14834 return _ret = (_temp = (_this = _possibleConstructorReturn(this, _Component.call.apply(_Component, [this].concat(args))), _this), _this.submit = function (e) {
14835 e.preventDefault();
14836 _this.props.form.validateFields(function (err, values) {
14837 if (err) {
14838 console.log('校验失败', values);
14839 } else {
14840 console.log('提交成功', values);
14841 }
14842 });
14843 }, _temp), _possibleConstructorReturn(_this, _ret);
14844 }
14845
14846 Demo2.prototype.render = function render() {
14847 var _props$form = this.props.form,
14848 getFieldProps = _props$form.getFieldProps,
14849 getFieldError = _props$form.getFieldError;
14850
14851 return _react2['default'].createElement(
14852 'div',
14853 { className: 'demo2' },
14854 _react2['default'].createElement(
14855 _src2['default'],
14856 null,
14857 _react2['default'].createElement(
14858 FormItem,
14859 null,
14860 _react2['default'].createElement(
14861 _beeLabel2['default'],
14862 null,
14863 '\u7528\u6237\u540D\uFF1A'
14864 ),
14865 _react2['default'].createElement(_beeFormControl2['default'], _extends({ placeholder: '\u8BF7\u8F93\u5165\u7528\u6237\u540D'
14866 }, getFieldProps('username', {
14867 validateTrigger: 'onBlur',
14868 rules: [{
14869 required: true, message: '请输入用户名'
14870 }]
14871 }))),
14872 _react2['default'].createElement(
14873 'span',
14874 { className: 'error' },
14875 getFieldError('username')
14876 )
14877 ),
14878 _react2['default'].createElement(
14879 FormItem,
14880 null,
14881 _react2['default'].createElement(
14882 _beeLabel2['default'],
14883 null,
14884 '\u5BC6\u7801\uFF1A'
14885 ),
14886 _react2['default'].createElement(_beeFormControl2['default'], _extends({ placeholder: '\u8BF7\u8F93\u5165\u5BC6\u7801', type: 'password'
14887 }, getFieldProps('password', {
14888 validateTrigger: 'onBlur',
14889 rules: [{
14890 required: true, message: '请输入密码'
14891 }]
14892 }))),
14893 _react2['default'].createElement(
14894 'span',
14895 { className: 'error' },
14896 getFieldError('password')
14897 )
14898 ),
14899 _react2['default'].createElement(
14900 'div',
14901 { className: 'submit' },
14902 _react2['default'].createElement(
14903 _beeButton2['default'],
14904 { colors: 'primary', className: 'login', onClick: this.submit },
14905 '\u767B\u9646'
14906 ),
14907 _react2['default'].createElement(
14908 _beeButton2['default'],
14909 { shape: 'border', className: 'reset' },
14910 '\u53D6\u6D88'
14911 )
14912 )
14913 )
14914 );
14915 };
14916
14917 return Demo2;
14918 }(_react.Component));
14919 exports['default'] = Demo2;
14920 module.exports = exports['default'];
14921
14922/***/ }),
14923/* 264 */
14924/***/ (function(module, exports, __webpack_require__) {
14925
14926 'use strict';
14927
14928 Object.defineProperty(exports, "__esModule", {
14929 value: true
14930 });
14931
14932 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; };
14933
14934 var _react = __webpack_require__(4);
14935
14936 var _react2 = _interopRequireDefault(_react);
14937
14938 var _src = __webpack_require__(68);
14939
14940 var _src2 = _interopRequireDefault(_src);
14941
14942 var _beeFormControl = __webpack_require__(257);
14943
14944 var _beeFormControl2 = _interopRequireDefault(_beeFormControl);
14945
14946 var _beeButton = __webpack_require__(65);
14947
14948 var _beeButton2 = _interopRequireDefault(_beeButton);
14949
14950 var _beeCheckbox = __webpack_require__(265);
14951
14952 var _beeCheckbox2 = _interopRequireDefault(_beeCheckbox);
14953
14954 var _beeLabel = __webpack_require__(261);
14955
14956 var _beeLabel2 = _interopRequireDefault(_beeLabel);
14957
14958 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
14959
14960 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; }
14961
14962 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
14963
14964 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; }
14965
14966 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); } /**
14967 *
14968 * @title 基本form校验
14969 * @description 注册示例
14970 */
14971
14972
14973 var FormItem = _src2['default'].FormItem;
14974
14975
14976 var Demo3 = _src2['default'].createForm()(function (_Component) {
14977 _inherits(Demo, _Component);
14978
14979 function Demo(props) {
14980 _classCallCheck(this, Demo);
14981
14982 var _this = _possibleConstructorReturn(this, _Component.call(this, props));
14983
14984 _this.submit = function (e) {
14985 e.preventDefault();
14986 _this.props.form.validateFields(function (err, values) {
14987 if (err) {
14988 console.log('校验失败', values);
14989 } else {
14990 console.log('提交成功', values);
14991 }
14992 });
14993 };
14994
14995 _this.handleConfirmPassword = function (rule, value, callback) {
14996 var getFieldValue = _this.props.form.getFieldValue;
14997
14998 if (value && value !== getFieldValue('password')) {
14999 callback('两次输入不一致!');
15000 }
15001 callback();
15002 };
15003
15004 _this.state = {
15005 checkbox: false
15006 };
15007 return _this;
15008 }
15009
15010 Demo.prototype.render = function render() {
15011 var self = this;
15012 var _props$form = this.props.form,
15013 getFieldProps = _props$form.getFieldProps,
15014 getFieldError = _props$form.getFieldError;
15015
15016 return _react2['default'].createElement(
15017 'div',
15018 { className: 'demo3' },
15019 _react2['default'].createElement(
15020 _src2['default'],
15021 null,
15022 _react2['default'].createElement(
15023 FormItem,
15024 null,
15025 _react2['default'].createElement(
15026 _beeLabel2['default'],
15027 null,
15028 '\u7528\u6237\u540D\uFF1A'
15029 ),
15030 _react2['default'].createElement(_beeFormControl2['default'], _extends({ placeholder: '\u8BF7\u8F93\u5165\u7528\u6237\u540D(\u5305\u542B\u6570\u5B57\u548C\u5B57\u6BCD\uFF0C8-15\u4F4D)'
15031 }, getFieldProps('username', {
15032 validateTrigger: 'onBlur',
15033 rules: [{
15034 required: true, message: '请输入用户名'
15035 }, {
15036 pattern: /^(?!\d+$)(?![a-zA-Z]+$)[a-zA-Z0-9]{8,15}$/, message: '用户名格式错误'
15037 }]
15038 }))),
15039 _react2['default'].createElement(
15040 'span',
15041 { className: 'error' },
15042 getFieldError('username')
15043 )
15044 ),
15045 _react2['default'].createElement(
15046 FormItem,
15047 null,
15048 _react2['default'].createElement(
15049 _beeLabel2['default'],
15050 null,
15051 '\u5BC6\u7801\uFF1A'
15052 ),
15053 _react2['default'].createElement(_beeFormControl2['default'], _extends({ placeholder: '\u8BF7\u8F93\u5165\u5BC6\u7801', type: 'password'
15054 }, getFieldProps('password', {
15055 validateTrigger: 'onBlur',
15056 rules: [{
15057 required: true, message: '请输入密码'
15058 }]
15059 }))),
15060 _react2['default'].createElement(
15061 'span',
15062 { className: 'error' },
15063 getFieldError('password')
15064 )
15065 ),
15066 _react2['default'].createElement(
15067 FormItem,
15068 null,
15069 _react2['default'].createElement(
15070 _beeLabel2['default'],
15071 null,
15072 '\u518D\u6B21\u8F93\u5165\u5BC6\u7801\uFF1A'
15073 ),
15074 _react2['default'].createElement(_beeFormControl2['default'], _extends({ placeholder: '\u8BF7\u8F93\u5165\u5BC6\u7801', type: 'password'
15075 }, getFieldProps('password2', {
15076 validateTrigger: 'onBlur',
15077 rules: [{
15078 required: true, message: '请输入密码'
15079 }, {
15080 validator: this.handleConfirmPassword
15081 }]
15082 }))),
15083 _react2['default'].createElement(
15084 'span',
15085 { className: 'error' },
15086 getFieldError('password2')
15087 )
15088 ),
15089 _react2['default'].createElement(
15090 FormItem,
15091 null,
15092 _react2['default'].createElement(
15093 _beeLabel2['default'],
15094 null,
15095 '\u90AE\u7BB1\uFF1A'
15096 ),
15097 _react2['default'].createElement(_beeFormControl2['default'], _extends({ placeholder: '\u8BF7\u8F93\u5165\u90AE\u7BB1'
15098 }, getFieldProps('email', {
15099 validateTrigger: 'onBlur',
15100 rules: [{
15101 required: true, message: '请输入邮箱'
15102 }, {
15103 type: 'email', message: '邮箱格式不正确'
15104 }]
15105 }))),
15106 _react2['default'].createElement(
15107 'span',
15108 { className: 'error' },
15109 getFieldError('email')
15110 )
15111 ),
15112 _react2['default'].createElement(
15113 FormItem,
15114 null,
15115 _react2['default'].createElement(
15116 _beeLabel2['default'],
15117 null,
15118 '\u624B\u673A\u53F7\uFF1A'
15119 ),
15120 _react2['default'].createElement(_beeFormControl2['default'], _extends({ placeholder: '\u8BF7\u8F93\u5165\u624B\u673A\u53F7'
15121 }, getFieldProps('phone', {
15122 validateTrigger: 'onBlur',
15123 rules: [{
15124 required: true, message: '请输入手机号'
15125 }, {
15126 pattern: /^\d{11}$/, message: '手机号格式不正确'
15127 }]
15128 }))),
15129 _react2['default'].createElement(
15130 'span',
15131 { className: 'error' },
15132 getFieldError('phone')
15133 )
15134 ),
15135 _react2['default'].createElement(
15136 FormItem,
15137 { style: { 'paddingLeft': '110px' } },
15138 _react2['default'].createElement(_beeCheckbox2['default'], _extends({ colors: 'info',
15139 defaultChecked: this.state.checkbox
15140 }, getFieldProps('checkbox', {
15141 initialValue: false
15142 }))),
15143 _react2['default'].createElement(
15144 'span',
15145 null,
15146 '\u6211\u5DF2\u7ECF\u9605\u8BFB\u5E76\u540C\u610F\u76F8\u5173\u6761\u6B3E'
15147 )
15148 ),
15149 _react2['default'].createElement(
15150 'div',
15151 { className: 'submit' },
15152 _react2['default'].createElement(
15153 _beeButton2['default'],
15154 { colors: 'primary', className: 'login', onClick: this.submit },
15155 '\u6CE8\u518C'
15156 ),
15157 _react2['default'].createElement(
15158 _beeButton2['default'],
15159 { shape: 'border', className: 'reset' },
15160 '\u53D6\u6D88'
15161 )
15162 )
15163 )
15164 );
15165 };
15166
15167 return Demo;
15168 }(_react.Component));
15169 exports['default'] = Demo3;
15170 module.exports = exports['default'];
15171
15172/***/ }),
15173/* 265 */
15174/***/ (function(module, exports, __webpack_require__) {
15175
15176 'use strict';
15177
15178 Object.defineProperty(exports, "__esModule", {
15179 value: true
15180 });
15181
15182 var _Checkbox = __webpack_require__(266);
15183
15184 var _Checkbox2 = _interopRequireDefault(_Checkbox);
15185
15186 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15187
15188 exports["default"] = _Checkbox2["default"];
15189 module.exports = exports['default'];
15190
15191/***/ }),
15192/* 266 */
15193/***/ (function(module, exports, __webpack_require__) {
15194
15195 'use strict';
15196
15197 Object.defineProperty(exports, "__esModule", {
15198 value: true
15199 });
15200
15201 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; };
15202
15203 var _classnames = __webpack_require__(3);
15204
15205 var _classnames2 = _interopRequireDefault(_classnames);
15206
15207 var _react = __webpack_require__(4);
15208
15209 var _react2 = _interopRequireDefault(_react);
15210
15211 var _propTypes = __webpack_require__(5);
15212
15213 var _propTypes2 = _interopRequireDefault(_propTypes);
15214
15215 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15216
15217 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; }
15218
15219 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; }
15220
15221 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
15222
15223 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; }
15224
15225 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); }
15226
15227 var propTypes = {
15228
15229 colors: _propTypes2["default"].oneOf(['', 'dark', 'success', 'info', 'warning', 'danger', 'primary']),
15230
15231 disabled: _propTypes2["default"].bool
15232
15233 };
15234
15235 var defaultProps = {
15236 disabled: false,
15237 colors: 'primary',
15238 clsPrefix: 'u-checkbox',
15239 defaultChecked: false,
15240 onClick: function onClick() {}
15241 };
15242 var clsPrefix = 'u-checkbox';
15243
15244 var Checkbox = function (_React$Component) {
15245 _inherits(Checkbox, _React$Component);
15246
15247 function Checkbox(props) {
15248 _classCallCheck(this, Checkbox);
15249
15250 var _this = _possibleConstructorReturn(this, _React$Component.call(this, props));
15251
15252 _initialiseProps.call(_this);
15253
15254 _this.state = {
15255 checked: 'checked' in props ? props.checked : props.defaultChecked
15256 };
15257 _this.doubleClickFlag = null;
15258 return _this;
15259 }
15260
15261 Checkbox.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
15262 if ('checked' in nextProps) {
15263 this.setState({
15264 checked: nextProps.checked
15265 });
15266 }
15267 };
15268
15269 Checkbox.prototype.render = function render() {
15270 var _props = this.props,
15271 disabled = _props.disabled,
15272 colors = _props.colors,
15273 size = _props.size,
15274 className = _props.className,
15275 indeterminate = _props.indeterminate,
15276 onClick = _props.onClick,
15277 children = _props.children,
15278 checked = _props.checked,
15279 clsPrefix = _props.clsPrefix,
15280 onDoubleClick = _props.onDoubleClick,
15281 onChange = _props.onChange,
15282 others = _objectWithoutProperties(_props, ['disabled', 'colors', 'size', 'className', 'indeterminate', 'onClick', 'children', 'checked', 'clsPrefix', 'onDoubleClick', 'onChange']);
15283
15284 var input = _react2["default"].createElement('input', _extends({}, others, {
15285 type: 'checkbox',
15286 disabled: this.props.disabled
15287 }));
15288
15289 var classes = {
15290 'is-checked': this.state.checked,
15291 disabled: disabled
15292 };
15293
15294 if (colors) {
15295 classes[clsPrefix + '-' + colors] = true;
15296 }
15297
15298 if (size) {
15299 classes[clsPrefix + '-' + size] = true;
15300 }
15301
15302 if (!checked && indeterminate) {
15303 classes[clsPrefix + '-indeterminate'] = true;
15304 }
15305
15306 var classNames = (0, _classnames2["default"])(clsPrefix, classes);
15307
15308 return _react2["default"].createElement(
15309 'label',
15310 {
15311 className: (0, _classnames2["default"])(classNames, className),
15312 onDoubleClick: this.handledbClick,
15313 onClick: this.changeState },
15314 input,
15315 _react2["default"].createElement(
15316 'label',
15317 { className: clsPrefix + '-label' },
15318 children
15319 )
15320 );
15321 };
15322
15323 return Checkbox;
15324 }(_react2["default"].Component);
15325
15326 var _initialiseProps = function _initialiseProps() {
15327 var _this2 = this;
15328
15329 this.changeState = function (e) {
15330 var props = _this2.props;
15331 var checked = _this2.state.checked;
15332
15333 clearTimeout(_this2.doubleClickFlag);
15334 if (props.onClick instanceof Function) {
15335 props.onClick(e);
15336 }
15337 if (props.onDoubleClick instanceof Function) {
15338 _this2.doubleClickFlag = setTimeout(function () {
15339 //do function在此处写单击事件要执行的代码
15340 _this2.change(props, checked);
15341 }, 300);
15342 } else {
15343 _this2.change(props, checked);
15344 }
15345 //执行延时
15346 };
15347
15348 this.change = function (props, checked) {
15349 if (props.disabled) {
15350 return;
15351 }
15352 if (!('checked' in props)) {
15353 _this2.setState({
15354 checked: !checked
15355 });
15356 }
15357
15358 if (props.onChange instanceof Function) {
15359 props.onChange(!checked);
15360 }
15361 };
15362
15363 this.handledbClick = function (e) {
15364 var onDoubleClick = _this2.props.onDoubleClick;
15365
15366 clearTimeout(_this2.doubleClickFlag);
15367 onDoubleClick && onDoubleClick(_this2.state.checked, e);
15368 };
15369 };
15370
15371 Checkbox.propTypes = propTypes;
15372 Checkbox.defaultProps = defaultProps;
15373
15374 exports["default"] = Checkbox;
15375 module.exports = exports['default'];
15376
15377/***/ }),
15378/* 267 */
15379/***/ (function(module, exports, __webpack_require__) {
15380
15381 'use strict';
15382
15383 Object.defineProperty(exports, "__esModule", {
15384 value: true
15385 });
15386
15387 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; };
15388
15389 var _react = __webpack_require__(4);
15390
15391 var _react2 = _interopRequireDefault(_react);
15392
15393 var _reactDom = __webpack_require__(12);
15394
15395 var _reactDom2 = _interopRequireDefault(_reactDom);
15396
15397 var _src = __webpack_require__(68);
15398
15399 var _src2 = _interopRequireDefault(_src);
15400
15401 var _beeFormControl = __webpack_require__(257);
15402
15403 var _beeFormControl2 = _interopRequireDefault(_beeFormControl);
15404
15405 var _beeSelect = __webpack_require__(268);
15406
15407 var _beeSelect2 = _interopRequireDefault(_beeSelect);
15408
15409 var _beeRadio = __webpack_require__(306);
15410
15411 var _beeRadio2 = _interopRequireDefault(_beeRadio);
15412
15413 var _beeDatepicker = __webpack_require__(310);
15414
15415 var _beeDatepicker2 = _interopRequireDefault(_beeDatepicker);
15416
15417 var _beeCheckbox = __webpack_require__(265);
15418
15419 var _beeCheckbox2 = _interopRequireDefault(_beeCheckbox);
15420
15421 var _beeSwitch = __webpack_require__(513);
15422
15423 var _beeSwitch2 = _interopRequireDefault(_beeSwitch);
15424
15425 var _beeSlider = __webpack_require__(515);
15426
15427 var _beeSlider2 = _interopRequireDefault(_beeSlider);
15428
15429 var _beeInputNumber = __webpack_require__(550);
15430
15431 var _beeInputNumber2 = _interopRequireDefault(_beeInputNumber);
15432
15433 var _beeRate = __webpack_require__(552);
15434
15435 var _beeRate2 = _interopRequireDefault(_beeRate);
15436
15437 var _beeCitySelect = __webpack_require__(558);
15438
15439 var _beeCitySelect2 = _interopRequireDefault(_beeCitySelect);
15440
15441 var _beeLabel = __webpack_require__(261);
15442
15443 var _beeLabel2 = _interopRequireDefault(_beeLabel);
15444
15445 var _beeButton = __webpack_require__(65);
15446
15447 var _beeButton2 = _interopRequireDefault(_beeButton);
15448
15449 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
15450
15451 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; }
15452
15453 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
15454
15455 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; }
15456
15457 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); } /**
15458 *
15459 * @title 表单校验
15460 * @description 用户信息录入实例
15461 */
15462
15463
15464 var FormItem = _src2['default'].FormItem;
15465 var Option = _beeSelect2['default'].Option;
15466
15467 var Demo4 = _src2['default'].createForm()(function (_Component) {
15468 _inherits(Demo, _Component);
15469
15470 function Demo(props) {
15471 _classCallCheck(this, Demo);
15472
15473 var _this = _possibleConstructorReturn(this, _Component.call(this, props));
15474
15475 _this.submit = function (e) {
15476 _this.props.form.validateFields(function (err, values) {
15477 if (err) {
15478 console.log('校验失败', values);
15479 } else {
15480 console.log('提交成功', values);
15481 }
15482 });
15483 };
15484
15485 _this.state = {
15486 selectedValue: 'man'
15487 };
15488 return _this;
15489 }
15490
15491 Demo.prototype.render = function render() {
15492 var _props$form = this.props.form,
15493 getFieldProps = _props$form.getFieldProps,
15494 getFieldError = _props$form.getFieldError;
15495
15496 var self = this;
15497 return _react2['default'].createElement(
15498 'div',
15499 null,
15500 _react2['default'].createElement(
15501 _src2['default'],
15502 { className: 'demo4' },
15503 _react2['default'].createElement(
15504 FormItem,
15505 null,
15506 _react2['default'].createElement(
15507 _beeLabel2['default'],
15508 null,
15509 '\u59D3\u540D\uFF1A'
15510 ),
15511 _react2['default'].createElement(_beeFormControl2['default'], _extends({ placeholder: '\u8BF7\u8F93\u5165\u59D3\u540D'
15512 }, getFieldProps('name', {
15513 validateTrigger: 'onBlur',
15514 rules: [{
15515 required: true, message: '请输入姓名'
15516 }]
15517 }))),
15518 _react2['default'].createElement(
15519 'span',
15520 { className: 'error' },
15521 getFieldError('name')
15522 )
15523 ),
15524 _react2['default'].createElement(
15525 FormItem,
15526 null,
15527 _react2['default'].createElement(
15528 _beeLabel2['default'],
15529 null,
15530 '\u8EAB\u4EFD\u8BC1\u53F7\uFF1A'
15531 ),
15532 _react2['default'].createElement(_beeFormControl2['default'], _extends({ placeholder: '\u8BF7\u8F93\u5165\u8EAB\u4EFD\u8BC1\u53F7'
15533 }, getFieldProps('id', {
15534 validateTrigger: 'onBlur',
15535 rules: [{
15536 required: true, message: '请输入身份证号'
15537 }]
15538 }))),
15539 _react2['default'].createElement(
15540 'span',
15541 { className: 'error' },
15542 getFieldError('id')
15543 )
15544 ),
15545 _react2['default'].createElement(
15546 FormItem,
15547 { className: 'time' },
15548 _react2['default'].createElement(
15549 _beeLabel2['default'],
15550 null,
15551 '\u51FA\u751F\u65E5\u671F\uFF1A'
15552 ),
15553 _react2['default'].createElement(_beeDatepicker2['default'], _extends({}, getFieldProps('time', {}), {
15554 placeholder: '请选择出生日期'
15555 }))
15556 ),
15557 _react2['default'].createElement(
15558 FormItem,
15559 null,
15560 _react2['default'].createElement(
15561 _beeLabel2['default'],
15562 null,
15563 '\u5E74\u9F84\uFF1A'
15564 ),
15565 _react2['default'].createElement(_beeFormControl2['default'], _extends({ placeholder: '\u8BF7\u8F93\u5165\u5E74\u9F84'
15566 }, getFieldProps('age', {
15567 validateTrigger: 'onBlur',
15568 rules: [{
15569 required: true, message: '请输入年龄'
15570 }]
15571 }))),
15572 _react2['default'].createElement(
15573 'span',
15574 { className: 'error' },
15575 getFieldError('age')
15576 )
15577 ),
15578 _react2['default'].createElement(
15579 FormItem,
15580 null,
15581 _react2['default'].createElement(
15582 _beeLabel2['default'],
15583 null,
15584 '\u6027\u522B\uFF1A'
15585 ),
15586 _react2['default'].createElement(
15587 _beeRadio2['default'].RadioGroup,
15588 _extends({
15589 selectedValue: this.state.selectedValue
15590 }, getFieldProps('sex', {
15591 initialValue: 'man',
15592 onChange: function onChange(value) {
15593 self.setState({ selectedValue: value });
15594 },
15595
15596 rules: [{ required: true }]
15597 })),
15598 _react2['default'].createElement(
15599 _beeRadio2['default'],
15600 { value: 'man' },
15601 '\u7537'
15602 ),
15603 _react2['default'].createElement(
15604 _beeRadio2['default'],
15605 { value: 'woman' },
15606 '\u5973'
15607 )
15608 )
15609 ),
15610 _react2['default'].createElement(
15611 FormItem,
15612 null,
15613 _react2['default'].createElement(
15614 _beeLabel2['default'],
15615 null,
15616 '\u5B66\u5386\uFF1A'
15617 ),
15618 _react2['default'].createElement(
15619 _beeSelect2['default'],
15620 getFieldProps('education', {
15621 initialValue: '',
15622 rules: [{ required: true }]
15623 }),
15624 _react2['default'].createElement(
15625 Option,
15626 { value: '' },
15627 '\u8BF7\u9009\u62E9'
15628 ),
15629 _react2['default'].createElement(
15630 Option,
15631 { value: 'nothing' },
15632 '\u65E0'
15633 ),
15634 _react2['default'].createElement(
15635 Option,
15636 { value: 'middle' },
15637 '\u521D\u4E2D'
15638 ),
15639 _react2['default'].createElement(
15640 Option,
15641 { value: 'senior' },
15642 '\u9AD8\u4E2D'
15643 ),
15644 _react2['default'].createElement(
15645 Option,
15646 { value: 'college1' },
15647 '\u4E13\u79D1'
15648 ),
15649 _react2['default'].createElement(
15650 Option,
15651 { value: 'college2' },
15652 '\u672C\u79D1'
15653 ),
15654 _react2['default'].createElement(
15655 Option,
15656 { value: 'graduate' },
15657 '\u7814\u7A76\u751F\u53CA\u4EE5\u4E0A'
15658 ),
15659 _react2['default'].createElement(
15660 Option,
15661 { value: 'other' },
15662 '\u5176\u5B83'
15663 )
15664 )
15665 ),
15666 _react2['default'].createElement(
15667 FormItem,
15668 null,
15669 _react2['default'].createElement(
15670 _beeLabel2['default'],
15671 null,
15672 '\u4FDD\u5BC6\u7B49\u7EA7\uFF1A'
15673 ),
15674 _react2['default'].createElement(_beeRate2['default'], getFieldProps('rate', {
15675 initialValue: 0,
15676 rules: [{ required: true }]
15677 }))
15678 ),
15679 _react2['default'].createElement(
15680 FormItem,
15681 null,
15682 _react2['default'].createElement(
15683 _beeLabel2['default'],
15684 null,
15685 '\u5907\u6CE8\uFF1A'
15686 ),
15687 _react2['default'].createElement(_beeFormControl2['default'], _extends({ componentClass: 'textarea'
15688 }, getFieldProps('remark', {})))
15689 ),
15690 _react2['default'].createElement(
15691 'div',
15692 { className: 'submit' },
15693 _react2['default'].createElement(
15694 _beeButton2['default'],
15695 { colors: 'primary', className: 'login', onClick: this.submit },
15696 '\u63D0\u4EA4'
15697 ),
15698 _react2['default'].createElement(
15699 _beeButton2['default'],
15700 { shape: 'border', className: 'reset' },
15701 '\u53D6\u6D88'
15702 )
15703 )
15704 )
15705 );
15706 };
15707
15708 return Demo;
15709 }(_react.Component));
15710 exports['default'] = Demo4;
15711 module.exports = exports['default'];
15712
15713/***/ }),
15714/* 268 */
15715/***/ (function(module, exports, __webpack_require__) {
15716
15717 'use strict';
15718
15719 Object.defineProperty(exports, "__esModule", {
15720 value: true
15721 });
15722
15723 var _Select = __webpack_require__(269);
15724
15725 var _Select2 = _interopRequireDefault(_Select);
15726
15727 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15728
15729 exports["default"] = _Select2["default"];
15730 module.exports = exports['default'];
15731
15732/***/ }),
15733/* 269 */
15734/***/ (function(module, exports, __webpack_require__) {
15735
15736 "use strict";
15737
15738 Object.defineProperty(exports, "__esModule", {
15739 value: true
15740 });
15741
15742 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; };
15743
15744 var _react = __webpack_require__(4);
15745
15746 var _react2 = _interopRequireDefault(_react);
15747
15748 var _propTypes = __webpack_require__(5);
15749
15750 var _propTypes2 = _interopRequireDefault(_propTypes);
15751
15752 var _RcSelect = __webpack_require__(270);
15753
15754 var _RcSelect2 = _interopRequireDefault(_RcSelect);
15755
15756 var _Option = __webpack_require__(305);
15757
15758 var _Option2 = _interopRequireDefault(_Option);
15759
15760 var _OptGroup = __webpack_require__(291);
15761
15762 var _OptGroup2 = _interopRequireDefault(_OptGroup);
15763
15764 var _classnames = __webpack_require__(3);
15765
15766 var _classnames2 = _interopRequireDefault(_classnames);
15767
15768 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15769
15770 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; }
15771
15772 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; }
15773
15774 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
15775
15776 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; }
15777
15778 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); }
15779
15780 var SelectContext = {
15781 antLocale: {
15782 Select: _propTypes2["default"].any
15783 }
15784 };
15785
15786 var defaultProps = {
15787 clsPrefix: "u-select",
15788 showSearch: false,
15789 transitionName: "slide-up",
15790 choiceTransitionName: "zoom"
15791 };
15792
15793 var propTypes = {
15794 clsPrefix: _propTypes2["default"].string,
15795 className: _propTypes2["default"].string,
15796 value: _propTypes2["default"].oneOfType([_propTypes2["default"].string, _propTypes2["default"].any]),
15797 defaultValue: _propTypes2["default"].oneOfType([_propTypes2["default"].node, _propTypes2["default"].array, _propTypes2["default"].any]),
15798 size: _propTypes2["default"].oneOf(["default", "lg", "sm"]),
15799 combobox: _propTypes2["default"].bool,
15800 notFoundContent: _propTypes2["default"].oneOfType([_propTypes2["default"].node, _propTypes2["default"].array, _propTypes2["default"].any]),
15801 showSearch: _propTypes2["default"].bool,
15802 transitionName: _propTypes2["default"].string,
15803 choiceTransitionName: _propTypes2["default"].string,
15804 multiple: _propTypes2["default"].bool,
15805 allowClear: _propTypes2["default"].bool,
15806 filterOption: _propTypes2["default"].oneOfType([_propTypes2["default"].bool, _propTypes2["default"].func]),
15807 tags: _propTypes2["default"].bool,
15808 onSelect: _propTypes2["default"].func,
15809 onDeselect: _propTypes2["default"].func,
15810 onSearch: _propTypes2["default"].func,
15811 placeholder: _propTypes2["default"].string,
15812 dropdownMatchSelectWidth: _propTypes2["default"].bool,
15813 optionFilterProp: _propTypes2["default"].string,
15814 optionLabelProp: _propTypes2["default"].string,
15815 disabled: _propTypes2["default"].bool,
15816 defaultActiveFirstOption: _propTypes2["default"].bool,
15817 labelInValue: _propTypes2["default"].bool,
15818 getPopupContainer: _propTypes2["default"].func,
15819 style: _propTypes2["default"].object,
15820 dropdownStyle: _propTypes2["default"].object,
15821 dropdownMenuStyle: _propTypes2["default"].object,
15822 onChange: _propTypes2["default"].func,
15823 scrollToEnd: _propTypes2["default"].func
15824 };
15825
15826 var Select = function (_Component) {
15827 _inherits(Select, _Component);
15828
15829 function Select(props) {
15830 _classCallCheck(this, Select);
15831
15832 return _possibleConstructorReturn(this, _Component.call(this, props));
15833 }
15834
15835 Select.prototype.render = function render() {
15836 var _classNames;
15837
15838 var _props = this.props,
15839 clsPrefix = _props.clsPrefix,
15840 _props$className = _props.className,
15841 className = _props$className === undefined ? "" : _props$className,
15842 size = _props.size,
15843 combobox = _props.combobox,
15844 showSearch = _props.showSearch,
15845 data = _props.data;
15846 var _props2 = this.props,
15847 _props2$notFoundConte = _props2.notFoundContent,
15848 notFoundContent = _props2$notFoundConte === undefined ? "Not Found" : _props2$notFoundConte,
15849 optionLabelProp = _props2.optionLabelProp;
15850
15851
15852 var cls = (0, _classnames2["default"])((_classNames = {}, _defineProperty(_classNames, clsPrefix + "-lg", size === "lg"), _defineProperty(_classNames, clsPrefix + "-sm", size === "sm"), _defineProperty(_classNames, clsPrefix + "-show-search", showSearch), _classNames), className);
15853
15854 var antLocale = this.context.antLocale;
15855
15856 if (antLocale && antLocale.Select) {
15857 notFoundContent = "notFoundContent" in this.props ? notFoundContent : antLocale.Select.notFoundContent;
15858 }
15859
15860 if (combobox) {
15861 notFoundContent = null;
15862 // children 带 dom 结构时,无法填入输入框
15863 optionLabelProp = optionLabelProp || "value";
15864 }
15865 if (data) {
15866 data.map(function (item) {
15867 return _react2["default"].createElement(
15868 _Option2["default"],
15869 { value: item.value },
15870 item.key
15871 );
15872 });
15873 }
15874 return data ? _react2["default"].createElement(
15875 _RcSelect2["default"],
15876 _extends({}, this.props, {
15877 className: cls,
15878 optionLabelProp: optionLabelProp || "children",
15879 notFoundContent: notFoundContent
15880 }),
15881 data.map(function (item) {
15882 return _react2["default"].createElement(
15883 _Option2["default"],
15884 { key: item.value, value: item.value, disabled: item.disabled ? true : false },
15885 item.key
15886 );
15887 })
15888 ) : _react2["default"].createElement(_RcSelect2["default"], _extends({}, this.props, {
15889 className: cls,
15890 optionLabelProp: optionLabelProp || "children",
15891 notFoundContent: notFoundContent
15892 }));
15893 };
15894
15895 return Select;
15896 }(_react.Component);
15897
15898 Select.context = SelectContext;
15899 Select.propTypes = propTypes;
15900 Select.defaultProps = defaultProps;
15901 Select.Option = _Option2["default"];
15902 Select.OptGroup = _OptGroup2["default"];
15903
15904 exports["default"] = Select;
15905 module.exports = exports["default"];
15906
15907/***/ }),
15908/* 270 */
15909/***/ (function(module, exports, __webpack_require__) {
15910
15911 'use strict';
15912
15913 Object.defineProperty(exports, "__esModule", {
15914 value: true
15915 });
15916
15917 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; };
15918
15919 var _react = __webpack_require__(4);
15920
15921 var _react2 = _interopRequireDefault(_react);
15922
15923 var _beeMenus = __webpack_require__(271);
15924
15925 var _reactDom = __webpack_require__(12);
15926
15927 var _reactDom2 = _interopRequireDefault(_reactDom);
15928
15929 var _tinperBeeCore = __webpack_require__(26);
15930
15931 var _classnames = __webpack_require__(3);
15932
15933 var _classnames2 = _interopRequireDefault(_classnames);
15934
15935 var _OptGroup = __webpack_require__(291);
15936
15937 var _OptGroup2 = _interopRequireDefault(_OptGroup);
15938
15939 var _warning = __webpack_require__(31);
15940
15941 var _warning2 = _interopRequireDefault(_warning);
15942
15943 var _componentClasses = __webpack_require__(46);
15944
15945 var _componentClasses2 = _interopRequireDefault(_componentClasses);
15946
15947 var _propTypes = __webpack_require__(5);
15948
15949 var _propTypes2 = _interopRequireDefault(_propTypes);
15950
15951 var _contains = __webpack_require__(292);
15952
15953 var _contains2 = _interopRequireDefault(_contains);
15954
15955 var _util = __webpack_require__(293);
15956
15957 var _SelectTrigger = __webpack_require__(294);
15958
15959 var _SelectTrigger2 = _interopRequireDefault(_SelectTrigger);
15960
15961 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15962
15963 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; }
15964
15965 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; }
15966
15967 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
15968
15969 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; }
15970
15971 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); }
15972
15973 //import FilterMixin from './FilterMixin';
15974
15975 function noop() {}
15976
15977 function filterFn(input, child) {
15978 return String((0, _util.getPropValue)(child, this.props.optionFilterProp)).indexOf(input) > -1;
15979 }
15980
15981 function saveRef(name, component) {
15982 this[name] = component;
15983 }
15984
15985 var valueObjectShape = void 0;
15986
15987 if (_propTypes2["default"]) {
15988 valueObjectShape = _propTypes2["default"].oneOfType([_propTypes2["default"].string, _propTypes2["default"].shape({
15989 key: _propTypes2["default"].string,
15990 label: _propTypes2["default"].node
15991 })]);
15992 }
15993
15994 var propTypes = {
15995 defaultActiveFirstOption: _propTypes2["default"].bool,
15996 multiple: _propTypes2["default"].bool,
15997 filterOption: _propTypes2["default"].any,
15998 children: _propTypes2["default"].any,
15999 showSearch: _propTypes2["default"].bool,
16000 disabled: _propTypes2["default"].bool,
16001 allowClear: _propTypes2["default"].bool,
16002 showArrow: _propTypes2["default"].bool,
16003 tags: _propTypes2["default"].bool,
16004 clsPrefix: _propTypes2["default"].string,
16005 className: _propTypes2["default"].string,
16006 transitionName: _propTypes2["default"].string,
16007 optionLabelProp: _propTypes2["default"].string,
16008 optionFilterProp: _propTypes2["default"].string,
16009 animation: _propTypes2["default"].string,
16010 choiceTransitionName: _propTypes2["default"].string,
16011 onChange: _propTypes2["default"].func,
16012 onBlur: _propTypes2["default"].func,
16013 onFocus: _propTypes2["default"].func,
16014 onSelect: _propTypes2["default"].func,
16015 onSearch: _propTypes2["default"].func,
16016 placeholder: _propTypes2["default"].any,
16017 onDeselect: _propTypes2["default"].func,
16018 labelInValue: _propTypes2["default"].bool,
16019 value: _propTypes2["default"].oneOfType([valueObjectShape, _propTypes2["default"].arrayOf(valueObjectShape)]),
16020 defaultValue: _propTypes2["default"].oneOfType([valueObjectShape, _propTypes2["default"].arrayOf(valueObjectShape)]),
16021 dropdownStyle: _propTypes2["default"].object,
16022 maxTagTextLength: _propTypes2["default"].number,
16023 tokenSeparators: _propTypes2["default"].arrayOf(_propTypes2["default"].string)
16024 };
16025
16026 var defaultProps = {
16027 clsPrefix: 'rc-select',
16028 filterOption: filterFn,
16029 defaultOpen: false,
16030 labelInValue: false,
16031 defaultActiveFirstOption: true,
16032 showSearch: true,
16033 allowClear: false,
16034 placeholder: '',
16035 defaultValue: [],
16036 onChange: noop,
16037 onFocus: noop,
16038 onBlur: noop,
16039 onSelect: noop,
16040 onSearch: noop,
16041 onDeselect: noop,
16042 showArrow: true,
16043 dropdownMatchSelectWidth: true,
16044 dropdownStyle: {},
16045 dropdownMenuStyle: {},
16046 optionFilterProp: 'value',
16047 optionLabelProp: 'value',
16048 notFoundContent: 'Not Found'
16049 };
16050
16051 var RcSelect = function (_Component) {
16052 _inherits(RcSelect, _Component);
16053
16054 //mixins: [FilterMixin],
16055
16056 function RcSelect(props) {
16057 _classCallCheck(this, RcSelect);
16058
16059 var _this2 = _possibleConstructorReturn(this, _Component.call(this, props));
16060
16061 _this2.getInit = function (event) {
16062 var _this = _reactDom2["default"].findDOMNode(_this2);
16063 if (event.target && (0, _contains2["default"])(_this, event.target)) {
16064 if (_this2._focused) return;
16065 _this2._focused = true;
16066 _this2.updateFocusClassName();
16067 } else {
16068 if (!_this2._focused) return;
16069 _this2._focused = false;
16070 _this2.updateFocusClassName();
16071 }
16072 };
16073
16074 _this2.onOutClick = function (event) {
16075 // this.clearBlurTime();
16076 _this2._focused = true;
16077 _this2.updateFocusClassName();
16078 _this2.props.onFocus(_this2.state.value);
16079 };
16080
16081 var value = [];
16082 if ('value' in props) {
16083 value = (0, _util.toArray)(props.value);
16084 } else {
16085 value = (0, _util.toArray)(props.defaultValue);
16086 }
16087 value = _this2.addLabelToValue(props, value);
16088 value = _this2.addTitleToValue(props, value);
16089 var inputValue = '';
16090 if (props.combobox) {
16091 inputValue = value.length ? String(value[0].key) : '';
16092 }
16093 _this2.saveInputRef = saveRef.bind(_this2, 'inputInstance');
16094 _this2.saveInputMirrorRef = saveRef.bind(_this2, 'inputMirrorInstance');
16095 var open = props.open;
16096 if (open === undefined) {
16097 open = props.defaultOpen;
16098 }
16099 _this2.state = {
16100 value: value,
16101 inputValue: inputValue,
16102 open: open
16103 };
16104
16105 _this2.filterOption = _this2.filterOption.bind(_this2);
16106 _this2.renderFilterOptions = _this2.renderFilterOptions.bind(_this2);
16107 _this2.renderFilterOptionsFromChildren = _this2.renderFilterOptionsFromChildren.bind(_this2);
16108 _this2.onInputChange = _this2.onInputChange.bind(_this2);
16109 _this2.onDropdownVisibleChange = _this2.onDropdownVisibleChange.bind(_this2);
16110
16111 _this2.onKeyDown = _this2.onKeyDown.bind(_this2);
16112 _this2.onInputKeyDown = _this2.onInputKeyDown.bind(_this2);
16113 _this2.onMenuSelect = _this2.onMenuSelect.bind(_this2);
16114 _this2.onMenuDeselect = _this2.onMenuDeselect.bind(_this2);
16115 _this2.onArrowClick = _this2.onArrowClick.bind(_this2);
16116
16117 _this2.onPlaceholderClick = _this2.onPlaceholderClick.bind(_this2);
16118 _this2.onOuterFocus = _this2.onOuterFocus.bind(_this2);
16119 _this2.onPopupFocus = _this2.onPopupFocus.bind(_this2);
16120 _this2.onOuterBlur = _this2.onOuterBlur.bind(_this2);
16121 _this2.onClearSelection = _this2.onClearSelection.bind(_this2);
16122
16123 _this2.onChoiceAnimationLeave = _this2.onChoiceAnimationLeave.bind(_this2);
16124 _this2.getLabelBySingleValue = _this2.getLabelBySingleValue.bind(_this2);
16125 _this2.getValueByLabel = _this2.getValueByLabel.bind(_this2);
16126 _this2.getLabelFromOption = _this2.getLabelFromOption.bind(_this2);
16127 _this2.getLabelFromProps = _this2.getLabelFromProps.bind(_this2);
16128
16129 _this2.getVLForOnChange = _this2.getVLForOnChange.bind(_this2);
16130 _this2.getLabelByValue = _this2.getLabelByValue.bind(_this2);
16131 _this2.getDropdownContainer = _this2.getDropdownContainer.bind(_this2);
16132 _this2.getPlaceholderElement = _this2.getPlaceholderElement.bind(_this2);
16133 _this2.getInputElement = _this2.getInputElement.bind(_this2);
16134
16135 _this2.getInputDOMNode = _this2.getInputDOMNode.bind(_this2);
16136 _this2.getInputMirrorDOMNode = _this2.getInputMirrorDOMNode.bind(_this2);
16137 _this2.getPopupDOMNode = _this2.getPopupDOMNode.bind(_this2);
16138 _this2.getPopupMenuComponent = _this2.getPopupMenuComponent.bind(_this2);
16139 _this2.setOpenState = _this2.setOpenState.bind(_this2);
16140
16141 _this2.setInputValue = _this2.setInputValue.bind(_this2);
16142 _this2.clearBlurTime = _this2.clearBlurTime.bind(_this2);
16143 _this2.clearAdjustTimer = _this2.clearAdjustTimer.bind(_this2);
16144 _this2.clearAdjustTimer = _this2.clearAdjustTimer.bind(_this2);
16145 _this2.updateFocusClassName = _this2.updateFocusClassName.bind(_this2);
16146
16147 _this2.maybeFocus = _this2.maybeFocus.bind(_this2);
16148 _this2.addLabelToValue = _this2.addLabelToValue.bind(_this2);
16149 _this2.addTitleToValue = _this2.addTitleToValue.bind(_this2);
16150 _this2.removeSelected = _this2.removeSelected.bind(_this2);
16151 _this2.openIfHasChildren = _this2.openIfHasChildren.bind(_this2);
16152
16153 _this2.fireChange = _this2.fireChange.bind(_this2);
16154 _this2.isChildDisabled = _this2.isChildDisabled.bind(_this2);
16155 _this2.tokenize = _this2.tokenize.bind(_this2);
16156 _this2.adjustOpenState = _this2.adjustOpenState.bind(_this2);
16157 _this2.renderTopControlNode = _this2.renderTopControlNode.bind(_this2);
16158 return _this2;
16159 }
16160
16161 RcSelect.prototype.componentWillMount = function componentWillMount() {
16162 this.adjustOpenState();
16163 };
16164
16165 RcSelect.prototype.componentDidMount = function componentDidMount() {
16166 if (this.props.autofocus) {
16167 this.onOuterFocus();
16168 }
16169 if (!this.props.autofocus) return;
16170 _reactDom2["default"].findDOMNode(this.refs.root).click();
16171 this.setState({
16172 open: false
16173 });
16174 };
16175
16176 RcSelect.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
16177
16178 if ('value' in nextProps) {
16179 var value = (0, _util.toArray)(nextProps.value);
16180 value = this.addLabelToValue(nextProps, value);
16181 value = this.addTitleToValue(nextProps, value);
16182 this.setState({
16183 value: value
16184 });
16185 if (nextProps.combobox) {
16186 this.setState({
16187 inputValue: value.length ? this.getLabelFromProps(nextProps, value[0].key) : ''
16188 });
16189 }
16190 }
16191
16192 if (this.props.autofocus) {
16193 this.onOuterFocus();
16194 }
16195 };
16196
16197 RcSelect.prototype.componentWillUpdate = function componentWillUpdate(nextProps, nextState) {
16198 this.props = nextProps;
16199 this.state = nextState;
16200 this.adjustOpenState();
16201 };
16202
16203 RcSelect.prototype.componentDidUpdate = function componentDidUpdate() {
16204 var state = this.state,
16205 props = this.props;
16206
16207 if (state.open && (0, _util.isMultipleOrTags)(props)) {
16208 var inputNode = this.getInputDOMNode();
16209 var mirrorNode = this.getInputMirrorDOMNode();
16210 if (inputNode.value) {
16211 inputNode.style.width = '';
16212 inputNode.style.width = mirrorNode.clientWidth + 'px';
16213 } else {
16214 inputNode.style.width = '';
16215 }
16216 }
16217 };
16218
16219 RcSelect.prototype.componentWillUnmount = function componentWillUnmount() {
16220 this.clearBlurTime();
16221 this.clearAdjustTimer();
16222 if (this.dropdownContainer) {
16223 _reactDom2["default"].unmountComponentAtNode(this.dropdownContainer);
16224 document.body.removeChild(this.dropdownContainer);
16225 this.dropdownContainer = null;
16226 }
16227 };
16228
16229 RcSelect.prototype.filterOption = function filterOption(input, child) {
16230 if (!input) {
16231 return true;
16232 }
16233 var filterOption = this.props.filterOption;
16234 if (!filterOption) {
16235 return true;
16236 }
16237 if (child.props.disabled) {
16238 return false;
16239 }
16240 return filterOption.call(this, input, child);
16241 };
16242
16243 RcSelect.prototype.renderFilterOptions = function renderFilterOptions(inputValue) {
16244 return this.renderFilterOptionsFromChildren(this.props.children, true, inputValue);
16245 };
16246
16247 RcSelect.prototype.renderFilterOptionsFromChildren = function renderFilterOptionsFromChildren(children, showNotFound, iv) {
16248 var _this3 = this;
16249
16250 var sel = [];
16251 var props = this.props;
16252 var inputValue = iv === undefined ? this.state.inputValue : iv;
16253 var childrenKeys = [];
16254 var tags = props.tags;
16255 _react2["default"].Children.forEach(children, function (child) {
16256 if (child.type === _OptGroup2["default"]) {
16257 var innerItems = _this3.renderFilterOptionsFromChildren(child.props.children, false);
16258 if (innerItems.length) {
16259 var label = child.props.label;
16260 var key = child.key;
16261 if (!key && typeof label === 'string') {
16262 key = label;
16263 } else if (!label && key) {
16264 label = key;
16265 }
16266 sel.push(_react2["default"].createElement(
16267 _beeMenus.ItemGroup,
16268 { key: key, title: label },
16269 innerItems
16270 ));
16271 }
16272 return;
16273 }
16274
16275 // warning(
16276 // child.type === Option,
16277 // 'the children of `Select` should be `Select.Option` or `Select.OptGroup`, ' +
16278 // `instead of \`${child.type.name || child.type.displayName || child.type}\`.`
16279 // );
16280
16281 var childValue = (0, _util.getValuePropValue)(child);
16282 if (_this3.filterOption(inputValue, child)) {
16283 sel.push(_react2["default"].createElement(_beeMenus.Item, _extends({
16284 style: _util.UNSELECTABLE_STYLE,
16285 attribute: _util.UNSELECTABLE_ATTRIBUTE,
16286 value: childValue,
16287 key: childValue
16288 }, child.props)));
16289 }
16290 if (tags && !child.props.disabled) {
16291 childrenKeys.push(childValue);
16292 }
16293 });
16294 if (tags) {
16295 // tags value must be string
16296 var value = this.state.value || [];
16297 value = value.filter(function (singleValue) {
16298 return childrenKeys.indexOf(singleValue.key) === -1 && (!inputValue || String(singleValue.key).indexOf(String(inputValue)) > -1);
16299 });
16300 sel = sel.concat(value.map(function (singleValue) {
16301 var key = singleValue.key;
16302 return _react2["default"].createElement(
16303 _beeMenus.Item,
16304 {
16305 style: _util.UNSELECTABLE_STYLE,
16306 attribute: _util.UNSELECTABLE_ATTRIBUTE,
16307 value: key,
16308 key: key
16309 },
16310 key
16311 );
16312 }));
16313 if (inputValue) {
16314 var notFindInputItem = sel.every(function (option) {
16315 return (0, _util.getValuePropValue)(option) !== inputValue;
16316 });
16317 if (notFindInputItem) {
16318 sel.unshift(_react2["default"].createElement(
16319 _beeMenus.Item,
16320 {
16321 style: _util.UNSELECTABLE_STYLE,
16322 attribute: _util.UNSELECTABLE_ATTRIBUTE,
16323 value: inputValue,
16324 key: inputValue
16325 },
16326 inputValue
16327 ));
16328 }
16329 }
16330 }
16331 if (!sel.length && showNotFound && props.notFoundContent) {
16332 sel = [_react2["default"].createElement(
16333 _beeMenus.Item,
16334 {
16335 style: _util.UNSELECTABLE_STYLE,
16336 attribute: _util.UNSELECTABLE_ATTRIBUTE,
16337 disabled: true,
16338 value: 'NOT_FOUND',
16339 key: 'NOT_FOUND'
16340 },
16341 props.notFoundContent
16342 )];
16343 }
16344 return sel;
16345 };
16346
16347 RcSelect.prototype.onInputChange = function onInputChange(event) {
16348 var tokenSeparators = this.props.tokenSeparators;
16349
16350 var val = event.target.value;
16351 if ((0, _util.isMultipleOrTags)(this.props) && tokenSeparators && (0, _util.includesSeparators)(val, tokenSeparators)) {
16352 var nextValue = this.tokenize(val);
16353 this.fireChange(nextValue);
16354 this.setOpenState(false, true);
16355 this.setInputValue('', false);
16356 return;
16357 }
16358 this.setInputValue(val);
16359 this.setState({
16360 open: true
16361 });
16362 if ((0, _util.isCombobox)(this.props)) {
16363 this.fireChange([{
16364 key: val
16365 }]);
16366 }
16367 };
16368
16369 RcSelect.prototype.onDropdownVisibleChange = function onDropdownVisibleChange(open) {
16370 this.setOpenState(open);
16371 };
16372
16373 // combobox ignore
16374
16375
16376 RcSelect.prototype.onKeyDown = function onKeyDown(event) {
16377 var props = this.props;
16378 if (props.disabled) {
16379 return;
16380 }
16381 var keyCode = event.keyCode;
16382 if (this.state.open && !this.getInputDOMNode()) {
16383 this.onInputKeyDown(event);
16384 } else if (keyCode === _tinperBeeCore.KeyCode.ENTER || keyCode === _tinperBeeCore.KeyCode.DOWN) {
16385 this.setOpenState(true);
16386 event.preventDefault();
16387 }
16388 };
16389
16390 RcSelect.prototype.onInputKeyDown = function onInputKeyDown(event) {
16391 var props = this.props;
16392 if (props.disabled) {
16393 return;
16394 }
16395 var state = this.state;
16396 var keyCode = event.keyCode;
16397 if ((0, _util.isMultipleOrTags)(props) && !event.target.value && keyCode === _tinperBeeCore.KeyCode.BACKSPACE) {
16398 event.preventDefault();
16399 var value = state.value;
16400
16401 if (value.length) {
16402 this.removeSelected(value[value.length - 1].key);
16403 }
16404 return;
16405 }
16406 if (keyCode === _tinperBeeCore.KeyCode.DOWN) {
16407 if (!state.open) {
16408 this.openIfHasChildren();
16409 event.preventDefault();
16410 event.stopPropagation();
16411 return;
16412 }
16413 } else if (keyCode === _tinperBeeCore.KeyCode.ESC) {
16414 if (state.open) {
16415 this.setOpenState(false);
16416 event.preventDefault();
16417 event.stopPropagation();
16418 }
16419 return;
16420 }
16421
16422 if (state.open) {
16423 var menu = this.refs.trigger.getInnerMenu();
16424
16425 if (menu && menu.rcMenu.onKeyDown(event)) {
16426 event.preventDefault();
16427 event.stopPropagation();
16428 }
16429 }
16430 };
16431
16432 RcSelect.prototype.onMenuSelect = function onMenuSelect(_ref) {
16433 var _this4 = this;
16434
16435 var item = _ref.item;
16436
16437 var value = this.state.value;
16438 var props = this.props;
16439 var selectedValue = (0, _util.getValuePropValue)(item);
16440 var selectedLabel = this.getLabelFromOption(item);
16441 var event = selectedValue;
16442 if (props.labelInValue) {
16443 event = {
16444 key: event,
16445 label: selectedLabel
16446 };
16447 }
16448 props.onSelect(event, item);
16449 var selectedTitle = item.props.title;
16450 if ((0, _util.isMultipleOrTags)(props)) {
16451 if ((0, _util.findIndexInValueByKey)(value, selectedValue) !== -1) {
16452 return;
16453 }
16454 value = value.concat([{
16455 key: selectedValue,
16456 label: selectedLabel,
16457 title: selectedTitle
16458 }]);
16459 } else {
16460 if ((0, _util.isCombobox)(props)) {
16461 this.skipAdjustOpen = true;
16462 this.clearAdjustTimer();
16463 this.skipAdjustOpenTimer = setTimeout(function () {
16464 _this4.skipAdjustOpen = false;
16465 }, 0);
16466 }
16467 if (value.length && value[0].key === selectedValue) {
16468 this.setOpenState(false, true);
16469 return;
16470 }
16471 value = [{
16472 key: selectedValue,
16473 label: selectedLabel,
16474 title: selectedTitle
16475 }];
16476 this.setOpenState(false, true);
16477 }
16478 this.fireChange(value);
16479 var inputValue = void 0;
16480 if ((0, _util.isCombobox)(props)) {
16481 inputValue = (0, _util.getPropValue)(item, props.optionLabelProp);
16482 } else {
16483 inputValue = '';
16484 }
16485 this.setInputValue(inputValue, false);
16486 };
16487
16488 RcSelect.prototype.onMenuDeselect = function onMenuDeselect(_ref2) {
16489 var item = _ref2.item,
16490 domEvent = _ref2.domEvent;
16491
16492 if (domEvent.type === 'click') {
16493 this.removeSelected((0, _util.getValuePropValue)(item));
16494 }
16495 this.setInputValue('', false);
16496 };
16497
16498 RcSelect.prototype.onArrowClick = function onArrowClick(e) {
16499 e.stopPropagation();
16500 if (!this.props.disabled) {
16501 this.setOpenState(!this.state.open, true);
16502 }
16503 };
16504
16505 RcSelect.prototype.onPlaceholderClick = function onPlaceholderClick() {
16506 if (this.getInputDOMNode()) {
16507 this.getInputDOMNode().focus();
16508 }
16509 };
16510
16511 RcSelect.prototype.onOuterFocus = function onOuterFocus(event) {
16512 this.clearBlurTime();
16513 this._focused = true;
16514 this.updateFocusClassName();
16515 this.props.onFocus(this.state.value);
16516 };
16517
16518 RcSelect.prototype.onPopupFocus = function onPopupFocus() {
16519 // fix ie scrollbar, focus element again
16520 this.maybeFocus(true, true);
16521 };
16522
16523 RcSelect.prototype.onOuterBlur = function onOuterBlur() {
16524 var _this5 = this;
16525
16526 this.blurTimer = setTimeout(function () {
16527 _this5._focused = false;
16528 _this5.updateFocusClassName();
16529 var props = _this5.props;
16530 var value = _this5.state.value;
16531 var inputValue = _this5.state.inputValue;
16532
16533 if ((0, _util.isSingleMode)(props) && props.showSearch && inputValue && props.defaultActiveFirstOption) {
16534 var options = _this5._options || [];
16535 if (options.length) {
16536 var firstOption = (0, _util.findFirstMenuItem)(options);
16537 if (firstOption) {
16538 value = [{
16539 key: firstOption.key,
16540 label: _this5.getLabelFromOption(firstOption)
16541 }];
16542 _this5.fireChange(value);
16543 }
16544 }
16545 } else if ((0, _util.isMultipleOrTags)(props) && inputValue) {
16546 // why not use setState?
16547 _this5.state.inputValue = _this5.getInputDOMNode().value = '';
16548 }
16549 //todu 返回数组对象
16550 // props.onBlur(this.getVLForOnChange(value));
16551 props.onBlur(_this5.state.value);
16552 }, 10);
16553 };
16554
16555 RcSelect.prototype.onClearSelection = function onClearSelection(event) {
16556 var props = this.props;
16557 var state = this.state;
16558 if (props.disabled) {
16559 return;
16560 }
16561 var inputValue = state.inputValue,
16562 value = state.value;
16563
16564 event.stopPropagation();
16565 if (inputValue || value.length) {
16566 if (value.length) {
16567 this.fireChange([]);
16568 }
16569 this.setOpenState(false, true);
16570 if (inputValue) {
16571 this.setInputValue('');
16572 }
16573 }
16574 };
16575
16576 RcSelect.prototype.onChoiceAnimationLeave = function onChoiceAnimationLeave() {
16577 this.refs.trigger.refs.trigger.forcePopupAlign();
16578 };
16579
16580 RcSelect.prototype.getLabelBySingleValue = function getLabelBySingleValue(children, value) {
16581 var _this6 = this;
16582
16583 if (value === undefined) {
16584 return null;
16585 }
16586 var label = null;
16587 _react2["default"].Children.forEach(children, function (child) {
16588 if (child.type === _OptGroup2["default"]) {
16589 var maybe = _this6.getLabelBySingleValue(child.props.children, value);
16590 if (maybe !== null) {
16591 label = maybe;
16592 }
16593 } else if ((0, _util.getValuePropValue)(child) === value) {
16594 label = _this6.getLabelFromOption(child);
16595 }
16596 });
16597 return label;
16598 };
16599
16600 RcSelect.prototype.getValueByLabel = function getValueByLabel(children, label) {
16601 var _this7 = this;
16602
16603 if (label === undefined) {
16604 return null;
16605 }
16606 var value = null;
16607 _react2["default"].Children.forEach(children, function (child) {
16608 if (child.type === _OptGroup2["default"]) {
16609 var maybe = _this7.getValueByLabel(child.props.children, label);
16610 if (maybe !== null) {
16611 value = maybe;
16612 }
16613 } else if ((0, _util.toArray)(_this7.getLabelFromOption(child)).join('') === label) {
16614 value = (0, _util.getValuePropValue)(child);
16615 }
16616 });
16617 return value;
16618 };
16619
16620 RcSelect.prototype.getLabelFromOption = function getLabelFromOption(child) {
16621 return (0, _util.getPropValue)(child, this.props.optionLabelProp);
16622 };
16623
16624 RcSelect.prototype.getLabelFromProps = function getLabelFromProps(props, value) {
16625 return this.getLabelByValue(props.children, value);
16626 };
16627
16628 RcSelect.prototype.getVLForOnChange = function getVLForOnChange(vls_) {
16629 var vls = vls_;
16630 if (vls !== undefined) {
16631 if (!this.props.labelInValue) {
16632 vls = vls.map(function (v) {
16633 return v.key;
16634 });
16635 } else {
16636 vls = vls.map(function (vl) {
16637 return { key: vl.key, label: vl.label };
16638 });
16639 }
16640 return (0, _util.isMultipleOrTags)(this.props) ? vls : vls[0];
16641 }
16642 return vls;
16643 };
16644
16645 RcSelect.prototype.getLabelByValue = function getLabelByValue(children, value) {
16646 var label = this.getLabelBySingleValue(children, value);
16647 if (label === null) {
16648 return value;
16649 }
16650 return label;
16651 };
16652
16653 RcSelect.prototype.getDropdownContainer = function getDropdownContainer() {
16654 if (!this.dropdownContainer) {
16655 this.dropdownContainer = document.createElement('div');
16656 document.body.appendChild(this.dropdownContainer);
16657 }
16658 return this.dropdownContainer;
16659 };
16660
16661 RcSelect.prototype.getPlaceholderElement = function getPlaceholderElement() {
16662 var props = this.props,
16663 state = this.state;
16664
16665 var hidden = false;
16666 if (state.inputValue) {
16667 hidden = true;
16668 }
16669 if (state.value.length) {
16670 hidden = true;
16671 }
16672 if ((0, _util.isCombobox)(props) && state.value.length === 1 && !state.value[0].key) {
16673 hidden = false;
16674 }
16675 var placeholder = props.placeholder;
16676 if (placeholder) {
16677 return _react2["default"].createElement(
16678 'div',
16679 _extends({
16680 onMouseDown: _util.preventDefaultEvent,
16681 style: _extends({
16682 display: hidden ? 'none' : 'block'
16683 }, _util.UNSELECTABLE_STYLE)
16684 }, _util.UNSELECTABLE_ATTRIBUTE, {
16685 onClick: this.onPlaceholderClick,
16686 className: props.clsPrefix + '-selection-placeholder'
16687 }),
16688 placeholder
16689 );
16690 }
16691 return null;
16692 };
16693
16694 RcSelect.prototype.getInputElement = function getInputElement() {
16695 var props = this.props;
16696 return _react2["default"].createElement(
16697 'div',
16698 { className: props.clsPrefix + '-search-field-wrap' },
16699 _react2["default"].createElement('input', {
16700 ref: this.saveInputRef,
16701 onChange: this.onInputChange,
16702 onKeyDown: this.onInputKeyDown,
16703 value: this.state.inputValue,
16704 disabled: props.disabled,
16705 className: props.clsPrefix + '-search-field'
16706 }),
16707 _react2["default"].createElement(
16708 'span',
16709 {
16710 ref: this.saveInputMirrorRef,
16711 className: props.clsPrefix + '-search-field-mirror'
16712 },
16713 this.state.inputValue
16714 )
16715 );
16716 };
16717
16718 RcSelect.prototype.getInputDOMNode = function getInputDOMNode() {
16719 return this.inputInstance;
16720 };
16721
16722 RcSelect.prototype.getInputMirrorDOMNode = function getInputMirrorDOMNode() {
16723 return this.inputMirrorInstance;
16724 };
16725
16726 RcSelect.prototype.getPopupDOMNode = function getPopupDOMNode() {
16727 return this.refs.trigger.getPopupDOMNode();
16728 };
16729
16730 RcSelect.prototype.getPopupMenuComponent = function getPopupMenuComponent() {
16731 return this.refs.trigger.getInnerMenu();
16732 };
16733
16734 RcSelect.prototype.setOpenState = function setOpenState(open, needFocus) {
16735 var _this8 = this;
16736
16737 var props = this.props,
16738 state = this.state;
16739
16740 if (state.open === open) {
16741 this.maybeFocus(open, needFocus);
16742 return;
16743 }
16744 var nextState = {
16745 open: open
16746 };
16747 // clear search input value when open is false in singleMode.
16748 if (!open && (0, _util.isSingleMode)(props) && props.showSearch) {
16749 this.setInputValue('');
16750 }
16751 if (!open) {
16752 this.maybeFocus(open, needFocus);
16753 }
16754 this.setState(nextState, function () {
16755 if (open) {
16756 _this8.maybeFocus(open, needFocus);
16757 }
16758 });
16759 };
16760
16761 RcSelect.prototype.setInputValue = function setInputValue(inputValue) {
16762 var fireSearch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
16763
16764 this.setState({
16765 inputValue: inputValue
16766 });
16767 if (fireSearch) {
16768 this.props.onSearch(inputValue);
16769 }
16770 };
16771
16772 RcSelect.prototype.clearBlurTime = function clearBlurTime() {
16773 if (this.blurTimer) {
16774 clearTimeout(this.blurTimer);
16775 this.blurTimer = null;
16776 }
16777 };
16778
16779 RcSelect.prototype.clearAdjustTimer = function clearAdjustTimer() {
16780 if (this.skipAdjustOpenTimer) {
16781 clearTimeout(this.skipAdjustOpenTimer);
16782 this.skipAdjustOpenTimer = null;
16783 }
16784 };
16785
16786 RcSelect.prototype.updateFocusClassName = function updateFocusClassName() {
16787 var refs = this.refs,
16788 props = this.props;
16789
16790
16791 if (this._focused) {
16792 (0, _componentClasses2["default"])(refs.root).add(props.clsPrefix + '-focused');
16793 } else {
16794 (0, _componentClasses2["default"])(refs.root).remove(props.clsPrefix + '-focused');
16795 }
16796 };
16797
16798 RcSelect.prototype.maybeFocus = function maybeFocus(open, needFocus) {
16799 if (needFocus || open) {
16800 var input = this.getInputDOMNode();
16801 var _document = document,
16802 activeElement = _document.activeElement;
16803
16804 if (input && (open || (0, _util.isMultipleOrTagsOrCombobox)(this.props))) {
16805 if (activeElement !== input) {
16806 input.focus();
16807 }
16808 } else {
16809 var selection = this.refs.selection;
16810 if (activeElement !== selection) {
16811 selection.focus();
16812 }
16813 }
16814 }
16815 };
16816
16817 RcSelect.prototype.addLabelToValue = function addLabelToValue(props, value_) {
16818 var _this9 = this;
16819
16820 var value = value_;
16821 if (props.labelInValue) {
16822 value.forEach(function (v) {
16823 v.label = v.label || _this9.getLabelFromProps(props, v.key);
16824 });
16825 } else {
16826 value = value.map(function (v) {
16827 return {
16828 key: v,
16829 label: _this9.getLabelFromProps(props, v)
16830 };
16831 });
16832 }
16833 return value;
16834 };
16835
16836 RcSelect.prototype.addTitleToValue = function addTitleToValue(props, values) {
16837 var _this10 = this;
16838
16839 var nextValues = values;
16840 var keys = values.map(function (v) {
16841 return v.key;
16842 });
16843 _react2["default"].Children.forEach(props.children, function (child) {
16844 if (child.type === _OptGroup2["default"]) {
16845 nextValues = _this10.addTitleToValue(child.props, nextValues);
16846 } else {
16847 var value = (0, _util.getValuePropValue)(child);
16848 var valueIndex = keys.indexOf(value);
16849 if (valueIndex > -1) {
16850 nextValues[valueIndex].title = child.props.title;
16851 }
16852 }
16853 });
16854 return nextValues;
16855 };
16856
16857 RcSelect.prototype.removeSelected = function removeSelected(selectedKey) {
16858 var props = this.props;
16859 if (props.disabled || this.isChildDisabled(selectedKey)) {
16860 return;
16861 }
16862 var label = void 0;
16863 var value = this.state.value.filter(function (singleValue) {
16864 if (singleValue.key === selectedKey) {
16865 label = singleValue.label;
16866 }
16867 return singleValue.key !== selectedKey;
16868 });
16869 var canMultiple = (0, _util.isMultipleOrTags)(props);
16870
16871 if (canMultiple) {
16872 var event = selectedKey;
16873 if (props.labelInValue) {
16874 event = {
16875 key: selectedKey,
16876 label: label
16877 };
16878 }
16879 props.onDeselect(event);
16880 }
16881 this.fireChange(value);
16882 };
16883
16884 RcSelect.prototype.openIfHasChildren = function openIfHasChildren() {
16885 var props = this.props;
16886 if (_react2["default"].Children.count(props.children) || (0, _util.isSingleMode)(props)) {
16887 this.setOpenState(true);
16888 }
16889 };
16890
16891 RcSelect.prototype.fireChange = function fireChange(value) {
16892 var props = this.props;
16893 if (!('value' in props)) {
16894 this.setState({
16895 value: value
16896 });
16897 }
16898 props.onChange(this.getVLForOnChange(value));
16899 };
16900
16901 RcSelect.prototype.isChildDisabled = function isChildDisabled(key) {
16902 return (0, _util.toArray)(this.props.children).some(function (child) {
16903 var childValue = (0, _util.getValuePropValue)(child);
16904 return childValue === key && child.props && child.props.disabled;
16905 });
16906 };
16907
16908 RcSelect.prototype.tokenize = function tokenize(string) {
16909 var _this11 = this;
16910
16911 var _props = this.props,
16912 multiple = _props.multiple,
16913 tokenSeparators = _props.tokenSeparators,
16914 children = _props.children;
16915
16916 var nextValue = this.state.value;
16917 (0, _util.splitBySeparators)(string, tokenSeparators).forEach(function (label) {
16918 var selectedValue = { key: label, label: label };
16919 if ((0, _util.findIndexInValueByLabel)(nextValue, label) === -1) {
16920 if (multiple) {
16921 var value = _this11.getValueByLabel(children, label);
16922 if (value) {
16923 selectedValue.key = value;
16924 nextValue = nextValue.concat(selectedValue);
16925 }
16926 } else {
16927 nextValue = nextValue.concat(selectedValue);
16928 }
16929 }
16930 });
16931 return nextValue;
16932 };
16933
16934 RcSelect.prototype.adjustOpenState = function adjustOpenState() {
16935 if (this.skipAdjustOpen) {
16936 return;
16937 }
16938 var open = this.state.open;
16939
16940 if (typeof document !== 'undefined' && this.getInputDOMNode() && document.activeElement === this.getInputDOMNode()) {
16941 open = true;
16942 }
16943 var options = [];
16944 if (open) {
16945 options = this.renderFilterOptions();
16946 }
16947 this._options = options;
16948 if (open && ((0, _util.isMultipleOrTagsOrCombobox)(this.props) || !this.props.showSearch) && !options.length) {
16949 open = false;
16950 }
16951 this.state.open = open;
16952 };
16953
16954 RcSelect.prototype.renderTopControlNode = function renderTopControlNode() {
16955 var _this12 = this;
16956
16957 var _state = this.state,
16958 value = _state.value,
16959 open = _state.open,
16960 inputValue = _state.inputValue;
16961
16962 var props = this.props;
16963 var choiceTransitionName = props.choiceTransitionName,
16964 clsPrefix = props.clsPrefix,
16965 maxTagTextLength = props.maxTagTextLength,
16966 showSearch = props.showSearch;
16967
16968 var className = clsPrefix + '-selection-rendered';
16969 // search input is inside topControlNode in single, multiple & combobox. 2016/04/13
16970 var innerNode = null;
16971 if ((0, _util.isSingleMode)(props)) {
16972 var selectedValue = null;
16973 if (value.length) {
16974 var showSelectedValue = false;
16975 var opacity = 1;
16976 if (!showSearch) {
16977 showSelectedValue = true;
16978 } else {
16979 if (open) {
16980 showSelectedValue = !inputValue;
16981 if (showSelectedValue) {
16982 opacity = 0.4;
16983 }
16984 } else {
16985 showSelectedValue = true;
16986 }
16987 }
16988 var singleValue = value[0];
16989 selectedValue = _react2["default"].createElement(
16990 'div',
16991 {
16992 key: 'value',
16993 className: clsPrefix + '-selection-selected-value',
16994 title: singleValue.title || singleValue.label,
16995 style: {
16996 display: showSelectedValue ? 'block' : 'none',
16997 opacity: opacity
16998 }
16999 },
17000 value[0].label
17001 );
17002 }
17003 if (!showSearch) {
17004 innerNode = [selectedValue];
17005 } else {
17006 innerNode = [selectedValue, _react2["default"].createElement(
17007 'div',
17008 {
17009 className: clsPrefix + '-search ' + clsPrefix + '-search--inline',
17010 key: 'input',
17011 style: {
17012 display: open ? 'block' : 'none'
17013 }
17014 },
17015 this.getInputElement()
17016 )];
17017 }
17018 } else {
17019 var selectedValueNodes = [];
17020 if ((0, _util.isMultipleOrTags)(props)) {
17021 selectedValueNodes = value.map(function (singleValue) {
17022 var content = singleValue.label;
17023 var title = singleValue.title || content;
17024 if (maxTagTextLength && typeof content === 'string' && content.length > maxTagTextLength) {
17025 content = content.slice(0, maxTagTextLength) + '...';
17026 }
17027 var disabled = _this12.isChildDisabled(singleValue.key);
17028 var choiceClassName = disabled ? clsPrefix + '-selection-choice ' + clsPrefix + '-selection-choice-disabled' : clsPrefix + '-selection-choice';
17029 return _react2["default"].createElement(
17030 'li',
17031 _extends({
17032 style: _util.UNSELECTABLE_STYLE
17033 }, _util.UNSELECTABLE_ATTRIBUTE, {
17034 onMouseDown: _util.preventDefaultEvent,
17035 className: choiceClassName,
17036 key: singleValue.key,
17037 title: title
17038 }),
17039 _react2["default"].createElement(
17040 'div',
17041 { className: clsPrefix + '-selection-choice-content' },
17042 content
17043 ),
17044 disabled ? null : _react2["default"].createElement('span', {
17045 className: clsPrefix + '-selection-choice-remove',
17046 onClick: _this12.removeSelected.bind(_this12, singleValue.key)
17047 })
17048 );
17049 });
17050 }
17051 selectedValueNodes.push(_react2["default"].createElement(
17052 'li',
17053 {
17054 className: clsPrefix + '-search ' + clsPrefix + '-search--inline',
17055 key: '__input'
17056 },
17057 this.getInputElement()
17058 ));
17059
17060 innerNode = _react2["default"].createElement(
17061 'ul',
17062 null,
17063 selectedValueNodes
17064 );
17065 }
17066 return _react2["default"].createElement(
17067 'div',
17068 { className: className, name: 'input', ref: 'input' },
17069 this.getPlaceholderElement(),
17070 innerNode
17071 );
17072 };
17073
17074 RcSelect.prototype.render = function render() {
17075 var _rootCls;
17076
17077 var props = this.props;
17078 var multiple = (0, _util.isMultipleOrTags)(props);
17079 var state = this.state;
17080 var className = props.className,
17081 disabled = props.disabled,
17082 allowClear = props.allowClear,
17083 clsPrefix = props.clsPrefix;
17084
17085 var ctrlNode = this.renderTopControlNode();
17086 var extraSelectionProps = {};
17087 var open = this.state.open;
17088
17089 var options = this._options;
17090 if (!(0, _util.isMultipleOrTagsOrCombobox)(props)) {
17091 extraSelectionProps = {
17092 onKeyDown: this.onKeyDown,
17093 tabIndex: 0
17094 };
17095 }
17096 var rootCls = (_rootCls = {}, _defineProperty(_rootCls, className, !!className), _defineProperty(_rootCls, clsPrefix, 1), _defineProperty(_rootCls, clsPrefix + '-open', open), _defineProperty(_rootCls, clsPrefix + '-focused', open || !!this._focused), _defineProperty(_rootCls, clsPrefix + '-combobox', (0, _util.isCombobox)(props)), _defineProperty(_rootCls, clsPrefix + '-disabled', disabled), _defineProperty(_rootCls, clsPrefix + '-enabled', !disabled), _defineProperty(_rootCls, clsPrefix + '-allow-clear', !!props.allowClear), _rootCls);
17097 var clearStyle = _extends({}, _util.UNSELECTABLE_STYLE, {
17098 display: 'none'
17099 });
17100 if (state.inputValue || state.value.length) {
17101 clearStyle.display = 'block';
17102 }
17103 var clear = _react2["default"].createElement('span', _extends({
17104 key: 'clear',
17105 onMouseDown: _util.preventDefaultEvent,
17106 style: clearStyle
17107 }, _util.UNSELECTABLE_ATTRIBUTE, {
17108 className: clsPrefix + '-selection-clear',
17109 onClick: this.onClearSelection
17110 }));
17111
17112 var attr = {};
17113 if (this.props.haveFocus) {
17114 attr.onBlur = this.onOuterBlur;
17115 attr.onFocus = this.onOuterFocus;
17116 }
17117 return _react2["default"].createElement(
17118 _SelectTrigger2["default"],
17119 {
17120 onPopupFocus: this.onPopupFocus,
17121 dropdownAlign: props.dropdownAlign,
17122 dropdownClassName: props.dropdownClassName,
17123 dropdownMatchSelectWidth: props.dropdownMatchSelectWidth,
17124 defaultActiveFirstOption: props.defaultActiveFirstOption,
17125 dropdownMenuStyle: props.dropdownMenuStyle,
17126 transitionName: props.transitionName,
17127 animation: props.animation,
17128 clsPrefix: props.clsPrefix,
17129 dropdownStyle: props.dropdownStyle,
17130 combobox: props.combobox,
17131 showSearch: props.showSearch,
17132 options: options,
17133 multiple: multiple,
17134 disabled: disabled,
17135 visible: open,
17136 inputValue: state.inputValue,
17137 value: state.value,
17138 onDropdownVisibleChange: this.onDropdownVisibleChange,
17139 getPopupContainer: props.getPopupContainer,
17140 onMenuSelect: this.onMenuSelect,
17141 onMenuDeselect: this.onMenuDeselect,
17142 scrollToEnd: props.scrollToEnd,
17143 ref: 'trigger'
17144 },
17145 _react2["default"].createElement(
17146 'div',
17147 _extends({
17148 style: props.style,
17149 ref: 'root'
17150 // onBlur={this.onOuterBlur}
17151 // onFocus={this.onOuterFocus}
17152 }, attr, {
17153 onClick: this.onOutClick,
17154 className: (0, _classnames2["default"])(rootCls)
17155 }),
17156 _react2["default"].createElement(
17157 'div',
17158 _extends({
17159 ref: 'selection',
17160 key: 'selection',
17161 className: clsPrefix + '-selection \n ' + clsPrefix + '-selection--' + (multiple ? 'multiple' : 'single'),
17162 role: 'combobox',
17163 'aria-autocomplete': 'list',
17164 'aria-haspopup': 'true',
17165 'aria-expanded': open
17166 }, extraSelectionProps),
17167 ctrlNode,
17168 allowClear && !multiple ? clear : null,
17169 multiple || !props.showArrow ? null : _react2["default"].createElement(
17170 'span',
17171 _extends({
17172 key: 'arrow',
17173 className: clsPrefix + '-arrow',
17174 style: _util.UNSELECTABLE_STYLE
17175 }, _util.UNSELECTABLE_ATTRIBUTE, {
17176 onMouseDown: _util.preventDefaultEvent,
17177 onClick: this.onArrowClick
17178 }),
17179 _react2["default"].createElement('b', null)
17180 )
17181 )
17182 )
17183 );
17184 };
17185
17186 return RcSelect;
17187 }(_react.Component);
17188
17189 ;
17190
17191 RcSelect.defaultProps = defaultProps;
17192 RcSelect.propTypes = propTypes;
17193
17194 exports["default"] = RcSelect;
17195 module.exports = exports['default'];
17196
17197/***/ }),
17198/* 271 */
17199/***/ (function(module, exports, __webpack_require__) {
17200
17201 'use strict';
17202
17203 Object.defineProperty(exports, "__esModule", {
17204 value: true
17205 });
17206
17207 var _VerticalMenu = __webpack_require__(272);
17208
17209 var _VerticalMenu2 = _interopRequireDefault(_VerticalMenu);
17210
17211 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
17212
17213 exports["default"] = _VerticalMenu2["default"];
17214 module.exports = exports['default'];
17215
17216/***/ }),
17217/* 272 */
17218/***/ (function(module, exports, __webpack_require__) {
17219
17220 'use strict';
17221
17222 Object.defineProperty(exports, "__esModule", {
17223 value: true
17224 });
17225
17226 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; };
17227
17228 var _react = __webpack_require__(4);
17229
17230 var _react2 = _interopRequireDefault(_react);
17231
17232 var _ExportMenu = __webpack_require__(273);
17233
17234 var _ExportMenu2 = _interopRequireDefault(_ExportMenu);
17235
17236 var _openAnimation = __webpack_require__(289);
17237
17238 var _openAnimation2 = _interopRequireDefault(_openAnimation);
17239
17240 var _warning = __webpack_require__(290);
17241
17242 var _warning2 = _interopRequireDefault(_warning);
17243
17244 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
17245
17246 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; }
17247
17248 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
17249
17250 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; }
17251
17252 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); }
17253
17254 var Menu = function (_React$Component) {
17255 _inherits(Menu, _React$Component);
17256
17257 function Menu(props) {
17258 _classCallCheck(this, Menu);
17259
17260 var _this = _possibleConstructorReturn(this, _React$Component.call(this, props));
17261
17262 _this.handleClick = function (e) {
17263 _this.setOpenKeys([]);
17264
17265 var onClick = _this.props.onClick;
17266 if (onClick) {
17267 onClick(e);
17268 }
17269 };
17270
17271 _this.handleOpenChange = function (openKeys) {
17272 _this.setOpenKeys(openKeys);
17273
17274 var onOpenChange = _this.props.onOpenChange;
17275 if (onOpenChange) {
17276 onOpenChange(openKeys);
17277 }
17278 };
17279
17280 (0, _warning2["default"])(!('onOpen' in props || 'onClose' in props), '`onOpen` and `onClose` are removed, please use `onOpenChange` instead.');
17281
17282 _this.state = {
17283 openKeys: []
17284 };
17285 _this.rcMenu = {};
17286 return _this;
17287 }
17288
17289 Menu.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
17290 if (this.props.mode === 'inline' && nextProps.mode !== 'inline') {
17291 this.switchModeFromInline = true;
17292 }
17293 if ('openKeys' in nextProps) {
17294 this.setOpenKeys(nextProps.openKeys);
17295 }
17296 };
17297
17298 Menu.prototype.setOpenKeys = function setOpenKeys(openKeys) {
17299 if (!('openKeys' in this.props)) {
17300 this.setState({ openKeys: openKeys });
17301 }
17302 };
17303
17304 Menu.prototype.render = function render() {
17305 var _this2 = this;
17306
17307 var openAnimation = this.props.openAnimation || this.props.openTransitionName;
17308 if (!openAnimation) {
17309 switch (this.props.mode) {
17310 case 'horizontal':
17311 openAnimation = 'slide-up';
17312 break;
17313 case 'vertical':
17314 // When mode switch from inline
17315 // submenu should hide without animation
17316 if (this.switchModeFromInline) {
17317 openAnimation = '';
17318 this.switchModeFromInline = false;
17319 } else {
17320 openAnimation = 'zoom-big';
17321 }
17322 break;
17323 case 'inline':
17324 openAnimation = _openAnimation2["default"];
17325 break;
17326 default:
17327 }
17328 }
17329
17330 var props = {};
17331 var className = this.props.className + ' ' + this.props.prefixCls + '-' + this.props.theme;
17332 if (this.props.mode !== 'inline') {
17333 // 这组属性的目的是
17334 // 弹出型的菜单需要点击后立即关闭
17335 // 另外,弹出型的菜单的受控模式没有使用场景
17336 props = {
17337 openKeys: this.state.openKeys,
17338 onClick: this.handleClick,
17339 onOpenChange: this.handleOpenChange,
17340 openTransitionName: openAnimation,
17341 className: className
17342 };
17343 } else {
17344 props = {
17345 openAnimation: openAnimation,
17346 className: className
17347 };
17348 }
17349 return _react2["default"].createElement(_ExportMenu2["default"], _extends({ ref: function ref(el) {
17350 return _this2.rcMenu = el;
17351 } }, this.props, props));
17352 };
17353
17354 return Menu;
17355 }(_react2["default"].Component);
17356
17357 Menu.defaultProps = {
17358 prefixCls: 'u-menu',
17359 className: '',
17360 theme: 'light' // or dark
17361 };
17362
17363 Menu.Divider = _ExportMenu.Divider;
17364 Menu.Item = _ExportMenu.Item;
17365 Menu.SubMenu = _ExportMenu.SubMenu;
17366 Menu.ItemGroup = _ExportMenu.ItemGroup;
17367 Menu.MenuToggle = _ExportMenu.MenuToggle;
17368 Menu.SideContainer = _ExportMenu.SideContainer;
17369 exports["default"] = Menu;
17370 module.exports = exports['default'];
17371
17372/***/ }),
17373/* 273 */
17374/***/ (function(module, exports, __webpack_require__) {
17375
17376 'use strict';
17377
17378 Object.defineProperty(exports, "__esModule", {
17379 value: true
17380 });
17381 exports.MenuToggle = exports.SideContainer = exports.Divider = exports.ItemGroup = exports.MenuItemGroup = exports.MenuItem = exports.Item = exports.SubMenu = undefined;
17382
17383 var _Menu = __webpack_require__(274);
17384
17385 var _Menu2 = _interopRequireDefault(_Menu);
17386
17387 var _SubMenu = __webpack_require__(277);
17388
17389 var _SubMenu2 = _interopRequireDefault(_SubMenu);
17390
17391 var _MenuItem = __webpack_require__(284);
17392
17393 var _MenuItem2 = _interopRequireDefault(_MenuItem);
17394
17395 var _MenuItemGroup = __webpack_require__(285);
17396
17397 var _MenuItemGroup2 = _interopRequireDefault(_MenuItemGroup);
17398
17399 var _Divider = __webpack_require__(286);
17400
17401 var _Divider2 = _interopRequireDefault(_Divider);
17402
17403 var _SideContainer = __webpack_require__(287);
17404
17405 var _SideContainer2 = _interopRequireDefault(_SideContainer);
17406
17407 var _MenuToggle = __webpack_require__(288);
17408
17409 var _MenuToggle2 = _interopRequireDefault(_MenuToggle);
17410
17411 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
17412
17413 exports.SubMenu = _SubMenu2["default"];
17414 exports.Item = _MenuItem2["default"];
17415 exports.MenuItem = _MenuItem2["default"];
17416 exports.MenuItemGroup = _MenuItemGroup2["default"];
17417 exports.ItemGroup = _MenuItemGroup2["default"];
17418 exports.Divider = _Divider2["default"];
17419 exports.SideContainer = _SideContainer2["default"];
17420 exports.MenuToggle = _MenuToggle2["default"];
17421 exports["default"] = _Menu2["default"];
17422
17423/***/ }),
17424/* 274 */
17425/***/ (function(module, exports, __webpack_require__) {
17426
17427 'use strict';
17428
17429 Object.defineProperty(exports, "__esModule", {
17430 value: true
17431 });
17432
17433 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; };
17434
17435 var _react = __webpack_require__(4);
17436
17437 var _react2 = _interopRequireDefault(_react);
17438
17439 var _propTypes = __webpack_require__(5);
17440
17441 var _propTypes2 = _interopRequireDefault(_propTypes);
17442
17443 var _util = __webpack_require__(275);
17444
17445 var _classnames = __webpack_require__(3);
17446
17447 var _classnames2 = _interopRequireDefault(_classnames);
17448
17449 var _DOMWrap = __webpack_require__(276);
17450
17451 var _DOMWrap2 = _interopRequireDefault(_DOMWrap);
17452
17453 var _tinperBeeCore = __webpack_require__(26);
17454
17455 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
17456
17457 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; }
17458
17459 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; }
17460
17461 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
17462
17463 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; }
17464
17465 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); }
17466
17467 function saveRef(index, subIndex, c) {
17468 if (c) {
17469 if (subIndex !== undefined) {
17470 this.instanceArray[index] = this.instanceArray[index] || [];
17471 this.instanceArray[index][subIndex] = c;
17472 } else {
17473 this.instanceArray[index] = c;
17474 }
17475 }
17476 }
17477 function allDisabled(arr) {
17478 if (!arr.length) {
17479 return true;
17480 }
17481 return arr.every(function (c) {
17482 return !!c.props.disabled;
17483 });
17484 }
17485
17486 function getActiveKey(props, originalActiveKey) {
17487 var activeKey = originalActiveKey;
17488 var children = props.children,
17489 eventKey = props.eventKey;
17490
17491 if (activeKey) {
17492 var found = void 0;
17493 (0, _util.loopMenuItem)(children, function (c, i) {
17494 if (c && !c.props.disabled && activeKey === (0, _util.getKeyFromChildrenIndex)(c, eventKey, i)) {
17495 found = true;
17496 }
17497 });
17498 if (found) {
17499 return activeKey;
17500 }
17501 }
17502 activeKey = null;
17503 if (props.defaultActiveFirst) {
17504 (0, _util.loopMenuItem)(children, function (c, i) {
17505 if (!activeKey && c && !c.props.disabled) {
17506 activeKey = (0, _util.getKeyFromChildrenIndex)(c, eventKey, i);
17507 }
17508 });
17509 return activeKey;
17510 }
17511 return activeKey;
17512 }
17513
17514 var propTypes = {
17515
17516 openSubMenuOnMouseEnter: _propTypes2["default"].bool,
17517 closeSubMenuOnMouseLeave: _propTypes2["default"].bool,
17518 selectedKeys: _propTypes2["default"].oneOfType([_propTypes2["default"].array, _propTypes2["default"].string]),
17519 defaultSelectedKeys: _propTypes2["default"].arrayOf(_propTypes2["default"].string),
17520 defaultOpenKeys: _propTypes2["default"].arrayOf(_propTypes2["default"].string),
17521 openKeys: _propTypes2["default"].arrayOf(_propTypes2["default"].string),
17522 mode: _propTypes2["default"].string,
17523 onClick: _propTypes2["default"].func,
17524 onSelect: _propTypes2["default"].func,
17525 onDeselect: _propTypes2["default"].func,
17526 onDestroy: _propTypes2["default"].func,
17527 openTransitionName: _propTypes2["default"].string,
17528 openAnimation: _propTypes2["default"].oneOfType([_propTypes2["default"].string, _propTypes2["default"].object]),
17529 level: _propTypes2["default"].number,
17530 eventKey: _propTypes2["default"].string,
17531 selectable: _propTypes2["default"].bool,
17532 children: _propTypes2["default"].any,
17533
17534 focusable: _propTypes2["default"].bool,
17535 multiple: _propTypes2["default"].bool,
17536 style: _propTypes2["default"].object,
17537 defaultActiveFirst: _propTypes2["default"].bool,
17538 visible: _propTypes2["default"].bool,
17539 activeKey: _propTypes2["default"].string
17540
17541 };
17542 var defaultProps = {
17543 openSubMenuOnMouseEnter: true,
17544 closeSubMenuOnMouseLeave: true,
17545 selectable: true,
17546 onClick: _util.noop,
17547 onSelect: _util.noop,
17548 onOpenChange: _util.noop,
17549 onDeselect: _util.noop,
17550 defaultSelectedKeys: [],
17551 defaultOpenKeys: [],
17552
17553 clsPrefix: 'u-menu',
17554 className: '',
17555 mode: 'vertical',
17556 level: 1,
17557 inlineIndent: 24,
17558 visible: true,
17559 focusable: true,
17560 style: {}
17561 };
17562
17563 var Menu = function (_Component) {
17564 _inherits(Menu, _Component);
17565
17566 function Menu(props) {
17567 _classCallCheck(this, Menu);
17568
17569 var _this = _possibleConstructorReturn(this, _Component.call(this, props));
17570
17571 var selectedKeys = _this.props.defaultSelectedKeys;
17572 var openKeys = _this.props.defaultOpenKeys;
17573 if ('selectedKeys' in _this.props) {
17574 selectedKeys = _this.props.selectedKeys || [];
17575 }
17576 if ('openKeys' in props) {
17577 openKeys = _this.props.openKeys || [];
17578 }
17579
17580 _this.state = {
17581 selectedKeys: selectedKeys,
17582 openKeys: openKeys,
17583 activeKey: getActiveKey(_this.props, _this.props.activeKey)
17584 //activeKey: getActiveKey(this.props, this.props.activeKey),
17585 };
17586 _this.renderMenuItem = _this.renderMenuItem.bind(_this);
17587 _this.onDestroy = _this.onDestroy.bind(_this);
17588 _this.onItemHover = _this.onItemHover.bind(_this);
17589 _this.onSelect = _this.onSelect.bind(_this);
17590 _this.onOpenChange = _this.onOpenChange.bind(_this);
17591 _this.onClick = _this.onClick.bind(_this);
17592 _this.onDeselect = _this.onDeselect.bind(_this);
17593 _this.getOpenTransitionName = _this.getOpenTransitionName.bind(_this);
17594 _this.isInlineMode = _this.isInlineMode.bind(_this);
17595 _this.lastOpenSubMenu = _this.lastOpenSubMenu.bind(_this);
17596 _this.renderMenuItem = _this.renderMenuItem.bind(_this);
17597
17598 _this.renderCommonMenuItem = _this.renderCommonMenuItem.bind(_this);
17599 _this.renderRoot = _this.renderRoot.bind(_this);
17600 _this.getOpenChangesOnItemHover = _this.getOpenChangesOnItemHover.bind(_this);
17601 _this.getFlatInstanceArray = _this.getFlatInstanceArray.bind(_this);
17602 _this.onKeyDown = _this.onKeyDown.bind(_this);
17603 _this.step = _this.step.bind(_this);
17604
17605 return _this;
17606 }
17607
17608 Menu.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
17609 var props = {};
17610 if ('selectedKeys' in nextProps) {
17611 props.selectedKeys = nextProps.selectedKeys;
17612 }
17613 if ('openKeys' in nextProps) {
17614 props.openKeys = nextProps.openKeys;
17615 }
17616
17617 if ('activeKey' in nextProps) {
17618 props.activeKey = getActiveKey(nextProps, nextProps.activeKey);
17619 } else {
17620 var originalActiveKey = this.state.activeKey;
17621 var activeKey = getActiveKey(nextProps, originalActiveKey);
17622 // fix: this.setState(), parent.render(),
17623 if (activeKey !== originalActiveKey) {
17624 props.activeKey = activeKey;
17625 }
17626 }
17627
17628 this.setState(props);
17629 };
17630
17631 Menu.prototype.componentWillMount = function componentWillMount() {
17632 this.instanceArray = [];
17633 };
17634
17635 Menu.prototype.onDestroy = function onDestroy(key) {
17636 var state = this.state;
17637 var props = this.props;
17638 var selectedKeys = state.selectedKeys;
17639 var openKeys = state.openKeys;
17640 var index = selectedKeys.indexOf(key);
17641 if (!('selectedKeys' in props) && index !== -1) {
17642 selectedKeys.splice(index, 1);
17643 }
17644 index = openKeys.indexOf(key);
17645 if (!('openKeys' in props) && index !== -1) {
17646 openKeys.splice(index, 1);
17647 }
17648 };
17649
17650 Menu.prototype.onItemHover = function onItemHover(e) {
17651 var item = e.item;
17652 var _props = this.props,
17653 mode = _props.mode,
17654 closeSubMenuOnMouseLeave = _props.closeSubMenuOnMouseLeave;
17655 var _e$openChanges = e.openChanges,
17656 openChanges = _e$openChanges === undefined ? [] : _e$openChanges;
17657 // special for top sub menu
17658
17659 if (mode !== 'inline' && !closeSubMenuOnMouseLeave && item.isSubMenu) {
17660 var activeKey = this.state.activeKey;
17661 var activeItem = this.getFlatInstanceArray().filter(function (c) {
17662 return c && c.props.eventKey === activeKey;
17663 })[0];
17664 if (activeItem && activeItem.props.open) {
17665 openChanges = openChanges.concat({
17666 key: item.props.eventKey,
17667 item: item,
17668 originalEvent: e,
17669 open: true
17670 });
17671 }
17672 }
17673 openChanges = openChanges.concat(this.getOpenChangesOnItemHover(e));
17674 if (openChanges.length) {
17675 this.onOpenChange(openChanges);
17676 }
17677 };
17678
17679 Menu.prototype.onSelect = function onSelect(selectInfo) {
17680 var props = this.props;
17681 if (props.selectable) {
17682 // root menu
17683 var selectedKeys = this.state.selectedKeys;
17684 var selectedKey = selectInfo.key;
17685 if (props.multiple) {
17686 selectedKeys = selectedKeys.concat([selectedKey]);
17687 } else {
17688 selectedKeys = [selectedKey];
17689 }
17690 if (!('selectedKeys' in props)) {
17691 this.setState({
17692 selectedKeys: selectedKeys
17693 });
17694 }
17695 props.onSelect(_extends({}, selectInfo, {
17696 selectedKeys: selectedKeys
17697 }));
17698 }
17699 };
17700
17701 Menu.prototype.onClick = function onClick(e) {
17702 this.props.onClick(e);
17703 };
17704
17705 Menu.prototype.onOpenChange = function onOpenChange(e_) {
17706 var props = this.props;
17707 var openKeys = this.state.openKeys.concat();
17708 var changed = false;
17709 var processSingle = function processSingle(e) {
17710 var oneChanged = false;
17711 if (e.open) {
17712 oneChanged = openKeys.indexOf(e.key) === -1;
17713 if (oneChanged) {
17714 openKeys.push(e.key);
17715 }
17716 } else {
17717 var index = openKeys.indexOf(e.key);
17718 oneChanged = index !== -1;
17719 if (oneChanged) {
17720 openKeys.splice(index, 1);
17721 }
17722 }
17723 changed = changed || oneChanged;
17724 };
17725 if (Array.isArray(e_)) {
17726 // batch change call
17727 e_.forEach(processSingle);
17728 } else {
17729 processSingle(e_);
17730 }
17731 if (changed) {
17732 if (!('openKeys' in this.props)) {
17733 this.setState({ openKeys: openKeys });
17734 }
17735 props.onOpenChange(openKeys);
17736 }
17737 };
17738
17739 Menu.prototype.onDeselect = function onDeselect(selectInfo) {
17740 var props = this.props;
17741 if (props.selectable) {
17742 var selectedKeys = this.state.selectedKeys.concat();
17743 var selectedKey = selectInfo.key;
17744 var index = selectedKeys.indexOf(selectedKey);
17745 if (index !== -1) {
17746 selectedKeys.splice(index, 1);
17747 }
17748 if (!('selectedKeys' in props)) {
17749 this.setState({
17750 selectedKeys: selectedKeys
17751 });
17752 }
17753 props.onDeselect(_extends({}, selectInfo, {
17754 selectedKeys: selectedKeys
17755 }));
17756 }
17757 };
17758
17759 Menu.prototype.getOpenTransitionName = function getOpenTransitionName() {
17760 var props = this.props;
17761 var transitionName = props.openTransitionName;
17762 var animationName = props.openAnimation;
17763 if (!transitionName && typeof animationName === 'string') {
17764 transitionName = props.clsPrefix + '-open-' + animationName;
17765 }
17766 return transitionName;
17767 };
17768
17769 Menu.prototype.isInlineMode = function isInlineMode() {
17770 return this.props.mode === 'inline';
17771 };
17772
17773 Menu.prototype.lastOpenSubMenu = function lastOpenSubMenu() {
17774 var lastOpen = [];
17775 var openKeys = this.state.openKeys;
17776
17777 if (openKeys.length) {
17778 lastOpen = this.getFlatInstanceArray().filter(function (c) {
17779 return c && openKeys.indexOf(c.props.eventKey) !== -1;
17780 });
17781 }
17782 return lastOpen[0];
17783 };
17784
17785 Menu.prototype.renderMenuItem = function renderMenuItem(c, i, subIndex) {
17786 if (!c) {
17787 return null;
17788 }
17789 var state = this.state;
17790 var extraProps = {
17791 openKeys: state.openKeys,
17792 selectedKeys: state.selectedKeys,
17793 openSubMenuOnMouseEnter: this.props.openSubMenuOnMouseEnter
17794 };
17795 return this.renderCommonMenuItem(c, i, subIndex, extraProps);
17796 };
17797
17798 Menu.prototype.renderCommonMenuItem = function renderCommonMenuItem(child, i, subIndex, extraProps) {
17799 var state = this.state;
17800 var props = this.props;
17801 var key = (0, _util.getKeyFromChildrenIndex)(child, props.eventKey, i);
17802 var childProps = child.props;
17803 var isActive = key === state.activeKey;
17804 var newChildProps = _extends({
17805 mode: props.mode,
17806 level: props.level,
17807 inlineIndent: props.inlineIndent,
17808 renderMenuItem: this.renderMenuItem,
17809 rootPrefixCls: props.clsPrefix,
17810 index: i,
17811 parentMenu: this,
17812 ref: childProps.disabled ? undefined : (0, _tinperBeeCore.createChainedFunction)(child.ref, saveRef.bind(this, i, subIndex)),
17813 eventKey: key,
17814 closeSubMenuOnMouseLeave: props.closeSubMenuOnMouseLeave,
17815 onItemHover: this.onItemHover,
17816 active: !childProps.disabled && isActive,
17817 multiple: props.multiple,
17818 onClick: this.onClick,
17819 openTransitionName: this.getOpenTransitionName(),
17820 openAnimation: props.openAnimation,
17821 onOpenChange: this.onOpenChange,
17822 onDeselect: this.onDeselect,
17823 onDestroy: this.onDestroy,
17824 onSelect: this.onSelect
17825 }, extraProps);
17826 if (props.mode === 'inline') {
17827 newChildProps.closeSubMenuOnMouseLeave = newChildProps.openSubMenuOnMouseEnter = false;
17828 }
17829 return _react2["default"].cloneElement(child, newChildProps);
17830 };
17831
17832 Menu.prototype.getOpenChangesOnItemHover = function getOpenChangesOnItemHover(e) {
17833 var mode = this.props.mode;
17834 var key = e.key,
17835 hover = e.hover,
17836 trigger = e.trigger;
17837
17838 var activeKey = this.state.activeKey;
17839 if (!trigger || hover || this.props.closeSubMenuOnMouseLeave || !e.item.isSubMenu || mode === 'inline') {
17840 this.setState({
17841 activeKey: hover ? key : null
17842 });
17843 } else {}
17844 // keep active for sub menu for click active
17845 // empty
17846
17847 // clear last open status
17848 if (hover && mode !== 'inline') {
17849 var activeItem = this.getFlatInstanceArray().filter(function (c) {
17850 return c && c.props.eventKey === activeKey;
17851 })[0];
17852 if (activeItem && activeItem.isSubMenu && activeItem.props.eventKey !== key) {
17853 return {
17854 item: activeItem,
17855 originalEvent: e,
17856 key: activeItem.props.eventKey,
17857 open: false
17858 };
17859 }
17860 }
17861 return [];
17862 };
17863
17864 Menu.prototype.getFlatInstanceArray = function getFlatInstanceArray() {
17865 var instanceArray = this.instanceArray;
17866 var hasInnerArray = instanceArray.some(function (a) {
17867 return Array.isArray(a);
17868 });
17869 if (hasInnerArray) {
17870 instanceArray = [];
17871 this.instanceArray.forEach(function (a) {
17872 if (Array.isArray(a)) {
17873 instanceArray.push.apply(instanceArray, a);
17874 } else {
17875 instanceArray.push(a);
17876 }
17877 });
17878 this.instanceArray = instanceArray;
17879 }
17880 return instanceArray;
17881 };
17882
17883 Menu.prototype.step = function step(direction) {
17884 var children = this.getFlatInstanceArray();
17885 var activeKey = this.state.activeKey;
17886 var len = children.length;
17887 if (!len) {
17888 return null;
17889 }
17890 if (direction < 0) {
17891 children = children.concat().reverse();
17892 }
17893 // find current activeIndex
17894 var activeIndex = -1;
17895 children.every(function (c, ci) {
17896 if (c && c.props.eventKey === activeKey) {
17897 activeIndex = ci;
17898 return false;
17899 }
17900 return true;
17901 });
17902 if (!this.props.defaultActiveFirst && activeIndex !== -1) {
17903 if (allDisabled(children.slice(activeIndex, len - 1))) {
17904 return undefined;
17905 }
17906 }
17907 var start = (activeIndex + 1) % len;
17908 var i = start;
17909 for (;;) {
17910 var child = children[i];
17911 if (!child || child.props.disabled) {
17912 i = (i + 1 + len) % len;
17913 // complete a loop
17914 if (i === start) {
17915 return null;
17916 }
17917 } else {
17918 return child;
17919 }
17920 }
17921 };
17922
17923 Menu.prototype.onKeyDown = function onKeyDown(e) {
17924 var _this2 = this;
17925
17926 var keyCode = e.keyCode;
17927 var handled = void 0;
17928 this.getFlatInstanceArray().forEach(function (obj) {
17929 if (obj && obj.props.active) {
17930 handled = obj.onKeyDown(e);
17931 }
17932 });
17933 if (handled) {
17934 return 1;
17935 }
17936 var activeItem = null;
17937 if (keyCode === _tinperBeeCore.KeyCode.UP || keyCode === _tinperBeeCore.KeyCode.DOWN) {
17938 activeItem = this.step(keyCode === _tinperBeeCore.KeyCode.UP ? -1 : 1);
17939 }
17940 if (activeItem) {
17941 e.preventDefault();
17942 this.setState({
17943 activeKey: activeItem.props.eventKey
17944 }, function () {
17945 scrollIntoView(ReactDOM.findDOMNode(activeItem), ReactDOM.findDOMNode(_this2), {
17946 onlyScrollIfNeeded: true
17947 });
17948 });
17949 return 1;
17950 } else if (activeItem === undefined) {
17951 e.preventDefault();
17952 this.setState({
17953 activeKey: null
17954 });
17955 return 1;
17956 }
17957 };
17958
17959 Menu.prototype.renderRoot = function renderRoot(props) {
17960 var _classes;
17961
17962 this.instanceArray = [];
17963 var classes = (_classes = {}, _defineProperty(_classes, props.clsPrefix, 1), _defineProperty(_classes, props.clsPrefix + '-' + props.mode, 1), _defineProperty(_classes, props.className, !!props.className), _classes);
17964 var domProps = {
17965 className: (0, _classnames2["default"])(classes),
17966 role: 'menu',
17967 'aria-activedescendant': ''
17968 };
17969 if (props.id) {
17970 domProps.id = props.id;
17971 }
17972 if (props.focusable) {
17973 domProps.tabIndex = '0';
17974 domProps.onKeyDown = this.onKeyDown;
17975 }
17976 return (
17977 // ESLint is not smart enough to know that the type of `children` was checked.
17978 /* eslint-disable */
17979 _react2["default"].createElement(
17980 _DOMWrap2["default"],
17981 _extends({
17982 style: props.style,
17983 tag: 'ul',
17984 hiddenClassName: props.clsPrefix + '-hidden',
17985 visible: props.visible
17986 }, domProps),
17987 _react2["default"].Children.map(props.children, this.renderMenuItem.bind(this))
17988 )
17989 /*eslint-enable */
17990
17991 );
17992 };
17993
17994 Menu.prototype.render = function render() {
17995 var props = _extends({}, this.props);
17996 props.className += ' ' + props.clsPrefix + '-root';
17997 return this.renderRoot(props);
17998 };
17999
18000 return Menu;
18001 }(_react.Component);
18002
18003 ;
18004
18005 Menu.propTypes = propTypes;
18006 Menu.defaultProps = defaultProps;
18007
18008 exports["default"] = Menu;
18009 module.exports = exports['default'];
18010
18011/***/ }),
18012/* 275 */
18013/***/ (function(module, exports, __webpack_require__) {
18014
18015 'use strict';
18016
18017 Object.defineProperty(exports, "__esModule", {
18018 value: true
18019 });
18020 exports.noop = noop;
18021 exports.getKeyFromChildrenIndex = getKeyFromChildrenIndex;
18022 exports.loopMenuItem = loopMenuItem;
18023 exports.loopMenuItemRecusively = loopMenuItemRecusively;
18024
18025 var _react = __webpack_require__(4);
18026
18027 var _react2 = _interopRequireDefault(_react);
18028
18029 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
18030
18031 function noop() {}
18032
18033 function getKeyFromChildrenIndex(child, menuEventKey, index) {
18034 var prefix = menuEventKey || '';
18035 return child.key || prefix + 'item_' + index;
18036 }
18037
18038 function loopMenuItem(children, cb) {
18039 var index = -1;
18040 _react2["default"].Children.forEach(children, function (c) {
18041 index++;
18042 if (c && c.type && c.type.isMenuItemGroup) {
18043 _react2["default"].Children.forEach(c.props.children, function (c2) {
18044 index++;
18045 cb(c2, index);
18046 });
18047 } else {
18048 cb(c, index);
18049 }
18050 });
18051 }
18052
18053 function loopMenuItemRecusively(children, keys, ret) {
18054 if (!children || ret.find) {
18055 return;
18056 }
18057 _react2["default"].Children.forEach(children, function (c) {
18058 if (ret.find) {
18059 return;
18060 }
18061 if (c) {
18062 var construt = c.type;
18063 if (!construt || !(construt.isSubMenu || construt.isMenuItem || construt.isMenuItemGroup)) {
18064 return;
18065 }
18066 if (keys.indexOf(c.key) !== -1) {
18067 ret.find = true;
18068 } else if (c.props.children) {
18069 loopMenuItemRecusively(c.props.children, keys, ret);
18070 }
18071 }
18072 });
18073 }
18074
18075/***/ }),
18076/* 276 */
18077/***/ (function(module, exports, __webpack_require__) {
18078
18079 'use strict';
18080
18081 Object.defineProperty(exports, "__esModule", {
18082 value: true
18083 });
18084
18085 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; };
18086
18087 var _react = __webpack_require__(4);
18088
18089 var _react2 = _interopRequireDefault(_react);
18090
18091 var _propTypes = __webpack_require__(5);
18092
18093 var _propTypes2 = _interopRequireDefault(_propTypes);
18094
18095 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
18096
18097 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; }
18098
18099 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
18100
18101 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; }
18102
18103 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); }
18104
18105 var propTypes = {
18106 tag: _propTypes2["default"].string,
18107 hiddenClassName: _propTypes2["default"].string,
18108 visible: _propTypes2["default"].bool
18109 };
18110 var defaultProps = {
18111 tag: 'div'
18112 };
18113
18114 var DOMWrap = function (_Component) {
18115 _inherits(DOMWrap, _Component);
18116
18117 function DOMWrap() {
18118 _classCallCheck(this, DOMWrap);
18119
18120 return _possibleConstructorReturn(this, _Component.apply(this, arguments));
18121 }
18122
18123 DOMWrap.prototype.render = function render() {
18124 var props = _extends({}, this.props);
18125 if (!props.visible) {
18126 props.className = props.className || '';
18127 props.className += ' ' + props.hiddenClassName;
18128 }
18129 var Tag = props.tag;
18130 delete props.tag;
18131 delete props.hiddenClassName;
18132 delete props.visible;
18133 return _react2["default"].createElement(Tag, props);
18134 };
18135
18136 return DOMWrap;
18137 }(_react.Component);
18138
18139 ;
18140
18141 DOMWrap.propTypes = propTypes;
18142 DOMWrap.defaultProps = defaultProps;
18143
18144 exports["default"] = DOMWrap;
18145 module.exports = exports['default'];
18146
18147/***/ }),
18148/* 277 */
18149/***/ (function(module, exports, __webpack_require__) {
18150
18151 'use strict';
18152
18153 Object.defineProperty(exports, "__esModule", {
18154 value: true
18155 });
18156
18157 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; };
18158
18159 var _SubPopupMenu = __webpack_require__(278);
18160
18161 var _SubPopupMenu2 = _interopRequireDefault(_SubPopupMenu);
18162
18163 var _react = __webpack_require__(4);
18164
18165 var _react2 = _interopRequireDefault(_react);
18166
18167 var _propTypes = __webpack_require__(5);
18168
18169 var _propTypes2 = _interopRequireDefault(_propTypes);
18170
18171 var _keyCode = __webpack_require__(37);
18172
18173 var _keyCode2 = _interopRequireDefault(_keyCode);
18174
18175 var _classnames = __webpack_require__(3);
18176
18177 var _classnames2 = _interopRequireDefault(_classnames);
18178
18179 var _util = __webpack_require__(275);
18180
18181 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
18182
18183 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; }
18184
18185 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; }
18186
18187 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
18188
18189 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; }
18190
18191 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); }
18192
18193 var guid = 0;
18194
18195 var propTypes = {
18196 parentMenu: _propTypes2["default"].object,
18197 title: _propTypes2["default"].oneOfType([_propTypes2["default"].string, _propTypes2["default"].node]),
18198 children: _propTypes2["default"].any,
18199 selectedKeys: _propTypes2["default"].array,
18200 openKeys: _propTypes2["default"].array,
18201 onClick: _propTypes2["default"].func,
18202 onOpenChange: _propTypes2["default"].func,
18203 rootPrefixCls: _propTypes2["default"].string,
18204 eventKey: _propTypes2["default"].string,
18205 multiple: _propTypes2["default"].bool,
18206 active: _propTypes2["default"].bool,
18207 onSelect: _propTypes2["default"].func,
18208 closeSubMenuOnMouseLeave: _propTypes2["default"].bool,
18209 openSubMenuOnMouseEnter: _propTypes2["default"].bool,
18210 onDeselect: _propTypes2["default"].func,
18211 onDestroy: _propTypes2["default"].func,
18212 onItemHover: _propTypes2["default"].func,
18213 onMouseEnter: _propTypes2["default"].func,
18214 onMouseLeave: _propTypes2["default"].func,
18215 onTitleMouseEnter: _propTypes2["default"].func,
18216 onTitleMouseLeave: _propTypes2["default"].func,
18217 onTitleClick: _propTypes2["default"].func
18218 };
18219 var defaultProps = {
18220 onMouseEnter: _util.noop,
18221 onMouseLeave: _util.noop,
18222 onTitleMouseEnter: _util.noop,
18223 onTitleMouseLeave: _util.noop,
18224 onTitleClick: _util.noop,
18225 title: ''
18226 };
18227
18228 var SubMenu = function (_Component) {
18229 _inherits(SubMenu, _Component);
18230
18231 function SubMenu(props) {
18232 _classCallCheck(this, SubMenu);
18233
18234 var _this = _possibleConstructorReturn(this, _Component.call(this, props));
18235
18236 _this.isSubMenu = 1;
18237 _this.state = {
18238 defaultActiveFirst: false
18239 };
18240
18241 _this.onDestroy = _this.onDestroy.bind(_this);
18242 _this.onKeyDown = _this.onKeyDown.bind(_this);
18243 _this.onOpenChange = _this.onOpenChange.bind(_this);
18244 _this.onMouseEnter = _this.onMouseEnter.bind(_this);
18245 _this.onTitleMouseEnter = _this.onTitleMouseEnter.bind(_this);
18246
18247 _this.onTitleMouseLeave = _this.onTitleMouseLeave.bind(_this);
18248 _this.onMouseLeave = _this.onMouseLeave.bind(_this);
18249 _this.onTitleClick = _this.onTitleClick.bind(_this);
18250 _this.onSubMenuClick = _this.onSubMenuClick.bind(_this);
18251 _this.onSelect = _this.onSelect.bind(_this);
18252 _this.onDeselect = _this.onDeselect.bind(_this);
18253
18254 _this.getPrefixCls = _this.getPrefixCls.bind(_this);
18255 _this.getActiveClassName = _this.getActiveClassName.bind(_this);
18256 _this.getSelectedClassName = _this.getSelectedClassName.bind(_this);
18257
18258 _this.getDisabledClassName = _this.getDisabledClassName.bind(_this);
18259 _this.getOpenClassName = _this.getOpenClassName.bind(_this);
18260 _this.saveMenuInstance = _this.saveMenuInstance.bind(_this);
18261 _this.addKeyPath = _this.addKeyPath.bind(_this);
18262 _this.triggerOpenChange = _this.triggerOpenChange.bind(_this);
18263 _this.clearSubMenuTimers = _this.clearSubMenuTimers.bind(_this);
18264
18265 _this.clearSubMenuLeaveTimer = _this.clearSubMenuLeaveTimer.bind(_this);
18266 _this.clearSubMenuTitleLeaveTimer = _this.clearSubMenuTitleLeaveTimer.bind(_this);
18267 _this.isChildrenSelected = _this.isChildrenSelected.bind(_this);
18268 _this.isOpen = _this.isOpen.bind(_this);
18269 _this.renderChildren = _this.renderChildren.bind(_this);
18270 return _this;
18271 }
18272
18273 SubMenu.prototype.componentWillUnmount = function componentWillUnmount() {
18274 var _props = this.props,
18275 onDestroy = _props.onDestroy,
18276 eventKey = _props.eventKey,
18277 parentMenu = _props.parentMenu;
18278
18279 this.mounted = true;
18280 if (onDestroy) {
18281 onDestroy(eventKey);
18282 }
18283 if (parentMenu.subMenuInstance === this) {
18284 this.clearSubMenuTimers();
18285 }
18286 };
18287
18288 SubMenu.prototype.componentDidMount = function componentDidMount() {
18289 this.mounted = true;
18290 };
18291
18292 SubMenu.prototype.onDestroy = function onDestroy(key) {
18293 this.props.onDestroy(key);
18294 };
18295
18296 SubMenu.prototype.onKeyDown = function onKeyDown(e) {
18297 var keyCode = e.keyCode;
18298 var menu = this.menuInstance;
18299 var isOpen = this.isOpen();
18300
18301 if (keyCode === _keyCode2["default"].ENTER) {
18302 this.onTitleClick(e);
18303 this.setState({
18304 defaultActiveFirst: true
18305 });
18306 return true;
18307 }
18308
18309 if (keyCode === _keyCode2["default"].RIGHT) {
18310 if (isOpen) {
18311 menu.onKeyDown(e);
18312 } else {
18313 this.triggerOpenChange(true);
18314 this.setState({
18315 defaultActiveFirst: true
18316 });
18317 }
18318 return true;
18319 }
18320 if (keyCode === _keyCode2["default"].LEFT) {
18321 var handled = void 0;
18322 if (isOpen) {
18323 handled = menu.onKeyDown(e);
18324 } else {
18325 return undefined;
18326 }
18327 if (!handled) {
18328 this.triggerOpenChange(false);
18329 handled = true;
18330 }
18331 return handled;
18332 }
18333
18334 if (isOpen && (keyCode === _keyCode2["default"].UP || keyCode === _keyCode2["default"].DOWN)) {
18335 return menu.onKeyDown(e);
18336 }
18337 };
18338
18339 SubMenu.prototype.onOpenChange = function onOpenChange(e) {
18340 this.props.onOpenChange(e);
18341 };
18342
18343 SubMenu.prototype.onMouseEnter = function onMouseEnter(e) {
18344 var props = this.props;
18345 this.clearSubMenuLeaveTimer(props.parentMenu.subMenuInstance !== this);
18346 props.onMouseEnter({
18347 key: props.eventKey,
18348 domEvent: e
18349 });
18350 };
18351
18352 SubMenu.prototype.onTitleMouseEnter = function onTitleMouseEnter(domEvent) {
18353 var props = this.props;
18354 var parentMenu = props.parentMenu,
18355 key = props.eventKey;
18356
18357 var item = this;
18358 this.clearSubMenuTitleLeaveTimer(parentMenu.subMenuInstance !== item);
18359 if (parentMenu.menuItemInstance) {
18360 parentMenu.menuItemInstance.clearMenuItemMouseLeaveTimer(true);
18361 }
18362 var openChanges = [];
18363 if (props.openSubMenuOnMouseEnter) {
18364 openChanges.push({
18365 key: key,
18366 item: item,
18367 trigger: 'mouseenter',
18368 open: true
18369 });
18370 }
18371 props.onItemHover({
18372 key: key,
18373 item: item,
18374 hover: true,
18375 trigger: 'mouseenter',
18376 openChanges: openChanges
18377 });
18378 this.setState({
18379 defaultActiveFirst: false
18380 });
18381 props.onTitleMouseEnter({
18382 key: key,
18383 domEvent: domEvent
18384 });
18385 };
18386
18387 SubMenu.prototype.onTitleMouseLeave = function onTitleMouseLeave(e) {
18388 var _this2 = this;
18389
18390 var props = this.props;
18391 var parentMenu = props.parentMenu,
18392 eventKey = props.eventKey;
18393
18394 parentMenu.subMenuInstance = this;
18395 parentMenu.subMenuTitleLeaveFn = function () {
18396 if (_this2.mounted) {
18397 // leave whole sub tree
18398 // still active
18399 if (props.mode === 'inline' && props.active) {
18400 props.onItemHover({
18401 key: eventKey,
18402 item: _this2,
18403 hover: false,
18404 trigger: 'mouseleave'
18405 });
18406 }
18407 props.onTitleMouseLeave({
18408 key: props.eventKey,
18409 domEvent: e
18410 });
18411 }
18412 };
18413 parentMenu.subMenuTitleLeaveTimer = setTimeout(parentMenu.subMenuTitleLeaveFn, 100);
18414 };
18415
18416 SubMenu.prototype.onMouseLeave = function onMouseLeave(e) {
18417 var _this3 = this;
18418
18419 var props = this.props;
18420 var parentMenu = props.parentMenu,
18421 eventKey = props.eventKey;
18422
18423 parentMenu.subMenuInstance = this;
18424 parentMenu.subMenuLeaveFn = function () {
18425 if (_this3.mounted) {
18426 // leave whole sub tree
18427 // still active
18428 if (props.mode !== 'inline') {
18429 var isOpen = _this3.isOpen();
18430 if (isOpen && props.closeSubMenuOnMouseLeave && props.active) {
18431 props.onItemHover({
18432 key: eventKey,
18433 item: _this3,
18434 hover: false,
18435 trigger: 'mouseleave',
18436 openChanges: [{
18437 key: eventKey,
18438 item: _this3,
18439 trigger: 'mouseleave',
18440 open: false
18441 }]
18442 });
18443 } else {
18444 if (props.active) {
18445 props.onItemHover({
18446 key: eventKey,
18447 item: _this3,
18448 hover: false,
18449 trigger: 'mouseleave'
18450 });
18451 }
18452 if (isOpen && props.closeSubMenuOnMouseLeave) {
18453 _this3.triggerOpenChange(false);
18454 }
18455 }
18456 }
18457 // trigger mouseleave
18458 props.onMouseLeave({
18459 key: eventKey,
18460 domEvent: e
18461 });
18462 }
18463 };
18464 // prevent popup menu and submenu gap
18465 parentMenu.subMenuLeaveTimer = setTimeout(parentMenu.subMenuLeaveFn, 100);
18466 };
18467
18468 SubMenu.prototype.onTitleClick = function onTitleClick(e) {
18469 var props = this.props;
18470
18471 props.onTitleClick({
18472 key: props.eventKey,
18473 domEvent: e
18474 });
18475 if (props.openSubMenuOnMouseEnter) {
18476 return;
18477 }
18478 this.triggerOpenChange(!this.isOpen(), 'click');
18479 this.setState({
18480 defaultActiveFirst: false
18481 });
18482 };
18483
18484 SubMenu.prototype.onSubMenuClick = function onSubMenuClick(info) {
18485 this.props.onClick(this.addKeyPath(info));
18486 };
18487
18488 SubMenu.prototype.onSelect = function onSelect(info) {
18489 this.props.onSelect(info);
18490 };
18491
18492 SubMenu.prototype.onDeselect = function onDeselect(info) {
18493 this.props.onDeselect(info);
18494 };
18495
18496 SubMenu.prototype.getPrefixCls = function getPrefixCls() {
18497 return this.props.rootPrefixCls + '-submenu';
18498 };
18499
18500 SubMenu.prototype.getActiveClassName = function getActiveClassName() {
18501 return this.getPrefixCls() + '-active';
18502 };
18503
18504 SubMenu.prototype.getDisabledClassName = function getDisabledClassName() {
18505 return this.getPrefixCls() + '-disabled';
18506 };
18507
18508 SubMenu.prototype.getSelectedClassName = function getSelectedClassName() {
18509 return this.getPrefixCls() + '-selected';
18510 };
18511
18512 SubMenu.prototype.getOpenClassName = function getOpenClassName() {
18513 return this.props.rootPrefixCls + '-submenu-open';
18514 };
18515
18516 SubMenu.prototype.saveMenuInstance = function saveMenuInstance(c) {
18517 this.menuInstance = c;
18518 };
18519
18520 SubMenu.prototype.addKeyPath = function addKeyPath(info) {
18521 return _extends({}, info, {
18522 keyPath: (info.keyPath || []).concat(this.props.eventKey)
18523 });
18524 };
18525
18526 SubMenu.prototype.triggerOpenChange = function triggerOpenChange(open, type) {
18527 var key = this.props.eventKey;
18528 this.onOpenChange({
18529 key: key,
18530 item: this,
18531 trigger: type,
18532 open: open
18533 });
18534 };
18535
18536 SubMenu.prototype.clearSubMenuTimers = function clearSubMenuTimers() {
18537 var callFn = void 0;
18538 this.clearSubMenuLeaveTimer(callFn);
18539 this.clearSubMenuTitleLeaveTimer(callFn);
18540 };
18541
18542 SubMenu.prototype.clearSubMenuTitleLeaveTimer = function clearSubMenuTitleLeaveTimer() {
18543 var callFn = void 0;
18544 var parentMenu = this.props.parentMenu;
18545 if (parentMenu.subMenuTitleLeaveTimer) {
18546 clearTimeout(parentMenu.subMenuTitleLeaveTimer);
18547 parentMenu.subMenuTitleLeaveTimer = null;
18548 if (callFn && parentMenu.subMenuTitleLeaveFn) {
18549 parentMenu.subMenuTitleLeaveFn();
18550 }
18551 parentMenu.subMenuTitleLeaveFn = null;
18552 }
18553 };
18554
18555 SubMenu.prototype.clearSubMenuLeaveTimer = function clearSubMenuLeaveTimer() {
18556 var callFn = void 0;
18557 var parentMenu = this.props.parentMenu;
18558 if (parentMenu.subMenuLeaveTimer) {
18559 clearTimeout(parentMenu.subMenuLeaveTimer);
18560 parentMenu.subMenuLeaveTimer = null;
18561 if (callFn && parentMenu.subMenuLeaveFn) {
18562 parentMenu.subMenuLeaveFn();
18563 }
18564 parentMenu.subMenuLeaveFn = null;
18565 }
18566 };
18567
18568 SubMenu.prototype.isChildrenSelected = function isChildrenSelected() {
18569 var ret = { find: false };
18570 (0, _util.loopMenuItemRecusively)(this.props.children, this.props.selectedKeys, ret);
18571 return ret.find;
18572 };
18573
18574 SubMenu.prototype.isOpen = function isOpen() {
18575 return this.props.openKeys.indexOf(this.props.eventKey) !== -1;
18576 };
18577
18578 SubMenu.prototype.renderChildren = function renderChildren(children) {
18579 var props = this.props;
18580 var baseProps = {
18581 mode: props.mode === 'horizontal' ? 'vertical' : props.mode,
18582 visible: this.isOpen(),
18583 level: props.level + 1,
18584 inlineIndent: props.inlineIndent,
18585 focusable: false,
18586 onClick: this.onSubMenuClick,
18587 onSelect: this.onSelect,
18588 onDeselect: this.onDeselect,
18589 onDestroy: this.onDestroy,
18590 selectedKeys: props.selectedKeys,
18591 eventKey: props.eventKey + '-menu-',
18592 openKeys: props.openKeys,
18593 openTransitionName: props.openTransitionName,
18594 openAnimation: props.openAnimation,
18595 onOpenChange: this.onOpenChange,
18596 closeSubMenuOnMouseLeave: props.closeSubMenuOnMouseLeave,
18597 defaultActiveFirst: this.state.defaultActiveFirst,
18598 multiple: props.multiple,
18599 prefixCls: props.rootPrefixCls,
18600 id: this._menuId,
18601 ref: this.saveMenuInstance
18602 };
18603 return _react2["default"].createElement(
18604 _SubPopupMenu2["default"],
18605 baseProps,
18606 children
18607 );
18608 };
18609
18610 SubMenu.prototype.render = function render() {
18611 var _classes;
18612
18613 var isOpen = this.isOpen();
18614 this.haveOpen = this.haveOpen || isOpen;
18615 var props = this.props;
18616 var prefixCls = this.getPrefixCls();
18617 var classes = (_classes = {}, _defineProperty(_classes, props.className, !!props.className), _defineProperty(_classes, prefixCls + '-' + props.mode, 1), _classes);
18618
18619 classes[this.getOpenClassName()] = isOpen;
18620 classes[this.getActiveClassName()] = props.active;
18621 classes[this.getDisabledClassName()] = props.disabled;
18622 classes[this.getSelectedClassName()] = this.isChildrenSelected();
18623
18624 if (!this._menuId) {
18625 if (props.eventKey) {
18626 this._menuId = props.eventKey + '$Menu';
18627 } else {
18628 this._menuId = '$__$' + ++guid + '$Menu';
18629 }
18630 }
18631
18632 classes[prefixCls] = true;
18633 classes[prefixCls + '-' + props.mode] = 1;
18634 var titleClickEvents = {};
18635 var mouseEvents = {};
18636 var titleMouseEvents = {};
18637 if (!props.disabled) {
18638 titleClickEvents = {
18639 onClick: this.onTitleClick
18640 };
18641 mouseEvents = {
18642 onMouseLeave: this.onMouseLeave,
18643 onMouseEnter: this.onMouseEnter
18644 };
18645 // only works in title, not outer li
18646 titleMouseEvents = {
18647 onMouseEnter: this.onTitleMouseEnter,
18648 onMouseLeave: this.onTitleMouseLeave
18649 };
18650 }
18651 var style = {};
18652 if (props.mode === 'inline') {
18653 style.paddingLeft = props.inlineIndent * props.level;
18654 }
18655 return _react2["default"].createElement(
18656 'li',
18657 _extends({ className: (0, _classnames2["default"])(classes) }, mouseEvents),
18658 _react2["default"].createElement(
18659 'div',
18660 _extends({
18661 style: style,
18662 className: prefixCls + '-title'
18663 }, titleMouseEvents, titleClickEvents, {
18664 'aria-expanded': isOpen,
18665 'aria-owns': this._menuId,
18666 'aria-haspopup': 'true'
18667 }),
18668 props.title
18669 ),
18670 this.renderChildren(props.children)
18671 );
18672 };
18673
18674 return SubMenu;
18675 }(_react.Component);
18676
18677 ;
18678
18679 SubMenu.propTypes = propTypes;
18680 SubMenu.defaultProps = defaultProps;
18681 SubMenu.isSubMenu = 1;
18682
18683 exports["default"] = SubMenu;
18684 module.exports = exports['default'];
18685
18686/***/ }),
18687/* 278 */
18688/***/ (function(module, exports, __webpack_require__) {
18689
18690 'use strict';
18691
18692 Object.defineProperty(exports, "__esModule", {
18693 value: true
18694 });
18695
18696 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; };
18697
18698 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; };
18699
18700 var _react = __webpack_require__(4);
18701
18702 var _react2 = _interopRequireDefault(_react);
18703
18704 var _propTypes = __webpack_require__(5);
18705
18706 var _propTypes2 = _interopRequireDefault(_propTypes);
18707
18708 var _beeAnimate = __webpack_require__(279);
18709
18710 var _beeAnimate2 = _interopRequireDefault(_beeAnimate);
18711
18712 var _classnames = __webpack_require__(3);
18713
18714 var _classnames2 = _interopRequireDefault(_classnames);
18715
18716 var _createChainedFunction = __webpack_require__(36);
18717
18718 var _createChainedFunction2 = _interopRequireDefault(_createChainedFunction);
18719
18720 var _util = __webpack_require__(275);
18721
18722 var _DOMWrap = __webpack_require__(276);
18723
18724 var _DOMWrap2 = _interopRequireDefault(_DOMWrap);
18725
18726 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
18727
18728 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; }
18729
18730 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; }
18731
18732 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
18733
18734 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; }
18735
18736 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); }
18737
18738 function allDisabled(arr) {
18739 if (!arr.length) {
18740 return true;
18741 }
18742 return arr.every(function (c) {
18743 return !!c.props.disabled;
18744 });
18745 }
18746
18747 function getActiveKey(props, originalActiveKey) {
18748 var activeKey = originalActiveKey;
18749 var children = props.children,
18750 eventKey = props.eventKey;
18751
18752 if (activeKey) {
18753 var found = void 0;
18754 (0, _util.loopMenuItem)(children, function (c, i) {
18755 if (c && !c.props.disabled && activeKey === (0, _util.getKeyFromChildrenIndex)(c, eventKey, i)) {
18756 found = true;
18757 }
18758 });
18759 if (found) {
18760 return activeKey;
18761 }
18762 }
18763 activeKey = null;
18764 if (props.defaultActiveFirst) {
18765 (0, _util.loopMenuItem)(children, function (c, i) {
18766 if (!activeKey && c && !c.props.disabled) {
18767 activeKey = (0, _util.getKeyFromChildrenIndex)(c, eventKey, i);
18768 }
18769 });
18770 return activeKey;
18771 }
18772 return activeKey;
18773 }
18774
18775 function saveRef(index, subIndex, c) {
18776 if (c) {
18777 if (subIndex !== undefined) {
18778 this.instanceArray[index] = this.instanceArray[index] || [];
18779 this.instanceArray[index][subIndex] = c;
18780 } else {
18781 this.instanceArray[index] = c;
18782 }
18783 }
18784 }
18785
18786 var propTypes = {
18787 onSelect: _propTypes2["default"].func,
18788 onClick: _propTypes2["default"].func,
18789 onDeselect: _propTypes2["default"].func,
18790 onOpenChange: _propTypes2["default"].func,
18791 onDestroy: _propTypes2["default"].func,
18792 openTransitionName: _propTypes2["default"].string,
18793 openAnimation: _propTypes2["default"].oneOfType([_propTypes2["default"].string, _propTypes2["default"].object]),
18794 openKeys: _propTypes2["default"].array,
18795 closeSubMenuOnMouseLeave: _propTypes2["default"].bool,
18796 visible: _propTypes2["default"].bool,
18797 children: _propTypes2["default"].any
18798 };
18799
18800 var SubPopupMenu = function (_Component) {
18801 _inherits(SubPopupMenu, _Component);
18802
18803 function SubPopupMenu(props) {
18804 _classCallCheck(this, SubPopupMenu);
18805
18806 var _this = _possibleConstructorReturn(this, _Component.call(this, props));
18807
18808 _this.state = {
18809 activeKey: getActiveKey(_this.props, _this.props.activeKey)
18810 };
18811 _this.getOpenChangesOnItemHover = _this.getOpenChangesOnItemHover.bind(_this);
18812 _this.onDeselect = _this.onDeselect.bind(_this);
18813 _this.onClick = _this.onClick.bind(_this);
18814 _this.onOpenChange = _this.onOpenChange.bind(_this);
18815 _this.onDestroy = _this.onDestroy.bind(_this);
18816 _this.onSelect = _this.onSelect.bind(_this);
18817
18818 _this.onItemHover = _this.onItemHover.bind(_this);
18819 _this.getOpenTransitionName = _this.getOpenTransitionName.bind(_this);
18820 _this.renderMenuItem = _this.renderMenuItem.bind(_this);
18821
18822 _this.getFlatInstanceArray = _this.getFlatInstanceArray.bind(_this);
18823 _this.renderCommonMenuItem = _this.renderCommonMenuItem.bind(_this);
18824 _this.renderRoot = _this.renderRoot.bind(_this);
18825
18826 return _this;
18827 }
18828
18829 SubPopupMenu.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
18830 var props = void 0;
18831 if ('activeKey' in nextProps) {
18832 props = {
18833 activeKey: getActiveKey(nextProps, nextProps.activeKey)
18834 };
18835 } else {
18836 var originalActiveKey = this.state.activeKey;
18837 var activeKey = getActiveKey(nextProps, originalActiveKey);
18838 // fix: this.setState(), parent.render(),
18839 if (activeKey !== originalActiveKey) {
18840 props = {
18841 activeKey: activeKey
18842 };
18843 }
18844 }
18845 if (props) {
18846 this.setState(props);
18847 }
18848 };
18849
18850 SubPopupMenu.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {
18851 return this.props.visible || nextProps.visible;
18852 };
18853
18854 SubPopupMenu.prototype.onDeselect = function onDeselect(selectInfo) {
18855 this.props.onDeselect(selectInfo);
18856 };
18857
18858 SubPopupMenu.prototype.onSelect = function onSelect(selectInfo) {
18859 this.props.onSelect(selectInfo);
18860 };
18861
18862 SubPopupMenu.prototype.onClick = function onClick(e) {
18863 this.props.onClick(e);
18864 };
18865
18866 SubPopupMenu.prototype.onOpenChange = function onOpenChange(e) {
18867 this.props.onOpenChange(e);
18868 };
18869
18870 SubPopupMenu.prototype.onDestroy = function onDestroy(key) {
18871 this.props.onDestroy(key);
18872 };
18873
18874 SubPopupMenu.prototype.onItemHover = function onItemHover(e) {
18875 var _e$openChanges = e.openChanges,
18876 openChanges = _e$openChanges === undefined ? [] : _e$openChanges;
18877
18878 openChanges = openChanges.concat(this.getOpenChangesOnItemHover(e));
18879 if (openChanges.length) {
18880 this.onOpenChange(openChanges);
18881 }
18882 };
18883
18884 SubPopupMenu.prototype.getOpenTransitionName = function getOpenTransitionName() {
18885 return this.props.openTransitionName;
18886 };
18887
18888 SubPopupMenu.prototype.renderMenuItem = function renderMenuItem(c, i, subIndex) {
18889 var props = this.props;
18890 var extraProps = {
18891 openKeys: props.openKeys,
18892 selectedKeys: props.selectedKeys,
18893 openSubMenuOnMouseEnter: true
18894 };
18895 return this.renderCommonMenuItem(c, i, subIndex, extraProps);
18896 };
18897
18898 SubPopupMenu.prototype.getOpenChangesOnItemHover = function getOpenChangesOnItemHover(e) {
18899 var mode = this.props.mode;
18900 var key = e.key,
18901 hover = e.hover,
18902 trigger = e.trigger;
18903
18904 var activeKey = this.state.activeKey;
18905 if (!trigger || hover || this.props.closeSubMenuOnMouseLeave || !e.item.isSubMenu || mode === 'inline') {
18906 this.setState({
18907 activeKey: hover ? key : null
18908 });
18909 } else {}
18910 // keep active for sub menu for click active
18911 // empty
18912
18913 // clear last open status
18914 if (hover && mode !== 'inline') {
18915 var activeItem = this.getFlatInstanceArray().filter(function (c) {
18916 return c && c.props.eventKey === activeKey;
18917 })[0];
18918 if (activeItem && activeItem.isSubMenu && activeItem.props.eventKey !== key) {
18919 return {
18920 item: activeItem,
18921 originalEvent: e,
18922 key: activeItem.props.eventKey,
18923 open: false
18924 };
18925 }
18926 }
18927 return [];
18928 };
18929
18930 SubPopupMenu.prototype.renderCommonMenuItem = function renderCommonMenuItem(child, i, subIndex, extraProps) {
18931 var state = this.state;
18932 var props = this.props;
18933 var key = (0, _util.getKeyFromChildrenIndex)(child, props.eventKey, i);
18934 var childProps = child.props;
18935 var isActive = key === state.activeKey;
18936 var newChildProps = _extends({
18937 mode: props.mode,
18938 level: props.level,
18939 inlineIndent: props.inlineIndent,
18940 renderMenuItem: this.renderMenuItem,
18941 rootPrefixCls: props.prefixCls,
18942 index: i,
18943 parentMenu: this,
18944 ref: childProps.disabled ? undefined : (0, _createChainedFunction2["default"])(child.ref, saveRef.bind(this, i, subIndex)),
18945 eventKey: key,
18946 closeSubMenuOnMouseLeave: props.closeSubMenuOnMouseLeave,
18947 onItemHover: this.onItemHover,
18948 active: !childProps.disabled && isActive,
18949 multiple: props.multiple,
18950 onClick: this.onClick,
18951 openTransitionName: this.getOpenTransitionName(),
18952 openAnimation: props.openAnimation,
18953 onOpenChange: this.onOpenChange,
18954 onDeselect: this.onDeselect,
18955 onDestroy: this.onDestroy,
18956 onSelect: this.onSelect
18957 }, extraProps);
18958 if (props.mode === 'inline') {
18959 newChildProps.closeSubMenuOnMouseLeave = newChildProps.openSubMenuOnMouseEnter = false;
18960 }
18961 return _react2["default"].cloneElement(child, newChildProps);
18962 };
18963
18964 SubPopupMenu.prototype.getFlatInstanceArray = function getFlatInstanceArray() {
18965 var instanceArray = this.instanceArray;
18966 var hasInnerArray = instanceArray.some(function (a) {
18967 return Array.isArray(a);
18968 });
18969 if (hasInnerArray) {
18970 instanceArray = [];
18971 this.instanceArray.forEach(function (a) {
18972 if (Array.isArray(a)) {
18973 instanceArray.push.apply(instanceArray, a);
18974 } else {
18975 instanceArray.push(a);
18976 }
18977 });
18978 this.instanceArray = instanceArray;
18979 }
18980 return instanceArray;
18981 };
18982
18983 SubPopupMenu.prototype.renderRoot = function renderRoot(props) {
18984 var _classes;
18985
18986 this.instanceArray = [];
18987 var classes = (_classes = {}, _defineProperty(_classes, props.prefixCls, 1), _defineProperty(_classes, props.prefixCls + '-' + props.mode, 1), _defineProperty(_classes, props.className, !!props.className), _classes);
18988 var domProps = {
18989 className: (0, _classnames2["default"])(classes),
18990 role: 'menu',
18991 'aria-activedescendant': ''
18992 };
18993 if (props.id) {
18994 domProps.id = props.id;
18995 }
18996 if (props.focusable) {
18997 domProps.tabIndex = '0';
18998 domProps.onKeyDown = this.onKeyDown;
18999 }
19000 return (
19001 // ESLint is not smart enough to know that the type of `children` was checked.
19002 /* eslint-disable */
19003 _react2["default"].createElement(
19004 _DOMWrap2["default"],
19005 _extends({
19006 style: props.style,
19007 tag: 'ul',
19008 hiddenClassName: props.prefixCls + '-hidden',
19009 visible: props.visible
19010 }, domProps),
19011 _react2["default"].Children.map(props.children, this.renderMenuItem.bind(this))
19012 )
19013 /*eslint-enable */
19014
19015 );
19016 };
19017
19018 SubPopupMenu.prototype.render = function render() {
19019 var renderFirst = this.renderFirst;
19020 this.renderFirst = 1;
19021 this.haveOpened = this.haveOpened || this.props.visible;
19022 if (!this.haveOpened) {
19023 return null;
19024 }
19025 var transitionAppear = true;
19026 if (!renderFirst && this.props.visible) {
19027 transitionAppear = false;
19028 }
19029 var props = _extends({}, this.props);
19030 props.className += ' ' + props.prefixCls + '-sub';
19031 var animProps = {};
19032 if (props.openTransitionName) {
19033 animProps.transitionName = props.openTransitionName;
19034 } else if (_typeof(props.openAnimation) === 'object') {
19035 animProps.animation = _extends({}, props.openAnimation);
19036 if (!transitionAppear) {
19037 delete animProps.animation.appear;
19038 }
19039 }
19040 return _react2["default"].createElement(
19041 _beeAnimate2["default"],
19042 _extends({}, animProps, {
19043 showProp: 'visible',
19044 component: '',
19045 transitionAppear: transitionAppear
19046 }),
19047 this.renderRoot(props)
19048 );
19049 };
19050
19051 return SubPopupMenu;
19052 }(_react.Component);
19053
19054 ;
19055 SubPopupMenu.propTypes = propTypes;
19056 exports["default"] = SubPopupMenu;
19057 module.exports = exports['default'];
19058
19059/***/ }),
19060/* 279 */
19061/***/ (function(module, exports, __webpack_require__) {
19062
19063 'use strict';
19064
19065 Object.defineProperty(exports, "__esModule", {
19066 value: true
19067 });
19068
19069 var _Animate = __webpack_require__(280);
19070
19071 var _Animate2 = _interopRequireDefault(_Animate);
19072
19073 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
19074
19075 exports["default"] = _Animate2["default"];
19076 module.exports = exports['default'];
19077
19078/***/ }),
19079/* 280 */
19080/***/ (function(module, exports, __webpack_require__) {
19081
19082 'use strict';
19083
19084 Object.defineProperty(exports, "__esModule", {
19085 value: true
19086 });
19087
19088 var _react = __webpack_require__(4);
19089
19090 var _react2 = _interopRequireDefault(_react);
19091
19092 var _propTypes = __webpack_require__(5);
19093
19094 var _propTypes2 = _interopRequireDefault(_propTypes);
19095
19096 var _ChildrenUtils = __webpack_require__(281);
19097
19098 var _AnimateChild = __webpack_require__(282);
19099
19100 var _AnimateChild2 = _interopRequireDefault(_AnimateChild);
19101
19102 var _util = __webpack_require__(283);
19103
19104 var _util2 = _interopRequireDefault(_util);
19105
19106 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
19107
19108 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; }
19109
19110 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; }
19111
19112 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
19113
19114 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; }
19115
19116 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); }
19117
19118 var defaultKey = 'u_animate_' + Date.now();
19119
19120
19121 function getChildrenFromProps(props) {
19122 var children = props.children;
19123 if (_react2["default"].isValidElement(children)) {
19124 if (!children.key) {
19125 return _react2["default"].cloneElement(children, {
19126 key: defaultKey
19127 });
19128 }
19129 }
19130 return children;
19131 }
19132
19133 function noop() {}
19134
19135 var propTypes = {
19136 component: _propTypes2["default"].any,
19137 animation: _propTypes2["default"].object,
19138 transitionName: _propTypes2["default"].oneOfType([_propTypes2["default"].string, _propTypes2["default"].object]),
19139 transitionEnter: _propTypes2["default"].bool,
19140 transitionAppear: _propTypes2["default"].bool,
19141 exclusive: _propTypes2["default"].bool,
19142 transitionLeave: _propTypes2["default"].bool,
19143 onEnd: _propTypes2["default"].func,
19144 onEnter: _propTypes2["default"].func,
19145 onLeave: _propTypes2["default"].func,
19146 onAppear: _propTypes2["default"].func,
19147 showProp: _propTypes2["default"].string
19148 };
19149
19150 var defaultProps = {
19151 animation: {},
19152 component: 'span',
19153 transitionEnter: true,
19154 transitionLeave: true,
19155 transitionAppear: false,
19156 onEnd: noop,
19157 onEnter: noop,
19158 onLeave: noop,
19159 onAppear: noop
19160 };
19161
19162 var Animate = function (_Component) {
19163 _inherits(Animate, _Component);
19164
19165 function Animate(props) {
19166 _classCallCheck(this, Animate);
19167
19168 var _this = _possibleConstructorReturn(this, _Component.call(this, props));
19169
19170 _this.currentlyAnimatingKeys = {};
19171 _this.keysToEnter = [];
19172 _this.keysToLeave = [];
19173 _this.state = {
19174 children: (0, _ChildrenUtils.toArrayChildren)(getChildrenFromProps(_this.props))
19175 };
19176
19177 _this.performEnter = _this.performEnter.bind(_this);
19178 _this.performAppear = _this.performAppear.bind(_this);
19179 _this.handleDoneAdding = _this.handleDoneAdding.bind(_this);
19180 _this.performLeave = _this.performLeave.bind(_this);
19181
19182 _this.performLeave = _this.performLeave.bind(_this);
19183 _this.handleDoneLeaving = _this.handleDoneLeaving.bind(_this);
19184 _this.isValidChildByKey = _this.isValidChildByKey.bind(_this);
19185 _this.stop = _this.stop.bind(_this);
19186 return _this;
19187 }
19188
19189 Animate.prototype.componentDidMount = function componentDidMount() {
19190 var _this2 = this;
19191
19192 this.mounted = true;
19193 var showProp = this.props.showProp;
19194 var children = this.state.children;
19195 if (showProp) {
19196 children = children.filter(function (child) {
19197 return !!child.props[showProp];
19198 });
19199 }
19200 children.forEach(function (child) {
19201 if (child) {
19202 _this2.performAppear(child.key);
19203 }
19204 });
19205 };
19206
19207 Animate.prototype.componentWillUnmount = function componentWillUnmount() {
19208 this.mounted = false;
19209 };
19210
19211 Animate.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
19212 var _this3 = this;
19213
19214 this.nextProps = nextProps;
19215 var nextChildren = (0, _ChildrenUtils.toArrayChildren)(getChildrenFromProps(nextProps));
19216 var props = this.props;
19217 // exclusive needs immediate response
19218 if (props.exclusive) {
19219 Object.keys(this.currentlyAnimatingKeys).forEach(function (key) {
19220 _this3.stop(key);
19221 });
19222 }
19223 var showProp = props.showProp;
19224 var currentlyAnimatingKeys = this.currentlyAnimatingKeys;
19225 // last props children if exclusive
19226 var currentChildren = props.exclusive ? (0, _ChildrenUtils.toArrayChildren)(getChildrenFromProps(props)) : this.state.children;
19227 // in case destroy in showProp mode
19228 var newChildren = [];
19229 if (showProp) {
19230 currentChildren.forEach(function (currentChild) {
19231 var nextChild = currentChild && (0, _ChildrenUtils.findChildInChildrenByKey)(nextChildren, currentChild.key);
19232 var newChild = void 0;
19233 if ((!nextChild || !nextChild.props[showProp]) && currentChild.props[showProp]) {
19234 newChild = _react2["default"].cloneElement(nextChild || currentChild, _defineProperty({}, showProp, true));
19235 } else {
19236 newChild = nextChild;
19237 }
19238 if (newChild) {
19239 newChildren.push(newChild);
19240 }
19241 });
19242 nextChildren.forEach(function (nextChild) {
19243 if (!nextChild || !(0, _ChildrenUtils.findChildInChildrenByKey)(currentChildren, nextChild.key)) {
19244 newChildren.push(nextChild);
19245 }
19246 });
19247 } else {
19248 newChildren = (0, _ChildrenUtils.mergeChildren)(currentChildren, nextChildren);
19249 }
19250
19251 // need render to avoid update
19252 this.setState({
19253 children: newChildren
19254 });
19255
19256 nextChildren.forEach(function (child) {
19257 var key = child && child.key;
19258 if (child && currentlyAnimatingKeys[key]) {
19259 return;
19260 }
19261 var hasPrev = child && (0, _ChildrenUtils.findChildInChildrenByKey)(currentChildren, key);
19262 if (showProp) {
19263 var showInNext = child.props[showProp];
19264 if (hasPrev) {
19265 var showInNow = (0, _ChildrenUtils.findShownChildInChildrenByKey)(currentChildren, key, showProp);
19266 if (!showInNow && showInNext) {
19267 _this3.keysToEnter.push(key);
19268 }
19269 } else if (showInNext) {
19270 _this3.keysToEnter.push(key);
19271 }
19272 } else if (!hasPrev) {
19273 _this3.keysToEnter.push(key);
19274 }
19275 });
19276
19277 currentChildren.forEach(function (child) {
19278 var key = child && child.key;
19279 if (child && currentlyAnimatingKeys[key]) {
19280 return;
19281 }
19282 var hasNext = child && (0, _ChildrenUtils.findChildInChildrenByKey)(nextChildren, key);
19283 if (showProp) {
19284 var showInNow = child.props[showProp];
19285 if (hasNext) {
19286 var showInNext = (0, _ChildrenUtils.findShownChildInChildrenByKey)(nextChildren, key, showProp);
19287 if (!showInNext && showInNow) {
19288 _this3.keysToLeave.push(key);
19289 }
19290 } else if (showInNow) {
19291 _this3.keysToLeave.push(key);
19292 }
19293 } else if (!hasNext) {
19294 _this3.keysToLeave.push(key);
19295 }
19296 });
19297 };
19298
19299 Animate.prototype.componentDidUpdate = function componentDidUpdate() {
19300 var keysToEnter = this.keysToEnter;
19301 this.keysToEnter = [];
19302 keysToEnter.forEach(this.performEnter);
19303 var keysToLeave = this.keysToLeave;
19304 this.keysToLeave = [];
19305 keysToLeave.forEach(this.performLeave);
19306 };
19307
19308 Animate.prototype.performEnter = function performEnter(key) {
19309 // may already remove by exclusive
19310 if (this.refs[key]) {
19311 this.currentlyAnimatingKeys[key] = true;
19312 this.refs[key].componentWillEnter(this.handleDoneAdding.bind(this, key, 'enter'));
19313 }
19314 };
19315
19316 Animate.prototype.performAppear = function performAppear(key) {
19317 if (this.refs[key]) {
19318 this.currentlyAnimatingKeys[key] = true;
19319 this.refs[key].componentWillAppear(this.handleDoneAdding.bind(this, key, 'appear'));
19320 }
19321 };
19322
19323 Animate.prototype.handleDoneAdding = function handleDoneAdding(key, type) {
19324 var props = this.props;
19325 delete this.currentlyAnimatingKeys[key];
19326 // if update on exclusive mode, skip check
19327 if (props.exclusive && props !== this.nextProps) {
19328 return;
19329 }
19330 var currentChildren = (0, _ChildrenUtils.toArrayChildren)(getChildrenFromProps(props));
19331 if (!this.isValidChildByKey(currentChildren, key)) {
19332 // exclusive will not need this
19333 this.performLeave(key);
19334 } else {
19335 if (type === 'appear') {
19336 if (_util2["default"].allowAppearCallback(props)) {
19337 props.onAppear(key);
19338 props.onEnd(key, true);
19339 }
19340 } else {
19341 if (_util2["default"].allowEnterCallback(props)) {
19342 props.onEnter(key);
19343 props.onEnd(key, true);
19344 }
19345 }
19346 }
19347 };
19348
19349 Animate.prototype.performLeave = function performLeave(key) {
19350 // may already remove by exclusive
19351 if (this.refs[key]) {
19352 this.currentlyAnimatingKeys[key] = true;
19353 this.refs[key].componentWillLeave(this.handleDoneLeaving.bind(this, key));
19354 }
19355 };
19356
19357 Animate.prototype.handleDoneLeaving = function handleDoneLeaving(key) {
19358 var props = this.props;
19359 delete this.currentlyAnimatingKeys[key];
19360 // if update on exclusive mode, skip check
19361 if (props.exclusive && props !== this.nextProps) {
19362 return;
19363 }
19364 var currentChildren = (0, _ChildrenUtils.toArrayChildren)(getChildrenFromProps(props));
19365 // in case state change is too fast
19366 if (this.isValidChildByKey(currentChildren, key)) {
19367 this.performEnter(key);
19368 } else {
19369 var end = function end() {
19370 if (_util2["default"].allowLeaveCallback(props)) {
19371 props.onLeave(key);
19372 props.onEnd(key, false);
19373 }
19374 };
19375 /* eslint react/no-is-mounted:0 */
19376 if (this.mounted && !(0, _ChildrenUtils.isSameChildren)(this.state.children, currentChildren, props.showProp)) {
19377 this.setState({
19378 children: currentChildren
19379 }, end);
19380 } else {
19381 end();
19382 }
19383 }
19384 };
19385
19386 Animate.prototype.isValidChildByKey = function isValidChildByKey(currentChildren, key) {
19387 var showProp = this.props.showProp;
19388 if (showProp) {
19389 return (0, _ChildrenUtils.findShownChildInChildrenByKey)(currentChildren, key, showProp);
19390 }
19391 return (0, _ChildrenUtils.findChildInChildrenByKey)(currentChildren, key);
19392 };
19393
19394 Animate.prototype.stop = function stop(key) {
19395 delete this.currentlyAnimatingKeys[key];
19396 var component = this.refs[key];
19397 if (component) {
19398 component.stop();
19399 }
19400 };
19401
19402 Animate.prototype.render = function render() {
19403 var props = this.props;
19404 this.nextProps = props;
19405 var stateChildren = this.state.children;
19406 var children = null;
19407 if (stateChildren) {
19408 children = stateChildren.map(function (child) {
19409 if (child === null || child === undefined) {
19410 return child;
19411 }
19412 if (!child.key) {
19413 throw new Error('must set key for <rc-animate> children');
19414 }
19415 return _react2["default"].createElement(
19416 _AnimateChild2["default"],
19417 {
19418 key: child.key,
19419 ref: child.key,
19420 animation: props.animation,
19421 transitionName: props.transitionName,
19422 transitionEnter: props.transitionEnter,
19423 transitionAppear: props.transitionAppear,
19424 transitionLeave: props.transitionLeave
19425 },
19426 child
19427 );
19428 });
19429 }
19430 var Component = props.component;
19431 if (Component) {
19432 var passedProps = props;
19433 if (typeof Component === 'string') {
19434 passedProps = {
19435 className: props.className,
19436 style: props.style
19437 };
19438 }
19439 return _react2["default"].createElement(
19440 Component,
19441 passedProps,
19442 children
19443 );
19444 }
19445 return children[0] || null;
19446 };
19447
19448 return Animate;
19449 }(_react.Component);
19450
19451 ;
19452 Animate.defaultProps = defaultProps;
19453 Animate.propTypes = Animate.propTypes;
19454
19455 exports["default"] = Animate;
19456 module.exports = exports['default'];
19457
19458/***/ }),
19459/* 281 */
19460/***/ (function(module, exports, __webpack_require__) {
19461
19462 'use strict';
19463
19464 Object.defineProperty(exports, "__esModule", {
19465 value: true
19466 });
19467 exports.toArrayChildren = toArrayChildren;
19468 exports.findChildInChildrenByKey = findChildInChildrenByKey;
19469 exports.findShownChildInChildrenByKey = findShownChildInChildrenByKey;
19470 exports.findHiddenChildInChildrenByKey = findHiddenChildInChildrenByKey;
19471 exports.isSameChildren = isSameChildren;
19472 exports.mergeChildren = mergeChildren;
19473
19474 var _react = __webpack_require__(4);
19475
19476 var _react2 = _interopRequireDefault(_react);
19477
19478 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
19479
19480 function toArrayChildren(children) {
19481 var ret = [];
19482 _react2["default"].Children.forEach(children, function (child) {
19483 ret.push(child);
19484 });
19485 return ret;
19486 }
19487
19488 function findChildInChildrenByKey(children, key) {
19489 var ret = null;
19490 if (children) {
19491 children.forEach(function (child) {
19492 if (ret) {
19493 return;
19494 }
19495 if (child && child.key === key) {
19496 ret = child;
19497 }
19498 });
19499 }
19500 return ret;
19501 }
19502
19503 function findShownChildInChildrenByKey(children, key, showProp) {
19504 var ret = null;
19505 if (children) {
19506 children.forEach(function (child) {
19507 if (child && child.key === key && child.props[showProp]) {
19508 if (ret) {
19509 throw new Error('two child with same key for <rc-animate> children');
19510 }
19511 ret = child;
19512 }
19513 });
19514 }
19515 return ret;
19516 }
19517
19518 function findHiddenChildInChildrenByKey(children, key, showProp) {
19519 var found = 0;
19520 if (children) {
19521 children.forEach(function (child) {
19522 if (found) {
19523 return;
19524 }
19525 found = child && child.key === key && !child.props[showProp];
19526 });
19527 }
19528 return found;
19529 }
19530
19531 function isSameChildren(c1, c2, showProp) {
19532 var same = c1.length === c2.length;
19533 if (same) {
19534 c1.forEach(function (child, index) {
19535 var child2 = c2[index];
19536 if (child && child2) {
19537 if (child && !child2 || !child && child2) {
19538 same = false;
19539 } else if (child.key !== child2.key) {
19540 same = false;
19541 } else if (showProp && child.props[showProp] !== child2.props[showProp]) {
19542 same = false;
19543 }
19544 }
19545 });
19546 }
19547 return same;
19548 }
19549
19550 function mergeChildren(prev, next) {
19551 var ret = [];
19552
19553 // For each key of `next`, the list of keys to insert before that key in
19554 // the combined list
19555 var nextChildrenPending = {};
19556 var pendingChildren = [];
19557 prev.forEach(function (child) {
19558 if (child && findChildInChildrenByKey(next, child.key)) {
19559 if (pendingChildren.length) {
19560 nextChildrenPending[child.key] = pendingChildren;
19561 pendingChildren = [];
19562 }
19563 } else {
19564 pendingChildren.push(child);
19565 }
19566 });
19567
19568 next.forEach(function (child) {
19569 if (child && nextChildrenPending.hasOwnProperty(child.key)) {
19570 ret = ret.concat(nextChildrenPending[child.key]);
19571 }
19572 ret.push(child);
19573 });
19574
19575 ret = ret.concat(pendingChildren);
19576
19577 return ret;
19578 }
19579
19580/***/ }),
19581/* 282 */
19582/***/ (function(module, exports, __webpack_require__) {
19583
19584 'use strict';
19585
19586 Object.defineProperty(exports, "__esModule", {
19587 value: true
19588 });
19589
19590 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; };
19591
19592 var _react = __webpack_require__(4);
19593
19594 var _react2 = _interopRequireDefault(_react);
19595
19596 var _propTypes = __webpack_require__(5);
19597
19598 var _propTypes2 = _interopRequireDefault(_propTypes);
19599
19600 var _reactDom = __webpack_require__(12);
19601
19602 var _reactDom2 = _interopRequireDefault(_reactDom);
19603
19604 var _tinperBeeCore = __webpack_require__(26);
19605
19606 var _util = __webpack_require__(283);
19607
19608 var _util2 = _interopRequireDefault(_util);
19609
19610 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
19611
19612 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; }
19613
19614 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
19615
19616 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; }
19617
19618 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); }
19619
19620 var transitionMap = {
19621 enter: 'transitionEnter',
19622 appear: 'transitionAppear',
19623 leave: 'transitionLeave'
19624 };
19625
19626 var propTypes = {
19627 children: _propTypes2["default"].any
19628 };
19629
19630 var AnimateChild = function (_Component) {
19631 _inherits(AnimateChild, _Component);
19632
19633 function AnimateChild(props) {
19634 _classCallCheck(this, AnimateChild);
19635
19636 var _this = _possibleConstructorReturn(this, _Component.call(this, props));
19637
19638 _this.transition = _this.transition.bind(_this);
19639 _this.stop = _this.stop.bind(_this);
19640 return _this;
19641 }
19642
19643 AnimateChild.prototype.componentWillUnmount = function componentWillUnmount() {
19644 this.stop();
19645 };
19646
19647 AnimateChild.prototype.componentWillEnter = function componentWillEnter(done) {
19648 if (_util2["default"].isEnterSupported(this.props)) {
19649 this.transition('enter', done);
19650 } else {
19651 done();
19652 }
19653 };
19654
19655 AnimateChild.prototype.componentWillAppear = function componentWillAppear(done) {
19656 if (_util2["default"].isAppearSupported(this.props)) {
19657 this.transition('appear', done);
19658 } else {
19659 done();
19660 }
19661 };
19662
19663 AnimateChild.prototype.componentWillLeave = function componentWillLeave(done) {
19664 if (_util2["default"].isLeaveSupported(this.props)) {
19665 this.transition('leave', done);
19666 } else {
19667 // always sync, do not interupt with react component life cycle
19668 // update hidden -> animate hidden ->
19669 // didUpdate -> animate leave -> unmount (if animate is none)
19670 done();
19671 }
19672 };
19673
19674 AnimateChild.prototype.transition = function transition(animationType, finishCallback) {
19675 var _this2 = this;
19676
19677 var node = _reactDom2["default"].findDOMNode(this);
19678 var props = this.props;
19679 var transitionName = props.transitionName;
19680 var nameIsObj = (typeof transitionName === 'undefined' ? 'undefined' : _typeof(transitionName)) === 'object';
19681 this.stop();
19682 var end = function end() {
19683 _this2.stopper = null;
19684 finishCallback();
19685 };
19686 if ((_tinperBeeCore.cssAnimation.isCssAnimationSupported || !props.animation[animationType]) && transitionName && props[transitionMap[animationType]]) {
19687 var name = nameIsObj ? transitionName[animationType] : transitionName + '-' + animationType;
19688 var activeName = name + '-active';
19689 if (nameIsObj && transitionName[animationType + 'Active']) {
19690 activeName = transitionName[animationType + 'Active'];
19691 }
19692 this.stopper = (0, _tinperBeeCore.cssAnimation)(node, {
19693 name: name,
19694 active: activeName
19695 }, end);
19696 } else {
19697 this.stopper = props.animation[animationType](node, end);
19698 }
19699 };
19700
19701 AnimateChild.prototype.stop = function stop() {
19702 var stopper = this.stopper;
19703 if (stopper) {
19704 this.stopper = null;
19705 stopper.stop();
19706 }
19707 };
19708
19709 AnimateChild.prototype.render = function render() {
19710 return this.props.children;
19711 };
19712
19713 return AnimateChild;
19714 }(_react.Component);
19715
19716 ;
19717
19718 AnimateChild.propTypes = propTypes;
19719
19720 exports["default"] = AnimateChild;
19721 module.exports = exports['default'];
19722
19723/***/ }),
19724/* 283 */
19725/***/ (function(module, exports) {
19726
19727 "use strict";
19728
19729 Object.defineProperty(exports, "__esModule", {
19730 value: true
19731 });
19732 var util = {
19733 isAppearSupported: function isAppearSupported(props) {
19734 return props.transitionName && props.transitionAppear || props.animation.appear;
19735 },
19736 isEnterSupported: function isEnterSupported(props) {
19737 return props.transitionName && props.transitionEnter || props.animation.enter;
19738 },
19739 isLeaveSupported: function isLeaveSupported(props) {
19740 return props.transitionName && props.transitionLeave || props.animation.leave;
19741 },
19742 allowAppearCallback: function allowAppearCallback(props) {
19743 return props.transitionAppear || props.animation.appear;
19744 },
19745 allowEnterCallback: function allowEnterCallback(props) {
19746 return props.transitionEnter || props.animation.enter;
19747 },
19748 allowLeaveCallback: function allowLeaveCallback(props) {
19749 return props.transitionLeave || props.animation.leave;
19750 }
19751 };
19752 exports["default"] = util;
19753 module.exports = exports["default"];
19754
19755/***/ }),
19756/* 284 */
19757/***/ (function(module, exports, __webpack_require__) {
19758
19759 'use strict';
19760
19761 Object.defineProperty(exports, "__esModule", {
19762 value: true
19763 });
19764
19765 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; };
19766
19767 var _react = __webpack_require__(4);
19768
19769 var _react2 = _interopRequireDefault(_react);
19770
19771 var _propTypes = __webpack_require__(5);
19772
19773 var _propTypes2 = _interopRequireDefault(_propTypes);
19774
19775 var _keyCode = __webpack_require__(37);
19776
19777 var _keyCode2 = _interopRequireDefault(_keyCode);
19778
19779 var _classnames = __webpack_require__(3);
19780
19781 var _classnames2 = _interopRequireDefault(_classnames);
19782
19783 var _util = __webpack_require__(275);
19784
19785 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
19786
19787 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; }
19788
19789 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
19790
19791 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; }
19792
19793 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); }
19794
19795 /* eslint react/no-is-mounted:0 */
19796 var propTypes = {
19797 rootPrefixCls: _propTypes2["default"].string,
19798 eventKey: _propTypes2["default"].string,
19799 active: _propTypes2["default"].bool,
19800 children: _propTypes2["default"].any,
19801 selectedKeys: _propTypes2["default"].array,
19802 disabled: _propTypes2["default"].bool,
19803 title: _propTypes2["default"].string,
19804 onSelect: _propTypes2["default"].func,
19805 onClick: _propTypes2["default"].func,
19806 onDeselect: _propTypes2["default"].func,
19807 parentMenu: _propTypes2["default"].object,
19808 onItemHover: _propTypes2["default"].func,
19809 onDestroy: _propTypes2["default"].func,
19810 onMouseEnter: _propTypes2["default"].func,
19811 onMouseLeave: _propTypes2["default"].func
19812 };
19813
19814 var defaultProps = {
19815 onSelect: _util.noop,
19816 onMouseEnter: _util.noop,
19817 onMouseLeave: _util.noop
19818 };
19819
19820 var MenuItem = function (_Component) {
19821 _inherits(MenuItem, _Component);
19822
19823 function MenuItem(props) {
19824 _classCallCheck(this, MenuItem);
19825
19826 var _this = _possibleConstructorReturn(this, _Component.call(this, props));
19827
19828 _this.onMouseLeave = _this.onMouseLeave.bind(_this);
19829 _this.onMouseEnter = _this.onMouseEnter.bind(_this);
19830 _this.onKeyDown = _this.onKeyDown.bind(_this);
19831 _this.onClick = _this.onClick.bind(_this);
19832 _this.getPrefixCls = _this.getPrefixCls.bind(_this);
19833 _this.getActiveClassName = _this.getActiveClassName.bind(_this);
19834 _this.getDisabledClassName = _this.getDisabledClassName.bind(_this);
19835 _this.getSelectedClassName = _this.getSelectedClassName.bind(_this);
19836 _this.clearMenuItemMouseLeaveTimer = _this.clearMenuItemMouseLeaveTimer.bind(_this);
19837 _this.isSelected = _this.isSelected.bind(_this);
19838 return _this;
19839 }
19840
19841 MenuItem.prototype.componentWillUnmount = function componentWillUnmount() {
19842 var props = this.props;
19843 this.mounted = false;
19844 if (props.onDestroy) {
19845 props.onDestroy(props.eventKey);
19846 }
19847 if (props.parentMenu.menuItemInstance === this) {
19848 this.clearMenuItemMouseLeaveTimer();
19849 }
19850 };
19851
19852 MenuItem.prototype.componentDidMount = function componentDidMount() {
19853 this.mounted = true;
19854 };
19855
19856 MenuItem.prototype.onKeyDown = function onKeyDown(e) {
19857 var keyCode = e.keyCode;
19858 if (keyCode === _keyCode2["default"].ENTER) {
19859 this.onClick(e);
19860 return true;
19861 }
19862 };
19863
19864 MenuItem.prototype.onMouseLeave = function onMouseLeave(e) {
19865 var _this2 = this;
19866
19867 var props = this.props;
19868 var eventKey = props.eventKey,
19869 parentMenu = props.parentMenu;
19870
19871 parentMenu.menuItemInstance = this;
19872 parentMenu.menuItemMouseLeaveFn = function () {
19873 if (_this2.mounted && props.active) {
19874 props.onItemHover({
19875 key: eventKey,
19876 item: _this2,
19877 hover: false,
19878 domEvent: e,
19879 trigger: 'mouseleave'
19880 });
19881 }
19882 };
19883 parentMenu.menuItemMouseLeaveTimer = setTimeout(parentMenu.menuItemMouseLeaveFn, 30);
19884 props.onMouseLeave({
19885 key: eventKey,
19886 domEvent: e
19887 });
19888 };
19889
19890 MenuItem.prototype.onMouseEnter = function onMouseEnter(e) {
19891 var props = this.props;
19892 var eventKey = props.eventKey,
19893 parentMenu = props.parentMenu;
19894
19895 this.clearMenuItemMouseLeaveTimer(parentMenu.menuItemInstance !== this);
19896 if (parentMenu.subMenuInstance) {
19897 parentMenu.subMenuInstance.clearSubMenuTimers();
19898 }
19899 props.onItemHover({
19900 key: eventKey,
19901 item: this,
19902 hover: true,
19903 domEvent: e,
19904 trigger: 'mouseenter'
19905 });
19906 props.onMouseEnter({
19907 key: eventKey,
19908 domEvent: e
19909 });
19910 };
19911
19912 MenuItem.prototype.onClick = function onClick(e) {
19913 var props = this.props;
19914 var selected = this.isSelected();
19915 var eventKey = props.eventKey;
19916 var info = {
19917 key: eventKey,
19918 keyPath: [eventKey],
19919 item: this,
19920 domEvent: e
19921 };
19922 props.onClick(info);
19923 if (props.multiple) {
19924 if (selected) {
19925 props.onDeselect(info);
19926 } else {
19927 props.onSelect(info);
19928 }
19929 } else if (!selected) {
19930 props.onSelect(info);
19931 }
19932 };
19933
19934 MenuItem.prototype.getPrefixCls = function getPrefixCls() {
19935 return this.props.rootPrefixCls + '-item';
19936 };
19937
19938 MenuItem.prototype.getActiveClassName = function getActiveClassName() {
19939 return this.getPrefixCls() + '-active';
19940 };
19941
19942 MenuItem.prototype.getSelectedClassName = function getSelectedClassName() {
19943 return this.getPrefixCls() + '-selected';
19944 };
19945
19946 MenuItem.prototype.getDisabledClassName = function getDisabledClassName() {
19947 return this.getPrefixCls() + '-disabled';
19948 };
19949
19950 MenuItem.prototype.clearMenuItemMouseLeaveTimer = function clearMenuItemMouseLeaveTimer() {
19951 var props = this.props;
19952 var callFn = void 0;
19953 var parentMenu = props.parentMenu;
19954 if (parentMenu.menuItemMouseLeaveTimer) {
19955 clearTimeout(parentMenu.menuItemMouseLeaveTimer);
19956 parentMenu.menuItemMouseLeaveTimer = null;
19957 if (callFn && parentMenu.menuItemMouseLeaveFn) {
19958 parentMenu.menuItemMouseLeaveFn();
19959 }
19960 parentMenu.menuItemMouseLeaveFn = null;
19961 }
19962 };
19963
19964 MenuItem.prototype.isSelected = function isSelected() {
19965 return this.props.selectedKeys.indexOf(this.props.eventKey) !== -1;
19966 };
19967
19968 MenuItem.prototype.render = function render() {
19969 var props = this.props;
19970 var selected = this.isSelected();
19971 var classes = {};
19972 classes[this.getActiveClassName()] = !props.disabled && props.active;
19973 classes[this.getSelectedClassName()] = selected;
19974 classes[this.getDisabledClassName()] = props.disabled;
19975 classes[this.getPrefixCls()] = true;
19976 classes[props.className] = !!props.className;
19977 var attrs = _extends({}, props.attribute, {
19978 title: props.title,
19979 className: (0, _classnames2["default"])(classes),
19980 role: 'menuitem',
19981 'aria-selected': selected,
19982 'aria-disabled': props.disabled
19983 });
19984 var mouseEvent = {};
19985 if (!props.disabled) {
19986 mouseEvent = {
19987 onClick: this.onClick,
19988 onMouseLeave: this.onMouseLeave,
19989 onMouseEnter: this.onMouseEnter
19990 };
19991 }
19992 var style = _extends({}, props.style);
19993 if (props.mode === 'inline') {
19994 style.paddingLeft = props.inlineIndent * props.level;
19995 }
19996 return _react2["default"].createElement(
19997 'li',
19998 _extends({
19999 style: style
20000 }, attrs, mouseEvent),
20001 props.children
20002 );
20003 };
20004
20005 return MenuItem;
20006 }(_react.Component);
20007
20008 ;
20009
20010 MenuItem.isMenuItem = 1;
20011
20012 MenuItem.defaultProps = defaultProps;
20013 MenuItem.propTypes = propTypes;
20014
20015 exports["default"] = MenuItem;
20016 module.exports = exports['default'];
20017
20018/***/ }),
20019/* 285 */
20020/***/ (function(module, exports, __webpack_require__) {
20021
20022 'use strict';
20023
20024 Object.defineProperty(exports, "__esModule", {
20025 value: true
20026 });
20027
20028 var _react = __webpack_require__(4);
20029
20030 var _react2 = _interopRequireDefault(_react);
20031
20032 var _propTypes = __webpack_require__(5);
20033
20034 var _propTypes2 = _interopRequireDefault(_propTypes);
20035
20036 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
20037
20038 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; }
20039
20040 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
20041
20042 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; }
20043
20044 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); }
20045
20046 var propTypes = {
20047 renderMenuItem: _propTypes2["default"].func,
20048 index: _propTypes2["default"].number,
20049 className: _propTypes2["default"].string,
20050 rootPrefixCls: _propTypes2["default"].string,
20051 title: _propTypes2["default"].oneOfType([_propTypes2["default"].string, _propTypes2["default"].node]),
20052 children: _propTypes2["default"].oneOfType([_propTypes2["default"].string, _propTypes2["default"].node])
20053 };
20054
20055 var defaultProps = {
20056 disabled: true
20057 };
20058
20059 var MenuItemGroup = function (_Component) {
20060 _inherits(MenuItemGroup, _Component);
20061
20062 function MenuItemGroup() {
20063 _classCallCheck(this, MenuItemGroup);
20064
20065 return _possibleConstructorReturn(this, _Component.apply(this, arguments));
20066 }
20067
20068 MenuItemGroup.prototype.renderInnerMenuItem = function renderInnerMenuItem(item, subIndex) {
20069 var _props = this.props,
20070 renderMenuItem = _props.renderMenuItem,
20071 index = _props.index;
20072
20073 return renderMenuItem(item, index, subIndex);
20074 };
20075
20076 MenuItemGroup.prototype.render = function render() {
20077 var _props2 = this.props,
20078 _props2$className = _props2.className,
20079 className = _props2$className === undefined ? '' : _props2$className,
20080 title = _props2.title,
20081 children = _props2.children,
20082 rootPrefixCls = _props2.rootPrefixCls;
20083
20084 var titleClassName = rootPrefixCls + '-item-group-title';
20085 var listClassName = rootPrefixCls + '-item-group-list';
20086
20087 return _react2["default"].createElement(
20088 'li',
20089 { className: className + ' ' + rootPrefixCls + '-item-group' },
20090 _react2["default"].createElement(
20091 'div',
20092 { className: titleClassName },
20093 title
20094 ),
20095 _react2["default"].createElement(
20096 'ul',
20097 { className: listClassName },
20098 _react2["default"].Children.map(children, this.renderInnerMenuItem.bind(this))
20099 )
20100 );
20101 };
20102
20103 return MenuItemGroup;
20104 }(_react.Component);
20105
20106 ;
20107
20108 MenuItemGroup.isMenuItemGroup = true;
20109 MenuItemGroup.propTypes = propTypes;
20110 MenuItemGroup.defaultProps = defaultProps;
20111
20112 exports["default"] = MenuItemGroup;
20113 module.exports = exports['default'];
20114
20115/***/ }),
20116/* 286 */
20117/***/ (function(module, exports, __webpack_require__) {
20118
20119 'use strict';
20120
20121 Object.defineProperty(exports, "__esModule", {
20122 value: true
20123 });
20124
20125 var _react = __webpack_require__(4);
20126
20127 var _react2 = _interopRequireDefault(_react);
20128
20129 var _propTypes = __webpack_require__(5);
20130
20131 var _propTypes2 = _interopRequireDefault(_propTypes);
20132
20133 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
20134
20135 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; }
20136
20137 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
20138
20139 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; }
20140
20141 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); }
20142
20143 var propTypes = {
20144 className: _propTypes2["default"].string,
20145 rootPrefixCls: _propTypes2["default"].string
20146 };
20147
20148 var Divider = function (_Component) {
20149 _inherits(Divider, _Component);
20150
20151 function Divider() {
20152 _classCallCheck(this, Divider);
20153
20154 return _possibleConstructorReturn(this, _Component.apply(this, arguments));
20155 }
20156
20157 Divider.prototype.render = function render() {
20158 var _props = this.props,
20159 className = _props.className,
20160 rootPrefixCls = _props.rootPrefixCls;
20161
20162 return _react2["default"].createElement('li', { className: className + ' ' + rootPrefixCls + '-item-divider' });
20163 };
20164
20165 return Divider;
20166 }(_react.Component);
20167
20168 ;
20169
20170 Divider.propTypes = propTypes;
20171
20172 exports["default"] = Divider;
20173 module.exports = exports['default'];
20174
20175/***/ }),
20176/* 287 */
20177/***/ (function(module, exports, __webpack_require__) {
20178
20179 'use strict';
20180
20181 Object.defineProperty(exports, "__esModule", {
20182 value: true
20183 });
20184
20185 var _classnames = __webpack_require__(3);
20186
20187 var _classnames2 = _interopRequireDefault(_classnames);
20188
20189 var _react = __webpack_require__(4);
20190
20191 var _react2 = _interopRequireDefault(_react);
20192
20193 var _propTypes = __webpack_require__(5);
20194
20195 var _propTypes2 = _interopRequireDefault(_propTypes);
20196
20197 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
20198
20199 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; }
20200
20201 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; }
20202
20203 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
20204
20205 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; }
20206
20207 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); }
20208
20209 var defaultProps = {
20210 clsPrefix: "u-navbar-side-container",
20211 sideActive: false
20212 };
20213
20214 var NavSideContainer = function (_React$Component) {
20215 _inherits(NavSideContainer, _React$Component);
20216
20217 function NavSideContainer() {
20218 _classCallCheck(this, NavSideContainer);
20219
20220 return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));
20221 }
20222
20223 NavSideContainer.prototype.render = function render() {
20224 var _props = this.props,
20225 className = _props.className,
20226 children = _props.children,
20227 clsPrefix = _props.clsPrefix,
20228 sideActive = _props.sideActive,
20229 expanded = _props.expanded,
20230 props = _objectWithoutProperties(_props, ['className', 'children', 'clsPrefix', 'sideActive', 'expanded']);
20231
20232 //const navbarProps = this.context.u_navbar;
20233
20234 return _react2["default"].createElement(
20235 'div',
20236 { className: (0, _classnames2["default"])(className, clsPrefix, expanded && 'expanded') },
20237 children
20238 );
20239 };
20240
20241 return NavSideContainer;
20242 }(_react2["default"].Component);
20243
20244 NavSideContainer.defaultProps = defaultProps;
20245
20246 exports["default"] = NavSideContainer;
20247 module.exports = exports['default'];
20248
20249/***/ }),
20250/* 288 */
20251/***/ (function(module, exports, __webpack_require__) {
20252
20253 'use strict';
20254
20255 Object.defineProperty(exports, "__esModule", {
20256 value: true
20257 });
20258
20259 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; };
20260
20261 var _classnames = __webpack_require__(3);
20262
20263 var _classnames2 = _interopRequireDefault(_classnames);
20264
20265 var _react = __webpack_require__(4);
20266
20267 var _react2 = _interopRequireDefault(_react);
20268
20269 var _propTypes = __webpack_require__(5);
20270
20271 var _propTypes2 = _interopRequireDefault(_propTypes);
20272
20273 var _createChainedFunction = __webpack_require__(36);
20274
20275 var _createChainedFunction2 = _interopRequireDefault(_createChainedFunction);
20276
20277 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
20278
20279 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; }
20280
20281 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; }
20282
20283 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
20284
20285 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; }
20286
20287 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); }
20288
20289 var propTypes = {
20290 onClick: _propTypes2["default"].func,
20291 /**
20292 * The toggle content, if left empty it will render the default toggle (seen above).
20293 */
20294 show: _propTypes2["default"].bool,
20295 children: _propTypes2["default"].node
20296 };
20297
20298 var contextTypes = {
20299 u_navbar: _propTypes2["default"].shape({
20300 expanded: _propTypes2["default"].bool,
20301 onToggle: _propTypes2["default"].func
20302 })
20303 };
20304
20305 var defaultProps = {
20306 clsPrefix: 'u-navbar-toggle',
20307 show: false
20308 };
20309
20310 var MenuToggle = function (_React$Component) {
20311 _inherits(MenuToggle, _React$Component);
20312
20313 function MenuToggle(props) {
20314 _classCallCheck(this, MenuToggle);
20315
20316 var _this = _possibleConstructorReturn(this, _React$Component.call(this, props));
20317
20318 _this.state = {
20319 toggleState: false
20320 //this.handleRender = this.handleRender.bind(this);
20321 };return _this;
20322 }
20323
20324 MenuToggle.prototype.handleClick = function handleClick() {
20325 var _context$u_navbar = this.context.u_navbar,
20326 expanded = _context$u_navbar.expanded,
20327 onToggle = _context$u_navbar.onToggle;
20328
20329 this.setState({ toggleState: !this.state.toggleState });
20330 if (onToggle) {
20331 onToggle(!expanded);
20332 }
20333 };
20334
20335 MenuToggle.prototype.render = function render() {
20336 var _props = this.props,
20337 onClick = _props.onClick,
20338 className = _props.className,
20339 children = _props.children,
20340 clsPrefix = _props.clsPrefix,
20341 show = _props.show,
20342 props = _objectWithoutProperties(_props, ['onClick', 'className', 'children', 'clsPrefix', 'show']);
20343 //const navbarProps = this.context.u_navbar || { bsClass: 'navbar' };
20344 //console.log(navbarProps.onToggle, navbarProps.expanded);
20345
20346 var buttonProps = _extends({
20347 type: 'button'
20348 }, props, {
20349 onClick: (0, _createChainedFunction2["default"])(onClick, this.handleClick.bind(this)),
20350 className: (0, _classnames2["default"])(className, clsPrefix, show && 'show')
20351 //!this.context.u_navbar.expanded && 'collapsed',
20352 });
20353
20354 if (children) {
20355 return _react2["default"].createElement(
20356 'button',
20357 buttonProps,
20358 children
20359 );
20360 }
20361 //当show存在时,渲染左侧静态面包按钮
20362 return _react2["default"].createElement(
20363 'div',
20364 null,
20365 show && this.state.toggleState && _react2["default"].createElement(
20366 'button',
20367 buttonProps,
20368 _react2["default"].createElement(
20369 'span',
20370 { className: 'sr-only' },
20371 'Toggle navigation'
20372 ),
20373 _react2["default"].createElement('span', { className: 'icon-bar' }),
20374 _react2["default"].createElement('span', { className: 'icon-bar' }),
20375 _react2["default"].createElement('span', { className: 'icon-bar' })
20376 ),
20377 show && !this.state.toggleState && _react2["default"].createElement(
20378 'button',
20379 buttonProps,
20380 _react2["default"].createElement('span', { className: 'uf uf-arrow-left' })
20381 ),
20382 !show && !this.state.toggleState && _react2["default"].createElement(
20383 'button',
20384 buttonProps,
20385 _react2["default"].createElement(
20386 'span',
20387 { className: 'sr-only' },
20388 'Toggle navigation'
20389 ),
20390 _react2["default"].createElement('span', { className: 'icon-bar' }),
20391 _react2["default"].createElement('span', { className: 'icon-bar' }),
20392 _react2["default"].createElement('span', { className: 'icon-bar' })
20393 )
20394 );
20395 };
20396
20397 return MenuToggle;
20398 }(_react2["default"].Component);
20399
20400 MenuToggle.propTypes = propTypes;
20401 MenuToggle.defaultProps = defaultProps;
20402 MenuToggle.contextTypes = contextTypes;
20403
20404 exports["default"] = MenuToggle;
20405 module.exports = exports['default'];
20406
20407/***/ }),
20408/* 289 */
20409/***/ (function(module, exports, __webpack_require__) {
20410
20411 'use strict';
20412
20413 Object.defineProperty(exports, "__esModule", {
20414 value: true
20415 });
20416
20417 var _tinperBeeCore = __webpack_require__(26);
20418
20419 function animate(node, show, done) {
20420 var height = void 0;
20421 return (0, _tinperBeeCore.cssAnimation)(node, 'u-motion-collapse', {
20422 start: function start() {
20423 if (!show) {
20424 node.style.height = node.offsetHeight + 'px';
20425 } else {
20426 height = node.offsetHeight;
20427 node.style.height = 0;
20428 }
20429 },
20430 active: function active() {
20431 node.style.height = (show ? height : 0) + 'px';
20432 },
20433 end: function end() {
20434 node.style.height = '';
20435 done();
20436 }
20437 });
20438 }
20439
20440 var animation = {
20441 enter: function enter(node, done) {
20442 return animate(node, true, done);
20443 },
20444 leave: function leave(node, done) {
20445 return animate(node, false, done);
20446 },
20447 appear: function appear(node, done) {
20448 return animate(node, true, done);
20449 }
20450 };
20451
20452 exports["default"] = animation;
20453 module.exports = exports['default'];
20454
20455/***/ }),
20456/* 290 */
20457/***/ (function(module, exports, __webpack_require__) {
20458
20459 'use strict';
20460
20461 Object.defineProperty(exports, "__esModule", {
20462 value: true
20463 });
20464
20465 var _warning = __webpack_require__(31);
20466
20467 var _warning2 = _interopRequireDefault(_warning);
20468
20469 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
20470
20471 var warned = {};
20472
20473 exports["default"] = function (valid, message) {
20474 if (!valid && !warned[message]) {
20475 (0, _warning2["default"])(false, message);
20476 warned[message] = true;
20477 }
20478 };
20479
20480 module.exports = exports['default'];
20481
20482/***/ }),
20483/* 291 */
20484/***/ (function(module, exports, __webpack_require__) {
20485
20486 'use strict';
20487
20488 Object.defineProperty(exports, "__esModule", {
20489 value: true
20490 });
20491
20492 var _react = __webpack_require__(4);
20493
20494 var _react2 = _interopRequireDefault(_react);
20495
20496 var _propTypes = __webpack_require__(5);
20497
20498 var _propTypes2 = _interopRequireDefault(_propTypes);
20499
20500 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
20501
20502 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; }
20503
20504 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
20505
20506 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; }
20507
20508 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); }
20509
20510 var propTypes = {
20511 label: _propTypes2["default"].oneOfType([_propTypes2["default"].string, _propTypes2["default"].object])
20512 };
20513
20514 var OptGroup = function (_React$Component) {
20515 _inherits(OptGroup, _React$Component);
20516
20517 function OptGroup() {
20518 _classCallCheck(this, OptGroup);
20519
20520 return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));
20521 }
20522
20523 return OptGroup;
20524 }(_react2["default"].Component);
20525
20526 OptGroup.propTypes = propTypes;
20527 exports["default"] = OptGroup;
20528 module.exports = exports['default'];
20529
20530/***/ }),
20531/* 292 */
20532/***/ (function(module, exports, __webpack_require__) {
20533
20534 'use strict';
20535
20536 Object.defineProperty(exports, "__esModule", {
20537 value: true
20538 });
20539
20540 var _inDOM = __webpack_require__(14);
20541
20542 var _inDOM2 = _interopRequireDefault(_inDOM);
20543
20544 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
20545
20546 exports.default = function () {
20547 // HTML DOM and SVG DOM may have different support levels,
20548 // so we need to check on context instead of a document root element.
20549 return _inDOM2.default ? function (context, node) {
20550 if (context.contains) {
20551 return context.contains(node);
20552 } else if (context.compareDocumentPosition) {
20553 return context === node || !!(context.compareDocumentPosition(node) & 16);
20554 } else {
20555 return fallback(context, node);
20556 }
20557 } : fallback;
20558 }();
20559
20560 function fallback(context, node) {
20561 if (node) do {
20562 if (node === context) return true;
20563 } while (node = node.parentNode);
20564
20565 return false;
20566 }
20567 module.exports = exports['default'];
20568
20569/***/ }),
20570/* 293 */
20571/***/ (function(module, exports, __webpack_require__) {
20572
20573 'use strict';
20574
20575 Object.defineProperty(exports, "__esModule", {
20576 value: true
20577 });
20578 exports.UNSELECTABLE_ATTRIBUTE = exports.UNSELECTABLE_STYLE = undefined;
20579 exports.getValuePropValue = getValuePropValue;
20580 exports.getPropValue = getPropValue;
20581 exports.isCombobox = isCombobox;
20582 exports.isMultipleOrTags = isMultipleOrTags;
20583 exports.isMultipleOrTagsOrCombobox = isMultipleOrTagsOrCombobox;
20584 exports.isSingleMode = isSingleMode;
20585 exports.toArray = toArray;
20586 exports.preventDefaultEvent = preventDefaultEvent;
20587 exports.findIndexInValueByKey = findIndexInValueByKey;
20588 exports.findIndexInValueByLabel = findIndexInValueByLabel;
20589 exports.getSelectKeys = getSelectKeys;
20590 exports.findFirstMenuItem = findFirstMenuItem;
20591 exports.includesSeparators = includesSeparators;
20592 exports.splitBySeparators = splitBySeparators;
20593
20594 var _beeMenus = __webpack_require__(271);
20595
20596 var _react = __webpack_require__(4);
20597
20598 var _react2 = _interopRequireDefault(_react);
20599
20600 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
20601
20602 function getValuePropValue(child) {
20603 var props = child.props;
20604 if ('value' in props) {
20605 return props.value;
20606 }
20607 if (child.key) {
20608 return child.key;
20609 }
20610 throw new Error('no key or value for ' + child);
20611 }
20612
20613 function getPropValue(child, prop) {
20614 if (prop === 'value') {
20615 return getValuePropValue(child);
20616 }
20617 return child.props[prop];
20618 }
20619
20620 function isCombobox(props) {
20621 return props.combobox;
20622 }
20623
20624 function isMultipleOrTags(props) {
20625 return props.multiple || props.tags;
20626 }
20627
20628 function isMultipleOrTagsOrCombobox(props) {
20629 return isMultipleOrTags(props) || isCombobox(props);
20630 }
20631
20632 function isSingleMode(props) {
20633 return !isMultipleOrTagsOrCombobox(props);
20634 }
20635
20636 function toArray(value) {
20637 var ret = value;
20638 if (value === undefined) {
20639 ret = [];
20640 } else if (!Array.isArray(value)) {
20641 ret = [value];
20642 }
20643 return ret;
20644 }
20645
20646 function preventDefaultEvent(e) {
20647 e.preventDefault();
20648 }
20649
20650 function findIndexInValueByKey(value, key) {
20651 var index = -1;
20652 for (var i = 0; i < value.length; i++) {
20653 if (value[i].key === key) {
20654 index = i;
20655 break;
20656 }
20657 }
20658 return index;
20659 }
20660
20661 function findIndexInValueByLabel(value, label) {
20662 var index = -1;
20663 for (var i = 0; i < value.length; i++) {
20664 if (toArray(value[i].label).join('') === label) {
20665 index = i;
20666 break;
20667 }
20668 }
20669 return index;
20670 }
20671
20672 function getSelectKeys(menuItems, value) {
20673 if (value === null || value === undefined) {
20674 return [];
20675 }
20676 var selectedKeys = [];
20677 _react2["default"].Children.forEach(menuItems, function (item) {
20678 if (item.type === _beeMenus.ItemGroup) {
20679 selectedKeys = selectedKeys.concat(getSelectKeys(item.props.children, value));
20680 } else {
20681 var itemValue = getValuePropValue(item);
20682 var itemKey = item.key;
20683 if (findIndexInValueByKey(value, itemValue) !== -1 && itemKey) {
20684 selectedKeys.push(itemKey);
20685 }
20686 }
20687 });
20688 return selectedKeys;
20689 }
20690
20691 var UNSELECTABLE_STYLE = exports.UNSELECTABLE_STYLE = {
20692 userSelect: 'none',
20693 WebkitUserSelect: 'none'
20694 };
20695
20696 var UNSELECTABLE_ATTRIBUTE = exports.UNSELECTABLE_ATTRIBUTE = {
20697 unselectable: 'unselectable'
20698 };
20699
20700 function findFirstMenuItem(children) {
20701 for (var i = 0; i < children.length; i++) {
20702 var child = children[i];
20703 if (child.type === _beeMenus.ItemGroup) {
20704 var found = findFirstMenuItem(child.props.children);
20705 if (found) {
20706 return found;
20707 }
20708 } else if (!child.props.disabled) {
20709 return child;
20710 }
20711 }
20712 return null;
20713 }
20714
20715 function includesSeparators(string, separators) {
20716 for (var i = 0; i < separators.length; ++i) {
20717 if (string.lastIndexOf(separators[i]) > 0) {
20718 return true;
20719 }
20720 }
20721 return false;
20722 }
20723
20724 function splitBySeparators(string, separators) {
20725 var reg = new RegExp('[' + separators.join() + ']');
20726 var array = string.split(reg);
20727 if (array[0] === '') {
20728 array.shift();
20729 }
20730 if (array[array.length - 1] === '') {
20731 array.pop();
20732 }
20733 return array;
20734 }
20735
20736/***/ }),
20737/* 294 */
20738/***/ (function(module, exports, __webpack_require__) {
20739
20740 'use strict';
20741
20742 Object.defineProperty(exports, "__esModule", {
20743 value: true
20744 });
20745
20746 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; };
20747
20748 var _trigger = __webpack_require__(295);
20749
20750 var _trigger2 = _interopRequireDefault(_trigger);
20751
20752 var _react = __webpack_require__(4);
20753
20754 var _react2 = _interopRequireDefault(_react);
20755
20756 var _classnames = __webpack_require__(3);
20757
20758 var _classnames2 = _interopRequireDefault(_classnames);
20759
20760 var _DropdownMenu = __webpack_require__(301);
20761
20762 var _DropdownMenu2 = _interopRequireDefault(_DropdownMenu);
20763
20764 var _reactDom = __webpack_require__(12);
20765
20766 var _reactDom2 = _interopRequireDefault(_reactDom);
20767
20768 var _util = __webpack_require__(293);
20769
20770 var _propTypes = __webpack_require__(5);
20771
20772 var _propTypes2 = _interopRequireDefault(_propTypes);
20773
20774 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
20775
20776 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; }
20777
20778 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; }
20779
20780 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; }
20781
20782 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
20783
20784 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; }
20785
20786 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); }
20787
20788 var BUILT_IN_PLACEMENTS = {
20789 bottomLeft: {
20790 points: ['tl', 'bl'],
20791 offset: [0, 4],
20792 overflow: {
20793 adjustX: 0,
20794 adjustY: 1
20795 }
20796 },
20797 topLeft: {
20798 points: ['bl', 'tl'],
20799 offset: [0, -4],
20800 overflow: {
20801 adjustX: 0,
20802 adjustY: 1
20803 }
20804 }
20805 };
20806
20807 var propTypes = {
20808 onPopupFocus: _propTypes2["default"].func,
20809 dropdownMatchSelectWidth: _propTypes2["default"].bool,
20810 dropdownAlign: _propTypes2["default"].object,
20811 visible: _propTypes2["default"].bool,
20812 disabled: _propTypes2["default"].bool,
20813 showSearch: _propTypes2["default"].bool,
20814 dropdownClassName: _propTypes2["default"].string,
20815 multiple: _propTypes2["default"].bool,
20816 inputValue: _propTypes2["default"].string,
20817 filterOption: _propTypes2["default"].any,
20818 options: _propTypes2["default"].any,
20819 clsPrefix: _propTypes2["default"].string,
20820 popupClassName: _propTypes2["default"].string,
20821 children: _propTypes2["default"].any
20822 };
20823
20824 var SelectTrigger = function (_Component) {
20825 _inherits(SelectTrigger, _Component);
20826
20827 function SelectTrigger(props) {
20828 _classCallCheck(this, SelectTrigger);
20829
20830 var _this = _possibleConstructorReturn(this, _Component.call(this, props));
20831
20832 _this.setDropdownWidth = function () {
20833 var width = _reactDom2["default"].findDOMNode(_this).offsetWidth;
20834 if (width !== _this.state.dropdownWidth) {
20835 _this.setState({ dropdownWidth: width });
20836 }
20837 };
20838
20839 _this.getInnerMenu = _this.getInnerMenu.bind(_this);
20840 _this.getPopupDOMNode = _this.getPopupDOMNode.bind(_this);
20841 _this.getDropdownTransitionName = _this.getDropdownTransitionName.bind(_this);
20842 _this.getDropdownElement = _this.getDropdownElement.bind(_this);
20843 _this.getDropdownPrefixCls = _this.getDropdownPrefixCls.bind(_this);
20844 _this.saveMenu = _this.saveMenu.bind(_this);
20845 _this.state = {
20846 dropdownWidth: null
20847 };
20848
20849 return _this;
20850 }
20851
20852 SelectTrigger.prototype.componentDidMount = function componentDidMount() {
20853 this.setDropdownWidth();
20854 };
20855
20856 SelectTrigger.prototype.componentDidUpdate = function componentDidUpdate() {
20857 this.setDropdownWidth();
20858 };
20859
20860 SelectTrigger.prototype.getInnerMenu = function getInnerMenu() {
20861 return this.popupMenu && this.popupMenu.refs.menu;
20862 };
20863
20864 SelectTrigger.prototype.getPopupDOMNode = function getPopupDOMNode() {
20865 return this.refs.trigger.getPopupDomNode();
20866 };
20867
20868 SelectTrigger.prototype.getDropdownElement = function getDropdownElement(newProps) {
20869 var props = this.props;
20870 return _react2["default"].createElement(_DropdownMenu2["default"], _extends({
20871 ref: this.saveMenu
20872 }, newProps, {
20873 clsPrefix: this.getDropdownPrefixCls(),
20874 onMenuSelect: props.onMenuSelect,
20875 scrollToEnd: props.scrollToEnd,
20876 onMenuDeselect: props.onMenuDeselect,
20877 value: props.value,
20878 defaultActiveFirstOption: props.defaultActiveFirstOption,
20879 dropdownMenuStyle: props.dropdownMenuStyle
20880 }));
20881 };
20882
20883 SelectTrigger.prototype.getDropdownTransitionName = function getDropdownTransitionName() {
20884 var props = this.props;
20885 var transitionName = props.transitionName;
20886 if (!transitionName && props.animation) {
20887 transitionName = this.getDropdownPrefixCls() + '-' + props.animation;
20888 }
20889 return transitionName;
20890 };
20891
20892 SelectTrigger.prototype.getDropdownPrefixCls = function getDropdownPrefixCls() {
20893 return this.props.clsPrefix + '-dropdown';
20894 };
20895
20896 SelectTrigger.prototype.saveMenu = function saveMenu(menu) {
20897 this.popupMenu = menu;
20898 };
20899
20900 SelectTrigger.prototype.render = function render() {
20901 var _popupClassName;
20902
20903 var _props = this.props,
20904 onPopupFocus = _props.onPopupFocus,
20905 props = _objectWithoutProperties(_props, ['onPopupFocus']);
20906
20907 var multiple = props.multiple,
20908 visible = props.visible,
20909 inputValue = props.inputValue,
20910 dropdownAlign = props.dropdownAlign,
20911 disabled = props.disabled,
20912 showSearch = props.showSearch,
20913 dropdownClassName = props.dropdownClassName,
20914 dropdownStyle = props.dropdownStyle,
20915 dropdownMatchSelectWidth = props.dropdownMatchSelectWidth;
20916
20917 var dropdownPrefixCls = this.getDropdownPrefixCls();
20918 var popupClassName = (_popupClassName = {}, _defineProperty(_popupClassName, dropdownClassName, !!dropdownClassName), _defineProperty(_popupClassName, dropdownPrefixCls + '--' + (multiple ? 'multiple' : 'single'), 1), _popupClassName);
20919 var popupElement = this.getDropdownElement({
20920 menuItems: props.options,
20921 onPopupFocus: onPopupFocus,
20922 multiple: multiple,
20923 inputValue: inputValue,
20924 visible: visible
20925 });
20926 var hideAction = void 0;
20927 if (disabled) {
20928 hideAction = [];
20929 } else if ((0, _util.isSingleMode)(props) && !showSearch) {
20930 hideAction = ['click'];
20931 } else {
20932 hideAction = ['blur'];
20933 }
20934 var popupStyle = _extends({}, dropdownStyle);
20935 var widthProp = dropdownMatchSelectWidth ? 'width' : 'minWidth';
20936 if (this.state.dropdownWidth) {
20937 popupStyle[widthProp] = this.state.dropdownWidth + 'px';
20938 }
20939 return _react2["default"].createElement(
20940 _trigger2["default"],
20941 _extends({}, props, {
20942 showAction: disabled ? [] : ['click'],
20943 hideAction: hideAction,
20944 ref: 'trigger',
20945 popupPlacement: 'bottomLeft',
20946 builtinPlacements: BUILT_IN_PLACEMENTS,
20947 clsPrefix: dropdownPrefixCls
20948 // popupTransitionName={this.getDropdownTransitionName()}
20949 , onPopupVisibleChange: props.onDropdownVisibleChange,
20950 popup: popupElement,
20951 popupAlign: dropdownAlign,
20952 popupVisible: visible,
20953 getPopupContainer: props.getPopupContainer,
20954 popupClassName: (0, _classnames2["default"])(popupClassName),
20955 popupStyle: popupStyle
20956 }),
20957 props.children
20958 );
20959 };
20960
20961 return SelectTrigger;
20962 }(_react.Component);
20963
20964 ;
20965
20966 SelectTrigger.propTypes = propTypes;
20967
20968 exports["default"] = SelectTrigger;
20969 module.exports = exports['default'];
20970
20971/***/ }),
20972/* 295 */
20973/***/ (function(module, exports, __webpack_require__) {
20974
20975 'use strict';
20976
20977 module.exports = __webpack_require__(296);
20978
20979/***/ }),
20980/* 296 */
20981/***/ (function(module, exports, __webpack_require__) {
20982
20983 'use strict';
20984
20985 Object.defineProperty(exports, "__esModule", {
20986 value: true
20987 });
20988
20989 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; };
20990
20991 var _react = __webpack_require__(4);
20992
20993 var _react2 = _interopRequireDefault(_react);
20994
20995 var _propTypes = __webpack_require__(5);
20996
20997 var _propTypes2 = _interopRequireDefault(_propTypes);
20998
20999 var _reactDom = __webpack_require__(12);
21000
21001 var _reactDom2 = _interopRequireDefault(_reactDom);
21002
21003 var _contains = __webpack_require__(292);
21004
21005 var _contains2 = _interopRequireDefault(_contains);
21006
21007 var _tinperBeeCore = __webpack_require__(26);
21008
21009 var _Popup = __webpack_require__(297);
21010
21011 var _Popup2 = _interopRequireDefault(_Popup);
21012
21013 var _utils = __webpack_require__(300);
21014
21015 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
21016
21017 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; }
21018
21019 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
21020
21021 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; }
21022
21023 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); }
21024
21025 //import getContainerRenderMixin from './getContainerRenderMixin';
21026
21027 function noop() {}
21028
21029 function returnEmptyString() {
21030 return '';
21031 }
21032
21033 var ALL_HANDLERS = ['onClick', 'onMouseDown', 'onTouchStart', 'onMouseEnter', 'onMouseLeave', 'onFocus', 'onBlur'];
21034
21035 var propTypes = {
21036 children: _propTypes2["default"].any,
21037 action: _propTypes2["default"].oneOfType([_propTypes2["default"].string, _propTypes2["default"].arrayOf(_propTypes2["default"].string)]),
21038 showAction: _propTypes2["default"].any,
21039 hideAction: _propTypes2["default"].any,
21040 getPopupClassNameFromAlign: _propTypes2["default"].any,
21041 onPopupVisibleChange: _propTypes2["default"].func,
21042 afterPopupVisibleChange: _propTypes2["default"].func,
21043 popup: _propTypes2["default"].oneOfType([_propTypes2["default"].node, _propTypes2["default"].func]).isRequired,
21044 popupStyle: _propTypes2["default"].object,
21045 clsPrefix: _propTypes2["default"].string,
21046 popupClassName: _propTypes2["default"].string,
21047 popupPlacement: _propTypes2["default"].string,
21048 builtinPlacements: _propTypes2["default"].object,
21049 popupTransitionName: _propTypes2["default"].string,
21050 popupAnimation: _propTypes2["default"].any,
21051 mouseEnterDelay: _propTypes2["default"].number,
21052 mouseLeaveDelay: _propTypes2["default"].number,
21053 zIndex: _propTypes2["default"].number,
21054 focusDelay: _propTypes2["default"].number,
21055 blurDelay: _propTypes2["default"].number,
21056 getPopupContainer: _propTypes2["default"].func,
21057 destroyPopupOnHide: _propTypes2["default"].bool,
21058 mask: _propTypes2["default"].bool,
21059 maskClosable: _propTypes2["default"].bool,
21060 onPopupAlign: _propTypes2["default"].func,
21061 popupAlign: _propTypes2["default"].object,
21062 popupVisible: _propTypes2["default"].bool,
21063 maskTransitionName: _propTypes2["default"].string,
21064 maskAnimation: _propTypes2["default"].string
21065 };
21066
21067 var defaultProps = {
21068 clsPrefix: 'rc-trigger-popup',
21069 getPopupClassNameFromAlign: returnEmptyString,
21070 onPopupVisibleChange: noop,
21071 afterPopupVisibleChange: noop,
21072 onPopupAlign: noop,
21073 popupClassName: '',
21074 mouseEnterDelay: 0,
21075 mouseLeaveDelay: 0.1,
21076 focusDelay: 0,
21077 blurDelay: 0.15,
21078 popupStyle: {},
21079 destroyPopupOnHide: false,
21080 popupAlign: {},
21081 defaultPopupVisible: false,
21082 mask: false,
21083 maskClosable: true,
21084 action: [],
21085 showAction: [],
21086 hideAction: []
21087 };
21088
21089 var Trigger = function (_Component) {
21090 _inherits(Trigger, _Component);
21091
21092 function Trigger(props) {
21093 _classCallCheck(this, Trigger);
21094
21095 var _this = _possibleConstructorReturn(this, _Component.call(this, props));
21096
21097 _this.state = {
21098 popupVisible: !!_this.props.popupVisible || _this.props.defaultPopupVisible
21099 //this.removeContainer = this.removeContainer.bind(this);
21100 };_this.getContainer = _this.getContainer.bind(_this);
21101 _this.renderComponent = _this.renderComponent.bind(_this);
21102 _this.isVisible = _this.isVisible.bind(_this);
21103
21104 _this.onMouseEnter = _this.onMouseEnter.bind(_this);
21105 _this.onMouseLeave = _this.onMouseLeave.bind(_this);
21106 _this.onPopupMouseEnter = _this.onPopupMouseEnter.bind(_this);
21107 _this.onPopupMouseLeave = _this.onPopupMouseLeave.bind(_this);
21108 _this.onFocus = _this.onFocus.bind(_this);
21109
21110 _this.onMouseDown = _this.onMouseDown.bind(_this);
21111 _this.onTouchStart = _this.onTouchStart.bind(_this);
21112 _this.onBlur = _this.onBlur.bind(_this);
21113 _this.onDocumentClick = _this.onDocumentClick.bind(_this);
21114 _this.getPopupDomNode = _this.getPopupDomNode.bind(_this);
21115
21116 _this.getRootDomNode = _this.getRootDomNode.bind(_this);
21117 _this.getPopupClassNameFromAlign = _this.getPopupClassNameFromAlign.bind(_this);
21118 _this.getPopupAlign = _this.getPopupAlign.bind(_this);
21119 _this.getComponent = _this.getComponent.bind(_this);
21120 _this.setPopupVisible = _this.setPopupVisible.bind(_this);
21121
21122 _this.delaySetPopupVisible = _this.delaySetPopupVisible.bind(_this);
21123 _this.clearDelayTimer = _this.clearDelayTimer.bind(_this);
21124 _this.createTwoChains = _this.createTwoChains.bind(_this);
21125 _this.isClickToShow = _this.isClickToShow.bind(_this);
21126 _this.isClickToHide = _this.isClickToHide.bind(_this);
21127
21128 _this.isMouseEnterToShow = _this.isMouseEnterToShow.bind(_this);
21129 _this.isMouseLeaveToHide = _this.isMouseLeaveToHide.bind(_this);
21130 _this.isFocusToShow = _this.isFocusToShow.bind(_this);
21131 _this.isBlurToHide = _this.isBlurToHide.bind(_this);
21132 _this.forcePopupAlign = _this.forcePopupAlign.bind(_this);
21133
21134 _this.fireEvents = _this.fireEvents.bind(_this);
21135 _this.close = _this.close.bind(_this);
21136 _this.onClick = _this.onClick.bind(_this);
21137 return _this;
21138 }
21139
21140 Trigger.prototype.isVisible = function isVisible(instance) {
21141 return instance.state.popupVisible;
21142 };
21143
21144 Trigger.prototype.getContainer = function getContainer(instance) {
21145 var popupContainer = document.createElement('div');
21146 var mountNode = instance.props.getPopupContainer ? instance.props.getPopupContainer((0, _reactDom.findDOMNode)(instance)) : document.body;
21147 mountNode.appendChild(popupContainer);
21148 return popupContainer;
21149 };
21150
21151 Trigger.prototype.renderComponent = function renderComponent(instance, componentArg, ready) {
21152 if (instance._component || this.isVisible(instance)) {
21153 if (!instance._container) {
21154 instance._container = this.getContainer(instance);
21155 }
21156 var component = instance.getComponent(componentArg);
21157 _reactDom2["default"].unstable_renderSubtreeIntoContainer(instance, component, instance._container, function callback() {
21158 instance._component = this;
21159 if (ready) {
21160 ready.call(this);
21161 }
21162 });
21163 }
21164 };
21165
21166 Trigger.prototype.componentWillMount = function componentWillMount() {
21167 var _this2 = this;
21168
21169 this.mounted = false;
21170 ALL_HANDLERS.forEach(function (h) {
21171 _this2['fire' + h] = function (e) {
21172 _this2.fireEvents(h, e);
21173 };
21174 });
21175 };
21176
21177 Trigger.prototype.componentDidMount = function componentDidMount() {
21178 this.mounted = true;
21179 this.componentDidUpdate({}, {
21180 popupVisible: this.state.popupVisible
21181 });
21182 };
21183
21184 Trigger.prototype.componentWillReceiveProps = function componentWillReceiveProps(_ref) {
21185 var popupVisible = _ref.popupVisible;
21186
21187 if (popupVisible !== undefined) {
21188 this.setState({
21189 popupVisible: popupVisible
21190 });
21191 }
21192 };
21193
21194 Trigger.prototype.componentDidUpdate = function componentDidUpdate(_, prevState) {
21195 var props = this.props;
21196 var state = this.state;
21197 this.renderComponent(this, null, function () {
21198 if (prevState.popupVisible !== state.popupVisible) {
21199 props.afterPopupVisibleChange(state.popupVisible);
21200 }
21201 });
21202 if (this.isClickToHide()) {
21203 if (state.popupVisible) {
21204 if (!this.clickOutsideHandler) {
21205 this.clickOutsideHandler = (0, _tinperBeeCore.addEventListener)(document, 'mousedown', this.onDocumentClick);
21206 this.touchOutsideHandler = (0, _tinperBeeCore.addEventListener)(document, 'touchstart', this.onDocumentClick);
21207 }
21208 return;
21209 }
21210 }
21211 if (this.clickOutsideHandler) {
21212 this.clickOutsideHandler.remove();
21213 this.touchOutsideHandler.remove();
21214 this.clickOutsideHandler = null;
21215 this.touchOutsideHandler = null;
21216 }
21217 };
21218
21219 Trigger.prototype.componentWillUnmount = function componentWillUnmount() {
21220 this.clearDelayTimer();
21221 if (this.clickOutsideHandler) {
21222 this.clickOutsideHandler.remove();
21223 this.touchOutsideHandler.remove();
21224 this.clickOutsideHandler = null;
21225 this.touchOutsideHandler = null;
21226 }
21227 if (this._container) {
21228 _reactDom2["default"].unmountComponentAtNode(this._container);
21229 }
21230
21231 //this.removeContainer();
21232 };
21233
21234 Trigger.prototype.onMouseEnter = function onMouseEnter(e) {
21235 this.fireEvents('onMouseEnter', e);
21236 this.delaySetPopupVisible(true, this.props.mouseEnterDelay);
21237 };
21238
21239 Trigger.prototype.onMouseLeave = function onMouseLeave(e) {
21240 this.fireEvents('onMouseLeave', e);
21241 this.delaySetPopupVisible(false, this.props.mouseLeaveDelay);
21242 };
21243
21244 Trigger.prototype.onPopupMouseEnter = function onPopupMouseEnter() {
21245 this.clearDelayTimer();
21246 };
21247
21248 Trigger.prototype.onPopupMouseLeave = function onPopupMouseLeave(e) {
21249 // https://github.com/react-component/trigger/pull/13
21250 // react bug?
21251 if (e.relatedTarget && !e.relatedTarget.setTimeout && this._component && (0, _contains2["default"])(this._component.getPopupDomNode(), e.relatedTarget)) {
21252 return;
21253 }
21254 this.delaySetPopupVisible(false, this.props.mouseLeaveDelay);
21255 };
21256
21257 Trigger.prototype.onFocus = function onFocus(e) {
21258 this.fireEvents('onFocus', e);
21259 // incase focusin and focusout
21260 this.clearDelayTimer();
21261 if (this.isFocusToShow()) {
21262 this.focusTime = Date.now();
21263 this.delaySetPopupVisible(true, this.props.focusDelay);
21264 }
21265 };
21266
21267 Trigger.prototype.onMouseDown = function onMouseDown(e) {
21268 this.fireEvents('onMouseDown', e);
21269 this.preClickTime = Date.now();
21270 };
21271
21272 Trigger.prototype.onTouchStart = function onTouchStart(e) {
21273 this.fireEvents('onTouchStart', e);
21274 this.preTouchTime = Date.now();
21275 };
21276
21277 Trigger.prototype.onBlur = function onBlur(e) {
21278 this.fireEvents('onBlur', e);
21279 this.clearDelayTimer();
21280 if (this.isBlurToHide()) {
21281 this.delaySetPopupVisible(false, this.props.blurDelay);
21282 }
21283 };
21284
21285 Trigger.prototype.onClick = function onClick(event) {
21286 this.fireEvents('onClick', event);
21287 // focus will trigger click
21288 if (this.focusTime) {
21289 var preTime = void 0;
21290 if (this.preClickTime && this.preTouchTime) {
21291 preTime = Math.min(this.preClickTime, this.preTouchTime);
21292 } else if (this.preClickTime) {
21293 preTime = this.preClickTime;
21294 } else if (this.preTouchTime) {
21295 preTime = this.preTouchTime;
21296 }
21297 if (Math.abs(preTime - this.focusTime) < 20) {
21298 return;
21299 }
21300 this.focusTime = 0;
21301 }
21302 this.preClickTime = 0;
21303 this.preTouchTime = 0;
21304 event.preventDefault();
21305 var nextVisible = !this.state.popupVisible;
21306 if (this.isClickToHide() && !nextVisible || nextVisible && this.isClickToShow()) {
21307 this.setPopupVisible(!this.state.popupVisible);
21308 }
21309 };
21310
21311 Trigger.prototype.onDocumentClick = function onDocumentClick(event) {
21312 if (this.props.mask && !this.props.maskClosable) {
21313 return;
21314 }
21315 var target = event.target;
21316 var root = (0, _reactDom.findDOMNode)(this);
21317 var popupNode = this.getPopupDomNode();
21318 if (!(0, _contains2["default"])(root, target) && !(0, _contains2["default"])(popupNode, target)) {
21319 this.close();
21320 }
21321 };
21322
21323 Trigger.prototype.getPopupDomNode = function getPopupDomNode() {
21324 // for test
21325 if (this._component) {
21326 return this.mounted ? this._component.getPopupDomNode() : null;
21327 }
21328 return null;
21329 };
21330
21331 Trigger.prototype.getRootDomNode = function getRootDomNode() {
21332 return _reactDom2["default"].findDOMNode(this);
21333 };
21334
21335 Trigger.prototype.getPopupClassNameFromAlign = function getPopupClassNameFromAlign(align) {
21336 var className = [];
21337 var props = this.props;
21338 var popupPlacement = props.popupPlacement,
21339 builtinPlacements = props.builtinPlacements,
21340 clsPrefix = props.clsPrefix;
21341
21342 if (popupPlacement && builtinPlacements) {
21343 className.push((0, _utils.getPopupClassNameFromAlign)(builtinPlacements, clsPrefix, align));
21344 }
21345 if (props.getPopupClassNameFromAlign) {
21346 className.push(props.getPopupClassNameFromAlign(align));
21347 }
21348 return className.join(' ');
21349 };
21350
21351 Trigger.prototype.getPopupAlign = function getPopupAlign() {
21352 var props = this.props;
21353 var popupPlacement = props.popupPlacement,
21354 popupAlign = props.popupAlign,
21355 builtinPlacements = props.builtinPlacements;
21356
21357 if (popupPlacement && builtinPlacements) {
21358 return (0, _utils.getAlignFromPlacement)(builtinPlacements, popupPlacement, popupAlign);
21359 }
21360 return popupAlign;
21361 };
21362
21363 Trigger.prototype.getComponent = function getComponent() {
21364 var props = this.props,
21365 state = this.state;
21366
21367 var mouseProps = {};
21368 if (this.isMouseEnterToShow()) {
21369 mouseProps.onMouseEnter = this.onPopupMouseEnter;
21370 }
21371 if (this.isMouseLeaveToHide()) {
21372 mouseProps.onMouseLeave = this.onPopupMouseLeave;
21373 }
21374 return _react2["default"].createElement(
21375 _Popup2["default"],
21376 _extends({
21377 clsPrefix: props.clsPrefix,
21378 destroyPopupOnHide: props.destroyPopupOnHide,
21379 visible: state.popupVisible,
21380 className: props.popupClassName,
21381 action: props.action,
21382 align: this.getPopupAlign(),
21383 onAlign: props.onPopupAlign,
21384 animation: props.popupAnimation,
21385 getClassNameFromAlign: this.getPopupClassNameFromAlign
21386 }, mouseProps, {
21387 getRootDomNode: this.getRootDomNode,
21388 style: props.popupStyle,
21389 mask: props.mask,
21390 zIndex: props.zIndex,
21391 transitionName: props.popupTransitionName,
21392 maskAnimation: props.maskAnimation,
21393 maskTransitionName: props.maskTransitionName
21394 }),
21395 typeof props.popup === 'function' ? props.popup() : props.popup
21396 );
21397 };
21398
21399 Trigger.prototype.setPopupVisible = function setPopupVisible(popupVisible) {
21400 this.clearDelayTimer();
21401 if (this.state.popupVisible !== popupVisible) {
21402 if (!('popupVisible' in this.props)) {
21403 this.setState({
21404 popupVisible: popupVisible
21405 });
21406 }
21407 this.props.onPopupVisibleChange(popupVisible);
21408 }
21409 };
21410
21411 Trigger.prototype.delaySetPopupVisible = function delaySetPopupVisible(visible, delayS) {
21412 var _this3 = this;
21413
21414 var delay = delayS * 1000;
21415 this.clearDelayTimer();
21416 if (delay) {
21417 this.delayTimer = setTimeout(function () {
21418 _this3.setPopupVisible(visible);
21419 _this3.clearDelayTimer();
21420 }, delay);
21421 } else {
21422 this.setPopupVisible(visible);
21423 }
21424 };
21425
21426 Trigger.prototype.clearDelayTimer = function clearDelayTimer() {
21427 if (this.delayTimer) {
21428 clearTimeout(this.delayTimer);
21429 this.delayTimer = null;
21430 }
21431 };
21432
21433 Trigger.prototype.createTwoChains = function createTwoChains(event) {
21434 var childPros = this.props.children.props;
21435 var props = this.props;
21436 if (childPros[event] && props[event]) {
21437 return this['fire' + event];
21438 }
21439 return childPros[event] || props[event];
21440 };
21441
21442 Trigger.prototype.isClickToShow = function isClickToShow() {
21443 var _props = this.props,
21444 action = _props.action,
21445 showAction = _props.showAction;
21446
21447 return action.indexOf('click') !== -1 || showAction.indexOf('click') !== -1;
21448 };
21449
21450 Trigger.prototype.isClickToHide = function isClickToHide() {
21451 var _props2 = this.props,
21452 action = _props2.action,
21453 hideAction = _props2.hideAction;
21454
21455 return action.indexOf('click') !== -1 || hideAction.indexOf('click') !== -1;
21456 };
21457
21458 Trigger.prototype.isMouseEnterToShow = function isMouseEnterToShow() {
21459 var _props3 = this.props,
21460 action = _props3.action,
21461 showAction = _props3.showAction;
21462
21463 return action.indexOf('hover') !== -1 || showAction.indexOf('mouseEnter') !== -1;
21464 };
21465
21466 Trigger.prototype.isMouseLeaveToHide = function isMouseLeaveToHide() {
21467 var _props4 = this.props,
21468 action = _props4.action,
21469 hideAction = _props4.hideAction;
21470
21471 return action.indexOf('hover') !== -1 || hideAction.indexOf('mouseLeave') !== -1;
21472 };
21473
21474 Trigger.prototype.isFocusToShow = function isFocusToShow() {
21475 var _props5 = this.props,
21476 action = _props5.action,
21477 showAction = _props5.showAction;
21478
21479 return action.indexOf('focus') !== -1 || showAction.indexOf('focus') !== -1;
21480 };
21481
21482 Trigger.prototype.isBlurToHide = function isBlurToHide() {
21483 var _props6 = this.props,
21484 action = _props6.action,
21485 hideAction = _props6.hideAction;
21486
21487 return action.indexOf('focus') !== -1 || hideAction.indexOf('blur') !== -1;
21488 };
21489
21490 Trigger.prototype.forcePopupAlign = function forcePopupAlign() {
21491 if (this.state.popupVisible && this.popupInstance && this.popupInstance.alignInstance) {
21492 this.popupInstance.alignInstance.forceAlign();
21493 }
21494 };
21495
21496 Trigger.prototype.fireEvents = function fireEvents(type, e) {
21497 var childCallback = this.props.children.props[type];
21498 if (childCallback) {
21499 childCallback(e);
21500 }
21501 var callback = this.props[type];
21502 if (callback) {
21503 callback(e);
21504 }
21505 };
21506
21507 Trigger.prototype.close = function close() {
21508 this.setPopupVisible(false);
21509 };
21510
21511 Trigger.prototype.render = function render() {
21512 var props = this.props;
21513 var children = props.children;
21514 var child = _react2["default"].Children.only(children);
21515 var newChildProps = {};
21516
21517 if (this.isClickToHide() || this.isClickToShow()) {
21518 newChildProps.onClick = this.onClick;
21519 newChildProps.onMouseDown = this.onMouseDown;
21520 newChildProps.onTouchStart = this.onTouchStart;
21521 } else {
21522 newChildProps.onClick = this.createTwoChains('onClick');
21523 newChildProps.onMouseDown = this.createTwoChains('onMouseDown');
21524 newChildProps.onTouchStart = this.createTwoChains('onTouchStart');
21525 }
21526 if (this.isMouseEnterToShow()) {
21527 newChildProps.onMouseEnter = this.onMouseEnter;
21528 } else {
21529 newChildProps.onMouseEnter = this.createTwoChains('onMouseEnter');
21530 }
21531 if (this.isMouseLeaveToHide()) {
21532 newChildProps.onMouseLeave = this.onMouseLeave;
21533 } else {
21534 newChildProps.onMouseLeave = this.createTwoChains('onMouseLeave');
21535 }
21536 if (this.isFocusToShow() || this.isBlurToHide()) {
21537 newChildProps.onFocus = this.onFocus;
21538 newChildProps.onBlur = this.onBlur;
21539 } else {
21540 newChildProps.onFocus = this.createTwoChains('onFocus');
21541 newChildProps.onBlur = this.createTwoChains('onBlur');
21542 }
21543
21544 return _react2["default"].cloneElement(child, newChildProps);
21545 };
21546
21547 return Trigger;
21548 }(_react.Component);
21549
21550 ;
21551
21552 Trigger.propTypes = propTypes;
21553 Trigger.defaultProps = defaultProps;
21554 exports["default"] = Trigger;
21555 module.exports = exports['default'];
21556
21557/***/ }),
21558/* 297 */
21559/***/ (function(module, exports, __webpack_require__) {
21560
21561 'use strict';
21562
21563 Object.defineProperty(exports, "__esModule", {
21564 value: true
21565 });
21566
21567 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; };
21568
21569 var _react = __webpack_require__(4);
21570
21571 var _react2 = _interopRequireDefault(_react);
21572
21573 var _propTypes = __webpack_require__(5);
21574
21575 var _propTypes2 = _interopRequireDefault(_propTypes);
21576
21577 var _reactDom = __webpack_require__(12);
21578
21579 var _reactDom2 = _interopRequireDefault(_reactDom);
21580
21581 var _Align = __webpack_require__(49);
21582
21583 var _Align2 = _interopRequireDefault(_Align);
21584
21585 var _beeAnimate = __webpack_require__(279);
21586
21587 var _beeAnimate2 = _interopRequireDefault(_beeAnimate);
21588
21589 var _PopupInner = __webpack_require__(298);
21590
21591 var _PopupInner2 = _interopRequireDefault(_PopupInner);
21592
21593 var _LazyRenderBox = __webpack_require__(299);
21594
21595 var _LazyRenderBox2 = _interopRequireDefault(_LazyRenderBox);
21596
21597 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
21598
21599 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; }
21600
21601 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
21602
21603 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; }
21604
21605 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); }
21606
21607 var propTypes = {
21608 visible: _propTypes2["default"].bool,
21609 style: _propTypes2["default"].object,
21610 getClassNameFromAlign: _propTypes2["default"].func,
21611 onAlign: _propTypes2["default"].func,
21612 getRootDomNode: _propTypes2["default"].func,
21613 onMouseEnter: _propTypes2["default"].func,
21614 align: _propTypes2["default"].any,
21615 destroyPopupOnHide: _propTypes2["default"].bool,
21616 className: _propTypes2["default"].string,
21617 clsPrefix: _propTypes2["default"].string,
21618 onMouseLeave: _propTypes2["default"].func
21619 };
21620
21621 var Popup = function (_Component) {
21622 _inherits(Popup, _Component);
21623
21624 function Popup() {
21625 _classCallCheck(this, Popup);
21626
21627 var _this = _possibleConstructorReturn(this, _Component.call(this));
21628
21629 _this.onAlign = _this.onAlign.bind(_this);
21630 _this.getPopupDomNode = _this.getPopupDomNode.bind(_this);
21631 _this.getTarget = _this.getTarget.bind(_this);
21632 _this.getMaskTransitionName = _this.getMaskTransitionName.bind(_this);
21633 _this.getTransitionName = _this.getTransitionName.bind(_this);
21634 _this.getClassName = _this.getClassName.bind(_this);
21635 _this.getPopupElement = _this.getPopupElement.bind(_this);
21636 _this.getZIndexStyle = _this.getZIndexStyle.bind(_this);
21637 _this.getMaskElement = _this.getMaskElement.bind(_this);
21638 _this.saveAlign = _this.saveAlign.bind(_this);
21639 return _this;
21640 }
21641
21642 Popup.prototype.componentDidMount = function componentDidMount() {
21643 this.rootNode = this.getPopupDomNode();
21644 };
21645
21646 Popup.prototype.onAlign = function onAlign(popupDomNode, align) {
21647 var props = this.props;
21648 var alignClassName = props.getClassNameFromAlign(props.align);
21649 var currentAlignClassName = props.getClassNameFromAlign(align);
21650 if (alignClassName !== currentAlignClassName) {
21651 this.currentAlignClassName = currentAlignClassName;
21652 popupDomNode.className = this.getClassName(currentAlignClassName);
21653 }
21654 props.onAlign(popupDomNode, align);
21655 };
21656
21657 Popup.prototype.getPopupDomNode = function getPopupDomNode() {
21658 return _reactDom2["default"].findDOMNode(this.refs.popup);
21659 };
21660
21661 Popup.prototype.getTarget = function getTarget() {
21662 return this.props.getRootDomNode();
21663 };
21664
21665 Popup.prototype.getMaskTransitionName = function getMaskTransitionName() {
21666 var props = this.props;
21667 var transitionName = props.maskTransitionName;
21668 var animation = props.maskAnimation;
21669 if (!transitionName && animation) {
21670 transitionName = props.clsPrefix + '-' + animation;
21671 }
21672 return transitionName;
21673 };
21674
21675 Popup.prototype.getTransitionName = function getTransitionName() {
21676 var props = this.props;
21677 var transitionName = props.transitionName;
21678 if (!transitionName && props.animation) {
21679 transitionName = props.clsPrefix + '-' + props.animation;
21680 }
21681 return transitionName;
21682 };
21683
21684 Popup.prototype.getClassName = function getClassName(currentAlignClassName) {
21685 return this.props.clsPrefix + ' ' + this.props.className + ' ' + currentAlignClassName;
21686 };
21687
21688 Popup.prototype.getPopupElement = function getPopupElement() {
21689 var props = this.props;
21690 var align = props.align,
21691 style = props.style,
21692 visible = props.visible,
21693 clsPrefix = props.clsPrefix,
21694 destroyPopupOnHide = props.destroyPopupOnHide;
21695
21696 var className = this.getClassName(this.currentAlignClassName || props.getClassNameFromAlign(align));
21697 var hiddenClassName = clsPrefix + '-hidden';
21698 if (!visible) {
21699 this.currentAlignClassName = null;
21700 }
21701 var newStyle = _extends({}, style, this.getZIndexStyle());
21702 var popupInnerProps = {
21703 className: className,
21704 clsPrefix: clsPrefix,
21705 ref: 'popup',
21706 onMouseEnter: props.onMouseEnter,
21707 onMouseLeave: props.onMouseLeave,
21708 style: newStyle
21709 };
21710 if (destroyPopupOnHide) {
21711 return _react2["default"].createElement(
21712 _beeAnimate2["default"],
21713 {
21714 component: '',
21715 exclusive: true,
21716 transitionAppear: true,
21717 transitionName: this.getTransitionName()
21718 },
21719 visible ? _react2["default"].createElement(
21720 _Align2["default"],
21721 {
21722 target: this.getTarget,
21723 key: 'popup',
21724 ref: this.saveAlign,
21725 monitorWindowResize: true,
21726 align: align,
21727 onAlign: this.onAlign
21728 },
21729 _react2["default"].createElement(
21730 _PopupInner2["default"],
21731 _extends({
21732 visible: true
21733 }, popupInnerProps),
21734 props.children
21735 )
21736 ) : null
21737 );
21738 }
21739 return _react2["default"].createElement(
21740 _beeAnimate2["default"],
21741 {
21742 component: '',
21743 exclusive: true,
21744 transitionAppear: true,
21745 transitionName: this.getTransitionName(),
21746 showProp: 'xVisible'
21747 },
21748 _react2["default"].createElement(
21749 _Align2["default"],
21750 {
21751 target: this.getTarget,
21752 key: 'popup',
21753 ref: this.saveAlign,
21754 monitorWindowResize: true,
21755 xVisible: visible,
21756 childrenProps: { visible: 'xVisible' },
21757 disabled: !visible,
21758 align: align,
21759 onAlign: this.onAlign
21760 },
21761 _react2["default"].createElement(
21762 _PopupInner2["default"],
21763 _extends({
21764 hiddenClassName: hiddenClassName
21765 }, popupInnerProps),
21766 props.children
21767 )
21768 )
21769 );
21770 };
21771
21772 Popup.prototype.getZIndexStyle = function getZIndexStyle() {
21773 var style = {};
21774 var props = this.props;
21775 if (props.zIndex !== undefined) {
21776 style.zIndex = props.zIndex;
21777 }
21778 return style;
21779 };
21780
21781 Popup.prototype.getMaskElement = function getMaskElement() {
21782 var props = this.props;
21783 var maskElement = void 0;
21784 if (props.mask) {
21785 var maskTransition = this.getMaskTransitionName();
21786 maskElement = _react2["default"].createElement(_LazyRenderBox2["default"], {
21787 style: this.getZIndexStyle(),
21788 key: 'mask',
21789 className: props.clsPrefix + '-mask',
21790 hiddenClassName: props.clsPrefix + '-mask-hidden',
21791 visible: props.visible
21792 });
21793 if (maskTransition) {
21794 maskElement = _react2["default"].createElement(
21795 _beeAnimate2["default"],
21796 {
21797 key: 'mask',
21798 showProp: 'visible',
21799 transitionAppear: true,
21800 component: '',
21801 transitionName: maskTransition
21802 },
21803 maskElement
21804 );
21805 }
21806 }
21807 return maskElement;
21808 };
21809
21810 Popup.prototype.saveAlign = function saveAlign(align) {
21811 this.alignInstance = align;
21812 };
21813
21814 Popup.prototype.render = function render() {
21815 return _react2["default"].createElement(
21816 'div',
21817 null,
21818 this.getMaskElement(),
21819 this.getPopupElement()
21820 );
21821 };
21822
21823 return Popup;
21824 }(_react.Component);
21825
21826 ;
21827
21828 Popup.propTypes = propTypes;
21829 exports["default"] = Popup;
21830 module.exports = exports['default'];
21831
21832/***/ }),
21833/* 298 */
21834/***/ (function(module, exports, __webpack_require__) {
21835
21836 'use strict';
21837
21838 Object.defineProperty(exports, "__esModule", {
21839 value: true
21840 });
21841
21842 var _react = __webpack_require__(4);
21843
21844 var _react2 = _interopRequireDefault(_react);
21845
21846 var _propTypes = __webpack_require__(5);
21847
21848 var _propTypes2 = _interopRequireDefault(_propTypes);
21849
21850 var _LazyRenderBox = __webpack_require__(299);
21851
21852 var _LazyRenderBox2 = _interopRequireDefault(_LazyRenderBox);
21853
21854 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
21855
21856 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; }
21857
21858 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
21859
21860 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; }
21861
21862 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); }
21863
21864 var propTypes = {
21865 hiddenClassName: _propTypes2["default"].string,
21866 className: _propTypes2["default"].string,
21867 clsPrefix: _propTypes2["default"].string,
21868 onMouseEnter: _propTypes2["default"].func,
21869 onMouseLeave: _propTypes2["default"].func,
21870 children: _propTypes2["default"].any
21871 };
21872
21873 var PopupInner = function (_Component) {
21874 _inherits(PopupInner, _Component);
21875
21876 function PopupInner() {
21877 _classCallCheck(this, PopupInner);
21878
21879 return _possibleConstructorReturn(this, _Component.apply(this, arguments));
21880 }
21881
21882 PopupInner.prototype.render = function render() {
21883 var props = this.props;
21884 var className = props.className;
21885 if (!props.visible) {
21886 className += ' ' + props.hiddenClassName;
21887 }
21888 return _react2["default"].createElement(
21889 'div',
21890 {
21891 className: className,
21892 onMouseEnter: props.onMouseEnter,
21893 onMouseLeave: props.onMouseLeave,
21894 style: props.style
21895 },
21896 _react2["default"].createElement(
21897 _LazyRenderBox2["default"],
21898 { className: props.clsPrefix + '-content', visible: props.visible },
21899 props.children
21900 )
21901 );
21902 };
21903
21904 return PopupInner;
21905 }(_react.Component);
21906
21907 ;
21908
21909 PopupInner.propTypes = propTypes;
21910 exports["default"] = PopupInner;
21911 module.exports = exports['default'];
21912
21913/***/ }),
21914/* 299 */
21915/***/ (function(module, exports, __webpack_require__) {
21916
21917 'use strict';
21918
21919 Object.defineProperty(exports, "__esModule", {
21920 value: true
21921 });
21922
21923 var _react = __webpack_require__(4);
21924
21925 var _react2 = _interopRequireDefault(_react);
21926
21927 var _propTypes = __webpack_require__(5);
21928
21929 var _propTypes2 = _interopRequireDefault(_propTypes);
21930
21931 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
21932
21933 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; }
21934
21935 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; }
21936
21937 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
21938
21939 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; }
21940
21941 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); }
21942
21943 var propTypes = {
21944 children: _propTypes2["default"].any,
21945 className: _propTypes2["default"].string,
21946 visible: _propTypes2["default"].bool,
21947 hiddenClassName: _propTypes2["default"].string
21948 };
21949
21950 var LazyRenderBox = function (_Component) {
21951 _inherits(LazyRenderBox, _Component);
21952
21953 function LazyRenderBox() {
21954 _classCallCheck(this, LazyRenderBox);
21955
21956 return _possibleConstructorReturn(this, _Component.apply(this, arguments));
21957 }
21958
21959 LazyRenderBox.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {
21960 return nextProps.hiddenClassName || nextProps.visible;
21961 };
21962
21963 LazyRenderBox.prototype.render = function render() {
21964 var _props = this.props,
21965 hiddenClassName = _props.hiddenClassName,
21966 visible = _props.visible,
21967 props = _objectWithoutProperties(_props, ['hiddenClassName', 'visible']);
21968
21969 if (hiddenClassName || _react2["default"].Children.count(props.children) > 1) {
21970 if (!visible && hiddenClassName) {
21971 props.className += ' ' + hiddenClassName;
21972 }
21973 return _react2["default"].createElement('div', props);
21974 }
21975
21976 return _react2["default"].Children.only(props.children);
21977 };
21978
21979 return LazyRenderBox;
21980 }(_react.Component);
21981
21982 ;
21983 LazyRenderBox.propTypes = propTypes;
21984
21985 exports["default"] = LazyRenderBox;
21986 module.exports = exports['default'];
21987
21988/***/ }),
21989/* 300 */
21990/***/ (function(module, exports) {
21991
21992 'use strict';
21993
21994 Object.defineProperty(exports, "__esModule", {
21995 value: true
21996 });
21997
21998 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; };
21999
22000 exports.getAlignFromPlacement = getAlignFromPlacement;
22001 exports.getPopupClassNameFromAlign = getPopupClassNameFromAlign;
22002 function isPointsEq(a1, a2) {
22003 return a1[0] === a2[0] && a1[1] === a2[1];
22004 }
22005
22006 function getAlignFromPlacement(builtinPlacements, placementStr, align) {
22007 var baseAlign = builtinPlacements[placementStr] || {};
22008 return _extends({}, baseAlign, align);
22009 }
22010
22011 function getPopupClassNameFromAlign(builtinPlacements, clsPrefix, align) {
22012 var points = align.points;
22013 for (var placement in builtinPlacements) {
22014 if (builtinPlacements.hasOwnProperty(placement)) {
22015 if (isPointsEq(builtinPlacements[placement].points, points)) {
22016 return clsPrefix + '-placement-' + placement;
22017 }
22018 }
22019 }
22020 return '';
22021 }
22022
22023/***/ }),
22024/* 301 */
22025/***/ (function(module, exports, __webpack_require__) {
22026
22027 'use strict';
22028
22029 Object.defineProperty(exports, "__esModule", {
22030 value: true
22031 });
22032
22033 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; };
22034
22035 var _react = __webpack_require__(4);
22036
22037 var _react2 = _interopRequireDefault(_react);
22038
22039 var _reactDom = __webpack_require__(12);
22040
22041 var _tinperBeeCore = __webpack_require__(26);
22042
22043 var _beeMenus = __webpack_require__(271);
22044
22045 var _beeMenus2 = _interopRequireDefault(_beeMenus);
22046
22047 var _domScrollIntoView = __webpack_require__(302);
22048
22049 var _domScrollIntoView2 = _interopRequireDefault(_domScrollIntoView);
22050
22051 var _util = __webpack_require__(293);
22052
22053 var _propTypes = __webpack_require__(5);
22054
22055 var _propTypes2 = _interopRequireDefault(_propTypes);
22056
22057 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
22058
22059 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; }
22060
22061 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
22062
22063 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; }
22064
22065 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); }
22066
22067 var propTypes = {
22068 defaultActiveFirstOption: _propTypes2["default"].bool,
22069 value: _propTypes2["default"].any,
22070 dropdownMenuStyle: _propTypes2["default"].object,
22071 multiple: _propTypes2["default"].bool,
22072 onPopupFocus: _propTypes2["default"].func,
22073 onMenuDeSelect: _propTypes2["default"].func,
22074 onMenuSelect: _propTypes2["default"].func,
22075 clsPrefix: _propTypes2["default"].string,
22076 menuItems: _propTypes2["default"].any,
22077 inputValue: _propTypes2["default"].string,
22078 visible: _propTypes2["default"].bool
22079 };
22080
22081 var DropdownMenu = function (_Component) {
22082 _inherits(DropdownMenu, _Component);
22083
22084 function DropdownMenu() {
22085 _classCallCheck(this, DropdownMenu);
22086
22087 return _possibleConstructorReturn(this, _Component.apply(this, arguments));
22088 }
22089
22090 DropdownMenu.prototype.componentWillMount = function componentWillMount() {
22091 this.lastInputValue = this.props.inputValue;
22092 };
22093
22094 DropdownMenu.prototype.componentDidMount = function componentDidMount() {
22095 this.scrollActiveItemToView();
22096 this.lastVisible = this.props.visible;
22097 var scrollDom = (0, _reactDom.findDOMNode)(this.refs.menu);
22098 scrollDom.addEventListener('scroll', this.handleScroll.bind(this));
22099 };
22100
22101 DropdownMenu.prototype.componentWillUnmount = function componentWillUnmount() {
22102 var scrollDom = (0, _reactDom.findDOMNode)(this.refs.menu);
22103 scrollDom.removeEventListener('scroll', this.handleScroll.bind(this));
22104 };
22105
22106 DropdownMenu.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {
22107 if (!nextProps.visible) {
22108 this.lastVisible = false;
22109 }
22110 // freeze when hide
22111 return nextProps.visible;
22112 };
22113
22114 DropdownMenu.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {
22115 var props = this.props;
22116 if (!prevProps.visible && props.visible) {
22117 this.scrollActiveItemToView();
22118 }
22119 this.lastVisible = props.visible;
22120 this.lastInputValue = props.inputValue;
22121 };
22122
22123 DropdownMenu.prototype.handleScroll = function handleScroll(event) {
22124 var scrollToEnd = this.props.scrollToEnd;
22125
22126 var el = event.target;
22127 if (el.scrollHeight < el.clientHeight + el.scrollTop + 1) {
22128 if (scrollToEnd) {
22129 scrollToEnd();
22130 }
22131 }
22132 };
22133
22134 DropdownMenu.prototype.scrollActiveItemToView = function scrollActiveItemToView() {
22135 // scroll into view
22136 var itemComponent = (0, _reactDom.findDOMNode)(this.firstActiveItem);
22137 if (itemComponent) {
22138 (0, _domScrollIntoView2["default"])(itemComponent, (0, _reactDom.findDOMNode)(this.refs.menu), {
22139 onlyScrollIfNeeded: true
22140 });
22141 }
22142 };
22143
22144 DropdownMenu.prototype.renderMenu = function renderMenu() {
22145 var _this2 = this;
22146
22147 var props = this.props;
22148 var menuItems = props.menuItems,
22149 defaultActiveFirstOption = props.defaultActiveFirstOption,
22150 value = props.value,
22151 clsPrefix = props.clsPrefix,
22152 multiple = props.multiple,
22153 onMenuSelect = props.onMenuSelect,
22154 inputValue = props.inputValue;
22155
22156 if (menuItems && menuItems.length) {
22157 var menuProps = {};
22158 if (multiple) {
22159 menuProps.onDeselect = props.onMenuDeselect;
22160 menuProps.onSelect = onMenuSelect;
22161 } else {
22162 menuProps.onClick = onMenuSelect;
22163 }
22164
22165 var selectedKeys = (0, _util.getSelectKeys)(menuItems, value);
22166 var activeKeyProps = {};
22167
22168 var clonedMenuItems = menuItems;
22169 if (selectedKeys.length) {
22170 if (props.visible && !this.lastVisible) {
22171 activeKeyProps.activeKey = selectedKeys[0];
22172 }
22173 var foundFirst = false;
22174 // set firstActiveItem via cloning menus
22175 // for scroll into view
22176 var clone = function clone(item) {
22177 if (!foundFirst && selectedKeys.indexOf(item.key) !== -1) {
22178 foundFirst = true;
22179 return (0, _react.cloneElement)(item, {
22180 ref: function ref(_ref) {
22181 _this2.firstActiveItem = _ref;
22182 }
22183 });
22184 }
22185 return item;
22186 };
22187
22188 clonedMenuItems = menuItems.map(function (item) {
22189 if (item.type === _beeMenus.ItemGroup) {
22190 var children = (0, _tinperBeeCore.toArray)(item.props.children).map(clone);
22191 return (0, _react.cloneElement)(item, {}, children);
22192 }
22193 return clone(item);
22194 });
22195 }
22196
22197 // clear activeKey when inputValue change
22198 if (inputValue !== this.lastInputValue) {
22199 activeKeyProps.activeKey = '';
22200 }
22201
22202 return _react2["default"].createElement(
22203 _beeMenus2["default"],
22204 _extends({
22205 ref: 'menu',
22206 style: this.props.dropdownMenuStyle,
22207 defaultActiveFirst: defaultActiveFirstOption
22208 }, activeKeyProps, {
22209 multiple: multiple,
22210 focusable: false
22211 }, menuProps, {
22212 selectedKeys: selectedKeys,
22213 clsPrefix: clsPrefix + '-menu'
22214 }),
22215 clonedMenuItems
22216 );
22217 }
22218 return null;
22219 };
22220
22221 DropdownMenu.prototype.render = function render() {
22222 var renderMenu = this.renderMenu();
22223 return renderMenu ? _react2["default"].createElement(
22224 'div',
22225 {
22226 style: { overflow: 'auto' },
22227 onFocus: this.props.onPopupFocus,
22228 onMouseDown: _util.preventDefaultEvent
22229 },
22230 renderMenu
22231 ) : null;
22232 };
22233
22234 return DropdownMenu;
22235 }(_react.Component);
22236
22237 ;
22238
22239 exports["default"] = DropdownMenu;
22240 module.exports = exports['default'];
22241
22242/***/ }),
22243/* 302 */
22244/***/ (function(module, exports, __webpack_require__) {
22245
22246 'use strict';
22247
22248 module.exports = __webpack_require__(303);
22249
22250/***/ }),
22251/* 303 */
22252/***/ (function(module, exports, __webpack_require__) {
22253
22254 'use strict';
22255
22256 var util = __webpack_require__(304);
22257
22258 function scrollIntoView(elem, container, config) {
22259 config = config || {};
22260 // document 归一化到 window
22261 if (container.nodeType === 9) {
22262 container = util.getWindow(container);
22263 }
22264
22265 var allowHorizontalScroll = config.allowHorizontalScroll;
22266 var onlyScrollIfNeeded = config.onlyScrollIfNeeded;
22267 var alignWithTop = config.alignWithTop;
22268 var alignWithLeft = config.alignWithLeft;
22269 var offsetTop = config.offsetTop || 0;
22270 var offsetLeft = config.offsetLeft || 0;
22271 var offsetBottom = config.offsetBottom || 0;
22272 var offsetRight = config.offsetRight || 0;
22273
22274 allowHorizontalScroll = allowHorizontalScroll === undefined ? true : allowHorizontalScroll;
22275
22276 var isWin = util.isWindow(container);
22277 var elemOffset = util.offset(elem);
22278 var eh = util.outerHeight(elem);
22279 var ew = util.outerWidth(elem);
22280 var containerOffset = undefined;
22281 var ch = undefined;
22282 var cw = undefined;
22283 var containerScroll = undefined;
22284 var diffTop = undefined;
22285 var diffBottom = undefined;
22286 var win = undefined;
22287 var winScroll = undefined;
22288 var ww = undefined;
22289 var wh = undefined;
22290
22291 if (isWin) {
22292 win = container;
22293 wh = util.height(win);
22294 ww = util.width(win);
22295 winScroll = {
22296 left: util.scrollLeft(win),
22297 top: util.scrollTop(win)
22298 };
22299 // elem 相对 container 可视视窗的距离
22300 diffTop = {
22301 left: elemOffset.left - winScroll.left - offsetLeft,
22302 top: elemOffset.top - winScroll.top - offsetTop
22303 };
22304 diffBottom = {
22305 left: elemOffset.left + ew - (winScroll.left + ww) + offsetRight,
22306 top: elemOffset.top + eh - (winScroll.top + wh) + offsetBottom
22307 };
22308 containerScroll = winScroll;
22309 } else {
22310 containerOffset = util.offset(container);
22311 ch = container.clientHeight;
22312 cw = container.clientWidth;
22313 containerScroll = {
22314 left: container.scrollLeft,
22315 top: container.scrollTop
22316 };
22317 // elem 相对 container 可视视窗的距离
22318 // 注意边框, offset 是边框到根节点
22319 diffTop = {
22320 left: elemOffset.left - (containerOffset.left + (parseFloat(util.css(container, 'borderLeftWidth')) || 0)) - offsetLeft,
22321 top: elemOffset.top - (containerOffset.top + (parseFloat(util.css(container, 'borderTopWidth')) || 0)) - offsetTop
22322 };
22323 diffBottom = {
22324 left: elemOffset.left + ew - (containerOffset.left + cw + (parseFloat(util.css(container, 'borderRightWidth')) || 0)) + offsetRight,
22325 top: elemOffset.top + eh - (containerOffset.top + ch + (parseFloat(util.css(container, 'borderBottomWidth')) || 0)) + offsetBottom
22326 };
22327 }
22328
22329 if (diffTop.top < 0 || diffBottom.top > 0) {
22330 // 强制向上
22331 if (alignWithTop === true) {
22332 util.scrollTop(container, containerScroll.top + diffTop.top);
22333 } else if (alignWithTop === false) {
22334 util.scrollTop(container, containerScroll.top + diffBottom.top);
22335 } else {
22336 // 自动调整
22337 if (diffTop.top < 0) {
22338 util.scrollTop(container, containerScroll.top + diffTop.top);
22339 } else {
22340 util.scrollTop(container, containerScroll.top + diffBottom.top);
22341 }
22342 }
22343 } else {
22344 if (!onlyScrollIfNeeded) {
22345 alignWithTop = alignWithTop === undefined ? true : !!alignWithTop;
22346 if (alignWithTop) {
22347 util.scrollTop(container, containerScroll.top + diffTop.top);
22348 } else {
22349 util.scrollTop(container, containerScroll.top + diffBottom.top);
22350 }
22351 }
22352 }
22353
22354 if (allowHorizontalScroll) {
22355 if (diffTop.left < 0 || diffBottom.left > 0) {
22356 // 强制向上
22357 if (alignWithLeft === true) {
22358 util.scrollLeft(container, containerScroll.left + diffTop.left);
22359 } else if (alignWithLeft === false) {
22360 util.scrollLeft(container, containerScroll.left + diffBottom.left);
22361 } else {
22362 // 自动调整
22363 if (diffTop.left < 0) {
22364 util.scrollLeft(container, containerScroll.left + diffTop.left);
22365 } else {
22366 util.scrollLeft(container, containerScroll.left + diffBottom.left);
22367 }
22368 }
22369 } else {
22370 if (!onlyScrollIfNeeded) {
22371 alignWithLeft = alignWithLeft === undefined ? true : !!alignWithLeft;
22372 if (alignWithLeft) {
22373 util.scrollLeft(container, containerScroll.left + diffTop.left);
22374 } else {
22375 util.scrollLeft(container, containerScroll.left + diffBottom.left);
22376 }
22377 }
22378 }
22379 }
22380 }
22381
22382 module.exports = scrollIntoView;
22383
22384/***/ }),
22385/* 304 */
22386/***/ (function(module, exports) {
22387
22388 'use strict';
22389
22390 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; };
22391
22392 var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; };
22393
22394 var RE_NUM = /[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source;
22395
22396 function getClientPosition(elem) {
22397 var box = undefined;
22398 var x = undefined;
22399 var y = undefined;
22400 var doc = elem.ownerDocument;
22401 var body = doc.body;
22402 var docElem = doc && doc.documentElement;
22403 // 根据 GBS 最新数据,A-Grade Browsers 都已支持 getBoundingClientRect 方法,不用再考虑传统的实现方式
22404 box = elem.getBoundingClientRect();
22405
22406 // 注:jQuery 还考虑减去 docElem.clientLeft/clientTop
22407 // 但测试发现,这样反而会导致当 html 和 body 有边距/边框样式时,获取的值不正确
22408 // 此外,ie6 会忽略 html 的 margin 值,幸运地是没有谁会去设置 html 的 margin
22409
22410 x = box.left;
22411 y = box.top;
22412
22413 // In IE, most of the time, 2 extra pixels are added to the top and left
22414 // due to the implicit 2-pixel inset border. In IE6/7 quirks mode and
22415 // IE6 standards mode, this border can be overridden by setting the
22416 // document element's border to zero -- thus, we cannot rely on the
22417 // offset always being 2 pixels.
22418
22419 // In quirks mode, the offset can be determined by querying the body's
22420 // clientLeft/clientTop, but in standards mode, it is found by querying
22421 // the document element's clientLeft/clientTop. Since we already called
22422 // getClientBoundingRect we have already forced a reflow, so it is not
22423 // too expensive just to query them all.
22424
22425 // ie 下应该减去窗口的边框吧,毕竟默认 absolute 都是相对窗口定位的
22426 // 窗口边框标准是设 documentElement ,quirks 时设置 body
22427 // 最好禁止在 body 和 html 上边框 ,但 ie < 9 html 默认有 2px ,减去
22428 // 但是非 ie 不可能设置窗口边框,body html 也不是窗口 ,ie 可以通过 html,body 设置
22429 // 标准 ie 下 docElem.clientTop 就是 border-top
22430 // ie7 html 即窗口边框改变不了。永远为 2
22431 // 但标准 firefox/chrome/ie9 下 docElem.clientTop 是窗口边框,即使设了 border-top 也为 0
22432
22433 x -= docElem.clientLeft || body.clientLeft || 0;
22434 y -= docElem.clientTop || body.clientTop || 0;
22435
22436 return {
22437 left: x,
22438 top: y
22439 };
22440 }
22441
22442 function getScroll(w, top) {
22443 var ret = w['page' + (top ? 'Y' : 'X') + 'Offset'];
22444 var method = 'scroll' + (top ? 'Top' : 'Left');
22445 if (typeof ret !== 'number') {
22446 var d = w.document;
22447 // ie6,7,8 standard mode
22448 ret = d.documentElement[method];
22449 if (typeof ret !== 'number') {
22450 // quirks mode
22451 ret = d.body[method];
22452 }
22453 }
22454 return ret;
22455 }
22456
22457 function getScrollLeft(w) {
22458 return getScroll(w);
22459 }
22460
22461 function getScrollTop(w) {
22462 return getScroll(w, true);
22463 }
22464
22465 function getOffset(el) {
22466 var pos = getClientPosition(el);
22467 var doc = el.ownerDocument;
22468 var w = doc.defaultView || doc.parentWindow;
22469 pos.left += getScrollLeft(w);
22470 pos.top += getScrollTop(w);
22471 return pos;
22472 }
22473 function _getComputedStyle(elem, name, computedStyle_) {
22474 var val = '';
22475 var d = elem.ownerDocument;
22476 var computedStyle = computedStyle_ || d.defaultView.getComputedStyle(elem, null);
22477
22478 // https://github.com/kissyteam/kissy/issues/61
22479 if (computedStyle) {
22480 val = computedStyle.getPropertyValue(name) || computedStyle[name];
22481 }
22482
22483 return val;
22484 }
22485
22486 var _RE_NUM_NO_PX = new RegExp('^(' + RE_NUM + ')(?!px)[a-z%]+$', 'i');
22487 var RE_POS = /^(top|right|bottom|left)$/;
22488 var CURRENT_STYLE = 'currentStyle';
22489 var RUNTIME_STYLE = 'runtimeStyle';
22490 var LEFT = 'left';
22491 var PX = 'px';
22492
22493 function _getComputedStyleIE(elem, name) {
22494 // currentStyle maybe null
22495 // http://msdn.microsoft.com/en-us/library/ms535231.aspx
22496 var ret = elem[CURRENT_STYLE] && elem[CURRENT_STYLE][name];
22497
22498 // 当 width/height 设置为百分比时,通过 pixelLeft 方式转换的 width/height 值
22499 // 一开始就处理了! CUSTOM_STYLE.height,CUSTOM_STYLE.width ,cssHook 解决@2011-08-19
22500 // 在 ie 下不对,需要直接用 offset 方式
22501 // borderWidth 等值也有问题,但考虑到 borderWidth 设为百分比的概率很小,这里就不考虑了
22502
22503 // From the awesome hack by Dean Edwards
22504 // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291
22505 // If we're not dealing with a regular pixel number
22506 // but a number that has a weird ending, we need to convert it to pixels
22507 // exclude left right for relativity
22508 if (_RE_NUM_NO_PX.test(ret) && !RE_POS.test(name)) {
22509 // Remember the original values
22510 var style = elem.style;
22511 var left = style[LEFT];
22512 var rsLeft = elem[RUNTIME_STYLE][LEFT];
22513
22514 // prevent flashing of content
22515 elem[RUNTIME_STYLE][LEFT] = elem[CURRENT_STYLE][LEFT];
22516
22517 // Put in the new values to get a computed value out
22518 style[LEFT] = name === 'fontSize' ? '1em' : ret || 0;
22519 ret = style.pixelLeft + PX;
22520
22521 // Revert the changed values
22522 style[LEFT] = left;
22523
22524 elem[RUNTIME_STYLE][LEFT] = rsLeft;
22525 }
22526 return ret === '' ? 'auto' : ret;
22527 }
22528
22529 var getComputedStyleX = undefined;
22530 if (typeof window !== 'undefined') {
22531 getComputedStyleX = window.getComputedStyle ? _getComputedStyle : _getComputedStyleIE;
22532 }
22533
22534 function each(arr, fn) {
22535 for (var i = 0; i < arr.length; i++) {
22536 fn(arr[i]);
22537 }
22538 }
22539
22540 function isBorderBoxFn(elem) {
22541 return getComputedStyleX(elem, 'boxSizing') === 'border-box';
22542 }
22543
22544 var BOX_MODELS = ['margin', 'border', 'padding'];
22545 var CONTENT_INDEX = -1;
22546 var PADDING_INDEX = 2;
22547 var BORDER_INDEX = 1;
22548 var MARGIN_INDEX = 0;
22549
22550 function swap(elem, options, callback) {
22551 var old = {};
22552 var style = elem.style;
22553 var name = undefined;
22554
22555 // Remember the old values, and insert the new ones
22556 for (name in options) {
22557 if (options.hasOwnProperty(name)) {
22558 old[name] = style[name];
22559 style[name] = options[name];
22560 }
22561 }
22562
22563 callback.call(elem);
22564
22565 // Revert the old values
22566 for (name in options) {
22567 if (options.hasOwnProperty(name)) {
22568 style[name] = old[name];
22569 }
22570 }
22571 }
22572
22573 function getPBMWidth(elem, props, which) {
22574 var value = 0;
22575 var prop = undefined;
22576 var j = undefined;
22577 var i = undefined;
22578 for (j = 0; j < props.length; j++) {
22579 prop = props[j];
22580 if (prop) {
22581 for (i = 0; i < which.length; i++) {
22582 var cssProp = undefined;
22583 if (prop === 'border') {
22584 cssProp = prop + which[i] + 'Width';
22585 } else {
22586 cssProp = prop + which[i];
22587 }
22588 value += parseFloat(getComputedStyleX(elem, cssProp)) || 0;
22589 }
22590 }
22591 }
22592 return value;
22593 }
22594
22595 /**
22596 * A crude way of determining if an object is a window
22597 * @member util
22598 */
22599 function isWindow(obj) {
22600 // must use == for ie8
22601 /* eslint eqeqeq:0 */
22602 return obj != null && obj == obj.window;
22603 }
22604
22605 var domUtils = {};
22606
22607 each(['Width', 'Height'], function (name) {
22608 domUtils['doc' + name] = function (refWin) {
22609 var d = refWin.document;
22610 return Math.max(
22611 // firefox chrome documentElement.scrollHeight< body.scrollHeight
22612 // ie standard mode : documentElement.scrollHeight> body.scrollHeight
22613 d.documentElement['scroll' + name],
22614 // quirks : documentElement.scrollHeight 最大等于可视窗口多一点?
22615 d.body['scroll' + name], domUtils['viewport' + name](d));
22616 };
22617
22618 domUtils['viewport' + name] = function (win) {
22619 // pc browser includes scrollbar in window.innerWidth
22620 var prop = 'client' + name;
22621 var doc = win.document;
22622 var body = doc.body;
22623 var documentElement = doc.documentElement;
22624 var documentElementProp = documentElement[prop];
22625 // 标准模式取 documentElement
22626 // backcompat 取 body
22627 return doc.compatMode === 'CSS1Compat' && documentElementProp || body && body[prop] || documentElementProp;
22628 };
22629 });
22630
22631 /*
22632 得到元素的大小信息
22633 @param elem
22634 @param name
22635 @param {String} [extra] 'padding' : (css width) + padding
22636 'border' : (css width) + padding + border
22637 'margin' : (css width) + padding + border + margin
22638 */
22639 function getWH(elem, name, extra) {
22640 if (isWindow(elem)) {
22641 return name === 'width' ? domUtils.viewportWidth(elem) : domUtils.viewportHeight(elem);
22642 } else if (elem.nodeType === 9) {
22643 return name === 'width' ? domUtils.docWidth(elem) : domUtils.docHeight(elem);
22644 }
22645 var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];
22646 var borderBoxValue = name === 'width' ? elem.offsetWidth : elem.offsetHeight;
22647 var computedStyle = getComputedStyleX(elem);
22648 var isBorderBox = isBorderBoxFn(elem, computedStyle);
22649 var cssBoxValue = 0;
22650 if (borderBoxValue == null || borderBoxValue <= 0) {
22651 borderBoxValue = undefined;
22652 // Fall back to computed then un computed css if necessary
22653 cssBoxValue = getComputedStyleX(elem, name);
22654 if (cssBoxValue == null || Number(cssBoxValue) < 0) {
22655 cssBoxValue = elem.style[name] || 0;
22656 }
22657 // Normalize '', auto, and prepare for extra
22658 cssBoxValue = parseFloat(cssBoxValue) || 0;
22659 }
22660 if (extra === undefined) {
22661 extra = isBorderBox ? BORDER_INDEX : CONTENT_INDEX;
22662 }
22663 var borderBoxValueOrIsBorderBox = borderBoxValue !== undefined || isBorderBox;
22664 var val = borderBoxValue || cssBoxValue;
22665 if (extra === CONTENT_INDEX) {
22666 if (borderBoxValueOrIsBorderBox) {
22667 return val - getPBMWidth(elem, ['border', 'padding'], which, computedStyle);
22668 }
22669 return cssBoxValue;
22670 }
22671 if (borderBoxValueOrIsBorderBox) {
22672 var padding = extra === PADDING_INDEX ? -getPBMWidth(elem, ['border'], which, computedStyle) : getPBMWidth(elem, ['margin'], which, computedStyle);
22673 return val + (extra === BORDER_INDEX ? 0 : padding);
22674 }
22675 return cssBoxValue + getPBMWidth(elem, BOX_MODELS.slice(extra), which, computedStyle);
22676 }
22677
22678 var cssShow = {
22679 position: 'absolute',
22680 visibility: 'hidden',
22681 display: 'block'
22682 };
22683
22684 // fix #119 : https://github.com/kissyteam/kissy/issues/119
22685 function getWHIgnoreDisplay(elem) {
22686 var val = undefined;
22687 var args = arguments;
22688 // in case elem is window
22689 // elem.offsetWidth === undefined
22690 if (elem.offsetWidth !== 0) {
22691 val = getWH.apply(undefined, args);
22692 } else {
22693 swap(elem, cssShow, function () {
22694 val = getWH.apply(undefined, args);
22695 });
22696 }
22697 return val;
22698 }
22699
22700 function css(el, name, v) {
22701 var value = v;
22702 if ((typeof name === 'undefined' ? 'undefined' : _typeof(name)) === 'object') {
22703 for (var i in name) {
22704 if (name.hasOwnProperty(i)) {
22705 css(el, i, name[i]);
22706 }
22707 }
22708 return undefined;
22709 }
22710 if (typeof value !== 'undefined') {
22711 if (typeof value === 'number') {
22712 value += 'px';
22713 }
22714 el.style[name] = value;
22715 return undefined;
22716 }
22717 return getComputedStyleX(el, name);
22718 }
22719
22720 each(['width', 'height'], function (name) {
22721 var first = name.charAt(0).toUpperCase() + name.slice(1);
22722 domUtils['outer' + first] = function (el, includeMargin) {
22723 return el && getWHIgnoreDisplay(el, name, includeMargin ? MARGIN_INDEX : BORDER_INDEX);
22724 };
22725 var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];
22726
22727 domUtils[name] = function (elem, val) {
22728 if (val !== undefined) {
22729 if (elem) {
22730 var computedStyle = getComputedStyleX(elem);
22731 var isBorderBox = isBorderBoxFn(elem);
22732 if (isBorderBox) {
22733 val += getPBMWidth(elem, ['padding', 'border'], which, computedStyle);
22734 }
22735 return css(elem, name, val);
22736 }
22737 return undefined;
22738 }
22739 return elem && getWHIgnoreDisplay(elem, name, CONTENT_INDEX);
22740 };
22741 });
22742
22743 // 设置 elem 相对 elem.ownerDocument 的坐标
22744 function setOffset(elem, offset) {
22745 // set position first, in-case top/left are set even on static elem
22746 if (css(elem, 'position') === 'static') {
22747 elem.style.position = 'relative';
22748 }
22749
22750 var old = getOffset(elem);
22751 var ret = {};
22752 var current = undefined;
22753 var key = undefined;
22754
22755 for (key in offset) {
22756 if (offset.hasOwnProperty(key)) {
22757 current = parseFloat(css(elem, key)) || 0;
22758 ret[key] = current + offset[key] - old[key];
22759 }
22760 }
22761 css(elem, ret);
22762 }
22763
22764 module.exports = _extends({
22765 getWindow: function getWindow(node) {
22766 var doc = node.ownerDocument || node;
22767 return doc.defaultView || doc.parentWindow;
22768 },
22769 offset: function offset(el, value) {
22770 if (typeof value !== 'undefined') {
22771 setOffset(el, value);
22772 } else {
22773 return getOffset(el);
22774 }
22775 },
22776
22777 isWindow: isWindow,
22778 each: each,
22779 css: css,
22780 clone: function clone(obj) {
22781 var ret = {};
22782 for (var i in obj) {
22783 if (obj.hasOwnProperty(i)) {
22784 ret[i] = obj[i];
22785 }
22786 }
22787 var overflow = obj.overflow;
22788 if (overflow) {
22789 for (var i in obj) {
22790 if (obj.hasOwnProperty(i)) {
22791 ret.overflow[i] = obj.overflow[i];
22792 }
22793 }
22794 }
22795 return ret;
22796 },
22797 scrollLeft: function scrollLeft(w, v) {
22798 if (isWindow(w)) {
22799 if (v === undefined) {
22800 return getScrollLeft(w);
22801 }
22802 window.scrollTo(v, getScrollTop(w));
22803 } else {
22804 if (v === undefined) {
22805 return w.scrollLeft;
22806 }
22807 w.scrollLeft = v;
22808 }
22809 },
22810 scrollTop: function scrollTop(w, v) {
22811 if (isWindow(w)) {
22812 if (v === undefined) {
22813 return getScrollTop(w);
22814 }
22815 window.scrollTo(getScrollLeft(w), v);
22816 } else {
22817 if (v === undefined) {
22818 return w.scrollTop;
22819 }
22820 w.scrollTop = v;
22821 }
22822 },
22823
22824 viewportWidth: 0,
22825 viewportHeight: 0
22826 }, domUtils);
22827
22828/***/ }),
22829/* 305 */
22830/***/ (function(module, exports, __webpack_require__) {
22831
22832 'use strict';
22833
22834 Object.defineProperty(exports, "__esModule", {
22835 value: true
22836 });
22837
22838 var _react = __webpack_require__(4);
22839
22840 var _react2 = _interopRequireDefault(_react);
22841
22842 var _propTypes = __webpack_require__(5);
22843
22844 var _propTypes2 = _interopRequireDefault(_propTypes);
22845
22846 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
22847
22848 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; }
22849
22850 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
22851
22852 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; }
22853
22854 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); }
22855
22856 var propTypes = {
22857 disabled: _propTypes2["default"].bool,
22858 value: _propTypes2["default"].string
22859 };
22860
22861 var Option = function (_React$Component) {
22862 _inherits(Option, _React$Component);
22863
22864 function Option() {
22865 _classCallCheck(this, Option);
22866
22867 return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));
22868 }
22869
22870 return Option;
22871 }(_react2["default"].Component);
22872
22873 Option.propTypes = propTypes;
22874 exports["default"] = Option;
22875 module.exports = exports['default'];
22876
22877/***/ }),
22878/* 306 */
22879/***/ (function(module, exports, __webpack_require__) {
22880
22881 'use strict';
22882
22883 Object.defineProperty(exports, "__esModule", {
22884 value: true
22885 });
22886
22887 var _RadioGroup = __webpack_require__(307);
22888
22889 var _RadioGroup2 = _interopRequireDefault(_RadioGroup);
22890
22891 var _Radio = __webpack_require__(308);
22892
22893 var _Radio2 = _interopRequireDefault(_Radio);
22894
22895 var _RadioButton = __webpack_require__(309);
22896
22897 var _RadioButton2 = _interopRequireDefault(_RadioButton);
22898
22899 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
22900
22901 _Radio2["default"].RadioGroup = _RadioGroup2["default"];
22902 _Radio2["default"].RadioButton = _RadioButton2["default"];
22903
22904 exports["default"] = _Radio2["default"];
22905 module.exports = exports['default'];
22906
22907/***/ }),
22908/* 307 */
22909/***/ (function(module, exports, __webpack_require__) {
22910
22911 'use strict';
22912
22913 Object.defineProperty(exports, "__esModule", {
22914 value: true
22915 });
22916
22917 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; };
22918
22919 var _react = __webpack_require__(4);
22920
22921 var _react2 = _interopRequireDefault(_react);
22922
22923 var _classnames = __webpack_require__(3);
22924
22925 var _classnames2 = _interopRequireDefault(_classnames);
22926
22927 var _propTypes = __webpack_require__(5);
22928
22929 var _propTypes2 = _interopRequireDefault(_propTypes);
22930
22931 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
22932
22933 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; }
22934
22935 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; }
22936
22937 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
22938
22939 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; }
22940
22941 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); }
22942
22943 var propTypes = {
22944 name: _propTypes2["default"].string,
22945 /**
22946 * 选中的值
22947 */
22948 selectedValue: _propTypes2["default"].oneOfType([_propTypes2["default"].string, _propTypes2["default"].number, _propTypes2["default"].bool]),
22949 /**
22950 * 暴露给用户,且与子Radio通信的方法
22951 */
22952 onChange: _propTypes2["default"].func,
22953 /**
22954 * radio 大小
22955 */
22956 size: _propTypes2["default"].oneOf(['lg', 'sm']),
22957
22958 children: _propTypes2["default"].node.isRequired,
22959
22960 Component: _propTypes2["default"].oneOfType([_propTypes2["default"].string, _propTypes2["default"].func, _propTypes2["default"].object])
22961 };
22962
22963 var defaultProps = {
22964 Component: 'div',
22965 clsPrefix: 'u-radio-group'
22966 };
22967
22968 /**
22969 * 与子Radio通信
22970 */
22971 var childContextTypes = {
22972 radioGroup: _propTypes2["default"].object
22973 };
22974
22975 var RadioGroup = function (_React$Component) {
22976 _inherits(RadioGroup, _React$Component);
22977
22978 function RadioGroup(props, context) {
22979 _classCallCheck(this, RadioGroup);
22980
22981 return _possibleConstructorReturn(this, _React$Component.call(this, props, context));
22982 }
22983
22984 /**
22985 * 一旦外层change方法触发本身props发生改变,则调用getChildContext更新与子Radio的通信信息(radioGroup)
22986 */
22987
22988 RadioGroup.prototype.getChildContext = function getChildContext() {
22989 var _props = this.props,
22990 name = _props.name,
22991 selectedValue = _props.selectedValue,
22992 onChange = _props.onChange,
22993 size = _props.size;
22994
22995 return {
22996 radioGroup: {
22997 name: name, selectedValue: selectedValue, onChange: onChange, size: size
22998 }
22999 };
23000 };
23001
23002 RadioGroup.prototype.render = function render() {
23003 var _props2 = this.props,
23004 Component = _props2.Component,
23005 name = _props2.name,
23006 selectedValue = _props2.selectedValue,
23007 onChange = _props2.onChange,
23008 children = _props2.children,
23009 size = _props2.size,
23010 clsPrefix = _props2.clsPrefix,
23011 className = _props2.className,
23012 others = _objectWithoutProperties(_props2, ['Component', 'name', 'selectedValue', 'onChange', 'children', 'size', 'clsPrefix', 'className']);
23013
23014 return _react2["default"].createElement(
23015 Component,
23016 _extends({ className: (0, _classnames2["default"])(clsPrefix, className) }, others),
23017 children
23018 );
23019 };
23020
23021 return RadioGroup;
23022 }(_react2["default"].Component);
23023
23024 RadioGroup.childContextTypes = childContextTypes;
23025 RadioGroup.propTypes = propTypes;
23026 RadioGroup.defaultProps = defaultProps;
23027 exports["default"] = RadioGroup;
23028 module.exports = exports['default'];
23029
23030/***/ }),
23031/* 308 */
23032/***/ (function(module, exports, __webpack_require__) {
23033
23034 'use strict';
23035
23036 Object.defineProperty(exports, "__esModule", {
23037 value: true
23038 });
23039
23040 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; };
23041
23042 var _classnames = __webpack_require__(3);
23043
23044 var _classnames2 = _interopRequireDefault(_classnames);
23045
23046 var _react = __webpack_require__(4);
23047
23048 var _react2 = _interopRequireDefault(_react);
23049
23050 var _propTypes = __webpack_require__(5);
23051
23052 var _propTypes2 = _interopRequireDefault(_propTypes);
23053
23054 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
23055
23056 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; }
23057
23058 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; }
23059
23060 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
23061
23062 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; }
23063
23064 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); }
23065
23066 var propTypes = {
23067 /**
23068 * radio 颜色 样式
23069 */
23070 colors: _propTypes2["default"].oneOf(['', 'dark', 'success', 'info', 'warning', 'danger', 'primary']),
23071 /**
23072 * radio 大小
23073 */
23074 size: _propTypes2["default"].oneOf(['lg', 'sm']),
23075 /**
23076 * radio 是否可用
23077 */
23078 disabled: _propTypes2["default"].bool
23079 };
23080
23081 var defaultProps = {
23082 disabled: false,
23083 clsPrefix: 'u-radio'
23084 };
23085
23086 /**
23087 * 建立与RadioGroup通信
23088 */
23089 var contextTypes = {
23090 radioGroup: _propTypes2["default"].object
23091 };
23092
23093 var Radio = function (_React$Component) {
23094 _inherits(Radio, _React$Component);
23095
23096 function Radio(props, context) {
23097 _classCallCheck(this, Radio);
23098
23099 var _this = _possibleConstructorReturn(this, _React$Component.call(this, props, context));
23100
23101 _this.handleClick = _this.handleClick.bind(_this);
23102
23103 return _this;
23104 }
23105
23106 Radio.prototype.handleClick = function handleClick(event) {
23107 var onChange = this.context.radioGroup.onChange;
23108
23109
23110 if (this.props.disabled) {
23111 return;
23112 }
23113
23114 if (onChange) {
23115 onChange(this.props.value);
23116 }
23117 };
23118
23119 Radio.prototype.render = function render() {
23120 var _context$radioGroup = this.context.radioGroup,
23121 name = _context$radioGroup.name,
23122 selectedValue = _context$radioGroup.selectedValue,
23123 size = _context$radioGroup.size;
23124 /**
23125 * 自身的属性
23126 */
23127
23128 var _props = this.props,
23129 disabled = _props.disabled,
23130 colors = _props.colors,
23131 className = _props.className,
23132 children = _props.children,
23133 clsPrefix = _props.clsPrefix,
23134 style = _props.style,
23135 others = _objectWithoutProperties(_props, ['disabled', 'colors', 'className', 'children', 'clsPrefix', 'style']);
23136
23137 var optional = {};
23138 /**
23139 * 若父级selectedValue与本身的value值相同,则改radio被选中
23140 */
23141 if (selectedValue !== undefined) {
23142 optional.checked = this.props.value === selectedValue;
23143 }
23144
23145 var classes = {
23146 'is-checked': optional.checked,
23147 disabled: disabled
23148 };
23149
23150 if (colors) {
23151 classes[clsPrefix + '-' + colors] = true;
23152 }
23153 if (size) {
23154 classes[clsPrefix + '-' + size] = true;
23155 }
23156 var classNames = (0, _classnames2["default"])(clsPrefix, classes);
23157 var input = _react2["default"].createElement('input', _extends({}, others, {
23158 type: 'radio',
23159 name: name,
23160 disabled: this.props.disabled
23161 }));
23162 return _react2["default"].createElement(
23163 'label',
23164 { style: style, onClick: this.handleClick, className: (0, _classnames2["default"])(className, classNames) },
23165 input,
23166 _react2["default"].createElement(
23167 'label',
23168 { className: clsPrefix + '-label' },
23169 children
23170 )
23171 );
23172 };
23173
23174 return Radio;
23175 }(_react2["default"].Component);
23176
23177 Radio.contextTypes = contextTypes;
23178 Radio.propTypes = propTypes;
23179 Radio.defaultProps = defaultProps;
23180
23181 exports["default"] = Radio;
23182 module.exports = exports['default'];
23183
23184/***/ }),
23185/* 309 */
23186/***/ (function(module, exports, __webpack_require__) {
23187
23188 'use strict';
23189
23190 Object.defineProperty(exports, "__esModule", {
23191 value: true
23192 });
23193
23194 var _react = __webpack_require__(4);
23195
23196 var _react2 = _interopRequireDefault(_react);
23197
23198 var _Radio = __webpack_require__(308);
23199
23200 var _Radio2 = _interopRequireDefault(_Radio);
23201
23202 var _propTypes = __webpack_require__(5);
23203
23204 var _propTypes2 = _interopRequireDefault(_propTypes);
23205
23206 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
23207
23208 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; }
23209
23210 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
23211
23212 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; }
23213
23214 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); }
23215
23216 var propTypes = {
23217 value: _propTypes2["default"].oneOfType([_propTypes2["default"].string, _propTypes2["default"].number]),
23218 style: _propTypes2["default"].object
23219 };
23220 var defaultProps = {
23221 clsPrefix: "u-radio-button"
23222 };
23223
23224 var RadioButton = function (_Component) {
23225 _inherits(RadioButton, _Component);
23226
23227 function RadioButton() {
23228 _classCallCheck(this, RadioButton);
23229
23230 return _possibleConstructorReturn(this, _Component.apply(this, arguments));
23231 }
23232
23233 RadioButton.prototype.render = function render() {
23234 return _react2["default"].createElement(_Radio2["default"], this.props);
23235 };
23236
23237 return RadioButton;
23238 }(_react.Component);
23239
23240 RadioButton.propTypes = propTypes;
23241 RadioButton.defaultProps = defaultProps;
23242 exports["default"] = RadioButton;
23243 module.exports = exports['default'];
23244
23245/***/ }),
23246/* 310 */
23247/***/ (function(module, exports, __webpack_require__) {
23248
23249 'use strict';
23250
23251 Object.defineProperty(exports, "__esModule", {
23252 value: true
23253 });
23254
23255 var _react = __webpack_require__(4);
23256
23257 var _react2 = _interopRequireDefault(_react);
23258
23259 var _DatePicker = __webpack_require__(311);
23260
23261 var _DatePicker2 = _interopRequireDefault(_DatePicker);
23262
23263 var _MonthPicker = __webpack_require__(499);
23264
23265 var _MonthPicker2 = _interopRequireDefault(_MonthPicker);
23266
23267 var _RangePicker = __webpack_require__(501);
23268
23269 var _RangePicker2 = _interopRequireDefault(_RangePicker);
23270
23271 var _WeekPicker = __webpack_require__(512);
23272
23273 var _WeekPicker2 = _interopRequireDefault(_WeekPicker);
23274
23275 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
23276
23277 _DatePicker2["default"].MonthPicker = _MonthPicker2["default"];
23278 _DatePicker2["default"].RangePicker = _RangePicker2["default"];
23279 _DatePicker2["default"].WeekPicker = _WeekPicker2["default"];
23280
23281 exports["default"] = _DatePicker2["default"];
23282 module.exports = exports['default'];
23283
23284/***/ }),
23285/* 311 */
23286/***/ (function(module, exports, __webpack_require__) {
23287
23288 "use strict";
23289
23290 Object.defineProperty(exports, "__esModule", {
23291 value: true
23292 });
23293
23294 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; };
23295
23296 var _rcCalendar = __webpack_require__(312);
23297
23298 var _rcCalendar2 = _interopRequireDefault(_rcCalendar);
23299
23300 var _react = __webpack_require__(4);
23301
23302 var _react2 = _interopRequireDefault(_react);
23303
23304 var _Picker = __webpack_require__(469);
23305
23306 var _Picker2 = _interopRequireDefault(_Picker);
23307
23308 var _beeFormControl = __webpack_require__(257);
23309
23310 var _beeFormControl2 = _interopRequireDefault(_beeFormControl);
23311
23312 var _Panel = __webpack_require__(490);
23313
23314 var _Panel2 = _interopRequireDefault(_Panel);
23315
23316 var _moment = __webpack_require__(327);
23317
23318 var _moment2 = _interopRequireDefault(_moment);
23319
23320 var _beeIcon = __webpack_require__(259);
23321
23322 var _beeIcon2 = _interopRequireDefault(_beeIcon);
23323
23324 var _beeInputGroup = __webpack_require__(494);
23325
23326 var _beeInputGroup2 = _interopRequireDefault(_beeInputGroup);
23327
23328 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
23329
23330 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; }
23331
23332 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
23333
23334 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; }
23335
23336 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); } /**
23337 * Created by chief on 17/4/6.
23338 */
23339
23340 var timePickerElement = _react2["default"].createElement(_Panel2["default"], { defaultValue: (0, _moment2["default"])("00:00:00", "HH:mm:ss") });
23341
23342 var DatePicker = function (_Component) {
23343 _inherits(DatePicker, _Component);
23344
23345 function DatePicker(props, context) {
23346 _classCallCheck(this, DatePicker);
23347
23348 var _this = _possibleConstructorReturn(this, _Component.call(this, props, context));
23349
23350 _initialiseProps.call(_this);
23351
23352 _this.state = {
23353 type: "month",
23354 value: props.value || props.defaultValue || _moment2["default"].Moment,
23355 open: props.open || false
23356
23357 };
23358 return _this;
23359 }
23360
23361 DatePicker.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
23362 if ("value" in nextProps) {
23363 this.setState({
23364 value: nextProps.value
23365 });
23366 }
23367 this.setState({
23368 renderIcon: nextProps.renderIcon,
23369 open: nextProps.open
23370 });
23371 };
23372
23373 DatePicker.prototype.render = function render() {
23374 var _this2 = this;
23375
23376 var state = this.state;
23377 var props = this.props;
23378 var value = state.value;
23379
23380 var pickerChangeHandler = {};
23381 var calendarHandler = {};
23382 var autofocus = this.props.autofocus ? { autofocus: 'autofocus' } : null;
23383
23384 if (props.showTime) {
23385 calendarHandler = {
23386 // fix https://github.com/ant-design/ant-design/issues/1902
23387 onSelect: this.handleChange
23388 };
23389 } else {
23390 pickerChangeHandler = {
23391 onChange: this.handleChange
23392 };
23393 }
23394
23395 var calendar = _react2["default"].createElement(_rcCalendar2["default"], _extends({
23396 timePicker: props.showTime ? timePickerElement : null
23397 }, props, {
23398 onChange: this.handleCalendarChange,
23399 value: this.state.value
23400 }));
23401
23402 return _react2["default"].createElement(
23403 "div",
23404 { className: props.className },
23405 _react2["default"].createElement(
23406 _Picker2["default"],
23407 _extends({}, props, pickerChangeHandler, {
23408 onOpenChange: this.onOpenChange,
23409 animation: "slide-up",
23410 calendar: calendar,
23411 open: this.state.open,
23412 value: state.value
23413 }),
23414 function () {
23415 return _react2["default"].createElement(
23416 _beeInputGroup2["default"],
23417 { simple: true, className: "datepicker-input-group" },
23418 _react2["default"].createElement(_beeFormControl2["default"], _extends({
23419 disabled: props.disabled,
23420 readOnly: true,
23421 placeholder: _this2.props.placeholder,
23422 value: value && value.format(props.format) || ""
23423 }, autofocus)),
23424 _react2["default"].createElement(
23425 _beeInputGroup2["default"].Button,
23426 { shape: "border" },
23427 props.renderIcon()
23428 )
23429 );
23430 }
23431 )
23432 );
23433 };
23434
23435 return DatePicker;
23436 }(_react.Component);
23437
23438 var _initialiseProps = function _initialiseProps() {
23439 var _this3 = this;
23440
23441 this.onChange = function (value) {
23442 var props = _this3.props;
23443
23444 _this3.setState({ value: value });
23445 };
23446
23447 this.onOpenChange = function (open) {
23448 _this3.setState({
23449 open: open
23450 });
23451 };
23452
23453 this.handleCalendarChange = function (value) {
23454 var props = _this3.props;
23455 _this3.setState({ value: value });
23456 props.onChange(value, value && value.format(props.format) || '');
23457 };
23458
23459 this.handleChange = function (value) {
23460 var props = _this3.props;
23461 if (!("value" in props)) {
23462 _this3.setState({ value: value });
23463 }
23464 //props.onChange(value, (value && value.format(props.format)) || '');
23465 };
23466 };
23467
23468 DatePicker.defaultProps = {
23469 renderIcon: function renderIcon() {
23470 return _react2["default"].createElement(_beeIcon2["default"], { type: "uf-calendar" });
23471 }
23472 };
23473
23474 exports["default"] = DatePicker;
23475 module.exports = exports["default"];
23476
23477/***/ }),
23478/* 312 */
23479/***/ (function(module, exports, __webpack_require__) {
23480
23481 'use strict';
23482
23483 Object.defineProperty(exports, "__esModule", {
23484 value: true
23485 });
23486
23487 var _Calendar = __webpack_require__(313);
23488
23489 var _Calendar2 = _interopRequireDefault(_Calendar);
23490
23491 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
23492
23493 exports['default'] = _Calendar2['default'];
23494 module.exports = exports['default'];
23495
23496/***/ }),
23497/* 313 */
23498/***/ (function(module, exports, __webpack_require__) {
23499
23500 'use strict';
23501
23502 Object.defineProperty(exports, "__esModule", {
23503 value: true
23504 });
23505
23506 var _extends2 = __webpack_require__(145);
23507
23508 var _extends3 = _interopRequireDefault(_extends2);
23509
23510 var _react = __webpack_require__(4);
23511
23512 var _react2 = _interopRequireDefault(_react);
23513
23514 var _reactDom = __webpack_require__(12);
23515
23516 var _reactDom2 = _interopRequireDefault(_reactDom);
23517
23518 var _createReactClass = __webpack_require__(160);
23519
23520 var _createReactClass2 = _interopRequireDefault(_createReactClass);
23521
23522 var _propTypes = __webpack_require__(5);
23523
23524 var _propTypes2 = _interopRequireDefault(_propTypes);
23525
23526 var _KeyCode = __webpack_require__(314);
23527
23528 var _KeyCode2 = _interopRequireDefault(_KeyCode);
23529
23530 var _DateTable = __webpack_require__(315);
23531
23532 var _DateTable2 = _interopRequireDefault(_DateTable);
23533
23534 var _CalendarHeader = __webpack_require__(455);
23535
23536 var _CalendarHeader2 = _interopRequireDefault(_CalendarHeader);
23537
23538 var _CalendarFooter = __webpack_require__(461);
23539
23540 var _CalendarFooter2 = _interopRequireDefault(_CalendarFooter);
23541
23542 var _CalendarMixin = __webpack_require__(465);
23543
23544 var _CalendarMixin2 = _interopRequireDefault(_CalendarMixin);
23545
23546 var _CommonMixin = __webpack_require__(466);
23547
23548 var _CommonMixin2 = _interopRequireDefault(_CommonMixin);
23549
23550 var _DateInput = __webpack_require__(468);
23551
23552 var _DateInput2 = _interopRequireDefault(_DateInput);
23553
23554 var _util = __webpack_require__(454);
23555
23556 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
23557
23558 function noop() {}
23559
23560 function goStartMonth() {
23561 var next = this.state.value.clone();
23562 next.startOf('month');
23563 this.setValue(next);
23564 }
23565
23566 function goEndMonth() {
23567 var next = this.state.value.clone();
23568 next.endOf('month');
23569 this.setValue(next);
23570 }
23571
23572 function goTime(direction, unit) {
23573 var next = this.state.value.clone();
23574 next.add(direction, unit);
23575 this.setValue(next);
23576 }
23577
23578 function goMonth(direction) {
23579 return goTime.call(this, direction, 'months');
23580 }
23581
23582 function goYear(direction) {
23583 return goTime.call(this, direction, 'years');
23584 }
23585
23586 function goWeek(direction) {
23587 return goTime.call(this, direction, 'weeks');
23588 }
23589
23590 function goDay(direction) {
23591 return goTime.call(this, direction, 'days');
23592 }
23593
23594 var Calendar = (0, _createReactClass2['default'])({
23595 displayName: 'Calendar',
23596
23597 propTypes: {
23598 disabledDate: _propTypes2['default'].func,
23599 disabledTime: _propTypes2['default'].any,
23600 value: _propTypes2['default'].object,
23601 selectedValue: _propTypes2['default'].object,
23602 defaultValue: _propTypes2['default'].object,
23603 className: _propTypes2['default'].string,
23604 locale: _propTypes2['default'].object,
23605 showWeekNumber: _propTypes2['default'].bool,
23606 style: _propTypes2['default'].object,
23607 showToday: _propTypes2['default'].bool,
23608 showDateInput: _propTypes2['default'].bool,
23609 visible: _propTypes2['default'].bool,
23610 onSelect: _propTypes2['default'].func,
23611 onOk: _propTypes2['default'].func,
23612 showOk: _propTypes2['default'].bool,
23613 prefixCls: _propTypes2['default'].string,
23614 onKeyDown: _propTypes2['default'].func,
23615 timePicker: _propTypes2['default'].element,
23616 dateInputPlaceholder: _propTypes2['default'].any,
23617 onClear: _propTypes2['default'].func,
23618 onChange: _propTypes2['default'].func,
23619 renderFooter: _propTypes2['default'].func,
23620 renderSidebar: _propTypes2['default'].func
23621 },
23622
23623 mixins: [_CommonMixin2['default'], _CalendarMixin2['default']],
23624
23625 getDefaultProps: function getDefaultProps() {
23626 return {
23627 showToday: true,
23628 showDateInput: true,
23629 timePicker: null,
23630 onOk: noop
23631 };
23632 },
23633 getInitialState: function getInitialState() {
23634 return {
23635 showTimePicker: false
23636 };
23637 },
23638 onKeyDown: function onKeyDown(event) {
23639 if (event.target.nodeName.toLowerCase() === 'input') {
23640 return undefined;
23641 }
23642 var keyCode = event.keyCode;
23643 // mac
23644 var ctrlKey = event.ctrlKey || event.metaKey;
23645 var disabledDate = this.props.disabledDate;
23646 var value = this.state.value;
23647
23648 switch (keyCode) {
23649 case _KeyCode2['default'].DOWN:
23650 goWeek.call(this, 1);
23651 event.preventDefault();
23652 return 1;
23653 case _KeyCode2['default'].UP:
23654 goWeek.call(this, -1);
23655 event.preventDefault();
23656 return 1;
23657 case _KeyCode2['default'].LEFT:
23658 if (ctrlKey) {
23659 goYear.call(this, -1);
23660 } else {
23661 goDay.call(this, -1);
23662 }
23663 event.preventDefault();
23664 return 1;
23665 case _KeyCode2['default'].RIGHT:
23666 if (ctrlKey) {
23667 goYear.call(this, 1);
23668 } else {
23669 goDay.call(this, 1);
23670 }
23671 event.preventDefault();
23672 return 1;
23673 case _KeyCode2['default'].HOME:
23674 goStartMonth.call(this);
23675 event.preventDefault();
23676 return 1;
23677 case _KeyCode2['default'].END:
23678 goEndMonth.call(this);
23679 event.preventDefault();
23680 return 1;
23681 case _KeyCode2['default'].PAGE_DOWN:
23682 goMonth.call(this, 1);
23683 event.preventDefault();
23684 return 1;
23685 case _KeyCode2['default'].PAGE_UP:
23686 goMonth.call(this, -1);
23687 event.preventDefault();
23688 return 1;
23689 case _KeyCode2['default'].ENTER:
23690 if (!disabledDate || !disabledDate(value)) {
23691 this.onSelect(value, {
23692 source: 'keyboard'
23693 });
23694 }
23695 event.preventDefault();
23696 return 1;
23697 default:
23698 this.props.onKeyDown(event);
23699 return 1;
23700 }
23701 },
23702 onClear: function onClear() {
23703 this.onSelect(null);
23704 this.props.onClear();
23705 },
23706 onOk: function onOk() {
23707 var selectedValue = this.state.selectedValue;
23708
23709 if (this.isAllowedDate(selectedValue)) {
23710 this.props.onOk(selectedValue);
23711 }
23712 },
23713 onDateInputChange: function onDateInputChange(value) {
23714 this.onSelect(value, {
23715 source: 'dateInput'
23716 });
23717 },
23718 onDateTableSelect: function onDateTableSelect(value) {
23719 var timePicker = this.props.timePicker;
23720 var selectedValue = this.state.selectedValue;
23721
23722 if (!selectedValue && timePicker) {
23723 var timePickerDefaultValue = timePicker.props.defaultValue;
23724 if (timePickerDefaultValue) {
23725 (0, _util.syncTime)(timePickerDefaultValue, value);
23726 }
23727 }
23728 this.onSelect(value);
23729 },
23730 onToday: function onToday() {
23731 var value = this.state.value;
23732
23733 var now = (0, _util.getTodayTime)(value);
23734 this.onSelect(now, {
23735 source: 'todayButton'
23736 });
23737 },
23738 getRootDOMNode: function getRootDOMNode() {
23739 return _reactDom2['default'].findDOMNode(this);
23740 },
23741 openTimePicker: function openTimePicker() {
23742 this.setState({
23743 showTimePicker: true
23744 });
23745 },
23746 closeTimePicker: function closeTimePicker() {
23747 this.setState({
23748 showTimePicker: false
23749 });
23750 },
23751 render: function render() {
23752 var props = this.props;
23753 var locale = props.locale,
23754 prefixCls = props.prefixCls,
23755 disabledDate = props.disabledDate,
23756 dateInputPlaceholder = props.dateInputPlaceholder,
23757 timePicker = props.timePicker,
23758 disabledTime = props.disabledTime;
23759
23760 var state = this.state;
23761 var value = state.value,
23762 selectedValue = state.selectedValue,
23763 showTimePicker = state.showTimePicker;
23764
23765 var disabledTimeConfig = showTimePicker && disabledTime && timePicker ? (0, _util.getTimeConfig)(selectedValue, disabledTime) : null;
23766
23767 var timePickerEle = timePicker && showTimePicker ? _react2['default'].cloneElement(timePicker, (0, _extends3['default'])({
23768 showHour: true,
23769 showSecond: true,
23770 showMinute: true
23771 }, timePicker.props, disabledTimeConfig, {
23772 onChange: this.onDateInputChange,
23773 defaultOpenValue: timePicker.props.defaultValue,
23774 value: selectedValue,
23775 disabledTime: disabledTime
23776 })) : null;
23777 var dateInputElement = props.showDateInput ? _react2['default'].createElement(_DateInput2['default'], {
23778 ref: 'dateInput',
23779 format: this.getFormat(),
23780 key: 'date-input',
23781 value: value,
23782 locale: locale,
23783 placeholder: dateInputPlaceholder,
23784 showClear: true,
23785 disabledTime: disabledTime,
23786 disabledDate: disabledDate,
23787 onClear: this.onClear,
23788 prefixCls: prefixCls,
23789 selectedValue: selectedValue,
23790 onChange: this.onDateInputChange
23791 }) : null;
23792 var children = [props.renderSidebar(), _react2['default'].createElement(
23793 'div',
23794 { className: prefixCls + '-panel', key: 'panel' },
23795 dateInputElement,
23796 _react2['default'].createElement(
23797 'div',
23798 { className: prefixCls + '-date-panel' },
23799 _react2['default'].createElement(_CalendarHeader2['default'], {
23800 locale: locale,
23801 onValueChange: this.setValue,
23802 value: value,
23803 showTimePicker: showTimePicker,
23804 prefixCls: prefixCls
23805 }),
23806 timePicker && showTimePicker ? _react2['default'].createElement(
23807 'div',
23808 { className: prefixCls + '-time-picker' },
23809 _react2['default'].createElement(
23810 'div',
23811 { className: prefixCls + '-time-picker-panel' },
23812 timePickerEle
23813 )
23814 ) : null,
23815 _react2['default'].createElement(
23816 'div',
23817 { className: prefixCls + '-body' },
23818 _react2['default'].createElement(_DateTable2['default'], {
23819 locale: locale,
23820 value: value,
23821 selectedValue: selectedValue,
23822 prefixCls: prefixCls,
23823 dateRender: props.dateRender,
23824 onSelect: this.onDateTableSelect,
23825 disabledDate: disabledDate,
23826 showWeekNumber: props.showWeekNumber
23827 })
23828 ),
23829 _react2['default'].createElement(_CalendarFooter2['default'], {
23830 showOk: props.showOk,
23831 renderFooter: props.renderFooter,
23832 locale: locale,
23833 prefixCls: prefixCls,
23834 showToday: props.showToday,
23835 disabledTime: disabledTime,
23836 showTimePicker: showTimePicker,
23837 showDateInput: props.showDateInput,
23838 timePicker: timePicker,
23839 selectedValue: selectedValue,
23840 value: value,
23841 disabledDate: disabledDate,
23842 okDisabled: !this.isAllowedDate(selectedValue),
23843 onOk: this.onOk,
23844 onSelect: this.onSelect,
23845 onToday: this.onToday,
23846 onOpenTimePicker: this.openTimePicker,
23847 onCloseTimePicker: this.closeTimePicker
23848 })
23849 )
23850 )];
23851
23852 return this.renderRoot({
23853 children: children,
23854 className: props.showWeekNumber ? prefixCls + '-week-number' : ''
23855 });
23856 }
23857 });
23858
23859 exports['default'] = Calendar;
23860 module.exports = exports['default'];
23861
23862/***/ }),
23863/* 314 */
23864/***/ (function(module, exports) {
23865
23866 'use strict';
23867
23868 Object.defineProperty(exports, "__esModule", {
23869 value: true
23870 });
23871 /**
23872 * @ignore
23873 * some key-codes definition and utils from closure-library
23874 * @author yiminghe@gmail.com
23875 */
23876
23877 var KeyCode = {
23878 /**
23879 * MAC_ENTER
23880 */
23881 MAC_ENTER: 3,
23882 /**
23883 * BACKSPACE
23884 */
23885 BACKSPACE: 8,
23886 /**
23887 * TAB
23888 */
23889 TAB: 9,
23890 /**
23891 * NUMLOCK on FF/Safari Mac
23892 */
23893 NUM_CENTER: 12, // NUMLOCK on FF/Safari Mac
23894 /**
23895 * ENTER
23896 */
23897 ENTER: 13,
23898 /**
23899 * SHIFT
23900 */
23901 SHIFT: 16,
23902 /**
23903 * CTRL
23904 */
23905 CTRL: 17,
23906 /**
23907 * ALT
23908 */
23909 ALT: 18,
23910 /**
23911 * PAUSE
23912 */
23913 PAUSE: 19,
23914 /**
23915 * CAPS_LOCK
23916 */
23917 CAPS_LOCK: 20,
23918 /**
23919 * ESC
23920 */
23921 ESC: 27,
23922 /**
23923 * SPACE
23924 */
23925 SPACE: 32,
23926 /**
23927 * PAGE_UP
23928 */
23929 PAGE_UP: 33, // also NUM_NORTH_EAST
23930 /**
23931 * PAGE_DOWN
23932 */
23933 PAGE_DOWN: 34, // also NUM_SOUTH_EAST
23934 /**
23935 * END
23936 */
23937 END: 35, // also NUM_SOUTH_WEST
23938 /**
23939 * HOME
23940 */
23941 HOME: 36, // also NUM_NORTH_WEST
23942 /**
23943 * LEFT
23944 */
23945 LEFT: 37, // also NUM_WEST
23946 /**
23947 * UP
23948 */
23949 UP: 38, // also NUM_NORTH
23950 /**
23951 * RIGHT
23952 */
23953 RIGHT: 39, // also NUM_EAST
23954 /**
23955 * DOWN
23956 */
23957 DOWN: 40, // also NUM_SOUTH
23958 /**
23959 * PRINT_SCREEN
23960 */
23961 PRINT_SCREEN: 44,
23962 /**
23963 * INSERT
23964 */
23965 INSERT: 45, // also NUM_INSERT
23966 /**
23967 * DELETE
23968 */
23969 DELETE: 46, // also NUM_DELETE
23970 /**
23971 * ZERO
23972 */
23973 ZERO: 48,
23974 /**
23975 * ONE
23976 */
23977 ONE: 49,
23978 /**
23979 * TWO
23980 */
23981 TWO: 50,
23982 /**
23983 * THREE
23984 */
23985 THREE: 51,
23986 /**
23987 * FOUR
23988 */
23989 FOUR: 52,
23990 /**
23991 * FIVE
23992 */
23993 FIVE: 53,
23994 /**
23995 * SIX
23996 */
23997 SIX: 54,
23998 /**
23999 * SEVEN
24000 */
24001 SEVEN: 55,
24002 /**
24003 * EIGHT
24004 */
24005 EIGHT: 56,
24006 /**
24007 * NINE
24008 */
24009 NINE: 57,
24010 /**
24011 * QUESTION_MARK
24012 */
24013 QUESTION_MARK: 63, // needs localization
24014 /**
24015 * A
24016 */
24017 A: 65,
24018 /**
24019 * B
24020 */
24021 B: 66,
24022 /**
24023 * C
24024 */
24025 C: 67,
24026 /**
24027 * D
24028 */
24029 D: 68,
24030 /**
24031 * E
24032 */
24033 E: 69,
24034 /**
24035 * F
24036 */
24037 F: 70,
24038 /**
24039 * G
24040 */
24041 G: 71,
24042 /**
24043 * H
24044 */
24045 H: 72,
24046 /**
24047 * I
24048 */
24049 I: 73,
24050 /**
24051 * J
24052 */
24053 J: 74,
24054 /**
24055 * K
24056 */
24057 K: 75,
24058 /**
24059 * L
24060 */
24061 L: 76,
24062 /**
24063 * M
24064 */
24065 M: 77,
24066 /**
24067 * N
24068 */
24069 N: 78,
24070 /**
24071 * O
24072 */
24073 O: 79,
24074 /**
24075 * P
24076 */
24077 P: 80,
24078 /**
24079 * Q
24080 */
24081 Q: 81,
24082 /**
24083 * R
24084 */
24085 R: 82,
24086 /**
24087 * S
24088 */
24089 S: 83,
24090 /**
24091 * T
24092 */
24093 T: 84,
24094 /**
24095 * U
24096 */
24097 U: 85,
24098 /**
24099 * V
24100 */
24101 V: 86,
24102 /**
24103 * W
24104 */
24105 W: 87,
24106 /**
24107 * X
24108 */
24109 X: 88,
24110 /**
24111 * Y
24112 */
24113 Y: 89,
24114 /**
24115 * Z
24116 */
24117 Z: 90,
24118 /**
24119 * META
24120 */
24121 META: 91, // WIN_KEY_LEFT
24122 /**
24123 * WIN_KEY_RIGHT
24124 */
24125 WIN_KEY_RIGHT: 92,
24126 /**
24127 * CONTEXT_MENU
24128 */
24129 CONTEXT_MENU: 93,
24130 /**
24131 * NUM_ZERO
24132 */
24133 NUM_ZERO: 96,
24134 /**
24135 * NUM_ONE
24136 */
24137 NUM_ONE: 97,
24138 /**
24139 * NUM_TWO
24140 */
24141 NUM_TWO: 98,
24142 /**
24143 * NUM_THREE
24144 */
24145 NUM_THREE: 99,
24146 /**
24147 * NUM_FOUR
24148 */
24149 NUM_FOUR: 100,
24150 /**
24151 * NUM_FIVE
24152 */
24153 NUM_FIVE: 101,
24154 /**
24155 * NUM_SIX
24156 */
24157 NUM_SIX: 102,
24158 /**
24159 * NUM_SEVEN
24160 */
24161 NUM_SEVEN: 103,
24162 /**
24163 * NUM_EIGHT
24164 */
24165 NUM_EIGHT: 104,
24166 /**
24167 * NUM_NINE
24168 */
24169 NUM_NINE: 105,
24170 /**
24171 * NUM_MULTIPLY
24172 */
24173 NUM_MULTIPLY: 106,
24174 /**
24175 * NUM_PLUS
24176 */
24177 NUM_PLUS: 107,
24178 /**
24179 * NUM_MINUS
24180 */
24181 NUM_MINUS: 109,
24182 /**
24183 * NUM_PERIOD
24184 */
24185 NUM_PERIOD: 110,
24186 /**
24187 * NUM_DIVISION
24188 */
24189 NUM_DIVISION: 111,
24190 /**
24191 * F1
24192 */
24193 F1: 112,
24194 /**
24195 * F2
24196 */
24197 F2: 113,
24198 /**
24199 * F3
24200 */
24201 F3: 114,
24202 /**
24203 * F4
24204 */
24205 F4: 115,
24206 /**
24207 * F5
24208 */
24209 F5: 116,
24210 /**
24211 * F6
24212 */
24213 F6: 117,
24214 /**
24215 * F7
24216 */
24217 F7: 118,
24218 /**
24219 * F8
24220 */
24221 F8: 119,
24222 /**
24223 * F9
24224 */
24225 F9: 120,
24226 /**
24227 * F10
24228 */
24229 F10: 121,
24230 /**
24231 * F11
24232 */
24233 F11: 122,
24234 /**
24235 * F12
24236 */
24237 F12: 123,
24238 /**
24239 * NUMLOCK
24240 */
24241 NUMLOCK: 144,
24242 /**
24243 * SEMICOLON
24244 */
24245 SEMICOLON: 186, // needs localization
24246 /**
24247 * DASH
24248 */
24249 DASH: 189, // needs localization
24250 /**
24251 * EQUALS
24252 */
24253 EQUALS: 187, // needs localization
24254 /**
24255 * COMMA
24256 */
24257 COMMA: 188, // needs localization
24258 /**
24259 * PERIOD
24260 */
24261 PERIOD: 190, // needs localization
24262 /**
24263 * SLASH
24264 */
24265 SLASH: 191, // needs localization
24266 /**
24267 * APOSTROPHE
24268 */
24269 APOSTROPHE: 192, // needs localization
24270 /**
24271 * SINGLE_QUOTE
24272 */
24273 SINGLE_QUOTE: 222, // needs localization
24274 /**
24275 * OPEN_SQUARE_BRACKET
24276 */
24277 OPEN_SQUARE_BRACKET: 219, // needs localization
24278 /**
24279 * BACKSLASH
24280 */
24281 BACKSLASH: 220, // needs localization
24282 /**
24283 * CLOSE_SQUARE_BRACKET
24284 */
24285 CLOSE_SQUARE_BRACKET: 221, // needs localization
24286 /**
24287 * WIN_KEY
24288 */
24289 WIN_KEY: 224,
24290 /**
24291 * MAC_FF_META
24292 */
24293 MAC_FF_META: 224, // Firefox (Gecko) fires this for the meta key instead of 91
24294 /**
24295 * WIN_IME
24296 */
24297 WIN_IME: 229
24298 };
24299
24300 /*
24301 whether text and modified key is entered at the same time.
24302 */
24303 KeyCode.isTextModifyingKeyEvent = function isTextModifyingKeyEvent(e) {
24304 var keyCode = e.keyCode;
24305 if (e.altKey && !e.ctrlKey || e.metaKey ||
24306 // Function keys don't generate text
24307 keyCode >= KeyCode.F1 && keyCode <= KeyCode.F12) {
24308 return false;
24309 }
24310
24311 // The following keys are quite harmless, even in combination with
24312 // CTRL, ALT or SHIFT.
24313 switch (keyCode) {
24314 case KeyCode.ALT:
24315 case KeyCode.CAPS_LOCK:
24316 case KeyCode.CONTEXT_MENU:
24317 case KeyCode.CTRL:
24318 case KeyCode.DOWN:
24319 case KeyCode.END:
24320 case KeyCode.ESC:
24321 case KeyCode.HOME:
24322 case KeyCode.INSERT:
24323 case KeyCode.LEFT:
24324 case KeyCode.MAC_FF_META:
24325 case KeyCode.META:
24326 case KeyCode.NUMLOCK:
24327 case KeyCode.NUM_CENTER:
24328 case KeyCode.PAGE_DOWN:
24329 case KeyCode.PAGE_UP:
24330 case KeyCode.PAUSE:
24331 case KeyCode.PRINT_SCREEN:
24332 case KeyCode.RIGHT:
24333 case KeyCode.SHIFT:
24334 case KeyCode.UP:
24335 case KeyCode.WIN_KEY:
24336 case KeyCode.WIN_KEY_RIGHT:
24337 return false;
24338 default:
24339 return true;
24340 }
24341 };
24342
24343 /*
24344 whether character is entered.
24345 */
24346 KeyCode.isCharacterKey = function isCharacterKey(keyCode) {
24347 if (keyCode >= KeyCode.ZERO && keyCode <= KeyCode.NINE) {
24348 return true;
24349 }
24350
24351 if (keyCode >= KeyCode.NUM_ZERO && keyCode <= KeyCode.NUM_MULTIPLY) {
24352 return true;
24353 }
24354
24355 if (keyCode >= KeyCode.A && keyCode <= KeyCode.Z) {
24356 return true;
24357 }
24358
24359 // Safari sends zero key code for non-latin characters.
24360 if (window.navigation.userAgent.indexOf('WebKit') !== -1 && keyCode === 0) {
24361 return true;
24362 }
24363
24364 switch (keyCode) {
24365 case KeyCode.SPACE:
24366 case KeyCode.QUESTION_MARK:
24367 case KeyCode.NUM_PLUS:
24368 case KeyCode.NUM_MINUS:
24369 case KeyCode.NUM_PERIOD:
24370 case KeyCode.NUM_DIVISION:
24371 case KeyCode.SEMICOLON:
24372 case KeyCode.DASH:
24373 case KeyCode.EQUALS:
24374 case KeyCode.COMMA:
24375 case KeyCode.PERIOD:
24376 case KeyCode.SLASH:
24377 case KeyCode.APOSTROPHE:
24378 case KeyCode.SINGLE_QUOTE:
24379 case KeyCode.OPEN_SQUARE_BRACKET:
24380 case KeyCode.BACKSLASH:
24381 case KeyCode.CLOSE_SQUARE_BRACKET:
24382 return true;
24383 default:
24384 return false;
24385 }
24386 };
24387
24388 exports['default'] = KeyCode;
24389 module.exports = exports['default'];
24390
24391/***/ }),
24392/* 315 */
24393/***/ (function(module, exports, __webpack_require__) {
24394
24395 'use strict';
24396
24397 Object.defineProperty(exports, "__esModule", {
24398 value: true
24399 });
24400
24401 var _classCallCheck2 = __webpack_require__(250);
24402
24403 var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
24404
24405 var _createClass2 = __webpack_require__(251);
24406
24407 var _createClass3 = _interopRequireDefault(_createClass2);
24408
24409 var _possibleConstructorReturn2 = __webpack_require__(316);
24410
24411 var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
24412
24413 var _inherits2 = __webpack_require__(317);
24414
24415 var _inherits3 = _interopRequireDefault(_inherits2);
24416
24417 var _react = __webpack_require__(4);
24418
24419 var _react2 = _interopRequireDefault(_react);
24420
24421 var _DateTHead = __webpack_require__(325);
24422
24423 var _DateTHead2 = _interopRequireDefault(_DateTHead);
24424
24425 var _DateTBody = __webpack_require__(453);
24426
24427 var _DateTBody2 = _interopRequireDefault(_DateTBody);
24428
24429 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
24430
24431 var DateTable = function (_React$Component) {
24432 (0, _inherits3['default'])(DateTable, _React$Component);
24433
24434 function DateTable() {
24435 (0, _classCallCheck3['default'])(this, DateTable);
24436 return (0, _possibleConstructorReturn3['default'])(this, (DateTable.__proto__ || Object.getPrototypeOf(DateTable)).apply(this, arguments));
24437 }
24438
24439 (0, _createClass3['default'])(DateTable, [{
24440 key: 'render',
24441 value: function render() {
24442 var props = this.props;
24443 var prefixCls = props.prefixCls;
24444 return _react2['default'].createElement(
24445 'table',
24446 { className: prefixCls + '-table', cellSpacing: '0', role: 'grid' },
24447 _react2['default'].createElement(_DateTHead2['default'], props),
24448 _react2['default'].createElement(_DateTBody2['default'], props)
24449 );
24450 }
24451 }]);
24452 return DateTable;
24453 }(_react2['default'].Component);
24454
24455 exports['default'] = DateTable;
24456 module.exports = exports['default'];
24457
24458/***/ }),
24459/* 316 */
24460/***/ (function(module, exports, __webpack_require__) {
24461
24462 "use strict";
24463
24464 exports.__esModule = true;
24465
24466 var _typeof2 = __webpack_require__(74);
24467
24468 var _typeof3 = _interopRequireDefault(_typeof2);
24469
24470 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24471
24472 exports.default = function (self, call) {
24473 if (!self) {
24474 throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
24475 }
24476
24477 return call && ((typeof call === "undefined" ? "undefined" : (0, _typeof3.default)(call)) === "object" || typeof call === "function") ? call : self;
24478 };
24479
24480/***/ }),
24481/* 317 */
24482/***/ (function(module, exports, __webpack_require__) {
24483
24484 "use strict";
24485
24486 exports.__esModule = true;
24487
24488 var _setPrototypeOf = __webpack_require__(318);
24489
24490 var _setPrototypeOf2 = _interopRequireDefault(_setPrototypeOf);
24491
24492 var _create = __webpack_require__(322);
24493
24494 var _create2 = _interopRequireDefault(_create);
24495
24496 var _typeof2 = __webpack_require__(74);
24497
24498 var _typeof3 = _interopRequireDefault(_typeof2);
24499
24500 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24501
24502 exports.default = function (subClass, superClass) {
24503 if (typeof superClass !== "function" && superClass !== null) {
24504 throw new TypeError("Super expression must either be null or a function, not " + (typeof superClass === "undefined" ? "undefined" : (0, _typeof3.default)(superClass)));
24505 }
24506
24507 subClass.prototype = (0, _create2.default)(superClass && superClass.prototype, {
24508 constructor: {
24509 value: subClass,
24510 enumerable: false,
24511 writable: true,
24512 configurable: true
24513 }
24514 });
24515 if (superClass) _setPrototypeOf2.default ? (0, _setPrototypeOf2.default)(subClass, superClass) : subClass.__proto__ = superClass;
24516 };
24517
24518/***/ }),
24519/* 318 */
24520/***/ (function(module, exports, __webpack_require__) {
24521
24522 module.exports = { "default": __webpack_require__(319), __esModule: true };
24523
24524/***/ }),
24525/* 319 */
24526/***/ (function(module, exports, __webpack_require__) {
24527
24528 __webpack_require__(320);
24529 module.exports = __webpack_require__(85).Object.setPrototypeOf;
24530
24531
24532/***/ }),
24533/* 320 */
24534/***/ (function(module, exports, __webpack_require__) {
24535
24536 // 19.1.3.19 Object.setPrototypeOf(O, proto)
24537 var $export = __webpack_require__(83);
24538 $export($export.S, 'Object', { setPrototypeOf: __webpack_require__(321).set });
24539
24540
24541/***/ }),
24542/* 321 */
24543/***/ (function(module, exports, __webpack_require__) {
24544
24545 // Works with __proto__ only. Old v8 can't work with null proto objects.
24546 /* eslint-disable no-proto */
24547 var isObject = __webpack_require__(91);
24548 var anObject = __webpack_require__(90);
24549 var check = function (O, proto) {
24550 anObject(O);
24551 if (!isObject(proto) && proto !== null) throw TypeError(proto + ": can't set as prototype!");
24552 };
24553 module.exports = {
24554 set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line
24555 function (test, buggy, set) {
24556 try {
24557 set = __webpack_require__(86)(Function.call, __webpack_require__(137).f(Object.prototype, '__proto__').set, 2);
24558 set(test, []);
24559 buggy = !(test instanceof Array);
24560 } catch (e) { buggy = true; }
24561 return function setPrototypeOf(O, proto) {
24562 check(O, proto);
24563 if (buggy) O.__proto__ = proto;
24564 else set(O, proto);
24565 return O;
24566 };
24567 }({}, false) : undefined),
24568 check: check
24569 };
24570
24571
24572/***/ }),
24573/* 322 */
24574/***/ (function(module, exports, __webpack_require__) {
24575
24576 module.exports = { "default": __webpack_require__(323), __esModule: true };
24577
24578/***/ }),
24579/* 323 */
24580/***/ (function(module, exports, __webpack_require__) {
24581
24582 __webpack_require__(324);
24583 var $Object = __webpack_require__(85).Object;
24584 module.exports = function create(P, D) {
24585 return $Object.create(P, D);
24586 };
24587
24588
24589/***/ }),
24590/* 324 */
24591/***/ (function(module, exports, __webpack_require__) {
24592
24593 var $export = __webpack_require__(83);
24594 // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
24595 $export($export.S, 'Object', { create: __webpack_require__(102) });
24596
24597
24598/***/ }),
24599/* 325 */
24600/***/ (function(module, exports, __webpack_require__) {
24601
24602 'use strict';
24603
24604 Object.defineProperty(exports, "__esModule", {
24605 value: true
24606 });
24607
24608 var _classCallCheck2 = __webpack_require__(250);
24609
24610 var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
24611
24612 var _createClass2 = __webpack_require__(251);
24613
24614 var _createClass3 = _interopRequireDefault(_createClass2);
24615
24616 var _possibleConstructorReturn2 = __webpack_require__(316);
24617
24618 var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
24619
24620 var _inherits2 = __webpack_require__(317);
24621
24622 var _inherits3 = _interopRequireDefault(_inherits2);
24623
24624 var _react = __webpack_require__(4);
24625
24626 var _react2 = _interopRequireDefault(_react);
24627
24628 var _DateConstants = __webpack_require__(326);
24629
24630 var _DateConstants2 = _interopRequireDefault(_DateConstants);
24631
24632 var _moment = __webpack_require__(327);
24633
24634 var _moment2 = _interopRequireDefault(_moment);
24635
24636 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
24637
24638 var DateTHead = function (_React$Component) {
24639 (0, _inherits3['default'])(DateTHead, _React$Component);
24640
24641 function DateTHead() {
24642 (0, _classCallCheck3['default'])(this, DateTHead);
24643 return (0, _possibleConstructorReturn3['default'])(this, (DateTHead.__proto__ || Object.getPrototypeOf(DateTHead)).apply(this, arguments));
24644 }
24645
24646 (0, _createClass3['default'])(DateTHead, [{
24647 key: 'render',
24648 value: function render() {
24649 var props = this.props;
24650 var value = props.value;
24651 var localeData = value.localeData();
24652 var prefixCls = props.prefixCls;
24653 var veryShortWeekdays = [];
24654 var weekDays = [];
24655 var firstDayOfWeek = localeData.firstDayOfWeek();
24656 var showWeekNumberEl = void 0;
24657 var now = (0, _moment2['default'])();
24658 for (var dateColIndex = 0; dateColIndex < _DateConstants2['default'].DATE_COL_COUNT; dateColIndex++) {
24659 var index = (firstDayOfWeek + dateColIndex) % _DateConstants2['default'].DATE_COL_COUNT;
24660 now.day(index);
24661 veryShortWeekdays[dateColIndex] = localeData.weekdaysMin(now);
24662 weekDays[dateColIndex] = localeData.weekdaysShort(now);
24663 }
24664
24665 if (props.showWeekNumber) {
24666 showWeekNumberEl = _react2['default'].createElement(
24667 'th',
24668 {
24669 role: 'columnheader',
24670 className: prefixCls + '-column-header ' + prefixCls + '-week-number-header'
24671 },
24672 _react2['default'].createElement(
24673 'span',
24674 { className: prefixCls + '-column-header-inner' },
24675 'x'
24676 )
24677 );
24678 }
24679 var weekDaysEls = weekDays.map(function (day, xindex) {
24680 return _react2['default'].createElement(
24681 'th',
24682 {
24683 key: xindex,
24684 role: 'columnheader',
24685 title: day,
24686 className: prefixCls + '-column-header'
24687 },
24688 _react2['default'].createElement(
24689 'span',
24690 { className: prefixCls + '-column-header-inner' },
24691 veryShortWeekdays[xindex]
24692 )
24693 );
24694 });
24695 return _react2['default'].createElement(
24696 'thead',
24697 null,
24698 _react2['default'].createElement(
24699 'tr',
24700 { role: 'row' },
24701 showWeekNumberEl,
24702 weekDaysEls
24703 )
24704 );
24705 }
24706 }]);
24707 return DateTHead;
24708 }(_react2['default'].Component);
24709
24710 exports['default'] = DateTHead;
24711 module.exports = exports['default'];
24712
24713/***/ }),
24714/* 326 */
24715/***/ (function(module, exports) {
24716
24717 "use strict";
24718
24719 Object.defineProperty(exports, "__esModule", {
24720 value: true
24721 });
24722 exports["default"] = {
24723 DATE_ROW_COUNT: 6,
24724 DATE_COL_COUNT: 7
24725 };
24726 module.exports = exports['default'];
24727
24728/***/ }),
24729/* 327 */
24730/***/ (function(module, exports, __webpack_require__) {
24731
24732 var require;/* WEBPACK VAR INJECTION */(function(module) {//! moment.js
24733
24734 ;(function (global, factory) {
24735 true ? module.exports = factory() :
24736 typeof define === 'function' && define.amd ? define(factory) :
24737 global.moment = factory()
24738 }(this, (function () { 'use strict';
24739
24740 var hookCallback;
24741
24742 function hooks () {
24743 return hookCallback.apply(null, arguments);
24744 }
24745
24746 // This is done to register the method called with moment()
24747 // without creating circular dependencies.
24748 function setHookCallback (callback) {
24749 hookCallback = callback;
24750 }
24751
24752 function isArray(input) {
24753 return input instanceof Array || Object.prototype.toString.call(input) === '[object Array]';
24754 }
24755
24756 function isObject(input) {
24757 // IE8 will treat undefined and null as object if it wasn't for
24758 // input != null
24759 return input != null && Object.prototype.toString.call(input) === '[object Object]';
24760 }
24761
24762 function isObjectEmpty(obj) {
24763 if (Object.getOwnPropertyNames) {
24764 return (Object.getOwnPropertyNames(obj).length === 0);
24765 } else {
24766 var k;
24767 for (k in obj) {
24768 if (obj.hasOwnProperty(k)) {
24769 return false;
24770 }
24771 }
24772 return true;
24773 }
24774 }
24775
24776 function isUndefined(input) {
24777 return input === void 0;
24778 }
24779
24780 function isNumber(input) {
24781 return typeof input === 'number' || Object.prototype.toString.call(input) === '[object Number]';
24782 }
24783
24784 function isDate(input) {
24785 return input instanceof Date || Object.prototype.toString.call(input) === '[object Date]';
24786 }
24787
24788 function map(arr, fn) {
24789 var res = [], i;
24790 for (i = 0; i < arr.length; ++i) {
24791 res.push(fn(arr[i], i));
24792 }
24793 return res;
24794 }
24795
24796 function hasOwnProp(a, b) {
24797 return Object.prototype.hasOwnProperty.call(a, b);
24798 }
24799
24800 function extend(a, b) {
24801 for (var i in b) {
24802 if (hasOwnProp(b, i)) {
24803 a[i] = b[i];
24804 }
24805 }
24806
24807 if (hasOwnProp(b, 'toString')) {
24808 a.toString = b.toString;
24809 }
24810
24811 if (hasOwnProp(b, 'valueOf')) {
24812 a.valueOf = b.valueOf;
24813 }
24814
24815 return a;
24816 }
24817
24818 function createUTC (input, format, locale, strict) {
24819 return createLocalOrUTC(input, format, locale, strict, true).utc();
24820 }
24821
24822 function defaultParsingFlags() {
24823 // We need to deep clone this object.
24824 return {
24825 empty : false,
24826 unusedTokens : [],
24827 unusedInput : [],
24828 overflow : -2,
24829 charsLeftOver : 0,
24830 nullInput : false,
24831 invalidMonth : null,
24832 invalidFormat : false,
24833 userInvalidated : false,
24834 iso : false,
24835 parsedDateParts : [],
24836 meridiem : null,
24837 rfc2822 : false,
24838 weekdayMismatch : false
24839 };
24840 }
24841
24842 function getParsingFlags(m) {
24843 if (m._pf == null) {
24844 m._pf = defaultParsingFlags();
24845 }
24846 return m._pf;
24847 }
24848
24849 var some;
24850 if (Array.prototype.some) {
24851 some = Array.prototype.some;
24852 } else {
24853 some = function (fun) {
24854 var t = Object(this);
24855 var len = t.length >>> 0;
24856
24857 for (var i = 0; i < len; i++) {
24858 if (i in t && fun.call(this, t[i], i, t)) {
24859 return true;
24860 }
24861 }
24862
24863 return false;
24864 };
24865 }
24866
24867 function isValid(m) {
24868 if (m._isValid == null) {
24869 var flags = getParsingFlags(m);
24870 var parsedParts = some.call(flags.parsedDateParts, function (i) {
24871 return i != null;
24872 });
24873 var isNowValid = !isNaN(m._d.getTime()) &&
24874 flags.overflow < 0 &&
24875 !flags.empty &&
24876 !flags.invalidMonth &&
24877 !flags.invalidWeekday &&
24878 !flags.weekdayMismatch &&
24879 !flags.nullInput &&
24880 !flags.invalidFormat &&
24881 !flags.userInvalidated &&
24882 (!flags.meridiem || (flags.meridiem && parsedParts));
24883
24884 if (m._strict) {
24885 isNowValid = isNowValid &&
24886 flags.charsLeftOver === 0 &&
24887 flags.unusedTokens.length === 0 &&
24888 flags.bigHour === undefined;
24889 }
24890
24891 if (Object.isFrozen == null || !Object.isFrozen(m)) {
24892 m._isValid = isNowValid;
24893 }
24894 else {
24895 return isNowValid;
24896 }
24897 }
24898 return m._isValid;
24899 }
24900
24901 function createInvalid (flags) {
24902 var m = createUTC(NaN);
24903 if (flags != null) {
24904 extend(getParsingFlags(m), flags);
24905 }
24906 else {
24907 getParsingFlags(m).userInvalidated = true;
24908 }
24909
24910 return m;
24911 }
24912
24913 // Plugins that add properties should also add the key here (null value),
24914 // so we can properly clone ourselves.
24915 var momentProperties = hooks.momentProperties = [];
24916
24917 function copyConfig(to, from) {
24918 var i, prop, val;
24919
24920 if (!isUndefined(from._isAMomentObject)) {
24921 to._isAMomentObject = from._isAMomentObject;
24922 }
24923 if (!isUndefined(from._i)) {
24924 to._i = from._i;
24925 }
24926 if (!isUndefined(from._f)) {
24927 to._f = from._f;
24928 }
24929 if (!isUndefined(from._l)) {
24930 to._l = from._l;
24931 }
24932 if (!isUndefined(from._strict)) {
24933 to._strict = from._strict;
24934 }
24935 if (!isUndefined(from._tzm)) {
24936 to._tzm = from._tzm;
24937 }
24938 if (!isUndefined(from._isUTC)) {
24939 to._isUTC = from._isUTC;
24940 }
24941 if (!isUndefined(from._offset)) {
24942 to._offset = from._offset;
24943 }
24944 if (!isUndefined(from._pf)) {
24945 to._pf = getParsingFlags(from);
24946 }
24947 if (!isUndefined(from._locale)) {
24948 to._locale = from._locale;
24949 }
24950
24951 if (momentProperties.length > 0) {
24952 for (i = 0; i < momentProperties.length; i++) {
24953 prop = momentProperties[i];
24954 val = from[prop];
24955 if (!isUndefined(val)) {
24956 to[prop] = val;
24957 }
24958 }
24959 }
24960
24961 return to;
24962 }
24963
24964 var updateInProgress = false;
24965
24966 // Moment prototype object
24967 function Moment(config) {
24968 copyConfig(this, config);
24969 this._d = new Date(config._d != null ? config._d.getTime() : NaN);
24970 if (!this.isValid()) {
24971 this._d = new Date(NaN);
24972 }
24973 // Prevent infinite loop in case updateOffset creates new moment
24974 // objects.
24975 if (updateInProgress === false) {
24976 updateInProgress = true;
24977 hooks.updateOffset(this);
24978 updateInProgress = false;
24979 }
24980 }
24981
24982 function isMoment (obj) {
24983 return obj instanceof Moment || (obj != null && obj._isAMomentObject != null);
24984 }
24985
24986 function absFloor (number) {
24987 if (number < 0) {
24988 // -0 -> 0
24989 return Math.ceil(number) || 0;
24990 } else {
24991 return Math.floor(number);
24992 }
24993 }
24994
24995 function toInt(argumentForCoercion) {
24996 var coercedNumber = +argumentForCoercion,
24997 value = 0;
24998
24999 if (coercedNumber !== 0 && isFinite(coercedNumber)) {
25000 value = absFloor(coercedNumber);
25001 }
25002
25003 return value;
25004 }
25005
25006 // compare two arrays, return the number of differences
25007 function compareArrays(array1, array2, dontConvert) {
25008 var len = Math.min(array1.length, array2.length),
25009 lengthDiff = Math.abs(array1.length - array2.length),
25010 diffs = 0,
25011 i;
25012 for (i = 0; i < len; i++) {
25013 if ((dontConvert && array1[i] !== array2[i]) ||
25014 (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))) {
25015 diffs++;
25016 }
25017 }
25018 return diffs + lengthDiff;
25019 }
25020
25021 function warn(msg) {
25022 if (hooks.suppressDeprecationWarnings === false &&
25023 (typeof console !== 'undefined') && console.warn) {
25024 console.warn('Deprecation warning: ' + msg);
25025 }
25026 }
25027
25028 function deprecate(msg, fn) {
25029 var firstTime = true;
25030
25031 return extend(function () {
25032 if (hooks.deprecationHandler != null) {
25033 hooks.deprecationHandler(null, msg);
25034 }
25035 if (firstTime) {
25036 var args = [];
25037 var arg;
25038 for (var i = 0; i < arguments.length; i++) {
25039 arg = '';
25040 if (typeof arguments[i] === 'object') {
25041 arg += '\n[' + i + '] ';
25042 for (var key in arguments[0]) {
25043 arg += key + ': ' + arguments[0][key] + ', ';
25044 }
25045 arg = arg.slice(0, -2); // Remove trailing comma and space
25046 } else {
25047 arg = arguments[i];
25048 }
25049 args.push(arg);
25050 }
25051 warn(msg + '\nArguments: ' + Array.prototype.slice.call(args).join('') + '\n' + (new Error()).stack);
25052 firstTime = false;
25053 }
25054 return fn.apply(this, arguments);
25055 }, fn);
25056 }
25057
25058 var deprecations = {};
25059
25060 function deprecateSimple(name, msg) {
25061 if (hooks.deprecationHandler != null) {
25062 hooks.deprecationHandler(name, msg);
25063 }
25064 if (!deprecations[name]) {
25065 warn(msg);
25066 deprecations[name] = true;
25067 }
25068 }
25069
25070 hooks.suppressDeprecationWarnings = false;
25071 hooks.deprecationHandler = null;
25072
25073 function isFunction(input) {
25074 return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';
25075 }
25076
25077 function set (config) {
25078 var prop, i;
25079 for (i in config) {
25080 prop = config[i];
25081 if (isFunction(prop)) {
25082 this[i] = prop;
25083 } else {
25084 this['_' + i] = prop;
25085 }
25086 }
25087 this._config = config;
25088 // Lenient ordinal parsing accepts just a number in addition to
25089 // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.
25090 // TODO: Remove "ordinalParse" fallback in next major release.
25091 this._dayOfMonthOrdinalParseLenient = new RegExp(
25092 (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +
25093 '|' + (/\d{1,2}/).source);
25094 }
25095
25096 function mergeConfigs(parentConfig, childConfig) {
25097 var res = extend({}, parentConfig), prop;
25098 for (prop in childConfig) {
25099 if (hasOwnProp(childConfig, prop)) {
25100 if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {
25101 res[prop] = {};
25102 extend(res[prop], parentConfig[prop]);
25103 extend(res[prop], childConfig[prop]);
25104 } else if (childConfig[prop] != null) {
25105 res[prop] = childConfig[prop];
25106 } else {
25107 delete res[prop];
25108 }
25109 }
25110 }
25111 for (prop in parentConfig) {
25112 if (hasOwnProp(parentConfig, prop) &&
25113 !hasOwnProp(childConfig, prop) &&
25114 isObject(parentConfig[prop])) {
25115 // make sure changes to properties don't modify parent config
25116 res[prop] = extend({}, res[prop]);
25117 }
25118 }
25119 return res;
25120 }
25121
25122 function Locale(config) {
25123 if (config != null) {
25124 this.set(config);
25125 }
25126 }
25127
25128 var keys;
25129
25130 if (Object.keys) {
25131 keys = Object.keys;
25132 } else {
25133 keys = function (obj) {
25134 var i, res = [];
25135 for (i in obj) {
25136 if (hasOwnProp(obj, i)) {
25137 res.push(i);
25138 }
25139 }
25140 return res;
25141 };
25142 }
25143
25144 var defaultCalendar = {
25145 sameDay : '[Today at] LT',
25146 nextDay : '[Tomorrow at] LT',
25147 nextWeek : 'dddd [at] LT',
25148 lastDay : '[Yesterday at] LT',
25149 lastWeek : '[Last] dddd [at] LT',
25150 sameElse : 'L'
25151 };
25152
25153 function calendar (key, mom, now) {
25154 var output = this._calendar[key] || this._calendar['sameElse'];
25155 return isFunction(output) ? output.call(mom, now) : output;
25156 }
25157
25158 var defaultLongDateFormat = {
25159 LTS : 'h:mm:ss A',
25160 LT : 'h:mm A',
25161 L : 'MM/DD/YYYY',
25162 LL : 'MMMM D, YYYY',
25163 LLL : 'MMMM D, YYYY h:mm A',
25164 LLLL : 'dddd, MMMM D, YYYY h:mm A'
25165 };
25166
25167 function longDateFormat (key) {
25168 var format = this._longDateFormat[key],
25169 formatUpper = this._longDateFormat[key.toUpperCase()];
25170
25171 if (format || !formatUpper) {
25172 return format;
25173 }
25174
25175 this._longDateFormat[key] = formatUpper.replace(/MMMM|MM|DD|dddd/g, function (val) {
25176 return val.slice(1);
25177 });
25178
25179 return this._longDateFormat[key];
25180 }
25181
25182 var defaultInvalidDate = 'Invalid date';
25183
25184 function invalidDate () {
25185 return this._invalidDate;
25186 }
25187
25188 var defaultOrdinal = '%d';
25189 var defaultDayOfMonthOrdinalParse = /\d{1,2}/;
25190
25191 function ordinal (number) {
25192 return this._ordinal.replace('%d', number);
25193 }
25194
25195 var defaultRelativeTime = {
25196 future : 'in %s',
25197 past : '%s ago',
25198 s : 'a few seconds',
25199 ss : '%d seconds',
25200 m : 'a minute',
25201 mm : '%d minutes',
25202 h : 'an hour',
25203 hh : '%d hours',
25204 d : 'a day',
25205 dd : '%d days',
25206 M : 'a month',
25207 MM : '%d months',
25208 y : 'a year',
25209 yy : '%d years'
25210 };
25211
25212 function relativeTime (number, withoutSuffix, string, isFuture) {
25213 var output = this._relativeTime[string];
25214 return (isFunction(output)) ?
25215 output(number, withoutSuffix, string, isFuture) :
25216 output.replace(/%d/i, number);
25217 }
25218
25219 function pastFuture (diff, output) {
25220 var format = this._relativeTime[diff > 0 ? 'future' : 'past'];
25221 return isFunction(format) ? format(output) : format.replace(/%s/i, output);
25222 }
25223
25224 var aliases = {};
25225
25226 function addUnitAlias (unit, shorthand) {
25227 var lowerCase = unit.toLowerCase();
25228 aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;
25229 }
25230
25231 function normalizeUnits(units) {
25232 return typeof units === 'string' ? aliases[units] || aliases[units.toLowerCase()] : undefined;
25233 }
25234
25235 function normalizeObjectUnits(inputObject) {
25236 var normalizedInput = {},
25237 normalizedProp,
25238 prop;
25239
25240 for (prop in inputObject) {
25241 if (hasOwnProp(inputObject, prop)) {
25242 normalizedProp = normalizeUnits(prop);
25243 if (normalizedProp) {
25244 normalizedInput[normalizedProp] = inputObject[prop];
25245 }
25246 }
25247 }
25248
25249 return normalizedInput;
25250 }
25251
25252 var priorities = {};
25253
25254 function addUnitPriority(unit, priority) {
25255 priorities[unit] = priority;
25256 }
25257
25258 function getPrioritizedUnits(unitsObj) {
25259 var units = [];
25260 for (var u in unitsObj) {
25261 units.push({unit: u, priority: priorities[u]});
25262 }
25263 units.sort(function (a, b) {
25264 return a.priority - b.priority;
25265 });
25266 return units;
25267 }
25268
25269 function zeroFill(number, targetLength, forceSign) {
25270 var absNumber = '' + Math.abs(number),
25271 zerosToFill = targetLength - absNumber.length,
25272 sign = number >= 0;
25273 return (sign ? (forceSign ? '+' : '') : '-') +
25274 Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + absNumber;
25275 }
25276
25277 var formattingTokens = /(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g;
25278
25279 var localFormattingTokens = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g;
25280
25281 var formatFunctions = {};
25282
25283 var formatTokenFunctions = {};
25284
25285 // token: 'M'
25286 // padded: ['MM', 2]
25287 // ordinal: 'Mo'
25288 // callback: function () { this.month() + 1 }
25289 function addFormatToken (token, padded, ordinal, callback) {
25290 var func = callback;
25291 if (typeof callback === 'string') {
25292 func = function () {
25293 return this[callback]();
25294 };
25295 }
25296 if (token) {
25297 formatTokenFunctions[token] = func;
25298 }
25299 if (padded) {
25300 formatTokenFunctions[padded[0]] = function () {
25301 return zeroFill(func.apply(this, arguments), padded[1], padded[2]);
25302 };
25303 }
25304 if (ordinal) {
25305 formatTokenFunctions[ordinal] = function () {
25306 return this.localeData().ordinal(func.apply(this, arguments), token);
25307 };
25308 }
25309 }
25310
25311 function removeFormattingTokens(input) {
25312 if (input.match(/\[[\s\S]/)) {
25313 return input.replace(/^\[|\]$/g, '');
25314 }
25315 return input.replace(/\\/g, '');
25316 }
25317
25318 function makeFormatFunction(format) {
25319 var array = format.match(formattingTokens), i, length;
25320
25321 for (i = 0, length = array.length; i < length; i++) {
25322 if (formatTokenFunctions[array[i]]) {
25323 array[i] = formatTokenFunctions[array[i]];
25324 } else {
25325 array[i] = removeFormattingTokens(array[i]);
25326 }
25327 }
25328
25329 return function (mom) {
25330 var output = '', i;
25331 for (i = 0; i < length; i++) {
25332 output += isFunction(array[i]) ? array[i].call(mom, format) : array[i];
25333 }
25334 return output;
25335 };
25336 }
25337
25338 // format date using native date object
25339 function formatMoment(m, format) {
25340 if (!m.isValid()) {
25341 return m.localeData().invalidDate();
25342 }
25343
25344 format = expandFormat(format, m.localeData());
25345 formatFunctions[format] = formatFunctions[format] || makeFormatFunction(format);
25346
25347 return formatFunctions[format](m);
25348 }
25349
25350 function expandFormat(format, locale) {
25351 var i = 5;
25352
25353 function replaceLongDateFormatTokens(input) {
25354 return locale.longDateFormat(input) || input;
25355 }
25356
25357 localFormattingTokens.lastIndex = 0;
25358 while (i >= 0 && localFormattingTokens.test(format)) {
25359 format = format.replace(localFormattingTokens, replaceLongDateFormatTokens);
25360 localFormattingTokens.lastIndex = 0;
25361 i -= 1;
25362 }
25363
25364 return format;
25365 }
25366
25367 var match1 = /\d/; // 0 - 9
25368 var match2 = /\d\d/; // 00 - 99
25369 var match3 = /\d{3}/; // 000 - 999
25370 var match4 = /\d{4}/; // 0000 - 9999
25371 var match6 = /[+-]?\d{6}/; // -999999 - 999999
25372 var match1to2 = /\d\d?/; // 0 - 99
25373 var match3to4 = /\d\d\d\d?/; // 999 - 9999
25374 var match5to6 = /\d\d\d\d\d\d?/; // 99999 - 999999
25375 var match1to3 = /\d{1,3}/; // 0 - 999
25376 var match1to4 = /\d{1,4}/; // 0 - 9999
25377 var match1to6 = /[+-]?\d{1,6}/; // -999999 - 999999
25378
25379 var matchUnsigned = /\d+/; // 0 - inf
25380 var matchSigned = /[+-]?\d+/; // -inf - inf
25381
25382 var matchOffset = /Z|[+-]\d\d:?\d\d/gi; // +00:00 -00:00 +0000 -0000 or Z
25383 var matchShortOffset = /Z|[+-]\d\d(?::?\d\d)?/gi; // +00 -00 +00:00 -00:00 +0000 -0000 or Z
25384
25385 var matchTimestamp = /[+-]?\d+(\.\d{1,3})?/; // 123456789 123456789.123
25386
25387 // any word (or two) characters or numbers including two/three word month in arabic.
25388 // includes scottish gaelic two word and hyphenated months
25389 var matchWord = /[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i;
25390
25391 var regexes = {};
25392
25393 function addRegexToken (token, regex, strictRegex) {
25394 regexes[token] = isFunction(regex) ? regex : function (isStrict, localeData) {
25395 return (isStrict && strictRegex) ? strictRegex : regex;
25396 };
25397 }
25398
25399 function getParseRegexForToken (token, config) {
25400 if (!hasOwnProp(regexes, token)) {
25401 return new RegExp(unescapeFormat(token));
25402 }
25403
25404 return regexes[token](config._strict, config._locale);
25405 }
25406
25407 // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript
25408 function unescapeFormat(s) {
25409 return regexEscape(s.replace('\\', '').replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, function (matched, p1, p2, p3, p4) {
25410 return p1 || p2 || p3 || p4;
25411 }));
25412 }
25413
25414 function regexEscape(s) {
25415 return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
25416 }
25417
25418 var tokens = {};
25419
25420 function addParseToken (token, callback) {
25421 var i, func = callback;
25422 if (typeof token === 'string') {
25423 token = [token];
25424 }
25425 if (isNumber(callback)) {
25426 func = function (input, array) {
25427 array[callback] = toInt(input);
25428 };
25429 }
25430 for (i = 0; i < token.length; i++) {
25431 tokens[token[i]] = func;
25432 }
25433 }
25434
25435 function addWeekParseToken (token, callback) {
25436 addParseToken(token, function (input, array, config, token) {
25437 config._w = config._w || {};
25438 callback(input, config._w, config, token);
25439 });
25440 }
25441
25442 function addTimeToArrayFromToken(token, input, config) {
25443 if (input != null && hasOwnProp(tokens, token)) {
25444 tokens[token](input, config._a, config, token);
25445 }
25446 }
25447
25448 var YEAR = 0;
25449 var MONTH = 1;
25450 var DATE = 2;
25451 var HOUR = 3;
25452 var MINUTE = 4;
25453 var SECOND = 5;
25454 var MILLISECOND = 6;
25455 var WEEK = 7;
25456 var WEEKDAY = 8;
25457
25458 // FORMATTING
25459
25460 addFormatToken('Y', 0, 0, function () {
25461 var y = this.year();
25462 return y <= 9999 ? '' + y : '+' + y;
25463 });
25464
25465 addFormatToken(0, ['YY', 2], 0, function () {
25466 return this.year() % 100;
25467 });
25468
25469 addFormatToken(0, ['YYYY', 4], 0, 'year');
25470 addFormatToken(0, ['YYYYY', 5], 0, 'year');
25471 addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');
25472
25473 // ALIASES
25474
25475 addUnitAlias('year', 'y');
25476
25477 // PRIORITIES
25478
25479 addUnitPriority('year', 1);
25480
25481 // PARSING
25482
25483 addRegexToken('Y', matchSigned);
25484 addRegexToken('YY', match1to2, match2);
25485 addRegexToken('YYYY', match1to4, match4);
25486 addRegexToken('YYYYY', match1to6, match6);
25487 addRegexToken('YYYYYY', match1to6, match6);
25488
25489 addParseToken(['YYYYY', 'YYYYYY'], YEAR);
25490 addParseToken('YYYY', function (input, array) {
25491 array[YEAR] = input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);
25492 });
25493 addParseToken('YY', function (input, array) {
25494 array[YEAR] = hooks.parseTwoDigitYear(input);
25495 });
25496 addParseToken('Y', function (input, array) {
25497 array[YEAR] = parseInt(input, 10);
25498 });
25499
25500 // HELPERS
25501
25502 function daysInYear(year) {
25503 return isLeapYear(year) ? 366 : 365;
25504 }
25505
25506 function isLeapYear(year) {
25507 return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;
25508 }
25509
25510 // HOOKS
25511
25512 hooks.parseTwoDigitYear = function (input) {
25513 return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);
25514 };
25515
25516 // MOMENTS
25517
25518 var getSetYear = makeGetSet('FullYear', true);
25519
25520 function getIsLeapYear () {
25521 return isLeapYear(this.year());
25522 }
25523
25524 function makeGetSet (unit, keepTime) {
25525 return function (value) {
25526 if (value != null) {
25527 set$1(this, unit, value);
25528 hooks.updateOffset(this, keepTime);
25529 return this;
25530 } else {
25531 return get(this, unit);
25532 }
25533 };
25534 }
25535
25536 function get (mom, unit) {
25537 return mom.isValid() ?
25538 mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() : NaN;
25539 }
25540
25541 function set$1 (mom, unit, value) {
25542 if (mom.isValid() && !isNaN(value)) {
25543 if (unit === 'FullYear' && isLeapYear(mom.year()) && mom.month() === 1 && mom.date() === 29) {
25544 mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value, mom.month(), daysInMonth(value, mom.month()));
25545 }
25546 else {
25547 mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);
25548 }
25549 }
25550 }
25551
25552 // MOMENTS
25553
25554 function stringGet (units) {
25555 units = normalizeUnits(units);
25556 if (isFunction(this[units])) {
25557 return this[units]();
25558 }
25559 return this;
25560 }
25561
25562
25563 function stringSet (units, value) {
25564 if (typeof units === 'object') {
25565 units = normalizeObjectUnits(units);
25566 var prioritized = getPrioritizedUnits(units);
25567 for (var i = 0; i < prioritized.length; i++) {
25568 this[prioritized[i].unit](units[prioritized[i].unit]);
25569 }
25570 } else {
25571 units = normalizeUnits(units);
25572 if (isFunction(this[units])) {
25573 return this[units](value);
25574 }
25575 }
25576 return this;
25577 }
25578
25579 function mod(n, x) {
25580 return ((n % x) + x) % x;
25581 }
25582
25583 var indexOf;
25584
25585 if (Array.prototype.indexOf) {
25586 indexOf = Array.prototype.indexOf;
25587 } else {
25588 indexOf = function (o) {
25589 // I know
25590 var i;
25591 for (i = 0; i < this.length; ++i) {
25592 if (this[i] === o) {
25593 return i;
25594 }
25595 }
25596 return -1;
25597 };
25598 }
25599
25600 function daysInMonth(year, month) {
25601 if (isNaN(year) || isNaN(month)) {
25602 return NaN;
25603 }
25604 var modMonth = mod(month, 12);
25605 year += (month - modMonth) / 12;
25606 return modMonth === 1 ? (isLeapYear(year) ? 29 : 28) : (31 - modMonth % 7 % 2);
25607 }
25608
25609 // FORMATTING
25610
25611 addFormatToken('M', ['MM', 2], 'Mo', function () {
25612 return this.month() + 1;
25613 });
25614
25615 addFormatToken('MMM', 0, 0, function (format) {
25616 return this.localeData().monthsShort(this, format);
25617 });
25618
25619 addFormatToken('MMMM', 0, 0, function (format) {
25620 return this.localeData().months(this, format);
25621 });
25622
25623 // ALIASES
25624
25625 addUnitAlias('month', 'M');
25626
25627 // PRIORITY
25628
25629 addUnitPriority('month', 8);
25630
25631 // PARSING
25632
25633 addRegexToken('M', match1to2);
25634 addRegexToken('MM', match1to2, match2);
25635 addRegexToken('MMM', function (isStrict, locale) {
25636 return locale.monthsShortRegex(isStrict);
25637 });
25638 addRegexToken('MMMM', function (isStrict, locale) {
25639 return locale.monthsRegex(isStrict);
25640 });
25641
25642 addParseToken(['M', 'MM'], function (input, array) {
25643 array[MONTH] = toInt(input) - 1;
25644 });
25645
25646 addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {
25647 var month = config._locale.monthsParse(input, token, config._strict);
25648 // if we didn't find a month name, mark the date as invalid.
25649 if (month != null) {
25650 array[MONTH] = month;
25651 } else {
25652 getParsingFlags(config).invalidMonth = input;
25653 }
25654 });
25655
25656 // LOCALES
25657
25658 var MONTHS_IN_FORMAT = /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/;
25659 var defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_');
25660 function localeMonths (m, format) {
25661 if (!m) {
25662 return isArray(this._months) ? this._months :
25663 this._months['standalone'];
25664 }
25665 return isArray(this._months) ? this._months[m.month()] :
25666 this._months[(this._months.isFormat || MONTHS_IN_FORMAT).test(format) ? 'format' : 'standalone'][m.month()];
25667 }
25668
25669 var defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_');
25670 function localeMonthsShort (m, format) {
25671 if (!m) {
25672 return isArray(this._monthsShort) ? this._monthsShort :
25673 this._monthsShort['standalone'];
25674 }
25675 return isArray(this._monthsShort) ? this._monthsShort[m.month()] :
25676 this._monthsShort[MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'][m.month()];
25677 }
25678
25679 function handleStrictParse(monthName, format, strict) {
25680 var i, ii, mom, llc = monthName.toLocaleLowerCase();
25681 if (!this._monthsParse) {
25682 // this is not used
25683 this._monthsParse = [];
25684 this._longMonthsParse = [];
25685 this._shortMonthsParse = [];
25686 for (i = 0; i < 12; ++i) {
25687 mom = createUTC([2000, i]);
25688 this._shortMonthsParse[i] = this.monthsShort(mom, '').toLocaleLowerCase();
25689 this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();
25690 }
25691 }
25692
25693 if (strict) {
25694 if (format === 'MMM') {
25695 ii = indexOf.call(this._shortMonthsParse, llc);
25696 return ii !== -1 ? ii : null;
25697 } else {
25698 ii = indexOf.call(this._longMonthsParse, llc);
25699 return ii !== -1 ? ii : null;
25700 }
25701 } else {
25702 if (format === 'MMM') {
25703 ii = indexOf.call(this._shortMonthsParse, llc);
25704 if (ii !== -1) {
25705 return ii;
25706 }
25707 ii = indexOf.call(this._longMonthsParse, llc);
25708 return ii !== -1 ? ii : null;
25709 } else {
25710 ii = indexOf.call(this._longMonthsParse, llc);
25711 if (ii !== -1) {
25712 return ii;
25713 }
25714 ii = indexOf.call(this._shortMonthsParse, llc);
25715 return ii !== -1 ? ii : null;
25716 }
25717 }
25718 }
25719
25720 function localeMonthsParse (monthName, format, strict) {
25721 var i, mom, regex;
25722
25723 if (this._monthsParseExact) {
25724 return handleStrictParse.call(this, monthName, format, strict);
25725 }
25726
25727 if (!this._monthsParse) {
25728 this._monthsParse = [];
25729 this._longMonthsParse = [];
25730 this._shortMonthsParse = [];
25731 }
25732
25733 // TODO: add sorting
25734 // Sorting makes sure if one month (or abbr) is a prefix of another
25735 // see sorting in computeMonthsParse
25736 for (i = 0; i < 12; i++) {
25737 // make the regex if we don't have it already
25738 mom = createUTC([2000, i]);
25739 if (strict && !this._longMonthsParse[i]) {
25740 this._longMonthsParse[i] = new RegExp('^' + this.months(mom, '').replace('.', '') + '$', 'i');
25741 this._shortMonthsParse[i] = new RegExp('^' + this.monthsShort(mom, '').replace('.', '') + '$', 'i');
25742 }
25743 if (!strict && !this._monthsParse[i]) {
25744 regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');
25745 this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');
25746 }
25747 // test the regex
25748 if (strict && format === 'MMMM' && this._longMonthsParse[i].test(monthName)) {
25749 return i;
25750 } else if (strict && format === 'MMM' && this._shortMonthsParse[i].test(monthName)) {
25751 return i;
25752 } else if (!strict && this._monthsParse[i].test(monthName)) {
25753 return i;
25754 }
25755 }
25756 }
25757
25758 // MOMENTS
25759
25760 function setMonth (mom, value) {
25761 var dayOfMonth;
25762
25763 if (!mom.isValid()) {
25764 // No op
25765 return mom;
25766 }
25767
25768 if (typeof value === 'string') {
25769 if (/^\d+$/.test(value)) {
25770 value = toInt(value);
25771 } else {
25772 value = mom.localeData().monthsParse(value);
25773 // TODO: Another silent failure?
25774 if (!isNumber(value)) {
25775 return mom;
25776 }
25777 }
25778 }
25779
25780 dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));
25781 mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);
25782 return mom;
25783 }
25784
25785 function getSetMonth (value) {
25786 if (value != null) {
25787 setMonth(this, value);
25788 hooks.updateOffset(this, true);
25789 return this;
25790 } else {
25791 return get(this, 'Month');
25792 }
25793 }
25794
25795 function getDaysInMonth () {
25796 return daysInMonth(this.year(), this.month());
25797 }
25798
25799 var defaultMonthsShortRegex = matchWord;
25800 function monthsShortRegex (isStrict) {
25801 if (this._monthsParseExact) {
25802 if (!hasOwnProp(this, '_monthsRegex')) {
25803 computeMonthsParse.call(this);
25804 }
25805 if (isStrict) {
25806 return this._monthsShortStrictRegex;
25807 } else {
25808 return this._monthsShortRegex;
25809 }
25810 } else {
25811 if (!hasOwnProp(this, '_monthsShortRegex')) {
25812 this._monthsShortRegex = defaultMonthsShortRegex;
25813 }
25814 return this._monthsShortStrictRegex && isStrict ?
25815 this._monthsShortStrictRegex : this._monthsShortRegex;
25816 }
25817 }
25818
25819 var defaultMonthsRegex = matchWord;
25820 function monthsRegex (isStrict) {
25821 if (this._monthsParseExact) {
25822 if (!hasOwnProp(this, '_monthsRegex')) {
25823 computeMonthsParse.call(this);
25824 }
25825 if (isStrict) {
25826 return this._monthsStrictRegex;
25827 } else {
25828 return this._monthsRegex;
25829 }
25830 } else {
25831 if (!hasOwnProp(this, '_monthsRegex')) {
25832 this._monthsRegex = defaultMonthsRegex;
25833 }
25834 return this._monthsStrictRegex && isStrict ?
25835 this._monthsStrictRegex : this._monthsRegex;
25836 }
25837 }
25838
25839 function computeMonthsParse () {
25840 function cmpLenRev(a, b) {
25841 return b.length - a.length;
25842 }
25843
25844 var shortPieces = [], longPieces = [], mixedPieces = [],
25845 i, mom;
25846 for (i = 0; i < 12; i++) {
25847 // make the regex if we don't have it already
25848 mom = createUTC([2000, i]);
25849 shortPieces.push(this.monthsShort(mom, ''));
25850 longPieces.push(this.months(mom, ''));
25851 mixedPieces.push(this.months(mom, ''));
25852 mixedPieces.push(this.monthsShort(mom, ''));
25853 }
25854 // Sorting makes sure if one month (or abbr) is a prefix of another it
25855 // will match the longer piece.
25856 shortPieces.sort(cmpLenRev);
25857 longPieces.sort(cmpLenRev);
25858 mixedPieces.sort(cmpLenRev);
25859 for (i = 0; i < 12; i++) {
25860 shortPieces[i] = regexEscape(shortPieces[i]);
25861 longPieces[i] = regexEscape(longPieces[i]);
25862 }
25863 for (i = 0; i < 24; i++) {
25864 mixedPieces[i] = regexEscape(mixedPieces[i]);
25865 }
25866
25867 this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');
25868 this._monthsShortRegex = this._monthsRegex;
25869 this._monthsStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');
25870 this._monthsShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');
25871 }
25872
25873 function createDate (y, m, d, h, M, s, ms) {
25874 // can't just apply() to create a date:
25875 // https://stackoverflow.com/q/181348
25876 var date = new Date(y, m, d, h, M, s, ms);
25877
25878 // the date constructor remaps years 0-99 to 1900-1999
25879 if (y < 100 && y >= 0 && isFinite(date.getFullYear())) {
25880 date.setFullYear(y);
25881 }
25882 return date;
25883 }
25884
25885 function createUTCDate (y) {
25886 var date = new Date(Date.UTC.apply(null, arguments));
25887
25888 // the Date.UTC function remaps years 0-99 to 1900-1999
25889 if (y < 100 && y >= 0 && isFinite(date.getUTCFullYear())) {
25890 date.setUTCFullYear(y);
25891 }
25892 return date;
25893 }
25894
25895 // start-of-first-week - start-of-year
25896 function firstWeekOffset(year, dow, doy) {
25897 var // first-week day -- which january is always in the first week (4 for iso, 1 for other)
25898 fwd = 7 + dow - doy,
25899 // first-week day local weekday -- which local weekday is fwd
25900 fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;
25901
25902 return -fwdlw + fwd - 1;
25903 }
25904
25905 // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday
25906 function dayOfYearFromWeeks(year, week, weekday, dow, doy) {
25907 var localWeekday = (7 + weekday - dow) % 7,
25908 weekOffset = firstWeekOffset(year, dow, doy),
25909 dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,
25910 resYear, resDayOfYear;
25911
25912 if (dayOfYear <= 0) {
25913 resYear = year - 1;
25914 resDayOfYear = daysInYear(resYear) + dayOfYear;
25915 } else if (dayOfYear > daysInYear(year)) {
25916 resYear = year + 1;
25917 resDayOfYear = dayOfYear - daysInYear(year);
25918 } else {
25919 resYear = year;
25920 resDayOfYear = dayOfYear;
25921 }
25922
25923 return {
25924 year: resYear,
25925 dayOfYear: resDayOfYear
25926 };
25927 }
25928
25929 function weekOfYear(mom, dow, doy) {
25930 var weekOffset = firstWeekOffset(mom.year(), dow, doy),
25931 week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,
25932 resWeek, resYear;
25933
25934 if (week < 1) {
25935 resYear = mom.year() - 1;
25936 resWeek = week + weeksInYear(resYear, dow, doy);
25937 } else if (week > weeksInYear(mom.year(), dow, doy)) {
25938 resWeek = week - weeksInYear(mom.year(), dow, doy);
25939 resYear = mom.year() + 1;
25940 } else {
25941 resYear = mom.year();
25942 resWeek = week;
25943 }
25944
25945 return {
25946 week: resWeek,
25947 year: resYear
25948 };
25949 }
25950
25951 function weeksInYear(year, dow, doy) {
25952 var weekOffset = firstWeekOffset(year, dow, doy),
25953 weekOffsetNext = firstWeekOffset(year + 1, dow, doy);
25954 return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;
25955 }
25956
25957 // FORMATTING
25958
25959 addFormatToken('w', ['ww', 2], 'wo', 'week');
25960 addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');
25961
25962 // ALIASES
25963
25964 addUnitAlias('week', 'w');
25965 addUnitAlias('isoWeek', 'W');
25966
25967 // PRIORITIES
25968
25969 addUnitPriority('week', 5);
25970 addUnitPriority('isoWeek', 5);
25971
25972 // PARSING
25973
25974 addRegexToken('w', match1to2);
25975 addRegexToken('ww', match1to2, match2);
25976 addRegexToken('W', match1to2);
25977 addRegexToken('WW', match1to2, match2);
25978
25979 addWeekParseToken(['w', 'ww', 'W', 'WW'], function (input, week, config, token) {
25980 week[token.substr(0, 1)] = toInt(input);
25981 });
25982
25983 // HELPERS
25984
25985 // LOCALES
25986
25987 function localeWeek (mom) {
25988 return weekOfYear(mom, this._week.dow, this._week.doy).week;
25989 }
25990
25991 var defaultLocaleWeek = {
25992 dow : 0, // Sunday is the first day of the week.
25993 doy : 6 // The week that contains Jan 1st is the first week of the year.
25994 };
25995
25996 function localeFirstDayOfWeek () {
25997 return this._week.dow;
25998 }
25999
26000 function localeFirstDayOfYear () {
26001 return this._week.doy;
26002 }
26003
26004 // MOMENTS
26005
26006 function getSetWeek (input) {
26007 var week = this.localeData().week(this);
26008 return input == null ? week : this.add((input - week) * 7, 'd');
26009 }
26010
26011 function getSetISOWeek (input) {
26012 var week = weekOfYear(this, 1, 4).week;
26013 return input == null ? week : this.add((input - week) * 7, 'd');
26014 }
26015
26016 // FORMATTING
26017
26018 addFormatToken('d', 0, 'do', 'day');
26019
26020 addFormatToken('dd', 0, 0, function (format) {
26021 return this.localeData().weekdaysMin(this, format);
26022 });
26023
26024 addFormatToken('ddd', 0, 0, function (format) {
26025 return this.localeData().weekdaysShort(this, format);
26026 });
26027
26028 addFormatToken('dddd', 0, 0, function (format) {
26029 return this.localeData().weekdays(this, format);
26030 });
26031
26032 addFormatToken('e', 0, 0, 'weekday');
26033 addFormatToken('E', 0, 0, 'isoWeekday');
26034
26035 // ALIASES
26036
26037 addUnitAlias('day', 'd');
26038 addUnitAlias('weekday', 'e');
26039 addUnitAlias('isoWeekday', 'E');
26040
26041 // PRIORITY
26042 addUnitPriority('day', 11);
26043 addUnitPriority('weekday', 11);
26044 addUnitPriority('isoWeekday', 11);
26045
26046 // PARSING
26047
26048 addRegexToken('d', match1to2);
26049 addRegexToken('e', match1to2);
26050 addRegexToken('E', match1to2);
26051 addRegexToken('dd', function (isStrict, locale) {
26052 return locale.weekdaysMinRegex(isStrict);
26053 });
26054 addRegexToken('ddd', function (isStrict, locale) {
26055 return locale.weekdaysShortRegex(isStrict);
26056 });
26057 addRegexToken('dddd', function (isStrict, locale) {
26058 return locale.weekdaysRegex(isStrict);
26059 });
26060
26061 addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {
26062 var weekday = config._locale.weekdaysParse(input, token, config._strict);
26063 // if we didn't get a weekday name, mark the date as invalid
26064 if (weekday != null) {
26065 week.d = weekday;
26066 } else {
26067 getParsingFlags(config).invalidWeekday = input;
26068 }
26069 });
26070
26071 addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {
26072 week[token] = toInt(input);
26073 });
26074
26075 // HELPERS
26076
26077 function parseWeekday(input, locale) {
26078 if (typeof input !== 'string') {
26079 return input;
26080 }
26081
26082 if (!isNaN(input)) {
26083 return parseInt(input, 10);
26084 }
26085
26086 input = locale.weekdaysParse(input);
26087 if (typeof input === 'number') {
26088 return input;
26089 }
26090
26091 return null;
26092 }
26093
26094 function parseIsoWeekday(input, locale) {
26095 if (typeof input === 'string') {
26096 return locale.weekdaysParse(input) % 7 || 7;
26097 }
26098 return isNaN(input) ? null : input;
26099 }
26100
26101 // LOCALES
26102
26103 var defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_');
26104 function localeWeekdays (m, format) {
26105 if (!m) {
26106 return isArray(this._weekdays) ? this._weekdays :
26107 this._weekdays['standalone'];
26108 }
26109 return isArray(this._weekdays) ? this._weekdays[m.day()] :
26110 this._weekdays[this._weekdays.isFormat.test(format) ? 'format' : 'standalone'][m.day()];
26111 }
26112
26113 var defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_');
26114 function localeWeekdaysShort (m) {
26115 return (m) ? this._weekdaysShort[m.day()] : this._weekdaysShort;
26116 }
26117
26118 var defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_');
26119 function localeWeekdaysMin (m) {
26120 return (m) ? this._weekdaysMin[m.day()] : this._weekdaysMin;
26121 }
26122
26123 function handleStrictParse$1(weekdayName, format, strict) {
26124 var i, ii, mom, llc = weekdayName.toLocaleLowerCase();
26125 if (!this._weekdaysParse) {
26126 this._weekdaysParse = [];
26127 this._shortWeekdaysParse = [];
26128 this._minWeekdaysParse = [];
26129
26130 for (i = 0; i < 7; ++i) {
26131 mom = createUTC([2000, 1]).day(i);
26132 this._minWeekdaysParse[i] = this.weekdaysMin(mom, '').toLocaleLowerCase();
26133 this._shortWeekdaysParse[i] = this.weekdaysShort(mom, '').toLocaleLowerCase();
26134 this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();
26135 }
26136 }
26137
26138 if (strict) {
26139 if (format === 'dddd') {
26140 ii = indexOf.call(this._weekdaysParse, llc);
26141 return ii !== -1 ? ii : null;
26142 } else if (format === 'ddd') {
26143 ii = indexOf.call(this._shortWeekdaysParse, llc);
26144 return ii !== -1 ? ii : null;
26145 } else {
26146 ii = indexOf.call(this._minWeekdaysParse, llc);
26147 return ii !== -1 ? ii : null;
26148 }
26149 } else {
26150 if (format === 'dddd') {
26151 ii = indexOf.call(this._weekdaysParse, llc);
26152 if (ii !== -1) {
26153 return ii;
26154 }
26155 ii = indexOf.call(this._shortWeekdaysParse, llc);
26156 if (ii !== -1) {
26157 return ii;
26158 }
26159 ii = indexOf.call(this._minWeekdaysParse, llc);
26160 return ii !== -1 ? ii : null;
26161 } else if (format === 'ddd') {
26162 ii = indexOf.call(this._shortWeekdaysParse, llc);
26163 if (ii !== -1) {
26164 return ii;
26165 }
26166 ii = indexOf.call(this._weekdaysParse, llc);
26167 if (ii !== -1) {
26168 return ii;
26169 }
26170 ii = indexOf.call(this._minWeekdaysParse, llc);
26171 return ii !== -1 ? ii : null;
26172 } else {
26173 ii = indexOf.call(this._minWeekdaysParse, llc);
26174 if (ii !== -1) {
26175 return ii;
26176 }
26177 ii = indexOf.call(this._weekdaysParse, llc);
26178 if (ii !== -1) {
26179 return ii;
26180 }
26181 ii = indexOf.call(this._shortWeekdaysParse, llc);
26182 return ii !== -1 ? ii : null;
26183 }
26184 }
26185 }
26186
26187 function localeWeekdaysParse (weekdayName, format, strict) {
26188 var i, mom, regex;
26189
26190 if (this._weekdaysParseExact) {
26191 return handleStrictParse$1.call(this, weekdayName, format, strict);
26192 }
26193
26194 if (!this._weekdaysParse) {
26195 this._weekdaysParse = [];
26196 this._minWeekdaysParse = [];
26197 this._shortWeekdaysParse = [];
26198 this._fullWeekdaysParse = [];
26199 }
26200
26201 for (i = 0; i < 7; i++) {
26202 // make the regex if we don't have it already
26203
26204 mom = createUTC([2000, 1]).day(i);
26205 if (strict && !this._fullWeekdaysParse[i]) {
26206 this._fullWeekdaysParse[i] = new RegExp('^' + this.weekdays(mom, '').replace('.', '\\.?') + '$', 'i');
26207 this._shortWeekdaysParse[i] = new RegExp('^' + this.weekdaysShort(mom, '').replace('.', '\\.?') + '$', 'i');
26208 this._minWeekdaysParse[i] = new RegExp('^' + this.weekdaysMin(mom, '').replace('.', '\\.?') + '$', 'i');
26209 }
26210 if (!this._weekdaysParse[i]) {
26211 regex = '^' + this.weekdays(mom, '') + '|^' + this.weekdaysShort(mom, '') + '|^' + this.weekdaysMin(mom, '');
26212 this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');
26213 }
26214 // test the regex
26215 if (strict && format === 'dddd' && this._fullWeekdaysParse[i].test(weekdayName)) {
26216 return i;
26217 } else if (strict && format === 'ddd' && this._shortWeekdaysParse[i].test(weekdayName)) {
26218 return i;
26219 } else if (strict && format === 'dd' && this._minWeekdaysParse[i].test(weekdayName)) {
26220 return i;
26221 } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {
26222 return i;
26223 }
26224 }
26225 }
26226
26227 // MOMENTS
26228
26229 function getSetDayOfWeek (input) {
26230 if (!this.isValid()) {
26231 return input != null ? this : NaN;
26232 }
26233 var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();
26234 if (input != null) {
26235 input = parseWeekday(input, this.localeData());
26236 return this.add(input - day, 'd');
26237 } else {
26238 return day;
26239 }
26240 }
26241
26242 function getSetLocaleDayOfWeek (input) {
26243 if (!this.isValid()) {
26244 return input != null ? this : NaN;
26245 }
26246 var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;
26247 return input == null ? weekday : this.add(input - weekday, 'd');
26248 }
26249
26250 function getSetISODayOfWeek (input) {
26251 if (!this.isValid()) {
26252 return input != null ? this : NaN;
26253 }
26254
26255 // behaves the same as moment#day except
26256 // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)
26257 // as a setter, sunday should belong to the previous week.
26258
26259 if (input != null) {
26260 var weekday = parseIsoWeekday(input, this.localeData());
26261 return this.day(this.day() % 7 ? weekday : weekday - 7);
26262 } else {
26263 return this.day() || 7;
26264 }
26265 }
26266
26267 var defaultWeekdaysRegex = matchWord;
26268 function weekdaysRegex (isStrict) {
26269 if (this._weekdaysParseExact) {
26270 if (!hasOwnProp(this, '_weekdaysRegex')) {
26271 computeWeekdaysParse.call(this);
26272 }
26273 if (isStrict) {
26274 return this._weekdaysStrictRegex;
26275 } else {
26276 return this._weekdaysRegex;
26277 }
26278 } else {
26279 if (!hasOwnProp(this, '_weekdaysRegex')) {
26280 this._weekdaysRegex = defaultWeekdaysRegex;
26281 }
26282 return this._weekdaysStrictRegex && isStrict ?
26283 this._weekdaysStrictRegex : this._weekdaysRegex;
26284 }
26285 }
26286
26287 var defaultWeekdaysShortRegex = matchWord;
26288 function weekdaysShortRegex (isStrict) {
26289 if (this._weekdaysParseExact) {
26290 if (!hasOwnProp(this, '_weekdaysRegex')) {
26291 computeWeekdaysParse.call(this);
26292 }
26293 if (isStrict) {
26294 return this._weekdaysShortStrictRegex;
26295 } else {
26296 return this._weekdaysShortRegex;
26297 }
26298 } else {
26299 if (!hasOwnProp(this, '_weekdaysShortRegex')) {
26300 this._weekdaysShortRegex = defaultWeekdaysShortRegex;
26301 }
26302 return this._weekdaysShortStrictRegex && isStrict ?
26303 this._weekdaysShortStrictRegex : this._weekdaysShortRegex;
26304 }
26305 }
26306
26307 var defaultWeekdaysMinRegex = matchWord;
26308 function weekdaysMinRegex (isStrict) {
26309 if (this._weekdaysParseExact) {
26310 if (!hasOwnProp(this, '_weekdaysRegex')) {
26311 computeWeekdaysParse.call(this);
26312 }
26313 if (isStrict) {
26314 return this._weekdaysMinStrictRegex;
26315 } else {
26316 return this._weekdaysMinRegex;
26317 }
26318 } else {
26319 if (!hasOwnProp(this, '_weekdaysMinRegex')) {
26320 this._weekdaysMinRegex = defaultWeekdaysMinRegex;
26321 }
26322 return this._weekdaysMinStrictRegex && isStrict ?
26323 this._weekdaysMinStrictRegex : this._weekdaysMinRegex;
26324 }
26325 }
26326
26327
26328 function computeWeekdaysParse () {
26329 function cmpLenRev(a, b) {
26330 return b.length - a.length;
26331 }
26332
26333 var minPieces = [], shortPieces = [], longPieces = [], mixedPieces = [],
26334 i, mom, minp, shortp, longp;
26335 for (i = 0; i < 7; i++) {
26336 // make the regex if we don't have it already
26337 mom = createUTC([2000, 1]).day(i);
26338 minp = this.weekdaysMin(mom, '');
26339 shortp = this.weekdaysShort(mom, '');
26340 longp = this.weekdays(mom, '');
26341 minPieces.push(minp);
26342 shortPieces.push(shortp);
26343 longPieces.push(longp);
26344 mixedPieces.push(minp);
26345 mixedPieces.push(shortp);
26346 mixedPieces.push(longp);
26347 }
26348 // Sorting makes sure if one weekday (or abbr) is a prefix of another it
26349 // will match the longer piece.
26350 minPieces.sort(cmpLenRev);
26351 shortPieces.sort(cmpLenRev);
26352 longPieces.sort(cmpLenRev);
26353 mixedPieces.sort(cmpLenRev);
26354 for (i = 0; i < 7; i++) {
26355 shortPieces[i] = regexEscape(shortPieces[i]);
26356 longPieces[i] = regexEscape(longPieces[i]);
26357 mixedPieces[i] = regexEscape(mixedPieces[i]);
26358 }
26359
26360 this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');
26361 this._weekdaysShortRegex = this._weekdaysRegex;
26362 this._weekdaysMinRegex = this._weekdaysRegex;
26363
26364 this._weekdaysStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');
26365 this._weekdaysShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');
26366 this._weekdaysMinStrictRegex = new RegExp('^(' + minPieces.join('|') + ')', 'i');
26367 }
26368
26369 // FORMATTING
26370
26371 function hFormat() {
26372 return this.hours() % 12 || 12;
26373 }
26374
26375 function kFormat() {
26376 return this.hours() || 24;
26377 }
26378
26379 addFormatToken('H', ['HH', 2], 0, 'hour');
26380 addFormatToken('h', ['hh', 2], 0, hFormat);
26381 addFormatToken('k', ['kk', 2], 0, kFormat);
26382
26383 addFormatToken('hmm', 0, 0, function () {
26384 return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);
26385 });
26386
26387 addFormatToken('hmmss', 0, 0, function () {
26388 return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2) +
26389 zeroFill(this.seconds(), 2);
26390 });
26391
26392 addFormatToken('Hmm', 0, 0, function () {
26393 return '' + this.hours() + zeroFill(this.minutes(), 2);
26394 });
26395
26396 addFormatToken('Hmmss', 0, 0, function () {
26397 return '' + this.hours() + zeroFill(this.minutes(), 2) +
26398 zeroFill(this.seconds(), 2);
26399 });
26400
26401 function meridiem (token, lowercase) {
26402 addFormatToken(token, 0, 0, function () {
26403 return this.localeData().meridiem(this.hours(), this.minutes(), lowercase);
26404 });
26405 }
26406
26407 meridiem('a', true);
26408 meridiem('A', false);
26409
26410 // ALIASES
26411
26412 addUnitAlias('hour', 'h');
26413
26414 // PRIORITY
26415 addUnitPriority('hour', 13);
26416
26417 // PARSING
26418
26419 function matchMeridiem (isStrict, locale) {
26420 return locale._meridiemParse;
26421 }
26422
26423 addRegexToken('a', matchMeridiem);
26424 addRegexToken('A', matchMeridiem);
26425 addRegexToken('H', match1to2);
26426 addRegexToken('h', match1to2);
26427 addRegexToken('k', match1to2);
26428 addRegexToken('HH', match1to2, match2);
26429 addRegexToken('hh', match1to2, match2);
26430 addRegexToken('kk', match1to2, match2);
26431
26432 addRegexToken('hmm', match3to4);
26433 addRegexToken('hmmss', match5to6);
26434 addRegexToken('Hmm', match3to4);
26435 addRegexToken('Hmmss', match5to6);
26436
26437 addParseToken(['H', 'HH'], HOUR);
26438 addParseToken(['k', 'kk'], function (input, array, config) {
26439 var kInput = toInt(input);
26440 array[HOUR] = kInput === 24 ? 0 : kInput;
26441 });
26442 addParseToken(['a', 'A'], function (input, array, config) {
26443 config._isPm = config._locale.isPM(input);
26444 config._meridiem = input;
26445 });
26446 addParseToken(['h', 'hh'], function (input, array, config) {
26447 array[HOUR] = toInt(input);
26448 getParsingFlags(config).bigHour = true;
26449 });
26450 addParseToken('hmm', function (input, array, config) {
26451 var pos = input.length - 2;
26452 array[HOUR] = toInt(input.substr(0, pos));
26453 array[MINUTE] = toInt(input.substr(pos));
26454 getParsingFlags(config).bigHour = true;
26455 });
26456 addParseToken('hmmss', function (input, array, config) {
26457 var pos1 = input.length - 4;
26458 var pos2 = input.length - 2;
26459 array[HOUR] = toInt(input.substr(0, pos1));
26460 array[MINUTE] = toInt(input.substr(pos1, 2));
26461 array[SECOND] = toInt(input.substr(pos2));
26462 getParsingFlags(config).bigHour = true;
26463 });
26464 addParseToken('Hmm', function (input, array, config) {
26465 var pos = input.length - 2;
26466 array[HOUR] = toInt(input.substr(0, pos));
26467 array[MINUTE] = toInt(input.substr(pos));
26468 });
26469 addParseToken('Hmmss', function (input, array, config) {
26470 var pos1 = input.length - 4;
26471 var pos2 = input.length - 2;
26472 array[HOUR] = toInt(input.substr(0, pos1));
26473 array[MINUTE] = toInt(input.substr(pos1, 2));
26474 array[SECOND] = toInt(input.substr(pos2));
26475 });
26476
26477 // LOCALES
26478
26479 function localeIsPM (input) {
26480 // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays
26481 // Using charAt should be more compatible.
26482 return ((input + '').toLowerCase().charAt(0) === 'p');
26483 }
26484
26485 var defaultLocaleMeridiemParse = /[ap]\.?m?\.?/i;
26486 function localeMeridiem (hours, minutes, isLower) {
26487 if (hours > 11) {
26488 return isLower ? 'pm' : 'PM';
26489 } else {
26490 return isLower ? 'am' : 'AM';
26491 }
26492 }
26493
26494
26495 // MOMENTS
26496
26497 // Setting the hour should keep the time, because the user explicitly
26498 // specified which hour they want. So trying to maintain the same hour (in
26499 // a new timezone) makes sense. Adding/subtracting hours does not follow
26500 // this rule.
26501 var getSetHour = makeGetSet('Hours', true);
26502
26503 var baseConfig = {
26504 calendar: defaultCalendar,
26505 longDateFormat: defaultLongDateFormat,
26506 invalidDate: defaultInvalidDate,
26507 ordinal: defaultOrdinal,
26508 dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,
26509 relativeTime: defaultRelativeTime,
26510
26511 months: defaultLocaleMonths,
26512 monthsShort: defaultLocaleMonthsShort,
26513
26514 week: defaultLocaleWeek,
26515
26516 weekdays: defaultLocaleWeekdays,
26517 weekdaysMin: defaultLocaleWeekdaysMin,
26518 weekdaysShort: defaultLocaleWeekdaysShort,
26519
26520 meridiemParse: defaultLocaleMeridiemParse
26521 };
26522
26523 // internal storage for locale config files
26524 var locales = {};
26525 var localeFamilies = {};
26526 var globalLocale;
26527
26528 function normalizeLocale(key) {
26529 return key ? key.toLowerCase().replace('_', '-') : key;
26530 }
26531
26532 // pick the locale from the array
26533 // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each
26534 // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root
26535 function chooseLocale(names) {
26536 var i = 0, j, next, locale, split;
26537
26538 while (i < names.length) {
26539 split = normalizeLocale(names[i]).split('-');
26540 j = split.length;
26541 next = normalizeLocale(names[i + 1]);
26542 next = next ? next.split('-') : null;
26543 while (j > 0) {
26544 locale = loadLocale(split.slice(0, j).join('-'));
26545 if (locale) {
26546 return locale;
26547 }
26548 if (next && next.length >= j && compareArrays(split, next, true) >= j - 1) {
26549 //the next array item is better than a shallower substring of this one
26550 break;
26551 }
26552 j--;
26553 }
26554 i++;
26555 }
26556 return globalLocale;
26557 }
26558
26559 function loadLocale(name) {
26560 var oldLocale = null;
26561 // TODO: Find a better way to register and load all the locales in Node
26562 if (!locales[name] && (typeof module !== 'undefined') &&
26563 module && module.exports) {
26564 try {
26565 oldLocale = globalLocale._abbr;
26566 var aliasedRequire = require;
26567 __webpack_require__(329)("./" + name);
26568 getSetGlobalLocale(oldLocale);
26569 } catch (e) {}
26570 }
26571 return locales[name];
26572 }
26573
26574 // This function will load locale and then set the global locale. If
26575 // no arguments are passed in, it will simply return the current global
26576 // locale key.
26577 function getSetGlobalLocale (key, values) {
26578 var data;
26579 if (key) {
26580 if (isUndefined(values)) {
26581 data = getLocale(key);
26582 }
26583 else {
26584 data = defineLocale(key, values);
26585 }
26586
26587 if (data) {
26588 // moment.duration._locale = moment._locale = data;
26589 globalLocale = data;
26590 }
26591 else {
26592 if ((typeof console !== 'undefined') && console.warn) {
26593 //warn user if arguments are passed but the locale could not be set
26594 console.warn('Locale ' + key + ' not found. Did you forget to load it?');
26595 }
26596 }
26597 }
26598
26599 return globalLocale._abbr;
26600 }
26601
26602 function defineLocale (name, config) {
26603 if (config !== null) {
26604 var locale, parentConfig = baseConfig;
26605 config.abbr = name;
26606 if (locales[name] != null) {
26607 deprecateSimple('defineLocaleOverride',
26608 'use moment.updateLocale(localeName, config) to change ' +
26609 'an existing locale. moment.defineLocale(localeName, ' +
26610 'config) should only be used for creating a new locale ' +
26611 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.');
26612 parentConfig = locales[name]._config;
26613 } else if (config.parentLocale != null) {
26614 if (locales[config.parentLocale] != null) {
26615 parentConfig = locales[config.parentLocale]._config;
26616 } else {
26617 locale = loadLocale(config.parentLocale);
26618 if (locale != null) {
26619 parentConfig = locale._config;
26620 } else {
26621 if (!localeFamilies[config.parentLocale]) {
26622 localeFamilies[config.parentLocale] = [];
26623 }
26624 localeFamilies[config.parentLocale].push({
26625 name: name,
26626 config: config
26627 });
26628 return null;
26629 }
26630 }
26631 }
26632 locales[name] = new Locale(mergeConfigs(parentConfig, config));
26633
26634 if (localeFamilies[name]) {
26635 localeFamilies[name].forEach(function (x) {
26636 defineLocale(x.name, x.config);
26637 });
26638 }
26639
26640 // backwards compat for now: also set the locale
26641 // make sure we set the locale AFTER all child locales have been
26642 // created, so we won't end up with the child locale set.
26643 getSetGlobalLocale(name);
26644
26645
26646 return locales[name];
26647 } else {
26648 // useful for testing
26649 delete locales[name];
26650 return null;
26651 }
26652 }
26653
26654 function updateLocale(name, config) {
26655 if (config != null) {
26656 var locale, tmpLocale, parentConfig = baseConfig;
26657 // MERGE
26658 tmpLocale = loadLocale(name);
26659 if (tmpLocale != null) {
26660 parentConfig = tmpLocale._config;
26661 }
26662 config = mergeConfigs(parentConfig, config);
26663 locale = new Locale(config);
26664 locale.parentLocale = locales[name];
26665 locales[name] = locale;
26666
26667 // backwards compat for now: also set the locale
26668 getSetGlobalLocale(name);
26669 } else {
26670 // pass null for config to unupdate, useful for tests
26671 if (locales[name] != null) {
26672 if (locales[name].parentLocale != null) {
26673 locales[name] = locales[name].parentLocale;
26674 } else if (locales[name] != null) {
26675 delete locales[name];
26676 }
26677 }
26678 }
26679 return locales[name];
26680 }
26681
26682 // returns locale data
26683 function getLocale (key) {
26684 var locale;
26685
26686 if (key && key._locale && key._locale._abbr) {
26687 key = key._locale._abbr;
26688 }
26689
26690 if (!key) {
26691 return globalLocale;
26692 }
26693
26694 if (!isArray(key)) {
26695 //short-circuit everything else
26696 locale = loadLocale(key);
26697 if (locale) {
26698 return locale;
26699 }
26700 key = [key];
26701 }
26702
26703 return chooseLocale(key);
26704 }
26705
26706 function listLocales() {
26707 return keys(locales);
26708 }
26709
26710 function checkOverflow (m) {
26711 var overflow;
26712 var a = m._a;
26713
26714 if (a && getParsingFlags(m).overflow === -2) {
26715 overflow =
26716 a[MONTH] < 0 || a[MONTH] > 11 ? MONTH :
26717 a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH]) ? DATE :
26718 a[HOUR] < 0 || a[HOUR] > 24 || (a[HOUR] === 24 && (a[MINUTE] !== 0 || a[SECOND] !== 0 || a[MILLISECOND] !== 0)) ? HOUR :
26719 a[MINUTE] < 0 || a[MINUTE] > 59 ? MINUTE :
26720 a[SECOND] < 0 || a[SECOND] > 59 ? SECOND :
26721 a[MILLISECOND] < 0 || a[MILLISECOND] > 999 ? MILLISECOND :
26722 -1;
26723
26724 if (getParsingFlags(m)._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) {
26725 overflow = DATE;
26726 }
26727 if (getParsingFlags(m)._overflowWeeks && overflow === -1) {
26728 overflow = WEEK;
26729 }
26730 if (getParsingFlags(m)._overflowWeekday && overflow === -1) {
26731 overflow = WEEKDAY;
26732 }
26733
26734 getParsingFlags(m).overflow = overflow;
26735 }
26736
26737 return m;
26738 }
26739
26740 // Pick the first defined of two or three arguments.
26741 function defaults(a, b, c) {
26742 if (a != null) {
26743 return a;
26744 }
26745 if (b != null) {
26746 return b;
26747 }
26748 return c;
26749 }
26750
26751 function currentDateArray(config) {
26752 // hooks is actually the exported moment object
26753 var nowValue = new Date(hooks.now());
26754 if (config._useUTC) {
26755 return [nowValue.getUTCFullYear(), nowValue.getUTCMonth(), nowValue.getUTCDate()];
26756 }
26757 return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];
26758 }
26759
26760 // convert an array to a date.
26761 // the array should mirror the parameters below
26762 // note: all values past the year are optional and will default to the lowest possible value.
26763 // [year, month, day , hour, minute, second, millisecond]
26764 function configFromArray (config) {
26765 var i, date, input = [], currentDate, expectedWeekday, yearToUse;
26766
26767 if (config._d) {
26768 return;
26769 }
26770
26771 currentDate = currentDateArray(config);
26772
26773 //compute day of the year from weeks and weekdays
26774 if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {
26775 dayOfYearFromWeekInfo(config);
26776 }
26777
26778 //if the day of the year is set, figure out what it is
26779 if (config._dayOfYear != null) {
26780 yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);
26781
26782 if (config._dayOfYear > daysInYear(yearToUse) || config._dayOfYear === 0) {
26783 getParsingFlags(config)._overflowDayOfYear = true;
26784 }
26785
26786 date = createUTCDate(yearToUse, 0, config._dayOfYear);
26787 config._a[MONTH] = date.getUTCMonth();
26788 config._a[DATE] = date.getUTCDate();
26789 }
26790
26791 // Default to current date.
26792 // * if no year, month, day of month are given, default to today
26793 // * if day of month is given, default month and year
26794 // * if month is given, default only year
26795 // * if year is given, don't default anything
26796 for (i = 0; i < 3 && config._a[i] == null; ++i) {
26797 config._a[i] = input[i] = currentDate[i];
26798 }
26799
26800 // Zero out whatever was not defaulted, including time
26801 for (; i < 7; i++) {
26802 config._a[i] = input[i] = (config._a[i] == null) ? (i === 2 ? 1 : 0) : config._a[i];
26803 }
26804
26805 // Check for 24:00:00.000
26806 if (config._a[HOUR] === 24 &&
26807 config._a[MINUTE] === 0 &&
26808 config._a[SECOND] === 0 &&
26809 config._a[MILLISECOND] === 0) {
26810 config._nextDay = true;
26811 config._a[HOUR] = 0;
26812 }
26813
26814 config._d = (config._useUTC ? createUTCDate : createDate).apply(null, input);
26815 expectedWeekday = config._useUTC ? config._d.getUTCDay() : config._d.getDay();
26816
26817 // Apply timezone offset from input. The actual utcOffset can be changed
26818 // with parseZone.
26819 if (config._tzm != null) {
26820 config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);
26821 }
26822
26823 if (config._nextDay) {
26824 config._a[HOUR] = 24;
26825 }
26826
26827 // check for mismatching day of week
26828 if (config._w && typeof config._w.d !== 'undefined' && config._w.d !== expectedWeekday) {
26829 getParsingFlags(config).weekdayMismatch = true;
26830 }
26831 }
26832
26833 function dayOfYearFromWeekInfo(config) {
26834 var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow;
26835
26836 w = config._w;
26837 if (w.GG != null || w.W != null || w.E != null) {
26838 dow = 1;
26839 doy = 4;
26840
26841 // TODO: We need to take the current isoWeekYear, but that depends on
26842 // how we interpret now (local, utc, fixed offset). So create
26843 // a now version of current config (take local/utc/offset flags, and
26844 // create now).
26845 weekYear = defaults(w.GG, config._a[YEAR], weekOfYear(createLocal(), 1, 4).year);
26846 week = defaults(w.W, 1);
26847 weekday = defaults(w.E, 1);
26848 if (weekday < 1 || weekday > 7) {
26849 weekdayOverflow = true;
26850 }
26851 } else {
26852 dow = config._locale._week.dow;
26853 doy = config._locale._week.doy;
26854
26855 var curWeek = weekOfYear(createLocal(), dow, doy);
26856
26857 weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);
26858
26859 // Default to current week.
26860 week = defaults(w.w, curWeek.week);
26861
26862 if (w.d != null) {
26863 // weekday -- low day numbers are considered next week
26864 weekday = w.d;
26865 if (weekday < 0 || weekday > 6) {
26866 weekdayOverflow = true;
26867 }
26868 } else if (w.e != null) {
26869 // local weekday -- counting starts from begining of week
26870 weekday = w.e + dow;
26871 if (w.e < 0 || w.e > 6) {
26872 weekdayOverflow = true;
26873 }
26874 } else {
26875 // default to begining of week
26876 weekday = dow;
26877 }
26878 }
26879 if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {
26880 getParsingFlags(config)._overflowWeeks = true;
26881 } else if (weekdayOverflow != null) {
26882 getParsingFlags(config)._overflowWeekday = true;
26883 } else {
26884 temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);
26885 config._a[YEAR] = temp.year;
26886 config._dayOfYear = temp.dayOfYear;
26887 }
26888 }
26889
26890 // iso 8601 regex
26891 // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)
26892 var extendedIsoRegex = /^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/;
26893 var basicIsoRegex = /^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/;
26894
26895 var tzRegex = /Z|[+-]\d\d(?::?\d\d)?/;
26896
26897 var isoDates = [
26898 ['YYYYYY-MM-DD', /[+-]\d{6}-\d\d-\d\d/],
26899 ['YYYY-MM-DD', /\d{4}-\d\d-\d\d/],
26900 ['GGGG-[W]WW-E', /\d{4}-W\d\d-\d/],
26901 ['GGGG-[W]WW', /\d{4}-W\d\d/, false],
26902 ['YYYY-DDD', /\d{4}-\d{3}/],
26903 ['YYYY-MM', /\d{4}-\d\d/, false],
26904 ['YYYYYYMMDD', /[+-]\d{10}/],
26905 ['YYYYMMDD', /\d{8}/],
26906 // YYYYMM is NOT allowed by the standard
26907 ['GGGG[W]WWE', /\d{4}W\d{3}/],
26908 ['GGGG[W]WW', /\d{4}W\d{2}/, false],
26909 ['YYYYDDD', /\d{7}/]
26910 ];
26911
26912 // iso time formats and regexes
26913 var isoTimes = [
26914 ['HH:mm:ss.SSSS', /\d\d:\d\d:\d\d\.\d+/],
26915 ['HH:mm:ss,SSSS', /\d\d:\d\d:\d\d,\d+/],
26916 ['HH:mm:ss', /\d\d:\d\d:\d\d/],
26917 ['HH:mm', /\d\d:\d\d/],
26918 ['HHmmss.SSSS', /\d\d\d\d\d\d\.\d+/],
26919 ['HHmmss,SSSS', /\d\d\d\d\d\d,\d+/],
26920 ['HHmmss', /\d\d\d\d\d\d/],
26921 ['HHmm', /\d\d\d\d/],
26922 ['HH', /\d\d/]
26923 ];
26924
26925 var aspNetJsonRegex = /^\/?Date\((\-?\d+)/i;
26926
26927 // date from iso format
26928 function configFromISO(config) {
26929 var i, l,
26930 string = config._i,
26931 match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),
26932 allowTime, dateFormat, timeFormat, tzFormat;
26933
26934 if (match) {
26935 getParsingFlags(config).iso = true;
26936
26937 for (i = 0, l = isoDates.length; i < l; i++) {
26938 if (isoDates[i][1].exec(match[1])) {
26939 dateFormat = isoDates[i][0];
26940 allowTime = isoDates[i][2] !== false;
26941 break;
26942 }
26943 }
26944 if (dateFormat == null) {
26945 config._isValid = false;
26946 return;
26947 }
26948 if (match[3]) {
26949 for (i = 0, l = isoTimes.length; i < l; i++) {
26950 if (isoTimes[i][1].exec(match[3])) {
26951 // match[2] should be 'T' or space
26952 timeFormat = (match[2] || ' ') + isoTimes[i][0];
26953 break;
26954 }
26955 }
26956 if (timeFormat == null) {
26957 config._isValid = false;
26958 return;
26959 }
26960 }
26961 if (!allowTime && timeFormat != null) {
26962 config._isValid = false;
26963 return;
26964 }
26965 if (match[4]) {
26966 if (tzRegex.exec(match[4])) {
26967 tzFormat = 'Z';
26968 } else {
26969 config._isValid = false;
26970 return;
26971 }
26972 }
26973 config._f = dateFormat + (timeFormat || '') + (tzFormat || '');
26974 configFromStringAndFormat(config);
26975 } else {
26976 config._isValid = false;
26977 }
26978 }
26979
26980 // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3
26981 var rfc2822 = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/;
26982
26983 function extractFromRFC2822Strings(yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr) {
26984 var result = [
26985 untruncateYear(yearStr),
26986 defaultLocaleMonthsShort.indexOf(monthStr),
26987 parseInt(dayStr, 10),
26988 parseInt(hourStr, 10),
26989 parseInt(minuteStr, 10)
26990 ];
26991
26992 if (secondStr) {
26993 result.push(parseInt(secondStr, 10));
26994 }
26995
26996 return result;
26997 }
26998
26999 function untruncateYear(yearStr) {
27000 var year = parseInt(yearStr, 10);
27001 if (year <= 49) {
27002 return 2000 + year;
27003 } else if (year <= 999) {
27004 return 1900 + year;
27005 }
27006 return year;
27007 }
27008
27009 function preprocessRFC2822(s) {
27010 // Remove comments and folding whitespace and replace multiple-spaces with a single space
27011 return s.replace(/\([^)]*\)|[\n\t]/g, ' ').replace(/(\s\s+)/g, ' ').replace(/^\s\s*/, '').replace(/\s\s*$/, '');
27012 }
27013
27014 function checkWeekday(weekdayStr, parsedInput, config) {
27015 if (weekdayStr) {
27016 // TODO: Replace the vanilla JS Date object with an indepentent day-of-week check.
27017 var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),
27018 weekdayActual = new Date(parsedInput[0], parsedInput[1], parsedInput[2]).getDay();
27019 if (weekdayProvided !== weekdayActual) {
27020 getParsingFlags(config).weekdayMismatch = true;
27021 config._isValid = false;
27022 return false;
27023 }
27024 }
27025 return true;
27026 }
27027
27028 var obsOffsets = {
27029 UT: 0,
27030 GMT: 0,
27031 EDT: -4 * 60,
27032 EST: -5 * 60,
27033 CDT: -5 * 60,
27034 CST: -6 * 60,
27035 MDT: -6 * 60,
27036 MST: -7 * 60,
27037 PDT: -7 * 60,
27038 PST: -8 * 60
27039 };
27040
27041 function calculateOffset(obsOffset, militaryOffset, numOffset) {
27042 if (obsOffset) {
27043 return obsOffsets[obsOffset];
27044 } else if (militaryOffset) {
27045 // the only allowed military tz is Z
27046 return 0;
27047 } else {
27048 var hm = parseInt(numOffset, 10);
27049 var m = hm % 100, h = (hm - m) / 100;
27050 return h * 60 + m;
27051 }
27052 }
27053
27054 // date and time from ref 2822 format
27055 function configFromRFC2822(config) {
27056 var match = rfc2822.exec(preprocessRFC2822(config._i));
27057 if (match) {
27058 var parsedArray = extractFromRFC2822Strings(match[4], match[3], match[2], match[5], match[6], match[7]);
27059 if (!checkWeekday(match[1], parsedArray, config)) {
27060 return;
27061 }
27062
27063 config._a = parsedArray;
27064 config._tzm = calculateOffset(match[8], match[9], match[10]);
27065
27066 config._d = createUTCDate.apply(null, config._a);
27067 config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);
27068
27069 getParsingFlags(config).rfc2822 = true;
27070 } else {
27071 config._isValid = false;
27072 }
27073 }
27074
27075 // date from iso format or fallback
27076 function configFromString(config) {
27077 var matched = aspNetJsonRegex.exec(config._i);
27078
27079 if (matched !== null) {
27080 config._d = new Date(+matched[1]);
27081 return;
27082 }
27083
27084 configFromISO(config);
27085 if (config._isValid === false) {
27086 delete config._isValid;
27087 } else {
27088 return;
27089 }
27090
27091 configFromRFC2822(config);
27092 if (config._isValid === false) {
27093 delete config._isValid;
27094 } else {
27095 return;
27096 }
27097
27098 // Final attempt, use Input Fallback
27099 hooks.createFromInputFallback(config);
27100 }
27101
27102 hooks.createFromInputFallback = deprecate(
27103 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +
27104 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +
27105 'discouraged and will be removed in an upcoming major release. Please refer to ' +
27106 'http://momentjs.com/guides/#/warnings/js-date/ for more info.',
27107 function (config) {
27108 config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));
27109 }
27110 );
27111
27112 // constant that refers to the ISO standard
27113 hooks.ISO_8601 = function () {};
27114
27115 // constant that refers to the RFC 2822 form
27116 hooks.RFC_2822 = function () {};
27117
27118 // date from string and format string
27119 function configFromStringAndFormat(config) {
27120 // TODO: Move this to another part of the creation flow to prevent circular deps
27121 if (config._f === hooks.ISO_8601) {
27122 configFromISO(config);
27123 return;
27124 }
27125 if (config._f === hooks.RFC_2822) {
27126 configFromRFC2822(config);
27127 return;
27128 }
27129 config._a = [];
27130 getParsingFlags(config).empty = true;
27131
27132 // This array is used to make a Date, either with `new Date` or `Date.UTC`
27133 var string = '' + config._i,
27134 i, parsedInput, tokens, token, skipped,
27135 stringLength = string.length,
27136 totalParsedInputLength = 0;
27137
27138 tokens = expandFormat(config._f, config._locale).match(formattingTokens) || [];
27139
27140 for (i = 0; i < tokens.length; i++) {
27141 token = tokens[i];
27142 parsedInput = (string.match(getParseRegexForToken(token, config)) || [])[0];
27143 // console.log('token', token, 'parsedInput', parsedInput,
27144 // 'regex', getParseRegexForToken(token, config));
27145 if (parsedInput) {
27146 skipped = string.substr(0, string.indexOf(parsedInput));
27147 if (skipped.length > 0) {
27148 getParsingFlags(config).unusedInput.push(skipped);
27149 }
27150 string = string.slice(string.indexOf(parsedInput) + parsedInput.length);
27151 totalParsedInputLength += parsedInput.length;
27152 }
27153 // don't parse if it's not a known token
27154 if (formatTokenFunctions[token]) {
27155 if (parsedInput) {
27156 getParsingFlags(config).empty = false;
27157 }
27158 else {
27159 getParsingFlags(config).unusedTokens.push(token);
27160 }
27161 addTimeToArrayFromToken(token, parsedInput, config);
27162 }
27163 else if (config._strict && !parsedInput) {
27164 getParsingFlags(config).unusedTokens.push(token);
27165 }
27166 }
27167
27168 // add remaining unparsed input length to the string
27169 getParsingFlags(config).charsLeftOver = stringLength - totalParsedInputLength;
27170 if (string.length > 0) {
27171 getParsingFlags(config).unusedInput.push(string);
27172 }
27173
27174 // clear _12h flag if hour is <= 12
27175 if (config._a[HOUR] <= 12 &&
27176 getParsingFlags(config).bigHour === true &&
27177 config._a[HOUR] > 0) {
27178 getParsingFlags(config).bigHour = undefined;
27179 }
27180
27181 getParsingFlags(config).parsedDateParts = config._a.slice(0);
27182 getParsingFlags(config).meridiem = config._meridiem;
27183 // handle meridiem
27184 config._a[HOUR] = meridiemFixWrap(config._locale, config._a[HOUR], config._meridiem);
27185
27186 configFromArray(config);
27187 checkOverflow(config);
27188 }
27189
27190
27191 function meridiemFixWrap (locale, hour, meridiem) {
27192 var isPm;
27193
27194 if (meridiem == null) {
27195 // nothing to do
27196 return hour;
27197 }
27198 if (locale.meridiemHour != null) {
27199 return locale.meridiemHour(hour, meridiem);
27200 } else if (locale.isPM != null) {
27201 // Fallback
27202 isPm = locale.isPM(meridiem);
27203 if (isPm && hour < 12) {
27204 hour += 12;
27205 }
27206 if (!isPm && hour === 12) {
27207 hour = 0;
27208 }
27209 return hour;
27210 } else {
27211 // this is not supposed to happen
27212 return hour;
27213 }
27214 }
27215
27216 // date from string and array of format strings
27217 function configFromStringAndArray(config) {
27218 var tempConfig,
27219 bestMoment,
27220
27221 scoreToBeat,
27222 i,
27223 currentScore;
27224
27225 if (config._f.length === 0) {
27226 getParsingFlags(config).invalidFormat = true;
27227 config._d = new Date(NaN);
27228 return;
27229 }
27230
27231 for (i = 0; i < config._f.length; i++) {
27232 currentScore = 0;
27233 tempConfig = copyConfig({}, config);
27234 if (config._useUTC != null) {
27235 tempConfig._useUTC = config._useUTC;
27236 }
27237 tempConfig._f = config._f[i];
27238 configFromStringAndFormat(tempConfig);
27239
27240 if (!isValid(tempConfig)) {
27241 continue;
27242 }
27243
27244 // if there is any input that was not parsed add a penalty for that format
27245 currentScore += getParsingFlags(tempConfig).charsLeftOver;
27246
27247 //or tokens
27248 currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;
27249
27250 getParsingFlags(tempConfig).score = currentScore;
27251
27252 if (scoreToBeat == null || currentScore < scoreToBeat) {
27253 scoreToBeat = currentScore;
27254 bestMoment = tempConfig;
27255 }
27256 }
27257
27258 extend(config, bestMoment || tempConfig);
27259 }
27260
27261 function configFromObject(config) {
27262 if (config._d) {
27263 return;
27264 }
27265
27266 var i = normalizeObjectUnits(config._i);
27267 config._a = map([i.year, i.month, i.day || i.date, i.hour, i.minute, i.second, i.millisecond], function (obj) {
27268 return obj && parseInt(obj, 10);
27269 });
27270
27271 configFromArray(config);
27272 }
27273
27274 function createFromConfig (config) {
27275 var res = new Moment(checkOverflow(prepareConfig(config)));
27276 if (res._nextDay) {
27277 // Adding is smart enough around DST
27278 res.add(1, 'd');
27279 res._nextDay = undefined;
27280 }
27281
27282 return res;
27283 }
27284
27285 function prepareConfig (config) {
27286 var input = config._i,
27287 format = config._f;
27288
27289 config._locale = config._locale || getLocale(config._l);
27290
27291 if (input === null || (format === undefined && input === '')) {
27292 return createInvalid({nullInput: true});
27293 }
27294
27295 if (typeof input === 'string') {
27296 config._i = input = config._locale.preparse(input);
27297 }
27298
27299 if (isMoment(input)) {
27300 return new Moment(checkOverflow(input));
27301 } else if (isDate(input)) {
27302 config._d = input;
27303 } else if (isArray(format)) {
27304 configFromStringAndArray(config);
27305 } else if (format) {
27306 configFromStringAndFormat(config);
27307 } else {
27308 configFromInput(config);
27309 }
27310
27311 if (!isValid(config)) {
27312 config._d = null;
27313 }
27314
27315 return config;
27316 }
27317
27318 function configFromInput(config) {
27319 var input = config._i;
27320 if (isUndefined(input)) {
27321 config._d = new Date(hooks.now());
27322 } else if (isDate(input)) {
27323 config._d = new Date(input.valueOf());
27324 } else if (typeof input === 'string') {
27325 configFromString(config);
27326 } else if (isArray(input)) {
27327 config._a = map(input.slice(0), function (obj) {
27328 return parseInt(obj, 10);
27329 });
27330 configFromArray(config);
27331 } else if (isObject(input)) {
27332 configFromObject(config);
27333 } else if (isNumber(input)) {
27334 // from milliseconds
27335 config._d = new Date(input);
27336 } else {
27337 hooks.createFromInputFallback(config);
27338 }
27339 }
27340
27341 function createLocalOrUTC (input, format, locale, strict, isUTC) {
27342 var c = {};
27343
27344 if (locale === true || locale === false) {
27345 strict = locale;
27346 locale = undefined;
27347 }
27348
27349 if ((isObject(input) && isObjectEmpty(input)) ||
27350 (isArray(input) && input.length === 0)) {
27351 input = undefined;
27352 }
27353 // object construction must be done this way.
27354 // https://github.com/moment/moment/issues/1423
27355 c._isAMomentObject = true;
27356 c._useUTC = c._isUTC = isUTC;
27357 c._l = locale;
27358 c._i = input;
27359 c._f = format;
27360 c._strict = strict;
27361
27362 return createFromConfig(c);
27363 }
27364
27365 function createLocal (input, format, locale, strict) {
27366 return createLocalOrUTC(input, format, locale, strict, false);
27367 }
27368
27369 var prototypeMin = deprecate(
27370 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',
27371 function () {
27372 var other = createLocal.apply(null, arguments);
27373 if (this.isValid() && other.isValid()) {
27374 return other < this ? this : other;
27375 } else {
27376 return createInvalid();
27377 }
27378 }
27379 );
27380
27381 var prototypeMax = deprecate(
27382 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',
27383 function () {
27384 var other = createLocal.apply(null, arguments);
27385 if (this.isValid() && other.isValid()) {
27386 return other > this ? this : other;
27387 } else {
27388 return createInvalid();
27389 }
27390 }
27391 );
27392
27393 // Pick a moment m from moments so that m[fn](other) is true for all
27394 // other. This relies on the function fn to be transitive.
27395 //
27396 // moments should either be an array of moment objects or an array, whose
27397 // first element is an array of moment objects.
27398 function pickBy(fn, moments) {
27399 var res, i;
27400 if (moments.length === 1 && isArray(moments[0])) {
27401 moments = moments[0];
27402 }
27403 if (!moments.length) {
27404 return createLocal();
27405 }
27406 res = moments[0];
27407 for (i = 1; i < moments.length; ++i) {
27408 if (!moments[i].isValid() || moments[i][fn](res)) {
27409 res = moments[i];
27410 }
27411 }
27412 return res;
27413 }
27414
27415 // TODO: Use [].sort instead?
27416 function min () {
27417 var args = [].slice.call(arguments, 0);
27418
27419 return pickBy('isBefore', args);
27420 }
27421
27422 function max () {
27423 var args = [].slice.call(arguments, 0);
27424
27425 return pickBy('isAfter', args);
27426 }
27427
27428 var now = function () {
27429 return Date.now ? Date.now() : +(new Date());
27430 };
27431
27432 var ordering = ['year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', 'millisecond'];
27433
27434 function isDurationValid(m) {
27435 for (var key in m) {
27436 if (!(indexOf.call(ordering, key) !== -1 && (m[key] == null || !isNaN(m[key])))) {
27437 return false;
27438 }
27439 }
27440
27441 var unitHasDecimal = false;
27442 for (var i = 0; i < ordering.length; ++i) {
27443 if (m[ordering[i]]) {
27444 if (unitHasDecimal) {
27445 return false; // only allow non-integers for smallest unit
27446 }
27447 if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {
27448 unitHasDecimal = true;
27449 }
27450 }
27451 }
27452
27453 return true;
27454 }
27455
27456 function isValid$1() {
27457 return this._isValid;
27458 }
27459
27460 function createInvalid$1() {
27461 return createDuration(NaN);
27462 }
27463
27464 function Duration (duration) {
27465 var normalizedInput = normalizeObjectUnits(duration),
27466 years = normalizedInput.year || 0,
27467 quarters = normalizedInput.quarter || 0,
27468 months = normalizedInput.month || 0,
27469 weeks = normalizedInput.week || 0,
27470 days = normalizedInput.day || 0,
27471 hours = normalizedInput.hour || 0,
27472 minutes = normalizedInput.minute || 0,
27473 seconds = normalizedInput.second || 0,
27474 milliseconds = normalizedInput.millisecond || 0;
27475
27476 this._isValid = isDurationValid(normalizedInput);
27477
27478 // representation for dateAddRemove
27479 this._milliseconds = +milliseconds +
27480 seconds * 1e3 + // 1000
27481 minutes * 6e4 + // 1000 * 60
27482 hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978
27483 // Because of dateAddRemove treats 24 hours as different from a
27484 // day when working around DST, we need to store them separately
27485 this._days = +days +
27486 weeks * 7;
27487 // It is impossible to translate months into days without knowing
27488 // which months you are are talking about, so we have to store
27489 // it separately.
27490 this._months = +months +
27491 quarters * 3 +
27492 years * 12;
27493
27494 this._data = {};
27495
27496 this._locale = getLocale();
27497
27498 this._bubble();
27499 }
27500
27501 function isDuration (obj) {
27502 return obj instanceof Duration;
27503 }
27504
27505 function absRound (number) {
27506 if (number < 0) {
27507 return Math.round(-1 * number) * -1;
27508 } else {
27509 return Math.round(number);
27510 }
27511 }
27512
27513 // FORMATTING
27514
27515 function offset (token, separator) {
27516 addFormatToken(token, 0, 0, function () {
27517 var offset = this.utcOffset();
27518 var sign = '+';
27519 if (offset < 0) {
27520 offset = -offset;
27521 sign = '-';
27522 }
27523 return sign + zeroFill(~~(offset / 60), 2) + separator + zeroFill(~~(offset) % 60, 2);
27524 });
27525 }
27526
27527 offset('Z', ':');
27528 offset('ZZ', '');
27529
27530 // PARSING
27531
27532 addRegexToken('Z', matchShortOffset);
27533 addRegexToken('ZZ', matchShortOffset);
27534 addParseToken(['Z', 'ZZ'], function (input, array, config) {
27535 config._useUTC = true;
27536 config._tzm = offsetFromString(matchShortOffset, input);
27537 });
27538
27539 // HELPERS
27540
27541 // timezone chunker
27542 // '+10:00' > ['10', '00']
27543 // '-1530' > ['-15', '30']
27544 var chunkOffset = /([\+\-]|\d\d)/gi;
27545
27546 function offsetFromString(matcher, string) {
27547 var matches = (string || '').match(matcher);
27548
27549 if (matches === null) {
27550 return null;
27551 }
27552
27553 var chunk = matches[matches.length - 1] || [];
27554 var parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];
27555 var minutes = +(parts[1] * 60) + toInt(parts[2]);
27556
27557 return minutes === 0 ?
27558 0 :
27559 parts[0] === '+' ? minutes : -minutes;
27560 }
27561
27562 // Return a moment from input, that is local/utc/zone equivalent to model.
27563 function cloneWithOffset(input, model) {
27564 var res, diff;
27565 if (model._isUTC) {
27566 res = model.clone();
27567 diff = (isMoment(input) || isDate(input) ? input.valueOf() : createLocal(input).valueOf()) - res.valueOf();
27568 // Use low-level api, because this fn is low-level api.
27569 res._d.setTime(res._d.valueOf() + diff);
27570 hooks.updateOffset(res, false);
27571 return res;
27572 } else {
27573 return createLocal(input).local();
27574 }
27575 }
27576
27577 function getDateOffset (m) {
27578 // On Firefox.24 Date#getTimezoneOffset returns a floating point.
27579 // https://github.com/moment/moment/pull/1871
27580 return -Math.round(m._d.getTimezoneOffset() / 15) * 15;
27581 }
27582
27583 // HOOKS
27584
27585 // This function will be called whenever a moment is mutated.
27586 // It is intended to keep the offset in sync with the timezone.
27587 hooks.updateOffset = function () {};
27588
27589 // MOMENTS
27590
27591 // keepLocalTime = true means only change the timezone, without
27592 // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->
27593 // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset
27594 // +0200, so we adjust the time as needed, to be valid.
27595 //
27596 // Keeping the time actually adds/subtracts (one hour)
27597 // from the actual represented time. That is why we call updateOffset
27598 // a second time. In case it wants us to change the offset again
27599 // _changeInProgress == true case, then we have to adjust, because
27600 // there is no such time in the given timezone.
27601 function getSetOffset (input, keepLocalTime, keepMinutes) {
27602 var offset = this._offset || 0,
27603 localAdjust;
27604 if (!this.isValid()) {
27605 return input != null ? this : NaN;
27606 }
27607 if (input != null) {
27608 if (typeof input === 'string') {
27609 input = offsetFromString(matchShortOffset, input);
27610 if (input === null) {
27611 return this;
27612 }
27613 } else if (Math.abs(input) < 16 && !keepMinutes) {
27614 input = input * 60;
27615 }
27616 if (!this._isUTC && keepLocalTime) {
27617 localAdjust = getDateOffset(this);
27618 }
27619 this._offset = input;
27620 this._isUTC = true;
27621 if (localAdjust != null) {
27622 this.add(localAdjust, 'm');
27623 }
27624 if (offset !== input) {
27625 if (!keepLocalTime || this._changeInProgress) {
27626 addSubtract(this, createDuration(input - offset, 'm'), 1, false);
27627 } else if (!this._changeInProgress) {
27628 this._changeInProgress = true;
27629 hooks.updateOffset(this, true);
27630 this._changeInProgress = null;
27631 }
27632 }
27633 return this;
27634 } else {
27635 return this._isUTC ? offset : getDateOffset(this);
27636 }
27637 }
27638
27639 function getSetZone (input, keepLocalTime) {
27640 if (input != null) {
27641 if (typeof input !== 'string') {
27642 input = -input;
27643 }
27644
27645 this.utcOffset(input, keepLocalTime);
27646
27647 return this;
27648 } else {
27649 return -this.utcOffset();
27650 }
27651 }
27652
27653 function setOffsetToUTC (keepLocalTime) {
27654 return this.utcOffset(0, keepLocalTime);
27655 }
27656
27657 function setOffsetToLocal (keepLocalTime) {
27658 if (this._isUTC) {
27659 this.utcOffset(0, keepLocalTime);
27660 this._isUTC = false;
27661
27662 if (keepLocalTime) {
27663 this.subtract(getDateOffset(this), 'm');
27664 }
27665 }
27666 return this;
27667 }
27668
27669 function setOffsetToParsedOffset () {
27670 if (this._tzm != null) {
27671 this.utcOffset(this._tzm, false, true);
27672 } else if (typeof this._i === 'string') {
27673 var tZone = offsetFromString(matchOffset, this._i);
27674 if (tZone != null) {
27675 this.utcOffset(tZone);
27676 }
27677 else {
27678 this.utcOffset(0, true);
27679 }
27680 }
27681 return this;
27682 }
27683
27684 function hasAlignedHourOffset (input) {
27685 if (!this.isValid()) {
27686 return false;
27687 }
27688 input = input ? createLocal(input).utcOffset() : 0;
27689
27690 return (this.utcOffset() - input) % 60 === 0;
27691 }
27692
27693 function isDaylightSavingTime () {
27694 return (
27695 this.utcOffset() > this.clone().month(0).utcOffset() ||
27696 this.utcOffset() > this.clone().month(5).utcOffset()
27697 );
27698 }
27699
27700 function isDaylightSavingTimeShifted () {
27701 if (!isUndefined(this._isDSTShifted)) {
27702 return this._isDSTShifted;
27703 }
27704
27705 var c = {};
27706
27707 copyConfig(c, this);
27708 c = prepareConfig(c);
27709
27710 if (c._a) {
27711 var other = c._isUTC ? createUTC(c._a) : createLocal(c._a);
27712 this._isDSTShifted = this.isValid() &&
27713 compareArrays(c._a, other.toArray()) > 0;
27714 } else {
27715 this._isDSTShifted = false;
27716 }
27717
27718 return this._isDSTShifted;
27719 }
27720
27721 function isLocal () {
27722 return this.isValid() ? !this._isUTC : false;
27723 }
27724
27725 function isUtcOffset () {
27726 return this.isValid() ? this._isUTC : false;
27727 }
27728
27729 function isUtc () {
27730 return this.isValid() ? this._isUTC && this._offset === 0 : false;
27731 }
27732
27733 // ASP.NET json date format regex
27734 var aspNetRegex = /^(\-|\+)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/;
27735
27736 // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html
27737 // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere
27738 // and further modified to allow for strings containing both week and day
27739 var isoRegex = /^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;
27740
27741 function createDuration (input, key) {
27742 var duration = input,
27743 // matching against regexp is expensive, do it on demand
27744 match = null,
27745 sign,
27746 ret,
27747 diffRes;
27748
27749 if (isDuration(input)) {
27750 duration = {
27751 ms : input._milliseconds,
27752 d : input._days,
27753 M : input._months
27754 };
27755 } else if (isNumber(input)) {
27756 duration = {};
27757 if (key) {
27758 duration[key] = input;
27759 } else {
27760 duration.milliseconds = input;
27761 }
27762 } else if (!!(match = aspNetRegex.exec(input))) {
27763 sign = (match[1] === '-') ? -1 : 1;
27764 duration = {
27765 y : 0,
27766 d : toInt(match[DATE]) * sign,
27767 h : toInt(match[HOUR]) * sign,
27768 m : toInt(match[MINUTE]) * sign,
27769 s : toInt(match[SECOND]) * sign,
27770 ms : toInt(absRound(match[MILLISECOND] * 1000)) * sign // the millisecond decimal point is included in the match
27771 };
27772 } else if (!!(match = isoRegex.exec(input))) {
27773 sign = (match[1] === '-') ? -1 : (match[1] === '+') ? 1 : 1;
27774 duration = {
27775 y : parseIso(match[2], sign),
27776 M : parseIso(match[3], sign),
27777 w : parseIso(match[4], sign),
27778 d : parseIso(match[5], sign),
27779 h : parseIso(match[6], sign),
27780 m : parseIso(match[7], sign),
27781 s : parseIso(match[8], sign)
27782 };
27783 } else if (duration == null) {// checks for null or undefined
27784 duration = {};
27785 } else if (typeof duration === 'object' && ('from' in duration || 'to' in duration)) {
27786 diffRes = momentsDifference(createLocal(duration.from), createLocal(duration.to));
27787
27788 duration = {};
27789 duration.ms = diffRes.milliseconds;
27790 duration.M = diffRes.months;
27791 }
27792
27793 ret = new Duration(duration);
27794
27795 if (isDuration(input) && hasOwnProp(input, '_locale')) {
27796 ret._locale = input._locale;
27797 }
27798
27799 return ret;
27800 }
27801
27802 createDuration.fn = Duration.prototype;
27803 createDuration.invalid = createInvalid$1;
27804
27805 function parseIso (inp, sign) {
27806 // We'd normally use ~~inp for this, but unfortunately it also
27807 // converts floats to ints.
27808 // inp may be undefined, so careful calling replace on it.
27809 var res = inp && parseFloat(inp.replace(',', '.'));
27810 // apply sign while we're at it
27811 return (isNaN(res) ? 0 : res) * sign;
27812 }
27813
27814 function positiveMomentsDifference(base, other) {
27815 var res = {milliseconds: 0, months: 0};
27816
27817 res.months = other.month() - base.month() +
27818 (other.year() - base.year()) * 12;
27819 if (base.clone().add(res.months, 'M').isAfter(other)) {
27820 --res.months;
27821 }
27822
27823 res.milliseconds = +other - +(base.clone().add(res.months, 'M'));
27824
27825 return res;
27826 }
27827
27828 function momentsDifference(base, other) {
27829 var res;
27830 if (!(base.isValid() && other.isValid())) {
27831 return {milliseconds: 0, months: 0};
27832 }
27833
27834 other = cloneWithOffset(other, base);
27835 if (base.isBefore(other)) {
27836 res = positiveMomentsDifference(base, other);
27837 } else {
27838 res = positiveMomentsDifference(other, base);
27839 res.milliseconds = -res.milliseconds;
27840 res.months = -res.months;
27841 }
27842
27843 return res;
27844 }
27845
27846 // TODO: remove 'name' arg after deprecation is removed
27847 function createAdder(direction, name) {
27848 return function (val, period) {
27849 var dur, tmp;
27850 //invert the arguments, but complain about it
27851 if (period !== null && !isNaN(+period)) {
27852 deprecateSimple(name, 'moment().' + name + '(period, number) is deprecated. Please use moment().' + name + '(number, period). ' +
27853 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.');
27854 tmp = val; val = period; period = tmp;
27855 }
27856
27857 val = typeof val === 'string' ? +val : val;
27858 dur = createDuration(val, period);
27859 addSubtract(this, dur, direction);
27860 return this;
27861 };
27862 }
27863
27864 function addSubtract (mom, duration, isAdding, updateOffset) {
27865 var milliseconds = duration._milliseconds,
27866 days = absRound(duration._days),
27867 months = absRound(duration._months);
27868
27869 if (!mom.isValid()) {
27870 // No op
27871 return;
27872 }
27873
27874 updateOffset = updateOffset == null ? true : updateOffset;
27875
27876 if (months) {
27877 setMonth(mom, get(mom, 'Month') + months * isAdding);
27878 }
27879 if (days) {
27880 set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);
27881 }
27882 if (milliseconds) {
27883 mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);
27884 }
27885 if (updateOffset) {
27886 hooks.updateOffset(mom, days || months);
27887 }
27888 }
27889
27890 var add = createAdder(1, 'add');
27891 var subtract = createAdder(-1, 'subtract');
27892
27893 function getCalendarFormat(myMoment, now) {
27894 var diff = myMoment.diff(now, 'days', true);
27895 return diff < -6 ? 'sameElse' :
27896 diff < -1 ? 'lastWeek' :
27897 diff < 0 ? 'lastDay' :
27898 diff < 1 ? 'sameDay' :
27899 diff < 2 ? 'nextDay' :
27900 diff < 7 ? 'nextWeek' : 'sameElse';
27901 }
27902
27903 function calendar$1 (time, formats) {
27904 // We want to compare the start of today, vs this.
27905 // Getting start-of-today depends on whether we're local/utc/offset or not.
27906 var now = time || createLocal(),
27907 sod = cloneWithOffset(now, this).startOf('day'),
27908 format = hooks.calendarFormat(this, sod) || 'sameElse';
27909
27910 var output = formats && (isFunction(formats[format]) ? formats[format].call(this, now) : formats[format]);
27911
27912 return this.format(output || this.localeData().calendar(format, this, createLocal(now)));
27913 }
27914
27915 function clone () {
27916 return new Moment(this);
27917 }
27918
27919 function isAfter (input, units) {
27920 var localInput = isMoment(input) ? input : createLocal(input);
27921 if (!(this.isValid() && localInput.isValid())) {
27922 return false;
27923 }
27924 units = normalizeUnits(!isUndefined(units) ? units : 'millisecond');
27925 if (units === 'millisecond') {
27926 return this.valueOf() > localInput.valueOf();
27927 } else {
27928 return localInput.valueOf() < this.clone().startOf(units).valueOf();
27929 }
27930 }
27931
27932 function isBefore (input, units) {
27933 var localInput = isMoment(input) ? input : createLocal(input);
27934 if (!(this.isValid() && localInput.isValid())) {
27935 return false;
27936 }
27937 units = normalizeUnits(!isUndefined(units) ? units : 'millisecond');
27938 if (units === 'millisecond') {
27939 return this.valueOf() < localInput.valueOf();
27940 } else {
27941 return this.clone().endOf(units).valueOf() < localInput.valueOf();
27942 }
27943 }
27944
27945 function isBetween (from, to, units, inclusivity) {
27946 inclusivity = inclusivity || '()';
27947 return (inclusivity[0] === '(' ? this.isAfter(from, units) : !this.isBefore(from, units)) &&
27948 (inclusivity[1] === ')' ? this.isBefore(to, units) : !this.isAfter(to, units));
27949 }
27950
27951 function isSame (input, units) {
27952 var localInput = isMoment(input) ? input : createLocal(input),
27953 inputMs;
27954 if (!(this.isValid() && localInput.isValid())) {
27955 return false;
27956 }
27957 units = normalizeUnits(units || 'millisecond');
27958 if (units === 'millisecond') {
27959 return this.valueOf() === localInput.valueOf();
27960 } else {
27961 inputMs = localInput.valueOf();
27962 return this.clone().startOf(units).valueOf() <= inputMs && inputMs <= this.clone().endOf(units).valueOf();
27963 }
27964 }
27965
27966 function isSameOrAfter (input, units) {
27967 return this.isSame(input, units) || this.isAfter(input,units);
27968 }
27969
27970 function isSameOrBefore (input, units) {
27971 return this.isSame(input, units) || this.isBefore(input,units);
27972 }
27973
27974 function diff (input, units, asFloat) {
27975 var that,
27976 zoneDelta,
27977 output;
27978
27979 if (!this.isValid()) {
27980 return NaN;
27981 }
27982
27983 that = cloneWithOffset(input, this);
27984
27985 if (!that.isValid()) {
27986 return NaN;
27987 }
27988
27989 zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;
27990
27991 units = normalizeUnits(units);
27992
27993 switch (units) {
27994 case 'year': output = monthDiff(this, that) / 12; break;
27995 case 'month': output = monthDiff(this, that); break;
27996 case 'quarter': output = monthDiff(this, that) / 3; break;
27997 case 'second': output = (this - that) / 1e3; break; // 1000
27998 case 'minute': output = (this - that) / 6e4; break; // 1000 * 60
27999 case 'hour': output = (this - that) / 36e5; break; // 1000 * 60 * 60
28000 case 'day': output = (this - that - zoneDelta) / 864e5; break; // 1000 * 60 * 60 * 24, negate dst
28001 case 'week': output = (this - that - zoneDelta) / 6048e5; break; // 1000 * 60 * 60 * 24 * 7, negate dst
28002 default: output = this - that;
28003 }
28004
28005 return asFloat ? output : absFloor(output);
28006 }
28007
28008 function monthDiff (a, b) {
28009 // difference in months
28010 var wholeMonthDiff = ((b.year() - a.year()) * 12) + (b.month() - a.month()),
28011 // b is in (anchor - 1 month, anchor + 1 month)
28012 anchor = a.clone().add(wholeMonthDiff, 'months'),
28013 anchor2, adjust;
28014
28015 if (b - anchor < 0) {
28016 anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');
28017 // linear across the month
28018 adjust = (b - anchor) / (anchor - anchor2);
28019 } else {
28020 anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');
28021 // linear across the month
28022 adjust = (b - anchor) / (anchor2 - anchor);
28023 }
28024
28025 //check for negative zero, return zero if negative zero
28026 return -(wholeMonthDiff + adjust) || 0;
28027 }
28028
28029 hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';
28030 hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';
28031
28032 function toString () {
28033 return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');
28034 }
28035
28036 function toISOString(keepOffset) {
28037 if (!this.isValid()) {
28038 return null;
28039 }
28040 var utc = keepOffset !== true;
28041 var m = utc ? this.clone().utc() : this;
28042 if (m.year() < 0 || m.year() > 9999) {
28043 return formatMoment(m, utc ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ');
28044 }
28045 if (isFunction(Date.prototype.toISOString)) {
28046 // native implementation is ~50x faster, use it when we can
28047 if (utc) {
28048 return this.toDate().toISOString();
28049 } else {
28050 return new Date(this.valueOf() + this.utcOffset() * 60 * 1000).toISOString().replace('Z', formatMoment(m, 'Z'));
28051 }
28052 }
28053 return formatMoment(m, utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ');
28054 }
28055
28056 /**
28057 * Return a human readable representation of a moment that can
28058 * also be evaluated to get a new moment which is the same
28059 *
28060 * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects
28061 */
28062 function inspect () {
28063 if (!this.isValid()) {
28064 return 'moment.invalid(/* ' + this._i + ' */)';
28065 }
28066 var func = 'moment';
28067 var zone = '';
28068 if (!this.isLocal()) {
28069 func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';
28070 zone = 'Z';
28071 }
28072 var prefix = '[' + func + '("]';
28073 var year = (0 <= this.year() && this.year() <= 9999) ? 'YYYY' : 'YYYYYY';
28074 var datetime = '-MM-DD[T]HH:mm:ss.SSS';
28075 var suffix = zone + '[")]';
28076
28077 return this.format(prefix + year + datetime + suffix);
28078 }
28079
28080 function format (inputString) {
28081 if (!inputString) {
28082 inputString = this.isUtc() ? hooks.defaultFormatUtc : hooks.defaultFormat;
28083 }
28084 var output = formatMoment(this, inputString);
28085 return this.localeData().postformat(output);
28086 }
28087
28088 function from (time, withoutSuffix) {
28089 if (this.isValid() &&
28090 ((isMoment(time) && time.isValid()) ||
28091 createLocal(time).isValid())) {
28092 return createDuration({to: this, from: time}).locale(this.locale()).humanize(!withoutSuffix);
28093 } else {
28094 return this.localeData().invalidDate();
28095 }
28096 }
28097
28098 function fromNow (withoutSuffix) {
28099 return this.from(createLocal(), withoutSuffix);
28100 }
28101
28102 function to (time, withoutSuffix) {
28103 if (this.isValid() &&
28104 ((isMoment(time) && time.isValid()) ||
28105 createLocal(time).isValid())) {
28106 return createDuration({from: this, to: time}).locale(this.locale()).humanize(!withoutSuffix);
28107 } else {
28108 return this.localeData().invalidDate();
28109 }
28110 }
28111
28112 function toNow (withoutSuffix) {
28113 return this.to(createLocal(), withoutSuffix);
28114 }
28115
28116 // If passed a locale key, it will set the locale for this
28117 // instance. Otherwise, it will return the locale configuration
28118 // variables for this instance.
28119 function locale (key) {
28120 var newLocaleData;
28121
28122 if (key === undefined) {
28123 return this._locale._abbr;
28124 } else {
28125 newLocaleData = getLocale(key);
28126 if (newLocaleData != null) {
28127 this._locale = newLocaleData;
28128 }
28129 return this;
28130 }
28131 }
28132
28133 var lang = deprecate(
28134 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',
28135 function (key) {
28136 if (key === undefined) {
28137 return this.localeData();
28138 } else {
28139 return this.locale(key);
28140 }
28141 }
28142 );
28143
28144 function localeData () {
28145 return this._locale;
28146 }
28147
28148 function startOf (units) {
28149 units = normalizeUnits(units);
28150 // the following switch intentionally omits break keywords
28151 // to utilize falling through the cases.
28152 switch (units) {
28153 case 'year':
28154 this.month(0);
28155 /* falls through */
28156 case 'quarter':
28157 case 'month':
28158 this.date(1);
28159 /* falls through */
28160 case 'week':
28161 case 'isoWeek':
28162 case 'day':
28163 case 'date':
28164 this.hours(0);
28165 /* falls through */
28166 case 'hour':
28167 this.minutes(0);
28168 /* falls through */
28169 case 'minute':
28170 this.seconds(0);
28171 /* falls through */
28172 case 'second':
28173 this.milliseconds(0);
28174 }
28175
28176 // weeks are a special case
28177 if (units === 'week') {
28178 this.weekday(0);
28179 }
28180 if (units === 'isoWeek') {
28181 this.isoWeekday(1);
28182 }
28183
28184 // quarters are also special
28185 if (units === 'quarter') {
28186 this.month(Math.floor(this.month() / 3) * 3);
28187 }
28188
28189 return this;
28190 }
28191
28192 function endOf (units) {
28193 units = normalizeUnits(units);
28194 if (units === undefined || units === 'millisecond') {
28195 return this;
28196 }
28197
28198 // 'date' is an alias for 'day', so it should be considered as such.
28199 if (units === 'date') {
28200 units = 'day';
28201 }
28202
28203 return this.startOf(units).add(1, (units === 'isoWeek' ? 'week' : units)).subtract(1, 'ms');
28204 }
28205
28206 function valueOf () {
28207 return this._d.valueOf() - ((this._offset || 0) * 60000);
28208 }
28209
28210 function unix () {
28211 return Math.floor(this.valueOf() / 1000);
28212 }
28213
28214 function toDate () {
28215 return new Date(this.valueOf());
28216 }
28217
28218 function toArray () {
28219 var m = this;
28220 return [m.year(), m.month(), m.date(), m.hour(), m.minute(), m.second(), m.millisecond()];
28221 }
28222
28223 function toObject () {
28224 var m = this;
28225 return {
28226 years: m.year(),
28227 months: m.month(),
28228 date: m.date(),
28229 hours: m.hours(),
28230 minutes: m.minutes(),
28231 seconds: m.seconds(),
28232 milliseconds: m.milliseconds()
28233 };
28234 }
28235
28236 function toJSON () {
28237 // new Date(NaN).toJSON() === null
28238 return this.isValid() ? this.toISOString() : null;
28239 }
28240
28241 function isValid$2 () {
28242 return isValid(this);
28243 }
28244
28245 function parsingFlags () {
28246 return extend({}, getParsingFlags(this));
28247 }
28248
28249 function invalidAt () {
28250 return getParsingFlags(this).overflow;
28251 }
28252
28253 function creationData() {
28254 return {
28255 input: this._i,
28256 format: this._f,
28257 locale: this._locale,
28258 isUTC: this._isUTC,
28259 strict: this._strict
28260 };
28261 }
28262
28263 // FORMATTING
28264
28265 addFormatToken(0, ['gg', 2], 0, function () {
28266 return this.weekYear() % 100;
28267 });
28268
28269 addFormatToken(0, ['GG', 2], 0, function () {
28270 return this.isoWeekYear() % 100;
28271 });
28272
28273 function addWeekYearFormatToken (token, getter) {
28274 addFormatToken(0, [token, token.length], 0, getter);
28275 }
28276
28277 addWeekYearFormatToken('gggg', 'weekYear');
28278 addWeekYearFormatToken('ggggg', 'weekYear');
28279 addWeekYearFormatToken('GGGG', 'isoWeekYear');
28280 addWeekYearFormatToken('GGGGG', 'isoWeekYear');
28281
28282 // ALIASES
28283
28284 addUnitAlias('weekYear', 'gg');
28285 addUnitAlias('isoWeekYear', 'GG');
28286
28287 // PRIORITY
28288
28289 addUnitPriority('weekYear', 1);
28290 addUnitPriority('isoWeekYear', 1);
28291
28292
28293 // PARSING
28294
28295 addRegexToken('G', matchSigned);
28296 addRegexToken('g', matchSigned);
28297 addRegexToken('GG', match1to2, match2);
28298 addRegexToken('gg', match1to2, match2);
28299 addRegexToken('GGGG', match1to4, match4);
28300 addRegexToken('gggg', match1to4, match4);
28301 addRegexToken('GGGGG', match1to6, match6);
28302 addRegexToken('ggggg', match1to6, match6);
28303
28304 addWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (input, week, config, token) {
28305 week[token.substr(0, 2)] = toInt(input);
28306 });
28307
28308 addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {
28309 week[token] = hooks.parseTwoDigitYear(input);
28310 });
28311
28312 // MOMENTS
28313
28314 function getSetWeekYear (input) {
28315 return getSetWeekYearHelper.call(this,
28316 input,
28317 this.week(),
28318 this.weekday(),
28319 this.localeData()._week.dow,
28320 this.localeData()._week.doy);
28321 }
28322
28323 function getSetISOWeekYear (input) {
28324 return getSetWeekYearHelper.call(this,
28325 input, this.isoWeek(), this.isoWeekday(), 1, 4);
28326 }
28327
28328 function getISOWeeksInYear () {
28329 return weeksInYear(this.year(), 1, 4);
28330 }
28331
28332 function getWeeksInYear () {
28333 var weekInfo = this.localeData()._week;
28334 return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);
28335 }
28336
28337 function getSetWeekYearHelper(input, week, weekday, dow, doy) {
28338 var weeksTarget;
28339 if (input == null) {
28340 return weekOfYear(this, dow, doy).year;
28341 } else {
28342 weeksTarget = weeksInYear(input, dow, doy);
28343 if (week > weeksTarget) {
28344 week = weeksTarget;
28345 }
28346 return setWeekAll.call(this, input, week, weekday, dow, doy);
28347 }
28348 }
28349
28350 function setWeekAll(weekYear, week, weekday, dow, doy) {
28351 var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),
28352 date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);
28353
28354 this.year(date.getUTCFullYear());
28355 this.month(date.getUTCMonth());
28356 this.date(date.getUTCDate());
28357 return this;
28358 }
28359
28360 // FORMATTING
28361
28362 addFormatToken('Q', 0, 'Qo', 'quarter');
28363
28364 // ALIASES
28365
28366 addUnitAlias('quarter', 'Q');
28367
28368 // PRIORITY
28369
28370 addUnitPriority('quarter', 7);
28371
28372 // PARSING
28373
28374 addRegexToken('Q', match1);
28375 addParseToken('Q', function (input, array) {
28376 array[MONTH] = (toInt(input) - 1) * 3;
28377 });
28378
28379 // MOMENTS
28380
28381 function getSetQuarter (input) {
28382 return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3);
28383 }
28384
28385 // FORMATTING
28386
28387 addFormatToken('D', ['DD', 2], 'Do', 'date');
28388
28389 // ALIASES
28390
28391 addUnitAlias('date', 'D');
28392
28393 // PRIORITY
28394 addUnitPriority('date', 9);
28395
28396 // PARSING
28397
28398 addRegexToken('D', match1to2);
28399 addRegexToken('DD', match1to2, match2);
28400 addRegexToken('Do', function (isStrict, locale) {
28401 // TODO: Remove "ordinalParse" fallback in next major release.
28402 return isStrict ?
28403 (locale._dayOfMonthOrdinalParse || locale._ordinalParse) :
28404 locale._dayOfMonthOrdinalParseLenient;
28405 });
28406
28407 addParseToken(['D', 'DD'], DATE);
28408 addParseToken('Do', function (input, array) {
28409 array[DATE] = toInt(input.match(match1to2)[0]);
28410 });
28411
28412 // MOMENTS
28413
28414 var getSetDayOfMonth = makeGetSet('Date', true);
28415
28416 // FORMATTING
28417
28418 addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');
28419
28420 // ALIASES
28421
28422 addUnitAlias('dayOfYear', 'DDD');
28423
28424 // PRIORITY
28425 addUnitPriority('dayOfYear', 4);
28426
28427 // PARSING
28428
28429 addRegexToken('DDD', match1to3);
28430 addRegexToken('DDDD', match3);
28431 addParseToken(['DDD', 'DDDD'], function (input, array, config) {
28432 config._dayOfYear = toInt(input);
28433 });
28434
28435 // HELPERS
28436
28437 // MOMENTS
28438
28439 function getSetDayOfYear (input) {
28440 var dayOfYear = Math.round((this.clone().startOf('day') - this.clone().startOf('year')) / 864e5) + 1;
28441 return input == null ? dayOfYear : this.add((input - dayOfYear), 'd');
28442 }
28443
28444 // FORMATTING
28445
28446 addFormatToken('m', ['mm', 2], 0, 'minute');
28447
28448 // ALIASES
28449
28450 addUnitAlias('minute', 'm');
28451
28452 // PRIORITY
28453
28454 addUnitPriority('minute', 14);
28455
28456 // PARSING
28457
28458 addRegexToken('m', match1to2);
28459 addRegexToken('mm', match1to2, match2);
28460 addParseToken(['m', 'mm'], MINUTE);
28461
28462 // MOMENTS
28463
28464 var getSetMinute = makeGetSet('Minutes', false);
28465
28466 // FORMATTING
28467
28468 addFormatToken('s', ['ss', 2], 0, 'second');
28469
28470 // ALIASES
28471
28472 addUnitAlias('second', 's');
28473
28474 // PRIORITY
28475
28476 addUnitPriority('second', 15);
28477
28478 // PARSING
28479
28480 addRegexToken('s', match1to2);
28481 addRegexToken('ss', match1to2, match2);
28482 addParseToken(['s', 'ss'], SECOND);
28483
28484 // MOMENTS
28485
28486 var getSetSecond = makeGetSet('Seconds', false);
28487
28488 // FORMATTING
28489
28490 addFormatToken('S', 0, 0, function () {
28491 return ~~(this.millisecond() / 100);
28492 });
28493
28494 addFormatToken(0, ['SS', 2], 0, function () {
28495 return ~~(this.millisecond() / 10);
28496 });
28497
28498 addFormatToken(0, ['SSS', 3], 0, 'millisecond');
28499 addFormatToken(0, ['SSSS', 4], 0, function () {
28500 return this.millisecond() * 10;
28501 });
28502 addFormatToken(0, ['SSSSS', 5], 0, function () {
28503 return this.millisecond() * 100;
28504 });
28505 addFormatToken(0, ['SSSSSS', 6], 0, function () {
28506 return this.millisecond() * 1000;
28507 });
28508 addFormatToken(0, ['SSSSSSS', 7], 0, function () {
28509 return this.millisecond() * 10000;
28510 });
28511 addFormatToken(0, ['SSSSSSSS', 8], 0, function () {
28512 return this.millisecond() * 100000;
28513 });
28514 addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {
28515 return this.millisecond() * 1000000;
28516 });
28517
28518
28519 // ALIASES
28520
28521 addUnitAlias('millisecond', 'ms');
28522
28523 // PRIORITY
28524
28525 addUnitPriority('millisecond', 16);
28526
28527 // PARSING
28528
28529 addRegexToken('S', match1to3, match1);
28530 addRegexToken('SS', match1to3, match2);
28531 addRegexToken('SSS', match1to3, match3);
28532
28533 var token;
28534 for (token = 'SSSS'; token.length <= 9; token += 'S') {
28535 addRegexToken(token, matchUnsigned);
28536 }
28537
28538 function parseMs(input, array) {
28539 array[MILLISECOND] = toInt(('0.' + input) * 1000);
28540 }
28541
28542 for (token = 'S'; token.length <= 9; token += 'S') {
28543 addParseToken(token, parseMs);
28544 }
28545 // MOMENTS
28546
28547 var getSetMillisecond = makeGetSet('Milliseconds', false);
28548
28549 // FORMATTING
28550
28551 addFormatToken('z', 0, 0, 'zoneAbbr');
28552 addFormatToken('zz', 0, 0, 'zoneName');
28553
28554 // MOMENTS
28555
28556 function getZoneAbbr () {
28557 return this._isUTC ? 'UTC' : '';
28558 }
28559
28560 function getZoneName () {
28561 return this._isUTC ? 'Coordinated Universal Time' : '';
28562 }
28563
28564 var proto = Moment.prototype;
28565
28566 proto.add = add;
28567 proto.calendar = calendar$1;
28568 proto.clone = clone;
28569 proto.diff = diff;
28570 proto.endOf = endOf;
28571 proto.format = format;
28572 proto.from = from;
28573 proto.fromNow = fromNow;
28574 proto.to = to;
28575 proto.toNow = toNow;
28576 proto.get = stringGet;
28577 proto.invalidAt = invalidAt;
28578 proto.isAfter = isAfter;
28579 proto.isBefore = isBefore;
28580 proto.isBetween = isBetween;
28581 proto.isSame = isSame;
28582 proto.isSameOrAfter = isSameOrAfter;
28583 proto.isSameOrBefore = isSameOrBefore;
28584 proto.isValid = isValid$2;
28585 proto.lang = lang;
28586 proto.locale = locale;
28587 proto.localeData = localeData;
28588 proto.max = prototypeMax;
28589 proto.min = prototypeMin;
28590 proto.parsingFlags = parsingFlags;
28591 proto.set = stringSet;
28592 proto.startOf = startOf;
28593 proto.subtract = subtract;
28594 proto.toArray = toArray;
28595 proto.toObject = toObject;
28596 proto.toDate = toDate;
28597 proto.toISOString = toISOString;
28598 proto.inspect = inspect;
28599 proto.toJSON = toJSON;
28600 proto.toString = toString;
28601 proto.unix = unix;
28602 proto.valueOf = valueOf;
28603 proto.creationData = creationData;
28604 proto.year = getSetYear;
28605 proto.isLeapYear = getIsLeapYear;
28606 proto.weekYear = getSetWeekYear;
28607 proto.isoWeekYear = getSetISOWeekYear;
28608 proto.quarter = proto.quarters = getSetQuarter;
28609 proto.month = getSetMonth;
28610 proto.daysInMonth = getDaysInMonth;
28611 proto.week = proto.weeks = getSetWeek;
28612 proto.isoWeek = proto.isoWeeks = getSetISOWeek;
28613 proto.weeksInYear = getWeeksInYear;
28614 proto.isoWeeksInYear = getISOWeeksInYear;
28615 proto.date = getSetDayOfMonth;
28616 proto.day = proto.days = getSetDayOfWeek;
28617 proto.weekday = getSetLocaleDayOfWeek;
28618 proto.isoWeekday = getSetISODayOfWeek;
28619 proto.dayOfYear = getSetDayOfYear;
28620 proto.hour = proto.hours = getSetHour;
28621 proto.minute = proto.minutes = getSetMinute;
28622 proto.second = proto.seconds = getSetSecond;
28623 proto.millisecond = proto.milliseconds = getSetMillisecond;
28624 proto.utcOffset = getSetOffset;
28625 proto.utc = setOffsetToUTC;
28626 proto.local = setOffsetToLocal;
28627 proto.parseZone = setOffsetToParsedOffset;
28628 proto.hasAlignedHourOffset = hasAlignedHourOffset;
28629 proto.isDST = isDaylightSavingTime;
28630 proto.isLocal = isLocal;
28631 proto.isUtcOffset = isUtcOffset;
28632 proto.isUtc = isUtc;
28633 proto.isUTC = isUtc;
28634 proto.zoneAbbr = getZoneAbbr;
28635 proto.zoneName = getZoneName;
28636 proto.dates = deprecate('dates accessor is deprecated. Use date instead.', getSetDayOfMonth);
28637 proto.months = deprecate('months accessor is deprecated. Use month instead', getSetMonth);
28638 proto.years = deprecate('years accessor is deprecated. Use year instead', getSetYear);
28639 proto.zone = deprecate('moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/', getSetZone);
28640 proto.isDSTShifted = deprecate('isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information', isDaylightSavingTimeShifted);
28641
28642 function createUnix (input) {
28643 return createLocal(input * 1000);
28644 }
28645
28646 function createInZone () {
28647 return createLocal.apply(null, arguments).parseZone();
28648 }
28649
28650 function preParsePostFormat (string) {
28651 return string;
28652 }
28653
28654 var proto$1 = Locale.prototype;
28655
28656 proto$1.calendar = calendar;
28657 proto$1.longDateFormat = longDateFormat;
28658 proto$1.invalidDate = invalidDate;
28659 proto$1.ordinal = ordinal;
28660 proto$1.preparse = preParsePostFormat;
28661 proto$1.postformat = preParsePostFormat;
28662 proto$1.relativeTime = relativeTime;
28663 proto$1.pastFuture = pastFuture;
28664 proto$1.set = set;
28665
28666 proto$1.months = localeMonths;
28667 proto$1.monthsShort = localeMonthsShort;
28668 proto$1.monthsParse = localeMonthsParse;
28669 proto$1.monthsRegex = monthsRegex;
28670 proto$1.monthsShortRegex = monthsShortRegex;
28671 proto$1.week = localeWeek;
28672 proto$1.firstDayOfYear = localeFirstDayOfYear;
28673 proto$1.firstDayOfWeek = localeFirstDayOfWeek;
28674
28675 proto$1.weekdays = localeWeekdays;
28676 proto$1.weekdaysMin = localeWeekdaysMin;
28677 proto$1.weekdaysShort = localeWeekdaysShort;
28678 proto$1.weekdaysParse = localeWeekdaysParse;
28679
28680 proto$1.weekdaysRegex = weekdaysRegex;
28681 proto$1.weekdaysShortRegex = weekdaysShortRegex;
28682 proto$1.weekdaysMinRegex = weekdaysMinRegex;
28683
28684 proto$1.isPM = localeIsPM;
28685 proto$1.meridiem = localeMeridiem;
28686
28687 function get$1 (format, index, field, setter) {
28688 var locale = getLocale();
28689 var utc = createUTC().set(setter, index);
28690 return locale[field](utc, format);
28691 }
28692
28693 function listMonthsImpl (format, index, field) {
28694 if (isNumber(format)) {
28695 index = format;
28696 format = undefined;
28697 }
28698
28699 format = format || '';
28700
28701 if (index != null) {
28702 return get$1(format, index, field, 'month');
28703 }
28704
28705 var i;
28706 var out = [];
28707 for (i = 0; i < 12; i++) {
28708 out[i] = get$1(format, i, field, 'month');
28709 }
28710 return out;
28711 }
28712
28713 // ()
28714 // (5)
28715 // (fmt, 5)
28716 // (fmt)
28717 // (true)
28718 // (true, 5)
28719 // (true, fmt, 5)
28720 // (true, fmt)
28721 function listWeekdaysImpl (localeSorted, format, index, field) {
28722 if (typeof localeSorted === 'boolean') {
28723 if (isNumber(format)) {
28724 index = format;
28725 format = undefined;
28726 }
28727
28728 format = format || '';
28729 } else {
28730 format = localeSorted;
28731 index = format;
28732 localeSorted = false;
28733
28734 if (isNumber(format)) {
28735 index = format;
28736 format = undefined;
28737 }
28738
28739 format = format || '';
28740 }
28741
28742 var locale = getLocale(),
28743 shift = localeSorted ? locale._week.dow : 0;
28744
28745 if (index != null) {
28746 return get$1(format, (index + shift) % 7, field, 'day');
28747 }
28748
28749 var i;
28750 var out = [];
28751 for (i = 0; i < 7; i++) {
28752 out[i] = get$1(format, (i + shift) % 7, field, 'day');
28753 }
28754 return out;
28755 }
28756
28757 function listMonths (format, index) {
28758 return listMonthsImpl(format, index, 'months');
28759 }
28760
28761 function listMonthsShort (format, index) {
28762 return listMonthsImpl(format, index, 'monthsShort');
28763 }
28764
28765 function listWeekdays (localeSorted, format, index) {
28766 return listWeekdaysImpl(localeSorted, format, index, 'weekdays');
28767 }
28768
28769 function listWeekdaysShort (localeSorted, format, index) {
28770 return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');
28771 }
28772
28773 function listWeekdaysMin (localeSorted, format, index) {
28774 return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');
28775 }
28776
28777 getSetGlobalLocale('en', {
28778 dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/,
28779 ordinal : function (number) {
28780 var b = number % 10,
28781 output = (toInt(number % 100 / 10) === 1) ? 'th' :
28782 (b === 1) ? 'st' :
28783 (b === 2) ? 'nd' :
28784 (b === 3) ? 'rd' : 'th';
28785 return number + output;
28786 }
28787 });
28788
28789 // Side effect imports
28790
28791 hooks.lang = deprecate('moment.lang is deprecated. Use moment.locale instead.', getSetGlobalLocale);
28792 hooks.langData = deprecate('moment.langData is deprecated. Use moment.localeData instead.', getLocale);
28793
28794 var mathAbs = Math.abs;
28795
28796 function abs () {
28797 var data = this._data;
28798
28799 this._milliseconds = mathAbs(this._milliseconds);
28800 this._days = mathAbs(this._days);
28801 this._months = mathAbs(this._months);
28802
28803 data.milliseconds = mathAbs(data.milliseconds);
28804 data.seconds = mathAbs(data.seconds);
28805 data.minutes = mathAbs(data.minutes);
28806 data.hours = mathAbs(data.hours);
28807 data.months = mathAbs(data.months);
28808 data.years = mathAbs(data.years);
28809
28810 return this;
28811 }
28812
28813 function addSubtract$1 (duration, input, value, direction) {
28814 var other = createDuration(input, value);
28815
28816 duration._milliseconds += direction * other._milliseconds;
28817 duration._days += direction * other._days;
28818 duration._months += direction * other._months;
28819
28820 return duration._bubble();
28821 }
28822
28823 // supports only 2.0-style add(1, 's') or add(duration)
28824 function add$1 (input, value) {
28825 return addSubtract$1(this, input, value, 1);
28826 }
28827
28828 // supports only 2.0-style subtract(1, 's') or subtract(duration)
28829 function subtract$1 (input, value) {
28830 return addSubtract$1(this, input, value, -1);
28831 }
28832
28833 function absCeil (number) {
28834 if (number < 0) {
28835 return Math.floor(number);
28836 } else {
28837 return Math.ceil(number);
28838 }
28839 }
28840
28841 function bubble () {
28842 var milliseconds = this._milliseconds;
28843 var days = this._days;
28844 var months = this._months;
28845 var data = this._data;
28846 var seconds, minutes, hours, years, monthsFromDays;
28847
28848 // if we have a mix of positive and negative values, bubble down first
28849 // check: https://github.com/moment/moment/issues/2166
28850 if (!((milliseconds >= 0 && days >= 0 && months >= 0) ||
28851 (milliseconds <= 0 && days <= 0 && months <= 0))) {
28852 milliseconds += absCeil(monthsToDays(months) + days) * 864e5;
28853 days = 0;
28854 months = 0;
28855 }
28856
28857 // The following code bubbles up values, see the tests for
28858 // examples of what that means.
28859 data.milliseconds = milliseconds % 1000;
28860
28861 seconds = absFloor(milliseconds / 1000);
28862 data.seconds = seconds % 60;
28863
28864 minutes = absFloor(seconds / 60);
28865 data.minutes = minutes % 60;
28866
28867 hours = absFloor(minutes / 60);
28868 data.hours = hours % 24;
28869
28870 days += absFloor(hours / 24);
28871
28872 // convert days to months
28873 monthsFromDays = absFloor(daysToMonths(days));
28874 months += monthsFromDays;
28875 days -= absCeil(monthsToDays(monthsFromDays));
28876
28877 // 12 months -> 1 year
28878 years = absFloor(months / 12);
28879 months %= 12;
28880
28881 data.days = days;
28882 data.months = months;
28883 data.years = years;
28884
28885 return this;
28886 }
28887
28888 function daysToMonths (days) {
28889 // 400 years have 146097 days (taking into account leap year rules)
28890 // 400 years have 12 months === 4800
28891 return days * 4800 / 146097;
28892 }
28893
28894 function monthsToDays (months) {
28895 // the reverse of daysToMonths
28896 return months * 146097 / 4800;
28897 }
28898
28899 function as (units) {
28900 if (!this.isValid()) {
28901 return NaN;
28902 }
28903 var days;
28904 var months;
28905 var milliseconds = this._milliseconds;
28906
28907 units = normalizeUnits(units);
28908
28909 if (units === 'month' || units === 'year') {
28910 days = this._days + milliseconds / 864e5;
28911 months = this._months + daysToMonths(days);
28912 return units === 'month' ? months : months / 12;
28913 } else {
28914 // handle milliseconds separately because of floating point math errors (issue #1867)
28915 days = this._days + Math.round(monthsToDays(this._months));
28916 switch (units) {
28917 case 'week' : return days / 7 + milliseconds / 6048e5;
28918 case 'day' : return days + milliseconds / 864e5;
28919 case 'hour' : return days * 24 + milliseconds / 36e5;
28920 case 'minute' : return days * 1440 + milliseconds / 6e4;
28921 case 'second' : return days * 86400 + milliseconds / 1000;
28922 // Math.floor prevents floating point math errors here
28923 case 'millisecond': return Math.floor(days * 864e5) + milliseconds;
28924 default: throw new Error('Unknown unit ' + units);
28925 }
28926 }
28927 }
28928
28929 // TODO: Use this.as('ms')?
28930 function valueOf$1 () {
28931 if (!this.isValid()) {
28932 return NaN;
28933 }
28934 return (
28935 this._milliseconds +
28936 this._days * 864e5 +
28937 (this._months % 12) * 2592e6 +
28938 toInt(this._months / 12) * 31536e6
28939 );
28940 }
28941
28942 function makeAs (alias) {
28943 return function () {
28944 return this.as(alias);
28945 };
28946 }
28947
28948 var asMilliseconds = makeAs('ms');
28949 var asSeconds = makeAs('s');
28950 var asMinutes = makeAs('m');
28951 var asHours = makeAs('h');
28952 var asDays = makeAs('d');
28953 var asWeeks = makeAs('w');
28954 var asMonths = makeAs('M');
28955 var asYears = makeAs('y');
28956
28957 function clone$1 () {
28958 return createDuration(this);
28959 }
28960
28961 function get$2 (units) {
28962 units = normalizeUnits(units);
28963 return this.isValid() ? this[units + 's']() : NaN;
28964 }
28965
28966 function makeGetter(name) {
28967 return function () {
28968 return this.isValid() ? this._data[name] : NaN;
28969 };
28970 }
28971
28972 var milliseconds = makeGetter('milliseconds');
28973 var seconds = makeGetter('seconds');
28974 var minutes = makeGetter('minutes');
28975 var hours = makeGetter('hours');
28976 var days = makeGetter('days');
28977 var months = makeGetter('months');
28978 var years = makeGetter('years');
28979
28980 function weeks () {
28981 return absFloor(this.days() / 7);
28982 }
28983
28984 var round = Math.round;
28985 var thresholds = {
28986 ss: 44, // a few seconds to seconds
28987 s : 45, // seconds to minute
28988 m : 45, // minutes to hour
28989 h : 22, // hours to day
28990 d : 26, // days to month
28991 M : 11 // months to year
28992 };
28993
28994 // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize
28995 function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {
28996 return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);
28997 }
28998
28999 function relativeTime$1 (posNegDuration, withoutSuffix, locale) {
29000 var duration = createDuration(posNegDuration).abs();
29001 var seconds = round(duration.as('s'));
29002 var minutes = round(duration.as('m'));
29003 var hours = round(duration.as('h'));
29004 var days = round(duration.as('d'));
29005 var months = round(duration.as('M'));
29006 var years = round(duration.as('y'));
29007
29008 var a = seconds <= thresholds.ss && ['s', seconds] ||
29009 seconds < thresholds.s && ['ss', seconds] ||
29010 minutes <= 1 && ['m'] ||
29011 minutes < thresholds.m && ['mm', minutes] ||
29012 hours <= 1 && ['h'] ||
29013 hours < thresholds.h && ['hh', hours] ||
29014 days <= 1 && ['d'] ||
29015 days < thresholds.d && ['dd', days] ||
29016 months <= 1 && ['M'] ||
29017 months < thresholds.M && ['MM', months] ||
29018 years <= 1 && ['y'] || ['yy', years];
29019
29020 a[2] = withoutSuffix;
29021 a[3] = +posNegDuration > 0;
29022 a[4] = locale;
29023 return substituteTimeAgo.apply(null, a);
29024 }
29025
29026 // This function allows you to set the rounding function for relative time strings
29027 function getSetRelativeTimeRounding (roundingFunction) {
29028 if (roundingFunction === undefined) {
29029 return round;
29030 }
29031 if (typeof(roundingFunction) === 'function') {
29032 round = roundingFunction;
29033 return true;
29034 }
29035 return false;
29036 }
29037
29038 // This function allows you to set a threshold for relative time strings
29039 function getSetRelativeTimeThreshold (threshold, limit) {
29040 if (thresholds[threshold] === undefined) {
29041 return false;
29042 }
29043 if (limit === undefined) {
29044 return thresholds[threshold];
29045 }
29046 thresholds[threshold] = limit;
29047 if (threshold === 's') {
29048 thresholds.ss = limit - 1;
29049 }
29050 return true;
29051 }
29052
29053 function humanize (withSuffix) {
29054 if (!this.isValid()) {
29055 return this.localeData().invalidDate();
29056 }
29057
29058 var locale = this.localeData();
29059 var output = relativeTime$1(this, !withSuffix, locale);
29060
29061 if (withSuffix) {
29062 output = locale.pastFuture(+this, output);
29063 }
29064
29065 return locale.postformat(output);
29066 }
29067
29068 var abs$1 = Math.abs;
29069
29070 function sign(x) {
29071 return ((x > 0) - (x < 0)) || +x;
29072 }
29073
29074 function toISOString$1() {
29075 // for ISO strings we do not use the normal bubbling rules:
29076 // * milliseconds bubble up until they become hours
29077 // * days do not bubble at all
29078 // * months bubble up until they become years
29079 // This is because there is no context-free conversion between hours and days
29080 // (think of clock changes)
29081 // and also not between days and months (28-31 days per month)
29082 if (!this.isValid()) {
29083 return this.localeData().invalidDate();
29084 }
29085
29086 var seconds = abs$1(this._milliseconds) / 1000;
29087 var days = abs$1(this._days);
29088 var months = abs$1(this._months);
29089 var minutes, hours, years;
29090
29091 // 3600 seconds -> 60 minutes -> 1 hour
29092 minutes = absFloor(seconds / 60);
29093 hours = absFloor(minutes / 60);
29094 seconds %= 60;
29095 minutes %= 60;
29096
29097 // 12 months -> 1 year
29098 years = absFloor(months / 12);
29099 months %= 12;
29100
29101
29102 // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js
29103 var Y = years;
29104 var M = months;
29105 var D = days;
29106 var h = hours;
29107 var m = minutes;
29108 var s = seconds ? seconds.toFixed(3).replace(/\.?0+$/, '') : '';
29109 var total = this.asSeconds();
29110
29111 if (!total) {
29112 // this is the same as C#'s (Noda) and python (isodate)...
29113 // but not other JS (goog.date)
29114 return 'P0D';
29115 }
29116
29117 var totalSign = total < 0 ? '-' : '';
29118 var ymSign = sign(this._months) !== sign(total) ? '-' : '';
29119 var daysSign = sign(this._days) !== sign(total) ? '-' : '';
29120 var hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';
29121
29122 return totalSign + 'P' +
29123 (Y ? ymSign + Y + 'Y' : '') +
29124 (M ? ymSign + M + 'M' : '') +
29125 (D ? daysSign + D + 'D' : '') +
29126 ((h || m || s) ? 'T' : '') +
29127 (h ? hmsSign + h + 'H' : '') +
29128 (m ? hmsSign + m + 'M' : '') +
29129 (s ? hmsSign + s + 'S' : '');
29130 }
29131
29132 var proto$2 = Duration.prototype;
29133
29134 proto$2.isValid = isValid$1;
29135 proto$2.abs = abs;
29136 proto$2.add = add$1;
29137 proto$2.subtract = subtract$1;
29138 proto$2.as = as;
29139 proto$2.asMilliseconds = asMilliseconds;
29140 proto$2.asSeconds = asSeconds;
29141 proto$2.asMinutes = asMinutes;
29142 proto$2.asHours = asHours;
29143 proto$2.asDays = asDays;
29144 proto$2.asWeeks = asWeeks;
29145 proto$2.asMonths = asMonths;
29146 proto$2.asYears = asYears;
29147 proto$2.valueOf = valueOf$1;
29148 proto$2._bubble = bubble;
29149 proto$2.clone = clone$1;
29150 proto$2.get = get$2;
29151 proto$2.milliseconds = milliseconds;
29152 proto$2.seconds = seconds;
29153 proto$2.minutes = minutes;
29154 proto$2.hours = hours;
29155 proto$2.days = days;
29156 proto$2.weeks = weeks;
29157 proto$2.months = months;
29158 proto$2.years = years;
29159 proto$2.humanize = humanize;
29160 proto$2.toISOString = toISOString$1;
29161 proto$2.toString = toISOString$1;
29162 proto$2.toJSON = toISOString$1;
29163 proto$2.locale = locale;
29164 proto$2.localeData = localeData;
29165
29166 proto$2.toIsoString = deprecate('toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', toISOString$1);
29167 proto$2.lang = lang;
29168
29169 // Side effect imports
29170
29171 // FORMATTING
29172
29173 addFormatToken('X', 0, 0, 'unix');
29174 addFormatToken('x', 0, 0, 'valueOf');
29175
29176 // PARSING
29177
29178 addRegexToken('x', matchSigned);
29179 addRegexToken('X', matchTimestamp);
29180 addParseToken('X', function (input, array, config) {
29181 config._d = new Date(parseFloat(input, 10) * 1000);
29182 });
29183 addParseToken('x', function (input, array, config) {
29184 config._d = new Date(toInt(input));
29185 });
29186
29187 // Side effect imports
29188
29189
29190 hooks.version = '2.22.2';
29191
29192 setHookCallback(createLocal);
29193
29194 hooks.fn = proto;
29195 hooks.min = min;
29196 hooks.max = max;
29197 hooks.now = now;
29198 hooks.utc = createUTC;
29199 hooks.unix = createUnix;
29200 hooks.months = listMonths;
29201 hooks.isDate = isDate;
29202 hooks.locale = getSetGlobalLocale;
29203 hooks.invalid = createInvalid;
29204 hooks.duration = createDuration;
29205 hooks.isMoment = isMoment;
29206 hooks.weekdays = listWeekdays;
29207 hooks.parseZone = createInZone;
29208 hooks.localeData = getLocale;
29209 hooks.isDuration = isDuration;
29210 hooks.monthsShort = listMonthsShort;
29211 hooks.weekdaysMin = listWeekdaysMin;
29212 hooks.defineLocale = defineLocale;
29213 hooks.updateLocale = updateLocale;
29214 hooks.locales = listLocales;
29215 hooks.weekdaysShort = listWeekdaysShort;
29216 hooks.normalizeUnits = normalizeUnits;
29217 hooks.relativeTimeRounding = getSetRelativeTimeRounding;
29218 hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;
29219 hooks.calendarFormat = getCalendarFormat;
29220 hooks.prototype = proto;
29221
29222 // currently HTML5 input type only supports 24-hour formats
29223 hooks.HTML5_FMT = {
29224 DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // <input type="datetime-local" />
29225 DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // <input type="datetime-local" step="1" />
29226 DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // <input type="datetime-local" step="0.001" />
29227 DATE: 'YYYY-MM-DD', // <input type="date" />
29228 TIME: 'HH:mm', // <input type="time" />
29229 TIME_SECONDS: 'HH:mm:ss', // <input type="time" step="1" />
29230 TIME_MS: 'HH:mm:ss.SSS', // <input type="time" step="0.001" />
29231 WEEK: 'YYYY-[W]WW', // <input type="week" />
29232 MONTH: 'YYYY-MM' // <input type="month" />
29233 };
29234
29235 return hooks;
29236
29237 })));
29238
29239 /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(328)(module)))
29240
29241/***/ }),
29242/* 328 */
29243/***/ (function(module, exports) {
29244
29245 module.exports = function(module) {
29246 if(!module.webpackPolyfill) {
29247 module.deprecate = function() {};
29248 module.paths = [];
29249 // module.parent = undefined by default
29250 module.children = [];
29251 module.webpackPolyfill = 1;
29252 }
29253 return module;
29254 }
29255
29256
29257/***/ }),
29258/* 329 */
29259/***/ (function(module, exports, __webpack_require__) {
29260
29261 var map = {
29262 "./af": 330,
29263 "./af.js": 330,
29264 "./ar": 331,
29265 "./ar-dz": 332,
29266 "./ar-dz.js": 332,
29267 "./ar-kw": 333,
29268 "./ar-kw.js": 333,
29269 "./ar-ly": 334,
29270 "./ar-ly.js": 334,
29271 "./ar-ma": 335,
29272 "./ar-ma.js": 335,
29273 "./ar-sa": 336,
29274 "./ar-sa.js": 336,
29275 "./ar-tn": 337,
29276 "./ar-tn.js": 337,
29277 "./ar.js": 331,
29278 "./az": 338,
29279 "./az.js": 338,
29280 "./be": 339,
29281 "./be.js": 339,
29282 "./bg": 340,
29283 "./bg.js": 340,
29284 "./bm": 341,
29285 "./bm.js": 341,
29286 "./bn": 342,
29287 "./bn.js": 342,
29288 "./bo": 343,
29289 "./bo.js": 343,
29290 "./br": 344,
29291 "./br.js": 344,
29292 "./bs": 345,
29293 "./bs.js": 345,
29294 "./ca": 346,
29295 "./ca.js": 346,
29296 "./cs": 347,
29297 "./cs.js": 347,
29298 "./cv": 348,
29299 "./cv.js": 348,
29300 "./cy": 349,
29301 "./cy.js": 349,
29302 "./da": 350,
29303 "./da.js": 350,
29304 "./de": 351,
29305 "./de-at": 352,
29306 "./de-at.js": 352,
29307 "./de-ch": 353,
29308 "./de-ch.js": 353,
29309 "./de.js": 351,
29310 "./dv": 354,
29311 "./dv.js": 354,
29312 "./el": 355,
29313 "./el.js": 355,
29314 "./en-au": 356,
29315 "./en-au.js": 356,
29316 "./en-ca": 357,
29317 "./en-ca.js": 357,
29318 "./en-gb": 358,
29319 "./en-gb.js": 358,
29320 "./en-ie": 359,
29321 "./en-ie.js": 359,
29322 "./en-il": 360,
29323 "./en-il.js": 360,
29324 "./en-nz": 361,
29325 "./en-nz.js": 361,
29326 "./eo": 362,
29327 "./eo.js": 362,
29328 "./es": 363,
29329 "./es-do": 364,
29330 "./es-do.js": 364,
29331 "./es-us": 365,
29332 "./es-us.js": 365,
29333 "./es.js": 363,
29334 "./et": 366,
29335 "./et.js": 366,
29336 "./eu": 367,
29337 "./eu.js": 367,
29338 "./fa": 368,
29339 "./fa.js": 368,
29340 "./fi": 369,
29341 "./fi.js": 369,
29342 "./fo": 370,
29343 "./fo.js": 370,
29344 "./fr": 371,
29345 "./fr-ca": 372,
29346 "./fr-ca.js": 372,
29347 "./fr-ch": 373,
29348 "./fr-ch.js": 373,
29349 "./fr.js": 371,
29350 "./fy": 374,
29351 "./fy.js": 374,
29352 "./gd": 375,
29353 "./gd.js": 375,
29354 "./gl": 376,
29355 "./gl.js": 376,
29356 "./gom-latn": 377,
29357 "./gom-latn.js": 377,
29358 "./gu": 378,
29359 "./gu.js": 378,
29360 "./he": 379,
29361 "./he.js": 379,
29362 "./hi": 380,
29363 "./hi.js": 380,
29364 "./hr": 381,
29365 "./hr.js": 381,
29366 "./hu": 382,
29367 "./hu.js": 382,
29368 "./hy-am": 383,
29369 "./hy-am.js": 383,
29370 "./id": 384,
29371 "./id.js": 384,
29372 "./is": 385,
29373 "./is.js": 385,
29374 "./it": 386,
29375 "./it.js": 386,
29376 "./ja": 387,
29377 "./ja.js": 387,
29378 "./jv": 388,
29379 "./jv.js": 388,
29380 "./ka": 389,
29381 "./ka.js": 389,
29382 "./kk": 390,
29383 "./kk.js": 390,
29384 "./km": 391,
29385 "./km.js": 391,
29386 "./kn": 392,
29387 "./kn.js": 392,
29388 "./ko": 393,
29389 "./ko.js": 393,
29390 "./ky": 394,
29391 "./ky.js": 394,
29392 "./lb": 395,
29393 "./lb.js": 395,
29394 "./lo": 396,
29395 "./lo.js": 396,
29396 "./lt": 397,
29397 "./lt.js": 397,
29398 "./lv": 398,
29399 "./lv.js": 398,
29400 "./me": 399,
29401 "./me.js": 399,
29402 "./mi": 400,
29403 "./mi.js": 400,
29404 "./mk": 401,
29405 "./mk.js": 401,
29406 "./ml": 402,
29407 "./ml.js": 402,
29408 "./mn": 403,
29409 "./mn.js": 403,
29410 "./mr": 404,
29411 "./mr.js": 404,
29412 "./ms": 405,
29413 "./ms-my": 406,
29414 "./ms-my.js": 406,
29415 "./ms.js": 405,
29416 "./mt": 407,
29417 "./mt.js": 407,
29418 "./my": 408,
29419 "./my.js": 408,
29420 "./nb": 409,
29421 "./nb.js": 409,
29422 "./ne": 410,
29423 "./ne.js": 410,
29424 "./nl": 411,
29425 "./nl-be": 412,
29426 "./nl-be.js": 412,
29427 "./nl.js": 411,
29428 "./nn": 413,
29429 "./nn.js": 413,
29430 "./pa-in": 414,
29431 "./pa-in.js": 414,
29432 "./pl": 415,
29433 "./pl.js": 415,
29434 "./pt": 416,
29435 "./pt-br": 417,
29436 "./pt-br.js": 417,
29437 "./pt.js": 416,
29438 "./ro": 418,
29439 "./ro.js": 418,
29440 "./ru": 419,
29441 "./ru.js": 419,
29442 "./sd": 420,
29443 "./sd.js": 420,
29444 "./se": 421,
29445 "./se.js": 421,
29446 "./si": 422,
29447 "./si.js": 422,
29448 "./sk": 423,
29449 "./sk.js": 423,
29450 "./sl": 424,
29451 "./sl.js": 424,
29452 "./sq": 425,
29453 "./sq.js": 425,
29454 "./sr": 426,
29455 "./sr-cyrl": 427,
29456 "./sr-cyrl.js": 427,
29457 "./sr.js": 426,
29458 "./ss": 428,
29459 "./ss.js": 428,
29460 "./sv": 429,
29461 "./sv.js": 429,
29462 "./sw": 430,
29463 "./sw.js": 430,
29464 "./ta": 431,
29465 "./ta.js": 431,
29466 "./te": 432,
29467 "./te.js": 432,
29468 "./tet": 433,
29469 "./tet.js": 433,
29470 "./tg": 434,
29471 "./tg.js": 434,
29472 "./th": 435,
29473 "./th.js": 435,
29474 "./tl-ph": 436,
29475 "./tl-ph.js": 436,
29476 "./tlh": 437,
29477 "./tlh.js": 437,
29478 "./tr": 438,
29479 "./tr.js": 438,
29480 "./tzl": 439,
29481 "./tzl.js": 439,
29482 "./tzm": 440,
29483 "./tzm-latn": 441,
29484 "./tzm-latn.js": 441,
29485 "./tzm.js": 440,
29486 "./ug-cn": 442,
29487 "./ug-cn.js": 442,
29488 "./uk": 443,
29489 "./uk.js": 443,
29490 "./ur": 444,
29491 "./ur.js": 444,
29492 "./uz": 445,
29493 "./uz-latn": 446,
29494 "./uz-latn.js": 446,
29495 "./uz.js": 445,
29496 "./vi": 447,
29497 "./vi.js": 447,
29498 "./x-pseudo": 448,
29499 "./x-pseudo.js": 448,
29500 "./yo": 449,
29501 "./yo.js": 449,
29502 "./zh-cn": 450,
29503 "./zh-cn.js": 450,
29504 "./zh-hk": 451,
29505 "./zh-hk.js": 451,
29506 "./zh-tw": 452,
29507 "./zh-tw.js": 452
29508 };
29509 function webpackContext(req) {
29510 return __webpack_require__(webpackContextResolve(req));
29511 };
29512 function webpackContextResolve(req) {
29513 return map[req] || (function() { throw new Error("Cannot find module '" + req + "'.") }());
29514 };
29515 webpackContext.keys = function webpackContextKeys() {
29516 return Object.keys(map);
29517 };
29518 webpackContext.resolve = webpackContextResolve;
29519 module.exports = webpackContext;
29520 webpackContext.id = 329;
29521
29522
29523/***/ }),
29524/* 330 */
29525/***/ (function(module, exports, __webpack_require__) {
29526
29527 //! moment.js locale configuration
29528
29529 ;(function (global, factory) {
29530 true ? factory(__webpack_require__(327)) :
29531 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
29532 factory(global.moment)
29533 }(this, (function (moment) { 'use strict';
29534
29535
29536 var af = moment.defineLocale('af', {
29537 months : 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split('_'),
29538 monthsShort : 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'),
29539 weekdays : 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split('_'),
29540 weekdaysShort : 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'),
29541 weekdaysMin : 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'),
29542 meridiemParse: /vm|nm/i,
29543 isPM : function (input) {
29544 return /^nm$/i.test(input);
29545 },
29546 meridiem : function (hours, minutes, isLower) {
29547 if (hours < 12) {
29548 return isLower ? 'vm' : 'VM';
29549 } else {
29550 return isLower ? 'nm' : 'NM';
29551 }
29552 },
29553 longDateFormat : {
29554 LT : 'HH:mm',
29555 LTS : 'HH:mm:ss',
29556 L : 'DD/MM/YYYY',
29557 LL : 'D MMMM YYYY',
29558 LLL : 'D MMMM YYYY HH:mm',
29559 LLLL : 'dddd, D MMMM YYYY HH:mm'
29560 },
29561 calendar : {
29562 sameDay : '[Vandag om] LT',
29563 nextDay : '[Môre om] LT',
29564 nextWeek : 'dddd [om] LT',
29565 lastDay : '[Gister om] LT',
29566 lastWeek : '[Laas] dddd [om] LT',
29567 sameElse : 'L'
29568 },
29569 relativeTime : {
29570 future : 'oor %s',
29571 past : '%s gelede',
29572 s : '\'n paar sekondes',
29573 ss : '%d sekondes',
29574 m : '\'n minuut',
29575 mm : '%d minute',
29576 h : '\'n uur',
29577 hh : '%d ure',
29578 d : '\'n dag',
29579 dd : '%d dae',
29580 M : '\'n maand',
29581 MM : '%d maande',
29582 y : '\'n jaar',
29583 yy : '%d jaar'
29584 },
29585 dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/,
29586 ordinal : function (number) {
29587 return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de'); // Thanks to Joris Röling : https://github.com/jjupiter
29588 },
29589 week : {
29590 dow : 1, // Maandag is die eerste dag van die week.
29591 doy : 4 // Die week wat die 4de Januarie bevat is die eerste week van die jaar.
29592 }
29593 });
29594
29595 return af;
29596
29597 })));
29598
29599
29600/***/ }),
29601/* 331 */
29602/***/ (function(module, exports, __webpack_require__) {
29603
29604 //! moment.js locale configuration
29605
29606 ;(function (global, factory) {
29607 true ? factory(__webpack_require__(327)) :
29608 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
29609 factory(global.moment)
29610 }(this, (function (moment) { 'use strict';
29611
29612
29613 var symbolMap = {
29614 '1': '١',
29615 '2': '٢',
29616 '3': '٣',
29617 '4': '٤',
29618 '5': '٥',
29619 '6': '٦',
29620 '7': '٧',
29621 '8': '٨',
29622 '9': '٩',
29623 '0': '٠'
29624 }, numberMap = {
29625 '١': '1',
29626 '٢': '2',
29627 '٣': '3',
29628 '٤': '4',
29629 '٥': '5',
29630 '٦': '6',
29631 '٧': '7',
29632 '٨': '8',
29633 '٩': '9',
29634 '٠': '0'
29635 }, pluralForm = function (n) {
29636 return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;
29637 }, plurals = {
29638 s : ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],
29639 m : ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],
29640 h : ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],
29641 d : ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],
29642 M : ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],
29643 y : ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']
29644 }, pluralize = function (u) {
29645 return function (number, withoutSuffix, string, isFuture) {
29646 var f = pluralForm(number),
29647 str = plurals[u][pluralForm(number)];
29648 if (f === 2) {
29649 str = str[withoutSuffix ? 0 : 1];
29650 }
29651 return str.replace(/%d/i, number);
29652 };
29653 }, months = [
29654 'يناير',
29655 'فبراير',
29656 'مارس',
29657 'أبريل',
29658 'مايو',
29659 'يونيو',
29660 'يوليو',
29661 'أغسطس',
29662 'سبتمبر',
29663 'أكتوبر',
29664 'نوفمبر',
29665 'ديسمبر'
29666 ];
29667
29668 var ar = moment.defineLocale('ar', {
29669 months : months,
29670 monthsShort : months,
29671 weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
29672 weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
29673 weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),
29674 weekdaysParseExact : true,
29675 longDateFormat : {
29676 LT : 'HH:mm',
29677 LTS : 'HH:mm:ss',
29678 L : 'D/\u200FM/\u200FYYYY',
29679 LL : 'D MMMM YYYY',
29680 LLL : 'D MMMM YYYY HH:mm',
29681 LLLL : 'dddd D MMMM YYYY HH:mm'
29682 },
29683 meridiemParse: /ص|م/,
29684 isPM : function (input) {
29685 return 'م' === input;
29686 },
29687 meridiem : function (hour, minute, isLower) {
29688 if (hour < 12) {
29689 return 'ص';
29690 } else {
29691 return 'م';
29692 }
29693 },
29694 calendar : {
29695 sameDay: '[اليوم عند الساعة] LT',
29696 nextDay: '[غدًا عند الساعة] LT',
29697 nextWeek: 'dddd [عند الساعة] LT',
29698 lastDay: '[أمس عند الساعة] LT',
29699 lastWeek: 'dddd [عند الساعة] LT',
29700 sameElse: 'L'
29701 },
29702 relativeTime : {
29703 future : 'بعد %s',
29704 past : 'منذ %s',
29705 s : pluralize('s'),
29706 ss : pluralize('s'),
29707 m : pluralize('m'),
29708 mm : pluralize('m'),
29709 h : pluralize('h'),
29710 hh : pluralize('h'),
29711 d : pluralize('d'),
29712 dd : pluralize('d'),
29713 M : pluralize('M'),
29714 MM : pluralize('M'),
29715 y : pluralize('y'),
29716 yy : pluralize('y')
29717 },
29718 preparse: function (string) {
29719 return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {
29720 return numberMap[match];
29721 }).replace(/،/g, ',');
29722 },
29723 postformat: function (string) {
29724 return string.replace(/\d/g, function (match) {
29725 return symbolMap[match];
29726 }).replace(/,/g, '،');
29727 },
29728 week : {
29729 dow : 6, // Saturday is the first day of the week.
29730 doy : 12 // The week that contains Jan 1st is the first week of the year.
29731 }
29732 });
29733
29734 return ar;
29735
29736 })));
29737
29738
29739/***/ }),
29740/* 332 */
29741/***/ (function(module, exports, __webpack_require__) {
29742
29743 //! moment.js locale configuration
29744
29745 ;(function (global, factory) {
29746 true ? factory(__webpack_require__(327)) :
29747 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
29748 factory(global.moment)
29749 }(this, (function (moment) { 'use strict';
29750
29751
29752 var arDz = moment.defineLocale('ar-dz', {
29753 months : 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
29754 monthsShort : 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
29755 weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
29756 weekdaysShort : 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),
29757 weekdaysMin : 'أح_إث_ثلا_أر_خم_جم_سب'.split('_'),
29758 weekdaysParseExact : true,
29759 longDateFormat : {
29760 LT : 'HH:mm',
29761 LTS : 'HH:mm:ss',
29762 L : 'DD/MM/YYYY',
29763 LL : 'D MMMM YYYY',
29764 LLL : 'D MMMM YYYY HH:mm',
29765 LLLL : 'dddd D MMMM YYYY HH:mm'
29766 },
29767 calendar : {
29768 sameDay: '[اليوم على الساعة] LT',
29769 nextDay: '[غدا على الساعة] LT',
29770 nextWeek: 'dddd [على الساعة] LT',
29771 lastDay: '[أمس على الساعة] LT',
29772 lastWeek: 'dddd [على الساعة] LT',
29773 sameElse: 'L'
29774 },
29775 relativeTime : {
29776 future : 'في %s',
29777 past : 'منذ %s',
29778 s : 'ثوان',
29779 ss : '%d ثانية',
29780 m : 'دقيقة',
29781 mm : '%d دقائق',
29782 h : 'ساعة',
29783 hh : '%d ساعات',
29784 d : 'يوم',
29785 dd : '%d أيام',
29786 M : 'شهر',
29787 MM : '%d أشهر',
29788 y : 'سنة',
29789 yy : '%d سنوات'
29790 },
29791 week : {
29792 dow : 0, // Sunday is the first day of the week.
29793 doy : 4 // The week that contains Jan 1st is the first week of the year.
29794 }
29795 });
29796
29797 return arDz;
29798
29799 })));
29800
29801
29802/***/ }),
29803/* 333 */
29804/***/ (function(module, exports, __webpack_require__) {
29805
29806 //! moment.js locale configuration
29807
29808 ;(function (global, factory) {
29809 true ? factory(__webpack_require__(327)) :
29810 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
29811 factory(global.moment)
29812 }(this, (function (moment) { 'use strict';
29813
29814
29815 var arKw = moment.defineLocale('ar-kw', {
29816 months : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),
29817 monthsShort : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),
29818 weekdays : 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
29819 weekdaysShort : 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),
29820 weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),
29821 weekdaysParseExact : true,
29822 longDateFormat : {
29823 LT : 'HH:mm',
29824 LTS : 'HH:mm:ss',
29825 L : 'DD/MM/YYYY',
29826 LL : 'D MMMM YYYY',
29827 LLL : 'D MMMM YYYY HH:mm',
29828 LLLL : 'dddd D MMMM YYYY HH:mm'
29829 },
29830 calendar : {
29831 sameDay: '[اليوم على الساعة] LT',
29832 nextDay: '[غدا على الساعة] LT',
29833 nextWeek: 'dddd [على الساعة] LT',
29834 lastDay: '[أمس على الساعة] LT',
29835 lastWeek: 'dddd [على الساعة] LT',
29836 sameElse: 'L'
29837 },
29838 relativeTime : {
29839 future : 'في %s',
29840 past : 'منذ %s',
29841 s : 'ثوان',
29842 ss : '%d ثانية',
29843 m : 'دقيقة',
29844 mm : '%d دقائق',
29845 h : 'ساعة',
29846 hh : '%d ساعات',
29847 d : 'يوم',
29848 dd : '%d أيام',
29849 M : 'شهر',
29850 MM : '%d أشهر',
29851 y : 'سنة',
29852 yy : '%d سنوات'
29853 },
29854 week : {
29855 dow : 0, // Sunday is the first day of the week.
29856 doy : 12 // The week that contains Jan 1st is the first week of the year.
29857 }
29858 });
29859
29860 return arKw;
29861
29862 })));
29863
29864
29865/***/ }),
29866/* 334 */
29867/***/ (function(module, exports, __webpack_require__) {
29868
29869 //! moment.js locale configuration
29870
29871 ;(function (global, factory) {
29872 true ? factory(__webpack_require__(327)) :
29873 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
29874 factory(global.moment)
29875 }(this, (function (moment) { 'use strict';
29876
29877
29878 var symbolMap = {
29879 '1': '1',
29880 '2': '2',
29881 '3': '3',
29882 '4': '4',
29883 '5': '5',
29884 '6': '6',
29885 '7': '7',
29886 '8': '8',
29887 '9': '9',
29888 '0': '0'
29889 }, pluralForm = function (n) {
29890 return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;
29891 }, plurals = {
29892 s : ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],
29893 m : ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],
29894 h : ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],
29895 d : ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],
29896 M : ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],
29897 y : ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']
29898 }, pluralize = function (u) {
29899 return function (number, withoutSuffix, string, isFuture) {
29900 var f = pluralForm(number),
29901 str = plurals[u][pluralForm(number)];
29902 if (f === 2) {
29903 str = str[withoutSuffix ? 0 : 1];
29904 }
29905 return str.replace(/%d/i, number);
29906 };
29907 }, months = [
29908 'يناير',
29909 'فبراير',
29910 'مارس',
29911 'أبريل',
29912 'مايو',
29913 'يونيو',
29914 'يوليو',
29915 'أغسطس',
29916 'سبتمبر',
29917 'أكتوبر',
29918 'نوفمبر',
29919 'ديسمبر'
29920 ];
29921
29922 var arLy = moment.defineLocale('ar-ly', {
29923 months : months,
29924 monthsShort : months,
29925 weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
29926 weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
29927 weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),
29928 weekdaysParseExact : true,
29929 longDateFormat : {
29930 LT : 'HH:mm',
29931 LTS : 'HH:mm:ss',
29932 L : 'D/\u200FM/\u200FYYYY',
29933 LL : 'D MMMM YYYY',
29934 LLL : 'D MMMM YYYY HH:mm',
29935 LLLL : 'dddd D MMMM YYYY HH:mm'
29936 },
29937 meridiemParse: /ص|م/,
29938 isPM : function (input) {
29939 return 'م' === input;
29940 },
29941 meridiem : function (hour, minute, isLower) {
29942 if (hour < 12) {
29943 return 'ص';
29944 } else {
29945 return 'م';
29946 }
29947 },
29948 calendar : {
29949 sameDay: '[اليوم عند الساعة] LT',
29950 nextDay: '[غدًا عند الساعة] LT',
29951 nextWeek: 'dddd [عند الساعة] LT',
29952 lastDay: '[أمس عند الساعة] LT',
29953 lastWeek: 'dddd [عند الساعة] LT',
29954 sameElse: 'L'
29955 },
29956 relativeTime : {
29957 future : 'بعد %s',
29958 past : 'منذ %s',
29959 s : pluralize('s'),
29960 ss : pluralize('s'),
29961 m : pluralize('m'),
29962 mm : pluralize('m'),
29963 h : pluralize('h'),
29964 hh : pluralize('h'),
29965 d : pluralize('d'),
29966 dd : pluralize('d'),
29967 M : pluralize('M'),
29968 MM : pluralize('M'),
29969 y : pluralize('y'),
29970 yy : pluralize('y')
29971 },
29972 preparse: function (string) {
29973 return string.replace(/،/g, ',');
29974 },
29975 postformat: function (string) {
29976 return string.replace(/\d/g, function (match) {
29977 return symbolMap[match];
29978 }).replace(/,/g, '،');
29979 },
29980 week : {
29981 dow : 6, // Saturday is the first day of the week.
29982 doy : 12 // The week that contains Jan 1st is the first week of the year.
29983 }
29984 });
29985
29986 return arLy;
29987
29988 })));
29989
29990
29991/***/ }),
29992/* 335 */
29993/***/ (function(module, exports, __webpack_require__) {
29994
29995 //! moment.js locale configuration
29996
29997 ;(function (global, factory) {
29998 true ? factory(__webpack_require__(327)) :
29999 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
30000 factory(global.moment)
30001 }(this, (function (moment) { 'use strict';
30002
30003
30004 var arMa = moment.defineLocale('ar-ma', {
30005 months : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),
30006 monthsShort : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),
30007 weekdays : 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
30008 weekdaysShort : 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),
30009 weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),
30010 weekdaysParseExact : true,
30011 longDateFormat : {
30012 LT : 'HH:mm',
30013 LTS : 'HH:mm:ss',
30014 L : 'DD/MM/YYYY',
30015 LL : 'D MMMM YYYY',
30016 LLL : 'D MMMM YYYY HH:mm',
30017 LLLL : 'dddd D MMMM YYYY HH:mm'
30018 },
30019 calendar : {
30020 sameDay: '[اليوم على الساعة] LT',
30021 nextDay: '[غدا على الساعة] LT',
30022 nextWeek: 'dddd [على الساعة] LT',
30023 lastDay: '[أمس على الساعة] LT',
30024 lastWeek: 'dddd [على الساعة] LT',
30025 sameElse: 'L'
30026 },
30027 relativeTime : {
30028 future : 'في %s',
30029 past : 'منذ %s',
30030 s : 'ثوان',
30031 ss : '%d ثانية',
30032 m : 'دقيقة',
30033 mm : '%d دقائق',
30034 h : 'ساعة',
30035 hh : '%d ساعات',
30036 d : 'يوم',
30037 dd : '%d أيام',
30038 M : 'شهر',
30039 MM : '%d أشهر',
30040 y : 'سنة',
30041 yy : '%d سنوات'
30042 },
30043 week : {
30044 dow : 6, // Saturday is the first day of the week.
30045 doy : 12 // The week that contains Jan 1st is the first week of the year.
30046 }
30047 });
30048
30049 return arMa;
30050
30051 })));
30052
30053
30054/***/ }),
30055/* 336 */
30056/***/ (function(module, exports, __webpack_require__) {
30057
30058 //! moment.js locale configuration
30059
30060 ;(function (global, factory) {
30061 true ? factory(__webpack_require__(327)) :
30062 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
30063 factory(global.moment)
30064 }(this, (function (moment) { 'use strict';
30065
30066
30067 var symbolMap = {
30068 '1': '١',
30069 '2': '٢',
30070 '3': '٣',
30071 '4': '٤',
30072 '5': '٥',
30073 '6': '٦',
30074 '7': '٧',
30075 '8': '٨',
30076 '9': '٩',
30077 '0': '٠'
30078 }, numberMap = {
30079 '١': '1',
30080 '٢': '2',
30081 '٣': '3',
30082 '٤': '4',
30083 '٥': '5',
30084 '٦': '6',
30085 '٧': '7',
30086 '٨': '8',
30087 '٩': '9',
30088 '٠': '0'
30089 };
30090
30091 var arSa = moment.defineLocale('ar-sa', {
30092 months : 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
30093 monthsShort : 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
30094 weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
30095 weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
30096 weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),
30097 weekdaysParseExact : true,
30098 longDateFormat : {
30099 LT : 'HH:mm',
30100 LTS : 'HH:mm:ss',
30101 L : 'DD/MM/YYYY',
30102 LL : 'D MMMM YYYY',
30103 LLL : 'D MMMM YYYY HH:mm',
30104 LLLL : 'dddd D MMMM YYYY HH:mm'
30105 },
30106 meridiemParse: /ص|م/,
30107 isPM : function (input) {
30108 return 'م' === input;
30109 },
30110 meridiem : function (hour, minute, isLower) {
30111 if (hour < 12) {
30112 return 'ص';
30113 } else {
30114 return 'م';
30115 }
30116 },
30117 calendar : {
30118 sameDay: '[اليوم على الساعة] LT',
30119 nextDay: '[غدا على الساعة] LT',
30120 nextWeek: 'dddd [على الساعة] LT',
30121 lastDay: '[أمس على الساعة] LT',
30122 lastWeek: 'dddd [على الساعة] LT',
30123 sameElse: 'L'
30124 },
30125 relativeTime : {
30126 future : 'في %s',
30127 past : 'منذ %s',
30128 s : 'ثوان',
30129 ss : '%d ثانية',
30130 m : 'دقيقة',
30131 mm : '%d دقائق',
30132 h : 'ساعة',
30133 hh : '%d ساعات',
30134 d : 'يوم',
30135 dd : '%d أيام',
30136 M : 'شهر',
30137 MM : '%d أشهر',
30138 y : 'سنة',
30139 yy : '%d سنوات'
30140 },
30141 preparse: function (string) {
30142 return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {
30143 return numberMap[match];
30144 }).replace(/،/g, ',');
30145 },
30146 postformat: function (string) {
30147 return string.replace(/\d/g, function (match) {
30148 return symbolMap[match];
30149 }).replace(/,/g, '،');
30150 },
30151 week : {
30152 dow : 0, // Sunday is the first day of the week.
30153 doy : 6 // The week that contains Jan 1st is the first week of the year.
30154 }
30155 });
30156
30157 return arSa;
30158
30159 })));
30160
30161
30162/***/ }),
30163/* 337 */
30164/***/ (function(module, exports, __webpack_require__) {
30165
30166 //! moment.js locale configuration
30167
30168 ;(function (global, factory) {
30169 true ? factory(__webpack_require__(327)) :
30170 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
30171 factory(global.moment)
30172 }(this, (function (moment) { 'use strict';
30173
30174
30175 var arTn = moment.defineLocale('ar-tn', {
30176 months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
30177 monthsShort: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
30178 weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
30179 weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
30180 weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
30181 weekdaysParseExact : true,
30182 longDateFormat: {
30183 LT: 'HH:mm',
30184 LTS: 'HH:mm:ss',
30185 L: 'DD/MM/YYYY',
30186 LL: 'D MMMM YYYY',
30187 LLL: 'D MMMM YYYY HH:mm',
30188 LLLL: 'dddd D MMMM YYYY HH:mm'
30189 },
30190 calendar: {
30191 sameDay: '[اليوم على الساعة] LT',
30192 nextDay: '[غدا على الساعة] LT',
30193 nextWeek: 'dddd [على الساعة] LT',
30194 lastDay: '[أمس على الساعة] LT',
30195 lastWeek: 'dddd [على الساعة] LT',
30196 sameElse: 'L'
30197 },
30198 relativeTime: {
30199 future: 'في %s',
30200 past: 'منذ %s',
30201 s: 'ثوان',
30202 ss : '%d ثانية',
30203 m: 'دقيقة',
30204 mm: '%d دقائق',
30205 h: 'ساعة',
30206 hh: '%d ساعات',
30207 d: 'يوم',
30208 dd: '%d أيام',
30209 M: 'شهر',
30210 MM: '%d أشهر',
30211 y: 'سنة',
30212 yy: '%d سنوات'
30213 },
30214 week: {
30215 dow: 1, // Monday is the first day of the week.
30216 doy: 4 // The week that contains Jan 4th is the first week of the year.
30217 }
30218 });
30219
30220 return arTn;
30221
30222 })));
30223
30224
30225/***/ }),
30226/* 338 */
30227/***/ (function(module, exports, __webpack_require__) {
30228
30229 //! moment.js locale configuration
30230
30231 ;(function (global, factory) {
30232 true ? factory(__webpack_require__(327)) :
30233 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
30234 factory(global.moment)
30235 }(this, (function (moment) { 'use strict';
30236
30237
30238 var suffixes = {
30239 1: '-inci',
30240 5: '-inci',
30241 8: '-inci',
30242 70: '-inci',
30243 80: '-inci',
30244 2: '-nci',
30245 7: '-nci',
30246 20: '-nci',
30247 50: '-nci',
30248 3: '-üncü',
30249 4: '-üncü',
30250 100: '-üncü',
30251 6: '-ncı',
30252 9: '-uncu',
30253 10: '-uncu',
30254 30: '-uncu',
30255 60: '-ıncı',
30256 90: '-ıncı'
30257 };
30258
30259 var az = moment.defineLocale('az', {
30260 months : 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split('_'),
30261 monthsShort : 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'),
30262 weekdays : 'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split('_'),
30263 weekdaysShort : 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'),
30264 weekdaysMin : 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'),
30265 weekdaysParseExact : true,
30266 longDateFormat : {
30267 LT : 'HH:mm',
30268 LTS : 'HH:mm:ss',
30269 L : 'DD.MM.YYYY',
30270 LL : 'D MMMM YYYY',
30271 LLL : 'D MMMM YYYY HH:mm',
30272 LLLL : 'dddd, D MMMM YYYY HH:mm'
30273 },
30274 calendar : {
30275 sameDay : '[bugün saat] LT',
30276 nextDay : '[sabah saat] LT',
30277 nextWeek : '[gələn həftə] dddd [saat] LT',
30278 lastDay : '[dünən] LT',
30279 lastWeek : '[keçən həftə] dddd [saat] LT',
30280 sameElse : 'L'
30281 },
30282 relativeTime : {
30283 future : '%s sonra',
30284 past : '%s əvvəl',
30285 s : 'birneçə saniyə',
30286 ss : '%d saniyə',
30287 m : 'bir dəqiqə',
30288 mm : '%d dəqiqə',
30289 h : 'bir saat',
30290 hh : '%d saat',
30291 d : 'bir gün',
30292 dd : '%d gün',
30293 M : 'bir ay',
30294 MM : '%d ay',
30295 y : 'bir il',
30296 yy : '%d il'
30297 },
30298 meridiemParse: /gecə|səhər|gündüz|axşam/,
30299 isPM : function (input) {
30300 return /^(gündüz|axşam)$/.test(input);
30301 },
30302 meridiem : function (hour, minute, isLower) {
30303 if (hour < 4) {
30304 return 'gecə';
30305 } else if (hour < 12) {
30306 return 'səhər';
30307 } else if (hour < 17) {
30308 return 'gündüz';
30309 } else {
30310 return 'axşam';
30311 }
30312 },
30313 dayOfMonthOrdinalParse: /\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,
30314 ordinal : function (number) {
30315 if (number === 0) { // special case for zero
30316 return number + '-ıncı';
30317 }
30318 var a = number % 10,
30319 b = number % 100 - a,
30320 c = number >= 100 ? 100 : null;
30321 return number + (suffixes[a] || suffixes[b] || suffixes[c]);
30322 },
30323 week : {
30324 dow : 1, // Monday is the first day of the week.
30325 doy : 7 // The week that contains Jan 1st is the first week of the year.
30326 }
30327 });
30328
30329 return az;
30330
30331 })));
30332
30333
30334/***/ }),
30335/* 339 */
30336/***/ (function(module, exports, __webpack_require__) {
30337
30338 //! moment.js locale configuration
30339
30340 ;(function (global, factory) {
30341 true ? factory(__webpack_require__(327)) :
30342 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
30343 factory(global.moment)
30344 }(this, (function (moment) { 'use strict';
30345
30346
30347 function plural(word, num) {
30348 var forms = word.split('_');
30349 return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);
30350 }
30351 function relativeTimeWithPlural(number, withoutSuffix, key) {
30352 var format = {
30353 'ss': withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',
30354 'mm': withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін',
30355 'hh': withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін',
30356 'dd': 'дзень_дні_дзён',
30357 'MM': 'месяц_месяцы_месяцаў',
30358 'yy': 'год_гады_гадоў'
30359 };
30360 if (key === 'm') {
30361 return withoutSuffix ? 'хвіліна' : 'хвіліну';
30362 }
30363 else if (key === 'h') {
30364 return withoutSuffix ? 'гадзіна' : 'гадзіну';
30365 }
30366 else {
30367 return number + ' ' + plural(format[key], +number);
30368 }
30369 }
30370
30371 var be = moment.defineLocale('be', {
30372 months : {
30373 format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split('_'),
30374 standalone: 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split('_')
30375 },
30376 monthsShort : 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split('_'),
30377 weekdays : {
30378 format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split('_'),
30379 standalone: 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split('_'),
30380 isFormat: /\[ ?[Ууў] ?(?:мінулую|наступную)? ?\] ?dddd/
30381 },
30382 weekdaysShort : 'нд_пн_ат_ср_чц_пт_сб'.split('_'),
30383 weekdaysMin : 'нд_пн_ат_ср_чц_пт_сб'.split('_'),
30384 longDateFormat : {
30385 LT : 'HH:mm',
30386 LTS : 'HH:mm:ss',
30387 L : 'DD.MM.YYYY',
30388 LL : 'D MMMM YYYY г.',
30389 LLL : 'D MMMM YYYY г., HH:mm',
30390 LLLL : 'dddd, D MMMM YYYY г., HH:mm'
30391 },
30392 calendar : {
30393 sameDay: '[Сёння ў] LT',
30394 nextDay: '[Заўтра ў] LT',
30395 lastDay: '[Учора ў] LT',
30396 nextWeek: function () {
30397 return '[У] dddd [ў] LT';
30398 },
30399 lastWeek: function () {
30400 switch (this.day()) {
30401 case 0:
30402 case 3:
30403 case 5:
30404 case 6:
30405 return '[У мінулую] dddd [ў] LT';
30406 case 1:
30407 case 2:
30408 case 4:
30409 return '[У мінулы] dddd [ў] LT';
30410 }
30411 },
30412 sameElse: 'L'
30413 },
30414 relativeTime : {
30415 future : 'праз %s',
30416 past : '%s таму',
30417 s : 'некалькі секунд',
30418 m : relativeTimeWithPlural,
30419 mm : relativeTimeWithPlural,
30420 h : relativeTimeWithPlural,
30421 hh : relativeTimeWithPlural,
30422 d : 'дзень',
30423 dd : relativeTimeWithPlural,
30424 M : 'месяц',
30425 MM : relativeTimeWithPlural,
30426 y : 'год',
30427 yy : relativeTimeWithPlural
30428 },
30429 meridiemParse: /ночы|раніцы|дня|вечара/,
30430 isPM : function (input) {
30431 return /^(дня|вечара)$/.test(input);
30432 },
30433 meridiem : function (hour, minute, isLower) {
30434 if (hour < 4) {
30435 return 'ночы';
30436 } else if (hour < 12) {
30437 return 'раніцы';
30438 } else if (hour < 17) {
30439 return 'дня';
30440 } else {
30441 return 'вечара';
30442 }
30443 },
30444 dayOfMonthOrdinalParse: /\d{1,2}-(і|ы|га)/,
30445 ordinal: function (number, period) {
30446 switch (period) {
30447 case 'M':
30448 case 'd':
30449 case 'DDD':
30450 case 'w':
30451 case 'W':
30452 return (number % 10 === 2 || number % 10 === 3) && (number % 100 !== 12 && number % 100 !== 13) ? number + '-і' : number + '-ы';
30453 case 'D':
30454 return number + '-га';
30455 default:
30456 return number;
30457 }
30458 },
30459 week : {
30460 dow : 1, // Monday is the first day of the week.
30461 doy : 7 // The week that contains Jan 1st is the first week of the year.
30462 }
30463 });
30464
30465 return be;
30466
30467 })));
30468
30469
30470/***/ }),
30471/* 340 */
30472/***/ (function(module, exports, __webpack_require__) {
30473
30474 //! moment.js locale configuration
30475
30476 ;(function (global, factory) {
30477 true ? factory(__webpack_require__(327)) :
30478 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
30479 factory(global.moment)
30480 }(this, (function (moment) { 'use strict';
30481
30482
30483 var bg = moment.defineLocale('bg', {
30484 months : 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split('_'),
30485 monthsShort : 'янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'),
30486 weekdays : 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split('_'),
30487 weekdaysShort : 'нед_пон_вто_сря_чет_пет_съб'.split('_'),
30488 weekdaysMin : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),
30489 longDateFormat : {
30490 LT : 'H:mm',
30491 LTS : 'H:mm:ss',
30492 L : 'D.MM.YYYY',
30493 LL : 'D MMMM YYYY',
30494 LLL : 'D MMMM YYYY H:mm',
30495 LLLL : 'dddd, D MMMM YYYY H:mm'
30496 },
30497 calendar : {
30498 sameDay : '[Днес в] LT',
30499 nextDay : '[Утре в] LT',
30500 nextWeek : 'dddd [в] LT',
30501 lastDay : '[Вчера в] LT',
30502 lastWeek : function () {
30503 switch (this.day()) {
30504 case 0:
30505 case 3:
30506 case 6:
30507 return '[В изминалата] dddd [в] LT';
30508 case 1:
30509 case 2:
30510 case 4:
30511 case 5:
30512 return '[В изминалия] dddd [в] LT';
30513 }
30514 },
30515 sameElse : 'L'
30516 },
30517 relativeTime : {
30518 future : 'след %s',
30519 past : 'преди %s',
30520 s : 'няколко секунди',
30521 ss : '%d секунди',
30522 m : 'минута',
30523 mm : '%d минути',
30524 h : 'час',
30525 hh : '%d часа',
30526 d : 'ден',
30527 dd : '%d дни',
30528 M : 'месец',
30529 MM : '%d месеца',
30530 y : 'година',
30531 yy : '%d години'
30532 },
30533 dayOfMonthOrdinalParse: /\d{1,2}-(ев|ен|ти|ви|ри|ми)/,
30534 ordinal : function (number) {
30535 var lastDigit = number % 10,
30536 last2Digits = number % 100;
30537 if (number === 0) {
30538 return number + '-ев';
30539 } else if (last2Digits === 0) {
30540 return number + '-ен';
30541 } else if (last2Digits > 10 && last2Digits < 20) {
30542 return number + '-ти';
30543 } else if (lastDigit === 1) {
30544 return number + '-ви';
30545 } else if (lastDigit === 2) {
30546 return number + '-ри';
30547 } else if (lastDigit === 7 || lastDigit === 8) {
30548 return number + '-ми';
30549 } else {
30550 return number + '-ти';
30551 }
30552 },
30553 week : {
30554 dow : 1, // Monday is the first day of the week.
30555 doy : 7 // The week that contains Jan 1st is the first week of the year.
30556 }
30557 });
30558
30559 return bg;
30560
30561 })));
30562
30563
30564/***/ }),
30565/* 341 */
30566/***/ (function(module, exports, __webpack_require__) {
30567
30568 //! moment.js locale configuration
30569
30570 ;(function (global, factory) {
30571 true ? factory(__webpack_require__(327)) :
30572 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
30573 factory(global.moment)
30574 }(this, (function (moment) { 'use strict';
30575
30576
30577 var bm = moment.defineLocale('bm', {
30578 months : 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo'.split('_'),
30579 monthsShort : 'Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des'.split('_'),
30580 weekdays : 'Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'),
30581 weekdaysShort : 'Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib'.split('_'),
30582 weekdaysMin : 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'),
30583 longDateFormat : {
30584 LT : 'HH:mm',
30585 LTS : 'HH:mm:ss',
30586 L : 'DD/MM/YYYY',
30587 LL : 'MMMM [tile] D [san] YYYY',
30588 LLL : 'MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',
30589 LLLL : 'dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm'
30590 },
30591 calendar : {
30592 sameDay : '[Bi lɛrɛ] LT',
30593 nextDay : '[Sini lɛrɛ] LT',
30594 nextWeek : 'dddd [don lɛrɛ] LT',
30595 lastDay : '[Kunu lɛrɛ] LT',
30596 lastWeek : 'dddd [tɛmɛnen lɛrɛ] LT',
30597 sameElse : 'L'
30598 },
30599 relativeTime : {
30600 future : '%s kɔnɔ',
30601 past : 'a bɛ %s bɔ',
30602 s : 'sanga dama dama',
30603 ss : 'sekondi %d',
30604 m : 'miniti kelen',
30605 mm : 'miniti %d',
30606 h : 'lɛrɛ kelen',
30607 hh : 'lɛrɛ %d',
30608 d : 'tile kelen',
30609 dd : 'tile %d',
30610 M : 'kalo kelen',
30611 MM : 'kalo %d',
30612 y : 'san kelen',
30613 yy : 'san %d'
30614 },
30615 week : {
30616 dow : 1, // Monday is the first day of the week.
30617 doy : 4 // The week that contains Jan 4th is the first week of the year.
30618 }
30619 });
30620
30621 return bm;
30622
30623 })));
30624
30625
30626/***/ }),
30627/* 342 */
30628/***/ (function(module, exports, __webpack_require__) {
30629
30630 //! moment.js locale configuration
30631
30632 ;(function (global, factory) {
30633 true ? factory(__webpack_require__(327)) :
30634 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
30635 factory(global.moment)
30636 }(this, (function (moment) { 'use strict';
30637
30638
30639 var symbolMap = {
30640 '1': '১',
30641 '2': '২',
30642 '3': '৩',
30643 '4': '৪',
30644 '5': '৫',
30645 '6': '৬',
30646 '7': '৭',
30647 '8': '৮',
30648 '9': '৯',
30649 '0': '০'
30650 },
30651 numberMap = {
30652 '১': '1',
30653 '২': '2',
30654 '৩': '3',
30655 '৪': '4',
30656 '৫': '5',
30657 '৬': '6',
30658 '৭': '7',
30659 '৮': '8',
30660 '৯': '9',
30661 '০': '0'
30662 };
30663
30664 var bn = moment.defineLocale('bn', {
30665 months : 'জানুয়ারী_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split('_'),
30666 monthsShort : 'জানু_ফেব_মার্চ_এপ্র_মে_জুন_জুল_আগ_সেপ্ট_অক্টো_নভে_ডিসে'.split('_'),
30667 weekdays : 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split('_'),
30668 weekdaysShort : 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),
30669 weekdaysMin : 'রবি_সোম_মঙ্গ_বুধ_বৃহঃ_শুক্র_শনি'.split('_'),
30670 longDateFormat : {
30671 LT : 'A h:mm সময়',
30672 LTS : 'A h:mm:ss সময়',
30673 L : 'DD/MM/YYYY',
30674 LL : 'D MMMM YYYY',
30675 LLL : 'D MMMM YYYY, A h:mm সময়',
30676 LLLL : 'dddd, D MMMM YYYY, A h:mm সময়'
30677 },
30678 calendar : {
30679 sameDay : '[আজ] LT',
30680 nextDay : '[আগামীকাল] LT',
30681 nextWeek : 'dddd, LT',
30682 lastDay : '[গতকাল] LT',
30683 lastWeek : '[গত] dddd, LT',
30684 sameElse : 'L'
30685 },
30686 relativeTime : {
30687 future : '%s পরে',
30688 past : '%s আগে',
30689 s : 'কয়েক সেকেন্ড',
30690 ss : '%d সেকেন্ড',
30691 m : 'এক মিনিট',
30692 mm : '%d মিনিট',
30693 h : 'এক ঘন্টা',
30694 hh : '%d ঘন্টা',
30695 d : 'এক দিন',
30696 dd : '%d দিন',
30697 M : 'এক মাস',
30698 MM : '%d মাস',
30699 y : 'এক বছর',
30700 yy : '%d বছর'
30701 },
30702 preparse: function (string) {
30703 return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {
30704 return numberMap[match];
30705 });
30706 },
30707 postformat: function (string) {
30708 return string.replace(/\d/g, function (match) {
30709 return symbolMap[match];
30710 });
30711 },
30712 meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/,
30713 meridiemHour : function (hour, meridiem) {
30714 if (hour === 12) {
30715 hour = 0;
30716 }
30717 if ((meridiem === 'রাত' && hour >= 4) ||
30718 (meridiem === 'দুপুর' && hour < 5) ||
30719 meridiem === 'বিকাল') {
30720 return hour + 12;
30721 } else {
30722 return hour;
30723 }
30724 },
30725 meridiem : function (hour, minute, isLower) {
30726 if (hour < 4) {
30727 return 'রাত';
30728 } else if (hour < 10) {
30729 return 'সকাল';
30730 } else if (hour < 17) {
30731 return 'দুপুর';
30732 } else if (hour < 20) {
30733 return 'বিকাল';
30734 } else {
30735 return 'রাত';
30736 }
30737 },
30738 week : {
30739 dow : 0, // Sunday is the first day of the week.
30740 doy : 6 // The week that contains Jan 1st is the first week of the year.
30741 }
30742 });
30743
30744 return bn;
30745
30746 })));
30747
30748
30749/***/ }),
30750/* 343 */
30751/***/ (function(module, exports, __webpack_require__) {
30752
30753 //! moment.js locale configuration
30754
30755 ;(function (global, factory) {
30756 true ? factory(__webpack_require__(327)) :
30757 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
30758 factory(global.moment)
30759 }(this, (function (moment) { 'use strict';
30760
30761
30762 var symbolMap = {
30763 '1': '༡',
30764 '2': '༢',
30765 '3': '༣',
30766 '4': '༤',
30767 '5': '༥',
30768 '6': '༦',
30769 '7': '༧',
30770 '8': '༨',
30771 '9': '༩',
30772 '0': '༠'
30773 },
30774 numberMap = {
30775 '༡': '1',
30776 '༢': '2',
30777 '༣': '3',
30778 '༤': '4',
30779 '༥': '5',
30780 '༦': '6',
30781 '༧': '7',
30782 '༨': '8',
30783 '༩': '9',
30784 '༠': '0'
30785 };
30786
30787 var bo = moment.defineLocale('bo', {
30788 months : 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'),
30789 monthsShort : 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'),
30790 weekdays : 'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split('_'),
30791 weekdaysShort : 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'),
30792 weekdaysMin : 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'),
30793 longDateFormat : {
30794 LT : 'A h:mm',
30795 LTS : 'A h:mm:ss',
30796 L : 'DD/MM/YYYY',
30797 LL : 'D MMMM YYYY',
30798 LLL : 'D MMMM YYYY, A h:mm',
30799 LLLL : 'dddd, D MMMM YYYY, A h:mm'
30800 },
30801 calendar : {
30802 sameDay : '[དི་རིང] LT',
30803 nextDay : '[སང་ཉིན] LT',
30804 nextWeek : '[བདུན་ཕྲག་རྗེས་མ], LT',
30805 lastDay : '[ཁ་སང] LT',
30806 lastWeek : '[བདུན་ཕྲག་མཐའ་མ] dddd, LT',
30807 sameElse : 'L'
30808 },
30809 relativeTime : {
30810 future : '%s ལ་',
30811 past : '%s སྔན་ལ',
30812 s : 'ལམ་སང',
30813 ss : '%d སྐར་ཆ།',
30814 m : 'སྐར་མ་གཅིག',
30815 mm : '%d སྐར་མ',
30816 h : 'ཆུ་ཚོད་གཅིག',
30817 hh : '%d ཆུ་ཚོད',
30818 d : 'ཉིན་གཅིག',
30819 dd : '%d ཉིན་',
30820 M : 'ཟླ་བ་གཅིག',
30821 MM : '%d ཟླ་བ',
30822 y : 'ལོ་གཅིག',
30823 yy : '%d ལོ'
30824 },
30825 preparse: function (string) {
30826 return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) {
30827 return numberMap[match];
30828 });
30829 },
30830 postformat: function (string) {
30831 return string.replace(/\d/g, function (match) {
30832 return symbolMap[match];
30833 });
30834 },
30835 meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,
30836 meridiemHour : function (hour, meridiem) {
30837 if (hour === 12) {
30838 hour = 0;
30839 }
30840 if ((meridiem === 'མཚན་མོ' && hour >= 4) ||
30841 (meridiem === 'ཉིན་གུང' && hour < 5) ||
30842 meridiem === 'དགོང་དག') {
30843 return hour + 12;
30844 } else {
30845 return hour;
30846 }
30847 },
30848 meridiem : function (hour, minute, isLower) {
30849 if (hour < 4) {
30850 return 'མཚན་མོ';
30851 } else if (hour < 10) {
30852 return 'ཞོགས་ཀས';
30853 } else if (hour < 17) {
30854 return 'ཉིན་གུང';
30855 } else if (hour < 20) {
30856 return 'དགོང་དག';
30857 } else {
30858 return 'མཚན་མོ';
30859 }
30860 },
30861 week : {
30862 dow : 0, // Sunday is the first day of the week.
30863 doy : 6 // The week that contains Jan 1st is the first week of the year.
30864 }
30865 });
30866
30867 return bo;
30868
30869 })));
30870
30871
30872/***/ }),
30873/* 344 */
30874/***/ (function(module, exports, __webpack_require__) {
30875
30876 //! moment.js locale configuration
30877
30878 ;(function (global, factory) {
30879 true ? factory(__webpack_require__(327)) :
30880 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
30881 factory(global.moment)
30882 }(this, (function (moment) { 'use strict';
30883
30884
30885 function relativeTimeWithMutation(number, withoutSuffix, key) {
30886 var format = {
30887 'mm': 'munutenn',
30888 'MM': 'miz',
30889 'dd': 'devezh'
30890 };
30891 return number + ' ' + mutation(format[key], number);
30892 }
30893 function specialMutationForYears(number) {
30894 switch (lastNumber(number)) {
30895 case 1:
30896 case 3:
30897 case 4:
30898 case 5:
30899 case 9:
30900 return number + ' bloaz';
30901 default:
30902 return number + ' vloaz';
30903 }
30904 }
30905 function lastNumber(number) {
30906 if (number > 9) {
30907 return lastNumber(number % 10);
30908 }
30909 return number;
30910 }
30911 function mutation(text, number) {
30912 if (number === 2) {
30913 return softMutation(text);
30914 }
30915 return text;
30916 }
30917 function softMutation(text) {
30918 var mutationTable = {
30919 'm': 'v',
30920 'b': 'v',
30921 'd': 'z'
30922 };
30923 if (mutationTable[text.charAt(0)] === undefined) {
30924 return text;
30925 }
30926 return mutationTable[text.charAt(0)] + text.substring(1);
30927 }
30928
30929 var br = moment.defineLocale('br', {
30930 months : 'Genver_C\'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split('_'),
30931 monthsShort : 'Gen_C\'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'),
30932 weekdays : 'Sul_Lun_Meurzh_Merc\'her_Yaou_Gwener_Sadorn'.split('_'),
30933 weekdaysShort : 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'),
30934 weekdaysMin : 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'),
30935 weekdaysParseExact : true,
30936 longDateFormat : {
30937 LT : 'h[e]mm A',
30938 LTS : 'h[e]mm:ss A',
30939 L : 'DD/MM/YYYY',
30940 LL : 'D [a viz] MMMM YYYY',
30941 LLL : 'D [a viz] MMMM YYYY h[e]mm A',
30942 LLLL : 'dddd, D [a viz] MMMM YYYY h[e]mm A'
30943 },
30944 calendar : {
30945 sameDay : '[Hiziv da] LT',
30946 nextDay : '[Warc\'hoazh da] LT',
30947 nextWeek : 'dddd [da] LT',
30948 lastDay : '[Dec\'h da] LT',
30949 lastWeek : 'dddd [paset da] LT',
30950 sameElse : 'L'
30951 },
30952 relativeTime : {
30953 future : 'a-benn %s',
30954 past : '%s \'zo',
30955 s : 'un nebeud segondennoù',
30956 ss : '%d eilenn',
30957 m : 'ur vunutenn',
30958 mm : relativeTimeWithMutation,
30959 h : 'un eur',
30960 hh : '%d eur',
30961 d : 'un devezh',
30962 dd : relativeTimeWithMutation,
30963 M : 'ur miz',
30964 MM : relativeTimeWithMutation,
30965 y : 'ur bloaz',
30966 yy : specialMutationForYears
30967 },
30968 dayOfMonthOrdinalParse: /\d{1,2}(añ|vet)/,
30969 ordinal : function (number) {
30970 var output = (number === 1) ? 'añ' : 'vet';
30971 return number + output;
30972 },
30973 week : {
30974 dow : 1, // Monday is the first day of the week.
30975 doy : 4 // The week that contains Jan 4th is the first week of the year.
30976 }
30977 });
30978
30979 return br;
30980
30981 })));
30982
30983
30984/***/ }),
30985/* 345 */
30986/***/ (function(module, exports, __webpack_require__) {
30987
30988 //! moment.js locale configuration
30989
30990 ;(function (global, factory) {
30991 true ? factory(__webpack_require__(327)) :
30992 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
30993 factory(global.moment)
30994 }(this, (function (moment) { 'use strict';
30995
30996
30997 function translate(number, withoutSuffix, key) {
30998 var result = number + ' ';
30999 switch (key) {
31000 case 'ss':
31001 if (number === 1) {
31002 result += 'sekunda';
31003 } else if (number === 2 || number === 3 || number === 4) {
31004 result += 'sekunde';
31005 } else {
31006 result += 'sekundi';
31007 }
31008 return result;
31009 case 'm':
31010 return withoutSuffix ? 'jedna minuta' : 'jedne minute';
31011 case 'mm':
31012 if (number === 1) {
31013 result += 'minuta';
31014 } else if (number === 2 || number === 3 || number === 4) {
31015 result += 'minute';
31016 } else {
31017 result += 'minuta';
31018 }
31019 return result;
31020 case 'h':
31021 return withoutSuffix ? 'jedan sat' : 'jednog sata';
31022 case 'hh':
31023 if (number === 1) {
31024 result += 'sat';
31025 } else if (number === 2 || number === 3 || number === 4) {
31026 result += 'sata';
31027 } else {
31028 result += 'sati';
31029 }
31030 return result;
31031 case 'dd':
31032 if (number === 1) {
31033 result += 'dan';
31034 } else {
31035 result += 'dana';
31036 }
31037 return result;
31038 case 'MM':
31039 if (number === 1) {
31040 result += 'mjesec';
31041 } else if (number === 2 || number === 3 || number === 4) {
31042 result += 'mjeseca';
31043 } else {
31044 result += 'mjeseci';
31045 }
31046 return result;
31047 case 'yy':
31048 if (number === 1) {
31049 result += 'godina';
31050 } else if (number === 2 || number === 3 || number === 4) {
31051 result += 'godine';
31052 } else {
31053 result += 'godina';
31054 }
31055 return result;
31056 }
31057 }
31058
31059 var bs = moment.defineLocale('bs', {
31060 months : 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split('_'),
31061 monthsShort : 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split('_'),
31062 monthsParseExact: true,
31063 weekdays : 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),
31064 weekdaysShort : 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),
31065 weekdaysMin : 'ne_po_ut_sr_če_pe_su'.split('_'),
31066 weekdaysParseExact : true,
31067 longDateFormat : {
31068 LT : 'H:mm',
31069 LTS : 'H:mm:ss',
31070 L : 'DD.MM.YYYY',
31071 LL : 'D. MMMM YYYY',
31072 LLL : 'D. MMMM YYYY H:mm',
31073 LLLL : 'dddd, D. MMMM YYYY H:mm'
31074 },
31075 calendar : {
31076 sameDay : '[danas u] LT',
31077 nextDay : '[sutra u] LT',
31078 nextWeek : function () {
31079 switch (this.day()) {
31080 case 0:
31081 return '[u] [nedjelju] [u] LT';
31082 case 3:
31083 return '[u] [srijedu] [u] LT';
31084 case 6:
31085 return '[u] [subotu] [u] LT';
31086 case 1:
31087 case 2:
31088 case 4:
31089 case 5:
31090 return '[u] dddd [u] LT';
31091 }
31092 },
31093 lastDay : '[jučer u] LT',
31094 lastWeek : function () {
31095 switch (this.day()) {
31096 case 0:
31097 case 3:
31098 return '[prošlu] dddd [u] LT';
31099 case 6:
31100 return '[prošle] [subote] [u] LT';
31101 case 1:
31102 case 2:
31103 case 4:
31104 case 5:
31105 return '[prošli] dddd [u] LT';
31106 }
31107 },
31108 sameElse : 'L'
31109 },
31110 relativeTime : {
31111 future : 'za %s',
31112 past : 'prije %s',
31113 s : 'par sekundi',
31114 ss : translate,
31115 m : translate,
31116 mm : translate,
31117 h : translate,
31118 hh : translate,
31119 d : 'dan',
31120 dd : translate,
31121 M : 'mjesec',
31122 MM : translate,
31123 y : 'godinu',
31124 yy : translate
31125 },
31126 dayOfMonthOrdinalParse: /\d{1,2}\./,
31127 ordinal : '%d.',
31128 week : {
31129 dow : 1, // Monday is the first day of the week.
31130 doy : 7 // The week that contains Jan 1st is the first week of the year.
31131 }
31132 });
31133
31134 return bs;
31135
31136 })));
31137
31138
31139/***/ }),
31140/* 346 */
31141/***/ (function(module, exports, __webpack_require__) {
31142
31143 //! moment.js locale configuration
31144
31145 ;(function (global, factory) {
31146 true ? factory(__webpack_require__(327)) :
31147 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
31148 factory(global.moment)
31149 }(this, (function (moment) { 'use strict';
31150
31151
31152 var ca = moment.defineLocale('ca', {
31153 months : {
31154 standalone: 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split('_'),
31155 format: 'de gener_de febrer_de març_d\'abril_de maig_de juny_de juliol_d\'agost_de setembre_d\'octubre_de novembre_de desembre'.split('_'),
31156 isFormat: /D[oD]?(\s)+MMMM/
31157 },
31158 monthsShort : 'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split('_'),
31159 monthsParseExact : true,
31160 weekdays : 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split('_'),
31161 weekdaysShort : 'dg._dl._dt._dc._dj._dv._ds.'.split('_'),
31162 weekdaysMin : 'dg_dl_dt_dc_dj_dv_ds'.split('_'),
31163 weekdaysParseExact : true,
31164 longDateFormat : {
31165 LT : 'H:mm',
31166 LTS : 'H:mm:ss',
31167 L : 'DD/MM/YYYY',
31168 LL : 'D MMMM [de] YYYY',
31169 ll : 'D MMM YYYY',
31170 LLL : 'D MMMM [de] YYYY [a les] H:mm',
31171 lll : 'D MMM YYYY, H:mm',
31172 LLLL : 'dddd D MMMM [de] YYYY [a les] H:mm',
31173 llll : 'ddd D MMM YYYY, H:mm'
31174 },
31175 calendar : {
31176 sameDay : function () {
31177 return '[avui a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';
31178 },
31179 nextDay : function () {
31180 return '[demà a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';
31181 },
31182 nextWeek : function () {
31183 return 'dddd [a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';
31184 },
31185 lastDay : function () {
31186 return '[ahir a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';
31187 },
31188 lastWeek : function () {
31189 return '[el] dddd [passat a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';
31190 },
31191 sameElse : 'L'
31192 },
31193 relativeTime : {
31194 future : 'd\'aquí %s',
31195 past : 'fa %s',
31196 s : 'uns segons',
31197 ss : '%d segons',
31198 m : 'un minut',
31199 mm : '%d minuts',
31200 h : 'una hora',
31201 hh : '%d hores',
31202 d : 'un dia',
31203 dd : '%d dies',
31204 M : 'un mes',
31205 MM : '%d mesos',
31206 y : 'un any',
31207 yy : '%d anys'
31208 },
31209 dayOfMonthOrdinalParse: /\d{1,2}(r|n|t|è|a)/,
31210 ordinal : function (number, period) {
31211 var output = (number === 1) ? 'r' :
31212 (number === 2) ? 'n' :
31213 (number === 3) ? 'r' :
31214 (number === 4) ? 't' : 'è';
31215 if (period === 'w' || period === 'W') {
31216 output = 'a';
31217 }
31218 return number + output;
31219 },
31220 week : {
31221 dow : 1, // Monday is the first day of the week.
31222 doy : 4 // The week that contains Jan 4th is the first week of the year.
31223 }
31224 });
31225
31226 return ca;
31227
31228 })));
31229
31230
31231/***/ }),
31232/* 347 */
31233/***/ (function(module, exports, __webpack_require__) {
31234
31235 //! moment.js locale configuration
31236
31237 ;(function (global, factory) {
31238 true ? factory(__webpack_require__(327)) :
31239 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
31240 factory(global.moment)
31241 }(this, (function (moment) { 'use strict';
31242
31243
31244 var months = 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split('_'),
31245 monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_');
31246 function plural(n) {
31247 return (n > 1) && (n < 5) && (~~(n / 10) !== 1);
31248 }
31249 function translate(number, withoutSuffix, key, isFuture) {
31250 var result = number + ' ';
31251 switch (key) {
31252 case 's': // a few seconds / in a few seconds / a few seconds ago
31253 return (withoutSuffix || isFuture) ? 'pár sekund' : 'pár sekundami';
31254 case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago
31255 if (withoutSuffix || isFuture) {
31256 return result + (plural(number) ? 'sekundy' : 'sekund');
31257 } else {
31258 return result + 'sekundami';
31259 }
31260 break;
31261 case 'm': // a minute / in a minute / a minute ago
31262 return withoutSuffix ? 'minuta' : (isFuture ? 'minutu' : 'minutou');
31263 case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago
31264 if (withoutSuffix || isFuture) {
31265 return result + (plural(number) ? 'minuty' : 'minut');
31266 } else {
31267 return result + 'minutami';
31268 }
31269 break;
31270 case 'h': // an hour / in an hour / an hour ago
31271 return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou');
31272 case 'hh': // 9 hours / in 9 hours / 9 hours ago
31273 if (withoutSuffix || isFuture) {
31274 return result + (plural(number) ? 'hodiny' : 'hodin');
31275 } else {
31276 return result + 'hodinami';
31277 }
31278 break;
31279 case 'd': // a day / in a day / a day ago
31280 return (withoutSuffix || isFuture) ? 'den' : 'dnem';
31281 case 'dd': // 9 days / in 9 days / 9 days ago
31282 if (withoutSuffix || isFuture) {
31283 return result + (plural(number) ? 'dny' : 'dní');
31284 } else {
31285 return result + 'dny';
31286 }
31287 break;
31288 case 'M': // a month / in a month / a month ago
31289 return (withoutSuffix || isFuture) ? 'měsíc' : 'měsícem';
31290 case 'MM': // 9 months / in 9 months / 9 months ago
31291 if (withoutSuffix || isFuture) {
31292 return result + (plural(number) ? 'měsíce' : 'měsíců');
31293 } else {
31294 return result + 'měsíci';
31295 }
31296 break;
31297 case 'y': // a year / in a year / a year ago
31298 return (withoutSuffix || isFuture) ? 'rok' : 'rokem';
31299 case 'yy': // 9 years / in 9 years / 9 years ago
31300 if (withoutSuffix || isFuture) {
31301 return result + (plural(number) ? 'roky' : 'let');
31302 } else {
31303 return result + 'lety';
31304 }
31305 break;
31306 }
31307 }
31308
31309 var cs = moment.defineLocale('cs', {
31310 months : months,
31311 monthsShort : monthsShort,
31312 monthsParse : (function (months, monthsShort) {
31313 var i, _monthsParse = [];
31314 for (i = 0; i < 12; i++) {
31315 // use custom parser to solve problem with July (červenec)
31316 _monthsParse[i] = new RegExp('^' + months[i] + '$|^' + monthsShort[i] + '$', 'i');
31317 }
31318 return _monthsParse;
31319 }(months, monthsShort)),
31320 shortMonthsParse : (function (monthsShort) {
31321 var i, _shortMonthsParse = [];
31322 for (i = 0; i < 12; i++) {
31323 _shortMonthsParse[i] = new RegExp('^' + monthsShort[i] + '$', 'i');
31324 }
31325 return _shortMonthsParse;
31326 }(monthsShort)),
31327 longMonthsParse : (function (months) {
31328 var i, _longMonthsParse = [];
31329 for (i = 0; i < 12; i++) {
31330 _longMonthsParse[i] = new RegExp('^' + months[i] + '$', 'i');
31331 }
31332 return _longMonthsParse;
31333 }(months)),
31334 weekdays : 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'),
31335 weekdaysShort : 'ne_po_út_st_čt_pá_so'.split('_'),
31336 weekdaysMin : 'ne_po_út_st_čt_pá_so'.split('_'),
31337 longDateFormat : {
31338 LT: 'H:mm',
31339 LTS : 'H:mm:ss',
31340 L : 'DD.MM.YYYY',
31341 LL : 'D. MMMM YYYY',
31342 LLL : 'D. MMMM YYYY H:mm',
31343 LLLL : 'dddd D. MMMM YYYY H:mm',
31344 l : 'D. M. YYYY'
31345 },
31346 calendar : {
31347 sameDay: '[dnes v] LT',
31348 nextDay: '[zítra v] LT',
31349 nextWeek: function () {
31350 switch (this.day()) {
31351 case 0:
31352 return '[v neděli v] LT';
31353 case 1:
31354 case 2:
31355 return '[v] dddd [v] LT';
31356 case 3:
31357 return '[ve středu v] LT';
31358 case 4:
31359 return '[ve čtvrtek v] LT';
31360 case 5:
31361 return '[v pátek v] LT';
31362 case 6:
31363 return '[v sobotu v] LT';
31364 }
31365 },
31366 lastDay: '[včera v] LT',
31367 lastWeek: function () {
31368 switch (this.day()) {
31369 case 0:
31370 return '[minulou neděli v] LT';
31371 case 1:
31372 case 2:
31373 return '[minulé] dddd [v] LT';
31374 case 3:
31375 return '[minulou středu v] LT';
31376 case 4:
31377 case 5:
31378 return '[minulý] dddd [v] LT';
31379 case 6:
31380 return '[minulou sobotu v] LT';
31381 }
31382 },
31383 sameElse: 'L'
31384 },
31385 relativeTime : {
31386 future : 'za %s',
31387 past : 'před %s',
31388 s : translate,
31389 ss : translate,
31390 m : translate,
31391 mm : translate,
31392 h : translate,
31393 hh : translate,
31394 d : translate,
31395 dd : translate,
31396 M : translate,
31397 MM : translate,
31398 y : translate,
31399 yy : translate
31400 },
31401 dayOfMonthOrdinalParse : /\d{1,2}\./,
31402 ordinal : '%d.',
31403 week : {
31404 dow : 1, // Monday is the first day of the week.
31405 doy : 4 // The week that contains Jan 4th is the first week of the year.
31406 }
31407 });
31408
31409 return cs;
31410
31411 })));
31412
31413
31414/***/ }),
31415/* 348 */
31416/***/ (function(module, exports, __webpack_require__) {
31417
31418 //! moment.js locale configuration
31419
31420 ;(function (global, factory) {
31421 true ? factory(__webpack_require__(327)) :
31422 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
31423 factory(global.moment)
31424 }(this, (function (moment) { 'use strict';
31425
31426
31427 var cv = moment.defineLocale('cv', {
31428 months : 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split('_'),
31429 monthsShort : 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'),
31430 weekdays : 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split('_'),
31431 weekdaysShort : 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'),
31432 weekdaysMin : 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'),
31433 longDateFormat : {
31434 LT : 'HH:mm',
31435 LTS : 'HH:mm:ss',
31436 L : 'DD-MM-YYYY',
31437 LL : 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]',
31438 LLL : 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',
31439 LLLL : 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm'
31440 },
31441 calendar : {
31442 sameDay: '[Паян] LT [сехетре]',
31443 nextDay: '[Ыран] LT [сехетре]',
31444 lastDay: '[Ӗнер] LT [сехетре]',
31445 nextWeek: '[Ҫитес] dddd LT [сехетре]',
31446 lastWeek: '[Иртнӗ] dddd LT [сехетре]',
31447 sameElse: 'L'
31448 },
31449 relativeTime : {
31450 future : function (output) {
31451 var affix = /сехет$/i.exec(output) ? 'рен' : /ҫул$/i.exec(output) ? 'тан' : 'ран';
31452 return output + affix;
31453 },
31454 past : '%s каялла',
31455 s : 'пӗр-ик ҫеккунт',
31456 ss : '%d ҫеккунт',
31457 m : 'пӗр минут',
31458 mm : '%d минут',
31459 h : 'пӗр сехет',
31460 hh : '%d сехет',
31461 d : 'пӗр кун',
31462 dd : '%d кун',
31463 M : 'пӗр уйӑх',
31464 MM : '%d уйӑх',
31465 y : 'пӗр ҫул',
31466 yy : '%d ҫул'
31467 },
31468 dayOfMonthOrdinalParse: /\d{1,2}-мӗш/,
31469 ordinal : '%d-мӗш',
31470 week : {
31471 dow : 1, // Monday is the first day of the week.
31472 doy : 7 // The week that contains Jan 1st is the first week of the year.
31473 }
31474 });
31475
31476 return cv;
31477
31478 })));
31479
31480
31481/***/ }),
31482/* 349 */
31483/***/ (function(module, exports, __webpack_require__) {
31484
31485 //! moment.js locale configuration
31486
31487 ;(function (global, factory) {
31488 true ? factory(__webpack_require__(327)) :
31489 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
31490 factory(global.moment)
31491 }(this, (function (moment) { 'use strict';
31492
31493
31494 var cy = moment.defineLocale('cy', {
31495 months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split('_'),
31496 monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split('_'),
31497 weekdays: 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split('_'),
31498 weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'),
31499 weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'),
31500 weekdaysParseExact : true,
31501 // time formats are the same as en-gb
31502 longDateFormat: {
31503 LT: 'HH:mm',
31504 LTS : 'HH:mm:ss',
31505 L: 'DD/MM/YYYY',
31506 LL: 'D MMMM YYYY',
31507 LLL: 'D MMMM YYYY HH:mm',
31508 LLLL: 'dddd, D MMMM YYYY HH:mm'
31509 },
31510 calendar: {
31511 sameDay: '[Heddiw am] LT',
31512 nextDay: '[Yfory am] LT',
31513 nextWeek: 'dddd [am] LT',
31514 lastDay: '[Ddoe am] LT',
31515 lastWeek: 'dddd [diwethaf am] LT',
31516 sameElse: 'L'
31517 },
31518 relativeTime: {
31519 future: 'mewn %s',
31520 past: '%s yn ôl',
31521 s: 'ychydig eiliadau',
31522 ss: '%d eiliad',
31523 m: 'munud',
31524 mm: '%d munud',
31525 h: 'awr',
31526 hh: '%d awr',
31527 d: 'diwrnod',
31528 dd: '%d diwrnod',
31529 M: 'mis',
31530 MM: '%d mis',
31531 y: 'blwyddyn',
31532 yy: '%d flynedd'
31533 },
31534 dayOfMonthOrdinalParse: /\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,
31535 // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh
31536 ordinal: function (number) {
31537 var b = number,
31538 output = '',
31539 lookup = [
31540 '', 'af', 'il', 'ydd', 'ydd', 'ed', 'ed', 'ed', 'fed', 'fed', 'fed', // 1af to 10fed
31541 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'fed' // 11eg to 20fed
31542 ];
31543 if (b > 20) {
31544 if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) {
31545 output = 'fed'; // not 30ain, 70ain or 90ain
31546 } else {
31547 output = 'ain';
31548 }
31549 } else if (b > 0) {
31550 output = lookup[b];
31551 }
31552 return number + output;
31553 },
31554 week : {
31555 dow : 1, // Monday is the first day of the week.
31556 doy : 4 // The week that contains Jan 4th is the first week of the year.
31557 }
31558 });
31559
31560 return cy;
31561
31562 })));
31563
31564
31565/***/ }),
31566/* 350 */
31567/***/ (function(module, exports, __webpack_require__) {
31568
31569 //! moment.js locale configuration
31570
31571 ;(function (global, factory) {
31572 true ? factory(__webpack_require__(327)) :
31573 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
31574 factory(global.moment)
31575 }(this, (function (moment) { 'use strict';
31576
31577
31578 var da = moment.defineLocale('da', {
31579 months : 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split('_'),
31580 monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),
31581 weekdays : 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),
31582 weekdaysShort : 'søn_man_tir_ons_tor_fre_lør'.split('_'),
31583 weekdaysMin : 'sø_ma_ti_on_to_fr_lø'.split('_'),
31584 longDateFormat : {
31585 LT : 'HH:mm',
31586 LTS : 'HH:mm:ss',
31587 L : 'DD.MM.YYYY',
31588 LL : 'D. MMMM YYYY',
31589 LLL : 'D. MMMM YYYY HH:mm',
31590 LLLL : 'dddd [d.] D. MMMM YYYY [kl.] HH:mm'
31591 },
31592 calendar : {
31593 sameDay : '[i dag kl.] LT',
31594 nextDay : '[i morgen kl.] LT',
31595 nextWeek : 'på dddd [kl.] LT',
31596 lastDay : '[i går kl.] LT',
31597 lastWeek : '[i] dddd[s kl.] LT',
31598 sameElse : 'L'
31599 },
31600 relativeTime : {
31601 future : 'om %s',
31602 past : '%s siden',
31603 s : 'få sekunder',
31604 ss : '%d sekunder',
31605 m : 'et minut',
31606 mm : '%d minutter',
31607 h : 'en time',
31608 hh : '%d timer',
31609 d : 'en dag',
31610 dd : '%d dage',
31611 M : 'en måned',
31612 MM : '%d måneder',
31613 y : 'et år',
31614 yy : '%d år'
31615 },
31616 dayOfMonthOrdinalParse: /\d{1,2}\./,
31617 ordinal : '%d.',
31618 week : {
31619 dow : 1, // Monday is the first day of the week.
31620 doy : 4 // The week that contains Jan 4th is the first week of the year.
31621 }
31622 });
31623
31624 return da;
31625
31626 })));
31627
31628
31629/***/ }),
31630/* 351 */
31631/***/ (function(module, exports, __webpack_require__) {
31632
31633 //! moment.js locale configuration
31634
31635 ;(function (global, factory) {
31636 true ? factory(__webpack_require__(327)) :
31637 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
31638 factory(global.moment)
31639 }(this, (function (moment) { 'use strict';
31640
31641
31642 function processRelativeTime(number, withoutSuffix, key, isFuture) {
31643 var format = {
31644 'm': ['eine Minute', 'einer Minute'],
31645 'h': ['eine Stunde', 'einer Stunde'],
31646 'd': ['ein Tag', 'einem Tag'],
31647 'dd': [number + ' Tage', number + ' Tagen'],
31648 'M': ['ein Monat', 'einem Monat'],
31649 'MM': [number + ' Monate', number + ' Monaten'],
31650 'y': ['ein Jahr', 'einem Jahr'],
31651 'yy': [number + ' Jahre', number + ' Jahren']
31652 };
31653 return withoutSuffix ? format[key][0] : format[key][1];
31654 }
31655
31656 var de = moment.defineLocale('de', {
31657 months : 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),
31658 monthsShort : 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),
31659 monthsParseExact : true,
31660 weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),
31661 weekdaysShort : 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),
31662 weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),
31663 weekdaysParseExact : true,
31664 longDateFormat : {
31665 LT: 'HH:mm',
31666 LTS: 'HH:mm:ss',
31667 L : 'DD.MM.YYYY',
31668 LL : 'D. MMMM YYYY',
31669 LLL : 'D. MMMM YYYY HH:mm',
31670 LLLL : 'dddd, D. MMMM YYYY HH:mm'
31671 },
31672 calendar : {
31673 sameDay: '[heute um] LT [Uhr]',
31674 sameElse: 'L',
31675 nextDay: '[morgen um] LT [Uhr]',
31676 nextWeek: 'dddd [um] LT [Uhr]',
31677 lastDay: '[gestern um] LT [Uhr]',
31678 lastWeek: '[letzten] dddd [um] LT [Uhr]'
31679 },
31680 relativeTime : {
31681 future : 'in %s',
31682 past : 'vor %s',
31683 s : 'ein paar Sekunden',
31684 ss : '%d Sekunden',
31685 m : processRelativeTime,
31686 mm : '%d Minuten',
31687 h : processRelativeTime,
31688 hh : '%d Stunden',
31689 d : processRelativeTime,
31690 dd : processRelativeTime,
31691 M : processRelativeTime,
31692 MM : processRelativeTime,
31693 y : processRelativeTime,
31694 yy : processRelativeTime
31695 },
31696 dayOfMonthOrdinalParse: /\d{1,2}\./,
31697 ordinal : '%d.',
31698 week : {
31699 dow : 1, // Monday is the first day of the week.
31700 doy : 4 // The week that contains Jan 4th is the first week of the year.
31701 }
31702 });
31703
31704 return de;
31705
31706 })));
31707
31708
31709/***/ }),
31710/* 352 */
31711/***/ (function(module, exports, __webpack_require__) {
31712
31713 //! moment.js locale configuration
31714
31715 ;(function (global, factory) {
31716 true ? factory(__webpack_require__(327)) :
31717 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
31718 factory(global.moment)
31719 }(this, (function (moment) { 'use strict';
31720
31721
31722 function processRelativeTime(number, withoutSuffix, key, isFuture) {
31723 var format = {
31724 'm': ['eine Minute', 'einer Minute'],
31725 'h': ['eine Stunde', 'einer Stunde'],
31726 'd': ['ein Tag', 'einem Tag'],
31727 'dd': [number + ' Tage', number + ' Tagen'],
31728 'M': ['ein Monat', 'einem Monat'],
31729 'MM': [number + ' Monate', number + ' Monaten'],
31730 'y': ['ein Jahr', 'einem Jahr'],
31731 'yy': [number + ' Jahre', number + ' Jahren']
31732 };
31733 return withoutSuffix ? format[key][0] : format[key][1];
31734 }
31735
31736 var deAt = moment.defineLocale('de-at', {
31737 months : 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),
31738 monthsShort : 'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),
31739 monthsParseExact : true,
31740 weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),
31741 weekdaysShort : 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),
31742 weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),
31743 weekdaysParseExact : true,
31744 longDateFormat : {
31745 LT: 'HH:mm',
31746 LTS: 'HH:mm:ss',
31747 L : 'DD.MM.YYYY',
31748 LL : 'D. MMMM YYYY',
31749 LLL : 'D. MMMM YYYY HH:mm',
31750 LLLL : 'dddd, D. MMMM YYYY HH:mm'
31751 },
31752 calendar : {
31753 sameDay: '[heute um] LT [Uhr]',
31754 sameElse: 'L',
31755 nextDay: '[morgen um] LT [Uhr]',
31756 nextWeek: 'dddd [um] LT [Uhr]',
31757 lastDay: '[gestern um] LT [Uhr]',
31758 lastWeek: '[letzten] dddd [um] LT [Uhr]'
31759 },
31760 relativeTime : {
31761 future : 'in %s',
31762 past : 'vor %s',
31763 s : 'ein paar Sekunden',
31764 ss : '%d Sekunden',
31765 m : processRelativeTime,
31766 mm : '%d Minuten',
31767 h : processRelativeTime,
31768 hh : '%d Stunden',
31769 d : processRelativeTime,
31770 dd : processRelativeTime,
31771 M : processRelativeTime,
31772 MM : processRelativeTime,
31773 y : processRelativeTime,
31774 yy : processRelativeTime
31775 },
31776 dayOfMonthOrdinalParse: /\d{1,2}\./,
31777 ordinal : '%d.',
31778 week : {
31779 dow : 1, // Monday is the first day of the week.
31780 doy : 4 // The week that contains Jan 4th is the first week of the year.
31781 }
31782 });
31783
31784 return deAt;
31785
31786 })));
31787
31788
31789/***/ }),
31790/* 353 */
31791/***/ (function(module, exports, __webpack_require__) {
31792
31793 //! moment.js locale configuration
31794
31795 ;(function (global, factory) {
31796 true ? factory(__webpack_require__(327)) :
31797 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
31798 factory(global.moment)
31799 }(this, (function (moment) { 'use strict';
31800
31801
31802 function processRelativeTime(number, withoutSuffix, key, isFuture) {
31803 var format = {
31804 'm': ['eine Minute', 'einer Minute'],
31805 'h': ['eine Stunde', 'einer Stunde'],
31806 'd': ['ein Tag', 'einem Tag'],
31807 'dd': [number + ' Tage', number + ' Tagen'],
31808 'M': ['ein Monat', 'einem Monat'],
31809 'MM': [number + ' Monate', number + ' Monaten'],
31810 'y': ['ein Jahr', 'einem Jahr'],
31811 'yy': [number + ' Jahre', number + ' Jahren']
31812 };
31813 return withoutSuffix ? format[key][0] : format[key][1];
31814 }
31815
31816 var deCh = moment.defineLocale('de-ch', {
31817 months : 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),
31818 monthsShort : 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),
31819 monthsParseExact : true,
31820 weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),
31821 weekdaysShort : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),
31822 weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),
31823 weekdaysParseExact : true,
31824 longDateFormat : {
31825 LT: 'HH:mm',
31826 LTS: 'HH:mm:ss',
31827 L : 'DD.MM.YYYY',
31828 LL : 'D. MMMM YYYY',
31829 LLL : 'D. MMMM YYYY HH:mm',
31830 LLLL : 'dddd, D. MMMM YYYY HH:mm'
31831 },
31832 calendar : {
31833 sameDay: '[heute um] LT [Uhr]',
31834 sameElse: 'L',
31835 nextDay: '[morgen um] LT [Uhr]',
31836 nextWeek: 'dddd [um] LT [Uhr]',
31837 lastDay: '[gestern um] LT [Uhr]',
31838 lastWeek: '[letzten] dddd [um] LT [Uhr]'
31839 },
31840 relativeTime : {
31841 future : 'in %s',
31842 past : 'vor %s',
31843 s : 'ein paar Sekunden',
31844 ss : '%d Sekunden',
31845 m : processRelativeTime,
31846 mm : '%d Minuten',
31847 h : processRelativeTime,
31848 hh : '%d Stunden',
31849 d : processRelativeTime,
31850 dd : processRelativeTime,
31851 M : processRelativeTime,
31852 MM : processRelativeTime,
31853 y : processRelativeTime,
31854 yy : processRelativeTime
31855 },
31856 dayOfMonthOrdinalParse: /\d{1,2}\./,
31857 ordinal : '%d.',
31858 week : {
31859 dow : 1, // Monday is the first day of the week.
31860 doy : 4 // The week that contains Jan 4th is the first week of the year.
31861 }
31862 });
31863
31864 return deCh;
31865
31866 })));
31867
31868
31869/***/ }),
31870/* 354 */
31871/***/ (function(module, exports, __webpack_require__) {
31872
31873 //! moment.js locale configuration
31874
31875 ;(function (global, factory) {
31876 true ? factory(__webpack_require__(327)) :
31877 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
31878 factory(global.moment)
31879 }(this, (function (moment) { 'use strict';
31880
31881
31882 var months = [
31883 'ޖެނުއަރީ',
31884 'ފެބްރުއަރީ',
31885 'މާރިޗު',
31886 'އޭޕްރީލު',
31887 'މޭ',
31888 'ޖޫން',
31889 'ޖުލައި',
31890 'އޯގަސްޓު',
31891 'ސެޕްޓެމްބަރު',
31892 'އޮކްޓޯބަރު',
31893 'ނޮވެމްބަރު',
31894 'ޑިސެމްބަރު'
31895 ], weekdays = [
31896 'އާދިއްތަ',
31897 'ހޯމަ',
31898 'އަންގާރަ',
31899 'ބުދަ',
31900 'ބުރާސްފަތި',
31901 'ހުކުރު',
31902 'ހޮނިހިރު'
31903 ];
31904
31905 var dv = moment.defineLocale('dv', {
31906 months : months,
31907 monthsShort : months,
31908 weekdays : weekdays,
31909 weekdaysShort : weekdays,
31910 weekdaysMin : 'އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި'.split('_'),
31911 longDateFormat : {
31912
31913 LT : 'HH:mm',
31914 LTS : 'HH:mm:ss',
31915 L : 'D/M/YYYY',
31916 LL : 'D MMMM YYYY',
31917 LLL : 'D MMMM YYYY HH:mm',
31918 LLLL : 'dddd D MMMM YYYY HH:mm'
31919 },
31920 meridiemParse: /މކ|މފ/,
31921 isPM : function (input) {
31922 return 'މފ' === input;
31923 },
31924 meridiem : function (hour, minute, isLower) {
31925 if (hour < 12) {
31926 return 'މކ';
31927 } else {
31928 return 'މފ';
31929 }
31930 },
31931 calendar : {
31932 sameDay : '[މިއަދު] LT',
31933 nextDay : '[މާދަމާ] LT',
31934 nextWeek : 'dddd LT',
31935 lastDay : '[އިއްޔެ] LT',
31936 lastWeek : '[ފާއިތުވި] dddd LT',
31937 sameElse : 'L'
31938 },
31939 relativeTime : {
31940 future : 'ތެރޭގައި %s',
31941 past : 'ކުރިން %s',
31942 s : 'ސިކުންތުކޮޅެއް',
31943 ss : 'd% ސިކުންތު',
31944 m : 'މިނިޓެއް',
31945 mm : 'މިނިޓު %d',
31946 h : 'ގަޑިއިރެއް',
31947 hh : 'ގަޑިއިރު %d',
31948 d : 'ދުވަހެއް',
31949 dd : 'ދުވަސް %d',
31950 M : 'މަހެއް',
31951 MM : 'މަސް %d',
31952 y : 'އަހަރެއް',
31953 yy : 'އަހަރު %d'
31954 },
31955 preparse: function (string) {
31956 return string.replace(/،/g, ',');
31957 },
31958 postformat: function (string) {
31959 return string.replace(/,/g, '،');
31960 },
31961 week : {
31962 dow : 7, // Sunday is the first day of the week.
31963 doy : 12 // The week that contains Jan 1st is the first week of the year.
31964 }
31965 });
31966
31967 return dv;
31968
31969 })));
31970
31971
31972/***/ }),
31973/* 355 */
31974/***/ (function(module, exports, __webpack_require__) {
31975
31976 //! moment.js locale configuration
31977
31978 ;(function (global, factory) {
31979 true ? factory(__webpack_require__(327)) :
31980 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
31981 factory(global.moment)
31982 }(this, (function (moment) { 'use strict';
31983
31984 function isFunction(input) {
31985 return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';
31986 }
31987
31988
31989 var el = moment.defineLocale('el', {
31990 monthsNominativeEl : 'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split('_'),
31991 monthsGenitiveEl : 'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split('_'),
31992 months : function (momentToFormat, format) {
31993 if (!momentToFormat) {
31994 return this._monthsNominativeEl;
31995 } else if (typeof format === 'string' && /D/.test(format.substring(0, format.indexOf('MMMM')))) { // if there is a day number before 'MMMM'
31996 return this._monthsGenitiveEl[momentToFormat.month()];
31997 } else {
31998 return this._monthsNominativeEl[momentToFormat.month()];
31999 }
32000 },
32001 monthsShort : 'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split('_'),
32002 weekdays : 'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split('_'),
32003 weekdaysShort : 'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'),
32004 weekdaysMin : 'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'),
32005 meridiem : function (hours, minutes, isLower) {
32006 if (hours > 11) {
32007 return isLower ? 'μμ' : 'ΜΜ';
32008 } else {
32009 return isLower ? 'πμ' : 'ΠΜ';
32010 }
32011 },
32012 isPM : function (input) {
32013 return ((input + '').toLowerCase()[0] === 'μ');
32014 },
32015 meridiemParse : /[ΠΜ]\.?Μ?\.?/i,
32016 longDateFormat : {
32017 LT : 'h:mm A',
32018 LTS : 'h:mm:ss A',
32019 L : 'DD/MM/YYYY',
32020 LL : 'D MMMM YYYY',
32021 LLL : 'D MMMM YYYY h:mm A',
32022 LLLL : 'dddd, D MMMM YYYY h:mm A'
32023 },
32024 calendarEl : {
32025 sameDay : '[Σήμερα {}] LT',
32026 nextDay : '[Αύριο {}] LT',
32027 nextWeek : 'dddd [{}] LT',
32028 lastDay : '[Χθες {}] LT',
32029 lastWeek : function () {
32030 switch (this.day()) {
32031 case 6:
32032 return '[το προηγούμενο] dddd [{}] LT';
32033 default:
32034 return '[την προηγούμενη] dddd [{}] LT';
32035 }
32036 },
32037 sameElse : 'L'
32038 },
32039 calendar : function (key, mom) {
32040 var output = this._calendarEl[key],
32041 hours = mom && mom.hours();
32042 if (isFunction(output)) {
32043 output = output.apply(mom);
32044 }
32045 return output.replace('{}', (hours % 12 === 1 ? 'στη' : 'στις'));
32046 },
32047 relativeTime : {
32048 future : 'σε %s',
32049 past : '%s πριν',
32050 s : 'λίγα δευτερόλεπτα',
32051 ss : '%d δευτερόλεπτα',
32052 m : 'ένα λεπτό',
32053 mm : '%d λεπτά',
32054 h : 'μία ώρα',
32055 hh : '%d ώρες',
32056 d : 'μία μέρα',
32057 dd : '%d μέρες',
32058 M : 'ένας μήνας',
32059 MM : '%d μήνες',
32060 y : 'ένας χρόνος',
32061 yy : '%d χρόνια'
32062 },
32063 dayOfMonthOrdinalParse: /\d{1,2}η/,
32064 ordinal: '%dη',
32065 week : {
32066 dow : 1, // Monday is the first day of the week.
32067 doy : 4 // The week that contains Jan 4st is the first week of the year.
32068 }
32069 });
32070
32071 return el;
32072
32073 })));
32074
32075
32076/***/ }),
32077/* 356 */
32078/***/ (function(module, exports, __webpack_require__) {
32079
32080 //! moment.js locale configuration
32081
32082 ;(function (global, factory) {
32083 true ? factory(__webpack_require__(327)) :
32084 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
32085 factory(global.moment)
32086 }(this, (function (moment) { 'use strict';
32087
32088
32089 var enAu = moment.defineLocale('en-au', {
32090 months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
32091 monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
32092 weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
32093 weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
32094 weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
32095 longDateFormat : {
32096 LT : 'h:mm A',
32097 LTS : 'h:mm:ss A',
32098 L : 'DD/MM/YYYY',
32099 LL : 'D MMMM YYYY',
32100 LLL : 'D MMMM YYYY h:mm A',
32101 LLLL : 'dddd, D MMMM YYYY h:mm A'
32102 },
32103 calendar : {
32104 sameDay : '[Today at] LT',
32105 nextDay : '[Tomorrow at] LT',
32106 nextWeek : 'dddd [at] LT',
32107 lastDay : '[Yesterday at] LT',
32108 lastWeek : '[Last] dddd [at] LT',
32109 sameElse : 'L'
32110 },
32111 relativeTime : {
32112 future : 'in %s',
32113 past : '%s ago',
32114 s : 'a few seconds',
32115 ss : '%d seconds',
32116 m : 'a minute',
32117 mm : '%d minutes',
32118 h : 'an hour',
32119 hh : '%d hours',
32120 d : 'a day',
32121 dd : '%d days',
32122 M : 'a month',
32123 MM : '%d months',
32124 y : 'a year',
32125 yy : '%d years'
32126 },
32127 dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
32128 ordinal : function (number) {
32129 var b = number % 10,
32130 output = (~~(number % 100 / 10) === 1) ? 'th' :
32131 (b === 1) ? 'st' :
32132 (b === 2) ? 'nd' :
32133 (b === 3) ? 'rd' : 'th';
32134 return number + output;
32135 },
32136 week : {
32137 dow : 1, // Monday is the first day of the week.
32138 doy : 4 // The week that contains Jan 4th is the first week of the year.
32139 }
32140 });
32141
32142 return enAu;
32143
32144 })));
32145
32146
32147/***/ }),
32148/* 357 */
32149/***/ (function(module, exports, __webpack_require__) {
32150
32151 //! moment.js locale configuration
32152
32153 ;(function (global, factory) {
32154 true ? factory(__webpack_require__(327)) :
32155 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
32156 factory(global.moment)
32157 }(this, (function (moment) { 'use strict';
32158
32159
32160 var enCa = moment.defineLocale('en-ca', {
32161 months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
32162 monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
32163 weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
32164 weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
32165 weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
32166 longDateFormat : {
32167 LT : 'h:mm A',
32168 LTS : 'h:mm:ss A',
32169 L : 'YYYY-MM-DD',
32170 LL : 'MMMM D, YYYY',
32171 LLL : 'MMMM D, YYYY h:mm A',
32172 LLLL : 'dddd, MMMM D, YYYY h:mm A'
32173 },
32174 calendar : {
32175 sameDay : '[Today at] LT',
32176 nextDay : '[Tomorrow at] LT',
32177 nextWeek : 'dddd [at] LT',
32178 lastDay : '[Yesterday at] LT',
32179 lastWeek : '[Last] dddd [at] LT',
32180 sameElse : 'L'
32181 },
32182 relativeTime : {
32183 future : 'in %s',
32184 past : '%s ago',
32185 s : 'a few seconds',
32186 ss : '%d seconds',
32187 m : 'a minute',
32188 mm : '%d minutes',
32189 h : 'an hour',
32190 hh : '%d hours',
32191 d : 'a day',
32192 dd : '%d days',
32193 M : 'a month',
32194 MM : '%d months',
32195 y : 'a year',
32196 yy : '%d years'
32197 },
32198 dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
32199 ordinal : function (number) {
32200 var b = number % 10,
32201 output = (~~(number % 100 / 10) === 1) ? 'th' :
32202 (b === 1) ? 'st' :
32203 (b === 2) ? 'nd' :
32204 (b === 3) ? 'rd' : 'th';
32205 return number + output;
32206 }
32207 });
32208
32209 return enCa;
32210
32211 })));
32212
32213
32214/***/ }),
32215/* 358 */
32216/***/ (function(module, exports, __webpack_require__) {
32217
32218 //! moment.js locale configuration
32219
32220 ;(function (global, factory) {
32221 true ? factory(__webpack_require__(327)) :
32222 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
32223 factory(global.moment)
32224 }(this, (function (moment) { 'use strict';
32225
32226
32227 var enGb = moment.defineLocale('en-gb', {
32228 months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
32229 monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
32230 weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
32231 weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
32232 weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
32233 longDateFormat : {
32234 LT : 'HH:mm',
32235 LTS : 'HH:mm:ss',
32236 L : 'DD/MM/YYYY',
32237 LL : 'D MMMM YYYY',
32238 LLL : 'D MMMM YYYY HH:mm',
32239 LLLL : 'dddd, D MMMM YYYY HH:mm'
32240 },
32241 calendar : {
32242 sameDay : '[Today at] LT',
32243 nextDay : '[Tomorrow at] LT',
32244 nextWeek : 'dddd [at] LT',
32245 lastDay : '[Yesterday at] LT',
32246 lastWeek : '[Last] dddd [at] LT',
32247 sameElse : 'L'
32248 },
32249 relativeTime : {
32250 future : 'in %s',
32251 past : '%s ago',
32252 s : 'a few seconds',
32253 ss : '%d seconds',
32254 m : 'a minute',
32255 mm : '%d minutes',
32256 h : 'an hour',
32257 hh : '%d hours',
32258 d : 'a day',
32259 dd : '%d days',
32260 M : 'a month',
32261 MM : '%d months',
32262 y : 'a year',
32263 yy : '%d years'
32264 },
32265 dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
32266 ordinal : function (number) {
32267 var b = number % 10,
32268 output = (~~(number % 100 / 10) === 1) ? 'th' :
32269 (b === 1) ? 'st' :
32270 (b === 2) ? 'nd' :
32271 (b === 3) ? 'rd' : 'th';
32272 return number + output;
32273 },
32274 week : {
32275 dow : 1, // Monday is the first day of the week.
32276 doy : 4 // The week that contains Jan 4th is the first week of the year.
32277 }
32278 });
32279
32280 return enGb;
32281
32282 })));
32283
32284
32285/***/ }),
32286/* 359 */
32287/***/ (function(module, exports, __webpack_require__) {
32288
32289 //! moment.js locale configuration
32290
32291 ;(function (global, factory) {
32292 true ? factory(__webpack_require__(327)) :
32293 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
32294 factory(global.moment)
32295 }(this, (function (moment) { 'use strict';
32296
32297
32298 var enIe = moment.defineLocale('en-ie', {
32299 months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
32300 monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
32301 weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
32302 weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
32303 weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
32304 longDateFormat : {
32305 LT : 'HH:mm',
32306 LTS : 'HH:mm:ss',
32307 L : 'DD-MM-YYYY',
32308 LL : 'D MMMM YYYY',
32309 LLL : 'D MMMM YYYY HH:mm',
32310 LLLL : 'dddd D MMMM YYYY HH:mm'
32311 },
32312 calendar : {
32313 sameDay : '[Today at] LT',
32314 nextDay : '[Tomorrow at] LT',
32315 nextWeek : 'dddd [at] LT',
32316 lastDay : '[Yesterday at] LT',
32317 lastWeek : '[Last] dddd [at] LT',
32318 sameElse : 'L'
32319 },
32320 relativeTime : {
32321 future : 'in %s',
32322 past : '%s ago',
32323 s : 'a few seconds',
32324 ss : '%d seconds',
32325 m : 'a minute',
32326 mm : '%d minutes',
32327 h : 'an hour',
32328 hh : '%d hours',
32329 d : 'a day',
32330 dd : '%d days',
32331 M : 'a month',
32332 MM : '%d months',
32333 y : 'a year',
32334 yy : '%d years'
32335 },
32336 dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
32337 ordinal : function (number) {
32338 var b = number % 10,
32339 output = (~~(number % 100 / 10) === 1) ? 'th' :
32340 (b === 1) ? 'st' :
32341 (b === 2) ? 'nd' :
32342 (b === 3) ? 'rd' : 'th';
32343 return number + output;
32344 },
32345 week : {
32346 dow : 1, // Monday is the first day of the week.
32347 doy : 4 // The week that contains Jan 4th is the first week of the year.
32348 }
32349 });
32350
32351 return enIe;
32352
32353 })));
32354
32355
32356/***/ }),
32357/* 360 */
32358/***/ (function(module, exports, __webpack_require__) {
32359
32360 //! moment.js locale configuration
32361
32362 ;(function (global, factory) {
32363 true ? factory(__webpack_require__(327)) :
32364 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
32365 factory(global.moment)
32366 }(this, (function (moment) { 'use strict';
32367
32368
32369 var enIl = moment.defineLocale('en-il', {
32370 months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
32371 monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
32372 weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
32373 weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
32374 weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
32375 longDateFormat : {
32376 LT : 'HH:mm',
32377 LTS : 'HH:mm:ss',
32378 L : 'DD/MM/YYYY',
32379 LL : 'D MMMM YYYY',
32380 LLL : 'D MMMM YYYY HH:mm',
32381 LLLL : 'dddd, D MMMM YYYY HH:mm'
32382 },
32383 calendar : {
32384 sameDay : '[Today at] LT',
32385 nextDay : '[Tomorrow at] LT',
32386 nextWeek : 'dddd [at] LT',
32387 lastDay : '[Yesterday at] LT',
32388 lastWeek : '[Last] dddd [at] LT',
32389 sameElse : 'L'
32390 },
32391 relativeTime : {
32392 future : 'in %s',
32393 past : '%s ago',
32394 s : 'a few seconds',
32395 m : 'a minute',
32396 mm : '%d minutes',
32397 h : 'an hour',
32398 hh : '%d hours',
32399 d : 'a day',
32400 dd : '%d days',
32401 M : 'a month',
32402 MM : '%d months',
32403 y : 'a year',
32404 yy : '%d years'
32405 },
32406 dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
32407 ordinal : function (number) {
32408 var b = number % 10,
32409 output = (~~(number % 100 / 10) === 1) ? 'th' :
32410 (b === 1) ? 'st' :
32411 (b === 2) ? 'nd' :
32412 (b === 3) ? 'rd' : 'th';
32413 return number + output;
32414 }
32415 });
32416
32417 return enIl;
32418
32419 })));
32420
32421
32422/***/ }),
32423/* 361 */
32424/***/ (function(module, exports, __webpack_require__) {
32425
32426 //! moment.js locale configuration
32427
32428 ;(function (global, factory) {
32429 true ? factory(__webpack_require__(327)) :
32430 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
32431 factory(global.moment)
32432 }(this, (function (moment) { 'use strict';
32433
32434
32435 var enNz = moment.defineLocale('en-nz', {
32436 months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
32437 monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
32438 weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
32439 weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
32440 weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
32441 longDateFormat : {
32442 LT : 'h:mm A',
32443 LTS : 'h:mm:ss A',
32444 L : 'DD/MM/YYYY',
32445 LL : 'D MMMM YYYY',
32446 LLL : 'D MMMM YYYY h:mm A',
32447 LLLL : 'dddd, D MMMM YYYY h:mm A'
32448 },
32449 calendar : {
32450 sameDay : '[Today at] LT',
32451 nextDay : '[Tomorrow at] LT',
32452 nextWeek : 'dddd [at] LT',
32453 lastDay : '[Yesterday at] LT',
32454 lastWeek : '[Last] dddd [at] LT',
32455 sameElse : 'L'
32456 },
32457 relativeTime : {
32458 future : 'in %s',
32459 past : '%s ago',
32460 s : 'a few seconds',
32461 ss : '%d seconds',
32462 m : 'a minute',
32463 mm : '%d minutes',
32464 h : 'an hour',
32465 hh : '%d hours',
32466 d : 'a day',
32467 dd : '%d days',
32468 M : 'a month',
32469 MM : '%d months',
32470 y : 'a year',
32471 yy : '%d years'
32472 },
32473 dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
32474 ordinal : function (number) {
32475 var b = number % 10,
32476 output = (~~(number % 100 / 10) === 1) ? 'th' :
32477 (b === 1) ? 'st' :
32478 (b === 2) ? 'nd' :
32479 (b === 3) ? 'rd' : 'th';
32480 return number + output;
32481 },
32482 week : {
32483 dow : 1, // Monday is the first day of the week.
32484 doy : 4 // The week that contains Jan 4th is the first week of the year.
32485 }
32486 });
32487
32488 return enNz;
32489
32490 })));
32491
32492
32493/***/ }),
32494/* 362 */
32495/***/ (function(module, exports, __webpack_require__) {
32496
32497 //! moment.js locale configuration
32498
32499 ;(function (global, factory) {
32500 true ? factory(__webpack_require__(327)) :
32501 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
32502 factory(global.moment)
32503 }(this, (function (moment) { 'use strict';
32504
32505
32506 var eo = moment.defineLocale('eo', {
32507 months : 'januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro'.split('_'),
32508 monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aŭg_sep_okt_nov_dec'.split('_'),
32509 weekdays : 'dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato'.split('_'),
32510 weekdaysShort : 'dim_lun_mard_merk_ĵaŭ_ven_sab'.split('_'),
32511 weekdaysMin : 'di_lu_ma_me_ĵa_ve_sa'.split('_'),
32512 longDateFormat : {
32513 LT : 'HH:mm',
32514 LTS : 'HH:mm:ss',
32515 L : 'YYYY-MM-DD',
32516 LL : 'D[-a de] MMMM, YYYY',
32517 LLL : 'D[-a de] MMMM, YYYY HH:mm',
32518 LLLL : 'dddd, [la] D[-a de] MMMM, YYYY HH:mm'
32519 },
32520 meridiemParse: /[ap]\.t\.m/i,
32521 isPM: function (input) {
32522 return input.charAt(0).toLowerCase() === 'p';
32523 },
32524 meridiem : function (hours, minutes, isLower) {
32525 if (hours > 11) {
32526 return isLower ? 'p.t.m.' : 'P.T.M.';
32527 } else {
32528 return isLower ? 'a.t.m.' : 'A.T.M.';
32529 }
32530 },
32531 calendar : {
32532 sameDay : '[Hodiaŭ je] LT',
32533 nextDay : '[Morgaŭ je] LT',
32534 nextWeek : 'dddd [je] LT',
32535 lastDay : '[Hieraŭ je] LT',
32536 lastWeek : '[pasinta] dddd [je] LT',
32537 sameElse : 'L'
32538 },
32539 relativeTime : {
32540 future : 'post %s',
32541 past : 'antaŭ %s',
32542 s : 'sekundoj',
32543 ss : '%d sekundoj',
32544 m : 'minuto',
32545 mm : '%d minutoj',
32546 h : 'horo',
32547 hh : '%d horoj',
32548 d : 'tago',//ne 'diurno', ĉar estas uzita por proksimumo
32549 dd : '%d tagoj',
32550 M : 'monato',
32551 MM : '%d monatoj',
32552 y : 'jaro',
32553 yy : '%d jaroj'
32554 },
32555 dayOfMonthOrdinalParse: /\d{1,2}a/,
32556 ordinal : '%da',
32557 week : {
32558 dow : 1, // Monday is the first day of the week.
32559 doy : 7 // The week that contains Jan 1st is the first week of the year.
32560 }
32561 });
32562
32563 return eo;
32564
32565 })));
32566
32567
32568/***/ }),
32569/* 363 */
32570/***/ (function(module, exports, __webpack_require__) {
32571
32572 //! moment.js locale configuration
32573
32574 ;(function (global, factory) {
32575 true ? factory(__webpack_require__(327)) :
32576 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
32577 factory(global.moment)
32578 }(this, (function (moment) { 'use strict';
32579
32580
32581 var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),
32582 monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');
32583
32584 var monthsParse = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i];
32585 var monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;
32586
32587 var es = moment.defineLocale('es', {
32588 months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),
32589 monthsShort : function (m, format) {
32590 if (!m) {
32591 return monthsShortDot;
32592 } else if (/-MMM-/.test(format)) {
32593 return monthsShort[m.month()];
32594 } else {
32595 return monthsShortDot[m.month()];
32596 }
32597 },
32598 monthsRegex : monthsRegex,
32599 monthsShortRegex : monthsRegex,
32600 monthsStrictRegex : /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,
32601 monthsShortStrictRegex : /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,
32602 monthsParse : monthsParse,
32603 longMonthsParse : monthsParse,
32604 shortMonthsParse : monthsParse,
32605 weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),
32606 weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),
32607 weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'),
32608 weekdaysParseExact : true,
32609 longDateFormat : {
32610 LT : 'H:mm',
32611 LTS : 'H:mm:ss',
32612 L : 'DD/MM/YYYY',
32613 LL : 'D [de] MMMM [de] YYYY',
32614 LLL : 'D [de] MMMM [de] YYYY H:mm',
32615 LLLL : 'dddd, D [de] MMMM [de] YYYY H:mm'
32616 },
32617 calendar : {
32618 sameDay : function () {
32619 return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
32620 },
32621 nextDay : function () {
32622 return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
32623 },
32624 nextWeek : function () {
32625 return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
32626 },
32627 lastDay : function () {
32628 return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
32629 },
32630 lastWeek : function () {
32631 return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
32632 },
32633 sameElse : 'L'
32634 },
32635 relativeTime : {
32636 future : 'en %s',
32637 past : 'hace %s',
32638 s : 'unos segundos',
32639 ss : '%d segundos',
32640 m : 'un minuto',
32641 mm : '%d minutos',
32642 h : 'una hora',
32643 hh : '%d horas',
32644 d : 'un día',
32645 dd : '%d días',
32646 M : 'un mes',
32647 MM : '%d meses',
32648 y : 'un año',
32649 yy : '%d años'
32650 },
32651 dayOfMonthOrdinalParse : /\d{1,2}º/,
32652 ordinal : '%dº',
32653 week : {
32654 dow : 1, // Monday is the first day of the week.
32655 doy : 4 // The week that contains Jan 4th is the first week of the year.
32656 }
32657 });
32658
32659 return es;
32660
32661 })));
32662
32663
32664/***/ }),
32665/* 364 */
32666/***/ (function(module, exports, __webpack_require__) {
32667
32668 //! moment.js locale configuration
32669
32670 ;(function (global, factory) {
32671 true ? factory(__webpack_require__(327)) :
32672 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
32673 factory(global.moment)
32674 }(this, (function (moment) { 'use strict';
32675
32676
32677 var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),
32678 monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');
32679
32680 var monthsParse = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i];
32681 var monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;
32682
32683 var esDo = moment.defineLocale('es-do', {
32684 months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),
32685 monthsShort : function (m, format) {
32686 if (!m) {
32687 return monthsShortDot;
32688 } else if (/-MMM-/.test(format)) {
32689 return monthsShort[m.month()];
32690 } else {
32691 return monthsShortDot[m.month()];
32692 }
32693 },
32694 monthsRegex: monthsRegex,
32695 monthsShortRegex: monthsRegex,
32696 monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,
32697 monthsShortStrictRegex: /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,
32698 monthsParse: monthsParse,
32699 longMonthsParse: monthsParse,
32700 shortMonthsParse: monthsParse,
32701 weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),
32702 weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),
32703 weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'),
32704 weekdaysParseExact : true,
32705 longDateFormat : {
32706 LT : 'h:mm A',
32707 LTS : 'h:mm:ss A',
32708 L : 'DD/MM/YYYY',
32709 LL : 'D [de] MMMM [de] YYYY',
32710 LLL : 'D [de] MMMM [de] YYYY h:mm A',
32711 LLLL : 'dddd, D [de] MMMM [de] YYYY h:mm A'
32712 },
32713 calendar : {
32714 sameDay : function () {
32715 return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
32716 },
32717 nextDay : function () {
32718 return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
32719 },
32720 nextWeek : function () {
32721 return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
32722 },
32723 lastDay : function () {
32724 return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
32725 },
32726 lastWeek : function () {
32727 return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
32728 },
32729 sameElse : 'L'
32730 },
32731 relativeTime : {
32732 future : 'en %s',
32733 past : 'hace %s',
32734 s : 'unos segundos',
32735 ss : '%d segundos',
32736 m : 'un minuto',
32737 mm : '%d minutos',
32738 h : 'una hora',
32739 hh : '%d horas',
32740 d : 'un día',
32741 dd : '%d días',
32742 M : 'un mes',
32743 MM : '%d meses',
32744 y : 'un año',
32745 yy : '%d años'
32746 },
32747 dayOfMonthOrdinalParse : /\d{1,2}º/,
32748 ordinal : '%dº',
32749 week : {
32750 dow : 1, // Monday is the first day of the week.
32751 doy : 4 // The week that contains Jan 4th is the first week of the year.
32752 }
32753 });
32754
32755 return esDo;
32756
32757 })));
32758
32759
32760/***/ }),
32761/* 365 */
32762/***/ (function(module, exports, __webpack_require__) {
32763
32764 //! moment.js locale configuration
32765
32766 ;(function (global, factory) {
32767 true ? factory(__webpack_require__(327)) :
32768 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
32769 factory(global.moment)
32770 }(this, (function (moment) { 'use strict';
32771
32772
32773 var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),
32774 monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');
32775
32776 var esUs = moment.defineLocale('es-us', {
32777 months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),
32778 monthsShort : function (m, format) {
32779 if (!m) {
32780 return monthsShortDot;
32781 } else if (/-MMM-/.test(format)) {
32782 return monthsShort[m.month()];
32783 } else {
32784 return monthsShortDot[m.month()];
32785 }
32786 },
32787 monthsParseExact : true,
32788 weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),
32789 weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),
32790 weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'),
32791 weekdaysParseExact : true,
32792 longDateFormat : {
32793 LT : 'h:mm A',
32794 LTS : 'h:mm:ss A',
32795 L : 'MM/DD/YYYY',
32796 LL : 'MMMM [de] D [de] YYYY',
32797 LLL : 'MMMM [de] D [de] YYYY h:mm A',
32798 LLLL : 'dddd, MMMM [de] D [de] YYYY h:mm A'
32799 },
32800 calendar : {
32801 sameDay : function () {
32802 return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
32803 },
32804 nextDay : function () {
32805 return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
32806 },
32807 nextWeek : function () {
32808 return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
32809 },
32810 lastDay : function () {
32811 return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
32812 },
32813 lastWeek : function () {
32814 return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
32815 },
32816 sameElse : 'L'
32817 },
32818 relativeTime : {
32819 future : 'en %s',
32820 past : 'hace %s',
32821 s : 'unos segundos',
32822 ss : '%d segundos',
32823 m : 'un minuto',
32824 mm : '%d minutos',
32825 h : 'una hora',
32826 hh : '%d horas',
32827 d : 'un día',
32828 dd : '%d días',
32829 M : 'un mes',
32830 MM : '%d meses',
32831 y : 'un año',
32832 yy : '%d años'
32833 },
32834 dayOfMonthOrdinalParse : /\d{1,2}º/,
32835 ordinal : '%dº',
32836 week : {
32837 dow : 0, // Sunday is the first day of the week.
32838 doy : 6 // The week that contains Jan 1st is the first week of the year.
32839 }
32840 });
32841
32842 return esUs;
32843
32844 })));
32845
32846
32847/***/ }),
32848/* 366 */
32849/***/ (function(module, exports, __webpack_require__) {
32850
32851 //! moment.js locale configuration
32852
32853 ;(function (global, factory) {
32854 true ? factory(__webpack_require__(327)) :
32855 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
32856 factory(global.moment)
32857 }(this, (function (moment) { 'use strict';
32858
32859
32860 function processRelativeTime(number, withoutSuffix, key, isFuture) {
32861 var format = {
32862 's' : ['mõne sekundi', 'mõni sekund', 'paar sekundit'],
32863 'ss': [number + 'sekundi', number + 'sekundit'],
32864 'm' : ['ühe minuti', 'üks minut'],
32865 'mm': [number + ' minuti', number + ' minutit'],
32866 'h' : ['ühe tunni', 'tund aega', 'üks tund'],
32867 'hh': [number + ' tunni', number + ' tundi'],
32868 'd' : ['ühe päeva', 'üks päev'],
32869 'M' : ['kuu aja', 'kuu aega', 'üks kuu'],
32870 'MM': [number + ' kuu', number + ' kuud'],
32871 'y' : ['ühe aasta', 'aasta', 'üks aasta'],
32872 'yy': [number + ' aasta', number + ' aastat']
32873 };
32874 if (withoutSuffix) {
32875 return format[key][2] ? format[key][2] : format[key][1];
32876 }
32877 return isFuture ? format[key][0] : format[key][1];
32878 }
32879
32880 var et = moment.defineLocale('et', {
32881 months : 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split('_'),
32882 monthsShort : 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split('_'),
32883 weekdays : 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split('_'),
32884 weekdaysShort : 'P_E_T_K_N_R_L'.split('_'),
32885 weekdaysMin : 'P_E_T_K_N_R_L'.split('_'),
32886 longDateFormat : {
32887 LT : 'H:mm',
32888 LTS : 'H:mm:ss',
32889 L : 'DD.MM.YYYY',
32890 LL : 'D. MMMM YYYY',
32891 LLL : 'D. MMMM YYYY H:mm',
32892 LLLL : 'dddd, D. MMMM YYYY H:mm'
32893 },
32894 calendar : {
32895 sameDay : '[Täna,] LT',
32896 nextDay : '[Homme,] LT',
32897 nextWeek : '[Järgmine] dddd LT',
32898 lastDay : '[Eile,] LT',
32899 lastWeek : '[Eelmine] dddd LT',
32900 sameElse : 'L'
32901 },
32902 relativeTime : {
32903 future : '%s pärast',
32904 past : '%s tagasi',
32905 s : processRelativeTime,
32906 ss : processRelativeTime,
32907 m : processRelativeTime,
32908 mm : processRelativeTime,
32909 h : processRelativeTime,
32910 hh : processRelativeTime,
32911 d : processRelativeTime,
32912 dd : '%d päeva',
32913 M : processRelativeTime,
32914 MM : processRelativeTime,
32915 y : processRelativeTime,
32916 yy : processRelativeTime
32917 },
32918 dayOfMonthOrdinalParse: /\d{1,2}\./,
32919 ordinal : '%d.',
32920 week : {
32921 dow : 1, // Monday is the first day of the week.
32922 doy : 4 // The week that contains Jan 4th is the first week of the year.
32923 }
32924 });
32925
32926 return et;
32927
32928 })));
32929
32930
32931/***/ }),
32932/* 367 */
32933/***/ (function(module, exports, __webpack_require__) {
32934
32935 //! moment.js locale configuration
32936
32937 ;(function (global, factory) {
32938 true ? factory(__webpack_require__(327)) :
32939 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
32940 factory(global.moment)
32941 }(this, (function (moment) { 'use strict';
32942
32943
32944 var eu = moment.defineLocale('eu', {
32945 months : 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split('_'),
32946 monthsShort : 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split('_'),
32947 monthsParseExact : true,
32948 weekdays : 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split('_'),
32949 weekdaysShort : 'ig._al._ar._az._og._ol._lr.'.split('_'),
32950 weekdaysMin : 'ig_al_ar_az_og_ol_lr'.split('_'),
32951 weekdaysParseExact : true,
32952 longDateFormat : {
32953 LT : 'HH:mm',
32954 LTS : 'HH:mm:ss',
32955 L : 'YYYY-MM-DD',
32956 LL : 'YYYY[ko] MMMM[ren] D[a]',
32957 LLL : 'YYYY[ko] MMMM[ren] D[a] HH:mm',
32958 LLLL : 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm',
32959 l : 'YYYY-M-D',
32960 ll : 'YYYY[ko] MMM D[a]',
32961 lll : 'YYYY[ko] MMM D[a] HH:mm',
32962 llll : 'ddd, YYYY[ko] MMM D[a] HH:mm'
32963 },
32964 calendar : {
32965 sameDay : '[gaur] LT[etan]',
32966 nextDay : '[bihar] LT[etan]',
32967 nextWeek : 'dddd LT[etan]',
32968 lastDay : '[atzo] LT[etan]',
32969 lastWeek : '[aurreko] dddd LT[etan]',
32970 sameElse : 'L'
32971 },
32972 relativeTime : {
32973 future : '%s barru',
32974 past : 'duela %s',
32975 s : 'segundo batzuk',
32976 ss : '%d segundo',
32977 m : 'minutu bat',
32978 mm : '%d minutu',
32979 h : 'ordu bat',
32980 hh : '%d ordu',
32981 d : 'egun bat',
32982 dd : '%d egun',
32983 M : 'hilabete bat',
32984 MM : '%d hilabete',
32985 y : 'urte bat',
32986 yy : '%d urte'
32987 },
32988 dayOfMonthOrdinalParse: /\d{1,2}\./,
32989 ordinal : '%d.',
32990 week : {
32991 dow : 1, // Monday is the first day of the week.
32992 doy : 7 // The week that contains Jan 1st is the first week of the year.
32993 }
32994 });
32995
32996 return eu;
32997
32998 })));
32999
33000
33001/***/ }),
33002/* 368 */
33003/***/ (function(module, exports, __webpack_require__) {
33004
33005 //! moment.js locale configuration
33006
33007 ;(function (global, factory) {
33008 true ? factory(__webpack_require__(327)) :
33009 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
33010 factory(global.moment)
33011 }(this, (function (moment) { 'use strict';
33012
33013
33014 var symbolMap = {
33015 '1': '۱',
33016 '2': '۲',
33017 '3': '۳',
33018 '4': '۴',
33019 '5': '۵',
33020 '6': '۶',
33021 '7': '۷',
33022 '8': '۸',
33023 '9': '۹',
33024 '0': '۰'
33025 }, numberMap = {
33026 '۱': '1',
33027 '۲': '2',
33028 '۳': '3',
33029 '۴': '4',
33030 '۵': '5',
33031 '۶': '6',
33032 '۷': '7',
33033 '۸': '8',
33034 '۹': '9',
33035 '۰': '0'
33036 };
33037
33038 var fa = moment.defineLocale('fa', {
33039 months : 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),
33040 monthsShort : 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),
33041 weekdays : 'یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه'.split('_'),
33042 weekdaysShort : 'یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه'.split('_'),
33043 weekdaysMin : 'ی_د_س_چ_پ_ج_ش'.split('_'),
33044 weekdaysParseExact : true,
33045 longDateFormat : {
33046 LT : 'HH:mm',
33047 LTS : 'HH:mm:ss',
33048 L : 'DD/MM/YYYY',
33049 LL : 'D MMMM YYYY',
33050 LLL : 'D MMMM YYYY HH:mm',
33051 LLLL : 'dddd, D MMMM YYYY HH:mm'
33052 },
33053 meridiemParse: /قبل از ظهر|بعد از ظهر/,
33054 isPM: function (input) {
33055 return /بعد از ظهر/.test(input);
33056 },
33057 meridiem : function (hour, minute, isLower) {
33058 if (hour < 12) {
33059 return 'قبل از ظهر';
33060 } else {
33061 return 'بعد از ظهر';
33062 }
33063 },
33064 calendar : {
33065 sameDay : '[امروز ساعت] LT',
33066 nextDay : '[فردا ساعت] LT',
33067 nextWeek : 'dddd [ساعت] LT',
33068 lastDay : '[دیروز ساعت] LT',
33069 lastWeek : 'dddd [پیش] [ساعت] LT',
33070 sameElse : 'L'
33071 },
33072 relativeTime : {
33073 future : 'در %s',
33074 past : '%s پیش',
33075 s : 'چند ثانیه',
33076 ss : 'ثانیه d%',
33077 m : 'یک دقیقه',
33078 mm : '%d دقیقه',
33079 h : 'یک ساعت',
33080 hh : '%d ساعت',
33081 d : 'یک روز',
33082 dd : '%d روز',
33083 M : 'یک ماه',
33084 MM : '%d ماه',
33085 y : 'یک سال',
33086 yy : '%d سال'
33087 },
33088 preparse: function (string) {
33089 return string.replace(/[۰-۹]/g, function (match) {
33090 return numberMap[match];
33091 }).replace(/،/g, ',');
33092 },
33093 postformat: function (string) {
33094 return string.replace(/\d/g, function (match) {
33095 return symbolMap[match];
33096 }).replace(/,/g, '،');
33097 },
33098 dayOfMonthOrdinalParse: /\d{1,2}م/,
33099 ordinal : '%dم',
33100 week : {
33101 dow : 6, // Saturday is the first day of the week.
33102 doy : 12 // The week that contains Jan 1st is the first week of the year.
33103 }
33104 });
33105
33106 return fa;
33107
33108 })));
33109
33110
33111/***/ }),
33112/* 369 */
33113/***/ (function(module, exports, __webpack_require__) {
33114
33115 //! moment.js locale configuration
33116
33117 ;(function (global, factory) {
33118 true ? factory(__webpack_require__(327)) :
33119 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
33120 factory(global.moment)
33121 }(this, (function (moment) { 'use strict';
33122
33123
33124 var numbersPast = 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(' '),
33125 numbersFuture = [
33126 'nolla', 'yhden', 'kahden', 'kolmen', 'neljän', 'viiden', 'kuuden',
33127 numbersPast[7], numbersPast[8], numbersPast[9]
33128 ];
33129 function translate(number, withoutSuffix, key, isFuture) {
33130 var result = '';
33131 switch (key) {
33132 case 's':
33133 return isFuture ? 'muutaman sekunnin' : 'muutama sekunti';
33134 case 'ss':
33135 return isFuture ? 'sekunnin' : 'sekuntia';
33136 case 'm':
33137 return isFuture ? 'minuutin' : 'minuutti';
33138 case 'mm':
33139 result = isFuture ? 'minuutin' : 'minuuttia';
33140 break;
33141 case 'h':
33142 return isFuture ? 'tunnin' : 'tunti';
33143 case 'hh':
33144 result = isFuture ? 'tunnin' : 'tuntia';
33145 break;
33146 case 'd':
33147 return isFuture ? 'päivän' : 'päivä';
33148 case 'dd':
33149 result = isFuture ? 'päivän' : 'päivää';
33150 break;
33151 case 'M':
33152 return isFuture ? 'kuukauden' : 'kuukausi';
33153 case 'MM':
33154 result = isFuture ? 'kuukauden' : 'kuukautta';
33155 break;
33156 case 'y':
33157 return isFuture ? 'vuoden' : 'vuosi';
33158 case 'yy':
33159 result = isFuture ? 'vuoden' : 'vuotta';
33160 break;
33161 }
33162 result = verbalNumber(number, isFuture) + ' ' + result;
33163 return result;
33164 }
33165 function verbalNumber(number, isFuture) {
33166 return number < 10 ? (isFuture ? numbersFuture[number] : numbersPast[number]) : number;
33167 }
33168
33169 var fi = moment.defineLocale('fi', {
33170 months : 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split('_'),
33171 monthsShort : 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split('_'),
33172 weekdays : 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split('_'),
33173 weekdaysShort : 'su_ma_ti_ke_to_pe_la'.split('_'),
33174 weekdaysMin : 'su_ma_ti_ke_to_pe_la'.split('_'),
33175 longDateFormat : {
33176 LT : 'HH.mm',
33177 LTS : 'HH.mm.ss',
33178 L : 'DD.MM.YYYY',
33179 LL : 'Do MMMM[ta] YYYY',
33180 LLL : 'Do MMMM[ta] YYYY, [klo] HH.mm',
33181 LLLL : 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm',
33182 l : 'D.M.YYYY',
33183 ll : 'Do MMM YYYY',
33184 lll : 'Do MMM YYYY, [klo] HH.mm',
33185 llll : 'ddd, Do MMM YYYY, [klo] HH.mm'
33186 },
33187 calendar : {
33188 sameDay : '[tänään] [klo] LT',
33189 nextDay : '[huomenna] [klo] LT',
33190 nextWeek : 'dddd [klo] LT',
33191 lastDay : '[eilen] [klo] LT',
33192 lastWeek : '[viime] dddd[na] [klo] LT',
33193 sameElse : 'L'
33194 },
33195 relativeTime : {
33196 future : '%s päästä',
33197 past : '%s sitten',
33198 s : translate,
33199 ss : translate,
33200 m : translate,
33201 mm : translate,
33202 h : translate,
33203 hh : translate,
33204 d : translate,
33205 dd : translate,
33206 M : translate,
33207 MM : translate,
33208 y : translate,
33209 yy : translate
33210 },
33211 dayOfMonthOrdinalParse: /\d{1,2}\./,
33212 ordinal : '%d.',
33213 week : {
33214 dow : 1, // Monday is the first day of the week.
33215 doy : 4 // The week that contains Jan 4th is the first week of the year.
33216 }
33217 });
33218
33219 return fi;
33220
33221 })));
33222
33223
33224/***/ }),
33225/* 370 */
33226/***/ (function(module, exports, __webpack_require__) {
33227
33228 //! moment.js locale configuration
33229
33230 ;(function (global, factory) {
33231 true ? factory(__webpack_require__(327)) :
33232 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
33233 factory(global.moment)
33234 }(this, (function (moment) { 'use strict';
33235
33236
33237 var fo = moment.defineLocale('fo', {
33238 months : 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split('_'),
33239 monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),
33240 weekdays : 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split('_'),
33241 weekdaysShort : 'sun_mán_týs_mik_hós_frí_ley'.split('_'),
33242 weekdaysMin : 'su_má_tý_mi_hó_fr_le'.split('_'),
33243 longDateFormat : {
33244 LT : 'HH:mm',
33245 LTS : 'HH:mm:ss',
33246 L : 'DD/MM/YYYY',
33247 LL : 'D MMMM YYYY',
33248 LLL : 'D MMMM YYYY HH:mm',
33249 LLLL : 'dddd D. MMMM, YYYY HH:mm'
33250 },
33251 calendar : {
33252 sameDay : '[Í dag kl.] LT',
33253 nextDay : '[Í morgin kl.] LT',
33254 nextWeek : 'dddd [kl.] LT',
33255 lastDay : '[Í gjár kl.] LT',
33256 lastWeek : '[síðstu] dddd [kl] LT',
33257 sameElse : 'L'
33258 },
33259 relativeTime : {
33260 future : 'um %s',
33261 past : '%s síðani',
33262 s : 'fá sekund',
33263 ss : '%d sekundir',
33264 m : 'ein minutt',
33265 mm : '%d minuttir',
33266 h : 'ein tími',
33267 hh : '%d tímar',
33268 d : 'ein dagur',
33269 dd : '%d dagar',
33270 M : 'ein mánaði',
33271 MM : '%d mánaðir',
33272 y : 'eitt ár',
33273 yy : '%d ár'
33274 },
33275 dayOfMonthOrdinalParse: /\d{1,2}\./,
33276 ordinal : '%d.',
33277 week : {
33278 dow : 1, // Monday is the first day of the week.
33279 doy : 4 // The week that contains Jan 4th is the first week of the year.
33280 }
33281 });
33282
33283 return fo;
33284
33285 })));
33286
33287
33288/***/ }),
33289/* 371 */
33290/***/ (function(module, exports, __webpack_require__) {
33291
33292 //! moment.js locale configuration
33293
33294 ;(function (global, factory) {
33295 true ? factory(__webpack_require__(327)) :
33296 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
33297 factory(global.moment)
33298 }(this, (function (moment) { 'use strict';
33299
33300
33301 var fr = moment.defineLocale('fr', {
33302 months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),
33303 monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),
33304 monthsParseExact : true,
33305 weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),
33306 weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),
33307 weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'),
33308 weekdaysParseExact : true,
33309 longDateFormat : {
33310 LT : 'HH:mm',
33311 LTS : 'HH:mm:ss',
33312 L : 'DD/MM/YYYY',
33313 LL : 'D MMMM YYYY',
33314 LLL : 'D MMMM YYYY HH:mm',
33315 LLLL : 'dddd D MMMM YYYY HH:mm'
33316 },
33317 calendar : {
33318 sameDay : '[Aujourd’hui à] LT',
33319 nextDay : '[Demain à] LT',
33320 nextWeek : 'dddd [à] LT',
33321 lastDay : '[Hier à] LT',
33322 lastWeek : 'dddd [dernier à] LT',
33323 sameElse : 'L'
33324 },
33325 relativeTime : {
33326 future : 'dans %s',
33327 past : 'il y a %s',
33328 s : 'quelques secondes',
33329 ss : '%d secondes',
33330 m : 'une minute',
33331 mm : '%d minutes',
33332 h : 'une heure',
33333 hh : '%d heures',
33334 d : 'un jour',
33335 dd : '%d jours',
33336 M : 'un mois',
33337 MM : '%d mois',
33338 y : 'un an',
33339 yy : '%d ans'
33340 },
33341 dayOfMonthOrdinalParse: /\d{1,2}(er|)/,
33342 ordinal : function (number, period) {
33343 switch (period) {
33344 // TODO: Return 'e' when day of month > 1. Move this case inside
33345 // block for masculine words below.
33346 // See https://github.com/moment/moment/issues/3375
33347 case 'D':
33348 return number + (number === 1 ? 'er' : '');
33349
33350 // Words with masculine grammatical gender: mois, trimestre, jour
33351 default:
33352 case 'M':
33353 case 'Q':
33354 case 'DDD':
33355 case 'd':
33356 return number + (number === 1 ? 'er' : 'e');
33357
33358 // Words with feminine grammatical gender: semaine
33359 case 'w':
33360 case 'W':
33361 return number + (number === 1 ? 're' : 'e');
33362 }
33363 },
33364 week : {
33365 dow : 1, // Monday is the first day of the week.
33366 doy : 4 // The week that contains Jan 4th is the first week of the year.
33367 }
33368 });
33369
33370 return fr;
33371
33372 })));
33373
33374
33375/***/ }),
33376/* 372 */
33377/***/ (function(module, exports, __webpack_require__) {
33378
33379 //! moment.js locale configuration
33380
33381 ;(function (global, factory) {
33382 true ? factory(__webpack_require__(327)) :
33383 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
33384 factory(global.moment)
33385 }(this, (function (moment) { 'use strict';
33386
33387
33388 var frCa = moment.defineLocale('fr-ca', {
33389 months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),
33390 monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),
33391 monthsParseExact : true,
33392 weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),
33393 weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),
33394 weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'),
33395 weekdaysParseExact : true,
33396 longDateFormat : {
33397 LT : 'HH:mm',
33398 LTS : 'HH:mm:ss',
33399 L : 'YYYY-MM-DD',
33400 LL : 'D MMMM YYYY',
33401 LLL : 'D MMMM YYYY HH:mm',
33402 LLLL : 'dddd D MMMM YYYY HH:mm'
33403 },
33404 calendar : {
33405 sameDay : '[Aujourd’hui à] LT',
33406 nextDay : '[Demain à] LT',
33407 nextWeek : 'dddd [à] LT',
33408 lastDay : '[Hier à] LT',
33409 lastWeek : 'dddd [dernier à] LT',
33410 sameElse : 'L'
33411 },
33412 relativeTime : {
33413 future : 'dans %s',
33414 past : 'il y a %s',
33415 s : 'quelques secondes',
33416 ss : '%d secondes',
33417 m : 'une minute',
33418 mm : '%d minutes',
33419 h : 'une heure',
33420 hh : '%d heures',
33421 d : 'un jour',
33422 dd : '%d jours',
33423 M : 'un mois',
33424 MM : '%d mois',
33425 y : 'un an',
33426 yy : '%d ans'
33427 },
33428 dayOfMonthOrdinalParse: /\d{1,2}(er|e)/,
33429 ordinal : function (number, period) {
33430 switch (period) {
33431 // Words with masculine grammatical gender: mois, trimestre, jour
33432 default:
33433 case 'M':
33434 case 'Q':
33435 case 'D':
33436 case 'DDD':
33437 case 'd':
33438 return number + (number === 1 ? 'er' : 'e');
33439
33440 // Words with feminine grammatical gender: semaine
33441 case 'w':
33442 case 'W':
33443 return number + (number === 1 ? 're' : 'e');
33444 }
33445 }
33446 });
33447
33448 return frCa;
33449
33450 })));
33451
33452
33453/***/ }),
33454/* 373 */
33455/***/ (function(module, exports, __webpack_require__) {
33456
33457 //! moment.js locale configuration
33458
33459 ;(function (global, factory) {
33460 true ? factory(__webpack_require__(327)) :
33461 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
33462 factory(global.moment)
33463 }(this, (function (moment) { 'use strict';
33464
33465
33466 var frCh = moment.defineLocale('fr-ch', {
33467 months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),
33468 monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),
33469 monthsParseExact : true,
33470 weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),
33471 weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),
33472 weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'),
33473 weekdaysParseExact : true,
33474 longDateFormat : {
33475 LT : 'HH:mm',
33476 LTS : 'HH:mm:ss',
33477 L : 'DD.MM.YYYY',
33478 LL : 'D MMMM YYYY',
33479 LLL : 'D MMMM YYYY HH:mm',
33480 LLLL : 'dddd D MMMM YYYY HH:mm'
33481 },
33482 calendar : {
33483 sameDay : '[Aujourd’hui à] LT',
33484 nextDay : '[Demain à] LT',
33485 nextWeek : 'dddd [à] LT',
33486 lastDay : '[Hier à] LT',
33487 lastWeek : 'dddd [dernier à] LT',
33488 sameElse : 'L'
33489 },
33490 relativeTime : {
33491 future : 'dans %s',
33492 past : 'il y a %s',
33493 s : 'quelques secondes',
33494 ss : '%d secondes',
33495 m : 'une minute',
33496 mm : '%d minutes',
33497 h : 'une heure',
33498 hh : '%d heures',
33499 d : 'un jour',
33500 dd : '%d jours',
33501 M : 'un mois',
33502 MM : '%d mois',
33503 y : 'un an',
33504 yy : '%d ans'
33505 },
33506 dayOfMonthOrdinalParse: /\d{1,2}(er|e)/,
33507 ordinal : function (number, period) {
33508 switch (period) {
33509 // Words with masculine grammatical gender: mois, trimestre, jour
33510 default:
33511 case 'M':
33512 case 'Q':
33513 case 'D':
33514 case 'DDD':
33515 case 'd':
33516 return number + (number === 1 ? 'er' : 'e');
33517
33518 // Words with feminine grammatical gender: semaine
33519 case 'w':
33520 case 'W':
33521 return number + (number === 1 ? 're' : 'e');
33522 }
33523 },
33524 week : {
33525 dow : 1, // Monday is the first day of the week.
33526 doy : 4 // The week that contains Jan 4th is the first week of the year.
33527 }
33528 });
33529
33530 return frCh;
33531
33532 })));
33533
33534
33535/***/ }),
33536/* 374 */
33537/***/ (function(module, exports, __webpack_require__) {
33538
33539 //! moment.js locale configuration
33540
33541 ;(function (global, factory) {
33542 true ? factory(__webpack_require__(327)) :
33543 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
33544 factory(global.moment)
33545 }(this, (function (moment) { 'use strict';
33546
33547
33548 var monthsShortWithDots = 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split('_'),
33549 monthsShortWithoutDots = 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_');
33550
33551 var fy = moment.defineLocale('fy', {
33552 months : 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split('_'),
33553 monthsShort : function (m, format) {
33554 if (!m) {
33555 return monthsShortWithDots;
33556 } else if (/-MMM-/.test(format)) {
33557 return monthsShortWithoutDots[m.month()];
33558 } else {
33559 return monthsShortWithDots[m.month()];
33560 }
33561 },
33562 monthsParseExact : true,
33563 weekdays : 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split('_'),
33564 weekdaysShort : 'si._mo._ti._wo._to._fr._so.'.split('_'),
33565 weekdaysMin : 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'),
33566 weekdaysParseExact : true,
33567 longDateFormat : {
33568 LT : 'HH:mm',
33569 LTS : 'HH:mm:ss',
33570 L : 'DD-MM-YYYY',
33571 LL : 'D MMMM YYYY',
33572 LLL : 'D MMMM YYYY HH:mm',
33573 LLLL : 'dddd D MMMM YYYY HH:mm'
33574 },
33575 calendar : {
33576 sameDay: '[hjoed om] LT',
33577 nextDay: '[moarn om] LT',
33578 nextWeek: 'dddd [om] LT',
33579 lastDay: '[juster om] LT',
33580 lastWeek: '[ôfrûne] dddd [om] LT',
33581 sameElse: 'L'
33582 },
33583 relativeTime : {
33584 future : 'oer %s',
33585 past : '%s lyn',
33586 s : 'in pear sekonden',
33587 ss : '%d sekonden',
33588 m : 'ien minút',
33589 mm : '%d minuten',
33590 h : 'ien oere',
33591 hh : '%d oeren',
33592 d : 'ien dei',
33593 dd : '%d dagen',
33594 M : 'ien moanne',
33595 MM : '%d moannen',
33596 y : 'ien jier',
33597 yy : '%d jierren'
33598 },
33599 dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/,
33600 ordinal : function (number) {
33601 return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');
33602 },
33603 week : {
33604 dow : 1, // Monday is the first day of the week.
33605 doy : 4 // The week that contains Jan 4th is the first week of the year.
33606 }
33607 });
33608
33609 return fy;
33610
33611 })));
33612
33613
33614/***/ }),
33615/* 375 */
33616/***/ (function(module, exports, __webpack_require__) {
33617
33618 //! moment.js locale configuration
33619
33620 ;(function (global, factory) {
33621 true ? factory(__webpack_require__(327)) :
33622 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
33623 factory(global.moment)
33624 }(this, (function (moment) { 'use strict';
33625
33626
33627 var months = [
33628 'Am Faoilleach', 'An Gearran', 'Am Màrt', 'An Giblean', 'An Cèitean', 'An t-Ògmhios', 'An t-Iuchar', 'An Lùnastal', 'An t-Sultain', 'An Dàmhair', 'An t-Samhain', 'An Dùbhlachd'
33629 ];
33630
33631 var monthsShort = ['Faoi', 'Gear', 'Màrt', 'Gibl', 'Cèit', 'Ògmh', 'Iuch', 'Lùn', 'Sult', 'Dàmh', 'Samh', 'Dùbh'];
33632
33633 var weekdays = ['Didòmhnaich', 'Diluain', 'Dimàirt', 'Diciadain', 'Diardaoin', 'Dihaoine', 'Disathairne'];
33634
33635 var weekdaysShort = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'];
33636
33637 var weekdaysMin = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa'];
33638
33639 var gd = moment.defineLocale('gd', {
33640 months : months,
33641 monthsShort : monthsShort,
33642 monthsParseExact : true,
33643 weekdays : weekdays,
33644 weekdaysShort : weekdaysShort,
33645 weekdaysMin : weekdaysMin,
33646 longDateFormat : {
33647 LT : 'HH:mm',
33648 LTS : 'HH:mm:ss',
33649 L : 'DD/MM/YYYY',
33650 LL : 'D MMMM YYYY',
33651 LLL : 'D MMMM YYYY HH:mm',
33652 LLLL : 'dddd, D MMMM YYYY HH:mm'
33653 },
33654 calendar : {
33655 sameDay : '[An-diugh aig] LT',
33656 nextDay : '[A-màireach aig] LT',
33657 nextWeek : 'dddd [aig] LT',
33658 lastDay : '[An-dè aig] LT',
33659 lastWeek : 'dddd [seo chaidh] [aig] LT',
33660 sameElse : 'L'
33661 },
33662 relativeTime : {
33663 future : 'ann an %s',
33664 past : 'bho chionn %s',
33665 s : 'beagan diogan',
33666 ss : '%d diogan',
33667 m : 'mionaid',
33668 mm : '%d mionaidean',
33669 h : 'uair',
33670 hh : '%d uairean',
33671 d : 'latha',
33672 dd : '%d latha',
33673 M : 'mìos',
33674 MM : '%d mìosan',
33675 y : 'bliadhna',
33676 yy : '%d bliadhna'
33677 },
33678 dayOfMonthOrdinalParse : /\d{1,2}(d|na|mh)/,
33679 ordinal : function (number) {
33680 var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';
33681 return number + output;
33682 },
33683 week : {
33684 dow : 1, // Monday is the first day of the week.
33685 doy : 4 // The week that contains Jan 4th is the first week of the year.
33686 }
33687 });
33688
33689 return gd;
33690
33691 })));
33692
33693
33694/***/ }),
33695/* 376 */
33696/***/ (function(module, exports, __webpack_require__) {
33697
33698 //! moment.js locale configuration
33699
33700 ;(function (global, factory) {
33701 true ? factory(__webpack_require__(327)) :
33702 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
33703 factory(global.moment)
33704 }(this, (function (moment) { 'use strict';
33705
33706
33707 var gl = moment.defineLocale('gl', {
33708 months : 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split('_'),
33709 monthsShort : 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split('_'),
33710 monthsParseExact: true,
33711 weekdays : 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'),
33712 weekdaysShort : 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'),
33713 weekdaysMin : 'do_lu_ma_mé_xo_ve_sá'.split('_'),
33714 weekdaysParseExact : true,
33715 longDateFormat : {
33716 LT : 'H:mm',
33717 LTS : 'H:mm:ss',
33718 L : 'DD/MM/YYYY',
33719 LL : 'D [de] MMMM [de] YYYY',
33720 LLL : 'D [de] MMMM [de] YYYY H:mm',
33721 LLLL : 'dddd, D [de] MMMM [de] YYYY H:mm'
33722 },
33723 calendar : {
33724 sameDay : function () {
33725 return '[hoxe ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT';
33726 },
33727 nextDay : function () {
33728 return '[mañá ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT';
33729 },
33730 nextWeek : function () {
33731 return 'dddd [' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT';
33732 },
33733 lastDay : function () {
33734 return '[onte ' + ((this.hours() !== 1) ? 'á' : 'a') + '] LT';
33735 },
33736 lastWeek : function () {
33737 return '[o] dddd [pasado ' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT';
33738 },
33739 sameElse : 'L'
33740 },
33741 relativeTime : {
33742 future : function (str) {
33743 if (str.indexOf('un') === 0) {
33744 return 'n' + str;
33745 }
33746 return 'en ' + str;
33747 },
33748 past : 'hai %s',
33749 s : 'uns segundos',
33750 ss : '%d segundos',
33751 m : 'un minuto',
33752 mm : '%d minutos',
33753 h : 'unha hora',
33754 hh : '%d horas',
33755 d : 'un día',
33756 dd : '%d días',
33757 M : 'un mes',
33758 MM : '%d meses',
33759 y : 'un ano',
33760 yy : '%d anos'
33761 },
33762 dayOfMonthOrdinalParse : /\d{1,2}º/,
33763 ordinal : '%dº',
33764 week : {
33765 dow : 1, // Monday is the first day of the week.
33766 doy : 4 // The week that contains Jan 4th is the first week of the year.
33767 }
33768 });
33769
33770 return gl;
33771
33772 })));
33773
33774
33775/***/ }),
33776/* 377 */
33777/***/ (function(module, exports, __webpack_require__) {
33778
33779 //! moment.js locale configuration
33780
33781 ;(function (global, factory) {
33782 true ? factory(__webpack_require__(327)) :
33783 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
33784 factory(global.moment)
33785 }(this, (function (moment) { 'use strict';
33786
33787
33788 function processRelativeTime(number, withoutSuffix, key, isFuture) {
33789 var format = {
33790 's': ['thodde secondanim', 'thodde second'],
33791 'ss': [number + ' secondanim', number + ' second'],
33792 'm': ['eka mintan', 'ek minute'],
33793 'mm': [number + ' mintanim', number + ' mintam'],
33794 'h': ['eka horan', 'ek hor'],
33795 'hh': [number + ' horanim', number + ' horam'],
33796 'd': ['eka disan', 'ek dis'],
33797 'dd': [number + ' disanim', number + ' dis'],
33798 'M': ['eka mhoinean', 'ek mhoino'],
33799 'MM': [number + ' mhoineanim', number + ' mhoine'],
33800 'y': ['eka vorsan', 'ek voros'],
33801 'yy': [number + ' vorsanim', number + ' vorsam']
33802 };
33803 return withoutSuffix ? format[key][0] : format[key][1];
33804 }
33805
33806 var gomLatn = moment.defineLocale('gom-latn', {
33807 months : 'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split('_'),
33808 monthsShort : 'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split('_'),
33809 monthsParseExact : true,
33810 weekdays : 'Aitar_Somar_Mongllar_Budvar_Brestar_Sukrar_Son\'var'.split('_'),
33811 weekdaysShort : 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'),
33812 weekdaysMin : 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'),
33813 weekdaysParseExact : true,
33814 longDateFormat : {
33815 LT : 'A h:mm [vazta]',
33816 LTS : 'A h:mm:ss [vazta]',
33817 L : 'DD-MM-YYYY',
33818 LL : 'D MMMM YYYY',
33819 LLL : 'D MMMM YYYY A h:mm [vazta]',
33820 LLLL : 'dddd, MMMM[achea] Do, YYYY, A h:mm [vazta]',
33821 llll: 'ddd, D MMM YYYY, A h:mm [vazta]'
33822 },
33823 calendar : {
33824 sameDay: '[Aiz] LT',
33825 nextDay: '[Faleam] LT',
33826 nextWeek: '[Ieta to] dddd[,] LT',
33827 lastDay: '[Kal] LT',
33828 lastWeek: '[Fatlo] dddd[,] LT',
33829 sameElse: 'L'
33830 },
33831 relativeTime : {
33832 future : '%s',
33833 past : '%s adim',
33834 s : processRelativeTime,
33835 ss : processRelativeTime,
33836 m : processRelativeTime,
33837 mm : processRelativeTime,
33838 h : processRelativeTime,
33839 hh : processRelativeTime,
33840 d : processRelativeTime,
33841 dd : processRelativeTime,
33842 M : processRelativeTime,
33843 MM : processRelativeTime,
33844 y : processRelativeTime,
33845 yy : processRelativeTime
33846 },
33847 dayOfMonthOrdinalParse : /\d{1,2}(er)/,
33848 ordinal : function (number, period) {
33849 switch (period) {
33850 // the ordinal 'er' only applies to day of the month
33851 case 'D':
33852 return number + 'er';
33853 default:
33854 case 'M':
33855 case 'Q':
33856 case 'DDD':
33857 case 'd':
33858 case 'w':
33859 case 'W':
33860 return number;
33861 }
33862 },
33863 week : {
33864 dow : 1, // Monday is the first day of the week.
33865 doy : 4 // The week that contains Jan 4th is the first week of the year.
33866 },
33867 meridiemParse: /rati|sokalli|donparam|sanje/,
33868 meridiemHour : function (hour, meridiem) {
33869 if (hour === 12) {
33870 hour = 0;
33871 }
33872 if (meridiem === 'rati') {
33873 return hour < 4 ? hour : hour + 12;
33874 } else if (meridiem === 'sokalli') {
33875 return hour;
33876 } else if (meridiem === 'donparam') {
33877 return hour > 12 ? hour : hour + 12;
33878 } else if (meridiem === 'sanje') {
33879 return hour + 12;
33880 }
33881 },
33882 meridiem : function (hour, minute, isLower) {
33883 if (hour < 4) {
33884 return 'rati';
33885 } else if (hour < 12) {
33886 return 'sokalli';
33887 } else if (hour < 16) {
33888 return 'donparam';
33889 } else if (hour < 20) {
33890 return 'sanje';
33891 } else {
33892 return 'rati';
33893 }
33894 }
33895 });
33896
33897 return gomLatn;
33898
33899 })));
33900
33901
33902/***/ }),
33903/* 378 */
33904/***/ (function(module, exports, __webpack_require__) {
33905
33906 //! moment.js locale configuration
33907
33908 ;(function (global, factory) {
33909 true ? factory(__webpack_require__(327)) :
33910 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
33911 factory(global.moment)
33912 }(this, (function (moment) { 'use strict';
33913
33914
33915 var symbolMap = {
33916 '1': '૧',
33917 '2': '૨',
33918 '3': '૩',
33919 '4': '૪',
33920 '5': '૫',
33921 '6': '૬',
33922 '7': '૭',
33923 '8': '૮',
33924 '9': '૯',
33925 '0': '૦'
33926 },
33927 numberMap = {
33928 '૧': '1',
33929 '૨': '2',
33930 '૩': '3',
33931 '૪': '4',
33932 '૫': '5',
33933 '૬': '6',
33934 '૭': '7',
33935 '૮': '8',
33936 '૯': '9',
33937 '૦': '0'
33938 };
33939
33940 var gu = moment.defineLocale('gu', {
33941 months: 'જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર'.split('_'),
33942 monthsShort: 'જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.'.split('_'),
33943 monthsParseExact: true,
33944 weekdays: 'રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર'.split('_'),
33945 weekdaysShort: 'રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ'.split('_'),
33946 weekdaysMin: 'ર_સો_મં_બુ_ગુ_શુ_શ'.split('_'),
33947 longDateFormat: {
33948 LT: 'A h:mm વાગ્યે',
33949 LTS: 'A h:mm:ss વાગ્યે',
33950 L: 'DD/MM/YYYY',
33951 LL: 'D MMMM YYYY',
33952 LLL: 'D MMMM YYYY, A h:mm વાગ્યે',
33953 LLLL: 'dddd, D MMMM YYYY, A h:mm વાગ્યે'
33954 },
33955 calendar: {
33956 sameDay: '[આજ] LT',
33957 nextDay: '[કાલે] LT',
33958 nextWeek: 'dddd, LT',
33959 lastDay: '[ગઇકાલે] LT',
33960 lastWeek: '[પાછલા] dddd, LT',
33961 sameElse: 'L'
33962 },
33963 relativeTime: {
33964 future: '%s મા',
33965 past: '%s પેહલા',
33966 s: 'અમુક પળો',
33967 ss: '%d સેકંડ',
33968 m: 'એક મિનિટ',
33969 mm: '%d મિનિટ',
33970 h: 'એક કલાક',
33971 hh: '%d કલાક',
33972 d: 'એક દિવસ',
33973 dd: '%d દિવસ',
33974 M: 'એક મહિનો',
33975 MM: '%d મહિનો',
33976 y: 'એક વર્ષ',
33977 yy: '%d વર્ષ'
33978 },
33979 preparse: function (string) {
33980 return string.replace(/[૧૨૩૪૫૬૭૮૯૦]/g, function (match) {
33981 return numberMap[match];
33982 });
33983 },
33984 postformat: function (string) {
33985 return string.replace(/\d/g, function (match) {
33986 return symbolMap[match];
33987 });
33988 },
33989 // Gujarati notation for meridiems are quite fuzzy in practice. While there exists
33990 // a rigid notion of a 'Pahar' it is not used as rigidly in modern Gujarati.
33991 meridiemParse: /રાત|બપોર|સવાર|સાંજ/,
33992 meridiemHour: function (hour, meridiem) {
33993 if (hour === 12) {
33994 hour = 0;
33995 }
33996 if (meridiem === 'રાત') {
33997 return hour < 4 ? hour : hour + 12;
33998 } else if (meridiem === 'સવાર') {
33999 return hour;
34000 } else if (meridiem === 'બપોર') {
34001 return hour >= 10 ? hour : hour + 12;
34002 } else if (meridiem === 'સાંજ') {
34003 return hour + 12;
34004 }
34005 },
34006 meridiem: function (hour, minute, isLower) {
34007 if (hour < 4) {
34008 return 'રાત';
34009 } else if (hour < 10) {
34010 return 'સવાર';
34011 } else if (hour < 17) {
34012 return 'બપોર';
34013 } else if (hour < 20) {
34014 return 'સાંજ';
34015 } else {
34016 return 'રાત';
34017 }
34018 },
34019 week: {
34020 dow: 0, // Sunday is the first day of the week.
34021 doy: 6 // The week that contains Jan 1st is the first week of the year.
34022 }
34023 });
34024
34025 return gu;
34026
34027 })));
34028
34029
34030/***/ }),
34031/* 379 */
34032/***/ (function(module, exports, __webpack_require__) {
34033
34034 //! moment.js locale configuration
34035
34036 ;(function (global, factory) {
34037 true ? factory(__webpack_require__(327)) :
34038 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
34039 factory(global.moment)
34040 }(this, (function (moment) { 'use strict';
34041
34042
34043 var he = moment.defineLocale('he', {
34044 months : 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split('_'),
34045 monthsShort : 'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split('_'),
34046 weekdays : 'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'),
34047 weekdaysShort : 'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'),
34048 weekdaysMin : 'א_ב_ג_ד_ה_ו_ש'.split('_'),
34049 longDateFormat : {
34050 LT : 'HH:mm',
34051 LTS : 'HH:mm:ss',
34052 L : 'DD/MM/YYYY',
34053 LL : 'D [ב]MMMM YYYY',
34054 LLL : 'D [ב]MMMM YYYY HH:mm',
34055 LLLL : 'dddd, D [ב]MMMM YYYY HH:mm',
34056 l : 'D/M/YYYY',
34057 ll : 'D MMM YYYY',
34058 lll : 'D MMM YYYY HH:mm',
34059 llll : 'ddd, D MMM YYYY HH:mm'
34060 },
34061 calendar : {
34062 sameDay : '[היום ב־]LT',
34063 nextDay : '[מחר ב־]LT',
34064 nextWeek : 'dddd [בשעה] LT',
34065 lastDay : '[אתמול ב־]LT',
34066 lastWeek : '[ביום] dddd [האחרון בשעה] LT',
34067 sameElse : 'L'
34068 },
34069 relativeTime : {
34070 future : 'בעוד %s',
34071 past : 'לפני %s',
34072 s : 'מספר שניות',
34073 ss : '%d שניות',
34074 m : 'דקה',
34075 mm : '%d דקות',
34076 h : 'שעה',
34077 hh : function (number) {
34078 if (number === 2) {
34079 return 'שעתיים';
34080 }
34081 return number + ' שעות';
34082 },
34083 d : 'יום',
34084 dd : function (number) {
34085 if (number === 2) {
34086 return 'יומיים';
34087 }
34088 return number + ' ימים';
34089 },
34090 M : 'חודש',
34091 MM : function (number) {
34092 if (number === 2) {
34093 return 'חודשיים';
34094 }
34095 return number + ' חודשים';
34096 },
34097 y : 'שנה',
34098 yy : function (number) {
34099 if (number === 2) {
34100 return 'שנתיים';
34101 } else if (number % 10 === 0 && number !== 10) {
34102 return number + ' שנה';
34103 }
34104 return number + ' שנים';
34105 }
34106 },
34107 meridiemParse: /אחה"צ|לפנה"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,
34108 isPM : function (input) {
34109 return /^(אחה"צ|אחרי הצהריים|בערב)$/.test(input);
34110 },
34111 meridiem : function (hour, minute, isLower) {
34112 if (hour < 5) {
34113 return 'לפנות בוקר';
34114 } else if (hour < 10) {
34115 return 'בבוקר';
34116 } else if (hour < 12) {
34117 return isLower ? 'לפנה"צ' : 'לפני הצהריים';
34118 } else if (hour < 18) {
34119 return isLower ? 'אחה"צ' : 'אחרי הצהריים';
34120 } else {
34121 return 'בערב';
34122 }
34123 }
34124 });
34125
34126 return he;
34127
34128 })));
34129
34130
34131/***/ }),
34132/* 380 */
34133/***/ (function(module, exports, __webpack_require__) {
34134
34135 //! moment.js locale configuration
34136
34137 ;(function (global, factory) {
34138 true ? factory(__webpack_require__(327)) :
34139 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
34140 factory(global.moment)
34141 }(this, (function (moment) { 'use strict';
34142
34143
34144 var symbolMap = {
34145 '1': '१',
34146 '2': '२',
34147 '3': '३',
34148 '4': '४',
34149 '5': '५',
34150 '6': '६',
34151 '7': '७',
34152 '8': '८',
34153 '9': '९',
34154 '0': '०'
34155 },
34156 numberMap = {
34157 '१': '1',
34158 '२': '2',
34159 '३': '3',
34160 '४': '4',
34161 '५': '5',
34162 '६': '6',
34163 '७': '7',
34164 '८': '8',
34165 '९': '9',
34166 '०': '0'
34167 };
34168
34169 var hi = moment.defineLocale('hi', {
34170 months : 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split('_'),
34171 monthsShort : 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split('_'),
34172 monthsParseExact: true,
34173 weekdays : 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),
34174 weekdaysShort : 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'),
34175 weekdaysMin : 'र_सो_मं_बु_गु_शु_श'.split('_'),
34176 longDateFormat : {
34177 LT : 'A h:mm बजे',
34178 LTS : 'A h:mm:ss बजे',
34179 L : 'DD/MM/YYYY',
34180 LL : 'D MMMM YYYY',
34181 LLL : 'D MMMM YYYY, A h:mm बजे',
34182 LLLL : 'dddd, D MMMM YYYY, A h:mm बजे'
34183 },
34184 calendar : {
34185 sameDay : '[आज] LT',
34186 nextDay : '[कल] LT',
34187 nextWeek : 'dddd, LT',
34188 lastDay : '[कल] LT',
34189 lastWeek : '[पिछले] dddd, LT',
34190 sameElse : 'L'
34191 },
34192 relativeTime : {
34193 future : '%s में',
34194 past : '%s पहले',
34195 s : 'कुछ ही क्षण',
34196 ss : '%d सेकंड',
34197 m : 'एक मिनट',
34198 mm : '%d मिनट',
34199 h : 'एक घंटा',
34200 hh : '%d घंटे',
34201 d : 'एक दिन',
34202 dd : '%d दिन',
34203 M : 'एक महीने',
34204 MM : '%d महीने',
34205 y : 'एक वर्ष',
34206 yy : '%d वर्ष'
34207 },
34208 preparse: function (string) {
34209 return string.replace(/[१२३४५६७८९०]/g, function (match) {
34210 return numberMap[match];
34211 });
34212 },
34213 postformat: function (string) {
34214 return string.replace(/\d/g, function (match) {
34215 return symbolMap[match];
34216 });
34217 },
34218 // Hindi notation for meridiems are quite fuzzy in practice. While there exists
34219 // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi.
34220 meridiemParse: /रात|सुबह|दोपहर|शाम/,
34221 meridiemHour : function (hour, meridiem) {
34222 if (hour === 12) {
34223 hour = 0;
34224 }
34225 if (meridiem === 'रात') {
34226 return hour < 4 ? hour : hour + 12;
34227 } else if (meridiem === 'सुबह') {
34228 return hour;
34229 } else if (meridiem === 'दोपहर') {
34230 return hour >= 10 ? hour : hour + 12;
34231 } else if (meridiem === 'शाम') {
34232 return hour + 12;
34233 }
34234 },
34235 meridiem : function (hour, minute, isLower) {
34236 if (hour < 4) {
34237 return 'रात';
34238 } else if (hour < 10) {
34239 return 'सुबह';
34240 } else if (hour < 17) {
34241 return 'दोपहर';
34242 } else if (hour < 20) {
34243 return 'शाम';
34244 } else {
34245 return 'रात';
34246 }
34247 },
34248 week : {
34249 dow : 0, // Sunday is the first day of the week.
34250 doy : 6 // The week that contains Jan 1st is the first week of the year.
34251 }
34252 });
34253
34254 return hi;
34255
34256 })));
34257
34258
34259/***/ }),
34260/* 381 */
34261/***/ (function(module, exports, __webpack_require__) {
34262
34263 //! moment.js locale configuration
34264
34265 ;(function (global, factory) {
34266 true ? factory(__webpack_require__(327)) :
34267 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
34268 factory(global.moment)
34269 }(this, (function (moment) { 'use strict';
34270
34271
34272 function translate(number, withoutSuffix, key) {
34273 var result = number + ' ';
34274 switch (key) {
34275 case 'ss':
34276 if (number === 1) {
34277 result += 'sekunda';
34278 } else if (number === 2 || number === 3 || number === 4) {
34279 result += 'sekunde';
34280 } else {
34281 result += 'sekundi';
34282 }
34283 return result;
34284 case 'm':
34285 return withoutSuffix ? 'jedna minuta' : 'jedne minute';
34286 case 'mm':
34287 if (number === 1) {
34288 result += 'minuta';
34289 } else if (number === 2 || number === 3 || number === 4) {
34290 result += 'minute';
34291 } else {
34292 result += 'minuta';
34293 }
34294 return result;
34295 case 'h':
34296 return withoutSuffix ? 'jedan sat' : 'jednog sata';
34297 case 'hh':
34298 if (number === 1) {
34299 result += 'sat';
34300 } else if (number === 2 || number === 3 || number === 4) {
34301 result += 'sata';
34302 } else {
34303 result += 'sati';
34304 }
34305 return result;
34306 case 'dd':
34307 if (number === 1) {
34308 result += 'dan';
34309 } else {
34310 result += 'dana';
34311 }
34312 return result;
34313 case 'MM':
34314 if (number === 1) {
34315 result += 'mjesec';
34316 } else if (number === 2 || number === 3 || number === 4) {
34317 result += 'mjeseca';
34318 } else {
34319 result += 'mjeseci';
34320 }
34321 return result;
34322 case 'yy':
34323 if (number === 1) {
34324 result += 'godina';
34325 } else if (number === 2 || number === 3 || number === 4) {
34326 result += 'godine';
34327 } else {
34328 result += 'godina';
34329 }
34330 return result;
34331 }
34332 }
34333
34334 var hr = moment.defineLocale('hr', {
34335 months : {
34336 format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split('_'),
34337 standalone: 'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split('_')
34338 },
34339 monthsShort : 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split('_'),
34340 monthsParseExact: true,
34341 weekdays : 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),
34342 weekdaysShort : 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),
34343 weekdaysMin : 'ne_po_ut_sr_če_pe_su'.split('_'),
34344 weekdaysParseExact : true,
34345 longDateFormat : {
34346 LT : 'H:mm',
34347 LTS : 'H:mm:ss',
34348 L : 'DD.MM.YYYY',
34349 LL : 'D. MMMM YYYY',
34350 LLL : 'D. MMMM YYYY H:mm',
34351 LLLL : 'dddd, D. MMMM YYYY H:mm'
34352 },
34353 calendar : {
34354 sameDay : '[danas u] LT',
34355 nextDay : '[sutra u] LT',
34356 nextWeek : function () {
34357 switch (this.day()) {
34358 case 0:
34359 return '[u] [nedjelju] [u] LT';
34360 case 3:
34361 return '[u] [srijedu] [u] LT';
34362 case 6:
34363 return '[u] [subotu] [u] LT';
34364 case 1:
34365 case 2:
34366 case 4:
34367 case 5:
34368 return '[u] dddd [u] LT';
34369 }
34370 },
34371 lastDay : '[jučer u] LT',
34372 lastWeek : function () {
34373 switch (this.day()) {
34374 case 0:
34375 case 3:
34376 return '[prošlu] dddd [u] LT';
34377 case 6:
34378 return '[prošle] [subote] [u] LT';
34379 case 1:
34380 case 2:
34381 case 4:
34382 case 5:
34383 return '[prošli] dddd [u] LT';
34384 }
34385 },
34386 sameElse : 'L'
34387 },
34388 relativeTime : {
34389 future : 'za %s',
34390 past : 'prije %s',
34391 s : 'par sekundi',
34392 ss : translate,
34393 m : translate,
34394 mm : translate,
34395 h : translate,
34396 hh : translate,
34397 d : 'dan',
34398 dd : translate,
34399 M : 'mjesec',
34400 MM : translate,
34401 y : 'godinu',
34402 yy : translate
34403 },
34404 dayOfMonthOrdinalParse: /\d{1,2}\./,
34405 ordinal : '%d.',
34406 week : {
34407 dow : 1, // Monday is the first day of the week.
34408 doy : 7 // The week that contains Jan 1st is the first week of the year.
34409 }
34410 });
34411
34412 return hr;
34413
34414 })));
34415
34416
34417/***/ }),
34418/* 382 */
34419/***/ (function(module, exports, __webpack_require__) {
34420
34421 //! moment.js locale configuration
34422
34423 ;(function (global, factory) {
34424 true ? factory(__webpack_require__(327)) :
34425 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
34426 factory(global.moment)
34427 }(this, (function (moment) { 'use strict';
34428
34429
34430 var weekEndings = 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(' ');
34431 function translate(number, withoutSuffix, key, isFuture) {
34432 var num = number;
34433 switch (key) {
34434 case 's':
34435 return (isFuture || withoutSuffix) ? 'néhány másodperc' : 'néhány másodperce';
34436 case 'ss':
34437 return num + (isFuture || withoutSuffix) ? ' másodperc' : ' másodperce';
34438 case 'm':
34439 return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce');
34440 case 'mm':
34441 return num + (isFuture || withoutSuffix ? ' perc' : ' perce');
34442 case 'h':
34443 return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája');
34444 case 'hh':
34445 return num + (isFuture || withoutSuffix ? ' óra' : ' órája');
34446 case 'd':
34447 return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja');
34448 case 'dd':
34449 return num + (isFuture || withoutSuffix ? ' nap' : ' napja');
34450 case 'M':
34451 return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');
34452 case 'MM':
34453 return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');
34454 case 'y':
34455 return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve');
34456 case 'yy':
34457 return num + (isFuture || withoutSuffix ? ' év' : ' éve');
34458 }
34459 return '';
34460 }
34461 function week(isFuture) {
34462 return (isFuture ? '' : '[múlt] ') + '[' + weekEndings[this.day()] + '] LT[-kor]';
34463 }
34464
34465 var hu = moment.defineLocale('hu', {
34466 months : 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split('_'),
34467 monthsShort : 'jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec'.split('_'),
34468 weekdays : 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split('_'),
34469 weekdaysShort : 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'),
34470 weekdaysMin : 'v_h_k_sze_cs_p_szo'.split('_'),
34471 longDateFormat : {
34472 LT : 'H:mm',
34473 LTS : 'H:mm:ss',
34474 L : 'YYYY.MM.DD.',
34475 LL : 'YYYY. MMMM D.',
34476 LLL : 'YYYY. MMMM D. H:mm',
34477 LLLL : 'YYYY. MMMM D., dddd H:mm'
34478 },
34479 meridiemParse: /de|du/i,
34480 isPM: function (input) {
34481 return input.charAt(1).toLowerCase() === 'u';
34482 },
34483 meridiem : function (hours, minutes, isLower) {
34484 if (hours < 12) {
34485 return isLower === true ? 'de' : 'DE';
34486 } else {
34487 return isLower === true ? 'du' : 'DU';
34488 }
34489 },
34490 calendar : {
34491 sameDay : '[ma] LT[-kor]',
34492 nextDay : '[holnap] LT[-kor]',
34493 nextWeek : function () {
34494 return week.call(this, true);
34495 },
34496 lastDay : '[tegnap] LT[-kor]',
34497 lastWeek : function () {
34498 return week.call(this, false);
34499 },
34500 sameElse : 'L'
34501 },
34502 relativeTime : {
34503 future : '%s múlva',
34504 past : '%s',
34505 s : translate,
34506 ss : translate,
34507 m : translate,
34508 mm : translate,
34509 h : translate,
34510 hh : translate,
34511 d : translate,
34512 dd : translate,
34513 M : translate,
34514 MM : translate,
34515 y : translate,
34516 yy : translate
34517 },
34518 dayOfMonthOrdinalParse: /\d{1,2}\./,
34519 ordinal : '%d.',
34520 week : {
34521 dow : 1, // Monday is the first day of the week.
34522 doy : 4 // The week that contains Jan 4th is the first week of the year.
34523 }
34524 });
34525
34526 return hu;
34527
34528 })));
34529
34530
34531/***/ }),
34532/* 383 */
34533/***/ (function(module, exports, __webpack_require__) {
34534
34535 //! moment.js locale configuration
34536
34537 ;(function (global, factory) {
34538 true ? factory(__webpack_require__(327)) :
34539 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
34540 factory(global.moment)
34541 }(this, (function (moment) { 'use strict';
34542
34543
34544 var hyAm = moment.defineLocale('hy-am', {
34545 months : {
34546 format: 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split('_'),
34547 standalone: 'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split('_')
34548 },
34549 monthsShort : 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_'),
34550 weekdays : 'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split('_'),
34551 weekdaysShort : 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),
34552 weekdaysMin : 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),
34553 longDateFormat : {
34554 LT : 'HH:mm',
34555 LTS : 'HH:mm:ss',
34556 L : 'DD.MM.YYYY',
34557 LL : 'D MMMM YYYY թ.',
34558 LLL : 'D MMMM YYYY թ., HH:mm',
34559 LLLL : 'dddd, D MMMM YYYY թ., HH:mm'
34560 },
34561 calendar : {
34562 sameDay: '[այսօր] LT',
34563 nextDay: '[վաղը] LT',
34564 lastDay: '[երեկ] LT',
34565 nextWeek: function () {
34566 return 'dddd [օրը ժամը] LT';
34567 },
34568 lastWeek: function () {
34569 return '[անցած] dddd [օրը ժամը] LT';
34570 },
34571 sameElse: 'L'
34572 },
34573 relativeTime : {
34574 future : '%s հետո',
34575 past : '%s առաջ',
34576 s : 'մի քանի վայրկյան',
34577 ss : '%d վայրկյան',
34578 m : 'րոպե',
34579 mm : '%d րոպե',
34580 h : 'ժամ',
34581 hh : '%d ժամ',
34582 d : 'օր',
34583 dd : '%d օր',
34584 M : 'ամիս',
34585 MM : '%d ամիս',
34586 y : 'տարի',
34587 yy : '%d տարի'
34588 },
34589 meridiemParse: /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,
34590 isPM: function (input) {
34591 return /^(ցերեկվա|երեկոյան)$/.test(input);
34592 },
34593 meridiem : function (hour) {
34594 if (hour < 4) {
34595 return 'գիշերվա';
34596 } else if (hour < 12) {
34597 return 'առավոտվա';
34598 } else if (hour < 17) {
34599 return 'ցերեկվա';
34600 } else {
34601 return 'երեկոյան';
34602 }
34603 },
34604 dayOfMonthOrdinalParse: /\d{1,2}|\d{1,2}-(ին|րդ)/,
34605 ordinal: function (number, period) {
34606 switch (period) {
34607 case 'DDD':
34608 case 'w':
34609 case 'W':
34610 case 'DDDo':
34611 if (number === 1) {
34612 return number + '-ին';
34613 }
34614 return number + '-րդ';
34615 default:
34616 return number;
34617 }
34618 },
34619 week : {
34620 dow : 1, // Monday is the first day of the week.
34621 doy : 7 // The week that contains Jan 1st is the first week of the year.
34622 }
34623 });
34624
34625 return hyAm;
34626
34627 })));
34628
34629
34630/***/ }),
34631/* 384 */
34632/***/ (function(module, exports, __webpack_require__) {
34633
34634 //! moment.js locale configuration
34635
34636 ;(function (global, factory) {
34637 true ? factory(__webpack_require__(327)) :
34638 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
34639 factory(global.moment)
34640 }(this, (function (moment) { 'use strict';
34641
34642
34643 var id = moment.defineLocale('id', {
34644 months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split('_'),
34645 monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'),
34646 weekdays : 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'),
34647 weekdaysShort : 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'),
34648 weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'),
34649 longDateFormat : {
34650 LT : 'HH.mm',
34651 LTS : 'HH.mm.ss',
34652 L : 'DD/MM/YYYY',
34653 LL : 'D MMMM YYYY',
34654 LLL : 'D MMMM YYYY [pukul] HH.mm',
34655 LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'
34656 },
34657 meridiemParse: /pagi|siang|sore|malam/,
34658 meridiemHour : function (hour, meridiem) {
34659 if (hour === 12) {
34660 hour = 0;
34661 }
34662 if (meridiem === 'pagi') {
34663 return hour;
34664 } else if (meridiem === 'siang') {
34665 return hour >= 11 ? hour : hour + 12;
34666 } else if (meridiem === 'sore' || meridiem === 'malam') {
34667 return hour + 12;
34668 }
34669 },
34670 meridiem : function (hours, minutes, isLower) {
34671 if (hours < 11) {
34672 return 'pagi';
34673 } else if (hours < 15) {
34674 return 'siang';
34675 } else if (hours < 19) {
34676 return 'sore';
34677 } else {
34678 return 'malam';
34679 }
34680 },
34681 calendar : {
34682 sameDay : '[Hari ini pukul] LT',
34683 nextDay : '[Besok pukul] LT',
34684 nextWeek : 'dddd [pukul] LT',
34685 lastDay : '[Kemarin pukul] LT',
34686 lastWeek : 'dddd [lalu pukul] LT',
34687 sameElse : 'L'
34688 },
34689 relativeTime : {
34690 future : 'dalam %s',
34691 past : '%s yang lalu',
34692 s : 'beberapa detik',
34693 ss : '%d detik',
34694 m : 'semenit',
34695 mm : '%d menit',
34696 h : 'sejam',
34697 hh : '%d jam',
34698 d : 'sehari',
34699 dd : '%d hari',
34700 M : 'sebulan',
34701 MM : '%d bulan',
34702 y : 'setahun',
34703 yy : '%d tahun'
34704 },
34705 week : {
34706 dow : 1, // Monday is the first day of the week.
34707 doy : 7 // The week that contains Jan 1st is the first week of the year.
34708 }
34709 });
34710
34711 return id;
34712
34713 })));
34714
34715
34716/***/ }),
34717/* 385 */
34718/***/ (function(module, exports, __webpack_require__) {
34719
34720 //! moment.js locale configuration
34721
34722 ;(function (global, factory) {
34723 true ? factory(__webpack_require__(327)) :
34724 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
34725 factory(global.moment)
34726 }(this, (function (moment) { 'use strict';
34727
34728
34729 function plural(n) {
34730 if (n % 100 === 11) {
34731 return true;
34732 } else if (n % 10 === 1) {
34733 return false;
34734 }
34735 return true;
34736 }
34737 function translate(number, withoutSuffix, key, isFuture) {
34738 var result = number + ' ';
34739 switch (key) {
34740 case 's':
34741 return withoutSuffix || isFuture ? 'nokkrar sekúndur' : 'nokkrum sekúndum';
34742 case 'ss':
34743 if (plural(number)) {
34744 return result + (withoutSuffix || isFuture ? 'sekúndur' : 'sekúndum');
34745 }
34746 return result + 'sekúnda';
34747 case 'm':
34748 return withoutSuffix ? 'mínúta' : 'mínútu';
34749 case 'mm':
34750 if (plural(number)) {
34751 return result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum');
34752 } else if (withoutSuffix) {
34753 return result + 'mínúta';
34754 }
34755 return result + 'mínútu';
34756 case 'hh':
34757 if (plural(number)) {
34758 return result + (withoutSuffix || isFuture ? 'klukkustundir' : 'klukkustundum');
34759 }
34760 return result + 'klukkustund';
34761 case 'd':
34762 if (withoutSuffix) {
34763 return 'dagur';
34764 }
34765 return isFuture ? 'dag' : 'degi';
34766 case 'dd':
34767 if (plural(number)) {
34768 if (withoutSuffix) {
34769 return result + 'dagar';
34770 }
34771 return result + (isFuture ? 'daga' : 'dögum');
34772 } else if (withoutSuffix) {
34773 return result + 'dagur';
34774 }
34775 return result + (isFuture ? 'dag' : 'degi');
34776 case 'M':
34777 if (withoutSuffix) {
34778 return 'mánuður';
34779 }
34780 return isFuture ? 'mánuð' : 'mánuði';
34781 case 'MM':
34782 if (plural(number)) {
34783 if (withoutSuffix) {
34784 return result + 'mánuðir';
34785 }
34786 return result + (isFuture ? 'mánuði' : 'mánuðum');
34787 } else if (withoutSuffix) {
34788 return result + 'mánuður';
34789 }
34790 return result + (isFuture ? 'mánuð' : 'mánuði');
34791 case 'y':
34792 return withoutSuffix || isFuture ? 'ár' : 'ári';
34793 case 'yy':
34794 if (plural(number)) {
34795 return result + (withoutSuffix || isFuture ? 'ár' : 'árum');
34796 }
34797 return result + (withoutSuffix || isFuture ? 'ár' : 'ári');
34798 }
34799 }
34800
34801 var is = moment.defineLocale('is', {
34802 months : 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split('_'),
34803 monthsShort : 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'),
34804 weekdays : 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split('_'),
34805 weekdaysShort : 'sun_mán_þri_mið_fim_fös_lau'.split('_'),
34806 weekdaysMin : 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'),
34807 longDateFormat : {
34808 LT : 'H:mm',
34809 LTS : 'H:mm:ss',
34810 L : 'DD.MM.YYYY',
34811 LL : 'D. MMMM YYYY',
34812 LLL : 'D. MMMM YYYY [kl.] H:mm',
34813 LLLL : 'dddd, D. MMMM YYYY [kl.] H:mm'
34814 },
34815 calendar : {
34816 sameDay : '[í dag kl.] LT',
34817 nextDay : '[á morgun kl.] LT',
34818 nextWeek : 'dddd [kl.] LT',
34819 lastDay : '[í gær kl.] LT',
34820 lastWeek : '[síðasta] dddd [kl.] LT',
34821 sameElse : 'L'
34822 },
34823 relativeTime : {
34824 future : 'eftir %s',
34825 past : 'fyrir %s síðan',
34826 s : translate,
34827 ss : translate,
34828 m : translate,
34829 mm : translate,
34830 h : 'klukkustund',
34831 hh : translate,
34832 d : translate,
34833 dd : translate,
34834 M : translate,
34835 MM : translate,
34836 y : translate,
34837 yy : translate
34838 },
34839 dayOfMonthOrdinalParse: /\d{1,2}\./,
34840 ordinal : '%d.',
34841 week : {
34842 dow : 1, // Monday is the first day of the week.
34843 doy : 4 // The week that contains Jan 4th is the first week of the year.
34844 }
34845 });
34846
34847 return is;
34848
34849 })));
34850
34851
34852/***/ }),
34853/* 386 */
34854/***/ (function(module, exports, __webpack_require__) {
34855
34856 //! moment.js locale configuration
34857
34858 ;(function (global, factory) {
34859 true ? factory(__webpack_require__(327)) :
34860 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
34861 factory(global.moment)
34862 }(this, (function (moment) { 'use strict';
34863
34864
34865 var it = moment.defineLocale('it', {
34866 months : 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split('_'),
34867 monthsShort : 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),
34868 weekdays : 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split('_'),
34869 weekdaysShort : 'dom_lun_mar_mer_gio_ven_sab'.split('_'),
34870 weekdaysMin : 'do_lu_ma_me_gi_ve_sa'.split('_'),
34871 longDateFormat : {
34872 LT : 'HH:mm',
34873 LTS : 'HH:mm:ss',
34874 L : 'DD/MM/YYYY',
34875 LL : 'D MMMM YYYY',
34876 LLL : 'D MMMM YYYY HH:mm',
34877 LLLL : 'dddd D MMMM YYYY HH:mm'
34878 },
34879 calendar : {
34880 sameDay: '[Oggi alle] LT',
34881 nextDay: '[Domani alle] LT',
34882 nextWeek: 'dddd [alle] LT',
34883 lastDay: '[Ieri alle] LT',
34884 lastWeek: function () {
34885 switch (this.day()) {
34886 case 0:
34887 return '[la scorsa] dddd [alle] LT';
34888 default:
34889 return '[lo scorso] dddd [alle] LT';
34890 }
34891 },
34892 sameElse: 'L'
34893 },
34894 relativeTime : {
34895 future : function (s) {
34896 return ((/^[0-9].+$/).test(s) ? 'tra' : 'in') + ' ' + s;
34897 },
34898 past : '%s fa',
34899 s : 'alcuni secondi',
34900 ss : '%d secondi',
34901 m : 'un minuto',
34902 mm : '%d minuti',
34903 h : 'un\'ora',
34904 hh : '%d ore',
34905 d : 'un giorno',
34906 dd : '%d giorni',
34907 M : 'un mese',
34908 MM : '%d mesi',
34909 y : 'un anno',
34910 yy : '%d anni'
34911 },
34912 dayOfMonthOrdinalParse : /\d{1,2}º/,
34913 ordinal: '%dº',
34914 week : {
34915 dow : 1, // Monday is the first day of the week.
34916 doy : 4 // The week that contains Jan 4th is the first week of the year.
34917 }
34918 });
34919
34920 return it;
34921
34922 })));
34923
34924
34925/***/ }),
34926/* 387 */
34927/***/ (function(module, exports, __webpack_require__) {
34928
34929 //! moment.js locale configuration
34930
34931 ;(function (global, factory) {
34932 true ? factory(__webpack_require__(327)) :
34933 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
34934 factory(global.moment)
34935 }(this, (function (moment) { 'use strict';
34936
34937
34938 var ja = moment.defineLocale('ja', {
34939 months : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),
34940 monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),
34941 weekdays : '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'),
34942 weekdaysShort : '日_月_火_水_木_金_土'.split('_'),
34943 weekdaysMin : '日_月_火_水_木_金_土'.split('_'),
34944 longDateFormat : {
34945 LT : 'HH:mm',
34946 LTS : 'HH:mm:ss',
34947 L : 'YYYY/MM/DD',
34948 LL : 'YYYY年M月D日',
34949 LLL : 'YYYY年M月D日 HH:mm',
34950 LLLL : 'YYYY年M月D日 dddd HH:mm',
34951 l : 'YYYY/MM/DD',
34952 ll : 'YYYY年M月D日',
34953 lll : 'YYYY年M月D日 HH:mm',
34954 llll : 'YYYY年M月D日(ddd) HH:mm'
34955 },
34956 meridiemParse: /午前|午後/i,
34957 isPM : function (input) {
34958 return input === '午後';
34959 },
34960 meridiem : function (hour, minute, isLower) {
34961 if (hour < 12) {
34962 return '午前';
34963 } else {
34964 return '午後';
34965 }
34966 },
34967 calendar : {
34968 sameDay : '[今日] LT',
34969 nextDay : '[明日] LT',
34970 nextWeek : function (now) {
34971 if (now.week() < this.week()) {
34972 return '[来週]dddd LT';
34973 } else {
34974 return 'dddd LT';
34975 }
34976 },
34977 lastDay : '[昨日] LT',
34978 lastWeek : function (now) {
34979 if (this.week() < now.week()) {
34980 return '[先週]dddd LT';
34981 } else {
34982 return 'dddd LT';
34983 }
34984 },
34985 sameElse : 'L'
34986 },
34987 dayOfMonthOrdinalParse : /\d{1,2}日/,
34988 ordinal : function (number, period) {
34989 switch (period) {
34990 case 'd':
34991 case 'D':
34992 case 'DDD':
34993 return number + '日';
34994 default:
34995 return number;
34996 }
34997 },
34998 relativeTime : {
34999 future : '%s後',
35000 past : '%s前',
35001 s : '数秒',
35002 ss : '%d秒',
35003 m : '1分',
35004 mm : '%d分',
35005 h : '1時間',
35006 hh : '%d時間',
35007 d : '1日',
35008 dd : '%d日',
35009 M : '1ヶ月',
35010 MM : '%dヶ月',
35011 y : '1年',
35012 yy : '%d年'
35013 }
35014 });
35015
35016 return ja;
35017
35018 })));
35019
35020
35021/***/ }),
35022/* 388 */
35023/***/ (function(module, exports, __webpack_require__) {
35024
35025 //! moment.js locale configuration
35026
35027 ;(function (global, factory) {
35028 true ? factory(__webpack_require__(327)) :
35029 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
35030 factory(global.moment)
35031 }(this, (function (moment) { 'use strict';
35032
35033
35034 var jv = moment.defineLocale('jv', {
35035 months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split('_'),
35036 monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'),
35037 weekdays : 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'),
35038 weekdaysShort : 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'),
35039 weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'),
35040 longDateFormat : {
35041 LT : 'HH.mm',
35042 LTS : 'HH.mm.ss',
35043 L : 'DD/MM/YYYY',
35044 LL : 'D MMMM YYYY',
35045 LLL : 'D MMMM YYYY [pukul] HH.mm',
35046 LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'
35047 },
35048 meridiemParse: /enjing|siyang|sonten|ndalu/,
35049 meridiemHour : function (hour, meridiem) {
35050 if (hour === 12) {
35051 hour = 0;
35052 }
35053 if (meridiem === 'enjing') {
35054 return hour;
35055 } else if (meridiem === 'siyang') {
35056 return hour >= 11 ? hour : hour + 12;
35057 } else if (meridiem === 'sonten' || meridiem === 'ndalu') {
35058 return hour + 12;
35059 }
35060 },
35061 meridiem : function (hours, minutes, isLower) {
35062 if (hours < 11) {
35063 return 'enjing';
35064 } else if (hours < 15) {
35065 return 'siyang';
35066 } else if (hours < 19) {
35067 return 'sonten';
35068 } else {
35069 return 'ndalu';
35070 }
35071 },
35072 calendar : {
35073 sameDay : '[Dinten puniko pukul] LT',
35074 nextDay : '[Mbenjang pukul] LT',
35075 nextWeek : 'dddd [pukul] LT',
35076 lastDay : '[Kala wingi pukul] LT',
35077 lastWeek : 'dddd [kepengker pukul] LT',
35078 sameElse : 'L'
35079 },
35080 relativeTime : {
35081 future : 'wonten ing %s',
35082 past : '%s ingkang kepengker',
35083 s : 'sawetawis detik',
35084 ss : '%d detik',
35085 m : 'setunggal menit',
35086 mm : '%d menit',
35087 h : 'setunggal jam',
35088 hh : '%d jam',
35089 d : 'sedinten',
35090 dd : '%d dinten',
35091 M : 'sewulan',
35092 MM : '%d wulan',
35093 y : 'setaun',
35094 yy : '%d taun'
35095 },
35096 week : {
35097 dow : 1, // Monday is the first day of the week.
35098 doy : 7 // The week that contains Jan 1st is the first week of the year.
35099 }
35100 });
35101
35102 return jv;
35103
35104 })));
35105
35106
35107/***/ }),
35108/* 389 */
35109/***/ (function(module, exports, __webpack_require__) {
35110
35111 //! moment.js locale configuration
35112
35113 ;(function (global, factory) {
35114 true ? factory(__webpack_require__(327)) :
35115 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
35116 factory(global.moment)
35117 }(this, (function (moment) { 'use strict';
35118
35119
35120 var ka = moment.defineLocale('ka', {
35121 months : {
35122 standalone: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split('_'),
35123 format: 'იანვარს_თებერვალს_მარტს_აპრილის_მაისს_ივნისს_ივლისს_აგვისტს_სექტემბერს_ოქტომბერს_ნოემბერს_დეკემბერს'.split('_')
35124 },
35125 monthsShort : 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'),
35126 weekdays : {
35127 standalone: 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split('_'),
35128 format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split('_'),
35129 isFormat: /(წინა|შემდეგ)/
35130 },
35131 weekdaysShort : 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'),
35132 weekdaysMin : 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'),
35133 longDateFormat : {
35134 LT : 'h:mm A',
35135 LTS : 'h:mm:ss A',
35136 L : 'DD/MM/YYYY',
35137 LL : 'D MMMM YYYY',
35138 LLL : 'D MMMM YYYY h:mm A',
35139 LLLL : 'dddd, D MMMM YYYY h:mm A'
35140 },
35141 calendar : {
35142 sameDay : '[დღეს] LT[-ზე]',
35143 nextDay : '[ხვალ] LT[-ზე]',
35144 lastDay : '[გუშინ] LT[-ზე]',
35145 nextWeek : '[შემდეგ] dddd LT[-ზე]',
35146 lastWeek : '[წინა] dddd LT-ზე',
35147 sameElse : 'L'
35148 },
35149 relativeTime : {
35150 future : function (s) {
35151 return (/(წამი|წუთი|საათი|წელი)/).test(s) ?
35152 s.replace(/ი$/, 'ში') :
35153 s + 'ში';
35154 },
35155 past : function (s) {
35156 if ((/(წამი|წუთი|საათი|დღე|თვე)/).test(s)) {
35157 return s.replace(/(ი|ე)$/, 'ის წინ');
35158 }
35159 if ((/წელი/).test(s)) {
35160 return s.replace(/წელი$/, 'წლის წინ');
35161 }
35162 },
35163 s : 'რამდენიმე წამი',
35164 ss : '%d წამი',
35165 m : 'წუთი',
35166 mm : '%d წუთი',
35167 h : 'საათი',
35168 hh : '%d საათი',
35169 d : 'დღე',
35170 dd : '%d დღე',
35171 M : 'თვე',
35172 MM : '%d თვე',
35173 y : 'წელი',
35174 yy : '%d წელი'
35175 },
35176 dayOfMonthOrdinalParse: /0|1-ლი|მე-\d{1,2}|\d{1,2}-ე/,
35177 ordinal : function (number) {
35178 if (number === 0) {
35179 return number;
35180 }
35181 if (number === 1) {
35182 return number + '-ლი';
35183 }
35184 if ((number < 20) || (number <= 100 && (number % 20 === 0)) || (number % 100 === 0)) {
35185 return 'მე-' + number;
35186 }
35187 return number + '-ე';
35188 },
35189 week : {
35190 dow : 1,
35191 doy : 7
35192 }
35193 });
35194
35195 return ka;
35196
35197 })));
35198
35199
35200/***/ }),
35201/* 390 */
35202/***/ (function(module, exports, __webpack_require__) {
35203
35204 //! moment.js locale configuration
35205
35206 ;(function (global, factory) {
35207 true ? factory(__webpack_require__(327)) :
35208 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
35209 factory(global.moment)
35210 }(this, (function (moment) { 'use strict';
35211
35212
35213 var suffixes = {
35214 0: '-ші',
35215 1: '-ші',
35216 2: '-ші',
35217 3: '-ші',
35218 4: '-ші',
35219 5: '-ші',
35220 6: '-шы',
35221 7: '-ші',
35222 8: '-ші',
35223 9: '-шы',
35224 10: '-шы',
35225 20: '-шы',
35226 30: '-шы',
35227 40: '-шы',
35228 50: '-ші',
35229 60: '-шы',
35230 70: '-ші',
35231 80: '-ші',
35232 90: '-шы',
35233 100: '-ші'
35234 };
35235
35236 var kk = moment.defineLocale('kk', {
35237 months : 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split('_'),
35238 monthsShort : 'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split('_'),
35239 weekdays : 'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split('_'),
35240 weekdaysShort : 'жек_дүй_сей_сәр_бей_жұм_сен'.split('_'),
35241 weekdaysMin : 'жк_дй_сй_ср_бй_жм_сн'.split('_'),
35242 longDateFormat : {
35243 LT : 'HH:mm',
35244 LTS : 'HH:mm:ss',
35245 L : 'DD.MM.YYYY',
35246 LL : 'D MMMM YYYY',
35247 LLL : 'D MMMM YYYY HH:mm',
35248 LLLL : 'dddd, D MMMM YYYY HH:mm'
35249 },
35250 calendar : {
35251 sameDay : '[Бүгін сағат] LT',
35252 nextDay : '[Ертең сағат] LT',
35253 nextWeek : 'dddd [сағат] LT',
35254 lastDay : '[Кеше сағат] LT',
35255 lastWeek : '[Өткен аптаның] dddd [сағат] LT',
35256 sameElse : 'L'
35257 },
35258 relativeTime : {
35259 future : '%s ішінде',
35260 past : '%s бұрын',
35261 s : 'бірнеше секунд',
35262 ss : '%d секунд',
35263 m : 'бір минут',
35264 mm : '%d минут',
35265 h : 'бір сағат',
35266 hh : '%d сағат',
35267 d : 'бір күн',
35268 dd : '%d күн',
35269 M : 'бір ай',
35270 MM : '%d ай',
35271 y : 'бір жыл',
35272 yy : '%d жыл'
35273 },
35274 dayOfMonthOrdinalParse: /\d{1,2}-(ші|шы)/,
35275 ordinal : function (number) {
35276 var a = number % 10,
35277 b = number >= 100 ? 100 : null;
35278 return number + (suffixes[number] || suffixes[a] || suffixes[b]);
35279 },
35280 week : {
35281 dow : 1, // Monday is the first day of the week.
35282 doy : 7 // The week that contains Jan 1st is the first week of the year.
35283 }
35284 });
35285
35286 return kk;
35287
35288 })));
35289
35290
35291/***/ }),
35292/* 391 */
35293/***/ (function(module, exports, __webpack_require__) {
35294
35295 //! moment.js locale configuration
35296
35297 ;(function (global, factory) {
35298 true ? factory(__webpack_require__(327)) :
35299 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
35300 factory(global.moment)
35301 }(this, (function (moment) { 'use strict';
35302
35303
35304 var symbolMap = {
35305 '1': '១',
35306 '2': '២',
35307 '3': '៣',
35308 '4': '៤',
35309 '5': '៥',
35310 '6': '៦',
35311 '7': '៧',
35312 '8': '៨',
35313 '9': '៩',
35314 '0': '០'
35315 }, numberMap = {
35316 '១': '1',
35317 '២': '2',
35318 '៣': '3',
35319 '៤': '4',
35320 '៥': '5',
35321 '៦': '6',
35322 '៧': '7',
35323 '៨': '8',
35324 '៩': '9',
35325 '០': '0'
35326 };
35327
35328 var km = moment.defineLocale('km', {
35329 months: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(
35330 '_'
35331 ),
35332 monthsShort: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(
35333 '_'
35334 ),
35335 weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),
35336 weekdaysShort: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),
35337 weekdaysMin: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),
35338 weekdaysParseExact: true,
35339 longDateFormat: {
35340 LT: 'HH:mm',
35341 LTS: 'HH:mm:ss',
35342 L: 'DD/MM/YYYY',
35343 LL: 'D MMMM YYYY',
35344 LLL: 'D MMMM YYYY HH:mm',
35345 LLLL: 'dddd, D MMMM YYYY HH:mm'
35346 },
35347 meridiemParse: /ព្រឹក|ល្ងាច/,
35348 isPM: function (input) {
35349 return input === 'ល្ងាច';
35350 },
35351 meridiem: function (hour, minute, isLower) {
35352 if (hour < 12) {
35353 return 'ព្រឹក';
35354 } else {
35355 return 'ល្ងាច';
35356 }
35357 },
35358 calendar: {
35359 sameDay: '[ថ្ងៃនេះ ម៉ោង] LT',
35360 nextDay: '[ស្អែក ម៉ោង] LT',
35361 nextWeek: 'dddd [ម៉ោង] LT',
35362 lastDay: '[ម្សិលមិញ ម៉ោង] LT',
35363 lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT',
35364 sameElse: 'L'
35365 },
35366 relativeTime: {
35367 future: '%sទៀត',
35368 past: '%sមុន',
35369 s: 'ប៉ុន្មានវិនាទី',
35370 ss: '%d វិនាទី',
35371 m: 'មួយនាទី',
35372 mm: '%d នាទី',
35373 h: 'មួយម៉ោង',
35374 hh: '%d ម៉ោង',
35375 d: 'មួយថ្ងៃ',
35376 dd: '%d ថ្ងៃ',
35377 M: 'មួយខែ',
35378 MM: '%d ខែ',
35379 y: 'មួយឆ្នាំ',
35380 yy: '%d ឆ្នាំ'
35381 },
35382 dayOfMonthOrdinalParse : /ទី\d{1,2}/,
35383 ordinal : 'ទី%d',
35384 preparse: function (string) {
35385 return string.replace(/[១២៣៤៥៦៧៨៩០]/g, function (match) {
35386 return numberMap[match];
35387 });
35388 },
35389 postformat: function (string) {
35390 return string.replace(/\d/g, function (match) {
35391 return symbolMap[match];
35392 });
35393 },
35394 week: {
35395 dow: 1, // Monday is the first day of the week.
35396 doy: 4 // The week that contains Jan 4th is the first week of the year.
35397 }
35398 });
35399
35400 return km;
35401
35402 })));
35403
35404
35405/***/ }),
35406/* 392 */
35407/***/ (function(module, exports, __webpack_require__) {
35408
35409 //! moment.js locale configuration
35410
35411 ;(function (global, factory) {
35412 true ? factory(__webpack_require__(327)) :
35413 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
35414 factory(global.moment)
35415 }(this, (function (moment) { 'use strict';
35416
35417
35418 var symbolMap = {
35419 '1': '೧',
35420 '2': '೨',
35421 '3': '೩',
35422 '4': '೪',
35423 '5': '೫',
35424 '6': '೬',
35425 '7': '೭',
35426 '8': '೮',
35427 '9': '೯',
35428 '0': '೦'
35429 },
35430 numberMap = {
35431 '೧': '1',
35432 '೨': '2',
35433 '೩': '3',
35434 '೪': '4',
35435 '೫': '5',
35436 '೬': '6',
35437 '೭': '7',
35438 '೮': '8',
35439 '೯': '9',
35440 '೦': '0'
35441 };
35442
35443 var kn = moment.defineLocale('kn', {
35444 months : 'ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್'.split('_'),
35445 monthsShort : 'ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ'.split('_'),
35446 monthsParseExact: true,
35447 weekdays : 'ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ'.split('_'),
35448 weekdaysShort : 'ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ'.split('_'),
35449 weekdaysMin : 'ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ'.split('_'),
35450 longDateFormat : {
35451 LT : 'A h:mm',
35452 LTS : 'A h:mm:ss',
35453 L : 'DD/MM/YYYY',
35454 LL : 'D MMMM YYYY',
35455 LLL : 'D MMMM YYYY, A h:mm',
35456 LLLL : 'dddd, D MMMM YYYY, A h:mm'
35457 },
35458 calendar : {
35459 sameDay : '[ಇಂದು] LT',
35460 nextDay : '[ನಾಳೆ] LT',
35461 nextWeek : 'dddd, LT',
35462 lastDay : '[ನಿನ್ನೆ] LT',
35463 lastWeek : '[ಕೊನೆಯ] dddd, LT',
35464 sameElse : 'L'
35465 },
35466 relativeTime : {
35467 future : '%s ನಂತರ',
35468 past : '%s ಹಿಂದೆ',
35469 s : 'ಕೆಲವು ಕ್ಷಣಗಳು',
35470 ss : '%d ಸೆಕೆಂಡುಗಳು',
35471 m : 'ಒಂದು ನಿಮಿಷ',
35472 mm : '%d ನಿಮಿಷ',
35473 h : 'ಒಂದು ಗಂಟೆ',
35474 hh : '%d ಗಂಟೆ',
35475 d : 'ಒಂದು ದಿನ',
35476 dd : '%d ದಿನ',
35477 M : 'ಒಂದು ತಿಂಗಳು',
35478 MM : '%d ತಿಂಗಳು',
35479 y : 'ಒಂದು ವರ್ಷ',
35480 yy : '%d ವರ್ಷ'
35481 },
35482 preparse: function (string) {
35483 return string.replace(/[೧೨೩೪೫೬೭೮೯೦]/g, function (match) {
35484 return numberMap[match];
35485 });
35486 },
35487 postformat: function (string) {
35488 return string.replace(/\d/g, function (match) {
35489 return symbolMap[match];
35490 });
35491 },
35492 meridiemParse: /ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,
35493 meridiemHour : function (hour, meridiem) {
35494 if (hour === 12) {
35495 hour = 0;
35496 }
35497 if (meridiem === 'ರಾತ್ರಿ') {
35498 return hour < 4 ? hour : hour + 12;
35499 } else if (meridiem === 'ಬೆಳಿಗ್ಗೆ') {
35500 return hour;
35501 } else if (meridiem === 'ಮಧ್ಯಾಹ್ನ') {
35502 return hour >= 10 ? hour : hour + 12;
35503 } else if (meridiem === 'ಸಂಜೆ') {
35504 return hour + 12;
35505 }
35506 },
35507 meridiem : function (hour, minute, isLower) {
35508 if (hour < 4) {
35509 return 'ರಾತ್ರಿ';
35510 } else if (hour < 10) {
35511 return 'ಬೆಳಿಗ್ಗೆ';
35512 } else if (hour < 17) {
35513 return 'ಮಧ್ಯಾಹ್ನ';
35514 } else if (hour < 20) {
35515 return 'ಸಂಜೆ';
35516 } else {
35517 return 'ರಾತ್ರಿ';
35518 }
35519 },
35520 dayOfMonthOrdinalParse: /\d{1,2}(ನೇ)/,
35521 ordinal : function (number) {
35522 return number + 'ನೇ';
35523 },
35524 week : {
35525 dow : 0, // Sunday is the first day of the week.
35526 doy : 6 // The week that contains Jan 1st is the first week of the year.
35527 }
35528 });
35529
35530 return kn;
35531
35532 })));
35533
35534
35535/***/ }),
35536/* 393 */
35537/***/ (function(module, exports, __webpack_require__) {
35538
35539 //! moment.js locale configuration
35540
35541 ;(function (global, factory) {
35542 true ? factory(__webpack_require__(327)) :
35543 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
35544 factory(global.moment)
35545 }(this, (function (moment) { 'use strict';
35546
35547
35548 var ko = moment.defineLocale('ko', {
35549 months : '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),
35550 monthsShort : '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),
35551 weekdays : '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'),
35552 weekdaysShort : '일_월_화_수_목_금_토'.split('_'),
35553 weekdaysMin : '일_월_화_수_목_금_토'.split('_'),
35554 longDateFormat : {
35555 LT : 'A h:mm',
35556 LTS : 'A h:mm:ss',
35557 L : 'YYYY.MM.DD.',
35558 LL : 'YYYY년 MMMM D일',
35559 LLL : 'YYYY년 MMMM D일 A h:mm',
35560 LLLL : 'YYYY년 MMMM D일 dddd A h:mm',
35561 l : 'YYYY.MM.DD.',
35562 ll : 'YYYY년 MMMM D일',
35563 lll : 'YYYY년 MMMM D일 A h:mm',
35564 llll : 'YYYY년 MMMM D일 dddd A h:mm'
35565 },
35566 calendar : {
35567 sameDay : '오늘 LT',
35568 nextDay : '내일 LT',
35569 nextWeek : 'dddd LT',
35570 lastDay : '어제 LT',
35571 lastWeek : '지난주 dddd LT',
35572 sameElse : 'L'
35573 },
35574 relativeTime : {
35575 future : '%s 후',
35576 past : '%s 전',
35577 s : '몇 초',
35578 ss : '%d초',
35579 m : '1분',
35580 mm : '%d분',
35581 h : '한 시간',
35582 hh : '%d시간',
35583 d : '하루',
35584 dd : '%d일',
35585 M : '한 달',
35586 MM : '%d달',
35587 y : '일 년',
35588 yy : '%d년'
35589 },
35590 dayOfMonthOrdinalParse : /\d{1,2}(일|월|주)/,
35591 ordinal : function (number, period) {
35592 switch (period) {
35593 case 'd':
35594 case 'D':
35595 case 'DDD':
35596 return number + '일';
35597 case 'M':
35598 return number + '월';
35599 case 'w':
35600 case 'W':
35601 return number + '주';
35602 default:
35603 return number;
35604 }
35605 },
35606 meridiemParse : /오전|오후/,
35607 isPM : function (token) {
35608 return token === '오후';
35609 },
35610 meridiem : function (hour, minute, isUpper) {
35611 return hour < 12 ? '오전' : '오후';
35612 }
35613 });
35614
35615 return ko;
35616
35617 })));
35618
35619
35620/***/ }),
35621/* 394 */
35622/***/ (function(module, exports, __webpack_require__) {
35623
35624 //! moment.js locale configuration
35625
35626 ;(function (global, factory) {
35627 true ? factory(__webpack_require__(327)) :
35628 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
35629 factory(global.moment)
35630 }(this, (function (moment) { 'use strict';
35631
35632
35633 var suffixes = {
35634 0: '-чү',
35635 1: '-чи',
35636 2: '-чи',
35637 3: '-чү',
35638 4: '-чү',
35639 5: '-чи',
35640 6: '-чы',
35641 7: '-чи',
35642 8: '-чи',
35643 9: '-чу',
35644 10: '-чу',
35645 20: '-чы',
35646 30: '-чу',
35647 40: '-чы',
35648 50: '-чү',
35649 60: '-чы',
35650 70: '-чи',
35651 80: '-чи',
35652 90: '-чу',
35653 100: '-чү'
35654 };
35655
35656 var ky = moment.defineLocale('ky', {
35657 months : 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_'),
35658 monthsShort : 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split('_'),
35659 weekdays : 'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split('_'),
35660 weekdaysShort : 'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'),
35661 weekdaysMin : 'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.split('_'),
35662 longDateFormat : {
35663 LT : 'HH:mm',
35664 LTS : 'HH:mm:ss',
35665 L : 'DD.MM.YYYY',
35666 LL : 'D MMMM YYYY',
35667 LLL : 'D MMMM YYYY HH:mm',
35668 LLLL : 'dddd, D MMMM YYYY HH:mm'
35669 },
35670 calendar : {
35671 sameDay : '[Бүгүн саат] LT',
35672 nextDay : '[Эртең саат] LT',
35673 nextWeek : 'dddd [саат] LT',
35674 lastDay : '[Кече саат] LT',
35675 lastWeek : '[Өткен аптанын] dddd [күнү] [саат] LT',
35676 sameElse : 'L'
35677 },
35678 relativeTime : {
35679 future : '%s ичинде',
35680 past : '%s мурун',
35681 s : 'бирнече секунд',
35682 ss : '%d секунд',
35683 m : 'бир мүнөт',
35684 mm : '%d мүнөт',
35685 h : 'бир саат',
35686 hh : '%d саат',
35687 d : 'бир күн',
35688 dd : '%d күн',
35689 M : 'бир ай',
35690 MM : '%d ай',
35691 y : 'бир жыл',
35692 yy : '%d жыл'
35693 },
35694 dayOfMonthOrdinalParse: /\d{1,2}-(чи|чы|чү|чу)/,
35695 ordinal : function (number) {
35696 var a = number % 10,
35697 b = number >= 100 ? 100 : null;
35698 return number + (suffixes[number] || suffixes[a] || suffixes[b]);
35699 },
35700 week : {
35701 dow : 1, // Monday is the first day of the week.
35702 doy : 7 // The week that contains Jan 1st is the first week of the year.
35703 }
35704 });
35705
35706 return ky;
35707
35708 })));
35709
35710
35711/***/ }),
35712/* 395 */
35713/***/ (function(module, exports, __webpack_require__) {
35714
35715 //! moment.js locale configuration
35716
35717 ;(function (global, factory) {
35718 true ? factory(__webpack_require__(327)) :
35719 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
35720 factory(global.moment)
35721 }(this, (function (moment) { 'use strict';
35722
35723
35724 function processRelativeTime(number, withoutSuffix, key, isFuture) {
35725 var format = {
35726 'm': ['eng Minutt', 'enger Minutt'],
35727 'h': ['eng Stonn', 'enger Stonn'],
35728 'd': ['een Dag', 'engem Dag'],
35729 'M': ['ee Mount', 'engem Mount'],
35730 'y': ['ee Joer', 'engem Joer']
35731 };
35732 return withoutSuffix ? format[key][0] : format[key][1];
35733 }
35734 function processFutureTime(string) {
35735 var number = string.substr(0, string.indexOf(' '));
35736 if (eifelerRegelAppliesToNumber(number)) {
35737 return 'a ' + string;
35738 }
35739 return 'an ' + string;
35740 }
35741 function processPastTime(string) {
35742 var number = string.substr(0, string.indexOf(' '));
35743 if (eifelerRegelAppliesToNumber(number)) {
35744 return 'viru ' + string;
35745 }
35746 return 'virun ' + string;
35747 }
35748 /**
35749 * Returns true if the word before the given number loses the '-n' ending.
35750 * e.g. 'an 10 Deeg' but 'a 5 Deeg'
35751 *
35752 * @param number {integer}
35753 * @returns {boolean}
35754 */
35755 function eifelerRegelAppliesToNumber(number) {
35756 number = parseInt(number, 10);
35757 if (isNaN(number)) {
35758 return false;
35759 }
35760 if (number < 0) {
35761 // Negative Number --> always true
35762 return true;
35763 } else if (number < 10) {
35764 // Only 1 digit
35765 if (4 <= number && number <= 7) {
35766 return true;
35767 }
35768 return false;
35769 } else if (number < 100) {
35770 // 2 digits
35771 var lastDigit = number % 10, firstDigit = number / 10;
35772 if (lastDigit === 0) {
35773 return eifelerRegelAppliesToNumber(firstDigit);
35774 }
35775 return eifelerRegelAppliesToNumber(lastDigit);
35776 } else if (number < 10000) {
35777 // 3 or 4 digits --> recursively check first digit
35778 while (number >= 10) {
35779 number = number / 10;
35780 }
35781 return eifelerRegelAppliesToNumber(number);
35782 } else {
35783 // Anything larger than 4 digits: recursively check first n-3 digits
35784 number = number / 1000;
35785 return eifelerRegelAppliesToNumber(number);
35786 }
35787 }
35788
35789 var lb = moment.defineLocale('lb', {
35790 months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),
35791 monthsShort: 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split('_'),
35792 monthsParseExact : true,
35793 weekdays: 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split('_'),
35794 weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'),
35795 weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'),
35796 weekdaysParseExact : true,
35797 longDateFormat: {
35798 LT: 'H:mm [Auer]',
35799 LTS: 'H:mm:ss [Auer]',
35800 L: 'DD.MM.YYYY',
35801 LL: 'D. MMMM YYYY',
35802 LLL: 'D. MMMM YYYY H:mm [Auer]',
35803 LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]'
35804 },
35805 calendar: {
35806 sameDay: '[Haut um] LT',
35807 sameElse: 'L',
35808 nextDay: '[Muer um] LT',
35809 nextWeek: 'dddd [um] LT',
35810 lastDay: '[Gëschter um] LT',
35811 lastWeek: function () {
35812 // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule
35813 switch (this.day()) {
35814 case 2:
35815 case 4:
35816 return '[Leschten] dddd [um] LT';
35817 default:
35818 return '[Leschte] dddd [um] LT';
35819 }
35820 }
35821 },
35822 relativeTime : {
35823 future : processFutureTime,
35824 past : processPastTime,
35825 s : 'e puer Sekonnen',
35826 ss : '%d Sekonnen',
35827 m : processRelativeTime,
35828 mm : '%d Minutten',
35829 h : processRelativeTime,
35830 hh : '%d Stonnen',
35831 d : processRelativeTime,
35832 dd : '%d Deeg',
35833 M : processRelativeTime,
35834 MM : '%d Méint',
35835 y : processRelativeTime,
35836 yy : '%d Joer'
35837 },
35838 dayOfMonthOrdinalParse: /\d{1,2}\./,
35839 ordinal: '%d.',
35840 week: {
35841 dow: 1, // Monday is the first day of the week.
35842 doy: 4 // The week that contains Jan 4th is the first week of the year.
35843 }
35844 });
35845
35846 return lb;
35847
35848 })));
35849
35850
35851/***/ }),
35852/* 396 */
35853/***/ (function(module, exports, __webpack_require__) {
35854
35855 //! moment.js locale configuration
35856
35857 ;(function (global, factory) {
35858 true ? factory(__webpack_require__(327)) :
35859 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
35860 factory(global.moment)
35861 }(this, (function (moment) { 'use strict';
35862
35863
35864 var lo = moment.defineLocale('lo', {
35865 months : 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'),
35866 monthsShort : 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'),
35867 weekdays : 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),
35868 weekdaysShort : 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),
35869 weekdaysMin : 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'),
35870 weekdaysParseExact : true,
35871 longDateFormat : {
35872 LT : 'HH:mm',
35873 LTS : 'HH:mm:ss',
35874 L : 'DD/MM/YYYY',
35875 LL : 'D MMMM YYYY',
35876 LLL : 'D MMMM YYYY HH:mm',
35877 LLLL : 'ວັນdddd D MMMM YYYY HH:mm'
35878 },
35879 meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/,
35880 isPM: function (input) {
35881 return input === 'ຕອນແລງ';
35882 },
35883 meridiem : function (hour, minute, isLower) {
35884 if (hour < 12) {
35885 return 'ຕອນເຊົ້າ';
35886 } else {
35887 return 'ຕອນແລງ';
35888 }
35889 },
35890 calendar : {
35891 sameDay : '[ມື້ນີ້ເວລາ] LT',
35892 nextDay : '[ມື້ອື່ນເວລາ] LT',
35893 nextWeek : '[ວັນ]dddd[ໜ້າເວລາ] LT',
35894 lastDay : '[ມື້ວານນີ້ເວລາ] LT',
35895 lastWeek : '[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT',
35896 sameElse : 'L'
35897 },
35898 relativeTime : {
35899 future : 'ອີກ %s',
35900 past : '%sຜ່ານມາ',
35901 s : 'ບໍ່ເທົ່າໃດວິນາທີ',
35902 ss : '%d ວິນາທີ' ,
35903 m : '1 ນາທີ',
35904 mm : '%d ນາທີ',
35905 h : '1 ຊົ່ວໂມງ',
35906 hh : '%d ຊົ່ວໂມງ',
35907 d : '1 ມື້',
35908 dd : '%d ມື້',
35909 M : '1 ເດືອນ',
35910 MM : '%d ເດືອນ',
35911 y : '1 ປີ',
35912 yy : '%d ປີ'
35913 },
35914 dayOfMonthOrdinalParse: /(ທີ່)\d{1,2}/,
35915 ordinal : function (number) {
35916 return 'ທີ່' + number;
35917 }
35918 });
35919
35920 return lo;
35921
35922 })));
35923
35924
35925/***/ }),
35926/* 397 */
35927/***/ (function(module, exports, __webpack_require__) {
35928
35929 //! moment.js locale configuration
35930
35931 ;(function (global, factory) {
35932 true ? factory(__webpack_require__(327)) :
35933 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
35934 factory(global.moment)
35935 }(this, (function (moment) { 'use strict';
35936
35937
35938 var units = {
35939 'ss' : 'sekundė_sekundžių_sekundes',
35940 'm' : 'minutė_minutės_minutę',
35941 'mm': 'minutės_minučių_minutes',
35942 'h' : 'valanda_valandos_valandą',
35943 'hh': 'valandos_valandų_valandas',
35944 'd' : 'diena_dienos_dieną',
35945 'dd': 'dienos_dienų_dienas',
35946 'M' : 'mėnuo_mėnesio_mėnesį',
35947 'MM': 'mėnesiai_mėnesių_mėnesius',
35948 'y' : 'metai_metų_metus',
35949 'yy': 'metai_metų_metus'
35950 };
35951 function translateSeconds(number, withoutSuffix, key, isFuture) {
35952 if (withoutSuffix) {
35953 return 'kelios sekundės';
35954 } else {
35955 return isFuture ? 'kelių sekundžių' : 'kelias sekundes';
35956 }
35957 }
35958 function translateSingular(number, withoutSuffix, key, isFuture) {
35959 return withoutSuffix ? forms(key)[0] : (isFuture ? forms(key)[1] : forms(key)[2]);
35960 }
35961 function special(number) {
35962 return number % 10 === 0 || (number > 10 && number < 20);
35963 }
35964 function forms(key) {
35965 return units[key].split('_');
35966 }
35967 function translate(number, withoutSuffix, key, isFuture) {
35968 var result = number + ' ';
35969 if (number === 1) {
35970 return result + translateSingular(number, withoutSuffix, key[0], isFuture);
35971 } else if (withoutSuffix) {
35972 return result + (special(number) ? forms(key)[1] : forms(key)[0]);
35973 } else {
35974 if (isFuture) {
35975 return result + forms(key)[1];
35976 } else {
35977 return result + (special(number) ? forms(key)[1] : forms(key)[2]);
35978 }
35979 }
35980 }
35981 var lt = moment.defineLocale('lt', {
35982 months : {
35983 format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split('_'),
35984 standalone: 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split('_'),
35985 isFormat: /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/
35986 },
35987 monthsShort : 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'),
35988 weekdays : {
35989 format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split('_'),
35990 standalone: 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split('_'),
35991 isFormat: /dddd HH:mm/
35992 },
35993 weekdaysShort : 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'),
35994 weekdaysMin : 'S_P_A_T_K_Pn_Š'.split('_'),
35995 weekdaysParseExact : true,
35996 longDateFormat : {
35997 LT : 'HH:mm',
35998 LTS : 'HH:mm:ss',
35999 L : 'YYYY-MM-DD',
36000 LL : 'YYYY [m.] MMMM D [d.]',
36001 LLL : 'YYYY [m.] MMMM D [d.], HH:mm [val.]',
36002 LLLL : 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]',
36003 l : 'YYYY-MM-DD',
36004 ll : 'YYYY [m.] MMMM D [d.]',
36005 lll : 'YYYY [m.] MMMM D [d.], HH:mm [val.]',
36006 llll : 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]'
36007 },
36008 calendar : {
36009 sameDay : '[Šiandien] LT',
36010 nextDay : '[Rytoj] LT',
36011 nextWeek : 'dddd LT',
36012 lastDay : '[Vakar] LT',
36013 lastWeek : '[Praėjusį] dddd LT',
36014 sameElse : 'L'
36015 },
36016 relativeTime : {
36017 future : 'po %s',
36018 past : 'prieš %s',
36019 s : translateSeconds,
36020 ss : translate,
36021 m : translateSingular,
36022 mm : translate,
36023 h : translateSingular,
36024 hh : translate,
36025 d : translateSingular,
36026 dd : translate,
36027 M : translateSingular,
36028 MM : translate,
36029 y : translateSingular,
36030 yy : translate
36031 },
36032 dayOfMonthOrdinalParse: /\d{1,2}-oji/,
36033 ordinal : function (number) {
36034 return number + '-oji';
36035 },
36036 week : {
36037 dow : 1, // Monday is the first day of the week.
36038 doy : 4 // The week that contains Jan 4th is the first week of the year.
36039 }
36040 });
36041
36042 return lt;
36043
36044 })));
36045
36046
36047/***/ }),
36048/* 398 */
36049/***/ (function(module, exports, __webpack_require__) {
36050
36051 //! moment.js locale configuration
36052
36053 ;(function (global, factory) {
36054 true ? factory(__webpack_require__(327)) :
36055 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
36056 factory(global.moment)
36057 }(this, (function (moment) { 'use strict';
36058
36059
36060 var units = {
36061 'ss': 'sekundes_sekundēm_sekunde_sekundes'.split('_'),
36062 'm': 'minūtes_minūtēm_minūte_minūtes'.split('_'),
36063 'mm': 'minūtes_minūtēm_minūte_minūtes'.split('_'),
36064 'h': 'stundas_stundām_stunda_stundas'.split('_'),
36065 'hh': 'stundas_stundām_stunda_stundas'.split('_'),
36066 'd': 'dienas_dienām_diena_dienas'.split('_'),
36067 'dd': 'dienas_dienām_diena_dienas'.split('_'),
36068 'M': 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),
36069 'MM': 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),
36070 'y': 'gada_gadiem_gads_gadi'.split('_'),
36071 'yy': 'gada_gadiem_gads_gadi'.split('_')
36072 };
36073 /**
36074 * @param withoutSuffix boolean true = a length of time; false = before/after a period of time.
36075 */
36076 function format(forms, number, withoutSuffix) {
36077 if (withoutSuffix) {
36078 // E.g. "21 minūte", "3 minūtes".
36079 return number % 10 === 1 && number % 100 !== 11 ? forms[2] : forms[3];
36080 } else {
36081 // E.g. "21 minūtes" as in "pēc 21 minūtes".
36082 // E.g. "3 minūtēm" as in "pēc 3 minūtēm".
36083 return number % 10 === 1 && number % 100 !== 11 ? forms[0] : forms[1];
36084 }
36085 }
36086 function relativeTimeWithPlural(number, withoutSuffix, key) {
36087 return number + ' ' + format(units[key], number, withoutSuffix);
36088 }
36089 function relativeTimeWithSingular(number, withoutSuffix, key) {
36090 return format(units[key], number, withoutSuffix);
36091 }
36092 function relativeSeconds(number, withoutSuffix) {
36093 return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm';
36094 }
36095
36096 var lv = moment.defineLocale('lv', {
36097 months : 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split('_'),
36098 monthsShort : 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split('_'),
36099 weekdays : 'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split('_'),
36100 weekdaysShort : 'Sv_P_O_T_C_Pk_S'.split('_'),
36101 weekdaysMin : 'Sv_P_O_T_C_Pk_S'.split('_'),
36102 weekdaysParseExact : true,
36103 longDateFormat : {
36104 LT : 'HH:mm',
36105 LTS : 'HH:mm:ss',
36106 L : 'DD.MM.YYYY.',
36107 LL : 'YYYY. [gada] D. MMMM',
36108 LLL : 'YYYY. [gada] D. MMMM, HH:mm',
36109 LLLL : 'YYYY. [gada] D. MMMM, dddd, HH:mm'
36110 },
36111 calendar : {
36112 sameDay : '[Šodien pulksten] LT',
36113 nextDay : '[Rīt pulksten] LT',
36114 nextWeek : 'dddd [pulksten] LT',
36115 lastDay : '[Vakar pulksten] LT',
36116 lastWeek : '[Pagājušā] dddd [pulksten] LT',
36117 sameElse : 'L'
36118 },
36119 relativeTime : {
36120 future : 'pēc %s',
36121 past : 'pirms %s',
36122 s : relativeSeconds,
36123 ss : relativeTimeWithPlural,
36124 m : relativeTimeWithSingular,
36125 mm : relativeTimeWithPlural,
36126 h : relativeTimeWithSingular,
36127 hh : relativeTimeWithPlural,
36128 d : relativeTimeWithSingular,
36129 dd : relativeTimeWithPlural,
36130 M : relativeTimeWithSingular,
36131 MM : relativeTimeWithPlural,
36132 y : relativeTimeWithSingular,
36133 yy : relativeTimeWithPlural
36134 },
36135 dayOfMonthOrdinalParse: /\d{1,2}\./,
36136 ordinal : '%d.',
36137 week : {
36138 dow : 1, // Monday is the first day of the week.
36139 doy : 4 // The week that contains Jan 4th is the first week of the year.
36140 }
36141 });
36142
36143 return lv;
36144
36145 })));
36146
36147
36148/***/ }),
36149/* 399 */
36150/***/ (function(module, exports, __webpack_require__) {
36151
36152 //! moment.js locale configuration
36153
36154 ;(function (global, factory) {
36155 true ? factory(__webpack_require__(327)) :
36156 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
36157 factory(global.moment)
36158 }(this, (function (moment) { 'use strict';
36159
36160
36161 var translator = {
36162 words: { //Different grammatical cases
36163 ss: ['sekund', 'sekunda', 'sekundi'],
36164 m: ['jedan minut', 'jednog minuta'],
36165 mm: ['minut', 'minuta', 'minuta'],
36166 h: ['jedan sat', 'jednog sata'],
36167 hh: ['sat', 'sata', 'sati'],
36168 dd: ['dan', 'dana', 'dana'],
36169 MM: ['mjesec', 'mjeseca', 'mjeseci'],
36170 yy: ['godina', 'godine', 'godina']
36171 },
36172 correctGrammaticalCase: function (number, wordKey) {
36173 return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);
36174 },
36175 translate: function (number, withoutSuffix, key) {
36176 var wordKey = translator.words[key];
36177 if (key.length === 1) {
36178 return withoutSuffix ? wordKey[0] : wordKey[1];
36179 } else {
36180 return number + ' ' + translator.correctGrammaticalCase(number, wordKey);
36181 }
36182 }
36183 };
36184
36185 var me = moment.defineLocale('me', {
36186 months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'),
36187 monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),
36188 monthsParseExact : true,
36189 weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),
36190 weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),
36191 weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),
36192 weekdaysParseExact : true,
36193 longDateFormat: {
36194 LT: 'H:mm',
36195 LTS : 'H:mm:ss',
36196 L: 'DD.MM.YYYY',
36197 LL: 'D. MMMM YYYY',
36198 LLL: 'D. MMMM YYYY H:mm',
36199 LLLL: 'dddd, D. MMMM YYYY H:mm'
36200 },
36201 calendar: {
36202 sameDay: '[danas u] LT',
36203 nextDay: '[sjutra u] LT',
36204
36205 nextWeek: function () {
36206 switch (this.day()) {
36207 case 0:
36208 return '[u] [nedjelju] [u] LT';
36209 case 3:
36210 return '[u] [srijedu] [u] LT';
36211 case 6:
36212 return '[u] [subotu] [u] LT';
36213 case 1:
36214 case 2:
36215 case 4:
36216 case 5:
36217 return '[u] dddd [u] LT';
36218 }
36219 },
36220 lastDay : '[juče u] LT',
36221 lastWeek : function () {
36222 var lastWeekDays = [
36223 '[prošle] [nedjelje] [u] LT',
36224 '[prošlog] [ponedjeljka] [u] LT',
36225 '[prošlog] [utorka] [u] LT',
36226 '[prošle] [srijede] [u] LT',
36227 '[prošlog] [četvrtka] [u] LT',
36228 '[prošlog] [petka] [u] LT',
36229 '[prošle] [subote] [u] LT'
36230 ];
36231 return lastWeekDays[this.day()];
36232 },
36233 sameElse : 'L'
36234 },
36235 relativeTime : {
36236 future : 'za %s',
36237 past : 'prije %s',
36238 s : 'nekoliko sekundi',
36239 ss : translator.translate,
36240 m : translator.translate,
36241 mm : translator.translate,
36242 h : translator.translate,
36243 hh : translator.translate,
36244 d : 'dan',
36245 dd : translator.translate,
36246 M : 'mjesec',
36247 MM : translator.translate,
36248 y : 'godinu',
36249 yy : translator.translate
36250 },
36251 dayOfMonthOrdinalParse: /\d{1,2}\./,
36252 ordinal : '%d.',
36253 week : {
36254 dow : 1, // Monday is the first day of the week.
36255 doy : 7 // The week that contains Jan 1st is the first week of the year.
36256 }
36257 });
36258
36259 return me;
36260
36261 })));
36262
36263
36264/***/ }),
36265/* 400 */
36266/***/ (function(module, exports, __webpack_require__) {
36267
36268 //! moment.js locale configuration
36269
36270 ;(function (global, factory) {
36271 true ? factory(__webpack_require__(327)) :
36272 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
36273 factory(global.moment)
36274 }(this, (function (moment) { 'use strict';
36275
36276
36277 var mi = moment.defineLocale('mi', {
36278 months: 'Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea'.split('_'),
36279 monthsShort: 'Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split('_'),
36280 monthsRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,
36281 monthsStrictRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,
36282 monthsShortRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,
36283 monthsShortStrictRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i,
36284 weekdays: 'Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei'.split('_'),
36285 weekdaysShort: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),
36286 weekdaysMin: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),
36287 longDateFormat: {
36288 LT: 'HH:mm',
36289 LTS: 'HH:mm:ss',
36290 L: 'DD/MM/YYYY',
36291 LL: 'D MMMM YYYY',
36292 LLL: 'D MMMM YYYY [i] HH:mm',
36293 LLLL: 'dddd, D MMMM YYYY [i] HH:mm'
36294 },
36295 calendar: {
36296 sameDay: '[i teie mahana, i] LT',
36297 nextDay: '[apopo i] LT',
36298 nextWeek: 'dddd [i] LT',
36299 lastDay: '[inanahi i] LT',
36300 lastWeek: 'dddd [whakamutunga i] LT',
36301 sameElse: 'L'
36302 },
36303 relativeTime: {
36304 future: 'i roto i %s',
36305 past: '%s i mua',
36306 s: 'te hēkona ruarua',
36307 ss: '%d hēkona',
36308 m: 'he meneti',
36309 mm: '%d meneti',
36310 h: 'te haora',
36311 hh: '%d haora',
36312 d: 'he ra',
36313 dd: '%d ra',
36314 M: 'he marama',
36315 MM: '%d marama',
36316 y: 'he tau',
36317 yy: '%d tau'
36318 },
36319 dayOfMonthOrdinalParse: /\d{1,2}º/,
36320 ordinal: '%dº',
36321 week : {
36322 dow : 1, // Monday is the first day of the week.
36323 doy : 4 // The week that contains Jan 4th is the first week of the year.
36324 }
36325 });
36326
36327 return mi;
36328
36329 })));
36330
36331
36332/***/ }),
36333/* 401 */
36334/***/ (function(module, exports, __webpack_require__) {
36335
36336 //! moment.js locale configuration
36337
36338 ;(function (global, factory) {
36339 true ? factory(__webpack_require__(327)) :
36340 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
36341 factory(global.moment)
36342 }(this, (function (moment) { 'use strict';
36343
36344
36345 var mk = moment.defineLocale('mk', {
36346 months : 'јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември'.split('_'),
36347 monthsShort : 'јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек'.split('_'),
36348 weekdays : 'недела_понеделник_вторник_среда_четврток_петок_сабота'.split('_'),
36349 weekdaysShort : 'нед_пон_вто_сре_чет_пет_саб'.split('_'),
36350 weekdaysMin : 'нe_пo_вт_ср_че_пе_сa'.split('_'),
36351 longDateFormat : {
36352 LT : 'H:mm',
36353 LTS : 'H:mm:ss',
36354 L : 'D.MM.YYYY',
36355 LL : 'D MMMM YYYY',
36356 LLL : 'D MMMM YYYY H:mm',
36357 LLLL : 'dddd, D MMMM YYYY H:mm'
36358 },
36359 calendar : {
36360 sameDay : '[Денес во] LT',
36361 nextDay : '[Утре во] LT',
36362 nextWeek : '[Во] dddd [во] LT',
36363 lastDay : '[Вчера во] LT',
36364 lastWeek : function () {
36365 switch (this.day()) {
36366 case 0:
36367 case 3:
36368 case 6:
36369 return '[Изминатата] dddd [во] LT';
36370 case 1:
36371 case 2:
36372 case 4:
36373 case 5:
36374 return '[Изминатиот] dddd [во] LT';
36375 }
36376 },
36377 sameElse : 'L'
36378 },
36379 relativeTime : {
36380 future : 'после %s',
36381 past : 'пред %s',
36382 s : 'неколку секунди',
36383 ss : '%d секунди',
36384 m : 'минута',
36385 mm : '%d минути',
36386 h : 'час',
36387 hh : '%d часа',
36388 d : 'ден',
36389 dd : '%d дена',
36390 M : 'месец',
36391 MM : '%d месеци',
36392 y : 'година',
36393 yy : '%d години'
36394 },
36395 dayOfMonthOrdinalParse: /\d{1,2}-(ев|ен|ти|ви|ри|ми)/,
36396 ordinal : function (number) {
36397 var lastDigit = number % 10,
36398 last2Digits = number % 100;
36399 if (number === 0) {
36400 return number + '-ев';
36401 } else if (last2Digits === 0) {
36402 return number + '-ен';
36403 } else if (last2Digits > 10 && last2Digits < 20) {
36404 return number + '-ти';
36405 } else if (lastDigit === 1) {
36406 return number + '-ви';
36407 } else if (lastDigit === 2) {
36408 return number + '-ри';
36409 } else if (lastDigit === 7 || lastDigit === 8) {
36410 return number + '-ми';
36411 } else {
36412 return number + '-ти';
36413 }
36414 },
36415 week : {
36416 dow : 1, // Monday is the first day of the week.
36417 doy : 7 // The week that contains Jan 1st is the first week of the year.
36418 }
36419 });
36420
36421 return mk;
36422
36423 })));
36424
36425
36426/***/ }),
36427/* 402 */
36428/***/ (function(module, exports, __webpack_require__) {
36429
36430 //! moment.js locale configuration
36431
36432 ;(function (global, factory) {
36433 true ? factory(__webpack_require__(327)) :
36434 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
36435 factory(global.moment)
36436 }(this, (function (moment) { 'use strict';
36437
36438
36439 var ml = moment.defineLocale('ml', {
36440 months : 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split('_'),
36441 monthsShort : 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split('_'),
36442 monthsParseExact : true,
36443 weekdays : 'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split('_'),
36444 weekdaysShort : 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'),
36445 weekdaysMin : 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'),
36446 longDateFormat : {
36447 LT : 'A h:mm -നു',
36448 LTS : 'A h:mm:ss -നു',
36449 L : 'DD/MM/YYYY',
36450 LL : 'D MMMM YYYY',
36451 LLL : 'D MMMM YYYY, A h:mm -നു',
36452 LLLL : 'dddd, D MMMM YYYY, A h:mm -നു'
36453 },
36454 calendar : {
36455 sameDay : '[ഇന്ന്] LT',
36456 nextDay : '[നാളെ] LT',
36457 nextWeek : 'dddd, LT',
36458 lastDay : '[ഇന്നലെ] LT',
36459 lastWeek : '[കഴിഞ്ഞ] dddd, LT',
36460 sameElse : 'L'
36461 },
36462 relativeTime : {
36463 future : '%s കഴിഞ്ഞ്',
36464 past : '%s മുൻപ്',
36465 s : 'അൽപ നിമിഷങ്ങൾ',
36466 ss : '%d സെക്കൻഡ്',
36467 m : 'ഒരു മിനിറ്റ്',
36468 mm : '%d മിനിറ്റ്',
36469 h : 'ഒരു മണിക്കൂർ',
36470 hh : '%d മണിക്കൂർ',
36471 d : 'ഒരു ദിവസം',
36472 dd : '%d ദിവസം',
36473 M : 'ഒരു മാസം',
36474 MM : '%d മാസം',
36475 y : 'ഒരു വർഷം',
36476 yy : '%d വർഷം'
36477 },
36478 meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,
36479 meridiemHour : function (hour, meridiem) {
36480 if (hour === 12) {
36481 hour = 0;
36482 }
36483 if ((meridiem === 'രാത്രി' && hour >= 4) ||
36484 meridiem === 'ഉച്ച കഴിഞ്ഞ്' ||
36485 meridiem === 'വൈകുന്നേരം') {
36486 return hour + 12;
36487 } else {
36488 return hour;
36489 }
36490 },
36491 meridiem : function (hour, minute, isLower) {
36492 if (hour < 4) {
36493 return 'രാത്രി';
36494 } else if (hour < 12) {
36495 return 'രാവിലെ';
36496 } else if (hour < 17) {
36497 return 'ഉച്ച കഴിഞ്ഞ്';
36498 } else if (hour < 20) {
36499 return 'വൈകുന്നേരം';
36500 } else {
36501 return 'രാത്രി';
36502 }
36503 }
36504 });
36505
36506 return ml;
36507
36508 })));
36509
36510
36511/***/ }),
36512/* 403 */
36513/***/ (function(module, exports, __webpack_require__) {
36514
36515 //! moment.js locale configuration
36516
36517 ;(function (global, factory) {
36518 true ? factory(__webpack_require__(327)) :
36519 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
36520 factory(global.moment)
36521 }(this, (function (moment) { 'use strict';
36522
36523
36524 function translate(number, withoutSuffix, key, isFuture) {
36525 switch (key) {
36526 case 's':
36527 return withoutSuffix ? 'хэдхэн секунд' : 'хэдхэн секундын';
36528 case 'ss':
36529 return number + (withoutSuffix ? ' секунд' : ' секундын');
36530 case 'm':
36531 case 'mm':
36532 return number + (withoutSuffix ? ' минут' : ' минутын');
36533 case 'h':
36534 case 'hh':
36535 return number + (withoutSuffix ? ' цаг' : ' цагийн');
36536 case 'd':
36537 case 'dd':
36538 return number + (withoutSuffix ? ' өдөр' : ' өдрийн');
36539 case 'M':
36540 case 'MM':
36541 return number + (withoutSuffix ? ' сар' : ' сарын');
36542 case 'y':
36543 case 'yy':
36544 return number + (withoutSuffix ? ' жил' : ' жилийн');
36545 default:
36546 return number;
36547 }
36548 }
36549
36550 var mn = moment.defineLocale('mn', {
36551 months : 'Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар'.split('_'),
36552 monthsShort : '1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар'.split('_'),
36553 monthsParseExact : true,
36554 weekdays : 'Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба'.split('_'),
36555 weekdaysShort : 'Ням_Дав_Мяг_Лха_Пүр_Баа_Бям'.split('_'),
36556 weekdaysMin : 'Ня_Да_Мя_Лх_Пү_Ба_Бя'.split('_'),
36557 weekdaysParseExact : true,
36558 longDateFormat : {
36559 LT : 'HH:mm',
36560 LTS : 'HH:mm:ss',
36561 L : 'YYYY-MM-DD',
36562 LL : 'YYYY оны MMMMын D',
36563 LLL : 'YYYY оны MMMMын D HH:mm',
36564 LLLL : 'dddd, YYYY оны MMMMын D HH:mm'
36565 },
36566 meridiemParse: /ҮӨ|ҮХ/i,
36567 isPM : function (input) {
36568 return input === 'ҮХ';
36569 },
36570 meridiem : function (hour, minute, isLower) {
36571 if (hour < 12) {
36572 return 'ҮӨ';
36573 } else {
36574 return 'ҮХ';
36575 }
36576 },
36577 calendar : {
36578 sameDay : '[Өнөөдөр] LT',
36579 nextDay : '[Маргааш] LT',
36580 nextWeek : '[Ирэх] dddd LT',
36581 lastDay : '[Өчигдөр] LT',
36582 lastWeek : '[Өнгөрсөн] dddd LT',
36583 sameElse : 'L'
36584 },
36585 relativeTime : {
36586 future : '%s дараа',
36587 past : '%s өмнө',
36588 s : translate,
36589 ss : translate,
36590 m : translate,
36591 mm : translate,
36592 h : translate,
36593 hh : translate,
36594 d : translate,
36595 dd : translate,
36596 M : translate,
36597 MM : translate,
36598 y : translate,
36599 yy : translate
36600 },
36601 dayOfMonthOrdinalParse: /\d{1,2} өдөр/,
36602 ordinal : function (number, period) {
36603 switch (period) {
36604 case 'd':
36605 case 'D':
36606 case 'DDD':
36607 return number + ' өдөр';
36608 default:
36609 return number;
36610 }
36611 }
36612 });
36613
36614 return mn;
36615
36616 })));
36617
36618
36619/***/ }),
36620/* 404 */
36621/***/ (function(module, exports, __webpack_require__) {
36622
36623 //! moment.js locale configuration
36624
36625 ;(function (global, factory) {
36626 true ? factory(__webpack_require__(327)) :
36627 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
36628 factory(global.moment)
36629 }(this, (function (moment) { 'use strict';
36630
36631
36632 var symbolMap = {
36633 '1': '१',
36634 '2': '२',
36635 '3': '३',
36636 '4': '४',
36637 '5': '५',
36638 '6': '६',
36639 '7': '७',
36640 '8': '८',
36641 '9': '९',
36642 '0': '०'
36643 },
36644 numberMap = {
36645 '१': '1',
36646 '२': '2',
36647 '३': '3',
36648 '४': '4',
36649 '५': '5',
36650 '६': '6',
36651 '७': '7',
36652 '८': '8',
36653 '९': '9',
36654 '०': '0'
36655 };
36656
36657 function relativeTimeMr(number, withoutSuffix, string, isFuture)
36658 {
36659 var output = '';
36660 if (withoutSuffix) {
36661 switch (string) {
36662 case 's': output = 'काही सेकंद'; break;
36663 case 'ss': output = '%d सेकंद'; break;
36664 case 'm': output = 'एक मिनिट'; break;
36665 case 'mm': output = '%d मिनिटे'; break;
36666 case 'h': output = 'एक तास'; break;
36667 case 'hh': output = '%d तास'; break;
36668 case 'd': output = 'एक दिवस'; break;
36669 case 'dd': output = '%d दिवस'; break;
36670 case 'M': output = 'एक महिना'; break;
36671 case 'MM': output = '%d महिने'; break;
36672 case 'y': output = 'एक वर्ष'; break;
36673 case 'yy': output = '%d वर्षे'; break;
36674 }
36675 }
36676 else {
36677 switch (string) {
36678 case 's': output = 'काही सेकंदां'; break;
36679 case 'ss': output = '%d सेकंदां'; break;
36680 case 'm': output = 'एका मिनिटा'; break;
36681 case 'mm': output = '%d मिनिटां'; break;
36682 case 'h': output = 'एका तासा'; break;
36683 case 'hh': output = '%d तासां'; break;
36684 case 'd': output = 'एका दिवसा'; break;
36685 case 'dd': output = '%d दिवसां'; break;
36686 case 'M': output = 'एका महिन्या'; break;
36687 case 'MM': output = '%d महिन्यां'; break;
36688 case 'y': output = 'एका वर्षा'; break;
36689 case 'yy': output = '%d वर्षां'; break;
36690 }
36691 }
36692 return output.replace(/%d/i, number);
36693 }
36694
36695 var mr = moment.defineLocale('mr', {
36696 months : 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split('_'),
36697 monthsShort: 'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split('_'),
36698 monthsParseExact : true,
36699 weekdays : 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),
36700 weekdaysShort : 'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split('_'),
36701 weekdaysMin : 'र_सो_मं_बु_गु_शु_श'.split('_'),
36702 longDateFormat : {
36703 LT : 'A h:mm वाजता',
36704 LTS : 'A h:mm:ss वाजता',
36705 L : 'DD/MM/YYYY',
36706 LL : 'D MMMM YYYY',
36707 LLL : 'D MMMM YYYY, A h:mm वाजता',
36708 LLLL : 'dddd, D MMMM YYYY, A h:mm वाजता'
36709 },
36710 calendar : {
36711 sameDay : '[आज] LT',
36712 nextDay : '[उद्या] LT',
36713 nextWeek : 'dddd, LT',
36714 lastDay : '[काल] LT',
36715 lastWeek: '[मागील] dddd, LT',
36716 sameElse : 'L'
36717 },
36718 relativeTime : {
36719 future: '%sमध्ये',
36720 past: '%sपूर्वी',
36721 s: relativeTimeMr,
36722 ss: relativeTimeMr,
36723 m: relativeTimeMr,
36724 mm: relativeTimeMr,
36725 h: relativeTimeMr,
36726 hh: relativeTimeMr,
36727 d: relativeTimeMr,
36728 dd: relativeTimeMr,
36729 M: relativeTimeMr,
36730 MM: relativeTimeMr,
36731 y: relativeTimeMr,
36732 yy: relativeTimeMr
36733 },
36734 preparse: function (string) {
36735 return string.replace(/[१२३४५६७८९०]/g, function (match) {
36736 return numberMap[match];
36737 });
36738 },
36739 postformat: function (string) {
36740 return string.replace(/\d/g, function (match) {
36741 return symbolMap[match];
36742 });
36743 },
36744 meridiemParse: /रात्री|सकाळी|दुपारी|सायंकाळी/,
36745 meridiemHour : function (hour, meridiem) {
36746 if (hour === 12) {
36747 hour = 0;
36748 }
36749 if (meridiem === 'रात्री') {
36750 return hour < 4 ? hour : hour + 12;
36751 } else if (meridiem === 'सकाळी') {
36752 return hour;
36753 } else if (meridiem === 'दुपारी') {
36754 return hour >= 10 ? hour : hour + 12;
36755 } else if (meridiem === 'सायंकाळी') {
36756 return hour + 12;
36757 }
36758 },
36759 meridiem: function (hour, minute, isLower) {
36760 if (hour < 4) {
36761 return 'रात्री';
36762 } else if (hour < 10) {
36763 return 'सकाळी';
36764 } else if (hour < 17) {
36765 return 'दुपारी';
36766 } else if (hour < 20) {
36767 return 'सायंकाळी';
36768 } else {
36769 return 'रात्री';
36770 }
36771 },
36772 week : {
36773 dow : 0, // Sunday is the first day of the week.
36774 doy : 6 // The week that contains Jan 1st is the first week of the year.
36775 }
36776 });
36777
36778 return mr;
36779
36780 })));
36781
36782
36783/***/ }),
36784/* 405 */
36785/***/ (function(module, exports, __webpack_require__) {
36786
36787 //! moment.js locale configuration
36788
36789 ;(function (global, factory) {
36790 true ? factory(__webpack_require__(327)) :
36791 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
36792 factory(global.moment)
36793 }(this, (function (moment) { 'use strict';
36794
36795
36796 var ms = moment.defineLocale('ms', {
36797 months : 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'),
36798 monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),
36799 weekdays : 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),
36800 weekdaysShort : 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),
36801 weekdaysMin : 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),
36802 longDateFormat : {
36803 LT : 'HH.mm',
36804 LTS : 'HH.mm.ss',
36805 L : 'DD/MM/YYYY',
36806 LL : 'D MMMM YYYY',
36807 LLL : 'D MMMM YYYY [pukul] HH.mm',
36808 LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'
36809 },
36810 meridiemParse: /pagi|tengahari|petang|malam/,
36811 meridiemHour: function (hour, meridiem) {
36812 if (hour === 12) {
36813 hour = 0;
36814 }
36815 if (meridiem === 'pagi') {
36816 return hour;
36817 } else if (meridiem === 'tengahari') {
36818 return hour >= 11 ? hour : hour + 12;
36819 } else if (meridiem === 'petang' || meridiem === 'malam') {
36820 return hour + 12;
36821 }
36822 },
36823 meridiem : function (hours, minutes, isLower) {
36824 if (hours < 11) {
36825 return 'pagi';
36826 } else if (hours < 15) {
36827 return 'tengahari';
36828 } else if (hours < 19) {
36829 return 'petang';
36830 } else {
36831 return 'malam';
36832 }
36833 },
36834 calendar : {
36835 sameDay : '[Hari ini pukul] LT',
36836 nextDay : '[Esok pukul] LT',
36837 nextWeek : 'dddd [pukul] LT',
36838 lastDay : '[Kelmarin pukul] LT',
36839 lastWeek : 'dddd [lepas pukul] LT',
36840 sameElse : 'L'
36841 },
36842 relativeTime : {
36843 future : 'dalam %s',
36844 past : '%s yang lepas',
36845 s : 'beberapa saat',
36846 ss : '%d saat',
36847 m : 'seminit',
36848 mm : '%d minit',
36849 h : 'sejam',
36850 hh : '%d jam',
36851 d : 'sehari',
36852 dd : '%d hari',
36853 M : 'sebulan',
36854 MM : '%d bulan',
36855 y : 'setahun',
36856 yy : '%d tahun'
36857 },
36858 week : {
36859 dow : 1, // Monday is the first day of the week.
36860 doy : 7 // The week that contains Jan 1st is the first week of the year.
36861 }
36862 });
36863
36864 return ms;
36865
36866 })));
36867
36868
36869/***/ }),
36870/* 406 */
36871/***/ (function(module, exports, __webpack_require__) {
36872
36873 //! moment.js locale configuration
36874
36875 ;(function (global, factory) {
36876 true ? factory(__webpack_require__(327)) :
36877 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
36878 factory(global.moment)
36879 }(this, (function (moment) { 'use strict';
36880
36881
36882 var msMy = moment.defineLocale('ms-my', {
36883 months : 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'),
36884 monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),
36885 weekdays : 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),
36886 weekdaysShort : 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),
36887 weekdaysMin : 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),
36888 longDateFormat : {
36889 LT : 'HH.mm',
36890 LTS : 'HH.mm.ss',
36891 L : 'DD/MM/YYYY',
36892 LL : 'D MMMM YYYY',
36893 LLL : 'D MMMM YYYY [pukul] HH.mm',
36894 LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'
36895 },
36896 meridiemParse: /pagi|tengahari|petang|malam/,
36897 meridiemHour: function (hour, meridiem) {
36898 if (hour === 12) {
36899 hour = 0;
36900 }
36901 if (meridiem === 'pagi') {
36902 return hour;
36903 } else if (meridiem === 'tengahari') {
36904 return hour >= 11 ? hour : hour + 12;
36905 } else if (meridiem === 'petang' || meridiem === 'malam') {
36906 return hour + 12;
36907 }
36908 },
36909 meridiem : function (hours, minutes, isLower) {
36910 if (hours < 11) {
36911 return 'pagi';
36912 } else if (hours < 15) {
36913 return 'tengahari';
36914 } else if (hours < 19) {
36915 return 'petang';
36916 } else {
36917 return 'malam';
36918 }
36919 },
36920 calendar : {
36921 sameDay : '[Hari ini pukul] LT',
36922 nextDay : '[Esok pukul] LT',
36923 nextWeek : 'dddd [pukul] LT',
36924 lastDay : '[Kelmarin pukul] LT',
36925 lastWeek : 'dddd [lepas pukul] LT',
36926 sameElse : 'L'
36927 },
36928 relativeTime : {
36929 future : 'dalam %s',
36930 past : '%s yang lepas',
36931 s : 'beberapa saat',
36932 ss : '%d saat',
36933 m : 'seminit',
36934 mm : '%d minit',
36935 h : 'sejam',
36936 hh : '%d jam',
36937 d : 'sehari',
36938 dd : '%d hari',
36939 M : 'sebulan',
36940 MM : '%d bulan',
36941 y : 'setahun',
36942 yy : '%d tahun'
36943 },
36944 week : {
36945 dow : 1, // Monday is the first day of the week.
36946 doy : 7 // The week that contains Jan 1st is the first week of the year.
36947 }
36948 });
36949
36950 return msMy;
36951
36952 })));
36953
36954
36955/***/ }),
36956/* 407 */
36957/***/ (function(module, exports, __webpack_require__) {
36958
36959 //! moment.js locale configuration
36960
36961 ;(function (global, factory) {
36962 true ? factory(__webpack_require__(327)) :
36963 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
36964 factory(global.moment)
36965 }(this, (function (moment) { 'use strict';
36966
36967
36968 var mt = moment.defineLocale('mt', {
36969 months : 'Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru'.split('_'),
36970 monthsShort : 'Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ'.split('_'),
36971 weekdays : 'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt'.split('_'),
36972 weekdaysShort : 'Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib'.split('_'),
36973 weekdaysMin : 'Ħa_Tn_Tl_Er_Ħa_Ġi_Si'.split('_'),
36974 longDateFormat : {
36975 LT : 'HH:mm',
36976 LTS : 'HH:mm:ss',
36977 L : 'DD/MM/YYYY',
36978 LL : 'D MMMM YYYY',
36979 LLL : 'D MMMM YYYY HH:mm',
36980 LLLL : 'dddd, D MMMM YYYY HH:mm'
36981 },
36982 calendar : {
36983 sameDay : '[Illum fil-]LT',
36984 nextDay : '[Għada fil-]LT',
36985 nextWeek : 'dddd [fil-]LT',
36986 lastDay : '[Il-bieraħ fil-]LT',
36987 lastWeek : 'dddd [li għadda] [fil-]LT',
36988 sameElse : 'L'
36989 },
36990 relativeTime : {
36991 future : 'f’ %s',
36992 past : '%s ilu',
36993 s : 'ftit sekondi',
36994 ss : '%d sekondi',
36995 m : 'minuta',
36996 mm : '%d minuti',
36997 h : 'siegħa',
36998 hh : '%d siegħat',
36999 d : 'ġurnata',
37000 dd : '%d ġranet',
37001 M : 'xahar',
37002 MM : '%d xhur',
37003 y : 'sena',
37004 yy : '%d sni'
37005 },
37006 dayOfMonthOrdinalParse : /\d{1,2}º/,
37007 ordinal: '%dº',
37008 week : {
37009 dow : 1, // Monday is the first day of the week.
37010 doy : 4 // The week that contains Jan 4th is the first week of the year.
37011 }
37012 });
37013
37014 return mt;
37015
37016 })));
37017
37018
37019/***/ }),
37020/* 408 */
37021/***/ (function(module, exports, __webpack_require__) {
37022
37023 //! moment.js locale configuration
37024
37025 ;(function (global, factory) {
37026 true ? factory(__webpack_require__(327)) :
37027 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
37028 factory(global.moment)
37029 }(this, (function (moment) { 'use strict';
37030
37031
37032 var symbolMap = {
37033 '1': '၁',
37034 '2': '၂',
37035 '3': '၃',
37036 '4': '၄',
37037 '5': '၅',
37038 '6': '၆',
37039 '7': '၇',
37040 '8': '၈',
37041 '9': '၉',
37042 '0': '၀'
37043 }, numberMap = {
37044 '၁': '1',
37045 '၂': '2',
37046 '၃': '3',
37047 '၄': '4',
37048 '၅': '5',
37049 '၆': '6',
37050 '၇': '7',
37051 '၈': '8',
37052 '၉': '9',
37053 '၀': '0'
37054 };
37055
37056 var my = moment.defineLocale('my', {
37057 months: 'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split('_'),
37058 monthsShort: 'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split('_'),
37059 weekdays: 'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split('_'),
37060 weekdaysShort: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),
37061 weekdaysMin: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),
37062
37063 longDateFormat: {
37064 LT: 'HH:mm',
37065 LTS: 'HH:mm:ss',
37066 L: 'DD/MM/YYYY',
37067 LL: 'D MMMM YYYY',
37068 LLL: 'D MMMM YYYY HH:mm',
37069 LLLL: 'dddd D MMMM YYYY HH:mm'
37070 },
37071 calendar: {
37072 sameDay: '[ယနေ.] LT [မှာ]',
37073 nextDay: '[မနက်ဖြန်] LT [မှာ]',
37074 nextWeek: 'dddd LT [မှာ]',
37075 lastDay: '[မနေ.က] LT [မှာ]',
37076 lastWeek: '[ပြီးခဲ့သော] dddd LT [မှာ]',
37077 sameElse: 'L'
37078 },
37079 relativeTime: {
37080 future: 'လာမည့် %s မှာ',
37081 past: 'လွန်ခဲ့သော %s က',
37082 s: 'စက္ကန်.အနည်းငယ်',
37083 ss : '%d စက္ကန့်',
37084 m: 'တစ်မိနစ်',
37085 mm: '%d မိနစ်',
37086 h: 'တစ်နာရီ',
37087 hh: '%d နာရီ',
37088 d: 'တစ်ရက်',
37089 dd: '%d ရက်',
37090 M: 'တစ်လ',
37091 MM: '%d လ',
37092 y: 'တစ်နှစ်',
37093 yy: '%d နှစ်'
37094 },
37095 preparse: function (string) {
37096 return string.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (match) {
37097 return numberMap[match];
37098 });
37099 },
37100 postformat: function (string) {
37101 return string.replace(/\d/g, function (match) {
37102 return symbolMap[match];
37103 });
37104 },
37105 week: {
37106 dow: 1, // Monday is the first day of the week.
37107 doy: 4 // The week that contains Jan 1st is the first week of the year.
37108 }
37109 });
37110
37111 return my;
37112
37113 })));
37114
37115
37116/***/ }),
37117/* 409 */
37118/***/ (function(module, exports, __webpack_require__) {
37119
37120 //! moment.js locale configuration
37121
37122 ;(function (global, factory) {
37123 true ? factory(__webpack_require__(327)) :
37124 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
37125 factory(global.moment)
37126 }(this, (function (moment) { 'use strict';
37127
37128
37129 var nb = moment.defineLocale('nb', {
37130 months : 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),
37131 monthsShort : 'jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),
37132 monthsParseExact : true,
37133 weekdays : 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),
37134 weekdaysShort : 'sø._ma._ti._on._to._fr._lø.'.split('_'),
37135 weekdaysMin : 'sø_ma_ti_on_to_fr_lø'.split('_'),
37136 weekdaysParseExact : true,
37137 longDateFormat : {
37138 LT : 'HH:mm',
37139 LTS : 'HH:mm:ss',
37140 L : 'DD.MM.YYYY',
37141 LL : 'D. MMMM YYYY',
37142 LLL : 'D. MMMM YYYY [kl.] HH:mm',
37143 LLLL : 'dddd D. MMMM YYYY [kl.] HH:mm'
37144 },
37145 calendar : {
37146 sameDay: '[i dag kl.] LT',
37147 nextDay: '[i morgen kl.] LT',
37148 nextWeek: 'dddd [kl.] LT',
37149 lastDay: '[i går kl.] LT',
37150 lastWeek: '[forrige] dddd [kl.] LT',
37151 sameElse: 'L'
37152 },
37153 relativeTime : {
37154 future : 'om %s',
37155 past : '%s siden',
37156 s : 'noen sekunder',
37157 ss : '%d sekunder',
37158 m : 'ett minutt',
37159 mm : '%d minutter',
37160 h : 'en time',
37161 hh : '%d timer',
37162 d : 'en dag',
37163 dd : '%d dager',
37164 M : 'en måned',
37165 MM : '%d måneder',
37166 y : 'ett år',
37167 yy : '%d år'
37168 },
37169 dayOfMonthOrdinalParse: /\d{1,2}\./,
37170 ordinal : '%d.',
37171 week : {
37172 dow : 1, // Monday is the first day of the week.
37173 doy : 4 // The week that contains Jan 4th is the first week of the year.
37174 }
37175 });
37176
37177 return nb;
37178
37179 })));
37180
37181
37182/***/ }),
37183/* 410 */
37184/***/ (function(module, exports, __webpack_require__) {
37185
37186 //! moment.js locale configuration
37187
37188 ;(function (global, factory) {
37189 true ? factory(__webpack_require__(327)) :
37190 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
37191 factory(global.moment)
37192 }(this, (function (moment) { 'use strict';
37193
37194
37195 var symbolMap = {
37196 '1': '१',
37197 '2': '२',
37198 '3': '३',
37199 '4': '४',
37200 '5': '५',
37201 '6': '६',
37202 '7': '७',
37203 '8': '८',
37204 '9': '९',
37205 '0': '०'
37206 },
37207 numberMap = {
37208 '१': '1',
37209 '२': '2',
37210 '३': '3',
37211 '४': '4',
37212 '५': '5',
37213 '६': '6',
37214 '७': '7',
37215 '८': '8',
37216 '९': '9',
37217 '०': '0'
37218 };
37219
37220 var ne = moment.defineLocale('ne', {
37221 months : 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split('_'),
37222 monthsShort : 'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split('_'),
37223 monthsParseExact : true,
37224 weekdays : 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split('_'),
37225 weekdaysShort : 'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split('_'),
37226 weekdaysMin : 'आ._सो._मं._बु._बि._शु._श.'.split('_'),
37227 weekdaysParseExact : true,
37228 longDateFormat : {
37229 LT : 'Aको h:mm बजे',
37230 LTS : 'Aको h:mm:ss बजे',
37231 L : 'DD/MM/YYYY',
37232 LL : 'D MMMM YYYY',
37233 LLL : 'D MMMM YYYY, Aको h:mm बजे',
37234 LLLL : 'dddd, D MMMM YYYY, Aको h:mm बजे'
37235 },
37236 preparse: function (string) {
37237 return string.replace(/[१२३४५६७८९०]/g, function (match) {
37238 return numberMap[match];
37239 });
37240 },
37241 postformat: function (string) {
37242 return string.replace(/\d/g, function (match) {
37243 return symbolMap[match];
37244 });
37245 },
37246 meridiemParse: /राति|बिहान|दिउँसो|साँझ/,
37247 meridiemHour : function (hour, meridiem) {
37248 if (hour === 12) {
37249 hour = 0;
37250 }
37251 if (meridiem === 'राति') {
37252 return hour < 4 ? hour : hour + 12;
37253 } else if (meridiem === 'बिहान') {
37254 return hour;
37255 } else if (meridiem === 'दिउँसो') {
37256 return hour >= 10 ? hour : hour + 12;
37257 } else if (meridiem === 'साँझ') {
37258 return hour + 12;
37259 }
37260 },
37261 meridiem : function (hour, minute, isLower) {
37262 if (hour < 3) {
37263 return 'राति';
37264 } else if (hour < 12) {
37265 return 'बिहान';
37266 } else if (hour < 16) {
37267 return 'दिउँसो';
37268 } else if (hour < 20) {
37269 return 'साँझ';
37270 } else {
37271 return 'राति';
37272 }
37273 },
37274 calendar : {
37275 sameDay : '[आज] LT',
37276 nextDay : '[भोलि] LT',
37277 nextWeek : '[आउँदो] dddd[,] LT',
37278 lastDay : '[हिजो] LT',
37279 lastWeek : '[गएको] dddd[,] LT',
37280 sameElse : 'L'
37281 },
37282 relativeTime : {
37283 future : '%sमा',
37284 past : '%s अगाडि',
37285 s : 'केही क्षण',
37286 ss : '%d सेकेण्ड',
37287 m : 'एक मिनेट',
37288 mm : '%d मिनेट',
37289 h : 'एक घण्टा',
37290 hh : '%d घण्टा',
37291 d : 'एक दिन',
37292 dd : '%d दिन',
37293 M : 'एक महिना',
37294 MM : '%d महिना',
37295 y : 'एक बर्ष',
37296 yy : '%d बर्ष'
37297 },
37298 week : {
37299 dow : 0, // Sunday is the first day of the week.
37300 doy : 6 // The week that contains Jan 1st is the first week of the year.
37301 }
37302 });
37303
37304 return ne;
37305
37306 })));
37307
37308
37309/***/ }),
37310/* 411 */
37311/***/ (function(module, exports, __webpack_require__) {
37312
37313 //! moment.js locale configuration
37314
37315 ;(function (global, factory) {
37316 true ? factory(__webpack_require__(327)) :
37317 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
37318 factory(global.moment)
37319 }(this, (function (moment) { 'use strict';
37320
37321
37322 var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),
37323 monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_');
37324
37325 var monthsParse = [/^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i];
37326 var monthsRegex = /^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;
37327
37328 var nl = moment.defineLocale('nl', {
37329 months : 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),
37330 monthsShort : function (m, format) {
37331 if (!m) {
37332 return monthsShortWithDots;
37333 } else if (/-MMM-/.test(format)) {
37334 return monthsShortWithoutDots[m.month()];
37335 } else {
37336 return monthsShortWithDots[m.month()];
37337 }
37338 },
37339
37340 monthsRegex: monthsRegex,
37341 monthsShortRegex: monthsRegex,
37342 monthsStrictRegex: /^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,
37343 monthsShortStrictRegex: /^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,
37344
37345 monthsParse : monthsParse,
37346 longMonthsParse : monthsParse,
37347 shortMonthsParse : monthsParse,
37348
37349 weekdays : 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),
37350 weekdaysShort : 'zo._ma._di._wo._do._vr._za.'.split('_'),
37351 weekdaysMin : 'zo_ma_di_wo_do_vr_za'.split('_'),
37352 weekdaysParseExact : true,
37353 longDateFormat : {
37354 LT : 'HH:mm',
37355 LTS : 'HH:mm:ss',
37356 L : 'DD-MM-YYYY',
37357 LL : 'D MMMM YYYY',
37358 LLL : 'D MMMM YYYY HH:mm',
37359 LLLL : 'dddd D MMMM YYYY HH:mm'
37360 },
37361 calendar : {
37362 sameDay: '[vandaag om] LT',
37363 nextDay: '[morgen om] LT',
37364 nextWeek: 'dddd [om] LT',
37365 lastDay: '[gisteren om] LT',
37366 lastWeek: '[afgelopen] dddd [om] LT',
37367 sameElse: 'L'
37368 },
37369 relativeTime : {
37370 future : 'over %s',
37371 past : '%s geleden',
37372 s : 'een paar seconden',
37373 ss : '%d seconden',
37374 m : 'één minuut',
37375 mm : '%d minuten',
37376 h : 'één uur',
37377 hh : '%d uur',
37378 d : 'één dag',
37379 dd : '%d dagen',
37380 M : 'één maand',
37381 MM : '%d maanden',
37382 y : 'één jaar',
37383 yy : '%d jaar'
37384 },
37385 dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/,
37386 ordinal : function (number) {
37387 return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');
37388 },
37389 week : {
37390 dow : 1, // Monday is the first day of the week.
37391 doy : 4 // The week that contains Jan 4th is the first week of the year.
37392 }
37393 });
37394
37395 return nl;
37396
37397 })));
37398
37399
37400/***/ }),
37401/* 412 */
37402/***/ (function(module, exports, __webpack_require__) {
37403
37404 //! moment.js locale configuration
37405
37406 ;(function (global, factory) {
37407 true ? factory(__webpack_require__(327)) :
37408 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
37409 factory(global.moment)
37410 }(this, (function (moment) { 'use strict';
37411
37412
37413 var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),
37414 monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_');
37415
37416 var monthsParse = [/^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i];
37417 var monthsRegex = /^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;
37418
37419 var nlBe = moment.defineLocale('nl-be', {
37420 months : 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),
37421 monthsShort : function (m, format) {
37422 if (!m) {
37423 return monthsShortWithDots;
37424 } else if (/-MMM-/.test(format)) {
37425 return monthsShortWithoutDots[m.month()];
37426 } else {
37427 return monthsShortWithDots[m.month()];
37428 }
37429 },
37430
37431 monthsRegex: monthsRegex,
37432 monthsShortRegex: monthsRegex,
37433 monthsStrictRegex: /^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,
37434 monthsShortStrictRegex: /^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,
37435
37436 monthsParse : monthsParse,
37437 longMonthsParse : monthsParse,
37438 shortMonthsParse : monthsParse,
37439
37440 weekdays : 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),
37441 weekdaysShort : 'zo._ma._di._wo._do._vr._za.'.split('_'),
37442 weekdaysMin : 'zo_ma_di_wo_do_vr_za'.split('_'),
37443 weekdaysParseExact : true,
37444 longDateFormat : {
37445 LT : 'HH:mm',
37446 LTS : 'HH:mm:ss',
37447 L : 'DD/MM/YYYY',
37448 LL : 'D MMMM YYYY',
37449 LLL : 'D MMMM YYYY HH:mm',
37450 LLLL : 'dddd D MMMM YYYY HH:mm'
37451 },
37452 calendar : {
37453 sameDay: '[vandaag om] LT',
37454 nextDay: '[morgen om] LT',
37455 nextWeek: 'dddd [om] LT',
37456 lastDay: '[gisteren om] LT',
37457 lastWeek: '[afgelopen] dddd [om] LT',
37458 sameElse: 'L'
37459 },
37460 relativeTime : {
37461 future : 'over %s',
37462 past : '%s geleden',
37463 s : 'een paar seconden',
37464 ss : '%d seconden',
37465 m : 'één minuut',
37466 mm : '%d minuten',
37467 h : 'één uur',
37468 hh : '%d uur',
37469 d : 'één dag',
37470 dd : '%d dagen',
37471 M : 'één maand',
37472 MM : '%d maanden',
37473 y : 'één jaar',
37474 yy : '%d jaar'
37475 },
37476 dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/,
37477 ordinal : function (number) {
37478 return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');
37479 },
37480 week : {
37481 dow : 1, // Monday is the first day of the week.
37482 doy : 4 // The week that contains Jan 4th is the first week of the year.
37483 }
37484 });
37485
37486 return nlBe;
37487
37488 })));
37489
37490
37491/***/ }),
37492/* 413 */
37493/***/ (function(module, exports, __webpack_require__) {
37494
37495 //! moment.js locale configuration
37496
37497 ;(function (global, factory) {
37498 true ? factory(__webpack_require__(327)) :
37499 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
37500 factory(global.moment)
37501 }(this, (function (moment) { 'use strict';
37502
37503
37504 var nn = moment.defineLocale('nn', {
37505 months : 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),
37506 monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),
37507 weekdays : 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'),
37508 weekdaysShort : 'sun_mån_tys_ons_tor_fre_lau'.split('_'),
37509 weekdaysMin : 'su_må_ty_on_to_fr_lø'.split('_'),
37510 longDateFormat : {
37511 LT : 'HH:mm',
37512 LTS : 'HH:mm:ss',
37513 L : 'DD.MM.YYYY',
37514 LL : 'D. MMMM YYYY',
37515 LLL : 'D. MMMM YYYY [kl.] H:mm',
37516 LLLL : 'dddd D. MMMM YYYY [kl.] HH:mm'
37517 },
37518 calendar : {
37519 sameDay: '[I dag klokka] LT',
37520 nextDay: '[I morgon klokka] LT',
37521 nextWeek: 'dddd [klokka] LT',
37522 lastDay: '[I går klokka] LT',
37523 lastWeek: '[Føregåande] dddd [klokka] LT',
37524 sameElse: 'L'
37525 },
37526 relativeTime : {
37527 future : 'om %s',
37528 past : '%s sidan',
37529 s : 'nokre sekund',
37530 ss : '%d sekund',
37531 m : 'eit minutt',
37532 mm : '%d minutt',
37533 h : 'ein time',
37534 hh : '%d timar',
37535 d : 'ein dag',
37536 dd : '%d dagar',
37537 M : 'ein månad',
37538 MM : '%d månader',
37539 y : 'eit år',
37540 yy : '%d år'
37541 },
37542 dayOfMonthOrdinalParse: /\d{1,2}\./,
37543 ordinal : '%d.',
37544 week : {
37545 dow : 1, // Monday is the first day of the week.
37546 doy : 4 // The week that contains Jan 4th is the first week of the year.
37547 }
37548 });
37549
37550 return nn;
37551
37552 })));
37553
37554
37555/***/ }),
37556/* 414 */
37557/***/ (function(module, exports, __webpack_require__) {
37558
37559 //! moment.js locale configuration
37560
37561 ;(function (global, factory) {
37562 true ? factory(__webpack_require__(327)) :
37563 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
37564 factory(global.moment)
37565 }(this, (function (moment) { 'use strict';
37566
37567
37568 var symbolMap = {
37569 '1': '੧',
37570 '2': '੨',
37571 '3': '੩',
37572 '4': '੪',
37573 '5': '੫',
37574 '6': '੬',
37575 '7': '੭',
37576 '8': '੮',
37577 '9': '੯',
37578 '0': '੦'
37579 },
37580 numberMap = {
37581 '੧': '1',
37582 '੨': '2',
37583 '੩': '3',
37584 '੪': '4',
37585 '੫': '5',
37586 '੬': '6',
37587 '੭': '7',
37588 '੮': '8',
37589 '੯': '9',
37590 '੦': '0'
37591 };
37592
37593 var paIn = moment.defineLocale('pa-in', {
37594 // There are months name as per Nanakshahi Calender but they are not used as rigidly in modern Punjabi.
37595 months : 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),
37596 monthsShort : 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),
37597 weekdays : 'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split('_'),
37598 weekdaysShort : 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),
37599 weekdaysMin : 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),
37600 longDateFormat : {
37601 LT : 'A h:mm ਵਜੇ',
37602 LTS : 'A h:mm:ss ਵਜੇ',
37603 L : 'DD/MM/YYYY',
37604 LL : 'D MMMM YYYY',
37605 LLL : 'D MMMM YYYY, A h:mm ਵਜੇ',
37606 LLLL : 'dddd, D MMMM YYYY, A h:mm ਵਜੇ'
37607 },
37608 calendar : {
37609 sameDay : '[ਅਜ] LT',
37610 nextDay : '[ਕਲ] LT',
37611 nextWeek : '[ਅਗਲਾ] dddd, LT',
37612 lastDay : '[ਕਲ] LT',
37613 lastWeek : '[ਪਿਛਲੇ] dddd, LT',
37614 sameElse : 'L'
37615 },
37616 relativeTime : {
37617 future : '%s ਵਿੱਚ',
37618 past : '%s ਪਿਛਲੇ',
37619 s : 'ਕੁਝ ਸਕਿੰਟ',
37620 ss : '%d ਸਕਿੰਟ',
37621 m : 'ਇਕ ਮਿੰਟ',
37622 mm : '%d ਮਿੰਟ',
37623 h : 'ਇੱਕ ਘੰਟਾ',
37624 hh : '%d ਘੰਟੇ',
37625 d : 'ਇੱਕ ਦਿਨ',
37626 dd : '%d ਦਿਨ',
37627 M : 'ਇੱਕ ਮਹੀਨਾ',
37628 MM : '%d ਮਹੀਨੇ',
37629 y : 'ਇੱਕ ਸਾਲ',
37630 yy : '%d ਸਾਲ'
37631 },
37632 preparse: function (string) {
37633 return string.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (match) {
37634 return numberMap[match];
37635 });
37636 },
37637 postformat: function (string) {
37638 return string.replace(/\d/g, function (match) {
37639 return symbolMap[match];
37640 });
37641 },
37642 // Punjabi notation for meridiems are quite fuzzy in practice. While there exists
37643 // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi.
37644 meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,
37645 meridiemHour : function (hour, meridiem) {
37646 if (hour === 12) {
37647 hour = 0;
37648 }
37649 if (meridiem === 'ਰਾਤ') {
37650 return hour < 4 ? hour : hour + 12;
37651 } else if (meridiem === 'ਸਵੇਰ') {
37652 return hour;
37653 } else if (meridiem === 'ਦੁਪਹਿਰ') {
37654 return hour >= 10 ? hour : hour + 12;
37655 } else if (meridiem === 'ਸ਼ਾਮ') {
37656 return hour + 12;
37657 }
37658 },
37659 meridiem : function (hour, minute, isLower) {
37660 if (hour < 4) {
37661 return 'ਰਾਤ';
37662 } else if (hour < 10) {
37663 return 'ਸਵੇਰ';
37664 } else if (hour < 17) {
37665 return 'ਦੁਪਹਿਰ';
37666 } else if (hour < 20) {
37667 return 'ਸ਼ਾਮ';
37668 } else {
37669 return 'ਰਾਤ';
37670 }
37671 },
37672 week : {
37673 dow : 0, // Sunday is the first day of the week.
37674 doy : 6 // The week that contains Jan 1st is the first week of the year.
37675 }
37676 });
37677
37678 return paIn;
37679
37680 })));
37681
37682
37683/***/ }),
37684/* 415 */
37685/***/ (function(module, exports, __webpack_require__) {
37686
37687 //! moment.js locale configuration
37688
37689 ;(function (global, factory) {
37690 true ? factory(__webpack_require__(327)) :
37691 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
37692 factory(global.moment)
37693 }(this, (function (moment) { 'use strict';
37694
37695
37696 var monthsNominative = 'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split('_'),
37697 monthsSubjective = 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split('_');
37698 function plural(n) {
37699 return (n % 10 < 5) && (n % 10 > 1) && ((~~(n / 10) % 10) !== 1);
37700 }
37701 function translate(number, withoutSuffix, key) {
37702 var result = number + ' ';
37703 switch (key) {
37704 case 'ss':
37705 return result + (plural(number) ? 'sekundy' : 'sekund');
37706 case 'm':
37707 return withoutSuffix ? 'minuta' : 'minutę';
37708 case 'mm':
37709 return result + (plural(number) ? 'minuty' : 'minut');
37710 case 'h':
37711 return withoutSuffix ? 'godzina' : 'godzinę';
37712 case 'hh':
37713 return result + (plural(number) ? 'godziny' : 'godzin');
37714 case 'MM':
37715 return result + (plural(number) ? 'miesiące' : 'miesięcy');
37716 case 'yy':
37717 return result + (plural(number) ? 'lata' : 'lat');
37718 }
37719 }
37720
37721 var pl = moment.defineLocale('pl', {
37722 months : function (momentToFormat, format) {
37723 if (!momentToFormat) {
37724 return monthsNominative;
37725 } else if (format === '') {
37726 // Hack: if format empty we know this is used to generate
37727 // RegExp by moment. Give then back both valid forms of months
37728 // in RegExp ready format.
37729 return '(' + monthsSubjective[momentToFormat.month()] + '|' + monthsNominative[momentToFormat.month()] + ')';
37730 } else if (/D MMMM/.test(format)) {
37731 return monthsSubjective[momentToFormat.month()];
37732 } else {
37733 return monthsNominative[momentToFormat.month()];
37734 }
37735 },
37736 monthsShort : 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'),
37737 weekdays : 'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split('_'),
37738 weekdaysShort : 'ndz_pon_wt_śr_czw_pt_sob'.split('_'),
37739 weekdaysMin : 'Nd_Pn_Wt_Śr_Cz_Pt_So'.split('_'),
37740 longDateFormat : {
37741 LT : 'HH:mm',
37742 LTS : 'HH:mm:ss',
37743 L : 'DD.MM.YYYY',
37744 LL : 'D MMMM YYYY',
37745 LLL : 'D MMMM YYYY HH:mm',
37746 LLLL : 'dddd, D MMMM YYYY HH:mm'
37747 },
37748 calendar : {
37749 sameDay: '[Dziś o] LT',
37750 nextDay: '[Jutro o] LT',
37751 nextWeek: function () {
37752 switch (this.day()) {
37753 case 0:
37754 return '[W niedzielę o] LT';
37755
37756 case 2:
37757 return '[We wtorek o] LT';
37758
37759 case 3:
37760 return '[W środę o] LT';
37761
37762 case 6:
37763 return '[W sobotę o] LT';
37764
37765 default:
37766 return '[W] dddd [o] LT';
37767 }
37768 },
37769 lastDay: '[Wczoraj o] LT',
37770 lastWeek: function () {
37771 switch (this.day()) {
37772 case 0:
37773 return '[W zeszłą niedzielę o] LT';
37774 case 3:
37775 return '[W zeszłą środę o] LT';
37776 case 6:
37777 return '[W zeszłą sobotę o] LT';
37778 default:
37779 return '[W zeszły] dddd [o] LT';
37780 }
37781 },
37782 sameElse: 'L'
37783 },
37784 relativeTime : {
37785 future : 'za %s',
37786 past : '%s temu',
37787 s : 'kilka sekund',
37788 ss : translate,
37789 m : translate,
37790 mm : translate,
37791 h : translate,
37792 hh : translate,
37793 d : '1 dzień',
37794 dd : '%d dni',
37795 M : 'miesiąc',
37796 MM : translate,
37797 y : 'rok',
37798 yy : translate
37799 },
37800 dayOfMonthOrdinalParse: /\d{1,2}\./,
37801 ordinal : '%d.',
37802 week : {
37803 dow : 1, // Monday is the first day of the week.
37804 doy : 4 // The week that contains Jan 4th is the first week of the year.
37805 }
37806 });
37807
37808 return pl;
37809
37810 })));
37811
37812
37813/***/ }),
37814/* 416 */
37815/***/ (function(module, exports, __webpack_require__) {
37816
37817 //! moment.js locale configuration
37818
37819 ;(function (global, factory) {
37820 true ? factory(__webpack_require__(327)) :
37821 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
37822 factory(global.moment)
37823 }(this, (function (moment) { 'use strict';
37824
37825
37826 var pt = moment.defineLocale('pt', {
37827 months : 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split('_'),
37828 monthsShort : 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),
37829 weekdays : 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'),
37830 weekdaysShort : 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),
37831 weekdaysMin : 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),
37832 weekdaysParseExact : true,
37833 longDateFormat : {
37834 LT : 'HH:mm',
37835 LTS : 'HH:mm:ss',
37836 L : 'DD/MM/YYYY',
37837 LL : 'D [de] MMMM [de] YYYY',
37838 LLL : 'D [de] MMMM [de] YYYY HH:mm',
37839 LLLL : 'dddd, D [de] MMMM [de] YYYY HH:mm'
37840 },
37841 calendar : {
37842 sameDay: '[Hoje às] LT',
37843 nextDay: '[Amanhã às] LT',
37844 nextWeek: 'dddd [às] LT',
37845 lastDay: '[Ontem às] LT',
37846 lastWeek: function () {
37847 return (this.day() === 0 || this.day() === 6) ?
37848 '[Último] dddd [às] LT' : // Saturday + Sunday
37849 '[Última] dddd [às] LT'; // Monday - Friday
37850 },
37851 sameElse: 'L'
37852 },
37853 relativeTime : {
37854 future : 'em %s',
37855 past : 'há %s',
37856 s : 'segundos',
37857 ss : '%d segundos',
37858 m : 'um minuto',
37859 mm : '%d minutos',
37860 h : 'uma hora',
37861 hh : '%d horas',
37862 d : 'um dia',
37863 dd : '%d dias',
37864 M : 'um mês',
37865 MM : '%d meses',
37866 y : 'um ano',
37867 yy : '%d anos'
37868 },
37869 dayOfMonthOrdinalParse: /\d{1,2}º/,
37870 ordinal : '%dº',
37871 week : {
37872 dow : 1, // Monday is the first day of the week.
37873 doy : 4 // The week that contains Jan 4th is the first week of the year.
37874 }
37875 });
37876
37877 return pt;
37878
37879 })));
37880
37881
37882/***/ }),
37883/* 417 */
37884/***/ (function(module, exports, __webpack_require__) {
37885
37886 //! moment.js locale configuration
37887
37888 ;(function (global, factory) {
37889 true ? factory(__webpack_require__(327)) :
37890 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
37891 factory(global.moment)
37892 }(this, (function (moment) { 'use strict';
37893
37894
37895 var ptBr = moment.defineLocale('pt-br', {
37896 months : 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split('_'),
37897 monthsShort : 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),
37898 weekdays : 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'),
37899 weekdaysShort : 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),
37900 weekdaysMin : 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),
37901 weekdaysParseExact : true,
37902 longDateFormat : {
37903 LT : 'HH:mm',
37904 LTS : 'HH:mm:ss',
37905 L : 'DD/MM/YYYY',
37906 LL : 'D [de] MMMM [de] YYYY',
37907 LLL : 'D [de] MMMM [de] YYYY [às] HH:mm',
37908 LLLL : 'dddd, D [de] MMMM [de] YYYY [às] HH:mm'
37909 },
37910 calendar : {
37911 sameDay: '[Hoje às] LT',
37912 nextDay: '[Amanhã às] LT',
37913 nextWeek: 'dddd [às] LT',
37914 lastDay: '[Ontem às] LT',
37915 lastWeek: function () {
37916 return (this.day() === 0 || this.day() === 6) ?
37917 '[Último] dddd [às] LT' : // Saturday + Sunday
37918 '[Última] dddd [às] LT'; // Monday - Friday
37919 },
37920 sameElse: 'L'
37921 },
37922 relativeTime : {
37923 future : 'em %s',
37924 past : 'há %s',
37925 s : 'poucos segundos',
37926 ss : '%d segundos',
37927 m : 'um minuto',
37928 mm : '%d minutos',
37929 h : 'uma hora',
37930 hh : '%d horas',
37931 d : 'um dia',
37932 dd : '%d dias',
37933 M : 'um mês',
37934 MM : '%d meses',
37935 y : 'um ano',
37936 yy : '%d anos'
37937 },
37938 dayOfMonthOrdinalParse: /\d{1,2}º/,
37939 ordinal : '%dº'
37940 });
37941
37942 return ptBr;
37943
37944 })));
37945
37946
37947/***/ }),
37948/* 418 */
37949/***/ (function(module, exports, __webpack_require__) {
37950
37951 //! moment.js locale configuration
37952
37953 ;(function (global, factory) {
37954 true ? factory(__webpack_require__(327)) :
37955 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
37956 factory(global.moment)
37957 }(this, (function (moment) { 'use strict';
37958
37959
37960 function relativeTimeWithPlural(number, withoutSuffix, key) {
37961 var format = {
37962 'ss': 'secunde',
37963 'mm': 'minute',
37964 'hh': 'ore',
37965 'dd': 'zile',
37966 'MM': 'luni',
37967 'yy': 'ani'
37968 },
37969 separator = ' ';
37970 if (number % 100 >= 20 || (number >= 100 && number % 100 === 0)) {
37971 separator = ' de ';
37972 }
37973 return number + separator + format[key];
37974 }
37975
37976 var ro = moment.defineLocale('ro', {
37977 months : 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split('_'),
37978 monthsShort : 'ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split('_'),
37979 monthsParseExact: true,
37980 weekdays : 'duminică_luni_marți_miercuri_joi_vineri_sâmbătă'.split('_'),
37981 weekdaysShort : 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'),
37982 weekdaysMin : 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'),
37983 longDateFormat : {
37984 LT : 'H:mm',
37985 LTS : 'H:mm:ss',
37986 L : 'DD.MM.YYYY',
37987 LL : 'D MMMM YYYY',
37988 LLL : 'D MMMM YYYY H:mm',
37989 LLLL : 'dddd, D MMMM YYYY H:mm'
37990 },
37991 calendar : {
37992 sameDay: '[azi la] LT',
37993 nextDay: '[mâine la] LT',
37994 nextWeek: 'dddd [la] LT',
37995 lastDay: '[ieri la] LT',
37996 lastWeek: '[fosta] dddd [la] LT',
37997 sameElse: 'L'
37998 },
37999 relativeTime : {
38000 future : 'peste %s',
38001 past : '%s în urmă',
38002 s : 'câteva secunde',
38003 ss : relativeTimeWithPlural,
38004 m : 'un minut',
38005 mm : relativeTimeWithPlural,
38006 h : 'o oră',
38007 hh : relativeTimeWithPlural,
38008 d : 'o zi',
38009 dd : relativeTimeWithPlural,
38010 M : 'o lună',
38011 MM : relativeTimeWithPlural,
38012 y : 'un an',
38013 yy : relativeTimeWithPlural
38014 },
38015 week : {
38016 dow : 1, // Monday is the first day of the week.
38017 doy : 7 // The week that contains Jan 1st is the first week of the year.
38018 }
38019 });
38020
38021 return ro;
38022
38023 })));
38024
38025
38026/***/ }),
38027/* 419 */
38028/***/ (function(module, exports, __webpack_require__) {
38029
38030 //! moment.js locale configuration
38031
38032 ;(function (global, factory) {
38033 true ? factory(__webpack_require__(327)) :
38034 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
38035 factory(global.moment)
38036 }(this, (function (moment) { 'use strict';
38037
38038
38039 function plural(word, num) {
38040 var forms = word.split('_');
38041 return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);
38042 }
38043 function relativeTimeWithPlural(number, withoutSuffix, key) {
38044 var format = {
38045 'ss': withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',
38046 'mm': withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут',
38047 'hh': 'час_часа_часов',
38048 'dd': 'день_дня_дней',
38049 'MM': 'месяц_месяца_месяцев',
38050 'yy': 'год_года_лет'
38051 };
38052 if (key === 'm') {
38053 return withoutSuffix ? 'минута' : 'минуту';
38054 }
38055 else {
38056 return number + ' ' + plural(format[key], +number);
38057 }
38058 }
38059 var monthsParse = [/^янв/i, /^фев/i, /^мар/i, /^апр/i, /^ма[йя]/i, /^июн/i, /^июл/i, /^авг/i, /^сен/i, /^окт/i, /^ноя/i, /^дек/i];
38060
38061 // http://new.gramota.ru/spravka/rules/139-prop : § 103
38062 // Сокращения месяцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637
38063 // CLDR data: http://www.unicode.org/cldr/charts/28/summary/ru.html#1753
38064 var ru = moment.defineLocale('ru', {
38065 months : {
38066 format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split('_'),
38067 standalone: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_')
38068 },
38069 monthsShort : {
38070 // по CLDR именно "июл." и "июн.", но какой смысл менять букву на точку ?
38071 format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split('_'),
38072 standalone: 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split('_')
38073 },
38074 weekdays : {
38075 standalone: 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split('_'),
38076 format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split('_'),
38077 isFormat: /\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\] ?dddd/
38078 },
38079 weekdaysShort : 'вс_пн_вт_ср_чт_пт_сб'.split('_'),
38080 weekdaysMin : 'вс_пн_вт_ср_чт_пт_сб'.split('_'),
38081 monthsParse : monthsParse,
38082 longMonthsParse : monthsParse,
38083 shortMonthsParse : monthsParse,
38084
38085 // полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки
38086 monthsRegex: /^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,
38087
38088 // копия предыдущего
38089 monthsShortRegex: /^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,
38090
38091 // полные названия с падежами
38092 monthsStrictRegex: /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,
38093
38094 // Выражение, которое соотвествует только сокращённым формам
38095 monthsShortStrictRegex: /^(янв\.|февр?\.|мар[т.]|апр\.|ма[яй]|июн[ья.]|июл[ья.]|авг\.|сент?\.|окт\.|нояб?\.|дек\.)/i,
38096 longDateFormat : {
38097 LT : 'H:mm',
38098 LTS : 'H:mm:ss',
38099 L : 'DD.MM.YYYY',
38100 LL : 'D MMMM YYYY г.',
38101 LLL : 'D MMMM YYYY г., H:mm',
38102 LLLL : 'dddd, D MMMM YYYY г., H:mm'
38103 },
38104 calendar : {
38105 sameDay: '[Сегодня, в] LT',
38106 nextDay: '[Завтра, в] LT',
38107 lastDay: '[Вчера, в] LT',
38108 nextWeek: function (now) {
38109 if (now.week() !== this.week()) {
38110 switch (this.day()) {
38111 case 0:
38112 return '[В следующее] dddd, [в] LT';
38113 case 1:
38114 case 2:
38115 case 4:
38116 return '[В следующий] dddd, [в] LT';
38117 case 3:
38118 case 5:
38119 case 6:
38120 return '[В следующую] dddd, [в] LT';
38121 }
38122 } else {
38123 if (this.day() === 2) {
38124 return '[Во] dddd, [в] LT';
38125 } else {
38126 return '[В] dddd, [в] LT';
38127 }
38128 }
38129 },
38130 lastWeek: function (now) {
38131 if (now.week() !== this.week()) {
38132 switch (this.day()) {
38133 case 0:
38134 return '[В прошлое] dddd, [в] LT';
38135 case 1:
38136 case 2:
38137 case 4:
38138 return '[В прошлый] dddd, [в] LT';
38139 case 3:
38140 case 5:
38141 case 6:
38142 return '[В прошлую] dddd, [в] LT';
38143 }
38144 } else {
38145 if (this.day() === 2) {
38146 return '[Во] dddd, [в] LT';
38147 } else {
38148 return '[В] dddd, [в] LT';
38149 }
38150 }
38151 },
38152 sameElse: 'L'
38153 },
38154 relativeTime : {
38155 future : 'через %s',
38156 past : '%s назад',
38157 s : 'несколько секунд',
38158 ss : relativeTimeWithPlural,
38159 m : relativeTimeWithPlural,
38160 mm : relativeTimeWithPlural,
38161 h : 'час',
38162 hh : relativeTimeWithPlural,
38163 d : 'день',
38164 dd : relativeTimeWithPlural,
38165 M : 'месяц',
38166 MM : relativeTimeWithPlural,
38167 y : 'год',
38168 yy : relativeTimeWithPlural
38169 },
38170 meridiemParse: /ночи|утра|дня|вечера/i,
38171 isPM : function (input) {
38172 return /^(дня|вечера)$/.test(input);
38173 },
38174 meridiem : function (hour, minute, isLower) {
38175 if (hour < 4) {
38176 return 'ночи';
38177 } else if (hour < 12) {
38178 return 'утра';
38179 } else if (hour < 17) {
38180 return 'дня';
38181 } else {
38182 return 'вечера';
38183 }
38184 },
38185 dayOfMonthOrdinalParse: /\d{1,2}-(й|го|я)/,
38186 ordinal: function (number, period) {
38187 switch (period) {
38188 case 'M':
38189 case 'd':
38190 case 'DDD':
38191 return number + '-й';
38192 case 'D':
38193 return number + '-го';
38194 case 'w':
38195 case 'W':
38196 return number + '-я';
38197 default:
38198 return number;
38199 }
38200 },
38201 week : {
38202 dow : 1, // Monday is the first day of the week.
38203 doy : 4 // The week that contains Jan 4th is the first week of the year.
38204 }
38205 });
38206
38207 return ru;
38208
38209 })));
38210
38211
38212/***/ }),
38213/* 420 */
38214/***/ (function(module, exports, __webpack_require__) {
38215
38216 //! moment.js locale configuration
38217
38218 ;(function (global, factory) {
38219 true ? factory(__webpack_require__(327)) :
38220 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
38221 factory(global.moment)
38222 }(this, (function (moment) { 'use strict';
38223
38224
38225 var months = [
38226 'جنوري',
38227 'فيبروري',
38228 'مارچ',
38229 'اپريل',
38230 'مئي',
38231 'جون',
38232 'جولاءِ',
38233 'آگسٽ',
38234 'سيپٽمبر',
38235 'آڪٽوبر',
38236 'نومبر',
38237 'ڊسمبر'
38238 ];
38239 var days = [
38240 'آچر',
38241 'سومر',
38242 'اڱارو',
38243 'اربع',
38244 'خميس',
38245 'جمع',
38246 'ڇنڇر'
38247 ];
38248
38249 var sd = moment.defineLocale('sd', {
38250 months : months,
38251 monthsShort : months,
38252 weekdays : days,
38253 weekdaysShort : days,
38254 weekdaysMin : days,
38255 longDateFormat : {
38256 LT : 'HH:mm',
38257 LTS : 'HH:mm:ss',
38258 L : 'DD/MM/YYYY',
38259 LL : 'D MMMM YYYY',
38260 LLL : 'D MMMM YYYY HH:mm',
38261 LLLL : 'dddd، D MMMM YYYY HH:mm'
38262 },
38263 meridiemParse: /صبح|شام/,
38264 isPM : function (input) {
38265 return 'شام' === input;
38266 },
38267 meridiem : function (hour, minute, isLower) {
38268 if (hour < 12) {
38269 return 'صبح';
38270 }
38271 return 'شام';
38272 },
38273 calendar : {
38274 sameDay : '[اڄ] LT',
38275 nextDay : '[سڀاڻي] LT',
38276 nextWeek : 'dddd [اڳين هفتي تي] LT',
38277 lastDay : '[ڪالهه] LT',
38278 lastWeek : '[گزريل هفتي] dddd [تي] LT',
38279 sameElse : 'L'
38280 },
38281 relativeTime : {
38282 future : '%s پوء',
38283 past : '%s اڳ',
38284 s : 'چند سيڪنڊ',
38285 ss : '%d سيڪنڊ',
38286 m : 'هڪ منٽ',
38287 mm : '%d منٽ',
38288 h : 'هڪ ڪلاڪ',
38289 hh : '%d ڪلاڪ',
38290 d : 'هڪ ڏينهن',
38291 dd : '%d ڏينهن',
38292 M : 'هڪ مهينو',
38293 MM : '%d مهينا',
38294 y : 'هڪ سال',
38295 yy : '%d سال'
38296 },
38297 preparse: function (string) {
38298 return string.replace(/،/g, ',');
38299 },
38300 postformat: function (string) {
38301 return string.replace(/,/g, '،');
38302 },
38303 week : {
38304 dow : 1, // Monday is the first day of the week.
38305 doy : 4 // The week that contains Jan 4th is the first week of the year.
38306 }
38307 });
38308
38309 return sd;
38310
38311 })));
38312
38313
38314/***/ }),
38315/* 421 */
38316/***/ (function(module, exports, __webpack_require__) {
38317
38318 //! moment.js locale configuration
38319
38320 ;(function (global, factory) {
38321 true ? factory(__webpack_require__(327)) :
38322 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
38323 factory(global.moment)
38324 }(this, (function (moment) { 'use strict';
38325
38326
38327 var se = moment.defineLocale('se', {
38328 months : 'ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu'.split('_'),
38329 monthsShort : 'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split('_'),
38330 weekdays : 'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split('_'),
38331 weekdaysShort : 'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'),
38332 weekdaysMin : 's_v_m_g_d_b_L'.split('_'),
38333 longDateFormat : {
38334 LT : 'HH:mm',
38335 LTS : 'HH:mm:ss',
38336 L : 'DD.MM.YYYY',
38337 LL : 'MMMM D. [b.] YYYY',
38338 LLL : 'MMMM D. [b.] YYYY [ti.] HH:mm',
38339 LLLL : 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm'
38340 },
38341 calendar : {
38342 sameDay: '[otne ti] LT',
38343 nextDay: '[ihttin ti] LT',
38344 nextWeek: 'dddd [ti] LT',
38345 lastDay: '[ikte ti] LT',
38346 lastWeek: '[ovddit] dddd [ti] LT',
38347 sameElse: 'L'
38348 },
38349 relativeTime : {
38350 future : '%s geažes',
38351 past : 'maŋit %s',
38352 s : 'moadde sekunddat',
38353 ss: '%d sekunddat',
38354 m : 'okta minuhta',
38355 mm : '%d minuhtat',
38356 h : 'okta diimmu',
38357 hh : '%d diimmut',
38358 d : 'okta beaivi',
38359 dd : '%d beaivvit',
38360 M : 'okta mánnu',
38361 MM : '%d mánut',
38362 y : 'okta jahki',
38363 yy : '%d jagit'
38364 },
38365 dayOfMonthOrdinalParse: /\d{1,2}\./,
38366 ordinal : '%d.',
38367 week : {
38368 dow : 1, // Monday is the first day of the week.
38369 doy : 4 // The week that contains Jan 4th is the first week of the year.
38370 }
38371 });
38372
38373 return se;
38374
38375 })));
38376
38377
38378/***/ }),
38379/* 422 */
38380/***/ (function(module, exports, __webpack_require__) {
38381
38382 //! moment.js locale configuration
38383
38384 ;(function (global, factory) {
38385 true ? factory(__webpack_require__(327)) :
38386 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
38387 factory(global.moment)
38388 }(this, (function (moment) { 'use strict';
38389
38390
38391 /*jshint -W100*/
38392 var si = moment.defineLocale('si', {
38393 months : 'ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split('_'),
38394 monthsShort : 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split('_'),
38395 weekdays : 'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split('_'),
38396 weekdaysShort : 'ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන'.split('_'),
38397 weekdaysMin : 'ඉ_ස_අ_බ_බ්‍ර_සි_සෙ'.split('_'),
38398 weekdaysParseExact : true,
38399 longDateFormat : {
38400 LT : 'a h:mm',
38401 LTS : 'a h:mm:ss',
38402 L : 'YYYY/MM/DD',
38403 LL : 'YYYY MMMM D',
38404 LLL : 'YYYY MMMM D, a h:mm',
38405 LLLL : 'YYYY MMMM D [වැනි] dddd, a h:mm:ss'
38406 },
38407 calendar : {
38408 sameDay : '[අද] LT[ට]',
38409 nextDay : '[හෙට] LT[ට]',
38410 nextWeek : 'dddd LT[ට]',
38411 lastDay : '[ඊයේ] LT[ට]',
38412 lastWeek : '[පසුගිය] dddd LT[ට]',
38413 sameElse : 'L'
38414 },
38415 relativeTime : {
38416 future : '%sකින්',
38417 past : '%sකට පෙර',
38418 s : 'තත්පර කිහිපය',
38419 ss : 'තත්පර %d',
38420 m : 'මිනිත්තුව',
38421 mm : 'මිනිත්තු %d',
38422 h : 'පැය',
38423 hh : 'පැය %d',
38424 d : 'දිනය',
38425 dd : 'දින %d',
38426 M : 'මාසය',
38427 MM : 'මාස %d',
38428 y : 'වසර',
38429 yy : 'වසර %d'
38430 },
38431 dayOfMonthOrdinalParse: /\d{1,2} වැනි/,
38432 ordinal : function (number) {
38433 return number + ' වැනි';
38434 },
38435 meridiemParse : /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,
38436 isPM : function (input) {
38437 return input === 'ප.ව.' || input === 'පස් වරු';
38438 },
38439 meridiem : function (hours, minutes, isLower) {
38440 if (hours > 11) {
38441 return isLower ? 'ප.ව.' : 'පස් වරු';
38442 } else {
38443 return isLower ? 'පෙ.ව.' : 'පෙර වරු';
38444 }
38445 }
38446 });
38447
38448 return si;
38449
38450 })));
38451
38452
38453/***/ }),
38454/* 423 */
38455/***/ (function(module, exports, __webpack_require__) {
38456
38457 //! moment.js locale configuration
38458
38459 ;(function (global, factory) {
38460 true ? factory(__webpack_require__(327)) :
38461 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
38462 factory(global.moment)
38463 }(this, (function (moment) { 'use strict';
38464
38465
38466 var months = 'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split('_'),
38467 monthsShort = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_');
38468 function plural(n) {
38469 return (n > 1) && (n < 5);
38470 }
38471 function translate(number, withoutSuffix, key, isFuture) {
38472 var result = number + ' ';
38473 switch (key) {
38474 case 's': // a few seconds / in a few seconds / a few seconds ago
38475 return (withoutSuffix || isFuture) ? 'pár sekúnd' : 'pár sekundami';
38476 case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago
38477 if (withoutSuffix || isFuture) {
38478 return result + (plural(number) ? 'sekundy' : 'sekúnd');
38479 } else {
38480 return result + 'sekundami';
38481 }
38482 break;
38483 case 'm': // a minute / in a minute / a minute ago
38484 return withoutSuffix ? 'minúta' : (isFuture ? 'minútu' : 'minútou');
38485 case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago
38486 if (withoutSuffix || isFuture) {
38487 return result + (plural(number) ? 'minúty' : 'minút');
38488 } else {
38489 return result + 'minútami';
38490 }
38491 break;
38492 case 'h': // an hour / in an hour / an hour ago
38493 return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou');
38494 case 'hh': // 9 hours / in 9 hours / 9 hours ago
38495 if (withoutSuffix || isFuture) {
38496 return result + (plural(number) ? 'hodiny' : 'hodín');
38497 } else {
38498 return result + 'hodinami';
38499 }
38500 break;
38501 case 'd': // a day / in a day / a day ago
38502 return (withoutSuffix || isFuture) ? 'deň' : 'dňom';
38503 case 'dd': // 9 days / in 9 days / 9 days ago
38504 if (withoutSuffix || isFuture) {
38505 return result + (plural(number) ? 'dni' : 'dní');
38506 } else {
38507 return result + 'dňami';
38508 }
38509 break;
38510 case 'M': // a month / in a month / a month ago
38511 return (withoutSuffix || isFuture) ? 'mesiac' : 'mesiacom';
38512 case 'MM': // 9 months / in 9 months / 9 months ago
38513 if (withoutSuffix || isFuture) {
38514 return result + (plural(number) ? 'mesiace' : 'mesiacov');
38515 } else {
38516 return result + 'mesiacmi';
38517 }
38518 break;
38519 case 'y': // a year / in a year / a year ago
38520 return (withoutSuffix || isFuture) ? 'rok' : 'rokom';
38521 case 'yy': // 9 years / in 9 years / 9 years ago
38522 if (withoutSuffix || isFuture) {
38523 return result + (plural(number) ? 'roky' : 'rokov');
38524 } else {
38525 return result + 'rokmi';
38526 }
38527 break;
38528 }
38529 }
38530
38531 var sk = moment.defineLocale('sk', {
38532 months : months,
38533 monthsShort : monthsShort,
38534 weekdays : 'nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota'.split('_'),
38535 weekdaysShort : 'ne_po_ut_st_št_pi_so'.split('_'),
38536 weekdaysMin : 'ne_po_ut_st_št_pi_so'.split('_'),
38537 longDateFormat : {
38538 LT: 'H:mm',
38539 LTS : 'H:mm:ss',
38540 L : 'DD.MM.YYYY',
38541 LL : 'D. MMMM YYYY',
38542 LLL : 'D. MMMM YYYY H:mm',
38543 LLLL : 'dddd D. MMMM YYYY H:mm'
38544 },
38545 calendar : {
38546 sameDay: '[dnes o] LT',
38547 nextDay: '[zajtra o] LT',
38548 nextWeek: function () {
38549 switch (this.day()) {
38550 case 0:
38551 return '[v nedeľu o] LT';
38552 case 1:
38553 case 2:
38554 return '[v] dddd [o] LT';
38555 case 3:
38556 return '[v stredu o] LT';
38557 case 4:
38558 return '[vo štvrtok o] LT';
38559 case 5:
38560 return '[v piatok o] LT';
38561 case 6:
38562 return '[v sobotu o] LT';
38563 }
38564 },
38565 lastDay: '[včera o] LT',
38566 lastWeek: function () {
38567 switch (this.day()) {
38568 case 0:
38569 return '[minulú nedeľu o] LT';
38570 case 1:
38571 case 2:
38572 return '[minulý] dddd [o] LT';
38573 case 3:
38574 return '[minulú stredu o] LT';
38575 case 4:
38576 case 5:
38577 return '[minulý] dddd [o] LT';
38578 case 6:
38579 return '[minulú sobotu o] LT';
38580 }
38581 },
38582 sameElse: 'L'
38583 },
38584 relativeTime : {
38585 future : 'za %s',
38586 past : 'pred %s',
38587 s : translate,
38588 ss : translate,
38589 m : translate,
38590 mm : translate,
38591 h : translate,
38592 hh : translate,
38593 d : translate,
38594 dd : translate,
38595 M : translate,
38596 MM : translate,
38597 y : translate,
38598 yy : translate
38599 },
38600 dayOfMonthOrdinalParse: /\d{1,2}\./,
38601 ordinal : '%d.',
38602 week : {
38603 dow : 1, // Monday is the first day of the week.
38604 doy : 4 // The week that contains Jan 4th is the first week of the year.
38605 }
38606 });
38607
38608 return sk;
38609
38610 })));
38611
38612
38613/***/ }),
38614/* 424 */
38615/***/ (function(module, exports, __webpack_require__) {
38616
38617 //! moment.js locale configuration
38618
38619 ;(function (global, factory) {
38620 true ? factory(__webpack_require__(327)) :
38621 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
38622 factory(global.moment)
38623 }(this, (function (moment) { 'use strict';
38624
38625
38626 function processRelativeTime(number, withoutSuffix, key, isFuture) {
38627 var result = number + ' ';
38628 switch (key) {
38629 case 's':
38630 return withoutSuffix || isFuture ? 'nekaj sekund' : 'nekaj sekundami';
38631 case 'ss':
38632 if (number === 1) {
38633 result += withoutSuffix ? 'sekundo' : 'sekundi';
38634 } else if (number === 2) {
38635 result += withoutSuffix || isFuture ? 'sekundi' : 'sekundah';
38636 } else if (number < 5) {
38637 result += withoutSuffix || isFuture ? 'sekunde' : 'sekundah';
38638 } else {
38639 result += withoutSuffix || isFuture ? 'sekund' : 'sekund';
38640 }
38641 return result;
38642 case 'm':
38643 return withoutSuffix ? 'ena minuta' : 'eno minuto';
38644 case 'mm':
38645 if (number === 1) {
38646 result += withoutSuffix ? 'minuta' : 'minuto';
38647 } else if (number === 2) {
38648 result += withoutSuffix || isFuture ? 'minuti' : 'minutama';
38649 } else if (number < 5) {
38650 result += withoutSuffix || isFuture ? 'minute' : 'minutami';
38651 } else {
38652 result += withoutSuffix || isFuture ? 'minut' : 'minutami';
38653 }
38654 return result;
38655 case 'h':
38656 return withoutSuffix ? 'ena ura' : 'eno uro';
38657 case 'hh':
38658 if (number === 1) {
38659 result += withoutSuffix ? 'ura' : 'uro';
38660 } else if (number === 2) {
38661 result += withoutSuffix || isFuture ? 'uri' : 'urama';
38662 } else if (number < 5) {
38663 result += withoutSuffix || isFuture ? 'ure' : 'urami';
38664 } else {
38665 result += withoutSuffix || isFuture ? 'ur' : 'urami';
38666 }
38667 return result;
38668 case 'd':
38669 return withoutSuffix || isFuture ? 'en dan' : 'enim dnem';
38670 case 'dd':
38671 if (number === 1) {
38672 result += withoutSuffix || isFuture ? 'dan' : 'dnem';
38673 } else if (number === 2) {
38674 result += withoutSuffix || isFuture ? 'dni' : 'dnevoma';
38675 } else {
38676 result += withoutSuffix || isFuture ? 'dni' : 'dnevi';
38677 }
38678 return result;
38679 case 'M':
38680 return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem';
38681 case 'MM':
38682 if (number === 1) {
38683 result += withoutSuffix || isFuture ? 'mesec' : 'mesecem';
38684 } else if (number === 2) {
38685 result += withoutSuffix || isFuture ? 'meseca' : 'mesecema';
38686 } else if (number < 5) {
38687 result += withoutSuffix || isFuture ? 'mesece' : 'meseci';
38688 } else {
38689 result += withoutSuffix || isFuture ? 'mesecev' : 'meseci';
38690 }
38691 return result;
38692 case 'y':
38693 return withoutSuffix || isFuture ? 'eno leto' : 'enim letom';
38694 case 'yy':
38695 if (number === 1) {
38696 result += withoutSuffix || isFuture ? 'leto' : 'letom';
38697 } else if (number === 2) {
38698 result += withoutSuffix || isFuture ? 'leti' : 'letoma';
38699 } else if (number < 5) {
38700 result += withoutSuffix || isFuture ? 'leta' : 'leti';
38701 } else {
38702 result += withoutSuffix || isFuture ? 'let' : 'leti';
38703 }
38704 return result;
38705 }
38706 }
38707
38708 var sl = moment.defineLocale('sl', {
38709 months : 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split('_'),
38710 monthsShort : 'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split('_'),
38711 monthsParseExact: true,
38712 weekdays : 'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota'.split('_'),
38713 weekdaysShort : 'ned._pon._tor._sre._čet._pet._sob.'.split('_'),
38714 weekdaysMin : 'ne_po_to_sr_če_pe_so'.split('_'),
38715 weekdaysParseExact : true,
38716 longDateFormat : {
38717 LT : 'H:mm',
38718 LTS : 'H:mm:ss',
38719 L : 'DD.MM.YYYY',
38720 LL : 'D. MMMM YYYY',
38721 LLL : 'D. MMMM YYYY H:mm',
38722 LLLL : 'dddd, D. MMMM YYYY H:mm'
38723 },
38724 calendar : {
38725 sameDay : '[danes ob] LT',
38726 nextDay : '[jutri ob] LT',
38727
38728 nextWeek : function () {
38729 switch (this.day()) {
38730 case 0:
38731 return '[v] [nedeljo] [ob] LT';
38732 case 3:
38733 return '[v] [sredo] [ob] LT';
38734 case 6:
38735 return '[v] [soboto] [ob] LT';
38736 case 1:
38737 case 2:
38738 case 4:
38739 case 5:
38740 return '[v] dddd [ob] LT';
38741 }
38742 },
38743 lastDay : '[včeraj ob] LT',
38744 lastWeek : function () {
38745 switch (this.day()) {
38746 case 0:
38747 return '[prejšnjo] [nedeljo] [ob] LT';
38748 case 3:
38749 return '[prejšnjo] [sredo] [ob] LT';
38750 case 6:
38751 return '[prejšnjo] [soboto] [ob] LT';
38752 case 1:
38753 case 2:
38754 case 4:
38755 case 5:
38756 return '[prejšnji] dddd [ob] LT';
38757 }
38758 },
38759 sameElse : 'L'
38760 },
38761 relativeTime : {
38762 future : 'čez %s',
38763 past : 'pred %s',
38764 s : processRelativeTime,
38765 ss : processRelativeTime,
38766 m : processRelativeTime,
38767 mm : processRelativeTime,
38768 h : processRelativeTime,
38769 hh : processRelativeTime,
38770 d : processRelativeTime,
38771 dd : processRelativeTime,
38772 M : processRelativeTime,
38773 MM : processRelativeTime,
38774 y : processRelativeTime,
38775 yy : processRelativeTime
38776 },
38777 dayOfMonthOrdinalParse: /\d{1,2}\./,
38778 ordinal : '%d.',
38779 week : {
38780 dow : 1, // Monday is the first day of the week.
38781 doy : 7 // The week that contains Jan 1st is the first week of the year.
38782 }
38783 });
38784
38785 return sl;
38786
38787 })));
38788
38789
38790/***/ }),
38791/* 425 */
38792/***/ (function(module, exports, __webpack_require__) {
38793
38794 //! moment.js locale configuration
38795
38796 ;(function (global, factory) {
38797 true ? factory(__webpack_require__(327)) :
38798 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
38799 factory(global.moment)
38800 }(this, (function (moment) { 'use strict';
38801
38802
38803 var sq = moment.defineLocale('sq', {
38804 months : 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split('_'),
38805 monthsShort : 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'),
38806 weekdays : 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split('_'),
38807 weekdaysShort : 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'),
38808 weekdaysMin : 'D_H_Ma_Më_E_P_Sh'.split('_'),
38809 weekdaysParseExact : true,
38810 meridiemParse: /PD|MD/,
38811 isPM: function (input) {
38812 return input.charAt(0) === 'M';
38813 },
38814 meridiem : function (hours, minutes, isLower) {
38815 return hours < 12 ? 'PD' : 'MD';
38816 },
38817 longDateFormat : {
38818 LT : 'HH:mm',
38819 LTS : 'HH:mm:ss',
38820 L : 'DD/MM/YYYY',
38821 LL : 'D MMMM YYYY',
38822 LLL : 'D MMMM YYYY HH:mm',
38823 LLLL : 'dddd, D MMMM YYYY HH:mm'
38824 },
38825 calendar : {
38826 sameDay : '[Sot në] LT',
38827 nextDay : '[Nesër në] LT',
38828 nextWeek : 'dddd [në] LT',
38829 lastDay : '[Dje në] LT',
38830 lastWeek : 'dddd [e kaluar në] LT',
38831 sameElse : 'L'
38832 },
38833 relativeTime : {
38834 future : 'në %s',
38835 past : '%s më parë',
38836 s : 'disa sekonda',
38837 ss : '%d sekonda',
38838 m : 'një minutë',
38839 mm : '%d minuta',
38840 h : 'një orë',
38841 hh : '%d orë',
38842 d : 'një ditë',
38843 dd : '%d ditë',
38844 M : 'një muaj',
38845 MM : '%d muaj',
38846 y : 'një vit',
38847 yy : '%d vite'
38848 },
38849 dayOfMonthOrdinalParse: /\d{1,2}\./,
38850 ordinal : '%d.',
38851 week : {
38852 dow : 1, // Monday is the first day of the week.
38853 doy : 4 // The week that contains Jan 4th is the first week of the year.
38854 }
38855 });
38856
38857 return sq;
38858
38859 })));
38860
38861
38862/***/ }),
38863/* 426 */
38864/***/ (function(module, exports, __webpack_require__) {
38865
38866 //! moment.js locale configuration
38867
38868 ;(function (global, factory) {
38869 true ? factory(__webpack_require__(327)) :
38870 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
38871 factory(global.moment)
38872 }(this, (function (moment) { 'use strict';
38873
38874
38875 var translator = {
38876 words: { //Different grammatical cases
38877 ss: ['sekunda', 'sekunde', 'sekundi'],
38878 m: ['jedan minut', 'jedne minute'],
38879 mm: ['minut', 'minute', 'minuta'],
38880 h: ['jedan sat', 'jednog sata'],
38881 hh: ['sat', 'sata', 'sati'],
38882 dd: ['dan', 'dana', 'dana'],
38883 MM: ['mesec', 'meseca', 'meseci'],
38884 yy: ['godina', 'godine', 'godina']
38885 },
38886 correctGrammaticalCase: function (number, wordKey) {
38887 return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);
38888 },
38889 translate: function (number, withoutSuffix, key) {
38890 var wordKey = translator.words[key];
38891 if (key.length === 1) {
38892 return withoutSuffix ? wordKey[0] : wordKey[1];
38893 } else {
38894 return number + ' ' + translator.correctGrammaticalCase(number, wordKey);
38895 }
38896 }
38897 };
38898
38899 var sr = moment.defineLocale('sr', {
38900 months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'),
38901 monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),
38902 monthsParseExact: true,
38903 weekdays: 'nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota'.split('_'),
38904 weekdaysShort: 'ned._pon._uto._sre._čet._pet._sub.'.split('_'),
38905 weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),
38906 weekdaysParseExact : true,
38907 longDateFormat: {
38908 LT: 'H:mm',
38909 LTS : 'H:mm:ss',
38910 L: 'DD.MM.YYYY',
38911 LL: 'D. MMMM YYYY',
38912 LLL: 'D. MMMM YYYY H:mm',
38913 LLLL: 'dddd, D. MMMM YYYY H:mm'
38914 },
38915 calendar: {
38916 sameDay: '[danas u] LT',
38917 nextDay: '[sutra u] LT',
38918 nextWeek: function () {
38919 switch (this.day()) {
38920 case 0:
38921 return '[u] [nedelju] [u] LT';
38922 case 3:
38923 return '[u] [sredu] [u] LT';
38924 case 6:
38925 return '[u] [subotu] [u] LT';
38926 case 1:
38927 case 2:
38928 case 4:
38929 case 5:
38930 return '[u] dddd [u] LT';
38931 }
38932 },
38933 lastDay : '[juče u] LT',
38934 lastWeek : function () {
38935 var lastWeekDays = [
38936 '[prošle] [nedelje] [u] LT',
38937 '[prošlog] [ponedeljka] [u] LT',
38938 '[prošlog] [utorka] [u] LT',
38939 '[prošle] [srede] [u] LT',
38940 '[prošlog] [četvrtka] [u] LT',
38941 '[prošlog] [petka] [u] LT',
38942 '[prošle] [subote] [u] LT'
38943 ];
38944 return lastWeekDays[this.day()];
38945 },
38946 sameElse : 'L'
38947 },
38948 relativeTime : {
38949 future : 'za %s',
38950 past : 'pre %s',
38951 s : 'nekoliko sekundi',
38952 ss : translator.translate,
38953 m : translator.translate,
38954 mm : translator.translate,
38955 h : translator.translate,
38956 hh : translator.translate,
38957 d : 'dan',
38958 dd : translator.translate,
38959 M : 'mesec',
38960 MM : translator.translate,
38961 y : 'godinu',
38962 yy : translator.translate
38963 },
38964 dayOfMonthOrdinalParse: /\d{1,2}\./,
38965 ordinal : '%d.',
38966 week : {
38967 dow : 1, // Monday is the first day of the week.
38968 doy : 7 // The week that contains Jan 1st is the first week of the year.
38969 }
38970 });
38971
38972 return sr;
38973
38974 })));
38975
38976
38977/***/ }),
38978/* 427 */
38979/***/ (function(module, exports, __webpack_require__) {
38980
38981 //! moment.js locale configuration
38982
38983 ;(function (global, factory) {
38984 true ? factory(__webpack_require__(327)) :
38985 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
38986 factory(global.moment)
38987 }(this, (function (moment) { 'use strict';
38988
38989
38990 var translator = {
38991 words: { //Different grammatical cases
38992 ss: ['секунда', 'секунде', 'секунди'],
38993 m: ['један минут', 'једне минуте'],
38994 mm: ['минут', 'минуте', 'минута'],
38995 h: ['један сат', 'једног сата'],
38996 hh: ['сат', 'сата', 'сати'],
38997 dd: ['дан', 'дана', 'дана'],
38998 MM: ['месец', 'месеца', 'месеци'],
38999 yy: ['година', 'године', 'година']
39000 },
39001 correctGrammaticalCase: function (number, wordKey) {
39002 return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);
39003 },
39004 translate: function (number, withoutSuffix, key) {
39005 var wordKey = translator.words[key];
39006 if (key.length === 1) {
39007 return withoutSuffix ? wordKey[0] : wordKey[1];
39008 } else {
39009 return number + ' ' + translator.correctGrammaticalCase(number, wordKey);
39010 }
39011 }
39012 };
39013
39014 var srCyrl = moment.defineLocale('sr-cyrl', {
39015 months: 'јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар'.split('_'),
39016 monthsShort: 'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split('_'),
39017 monthsParseExact: true,
39018 weekdays: 'недеља_понедељак_уторак_среда_четвртак_петак_субота'.split('_'),
39019 weekdaysShort: 'нед._пон._уто._сре._чет._пет._суб.'.split('_'),
39020 weekdaysMin: 'не_по_ут_ср_че_пе_су'.split('_'),
39021 weekdaysParseExact : true,
39022 longDateFormat: {
39023 LT: 'H:mm',
39024 LTS : 'H:mm:ss',
39025 L: 'DD.MM.YYYY',
39026 LL: 'D. MMMM YYYY',
39027 LLL: 'D. MMMM YYYY H:mm',
39028 LLLL: 'dddd, D. MMMM YYYY H:mm'
39029 },
39030 calendar: {
39031 sameDay: '[данас у] LT',
39032 nextDay: '[сутра у] LT',
39033 nextWeek: function () {
39034 switch (this.day()) {
39035 case 0:
39036 return '[у] [недељу] [у] LT';
39037 case 3:
39038 return '[у] [среду] [у] LT';
39039 case 6:
39040 return '[у] [суботу] [у] LT';
39041 case 1:
39042 case 2:
39043 case 4:
39044 case 5:
39045 return '[у] dddd [у] LT';
39046 }
39047 },
39048 lastDay : '[јуче у] LT',
39049 lastWeek : function () {
39050 var lastWeekDays = [
39051 '[прошле] [недеље] [у] LT',
39052 '[прошлог] [понедељка] [у] LT',
39053 '[прошлог] [уторка] [у] LT',
39054 '[прошле] [среде] [у] LT',
39055 '[прошлог] [четвртка] [у] LT',
39056 '[прошлог] [петка] [у] LT',
39057 '[прошле] [суботе] [у] LT'
39058 ];
39059 return lastWeekDays[this.day()];
39060 },
39061 sameElse : 'L'
39062 },
39063 relativeTime : {
39064 future : 'за %s',
39065 past : 'пре %s',
39066 s : 'неколико секунди',
39067 ss : translator.translate,
39068 m : translator.translate,
39069 mm : translator.translate,
39070 h : translator.translate,
39071 hh : translator.translate,
39072 d : 'дан',
39073 dd : translator.translate,
39074 M : 'месец',
39075 MM : translator.translate,
39076 y : 'годину',
39077 yy : translator.translate
39078 },
39079 dayOfMonthOrdinalParse: /\d{1,2}\./,
39080 ordinal : '%d.',
39081 week : {
39082 dow : 1, // Monday is the first day of the week.
39083 doy : 7 // The week that contains Jan 1st is the first week of the year.
39084 }
39085 });
39086
39087 return srCyrl;
39088
39089 })));
39090
39091
39092/***/ }),
39093/* 428 */
39094/***/ (function(module, exports, __webpack_require__) {
39095
39096 //! moment.js locale configuration
39097
39098 ;(function (global, factory) {
39099 true ? factory(__webpack_require__(327)) :
39100 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
39101 factory(global.moment)
39102 }(this, (function (moment) { 'use strict';
39103
39104
39105 var ss = moment.defineLocale('ss', {
39106 months : "Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split('_'),
39107 monthsShort : 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'),
39108 weekdays : 'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split('_'),
39109 weekdaysShort : 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'),
39110 weekdaysMin : 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'),
39111 weekdaysParseExact : true,
39112 longDateFormat : {
39113 LT : 'h:mm A',
39114 LTS : 'h:mm:ss A',
39115 L : 'DD/MM/YYYY',
39116 LL : 'D MMMM YYYY',
39117 LLL : 'D MMMM YYYY h:mm A',
39118 LLLL : 'dddd, D MMMM YYYY h:mm A'
39119 },
39120 calendar : {
39121 sameDay : '[Namuhla nga] LT',
39122 nextDay : '[Kusasa nga] LT',
39123 nextWeek : 'dddd [nga] LT',
39124 lastDay : '[Itolo nga] LT',
39125 lastWeek : 'dddd [leliphelile] [nga] LT',
39126 sameElse : 'L'
39127 },
39128 relativeTime : {
39129 future : 'nga %s',
39130 past : 'wenteka nga %s',
39131 s : 'emizuzwana lomcane',
39132 ss : '%d mzuzwana',
39133 m : 'umzuzu',
39134 mm : '%d emizuzu',
39135 h : 'lihora',
39136 hh : '%d emahora',
39137 d : 'lilanga',
39138 dd : '%d emalanga',
39139 M : 'inyanga',
39140 MM : '%d tinyanga',
39141 y : 'umnyaka',
39142 yy : '%d iminyaka'
39143 },
39144 meridiemParse: /ekuseni|emini|entsambama|ebusuku/,
39145 meridiem : function (hours, minutes, isLower) {
39146 if (hours < 11) {
39147 return 'ekuseni';
39148 } else if (hours < 15) {
39149 return 'emini';
39150 } else if (hours < 19) {
39151 return 'entsambama';
39152 } else {
39153 return 'ebusuku';
39154 }
39155 },
39156 meridiemHour : function (hour, meridiem) {
39157 if (hour === 12) {
39158 hour = 0;
39159 }
39160 if (meridiem === 'ekuseni') {
39161 return hour;
39162 } else if (meridiem === 'emini') {
39163 return hour >= 11 ? hour : hour + 12;
39164 } else if (meridiem === 'entsambama' || meridiem === 'ebusuku') {
39165 if (hour === 0) {
39166 return 0;
39167 }
39168 return hour + 12;
39169 }
39170 },
39171 dayOfMonthOrdinalParse: /\d{1,2}/,
39172 ordinal : '%d',
39173 week : {
39174 dow : 1, // Monday is the first day of the week.
39175 doy : 4 // The week that contains Jan 4th is the first week of the year.
39176 }
39177 });
39178
39179 return ss;
39180
39181 })));
39182
39183
39184/***/ }),
39185/* 429 */
39186/***/ (function(module, exports, __webpack_require__) {
39187
39188 //! moment.js locale configuration
39189
39190 ;(function (global, factory) {
39191 true ? factory(__webpack_require__(327)) :
39192 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
39193 factory(global.moment)
39194 }(this, (function (moment) { 'use strict';
39195
39196
39197 var sv = moment.defineLocale('sv', {
39198 months : 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split('_'),
39199 monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),
39200 weekdays : 'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'),
39201 weekdaysShort : 'sön_mån_tis_ons_tor_fre_lör'.split('_'),
39202 weekdaysMin : 'sö_må_ti_on_to_fr_lö'.split('_'),
39203 longDateFormat : {
39204 LT : 'HH:mm',
39205 LTS : 'HH:mm:ss',
39206 L : 'YYYY-MM-DD',
39207 LL : 'D MMMM YYYY',
39208 LLL : 'D MMMM YYYY [kl.] HH:mm',
39209 LLLL : 'dddd D MMMM YYYY [kl.] HH:mm',
39210 lll : 'D MMM YYYY HH:mm',
39211 llll : 'ddd D MMM YYYY HH:mm'
39212 },
39213 calendar : {
39214 sameDay: '[Idag] LT',
39215 nextDay: '[Imorgon] LT',
39216 lastDay: '[Igår] LT',
39217 nextWeek: '[På] dddd LT',
39218 lastWeek: '[I] dddd[s] LT',
39219 sameElse: 'L'
39220 },
39221 relativeTime : {
39222 future : 'om %s',
39223 past : 'för %s sedan',
39224 s : 'några sekunder',
39225 ss : '%d sekunder',
39226 m : 'en minut',
39227 mm : '%d minuter',
39228 h : 'en timme',
39229 hh : '%d timmar',
39230 d : 'en dag',
39231 dd : '%d dagar',
39232 M : 'en månad',
39233 MM : '%d månader',
39234 y : 'ett år',
39235 yy : '%d år'
39236 },
39237 dayOfMonthOrdinalParse: /\d{1,2}(e|a)/,
39238 ordinal : function (number) {
39239 var b = number % 10,
39240 output = (~~(number % 100 / 10) === 1) ? 'e' :
39241 (b === 1) ? 'a' :
39242 (b === 2) ? 'a' :
39243 (b === 3) ? 'e' : 'e';
39244 return number + output;
39245 },
39246 week : {
39247 dow : 1, // Monday is the first day of the week.
39248 doy : 4 // The week that contains Jan 4th is the first week of the year.
39249 }
39250 });
39251
39252 return sv;
39253
39254 })));
39255
39256
39257/***/ }),
39258/* 430 */
39259/***/ (function(module, exports, __webpack_require__) {
39260
39261 //! moment.js locale configuration
39262
39263 ;(function (global, factory) {
39264 true ? factory(__webpack_require__(327)) :
39265 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
39266 factory(global.moment)
39267 }(this, (function (moment) { 'use strict';
39268
39269
39270 var sw = moment.defineLocale('sw', {
39271 months : 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split('_'),
39272 monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'),
39273 weekdays : 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split('_'),
39274 weekdaysShort : 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'),
39275 weekdaysMin : 'J2_J3_J4_J5_Al_Ij_J1'.split('_'),
39276 weekdaysParseExact : true,
39277 longDateFormat : {
39278 LT : 'HH:mm',
39279 LTS : 'HH:mm:ss',
39280 L : 'DD.MM.YYYY',
39281 LL : 'D MMMM YYYY',
39282 LLL : 'D MMMM YYYY HH:mm',
39283 LLLL : 'dddd, D MMMM YYYY HH:mm'
39284 },
39285 calendar : {
39286 sameDay : '[leo saa] LT',
39287 nextDay : '[kesho saa] LT',
39288 nextWeek : '[wiki ijayo] dddd [saat] LT',
39289 lastDay : '[jana] LT',
39290 lastWeek : '[wiki iliyopita] dddd [saat] LT',
39291 sameElse : 'L'
39292 },
39293 relativeTime : {
39294 future : '%s baadaye',
39295 past : 'tokea %s',
39296 s : 'hivi punde',
39297 ss : 'sekunde %d',
39298 m : 'dakika moja',
39299 mm : 'dakika %d',
39300 h : 'saa limoja',
39301 hh : 'masaa %d',
39302 d : 'siku moja',
39303 dd : 'masiku %d',
39304 M : 'mwezi mmoja',
39305 MM : 'miezi %d',
39306 y : 'mwaka mmoja',
39307 yy : 'miaka %d'
39308 },
39309 week : {
39310 dow : 1, // Monday is the first day of the week.
39311 doy : 7 // The week that contains Jan 1st is the first week of the year.
39312 }
39313 });
39314
39315 return sw;
39316
39317 })));
39318
39319
39320/***/ }),
39321/* 431 */
39322/***/ (function(module, exports, __webpack_require__) {
39323
39324 //! moment.js locale configuration
39325
39326 ;(function (global, factory) {
39327 true ? factory(__webpack_require__(327)) :
39328 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
39329 factory(global.moment)
39330 }(this, (function (moment) { 'use strict';
39331
39332
39333 var symbolMap = {
39334 '1': '௧',
39335 '2': '௨',
39336 '3': '௩',
39337 '4': '௪',
39338 '5': '௫',
39339 '6': '௬',
39340 '7': '௭',
39341 '8': '௮',
39342 '9': '௯',
39343 '0': '௦'
39344 }, numberMap = {
39345 '௧': '1',
39346 '௨': '2',
39347 '௩': '3',
39348 '௪': '4',
39349 '௫': '5',
39350 '௬': '6',
39351 '௭': '7',
39352 '௮': '8',
39353 '௯': '9',
39354 '௦': '0'
39355 };
39356
39357 var ta = moment.defineLocale('ta', {
39358 months : 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'),
39359 monthsShort : 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'),
39360 weekdays : 'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split('_'),
39361 weekdaysShort : 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split('_'),
39362 weekdaysMin : 'ஞா_தி_செ_பு_வி_வெ_ச'.split('_'),
39363 longDateFormat : {
39364 LT : 'HH:mm',
39365 LTS : 'HH:mm:ss',
39366 L : 'DD/MM/YYYY',
39367 LL : 'D MMMM YYYY',
39368 LLL : 'D MMMM YYYY, HH:mm',
39369 LLLL : 'dddd, D MMMM YYYY, HH:mm'
39370 },
39371 calendar : {
39372 sameDay : '[இன்று] LT',
39373 nextDay : '[நாளை] LT',
39374 nextWeek : 'dddd, LT',
39375 lastDay : '[நேற்று] LT',
39376 lastWeek : '[கடந்த வாரம்] dddd, LT',
39377 sameElse : 'L'
39378 },
39379 relativeTime : {
39380 future : '%s இல்',
39381 past : '%s முன்',
39382 s : 'ஒரு சில விநாடிகள்',
39383 ss : '%d விநாடிகள்',
39384 m : 'ஒரு நிமிடம்',
39385 mm : '%d நிமிடங்கள்',
39386 h : 'ஒரு மணி நேரம்',
39387 hh : '%d மணி நேரம்',
39388 d : 'ஒரு நாள்',
39389 dd : '%d நாட்கள்',
39390 M : 'ஒரு மாதம்',
39391 MM : '%d மாதங்கள்',
39392 y : 'ஒரு வருடம்',
39393 yy : '%d ஆண்டுகள்'
39394 },
39395 dayOfMonthOrdinalParse: /\d{1,2}வது/,
39396 ordinal : function (number) {
39397 return number + 'வது';
39398 },
39399 preparse: function (string) {
39400 return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (match) {
39401 return numberMap[match];
39402 });
39403 },
39404 postformat: function (string) {
39405 return string.replace(/\d/g, function (match) {
39406 return symbolMap[match];
39407 });
39408 },
39409 // refer http://ta.wikipedia.org/s/1er1
39410 meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,
39411 meridiem : function (hour, minute, isLower) {
39412 if (hour < 2) {
39413 return ' யாமம்';
39414 } else if (hour < 6) {
39415 return ' வைகறை'; // வைகறை
39416 } else if (hour < 10) {
39417 return ' காலை'; // காலை
39418 } else if (hour < 14) {
39419 return ' நண்பகல்'; // நண்பகல்
39420 } else if (hour < 18) {
39421 return ' எற்பாடு'; // எற்பாடு
39422 } else if (hour < 22) {
39423 return ' மாலை'; // மாலை
39424 } else {
39425 return ' யாமம்';
39426 }
39427 },
39428 meridiemHour : function (hour, meridiem) {
39429 if (hour === 12) {
39430 hour = 0;
39431 }
39432 if (meridiem === 'யாமம்') {
39433 return hour < 2 ? hour : hour + 12;
39434 } else if (meridiem === 'வைகறை' || meridiem === 'காலை') {
39435 return hour;
39436 } else if (meridiem === 'நண்பகல்') {
39437 return hour >= 10 ? hour : hour + 12;
39438 } else {
39439 return hour + 12;
39440 }
39441 },
39442 week : {
39443 dow : 0, // Sunday is the first day of the week.
39444 doy : 6 // The week that contains Jan 1st is the first week of the year.
39445 }
39446 });
39447
39448 return ta;
39449
39450 })));
39451
39452
39453/***/ }),
39454/* 432 */
39455/***/ (function(module, exports, __webpack_require__) {
39456
39457 //! moment.js locale configuration
39458
39459 ;(function (global, factory) {
39460 true ? factory(__webpack_require__(327)) :
39461 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
39462 factory(global.moment)
39463 }(this, (function (moment) { 'use strict';
39464
39465
39466 var te = moment.defineLocale('te', {
39467 months : 'జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జూలై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్'.split('_'),
39468 monthsShort : 'జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జూలై_ఆగ._సెప్._అక్టో._నవ._డిసె.'.split('_'),
39469 monthsParseExact : true,
39470 weekdays : 'ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం'.split('_'),
39471 weekdaysShort : 'ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని'.split('_'),
39472 weekdaysMin : 'ఆ_సో_మం_బు_గు_శు_శ'.split('_'),
39473 longDateFormat : {
39474 LT : 'A h:mm',
39475 LTS : 'A h:mm:ss',
39476 L : 'DD/MM/YYYY',
39477 LL : 'D MMMM YYYY',
39478 LLL : 'D MMMM YYYY, A h:mm',
39479 LLLL : 'dddd, D MMMM YYYY, A h:mm'
39480 },
39481 calendar : {
39482 sameDay : '[నేడు] LT',
39483 nextDay : '[రేపు] LT',
39484 nextWeek : 'dddd, LT',
39485 lastDay : '[నిన్న] LT',
39486 lastWeek : '[గత] dddd, LT',
39487 sameElse : 'L'
39488 },
39489 relativeTime : {
39490 future : '%s లో',
39491 past : '%s క్రితం',
39492 s : 'కొన్ని క్షణాలు',
39493 ss : '%d సెకన్లు',
39494 m : 'ఒక నిమిషం',
39495 mm : '%d నిమిషాలు',
39496 h : 'ఒక గంట',
39497 hh : '%d గంటలు',
39498 d : 'ఒక రోజు',
39499 dd : '%d రోజులు',
39500 M : 'ఒక నెల',
39501 MM : '%d నెలలు',
39502 y : 'ఒక సంవత్సరం',
39503 yy : '%d సంవత్సరాలు'
39504 },
39505 dayOfMonthOrdinalParse : /\d{1,2}వ/,
39506 ordinal : '%dవ',
39507 meridiemParse: /రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,
39508 meridiemHour : function (hour, meridiem) {
39509 if (hour === 12) {
39510 hour = 0;
39511 }
39512 if (meridiem === 'రాత్రి') {
39513 return hour < 4 ? hour : hour + 12;
39514 } else if (meridiem === 'ఉదయం') {
39515 return hour;
39516 } else if (meridiem === 'మధ్యాహ్నం') {
39517 return hour >= 10 ? hour : hour + 12;
39518 } else if (meridiem === 'సాయంత్రం') {
39519 return hour + 12;
39520 }
39521 },
39522 meridiem : function (hour, minute, isLower) {
39523 if (hour < 4) {
39524 return 'రాత్రి';
39525 } else if (hour < 10) {
39526 return 'ఉదయం';
39527 } else if (hour < 17) {
39528 return 'మధ్యాహ్నం';
39529 } else if (hour < 20) {
39530 return 'సాయంత్రం';
39531 } else {
39532 return 'రాత్రి';
39533 }
39534 },
39535 week : {
39536 dow : 0, // Sunday is the first day of the week.
39537 doy : 6 // The week that contains Jan 1st is the first week of the year.
39538 }
39539 });
39540
39541 return te;
39542
39543 })));
39544
39545
39546/***/ }),
39547/* 433 */
39548/***/ (function(module, exports, __webpack_require__) {
39549
39550 //! moment.js locale configuration
39551
39552 ;(function (global, factory) {
39553 true ? factory(__webpack_require__(327)) :
39554 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
39555 factory(global.moment)
39556 }(this, (function (moment) { 'use strict';
39557
39558
39559 var tet = moment.defineLocale('tet', {
39560 months : 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split('_'),
39561 monthsShort : 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),
39562 weekdays : 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu'.split('_'),
39563 weekdaysShort : 'Dom_Seg_Ters_Kua_Kint_Sest_Sab'.split('_'),
39564 weekdaysMin : 'Do_Seg_Te_Ku_Ki_Ses_Sa'.split('_'),
39565 longDateFormat : {
39566 LT : 'HH:mm',
39567 LTS : 'HH:mm:ss',
39568 L : 'DD/MM/YYYY',
39569 LL : 'D MMMM YYYY',
39570 LLL : 'D MMMM YYYY HH:mm',
39571 LLLL : 'dddd, D MMMM YYYY HH:mm'
39572 },
39573 calendar : {
39574 sameDay: '[Ohin iha] LT',
39575 nextDay: '[Aban iha] LT',
39576 nextWeek: 'dddd [iha] LT',
39577 lastDay: '[Horiseik iha] LT',
39578 lastWeek: 'dddd [semana kotuk] [iha] LT',
39579 sameElse: 'L'
39580 },
39581 relativeTime : {
39582 future : 'iha %s',
39583 past : '%s liuba',
39584 s : 'minutu balun',
39585 ss : 'minutu %d',
39586 m : 'minutu ida',
39587 mm : 'minutu %d',
39588 h : 'oras ida',
39589 hh : 'oras %d',
39590 d : 'loron ida',
39591 dd : 'loron %d',
39592 M : 'fulan ida',
39593 MM : 'fulan %d',
39594 y : 'tinan ida',
39595 yy : 'tinan %d'
39596 },
39597 dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
39598 ordinal : function (number) {
39599 var b = number % 10,
39600 output = (~~(number % 100 / 10) === 1) ? 'th' :
39601 (b === 1) ? 'st' :
39602 (b === 2) ? 'nd' :
39603 (b === 3) ? 'rd' : 'th';
39604 return number + output;
39605 },
39606 week : {
39607 dow : 1, // Monday is the first day of the week.
39608 doy : 4 // The week that contains Jan 4th is the first week of the year.
39609 }
39610 });
39611
39612 return tet;
39613
39614 })));
39615
39616
39617/***/ }),
39618/* 434 */
39619/***/ (function(module, exports, __webpack_require__) {
39620
39621 //! moment.js locale configuration
39622
39623 ;(function (global, factory) {
39624 true ? factory(__webpack_require__(327)) :
39625 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
39626 factory(global.moment)
39627 }(this, (function (moment) { 'use strict';
39628
39629
39630 var suffixes = {
39631 0: '-ум',
39632 1: '-ум',
39633 2: '-юм',
39634 3: '-юм',
39635 4: '-ум',
39636 5: '-ум',
39637 6: '-ум',
39638 7: '-ум',
39639 8: '-ум',
39640 9: '-ум',
39641 10: '-ум',
39642 12: '-ум',
39643 13: '-ум',
39644 20: '-ум',
39645 30: '-юм',
39646 40: '-ум',
39647 50: '-ум',
39648 60: '-ум',
39649 70: '-ум',
39650 80: '-ум',
39651 90: '-ум',
39652 100: '-ум'
39653 };
39654
39655 var tg = moment.defineLocale('tg', {
39656 months : 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split('_'),
39657 monthsShort : 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),
39658 weekdays : 'якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе'.split('_'),
39659 weekdaysShort : 'яшб_дшб_сшб_чшб_пшб_ҷум_шнб'.split('_'),
39660 weekdaysMin : 'яш_дш_сш_чш_пш_ҷм_шб'.split('_'),
39661 longDateFormat : {
39662 LT : 'HH:mm',
39663 LTS : 'HH:mm:ss',
39664 L : 'DD/MM/YYYY',
39665 LL : 'D MMMM YYYY',
39666 LLL : 'D MMMM YYYY HH:mm',
39667 LLLL : 'dddd, D MMMM YYYY HH:mm'
39668 },
39669 calendar : {
39670 sameDay : '[Имрӯз соати] LT',
39671 nextDay : '[Пагоҳ соати] LT',
39672 lastDay : '[Дирӯз соати] LT',
39673 nextWeek : 'dddd[и] [ҳафтаи оянда соати] LT',
39674 lastWeek : 'dddd[и] [ҳафтаи гузашта соати] LT',
39675 sameElse : 'L'
39676 },
39677 relativeTime : {
39678 future : 'баъди %s',
39679 past : '%s пеш',
39680 s : 'якчанд сония',
39681 m : 'як дақиқа',
39682 mm : '%d дақиқа',
39683 h : 'як соат',
39684 hh : '%d соат',
39685 d : 'як рӯз',
39686 dd : '%d рӯз',
39687 M : 'як моҳ',
39688 MM : '%d моҳ',
39689 y : 'як сол',
39690 yy : '%d сол'
39691 },
39692 meridiemParse: /шаб|субҳ|рӯз|бегоҳ/,
39693 meridiemHour: function (hour, meridiem) {
39694 if (hour === 12) {
39695 hour = 0;
39696 }
39697 if (meridiem === 'шаб') {
39698 return hour < 4 ? hour : hour + 12;
39699 } else if (meridiem === 'субҳ') {
39700 return hour;
39701 } else if (meridiem === 'рӯз') {
39702 return hour >= 11 ? hour : hour + 12;
39703 } else if (meridiem === 'бегоҳ') {
39704 return hour + 12;
39705 }
39706 },
39707 meridiem: function (hour, minute, isLower) {
39708 if (hour < 4) {
39709 return 'шаб';
39710 } else if (hour < 11) {
39711 return 'субҳ';
39712 } else if (hour < 16) {
39713 return 'рӯз';
39714 } else if (hour < 19) {
39715 return 'бегоҳ';
39716 } else {
39717 return 'шаб';
39718 }
39719 },
39720 dayOfMonthOrdinalParse: /\d{1,2}-(ум|юм)/,
39721 ordinal: function (number) {
39722 var a = number % 10,
39723 b = number >= 100 ? 100 : null;
39724 return number + (suffixes[number] || suffixes[a] || suffixes[b]);
39725 },
39726 week : {
39727 dow : 1, // Monday is the first day of the week.
39728 doy : 7 // The week that contains Jan 1th is the first week of the year.
39729 }
39730 });
39731
39732 return tg;
39733
39734 })));
39735
39736
39737/***/ }),
39738/* 435 */
39739/***/ (function(module, exports, __webpack_require__) {
39740
39741 //! moment.js locale configuration
39742
39743 ;(function (global, factory) {
39744 true ? factory(__webpack_require__(327)) :
39745 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
39746 factory(global.moment)
39747 }(this, (function (moment) { 'use strict';
39748
39749
39750 var th = moment.defineLocale('th', {
39751 months : 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split('_'),
39752 monthsShort : 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split('_'),
39753 monthsParseExact: true,
39754 weekdays : 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'),
39755 weekdaysShort : 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'), // yes, three characters difference
39756 weekdaysMin : 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'),
39757 weekdaysParseExact : true,
39758 longDateFormat : {
39759 LT : 'H:mm',
39760 LTS : 'H:mm:ss',
39761 L : 'DD/MM/YYYY',
39762 LL : 'D MMMM YYYY',
39763 LLL : 'D MMMM YYYY เวลา H:mm',
39764 LLLL : 'วันddddที่ D MMMM YYYY เวลา H:mm'
39765 },
39766 meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/,
39767 isPM: function (input) {
39768 return input === 'หลังเที่ยง';
39769 },
39770 meridiem : function (hour, minute, isLower) {
39771 if (hour < 12) {
39772 return 'ก่อนเที่ยง';
39773 } else {
39774 return 'หลังเที่ยง';
39775 }
39776 },
39777 calendar : {
39778 sameDay : '[วันนี้ เวลา] LT',
39779 nextDay : '[พรุ่งนี้ เวลา] LT',
39780 nextWeek : 'dddd[หน้า เวลา] LT',
39781 lastDay : '[เมื่อวานนี้ เวลา] LT',
39782 lastWeek : '[วัน]dddd[ที่แล้ว เวลา] LT',
39783 sameElse : 'L'
39784 },
39785 relativeTime : {
39786 future : 'อีก %s',
39787 past : '%sที่แล้ว',
39788 s : 'ไม่กี่วินาที',
39789 ss : '%d วินาที',
39790 m : '1 นาที',
39791 mm : '%d นาที',
39792 h : '1 ชั่วโมง',
39793 hh : '%d ชั่วโมง',
39794 d : '1 วัน',
39795 dd : '%d วัน',
39796 M : '1 เดือน',
39797 MM : '%d เดือน',
39798 y : '1 ปี',
39799 yy : '%d ปี'
39800 }
39801 });
39802
39803 return th;
39804
39805 })));
39806
39807
39808/***/ }),
39809/* 436 */
39810/***/ (function(module, exports, __webpack_require__) {
39811
39812 //! moment.js locale configuration
39813
39814 ;(function (global, factory) {
39815 true ? factory(__webpack_require__(327)) :
39816 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
39817 factory(global.moment)
39818 }(this, (function (moment) { 'use strict';
39819
39820
39821 var tlPh = moment.defineLocale('tl-ph', {
39822 months : 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split('_'),
39823 monthsShort : 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),
39824 weekdays : 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split('_'),
39825 weekdaysShort : 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),
39826 weekdaysMin : 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),
39827 longDateFormat : {
39828 LT : 'HH:mm',
39829 LTS : 'HH:mm:ss',
39830 L : 'MM/D/YYYY',
39831 LL : 'MMMM D, YYYY',
39832 LLL : 'MMMM D, YYYY HH:mm',
39833 LLLL : 'dddd, MMMM DD, YYYY HH:mm'
39834 },
39835 calendar : {
39836 sameDay: 'LT [ngayong araw]',
39837 nextDay: '[Bukas ng] LT',
39838 nextWeek: 'LT [sa susunod na] dddd',
39839 lastDay: 'LT [kahapon]',
39840 lastWeek: 'LT [noong nakaraang] dddd',
39841 sameElse: 'L'
39842 },
39843 relativeTime : {
39844 future : 'sa loob ng %s',
39845 past : '%s ang nakalipas',
39846 s : 'ilang segundo',
39847 ss : '%d segundo',
39848 m : 'isang minuto',
39849 mm : '%d minuto',
39850 h : 'isang oras',
39851 hh : '%d oras',
39852 d : 'isang araw',
39853 dd : '%d araw',
39854 M : 'isang buwan',
39855 MM : '%d buwan',
39856 y : 'isang taon',
39857 yy : '%d taon'
39858 },
39859 dayOfMonthOrdinalParse: /\d{1,2}/,
39860 ordinal : function (number) {
39861 return number;
39862 },
39863 week : {
39864 dow : 1, // Monday is the first day of the week.
39865 doy : 4 // The week that contains Jan 4th is the first week of the year.
39866 }
39867 });
39868
39869 return tlPh;
39870
39871 })));
39872
39873
39874/***/ }),
39875/* 437 */
39876/***/ (function(module, exports, __webpack_require__) {
39877
39878 //! moment.js locale configuration
39879
39880 ;(function (global, factory) {
39881 true ? factory(__webpack_require__(327)) :
39882 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
39883 factory(global.moment)
39884 }(this, (function (moment) { 'use strict';
39885
39886
39887 var numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_');
39888
39889 function translateFuture(output) {
39890 var time = output;
39891 time = (output.indexOf('jaj') !== -1) ?
39892 time.slice(0, -3) + 'leS' :
39893 (output.indexOf('jar') !== -1) ?
39894 time.slice(0, -3) + 'waQ' :
39895 (output.indexOf('DIS') !== -1) ?
39896 time.slice(0, -3) + 'nem' :
39897 time + ' pIq';
39898 return time;
39899 }
39900
39901 function translatePast(output) {
39902 var time = output;
39903 time = (output.indexOf('jaj') !== -1) ?
39904 time.slice(0, -3) + 'Hu’' :
39905 (output.indexOf('jar') !== -1) ?
39906 time.slice(0, -3) + 'wen' :
39907 (output.indexOf('DIS') !== -1) ?
39908 time.slice(0, -3) + 'ben' :
39909 time + ' ret';
39910 return time;
39911 }
39912
39913 function translate(number, withoutSuffix, string, isFuture) {
39914 var numberNoun = numberAsNoun(number);
39915 switch (string) {
39916 case 'ss':
39917 return numberNoun + ' lup';
39918 case 'mm':
39919 return numberNoun + ' tup';
39920 case 'hh':
39921 return numberNoun + ' rep';
39922 case 'dd':
39923 return numberNoun + ' jaj';
39924 case 'MM':
39925 return numberNoun + ' jar';
39926 case 'yy':
39927 return numberNoun + ' DIS';
39928 }
39929 }
39930
39931 function numberAsNoun(number) {
39932 var hundred = Math.floor((number % 1000) / 100),
39933 ten = Math.floor((number % 100) / 10),
39934 one = number % 10,
39935 word = '';
39936 if (hundred > 0) {
39937 word += numbersNouns[hundred] + 'vatlh';
39938 }
39939 if (ten > 0) {
39940 word += ((word !== '') ? ' ' : '') + numbersNouns[ten] + 'maH';
39941 }
39942 if (one > 0) {
39943 word += ((word !== '') ? ' ' : '') + numbersNouns[one];
39944 }
39945 return (word === '') ? 'pagh' : word;
39946 }
39947
39948 var tlh = moment.defineLocale('tlh', {
39949 months : 'tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’'.split('_'),
39950 monthsShort : 'jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’'.split('_'),
39951 monthsParseExact : true,
39952 weekdays : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),
39953 weekdaysShort : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),
39954 weekdaysMin : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),
39955 longDateFormat : {
39956 LT : 'HH:mm',
39957 LTS : 'HH:mm:ss',
39958 L : 'DD.MM.YYYY',
39959 LL : 'D MMMM YYYY',
39960 LLL : 'D MMMM YYYY HH:mm',
39961 LLLL : 'dddd, D MMMM YYYY HH:mm'
39962 },
39963 calendar : {
39964 sameDay: '[DaHjaj] LT',
39965 nextDay: '[wa’leS] LT',
39966 nextWeek: 'LLL',
39967 lastDay: '[wa’Hu’] LT',
39968 lastWeek: 'LLL',
39969 sameElse: 'L'
39970 },
39971 relativeTime : {
39972 future : translateFuture,
39973 past : translatePast,
39974 s : 'puS lup',
39975 ss : translate,
39976 m : 'wa’ tup',
39977 mm : translate,
39978 h : 'wa’ rep',
39979 hh : translate,
39980 d : 'wa’ jaj',
39981 dd : translate,
39982 M : 'wa’ jar',
39983 MM : translate,
39984 y : 'wa’ DIS',
39985 yy : translate
39986 },
39987 dayOfMonthOrdinalParse: /\d{1,2}\./,
39988 ordinal : '%d.',
39989 week : {
39990 dow : 1, // Monday is the first day of the week.
39991 doy : 4 // The week that contains Jan 4th is the first week of the year.
39992 }
39993 });
39994
39995 return tlh;
39996
39997 })));
39998
39999
40000/***/ }),
40001/* 438 */
40002/***/ (function(module, exports, __webpack_require__) {
40003
40004
40005 ;(function (global, factory) {
40006 true ? factory(__webpack_require__(327)) :
40007 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
40008 factory(global.moment)
40009 }(this, (function (moment) { 'use strict';
40010
40011 var suffixes = {
40012 1: '\'inci',
40013 5: '\'inci',
40014 8: '\'inci',
40015 70: '\'inci',
40016 80: '\'inci',
40017 2: '\'nci',
40018 7: '\'nci',
40019 20: '\'nci',
40020 50: '\'nci',
40021 3: '\'üncü',
40022 4: '\'üncü',
40023 100: '\'üncü',
40024 6: '\'ncı',
40025 9: '\'uncu',
40026 10: '\'uncu',
40027 30: '\'uncu',
40028 60: '\'ıncı',
40029 90: '\'ıncı'
40030 };
40031
40032 var tr = moment.defineLocale('tr', {
40033 months : 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split('_'),
40034 monthsShort : 'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara'.split('_'),
40035 weekdays : 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split('_'),
40036 weekdaysShort : 'Paz_Pts_Sal_Çar_Per_Cum_Cts'.split('_'),
40037 weekdaysMin : 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'),
40038 longDateFormat : {
40039 LT : 'HH:mm',
40040 LTS : 'HH:mm:ss',
40041 L : 'DD.MM.YYYY',
40042 LL : 'D MMMM YYYY',
40043 LLL : 'D MMMM YYYY HH:mm',
40044 LLLL : 'dddd, D MMMM YYYY HH:mm'
40045 },
40046 calendar : {
40047 sameDay : '[bugün saat] LT',
40048 nextDay : '[yarın saat] LT',
40049 nextWeek : '[gelecek] dddd [saat] LT',
40050 lastDay : '[dün] LT',
40051 lastWeek : '[geçen] dddd [saat] LT',
40052 sameElse : 'L'
40053 },
40054 relativeTime : {
40055 future : '%s sonra',
40056 past : '%s önce',
40057 s : 'birkaç saniye',
40058 ss : '%d saniye',
40059 m : 'bir dakika',
40060 mm : '%d dakika',
40061 h : 'bir saat',
40062 hh : '%d saat',
40063 d : 'bir gün',
40064 dd : '%d gün',
40065 M : 'bir ay',
40066 MM : '%d ay',
40067 y : 'bir yıl',
40068 yy : '%d yıl'
40069 },
40070 ordinal: function (number, period) {
40071 switch (period) {
40072 case 'd':
40073 case 'D':
40074 case 'Do':
40075 case 'DD':
40076 return number;
40077 default:
40078 if (number === 0) { // special case for zero
40079 return number + '\'ıncı';
40080 }
40081 var a = number % 10,
40082 b = number % 100 - a,
40083 c = number >= 100 ? 100 : null;
40084 return number + (suffixes[a] || suffixes[b] || suffixes[c]);
40085 }
40086 },
40087 week : {
40088 dow : 1, // Monday is the first day of the week.
40089 doy : 7 // The week that contains Jan 1st is the first week of the year.
40090 }
40091 });
40092
40093 return tr;
40094
40095 })));
40096
40097
40098/***/ }),
40099/* 439 */
40100/***/ (function(module, exports, __webpack_require__) {
40101
40102 //! moment.js locale configuration
40103
40104 ;(function (global, factory) {
40105 true ? factory(__webpack_require__(327)) :
40106 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
40107 factory(global.moment)
40108 }(this, (function (moment) { 'use strict';
40109
40110
40111 // After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals.
40112 // This is currently too difficult (maybe even impossible) to add.
40113 var tzl = moment.defineLocale('tzl', {
40114 months : 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split('_'),
40115 monthsShort : 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'),
40116 weekdays : 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'),
40117 weekdaysShort : 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'),
40118 weekdaysMin : 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'),
40119 longDateFormat : {
40120 LT : 'HH.mm',
40121 LTS : 'HH.mm.ss',
40122 L : 'DD.MM.YYYY',
40123 LL : 'D. MMMM [dallas] YYYY',
40124 LLL : 'D. MMMM [dallas] YYYY HH.mm',
40125 LLLL : 'dddd, [li] D. MMMM [dallas] YYYY HH.mm'
40126 },
40127 meridiemParse: /d\'o|d\'a/i,
40128 isPM : function (input) {
40129 return 'd\'o' === input.toLowerCase();
40130 },
40131 meridiem : function (hours, minutes, isLower) {
40132 if (hours > 11) {
40133 return isLower ? 'd\'o' : 'D\'O';
40134 } else {
40135 return isLower ? 'd\'a' : 'D\'A';
40136 }
40137 },
40138 calendar : {
40139 sameDay : '[oxhi à] LT',
40140 nextDay : '[demà à] LT',
40141 nextWeek : 'dddd [à] LT',
40142 lastDay : '[ieiri à] LT',
40143 lastWeek : '[sür el] dddd [lasteu à] LT',
40144 sameElse : 'L'
40145 },
40146 relativeTime : {
40147 future : 'osprei %s',
40148 past : 'ja%s',
40149 s : processRelativeTime,
40150 ss : processRelativeTime,
40151 m : processRelativeTime,
40152 mm : processRelativeTime,
40153 h : processRelativeTime,
40154 hh : processRelativeTime,
40155 d : processRelativeTime,
40156 dd : processRelativeTime,
40157 M : processRelativeTime,
40158 MM : processRelativeTime,
40159 y : processRelativeTime,
40160 yy : processRelativeTime
40161 },
40162 dayOfMonthOrdinalParse: /\d{1,2}\./,
40163 ordinal : '%d.',
40164 week : {
40165 dow : 1, // Monday is the first day of the week.
40166 doy : 4 // The week that contains Jan 4th is the first week of the year.
40167 }
40168 });
40169
40170 function processRelativeTime(number, withoutSuffix, key, isFuture) {
40171 var format = {
40172 's': ['viensas secunds', '\'iensas secunds'],
40173 'ss': [number + ' secunds', '' + number + ' secunds'],
40174 'm': ['\'n míut', '\'iens míut'],
40175 'mm': [number + ' míuts', '' + number + ' míuts'],
40176 'h': ['\'n þora', '\'iensa þora'],
40177 'hh': [number + ' þoras', '' + number + ' þoras'],
40178 'd': ['\'n ziua', '\'iensa ziua'],
40179 'dd': [number + ' ziuas', '' + number + ' ziuas'],
40180 'M': ['\'n mes', '\'iens mes'],
40181 'MM': [number + ' mesen', '' + number + ' mesen'],
40182 'y': ['\'n ar', '\'iens ar'],
40183 'yy': [number + ' ars', '' + number + ' ars']
40184 };
40185 return isFuture ? format[key][0] : (withoutSuffix ? format[key][0] : format[key][1]);
40186 }
40187
40188 return tzl;
40189
40190 })));
40191
40192
40193/***/ }),
40194/* 440 */
40195/***/ (function(module, exports, __webpack_require__) {
40196
40197 //! moment.js locale configuration
40198
40199 ;(function (global, factory) {
40200 true ? factory(__webpack_require__(327)) :
40201 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
40202 factory(global.moment)
40203 }(this, (function (moment) { 'use strict';
40204
40205
40206 var tzm = moment.defineLocale('tzm', {
40207 months : 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'),
40208 monthsShort : 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'),
40209 weekdays : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),
40210 weekdaysShort : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),
40211 weekdaysMin : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),
40212 longDateFormat : {
40213 LT : 'HH:mm',
40214 LTS: 'HH:mm:ss',
40215 L : 'DD/MM/YYYY',
40216 LL : 'D MMMM YYYY',
40217 LLL : 'D MMMM YYYY HH:mm',
40218 LLLL : 'dddd D MMMM YYYY HH:mm'
40219 },
40220 calendar : {
40221 sameDay: '[ⴰⵙⴷⵅ ⴴ] LT',
40222 nextDay: '[ⴰⵙⴽⴰ ⴴ] LT',
40223 nextWeek: 'dddd [ⴴ] LT',
40224 lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT',
40225 lastWeek: 'dddd [ⴴ] LT',
40226 sameElse: 'L'
40227 },
40228 relativeTime : {
40229 future : 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s',
40230 past : 'ⵢⴰⵏ %s',
40231 s : 'ⵉⵎⵉⴽ',
40232 ss : '%d ⵉⵎⵉⴽ',
40233 m : 'ⵎⵉⵏⵓⴺ',
40234 mm : '%d ⵎⵉⵏⵓⴺ',
40235 h : 'ⵙⴰⵄⴰ',
40236 hh : '%d ⵜⴰⵙⵙⴰⵄⵉⵏ',
40237 d : 'ⴰⵙⵙ',
40238 dd : '%d oⵙⵙⴰⵏ',
40239 M : 'ⴰⵢoⵓⵔ',
40240 MM : '%d ⵉⵢⵢⵉⵔⵏ',
40241 y : 'ⴰⵙⴳⴰⵙ',
40242 yy : '%d ⵉⵙⴳⴰⵙⵏ'
40243 },
40244 week : {
40245 dow : 6, // Saturday is the first day of the week.
40246 doy : 12 // The week that contains Jan 1st is the first week of the year.
40247 }
40248 });
40249
40250 return tzm;
40251
40252 })));
40253
40254
40255/***/ }),
40256/* 441 */
40257/***/ (function(module, exports, __webpack_require__) {
40258
40259 //! moment.js locale configuration
40260
40261 ;(function (global, factory) {
40262 true ? factory(__webpack_require__(327)) :
40263 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
40264 factory(global.moment)
40265 }(this, (function (moment) { 'use strict';
40266
40267
40268 var tzmLatn = moment.defineLocale('tzm-latn', {
40269 months : 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'),
40270 monthsShort : 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'),
40271 weekdays : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),
40272 weekdaysShort : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),
40273 weekdaysMin : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),
40274 longDateFormat : {
40275 LT : 'HH:mm',
40276 LTS : 'HH:mm:ss',
40277 L : 'DD/MM/YYYY',
40278 LL : 'D MMMM YYYY',
40279 LLL : 'D MMMM YYYY HH:mm',
40280 LLLL : 'dddd D MMMM YYYY HH:mm'
40281 },
40282 calendar : {
40283 sameDay: '[asdkh g] LT',
40284 nextDay: '[aska g] LT',
40285 nextWeek: 'dddd [g] LT',
40286 lastDay: '[assant g] LT',
40287 lastWeek: 'dddd [g] LT',
40288 sameElse: 'L'
40289 },
40290 relativeTime : {
40291 future : 'dadkh s yan %s',
40292 past : 'yan %s',
40293 s : 'imik',
40294 ss : '%d imik',
40295 m : 'minuḍ',
40296 mm : '%d minuḍ',
40297 h : 'saɛa',
40298 hh : '%d tassaɛin',
40299 d : 'ass',
40300 dd : '%d ossan',
40301 M : 'ayowr',
40302 MM : '%d iyyirn',
40303 y : 'asgas',
40304 yy : '%d isgasn'
40305 },
40306 week : {
40307 dow : 6, // Saturday is the first day of the week.
40308 doy : 12 // The week that contains Jan 1st is the first week of the year.
40309 }
40310 });
40311
40312 return tzmLatn;
40313
40314 })));
40315
40316
40317/***/ }),
40318/* 442 */
40319/***/ (function(module, exports, __webpack_require__) {
40320
40321 //! moment.js language configuration
40322
40323 ;(function (global, factory) {
40324 true ? factory(__webpack_require__(327)) :
40325 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
40326 factory(global.moment)
40327 }(this, (function (moment) { 'use strict';
40328
40329
40330 var ugCn = moment.defineLocale('ug-cn', {
40331 months: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(
40332 '_'
40333 ),
40334 monthsShort: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(
40335 '_'
40336 ),
40337 weekdays: 'يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە'.split(
40338 '_'
40339 ),
40340 weekdaysShort: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),
40341 weekdaysMin: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),
40342 longDateFormat: {
40343 LT: 'HH:mm',
40344 LTS: 'HH:mm:ss',
40345 L: 'YYYY-MM-DD',
40346 LL: 'YYYY-يىلىM-ئاينىڭD-كۈنى',
40347 LLL: 'YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',
40348 LLLL: 'dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm'
40349 },
40350 meridiemParse: /يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/,
40351 meridiemHour: function (hour, meridiem) {
40352 if (hour === 12) {
40353 hour = 0;
40354 }
40355 if (
40356 meridiem === 'يېرىم كېچە' ||
40357 meridiem === 'سەھەر' ||
40358 meridiem === 'چۈشتىن بۇرۇن'
40359 ) {
40360 return hour;
40361 } else if (meridiem === 'چۈشتىن كېيىن' || meridiem === 'كەچ') {
40362 return hour + 12;
40363 } else {
40364 return hour >= 11 ? hour : hour + 12;
40365 }
40366 },
40367 meridiem: function (hour, minute, isLower) {
40368 var hm = hour * 100 + minute;
40369 if (hm < 600) {
40370 return 'يېرىم كېچە';
40371 } else if (hm < 900) {
40372 return 'سەھەر';
40373 } else if (hm < 1130) {
40374 return 'چۈشتىن بۇرۇن';
40375 } else if (hm < 1230) {
40376 return 'چۈش';
40377 } else if (hm < 1800) {
40378 return 'چۈشتىن كېيىن';
40379 } else {
40380 return 'كەچ';
40381 }
40382 },
40383 calendar: {
40384 sameDay: '[بۈگۈن سائەت] LT',
40385 nextDay: '[ئەتە سائەت] LT',
40386 nextWeek: '[كېلەركى] dddd [سائەت] LT',
40387 lastDay: '[تۆنۈگۈن] LT',
40388 lastWeek: '[ئالدىنقى] dddd [سائەت] LT',
40389 sameElse: 'L'
40390 },
40391 relativeTime: {
40392 future: '%s كېيىن',
40393 past: '%s بۇرۇن',
40394 s: 'نەچچە سېكونت',
40395 ss: '%d سېكونت',
40396 m: 'بىر مىنۇت',
40397 mm: '%d مىنۇت',
40398 h: 'بىر سائەت',
40399 hh: '%d سائەت',
40400 d: 'بىر كۈن',
40401 dd: '%d كۈن',
40402 M: 'بىر ئاي',
40403 MM: '%d ئاي',
40404 y: 'بىر يىل',
40405 yy: '%d يىل'
40406 },
40407
40408 dayOfMonthOrdinalParse: /\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,
40409 ordinal: function (number, period) {
40410 switch (period) {
40411 case 'd':
40412 case 'D':
40413 case 'DDD':
40414 return number + '-كۈنى';
40415 case 'w':
40416 case 'W':
40417 return number + '-ھەپتە';
40418 default:
40419 return number;
40420 }
40421 },
40422 preparse: function (string) {
40423 return string.replace(/،/g, ',');
40424 },
40425 postformat: function (string) {
40426 return string.replace(/,/g, '،');
40427 },
40428 week: {
40429 // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效
40430 dow: 1, // Monday is the first day of the week.
40431 doy: 7 // The week that contains Jan 1st is the first week of the year.
40432 }
40433 });
40434
40435 return ugCn;
40436
40437 })));
40438
40439
40440/***/ }),
40441/* 443 */
40442/***/ (function(module, exports, __webpack_require__) {
40443
40444 //! moment.js locale configuration
40445
40446 ;(function (global, factory) {
40447 true ? factory(__webpack_require__(327)) :
40448 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
40449 factory(global.moment)
40450 }(this, (function (moment) { 'use strict';
40451
40452
40453 function plural(word, num) {
40454 var forms = word.split('_');
40455 return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);
40456 }
40457 function relativeTimeWithPlural(number, withoutSuffix, key) {
40458 var format = {
40459 'ss': withoutSuffix ? 'секунда_секунди_секунд' : 'секунду_секунди_секунд',
40460 'mm': withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин',
40461 'hh': withoutSuffix ? 'година_години_годин' : 'годину_години_годин',
40462 'dd': 'день_дні_днів',
40463 'MM': 'місяць_місяці_місяців',
40464 'yy': 'рік_роки_років'
40465 };
40466 if (key === 'm') {
40467 return withoutSuffix ? 'хвилина' : 'хвилину';
40468 }
40469 else if (key === 'h') {
40470 return withoutSuffix ? 'година' : 'годину';
40471 }
40472 else {
40473 return number + ' ' + plural(format[key], +number);
40474 }
40475 }
40476 function weekdaysCaseReplace(m, format) {
40477 var weekdays = {
40478 'nominative': 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split('_'),
40479 'accusative': 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split('_'),
40480 'genitive': 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split('_')
40481 };
40482
40483 if (!m) {
40484 return weekdays['nominative'];
40485 }
40486
40487 var nounCase = (/(\[[ВвУу]\]) ?dddd/).test(format) ?
40488 'accusative' :
40489 ((/\[?(?:минулої|наступної)? ?\] ?dddd/).test(format) ?
40490 'genitive' :
40491 'nominative');
40492 return weekdays[nounCase][m.day()];
40493 }
40494 function processHoursFunction(str) {
40495 return function () {
40496 return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT';
40497 };
40498 }
40499
40500 var uk = moment.defineLocale('uk', {
40501 months : {
40502 'format': 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split('_'),
40503 'standalone': 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split('_')
40504 },
40505 monthsShort : 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split('_'),
40506 weekdays : weekdaysCaseReplace,
40507 weekdaysShort : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),
40508 weekdaysMin : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),
40509 longDateFormat : {
40510 LT : 'HH:mm',
40511 LTS : 'HH:mm:ss',
40512 L : 'DD.MM.YYYY',
40513 LL : 'D MMMM YYYY р.',
40514 LLL : 'D MMMM YYYY р., HH:mm',
40515 LLLL : 'dddd, D MMMM YYYY р., HH:mm'
40516 },
40517 calendar : {
40518 sameDay: processHoursFunction('[Сьогодні '),
40519 nextDay: processHoursFunction('[Завтра '),
40520 lastDay: processHoursFunction('[Вчора '),
40521 nextWeek: processHoursFunction('[У] dddd ['),
40522 lastWeek: function () {
40523 switch (this.day()) {
40524 case 0:
40525 case 3:
40526 case 5:
40527 case 6:
40528 return processHoursFunction('[Минулої] dddd [').call(this);
40529 case 1:
40530 case 2:
40531 case 4:
40532 return processHoursFunction('[Минулого] dddd [').call(this);
40533 }
40534 },
40535 sameElse: 'L'
40536 },
40537 relativeTime : {
40538 future : 'за %s',
40539 past : '%s тому',
40540 s : 'декілька секунд',
40541 ss : relativeTimeWithPlural,
40542 m : relativeTimeWithPlural,
40543 mm : relativeTimeWithPlural,
40544 h : 'годину',
40545 hh : relativeTimeWithPlural,
40546 d : 'день',
40547 dd : relativeTimeWithPlural,
40548 M : 'місяць',
40549 MM : relativeTimeWithPlural,
40550 y : 'рік',
40551 yy : relativeTimeWithPlural
40552 },
40553 // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason
40554 meridiemParse: /ночі|ранку|дня|вечора/,
40555 isPM: function (input) {
40556 return /^(дня|вечора)$/.test(input);
40557 },
40558 meridiem : function (hour, minute, isLower) {
40559 if (hour < 4) {
40560 return 'ночі';
40561 } else if (hour < 12) {
40562 return 'ранку';
40563 } else if (hour < 17) {
40564 return 'дня';
40565 } else {
40566 return 'вечора';
40567 }
40568 },
40569 dayOfMonthOrdinalParse: /\d{1,2}-(й|го)/,
40570 ordinal: function (number, period) {
40571 switch (period) {
40572 case 'M':
40573 case 'd':
40574 case 'DDD':
40575 case 'w':
40576 case 'W':
40577 return number + '-й';
40578 case 'D':
40579 return number + '-го';
40580 default:
40581 return number;
40582 }
40583 },
40584 week : {
40585 dow : 1, // Monday is the first day of the week.
40586 doy : 7 // The week that contains Jan 1st is the first week of the year.
40587 }
40588 });
40589
40590 return uk;
40591
40592 })));
40593
40594
40595/***/ }),
40596/* 444 */
40597/***/ (function(module, exports, __webpack_require__) {
40598
40599 //! moment.js locale configuration
40600
40601 ;(function (global, factory) {
40602 true ? factory(__webpack_require__(327)) :
40603 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
40604 factory(global.moment)
40605 }(this, (function (moment) { 'use strict';
40606
40607
40608 var months = [
40609 'جنوری',
40610 'فروری',
40611 'مارچ',
40612 'اپریل',
40613 'مئی',
40614 'جون',
40615 'جولائی',
40616 'اگست',
40617 'ستمبر',
40618 'اکتوبر',
40619 'نومبر',
40620 'دسمبر'
40621 ];
40622 var days = [
40623 'اتوار',
40624 'پیر',
40625 'منگل',
40626 'بدھ',
40627 'جمعرات',
40628 'جمعہ',
40629 'ہفتہ'
40630 ];
40631
40632 var ur = moment.defineLocale('ur', {
40633 months : months,
40634 monthsShort : months,
40635 weekdays : days,
40636 weekdaysShort : days,
40637 weekdaysMin : days,
40638 longDateFormat : {
40639 LT : 'HH:mm',
40640 LTS : 'HH:mm:ss',
40641 L : 'DD/MM/YYYY',
40642 LL : 'D MMMM YYYY',
40643 LLL : 'D MMMM YYYY HH:mm',
40644 LLLL : 'dddd، D MMMM YYYY HH:mm'
40645 },
40646 meridiemParse: /صبح|شام/,
40647 isPM : function (input) {
40648 return 'شام' === input;
40649 },
40650 meridiem : function (hour, minute, isLower) {
40651 if (hour < 12) {
40652 return 'صبح';
40653 }
40654 return 'شام';
40655 },
40656 calendar : {
40657 sameDay : '[آج بوقت] LT',
40658 nextDay : '[کل بوقت] LT',
40659 nextWeek : 'dddd [بوقت] LT',
40660 lastDay : '[گذشتہ روز بوقت] LT',
40661 lastWeek : '[گذشتہ] dddd [بوقت] LT',
40662 sameElse : 'L'
40663 },
40664 relativeTime : {
40665 future : '%s بعد',
40666 past : '%s قبل',
40667 s : 'چند سیکنڈ',
40668 ss : '%d سیکنڈ',
40669 m : 'ایک منٹ',
40670 mm : '%d منٹ',
40671 h : 'ایک گھنٹہ',
40672 hh : '%d گھنٹے',
40673 d : 'ایک دن',
40674 dd : '%d دن',
40675 M : 'ایک ماہ',
40676 MM : '%d ماہ',
40677 y : 'ایک سال',
40678 yy : '%d سال'
40679 },
40680 preparse: function (string) {
40681 return string.replace(/،/g, ',');
40682 },
40683 postformat: function (string) {
40684 return string.replace(/,/g, '،');
40685 },
40686 week : {
40687 dow : 1, // Monday is the first day of the week.
40688 doy : 4 // The week that contains Jan 4th is the first week of the year.
40689 }
40690 });
40691
40692 return ur;
40693
40694 })));
40695
40696
40697/***/ }),
40698/* 445 */
40699/***/ (function(module, exports, __webpack_require__) {
40700
40701 //! moment.js locale configuration
40702
40703 ;(function (global, factory) {
40704 true ? factory(__webpack_require__(327)) :
40705 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
40706 factory(global.moment)
40707 }(this, (function (moment) { 'use strict';
40708
40709
40710 var uz = moment.defineLocale('uz', {
40711 months : 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split('_'),
40712 monthsShort : 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),
40713 weekdays : 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'),
40714 weekdaysShort : 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'),
40715 weekdaysMin : 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'),
40716 longDateFormat : {
40717 LT : 'HH:mm',
40718 LTS : 'HH:mm:ss',
40719 L : 'DD/MM/YYYY',
40720 LL : 'D MMMM YYYY',
40721 LLL : 'D MMMM YYYY HH:mm',
40722 LLLL : 'D MMMM YYYY, dddd HH:mm'
40723 },
40724 calendar : {
40725 sameDay : '[Бугун соат] LT [да]',
40726 nextDay : '[Эртага] LT [да]',
40727 nextWeek : 'dddd [куни соат] LT [да]',
40728 lastDay : '[Кеча соат] LT [да]',
40729 lastWeek : '[Утган] dddd [куни соат] LT [да]',
40730 sameElse : 'L'
40731 },
40732 relativeTime : {
40733 future : 'Якин %s ичида',
40734 past : 'Бир неча %s олдин',
40735 s : 'фурсат',
40736 ss : '%d фурсат',
40737 m : 'бир дакика',
40738 mm : '%d дакика',
40739 h : 'бир соат',
40740 hh : '%d соат',
40741 d : 'бир кун',
40742 dd : '%d кун',
40743 M : 'бир ой',
40744 MM : '%d ой',
40745 y : 'бир йил',
40746 yy : '%d йил'
40747 },
40748 week : {
40749 dow : 1, // Monday is the first day of the week.
40750 doy : 7 // The week that contains Jan 4th is the first week of the year.
40751 }
40752 });
40753
40754 return uz;
40755
40756 })));
40757
40758
40759/***/ }),
40760/* 446 */
40761/***/ (function(module, exports, __webpack_require__) {
40762
40763 //! moment.js locale configuration
40764
40765 ;(function (global, factory) {
40766 true ? factory(__webpack_require__(327)) :
40767 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
40768 factory(global.moment)
40769 }(this, (function (moment) { 'use strict';
40770
40771
40772 var uzLatn = moment.defineLocale('uz-latn', {
40773 months : 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split('_'),
40774 monthsShort : 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'),
40775 weekdays : 'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split('_'),
40776 weekdaysShort : 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'),
40777 weekdaysMin : 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'),
40778 longDateFormat : {
40779 LT : 'HH:mm',
40780 LTS : 'HH:mm:ss',
40781 L : 'DD/MM/YYYY',
40782 LL : 'D MMMM YYYY',
40783 LLL : 'D MMMM YYYY HH:mm',
40784 LLLL : 'D MMMM YYYY, dddd HH:mm'
40785 },
40786 calendar : {
40787 sameDay : '[Bugun soat] LT [da]',
40788 nextDay : '[Ertaga] LT [da]',
40789 nextWeek : 'dddd [kuni soat] LT [da]',
40790 lastDay : '[Kecha soat] LT [da]',
40791 lastWeek : '[O\'tgan] dddd [kuni soat] LT [da]',
40792 sameElse : 'L'
40793 },
40794 relativeTime : {
40795 future : 'Yaqin %s ichida',
40796 past : 'Bir necha %s oldin',
40797 s : 'soniya',
40798 ss : '%d soniya',
40799 m : 'bir daqiqa',
40800 mm : '%d daqiqa',
40801 h : 'bir soat',
40802 hh : '%d soat',
40803 d : 'bir kun',
40804 dd : '%d kun',
40805 M : 'bir oy',
40806 MM : '%d oy',
40807 y : 'bir yil',
40808 yy : '%d yil'
40809 },
40810 week : {
40811 dow : 1, // Monday is the first day of the week.
40812 doy : 7 // The week that contains Jan 1st is the first week of the year.
40813 }
40814 });
40815
40816 return uzLatn;
40817
40818 })));
40819
40820
40821/***/ }),
40822/* 447 */
40823/***/ (function(module, exports, __webpack_require__) {
40824
40825 //! moment.js locale configuration
40826
40827 ;(function (global, factory) {
40828 true ? factory(__webpack_require__(327)) :
40829 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
40830 factory(global.moment)
40831 }(this, (function (moment) { 'use strict';
40832
40833
40834 var vi = moment.defineLocale('vi', {
40835 months : 'tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12'.split('_'),
40836 monthsShort : 'Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12'.split('_'),
40837 monthsParseExact : true,
40838 weekdays : 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split('_'),
40839 weekdaysShort : 'CN_T2_T3_T4_T5_T6_T7'.split('_'),
40840 weekdaysMin : 'CN_T2_T3_T4_T5_T6_T7'.split('_'),
40841 weekdaysParseExact : true,
40842 meridiemParse: /sa|ch/i,
40843 isPM : function (input) {
40844 return /^ch$/i.test(input);
40845 },
40846 meridiem : function (hours, minutes, isLower) {
40847 if (hours < 12) {
40848 return isLower ? 'sa' : 'SA';
40849 } else {
40850 return isLower ? 'ch' : 'CH';
40851 }
40852 },
40853 longDateFormat : {
40854 LT : 'HH:mm',
40855 LTS : 'HH:mm:ss',
40856 L : 'DD/MM/YYYY',
40857 LL : 'D MMMM [năm] YYYY',
40858 LLL : 'D MMMM [năm] YYYY HH:mm',
40859 LLLL : 'dddd, D MMMM [năm] YYYY HH:mm',
40860 l : 'DD/M/YYYY',
40861 ll : 'D MMM YYYY',
40862 lll : 'D MMM YYYY HH:mm',
40863 llll : 'ddd, D MMM YYYY HH:mm'
40864 },
40865 calendar : {
40866 sameDay: '[Hôm nay lúc] LT',
40867 nextDay: '[Ngày mai lúc] LT',
40868 nextWeek: 'dddd [tuần tới lúc] LT',
40869 lastDay: '[Hôm qua lúc] LT',
40870 lastWeek: 'dddd [tuần rồi lúc] LT',
40871 sameElse: 'L'
40872 },
40873 relativeTime : {
40874 future : '%s tới',
40875 past : '%s trước',
40876 s : 'vài giây',
40877 ss : '%d giây' ,
40878 m : 'một phút',
40879 mm : '%d phút',
40880 h : 'một giờ',
40881 hh : '%d giờ',
40882 d : 'một ngày',
40883 dd : '%d ngày',
40884 M : 'một tháng',
40885 MM : '%d tháng',
40886 y : 'một năm',
40887 yy : '%d năm'
40888 },
40889 dayOfMonthOrdinalParse: /\d{1,2}/,
40890 ordinal : function (number) {
40891 return number;
40892 },
40893 week : {
40894 dow : 1, // Monday is the first day of the week.
40895 doy : 4 // The week that contains Jan 4th is the first week of the year.
40896 }
40897 });
40898
40899 return vi;
40900
40901 })));
40902
40903
40904/***/ }),
40905/* 448 */
40906/***/ (function(module, exports, __webpack_require__) {
40907
40908 //! moment.js locale configuration
40909
40910 ;(function (global, factory) {
40911 true ? factory(__webpack_require__(327)) :
40912 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
40913 factory(global.moment)
40914 }(this, (function (moment) { 'use strict';
40915
40916
40917 var xPseudo = moment.defineLocale('x-pseudo', {
40918 months : 'J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér'.split('_'),
40919 monthsShort : 'J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc'.split('_'),
40920 monthsParseExact : true,
40921 weekdays : 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split('_'),
40922 weekdaysShort : 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'),
40923 weekdaysMin : 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'),
40924 weekdaysParseExact : true,
40925 longDateFormat : {
40926 LT : 'HH:mm',
40927 L : 'DD/MM/YYYY',
40928 LL : 'D MMMM YYYY',
40929 LLL : 'D MMMM YYYY HH:mm',
40930 LLLL : 'dddd, D MMMM YYYY HH:mm'
40931 },
40932 calendar : {
40933 sameDay : '[T~ódá~ý át] LT',
40934 nextDay : '[T~ómó~rró~w át] LT',
40935 nextWeek : 'dddd [át] LT',
40936 lastDay : '[Ý~ést~érdá~ý át] LT',
40937 lastWeek : '[L~ást] dddd [át] LT',
40938 sameElse : 'L'
40939 },
40940 relativeTime : {
40941 future : 'í~ñ %s',
40942 past : '%s á~gó',
40943 s : 'á ~féw ~sécó~ñds',
40944 ss : '%d s~écóñ~ds',
40945 m : 'á ~míñ~úté',
40946 mm : '%d m~íñú~tés',
40947 h : 'á~ñ hó~úr',
40948 hh : '%d h~óúrs',
40949 d : 'á ~dáý',
40950 dd : '%d d~áýs',
40951 M : 'á ~móñ~th',
40952 MM : '%d m~óñt~hs',
40953 y : 'á ~ýéár',
40954 yy : '%d ý~éárs'
40955 },
40956 dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/,
40957 ordinal : function (number) {
40958 var b = number % 10,
40959 output = (~~(number % 100 / 10) === 1) ? 'th' :
40960 (b === 1) ? 'st' :
40961 (b === 2) ? 'nd' :
40962 (b === 3) ? 'rd' : 'th';
40963 return number + output;
40964 },
40965 week : {
40966 dow : 1, // Monday is the first day of the week.
40967 doy : 4 // The week that contains Jan 4th is the first week of the year.
40968 }
40969 });
40970
40971 return xPseudo;
40972
40973 })));
40974
40975
40976/***/ }),
40977/* 449 */
40978/***/ (function(module, exports, __webpack_require__) {
40979
40980 //! moment.js locale configuration
40981
40982 ;(function (global, factory) {
40983 true ? factory(__webpack_require__(327)) :
40984 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
40985 factory(global.moment)
40986 }(this, (function (moment) { 'use strict';
40987
40988
40989 var yo = moment.defineLocale('yo', {
40990 months : 'Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀'.split('_'),
40991 monthsShort : 'Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀'.split('_'),
40992 weekdays : 'Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta'.split('_'),
40993 weekdaysShort : 'Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá'.split('_'),
40994 weekdaysMin : 'Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb'.split('_'),
40995 longDateFormat : {
40996 LT : 'h:mm A',
40997 LTS : 'h:mm:ss A',
40998 L : 'DD/MM/YYYY',
40999 LL : 'D MMMM YYYY',
41000 LLL : 'D MMMM YYYY h:mm A',
41001 LLLL : 'dddd, D MMMM YYYY h:mm A'
41002 },
41003 calendar : {
41004 sameDay : '[Ònì ni] LT',
41005 nextDay : '[Ọ̀la ni] LT',
41006 nextWeek : 'dddd [Ọsẹ̀ tón\'bọ] [ni] LT',
41007 lastDay : '[Àna ni] LT',
41008 lastWeek : 'dddd [Ọsẹ̀ tólọ́] [ni] LT',
41009 sameElse : 'L'
41010 },
41011 relativeTime : {
41012 future : 'ní %s',
41013 past : '%s kọjá',
41014 s : 'ìsẹjú aayá die',
41015 ss :'aayá %d',
41016 m : 'ìsẹjú kan',
41017 mm : 'ìsẹjú %d',
41018 h : 'wákati kan',
41019 hh : 'wákati %d',
41020 d : 'ọjọ́ kan',
41021 dd : 'ọjọ́ %d',
41022 M : 'osù kan',
41023 MM : 'osù %d',
41024 y : 'ọdún kan',
41025 yy : 'ọdún %d'
41026 },
41027 dayOfMonthOrdinalParse : /ọjọ́\s\d{1,2}/,
41028 ordinal : 'ọjọ́ %d',
41029 week : {
41030 dow : 1, // Monday is the first day of the week.
41031 doy : 4 // The week that contains Jan 4th is the first week of the year.
41032 }
41033 });
41034
41035 return yo;
41036
41037 })));
41038
41039
41040/***/ }),
41041/* 450 */
41042/***/ (function(module, exports, __webpack_require__) {
41043
41044 //! moment.js locale configuration
41045
41046 ;(function (global, factory) {
41047 true ? factory(__webpack_require__(327)) :
41048 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
41049 factory(global.moment)
41050 }(this, (function (moment) { 'use strict';
41051
41052
41053 var zhCn = moment.defineLocale('zh-cn', {
41054 months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),
41055 monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),
41056 weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),
41057 weekdaysShort : '周日_周一_周二_周三_周四_周五_周六'.split('_'),
41058 weekdaysMin : '日_一_二_三_四_五_六'.split('_'),
41059 longDateFormat : {
41060 LT : 'HH:mm',
41061 LTS : 'HH:mm:ss',
41062 L : 'YYYY/MM/DD',
41063 LL : 'YYYY年M月D日',
41064 LLL : 'YYYY年M月D日Ah点mm分',
41065 LLLL : 'YYYY年M月D日ddddAh点mm分',
41066 l : 'YYYY/M/D',
41067 ll : 'YYYY年M月D日',
41068 lll : 'YYYY年M月D日 HH:mm',
41069 llll : 'YYYY年M月D日dddd HH:mm'
41070 },
41071 meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,
41072 meridiemHour: function (hour, meridiem) {
41073 if (hour === 12) {
41074 hour = 0;
41075 }
41076 if (meridiem === '凌晨' || meridiem === '早上' ||
41077 meridiem === '上午') {
41078 return hour;
41079 } else if (meridiem === '下午' || meridiem === '晚上') {
41080 return hour + 12;
41081 } else {
41082 // '中午'
41083 return hour >= 11 ? hour : hour + 12;
41084 }
41085 },
41086 meridiem : function (hour, minute, isLower) {
41087 var hm = hour * 100 + minute;
41088 if (hm < 600) {
41089 return '凌晨';
41090 } else if (hm < 900) {
41091 return '早上';
41092 } else if (hm < 1130) {
41093 return '上午';
41094 } else if (hm < 1230) {
41095 return '中午';
41096 } else if (hm < 1800) {
41097 return '下午';
41098 } else {
41099 return '晚上';
41100 }
41101 },
41102 calendar : {
41103 sameDay : '[今天]LT',
41104 nextDay : '[明天]LT',
41105 nextWeek : '[下]ddddLT',
41106 lastDay : '[昨天]LT',
41107 lastWeek : '[上]ddddLT',
41108 sameElse : 'L'
41109 },
41110 dayOfMonthOrdinalParse: /\d{1,2}(日|月|周)/,
41111 ordinal : function (number, period) {
41112 switch (period) {
41113 case 'd':
41114 case 'D':
41115 case 'DDD':
41116 return number + '日';
41117 case 'M':
41118 return number + '月';
41119 case 'w':
41120 case 'W':
41121 return number + '周';
41122 default:
41123 return number;
41124 }
41125 },
41126 relativeTime : {
41127 future : '%s内',
41128 past : '%s前',
41129 s : '几秒',
41130 ss : '%d 秒',
41131 m : '1 分钟',
41132 mm : '%d 分钟',
41133 h : '1 小时',
41134 hh : '%d 小时',
41135 d : '1 天',
41136 dd : '%d 天',
41137 M : '1 个月',
41138 MM : '%d 个月',
41139 y : '1 年',
41140 yy : '%d 年'
41141 },
41142 week : {
41143 // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效
41144 dow : 1, // Monday is the first day of the week.
41145 doy : 4 // The week that contains Jan 4th is the first week of the year.
41146 }
41147 });
41148
41149 return zhCn;
41150
41151 })));
41152
41153
41154/***/ }),
41155/* 451 */
41156/***/ (function(module, exports, __webpack_require__) {
41157
41158 //! moment.js locale configuration
41159
41160 ;(function (global, factory) {
41161 true ? factory(__webpack_require__(327)) :
41162 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
41163 factory(global.moment)
41164 }(this, (function (moment) { 'use strict';
41165
41166
41167 var zhHk = moment.defineLocale('zh-hk', {
41168 months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),
41169 monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),
41170 weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),
41171 weekdaysShort : '週日_週一_週二_週三_週四_週五_週六'.split('_'),
41172 weekdaysMin : '日_一_二_三_四_五_六'.split('_'),
41173 longDateFormat : {
41174 LT : 'HH:mm',
41175 LTS : 'HH:mm:ss',
41176 L : 'YYYY/MM/DD',
41177 LL : 'YYYY年M月D日',
41178 LLL : 'YYYY年M月D日 HH:mm',
41179 LLLL : 'YYYY年M月D日dddd HH:mm',
41180 l : 'YYYY/M/D',
41181 ll : 'YYYY年M月D日',
41182 lll : 'YYYY年M月D日 HH:mm',
41183 llll : 'YYYY年M月D日dddd HH:mm'
41184 },
41185 meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,
41186 meridiemHour : function (hour, meridiem) {
41187 if (hour === 12) {
41188 hour = 0;
41189 }
41190 if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {
41191 return hour;
41192 } else if (meridiem === '中午') {
41193 return hour >= 11 ? hour : hour + 12;
41194 } else if (meridiem === '下午' || meridiem === '晚上') {
41195 return hour + 12;
41196 }
41197 },
41198 meridiem : function (hour, minute, isLower) {
41199 var hm = hour * 100 + minute;
41200 if (hm < 600) {
41201 return '凌晨';
41202 } else if (hm < 900) {
41203 return '早上';
41204 } else if (hm < 1130) {
41205 return '上午';
41206 } else if (hm < 1230) {
41207 return '中午';
41208 } else if (hm < 1800) {
41209 return '下午';
41210 } else {
41211 return '晚上';
41212 }
41213 },
41214 calendar : {
41215 sameDay : '[今天]LT',
41216 nextDay : '[明天]LT',
41217 nextWeek : '[下]ddddLT',
41218 lastDay : '[昨天]LT',
41219 lastWeek : '[上]ddddLT',
41220 sameElse : 'L'
41221 },
41222 dayOfMonthOrdinalParse: /\d{1,2}(日|月|週)/,
41223 ordinal : function (number, period) {
41224 switch (period) {
41225 case 'd' :
41226 case 'D' :
41227 case 'DDD' :
41228 return number + '日';
41229 case 'M' :
41230 return number + '月';
41231 case 'w' :
41232 case 'W' :
41233 return number + '週';
41234 default :
41235 return number;
41236 }
41237 },
41238 relativeTime : {
41239 future : '%s內',
41240 past : '%s前',
41241 s : '幾秒',
41242 ss : '%d 秒',
41243 m : '1 分鐘',
41244 mm : '%d 分鐘',
41245 h : '1 小時',
41246 hh : '%d 小時',
41247 d : '1 天',
41248 dd : '%d 天',
41249 M : '1 個月',
41250 MM : '%d 個月',
41251 y : '1 年',
41252 yy : '%d 年'
41253 }
41254 });
41255
41256 return zhHk;
41257
41258 })));
41259
41260
41261/***/ }),
41262/* 452 */
41263/***/ (function(module, exports, __webpack_require__) {
41264
41265 //! moment.js locale configuration
41266
41267 ;(function (global, factory) {
41268 true ? factory(__webpack_require__(327)) :
41269 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
41270 factory(global.moment)
41271 }(this, (function (moment) { 'use strict';
41272
41273
41274 var zhTw = moment.defineLocale('zh-tw', {
41275 months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),
41276 monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),
41277 weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),
41278 weekdaysShort : '週日_週一_週二_週三_週四_週五_週六'.split('_'),
41279 weekdaysMin : '日_一_二_三_四_五_六'.split('_'),
41280 longDateFormat : {
41281 LT : 'HH:mm',
41282 LTS : 'HH:mm:ss',
41283 L : 'YYYY/MM/DD',
41284 LL : 'YYYY年M月D日',
41285 LLL : 'YYYY年M月D日 HH:mm',
41286 LLLL : 'YYYY年M月D日dddd HH:mm',
41287 l : 'YYYY/M/D',
41288 ll : 'YYYY年M月D日',
41289 lll : 'YYYY年M月D日 HH:mm',
41290 llll : 'YYYY年M月D日dddd HH:mm'
41291 },
41292 meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,
41293 meridiemHour : function (hour, meridiem) {
41294 if (hour === 12) {
41295 hour = 0;
41296 }
41297 if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {
41298 return hour;
41299 } else if (meridiem === '中午') {
41300 return hour >= 11 ? hour : hour + 12;
41301 } else if (meridiem === '下午' || meridiem === '晚上') {
41302 return hour + 12;
41303 }
41304 },
41305 meridiem : function (hour, minute, isLower) {
41306 var hm = hour * 100 + minute;
41307 if (hm < 600) {
41308 return '凌晨';
41309 } else if (hm < 900) {
41310 return '早上';
41311 } else if (hm < 1130) {
41312 return '上午';
41313 } else if (hm < 1230) {
41314 return '中午';
41315 } else if (hm < 1800) {
41316 return '下午';
41317 } else {
41318 return '晚上';
41319 }
41320 },
41321 calendar : {
41322 sameDay : '[今天] LT',
41323 nextDay : '[明天] LT',
41324 nextWeek : '[下]dddd LT',
41325 lastDay : '[昨天] LT',
41326 lastWeek : '[上]dddd LT',
41327 sameElse : 'L'
41328 },
41329 dayOfMonthOrdinalParse: /\d{1,2}(日|月|週)/,
41330 ordinal : function (number, period) {
41331 switch (period) {
41332 case 'd' :
41333 case 'D' :
41334 case 'DDD' :
41335 return number + '日';
41336 case 'M' :
41337 return number + '月';
41338 case 'w' :
41339 case 'W' :
41340 return number + '週';
41341 default :
41342 return number;
41343 }
41344 },
41345 relativeTime : {
41346 future : '%s內',
41347 past : '%s前',
41348 s : '幾秒',
41349 ss : '%d 秒',
41350 m : '1 分鐘',
41351 mm : '%d 分鐘',
41352 h : '1 小時',
41353 hh : '%d 小時',
41354 d : '1 天',
41355 dd : '%d 天',
41356 M : '1 個月',
41357 MM : '%d 個月',
41358 y : '1 年',
41359 yy : '%d 年'
41360 }
41361 });
41362
41363 return zhTw;
41364
41365 })));
41366
41367
41368/***/ }),
41369/* 453 */
41370/***/ (function(module, exports, __webpack_require__) {
41371
41372 'use strict';
41373
41374 Object.defineProperty(exports, "__esModule", {
41375 value: true
41376 });
41377
41378 var _defineProperty2 = __webpack_require__(141);
41379
41380 var _defineProperty3 = _interopRequireDefault(_defineProperty2);
41381
41382 var _react = __webpack_require__(4);
41383
41384 var _react2 = _interopRequireDefault(_react);
41385
41386 var _createReactClass = __webpack_require__(160);
41387
41388 var _createReactClass2 = _interopRequireDefault(_createReactClass);
41389
41390 var _propTypes = __webpack_require__(5);
41391
41392 var _propTypes2 = _interopRequireDefault(_propTypes);
41393
41394 var _classnames = __webpack_require__(3);
41395
41396 var _classnames2 = _interopRequireDefault(_classnames);
41397
41398 var _DateConstants = __webpack_require__(326);
41399
41400 var _DateConstants2 = _interopRequireDefault(_DateConstants);
41401
41402 var _util = __webpack_require__(454);
41403
41404 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
41405
41406 function isSameDay(one, two) {
41407 return one && two && one.isSame(two, 'day');
41408 }
41409
41410 function beforeCurrentMonthYear(current, today) {
41411 if (current.year() < today.year()) {
41412 return 1;
41413 }
41414 return current.year() === today.year() && current.month() < today.month();
41415 }
41416
41417 function afterCurrentMonthYear(current, today) {
41418 if (current.year() > today.year()) {
41419 return 1;
41420 }
41421 return current.year() === today.year() && current.month() > today.month();
41422 }
41423
41424 function getIdFromDate(date) {
41425 return 'rc-calendar-' + date.year() + '-' + date.month() + '-' + date.date();
41426 }
41427
41428 var DateTBody = (0, _createReactClass2['default'])({
41429 displayName: 'DateTBody',
41430
41431 propTypes: {
41432 contentRender: _propTypes2['default'].func,
41433 dateRender: _propTypes2['default'].func,
41434 disabledDate: _propTypes2['default'].func,
41435 prefixCls: _propTypes2['default'].string,
41436 selectedValue: _propTypes2['default'].oneOfType([_propTypes2['default'].object, _propTypes2['default'].arrayOf(_propTypes2['default'].object)]),
41437 value: _propTypes2['default'].object,
41438 hoverValue: _propTypes2['default'].any,
41439 showWeekNumber: _propTypes2['default'].bool
41440 },
41441
41442 getDefaultProps: function getDefaultProps() {
41443 return {
41444 hoverValue: []
41445 };
41446 },
41447 render: function render() {
41448 var props = this.props;
41449 var contentRender = props.contentRender,
41450 prefixCls = props.prefixCls,
41451 selectedValue = props.selectedValue,
41452 value = props.value,
41453 showWeekNumber = props.showWeekNumber,
41454 dateRender = props.dateRender,
41455 disabledDate = props.disabledDate,
41456 hoverValue = props.hoverValue;
41457
41458 var iIndex = void 0;
41459 var jIndex = void 0;
41460 var current = void 0;
41461 var dateTable = [];
41462 var today = (0, _util.getTodayTime)(value);
41463 var cellClass = prefixCls + '-cell';
41464 var weekNumberCellClass = prefixCls + '-week-number-cell';
41465 var dateClass = prefixCls + '-date';
41466 var todayClass = prefixCls + '-today';
41467 var selectedClass = prefixCls + '-selected-day';
41468 var selectedDateClass = prefixCls + '-selected-date'; // do not move with mouse operation
41469 var inRangeClass = prefixCls + '-in-range-cell';
41470 var lastMonthDayClass = prefixCls + '-last-month-cell';
41471 var nextMonthDayClass = prefixCls + '-next-month-btn-day';
41472 var disabledClass = prefixCls + '-disabled-cell';
41473 var firstDisableClass = prefixCls + '-disabled-cell-first-of-row';
41474 var lastDisableClass = prefixCls + '-disabled-cell-last-of-row';
41475 var month1 = value.clone();
41476 month1.date(1);
41477 var day = month1.day();
41478 var lastMonthDiffDay = (day + 7 - value.localeData().firstDayOfWeek()) % 7;
41479 // calculate last month
41480 var lastMonth1 = month1.clone();
41481 lastMonth1.add(0 - lastMonthDiffDay, 'days');
41482 var passed = 0;
41483 for (iIndex = 0; iIndex < _DateConstants2['default'].DATE_ROW_COUNT; iIndex++) {
41484 for (jIndex = 0; jIndex < _DateConstants2['default'].DATE_COL_COUNT; jIndex++) {
41485 current = lastMonth1;
41486 if (passed) {
41487 current = current.clone();
41488 current.add(passed, 'days');
41489 }
41490 dateTable.push(current);
41491 passed++;
41492 }
41493 }
41494 var tableHtml = [];
41495 passed = 0;
41496
41497 for (iIndex = 0; iIndex < _DateConstants2['default'].DATE_ROW_COUNT; iIndex++) {
41498 var _cx;
41499
41500 var isCurrentWeek = void 0;
41501 var weekNumberCell = void 0;
41502 var isActiveWeek = false;
41503 var dateCells = [];
41504 if (showWeekNumber) {
41505 weekNumberCell = _react2['default'].createElement(
41506 'td',
41507 {
41508 key: dateTable[passed].week(),
41509 role: 'gridcell',
41510 className: weekNumberCellClass
41511 },
41512 dateTable[passed].week()
41513 );
41514 }
41515 for (jIndex = 0; jIndex < _DateConstants2['default'].DATE_COL_COUNT; jIndex++) {
41516 var next = null;
41517 var last = null;
41518 current = dateTable[passed];
41519 if (jIndex < _DateConstants2['default'].DATE_COL_COUNT - 1) {
41520 next = dateTable[passed + 1];
41521 }
41522 if (jIndex > 0) {
41523 last = dateTable[passed - 1];
41524 }
41525 var cls = cellClass;
41526 var disabled = false;
41527 var selected = false;
41528
41529 if (isSameDay(current, today)) {
41530 cls += ' ' + todayClass;
41531 isCurrentWeek = true;
41532 }
41533
41534 var isBeforeCurrentMonthYear = beforeCurrentMonthYear(current, value);
41535 var isAfterCurrentMonthYear = afterCurrentMonthYear(current, value);
41536
41537 if (selectedValue && Array.isArray(selectedValue)) {
41538 var rangeValue = hoverValue.length ? hoverValue : selectedValue;
41539 if (!isBeforeCurrentMonthYear && !isAfterCurrentMonthYear) {
41540 var startValue = rangeValue[0];
41541 var endValue = rangeValue[1];
41542 if (startValue) {
41543 if (isSameDay(current, startValue)) {
41544 selected = true;
41545 isActiveWeek = true;
41546 }
41547 }
41548 if (startValue && endValue) {
41549 if (isSameDay(current, endValue)) {
41550 selected = true;
41551 isActiveWeek = true;
41552 } else if (current.isAfter(startValue, 'day') && current.isBefore(endValue, 'day')) {
41553 cls += ' ' + inRangeClass;
41554 }
41555 }
41556 }
41557 } else if (isSameDay(current, value)) {
41558 // keyboard change value, highlight works
41559 selected = true;
41560 isActiveWeek = true;
41561 }
41562
41563 if (isSameDay(current, selectedValue)) {
41564 cls += ' ' + selectedDateClass;
41565 }
41566
41567 if (isBeforeCurrentMonthYear) {
41568 cls += ' ' + lastMonthDayClass;
41569 }
41570 if (isAfterCurrentMonthYear) {
41571 cls += ' ' + nextMonthDayClass;
41572 }
41573
41574 if (disabledDate) {
41575 if (disabledDate(current, value)) {
41576 disabled = true;
41577
41578 if (!last || !disabledDate(last, value)) {
41579 cls += ' ' + firstDisableClass;
41580 }
41581
41582 if (!next || !disabledDate(next, value)) {
41583 cls += ' ' + lastDisableClass;
41584 }
41585 }
41586 }
41587
41588 if (selected) {
41589 cls += ' ' + selectedClass;
41590 }
41591
41592 if (disabled) {
41593 cls += ' ' + disabledClass;
41594 }
41595
41596 var dateHtml = void 0;
41597 if (dateRender) {
41598 dateHtml = dateRender(current, value);
41599 } else {
41600 var content = contentRender ? contentRender(current, value) : current.date();
41601 dateHtml = _react2['default'].createElement(
41602 'div',
41603 {
41604 key: getIdFromDate(current),
41605 className: dateClass,
41606 'aria-selected': selected,
41607 'aria-disabled': disabled
41608 },
41609 content
41610 );
41611 }
41612
41613 dateCells.push(_react2['default'].createElement(
41614 'td',
41615 {
41616 key: passed,
41617 onClick: disabled ? undefined : props.onSelect.bind(null, current),
41618 onMouseEnter: disabled ? undefined : props.onDayHover && props.onDayHover.bind(null, current) || undefined,
41619 role: 'gridcell',
41620 title: (0, _util.getTitleString)(current), className: cls
41621 },
41622 dateHtml
41623 ));
41624
41625 passed++;
41626 }
41627
41628 tableHtml.push(_react2['default'].createElement(
41629 'tr',
41630 {
41631 key: iIndex,
41632 role: 'row',
41633 className: (0, _classnames2['default'])((_cx = {}, (0, _defineProperty3['default'])(_cx, prefixCls + '-current-week', isCurrentWeek), (0, _defineProperty3['default'])(_cx, prefixCls + '-active-week', isActiveWeek), _cx))
41634 },
41635 weekNumberCell,
41636 dateCells
41637 ));
41638 }
41639 return _react2['default'].createElement(
41640 'tbody',
41641 { className: prefixCls + '-tbody' },
41642 tableHtml
41643 );
41644 }
41645 });
41646
41647 exports['default'] = DateTBody;
41648 module.exports = exports['default'];
41649
41650/***/ }),
41651/* 454 */
41652/***/ (function(module, exports, __webpack_require__) {
41653
41654 'use strict';
41655
41656 Object.defineProperty(exports, "__esModule", {
41657 value: true
41658 });
41659
41660 var _extends2 = __webpack_require__(145);
41661
41662 var _extends3 = _interopRequireDefault(_extends2);
41663
41664 exports.getTodayTime = getTodayTime;
41665 exports.getTitleString = getTitleString;
41666 exports.getTodayTimeStr = getTodayTimeStr;
41667 exports.getMonthName = getMonthName;
41668 exports.syncTime = syncTime;
41669 exports.getTimeConfig = getTimeConfig;
41670 exports.isTimeValidByConfig = isTimeValidByConfig;
41671 exports.isTimeValid = isTimeValid;
41672 exports.isAllowedDate = isAllowedDate;
41673
41674 var _moment = __webpack_require__(327);
41675
41676 var _moment2 = _interopRequireDefault(_moment);
41677
41678 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
41679
41680 var defaultDisabledTime = {
41681 disabledHours: function disabledHours() {
41682 return [];
41683 },
41684 disabledMinutes: function disabledMinutes() {
41685 return [];
41686 },
41687 disabledSeconds: function disabledSeconds() {
41688 return [];
41689 }
41690 };
41691
41692 function getTodayTime(value) {
41693 var today = (0, _moment2['default'])();
41694 today.locale(value.locale()).utcOffset(value.utcOffset());
41695 return today;
41696 }
41697
41698 function getTitleString(value) {
41699 return value.format('L');
41700 }
41701
41702 function getTodayTimeStr(value) {
41703 var today = getTodayTime(value);
41704 return getTitleString(today);
41705 }
41706
41707 function getMonthName(month) {
41708 var locale = month.locale();
41709 var localeData = month.localeData();
41710 return localeData[locale === 'zh-cn' ? 'months' : 'monthsShort'](month);
41711 }
41712
41713 function syncTime(from, to) {
41714 if (!_moment2['default'].isMoment(from) || !_moment2['default'].isMoment(to)) return;
41715 to.hour(from.hour());
41716 to.minute(from.minute());
41717 to.second(from.second());
41718 }
41719
41720 function getTimeConfig(value, disabledTime) {
41721 var disabledTimeConfig = disabledTime ? disabledTime(value) : {};
41722 disabledTimeConfig = (0, _extends3['default'])({}, defaultDisabledTime, disabledTimeConfig);
41723 return disabledTimeConfig;
41724 }
41725
41726 function isTimeValidByConfig(value, disabledTimeConfig) {
41727 var invalidTime = false;
41728 if (value) {
41729 var hour = value.hour();
41730 var minutes = value.minute();
41731 var seconds = value.second();
41732 var disabledHours = disabledTimeConfig.disabledHours();
41733 if (disabledHours.indexOf(hour) === -1) {
41734 var disabledMinutes = disabledTimeConfig.disabledMinutes(hour);
41735 if (disabledMinutes.indexOf(minutes) === -1) {
41736 var disabledSeconds = disabledTimeConfig.disabledSeconds(hour, minutes);
41737 invalidTime = disabledSeconds.indexOf(seconds) !== -1;
41738 } else {
41739 invalidTime = true;
41740 }
41741 } else {
41742 invalidTime = true;
41743 }
41744 }
41745 return !invalidTime;
41746 }
41747
41748 function isTimeValid(value, disabledTime) {
41749 var disabledTimeConfig = getTimeConfig(value, disabledTime);
41750 return isTimeValidByConfig(value, disabledTimeConfig);
41751 }
41752
41753 function isAllowedDate(value, disabledDate, disabledTime) {
41754 if (disabledDate) {
41755 if (disabledDate(value)) {
41756 return false;
41757 }
41758 }
41759 if (disabledTime) {
41760 if (!isTimeValid(value, disabledTime)) {
41761 return false;
41762 }
41763 }
41764 return true;
41765 }
41766
41767/***/ }),
41768/* 455 */
41769/***/ (function(module, exports, __webpack_require__) {
41770
41771 'use strict';
41772
41773 Object.defineProperty(exports, "__esModule", {
41774 value: true
41775 });
41776
41777 var _react = __webpack_require__(4);
41778
41779 var _react2 = _interopRequireDefault(_react);
41780
41781 var _createReactClass = __webpack_require__(160);
41782
41783 var _createReactClass2 = _interopRequireDefault(_createReactClass);
41784
41785 var _propTypes = __webpack_require__(5);
41786
41787 var _propTypes2 = _interopRequireDefault(_propTypes);
41788
41789 var _MonthPanel = __webpack_require__(456);
41790
41791 var _MonthPanel2 = _interopRequireDefault(_MonthPanel);
41792
41793 var _YearPanel = __webpack_require__(457);
41794
41795 var _YearPanel2 = _interopRequireDefault(_YearPanel);
41796
41797 var _mapSelf = __webpack_require__(460);
41798
41799 var _mapSelf2 = _interopRequireDefault(_mapSelf);
41800
41801 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
41802
41803 function goMonth(direction) {
41804 var next = this.props.value.clone();
41805 next.add(direction, 'months');
41806 this.props.onValueChange(next);
41807 }
41808
41809 function goYear(direction) {
41810 var next = this.props.value.clone();
41811 next.add(direction, 'years');
41812 this.props.onValueChange(next);
41813 }
41814
41815 function showIf(condition, el) {
41816 return condition ? el : null;
41817 }
41818
41819 var CalendarHeader = (0, _createReactClass2['default'])({
41820 displayName: 'CalendarHeader',
41821
41822 propTypes: {
41823 prefixCls: _propTypes2['default'].string,
41824 value: _propTypes2['default'].object,
41825 onValueChange: _propTypes2['default'].func,
41826 showTimePicker: _propTypes2['default'].bool,
41827 showMonthPanel: _propTypes2['default'].bool,
41828 showYearPanel: _propTypes2['default'].bool,
41829 onPanelChange: _propTypes2['default'].func,
41830 locale: _propTypes2['default'].object,
41831 enablePrev: _propTypes2['default'].any,
41832 enableNext: _propTypes2['default'].any,
41833 disabledMonth: _propTypes2['default'].func
41834 },
41835
41836 getDefaultProps: function getDefaultProps() {
41837 return {
41838 enableNext: 1,
41839 enablePrev: 1,
41840 onPanelChange: function onPanelChange() {},
41841 onValueChange: function onValueChange() {}
41842 };
41843 },
41844 getInitialState: function getInitialState() {
41845 this.nextMonth = goMonth.bind(this, 1);
41846 this.previousMonth = goMonth.bind(this, -1);
41847 this.nextYear = goYear.bind(this, 1);
41848 this.previousYear = goYear.bind(this, -1);
41849 var _props = this.props,
41850 showMonthPanel = _props.showMonthPanel,
41851 showYearPanel = _props.showYearPanel;
41852
41853 return { showMonthPanel: showMonthPanel, showYearPanel: showYearPanel };
41854 },
41855 componentWillReceiveProps: function componentWillReceiveProps() {
41856 var props = this.props;
41857 if ('showMonthpanel' in props) {
41858 this.setState({ showMonthPanel: props.showMonthPanel });
41859 }
41860 if ('showYearpanel' in props) {
41861 this.setState({ showYearPanel: props.showYearPanel });
41862 }
41863 },
41864 onSelect: function onSelect(value) {
41865 this.triggerPanelChange({
41866 showMonthPanel: 0,
41867 showYearPanel: 0
41868 });
41869 this.props.onValueChange(value);
41870 },
41871 triggerPanelChange: function triggerPanelChange(panelStatus) {
41872 if (!('showMonthPanel' in this.props)) {
41873 this.setState({ showMonthPanel: panelStatus.showMonthPanel });
41874 }
41875 if (!('showYearPanel' in this.props)) {
41876 this.setState({ showYearPanel: panelStatus.showYearPanel });
41877 }
41878 this.props.onPanelChange(panelStatus);
41879 },
41880 monthYearElement: function monthYearElement(showTimePicker) {
41881 var props = this.props;
41882 var prefixCls = props.prefixCls;
41883 var locale = props.locale;
41884 var value = props.value;
41885 var localeData = value.localeData();
41886 var monthBeforeYear = locale.monthBeforeYear;
41887 var selectClassName = prefixCls + '-' + (monthBeforeYear ? 'my-select' : 'ym-select');
41888 var year = _react2['default'].createElement(
41889 'a',
41890 {
41891 className: prefixCls + '-year-select',
41892 role: 'button',
41893 onClick: showTimePicker ? null : this.showYearPanel,
41894 title: locale.yearSelect
41895 },
41896 value.format(locale.yearFormat)
41897 );
41898 var month = _react2['default'].createElement(
41899 'a',
41900 {
41901 className: prefixCls + '-month-select',
41902 role: 'button',
41903 onClick: showTimePicker ? null : this.showMonthPanel,
41904 title: locale.monthSelect
41905 },
41906 localeData.monthsShort(value)
41907 );
41908 var day = void 0;
41909 if (showTimePicker) {
41910 day = _react2['default'].createElement(
41911 'a',
41912 {
41913 className: prefixCls + '-day-select',
41914 role: 'button'
41915 },
41916 value.format(locale.dayFormat)
41917 );
41918 }
41919 var my = [];
41920 if (monthBeforeYear) {
41921 my = [month, day, year];
41922 } else {
41923 my = [year, month, day];
41924 }
41925 return _react2['default'].createElement(
41926 'span',
41927 { className: selectClassName },
41928 (0, _mapSelf2['default'])(my)
41929 );
41930 },
41931 showMonthPanel: function showMonthPanel() {
41932 this.triggerPanelChange({
41933 showMonthPanel: 1,
41934 showYearPanel: 0
41935 });
41936 },
41937 showYearPanel: function showYearPanel() {
41938 this.triggerPanelChange({
41939 showMonthPanel: 0,
41940 showYearPanel: 1
41941 });
41942 },
41943 render: function render() {
41944 var props = this.props,
41945 state = this.state;
41946 var prefixCls = props.prefixCls,
41947 locale = props.locale,
41948 value = props.value,
41949 showTimePicker = props.showTimePicker,
41950 enableNext = props.enableNext,
41951 enablePrev = props.enablePrev,
41952 disabledMonth = props.disabledMonth;
41953
41954
41955 var panel = null;
41956 if (state.showMonthPanel) {
41957 panel = _react2['default'].createElement(_MonthPanel2['default'], {
41958 locale: locale,
41959 defaultValue: value,
41960 rootPrefixCls: prefixCls,
41961 onSelect: this.onSelect,
41962 disabledDate: disabledMonth
41963 });
41964 } else if (state.showYearPanel) {
41965 panel = _react2['default'].createElement(_YearPanel2['default'], {
41966 locale: locale,
41967 defaultValue: value,
41968 rootPrefixCls: prefixCls,
41969 onSelect: this.onSelect
41970 });
41971 }
41972
41973 return _react2['default'].createElement(
41974 'div',
41975 { className: prefixCls + '-header' },
41976 _react2['default'].createElement(
41977 'div',
41978 { style: { position: 'relative' } },
41979 showIf(enablePrev && !showTimePicker, _react2['default'].createElement('a', {
41980 className: prefixCls + '-prev-year-btn',
41981 role: 'button',
41982 onClick: this.previousYear,
41983 title: locale.previousYear
41984 })),
41985 showIf(enablePrev && !showTimePicker, _react2['default'].createElement('a', {
41986 className: prefixCls + '-prev-month-btn',
41987 role: 'button',
41988 onClick: this.previousMonth,
41989 title: locale.previousMonth
41990 })),
41991 this.monthYearElement(showTimePicker),
41992 showIf(enableNext && !showTimePicker, _react2['default'].createElement('a', {
41993 className: prefixCls + '-next-month-btn',
41994 onClick: this.nextMonth,
41995 title: locale.nextMonth
41996 })),
41997 showIf(enableNext && !showTimePicker, _react2['default'].createElement('a', {
41998 className: prefixCls + '-next-year-btn',
41999 onClick: this.nextYear,
42000 title: locale.nextYear
42001 }))
42002 ),
42003 panel
42004 );
42005 }
42006 });
42007
42008 exports['default'] = CalendarHeader;
42009 module.exports = exports['default'];
42010
42011/***/ }),
42012/* 456 */
42013/***/ (function(module, exports, __webpack_require__) {
42014
42015 'use strict';
42016
42017 Object.defineProperty(exports, "__esModule", {
42018 value: true
42019 });
42020
42021 var _react = __webpack_require__(4);
42022
42023 var _react2 = _interopRequireDefault(_react);
42024
42025 var _createReactClass = __webpack_require__(160);
42026
42027 var _createReactClass2 = _interopRequireDefault(_createReactClass);
42028
42029 var _propTypes = __webpack_require__(5);
42030
42031 var _propTypes2 = _interopRequireDefault(_propTypes);
42032
42033 var _YearPanel = __webpack_require__(457);
42034
42035 var _YearPanel2 = _interopRequireDefault(_YearPanel);
42036
42037 var _MonthTable = __webpack_require__(459);
42038
42039 var _MonthTable2 = _interopRequireDefault(_MonthTable);
42040
42041 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
42042
42043 function goYear(direction) {
42044 var next = this.state.value.clone();
42045 next.add(direction, 'year');
42046 this.setAndChangeValue(next);
42047 }
42048
42049 function noop() {}
42050
42051 var MonthPanel = (0, _createReactClass2['default'])({
42052 displayName: 'MonthPanel',
42053
42054 propTypes: {
42055 onChange: _propTypes2['default'].func,
42056 disabledDate: _propTypes2['default'].func,
42057 onSelect: _propTypes2['default'].func
42058 },
42059
42060 getDefaultProps: function getDefaultProps() {
42061 return {
42062 onChange: noop,
42063 onSelect: noop
42064 };
42065 },
42066 getInitialState: function getInitialState() {
42067 var props = this.props;
42068 // bind methods
42069 this.nextYear = goYear.bind(this, 1);
42070 this.previousYear = goYear.bind(this, -1);
42071 this.prefixCls = props.rootPrefixCls + '-month-panel';
42072 return {
42073 value: props.value || props.defaultValue
42074 };
42075 },
42076 componentWillReceiveProps: function componentWillReceiveProps(nextProps) {
42077 if ('value' in nextProps) {
42078 this.setState({
42079 value: nextProps.value
42080 });
42081 }
42082 },
42083 onYearPanelSelect: function onYearPanelSelect(current) {
42084 this.setState({
42085 showYearPanel: 0
42086 });
42087 this.setAndChangeValue(current);
42088 },
42089 setAndChangeValue: function setAndChangeValue(value) {
42090 this.setValue(value);
42091 this.props.onChange(value);
42092 },
42093 setAndSelectValue: function setAndSelectValue(value) {
42094 this.setValue(value);
42095 this.props.onSelect(value);
42096 },
42097 setValue: function setValue(value) {
42098 if (!('value' in this.props)) {
42099 this.setState({
42100 value: value
42101 });
42102 }
42103 },
42104 showYearPanel: function showYearPanel() {
42105 this.setState({
42106 showYearPanel: 1
42107 });
42108 },
42109 render: function render() {
42110 var props = this.props;
42111 var value = this.state.value;
42112 var cellRender = props.cellRender;
42113 var contentRender = props.contentRender;
42114 var locale = props.locale;
42115 var year = value.year();
42116 var prefixCls = this.prefixCls;
42117 var yearPanel = void 0;
42118 if (this.state.showYearPanel) {
42119 yearPanel = _react2['default'].createElement(_YearPanel2['default'], {
42120 locale: locale,
42121 value: value,
42122 rootPrefixCls: props.rootPrefixCls,
42123 onSelect: this.onYearPanelSelect
42124 });
42125 }
42126 return _react2['default'].createElement(
42127 'div',
42128 { className: prefixCls, style: props.style },
42129 _react2['default'].createElement(
42130 'div',
42131 null,
42132 _react2['default'].createElement(
42133 'div',
42134 { className: prefixCls + '-header' },
42135 _react2['default'].createElement('a', {
42136 className: prefixCls + '-prev-year-btn',
42137 role: 'button',
42138 onClick: this.previousYear,
42139 title: locale.previousYear
42140 }),
42141 _react2['default'].createElement(
42142 'a',
42143 {
42144 className: prefixCls + '-year-select',
42145 role: 'button',
42146 onClick: this.showYearPanel,
42147 title: locale.yearSelect
42148 },
42149 _react2['default'].createElement(
42150 'span',
42151 { className: prefixCls + '-year-select-content' },
42152 year
42153 ),
42154 _react2['default'].createElement(
42155 'span',
42156 { className: prefixCls + '-year-select-arrow' },
42157 'x'
42158 )
42159 ),
42160 _react2['default'].createElement('a', {
42161 className: prefixCls + '-next-year-btn',
42162 role: 'button',
42163 onClick: this.nextYear,
42164 title: locale.nextYear
42165 })
42166 ),
42167 _react2['default'].createElement(
42168 'div',
42169 { className: prefixCls + '-body' },
42170 _react2['default'].createElement(_MonthTable2['default'], {
42171 disabledDate: props.disabledDate,
42172 onSelect: this.setAndSelectValue,
42173 locale: locale,
42174 value: value,
42175 cellRender: cellRender,
42176 contentRender: contentRender,
42177 prefixCls: prefixCls
42178 })
42179 )
42180 ),
42181 yearPanel
42182 );
42183 }
42184 });
42185
42186 exports['default'] = MonthPanel;
42187 module.exports = exports['default'];
42188
42189/***/ }),
42190/* 457 */
42191/***/ (function(module, exports, __webpack_require__) {
42192
42193 'use strict';
42194
42195 Object.defineProperty(exports, "__esModule", {
42196 value: true
42197 });
42198
42199 var _defineProperty2 = __webpack_require__(141);
42200
42201 var _defineProperty3 = _interopRequireDefault(_defineProperty2);
42202
42203 var _classCallCheck2 = __webpack_require__(250);
42204
42205 var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
42206
42207 var _createClass2 = __webpack_require__(251);
42208
42209 var _createClass3 = _interopRequireDefault(_createClass2);
42210
42211 var _possibleConstructorReturn2 = __webpack_require__(316);
42212
42213 var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
42214
42215 var _inherits2 = __webpack_require__(317);
42216
42217 var _inherits3 = _interopRequireDefault(_inherits2);
42218
42219 var _react = __webpack_require__(4);
42220
42221 var _react2 = _interopRequireDefault(_react);
42222
42223 var _propTypes = __webpack_require__(5);
42224
42225 var _propTypes2 = _interopRequireDefault(_propTypes);
42226
42227 var _classnames = __webpack_require__(3);
42228
42229 var _classnames2 = _interopRequireDefault(_classnames);
42230
42231 var _DecadePanel = __webpack_require__(458);
42232
42233 var _DecadePanel2 = _interopRequireDefault(_DecadePanel);
42234
42235 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
42236
42237 var ROW = 4;
42238 var COL = 3;
42239
42240 function goYear(direction) {
42241 var value = this.state.value.clone();
42242 value.add(direction, 'year');
42243 this.setState({
42244 value: value
42245 });
42246 }
42247
42248 function chooseYear(year) {
42249 var value = this.state.value.clone();
42250 value.year(year);
42251 value.month(this.state.value.month());
42252 this.props.onSelect(value);
42253 }
42254
42255 var YearPanel = function (_React$Component) {
42256 (0, _inherits3['default'])(YearPanel, _React$Component);
42257
42258 function YearPanel(props) {
42259 (0, _classCallCheck3['default'])(this, YearPanel);
42260
42261 var _this = (0, _possibleConstructorReturn3['default'])(this, (YearPanel.__proto__ || Object.getPrototypeOf(YearPanel)).call(this, props));
42262
42263 _this.prefixCls = props.rootPrefixCls + '-year-panel';
42264 _this.state = {
42265 value: props.value || props.defaultValue
42266 };
42267 _this.nextDecade = goYear.bind(_this, 10);
42268 _this.previousDecade = goYear.bind(_this, -10);
42269 ['showDecadePanel', 'onDecadePanelSelect'].forEach(function (method) {
42270 _this[method] = _this[method].bind(_this);
42271 });
42272 return _this;
42273 }
42274
42275 (0, _createClass3['default'])(YearPanel, [{
42276 key: 'onDecadePanelSelect',
42277 value: function onDecadePanelSelect(current) {
42278 this.setState({
42279 value: current,
42280 showDecadePanel: 0
42281 });
42282 }
42283 }, {
42284 key: 'years',
42285 value: function years() {
42286 var value = this.state.value;
42287 var currentYear = value.year();
42288 var startYear = parseInt(currentYear / 10, 10) * 10;
42289 var previousYear = startYear - 1;
42290 var years = [];
42291 var index = 0;
42292 for (var rowIndex = 0; rowIndex < ROW; rowIndex++) {
42293 years[rowIndex] = [];
42294 for (var colIndex = 0; colIndex < COL; colIndex++) {
42295 var year = previousYear + index;
42296 var content = String(year);
42297 years[rowIndex][colIndex] = {
42298 content: content,
42299 year: year,
42300 title: content
42301 };
42302 index++;
42303 }
42304 }
42305 return years;
42306 }
42307 }, {
42308 key: 'showDecadePanel',
42309 value: function showDecadePanel() {
42310 this.setState({
42311 showDecadePanel: 1
42312 });
42313 }
42314 }, {
42315 key: 'render',
42316 value: function render() {
42317 var _this2 = this;
42318
42319 var props = this.props;
42320 var value = this.state.value;
42321 var locale = props.locale;
42322 var years = this.years();
42323 var currentYear = value.year();
42324 var startYear = parseInt(currentYear / 10, 10) * 10;
42325 var endYear = startYear + 9;
42326 var prefixCls = this.prefixCls;
42327
42328 var yeasEls = years.map(function (row, index) {
42329 var tds = row.map(function (yearData) {
42330 var _classNameMap;
42331
42332 var classNameMap = (_classNameMap = {}, (0, _defineProperty3['default'])(_classNameMap, prefixCls + '-cell', 1), (0, _defineProperty3['default'])(_classNameMap, prefixCls + '-selected-cell', yearData.year === currentYear), (0, _defineProperty3['default'])(_classNameMap, prefixCls + '-last-decade-cell', yearData.year < startYear), (0, _defineProperty3['default'])(_classNameMap, prefixCls + '-next-decade-cell', yearData.year > endYear), _classNameMap);
42333 var clickHandler = void 0;
42334 if (yearData.year < startYear) {
42335 clickHandler = _this2.previousDecade;
42336 } else if (yearData.year > endYear) {
42337 clickHandler = _this2.nextDecade;
42338 } else {
42339 clickHandler = chooseYear.bind(_this2, yearData.year);
42340 }
42341 return _react2['default'].createElement(
42342 'td',
42343 {
42344 role: 'gridcell',
42345 title: yearData.title,
42346 key: yearData.content,
42347 onClick: clickHandler,
42348 className: (0, _classnames2['default'])(classNameMap)
42349 },
42350 _react2['default'].createElement(
42351 'a',
42352 {
42353 className: prefixCls + '-year'
42354 },
42355 yearData.content
42356 )
42357 );
42358 });
42359 return _react2['default'].createElement(
42360 'tr',
42361 { key: index, role: 'row' },
42362 tds
42363 );
42364 });
42365
42366 var decadePanel = void 0;
42367 if (this.state.showDecadePanel) {
42368 decadePanel = _react2['default'].createElement(_DecadePanel2['default'], {
42369 locale: locale,
42370 value: value,
42371 rootPrefixCls: props.rootPrefixCls,
42372 onSelect: this.onDecadePanelSelect
42373 });
42374 }
42375
42376 return _react2['default'].createElement(
42377 'div',
42378 { className: this.prefixCls },
42379 _react2['default'].createElement(
42380 'div',
42381 null,
42382 _react2['default'].createElement(
42383 'div',
42384 { className: prefixCls + '-header' },
42385 _react2['default'].createElement('a', {
42386 className: prefixCls + '-prev-decade-btn',
42387 role: 'button',
42388 onClick: this.previousDecade,
42389 title: locale.previousDecade
42390 }),
42391 _react2['default'].createElement(
42392 'a',
42393 {
42394 className: prefixCls + '-decade-select',
42395 role: 'button',
42396 onClick: this.showDecadePanel,
42397 title: locale.decadeSelect
42398 },
42399 _react2['default'].createElement(
42400 'span',
42401 { className: prefixCls + '-decade-select-content' },
42402 startYear,
42403 '-',
42404 endYear
42405 ),
42406 _react2['default'].createElement(
42407 'span',
42408 { className: prefixCls + '-decade-select-arrow' },
42409 'x'
42410 )
42411 ),
42412 _react2['default'].createElement('a', {
42413 className: prefixCls + '-next-decade-btn',
42414 role: 'button',
42415 onClick: this.nextDecade,
42416 title: locale.nextDecade
42417 })
42418 ),
42419 _react2['default'].createElement(
42420 'div',
42421 { className: prefixCls + '-body' },
42422 _react2['default'].createElement(
42423 'table',
42424 { className: prefixCls + '-table', cellSpacing: '0', role: 'grid' },
42425 _react2['default'].createElement(
42426 'tbody',
42427 { className: prefixCls + '-tbody' },
42428 yeasEls
42429 )
42430 )
42431 )
42432 ),
42433 decadePanel
42434 );
42435 }
42436 }]);
42437 return YearPanel;
42438 }(_react2['default'].Component);
42439
42440 exports['default'] = YearPanel;
42441
42442
42443 YearPanel.propTypes = {
42444 rootPrefixCls: _propTypes2['default'].string,
42445 value: _propTypes2['default'].object,
42446 defaultValue: _propTypes2['default'].object
42447 };
42448
42449 YearPanel.defaultProps = {
42450 onSelect: function onSelect() {}
42451 };
42452 module.exports = exports['default'];
42453
42454/***/ }),
42455/* 458 */
42456/***/ (function(module, exports, __webpack_require__) {
42457
42458 'use strict';
42459
42460 Object.defineProperty(exports, "__esModule", {
42461 value: true
42462 });
42463
42464 var _defineProperty2 = __webpack_require__(141);
42465
42466 var _defineProperty3 = _interopRequireDefault(_defineProperty2);
42467
42468 var _classCallCheck2 = __webpack_require__(250);
42469
42470 var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
42471
42472 var _createClass2 = __webpack_require__(251);
42473
42474 var _createClass3 = _interopRequireDefault(_createClass2);
42475
42476 var _possibleConstructorReturn2 = __webpack_require__(316);
42477
42478 var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
42479
42480 var _inherits2 = __webpack_require__(317);
42481
42482 var _inherits3 = _interopRequireDefault(_inherits2);
42483
42484 var _react = __webpack_require__(4);
42485
42486 var _react2 = _interopRequireDefault(_react);
42487
42488 var _propTypes = __webpack_require__(5);
42489
42490 var _propTypes2 = _interopRequireDefault(_propTypes);
42491
42492 var _classnames = __webpack_require__(3);
42493
42494 var _classnames2 = _interopRequireDefault(_classnames);
42495
42496 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
42497
42498 var ROW = 4;
42499 var COL = 3;
42500
42501
42502 function goYear(direction) {
42503 var next = this.state.value.clone();
42504 next.add(direction, 'years');
42505 this.setState({
42506 value: next
42507 });
42508 }
42509
42510 function chooseDecade(year, event) {
42511 var next = this.state.value.clone();
42512 next.year(year);
42513 next.month(this.state.value.month());
42514 this.props.onSelect(next);
42515 event.preventDefault();
42516 }
42517
42518 var DecadePanel = function (_React$Component) {
42519 (0, _inherits3['default'])(DecadePanel, _React$Component);
42520
42521 function DecadePanel(props) {
42522 (0, _classCallCheck3['default'])(this, DecadePanel);
42523
42524 var _this = (0, _possibleConstructorReturn3['default'])(this, (DecadePanel.__proto__ || Object.getPrototypeOf(DecadePanel)).call(this, props));
42525
42526 _this.state = {
42527 value: props.value || props.defaultValue
42528 };
42529
42530 // bind methods
42531 _this.prefixCls = props.rootPrefixCls + '-decade-panel';
42532 _this.nextCentury = goYear.bind(_this, 100);
42533 _this.previousCentury = goYear.bind(_this, -100);
42534 return _this;
42535 }
42536
42537 (0, _createClass3['default'])(DecadePanel, [{
42538 key: 'render',
42539 value: function render() {
42540 var _this2 = this;
42541
42542 var value = this.state.value;
42543 var locale = this.props.locale;
42544 var currentYear = value.year();
42545 var startYear = parseInt(currentYear / 100, 10) * 100;
42546 var preYear = startYear - 10;
42547 var endYear = startYear + 99;
42548 var decades = [];
42549 var index = 0;
42550 var prefixCls = this.prefixCls;
42551
42552 for (var rowIndex = 0; rowIndex < ROW; rowIndex++) {
42553 decades[rowIndex] = [];
42554 for (var colIndex = 0; colIndex < COL; colIndex++) {
42555 var startDecade = preYear + index * 10;
42556 var endDecade = preYear + index * 10 + 9;
42557 decades[rowIndex][colIndex] = {
42558 startDecade: startDecade,
42559 endDecade: endDecade
42560 };
42561 index++;
42562 }
42563 }
42564
42565 var decadesEls = decades.map(function (row, decadeIndex) {
42566 var tds = row.map(function (decadeData) {
42567 var _classNameMap;
42568
42569 var dStartDecade = decadeData.startDecade;
42570 var dEndDecade = decadeData.endDecade;
42571 var isLast = dStartDecade < startYear;
42572 var isNext = dEndDecade > endYear;
42573 var classNameMap = (_classNameMap = {}, (0, _defineProperty3['default'])(_classNameMap, prefixCls + '-cell', 1), (0, _defineProperty3['default'])(_classNameMap, prefixCls + '-selected-cell', dStartDecade <= currentYear && currentYear <= dEndDecade), (0, _defineProperty3['default'])(_classNameMap, prefixCls + '-last-century-cell', isLast), (0, _defineProperty3['default'])(_classNameMap, prefixCls + '-next-century-cell', isNext), _classNameMap);
42574 var content = dStartDecade + '-' + dEndDecade;
42575 var clickHandler = void 0;
42576 if (isLast) {
42577 clickHandler = _this2.previousCentury;
42578 } else if (isNext) {
42579 clickHandler = _this2.nextCentury;
42580 } else {
42581 clickHandler = chooseDecade.bind(_this2, dStartDecade);
42582 }
42583 return _react2['default'].createElement(
42584 'td',
42585 {
42586 key: dStartDecade,
42587 onClick: clickHandler,
42588 role: 'gridcell',
42589 className: (0, _classnames2['default'])(classNameMap)
42590 },
42591 _react2['default'].createElement(
42592 'a',
42593 {
42594 className: prefixCls + '-decade'
42595 },
42596 content
42597 )
42598 );
42599 });
42600 return _react2['default'].createElement(
42601 'tr',
42602 { key: decadeIndex, role: 'row' },
42603 tds
42604 );
42605 });
42606
42607 return _react2['default'].createElement(
42608 'div',
42609 { className: this.prefixCls },
42610 _react2['default'].createElement(
42611 'div',
42612 { className: prefixCls + '-header' },
42613 _react2['default'].createElement('a', {
42614 className: prefixCls + '-prev-century-btn',
42615 role: 'button',
42616 onClick: this.previousCentury,
42617 title: locale.previousCentury
42618 }),
42619 _react2['default'].createElement(
42620 'div',
42621 { className: prefixCls + '-century' },
42622 startYear,
42623 '-',
42624 endYear
42625 ),
42626 _react2['default'].createElement('a', {
42627 className: prefixCls + '-next-century-btn',
42628 role: 'button',
42629 onClick: this.nextCentury,
42630 title: locale.nextCentury
42631 })
42632 ),
42633 _react2['default'].createElement(
42634 'div',
42635 { className: prefixCls + '-body' },
42636 _react2['default'].createElement(
42637 'table',
42638 { className: prefixCls + '-table', cellSpacing: '0', role: 'grid' },
42639 _react2['default'].createElement(
42640 'tbody',
42641 { className: prefixCls + '-tbody' },
42642 decadesEls
42643 )
42644 )
42645 )
42646 );
42647 }
42648 }]);
42649 return DecadePanel;
42650 }(_react2['default'].Component);
42651
42652 exports['default'] = DecadePanel;
42653
42654
42655 DecadePanel.propTypes = {
42656 locale: _propTypes2['default'].object,
42657 value: _propTypes2['default'].object,
42658 defaultValue: _propTypes2['default'].object,
42659 rootPrefixCls: _propTypes2['default'].string
42660 };
42661
42662 DecadePanel.defaultProps = {
42663 onSelect: function onSelect() {}
42664 };
42665 module.exports = exports['default'];
42666
42667/***/ }),
42668/* 459 */
42669/***/ (function(module, exports, __webpack_require__) {
42670
42671 'use strict';
42672
42673 Object.defineProperty(exports, "__esModule", {
42674 value: true
42675 });
42676
42677 var _defineProperty2 = __webpack_require__(141);
42678
42679 var _defineProperty3 = _interopRequireDefault(_defineProperty2);
42680
42681 var _classCallCheck2 = __webpack_require__(250);
42682
42683 var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
42684
42685 var _createClass2 = __webpack_require__(251);
42686
42687 var _createClass3 = _interopRequireDefault(_createClass2);
42688
42689 var _possibleConstructorReturn2 = __webpack_require__(316);
42690
42691 var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
42692
42693 var _inherits2 = __webpack_require__(317);
42694
42695 var _inherits3 = _interopRequireDefault(_inherits2);
42696
42697 var _react = __webpack_require__(4);
42698
42699 var _react2 = _interopRequireDefault(_react);
42700
42701 var _propTypes = __webpack_require__(5);
42702
42703 var _propTypes2 = _interopRequireDefault(_propTypes);
42704
42705 var _classnames = __webpack_require__(3);
42706
42707 var _classnames2 = _interopRequireDefault(_classnames);
42708
42709 var _index = __webpack_require__(454);
42710
42711 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
42712
42713 var ROW = 4;
42714 var COL = 3;
42715
42716 function chooseMonth(month) {
42717 var next = this.state.value.clone();
42718 next.month(month);
42719 this.setAndSelectValue(next);
42720 }
42721
42722 function noop() {}
42723
42724 var MonthTable = function (_Component) {
42725 (0, _inherits3['default'])(MonthTable, _Component);
42726
42727 function MonthTable(props) {
42728 (0, _classCallCheck3['default'])(this, MonthTable);
42729
42730 var _this = (0, _possibleConstructorReturn3['default'])(this, (MonthTable.__proto__ || Object.getPrototypeOf(MonthTable)).call(this, props));
42731
42732 _this.state = {
42733 value: props.value
42734 };
42735 return _this;
42736 }
42737
42738 (0, _createClass3['default'])(MonthTable, [{
42739 key: 'componentWillReceiveProps',
42740 value: function componentWillReceiveProps(nextProps) {
42741 if ('value' in nextProps) {
42742 this.setState({
42743 value: nextProps.value
42744 });
42745 }
42746 }
42747 }, {
42748 key: 'setAndSelectValue',
42749 value: function setAndSelectValue(value) {
42750 this.setState({
42751 value: value
42752 });
42753 this.props.onSelect(value);
42754 }
42755 }, {
42756 key: 'months',
42757 value: function months() {
42758 var value = this.state.value;
42759 var current = value.clone();
42760 var months = [];
42761 var index = 0;
42762 for (var rowIndex = 0; rowIndex < ROW; rowIndex++) {
42763 months[rowIndex] = [];
42764 for (var colIndex = 0; colIndex < COL; colIndex++) {
42765 current.month(index);
42766 var content = (0, _index.getMonthName)(current);
42767 months[rowIndex][colIndex] = {
42768 value: index,
42769 content: content,
42770 title: content
42771 };
42772 index++;
42773 }
42774 }
42775 return months;
42776 }
42777 }, {
42778 key: 'render',
42779 value: function render() {
42780 var _this2 = this;
42781
42782 var props = this.props;
42783 var value = this.state.value;
42784 var today = (0, _index.getTodayTime)(value);
42785 var months = this.months();
42786 var currentMonth = value.month();
42787 var prefixCls = props.prefixCls,
42788 locale = props.locale,
42789 contentRender = props.contentRender,
42790 cellRender = props.cellRender;
42791
42792 var monthsEls = months.map(function (month, index) {
42793 var tds = month.map(function (monthData) {
42794 var _classNameMap;
42795
42796 var disabled = false;
42797 if (props.disabledDate) {
42798 var testValue = value.clone();
42799 testValue.month(monthData.value);
42800 disabled = props.disabledDate(testValue);
42801 }
42802 var classNameMap = (_classNameMap = {}, (0, _defineProperty3['default'])(_classNameMap, prefixCls + '-cell', 1), (0, _defineProperty3['default'])(_classNameMap, prefixCls + '-cell-disabled', disabled), (0, _defineProperty3['default'])(_classNameMap, prefixCls + '-selected-cell', monthData.value === currentMonth), (0, _defineProperty3['default'])(_classNameMap, prefixCls + '-current-cell', today.year() === value.year() && monthData.value === today.month()), _classNameMap);
42803 var cellEl = void 0;
42804 if (cellRender) {
42805 var currentValue = value.clone();
42806 currentValue.month(monthData.value);
42807 cellEl = cellRender(currentValue, locale);
42808 } else {
42809 var content = void 0;
42810 if (contentRender) {
42811 var _currentValue = value.clone();
42812 _currentValue.month(monthData.value);
42813 content = contentRender(_currentValue, locale);
42814 } else {
42815 content = monthData.content;
42816 }
42817 cellEl = _react2['default'].createElement(
42818 'a',
42819 { className: prefixCls + '-month' },
42820 content
42821 );
42822 }
42823 return _react2['default'].createElement(
42824 'td',
42825 {
42826 role: 'gridcell',
42827 key: monthData.value,
42828 onClick: disabled ? null : chooseMonth.bind(_this2, monthData.value),
42829 title: monthData.title,
42830 className: (0, _classnames2['default'])(classNameMap)
42831 },
42832 cellEl
42833 );
42834 });
42835 return _react2['default'].createElement(
42836 'tr',
42837 { key: index, role: 'row' },
42838 tds
42839 );
42840 });
42841
42842 return _react2['default'].createElement(
42843 'table',
42844 { className: prefixCls + '-table', cellSpacing: '0', role: 'grid' },
42845 _react2['default'].createElement(
42846 'tbody',
42847 { className: prefixCls + '-tbody' },
42848 monthsEls
42849 )
42850 );
42851 }
42852 }]);
42853 return MonthTable;
42854 }(_react.Component);
42855
42856 MonthTable.defaultProps = {
42857 onSelect: noop
42858 };
42859 MonthTable.propTypes = {
42860 onSelect: _propTypes2['default'].func,
42861 cellRender: _propTypes2['default'].func,
42862 prefixCls: _propTypes2['default'].string,
42863 value: _propTypes2['default'].object
42864 };
42865 exports['default'] = MonthTable;
42866 module.exports = exports['default'];
42867
42868/***/ }),
42869/* 460 */
42870/***/ (function(module, exports, __webpack_require__) {
42871
42872 'use strict';
42873
42874 Object.defineProperty(exports, "__esModule", {
42875 value: true
42876 });
42877 exports['default'] = mapSelf;
42878
42879 var _react = __webpack_require__(4);
42880
42881 var _react2 = _interopRequireDefault(_react);
42882
42883 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
42884
42885 function mirror(o) {
42886 return o;
42887 }
42888
42889 function mapSelf(children) {
42890 // return ReactFragment
42891 return _react2['default'].Children.map(children, mirror);
42892 }
42893 module.exports = exports['default'];
42894
42895/***/ }),
42896/* 461 */
42897/***/ (function(module, exports, __webpack_require__) {
42898
42899 'use strict';
42900
42901 Object.defineProperty(exports, "__esModule", {
42902 value: true
42903 });
42904
42905 var _defineProperty2 = __webpack_require__(141);
42906
42907 var _defineProperty3 = _interopRequireDefault(_defineProperty2);
42908
42909 var _extends2 = __webpack_require__(145);
42910
42911 var _extends3 = _interopRequireDefault(_extends2);
42912
42913 var _react = __webpack_require__(4);
42914
42915 var _react2 = _interopRequireDefault(_react);
42916
42917 var _reactDom = __webpack_require__(12);
42918
42919 var _reactDom2 = _interopRequireDefault(_reactDom);
42920
42921 var _createReactClass = __webpack_require__(160);
42922
42923 var _createReactClass2 = _interopRequireDefault(_createReactClass);
42924
42925 var _propTypes = __webpack_require__(5);
42926
42927 var _propTypes2 = _interopRequireDefault(_propTypes);
42928
42929 var _mapSelf = __webpack_require__(460);
42930
42931 var _mapSelf2 = _interopRequireDefault(_mapSelf);
42932
42933 var _classnames = __webpack_require__(3);
42934
42935 var _classnames2 = _interopRequireDefault(_classnames);
42936
42937 var _TodayButton = __webpack_require__(462);
42938
42939 var _TodayButton2 = _interopRequireDefault(_TodayButton);
42940
42941 var _OkButton = __webpack_require__(463);
42942
42943 var _OkButton2 = _interopRequireDefault(_OkButton);
42944
42945 var _TimePickerButton = __webpack_require__(464);
42946
42947 var _TimePickerButton2 = _interopRequireDefault(_TimePickerButton);
42948
42949 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
42950
42951 var CalendarFooter = (0, _createReactClass2['default'])({
42952 displayName: 'CalendarFooter',
42953
42954 propTypes: {
42955 prefixCls: _propTypes2['default'].string,
42956 showDateInput: _propTypes2['default'].bool,
42957 disabledTime: _propTypes2['default'].any,
42958 timePicker: _propTypes2['default'].element,
42959 selectedValue: _propTypes2['default'].any,
42960 showOk: _propTypes2['default'].bool,
42961 onSelect: _propTypes2['default'].func,
42962 value: _propTypes2['default'].object,
42963 renderFooter: _propTypes2['default'].func,
42964 defaultValue: _propTypes2['default'].object
42965 },
42966
42967 onSelect: function onSelect(value) {
42968 this.props.onSelect(value);
42969 },
42970 getRootDOMNode: function getRootDOMNode() {
42971 return _reactDom2['default'].findDOMNode(this);
42972 },
42973 render: function render() {
42974 var props = this.props;
42975 var value = props.value,
42976 prefixCls = props.prefixCls,
42977 showOk = props.showOk,
42978 timePicker = props.timePicker,
42979 renderFooter = props.renderFooter;
42980
42981 var footerEl = null;
42982 var extraFooter = renderFooter();
42983 if (props.showToday || timePicker || extraFooter) {
42984 var _cx;
42985
42986 var nowEl = void 0;
42987 if (props.showToday) {
42988 nowEl = _react2['default'].createElement(_TodayButton2['default'], (0, _extends3['default'])({}, props, { value: value }));
42989 }
42990 var okBtn = void 0;
42991 if (showOk === true || showOk !== false && !!props.timePicker) {
42992 okBtn = _react2['default'].createElement(_OkButton2['default'], props);
42993 }
42994 var timePickerBtn = void 0;
42995 if (!!props.timePicker) {
42996 timePickerBtn = _react2['default'].createElement(_TimePickerButton2['default'], props);
42997 }
42998
42999 var footerBtn = void 0;
43000 if (nowEl || timePickerBtn || okBtn) {
43001 footerBtn = _react2['default'].createElement(
43002 'span',
43003 { className: prefixCls + '-footer-btn' },
43004 (0, _mapSelf2['default'])([nowEl, timePickerBtn, okBtn])
43005 );
43006 }
43007 var cls = (0, _classnames2['default'])((_cx = {}, (0, _defineProperty3['default'])(_cx, prefixCls + '-footer', true), (0, _defineProperty3['default'])(_cx, prefixCls + '-footer-show-ok', okBtn), _cx));
43008 footerEl = _react2['default'].createElement(
43009 'div',
43010 { className: cls },
43011 extraFooter,
43012 footerBtn
43013 );
43014 }
43015 return footerEl;
43016 }
43017 });
43018
43019 exports['default'] = CalendarFooter;
43020 module.exports = exports['default'];
43021
43022/***/ }),
43023/* 462 */
43024/***/ (function(module, exports, __webpack_require__) {
43025
43026 'use strict';
43027
43028 Object.defineProperty(exports, "__esModule", {
43029 value: true
43030 });
43031 exports['default'] = TodayButton;
43032
43033 var _react = __webpack_require__(4);
43034
43035 var _react2 = _interopRequireDefault(_react);
43036
43037 var _util = __webpack_require__(454);
43038
43039 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
43040
43041 function TodayButton(_ref) {
43042 var prefixCls = _ref.prefixCls,
43043 locale = _ref.locale,
43044 value = _ref.value,
43045 timePicker = _ref.timePicker,
43046 disabled = _ref.disabled,
43047 disabledDate = _ref.disabledDate,
43048 onToday = _ref.onToday,
43049 text = _ref.text;
43050
43051 var localeNow = (!text && timePicker ? locale.now : text) || locale.today;
43052 var disabledToday = disabledDate && !(0, _util.isAllowedDate)((0, _util.getTodayTime)(value), disabledDate);
43053 var isDisabled = disabledToday || disabled;
43054 var disabledTodayClass = isDisabled ? prefixCls + '-today-btn-disabled' : '';
43055 return _react2['default'].createElement(
43056 'a',
43057 {
43058 className: prefixCls + '-today-btn ' + disabledTodayClass,
43059 role: 'button',
43060 onClick: isDisabled ? null : onToday,
43061 title: (0, _util.getTodayTimeStr)(value)
43062 },
43063 localeNow
43064 );
43065 }
43066 module.exports = exports['default'];
43067
43068/***/ }),
43069/* 463 */
43070/***/ (function(module, exports, __webpack_require__) {
43071
43072 "use strict";
43073
43074 Object.defineProperty(exports, "__esModule", {
43075 value: true
43076 });
43077 exports["default"] = OkButton;
43078
43079 var _react = __webpack_require__(4);
43080
43081 var _react2 = _interopRequireDefault(_react);
43082
43083 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
43084
43085 function OkButton(_ref) {
43086 var prefixCls = _ref.prefixCls,
43087 locale = _ref.locale,
43088 okDisabled = _ref.okDisabled,
43089 onOk = _ref.onOk;
43090
43091 var className = prefixCls + "-ok-btn";
43092 if (okDisabled) {
43093 className += " " + prefixCls + "-ok-btn-disabled";
43094 }
43095 return _react2["default"].createElement(
43096 "a",
43097 {
43098 className: className,
43099 role: "button",
43100 onClick: okDisabled ? null : onOk
43101 },
43102 locale.ok
43103 );
43104 }
43105 module.exports = exports['default'];
43106
43107/***/ }),
43108/* 464 */
43109/***/ (function(module, exports, __webpack_require__) {
43110
43111 'use strict';
43112
43113 Object.defineProperty(exports, "__esModule", {
43114 value: true
43115 });
43116
43117 var _defineProperty2 = __webpack_require__(141);
43118
43119 var _defineProperty3 = _interopRequireDefault(_defineProperty2);
43120
43121 exports['default'] = TimePickerButton;
43122
43123 var _react = __webpack_require__(4);
43124
43125 var _react2 = _interopRequireDefault(_react);
43126
43127 var _classnames2 = __webpack_require__(3);
43128
43129 var _classnames3 = _interopRequireDefault(_classnames2);
43130
43131 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
43132
43133 function TimePickerButton(_ref) {
43134 var _classnames;
43135
43136 var prefixCls = _ref.prefixCls,
43137 locale = _ref.locale,
43138 showTimePicker = _ref.showTimePicker,
43139 onOpenTimePicker = _ref.onOpenTimePicker,
43140 onCloseTimePicker = _ref.onCloseTimePicker,
43141 timePickerDisabled = _ref.timePickerDisabled;
43142
43143 var className = (0, _classnames3['default'])((_classnames = {}, (0, _defineProperty3['default'])(_classnames, prefixCls + '-time-picker-btn', true), (0, _defineProperty3['default'])(_classnames, prefixCls + '-time-picker-btn-disabled', timePickerDisabled), _classnames));
43144 var onClick = null;
43145 if (!timePickerDisabled) {
43146 onClick = showTimePicker ? onCloseTimePicker : onOpenTimePicker;
43147 }
43148 return _react2['default'].createElement(
43149 'a',
43150 {
43151 className: className,
43152 role: 'button',
43153 onClick: onClick
43154 },
43155 showTimePicker ? locale.dateSelect : locale.timeSelect
43156 );
43157 }
43158 module.exports = exports['default'];
43159
43160/***/ }),
43161/* 465 */
43162/***/ (function(module, exports, __webpack_require__) {
43163
43164 'use strict';
43165
43166 Object.defineProperty(exports, "__esModule", {
43167 value: true
43168 });
43169
43170 var _defineProperty2 = __webpack_require__(141);
43171
43172 var _defineProperty3 = _interopRequireDefault(_defineProperty2);
43173
43174 var _react = __webpack_require__(4);
43175
43176 var _react2 = _interopRequireDefault(_react);
43177
43178 var _propTypes = __webpack_require__(5);
43179
43180 var _propTypes2 = _interopRequireDefault(_propTypes);
43181
43182 var _classnames = __webpack_require__(3);
43183
43184 var _classnames2 = _interopRequireDefault(_classnames);
43185
43186 var _moment = __webpack_require__(327);
43187
43188 var _moment2 = _interopRequireDefault(_moment);
43189
43190 var _index = __webpack_require__(454);
43191
43192 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
43193
43194 function noop() {}
43195
43196 function getNow() {
43197 return (0, _moment2['default'])();
43198 }
43199
43200 function getNowByCurrentStateValue(value) {
43201 var ret = void 0;
43202 if (value) {
43203 ret = (0, _index.getTodayTime)(value);
43204 } else {
43205 ret = getNow();
43206 }
43207 return ret;
43208 }
43209
43210 var CalendarMixin = {
43211 propTypes: {
43212 value: _propTypes2['default'].object,
43213 defaultValue: _propTypes2['default'].object,
43214 onKeyDown: _propTypes2['default'].func
43215 },
43216
43217 getDefaultProps: function getDefaultProps() {
43218 return {
43219 onKeyDown: noop
43220 };
43221 },
43222 getInitialState: function getInitialState() {
43223 var props = this.props;
43224 var value = props.value || props.defaultValue || getNow();
43225 return {
43226 value: value,
43227 selectedValue: props.selectedValue || props.defaultSelectedValue
43228 };
43229 },
43230 componentWillReceiveProps: function componentWillReceiveProps(nextProps) {
43231 var value = nextProps.value;
43232 var selectedValue = nextProps.selectedValue;
43233
43234 if ('value' in nextProps) {
43235 value = value || nextProps.defaultValue || getNowByCurrentStateValue(this.state.value);
43236 this.setState({
43237 value: value
43238 });
43239 }
43240 if ('selectedValue' in nextProps) {
43241 this.setState({
43242 selectedValue: selectedValue
43243 });
43244 }
43245 },
43246 onSelect: function onSelect(value, cause) {
43247 if (value) {
43248 this.setValue(value);
43249 }
43250 this.setSelectedValue(value, cause);
43251 },
43252 renderRoot: function renderRoot(newProps) {
43253 var _className;
43254
43255 var props = this.props;
43256 var prefixCls = props.prefixCls;
43257
43258 var className = (_className = {}, (0, _defineProperty3['default'])(_className, prefixCls, 1), (0, _defineProperty3['default'])(_className, prefixCls + '-hidden', !props.visible), (0, _defineProperty3['default'])(_className, props.className, !!props.className), (0, _defineProperty3['default'])(_className, newProps.className, !!newProps.className), _className);
43259
43260 return _react2['default'].createElement(
43261 'div',
43262 {
43263 ref: 'root',
43264 className: '' + (0, _classnames2['default'])(className),
43265 style: this.props.style,
43266 tabIndex: '0',
43267 onKeyDown: this.onKeyDown
43268 },
43269 newProps.children
43270 );
43271 },
43272 setSelectedValue: function setSelectedValue(selectedValue, cause) {
43273 // if (this.isAllowedDate(selectedValue)) {
43274 if (!('selectedValue' in this.props)) {
43275 this.setState({
43276 selectedValue: selectedValue
43277 });
43278 }
43279 this.props.onSelect(selectedValue, cause);
43280 // }
43281 },
43282 setValue: function setValue(value) {
43283 var originalValue = this.state.value;
43284 if (!('value' in this.props)) {
43285 this.setState({
43286 value: value
43287 });
43288 }
43289 if (originalValue && value && !originalValue.isSame(value) || !originalValue && value || originalValue && !value) {
43290 this.props.onChange(value);
43291 }
43292 },
43293 isAllowedDate: function isAllowedDate(value) {
43294 var disabledDate = this.props.disabledDate;
43295 var disabledTime = this.props.disabledTime;
43296 return (0, _index.isAllowedDate)(value, disabledDate, disabledTime);
43297 }
43298 };
43299
43300 exports['default'] = CalendarMixin;
43301 module.exports = exports['default'];
43302
43303/***/ }),
43304/* 466 */
43305/***/ (function(module, exports, __webpack_require__) {
43306
43307 'use strict';
43308
43309 Object.defineProperty(exports, "__esModule", {
43310 value: true
43311 });
43312
43313 var _propTypes = __webpack_require__(5);
43314
43315 var _propTypes2 = _interopRequireDefault(_propTypes);
43316
43317 var _en_US = __webpack_require__(467);
43318
43319 var _en_US2 = _interopRequireDefault(_en_US);
43320
43321 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
43322
43323 function noop() {}
43324
43325 exports['default'] = {
43326 propTypes: {
43327 className: _propTypes2['default'].string,
43328 locale: _propTypes2['default'].object,
43329 style: _propTypes2['default'].object,
43330 visible: _propTypes2['default'].bool,
43331 onSelect: _propTypes2['default'].func,
43332 prefixCls: _propTypes2['default'].string,
43333 onChange: _propTypes2['default'].func,
43334 onOk: _propTypes2['default'].func
43335 },
43336
43337 getDefaultProps: function getDefaultProps() {
43338 return {
43339 locale: _en_US2['default'],
43340 style: {},
43341 visible: true,
43342 prefixCls: 'rc-calendar',
43343 className: '',
43344 onSelect: noop,
43345 onChange: noop,
43346 onClear: noop,
43347 renderFooter: function renderFooter() {
43348 return null;
43349 },
43350 renderSidebar: function renderSidebar() {
43351 return null;
43352 }
43353 };
43354 },
43355 shouldComponentUpdate: function shouldComponentUpdate(nextProps) {
43356 return this.props.visible || nextProps.visible;
43357 },
43358 getFormat: function getFormat() {
43359 var format = this.props.format;
43360 var _props = this.props,
43361 locale = _props.locale,
43362 timePicker = _props.timePicker;
43363
43364 if (!format) {
43365 if (timePicker) {
43366 format = locale.dateTimeFormat;
43367 } else {
43368 format = locale.dateFormat;
43369 }
43370 }
43371 return format;
43372 },
43373 focus: function focus() {
43374 if (this.refs.root) {
43375 this.refs.root.focus();
43376 }
43377 }
43378 };
43379 module.exports = exports['default'];
43380
43381/***/ }),
43382/* 467 */
43383/***/ (function(module, exports) {
43384
43385 'use strict';
43386
43387 Object.defineProperty(exports, "__esModule", {
43388 value: true
43389 });
43390 exports['default'] = {
43391 today: 'Today',
43392 now: 'Now',
43393 backToToday: 'Back to today',
43394 ok: 'Ok',
43395 clear: 'Clear',
43396 month: 'Month',
43397 year: 'Year',
43398 timeSelect: 'Select time',
43399 dateSelect: 'Select date',
43400 monthSelect: 'Choose a month',
43401 yearSelect: 'Choose a year',
43402 decadeSelect: 'Choose a decade',
43403 yearFormat: 'YYYY',
43404 dateFormat: 'M/D/YYYY',
43405 dayFormat: 'D',
43406 dateTimeFormat: 'M/D/YYYY HH:mm:ss',
43407 monthBeforeYear: true,
43408 previousMonth: 'Previous month (PageUp)',
43409 nextMonth: 'Next month (PageDown)',
43410 previousYear: 'Last year (Control + left)',
43411 nextYear: 'Next year (Control + right)',
43412 previousDecade: 'Last decade',
43413 nextDecade: 'Next decade',
43414 previousCentury: 'Last century',
43415 nextCentury: 'Next century'
43416 };
43417 module.exports = exports['default'];
43418
43419/***/ }),
43420/* 468 */
43421/***/ (function(module, exports, __webpack_require__) {
43422
43423 'use strict';
43424
43425 Object.defineProperty(exports, "__esModule", {
43426 value: true
43427 });
43428
43429 var _react = __webpack_require__(4);
43430
43431 var _react2 = _interopRequireDefault(_react);
43432
43433 var _reactDom = __webpack_require__(12);
43434
43435 var _reactDom2 = _interopRequireDefault(_reactDom);
43436
43437 var _createReactClass = __webpack_require__(160);
43438
43439 var _createReactClass2 = _interopRequireDefault(_createReactClass);
43440
43441 var _propTypes = __webpack_require__(5);
43442
43443 var _propTypes2 = _interopRequireDefault(_propTypes);
43444
43445 var _moment = __webpack_require__(327);
43446
43447 var _moment2 = _interopRequireDefault(_moment);
43448
43449 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
43450
43451 var DateInput = (0, _createReactClass2['default'])({
43452 displayName: 'DateInput',
43453
43454 propTypes: {
43455 prefixCls: _propTypes2['default'].string,
43456 timePicker: _propTypes2['default'].object,
43457 value: _propTypes2['default'].object,
43458 disabledTime: _propTypes2['default'].any,
43459 format: _propTypes2['default'].string,
43460 locale: _propTypes2['default'].object,
43461 disabledDate: _propTypes2['default'].func,
43462 onChange: _propTypes2['default'].func,
43463 onClear: _propTypes2['default'].func,
43464 placeholder: _propTypes2['default'].string,
43465 onSelect: _propTypes2['default'].func,
43466 selectedValue: _propTypes2['default'].object
43467 },
43468
43469 getInitialState: function getInitialState() {
43470 var selectedValue = this.props.selectedValue;
43471 return {
43472 str: selectedValue && selectedValue.format(this.props.format) || '',
43473 invalid: false
43474 };
43475 },
43476 componentWillReceiveProps: function componentWillReceiveProps(nextProps) {
43477 // when popup show, click body will call this, bug!
43478 var selectedValue = nextProps.selectedValue;
43479 this.setState({
43480 str: selectedValue && selectedValue.format(nextProps.format) || '',
43481 invalid: false
43482 });
43483 },
43484 onInputChange: function onInputChange(event) {
43485 var str = event.target.value;
43486 this.setState({
43487 str: str
43488 });
43489 var value = void 0;
43490 var _props = this.props,
43491 disabledDate = _props.disabledDate,
43492 format = _props.format,
43493 onChange = _props.onChange;
43494
43495 if (str) {
43496 var parsed = (0, _moment2['default'])(str, format, true);
43497 if (!parsed.isValid()) {
43498 this.setState({
43499 invalid: true
43500 });
43501 return;
43502 }
43503 value = this.props.value.clone();
43504 value.year(parsed.year()).month(parsed.month()).date(parsed.date()).hour(parsed.hour()).minute(parsed.minute()).second(parsed.second());
43505
43506 if (value && (!disabledDate || !disabledDate(value))) {
43507 var originalValue = this.props.selectedValue;
43508 if (originalValue && value) {
43509 if (!originalValue.isSame(value)) {
43510 onChange(value);
43511 }
43512 } else if (originalValue !== value) {
43513 onChange(value);
43514 }
43515 } else {
43516 this.setState({
43517 invalid: true
43518 });
43519 return;
43520 }
43521 } else {
43522 onChange(null);
43523 }
43524 this.setState({
43525 invalid: false
43526 });
43527 },
43528 onClear: function onClear() {
43529 this.setState({
43530 str: ''
43531 });
43532 this.props.onClear(null);
43533 },
43534 getRootDOMNode: function getRootDOMNode() {
43535 return _reactDom2['default'].findDOMNode(this);
43536 },
43537 focus: function focus() {
43538 this.refs.dateInput.focus();
43539 },
43540 render: function render() {
43541 var props = this.props;
43542 var _state = this.state,
43543 invalid = _state.invalid,
43544 str = _state.str;
43545 var locale = props.locale,
43546 prefixCls = props.prefixCls,
43547 placeholder = props.placeholder;
43548
43549 var invalidClass = invalid ? prefixCls + '-input-invalid' : '';
43550 return _react2['default'].createElement(
43551 'div',
43552 { className: prefixCls + '-input-wrap' },
43553 _react2['default'].createElement(
43554 'div',
43555 { className: prefixCls + '-date-input-wrap' },
43556 _react2['default'].createElement('input', {
43557 ref: 'dateInput',
43558 className: prefixCls + '-input ' + invalidClass,
43559 value: str,
43560 disabled: props.disabled,
43561 placeholder: placeholder,
43562 onChange: this.onInputChange
43563 })
43564 ),
43565 props.showClear ? _react2['default'].createElement('a', {
43566 className: prefixCls + '-clear-btn',
43567 role: 'button',
43568 title: locale.clear,
43569 onClick: this.onClear
43570 }) : null
43571 );
43572 }
43573 });
43574
43575 exports['default'] = DateInput;
43576 module.exports = exports['default'];
43577
43578/***/ }),
43579/* 469 */
43580/***/ (function(module, exports, __webpack_require__) {
43581
43582 'use strict';
43583
43584 Object.defineProperty(exports, "__esModule", {
43585 value: true
43586 });
43587
43588 var _react = __webpack_require__(4);
43589
43590 var _react2 = _interopRequireDefault(_react);
43591
43592 var _reactDom = __webpack_require__(12);
43593
43594 var _reactDom2 = _interopRequireDefault(_reactDom);
43595
43596 var _createReactClass = __webpack_require__(160);
43597
43598 var _createReactClass2 = _interopRequireDefault(_createReactClass);
43599
43600 var _propTypes = __webpack_require__(5);
43601
43602 var _propTypes2 = _interopRequireDefault(_propTypes);
43603
43604 var _createChainedFunction = __webpack_require__(470);
43605
43606 var _createChainedFunction2 = _interopRequireDefault(_createChainedFunction);
43607
43608 var _KeyCode = __webpack_require__(314);
43609
43610 var _KeyCode2 = _interopRequireDefault(_KeyCode);
43611
43612 var _placements = __webpack_require__(471);
43613
43614 var _placements2 = _interopRequireDefault(_placements);
43615
43616 var _rcTrigger = __webpack_require__(472);
43617
43618 var _rcTrigger2 = _interopRequireDefault(_rcTrigger);
43619
43620 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
43621
43622 function noop() {}
43623
43624 function refFn(field, component) {
43625 this[field] = component;
43626 }
43627
43628 var Picker = (0, _createReactClass2['default'])({
43629 displayName: 'Picker',
43630
43631 propTypes: {
43632 animation: _propTypes2['default'].oneOfType([_propTypes2['default'].func, _propTypes2['default'].string]),
43633 disabled: _propTypes2['default'].bool,
43634 transitionName: _propTypes2['default'].string,
43635 onChange: _propTypes2['default'].func,
43636 onOpenChange: _propTypes2['default'].func,
43637 children: _propTypes2['default'].func,
43638 getCalendarContainer: _propTypes2['default'].func,
43639 calendar: _propTypes2['default'].element,
43640 style: _propTypes2['default'].object,
43641 open: _propTypes2['default'].bool,
43642 defaultOpen: _propTypes2['default'].bool,
43643 prefixCls: _propTypes2['default'].string,
43644 placement: _propTypes2['default'].any,
43645 value: _propTypes2['default'].oneOfType([_propTypes2['default'].object, _propTypes2['default'].array]),
43646 defaultValue: _propTypes2['default'].oneOfType([_propTypes2['default'].object, _propTypes2['default'].array]),
43647 align: _propTypes2['default'].object
43648 },
43649
43650 getDefaultProps: function getDefaultProps() {
43651 return {
43652 prefixCls: 'rc-calendar-picker',
43653 style: {},
43654 align: {},
43655 placement: 'bottomLeft',
43656 defaultOpen: false,
43657 onChange: noop,
43658 onOpenChange: noop
43659 };
43660 },
43661 getInitialState: function getInitialState() {
43662 var props = this.props;
43663 var open = void 0;
43664 if ('open' in props) {
43665 open = props.open;
43666 } else {
43667 open = props.defaultOpen;
43668 }
43669 var value = props.value || props.defaultValue;
43670 this.saveCalendarRef = refFn.bind(this, 'calendarInstance');
43671 return {
43672 open: open,
43673 value: value
43674 };
43675 },
43676 componentWillReceiveProps: function componentWillReceiveProps(nextProps) {
43677 var value = nextProps.value,
43678 open = nextProps.open;
43679
43680 if ('value' in nextProps) {
43681 this.setState({
43682 value: value
43683 });
43684 }
43685 if (open !== undefined) {
43686 this.setState({
43687 open: open
43688 });
43689 }
43690 },
43691 componentDidUpdate: function componentDidUpdate(_, prevState) {
43692 if (!prevState.open && this.state.open) {
43693 // setTimeout is for making sure saveCalendarRef happen before focusCalendar
43694 this.focusTimeout = setTimeout(this.focusCalendar, 0, this);
43695 }
43696 },
43697 componentWillUnmount: function componentWillUnmount() {
43698 clearTimeout(this.focusTimeout);
43699 },
43700 onCalendarKeyDown: function onCalendarKeyDown(event) {
43701 if (event.keyCode === _KeyCode2['default'].ESC) {
43702 event.stopPropagation();
43703 this.close(this.focus);
43704 }
43705 },
43706 onCalendarSelect: function onCalendarSelect(value) {
43707 var cause = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
43708
43709 var props = this.props;
43710 if (!('value' in props)) {
43711 this.setState({
43712 value: value
43713 });
43714 }
43715 if (cause.source === 'keyboard' || !props.calendar.props.timePicker && cause.source !== 'dateInput' || cause.source === 'todayButton') {
43716 this.close(this.focus);
43717 }
43718 props.onChange(value);
43719 },
43720 onKeyDown: function onKeyDown(event) {
43721 if (event.keyCode === _KeyCode2['default'].DOWN && !this.state.open) {
43722 this.open();
43723 event.preventDefault();
43724 }
43725 },
43726 onCalendarOk: function onCalendarOk() {
43727 this.close(this.focus);
43728 },
43729 onCalendarClear: function onCalendarClear() {
43730 this.close(this.focus);
43731 },
43732 onVisibleChange: function onVisibleChange(open) {
43733 this.setOpen(open);
43734 },
43735 getCalendarElement: function getCalendarElement() {
43736 var props = this.props;
43737 var state = this.state;
43738 var calendarProps = props.calendar.props;
43739 var value = state.value;
43740
43741 var defaultValue = value;
43742 var extraProps = {
43743 ref: this.saveCalendarRef,
43744 defaultValue: defaultValue || calendarProps.defaultValue,
43745 selectedValue: value,
43746 onKeyDown: this.onCalendarKeyDown,
43747 onOk: (0, _createChainedFunction2['default'])(calendarProps.onOk, this.onCalendarOk),
43748 onSelect: (0, _createChainedFunction2['default'])(calendarProps.onSelect, this.onCalendarSelect),
43749 onClear: (0, _createChainedFunction2['default'])(calendarProps.onClear, this.onCalendarClear)
43750 };
43751
43752 return _react2['default'].cloneElement(props.calendar, extraProps);
43753 },
43754 setOpen: function setOpen(open, callback) {
43755 var onOpenChange = this.props.onOpenChange;
43756
43757 if (this.state.open !== open) {
43758 if (!('open' in this.props)) {
43759 this.setState({
43760 open: open
43761 }, callback);
43762 }
43763 onOpenChange(open);
43764 }
43765 },
43766 open: function open(callback) {
43767 this.setOpen(true, callback);
43768 },
43769 close: function close(callback) {
43770 this.setOpen(false, callback);
43771 },
43772 focus: function focus() {
43773 if (!this.state.open) {
43774 _reactDom2['default'].findDOMNode(this).focus();
43775 }
43776 },
43777 focusCalendar: function focusCalendar() {
43778 if (this.state.open && this.calendarInstance !== null) {
43779 this.calendarInstance.focus();
43780 }
43781 },
43782 render: function render() {
43783 var props = this.props;
43784 var prefixCls = props.prefixCls,
43785 placement = props.placement,
43786 style = props.style,
43787 getCalendarContainer = props.getCalendarContainer,
43788 align = props.align,
43789 animation = props.animation,
43790 disabled = props.disabled,
43791 transitionName = props.transitionName,
43792 children = props.children;
43793
43794 var state = this.state;
43795 return _react2['default'].createElement(
43796 _rcTrigger2['default'],
43797 {
43798 popup: this.getCalendarElement(),
43799 popupAlign: align,
43800 builtinPlacements: _placements2['default'],
43801 popupPlacement: placement,
43802 action: disabled && !state.open ? [] : ['click'],
43803 destroyPopupOnHide: true,
43804 getPopupContainer: getCalendarContainer,
43805 popupStyle: style,
43806 popupAnimation: animation,
43807 popupTransitionName: transitionName,
43808 popupVisible: state.open,
43809 onPopupVisibleChange: this.onVisibleChange,
43810 prefixCls: prefixCls
43811 },
43812 _react2['default'].cloneElement(children(state, props), { onKeyDown: this.onKeyDown })
43813 );
43814 }
43815 });
43816
43817 exports['default'] = Picker;
43818 module.exports = exports['default'];
43819
43820/***/ }),
43821/* 470 */
43822/***/ (function(module, exports) {
43823
43824 "use strict";
43825
43826 Object.defineProperty(exports, "__esModule", {
43827 value: true
43828 });
43829 exports["default"] = createChainedFunction;
43830 /**
43831 * Safe chained function
43832 *
43833 * Will only create a new function if needed,
43834 * otherwise will pass back existing functions or null.
43835 *
43836 * @returns {function|null}
43837 */
43838 function createChainedFunction() {
43839 var args = [].slice.call(arguments, 0);
43840 if (args.length === 1) {
43841 return args[0];
43842 }
43843
43844 return function chainedFunction() {
43845 for (var i = 0; i < args.length; i++) {
43846 if (args[i] && args[i].apply) {
43847 args[i].apply(this, arguments);
43848 }
43849 }
43850 };
43851 }
43852 module.exports = exports['default'];
43853
43854/***/ }),
43855/* 471 */
43856/***/ (function(module, exports) {
43857
43858 'use strict';
43859
43860 Object.defineProperty(exports, "__esModule", {
43861 value: true
43862 });
43863 var autoAdjustOverflow = {
43864 adjustX: 1,
43865 adjustY: 1
43866 };
43867
43868 var targetOffset = [0, 0];
43869
43870 var placements = {
43871 bottomLeft: {
43872 points: ['tl', 'tl'],
43873 overflow: autoAdjustOverflow,
43874 offset: [0, -3],
43875 targetOffset: targetOffset
43876 },
43877 bottomRight: {
43878 points: ['tr', 'tr'],
43879 overflow: autoAdjustOverflow,
43880 offset: [0, -3],
43881 targetOffset: targetOffset
43882 },
43883 topRight: {
43884 points: ['br', 'br'],
43885 overflow: autoAdjustOverflow,
43886 offset: [0, 3],
43887 targetOffset: targetOffset
43888 },
43889 topLeft: {
43890 points: ['bl', 'bl'],
43891 overflow: autoAdjustOverflow,
43892 offset: [0, 3],
43893 targetOffset: targetOffset
43894 }
43895 };
43896
43897 exports['default'] = placements;
43898 module.exports = exports['default'];
43899
43900/***/ }),
43901/* 472 */
43902/***/ (function(module, exports, __webpack_require__) {
43903
43904 'use strict';
43905
43906 exports.__esModule = true;
43907
43908 var _extends2 = __webpack_require__(145);
43909
43910 var _extends3 = _interopRequireDefault(_extends2);
43911
43912 var _classCallCheck2 = __webpack_require__(250);
43913
43914 var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
43915
43916 var _possibleConstructorReturn2 = __webpack_require__(316);
43917
43918 var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
43919
43920 var _inherits2 = __webpack_require__(317);
43921
43922 var _inherits3 = _interopRequireDefault(_inherits2);
43923
43924 var _react = __webpack_require__(4);
43925
43926 var _react2 = _interopRequireDefault(_react);
43927
43928 var _propTypes = __webpack_require__(5);
43929
43930 var _propTypes2 = _interopRequireDefault(_propTypes);
43931
43932 var _reactDom = __webpack_require__(12);
43933
43934 var _contains = __webpack_require__(473);
43935
43936 var _contains2 = _interopRequireDefault(_contains);
43937
43938 var _addEventListener = __webpack_require__(474);
43939
43940 var _addEventListener2 = _interopRequireDefault(_addEventListener);
43941
43942 var _Popup = __webpack_require__(475);
43943
43944 var _Popup2 = _interopRequireDefault(_Popup);
43945
43946 var _utils = __webpack_require__(487);
43947
43948 var _ContainerRender = __webpack_require__(488);
43949
43950 var _ContainerRender2 = _interopRequireDefault(_ContainerRender);
43951
43952 var _Portal = __webpack_require__(489);
43953
43954 var _Portal2 = _interopRequireDefault(_Portal);
43955
43956 var _classnames = __webpack_require__(3);
43957
43958 var _classnames2 = _interopRequireDefault(_classnames);
43959
43960 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
43961
43962 function noop() {}
43963
43964 function returnEmptyString() {
43965 return '';
43966 }
43967
43968 function returnDocument() {
43969 return window.document;
43970 }
43971
43972 var ALL_HANDLERS = ['onClick', 'onMouseDown', 'onTouchStart', 'onMouseEnter', 'onMouseLeave', 'onFocus', 'onBlur', 'onContextMenu'];
43973
43974 var IS_REACT_16 = !!_reactDom.createPortal;
43975
43976 var Trigger = function (_React$Component) {
43977 (0, _inherits3['default'])(Trigger, _React$Component);
43978
43979 function Trigger(props) {
43980 (0, _classCallCheck3['default'])(this, Trigger);
43981
43982 var _this = (0, _possibleConstructorReturn3['default'])(this, _React$Component.call(this, props));
43983
43984 _initialiseProps.call(_this);
43985
43986 var popupVisible = void 0;
43987 if ('popupVisible' in props) {
43988 popupVisible = !!props.popupVisible;
43989 } else {
43990 popupVisible = !!props.defaultPopupVisible;
43991 }
43992
43993 _this.prevPopupVisible = popupVisible;
43994
43995 _this.state = {
43996 popupVisible: popupVisible
43997 };
43998 return _this;
43999 }
44000
44001 Trigger.prototype.componentWillMount = function componentWillMount() {
44002 var _this2 = this;
44003
44004 ALL_HANDLERS.forEach(function (h) {
44005 _this2['fire' + h] = function (e) {
44006 _this2.fireEvents(h, e);
44007 };
44008 });
44009 };
44010
44011 Trigger.prototype.componentDidMount = function componentDidMount() {
44012 this.componentDidUpdate({}, {
44013 popupVisible: this.state.popupVisible
44014 });
44015 };
44016
44017 Trigger.prototype.componentWillReceiveProps = function componentWillReceiveProps(_ref) {
44018 var popupVisible = _ref.popupVisible;
44019
44020 if (popupVisible !== undefined) {
44021 this.setState({
44022 popupVisible: popupVisible
44023 });
44024 }
44025 };
44026
44027 Trigger.prototype.componentDidUpdate = function componentDidUpdate(_, prevState) {
44028 var props = this.props;
44029 var state = this.state;
44030 var triggerAfterPopupVisibleChange = function triggerAfterPopupVisibleChange() {
44031 if (prevState.popupVisible !== state.popupVisible) {
44032 props.afterPopupVisibleChange(state.popupVisible);
44033 }
44034 };
44035 if (!IS_REACT_16) {
44036 this.renderComponent(null, triggerAfterPopupVisibleChange);
44037 }
44038
44039 this.prevPopupVisible = prevState.popupVisible;
44040
44041 // We must listen to `mousedown` or `touchstart`, edge case:
44042 // https://github.com/ant-design/ant-design/issues/5804
44043 // https://github.com/react-component/calendar/issues/250
44044 // https://github.com/react-component/trigger/issues/50
44045 if (state.popupVisible) {
44046 var currentDocument = void 0;
44047 if (!this.clickOutsideHandler && (this.isClickToHide() || this.isContextMenuToShow())) {
44048 currentDocument = props.getDocument();
44049 this.clickOutsideHandler = (0, _addEventListener2['default'])(currentDocument, 'mousedown', this.onDocumentClick);
44050 }
44051 // always hide on mobile
44052 if (!this.touchOutsideHandler) {
44053 currentDocument = currentDocument || props.getDocument();
44054 this.touchOutsideHandler = (0, _addEventListener2['default'])(currentDocument, 'touchstart', this.onDocumentClick);
44055 }
44056 // close popup when trigger type contains 'onContextMenu' and document is scrolling.
44057 if (!this.contextMenuOutsideHandler1 && this.isContextMenuToShow()) {
44058 currentDocument = currentDocument || props.getDocument();
44059 this.contextMenuOutsideHandler1 = (0, _addEventListener2['default'])(currentDocument, 'scroll', this.onContextMenuClose);
44060 }
44061 // close popup when trigger type contains 'onContextMenu' and window is blur.
44062 if (!this.contextMenuOutsideHandler2 && this.isContextMenuToShow()) {
44063 this.contextMenuOutsideHandler2 = (0, _addEventListener2['default'])(window, 'blur', this.onContextMenuClose);
44064 }
44065 return;
44066 }
44067
44068 this.clearOutsideHandler();
44069 };
44070
44071 Trigger.prototype.componentWillUnmount = function componentWillUnmount() {
44072 this.clearDelayTimer();
44073 this.clearOutsideHandler();
44074 };
44075
44076 Trigger.prototype.getPopupDomNode = function getPopupDomNode() {
44077 // for test
44078 if (this._component && this._component.getPopupDomNode) {
44079 return this._component.getPopupDomNode();
44080 }
44081 return null;
44082 };
44083
44084 Trigger.prototype.getPopupAlign = function getPopupAlign() {
44085 var props = this.props;
44086 var popupPlacement = props.popupPlacement,
44087 popupAlign = props.popupAlign,
44088 builtinPlacements = props.builtinPlacements;
44089
44090 if (popupPlacement && builtinPlacements) {
44091 return (0, _utils.getAlignFromPlacement)(builtinPlacements, popupPlacement, popupAlign);
44092 }
44093 return popupAlign;
44094 };
44095
44096 /**
44097 * @param popupVisible Show or not the popup element
44098 * @param event SyntheticEvent, used for `pointAlign`
44099 */
44100 Trigger.prototype.setPopupVisible = function setPopupVisible(popupVisible, event) {
44101 var alignPoint = this.props.alignPoint;
44102
44103
44104 this.clearDelayTimer();
44105
44106 if (this.state.popupVisible !== popupVisible) {
44107 if (!('popupVisible' in this.props)) {
44108 this.setState({ popupVisible: popupVisible });
44109 }
44110 this.props.onPopupVisibleChange(popupVisible);
44111 }
44112
44113 // Always record the point position since mouseEnterDelay will delay the show
44114 if (alignPoint && event) {
44115 this.setPoint(event);
44116 }
44117 };
44118
44119 Trigger.prototype.delaySetPopupVisible = function delaySetPopupVisible(visible, delayS, event) {
44120 var _this3 = this;
44121
44122 var delay = delayS * 1000;
44123 this.clearDelayTimer();
44124 if (delay) {
44125 var point = event ? { pageX: event.pageX, pageY: event.pageY } : null;
44126 this.delayTimer = setTimeout(function () {
44127 _this3.setPopupVisible(visible, point);
44128 _this3.clearDelayTimer();
44129 }, delay);
44130 } else {
44131 this.setPopupVisible(visible, event);
44132 }
44133 };
44134
44135 Trigger.prototype.clearDelayTimer = function clearDelayTimer() {
44136 if (this.delayTimer) {
44137 clearTimeout(this.delayTimer);
44138 this.delayTimer = null;
44139 }
44140 };
44141
44142 Trigger.prototype.clearOutsideHandler = function clearOutsideHandler() {
44143 if (this.clickOutsideHandler) {
44144 this.clickOutsideHandler.remove();
44145 this.clickOutsideHandler = null;
44146 }
44147
44148 if (this.contextMenuOutsideHandler1) {
44149 this.contextMenuOutsideHandler1.remove();
44150 this.contextMenuOutsideHandler1 = null;
44151 }
44152
44153 if (this.contextMenuOutsideHandler2) {
44154 this.contextMenuOutsideHandler2.remove();
44155 this.contextMenuOutsideHandler2 = null;
44156 }
44157
44158 if (this.touchOutsideHandler) {
44159 this.touchOutsideHandler.remove();
44160 this.touchOutsideHandler = null;
44161 }
44162 };
44163
44164 Trigger.prototype.createTwoChains = function createTwoChains(event) {
44165 var childPros = this.props.children.props;
44166 var props = this.props;
44167 if (childPros[event] && props[event]) {
44168 return this['fire' + event];
44169 }
44170 return childPros[event] || props[event];
44171 };
44172
44173 Trigger.prototype.isClickToShow = function isClickToShow() {
44174 var _props = this.props,
44175 action = _props.action,
44176 showAction = _props.showAction;
44177
44178 return action.indexOf('click') !== -1 || showAction.indexOf('click') !== -1;
44179 };
44180
44181 Trigger.prototype.isContextMenuToShow = function isContextMenuToShow() {
44182 var _props2 = this.props,
44183 action = _props2.action,
44184 showAction = _props2.showAction;
44185
44186 return action.indexOf('contextMenu') !== -1 || showAction.indexOf('contextMenu') !== -1;
44187 };
44188
44189 Trigger.prototype.isClickToHide = function isClickToHide() {
44190 var _props3 = this.props,
44191 action = _props3.action,
44192 hideAction = _props3.hideAction;
44193
44194 return action.indexOf('click') !== -1 || hideAction.indexOf('click') !== -1;
44195 };
44196
44197 Trigger.prototype.isMouseEnterToShow = function isMouseEnterToShow() {
44198 var _props4 = this.props,
44199 action = _props4.action,
44200 showAction = _props4.showAction;
44201
44202 return action.indexOf('hover') !== -1 || showAction.indexOf('mouseEnter') !== -1;
44203 };
44204
44205 Trigger.prototype.isMouseLeaveToHide = function isMouseLeaveToHide() {
44206 var _props5 = this.props,
44207 action = _props5.action,
44208 hideAction = _props5.hideAction;
44209
44210 return action.indexOf('hover') !== -1 || hideAction.indexOf('mouseLeave') !== -1;
44211 };
44212
44213 Trigger.prototype.isFocusToShow = function isFocusToShow() {
44214 var _props6 = this.props,
44215 action = _props6.action,
44216 showAction = _props6.showAction;
44217
44218 return action.indexOf('focus') !== -1 || showAction.indexOf('focus') !== -1;
44219 };
44220
44221 Trigger.prototype.isBlurToHide = function isBlurToHide() {
44222 var _props7 = this.props,
44223 action = _props7.action,
44224 hideAction = _props7.hideAction;
44225
44226 return action.indexOf('focus') !== -1 || hideAction.indexOf('blur') !== -1;
44227 };
44228
44229 Trigger.prototype.forcePopupAlign = function forcePopupAlign() {
44230 if (this.state.popupVisible && this._component && this._component.alignInstance) {
44231 this._component.alignInstance.forceAlign();
44232 }
44233 };
44234
44235 Trigger.prototype.fireEvents = function fireEvents(type, e) {
44236 var childCallback = this.props.children.props[type];
44237 if (childCallback) {
44238 childCallback(e);
44239 }
44240 var callback = this.props[type];
44241 if (callback) {
44242 callback(e);
44243 }
44244 };
44245
44246 Trigger.prototype.close = function close() {
44247 this.setPopupVisible(false);
44248 };
44249
44250 Trigger.prototype.render = function render() {
44251 var _this4 = this;
44252
44253 var popupVisible = this.state.popupVisible;
44254 var _props8 = this.props,
44255 children = _props8.children,
44256 forceRender = _props8.forceRender,
44257 alignPoint = _props8.alignPoint,
44258 className = _props8.className;
44259
44260 var child = _react2['default'].Children.only(children);
44261 var newChildProps = { key: 'trigger' };
44262
44263 if (this.isContextMenuToShow()) {
44264 newChildProps.onContextMenu = this.onContextMenu;
44265 } else {
44266 newChildProps.onContextMenu = this.createTwoChains('onContextMenu');
44267 }
44268
44269 if (this.isClickToHide() || this.isClickToShow()) {
44270 newChildProps.onClick = this.onClick;
44271 newChildProps.onMouseDown = this.onMouseDown;
44272 newChildProps.onTouchStart = this.onTouchStart;
44273 } else {
44274 newChildProps.onClick = this.createTwoChains('onClick');
44275 newChildProps.onMouseDown = this.createTwoChains('onMouseDown');
44276 newChildProps.onTouchStart = this.createTwoChains('onTouchStart');
44277 }
44278 if (this.isMouseEnterToShow()) {
44279 newChildProps.onMouseEnter = this.onMouseEnter;
44280 if (alignPoint) {
44281 newChildProps.onMouseMove = this.onMouseMove;
44282 }
44283 } else {
44284 newChildProps.onMouseEnter = this.createTwoChains('onMouseEnter');
44285 }
44286 if (this.isMouseLeaveToHide()) {
44287 newChildProps.onMouseLeave = this.onMouseLeave;
44288 } else {
44289 newChildProps.onMouseLeave = this.createTwoChains('onMouseLeave');
44290 }
44291 if (this.isFocusToShow() || this.isBlurToHide()) {
44292 newChildProps.onFocus = this.onFocus;
44293 newChildProps.onBlur = this.onBlur;
44294 } else {
44295 newChildProps.onFocus = this.createTwoChains('onFocus');
44296 newChildProps.onBlur = this.createTwoChains('onBlur');
44297 }
44298
44299 var childrenClassName = (0, _classnames2['default'])(child && child.props && child.props.className, className);
44300 if (childrenClassName) {
44301 newChildProps.className = childrenClassName;
44302 }
44303 var trigger = _react2['default'].cloneElement(child, newChildProps);
44304
44305 if (!IS_REACT_16) {
44306 return _react2['default'].createElement(
44307 _ContainerRender2['default'],
44308 {
44309 parent: this,
44310 visible: popupVisible,
44311 autoMount: false,
44312 forceRender: forceRender,
44313 getComponent: this.getComponent,
44314 getContainer: this.getContainer
44315 },
44316 function (_ref2) {
44317 var renderComponent = _ref2.renderComponent;
44318
44319 _this4.renderComponent = renderComponent;
44320 return trigger;
44321 }
44322 );
44323 }
44324
44325 var portal = void 0;
44326 // prevent unmounting after it's rendered
44327 if (popupVisible || this._component || forceRender) {
44328 portal = _react2['default'].createElement(
44329 _Portal2['default'],
44330 {
44331 key: 'portal',
44332 getContainer: this.getContainer,
44333 didUpdate: this.handlePortalUpdate
44334 },
44335 this.getComponent()
44336 );
44337 }
44338
44339 return [trigger, portal];
44340 };
44341
44342 return Trigger;
44343 }(_react2['default'].Component);
44344
44345 Trigger.propTypes = {
44346 children: _propTypes2['default'].any,
44347 action: _propTypes2['default'].oneOfType([_propTypes2['default'].string, _propTypes2['default'].arrayOf(_propTypes2['default'].string)]),
44348 showAction: _propTypes2['default'].any,
44349 hideAction: _propTypes2['default'].any,
44350 getPopupClassNameFromAlign: _propTypes2['default'].any,
44351 onPopupVisibleChange: _propTypes2['default'].func,
44352 afterPopupVisibleChange: _propTypes2['default'].func,
44353 popup: _propTypes2['default'].oneOfType([_propTypes2['default'].node, _propTypes2['default'].func]).isRequired,
44354 popupStyle: _propTypes2['default'].object,
44355 prefixCls: _propTypes2['default'].string,
44356 popupClassName: _propTypes2['default'].string,
44357 className: _propTypes2['default'].string,
44358 popupPlacement: _propTypes2['default'].string,
44359 builtinPlacements: _propTypes2['default'].object,
44360 popupTransitionName: _propTypes2['default'].oneOfType([_propTypes2['default'].string, _propTypes2['default'].object]),
44361 popupAnimation: _propTypes2['default'].any,
44362 mouseEnterDelay: _propTypes2['default'].number,
44363 mouseLeaveDelay: _propTypes2['default'].number,
44364 zIndex: _propTypes2['default'].number,
44365 focusDelay: _propTypes2['default'].number,
44366 blurDelay: _propTypes2['default'].number,
44367 getPopupContainer: _propTypes2['default'].func,
44368 getDocument: _propTypes2['default'].func,
44369 forceRender: _propTypes2['default'].bool,
44370 destroyPopupOnHide: _propTypes2['default'].bool,
44371 mask: _propTypes2['default'].bool,
44372 maskClosable: _propTypes2['default'].bool,
44373 onPopupAlign: _propTypes2['default'].func,
44374 popupAlign: _propTypes2['default'].object,
44375 popupVisible: _propTypes2['default'].bool,
44376 defaultPopupVisible: _propTypes2['default'].bool,
44377 maskTransitionName: _propTypes2['default'].oneOfType([_propTypes2['default'].string, _propTypes2['default'].object]),
44378 maskAnimation: _propTypes2['default'].string,
44379 stretch: _propTypes2['default'].string,
44380 alignPoint: _propTypes2['default'].bool // Maybe we can support user pass position in the future
44381 };
44382 Trigger.defaultProps = {
44383 prefixCls: 'rc-trigger-popup',
44384 getPopupClassNameFromAlign: returnEmptyString,
44385 getDocument: returnDocument,
44386 onPopupVisibleChange: noop,
44387 afterPopupVisibleChange: noop,
44388 onPopupAlign: noop,
44389 popupClassName: '',
44390 mouseEnterDelay: 0,
44391 mouseLeaveDelay: 0.1,
44392 focusDelay: 0,
44393 blurDelay: 0.15,
44394 popupStyle: {},
44395 destroyPopupOnHide: false,
44396 popupAlign: {},
44397 defaultPopupVisible: false,
44398 mask: false,
44399 maskClosable: true,
44400 action: [],
44401 showAction: [],
44402 hideAction: []
44403 };
44404
44405 var _initialiseProps = function _initialiseProps() {
44406 var _this5 = this;
44407
44408 this.onMouseEnter = function (e) {
44409 var mouseEnterDelay = _this5.props.mouseEnterDelay;
44410
44411 _this5.fireEvents('onMouseEnter', e);
44412 _this5.delaySetPopupVisible(true, mouseEnterDelay, mouseEnterDelay ? null : e);
44413 };
44414
44415 this.onMouseMove = function (e) {
44416 _this5.fireEvents('onMouseMove', e);
44417 _this5.setPoint(e);
44418 };
44419
44420 this.onMouseLeave = function (e) {
44421 _this5.fireEvents('onMouseLeave', e);
44422 _this5.delaySetPopupVisible(false, _this5.props.mouseLeaveDelay);
44423 };
44424
44425 this.onPopupMouseEnter = function () {
44426 _this5.clearDelayTimer();
44427 };
44428
44429 this.onPopupMouseLeave = function (e) {
44430 // https://github.com/react-component/trigger/pull/13
44431 // react bug?
44432 if (e.relatedTarget && !e.relatedTarget.setTimeout && _this5._component && _this5._component.getPopupDomNode && (0, _contains2['default'])(_this5._component.getPopupDomNode(), e.relatedTarget)) {
44433 return;
44434 }
44435 _this5.delaySetPopupVisible(false, _this5.props.mouseLeaveDelay);
44436 };
44437
44438 this.onFocus = function (e) {
44439 _this5.fireEvents('onFocus', e);
44440 // incase focusin and focusout
44441 _this5.clearDelayTimer();
44442 if (_this5.isFocusToShow()) {
44443 _this5.focusTime = Date.now();
44444 _this5.delaySetPopupVisible(true, _this5.props.focusDelay);
44445 }
44446 };
44447
44448 this.onMouseDown = function (e) {
44449 _this5.fireEvents('onMouseDown', e);
44450 _this5.preClickTime = Date.now();
44451 };
44452
44453 this.onTouchStart = function (e) {
44454 _this5.fireEvents('onTouchStart', e);
44455 _this5.preTouchTime = Date.now();
44456 };
44457
44458 this.onBlur = function (e) {
44459 _this5.fireEvents('onBlur', e);
44460 _this5.clearDelayTimer();
44461 if (_this5.isBlurToHide()) {
44462 _this5.delaySetPopupVisible(false, _this5.props.blurDelay);
44463 }
44464 };
44465
44466 this.onContextMenu = function (e) {
44467 e.preventDefault();
44468 _this5.fireEvents('onContextMenu', e);
44469 _this5.setPopupVisible(true, e);
44470 };
44471
44472 this.onContextMenuClose = function () {
44473 if (_this5.isContextMenuToShow()) {
44474 _this5.close();
44475 }
44476 };
44477
44478 this.onClick = function (event) {
44479 _this5.fireEvents('onClick', event);
44480 // focus will trigger click
44481 if (_this5.focusTime) {
44482 var preTime = void 0;
44483 if (_this5.preClickTime && _this5.preTouchTime) {
44484 preTime = Math.min(_this5.preClickTime, _this5.preTouchTime);
44485 } else if (_this5.preClickTime) {
44486 preTime = _this5.preClickTime;
44487 } else if (_this5.preTouchTime) {
44488 preTime = _this5.preTouchTime;
44489 }
44490 if (Math.abs(preTime - _this5.focusTime) < 20) {
44491 return;
44492 }
44493 _this5.focusTime = 0;
44494 }
44495 _this5.preClickTime = 0;
44496 _this5.preTouchTime = 0;
44497 if (event && event.preventDefault) {
44498 event.preventDefault();
44499 }
44500 var nextVisible = !_this5.state.popupVisible;
44501 if (_this5.isClickToHide() && !nextVisible || nextVisible && _this5.isClickToShow()) {
44502 _this5.setPopupVisible(!_this5.state.popupVisible, event);
44503 }
44504 };
44505
44506 this.onDocumentClick = function (event) {
44507 if (_this5.props.mask && !_this5.props.maskClosable) {
44508 return;
44509 }
44510 var target = event.target;
44511 var root = (0, _reactDom.findDOMNode)(_this5);
44512 var popupNode = _this5.getPopupDomNode();
44513 if (!(0, _contains2['default'])(root, target) && !(0, _contains2['default'])(popupNode, target)) {
44514 _this5.close();
44515 }
44516 };
44517
44518 this.getRootDomNode = function () {
44519 return (0, _reactDom.findDOMNode)(_this5);
44520 };
44521
44522 this.getPopupClassNameFromAlign = function (align) {
44523 var className = [];
44524 var _props9 = _this5.props,
44525 popupPlacement = _props9.popupPlacement,
44526 builtinPlacements = _props9.builtinPlacements,
44527 prefixCls = _props9.prefixCls,
44528 alignPoint = _props9.alignPoint,
44529 getPopupClassNameFromAlign = _props9.getPopupClassNameFromAlign;
44530
44531 if (popupPlacement && builtinPlacements) {
44532 className.push((0, _utils.getAlignPopupClassName)(builtinPlacements, prefixCls, align, alignPoint));
44533 }
44534 if (getPopupClassNameFromAlign) {
44535 className.push(getPopupClassNameFromAlign(align));
44536 }
44537 return className.join(' ');
44538 };
44539
44540 this.getComponent = function () {
44541 var _props10 = _this5.props,
44542 prefixCls = _props10.prefixCls,
44543 destroyPopupOnHide = _props10.destroyPopupOnHide,
44544 popupClassName = _props10.popupClassName,
44545 action = _props10.action,
44546 onPopupAlign = _props10.onPopupAlign,
44547 popupAnimation = _props10.popupAnimation,
44548 popupTransitionName = _props10.popupTransitionName,
44549 popupStyle = _props10.popupStyle,
44550 mask = _props10.mask,
44551 maskAnimation = _props10.maskAnimation,
44552 maskTransitionName = _props10.maskTransitionName,
44553 zIndex = _props10.zIndex,
44554 popup = _props10.popup,
44555 stretch = _props10.stretch,
44556 alignPoint = _props10.alignPoint;
44557 var _state = _this5.state,
44558 popupVisible = _state.popupVisible,
44559 point = _state.point;
44560
44561
44562 var align = _this5.getPopupAlign();
44563
44564 var mouseProps = {};
44565 if (_this5.isMouseEnterToShow()) {
44566 mouseProps.onMouseEnter = _this5.onPopupMouseEnter;
44567 }
44568 if (_this5.isMouseLeaveToHide()) {
44569 mouseProps.onMouseLeave = _this5.onPopupMouseLeave;
44570 }
44571
44572 return _react2['default'].createElement(
44573 _Popup2['default'],
44574 (0, _extends3['default'])({
44575 prefixCls: prefixCls,
44576 destroyPopupOnHide: destroyPopupOnHide,
44577 visible: popupVisible,
44578 point: alignPoint && point,
44579 className: popupClassName,
44580 action: action,
44581 align: align,
44582 onAlign: onPopupAlign,
44583 animation: popupAnimation,
44584 getClassNameFromAlign: _this5.getPopupClassNameFromAlign
44585 }, mouseProps, {
44586 stretch: stretch,
44587 getRootDomNode: _this5.getRootDomNode,
44588 style: popupStyle,
44589 mask: mask,
44590 zIndex: zIndex,
44591 transitionName: popupTransitionName,
44592 maskAnimation: maskAnimation,
44593 maskTransitionName: maskTransitionName,
44594 ref: _this5.savePopup
44595 }),
44596 typeof popup === 'function' ? popup() : popup
44597 );
44598 };
44599
44600 this.getContainer = function () {
44601 var props = _this5.props;
44602
44603 var popupContainer = document.createElement('div');
44604 // Make sure default popup container will never cause scrollbar appearing
44605 // https://github.com/react-component/trigger/issues/41
44606 popupContainer.style.position = 'absolute';
44607 popupContainer.style.top = '0';
44608 popupContainer.style.left = '0';
44609 popupContainer.style.width = '100%';
44610 var mountNode = props.getPopupContainer ? props.getPopupContainer((0, _reactDom.findDOMNode)(_this5)) : props.getDocument().body;
44611 mountNode.appendChild(popupContainer);
44612 return popupContainer;
44613 };
44614
44615 this.setPoint = function (point) {
44616 var alignPoint = _this5.props.alignPoint;
44617
44618 if (!alignPoint || !point) return;
44619
44620 _this5.setState({
44621 point: {
44622 pageX: point.pageX,
44623 pageY: point.pageY
44624 }
44625 });
44626 };
44627
44628 this.handlePortalUpdate = function () {
44629 if (_this5.prevPopupVisible !== _this5.state.popupVisible) {
44630 _this5.props.afterPopupVisibleChange(_this5.state.popupVisible);
44631 }
44632 };
44633
44634 this.savePopup = function (node) {
44635 _this5._component = node;
44636 };
44637 };
44638
44639 exports['default'] = Trigger;
44640 module.exports = exports['default'];
44641
44642/***/ }),
44643/* 473 */
44644/***/ (function(module, exports) {
44645
44646 "use strict";
44647
44648 Object.defineProperty(exports, "__esModule", {
44649 value: true
44650 });
44651 exports["default"] = contains;
44652 function contains(root, n) {
44653 var node = n;
44654 while (node) {
44655 if (node === root) {
44656 return true;
44657 }
44658 node = node.parentNode;
44659 }
44660
44661 return false;
44662 }
44663 module.exports = exports['default'];
44664
44665/***/ }),
44666/* 474 */
44667/***/ (function(module, exports, __webpack_require__) {
44668
44669 'use strict';
44670
44671 Object.defineProperty(exports, "__esModule", {
44672 value: true
44673 });
44674 exports['default'] = addEventListenerWrap;
44675
44676 var _addDomEventListener = __webpack_require__(40);
44677
44678 var _addDomEventListener2 = _interopRequireDefault(_addDomEventListener);
44679
44680 var _reactDom = __webpack_require__(12);
44681
44682 var _reactDom2 = _interopRequireDefault(_reactDom);
44683
44684 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
44685
44686 function addEventListenerWrap(target, eventType, cb) {
44687 /* eslint camelcase: 2 */
44688 var callback = _reactDom2['default'].unstable_batchedUpdates ? function run(e) {
44689 _reactDom2['default'].unstable_batchedUpdates(cb, e);
44690 } : cb;
44691 return (0, _addDomEventListener2['default'])(target, eventType, callback);
44692 }
44693 module.exports = exports['default'];
44694
44695/***/ }),
44696/* 475 */
44697/***/ (function(module, exports, __webpack_require__) {
44698
44699 'use strict';
44700
44701 exports.__esModule = true;
44702
44703 var _extends2 = __webpack_require__(145);
44704
44705 var _extends3 = _interopRequireDefault(_extends2);
44706
44707 var _classCallCheck2 = __webpack_require__(250);
44708
44709 var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
44710
44711 var _possibleConstructorReturn2 = __webpack_require__(316);
44712
44713 var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
44714
44715 var _inherits2 = __webpack_require__(317);
44716
44717 var _inherits3 = _interopRequireDefault(_inherits2);
44718
44719 var _react = __webpack_require__(4);
44720
44721 var _react2 = _interopRequireDefault(_react);
44722
44723 var _propTypes = __webpack_require__(5);
44724
44725 var _propTypes2 = _interopRequireDefault(_propTypes);
44726
44727 var _reactDom = __webpack_require__(12);
44728
44729 var _reactDom2 = _interopRequireDefault(_reactDom);
44730
44731 var _rcAlign = __webpack_require__(476);
44732
44733 var _rcAlign2 = _interopRequireDefault(_rcAlign);
44734
44735 var _rcAnimate = __webpack_require__(479);
44736
44737 var _rcAnimate2 = _interopRequireDefault(_rcAnimate);
44738
44739 var _PopupInner = __webpack_require__(485);
44740
44741 var _PopupInner2 = _interopRequireDefault(_PopupInner);
44742
44743 var _LazyRenderBox = __webpack_require__(486);
44744
44745 var _LazyRenderBox2 = _interopRequireDefault(_LazyRenderBox);
44746
44747 var _utils = __webpack_require__(487);
44748
44749 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
44750
44751 var Popup = function (_Component) {
44752 (0, _inherits3['default'])(Popup, _Component);
44753
44754 function Popup(props) {
44755 (0, _classCallCheck3['default'])(this, Popup);
44756
44757 var _this = (0, _possibleConstructorReturn3['default'])(this, _Component.call(this, props));
44758
44759 _initialiseProps.call(_this);
44760
44761 _this.state = {
44762 // Used for stretch
44763 stretchChecked: false,
44764 targetWidth: undefined,
44765 targetHeight: undefined
44766 };
44767
44768 _this.savePopupRef = _utils.saveRef.bind(_this, 'popupInstance');
44769 _this.saveAlignRef = _utils.saveRef.bind(_this, 'alignInstance');
44770 return _this;
44771 }
44772
44773 Popup.prototype.componentDidMount = function componentDidMount() {
44774 this.rootNode = this.getPopupDomNode();
44775 this.setStretchSize();
44776 };
44777
44778 Popup.prototype.componentDidUpdate = function componentDidUpdate() {
44779 this.setStretchSize();
44780 };
44781
44782 // Record size if stretch needed
44783
44784
44785 Popup.prototype.getPopupDomNode = function getPopupDomNode() {
44786 return _reactDom2['default'].findDOMNode(this.popupInstance);
44787 };
44788
44789 // `target` on `rc-align` can accept as a function to get the bind element or a point.
44790 // ref: https://www.npmjs.com/package/rc-align
44791
44792
44793 Popup.prototype.getMaskTransitionName = function getMaskTransitionName() {
44794 var props = this.props;
44795 var transitionName = props.maskTransitionName;
44796 var animation = props.maskAnimation;
44797 if (!transitionName && animation) {
44798 transitionName = props.prefixCls + '-' + animation;
44799 }
44800 return transitionName;
44801 };
44802
44803 Popup.prototype.getTransitionName = function getTransitionName() {
44804 var props = this.props;
44805 var transitionName = props.transitionName;
44806 if (!transitionName && props.animation) {
44807 transitionName = props.prefixCls + '-' + props.animation;
44808 }
44809 return transitionName;
44810 };
44811
44812 Popup.prototype.getClassName = function getClassName(currentAlignClassName) {
44813 return this.props.prefixCls + ' ' + this.props.className + ' ' + currentAlignClassName;
44814 };
44815
44816 Popup.prototype.getPopupElement = function getPopupElement() {
44817 var _this2 = this;
44818
44819 var savePopupRef = this.savePopupRef;
44820 var _state = this.state,
44821 stretchChecked = _state.stretchChecked,
44822 targetHeight = _state.targetHeight,
44823 targetWidth = _state.targetWidth;
44824 var _props = this.props,
44825 align = _props.align,
44826 visible = _props.visible,
44827 prefixCls = _props.prefixCls,
44828 style = _props.style,
44829 getClassNameFromAlign = _props.getClassNameFromAlign,
44830 destroyPopupOnHide = _props.destroyPopupOnHide,
44831 stretch = _props.stretch,
44832 children = _props.children,
44833 onMouseEnter = _props.onMouseEnter,
44834 onMouseLeave = _props.onMouseLeave;
44835
44836 var className = this.getClassName(this.currentAlignClassName || getClassNameFromAlign(align));
44837 var hiddenClassName = prefixCls + '-hidden';
44838
44839 if (!visible) {
44840 this.currentAlignClassName = null;
44841 }
44842
44843 var sizeStyle = {};
44844 if (stretch) {
44845 // Stretch with target
44846 if (stretch.indexOf('height') !== -1) {
44847 sizeStyle.height = targetHeight;
44848 } else if (stretch.indexOf('minHeight') !== -1) {
44849 sizeStyle.minHeight = targetHeight;
44850 }
44851 if (stretch.indexOf('width') !== -1) {
44852 sizeStyle.width = targetWidth;
44853 } else if (stretch.indexOf('minWidth') !== -1) {
44854 sizeStyle.minWidth = targetWidth;
44855 }
44856
44857 // Delay force align to makes ui smooth
44858 if (!stretchChecked) {
44859 sizeStyle.visibility = 'hidden';
44860 setTimeout(function () {
44861 if (_this2.alignInstance) {
44862 _this2.alignInstance.forceAlign();
44863 }
44864 }, 0);
44865 }
44866 }
44867
44868 var newStyle = (0, _extends3['default'])({}, sizeStyle, style, this.getZIndexStyle());
44869
44870 var popupInnerProps = {
44871 className: className,
44872 prefixCls: prefixCls,
44873 ref: savePopupRef,
44874 onMouseEnter: onMouseEnter,
44875 onMouseLeave: onMouseLeave,
44876 style: newStyle
44877 };
44878 if (destroyPopupOnHide) {
44879 return _react2['default'].createElement(
44880 _rcAnimate2['default'],
44881 {
44882 component: '',
44883 exclusive: true,
44884 transitionAppear: true,
44885 transitionName: this.getTransitionName()
44886 },
44887 visible ? _react2['default'].createElement(
44888 _rcAlign2['default'],
44889 {
44890 target: this.getAlignTarget(),
44891 key: 'popup',
44892 ref: this.saveAlignRef,
44893 monitorWindowResize: true,
44894 align: align,
44895 onAlign: this.onAlign
44896 },
44897 _react2['default'].createElement(
44898 _PopupInner2['default'],
44899 (0, _extends3['default'])({
44900 visible: true
44901 }, popupInnerProps),
44902 children
44903 )
44904 ) : null
44905 );
44906 }
44907
44908 return _react2['default'].createElement(
44909 _rcAnimate2['default'],
44910 {
44911 component: '',
44912 exclusive: true,
44913 transitionAppear: true,
44914 transitionName: this.getTransitionName(),
44915 showProp: 'xVisible'
44916 },
44917 _react2['default'].createElement(
44918 _rcAlign2['default'],
44919 {
44920 target: this.getAlignTarget(),
44921 key: 'popup',
44922 ref: this.saveAlignRef,
44923 monitorWindowResize: true,
44924 xVisible: visible,
44925 childrenProps: { visible: 'xVisible' },
44926 disabled: !visible,
44927 align: align,
44928 onAlign: this.onAlign
44929 },
44930 _react2['default'].createElement(
44931 _PopupInner2['default'],
44932 (0, _extends3['default'])({
44933 hiddenClassName: hiddenClassName
44934 }, popupInnerProps),
44935 children
44936 )
44937 )
44938 );
44939 };
44940
44941 Popup.prototype.getZIndexStyle = function getZIndexStyle() {
44942 var style = {};
44943 var props = this.props;
44944 if (props.zIndex !== undefined) {
44945 style.zIndex = props.zIndex;
44946 }
44947 return style;
44948 };
44949
44950 Popup.prototype.getMaskElement = function getMaskElement() {
44951 var props = this.props;
44952 var maskElement = void 0;
44953 if (props.mask) {
44954 var maskTransition = this.getMaskTransitionName();
44955 maskElement = _react2['default'].createElement(_LazyRenderBox2['default'], {
44956 style: this.getZIndexStyle(),
44957 key: 'mask',
44958 className: props.prefixCls + '-mask',
44959 hiddenClassName: props.prefixCls + '-mask-hidden',
44960 visible: props.visible
44961 });
44962 if (maskTransition) {
44963 maskElement = _react2['default'].createElement(
44964 _rcAnimate2['default'],
44965 {
44966 key: 'mask',
44967 showProp: 'visible',
44968 transitionAppear: true,
44969 component: '',
44970 transitionName: maskTransition
44971 },
44972 maskElement
44973 );
44974 }
44975 }
44976 return maskElement;
44977 };
44978
44979 Popup.prototype.render = function render() {
44980 return _react2['default'].createElement(
44981 'div',
44982 null,
44983 this.getMaskElement(),
44984 this.getPopupElement()
44985 );
44986 };
44987
44988 return Popup;
44989 }(_react.Component);
44990
44991 Popup.propTypes = {
44992 visible: _propTypes2['default'].bool,
44993 style: _propTypes2['default'].object,
44994 getClassNameFromAlign: _propTypes2['default'].func,
44995 onAlign: _propTypes2['default'].func,
44996 getRootDomNode: _propTypes2['default'].func,
44997 onMouseEnter: _propTypes2['default'].func,
44998 align: _propTypes2['default'].any,
44999 destroyPopupOnHide: _propTypes2['default'].bool,
45000 className: _propTypes2['default'].string,
45001 prefixCls: _propTypes2['default'].string,
45002 onMouseLeave: _propTypes2['default'].func,
45003 stretch: _propTypes2['default'].string,
45004 children: _propTypes2['default'].node,
45005 point: _propTypes2['default'].shape({
45006 pageX: _propTypes2['default'].number,
45007 pageY: _propTypes2['default'].number
45008 })
45009 };
45010
45011 var _initialiseProps = function _initialiseProps() {
45012 var _this3 = this;
45013
45014 this.onAlign = function (popupDomNode, align) {
45015 var props = _this3.props;
45016 var currentAlignClassName = props.getClassNameFromAlign(align);
45017 // FIX: https://github.com/react-component/trigger/issues/56
45018 // FIX: https://github.com/react-component/tooltip/issues/79
45019 if (_this3.currentAlignClassName !== currentAlignClassName) {
45020 _this3.currentAlignClassName = currentAlignClassName;
45021 popupDomNode.className = _this3.getClassName(currentAlignClassName);
45022 }
45023 props.onAlign(popupDomNode, align);
45024 };
45025
45026 this.setStretchSize = function () {
45027 var _props2 = _this3.props,
45028 stretch = _props2.stretch,
45029 getRootDomNode = _props2.getRootDomNode,
45030 visible = _props2.visible;
45031 var _state2 = _this3.state,
45032 stretchChecked = _state2.stretchChecked,
45033 targetHeight = _state2.targetHeight,
45034 targetWidth = _state2.targetWidth;
45035
45036
45037 if (!stretch || !visible) {
45038 if (stretchChecked) {
45039 _this3.setState({ stretchChecked: false });
45040 }
45041 return;
45042 }
45043
45044 var $ele = getRootDomNode();
45045 if (!$ele) return;
45046
45047 var height = $ele.offsetHeight;
45048 var width = $ele.offsetWidth;
45049
45050 if (targetHeight !== height || targetWidth !== width || !stretchChecked) {
45051 _this3.setState({
45052 stretchChecked: true,
45053 targetHeight: height,
45054 targetWidth: width
45055 });
45056 }
45057 };
45058
45059 this.getTargetElement = function () {
45060 return _this3.props.getRootDomNode();
45061 };
45062
45063 this.getAlignTarget = function () {
45064 var point = _this3.props.point;
45065
45066 if (point) {
45067 return point;
45068 }
45069 return _this3.getTargetElement;
45070 };
45071 };
45072
45073 exports['default'] = Popup;
45074 module.exports = exports['default'];
45075
45076/***/ }),
45077/* 476 */
45078/***/ (function(module, exports, __webpack_require__) {
45079
45080 'use strict';
45081
45082 exports.__esModule = true;
45083
45084 var _Align = __webpack_require__(477);
45085
45086 var _Align2 = _interopRequireDefault(_Align);
45087
45088 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
45089
45090 exports['default'] = _Align2['default']; // export this package's api
45091
45092 module.exports = exports['default'];
45093
45094/***/ }),
45095/* 477 */
45096/***/ (function(module, exports, __webpack_require__) {
45097
45098 'use strict';
45099
45100 exports.__esModule = true;
45101
45102 var _classCallCheck2 = __webpack_require__(250);
45103
45104 var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
45105
45106 var _possibleConstructorReturn2 = __webpack_require__(316);
45107
45108 var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
45109
45110 var _inherits2 = __webpack_require__(317);
45111
45112 var _inherits3 = _interopRequireDefault(_inherits2);
45113
45114 var _react = __webpack_require__(4);
45115
45116 var _react2 = _interopRequireDefault(_react);
45117
45118 var _propTypes = __webpack_require__(5);
45119
45120 var _propTypes2 = _interopRequireDefault(_propTypes);
45121
45122 var _reactDom = __webpack_require__(12);
45123
45124 var _reactDom2 = _interopRequireDefault(_reactDom);
45125
45126 var _domAlign = __webpack_require__(50);
45127
45128 var _addEventListener = __webpack_require__(474);
45129
45130 var _addEventListener2 = _interopRequireDefault(_addEventListener);
45131
45132 var _util = __webpack_require__(478);
45133
45134 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
45135
45136 function getElement(func) {
45137 if (typeof func !== 'function' || !func) return null;
45138 return func();
45139 }
45140
45141 function getPoint(point) {
45142 if (typeof point !== 'object' || !point) return null;
45143 return point;
45144 }
45145
45146 var Align = function (_Component) {
45147 (0, _inherits3['default'])(Align, _Component);
45148
45149 function Align() {
45150 var _temp, _this, _ret;
45151
45152 (0, _classCallCheck3['default'])(this, Align);
45153
45154 for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
45155 args[_key] = arguments[_key];
45156 }
45157
45158 return _ret = (_temp = (_this = (0, _possibleConstructorReturn3['default'])(this, _Component.call.apply(_Component, [this].concat(args))), _this), _this.forceAlign = function () {
45159 var _this$props = _this.props,
45160 disabled = _this$props.disabled,
45161 target = _this$props.target,
45162 align = _this$props.align,
45163 onAlign = _this$props.onAlign;
45164
45165 if (!disabled && target) {
45166 var source = _reactDom2['default'].findDOMNode(_this);
45167
45168 var result = void 0;
45169 var element = getElement(target);
45170 var point = getPoint(target);
45171
45172 if (element) {
45173 result = (0, _domAlign.alignElement)(source, element, align);
45174 } else if (point) {
45175 result = (0, _domAlign.alignPoint)(source, point, align);
45176 }
45177
45178 if (onAlign) {
45179 onAlign(source, result);
45180 }
45181 }
45182 }, _temp), (0, _possibleConstructorReturn3['default'])(_this, _ret);
45183 }
45184
45185 Align.prototype.componentDidMount = function componentDidMount() {
45186 var props = this.props;
45187 // if parent ref not attached .... use document.getElementById
45188 this.forceAlign();
45189 if (!props.disabled && props.monitorWindowResize) {
45190 this.startMonitorWindowResize();
45191 }
45192 };
45193
45194 Align.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {
45195 var reAlign = false;
45196 var props = this.props;
45197
45198 if (!props.disabled) {
45199 var source = _reactDom2['default'].findDOMNode(this);
45200 var sourceRect = source ? source.getBoundingClientRect() : null;
45201
45202 if (prevProps.disabled) {
45203 reAlign = true;
45204 } else {
45205 var lastElement = getElement(prevProps.target);
45206 var currentElement = getElement(props.target);
45207 var lastPoint = getPoint(prevProps.target);
45208 var currentPoint = getPoint(props.target);
45209
45210 if ((0, _util.isWindow)(lastElement) && (0, _util.isWindow)(currentElement)) {
45211 // Skip if is window
45212 reAlign = false;
45213 } else if (lastElement !== currentElement || // Element change
45214 lastElement && !currentElement && currentPoint || // Change from element to point
45215 lastPoint && currentPoint && currentElement || // Change from point to element
45216 currentPoint && !(0, _util.isSamePoint)(lastPoint, currentPoint)) {
45217 reAlign = true;
45218 }
45219
45220 // If source element size changed
45221 var preRect = this.sourceRect || {};
45222 if (!reAlign && source && (preRect.width !== sourceRect.width || preRect.height !== sourceRect.height)) {
45223 reAlign = true;
45224 }
45225 }
45226
45227 this.sourceRect = sourceRect;
45228 }
45229
45230 if (reAlign) {
45231 this.forceAlign();
45232 }
45233
45234 if (props.monitorWindowResize && !props.disabled) {
45235 this.startMonitorWindowResize();
45236 } else {
45237 this.stopMonitorWindowResize();
45238 }
45239 };
45240
45241 Align.prototype.componentWillUnmount = function componentWillUnmount() {
45242 this.stopMonitorWindowResize();
45243 };
45244
45245 Align.prototype.startMonitorWindowResize = function startMonitorWindowResize() {
45246 if (!this.resizeHandler) {
45247 this.bufferMonitor = (0, _util.buffer)(this.forceAlign, this.props.monitorBufferTime);
45248 this.resizeHandler = (0, _addEventListener2['default'])(window, 'resize', this.bufferMonitor);
45249 }
45250 };
45251
45252 Align.prototype.stopMonitorWindowResize = function stopMonitorWindowResize() {
45253 if (this.resizeHandler) {
45254 this.bufferMonitor.clear();
45255 this.resizeHandler.remove();
45256 this.resizeHandler = null;
45257 }
45258 };
45259
45260 Align.prototype.render = function render() {
45261 var _this2 = this;
45262
45263 var _props = this.props,
45264 childrenProps = _props.childrenProps,
45265 children = _props.children;
45266
45267 var child = _react2['default'].Children.only(children);
45268 if (childrenProps) {
45269 var newProps = {};
45270 var propList = Object.keys(childrenProps);
45271 propList.forEach(function (prop) {
45272 newProps[prop] = _this2.props[childrenProps[prop]];
45273 });
45274
45275 return _react2['default'].cloneElement(child, newProps);
45276 }
45277 return child;
45278 };
45279
45280 return Align;
45281 }(_react.Component);
45282
45283 Align.propTypes = {
45284 childrenProps: _propTypes2['default'].object,
45285 align: _propTypes2['default'].object.isRequired,
45286 target: _propTypes2['default'].oneOfType([_propTypes2['default'].func, _propTypes2['default'].shape({
45287 clientX: _propTypes2['default'].number,
45288 clientY: _propTypes2['default'].number,
45289 pageX: _propTypes2['default'].number,
45290 pageY: _propTypes2['default'].number
45291 })]),
45292 onAlign: _propTypes2['default'].func,
45293 monitorBufferTime: _propTypes2['default'].number,
45294 monitorWindowResize: _propTypes2['default'].bool,
45295 disabled: _propTypes2['default'].bool,
45296 children: _propTypes2['default'].any
45297 };
45298 Align.defaultProps = {
45299 target: function target() {
45300 return window;
45301 },
45302 monitorBufferTime: 50,
45303 monitorWindowResize: false,
45304 disabled: false
45305 };
45306 exports['default'] = Align;
45307 module.exports = exports['default'];
45308
45309/***/ }),
45310/* 478 */
45311/***/ (function(module, exports) {
45312
45313 'use strict';
45314
45315 exports.__esModule = true;
45316 exports.buffer = buffer;
45317 exports.isSamePoint = isSamePoint;
45318 exports.isWindow = isWindow;
45319 function buffer(fn, ms) {
45320 var timer = void 0;
45321
45322 function clear() {
45323 if (timer) {
45324 clearTimeout(timer);
45325 timer = null;
45326 }
45327 }
45328
45329 function bufferFn() {
45330 clear();
45331 timer = setTimeout(fn, ms);
45332 }
45333
45334 bufferFn.clear = clear;
45335
45336 return bufferFn;
45337 }
45338
45339 function isSamePoint(prev, next) {
45340 if (prev === next) return true;
45341 if (!prev || !next) return false;
45342
45343 if ('pageX' in next && 'pageY' in next) {
45344 return prev.pageX === next.pageX && prev.pageY === next.pageY;
45345 }
45346
45347 if ('clientX' in next && 'clientY' in next) {
45348 return prev.clientX === next.clientX && prev.clientY === next.clientY;
45349 }
45350
45351 return false;
45352 }
45353
45354 function isWindow(obj) {
45355 return obj && typeof obj === 'object' && obj.window === obj;
45356 }
45357
45358/***/ }),
45359/* 479 */
45360/***/ (function(module, exports, __webpack_require__) {
45361
45362 'use strict';
45363
45364 Object.defineProperty(exports, "__esModule", {
45365 value: true
45366 });
45367
45368 var _extends2 = __webpack_require__(145);
45369
45370 var _extends3 = _interopRequireDefault(_extends2);
45371
45372 var _defineProperty2 = __webpack_require__(141);
45373
45374 var _defineProperty3 = _interopRequireDefault(_defineProperty2);
45375
45376 var _classCallCheck2 = __webpack_require__(250);
45377
45378 var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
45379
45380 var _createClass2 = __webpack_require__(251);
45381
45382 var _createClass3 = _interopRequireDefault(_createClass2);
45383
45384 var _possibleConstructorReturn2 = __webpack_require__(316);
45385
45386 var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
45387
45388 var _inherits2 = __webpack_require__(317);
45389
45390 var _inherits3 = _interopRequireDefault(_inherits2);
45391
45392 var _react = __webpack_require__(4);
45393
45394 var _react2 = _interopRequireDefault(_react);
45395
45396 var _propTypes = __webpack_require__(5);
45397
45398 var _propTypes2 = _interopRequireDefault(_propTypes);
45399
45400 var _ChildrenUtils = __webpack_require__(480);
45401
45402 var _AnimateChild = __webpack_require__(481);
45403
45404 var _AnimateChild2 = _interopRequireDefault(_AnimateChild);
45405
45406 var _util = __webpack_require__(484);
45407
45408 var _util2 = _interopRequireDefault(_util);
45409
45410 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
45411
45412 var defaultKey = 'rc_animate_' + Date.now();
45413
45414
45415 function getChildrenFromProps(props) {
45416 var children = props.children;
45417 if (_react2['default'].isValidElement(children)) {
45418 if (!children.key) {
45419 return _react2['default'].cloneElement(children, {
45420 key: defaultKey
45421 });
45422 }
45423 }
45424 return children;
45425 }
45426
45427 function noop() {}
45428
45429 var Animate = function (_React$Component) {
45430 (0, _inherits3['default'])(Animate, _React$Component);
45431
45432 // eslint-disable-line
45433
45434 function Animate(props) {
45435 (0, _classCallCheck3['default'])(this, Animate);
45436
45437 var _this = (0, _possibleConstructorReturn3['default'])(this, (Animate.__proto__ || Object.getPrototypeOf(Animate)).call(this, props));
45438
45439 _initialiseProps.call(_this);
45440
45441 _this.currentlyAnimatingKeys = {};
45442 _this.keysToEnter = [];
45443 _this.keysToLeave = [];
45444
45445 _this.state = {
45446 children: (0, _ChildrenUtils.toArrayChildren)(getChildrenFromProps(props))
45447 };
45448
45449 _this.childrenRefs = {};
45450 return _this;
45451 }
45452
45453 (0, _createClass3['default'])(Animate, [{
45454 key: 'componentDidMount',
45455 value: function componentDidMount() {
45456 var _this2 = this;
45457
45458 var showProp = this.props.showProp;
45459 var children = this.state.children;
45460 if (showProp) {
45461 children = children.filter(function (child) {
45462 return !!child.props[showProp];
45463 });
45464 }
45465 children.forEach(function (child) {
45466 if (child) {
45467 _this2.performAppear(child.key);
45468 }
45469 });
45470 }
45471 }, {
45472 key: 'componentWillReceiveProps',
45473 value: function componentWillReceiveProps(nextProps) {
45474 var _this3 = this;
45475
45476 this.nextProps = nextProps;
45477 var nextChildren = (0, _ChildrenUtils.toArrayChildren)(getChildrenFromProps(nextProps));
45478 var props = this.props;
45479 // exclusive needs immediate response
45480 if (props.exclusive) {
45481 Object.keys(this.currentlyAnimatingKeys).forEach(function (key) {
45482 _this3.stop(key);
45483 });
45484 }
45485 var showProp = props.showProp;
45486 var currentlyAnimatingKeys = this.currentlyAnimatingKeys;
45487 // last props children if exclusive
45488 var currentChildren = props.exclusive ? (0, _ChildrenUtils.toArrayChildren)(getChildrenFromProps(props)) : this.state.children;
45489 // in case destroy in showProp mode
45490 var newChildren = [];
45491 if (showProp) {
45492 currentChildren.forEach(function (currentChild) {
45493 var nextChild = currentChild && (0, _ChildrenUtils.findChildInChildrenByKey)(nextChildren, currentChild.key);
45494 var newChild = void 0;
45495 if ((!nextChild || !nextChild.props[showProp]) && currentChild.props[showProp]) {
45496 newChild = _react2['default'].cloneElement(nextChild || currentChild, (0, _defineProperty3['default'])({}, showProp, true));
45497 } else {
45498 newChild = nextChild;
45499 }
45500 if (newChild) {
45501 newChildren.push(newChild);
45502 }
45503 });
45504 nextChildren.forEach(function (nextChild) {
45505 if (!nextChild || !(0, _ChildrenUtils.findChildInChildrenByKey)(currentChildren, nextChild.key)) {
45506 newChildren.push(nextChild);
45507 }
45508 });
45509 } else {
45510 newChildren = (0, _ChildrenUtils.mergeChildren)(currentChildren, nextChildren);
45511 }
45512
45513 // need render to avoid update
45514 this.setState({
45515 children: newChildren
45516 });
45517
45518 nextChildren.forEach(function (child) {
45519 var key = child && child.key;
45520 if (child && currentlyAnimatingKeys[key]) {
45521 return;
45522 }
45523 var hasPrev = child && (0, _ChildrenUtils.findChildInChildrenByKey)(currentChildren, key);
45524 if (showProp) {
45525 var showInNext = child.props[showProp];
45526 if (hasPrev) {
45527 var showInNow = (0, _ChildrenUtils.findShownChildInChildrenByKey)(currentChildren, key, showProp);
45528 if (!showInNow && showInNext) {
45529 _this3.keysToEnter.push(key);
45530 }
45531 } else if (showInNext) {
45532 _this3.keysToEnter.push(key);
45533 }
45534 } else if (!hasPrev) {
45535 _this3.keysToEnter.push(key);
45536 }
45537 });
45538
45539 currentChildren.forEach(function (child) {
45540 var key = child && child.key;
45541 if (child && currentlyAnimatingKeys[key]) {
45542 return;
45543 }
45544 var hasNext = child && (0, _ChildrenUtils.findChildInChildrenByKey)(nextChildren, key);
45545 if (showProp) {
45546 var showInNow = child.props[showProp];
45547 if (hasNext) {
45548 var showInNext = (0, _ChildrenUtils.findShownChildInChildrenByKey)(nextChildren, key, showProp);
45549 if (!showInNext && showInNow) {
45550 _this3.keysToLeave.push(key);
45551 }
45552 } else if (showInNow) {
45553 _this3.keysToLeave.push(key);
45554 }
45555 } else if (!hasNext) {
45556 _this3.keysToLeave.push(key);
45557 }
45558 });
45559 }
45560 }, {
45561 key: 'componentDidUpdate',
45562 value: function componentDidUpdate() {
45563 var keysToEnter = this.keysToEnter;
45564 this.keysToEnter = [];
45565 keysToEnter.forEach(this.performEnter);
45566 var keysToLeave = this.keysToLeave;
45567 this.keysToLeave = [];
45568 keysToLeave.forEach(this.performLeave);
45569 }
45570 }, {
45571 key: 'isValidChildByKey',
45572 value: function isValidChildByKey(currentChildren, key) {
45573 var showProp = this.props.showProp;
45574 if (showProp) {
45575 return (0, _ChildrenUtils.findShownChildInChildrenByKey)(currentChildren, key, showProp);
45576 }
45577 return (0, _ChildrenUtils.findChildInChildrenByKey)(currentChildren, key);
45578 }
45579 }, {
45580 key: 'stop',
45581 value: function stop(key) {
45582 delete this.currentlyAnimatingKeys[key];
45583 var component = this.childrenRefs[key];
45584 if (component) {
45585 component.stop();
45586 }
45587 }
45588 }, {
45589 key: 'render',
45590 value: function render() {
45591 var _this4 = this;
45592
45593 var props = this.props;
45594 this.nextProps = props;
45595 var stateChildren = this.state.children;
45596 var children = null;
45597 if (stateChildren) {
45598 children = stateChildren.map(function (child) {
45599 if (child === null || child === undefined) {
45600 return child;
45601 }
45602 if (!child.key) {
45603 throw new Error('must set key for <rc-animate> children');
45604 }
45605 return _react2['default'].createElement(
45606 _AnimateChild2['default'],
45607 {
45608 key: child.key,
45609 ref: function ref(node) {
45610 return _this4.childrenRefs[child.key] = node;
45611 },
45612 animation: props.animation,
45613 transitionName: props.transitionName,
45614 transitionEnter: props.transitionEnter,
45615 transitionAppear: props.transitionAppear,
45616 transitionLeave: props.transitionLeave
45617 },
45618 child
45619 );
45620 });
45621 }
45622 var Component = props.component;
45623 if (Component) {
45624 var passedProps = props;
45625 if (typeof Component === 'string') {
45626 passedProps = (0, _extends3['default'])({
45627 className: props.className,
45628 style: props.style
45629 }, props.componentProps);
45630 }
45631 return _react2['default'].createElement(
45632 Component,
45633 passedProps,
45634 children
45635 );
45636 }
45637 return children[0] || null;
45638 }
45639 }]);
45640 return Animate;
45641 }(_react2['default'].Component);
45642
45643 Animate.isAnimate = true;
45644 Animate.propTypes = {
45645 component: _propTypes2['default'].any,
45646 componentProps: _propTypes2['default'].object,
45647 animation: _propTypes2['default'].object,
45648 transitionName: _propTypes2['default'].oneOfType([_propTypes2['default'].string, _propTypes2['default'].object]),
45649 transitionEnter: _propTypes2['default'].bool,
45650 transitionAppear: _propTypes2['default'].bool,
45651 exclusive: _propTypes2['default'].bool,
45652 transitionLeave: _propTypes2['default'].bool,
45653 onEnd: _propTypes2['default'].func,
45654 onEnter: _propTypes2['default'].func,
45655 onLeave: _propTypes2['default'].func,
45656 onAppear: _propTypes2['default'].func,
45657 showProp: _propTypes2['default'].string
45658 };
45659 Animate.defaultProps = {
45660 animation: {},
45661 component: 'span',
45662 componentProps: {},
45663 transitionEnter: true,
45664 transitionLeave: true,
45665 transitionAppear: false,
45666 onEnd: noop,
45667 onEnter: noop,
45668 onLeave: noop,
45669 onAppear: noop
45670 };
45671
45672 var _initialiseProps = function _initialiseProps() {
45673 var _this5 = this;
45674
45675 this.performEnter = function (key) {
45676 // may already remove by exclusive
45677 if (_this5.childrenRefs[key]) {
45678 _this5.currentlyAnimatingKeys[key] = true;
45679 _this5.childrenRefs[key].componentWillEnter(_this5.handleDoneAdding.bind(_this5, key, 'enter'));
45680 }
45681 };
45682
45683 this.performAppear = function (key) {
45684 if (_this5.childrenRefs[key]) {
45685 _this5.currentlyAnimatingKeys[key] = true;
45686 _this5.childrenRefs[key].componentWillAppear(_this5.handleDoneAdding.bind(_this5, key, 'appear'));
45687 }
45688 };
45689
45690 this.handleDoneAdding = function (key, type) {
45691 var props = _this5.props;
45692 delete _this5.currentlyAnimatingKeys[key];
45693 // if update on exclusive mode, skip check
45694 if (props.exclusive && props !== _this5.nextProps) {
45695 return;
45696 }
45697 var currentChildren = (0, _ChildrenUtils.toArrayChildren)(getChildrenFromProps(props));
45698 if (!_this5.isValidChildByKey(currentChildren, key)) {
45699 // exclusive will not need this
45700 _this5.performLeave(key);
45701 } else {
45702 if (type === 'appear') {
45703 if (_util2['default'].allowAppearCallback(props)) {
45704 props.onAppear(key);
45705 props.onEnd(key, true);
45706 }
45707 } else {
45708 if (_util2['default'].allowEnterCallback(props)) {
45709 props.onEnter(key);
45710 props.onEnd(key, true);
45711 }
45712 }
45713 }
45714 };
45715
45716 this.performLeave = function (key) {
45717 // may already remove by exclusive
45718 if (_this5.childrenRefs[key]) {
45719 _this5.currentlyAnimatingKeys[key] = true;
45720 _this5.childrenRefs[key].componentWillLeave(_this5.handleDoneLeaving.bind(_this5, key));
45721 }
45722 };
45723
45724 this.handleDoneLeaving = function (key) {
45725 var props = _this5.props;
45726 delete _this5.currentlyAnimatingKeys[key];
45727 // if update on exclusive mode, skip check
45728 if (props.exclusive && props !== _this5.nextProps) {
45729 return;
45730 }
45731 var currentChildren = (0, _ChildrenUtils.toArrayChildren)(getChildrenFromProps(props));
45732 // in case state change is too fast
45733 if (_this5.isValidChildByKey(currentChildren, key)) {
45734 _this5.performEnter(key);
45735 } else {
45736 var end = function end() {
45737 if (_util2['default'].allowLeaveCallback(props)) {
45738 props.onLeave(key);
45739 props.onEnd(key, false);
45740 }
45741 };
45742 if (!(0, _ChildrenUtils.isSameChildren)(_this5.state.children, currentChildren, props.showProp)) {
45743 _this5.setState({
45744 children: currentChildren
45745 }, end);
45746 } else {
45747 end();
45748 }
45749 }
45750 };
45751 };
45752
45753 exports['default'] = Animate;
45754 module.exports = exports['default'];
45755
45756/***/ }),
45757/* 480 */
45758/***/ (function(module, exports, __webpack_require__) {
45759
45760 'use strict';
45761
45762 Object.defineProperty(exports, "__esModule", {
45763 value: true
45764 });
45765 exports.toArrayChildren = toArrayChildren;
45766 exports.findChildInChildrenByKey = findChildInChildrenByKey;
45767 exports.findShownChildInChildrenByKey = findShownChildInChildrenByKey;
45768 exports.findHiddenChildInChildrenByKey = findHiddenChildInChildrenByKey;
45769 exports.isSameChildren = isSameChildren;
45770 exports.mergeChildren = mergeChildren;
45771
45772 var _react = __webpack_require__(4);
45773
45774 var _react2 = _interopRequireDefault(_react);
45775
45776 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
45777
45778 function toArrayChildren(children) {
45779 var ret = [];
45780 _react2['default'].Children.forEach(children, function (child) {
45781 ret.push(child);
45782 });
45783 return ret;
45784 }
45785
45786 function findChildInChildrenByKey(children, key) {
45787 var ret = null;
45788 if (children) {
45789 children.forEach(function (child) {
45790 if (ret) {
45791 return;
45792 }
45793 if (child && child.key === key) {
45794 ret = child;
45795 }
45796 });
45797 }
45798 return ret;
45799 }
45800
45801 function findShownChildInChildrenByKey(children, key, showProp) {
45802 var ret = null;
45803 if (children) {
45804 children.forEach(function (child) {
45805 if (child && child.key === key && child.props[showProp]) {
45806 if (ret) {
45807 throw new Error('two child with same key for <rc-animate> children');
45808 }
45809 ret = child;
45810 }
45811 });
45812 }
45813 return ret;
45814 }
45815
45816 function findHiddenChildInChildrenByKey(children, key, showProp) {
45817 var found = 0;
45818 if (children) {
45819 children.forEach(function (child) {
45820 if (found) {
45821 return;
45822 }
45823 found = child && child.key === key && !child.props[showProp];
45824 });
45825 }
45826 return found;
45827 }
45828
45829 function isSameChildren(c1, c2, showProp) {
45830 var same = c1.length === c2.length;
45831 if (same) {
45832 c1.forEach(function (child, index) {
45833 var child2 = c2[index];
45834 if (child && child2) {
45835 if (child && !child2 || !child && child2) {
45836 same = false;
45837 } else if (child.key !== child2.key) {
45838 same = false;
45839 } else if (showProp && child.props[showProp] !== child2.props[showProp]) {
45840 same = false;
45841 }
45842 }
45843 });
45844 }
45845 return same;
45846 }
45847
45848 function mergeChildren(prev, next) {
45849 var ret = [];
45850
45851 // For each key of `next`, the list of keys to insert before that key in
45852 // the combined list
45853 var nextChildrenPending = {};
45854 var pendingChildren = [];
45855 prev.forEach(function (child) {
45856 if (child && findChildInChildrenByKey(next, child.key)) {
45857 if (pendingChildren.length) {
45858 nextChildrenPending[child.key] = pendingChildren;
45859 pendingChildren = [];
45860 }
45861 } else {
45862 pendingChildren.push(child);
45863 }
45864 });
45865
45866 next.forEach(function (child) {
45867 if (child && nextChildrenPending.hasOwnProperty(child.key)) {
45868 ret = ret.concat(nextChildrenPending[child.key]);
45869 }
45870 ret.push(child);
45871 });
45872
45873 ret = ret.concat(pendingChildren);
45874
45875 return ret;
45876 }
45877
45878/***/ }),
45879/* 481 */
45880/***/ (function(module, exports, __webpack_require__) {
45881
45882 'use strict';
45883
45884 Object.defineProperty(exports, "__esModule", {
45885 value: true
45886 });
45887
45888 var _typeof2 = __webpack_require__(74);
45889
45890 var _typeof3 = _interopRequireDefault(_typeof2);
45891
45892 var _classCallCheck2 = __webpack_require__(250);
45893
45894 var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
45895
45896 var _createClass2 = __webpack_require__(251);
45897
45898 var _createClass3 = _interopRequireDefault(_createClass2);
45899
45900 var _possibleConstructorReturn2 = __webpack_require__(316);
45901
45902 var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
45903
45904 var _inherits2 = __webpack_require__(317);
45905
45906 var _inherits3 = _interopRequireDefault(_inherits2);
45907
45908 var _react = __webpack_require__(4);
45909
45910 var _react2 = _interopRequireDefault(_react);
45911
45912 var _reactDom = __webpack_require__(12);
45913
45914 var _reactDom2 = _interopRequireDefault(_reactDom);
45915
45916 var _propTypes = __webpack_require__(5);
45917
45918 var _propTypes2 = _interopRequireDefault(_propTypes);
45919
45920 var _cssAnimation = __webpack_require__(482);
45921
45922 var _cssAnimation2 = _interopRequireDefault(_cssAnimation);
45923
45924 var _util = __webpack_require__(484);
45925
45926 var _util2 = _interopRequireDefault(_util);
45927
45928 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
45929
45930 var transitionMap = {
45931 enter: 'transitionEnter',
45932 appear: 'transitionAppear',
45933 leave: 'transitionLeave'
45934 };
45935
45936 var AnimateChild = function (_React$Component) {
45937 (0, _inherits3['default'])(AnimateChild, _React$Component);
45938
45939 function AnimateChild() {
45940 (0, _classCallCheck3['default'])(this, AnimateChild);
45941 return (0, _possibleConstructorReturn3['default'])(this, (AnimateChild.__proto__ || Object.getPrototypeOf(AnimateChild)).apply(this, arguments));
45942 }
45943
45944 (0, _createClass3['default'])(AnimateChild, [{
45945 key: 'componentWillUnmount',
45946 value: function componentWillUnmount() {
45947 this.stop();
45948 }
45949 }, {
45950 key: 'componentWillEnter',
45951 value: function componentWillEnter(done) {
45952 if (_util2['default'].isEnterSupported(this.props)) {
45953 this.transition('enter', done);
45954 } else {
45955 done();
45956 }
45957 }
45958 }, {
45959 key: 'componentWillAppear',
45960 value: function componentWillAppear(done) {
45961 if (_util2['default'].isAppearSupported(this.props)) {
45962 this.transition('appear', done);
45963 } else {
45964 done();
45965 }
45966 }
45967 }, {
45968 key: 'componentWillLeave',
45969 value: function componentWillLeave(done) {
45970 if (_util2['default'].isLeaveSupported(this.props)) {
45971 this.transition('leave', done);
45972 } else {
45973 // always sync, do not interupt with react component life cycle
45974 // update hidden -> animate hidden ->
45975 // didUpdate -> animate leave -> unmount (if animate is none)
45976 done();
45977 }
45978 }
45979 }, {
45980 key: 'transition',
45981 value: function transition(animationType, finishCallback) {
45982 var _this2 = this;
45983
45984 var node = _reactDom2['default'].findDOMNode(this);
45985 var props = this.props;
45986 var transitionName = props.transitionName;
45987 var nameIsObj = (typeof transitionName === 'undefined' ? 'undefined' : (0, _typeof3['default'])(transitionName)) === 'object';
45988 this.stop();
45989 var end = function end() {
45990 _this2.stopper = null;
45991 finishCallback();
45992 };
45993 if ((_cssAnimation.isCssAnimationSupported || !props.animation[animationType]) && transitionName && props[transitionMap[animationType]]) {
45994 var name = nameIsObj ? transitionName[animationType] : transitionName + '-' + animationType;
45995 var activeName = name + '-active';
45996 if (nameIsObj && transitionName[animationType + 'Active']) {
45997 activeName = transitionName[animationType + 'Active'];
45998 }
45999 this.stopper = (0, _cssAnimation2['default'])(node, {
46000 name: name,
46001 active: activeName
46002 }, end);
46003 } else {
46004 this.stopper = props.animation[animationType](node, end);
46005 }
46006 }
46007 }, {
46008 key: 'stop',
46009 value: function stop() {
46010 var stopper = this.stopper;
46011 if (stopper) {
46012 this.stopper = null;
46013 stopper.stop();
46014 }
46015 }
46016 }, {
46017 key: 'render',
46018 value: function render() {
46019 return this.props.children;
46020 }
46021 }]);
46022 return AnimateChild;
46023 }(_react2['default'].Component);
46024
46025 AnimateChild.propTypes = {
46026 children: _propTypes2['default'].any
46027 };
46028 exports['default'] = AnimateChild;
46029 module.exports = exports['default'];
46030
46031/***/ }),
46032/* 482 */
46033/***/ (function(module, exports, __webpack_require__) {
46034
46035 'use strict';
46036
46037 Object.defineProperty(exports, "__esModule", {
46038 value: true
46039 });
46040 exports.isCssAnimationSupported = undefined;
46041
46042 var _typeof2 = __webpack_require__(74);
46043
46044 var _typeof3 = _interopRequireDefault(_typeof2);
46045
46046 var _Event = __webpack_require__(483);
46047
46048 var _Event2 = _interopRequireDefault(_Event);
46049
46050 var _componentClasses = __webpack_require__(46);
46051
46052 var _componentClasses2 = _interopRequireDefault(_componentClasses);
46053
46054 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
46055
46056 var isCssAnimationSupported = _Event2['default'].endEvents.length !== 0;
46057 var capitalPrefixes = ['Webkit', 'Moz', 'O',
46058 // ms is special .... !
46059 'ms'];
46060 var prefixes = ['-webkit-', '-moz-', '-o-', 'ms-', ''];
46061
46062 function getStyleProperty(node, name) {
46063 // old ff need null, https://developer.mozilla.org/en-US/docs/Web/API/Window/getComputedStyle
46064 var style = window.getComputedStyle(node, null);
46065 var ret = '';
46066 for (var i = 0; i < prefixes.length; i++) {
46067 ret = style.getPropertyValue(prefixes[i] + name);
46068 if (ret) {
46069 break;
46070 }
46071 }
46072 return ret;
46073 }
46074
46075 function fixBrowserByTimeout(node) {
46076 if (isCssAnimationSupported) {
46077 var transitionDelay = parseFloat(getStyleProperty(node, 'transition-delay')) || 0;
46078 var transitionDuration = parseFloat(getStyleProperty(node, 'transition-duration')) || 0;
46079 var animationDelay = parseFloat(getStyleProperty(node, 'animation-delay')) || 0;
46080 var animationDuration = parseFloat(getStyleProperty(node, 'animation-duration')) || 0;
46081 var time = Math.max(transitionDuration + transitionDelay, animationDuration + animationDelay);
46082 // sometimes, browser bug
46083 node.rcEndAnimTimeout = setTimeout(function () {
46084 node.rcEndAnimTimeout = null;
46085 if (node.rcEndListener) {
46086 node.rcEndListener();
46087 }
46088 }, time * 1000 + 200);
46089 }
46090 }
46091
46092 function clearBrowserBugTimeout(node) {
46093 if (node.rcEndAnimTimeout) {
46094 clearTimeout(node.rcEndAnimTimeout);
46095 node.rcEndAnimTimeout = null;
46096 }
46097 }
46098
46099 var cssAnimation = function cssAnimation(node, transitionName, endCallback) {
46100 var nameIsObj = (typeof transitionName === 'undefined' ? 'undefined' : (0, _typeof3['default'])(transitionName)) === 'object';
46101 var className = nameIsObj ? transitionName.name : transitionName;
46102 var activeClassName = nameIsObj ? transitionName.active : transitionName + '-active';
46103 var end = endCallback;
46104 var start = void 0;
46105 var active = void 0;
46106 var nodeClasses = (0, _componentClasses2['default'])(node);
46107
46108 if (endCallback && Object.prototype.toString.call(endCallback) === '[object Object]') {
46109 end = endCallback.end;
46110 start = endCallback.start;
46111 active = endCallback.active;
46112 }
46113
46114 if (node.rcEndListener) {
46115 node.rcEndListener();
46116 }
46117
46118 node.rcEndListener = function (e) {
46119 if (e && e.target !== node) {
46120 return;
46121 }
46122
46123 if (node.rcAnimTimeout) {
46124 clearTimeout(node.rcAnimTimeout);
46125 node.rcAnimTimeout = null;
46126 }
46127
46128 clearBrowserBugTimeout(node);
46129
46130 nodeClasses.remove(className);
46131 nodeClasses.remove(activeClassName);
46132
46133 _Event2['default'].removeEndEventListener(node, node.rcEndListener);
46134 node.rcEndListener = null;
46135
46136 // Usually this optional end is used for informing an owner of
46137 // a leave animation and telling it to remove the child.
46138 if (end) {
46139 end();
46140 }
46141 };
46142
46143 _Event2['default'].addEndEventListener(node, node.rcEndListener);
46144
46145 if (start) {
46146 start();
46147 }
46148 nodeClasses.add(className);
46149
46150 node.rcAnimTimeout = setTimeout(function () {
46151 node.rcAnimTimeout = null;
46152 nodeClasses.add(activeClassName);
46153 if (active) {
46154 setTimeout(active, 0);
46155 }
46156 fixBrowserByTimeout(node);
46157 // 30ms for firefox
46158 }, 30);
46159
46160 return {
46161 stop: function stop() {
46162 if (node.rcEndListener) {
46163 node.rcEndListener();
46164 }
46165 }
46166 };
46167 };
46168
46169 cssAnimation.style = function (node, style, callback) {
46170 if (node.rcEndListener) {
46171 node.rcEndListener();
46172 }
46173
46174 node.rcEndListener = function (e) {
46175 if (e && e.target !== node) {
46176 return;
46177 }
46178
46179 if (node.rcAnimTimeout) {
46180 clearTimeout(node.rcAnimTimeout);
46181 node.rcAnimTimeout = null;
46182 }
46183
46184 clearBrowserBugTimeout(node);
46185
46186 _Event2['default'].removeEndEventListener(node, node.rcEndListener);
46187 node.rcEndListener = null;
46188
46189 // Usually this optional callback is used for informing an owner of
46190 // a leave animation and telling it to remove the child.
46191 if (callback) {
46192 callback();
46193 }
46194 };
46195
46196 _Event2['default'].addEndEventListener(node, node.rcEndListener);
46197
46198 node.rcAnimTimeout = setTimeout(function () {
46199 for (var s in style) {
46200 if (style.hasOwnProperty(s)) {
46201 node.style[s] = style[s];
46202 }
46203 }
46204 node.rcAnimTimeout = null;
46205 fixBrowserByTimeout(node);
46206 }, 0);
46207 };
46208
46209 cssAnimation.setTransition = function (node, p, value) {
46210 var property = p;
46211 var v = value;
46212 if (value === undefined) {
46213 v = property;
46214 property = '';
46215 }
46216 property = property || '';
46217 capitalPrefixes.forEach(function (prefix) {
46218 node.style[prefix + 'Transition' + property] = v;
46219 });
46220 };
46221
46222 cssAnimation.isCssAnimationSupported = isCssAnimationSupported;
46223
46224 exports.isCssAnimationSupported = isCssAnimationSupported;
46225 exports['default'] = cssAnimation;
46226
46227/***/ }),
46228/* 483 */
46229/***/ (function(module, exports) {
46230
46231 'use strict';
46232
46233 Object.defineProperty(exports, "__esModule", {
46234 value: true
46235 });
46236 var EVENT_NAME_MAP = {
46237 transitionend: {
46238 transition: 'transitionend',
46239 WebkitTransition: 'webkitTransitionEnd',
46240 MozTransition: 'mozTransitionEnd',
46241 OTransition: 'oTransitionEnd',
46242 msTransition: 'MSTransitionEnd'
46243 },
46244
46245 animationend: {
46246 animation: 'animationend',
46247 WebkitAnimation: 'webkitAnimationEnd',
46248 MozAnimation: 'mozAnimationEnd',
46249 OAnimation: 'oAnimationEnd',
46250 msAnimation: 'MSAnimationEnd'
46251 }
46252 };
46253
46254 var endEvents = [];
46255
46256 function detectEvents() {
46257 var testEl = document.createElement('div');
46258 var style = testEl.style;
46259
46260 if (!('AnimationEvent' in window)) {
46261 delete EVENT_NAME_MAP.animationend.animation;
46262 }
46263
46264 if (!('TransitionEvent' in window)) {
46265 delete EVENT_NAME_MAP.transitionend.transition;
46266 }
46267
46268 for (var baseEventName in EVENT_NAME_MAP) {
46269 if (EVENT_NAME_MAP.hasOwnProperty(baseEventName)) {
46270 var baseEvents = EVENT_NAME_MAP[baseEventName];
46271 for (var styleName in baseEvents) {
46272 if (styleName in style) {
46273 endEvents.push(baseEvents[styleName]);
46274 break;
46275 }
46276 }
46277 }
46278 }
46279 }
46280
46281 if (typeof window !== 'undefined' && typeof document !== 'undefined') {
46282 detectEvents();
46283 }
46284
46285 function addEventListener(node, eventName, eventListener) {
46286 node.addEventListener(eventName, eventListener, false);
46287 }
46288
46289 function removeEventListener(node, eventName, eventListener) {
46290 node.removeEventListener(eventName, eventListener, false);
46291 }
46292
46293 var TransitionEvents = {
46294 addEndEventListener: function addEndEventListener(node, eventListener) {
46295 if (endEvents.length === 0) {
46296 window.setTimeout(eventListener, 0);
46297 return;
46298 }
46299 endEvents.forEach(function (endEvent) {
46300 addEventListener(node, endEvent, eventListener);
46301 });
46302 },
46303
46304
46305 endEvents: endEvents,
46306
46307 removeEndEventListener: function removeEndEventListener(node, eventListener) {
46308 if (endEvents.length === 0) {
46309 return;
46310 }
46311 endEvents.forEach(function (endEvent) {
46312 removeEventListener(node, endEvent, eventListener);
46313 });
46314 }
46315 };
46316
46317 exports['default'] = TransitionEvents;
46318 module.exports = exports['default'];
46319
46320/***/ }),
46321/* 484 */
46322/***/ (function(module, exports) {
46323
46324 "use strict";
46325
46326 Object.defineProperty(exports, "__esModule", {
46327 value: true
46328 });
46329 var util = {
46330 isAppearSupported: function isAppearSupported(props) {
46331 return props.transitionName && props.transitionAppear || props.animation.appear;
46332 },
46333 isEnterSupported: function isEnterSupported(props) {
46334 return props.transitionName && props.transitionEnter || props.animation.enter;
46335 },
46336 isLeaveSupported: function isLeaveSupported(props) {
46337 return props.transitionName && props.transitionLeave || props.animation.leave;
46338 },
46339 allowAppearCallback: function allowAppearCallback(props) {
46340 return props.transitionAppear || props.animation.appear;
46341 },
46342 allowEnterCallback: function allowEnterCallback(props) {
46343 return props.transitionEnter || props.animation.enter;
46344 },
46345 allowLeaveCallback: function allowLeaveCallback(props) {
46346 return props.transitionLeave || props.animation.leave;
46347 }
46348 };
46349 exports["default"] = util;
46350 module.exports = exports['default'];
46351
46352/***/ }),
46353/* 485 */
46354/***/ (function(module, exports, __webpack_require__) {
46355
46356 'use strict';
46357
46358 exports.__esModule = true;
46359
46360 var _classCallCheck2 = __webpack_require__(250);
46361
46362 var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
46363
46364 var _possibleConstructorReturn2 = __webpack_require__(316);
46365
46366 var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
46367
46368 var _inherits2 = __webpack_require__(317);
46369
46370 var _inherits3 = _interopRequireDefault(_inherits2);
46371
46372 var _react = __webpack_require__(4);
46373
46374 var _react2 = _interopRequireDefault(_react);
46375
46376 var _propTypes = __webpack_require__(5);
46377
46378 var _propTypes2 = _interopRequireDefault(_propTypes);
46379
46380 var _LazyRenderBox = __webpack_require__(486);
46381
46382 var _LazyRenderBox2 = _interopRequireDefault(_LazyRenderBox);
46383
46384 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
46385
46386 var PopupInner = function (_Component) {
46387 (0, _inherits3['default'])(PopupInner, _Component);
46388
46389 function PopupInner() {
46390 (0, _classCallCheck3['default'])(this, PopupInner);
46391 return (0, _possibleConstructorReturn3['default'])(this, _Component.apply(this, arguments));
46392 }
46393
46394 PopupInner.prototype.render = function render() {
46395 var props = this.props;
46396 var className = props.className;
46397 if (!props.visible) {
46398 className += ' ' + props.hiddenClassName;
46399 }
46400 return _react2['default'].createElement(
46401 'div',
46402 {
46403 className: className,
46404 onMouseEnter: props.onMouseEnter,
46405 onMouseLeave: props.onMouseLeave,
46406 style: props.style
46407 },
46408 _react2['default'].createElement(
46409 _LazyRenderBox2['default'],
46410 { className: props.prefixCls + '-content', visible: props.visible },
46411 props.children
46412 )
46413 );
46414 };
46415
46416 return PopupInner;
46417 }(_react.Component);
46418
46419 PopupInner.propTypes = {
46420 hiddenClassName: _propTypes2['default'].string,
46421 className: _propTypes2['default'].string,
46422 prefixCls: _propTypes2['default'].string,
46423 onMouseEnter: _propTypes2['default'].func,
46424 onMouseLeave: _propTypes2['default'].func,
46425 children: _propTypes2['default'].any
46426 };
46427 exports['default'] = PopupInner;
46428 module.exports = exports['default'];
46429
46430/***/ }),
46431/* 486 */
46432/***/ (function(module, exports, __webpack_require__) {
46433
46434 'use strict';
46435
46436 exports.__esModule = true;
46437
46438 var _objectWithoutProperties2 = __webpack_require__(73);
46439
46440 var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
46441
46442 var _classCallCheck2 = __webpack_require__(250);
46443
46444 var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
46445
46446 var _possibleConstructorReturn2 = __webpack_require__(316);
46447
46448 var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
46449
46450 var _inherits2 = __webpack_require__(317);
46451
46452 var _inherits3 = _interopRequireDefault(_inherits2);
46453
46454 var _react = __webpack_require__(4);
46455
46456 var _react2 = _interopRequireDefault(_react);
46457
46458 var _propTypes = __webpack_require__(5);
46459
46460 var _propTypes2 = _interopRequireDefault(_propTypes);
46461
46462 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
46463
46464 var LazyRenderBox = function (_Component) {
46465 (0, _inherits3['default'])(LazyRenderBox, _Component);
46466
46467 function LazyRenderBox() {
46468 (0, _classCallCheck3['default'])(this, LazyRenderBox);
46469 return (0, _possibleConstructorReturn3['default'])(this, _Component.apply(this, arguments));
46470 }
46471
46472 LazyRenderBox.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {
46473 return nextProps.hiddenClassName || nextProps.visible;
46474 };
46475
46476 LazyRenderBox.prototype.render = function render() {
46477 var _props = this.props,
46478 hiddenClassName = _props.hiddenClassName,
46479 visible = _props.visible,
46480 props = (0, _objectWithoutProperties3['default'])(_props, ['hiddenClassName', 'visible']);
46481
46482
46483 if (hiddenClassName || _react2['default'].Children.count(props.children) > 1) {
46484 if (!visible && hiddenClassName) {
46485 props.className += ' ' + hiddenClassName;
46486 }
46487 return _react2['default'].createElement('div', props);
46488 }
46489
46490 return _react2['default'].Children.only(props.children);
46491 };
46492
46493 return LazyRenderBox;
46494 }(_react.Component);
46495
46496 LazyRenderBox.propTypes = {
46497 children: _propTypes2['default'].any,
46498 className: _propTypes2['default'].string,
46499 visible: _propTypes2['default'].bool,
46500 hiddenClassName: _propTypes2['default'].string
46501 };
46502 exports['default'] = LazyRenderBox;
46503 module.exports = exports['default'];
46504
46505/***/ }),
46506/* 487 */
46507/***/ (function(module, exports, __webpack_require__) {
46508
46509 'use strict';
46510
46511 exports.__esModule = true;
46512
46513 var _extends2 = __webpack_require__(145);
46514
46515 var _extends3 = _interopRequireDefault(_extends2);
46516
46517 exports.getAlignFromPlacement = getAlignFromPlacement;
46518 exports.getAlignPopupClassName = getAlignPopupClassName;
46519 exports.saveRef = saveRef;
46520
46521 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
46522
46523 function isPointsEq(a1, a2, isAlignPoint) {
46524 if (isAlignPoint) {
46525 return a1[0] === a2[0];
46526 }
46527 return a1[0] === a2[0] && a1[1] === a2[1];
46528 }
46529
46530 function getAlignFromPlacement(builtinPlacements, placementStr, align) {
46531 var baseAlign = builtinPlacements[placementStr] || {};
46532 return (0, _extends3['default'])({}, baseAlign, align);
46533 }
46534
46535 function getAlignPopupClassName(builtinPlacements, prefixCls, align, isAlignPoint) {
46536 var points = align.points;
46537 for (var placement in builtinPlacements) {
46538 if (builtinPlacements.hasOwnProperty(placement)) {
46539 if (isPointsEq(builtinPlacements[placement].points, points, isAlignPoint)) {
46540 return prefixCls + '-placement-' + placement;
46541 }
46542 }
46543 }
46544 return '';
46545 }
46546
46547 function saveRef(name, component) {
46548 this[name] = component;
46549 }
46550
46551/***/ }),
46552/* 488 */
46553/***/ (function(module, exports, __webpack_require__) {
46554
46555 'use strict';
46556
46557 Object.defineProperty(exports, "__esModule", {
46558 value: true
46559 });
46560
46561 var _classCallCheck2 = __webpack_require__(250);
46562
46563 var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
46564
46565 var _createClass2 = __webpack_require__(251);
46566
46567 var _createClass3 = _interopRequireDefault(_createClass2);
46568
46569 var _possibleConstructorReturn2 = __webpack_require__(316);
46570
46571 var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
46572
46573 var _inherits2 = __webpack_require__(317);
46574
46575 var _inherits3 = _interopRequireDefault(_inherits2);
46576
46577 var _react = __webpack_require__(4);
46578
46579 var _react2 = _interopRequireDefault(_react);
46580
46581 var _reactDom = __webpack_require__(12);
46582
46583 var _reactDom2 = _interopRequireDefault(_reactDom);
46584
46585 var _propTypes = __webpack_require__(5);
46586
46587 var _propTypes2 = _interopRequireDefault(_propTypes);
46588
46589 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
46590
46591 var ContainerRender = function (_React$Component) {
46592 (0, _inherits3['default'])(ContainerRender, _React$Component);
46593
46594 function ContainerRender() {
46595 var _ref;
46596
46597 var _temp, _this, _ret;
46598
46599 (0, _classCallCheck3['default'])(this, ContainerRender);
46600
46601 for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
46602 args[_key] = arguments[_key];
46603 }
46604
46605 return _ret = (_temp = (_this = (0, _possibleConstructorReturn3['default'])(this, (_ref = ContainerRender.__proto__ || Object.getPrototypeOf(ContainerRender)).call.apply(_ref, [this].concat(args))), _this), _this.removeContainer = function () {
46606 if (_this.container) {
46607 _reactDom2['default'].unmountComponentAtNode(_this.container);
46608 _this.container.parentNode.removeChild(_this.container);
46609 _this.container = null;
46610 }
46611 }, _this.renderComponent = function (props, ready) {
46612 var _this$props = _this.props,
46613 visible = _this$props.visible,
46614 getComponent = _this$props.getComponent,
46615 forceRender = _this$props.forceRender,
46616 getContainer = _this$props.getContainer,
46617 parent = _this$props.parent;
46618
46619 if (visible || parent._component || forceRender) {
46620 if (!_this.container) {
46621 _this.container = getContainer();
46622 }
46623 _reactDom2['default'].unstable_renderSubtreeIntoContainer(parent, getComponent(props), _this.container, function callback() {
46624 if (ready) {
46625 ready.call(this);
46626 }
46627 });
46628 }
46629 }, _temp), (0, _possibleConstructorReturn3['default'])(_this, _ret);
46630 }
46631
46632 (0, _createClass3['default'])(ContainerRender, [{
46633 key: 'componentDidMount',
46634 value: function componentDidMount() {
46635 if (this.props.autoMount) {
46636 this.renderComponent();
46637 }
46638 }
46639 }, {
46640 key: 'componentDidUpdate',
46641 value: function componentDidUpdate() {
46642 if (this.props.autoMount) {
46643 this.renderComponent();
46644 }
46645 }
46646 }, {
46647 key: 'componentWillUnmount',
46648 value: function componentWillUnmount() {
46649 if (this.props.autoDestroy) {
46650 this.removeContainer();
46651 }
46652 }
46653 }, {
46654 key: 'render',
46655 value: function render() {
46656 return this.props.children({
46657 renderComponent: this.renderComponent,
46658 removeContainer: this.removeContainer
46659 });
46660 }
46661 }]);
46662 return ContainerRender;
46663 }(_react2['default'].Component);
46664
46665 ContainerRender.propTypes = {
46666 autoMount: _propTypes2['default'].bool,
46667 autoDestroy: _propTypes2['default'].bool,
46668 visible: _propTypes2['default'].bool,
46669 forceRender: _propTypes2['default'].bool,
46670 parent: _propTypes2['default'].any,
46671 getComponent: _propTypes2['default'].func.isRequired,
46672 getContainer: _propTypes2['default'].func.isRequired,
46673 children: _propTypes2['default'].func.isRequired
46674 };
46675 ContainerRender.defaultProps = {
46676 autoMount: true,
46677 autoDestroy: true,
46678 forceRender: false
46679 };
46680 exports['default'] = ContainerRender;
46681 module.exports = exports['default'];
46682
46683/***/ }),
46684/* 489 */
46685/***/ (function(module, exports, __webpack_require__) {
46686
46687 'use strict';
46688
46689 Object.defineProperty(exports, "__esModule", {
46690 value: true
46691 });
46692
46693 var _classCallCheck2 = __webpack_require__(250);
46694
46695 var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
46696
46697 var _createClass2 = __webpack_require__(251);
46698
46699 var _createClass3 = _interopRequireDefault(_createClass2);
46700
46701 var _possibleConstructorReturn2 = __webpack_require__(316);
46702
46703 var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
46704
46705 var _inherits2 = __webpack_require__(317);
46706
46707 var _inherits3 = _interopRequireDefault(_inherits2);
46708
46709 var _react = __webpack_require__(4);
46710
46711 var _react2 = _interopRequireDefault(_react);
46712
46713 var _reactDom = __webpack_require__(12);
46714
46715 var _reactDom2 = _interopRequireDefault(_reactDom);
46716
46717 var _propTypes = __webpack_require__(5);
46718
46719 var _propTypes2 = _interopRequireDefault(_propTypes);
46720
46721 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
46722
46723 var Portal = function (_React$Component) {
46724 (0, _inherits3['default'])(Portal, _React$Component);
46725
46726 function Portal() {
46727 (0, _classCallCheck3['default'])(this, Portal);
46728 return (0, _possibleConstructorReturn3['default'])(this, (Portal.__proto__ || Object.getPrototypeOf(Portal)).apply(this, arguments));
46729 }
46730
46731 (0, _createClass3['default'])(Portal, [{
46732 key: 'componentDidMount',
46733 value: function componentDidMount() {
46734 this.createContainer();
46735 }
46736 }, {
46737 key: 'componentDidUpdate',
46738 value: function componentDidUpdate(prevProps) {
46739 var didUpdate = this.props.didUpdate;
46740
46741 if (didUpdate) {
46742 didUpdate(prevProps);
46743 }
46744 }
46745 }, {
46746 key: 'componentWillUnmount',
46747 value: function componentWillUnmount() {
46748 this.removeContainer();
46749 }
46750 }, {
46751 key: 'createContainer',
46752 value: function createContainer() {
46753 this._container = this.props.getContainer();
46754 this.forceUpdate();
46755 }
46756 }, {
46757 key: 'removeContainer',
46758 value: function removeContainer() {
46759 if (this._container) {
46760 this._container.parentNode.removeChild(this._container);
46761 }
46762 }
46763 }, {
46764 key: 'render',
46765 value: function render() {
46766 if (this._container) {
46767 return _reactDom2['default'].createPortal(this.props.children, this._container);
46768 }
46769 return null;
46770 }
46771 }]);
46772 return Portal;
46773 }(_react2['default'].Component);
46774
46775 Portal.propTypes = {
46776 getContainer: _propTypes2['default'].func.isRequired,
46777 children: _propTypes2['default'].node.isRequired,
46778 didUpdate: _propTypes2['default'].func
46779 };
46780 exports['default'] = Portal;
46781 module.exports = exports['default'];
46782
46783/***/ }),
46784/* 490 */
46785/***/ (function(module, exports, __webpack_require__) {
46786
46787 'use strict';
46788
46789 Object.defineProperty(exports, "__esModule", {
46790 value: true
46791 });
46792
46793 var _defineProperty2 = __webpack_require__(141);
46794
46795 var _defineProperty3 = _interopRequireDefault(_defineProperty2);
46796
46797 var _classCallCheck2 = __webpack_require__(250);
46798
46799 var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
46800
46801 var _createClass2 = __webpack_require__(251);
46802
46803 var _createClass3 = _interopRequireDefault(_createClass2);
46804
46805 var _possibleConstructorReturn2 = __webpack_require__(316);
46806
46807 var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
46808
46809 var _inherits2 = __webpack_require__(317);
46810
46811 var _inherits3 = _interopRequireDefault(_inherits2);
46812
46813 var _react = __webpack_require__(4);
46814
46815 var _react2 = _interopRequireDefault(_react);
46816
46817 var _propTypes = __webpack_require__(5);
46818
46819 var _propTypes2 = _interopRequireDefault(_propTypes);
46820
46821 var _Header = __webpack_require__(491);
46822
46823 var _Header2 = _interopRequireDefault(_Header);
46824
46825 var _Combobox = __webpack_require__(492);
46826
46827 var _Combobox2 = _interopRequireDefault(_Combobox);
46828
46829 var _moment = __webpack_require__(327);
46830
46831 var _moment2 = _interopRequireDefault(_moment);
46832
46833 var _classnames = __webpack_require__(3);
46834
46835 var _classnames2 = _interopRequireDefault(_classnames);
46836
46837 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
46838
46839 function noop() {}
46840
46841 function generateOptions(length, disabledOptions, hideDisabledOptions) {
46842 var step = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;
46843
46844 var arr = [];
46845 for (var value = 0; value < length; value += step) {
46846 if (!disabledOptions || disabledOptions.indexOf(value) < 0 || !hideDisabledOptions) {
46847 arr.push(value);
46848 }
46849 }
46850 return arr;
46851 }
46852
46853 var Panel = function (_Component) {
46854 (0, _inherits3['default'])(Panel, _Component);
46855
46856 function Panel(props) {
46857 (0, _classCallCheck3['default'])(this, Panel);
46858
46859 var _this = (0, _possibleConstructorReturn3['default'])(this, (Panel.__proto__ || Object.getPrototypeOf(Panel)).call(this, props));
46860
46861 _this.onChange = function (newValue) {
46862 _this.setState({ value: newValue });
46863 _this.props.onChange(newValue);
46864 };
46865
46866 _this.onCurrentSelectPanelChange = function (currentSelectPanel) {
46867 _this.setState({ currentSelectPanel: currentSelectPanel });
46868 };
46869
46870 _this.disabledHours = function () {
46871 var _this$props = _this.props,
46872 use12Hours = _this$props.use12Hours,
46873 disabledHours = _this$props.disabledHours;
46874
46875 var disabledOptions = disabledHours();
46876 if (use12Hours && Array.isArray(disabledOptions)) {
46877 if (_this.isAM()) {
46878 disabledOptions = disabledOptions.filter(function (h) {
46879 return h < 12;
46880 }).map(function (h) {
46881 return h === 0 ? 12 : h;
46882 });
46883 } else {
46884 disabledOptions = disabledOptions.map(function (h) {
46885 return h === 12 ? 12 : h - 12;
46886 });
46887 }
46888 }
46889 return disabledOptions;
46890 };
46891
46892 _this.state = {
46893 value: props.value,
46894 selectionRange: []
46895 };
46896 return _this;
46897 }
46898
46899 (0, _createClass3['default'])(Panel, [{
46900 key: 'componentWillReceiveProps',
46901 value: function componentWillReceiveProps(nextProps) {
46902 var value = nextProps.value;
46903 if (value) {
46904 this.setState({
46905 value: value
46906 });
46907 }
46908 }
46909 }, {
46910 key: 'close',
46911
46912
46913 // https://github.com/ant-design/ant-design/issues/5829
46914 value: function close() {
46915 this.props.onEsc();
46916 }
46917 }, {
46918 key: 'isAM',
46919 value: function isAM() {
46920 var value = this.state.value || this.props.defaultOpenValue;
46921 return value.hour() >= 0 && value.hour() < 12;
46922 }
46923 }, {
46924 key: 'render',
46925 value: function render() {
46926 var _classNames;
46927
46928 var _props = this.props,
46929 prefixCls = _props.prefixCls,
46930 className = _props.className,
46931 placeholder = _props.placeholder,
46932 disabledMinutes = _props.disabledMinutes,
46933 disabledSeconds = _props.disabledSeconds,
46934 hideDisabledOptions = _props.hideDisabledOptions,
46935 allowEmpty = _props.allowEmpty,
46936 showHour = _props.showHour,
46937 showMinute = _props.showMinute,
46938 showSecond = _props.showSecond,
46939 format = _props.format,
46940 defaultOpenValue = _props.defaultOpenValue,
46941 clearText = _props.clearText,
46942 onEsc = _props.onEsc,
46943 addon = _props.addon,
46944 use12Hours = _props.use12Hours,
46945 onClear = _props.onClear,
46946 focusOnOpen = _props.focusOnOpen,
46947 onKeyDown = _props.onKeyDown,
46948 hourStep = _props.hourStep,
46949 minuteStep = _props.minuteStep,
46950 secondStep = _props.secondStep,
46951 inputReadOnly = _props.inputReadOnly,
46952 clearIcon = _props.clearIcon;
46953 var _state = this.state,
46954 value = _state.value,
46955 currentSelectPanel = _state.currentSelectPanel;
46956
46957 var disabledHourOptions = this.disabledHours();
46958 var disabledMinuteOptions = disabledMinutes(value ? value.hour() : null);
46959 var disabledSecondOptions = disabledSeconds(value ? value.hour() : null, value ? value.minute() : null);
46960 var hourOptions = generateOptions(24, disabledHourOptions, hideDisabledOptions, hourStep);
46961 var minuteOptions = generateOptions(60, disabledMinuteOptions, hideDisabledOptions, minuteStep);
46962 var secondOptions = generateOptions(60, disabledSecondOptions, hideDisabledOptions, secondStep);
46963
46964 return _react2['default'].createElement(
46965 'div',
46966 { className: (0, _classnames2['default'])((_classNames = {}, (0, _defineProperty3['default'])(_classNames, prefixCls + '-inner', true), (0, _defineProperty3['default'])(_classNames, className, !!className), _classNames)) },
46967 _react2['default'].createElement(_Header2['default'], {
46968 clearText: clearText,
46969 prefixCls: prefixCls,
46970 defaultOpenValue: defaultOpenValue,
46971 value: value,
46972 currentSelectPanel: currentSelectPanel,
46973 onEsc: onEsc,
46974 format: format,
46975 placeholder: placeholder,
46976 hourOptions: hourOptions,
46977 minuteOptions: minuteOptions,
46978 secondOptions: secondOptions,
46979 disabledHours: this.disabledHours,
46980 disabledMinutes: disabledMinutes,
46981 disabledSeconds: disabledSeconds,
46982 onChange: this.onChange,
46983 onClear: onClear,
46984 allowEmpty: allowEmpty,
46985 focusOnOpen: focusOnOpen,
46986 onKeyDown: onKeyDown,
46987 inputReadOnly: inputReadOnly,
46988 clearIcon: clearIcon
46989 }),
46990 _react2['default'].createElement(_Combobox2['default'], {
46991 prefixCls: prefixCls,
46992 value: value,
46993 defaultOpenValue: defaultOpenValue,
46994 format: format,
46995 onChange: this.onChange,
46996 showHour: showHour,
46997 showMinute: showMinute,
46998 showSecond: showSecond,
46999 hourOptions: hourOptions,
47000 minuteOptions: minuteOptions,
47001 secondOptions: secondOptions,
47002 disabledHours: this.disabledHours,
47003 disabledMinutes: disabledMinutes,
47004 disabledSeconds: disabledSeconds,
47005 onCurrentSelectPanelChange: this.onCurrentSelectPanelChange,
47006 use12Hours: use12Hours,
47007 isAM: this.isAM()
47008 }),
47009 addon(this)
47010 );
47011 }
47012 }]);
47013 return Panel;
47014 }(_react.Component);
47015
47016 Panel.propTypes = {
47017 clearText: _propTypes2['default'].string,
47018 prefixCls: _propTypes2['default'].string,
47019 className: _propTypes2['default'].string,
47020 defaultOpenValue: _propTypes2['default'].object,
47021 value: _propTypes2['default'].object,
47022 placeholder: _propTypes2['default'].string,
47023 format: _propTypes2['default'].string,
47024 inputReadOnly: _propTypes2['default'].bool,
47025 disabledHours: _propTypes2['default'].func,
47026 disabledMinutes: _propTypes2['default'].func,
47027 disabledSeconds: _propTypes2['default'].func,
47028 hideDisabledOptions: _propTypes2['default'].bool,
47029 onChange: _propTypes2['default'].func,
47030 onEsc: _propTypes2['default'].func,
47031 allowEmpty: _propTypes2['default'].bool,
47032 showHour: _propTypes2['default'].bool,
47033 showMinute: _propTypes2['default'].bool,
47034 showSecond: _propTypes2['default'].bool,
47035 onClear: _propTypes2['default'].func,
47036 use12Hours: _propTypes2['default'].bool,
47037 hourStep: _propTypes2['default'].number,
47038 minuteStep: _propTypes2['default'].number,
47039 secondStep: _propTypes2['default'].number,
47040 addon: _propTypes2['default'].func,
47041 focusOnOpen: _propTypes2['default'].bool,
47042 onKeyDown: _propTypes2['default'].func,
47043 clearIcon: _propTypes2['default'].node
47044 };
47045 Panel.defaultProps = {
47046 prefixCls: 'rc-time-picker-panel',
47047 onChange: noop,
47048 onClear: noop,
47049 disabledHours: noop,
47050 disabledMinutes: noop,
47051 disabledSeconds: noop,
47052 defaultOpenValue: (0, _moment2['default'])(),
47053 use12Hours: false,
47054 addon: noop,
47055 onKeyDown: noop,
47056 inputReadOnly: false
47057 };
47058 exports['default'] = Panel;
47059 module.exports = exports['default'];
47060
47061/***/ }),
47062/* 491 */
47063/***/ (function(module, exports, __webpack_require__) {
47064
47065 'use strict';
47066
47067 Object.defineProperty(exports, "__esModule", {
47068 value: true
47069 });
47070
47071 var _classCallCheck2 = __webpack_require__(250);
47072
47073 var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
47074
47075 var _createClass2 = __webpack_require__(251);
47076
47077 var _createClass3 = _interopRequireDefault(_createClass2);
47078
47079 var _possibleConstructorReturn2 = __webpack_require__(316);
47080
47081 var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
47082
47083 var _inherits2 = __webpack_require__(317);
47084
47085 var _inherits3 = _interopRequireDefault(_inherits2);
47086
47087 var _react = __webpack_require__(4);
47088
47089 var _react2 = _interopRequireDefault(_react);
47090
47091 var _propTypes = __webpack_require__(5);
47092
47093 var _propTypes2 = _interopRequireDefault(_propTypes);
47094
47095 var _moment = __webpack_require__(327);
47096
47097 var _moment2 = _interopRequireDefault(_moment);
47098
47099 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
47100
47101 var Header = function (_Component) {
47102 (0, _inherits3['default'])(Header, _Component);
47103
47104 function Header(props) {
47105 (0, _classCallCheck3['default'])(this, Header);
47106
47107 var _this = (0, _possibleConstructorReturn3['default'])(this, (Header.__proto__ || Object.getPrototypeOf(Header)).call(this, props));
47108
47109 _initialiseProps.call(_this);
47110
47111 var value = props.value,
47112 format = props.format;
47113
47114 _this.state = {
47115 str: value && value.format(format) || '',
47116 invalid: false
47117 };
47118 return _this;
47119 }
47120
47121 (0, _createClass3['default'])(Header, [{
47122 key: 'componentDidMount',
47123 value: function componentDidMount() {
47124 var _this2 = this;
47125
47126 if (this.props.focusOnOpen) {
47127 // Wait one frame for the panel to be positioned before focusing
47128 var requestAnimationFrame = window.requestAnimationFrame || window.setTimeout;
47129 requestAnimationFrame(function () {
47130 _this2.refs.input.focus();
47131 _this2.refs.input.select();
47132 });
47133 }
47134 }
47135 }, {
47136 key: 'componentWillReceiveProps',
47137 value: function componentWillReceiveProps(nextProps) {
47138 var value = nextProps.value,
47139 format = nextProps.format;
47140
47141 this.setState({
47142 str: value && value.format(format) || '',
47143 invalid: false
47144 });
47145 }
47146 }, {
47147 key: 'getClearButton',
47148 value: function getClearButton() {
47149 var _props = this.props,
47150 prefixCls = _props.prefixCls,
47151 allowEmpty = _props.allowEmpty,
47152 clearIcon = _props.clearIcon;
47153
47154 if (!allowEmpty) {
47155 return null;
47156 }
47157 return _react2['default'].createElement(
47158 'a',
47159 {
47160 role: 'button',
47161 className: prefixCls + '-clear-btn',
47162 title: this.props.clearText,
47163 onMouseDown: this.onClear
47164 },
47165 clearIcon || _react2['default'].createElement('i', { className: prefixCls + '-clear-btn-icon' })
47166 );
47167 }
47168 }, {
47169 key: 'getProtoValue',
47170 value: function getProtoValue() {
47171 return this.props.value || this.props.defaultOpenValue;
47172 }
47173 }, {
47174 key: 'getInput',
47175 value: function getInput() {
47176 var _props2 = this.props,
47177 prefixCls = _props2.prefixCls,
47178 placeholder = _props2.placeholder,
47179 inputReadOnly = _props2.inputReadOnly;
47180 var _state = this.state,
47181 invalid = _state.invalid,
47182 str = _state.str;
47183
47184 var invalidClass = invalid ? prefixCls + '-input-invalid' : '';
47185 return _react2['default'].createElement('input', {
47186 className: prefixCls + '-input ' + invalidClass,
47187 ref: 'input',
47188 onKeyDown: this.onKeyDown,
47189 value: str,
47190 placeholder: placeholder,
47191 onChange: this.onInputChange,
47192 readOnly: !!inputReadOnly
47193 });
47194 }
47195 }, {
47196 key: 'render',
47197 value: function render() {
47198 var prefixCls = this.props.prefixCls;
47199
47200 return _react2['default'].createElement(
47201 'div',
47202 { className: prefixCls + '-input-wrap' },
47203 this.getInput(),
47204 this.getClearButton()
47205 );
47206 }
47207 }]);
47208 return Header;
47209 }(_react.Component);
47210
47211 Header.propTypes = {
47212 format: _propTypes2['default'].string,
47213 prefixCls: _propTypes2['default'].string,
47214 disabledDate: _propTypes2['default'].func,
47215 placeholder: _propTypes2['default'].string,
47216 clearText: _propTypes2['default'].string,
47217 value: _propTypes2['default'].object,
47218 inputReadOnly: _propTypes2['default'].bool,
47219 hourOptions: _propTypes2['default'].array,
47220 minuteOptions: _propTypes2['default'].array,
47221 secondOptions: _propTypes2['default'].array,
47222 disabledHours: _propTypes2['default'].func,
47223 disabledMinutes: _propTypes2['default'].func,
47224 disabledSeconds: _propTypes2['default'].func,
47225 onChange: _propTypes2['default'].func,
47226 onClear: _propTypes2['default'].func,
47227 onEsc: _propTypes2['default'].func,
47228 allowEmpty: _propTypes2['default'].bool,
47229 defaultOpenValue: _propTypes2['default'].object,
47230 currentSelectPanel: _propTypes2['default'].string,
47231 focusOnOpen: _propTypes2['default'].bool,
47232 onKeyDown: _propTypes2['default'].func,
47233 clearIcon: _propTypes2['default'].node
47234 };
47235 Header.defaultProps = {
47236 inputReadOnly: false
47237 };
47238
47239 var _initialiseProps = function _initialiseProps() {
47240 var _this3 = this;
47241
47242 this.onInputChange = function (event) {
47243 var str = event.target.value;
47244 _this3.setState({
47245 str: str
47246 });
47247 var _props3 = _this3.props,
47248 format = _props3.format,
47249 hourOptions = _props3.hourOptions,
47250 minuteOptions = _props3.minuteOptions,
47251 secondOptions = _props3.secondOptions,
47252 disabledHours = _props3.disabledHours,
47253 disabledMinutes = _props3.disabledMinutes,
47254 disabledSeconds = _props3.disabledSeconds,
47255 onChange = _props3.onChange,
47256 allowEmpty = _props3.allowEmpty;
47257
47258
47259 if (str) {
47260 var originalValue = _this3.props.value;
47261 var value = _this3.getProtoValue().clone();
47262 var parsed = (0, _moment2['default'])(str, format, true);
47263 if (!parsed.isValid()) {
47264 _this3.setState({
47265 invalid: true
47266 });
47267 return;
47268 }
47269 value.hour(parsed.hour()).minute(parsed.minute()).second(parsed.second());
47270
47271 // if time value not allowed, response warning.
47272 if (hourOptions.indexOf(value.hour()) < 0 || minuteOptions.indexOf(value.minute()) < 0 || secondOptions.indexOf(value.second()) < 0) {
47273 _this3.setState({
47274 invalid: true
47275 });
47276 return;
47277 }
47278
47279 // if time value is disabled, response warning.
47280 var disabledHourOptions = disabledHours();
47281 var disabledMinuteOptions = disabledMinutes(value.hour());
47282 var disabledSecondOptions = disabledSeconds(value.hour(), value.minute());
47283 if (disabledHourOptions && disabledHourOptions.indexOf(value.hour()) >= 0 || disabledMinuteOptions && disabledMinuteOptions.indexOf(value.minute()) >= 0 || disabledSecondOptions && disabledSecondOptions.indexOf(value.second()) >= 0) {
47284 _this3.setState({
47285 invalid: true
47286 });
47287 return;
47288 }
47289
47290 if (originalValue) {
47291 if (originalValue.hour() !== value.hour() || originalValue.minute() !== value.minute() || originalValue.second() !== value.second()) {
47292 // keep other fields for rc-calendar
47293 var changedValue = originalValue.clone();
47294 changedValue.hour(value.hour());
47295 changedValue.minute(value.minute());
47296 changedValue.second(value.second());
47297 onChange(changedValue);
47298 }
47299 } else if (originalValue !== value) {
47300 onChange(value);
47301 }
47302 } else if (allowEmpty) {
47303 onChange(null);
47304 } else {
47305 _this3.setState({
47306 invalid: true
47307 });
47308 return;
47309 }
47310
47311 _this3.setState({
47312 invalid: false
47313 });
47314 };
47315
47316 this.onKeyDown = function (e) {
47317 var _props4 = _this3.props,
47318 onEsc = _props4.onEsc,
47319 onKeyDown = _props4.onKeyDown;
47320
47321 if (e.keyCode === 27) {
47322 onEsc();
47323 }
47324
47325 onKeyDown(e);
47326 };
47327
47328 this.onClear = function () {
47329 _this3.setState({ str: '' });
47330 _this3.props.onClear();
47331 };
47332 };
47333
47334 exports['default'] = Header;
47335 module.exports = exports['default'];
47336
47337/***/ }),
47338/* 492 */
47339/***/ (function(module, exports, __webpack_require__) {
47340
47341 'use strict';
47342
47343 Object.defineProperty(exports, "__esModule", {
47344 value: true
47345 });
47346
47347 var _classCallCheck2 = __webpack_require__(250);
47348
47349 var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
47350
47351 var _createClass2 = __webpack_require__(251);
47352
47353 var _createClass3 = _interopRequireDefault(_createClass2);
47354
47355 var _possibleConstructorReturn2 = __webpack_require__(316);
47356
47357 var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
47358
47359 var _inherits2 = __webpack_require__(317);
47360
47361 var _inherits3 = _interopRequireDefault(_inherits2);
47362
47363 var _react = __webpack_require__(4);
47364
47365 var _react2 = _interopRequireDefault(_react);
47366
47367 var _propTypes = __webpack_require__(5);
47368
47369 var _propTypes2 = _interopRequireDefault(_propTypes);
47370
47371 var _Select = __webpack_require__(493);
47372
47373 var _Select2 = _interopRequireDefault(_Select);
47374
47375 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
47376
47377 var formatOption = function formatOption(option, disabledOptions) {
47378 var value = '' + option;
47379 if (option < 10) {
47380 value = '0' + option;
47381 }
47382
47383 var disabled = false;
47384 if (disabledOptions && disabledOptions.indexOf(option) >= 0) {
47385 disabled = true;
47386 }
47387
47388 return {
47389 value: value,
47390 disabled: disabled
47391 };
47392 };
47393
47394 var Combobox = function (_Component) {
47395 (0, _inherits3['default'])(Combobox, _Component);
47396
47397 function Combobox() {
47398 var _ref;
47399
47400 var _temp, _this, _ret;
47401
47402 (0, _classCallCheck3['default'])(this, Combobox);
47403
47404 for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
47405 args[_key] = arguments[_key];
47406 }
47407
47408 return _ret = (_temp = (_this = (0, _possibleConstructorReturn3['default'])(this, (_ref = Combobox.__proto__ || Object.getPrototypeOf(Combobox)).call.apply(_ref, [this].concat(args))), _this), _this.onItemChange = function (type, itemValue) {
47409 var _this$props = _this.props,
47410 onChange = _this$props.onChange,
47411 defaultOpenValue = _this$props.defaultOpenValue,
47412 use12Hours = _this$props.use12Hours;
47413
47414 var value = (_this.props.value || defaultOpenValue).clone();
47415
47416 if (type === 'hour') {
47417 if (use12Hours) {
47418 if (_this.props.isAM) {
47419 value.hour(+itemValue % 12);
47420 } else {
47421 value.hour(+itemValue % 12 + 12);
47422 }
47423 } else {
47424 value.hour(+itemValue);
47425 }
47426 } else if (type === 'minute') {
47427 value.minute(+itemValue);
47428 } else if (type === 'ampm') {
47429 var ampm = itemValue.toUpperCase();
47430 if (use12Hours) {
47431 if (ampm === 'PM' && value.hour() < 12) {
47432 value.hour(value.hour() % 12 + 12);
47433 }
47434
47435 if (ampm === 'AM') {
47436 if (value.hour() >= 12) {
47437 value.hour(value.hour() - 12);
47438 }
47439 }
47440 }
47441 } else {
47442 value.second(+itemValue);
47443 }
47444 onChange(value);
47445 }, _this.onEnterSelectPanel = function (range) {
47446 _this.props.onCurrentSelectPanelChange(range);
47447 }, _temp), (0, _possibleConstructorReturn3['default'])(_this, _ret);
47448 }
47449
47450 (0, _createClass3['default'])(Combobox, [{
47451 key: 'getHourSelect',
47452 value: function getHourSelect(hour) {
47453 var _props = this.props,
47454 prefixCls = _props.prefixCls,
47455 hourOptions = _props.hourOptions,
47456 disabledHours = _props.disabledHours,
47457 showHour = _props.showHour,
47458 use12Hours = _props.use12Hours;
47459
47460 if (!showHour) {
47461 return null;
47462 }
47463 var disabledOptions = disabledHours();
47464 var hourOptionsAdj = void 0;
47465 var hourAdj = void 0;
47466 if (use12Hours) {
47467 hourOptionsAdj = [12].concat(hourOptions.filter(function (h) {
47468 return h < 12 && h > 0;
47469 }));
47470 hourAdj = hour % 12 || 12;
47471 } else {
47472 hourOptionsAdj = hourOptions;
47473 hourAdj = hour;
47474 }
47475
47476 return _react2['default'].createElement(_Select2['default'], {
47477 prefixCls: prefixCls,
47478 options: hourOptionsAdj.map(function (option) {
47479 return formatOption(option, disabledOptions);
47480 }),
47481 selectedIndex: hourOptionsAdj.indexOf(hourAdj),
47482 type: 'hour',
47483 onSelect: this.onItemChange,
47484 onMouseEnter: this.onEnterSelectPanel.bind(this, 'hour')
47485 });
47486 }
47487 }, {
47488 key: 'getMinuteSelect',
47489 value: function getMinuteSelect(minute) {
47490 var _props2 = this.props,
47491 prefixCls = _props2.prefixCls,
47492 minuteOptions = _props2.minuteOptions,
47493 disabledMinutes = _props2.disabledMinutes,
47494 defaultOpenValue = _props2.defaultOpenValue,
47495 showMinute = _props2.showMinute;
47496
47497 if (!showMinute) {
47498 return null;
47499 }
47500 var value = this.props.value || defaultOpenValue;
47501 var disabledOptions = disabledMinutes(value.hour());
47502
47503 return _react2['default'].createElement(_Select2['default'], {
47504 prefixCls: prefixCls,
47505 options: minuteOptions.map(function (option) {
47506 return formatOption(option, disabledOptions);
47507 }),
47508 selectedIndex: minuteOptions.indexOf(minute),
47509 type: 'minute',
47510 onSelect: this.onItemChange,
47511 onMouseEnter: this.onEnterSelectPanel.bind(this, 'minute')
47512 });
47513 }
47514 }, {
47515 key: 'getSecondSelect',
47516 value: function getSecondSelect(second) {
47517 var _props3 = this.props,
47518 prefixCls = _props3.prefixCls,
47519 secondOptions = _props3.secondOptions,
47520 disabledSeconds = _props3.disabledSeconds,
47521 showSecond = _props3.showSecond,
47522 defaultOpenValue = _props3.defaultOpenValue;
47523
47524 if (!showSecond) {
47525 return null;
47526 }
47527 var value = this.props.value || defaultOpenValue;
47528 var disabledOptions = disabledSeconds(value.hour(), value.minute());
47529
47530 return _react2['default'].createElement(_Select2['default'], {
47531 prefixCls: prefixCls,
47532 options: secondOptions.map(function (option) {
47533 return formatOption(option, disabledOptions);
47534 }),
47535 selectedIndex: secondOptions.indexOf(second),
47536 type: 'second',
47537 onSelect: this.onItemChange,
47538 onMouseEnter: this.onEnterSelectPanel.bind(this, 'second')
47539 });
47540 }
47541 }, {
47542 key: 'getAMPMSelect',
47543 value: function getAMPMSelect() {
47544 var _props4 = this.props,
47545 prefixCls = _props4.prefixCls,
47546 use12Hours = _props4.use12Hours,
47547 format = _props4.format;
47548
47549 if (!use12Hours) {
47550 return null;
47551 }
47552
47553 var AMPMOptions = ['am', 'pm'] // If format has A char, then we should uppercase AM/PM
47554 .map(function (c) {
47555 return format.match(/\sA/) ? c.toUpperCase() : c;
47556 }).map(function (c) {
47557 return { value: c };
47558 });
47559
47560 var selected = this.props.isAM ? 0 : 1;
47561
47562 return _react2['default'].createElement(_Select2['default'], {
47563 prefixCls: prefixCls,
47564 options: AMPMOptions,
47565 selectedIndex: selected,
47566 type: 'ampm',
47567 onSelect: this.onItemChange,
47568 onMouseEnter: this.onEnterSelectPanel.bind(this, 'ampm')
47569 });
47570 }
47571 }, {
47572 key: 'render',
47573 value: function render() {
47574 var _props5 = this.props,
47575 prefixCls = _props5.prefixCls,
47576 defaultOpenValue = _props5.defaultOpenValue;
47577
47578 var value = this.props.value || defaultOpenValue;
47579 return _react2['default'].createElement(
47580 'div',
47581 { className: prefixCls + '-combobox' },
47582 this.getHourSelect(value.hour()),
47583 this.getMinuteSelect(value.minute()),
47584 this.getSecondSelect(value.second()),
47585 this.getAMPMSelect(value.hour())
47586 );
47587 }
47588 }]);
47589 return Combobox;
47590 }(_react.Component);
47591
47592 Combobox.propTypes = {
47593 format: _propTypes2['default'].string,
47594 defaultOpenValue: _propTypes2['default'].object,
47595 prefixCls: _propTypes2['default'].string,
47596 value: _propTypes2['default'].object,
47597 onChange: _propTypes2['default'].func,
47598 showHour: _propTypes2['default'].bool,
47599 showMinute: _propTypes2['default'].bool,
47600 showSecond: _propTypes2['default'].bool,
47601 hourOptions: _propTypes2['default'].array,
47602 minuteOptions: _propTypes2['default'].array,
47603 secondOptions: _propTypes2['default'].array,
47604 disabledHours: _propTypes2['default'].func,
47605 disabledMinutes: _propTypes2['default'].func,
47606 disabledSeconds: _propTypes2['default'].func,
47607 onCurrentSelectPanelChange: _propTypes2['default'].func,
47608 use12Hours: _propTypes2['default'].bool,
47609 isAM: _propTypes2['default'].bool
47610 };
47611 exports['default'] = Combobox;
47612 module.exports = exports['default'];
47613
47614/***/ }),
47615/* 493 */
47616/***/ (function(module, exports, __webpack_require__) {
47617
47618 'use strict';
47619
47620 Object.defineProperty(exports, "__esModule", {
47621 value: true
47622 });
47623
47624 var _defineProperty2 = __webpack_require__(141);
47625
47626 var _defineProperty3 = _interopRequireDefault(_defineProperty2);
47627
47628 var _classCallCheck2 = __webpack_require__(250);
47629
47630 var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
47631
47632 var _createClass2 = __webpack_require__(251);
47633
47634 var _createClass3 = _interopRequireDefault(_createClass2);
47635
47636 var _possibleConstructorReturn2 = __webpack_require__(316);
47637
47638 var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
47639
47640 var _inherits2 = __webpack_require__(317);
47641
47642 var _inherits3 = _interopRequireDefault(_inherits2);
47643
47644 var _react = __webpack_require__(4);
47645
47646 var _react2 = _interopRequireDefault(_react);
47647
47648 var _propTypes = __webpack_require__(5);
47649
47650 var _propTypes2 = _interopRequireDefault(_propTypes);
47651
47652 var _reactDom = __webpack_require__(12);
47653
47654 var _reactDom2 = _interopRequireDefault(_reactDom);
47655
47656 var _classnames3 = __webpack_require__(3);
47657
47658 var _classnames4 = _interopRequireDefault(_classnames3);
47659
47660 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
47661
47662 var scrollTo = function scrollTo(element, to, duration) {
47663 var requestAnimationFrame = window.requestAnimationFrame || function requestAnimationFrameTimeout() {
47664 return setTimeout(arguments[0], 10);
47665 };
47666 // jump to target if duration zero
47667 if (duration <= 0) {
47668 element.scrollTop = to;
47669 return;
47670 }
47671 var difference = to - element.scrollTop;
47672 var perTick = difference / duration * 10;
47673
47674 requestAnimationFrame(function () {
47675 element.scrollTop = element.scrollTop + perTick;
47676 if (element.scrollTop === to) return;
47677 scrollTo(element, to, duration - 10);
47678 });
47679 };
47680
47681 var Select = function (_Component) {
47682 (0, _inherits3['default'])(Select, _Component);
47683
47684 function Select() {
47685 var _ref;
47686
47687 var _temp, _this, _ret;
47688
47689 (0, _classCallCheck3['default'])(this, Select);
47690
47691 for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
47692 args[_key] = arguments[_key];
47693 }
47694
47695 return _ret = (_temp = (_this = (0, _possibleConstructorReturn3['default'])(this, (_ref = Select.__proto__ || Object.getPrototypeOf(Select)).call.apply(_ref, [this].concat(args))), _this), _this.state = {
47696 active: false
47697 }, _this.onSelect = function (value) {
47698 var _this$props = _this.props,
47699 onSelect = _this$props.onSelect,
47700 type = _this$props.type;
47701
47702 onSelect(type, value);
47703 }, _this.handleMouseEnter = function (e) {
47704 _this.setState({ active: true });
47705 _this.props.onMouseEnter(e);
47706 }, _this.handleMouseLeave = function () {
47707 _this.setState({ active: false });
47708 }, _this.saveList = function (node) {
47709 _this.list = node;
47710 }, _temp), (0, _possibleConstructorReturn3['default'])(_this, _ret);
47711 }
47712
47713 (0, _createClass3['default'])(Select, [{
47714 key: 'componentDidMount',
47715 value: function componentDidMount() {
47716 // jump to selected option
47717 this.scrollToSelected(0);
47718 }
47719 }, {
47720 key: 'componentDidUpdate',
47721 value: function componentDidUpdate(prevProps) {
47722 // smooth scroll to selected option
47723 if (prevProps.selectedIndex !== this.props.selectedIndex) {
47724 this.scrollToSelected(120);
47725 }
47726 }
47727 }, {
47728 key: 'getOptions',
47729 value: function getOptions() {
47730 var _this2 = this;
47731
47732 var _props = this.props,
47733 options = _props.options,
47734 selectedIndex = _props.selectedIndex,
47735 prefixCls = _props.prefixCls;
47736
47737 return options.map(function (item, index) {
47738 var _classnames;
47739
47740 var cls = (0, _classnames4['default'])((_classnames = {}, (0, _defineProperty3['default'])(_classnames, prefixCls + '-select-option-selected', selectedIndex === index), (0, _defineProperty3['default'])(_classnames, prefixCls + '-select-option-disabled', item.disabled), _classnames));
47741 var onclick = null;
47742 if (!item.disabled) {
47743 onclick = _this2.onSelect.bind(_this2, item.value);
47744 }
47745 return _react2['default'].createElement(
47746 'li',
47747 {
47748 className: cls,
47749 key: index,
47750 onClick: onclick,
47751 disabled: item.disabled
47752 },
47753 item.value
47754 );
47755 });
47756 }
47757 }, {
47758 key: 'scrollToSelected',
47759 value: function scrollToSelected(duration) {
47760 // move to selected item
47761 var select = _reactDom2['default'].findDOMNode(this);
47762 var list = _reactDom2['default'].findDOMNode(this.list);
47763 if (!list) {
47764 return;
47765 }
47766 var index = this.props.selectedIndex;
47767 if (index < 0) {
47768 index = 0;
47769 }
47770 var topOption = list.children[index];
47771 var to = topOption.offsetTop;
47772 scrollTo(select, to, duration);
47773 }
47774 }, {
47775 key: 'render',
47776 value: function render() {
47777 var _classnames2;
47778
47779 if (this.props.options.length === 0) {
47780 return null;
47781 }
47782
47783 var prefixCls = this.props.prefixCls;
47784
47785 var cls = (0, _classnames4['default'])((_classnames2 = {}, (0, _defineProperty3['default'])(_classnames2, prefixCls + '-select', 1), (0, _defineProperty3['default'])(_classnames2, prefixCls + '-select-active', this.state.active), _classnames2));
47786
47787 return _react2['default'].createElement(
47788 'div',
47789 {
47790 className: cls,
47791 onMouseEnter: this.handleMouseEnter,
47792 onMouseLeave: this.handleMouseLeave
47793 },
47794 _react2['default'].createElement(
47795 'ul',
47796 { ref: this.saveList },
47797 this.getOptions()
47798 )
47799 );
47800 }
47801 }]);
47802 return Select;
47803 }(_react.Component);
47804
47805 Select.propTypes = {
47806 prefixCls: _propTypes2['default'].string,
47807 options: _propTypes2['default'].array,
47808 selectedIndex: _propTypes2['default'].number,
47809 type: _propTypes2['default'].string,
47810 onSelect: _propTypes2['default'].func,
47811 onMouseEnter: _propTypes2['default'].func
47812 };
47813 exports['default'] = Select;
47814 module.exports = exports['default'];
47815
47816/***/ }),
47817/* 494 */
47818/***/ (function(module, exports, __webpack_require__) {
47819
47820 'use strict';
47821
47822 module.exports = __webpack_require__(495);
47823
47824/***/ }),
47825/* 495 */
47826/***/ (function(module, exports, __webpack_require__) {
47827
47828 'use strict';
47829
47830 Object.defineProperty(exports, "__esModule", {
47831 value: true
47832 });
47833
47834 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; };
47835
47836 var _classnames = __webpack_require__(3);
47837
47838 var _classnames2 = _interopRequireDefault(_classnames);
47839
47840 var _react = __webpack_require__(4);
47841
47842 var _react2 = _interopRequireDefault(_react);
47843
47844 var _beeInputGroupAddon = __webpack_require__(496);
47845
47846 var _beeInputGroupAddon2 = _interopRequireDefault(_beeInputGroupAddon);
47847
47848 var _InputGroupButton = __webpack_require__(498);
47849
47850 var _InputGroupButton2 = _interopRequireDefault(_InputGroupButton);
47851
47852 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
47853
47854 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; }
47855
47856 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; }
47857
47858 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
47859
47860 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; }
47861
47862 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); }
47863
47864 var defaultProps = {
47865 clsPrefix: 'u-input-group',
47866 simple: false
47867 };
47868
47869 var InputGroup = function (_React$Component) {
47870 _inherits(InputGroup, _React$Component);
47871
47872 function InputGroup() {
47873 _classCallCheck(this, InputGroup);
47874
47875 return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));
47876 }
47877
47878 InputGroup.prototype.render = function render() {
47879 var _props = this.props,
47880 className = _props.className,
47881 clsPrefix = _props.clsPrefix,
47882 simple = _props.simple,
47883 others = _objectWithoutProperties(_props, ['className', 'clsPrefix', 'simple']);
47884
47885 return _react2["default"].createElement('span', _extends({}, others, {
47886 className: (0, _classnames2["default"])(className, clsPrefix, simple && 'simple')
47887 }));
47888 };
47889
47890 return InputGroup;
47891 }(_react2["default"].Component);
47892
47893 /**
47894 * 将InputGroupAddon与InputGroupButton组件作为InputGroup的附属组件
47895 */
47896
47897
47898 InputGroup.Addon = _beeInputGroupAddon2["default"];
47899 InputGroup.Button = _InputGroupButton2["default"];
47900 InputGroup.defaultProps = defaultProps;
47901 exports["default"] = InputGroup;
47902 module.exports = exports['default'];
47903
47904/***/ }),
47905/* 496 */
47906/***/ (function(module, exports, __webpack_require__) {
47907
47908 'use strict';
47909
47910 Object.defineProperty(exports, "__esModule", {
47911 value: true
47912 });
47913
47914 var _InputGroupAddon = __webpack_require__(497);
47915
47916 var _InputGroupAddon2 = _interopRequireDefault(_InputGroupAddon);
47917
47918 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
47919
47920 exports["default"] = _InputGroupAddon2["default"];
47921 module.exports = exports['default'];
47922
47923/***/ }),
47924/* 497 */
47925/***/ (function(module, exports, __webpack_require__) {
47926
47927 'use strict';
47928
47929 Object.defineProperty(exports, "__esModule", {
47930 value: true
47931 });
47932
47933 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; };
47934
47935 var _classnames = __webpack_require__(3);
47936
47937 var _classnames2 = _interopRequireDefault(_classnames);
47938
47939 var _react = __webpack_require__(4);
47940
47941 var _react2 = _interopRequireDefault(_react);
47942
47943 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
47944
47945 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; }
47946
47947 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; }
47948
47949 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
47950
47951 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; }
47952
47953 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); }
47954
47955 var defaultProps = {
47956 clsPrefix: 'u-input-group-addon'
47957 };
47958
47959 var InputGroupAddon = function (_React$Component) {
47960 _inherits(InputGroupAddon, _React$Component);
47961
47962 function InputGroupAddon() {
47963 _classCallCheck(this, InputGroupAddon);
47964
47965 return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));
47966 }
47967
47968 InputGroupAddon.prototype.render = function render() {
47969 var _props = this.props;
47970 var className = _props.className;
47971 var clsPrefix = _props.clsPrefix;
47972
47973 var others = _objectWithoutProperties(_props, ['className', 'clsPrefix']);
47974
47975 return _react2["default"].createElement('span', _extends({}, others, {
47976 className: (0, _classnames2["default"])(className, clsPrefix)
47977 }));
47978 };
47979
47980 return InputGroupAddon;
47981 }(_react2["default"].Component);
47982
47983 InputGroupAddon.defaultProps = defaultProps;
47984 exports["default"] = InputGroupAddon;
47985 module.exports = exports['default'];
47986
47987/***/ }),
47988/* 498 */
47989/***/ (function(module, exports, __webpack_require__) {
47990
47991 'use strict';
47992
47993 Object.defineProperty(exports, "__esModule", {
47994 value: true
47995 });
47996
47997 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; };
47998
47999 var _classnames = __webpack_require__(3);
48000
48001 var _classnames2 = _interopRequireDefault(_classnames);
48002
48003 var _react = __webpack_require__(4);
48004
48005 var _react2 = _interopRequireDefault(_react);
48006
48007 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
48008
48009 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; }
48010
48011 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; }
48012
48013 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
48014
48015 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; }
48016
48017 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); }
48018
48019 var defaultProps = {
48020 clsPrefix: 'u-input-group-btn'
48021 };
48022
48023 var InputGroupButton = function (_React$Component) {
48024 _inherits(InputGroupButton, _React$Component);
48025
48026 function InputGroupButton() {
48027 _classCallCheck(this, InputGroupButton);
48028
48029 return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));
48030 }
48031
48032 InputGroupButton.prototype.render = function render() {
48033 var _props = this.props,
48034 className = _props.className,
48035 clsPrefix = _props.clsPrefix,
48036 others = _objectWithoutProperties(_props, ['className', 'clsPrefix']);
48037
48038 return _react2["default"].createElement('span', _extends({}, others, {
48039 className: (0, _classnames2["default"])(className, clsPrefix)
48040 }));
48041 };
48042
48043 return InputGroupButton;
48044 }(_react2["default"].Component);
48045
48046 InputGroupButton.defaultProps = defaultProps;
48047 exports["default"] = InputGroupButton;
48048 module.exports = exports['default'];
48049
48050/***/ }),
48051/* 499 */
48052/***/ (function(module, exports, __webpack_require__) {
48053
48054 "use strict";
48055
48056 Object.defineProperty(exports, "__esModule", {
48057 value: true
48058 });
48059
48060 var _MonthCalendar = __webpack_require__(500);
48061
48062 var _MonthCalendar2 = _interopRequireDefault(_MonthCalendar);
48063
48064 var _react = __webpack_require__(4);
48065
48066 var _react2 = _interopRequireDefault(_react);
48067
48068 var _Picker = __webpack_require__(469);
48069
48070 var _Picker2 = _interopRequireDefault(_Picker);
48071
48072 var _beeFormControl = __webpack_require__(257);
48073
48074 var _beeFormControl2 = _interopRequireDefault(_beeFormControl);
48075
48076 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
48077
48078 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; }
48079
48080 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
48081
48082 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; }
48083
48084 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); } /**
48085 * Created by chief on 17/4/6.
48086 */
48087
48088 var MonthPicker = function (_Component) {
48089 _inherits(MonthPicker, _Component);
48090
48091 function MonthPicker(props, context) {
48092 _classCallCheck(this, MonthPicker);
48093
48094 var _this = _possibleConstructorReturn(this, _Component.call(this, props, context));
48095
48096 _this.onChange = function (value) {
48097 _this.setState({
48098 value: value
48099 });
48100 };
48101
48102 _this.onOpenChange = function (open) {
48103 _this.setState({
48104 open: open
48105 });
48106 };
48107
48108 _this.onTypeChange = function (type) {
48109 _this.setState({
48110 type: type
48111 });
48112 };
48113
48114 _this.state = {
48115 type: "month",
48116 value: props.value || props.defaultValue,
48117 open: false
48118 };
48119 return _this;
48120 }
48121
48122 MonthPicker.prototype.render = function render() {
48123 var _this2 = this;
48124
48125 var state = this.state;
48126
48127 var props = this.props;
48128
48129 var monthCalendar = _react2["default"].createElement(_MonthCalendar2["default"], props);
48130
48131 return _react2["default"].createElement(
48132 "div",
48133 null,
48134 _react2["default"].createElement(
48135 _Picker2["default"],
48136 {
48137 onOpenChange: this.onOpenChange,
48138 animation: "slide-up",
48139 calendar: monthCalendar,
48140 open: this.state.open,
48141 value: state.value,
48142 onChange: this.onChange
48143 },
48144 function (_ref) {
48145 var value = _ref.value;
48146
48147 return _react2["default"].createElement(_beeFormControl2["default"], {
48148 placeholder: _this2.props.placeholder,
48149 className: _this2.props.className,
48150 value: value && value.format(props.format) || ""
48151 });
48152 }
48153 )
48154 );
48155 };
48156
48157 return MonthPicker;
48158 }(_react.Component);
48159
48160 exports["default"] = MonthPicker;
48161 module.exports = exports["default"];
48162
48163/***/ }),
48164/* 500 */
48165/***/ (function(module, exports, __webpack_require__) {
48166
48167 'use strict';
48168
48169 Object.defineProperty(exports, "__esModule", {
48170 value: true
48171 });
48172
48173 var _react = __webpack_require__(4);
48174
48175 var _react2 = _interopRequireDefault(_react);
48176
48177 var _createReactClass = __webpack_require__(160);
48178
48179 var _createReactClass2 = _interopRequireDefault(_createReactClass);
48180
48181 var _propTypes = __webpack_require__(5);
48182
48183 var _propTypes2 = _interopRequireDefault(_propTypes);
48184
48185 var _KeyCode = __webpack_require__(314);
48186
48187 var _KeyCode2 = _interopRequireDefault(_KeyCode);
48188
48189 var _MonthPanel = __webpack_require__(456);
48190
48191 var _MonthPanel2 = _interopRequireDefault(_MonthPanel);
48192
48193 var _CalendarMixin = __webpack_require__(465);
48194
48195 var _CalendarMixin2 = _interopRequireDefault(_CalendarMixin);
48196
48197 var _CommonMixin = __webpack_require__(466);
48198
48199 var _CommonMixin2 = _interopRequireDefault(_CommonMixin);
48200
48201 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
48202
48203 var MonthCalendar = (0, _createReactClass2['default'])({
48204 displayName: 'MonthCalendar',
48205
48206 propTypes: {
48207 monthCellRender: _propTypes2['default'].func,
48208 dateCellRender: _propTypes2['default'].func
48209 },
48210 mixins: [_CommonMixin2['default'], _CalendarMixin2['default']],
48211
48212 onKeyDown: function onKeyDown(event) {
48213 var keyCode = event.keyCode;
48214 var ctrlKey = event.ctrlKey || event.metaKey;
48215 var stateValue = this.state.value;
48216 var disabledDate = this.props.disabledDate;
48217
48218 var value = stateValue;
48219 switch (keyCode) {
48220 case _KeyCode2['default'].DOWN:
48221 value = stateValue.clone();
48222 value.add(3, 'months');
48223 break;
48224 case _KeyCode2['default'].UP:
48225 value = stateValue.clone();
48226 value.add(-3, 'months');
48227 break;
48228 case _KeyCode2['default'].LEFT:
48229 value = stateValue.clone();
48230 if (ctrlKey) {
48231 value.add(-1, 'years');
48232 } else {
48233 value.add(-1, 'months');
48234 }
48235 break;
48236 case _KeyCode2['default'].RIGHT:
48237 value = stateValue.clone();
48238 if (ctrlKey) {
48239 value.add(1, 'years');
48240 } else {
48241 value.add(1, 'months');
48242 }
48243 break;
48244 case _KeyCode2['default'].ENTER:
48245 if (!disabledDate || !disabledDate(stateValue)) {
48246 this.onSelect(stateValue);
48247 }
48248 event.preventDefault();
48249 return 1;
48250 default:
48251 return undefined;
48252 }
48253 if (value !== stateValue) {
48254 this.setValue(value);
48255 event.preventDefault();
48256 return 1;
48257 }
48258 },
48259 render: function render() {
48260 var props = this.props;
48261 var children = _react2['default'].createElement(_MonthPanel2['default'], {
48262 locale: props.locale,
48263 disabledDate: props.disabledDate,
48264 style: { position: 'relative' },
48265 value: this.state.value,
48266 cellRender: props.monthCellRender,
48267 contentRender: props.monthCellContentRender,
48268 rootPrefixCls: props.prefixCls,
48269 onChange: this.setValue,
48270 onSelect: this.onSelect
48271 });
48272 return this.renderRoot({
48273 children: children
48274 });
48275 }
48276 });
48277
48278 exports['default'] = MonthCalendar;
48279 module.exports = exports['default'];
48280
48281/***/ }),
48282/* 501 */
48283/***/ (function(module, exports, __webpack_require__) {
48284
48285 "use strict";
48286
48287 Object.defineProperty(exports, "__esModule", {
48288 value: true
48289 });
48290
48291 var _react = __webpack_require__(4);
48292
48293 var _react2 = _interopRequireDefault(_react);
48294
48295 var _RangeCalendar = __webpack_require__(502);
48296
48297 var _RangeCalendar2 = _interopRequireDefault(_RangeCalendar);
48298
48299 var _beeFormControl = __webpack_require__(257);
48300
48301 var _beeFormControl2 = _interopRequireDefault(_beeFormControl);
48302
48303 var _Picker = __webpack_require__(469);
48304
48305 var _Picker2 = _interopRequireDefault(_Picker);
48306
48307 var _zh_CN = __webpack_require__(511);
48308
48309 var _zh_CN2 = _interopRequireDefault(_zh_CN);
48310
48311 var _en_US = __webpack_require__(467);
48312
48313 var _en_US2 = _interopRequireDefault(_en_US);
48314
48315 var _moment = __webpack_require__(327);
48316
48317 var _moment2 = _interopRequireDefault(_moment);
48318
48319 __webpack_require__(450);
48320
48321 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
48322
48323 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; }
48324
48325 function _objectDestructuringEmpty(obj) { if (obj == null) throw new TypeError("Cannot destructure undefined"); }
48326
48327 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
48328
48329 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; }
48330
48331 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); } /**
48332 * Created by chief on 17/4/6.
48333 */
48334
48335
48336 var classNames = __webpack_require__(3);
48337
48338 function format(v, f) {
48339 return v ? v.format && v.format(f) : '';
48340 }
48341
48342 var fullFormat = "YYYY-MM-DD";
48343
48344 var cn = location.search.indexOf("cn") !== -1;
48345
48346 var now = (0, _moment2["default"])();
48347
48348 function isValidRange(v) {
48349 return v && v[0] && v[1];
48350 }
48351
48352 if (cn) {
48353 now.locale("zh-cn").utcOffset(8);
48354 } else {
48355 now.locale("en-gb").utcOffset(0);
48356 }
48357
48358 var Picker = function (_Component) {
48359 _inherits(Picker, _Component);
48360
48361 function Picker(props, context) {
48362 _classCallCheck(this, Picker);
48363
48364 var _this = _possibleConstructorReturn(this, _Component.call(this, props, context));
48365
48366 _initialiseProps.call(_this);
48367
48368 _this.state = {
48369 hoverValue: [],
48370 value: props.value || props.defaultValue || []
48371 };
48372 return _this;
48373 }
48374
48375 Picker.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
48376 if ("value" in nextProps) {
48377 this.setState({
48378 value: nextProps.value
48379 });
48380 }
48381 };
48382
48383 Picker.prototype.render = function render() {
48384 var _this2 = this;
48385
48386 var props = this.props;
48387 var showValue = props.showValue;
48388 var value = this.state.value;
48389
48390 var formatStr = props.format || 'YYYY-MM-DD';
48391
48392 var calendar = _react2["default"].createElement(_RangeCalendar2["default"], {
48393 hoverValue: this.state.hoverValue,
48394 onHoverChange: this.onHoverChange,
48395 showWeekNumber: false,
48396 format: formatStr,
48397 dateInputPlaceholder: props.dateInputPlaceholder || ['start', 'end'],
48398 locale: props.locale || _zh_CN2["default"],
48399 onChange: this.onChange,
48400 disabledDate: props.disabledDate,
48401 showClear: props.showClear || false,
48402 showOk: props.showOk || true
48403 });
48404
48405 return _react2["default"].createElement(
48406 _Picker2["default"],
48407 {
48408 value: this.state.value,
48409 animation: "slide-up",
48410 calendar: calendar
48411 },
48412 function (_ref) {
48413 _objectDestructuringEmpty(_ref);
48414
48415 return _react2["default"].createElement(
48416 "div",
48417 { className: classNames('calendar-picker', 'u-input-group', 'simple', props.className) },
48418 _react2["default"].createElement(_beeFormControl2["default"], {
48419 placeholder: _this2.props.placeholder ? _this2.props.placeholder : 'start ~ end',
48420 value: isValidRange(value) && format(value[0], formatStr) + " ~ " + format(value[1], formatStr) || ''
48421 })
48422 );
48423 }
48424 );
48425 };
48426
48427 return Picker;
48428 }(_react.Component);
48429
48430 var _initialiseProps = function _initialiseProps() {
48431 var _this3 = this;
48432
48433 this.onChange = function (value) {
48434 //console.log('onChange', value);
48435 var props = _this3.props;
48436 var formatStr = props.format || 'YYYY-MM-DD';
48437 _this3.setState({
48438 value: value
48439 });
48440 //传入value和dateString
48441 if (props.onChange && isValidRange(value)) {
48442 props.onChange(value, "[\"" + format(value[0], formatStr) + "\" , \"" + format(value[1], formatStr) + "\"]");
48443 }
48444 };
48445
48446 this.onHoverChange = function (hoverValue) {
48447 _this3.setState({ hoverValue: hoverValue });
48448 };
48449
48450 this.remove = function (e) {
48451 console.log(e);
48452 _this3.setState({ value: '' });
48453 };
48454
48455 this.handleCalendarChange = function (value) {};
48456 };
48457
48458 exports["default"] = Picker;
48459 module.exports = exports["default"];
48460
48461/***/ }),
48462/* 502 */
48463/***/ (function(module, exports, __webpack_require__) {
48464
48465 'use strict';
48466
48467 Object.defineProperty(exports, "__esModule", {
48468 value: true
48469 });
48470
48471 var _extends2 = __webpack_require__(145);
48472
48473 var _extends3 = _interopRequireDefault(_extends2);
48474
48475 var _defineProperty2 = __webpack_require__(141);
48476
48477 var _defineProperty3 = _interopRequireDefault(_defineProperty2);
48478
48479 var _toConsumableArray2 = __webpack_require__(150);
48480
48481 var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);
48482
48483 var _slicedToArray2 = __webpack_require__(503);
48484
48485 var _slicedToArray3 = _interopRequireDefault(_slicedToArray2);
48486
48487 var _react = __webpack_require__(4);
48488
48489 var _react2 = _interopRequireDefault(_react);
48490
48491 var _createReactClass = __webpack_require__(160);
48492
48493 var _createReactClass2 = _interopRequireDefault(_createReactClass);
48494
48495 var _propTypes = __webpack_require__(5);
48496
48497 var _propTypes2 = _interopRequireDefault(_propTypes);
48498
48499 var _moment = __webpack_require__(327);
48500
48501 var _moment2 = _interopRequireDefault(_moment);
48502
48503 var _classnames2 = __webpack_require__(3);
48504
48505 var _classnames3 = _interopRequireDefault(_classnames2);
48506
48507 var _CalendarPart = __webpack_require__(510);
48508
48509 var _CalendarPart2 = _interopRequireDefault(_CalendarPart);
48510
48511 var _TodayButton = __webpack_require__(462);
48512
48513 var _TodayButton2 = _interopRequireDefault(_TodayButton);
48514
48515 var _OkButton = __webpack_require__(463);
48516
48517 var _OkButton2 = _interopRequireDefault(_OkButton);
48518
48519 var _TimePickerButton = __webpack_require__(464);
48520
48521 var _TimePickerButton2 = _interopRequireDefault(_TimePickerButton);
48522
48523 var _CommonMixin = __webpack_require__(466);
48524
48525 var _CommonMixin2 = _interopRequireDefault(_CommonMixin);
48526
48527 var _util = __webpack_require__(454);
48528
48529 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
48530
48531 function noop() {}
48532
48533 function isEmptyArray(arr) {
48534 return Array.isArray(arr) && (arr.length === 0 || arr.every(function (i) {
48535 return !i;
48536 }));
48537 }
48538
48539 function getValueFromSelectedValue(selectedValue) {
48540 var _selectedValue = (0, _slicedToArray3['default'])(selectedValue, 2),
48541 start = _selectedValue[0],
48542 end = _selectedValue[1];
48543
48544 var newEnd = end && end.isSame(start, 'month') ? end.clone().add(1, 'month') : end;
48545 return [start, newEnd];
48546 }
48547
48548 function normalizeAnchor(props, init) {
48549 var selectedValue = props.selectedValue || init && props.defaultSelectedValue;
48550 var value = props.value || init && props.defaultValue;
48551 var normalizedValue = value ? getValueFromSelectedValue(value) : getValueFromSelectedValue(selectedValue);
48552 return !isEmptyArray(normalizedValue) ? normalizedValue : init && [(0, _moment2['default'])(), (0, _moment2['default'])().add(1, 'months')];
48553 }
48554
48555 function generateOptions(length) {
48556 var arr = [];
48557 for (var value = 0; value < length; value++) {
48558 arr.push(value);
48559 }
48560 return arr;
48561 }
48562
48563 function onInputSelect(direction, value) {
48564 if (!value) {
48565 return;
48566 }
48567 var originalValue = this.state.selectedValue;
48568 var selectedValue = originalValue.concat();
48569 var index = direction === 'left' ? 0 : 1;
48570 selectedValue[index] = value;
48571 if (selectedValue[0] && this.compare(selectedValue[0], selectedValue[1]) > 0) {
48572 selectedValue[1 - index] = this.state.showTimePicker ? selectedValue[index] : undefined;
48573 }
48574 this.fireSelectValueChange(selectedValue);
48575 }
48576
48577 var RangeCalendar = (0, _createReactClass2['default'])({
48578 displayName: 'RangeCalendar',
48579
48580 propTypes: {
48581 prefixCls: _propTypes2['default'].string,
48582 dateInputPlaceholder: _propTypes2['default'].any,
48583 defaultValue: _propTypes2['default'].any,
48584 value: _propTypes2['default'].any,
48585 hoverValue: _propTypes2['default'].any,
48586 timePicker: _propTypes2['default'].any,
48587 showOk: _propTypes2['default'].bool,
48588 showToday: _propTypes2['default'].bool,
48589 defaultSelectedValue: _propTypes2['default'].array,
48590 selectedValue: _propTypes2['default'].array,
48591 onOk: _propTypes2['default'].func,
48592 showClear: _propTypes2['default'].bool,
48593 locale: _propTypes2['default'].object,
48594 onChange: _propTypes2['default'].func,
48595 onSelect: _propTypes2['default'].func,
48596 onValueChange: _propTypes2['default'].func,
48597 onHoverChange: _propTypes2['default'].func,
48598 format: _propTypes2['default'].oneOfType([_propTypes2['default'].object, _propTypes2['default'].string]),
48599 onClear: _propTypes2['default'].func,
48600 type: _propTypes2['default'].any,
48601 disabledDate: _propTypes2['default'].func,
48602 disabledTime: _propTypes2['default'].func
48603 },
48604
48605 mixins: [_CommonMixin2['default']],
48606
48607 getDefaultProps: function getDefaultProps() {
48608 return {
48609 type: 'both',
48610 defaultSelectedValue: [],
48611 onValueChange: noop,
48612 onHoverChange: noop,
48613 disabledTime: noop,
48614 showToday: true
48615 };
48616 },
48617 getInitialState: function getInitialState() {
48618 var props = this.props;
48619 var selectedValue = props.selectedValue || props.defaultSelectedValue;
48620 var value = normalizeAnchor(props, 1);
48621 return {
48622 selectedValue: selectedValue,
48623 prevSelectedValue: selectedValue,
48624 firstSelectedValue: null,
48625 hoverValue: props.hoverValue || [],
48626 value: value,
48627 showTimePicker: false,
48628 isStartMonthYearPanelShow: false,
48629 isEndMonthYearPanelShow: false
48630 };
48631 },
48632 componentWillReceiveProps: function componentWillReceiveProps(nextProps) {
48633 var newState = {};
48634 if ('value' in nextProps) {
48635 if (nextProps.value) {
48636 newState.value = nextProps.value;
48637 } else {
48638 newState.value = normalizeAnchor(nextProps, 0);
48639 }
48640 this.setState(newState);
48641 }
48642 if ('hoverValue' in nextProps) {
48643 this.setState({ hoverValue: nextProps.hoverValue });
48644 }
48645 if ('selectedValue' in nextProps) {
48646 newState.selectedValue = nextProps.selectedValue;
48647 newState.prevSelectedValue = nextProps.selectedValue;
48648 this.setState(newState);
48649 }
48650 },
48651 onDatePanelEnter: function onDatePanelEnter() {
48652 if (this.hasSelectedValue()) {
48653 this.fireHoverValueChange(this.state.selectedValue.concat());
48654 }
48655 },
48656 onDatePanelLeave: function onDatePanelLeave() {
48657 if (this.hasSelectedValue()) {
48658 this.fireHoverValueChange([]);
48659 }
48660 },
48661 onSelect: function onSelect(value) {
48662 var type = this.props.type;
48663 var _state = this.state,
48664 selectedValue = _state.selectedValue,
48665 prevSelectedValue = _state.prevSelectedValue,
48666 firstSelectedValue = _state.firstSelectedValue;
48667
48668 var nextSelectedValue = void 0;
48669 if (type === 'both') {
48670 if (!firstSelectedValue) {
48671 (0, _util.syncTime)(prevSelectedValue[0], value);
48672 nextSelectedValue = [value];
48673 } else if (this.compare(firstSelectedValue, value) < 0) {
48674 (0, _util.syncTime)(prevSelectedValue[1], value);
48675 nextSelectedValue = [firstSelectedValue, value];
48676 } else {
48677 (0, _util.syncTime)(prevSelectedValue[0], value);
48678 (0, _util.syncTime)(prevSelectedValue[1], firstSelectedValue);
48679 nextSelectedValue = [value, firstSelectedValue];
48680 }
48681 } else if (type === 'start') {
48682 (0, _util.syncTime)(prevSelectedValue[0], value);
48683 var endValue = selectedValue[1];
48684 nextSelectedValue = endValue && this.compare(endValue, value) > 0 ? [value, endValue] : [value];
48685 } else {
48686 // type === 'end'
48687 var startValue = selectedValue[0];
48688 if (startValue && this.compare(startValue, value) <= 0) {
48689 (0, _util.syncTime)(prevSelectedValue[1], value);
48690 nextSelectedValue = [startValue, value];
48691 } else {
48692 (0, _util.syncTime)(prevSelectedValue[0], value);
48693 nextSelectedValue = [value];
48694 }
48695 }
48696
48697 this.fireSelectValueChange(nextSelectedValue);
48698 },
48699 onDayHover: function onDayHover(value) {
48700 var hoverValue = [];
48701 var _state2 = this.state,
48702 selectedValue = _state2.selectedValue,
48703 firstSelectedValue = _state2.firstSelectedValue;
48704 var type = this.props.type;
48705
48706 if (type === 'start' && selectedValue[1]) {
48707 hoverValue = this.compare(value, selectedValue[1]) < 0 ? [value, selectedValue[1]] : [value];
48708 } else if (type === 'end' && selectedValue[0]) {
48709 hoverValue = this.compare(value, selectedValue[0]) > 0 ? [selectedValue[0], value] : [];
48710 } else {
48711 if (!firstSelectedValue) {
48712 return;
48713 }
48714 hoverValue = this.compare(value, firstSelectedValue) < 0 ? [value, firstSelectedValue] : [firstSelectedValue, value];
48715 }
48716 this.fireHoverValueChange(hoverValue);
48717 },
48718 onToday: function onToday() {
48719 var startValue = (0, _util.getTodayTime)(this.state.value[0]);
48720 var endValue = startValue.clone().add(1, 'months');
48721 this.setState({ value: [startValue, endValue] });
48722 },
48723 onOpenTimePicker: function onOpenTimePicker() {
48724 this.setState({
48725 showTimePicker: true
48726 });
48727 },
48728 onCloseTimePicker: function onCloseTimePicker() {
48729 this.setState({
48730 showTimePicker: false
48731 });
48732 },
48733 onOk: function onOk() {
48734 var selectedValue = this.state.selectedValue;
48735
48736 if (this.isAllowedDateAndTime(selectedValue)) {
48737 this.props.onOk(this.state.selectedValue);
48738 }
48739 },
48740 onStartInputSelect: function onStartInputSelect() {
48741 for (var _len = arguments.length, oargs = Array(_len), _key = 0; _key < _len; _key++) {
48742 oargs[_key] = arguments[_key];
48743 }
48744
48745 var args = ['left'].concat(oargs);
48746 return onInputSelect.apply(this, args);
48747 },
48748 onEndInputSelect: function onEndInputSelect() {
48749 for (var _len2 = arguments.length, oargs = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
48750 oargs[_key2] = arguments[_key2];
48751 }
48752
48753 var args = ['right'].concat(oargs);
48754 return onInputSelect.apply(this, args);
48755 },
48756 onStartValueChange: function onStartValueChange(leftValue) {
48757 var value = [].concat((0, _toConsumableArray3['default'])(this.state.value));
48758 value[0] = leftValue;
48759 return this.fireValueChange(value);
48760 },
48761 onEndValueChange: function onEndValueChange(rightValue) {
48762 var value = [].concat((0, _toConsumableArray3['default'])(this.state.value));
48763 value[1] = rightValue;
48764 return this.fireValueChange(value);
48765 },
48766 onStartPanelChange: function onStartPanelChange(_ref) {
48767 var showMonthPanel = _ref.showMonthPanel,
48768 showYearPanel = _ref.showYearPanel;
48769
48770 this.setState({ isStartMonthYearPanelShow: showMonthPanel || showYearPanel });
48771 },
48772 onEndPanelChange: function onEndPanelChange(_ref2) {
48773 var showMonthPanel = _ref2.showMonthPanel,
48774 showYearPanel = _ref2.showYearPanel;
48775
48776 this.setState({ isEndMonthYearPanelShow: showMonthPanel || showYearPanel });
48777 },
48778 getStartValue: function getStartValue() {
48779 var value = this.state.value[0];
48780 var selectedValue = this.state.selectedValue;
48781 // keep selectedTime when select date
48782 if (selectedValue[0] && this.props.timePicker) {
48783 value = value.clone();
48784 (0, _util.syncTime)(selectedValue[0], value);
48785 }
48786 if (this.state.showTimePicker && selectedValue[0]) {
48787 return selectedValue[0];
48788 }
48789 return value;
48790 },
48791 getEndValue: function getEndValue() {
48792 var _state3 = this.state,
48793 value = _state3.value,
48794 selectedValue = _state3.selectedValue,
48795 showTimePicker = _state3.showTimePicker;
48796
48797 var endValue = value[1] ? value[1].clone() : value[0].clone().add(1, 'month');
48798 // keep selectedTime when select date
48799 if (selectedValue[1] && this.props.timePicker) {
48800 (0, _util.syncTime)(selectedValue[1], endValue);
48801 }
48802 if (showTimePicker) {
48803 return selectedValue[1] ? selectedValue[1] : this.getStartValue();
48804 }
48805 return endValue;
48806 },
48807
48808 // get disabled hours for second picker
48809 getEndDisableTime: function getEndDisableTime() {
48810 var _state4 = this.state,
48811 selectedValue = _state4.selectedValue,
48812 value = _state4.value;
48813
48814 var startValue = selectedValue && selectedValue[0] || value[0].clone();
48815 // if startTime and endTime is same day..
48816 // the second time picker will not able to pick time before first time picker
48817 if (!selectedValue[1] || startValue.isSame(selectedValue[1], 'day')) {
48818 var hours = startValue.hour();
48819 var minutes = startValue.minute();
48820 var second = startValue.second();
48821 var _disabledHours = generateOptions(hours);
48822 var _disabledMinutes = generateOptions(minutes);
48823 var _disabledSeconds = generateOptions(second);
48824 return {
48825 disabledHours: function disabledHours() {
48826 return _disabledHours;
48827 },
48828 disabledMinutes: function disabledMinutes(hour) {
48829 if (hour === hours) {
48830 return _disabledMinutes;
48831 }
48832 return [];
48833 },
48834 disabledSeconds: function disabledSeconds(hour, minute) {
48835 if (hour === hours && minute === minutes) {
48836 return _disabledSeconds;
48837 }
48838 return [];
48839 }
48840 };
48841 }
48842 return null;
48843 },
48844 isAllowedDateAndTime: function isAllowedDateAndTime(selectedValue) {
48845 return (0, _util.isAllowedDate)(selectedValue[0], this.props.disabledDate, this.disabledStartTime) && (0, _util.isAllowedDate)(selectedValue[1], this.props.disabledDate, this.disabledEndTime);
48846 },
48847 hasSelectedValue: function hasSelectedValue() {
48848 var selectedValue = this.state.selectedValue;
48849
48850 return !!selectedValue[1] && !!selectedValue[0];
48851 },
48852 compare: function compare(v1, v2) {
48853 if (this.props.timePicker) {
48854 return v1.diff(v2);
48855 }
48856 return v1.diff(v2, 'days');
48857 },
48858 fireSelectValueChange: function fireSelectValueChange(selectedValue, direct) {
48859 var timePicker = this.props.timePicker;
48860 var prevSelectedValue = this.state.prevSelectedValue;
48861
48862 if (timePicker && timePicker.props.defaultValue) {
48863 var timePickerDefaultValue = timePicker.props.defaultValue;
48864 if (!prevSelectedValue[0] && selectedValue[0]) {
48865 (0, _util.syncTime)(timePickerDefaultValue[0], selectedValue[0]);
48866 }
48867 if (!prevSelectedValue[1] && selectedValue[1]) {
48868 (0, _util.syncTime)(timePickerDefaultValue[1], selectedValue[1]);
48869 }
48870 }
48871
48872 if (!('selectedValue' in this.props)) {
48873 this.setState({
48874 selectedValue: selectedValue
48875 });
48876 }
48877
48878 // 尚未选择过时间,直接输入的话
48879 if (!this.state.selectedValue[0] || !this.state.selectedValue[1]) {
48880 var startValue = selectedValue[0] || (0, _moment2['default'])();
48881 var endValue = selectedValue[1] || startValue.clone().add(1, 'months');
48882 this.setState({
48883 selectedValue: selectedValue,
48884 value: getValueFromSelectedValue([startValue, endValue])
48885 });
48886 }
48887
48888 if (selectedValue[0] && !selectedValue[1]) {
48889 this.setState({ firstSelectedValue: selectedValue[0] });
48890 this.fireHoverValueChange(selectedValue.concat());
48891 }
48892 this.props.onChange(selectedValue);
48893 if (direct || selectedValue[0] && selectedValue[1]) {
48894 this.setState({
48895 prevSelectedValue: selectedValue,
48896 firstSelectedValue: null
48897 });
48898 this.fireHoverValueChange([]);
48899 this.props.onSelect(selectedValue);
48900 }
48901 },
48902 fireValueChange: function fireValueChange(value) {
48903 var props = this.props;
48904 if (!('value' in props)) {
48905 this.setState({
48906 value: value
48907 });
48908 }
48909 props.onValueChange(value);
48910 },
48911 fireHoverValueChange: function fireHoverValueChange(hoverValue) {
48912 var props = this.props;
48913 if (!('hoverValue' in props)) {
48914 this.setState({ hoverValue: hoverValue });
48915 }
48916 props.onHoverChange(hoverValue);
48917 },
48918 clear: function clear() {
48919 this.fireSelectValueChange([], true);
48920 this.props.onClear();
48921 },
48922 disabledStartTime: function disabledStartTime(time) {
48923 return this.props.disabledTime(time, 'start');
48924 },
48925 disabledEndTime: function disabledEndTime(time) {
48926 return this.props.disabledTime(time, 'end');
48927 },
48928 disabledStartMonth: function disabledStartMonth(month) {
48929 var value = this.state.value;
48930
48931 return month.isSameOrAfter(value[1], 'month');
48932 },
48933 disabledEndMonth: function disabledEndMonth(month) {
48934 var value = this.state.value;
48935
48936 return month.isSameOrBefore(value[0], 'month');
48937 },
48938 render: function render() {
48939 var _className, _classnames;
48940
48941 var props = this.props;
48942 var state = this.state;
48943 var showTimePicker = state.showTimePicker,
48944 isStartMonthYearPanelShow = state.isStartMonthYearPanelShow,
48945 isEndMonthYearPanelShow = state.isEndMonthYearPanelShow;
48946 var prefixCls = props.prefixCls,
48947 dateInputPlaceholder = props.dateInputPlaceholder,
48948 timePicker = props.timePicker,
48949 showOk = props.showOk,
48950 locale = props.locale,
48951 showClear = props.showClear,
48952 showToday = props.showToday,
48953 type = props.type;
48954 var hoverValue = state.hoverValue,
48955 selectedValue = state.selectedValue;
48956
48957 var className = (_className = {}, (0, _defineProperty3['default'])(_className, props.className, !!props.className), (0, _defineProperty3['default'])(_className, prefixCls, 1), (0, _defineProperty3['default'])(_className, prefixCls + '-hidden', !props.visible), (0, _defineProperty3['default'])(_className, prefixCls + '-range', 1), (0, _defineProperty3['default'])(_className, prefixCls + '-show-time-picker', showTimePicker), (0, _defineProperty3['default'])(_className, prefixCls + '-week-number', props.showWeekNumber), _className);
48958 var classes = (0, _classnames3['default'])(className);
48959 var newProps = {
48960 selectedValue: state.selectedValue,
48961 onSelect: this.onSelect,
48962 onDayHover: type === 'start' && selectedValue[1] || type === 'end' && selectedValue[0] || !!hoverValue.length ? this.onDayHover : undefined
48963 };
48964
48965 var placeholder1 = void 0;
48966 var placeholder2 = void 0;
48967
48968 if (dateInputPlaceholder) {
48969 if (Array.isArray(dateInputPlaceholder)) {
48970 var _dateInputPlaceholder = (0, _slicedToArray3['default'])(dateInputPlaceholder, 2);
48971
48972 placeholder1 = _dateInputPlaceholder[0];
48973 placeholder2 = _dateInputPlaceholder[1];
48974 } else {
48975 placeholder1 = placeholder2 = dateInputPlaceholder;
48976 }
48977 }
48978 var showOkButton = showOk === true || showOk !== false && !!timePicker;
48979 var cls = (0, _classnames3['default'])((_classnames = {}, (0, _defineProperty3['default'])(_classnames, prefixCls + '-footer', true), (0, _defineProperty3['default'])(_classnames, prefixCls + '-range-bottom', true), (0, _defineProperty3['default'])(_classnames, prefixCls + '-footer-show-ok', showOkButton), _classnames));
48980
48981 var startValue = this.getStartValue();
48982 var endValue = this.getEndValue();
48983 var todayTime = (0, _util.getTodayTime)(startValue);
48984 var thisMonth = todayTime.month();
48985 var thisYear = todayTime.year();
48986 var isTodayInView = startValue.year() === thisYear && startValue.month() === thisMonth || endValue.year() === thisYear && endValue.month() === thisMonth;
48987 var nextMonthOfStart = startValue.clone().add(1, 'months');
48988 var isClosestMonths = nextMonthOfStart.year() === endValue.year() && nextMonthOfStart.month() === endValue.month();
48989 return _react2['default'].createElement(
48990 'div',
48991 {
48992 ref: 'root',
48993 className: classes,
48994 style: props.style,
48995 tabIndex: '0'
48996 },
48997 props.renderSidebar(),
48998 _react2['default'].createElement(
48999 'div',
49000 { className: prefixCls + '-panel' },
49001 showClear && selectedValue[0] && selectedValue[1] ? _react2['default'].createElement('a', {
49002 className: prefixCls + '-clear-btn',
49003 role: 'button',
49004 title: locale.clear,
49005 onClick: this.clear
49006 }) : null,
49007 _react2['default'].createElement(
49008 'div',
49009 {
49010 className: prefixCls + '-date-panel',
49011 onMouseLeave: type !== 'both' ? this.onDatePanelLeave : undefined,
49012 onMouseEnter: type !== 'both' ? this.onDatePanelEnter : undefined
49013 },
49014 _react2['default'].createElement(_CalendarPart2['default'], (0, _extends3['default'])({}, props, newProps, {
49015 hoverValue: hoverValue,
49016 direction: 'left',
49017 disabledTime: this.disabledStartTime,
49018 disabledMonth: this.disabledStartMonth,
49019 format: this.getFormat(),
49020 value: startValue,
49021 placeholder: placeholder1,
49022 onInputSelect: this.onStartInputSelect,
49023 onValueChange: this.onStartValueChange,
49024 onPanelChange: this.onStartPanelChange,
49025 timePicker: timePicker,
49026 showTimePicker: showTimePicker,
49027 enablePrev: true,
49028 enableNext: !isClosestMonths || isEndMonthYearPanelShow
49029 })),
49030 _react2['default'].createElement(
49031 'span',
49032 { className: prefixCls + '-range-middle' },
49033 '~'
49034 ),
49035 _react2['default'].createElement(_CalendarPart2['default'], (0, _extends3['default'])({}, props, newProps, {
49036 hoverValue: hoverValue,
49037 direction: 'right',
49038 format: this.getFormat(),
49039 timePickerDisabledTime: this.getEndDisableTime(),
49040 placeholder: placeholder2,
49041 value: endValue,
49042 onInputSelect: this.onEndInputSelect,
49043 onValueChange: this.onEndValueChange,
49044 onPanelChange: this.onEndPanelChange,
49045 timePicker: timePicker,
49046 showTimePicker: showTimePicker,
49047 disabledTime: this.disabledEndTime,
49048 disabledMonth: this.disabledEndMonth,
49049 enablePrev: !isClosestMonths || isStartMonthYearPanelShow,
49050 enableNext: true
49051 }))
49052 ),
49053 _react2['default'].createElement(
49054 'div',
49055 { className: cls },
49056 props.renderFooter(),
49057 showToday || props.timePicker || showOkButton ? _react2['default'].createElement(
49058 'div',
49059 { className: prefixCls + '-footer-btn' },
49060 showToday ? _react2['default'].createElement(_TodayButton2['default'], (0, _extends3['default'])({}, props, {
49061 disabled: isTodayInView,
49062 value: state.value[0],
49063 onToday: this.onToday,
49064 text: locale.backToToday
49065 })) : null,
49066 props.timePicker ? _react2['default'].createElement(_TimePickerButton2['default'], (0, _extends3['default'])({}, props, {
49067 showTimePicker: showTimePicker,
49068 onOpenTimePicker: this.onOpenTimePicker,
49069 onCloseTimePicker: this.onCloseTimePicker,
49070 timePickerDisabled: !this.hasSelectedValue() || hoverValue.length
49071 })) : null,
49072 showOkButton ? _react2['default'].createElement(_OkButton2['default'], (0, _extends3['default'])({}, props, {
49073 onOk: this.onOk,
49074 okDisabled: !this.isAllowedDateAndTime(selectedValue) || !this.hasSelectedValue() || hoverValue.length
49075 })) : null
49076 ) : null
49077 )
49078 )
49079 );
49080 }
49081 });
49082
49083 exports['default'] = RangeCalendar;
49084 module.exports = exports['default'];
49085
49086/***/ }),
49087/* 503 */
49088/***/ (function(module, exports, __webpack_require__) {
49089
49090 "use strict";
49091
49092 exports.__esModule = true;
49093
49094 var _isIterable2 = __webpack_require__(504);
49095
49096 var _isIterable3 = _interopRequireDefault(_isIterable2);
49097
49098 var _getIterator2 = __webpack_require__(507);
49099
49100 var _getIterator3 = _interopRequireDefault(_getIterator2);
49101
49102 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
49103
49104 exports.default = function () {
49105 function sliceIterator(arr, i) {
49106 var _arr = [];
49107 var _n = true;
49108 var _d = false;
49109 var _e = undefined;
49110
49111 try {
49112 for (var _i = (0, _getIterator3.default)(arr), _s; !(_n = (_s = _i.next()).done); _n = true) {
49113 _arr.push(_s.value);
49114
49115 if (i && _arr.length === i) break;
49116 }
49117 } catch (err) {
49118 _d = true;
49119 _e = err;
49120 } finally {
49121 try {
49122 if (!_n && _i["return"]) _i["return"]();
49123 } finally {
49124 if (_d) throw _e;
49125 }
49126 }
49127
49128 return _arr;
49129 }
49130
49131 return function (arr, i) {
49132 if (Array.isArray(arr)) {
49133 return arr;
49134 } else if ((0, _isIterable3.default)(Object(arr))) {
49135 return sliceIterator(arr, i);
49136 } else {
49137 throw new TypeError("Invalid attempt to destructure non-iterable instance");
49138 }
49139 };
49140 }();
49141
49142/***/ }),
49143/* 504 */
49144/***/ (function(module, exports, __webpack_require__) {
49145
49146 module.exports = { "default": __webpack_require__(505), __esModule: true };
49147
49148/***/ }),
49149/* 505 */
49150/***/ (function(module, exports, __webpack_require__) {
49151
49152 __webpack_require__(121);
49153 __webpack_require__(77);
49154 module.exports = __webpack_require__(506);
49155
49156
49157/***/ }),
49158/* 506 */
49159/***/ (function(module, exports, __webpack_require__) {
49160
49161 var classof = __webpack_require__(158);
49162 var ITERATOR = __webpack_require__(118)('iterator');
49163 var Iterators = __webpack_require__(100);
49164 module.exports = __webpack_require__(85).isIterable = function (it) {
49165 var O = Object(it);
49166 return O[ITERATOR] !== undefined
49167 || '@@iterator' in O
49168 // eslint-disable-next-line no-prototype-builtins
49169 || Iterators.hasOwnProperty(classof(O));
49170 };
49171
49172
49173/***/ }),
49174/* 507 */
49175/***/ (function(module, exports, __webpack_require__) {
49176
49177 module.exports = { "default": __webpack_require__(508), __esModule: true };
49178
49179/***/ }),
49180/* 508 */
49181/***/ (function(module, exports, __webpack_require__) {
49182
49183 __webpack_require__(121);
49184 __webpack_require__(77);
49185 module.exports = __webpack_require__(509);
49186
49187
49188/***/ }),
49189/* 509 */
49190/***/ (function(module, exports, __webpack_require__) {
49191
49192 var anObject = __webpack_require__(90);
49193 var get = __webpack_require__(157);
49194 module.exports = __webpack_require__(85).getIterator = function (it) {
49195 var iterFn = get(it);
49196 if (typeof iterFn != 'function') throw TypeError(it + ' is not iterable!');
49197 return anObject(iterFn.call(it));
49198 };
49199
49200
49201/***/ }),
49202/* 510 */
49203/***/ (function(module, exports, __webpack_require__) {
49204
49205 'use strict';
49206
49207 Object.defineProperty(exports, "__esModule", {
49208 value: true
49209 });
49210
49211 var _extends2 = __webpack_require__(145);
49212
49213 var _extends3 = _interopRequireDefault(_extends2);
49214
49215 var _react = __webpack_require__(4);
49216
49217 var _react2 = _interopRequireDefault(_react);
49218
49219 var _createReactClass = __webpack_require__(160);
49220
49221 var _createReactClass2 = _interopRequireDefault(_createReactClass);
49222
49223 var _propTypes = __webpack_require__(5);
49224
49225 var _propTypes2 = _interopRequireDefault(_propTypes);
49226
49227 var _CalendarHeader = __webpack_require__(455);
49228
49229 var _CalendarHeader2 = _interopRequireDefault(_CalendarHeader);
49230
49231 var _DateTable = __webpack_require__(315);
49232
49233 var _DateTable2 = _interopRequireDefault(_DateTable);
49234
49235 var _DateInput = __webpack_require__(468);
49236
49237 var _DateInput2 = _interopRequireDefault(_DateInput);
49238
49239 var _index = __webpack_require__(454);
49240
49241 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
49242
49243 var CalendarPart = (0, _createReactClass2['default'])({
49244 displayName: 'CalendarPart',
49245
49246 propTypes: {
49247 prefixCls: _propTypes2['default'].string,
49248 value: _propTypes2['default'].any,
49249 hoverValue: _propTypes2['default'].any,
49250 selectedValue: _propTypes2['default'].any,
49251 direction: _propTypes2['default'].any,
49252 locale: _propTypes2['default'].any,
49253 showTimePicker: _propTypes2['default'].bool,
49254 format: _propTypes2['default'].any,
49255 placeholder: _propTypes2['default'].any,
49256 disabledDate: _propTypes2['default'].any,
49257 timePicker: _propTypes2['default'].any,
49258 disabledTime: _propTypes2['default'].any,
49259 onInputSelect: _propTypes2['default'].func,
49260 timePickerDisabledTime: _propTypes2['default'].object,
49261 enableNext: _propTypes2['default'].any,
49262 enablePrev: _propTypes2['default'].any
49263 },
49264 render: function render() {
49265 var props = this.props;
49266 var prefixCls = props.prefixCls,
49267 value = props.value,
49268 hoverValue = props.hoverValue,
49269 selectedValue = props.selectedValue,
49270 direction = props.direction,
49271 locale = props.locale,
49272 format = props.format,
49273 placeholder = props.placeholder,
49274 disabledDate = props.disabledDate,
49275 timePicker = props.timePicker,
49276 disabledTime = props.disabledTime,
49277 timePickerDisabledTime = props.timePickerDisabledTime,
49278 showTimePicker = props.showTimePicker,
49279 onInputSelect = props.onInputSelect,
49280 enablePrev = props.enablePrev,
49281 enableNext = props.enableNext;
49282
49283 var shouldShowTimePicker = showTimePicker && timePicker;
49284 var disabledTimeConfig = shouldShowTimePicker && disabledTime ? (0, _index.getTimeConfig)(selectedValue, disabledTime) : null;
49285 var rangeClassName = prefixCls + '-range';
49286 var newProps = {
49287 locale: locale,
49288 value: value,
49289 prefixCls: prefixCls,
49290 showTimePicker: showTimePicker
49291 };
49292 var index = direction === 'left' ? 0 : 1;
49293 var timePickerEle = shouldShowTimePicker && _react2['default'].cloneElement(timePicker, (0, _extends3['default'])({
49294 showHour: true,
49295 showMinute: true,
49296 showSecond: true
49297 }, timePicker.props, disabledTimeConfig, timePickerDisabledTime, {
49298 onChange: onInputSelect,
49299 defaultOpenValue: value,
49300 value: selectedValue[index]
49301 }));
49302 return _react2['default'].createElement(
49303 'div',
49304 { className: rangeClassName + '-part ' + rangeClassName + '-' + direction },
49305 _react2['default'].createElement(_DateInput2['default'], {
49306 format: format,
49307 locale: locale,
49308 prefixCls: prefixCls,
49309 timePicker: timePicker,
49310 disabledDate: disabledDate,
49311 placeholder: placeholder,
49312 disabledTime: disabledTime,
49313 value: value,
49314 showClear: false,
49315 selectedValue: selectedValue[index],
49316 onChange: onInputSelect
49317 }),
49318 _react2['default'].createElement(
49319 'div',
49320 { style: { outline: 'none' } },
49321 _react2['default'].createElement(_CalendarHeader2['default'], (0, _extends3['default'])({}, newProps, {
49322 enableNext: enableNext,
49323 enablePrev: enablePrev,
49324 onValueChange: props.onValueChange,
49325 onPanelChange: props.onPanelChange,
49326 disabledMonth: props.disabledMonth
49327 })),
49328 showTimePicker ? _react2['default'].createElement(
49329 'div',
49330 { className: prefixCls + '-time-picker' },
49331 _react2['default'].createElement(
49332 'div',
49333 { className: prefixCls + '-time-picker-panel' },
49334 timePickerEle
49335 )
49336 ) : null,
49337 _react2['default'].createElement(
49338 'div',
49339 { className: prefixCls + '-body' },
49340 _react2['default'].createElement(_DateTable2['default'], (0, _extends3['default'])({}, newProps, {
49341 hoverValue: hoverValue,
49342 selectedValue: selectedValue,
49343 dateRender: props.dateRender,
49344 onSelect: props.onSelect,
49345 onDayHover: props.onDayHover,
49346 disabledDate: disabledDate,
49347 showWeekNumber: props.showWeekNumber
49348 }))
49349 )
49350 )
49351 );
49352 }
49353 });
49354
49355 exports['default'] = CalendarPart;
49356 module.exports = exports['default'];
49357
49358/***/ }),
49359/* 511 */
49360/***/ (function(module, exports) {
49361
49362 'use strict';
49363
49364 Object.defineProperty(exports, "__esModule", {
49365 value: true
49366 });
49367 exports['default'] = {
49368 today: '今天',
49369 now: '此刻',
49370 backToToday: '返回今天',
49371 ok: '确定',
49372 timeSelect: '选择时间',
49373 dateSelect: '选择日期',
49374 clear: '清除',
49375 month: '月',
49376 year: '年',
49377 previousMonth: '上个月 (翻页上键)',
49378 nextMonth: '下个月 (翻页下键)',
49379 monthSelect: '选择月份',
49380 yearSelect: '选择年份',
49381 decadeSelect: '选择年代',
49382 yearFormat: 'YYYY年',
49383 dayFormat: 'D日',
49384 dateFormat: 'YYYY年M月D日',
49385 dateTimeFormat: 'YYYY年M月D日 HH时mm分ss秒',
49386 previousYear: '上一年 (Control键加左方向键)',
49387 nextYear: '下一年 (Control键加右方向键)',
49388 previousDecade: '上一年代',
49389 nextDecade: '下一年代',
49390 previousCentury: '上一世纪',
49391 nextCentury: '下一世纪'
49392 };
49393 module.exports = exports['default'];
49394
49395/***/ }),
49396/* 512 */
49397/***/ (function(module, exports, __webpack_require__) {
49398
49399 "use strict";
49400
49401 Object.defineProperty(exports, "__esModule", {
49402 value: true
49403 });
49404
49405 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; };
49406
49407 var _rcCalendar = __webpack_require__(312);
49408
49409 var _rcCalendar2 = _interopRequireDefault(_rcCalendar);
49410
49411 var _react = __webpack_require__(4);
49412
49413 var _react2 = _interopRequireDefault(_react);
49414
49415 var _Picker = __webpack_require__(469);
49416
49417 var _Picker2 = _interopRequireDefault(_Picker);
49418
49419 var _beeFormControl = __webpack_require__(257);
49420
49421 var _beeFormControl2 = _interopRequireDefault(_beeFormControl);
49422
49423 var _zh_CN = __webpack_require__(511);
49424
49425 var _zh_CN2 = _interopRequireDefault(_zh_CN);
49426
49427 var _en_US = __webpack_require__(467);
49428
49429 var _en_US2 = _interopRequireDefault(_en_US);
49430
49431 var _moment = __webpack_require__(327);
49432
49433 var _moment2 = _interopRequireDefault(_moment);
49434
49435 __webpack_require__(450);
49436
49437 __webpack_require__(358);
49438
49439 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
49440
49441 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; }
49442
49443 function _objectDestructuringEmpty(obj) { if (obj == null) throw new TypeError("Cannot destructure undefined"); }
49444
49445 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
49446
49447 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; }
49448
49449 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); } /**
49450 * Created by chief on 17/4/6.
49451 */
49452
49453 var cn = location.search.indexOf("cn") !== -1;
49454
49455 var now = (0, _moment2["default"])();
49456 if (cn) {
49457 now.locale("zh-cn").utcOffset(8);
49458 } else {
49459 now.locale("en-gb").utcOffset(0);
49460 }
49461
49462 var format = "YYYY-Wo";
49463
49464 var style = "\n.week-calendar {\n width: 386px;\n}\n.week-calendar .rc-calendar-tbody > tr:hover\n.rc-calendar-date {\n background: #ebfaff;\n}\n\n.week-calendar .rc-calendar-tbody > tr:hover\n.rc-calendar-selected-day .rc-calendar-date {\n background: #3fc7fa;\n}\n\n.week-calendar .week-calendar-sidebar {\n position:absolute;\n top:0;\n left:0;\n bottom:0;\n width:100px;\n border-right: 1px solid #ccc;\n}\n.week-calendar .rc-calendar-panel {\n margin-left: 100px;\n}\n";
49465
49466 var WeekPicker = function (_Component) {
49467 _inherits(WeekPicker, _Component);
49468
49469 function WeekPicker(props, context) {
49470 _classCallCheck(this, WeekPicker);
49471
49472 var _this = _possibleConstructorReturn(this, _Component.call(this, props, context));
49473
49474 _this.onChange = function (value) {
49475 _this.setState({
49476 value: value
49477 });
49478 };
49479
49480 _this.onOpenChange = function (open) {
49481 _this.setState({
49482 open: open
49483 });
49484 };
49485
49486 _this.dateRender = function (current) {
49487 var selectedValue = _this.state.value;
49488 if (selectedValue && current.year() === selectedValue.year() && current.week() === selectedValue.week()) {
49489 return _react2["default"].createElement(
49490 "div",
49491 { className: "rc-calendar-selected-day" },
49492 _react2["default"].createElement(
49493 "div",
49494 { className: "rc-calendar-date" },
49495 current.date()
49496 )
49497 );
49498 }
49499 return _react2["default"].createElement(
49500 "div",
49501 { className: "rc-calendar-date" },
49502 current.date()
49503 );
49504 };
49505
49506 _this.lastWeek = function () {
49507 var value = _this.props.value || now;
49508 value.add(-1, "weeks");
49509 _this.setState({
49510 value: value,
49511 open: false
49512 });
49513 };
49514
49515 _this.nextWeek = function () {
49516 var value = _this.props.value || now;
49517 value.add(+1, "weeks");
49518 _this.setState({
49519 value: value,
49520 open: false
49521 });
49522 };
49523
49524 _this.renderSidebar = function () {
49525 return _react2["default"].createElement(
49526 "div",
49527 { className: "week-calendar-sidebar", key: "sidebar" },
49528 _react2["default"].createElement(
49529 "button",
49530 {
49531 className: "week-calendar-sidebar-button",
49532 onClick: _this.lastWeek.bind(_this),
49533 style: { margin: 8 }
49534 },
49535 "\u4E0A\u4E00\u5468"
49536 ),
49537 _react2["default"].createElement(
49538 "button",
49539 {
49540 className: "week-calendar-sidebar-button",
49541 onClick: _this.nextWeek.bind(_this),
49542 style: { margin: 8 }
49543 },
49544 "\u4E0B\u4E00\u5468"
49545 )
49546 );
49547 };
49548
49549 _this.onTypeChange = function (type) {
49550 _this.setState({
49551 type: type
49552 });
49553 };
49554
49555 _this.handleCalendarChange = function (value) {
49556 _this.setState({ value: value });
49557 };
49558
49559 _this.state = {
49560 value: props.value || props.defaultValue,
49561 open: false
49562 };
49563 return _this;
49564 }
49565
49566 WeekPicker.prototype.render = function render() {
49567 var _this2 = this;
49568
49569 var state = this.state;
49570 var props = this.props;
49571 var value = state.value;
49572 var calendar = _react2["default"].createElement(_rcCalendar2["default"], {
49573 className: "week-calendar",
49574 showWeekNumber: true,
49575 renderSidebar: this.renderSidebar,
49576 dateRender: this.dateRender,
49577 locale: cn ? _zh_CN2["default"] : _en_US2["default"],
49578 format: format,
49579 dateInputPlaceholder: this.props.placeholder,
49580 defaultValue: now,
49581 showDateInput: true,
49582 onChange: this.handleCalendarChange
49583 });
49584 return _react2["default"].createElement(
49585 "div",
49586 null,
49587 _react2["default"].createElement("style", { dangerouslySetInnerHTML: { __html: style } }),
49588 _react2["default"].createElement(
49589 _Picker2["default"],
49590 _extends({}, props, {
49591 onOpenChange: this.onOpenChange,
49592 open: this.state.open,
49593 animation: "slide-up",
49594 calendar: calendar,
49595 value: state.value
49596 }),
49597 function (_ref) {
49598 _objectDestructuringEmpty(_ref);
49599
49600 return _react2["default"].createElement(_beeFormControl2["default"], {
49601 placeholder: _this2.props.placeholder,
49602 disabled: state.disabled,
49603 readOnly: true,
49604 tabIndex: "-1",
49605 className: _this2.props.className,
49606 value: value && value.format(format) || ""
49607 });
49608 }
49609 )
49610 );
49611 };
49612
49613 return WeekPicker;
49614 }(_react.Component);
49615
49616 exports["default"] = WeekPicker;
49617 module.exports = exports["default"];
49618
49619/***/ }),
49620/* 513 */
49621/***/ (function(module, exports, __webpack_require__) {
49622
49623 'use strict';
49624
49625 Object.defineProperty(exports, "__esModule", {
49626 value: true
49627 });
49628
49629 var _Switch = __webpack_require__(514);
49630
49631 var _Switch2 = _interopRequireDefault(_Switch);
49632
49633 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
49634
49635 exports["default"] = _Switch2["default"];
49636 module.exports = exports['default'];
49637
49638/***/ }),
49639/* 514 */
49640/***/ (function(module, exports, __webpack_require__) {
49641
49642 "use strict";
49643
49644 Object.defineProperty(exports, "__esModule", {
49645 value: true
49646 });
49647
49648 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; };
49649
49650 var _react = __webpack_require__(4);
49651
49652 var _react2 = _interopRequireDefault(_react);
49653
49654 var _reactDom = __webpack_require__(12);
49655
49656 var _reactDom2 = _interopRequireDefault(_reactDom);
49657
49658 var _classnames = __webpack_require__(3);
49659
49660 var _classnames2 = _interopRequireDefault(_classnames);
49661
49662 var _propTypes = __webpack_require__(5);
49663
49664 var _propTypes2 = _interopRequireDefault(_propTypes);
49665
49666 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
49667
49668 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; }
49669
49670 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; }
49671
49672 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
49673
49674 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; }
49675
49676 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); }
49677
49678 var propTypes = {
49679 clsPrefix: _propTypes2["default"].string,
49680 disabled: _propTypes2["default"].bool,
49681 checkedChildren: _propTypes2["default"].any,
49682 unCheckedChildren: _propTypes2["default"].any,
49683 onChangeHandler: _propTypes2["default"].func,
49684 onChange: _propTypes2["default"].func
49685 };
49686 var defaultProps = {
49687 clsPrefix: "u-switch",
49688 checkedChildren: null,
49689 unCheckedChildren: null,
49690 defaultChecked: false,
49691 size: "",
49692 disabled: false,
49693 onChangeHandler: function onChangeHandler() {},
49694 onChange: function onChange() {}
49695 };
49696
49697 var Switch = function (_Component) {
49698 _inherits(Switch, _Component);
49699
49700 function Switch(props) {
49701 _classCallCheck(this, Switch);
49702
49703 var _this = _possibleConstructorReturn(this, _Component.call(this, props));
49704
49705 _initialiseProps.call(_this);
49706
49707 var checked = false;
49708 if ('checked' in props) {
49709 checked = !!props.checked;
49710 } else if ('defaultValue' in props) {
49711 checked = !!props.defaultValue;
49712 } else {
49713 checked = !!props.defaultChecked;
49714 }
49715 _this.state = { checked: checked };
49716 return _this;
49717 }
49718
49719 Switch.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps, nextState) {
49720 if ("checked" in nextProps) {
49721 this.setState({ checked: !!nextProps.checked });
49722 }
49723 };
49724 //点击switch改变状态
49725
49726 // Handle auto focus when click switch in Chrome
49727
49728
49729 Switch.prototype.render = function render() {
49730 var _props = this.props,
49731 checkedChildren = _props.checkedChildren,
49732 unCheckedChildren = _props.unCheckedChildren,
49733 onChangeHandler = _props.onChangeHandler,
49734 size = _props.size,
49735 className = _props.className,
49736 clsPrefix = _props.clsPrefix,
49737 disabled = _props.disabled,
49738 colors = _props.colors,
49739 others = _objectWithoutProperties(_props, ["checkedChildren", "unCheckedChildren", "onChangeHandler", "size", "className", "clsPrefix", "disabled", "colors"]);
49740 //获取checked
49741
49742
49743 var checked = this.state.checked;
49744 var classes = {
49745 "is-checked": checked
49746 };
49747 if (size) {
49748 classes[clsPrefix + "-" + size] = true;
49749 }
49750 if (colors) {
49751 classes[clsPrefix + "-" + colors] = true;
49752 }
49753 classes[[clsPrefix + "-disabled"]] = disabled;
49754
49755 var classNames = (0, _classnames2["default"])(clsPrefix, classes);
49756
49757 return _react2["default"].createElement(
49758 "span",
49759 _extends({}, others, {
49760 ref: this.saveNode,
49761 onClick: this.clickHandler,
49762 onKeyDown: this.handleKeyDown,
49763 onMouseUp: this.handleMouseUp,
49764 className: (0, _classnames2["default"])(className, classNames),
49765 tabIndex: disabled ? -1 : 0
49766 }),
49767 _react2["default"].createElement(
49768 "span",
49769 { className: clsPrefix + "-inner" },
49770 checked ? checkedChildren : unCheckedChildren
49771 )
49772 );
49773 };
49774
49775 return Switch;
49776 }(_react.Component);
49777
49778 var _initialiseProps = function _initialiseProps() {
49779 var _this2 = this;
49780
49781 this.setChecked = function (checked) {
49782 if (_this2.props.disabled) {
49783 return;
49784 }
49785 if (!('checked' in _this2.props)) {
49786 _this2.setState({
49787 checked: checked
49788 });
49789 }
49790 _this2.props.onChangeHandler(checked);
49791 _this2.props.onChange(checked);
49792 };
49793
49794 this.clickHandler = function () {
49795 var checked = !_this2.state.checked;
49796 _this2.setChecked(checked);
49797 };
49798
49799 this.handleKeyDown = function (e) {
49800 if (e.keyCode === 37) {
49801 // Left
49802 _this2.setChecked(false);
49803 } else if (e.keyCode === 39) {
49804 // Right
49805 _this2.setChecked(true);
49806 } else if (e.keyCode === 32 || e.keyCode === 13) {
49807 // Space, Enter
49808 _this2.clickHandler();
49809 }
49810 };
49811
49812 this.handleMouseUp = function (e) {
49813 if (_this2.node) {
49814 _this2.node.blur();
49815 }
49816 if (_this2.props.onMouseUp) {
49817 _this2.props.onMouseUp(e);
49818 }
49819 };
49820
49821 this.saveNode = function (node) {
49822 _this2.node = node;
49823 };
49824 };
49825
49826 Switch.propTypes = propTypes;
49827 Switch.defaultProps = defaultProps;
49828 exports["default"] = Switch;
49829 module.exports = exports["default"];
49830
49831/***/ }),
49832/* 515 */
49833/***/ (function(module, exports, __webpack_require__) {
49834
49835 'use strict';
49836
49837 Object.defineProperty(exports, "__esModule", {
49838 value: true
49839 });
49840
49841 var _Slider = __webpack_require__(516);
49842
49843 var _Slider2 = _interopRequireDefault(_Slider);
49844
49845 var _Range = __webpack_require__(524);
49846
49847 var _Range2 = _interopRequireDefault(_Range);
49848
49849 var _Handle = __webpack_require__(522);
49850
49851 var _Handle2 = _interopRequireDefault(_Handle);
49852
49853 var _createSliderWithTooltip = __webpack_require__(526);
49854
49855 var _createSliderWithTooltip2 = _interopRequireDefault(_createSliderWithTooltip);
49856
49857 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
49858
49859 _Slider2["default"].Range = _Range2["default"];
49860 _Slider2["default"].Handle = _Handle2["default"];
49861 _Slider2["default"].createSliderWithTooltip = _createSliderWithTooltip2["default"];
49862
49863 exports["default"] = _Slider2["default"];
49864 module.exports = exports['default'];
49865
49866/***/ }),
49867/* 516 */
49868/***/ (function(module, exports, __webpack_require__) {
49869
49870 /* WEBPACK VAR INJECTION */(function(process) {'use strict';
49871
49872 Object.defineProperty(exports, "__esModule", {
49873 value: true
49874 });
49875
49876 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; };
49877
49878 var _react = __webpack_require__(4);
49879
49880 var _react2 = _interopRequireDefault(_react);
49881
49882 var _propTypes = __webpack_require__(5);
49883
49884 var _propTypes2 = _interopRequireDefault(_propTypes);
49885
49886 var _warning = __webpack_require__(31);
49887
49888 var _warning2 = _interopRequireDefault(_warning);
49889
49890 var _Track = __webpack_require__(517);
49891
49892 var _Track2 = _interopRequireDefault(_Track);
49893
49894 var _createSlider = __webpack_require__(518);
49895
49896 var _createSlider2 = _interopRequireDefault(_createSlider);
49897
49898 var _utils = __webpack_require__(523);
49899
49900 var utils = _interopRequireWildcard(_utils);
49901
49902 function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj["default"] = obj; return newObj; } }
49903
49904 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
49905
49906 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; }
49907
49908 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
49909
49910 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; }
49911
49912 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); }
49913
49914 var Slider = function (_React$Component) {
49915 _inherits(Slider, _React$Component);
49916
49917 function Slider(props) {
49918 _classCallCheck(this, Slider);
49919
49920 var _this = _possibleConstructorReturn(this, _React$Component.call(this, props));
49921
49922 _this.onEnd = function () {
49923 _this.setState({ dragging: false });
49924 _this.removeDocumentEvents();
49925 _this.props.onAfterChange(_this.getValue());
49926 };
49927
49928 var defaultValue = props.defaultValue !== undefined ? props.defaultValue : props.min;
49929 var value = props.value !== undefined ? props.value : defaultValue;
49930
49931 _this.state = {
49932 value: _this.trimAlignValue(value),
49933 dragging: false
49934 };
49935
49936 if (process.env.NODE_ENV !== 'production') {
49937 (0, _warning2["default"])(!('minimumTrackStyle' in props), 'minimumTrackStyle will be deprecate, please use trackStyle instead.');
49938 (0, _warning2["default"])(!('maximumTrackStyle' in props), 'maximumTrackStyle will be deprecate, please use railStyle instead.');
49939 }
49940 return _this;
49941 }
49942
49943 Slider.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
49944 //只有改变value或者min或者max的时候才会再次渲染
49945 if (!('value' in nextProps || 'min' in nextProps || 'max' in nextProps)) return;
49946
49947 var prevValue = this.state.value;
49948 var value = nextProps.value !== undefined ? nextProps.value : prevValue;
49949 var nextValue = this.trimAlignValue(value, nextProps);
49950 if (nextValue === prevValue) return;
49951
49952 this.setState({ value: nextValue });
49953 if (utils.isValueOutOfRange(value, nextProps)) {
49954 this.props.onChange(nextValue);
49955 }
49956 };
49957
49958 Slider.prototype.onChange = function onChange(state) {
49959 var props = this.props;
49960 var isNotControlled = !('value' in props);
49961 if (isNotControlled) {
49962 this.setState(state);
49963 }
49964 //console.log("改变之后的:"+state.value);
49965 var changedValue = state.value;
49966 props.onChange(changedValue);
49967 };
49968
49969 Slider.prototype.onStart = function onStart(position) {
49970 //position = getMousePosition 或者 handlePosition
49971 //1.getValue:return this.state.value
49972 //2.onBeforeChange:输出开始变化之前的状态
49973 //3.calcValueByPos:这个是在createSlider.jsx,超级多的方法混合在一起
49974 //3.1 getSliderStart:slider的top或者left(主持或者水平), pixelOffset = position - this.getSliderStart()得到mouseposition 或者 handlePosition - slider的top(或者left)
49975 //3.2 this.calcValue(pixelOffset):目的得到value,跟ratio有关
49976 //3.3 this.trimAlignValue(this.calcValue(pixelOffset)):在slider.jsx中1.ensureValueInRange 先算出是否可取 v 或者 min 或者 max 2.ensureValuePrecision:来获取真的前进数值closest数值
49977 //4.onChange:得到改变之后的值,setState{value}的值并且调用props.onChange
49978 this.setState({ dragging: true });
49979 var props = this.props;
49980 var prevValue = this.getValue();
49981
49982 props.onBeforeChange(prevValue);
49983
49984 var value = this.calcValueByPos(position);
49985 this.startValue = value;
49986 this.startPosition = position;
49987
49988 if (value === prevValue) return;
49989
49990 this.onChange({ value: value });
49991 };
49992
49993 Slider.prototype.onMove = function onMove(e, position) {
49994 utils.pauseEvent(e);
49995 var oldValue = this.state.value;
49996
49997 var value = this.calcValueByPos(position);
49998 if (value === oldValue) return;
49999 this.onChange({ value: value });
50000 };
50001
50002 Slider.prototype.onKeyboard = function onKeyboard(e) {
50003 var valueMutator = utils.getKeyboardValueMutator(e);
50004
50005 if (valueMutator) {
50006 utils.pauseEvent(e);
50007 var state = this.state;
50008 var oldValue = state.value;
50009 var mutatedValue = valueMutator(oldValue, this.props);
50010 var value = this.trimAlignValue(mutatedValue);
50011 if (value === oldValue) return;
50012
50013 this.onChange({ value: value });
50014 }
50015 };
50016
50017 Slider.prototype.getValue = function getValue() {
50018 return this.state.value;
50019 };
50020
50021 Slider.prototype.getLowerBound = function getLowerBound() {
50022 return this.props.min;
50023 };
50024
50025 Slider.prototype.getUpperBound = function getUpperBound() {
50026 return this.state.value;
50027 };
50028
50029 Slider.prototype.trimAlignValue = function trimAlignValue(v) {
50030 var nextProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
50031
50032 var mergedProps = _extends({}, this.props, nextProps);
50033 var val = utils.ensureValueInRange(v, mergedProps);
50034 return utils.ensureValuePrecision(val, mergedProps);
50035 };
50036
50037 Slider.prototype.render = function render() {
50038 var _this2 = this;
50039
50040 var _props = this.props,
50041 prefixCls = _props.prefixCls,
50042 vertical = _props.vertical,
50043 included = _props.included,
50044 disabled = _props.disabled,
50045 minimumTrackStyle = _props.minimumTrackStyle,
50046 trackStyle = _props.trackStyle,
50047 handleStyle = _props.handleStyle,
50048 min = _props.min,
50049 max = _props.max,
50050 handleGenerator = _props.handle;
50051 var _state = this.state,
50052 value = _state.value,
50053 dragging = _state.dragging;
50054
50055 var offset = this.calcOffset(value); //按照百分制
50056 //hanleGenerator:进入的是createSlider.jsx的 handle({ index, ...restProps })
50057 //{delete restProps.dragging; return <Handle {...restProps} key={index} />;},
50058 var handle = handleGenerator({
50059 className: prefixCls + '-handle',
50060 vertical: vertical,
50061 offset: offset,
50062 value: value,
50063 dragging: dragging,
50064 disabled: disabled,
50065 min: min,
50066 max: max,
50067 style: handleStyle[0] || handleStyle,
50068 ref: function ref(h) {
50069 return _this2.saveHandle(0, h);
50070 } //当 WrappedComponent 被渲染后,ref 上的回调函数将会执行
50071 });
50072
50073 var _trackStyle = trackStyle[0] || trackStyle;
50074 var track = _react2["default"].createElement(_Track2["default"], {
50075 className: prefixCls + '-track',
50076 vertical: vertical,
50077 included: included,
50078 offset: 0,
50079 length: offset,
50080 style: _extends({}, minimumTrackStyle, _trackStyle)
50081 });
50082
50083 return { tracks: track, handles: handle };
50084 };
50085
50086 return Slider;
50087 }(_react2["default"].Component);
50088
50089 Slider.propTypes = {
50090 defaultValue: _propTypes2["default"].number,
50091 value: _propTypes2["default"].number,
50092 disabled: _propTypes2["default"].bool
50093 };
50094 exports["default"] = (0, _createSlider2["default"])(Slider);
50095 module.exports = exports['default'];
50096 /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(32)))
50097
50098/***/ }),
50099/* 517 */
50100/***/ (function(module, exports, __webpack_require__) {
50101
50102 'use strict';
50103
50104 Object.defineProperty(exports, "__esModule", {
50105 value: true
50106 });
50107
50108 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; };
50109
50110 var _react = __webpack_require__(4);
50111
50112 var _react2 = _interopRequireDefault(_react);
50113
50114 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
50115
50116 var Track = function Track(props) {
50117 //处于激活状态的track
50118 var className = props.className,
50119 included = props.included,
50120 vertical = props.vertical,
50121 offset = props.offset,
50122 length = props.length,
50123 style = props.style;
50124
50125
50126 var positonStyle = vertical ? {
50127 bottom: offset + '%',
50128 height: length + '%'
50129 } : {
50130 left: offset + '%',
50131 width: length + '%'
50132 };
50133
50134 var elStyle = _extends({
50135 visibility: included ? 'visible' : 'hidden'
50136 }, style, positonStyle);
50137 return _react2["default"].createElement('div', { className: className, style: elStyle });
50138 };
50139
50140 exports["default"] = Track;
50141 module.exports = exports['default'];
50142
50143/***/ }),
50144/* 518 */
50145/***/ (function(module, exports, __webpack_require__) {
50146
50147 /* WEBPACK VAR INJECTION */(function(process) {'use strict';
50148
50149 Object.defineProperty(exports, "__esModule", {
50150 value: true
50151 });
50152
50153 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; };
50154
50155 exports["default"] = createSlider;
50156
50157 var _react = __webpack_require__(4);
50158
50159 var _react2 = _interopRequireDefault(_react);
50160
50161 var _propTypes = __webpack_require__(5);
50162
50163 var _propTypes2 = _interopRequireDefault(_propTypes);
50164
50165 var _addEventListener = __webpack_require__(519);
50166
50167 var _addEventListener2 = _interopRequireDefault(_addEventListener);
50168
50169 var _classnames = __webpack_require__(3);
50170
50171 var _classnames2 = _interopRequireDefault(_classnames);
50172
50173 var _warning = __webpack_require__(31);
50174
50175 var _warning2 = _interopRequireDefault(_warning);
50176
50177 var _Steps = __webpack_require__(520);
50178
50179 var _Steps2 = _interopRequireDefault(_Steps);
50180
50181 var _Marks = __webpack_require__(521);
50182
50183 var _Marks2 = _interopRequireDefault(_Marks);
50184
50185 var _Handle = __webpack_require__(522);
50186
50187 var _Handle2 = _interopRequireDefault(_Handle);
50188
50189 var _utils = __webpack_require__(523);
50190
50191 var utils = _interopRequireWildcard(_utils);
50192
50193 function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj["default"] = obj; return newObj; } }
50194
50195 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
50196
50197 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; }
50198
50199 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; }
50200
50201 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; }
50202
50203 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
50204
50205 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; }
50206
50207 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); }
50208
50209 function noop() {}
50210
50211 function createSlider(Component) {
50212 var _class, _temp;
50213
50214 return _temp = _class = function (_Component) {
50215 _inherits(ComponentEnhancer, _Component);
50216
50217 function ComponentEnhancer(props) {
50218 _classCallCheck(this, ComponentEnhancer);
50219
50220 var _this = _possibleConstructorReturn(this, _Component.call(this, props));
50221
50222 _this.onMouseDown = function (e) {
50223 //鼠标落下的操作
50224 //指示当事件被触发时哪个鼠标按键被点击
50225 //参数 描述
50226 //0 规定鼠标左键。
50227 //1 规定鼠标中键。
50228 //2 规定鼠标右键。
50229 if (e.button !== 0) {
50230 return;
50231 }
50232 //1.getMousePosition:获得鼠标的位置 clientY或者pageX
50233 //2.isEventFromHandle:是直接落下还是拖动handle
50234 //3.getHandleCenterPosition:获得handle的中点位置
50235 //4.onStart:在slider.jsx中
50236 var isVertical = _this.props.vertical;
50237 var position = utils.getMousePosition(isVertical, e);
50238 if (!utils.isEventFromHandle(e, _this.handlesRefs)) {
50239 _this.dragOffset = 0;
50240 } else {
50241 var handlePosition = utils.getHandleCenterPosition(isVertical, e.target); //handle的位置
50242 _this.dragOffset = position - handlePosition; //鼠标落下的位置-handle的中间位置,这是偏差
50243 position = handlePosition; //position是
50244 }
50245 _this.onStart(position);
50246 _this.addDocumentMouseEvents();
50247 utils.pauseEvent(e);
50248 };
50249
50250 _this.onTouchStart = function (e) {
50251 //touch事件
50252 //event.touches,多点触碰时的位置数组,比如缩放手势必须要用两指的触摸点,就是一个数组
50253 //多点触碰不算
50254 if (utils.isNotTouchEvent(e)) return;
50255 //1.getMousePosition:获得鼠标的位置 clientY或者pageX
50256 //2.isEventFromHandle:是直接落下还是拖动handle
50257 //3.getHandleCenterPosition:获得handle的中点位置
50258 //4.onStart:在slider.jsx中
50259 var isVertical = _this.props.vertical;
50260 var position = utils.getTouchPosition(isVertical, e);
50261 if (!utils.isEventFromHandle(e, _this.handlesRefs)) {
50262 _this.dragOffset = 0;
50263 } else {
50264 var handlePosition = utils.getHandleCenterPosition(isVertical, e.target);
50265 _this.dragOffset = position - handlePosition;
50266 position = handlePosition;
50267 }
50268 _this.onStart(position);
50269 _this.addDocumentTouchEvents();
50270 utils.pauseEvent(e);
50271 };
50272
50273 _this.onMouseMove = function (e) {
50274 if (!_this.sliderRef) {
50275 _this.onEnd();
50276 return;
50277 }
50278 var position = utils.getMousePosition(_this.props.vertical, e);
50279 _this.onMove(e, position - _this.dragOffset);
50280 };
50281
50282 _this.onTouchMove = function (e) {
50283 //1.isNotTouchEvent:是不是touch事件
50284 //2.getTouchPosition:return vertical ? e.touches[0].clientY : e.touches[0].pageX;
50285 if (utils.isNotTouchEvent(e) || !_this.sliderRef) {
50286 _this.onEnd();
50287 return;
50288 }
50289 var position = utils.getTouchPosition(_this.props.vertical, e);
50290 _this.onMove(e, position - _this.dragOffset);
50291 };
50292
50293 _this.onKeyDown = function (e) {
50294 //对应不同的keycode
50295 if (_this.sliderRef && utils.isEventFromHandle(e, _this.handlesRefs)) {
50296 _this.onKeyboard(e);
50297 }
50298 };
50299
50300 _this.onFocus = function (e) {
50301 //Focus事件
50302 //1.isEventFromHandle:是直接落下还是拖动handle
50303 //2.getHandleCenterPosition:获得handle的中点位置
50304 //3.onStart:在slider.jsx中
50305 var isVertical = _this.props.vertical;
50306
50307 if (utils.isEventFromHandle(e, _this.handlesRefs)) {
50308 var handlePosition = utils.getHandleCenterPosition(isVertical, e.target);
50309
50310 _this.dragOffset = 0;
50311 _this.onStart(handlePosition);
50312 utils.pauseEvent(e);
50313 }
50314 };
50315
50316 _this.onBlur = function (e) {
50317 _this.onEnd(e);
50318 };
50319
50320 _this.saveSlider = function (slider) {
50321 _this.sliderRef = slider;
50322 };
50323
50324 if (process.env.NODE_ENV !== 'production') {
50325 var step = props.step,
50326 max = props.max,
50327 min = props.min;
50328
50329 (0, _warning2["default"])(step && Math.floor(step) === step ? (max - min) % step === 0 : true, 'Slider[max] - Slider[min] (%s) should be a multiple of Slider[step] (%s)', max - min, step);
50330 }
50331 _this.handlesRefs = {};
50332 return _this;
50333 }
50334 //这里是超级关键的:采用高阶组件的写法
50335
50336
50337 ComponentEnhancer.prototype.componentWillUnmount = function componentWillUnmount() {
50338 if (_Component.prototype.componentWillUnmount) _Component.prototype.componentWillUnmount.call(this);
50339 this.removeDocumentEvents();
50340 };
50341
50342 ComponentEnhancer.prototype.addDocumentTouchEvents = function addDocumentTouchEvents() {
50343 // just work for Chrome iOS Safari and Android Browser
50344 this.onTouchMoveListener = (0, _addEventListener2["default"])(document, 'touchmove', this.onTouchMove);
50345 this.onTouchUpListener = (0, _addEventListener2["default"])(document, 'touchend', this.onEnd);
50346 };
50347
50348 ComponentEnhancer.prototype.addDocumentMouseEvents = function addDocumentMouseEvents() {
50349 this.onMouseMoveListener = (0, _addEventListener2["default"])(document, 'mousemove', this.onMouseMove);
50350 this.onMouseUpListener = (0, _addEventListener2["default"])(document, 'mouseup', this.onEnd);
50351 };
50352
50353 ComponentEnhancer.prototype.removeDocumentEvents = function removeDocumentEvents() {
50354 /* eslint-disable no-unused-expressions */
50355 this.onTouchMoveListener && this.onTouchMoveListener.remove();
50356 this.onTouchUpListener && this.onTouchUpListener.remove();
50357
50358 this.onMouseMoveListener && this.onMouseMoveListener.remove();
50359 this.onMouseUpListener && this.onMouseUpListener.remove();
50360 /* eslint-enable no-unused-expressions */
50361 };
50362
50363 //slider的开始位置
50364
50365
50366 ComponentEnhancer.prototype.getSliderStart = function getSliderStart() {
50367 var slider = this.sliderRef;
50368 var rect = slider.getBoundingClientRect();
50369
50370 return this.props.vertical ? rect.top : rect.left;
50371 };
50372
50373 //slider的高度
50374
50375
50376 ComponentEnhancer.prototype.getSliderLength = function getSliderLength() {
50377 var slider = this.sliderRef;
50378 if (!slider) {
50379 return 0;
50380 }
50381
50382 var coords = slider.getBoundingClientRect();
50383 return this.props.vertical ? coords.height : coords.width;
50384 };
50385
50386 //计算实际的value值
50387
50388
50389 ComponentEnhancer.prototype.calcValue = function calcValue(offset) {
50390 var _props = this.props,
50391 vertical = _props.vertical,
50392 min = _props.min,
50393 max = _props.max;
50394
50395 var ratio = Math.abs(Math.max(offset, 0) / this.getSliderLength());
50396 var value = vertical ? (1 - ratio) * (max - min) + min : ratio * (max - min) + min;
50397 return value;
50398 };
50399 //这里才是最终的value
50400
50401
50402 ComponentEnhancer.prototype.calcValueByPos = function calcValueByPos(position) {
50403 //mouseposition 或者 handlePosition - slider的top(或者left);
50404 var pixelOffset = position - this.getSliderStart();
50405 //calValue():radio来算出真正的value
50406 //trimAlignValue():在slider.jsx中1.ensureValueInRange 先算出是否可取 v 或者 min 或者 max 2.ensureValuePrecision:来获取真的前进数值closest数值
50407 var nextValue = this.trimAlignValue(this.calcValue(pixelOffset));
50408 return nextValue;
50409 };
50410
50411 ComponentEnhancer.prototype.calcOffset = function calcOffset(value) {
50412 var _props2 = this.props,
50413 min = _props2.min,
50414 max = _props2.max;
50415
50416 var ratio = (value - min) / (max - min);
50417 return ratio * 100;
50418 };
50419
50420 ComponentEnhancer.prototype.saveHandle = function saveHandle(index, handle) {
50421 this.handlesRefs[index] = handle;
50422 };
50423
50424 ComponentEnhancer.prototype.render = function render() {
50425 var _classNames;
50426
50427 var _props3 = this.props,
50428 prefixCls = _props3.prefixCls,
50429 className = _props3.className,
50430 marks = _props3.marks,
50431 dots = _props3.dots,
50432 step = _props3.step,
50433 included = _props3.included,
50434 disabled = _props3.disabled,
50435 vertical = _props3.vertical,
50436 min = _props3.min,
50437 max = _props3.max,
50438 children = _props3.children,
50439 style = _props3.style,
50440 railStyle = _props3.railStyle,
50441 dotStyle = _props3.dotStyle,
50442 activeDotStyle = _props3.activeDotStyle;
50443
50444 var _Component$prototype$ = _Component.prototype.render.call(this),
50445 tracks = _Component$prototype$.tracks,
50446 handles = _Component$prototype$.handles;
50447
50448 var sliderClassName = (0, _classnames2["default"])(prefixCls, (_classNames = {}, _defineProperty(_classNames, prefixCls + '-with-marks', Object.keys(marks).length), _defineProperty(_classNames, prefixCls + '-disabled', disabled), _defineProperty(_classNames, prefixCls + '-vertical', vertical), _defineProperty(_classNames, className, className), _classNames));
50449 return _react2["default"].createElement(
50450 'div',
50451 {
50452 ref: this.saveSlider,
50453 className: sliderClassName,
50454 onTouchStart: disabled ? noop : this.onTouchStart,
50455 onMouseDown: disabled ? noop : this.onMouseDown,
50456 onKeyDown: disabled ? noop : this.onKeyDown,
50457 onFocus: disabled ? noop : this.onFocus,
50458 onBlur: disabled ? noop : this.onBlur,
50459 style: style
50460 },
50461 _react2["default"].createElement('div', {
50462 className: prefixCls + '-rail',
50463 style: _extends({}, railStyle)
50464 }),
50465 tracks,
50466 _react2["default"].createElement(_Steps2["default"], {
50467 prefixCls: prefixCls,
50468 vertical: vertical,
50469 marks: marks,
50470 dots: dots,
50471 step: step,
50472 included: included,
50473 lowerBound: this.getLowerBound(),
50474 upperBound: this.getUpperBound(),
50475 max: max,
50476 min: min,
50477 dotStyle: dotStyle,
50478 activeDotStyle: activeDotStyle
50479 }),
50480 handles,
50481 _react2["default"].createElement(_Marks2["default"], {
50482 className: prefixCls + '-mark',
50483 vertical: vertical,
50484 marks: marks,
50485 included: included,
50486 lowerBound: this.getLowerBound(),
50487 upperBound: this.getUpperBound(),
50488 max: max,
50489 min: min
50490 }),
50491 children
50492 );
50493 };
50494
50495 return ComponentEnhancer;
50496 }(Component), _class.displayName = 'ComponentEnhancer(' + Component.displayName + ')', _class.propTypes = _extends({}, Component.propTypes, {
50497 min: _propTypes2["default"].number,
50498 max: _propTypes2["default"].number,
50499 step: _propTypes2["default"].number,
50500 marks: _propTypes2["default"].object,
50501 included: _propTypes2["default"].bool,
50502 className: _propTypes2["default"].string,
50503 prefixCls: _propTypes2["default"].string,
50504 disabled: _propTypes2["default"].bool,
50505 children: _propTypes2["default"].any,
50506 onBeforeChange: _propTypes2["default"].func,
50507 onChange: _propTypes2["default"].func,
50508 onAfterChange: _propTypes2["default"].func,
50509 handle: _propTypes2["default"].func,
50510 dots: _propTypes2["default"].bool,
50511 vertical: _propTypes2["default"].bool,
50512 style: _propTypes2["default"].object,
50513 //minimumTrackStyle: PropTypes.object, // just for compatibility, will be deperecate
50514 //maximumTrackStyle: PropTypes.object, // just for compatibility, will be deperecate
50515 handleStyle: _propTypes2["default"].oneOfType([_propTypes2["default"].object, _propTypes2["default"].arrayOf(_propTypes2["default"].object)]),
50516 trackStyle: _propTypes2["default"].oneOfType([_propTypes2["default"].object, _propTypes2["default"].arrayOf(_propTypes2["default"].object)]),
50517 railStyle: _propTypes2["default"].object,
50518 dotStyle: _propTypes2["default"].object,
50519 activeDotStyle: _propTypes2["default"].object
50520 }), _class.defaultProps = _extends({}, Component.defaultProps, {
50521 prefixCls: 'u-slider',
50522 className: '',
50523 min: 0,
50524 max: 100,
50525 step: 1,
50526 marks: {},
50527 handle: function handle(_ref) {
50528 var index = _ref.index,
50529 restProps = _objectWithoutProperties(_ref, ['index']);
50530
50531 delete restProps.dragging;
50532 return _react2["default"].createElement(_Handle2["default"], _extends({}, restProps, { key: index }));
50533 },
50534
50535 onBeforeChange: noop,
50536 onChange: noop,
50537 onAfterChange: noop,
50538 included: true,
50539 disabled: false,
50540 dots: false,
50541 vertical: false,
50542 trackStyle: [{}],
50543 handleStyle: [{}],
50544 railStyle: {},
50545 dotStyle: {},
50546 activeDotStyle: {}
50547 }), _temp;
50548 }
50549 module.exports = exports['default'];
50550 /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(32)))
50551
50552/***/ }),
50553/* 519 */
50554/***/ (function(module, exports, __webpack_require__) {
50555
50556 'use strict';
50557
50558 Object.defineProperty(exports, "__esModule", {
50559 value: true
50560 });
50561 exports['default'] = addEventListenerWrap;
50562
50563 var _addDomEventListener = __webpack_require__(40);
50564
50565 var _addDomEventListener2 = _interopRequireDefault(_addDomEventListener);
50566
50567 var _reactDom = __webpack_require__(12);
50568
50569 var _reactDom2 = _interopRequireDefault(_reactDom);
50570
50571 function _interopRequireDefault(obj) {
50572 return obj && obj.__esModule ? obj : { 'default': obj };
50573 }
50574
50575 function addEventListenerWrap(target, eventType, cb) {
50576 /* eslint camelcase: 2 */
50577 var callback = _reactDom2['default'].unstable_batchedUpdates ? function run(e) {
50578 _reactDom2['default'].unstable_batchedUpdates(cb, e);
50579 } : cb;
50580 return (0, _addDomEventListener2['default'])(target, eventType, callback);
50581 }
50582 module.exports = exports['default'];
50583
50584/***/ }),
50585/* 520 */
50586/***/ (function(module, exports, __webpack_require__) {
50587
50588 'use strict';
50589
50590 Object.defineProperty(exports, "__esModule", {
50591 value: true
50592 });
50593
50594 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; };
50595
50596 var _react = __webpack_require__(4);
50597
50598 var _react2 = _interopRequireDefault(_react);
50599
50600 var _classnames = __webpack_require__(3);
50601
50602 var _classnames2 = _interopRequireDefault(_classnames);
50603
50604 var _warning = __webpack_require__(31);
50605
50606 var _warning2 = _interopRequireDefault(_warning);
50607
50608 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
50609
50610 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; }
50611
50612 var calcPoints = function calcPoints(vertical, marks, dots, step, min, max) {
50613 (0, _warning2["default"])(dots ? step > 0 : true, '`Slider[step]` should be a positive number in order to make Slider[dots] work.');
50614
50615 var points = Object.keys(marks).map(parseFloat);
50616 if (dots) {
50617 for (var i = min; i <= max; i = i + step) {
50618 if (points.indexOf(i) >= 0) continue;
50619 points.push(i);
50620 }
50621 }
50622 return points;
50623 };
50624
50625 var Steps = function Steps(_ref) {
50626 var prefixCls = _ref.prefixCls,
50627 vertical = _ref.vertical,
50628 marks = _ref.marks,
50629 dots = _ref.dots,
50630 step = _ref.step,
50631 included = _ref.included,
50632 lowerBound = _ref.lowerBound,
50633 upperBound = _ref.upperBound,
50634 max = _ref.max,
50635 min = _ref.min,
50636 dotStyle = _ref.dotStyle,
50637 activeDotStyle = _ref.activeDotStyle;
50638
50639 var range = max - min;
50640 var elements = calcPoints(vertical, marks, dots, step, min, max).map(function (point) {
50641 var _classNames;
50642
50643 var offset = Math.abs(point - min) / range * 100 + '%';
50644
50645 var isActived = !included && point === upperBound || included && point <= upperBound && point >= lowerBound;
50646 var style = vertical ? _extends({ bottom: offset }, dotStyle) : _extends({ left: offset }, dotStyle);
50647 if (isActived) {
50648 style = _extends({}, style, activeDotStyle);
50649 }
50650
50651 var pointClassName = (0, _classnames2["default"])((_classNames = {}, _defineProperty(_classNames, prefixCls + '-dot', true), _defineProperty(_classNames, prefixCls + '-dot-active', isActived), _classNames));
50652
50653 return _react2["default"].createElement('span', { className: pointClassName, style: style, key: point });
50654 });
50655
50656 return _react2["default"].createElement(
50657 'div',
50658 { className: prefixCls + '-step' },
50659 elements
50660 );
50661 };
50662
50663 exports["default"] = Steps;
50664 module.exports = exports['default'];
50665
50666/***/ }),
50667/* 521 */
50668/***/ (function(module, exports, __webpack_require__) {
50669
50670 'use strict';
50671
50672 Object.defineProperty(exports, "__esModule", {
50673 value: true
50674 });
50675
50676 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; };
50677
50678 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; };
50679
50680 var _react = __webpack_require__(4);
50681
50682 var _react2 = _interopRequireDefault(_react);
50683
50684 var _classnames = __webpack_require__(3);
50685
50686 var _classnames2 = _interopRequireDefault(_classnames);
50687
50688 var _propTypes = __webpack_require__(5);
50689
50690 var _propTypes2 = _interopRequireDefault(_propTypes);
50691
50692 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
50693
50694 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; }
50695
50696 var Marks = function Marks(_ref) {
50697 var className = _ref.className,
50698 vertical = _ref.vertical,
50699 marks = _ref.marks,
50700 included = _ref.included,
50701 upperBound = _ref.upperBound,
50702 lowerBound = _ref.lowerBound,
50703 max = _ref.max,
50704 min = _ref.min;
50705
50706 var marksKeys = Object.keys(marks);
50707 var marksCount = marksKeys.length;
50708 var unit = marksCount > 1 ? 100 / (marksCount - 1) : 100;
50709 var markWidth = unit * 0.9;
50710
50711 var range = max - min;
50712 var elements = marksKeys.map(parseFloat).sort(function (a, b) {
50713 return a - b;
50714 }).map(function (point) {
50715 var _classNames;
50716
50717 var isActive = !included && point === upperBound || included && point <= upperBound && point >= lowerBound;
50718 var markClassName = (0, _classnames2["default"])((_classNames = {}, _defineProperty(_classNames, className + '-text', true), _defineProperty(_classNames, className + '-text-active', isActive), _classNames));
50719
50720 var bottomStyle = {
50721 marginBottom: '-50%',
50722 bottom: (point - min) / range * 100 + '%'
50723 };
50724
50725 var leftStyle = {
50726 width: markWidth + '%',
50727 marginLeft: -markWidth / 2 + '%',
50728 left: (point - min) / range * 100 + '%'
50729 };
50730
50731 var style = vertical ? bottomStyle : leftStyle;
50732
50733 var markPoint = marks[point];
50734 var markPointIsObject = (typeof markPoint === 'undefined' ? 'undefined' : _typeof(markPoint)) === 'object' && !_react2["default"].isValidElement(markPoint);
50735 var markLabel = markPointIsObject ? markPoint.label : markPoint;
50736 var markStyle = markPointIsObject ? _extends({}, style, markPoint.style) : style;
50737 return _react2["default"].createElement(
50738 'span',
50739 {
50740 className: markClassName,
50741 style: markStyle,
50742 key: point
50743 },
50744 markLabel
50745 );
50746 });
50747
50748 return _react2["default"].createElement(
50749 'div',
50750 { className: className },
50751 elements
50752 );
50753 };
50754
50755 exports["default"] = Marks;
50756 module.exports = exports['default'];
50757
50758/***/ }),
50759/* 522 */
50760/***/ (function(module, exports, __webpack_require__) {
50761
50762 'use strict';
50763
50764 Object.defineProperty(exports, "__esModule", {
50765 value: true
50766 });
50767
50768 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; };
50769
50770 var _react = __webpack_require__(4);
50771
50772 var _react2 = _interopRequireDefault(_react);
50773
50774 var _propTypes = __webpack_require__(5);
50775
50776 var _propTypes2 = _interopRequireDefault(_propTypes);
50777
50778 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
50779
50780 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; }
50781
50782 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; }
50783
50784 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
50785
50786 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; }
50787
50788 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); }
50789
50790 var Handle = function (_React$Component) {
50791 _inherits(Handle, _React$Component);
50792
50793 function Handle() {
50794 _classCallCheck(this, Handle);
50795
50796 return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));
50797 }
50798
50799 Handle.prototype.render = function render() {
50800 var _props = this.props,
50801 className = _props.className,
50802 vertical = _props.vertical,
50803 offset = _props.offset,
50804 style = _props.style,
50805 disabled = _props.disabled,
50806 min = _props.min,
50807 max = _props.max,
50808 value = _props.value,
50809 restProps = _objectWithoutProperties(_props, ['className', 'vertical', 'offset', 'style', 'disabled', 'min', 'max', 'value']);
50810
50811 var postionStyle = vertical ? { bottom: offset + '%' } : { left: offset + '%' };
50812 var elStyle = _extends({}, style, postionStyle);
50813 var ariaProps = {};
50814 if (value !== undefined) {
50815 ariaProps = _extends({}, ariaProps, {
50816 'aria-valuemin': min,
50817 'aria-valuemax': max,
50818 'aria-valuenow': value,
50819 'aria-disabled': !!disabled
50820 });
50821 }
50822
50823 return _react2["default"].createElement('div', _extends({
50824 role: 'slider',
50825 tabIndex: '0'
50826 }, ariaProps, restProps, {
50827 className: className,
50828 style: elStyle
50829 }));
50830 };
50831
50832 return Handle;
50833 }(_react2["default"].Component);
50834
50835 exports["default"] = Handle;
50836
50837
50838 Handle.propTypes = {
50839 className: _propTypes2["default"].string,
50840 vertical: _propTypes2["default"].bool,
50841 offset: _propTypes2["default"].number,
50842 style: _propTypes2["default"].object,
50843 disabled: _propTypes2["default"].bool,
50844 min: _propTypes2["default"].number,
50845 max: _propTypes2["default"].number,
50846 value: _propTypes2["default"].number
50847 };
50848 module.exports = exports['default'];
50849
50850/***/ }),
50851/* 523 */
50852/***/ (function(module, exports, __webpack_require__) {
50853
50854 'use strict';
50855
50856 Object.defineProperty(exports, "__esModule", {
50857 value: true
50858 });
50859 exports.isEventFromHandle = isEventFromHandle;
50860 exports.isValueOutOfRange = isValueOutOfRange;
50861 exports.isNotTouchEvent = isNotTouchEvent;
50862 exports.getClosestPoint = getClosestPoint;
50863 exports.getPrecision = getPrecision;
50864 exports.getMousePosition = getMousePosition;
50865 exports.getTouchPosition = getTouchPosition;
50866 exports.getHandleCenterPosition = getHandleCenterPosition;
50867 exports.ensureValueInRange = ensureValueInRange;
50868 exports.ensureValuePrecision = ensureValuePrecision;
50869 exports.pauseEvent = pauseEvent;
50870 exports.getKeyboardValueMutator = getKeyboardValueMutator;
50871
50872 var _reactDom = __webpack_require__(12);
50873
50874 var _keyCode = __webpack_require__(37);
50875
50876 var _keyCode2 = _interopRequireDefault(_keyCode);
50877
50878 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
50879
50880 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); } }
50881
50882 function isEventFromHandle(e, handles) {
50883 return Object.keys(handles).some(function (key) {
50884 return e.target === (0, _reactDom.findDOMNode)(handles[key]);
50885 });
50886 }
50887
50888 function isValueOutOfRange(value, _ref) {
50889 var min = _ref.min,
50890 max = _ref.max;
50891
50892 return value < min || value > max;
50893 }
50894
50895 function isNotTouchEvent(e) {
50896 //event.touches,多点触碰时的位置数组,比如缩放手势必须要用两指的触摸点,就是一个数组
50897 return e.touches.length > 1 || e.type.toLowerCase() === 'touchend' && e.touches.length > 0;
50898 }
50899
50900 function getClosestPoint(val, _ref2) {
50901 var marks = _ref2.marks,
50902 step = _ref2.step,
50903 min = _ref2.min;
50904
50905 var points = Object.keys(marks).map(parseFloat);
50906 if (step !== null) {
50907 var closestStep = Math.round((val - min) / step) * step + min; //Math.round(((val - min) / step) * step) + min;
50908 points.push(closestStep);
50909 }
50910 var diffs = points.map(function (point) {
50911 return Math.abs(val - point);
50912 });
50913 return points[diffs.indexOf(Math.min.apply(Math, _toConsumableArray(diffs)))];
50914 }
50915
50916 function getPrecision(step) {
50917 var stepString = step.toString();
50918 var precision = 0;
50919 if (stepString.indexOf('.') >= 0) {
50920 precision = stepString.length - stepString.indexOf('.') - 1;
50921 }
50922 return precision;
50923 }
50924
50925 function getMousePosition(vertical, e) {
50926 return vertical ? e.clientY : e.pageX;
50927 }
50928
50929 function getTouchPosition(vertical, e) {
50930 return vertical ? e.touches[0].clientY : e.touches[0].pageX;
50931 }
50932
50933 function getHandleCenterPosition(vertical, handle) {
50934 var coords = handle.getBoundingClientRect();
50935 return vertical ? coords.top + coords.height * 0.5 : coords.left + coords.width * 0.5;
50936 }
50937
50938 function ensureValueInRange(val, _ref3) {
50939 var max = _ref3.max,
50940 min = _ref3.min;
50941
50942 if (val <= min) {
50943 return min;
50944 }
50945 if (val >= max) {
50946 return max;
50947 }
50948 return val;
50949 }
50950
50951 function ensureValuePrecision(val, props) {
50952 var step = props.step;
50953
50954 var closestPoint = getClosestPoint(val, props);
50955 return step === null ? closestPoint : parseFloat(closestPoint.toFixed(getPrecision(step)));
50956 }
50957
50958 function pauseEvent(e) {
50959 e.stopPropagation();
50960 e.preventDefault();
50961 }
50962
50963 function getKeyboardValueMutator(e) {
50964 switch (e.keyCode) {
50965 case _keyCode2["default"].UP:
50966 case _keyCode2["default"].RIGHT:
50967 return function (value, props) {
50968 return value + props.step;
50969 };
50970
50971 case _keyCode2["default"].DOWN:
50972 case _keyCode2["default"].LEFT:
50973 return function (value, props) {
50974 return value - props.step;
50975 };
50976
50977 case _keyCode2["default"].END:
50978 return function (value, props) {
50979 return props.max;
50980 };
50981 case _keyCode2["default"].HOME:
50982 return function (value, props) {
50983 return props.min;
50984 };
50985 case _keyCode2["default"].PAGE_UP:
50986 return function (value, props) {
50987 return value + props.step * 2;
50988 };
50989 case _keyCode2["default"].PAGE_DOWN:
50990 return function (value, props) {
50991 return value - props.step * 2;
50992 };
50993
50994 default:
50995 return undefined;
50996 }
50997 }
50998
50999/***/ }),
51000/* 524 */
51001/***/ (function(module, exports, __webpack_require__) {
51002
51003 'use strict';
51004
51005 Object.defineProperty(exports, "__esModule", {
51006 value: true
51007 });
51008
51009 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; };
51010
51011 var _react = __webpack_require__(4);
51012
51013 var _react2 = _interopRequireDefault(_react);
51014
51015 var _propTypes = __webpack_require__(5);
51016
51017 var _propTypes2 = _interopRequireDefault(_propTypes);
51018
51019 var _classnames = __webpack_require__(3);
51020
51021 var _classnames2 = _interopRequireDefault(_classnames);
51022
51023 var _shallowequal = __webpack_require__(525);
51024
51025 var _shallowequal2 = _interopRequireDefault(_shallowequal);
51026
51027 var _warning = __webpack_require__(31);
51028
51029 var _warning2 = _interopRequireDefault(_warning);
51030
51031 var _Track = __webpack_require__(517);
51032
51033 var _Track2 = _interopRequireDefault(_Track);
51034
51035 var _createSlider = __webpack_require__(518);
51036
51037 var _createSlider2 = _interopRequireDefault(_createSlider);
51038
51039 var _utils = __webpack_require__(523);
51040
51041 var utils = _interopRequireWildcard(_utils);
51042
51043 function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj["default"] = obj; return newObj; } }
51044
51045 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
51046
51047 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; }
51048
51049 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; }
51050
51051 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); } }
51052
51053 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
51054
51055 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; }
51056
51057 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); } /* eslint-disable react/prop-types */
51058
51059
51060 var Range = function (_React$Component) {
51061 _inherits(Range, _React$Component);
51062
51063 function Range(props) {
51064 _classCallCheck(this, Range);
51065
51066 var _this = _possibleConstructorReturn(this, _React$Component.call(this, props));
51067 //1.initialValue:初始化,数组值都是min
51068 //2.defaultValue,value:接收到的数组,都没有初始化 defaultValue = [0,0] = value ,不然各自等于props中的对应值
51069 //3.trimAlignValue():ensureValueInRange:确定在范围里;ensureValueNotConflict:能否交叉;ensureValuePrecision:返回的小数点精确度
51070 //4.bounds:=value
51071 //5.recent:理解成最近操作过的坐标,默认数组最后一个点,但是handle与recent在onstart后一致
51072
51073
51074 _this.onEnd = function () {
51075 _this.setState({ handle: null });
51076 _this.removeDocumentEvents();
51077 _this.props.onAfterChange(_this.getValue());
51078 };
51079
51080 var count = props.count,
51081 min = props.min,
51082 max = props.max;
51083
51084 var initialValue = Array.apply(null, Array(count + 1)).map(function () {
51085 return min;
51086 });
51087
51088 var defaultValue = 'defaultValue' in props ? props.defaultValue : initialValue;
51089 var value = props.value !== undefined ? props.value : defaultValue;
51090
51091 var bounds = value.map(function (v) {
51092 return _this.trimAlignValue(v);
51093 });
51094 var recent = bounds[0] === max ? 0 : bounds.length - 1;
51095 _this.state = {
51096 handle: null,
51097 recent: recent,
51098 bounds: bounds
51099 };
51100 return _this;
51101 }
51102
51103 Range.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
51104 var _this2 = this;
51105
51106 if (!('value' in nextProps || 'min' in nextProps || 'max' in nextProps)) return;
51107 if (this.props.min === nextProps.min && this.props.max === nextProps.max && (0, _shallowequal2["default"])(this.props.value, nextProps.value)) {
51108 return;
51109 }
51110 var bounds = this.state.bounds;
51111
51112 var value = nextProps.value || bounds;
51113 var nextBounds = value.map(function (v) {
51114 return _this2.trimAlignValue(v, nextProps);
51115 });
51116 if (nextBounds.length === bounds.length && nextBounds.every(function (v, i) {
51117 return v === bounds[i];
51118 })) return;
51119
51120 this.setState({ bounds: nextBounds });
51121 if (bounds.some(function (v) {
51122 return utils.isValueOutOfRange(v, nextProps);
51123 })) {
51124 this.props.onChange(nextBounds);
51125 }
51126 };
51127
51128 Range.prototype.onChange = function onChange(state) {
51129 var props = this.props;
51130 var isNotControlled = !('value' in props);
51131 if (isNotControlled) {
51132 this.setState(state);
51133 } else if (state.handle !== undefined) {
51134 this.setState({ handle: state.handle });
51135 }
51136
51137 var data = _extends({}, this.state, state);
51138 var changedValue = data.bounds;
51139 props.onChange(changedValue);
51140 };
51141
51142 Range.prototype.onStart = function onStart(position) {
51143 //1.getValue():this.state.bounds
51144 //2.calcValueByPos():同slider.js
51145 //3.getClosestBound():vs utils.jsx中的getClosestPoints(),返回closestBound为数组坐标
51146 //4.getBoundNeedMoving():一般返回closestBound;特殊情况就是closeBound=0的情况1确实是0,2.两点重合来判断点落在左侧还是右侧
51147 var props = this.props;
51148 var state = this.state;
51149 var bounds = this.getValue();
51150 props.onBeforeChange(bounds);
51151
51152 var value = this.calcValueByPos(position);
51153 this.startValue = value;
51154 this.startPosition = position;
51155
51156 var closestBound = this.getClosestBound(value);
51157 var boundNeedMoving = this.getBoundNeedMoving(value, closestBound);
51158
51159 this.setState({
51160 handle: boundNeedMoving,
51161 recent: boundNeedMoving
51162 });
51163
51164 console.log('handle是:' + boundNeedMoving + "recent是:" + boundNeedMoving);
51165 var prevValue = bounds[boundNeedMoving];
51166 if (value === prevValue) return;
51167
51168 var nextBounds = [].concat(_toConsumableArray(state.bounds));
51169 nextBounds[boundNeedMoving] = value;
51170 this.onChange({ bounds: nextBounds });
51171 };
51172
51173 Range.prototype.onMove = function onMove(e, position) {
51174 utils.pauseEvent(e);
51175 var props = this.props;
51176 var state = this.state;
51177
51178 var value = this.calcValueByPos(position);
51179 var oldValue = state.bounds[state.handle];
51180 if (value === oldValue) return;
51181
51182 var nextBounds = [].concat(_toConsumableArray(state.bounds));
51183 nextBounds[state.handle] = value;
51184 var nextHandle = state.handle;
51185 if (props.pushable !== false) {
51186 var originalValue = state.bounds[nextHandle];
51187 this.pushSurroundingHandles(nextBounds, nextHandle, originalValue);
51188 } else if (props.allowCross) {
51189 nextBounds.sort(function (a, b) {
51190 return a - b;
51191 });
51192 nextHandle = nextBounds.indexOf(value);
51193 }
51194 this.onChange({
51195 handle: nextHandle,
51196 bounds: nextBounds
51197 });
51198 };
51199
51200 Range.prototype.onKeyboard = function onKeyboard() {
51201 (0, _warning2["default"])(true, 'Keyboard support is not yet supported for ranges.');
51202 };
51203
51204 Range.prototype.getValue = function getValue() {
51205 return this.state.bounds;
51206 };
51207
51208 Range.prototype.getClosestBound = function getClosestBound(value) {
51209 //注意都是从0开始算,因此handle会重新计算,哪怕当初操作1,再次操作可能会变成0
51210 var bounds = this.state.bounds;
51211
51212 var closestBound = 0;
51213 for (var i = 1; i < bounds.length - 1; ++i) {
51214 if (value > bounds[i]) {
51215 closestBound = i;
51216 }
51217 }
51218 if (Math.abs(bounds[closestBound + 1] - value) < Math.abs(bounds[closestBound] - value)) {
51219 closestBound = closestBound + 1;
51220 }
51221 return closestBound;
51222 };
51223
51224 Range.prototype.getBoundNeedMoving = function getBoundNeedMoving(value, closestBound) {
51225 var _state = this.state,
51226 bounds = _state.bounds,
51227 recent = _state.recent;
51228
51229 var boundNeedMoving = closestBound;
51230 var isAtTheSamePoint = bounds[closestBound + 1] === bounds[closestBound];
51231 if (isAtTheSamePoint) {
51232 boundNeedMoving = recent;
51233 }
51234
51235 if (isAtTheSamePoint && value !== bounds[closestBound + 1]) {
51236 boundNeedMoving = value < bounds[closestBound + 1] ? closestBound : closestBound + 1;
51237 }
51238 return boundNeedMoving;
51239 };
51240
51241 Range.prototype.getLowerBound = function getLowerBound() {
51242 return this.state.bounds[0];
51243 };
51244
51245 Range.prototype.getUpperBound = function getUpperBound() {
51246 var bounds = this.state.bounds;
51247
51248 return bounds[bounds.length - 1];
51249 };
51250
51251 /**
51252 * Returns an array of possible slider points, taking into account both
51253 * `marks` and `step`. The result is cached.
51254 */
51255
51256
51257 Range.prototype.getPoints = function getPoints() {
51258 var _props = this.props,
51259 marks = _props.marks,
51260 step = _props.step,
51261 min = _props.min,
51262 max = _props.max;
51263
51264 var cache = this._getPointsCache;
51265 if (!cache || cache.marks !== marks || cache.step !== step) {
51266 var pointsObject = _extends({}, marks);
51267 if (step !== null) {
51268 for (var point = min; point <= max; point += step) {
51269 pointsObject[point] = point;
51270 }
51271 }
51272 var points = Object.keys(pointsObject).map(parseFloat);
51273 points.sort(function (a, b) {
51274 return a - b;
51275 });
51276 this._getPointsCache = { marks: marks, step: step, points: points };
51277 }
51278 return this._getPointsCache.points;
51279 };
51280
51281 Range.prototype.pushSurroundingHandles = function pushSurroundingHandles(bounds, handle, originalValue) {
51282 var threshold = this.props.pushable;
51283
51284 var value = bounds[handle];
51285
51286 var direction = 0;
51287 if (bounds[handle + 1] - value < threshold) {
51288 direction = +1; // push to right
51289 }
51290 if (value - bounds[handle - 1] < threshold) {
51291 direction = -1; // push to left
51292 }
51293
51294 if (direction === 0) {
51295 return;
51296 }
51297
51298 var nextHandle = handle + direction;
51299 var diffToNext = direction * (bounds[nextHandle] - value);
51300 if (!this.pushHandle(bounds, nextHandle, direction, threshold - diffToNext)) {
51301 // revert to original value if pushing is impossible
51302 bounds[handle] = originalValue;
51303 }
51304 };
51305
51306 Range.prototype.pushHandle = function pushHandle(bounds, handle, direction, amount) {
51307 var originalValue = bounds[handle];
51308 var currentValue = bounds[handle];
51309 while (direction * (currentValue - originalValue) < amount) {
51310 if (!this.pushHandleOnePoint(bounds, handle, direction)) {
51311 // can't push handle enough to create the needed `amount` gap, so we
51312 // revert its position to the original value
51313 bounds[handle] = originalValue;
51314 return false;
51315 }
51316 currentValue = bounds[handle];
51317 }
51318 // the handle was pushed enough to create the needed `amount` gap
51319 return true;
51320 };
51321
51322 Range.prototype.pushHandleOnePoint = function pushHandleOnePoint(bounds, handle, direction) {
51323 var points = this.getPoints();
51324 var pointIndex = points.indexOf(bounds[handle]);
51325 var nextPointIndex = pointIndex + direction;
51326 if (nextPointIndex >= points.length || nextPointIndex < 0) {
51327 // reached the minimum or maximum available point, can't push anymore
51328 return false;
51329 }
51330 var nextHandle = handle + direction;
51331 var nextValue = points[nextPointIndex];
51332 var threshold = this.props.pushable;
51333
51334 var diffToNext = direction * (bounds[nextHandle] - nextValue);
51335 if (!this.pushHandle(bounds, nextHandle, direction, threshold - diffToNext)) {
51336 // couldn't push next handle, so we won't push this one either
51337 return false;
51338 }
51339 // push the handle
51340 bounds[handle] = nextValue;
51341 return true;
51342 };
51343
51344 Range.prototype.trimAlignValue = function trimAlignValue(v) {
51345 var nextProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
51346
51347 var mergedProps = _extends({}, this.props, nextProps);
51348 var valInRange = utils.ensureValueInRange(v, mergedProps);
51349 var valNotConflict = this.ensureValueNotConflict(valInRange, mergedProps);
51350 return utils.ensureValuePrecision(valNotConflict, mergedProps);
51351 };
51352
51353 Range.prototype.ensureValueNotConflict = function ensureValueNotConflict(val, _ref) {
51354 var allowCross = _ref.allowCross;
51355
51356 var state = this.state || {};
51357 var handle = state.handle,
51358 bounds = state.bounds;
51359 /* eslint-disable eqeqeq */
51360
51361 if (!allowCross && handle != null) {
51362 //最右边的点只能执行这个,因为handle=bounds.length-1;中间点也走这个判断
51363 if (handle > 0 && val <= bounds[handle - 1]) {
51364 console.log("ensureValueNotConflict的handle" + handle + "ensureValueNotConflict的返回数据" + bounds[handle - 1]);
51365 return bounds[handle - 1];
51366 }
51367 //最左边的点只能执行这个,因为handle=0;中间点也走这个判断
51368 if (handle < bounds.length - 1 && val >= bounds[handle + 1]) {
51369 console.log("ensureValueNotConflict的handle" + handle + "ensureValueNotConflict的返回数据" + bounds[handle + 1]);
51370 return bounds[handle + 1];
51371 }
51372 }
51373 /* eslint-enable eqeqeq */
51374 return val;
51375 };
51376
51377 Range.prototype.render = function render() {
51378 var _this3 = this;
51379
51380 var _state2 = this.state,
51381 handle = _state2.handle,
51382 bounds = _state2.bounds;
51383 var _props2 = this.props,
51384 prefixCls = _props2.prefixCls,
51385 vertical = _props2.vertical,
51386 included = _props2.included,
51387 disabled = _props2.disabled,
51388 min = _props2.min,
51389 max = _props2.max,
51390 handleGenerator = _props2.handle,
51391 trackStyle = _props2.trackStyle,
51392 handleStyle = _props2.handleStyle;
51393
51394
51395 var offsets = bounds.map(function (v) {
51396 return _this3.calcOffset(v);
51397 });
51398
51399 var handleClassName = prefixCls + '-handle';
51400 var handles = bounds.map(function (v, i) {
51401 var _classNames;
51402
51403 return handleGenerator({
51404 className: (0, _classnames2["default"])((_classNames = {}, _defineProperty(_classNames, handleClassName, true), _defineProperty(_classNames, handleClassName + '-' + (i + 1), true), _classNames)),
51405 vertical: vertical,
51406 offset: offsets[i],
51407 value: v,
51408 dragging: handle === i,
51409 index: i,
51410 min: min,
51411 max: max,
51412 disabled: disabled,
51413 style: handleStyle[i],
51414 ref: function ref(h) {
51415 return _this3.saveHandle(i, h);
51416 }
51417 });
51418 });
51419
51420 var tracks = bounds.slice(0, -1).map(function (_, index) {
51421 var _classNames2;
51422
51423 var i = index + 1;
51424 var trackClassName = (0, _classnames2["default"])((_classNames2 = {}, _defineProperty(_classNames2, prefixCls + '-track', true), _defineProperty(_classNames2, prefixCls + '-track-' + i, true), _classNames2));
51425 return _react2["default"].createElement(_Track2["default"], {
51426 className: trackClassName,
51427 vertical: vertical,
51428 included: included,
51429 offset: offsets[i - 1],
51430 length: offsets[i] - offsets[i - 1],
51431 style: trackStyle[index],
51432 key: i
51433 });
51434 });
51435
51436 return { tracks: tracks, handles: handles };
51437 };
51438
51439 return Range;
51440 }(_react2["default"].Component);
51441
51442 Range.displayName = 'Range';
51443 Range.propTypes = {
51444 defaultValue: _propTypes2["default"].arrayOf(_propTypes2["default"].number),
51445 value: _propTypes2["default"].arrayOf(_propTypes2["default"].number),
51446 disabled: _propTypes2["default"].bool,
51447
51448 count: _propTypes2["default"].number,
51449 pushable: _propTypes2["default"].oneOfType([_propTypes2["default"].bool, _propTypes2["default"].number]),
51450 allowCross: _propTypes2["default"].bool
51451 };
51452 Range.defaultProps = {
51453 count: 1,
51454 allowCross: true,
51455 pushable: false
51456 };
51457 exports["default"] = (0, _createSlider2["default"])(Range);
51458 module.exports = exports['default'];
51459
51460/***/ }),
51461/* 525 */
51462/***/ (function(module, exports) {
51463
51464 'use strict';
51465
51466 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; };
51467
51468 module.exports = function shallowEqual(objA, objB, compare, compareContext) {
51469
51470 var ret = compare ? compare.call(compareContext, objA, objB) : void 0;
51471
51472 if (ret !== void 0) {
51473 return !!ret;
51474 }
51475
51476 if (objA === objB) {
51477 return true;
51478 }
51479
51480 if ((typeof objA === 'undefined' ? 'undefined' : _typeof(objA)) !== 'object' || !objA || (typeof objB === 'undefined' ? 'undefined' : _typeof(objB)) !== 'object' || !objB) {
51481 return false;
51482 }
51483
51484 var keysA = Object.keys(objA);
51485 var keysB = Object.keys(objB);
51486
51487 if (keysA.length !== keysB.length) {
51488 return false;
51489 }
51490
51491 var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);
51492
51493 // Test for A's keys different from B.
51494 for (var idx = 0; idx < keysA.length; idx++) {
51495
51496 var key = keysA[idx];
51497
51498 if (!bHasOwnProperty(key)) {
51499 return false;
51500 }
51501
51502 var valueA = objA[key];
51503 var valueB = objB[key];
51504
51505 ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0;
51506
51507 if (ret === false || ret === void 0 && valueA !== valueB) {
51508 return false;
51509 }
51510 }
51511
51512 return true;
51513 };
51514
51515/***/ }),
51516/* 526 */
51517/***/ (function(module, exports, __webpack_require__) {
51518
51519 'use strict';
51520
51521 Object.defineProperty(exports, "__esModule", {
51522 value: true
51523 });
51524
51525 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; };
51526
51527 exports["default"] = createSliderWithTooltip;
51528
51529 var _react = __webpack_require__(4);
51530
51531 var _react2 = _interopRequireDefault(_react);
51532
51533 var _propTypes = __webpack_require__(5);
51534
51535 var _propTypes2 = _interopRequireDefault(_propTypes);
51536
51537 var _beeTooltip = __webpack_require__(527);
51538
51539 var _beeTooltip2 = _interopRequireDefault(_beeTooltip);
51540
51541 var _Handle = __webpack_require__(522);
51542
51543 var _Handle2 = _interopRequireDefault(_Handle);
51544
51545 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
51546
51547 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; }
51548
51549 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; }
51550
51551 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; }
51552
51553 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
51554
51555 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; }
51556
51557 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); }
51558
51559 function createSliderWithTooltip(Component) {
51560 var _class, _temp;
51561
51562 return _temp = _class = function (_React$Component) {
51563 _inherits(ComponentWrapper, _React$Component);
51564
51565 function ComponentWrapper(props) {
51566 _classCallCheck(this, ComponentWrapper);
51567
51568 var _this = _possibleConstructorReturn(this, _React$Component.call(this, props));
51569
51570 _this.handleTooltipVisibleChange = function (index, visible) {
51571 _this.setState(function (prevState) {
51572 return {
51573 visibles: _extends({}, prevState.visibles, _defineProperty({}, index, visible))
51574 };
51575 });
51576 };
51577
51578 _this.handleWithTooltip = function (_ref) {
51579 var value = _ref.value,
51580 dragging = _ref.dragging,
51581 index = _ref.index,
51582 disabled = _ref.disabled,
51583 restProps = _objectWithoutProperties(_ref, ['value', 'dragging', 'index', 'disabled']);
51584
51585 var _this$props = _this.props,
51586 tipFormatter = _this$props.tipFormatter,
51587 tipProps = _this$props.tipProps,
51588 handleStyle = _this$props.handleStyle;
51589
51590 var _tipProps$prefixCls = tipProps.prefixCls,
51591 prefixCls = _tipProps$prefixCls === undefined ? 'u-slider-tooltip' : _tipProps$prefixCls,
51592 _tipProps$overlay = tipProps.overlay,
51593 overlay = _tipProps$overlay === undefined ? tipFormatter(value) : _tipProps$overlay,
51594 _tipProps$placement = tipProps.placement,
51595 placement = _tipProps$placement === undefined ? 'top' : _tipProps$placement,
51596 restTooltipProps = _objectWithoutProperties(tipProps, ['prefixCls', 'overlay', 'placement']);
51597
51598 return _react2["default"].createElement(
51599 _beeTooltip2["default"],
51600 _extends({}, restTooltipProps, {
51601 className: prefixCls,
51602 overlay: overlay,
51603 shouldUpdatePosition: true,
51604 placement: placement,
51605 visible: !disabled && (_this.state.visibles[index] || dragging),
51606 key: index
51607 }),
51608 _react2["default"].createElement(_Handle2["default"], _extends({}, restProps, {
51609 style: _extends({}, handleStyle[0]),
51610 value: value,
51611 onMouseEnter: function onMouseEnter() {
51612 return _this.handleTooltipVisibleChange(index, true);
51613 },
51614 onMouseLeave: function onMouseLeave() {
51615 return _this.handleTooltipVisibleChange(index, false);
51616 }
51617 }))
51618 );
51619 };
51620
51621 _this.state = { visibles: {} };
51622 return _this;
51623 }
51624
51625 ComponentWrapper.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {};
51626
51627 ComponentWrapper.prototype.render = function render() {
51628 return _react2["default"].createElement(Component, _extends({}, this.props, { handle: this.handleWithTooltip }));
51629 };
51630
51631 return ComponentWrapper;
51632 }(_react2["default"].Component), _class.propTypes = {
51633 tipFormatter: _propTypes2["default"].func,
51634 handleStyle: _propTypes2["default"].arrayOf(_propTypes2["default"].object),
51635 tipProps: _propTypes2["default"].object
51636 }, _class.defaultProps = {
51637 tipFormatter: function tipFormatter(value) {
51638 return value;
51639 },
51640
51641 handleStyle: [{}],
51642 tipProps: {}
51643 }, _temp;
51644 }
51645 module.exports = exports['default'];
51646
51647/***/ }),
51648/* 527 */
51649/***/ (function(module, exports, __webpack_require__) {
51650
51651 'use strict';
51652
51653 Object.defineProperty(exports, "__esModule", {
51654 value: true
51655 });
51656
51657 var _Tooltip = __webpack_require__(528);
51658
51659 var _Tooltip2 = _interopRequireDefault(_Tooltip);
51660
51661 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
51662
51663 exports["default"] = _Tooltip2["default"];
51664 module.exports = exports['default'];
51665
51666/***/ }),
51667/* 528 */
51668/***/ (function(module, exports, __webpack_require__) {
51669
51670 'use strict';
51671
51672 Object.defineProperty(exports, "__esModule", {
51673 value: true
51674 });
51675
51676 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; };
51677
51678 var _classnames = __webpack_require__(3);
51679
51680 var _classnames2 = _interopRequireDefault(_classnames);
51681
51682 var _react = __webpack_require__(4);
51683
51684 var _react2 = _interopRequireDefault(_react);
51685
51686 var _propTypes = __webpack_require__(5);
51687
51688 var _propTypes2 = _interopRequireDefault(_propTypes);
51689
51690 var _OverlayTrigger = __webpack_require__(529);
51691
51692 var _OverlayTrigger2 = _interopRequireDefault(_OverlayTrigger);
51693
51694 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
51695
51696 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; }
51697
51698 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; }
51699
51700 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; }
51701
51702 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
51703
51704 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; }
51705
51706 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); }
51707
51708 var propTypes = {
51709 /**
51710 * @required
51711 */
51712 id: _propTypes2["default"].oneOfType([_propTypes2["default"].string, _propTypes2["default"].number]),
51713 inverse: _propTypes2["default"].bool,
51714 /**
51715 * 相对目标元素显示上下左右的位置
51716 */
51717 placement: _propTypes2["default"].oneOf(['top', 'right', 'bottom', 'left']),
51718
51719 /**
51720 * 绝对定位上边距.
51721 */
51722 positionTop: _propTypes2["default"].oneOfType([_propTypes2["default"].number, _propTypes2["default"].string]),
51723 /**
51724 * 绝对定位左边距
51725 */
51726 positionLeft: _propTypes2["default"].oneOfType([_propTypes2["default"].number, _propTypes2["default"].string]),
51727
51728 /**
51729 * 与目标Top的距离
51730 */
51731 arrowOffsetTop: _propTypes2["default"].oneOfType([_propTypes2["default"].number, _propTypes2["default"].string]),
51732 /**
51733 * 与目标Left的距离
51734 */
51735 arrowOffsetLeft: _propTypes2["default"].oneOfType([_propTypes2["default"].number, _propTypes2["default"].string])
51736 };
51737
51738 var defaultProps = {
51739 placement: 'right',
51740 clsPrefix: 'u-tooltip'
51741 };
51742
51743 var Tooltip = function (_React$Component) {
51744 _inherits(Tooltip, _React$Component);
51745
51746 function Tooltip() {
51747 _classCallCheck(this, Tooltip);
51748
51749 return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));
51750 }
51751
51752 Tooltip.prototype.render = function render() {
51753 var _classes;
51754
51755 var _props = this.props,
51756 placement = _props.placement,
51757 positionTop = _props.positionTop,
51758 positionLeft = _props.positionLeft,
51759 arrowOffsetTop = _props.arrowOffsetTop,
51760 arrowOffsetLeft = _props.arrowOffsetLeft,
51761 className = _props.className,
51762 style = _props.style,
51763 children = _props.children,
51764 clsPrefix = _props.clsPrefix,
51765 overlay = _props.overlay,
51766 inverse = _props.inverse,
51767 others = _objectWithoutProperties(_props, ['placement', 'positionTop', 'positionLeft', 'arrowOffsetTop', 'arrowOffsetLeft', 'className', 'style', 'children', 'clsPrefix', 'overlay', 'inverse']);
51768
51769 var classes = (_classes = {}, _defineProperty(_classes, placement, true), _defineProperty(_classes, 'inverse', inverse), _classes);
51770
51771 var outerStyle = _extends({
51772 top: positionTop,
51773 left: positionLeft
51774 }, style);
51775
51776 var arrowStyle = {
51777 top: arrowOffsetTop,
51778 left: arrowOffsetLeft
51779 };
51780
51781 var classNames = (0, _classnames2["default"])(clsPrefix, classes);
51782
51783 var overlayNode = _react2["default"].createElement(
51784 'div',
51785 {
51786 className: (0, _classnames2["default"])(className, classNames),
51787 style: outerStyle
51788 },
51789 _react2["default"].createElement('div', { className: 'tooltip-arrow', style: arrowStyle }),
51790 _react2["default"].createElement(
51791 'div',
51792 { className: 'tooltip-inner' },
51793 overlay
51794 )
51795 );
51796
51797 return _react2["default"].createElement(
51798 _OverlayTrigger2["default"],
51799 _extends({ shouldUpdatePosition: true, placement: placement }, others, { overlay: overlayNode }),
51800 children
51801 );
51802 };
51803
51804 return Tooltip;
51805 }(_react2["default"].Component);
51806
51807 Tooltip.propTypes = propTypes;
51808 Tooltip.defaultProps = defaultProps;
51809
51810 exports["default"] = Tooltip;
51811 module.exports = exports['default'];
51812
51813/***/ }),
51814/* 529 */
51815/***/ (function(module, exports, __webpack_require__) {
51816
51817 'use strict';
51818
51819 Object.defineProperty(exports, "__esModule", {
51820 value: true
51821 });
51822
51823 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; };
51824
51825 var _contains = __webpack_require__(292);
51826
51827 var _contains2 = _interopRequireDefault(_contains);
51828
51829 var _react = __webpack_require__(4);
51830
51831 var _react2 = _interopRequireDefault(_react);
51832
51833 var _propTypes = __webpack_require__(5);
51834
51835 var _propTypes2 = _interopRequireDefault(_propTypes);
51836
51837 var _reactDom = __webpack_require__(12);
51838
51839 var _reactDom2 = _interopRequireDefault(_reactDom);
51840
51841 var _warning = __webpack_require__(31);
51842
51843 var _warning2 = _interopRequireDefault(_warning);
51844
51845 var _Portal = __webpack_require__(530);
51846
51847 var _Portal2 = _interopRequireDefault(_Portal);
51848
51849 var _Overlay = __webpack_require__(534);
51850
51851 var _Overlay2 = _interopRequireDefault(_Overlay);
51852
51853 var _createChainedFunction = __webpack_require__(549);
51854
51855 var _createChainedFunction2 = _interopRequireDefault(_createChainedFunction);
51856
51857 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
51858
51859 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; }
51860
51861 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; }
51862
51863 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
51864
51865 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; }
51866
51867 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); }
51868
51869 var isReact16 = _reactDom2["default"].createPortal !== undefined;
51870 var createPortal = isReact16 ? _reactDom2["default"].createPortal : _reactDom2["default"].unstable_renderSubtreeIntoContainer;
51871
51872 /**
51873 * 检查值是属于这个值,还是等于这个值
51874 *
51875 * @param {string} one
51876 * @param {string|array} of
51877 * @returns {boolean}
51878 */
51879 function isOneOf(one, of) {
51880 if (Array.isArray(of)) {
51881 return of.indexOf(one) >= 0;
51882 }
51883 return one === of;
51884 }
51885
51886 var triggerType = _propTypes2["default"].oneOf(['click', 'hover', 'focus']);
51887
51888 var propTypes = _extends({}, _Portal2["default"].propTypes, _Overlay2["default"].propTypes, {
51889
51890 /**
51891 * 指定哪些操作或操作触发叠加层可见性
51892 */
51893 trigger: _propTypes2["default"].oneOfType([triggerType, _propTypes2["default"].arrayOf(triggerType)]),
51894
51895 /**
51896 * 显示和隐藏覆盖一旦触发的毫秒延迟量
51897 */
51898 delay: _propTypes2["default"].number,
51899 /**
51900 * 触发后显示叠加层之前的延迟毫秒
51901 */
51902 delayShow: _propTypes2["default"].number,
51903 /**
51904 * 触发后隐藏叠加层的延迟毫秒
51905 */
51906 delayHide: _propTypes2["default"].number,
51907
51908 // FIXME: This should be `defaultShow`.
51909 /**
51910 * 覆盖的初始可见性状态。对于更细微的可见性控制,请考虑直接使用覆盖组件。
51911 */
51912 defaultOverlayShown: _propTypes2["default"].bool,
51913
51914 /**
51915 * 要覆盖在目标旁边的元素或文本。
51916 */
51917 overlay: _propTypes2["default"].node.isRequired,
51918
51919 /**
51920 * @private
51921 */
51922 onBlur: _propTypes2["default"].func,
51923 /**
51924 * @private
51925 */
51926 onClick: _propTypes2["default"].func,
51927 /**
51928 * @private
51929 */
51930 onFocus: _propTypes2["default"].func,
51931 /**
51932 * @private
51933 */
51934 onMouseOut: _propTypes2["default"].func,
51935 /**
51936 * @private
51937 */
51938 onMouseOver: _propTypes2["default"].func,
51939
51940 // Overridden props from `<Overlay>`.
51941 /**
51942 * @private
51943 */
51944 target: _propTypes2["default"].oneOf([null]),
51945 /**
51946 * @private
51947 */
51948 onHide: _propTypes2["default"].oneOf([null]),
51949 /**
51950 * @private
51951 */
51952 show: _propTypes2["default"].oneOf([null])
51953 });
51954
51955 var defaultProps = {
51956 defaultOverlayShown: false,
51957 trigger: ['hover', 'focus']
51958 };
51959
51960 var OverlayTrigger = function (_Component) {
51961 _inherits(OverlayTrigger, _Component);
51962
51963 function OverlayTrigger(props, context) {
51964 _classCallCheck(this, OverlayTrigger);
51965
51966 var _this = _possibleConstructorReturn(this, _Component.call(this, props, context));
51967
51968 _this.handleToggle = _this.handleToggle.bind(_this);
51969 _this.handleDelayedShow = _this.handleDelayedShow.bind(_this);
51970 _this.handleDelayedHide = _this.handleDelayedHide.bind(_this);
51971 _this.handleHide = _this.handleHide.bind(_this);
51972 _this.makeOverlay = _this.makeOverlay.bind(_this);
51973
51974 _this.handleMouseOver = function (e) {
51975 return _this.handleMouseOverOut(_this.handleDelayedShow, e);
51976 };
51977 _this.handleMouseOut = function (e) {
51978 return _this.handleMouseOverOut(_this.handleDelayedHide, e);
51979 };
51980
51981 _this._mountNode = null;
51982
51983 _this.state = {
51984 show: props.defaultOverlayShown
51985 };
51986 return _this;
51987 }
51988
51989 OverlayTrigger.prototype.componentDidMount = function componentDidMount() {
51990 this._mountNode = document.createElement('div');
51991 !isReact16 && this.renderOverlay();
51992 };
51993
51994 OverlayTrigger.prototype.componentDidUpdate = function componentDidUpdate() {
51995 !isReact16 && this.renderOverlay();
51996 };
51997
51998 OverlayTrigger.prototype.componentWillUnmount = function componentWillUnmount() {
51999 !isReact16 && _reactDom2["default"].unmountComponentAtNode(this._mountNode);
52000 this._mountNode = null;
52001
52002 clearTimeout(this._hoverShowDelay);
52003 clearTimeout(this._hoverHideDelay);
52004 };
52005
52006 OverlayTrigger.prototype.handleToggle = function handleToggle() {
52007 if (this.state.show) {
52008 this.hide();
52009 } else {
52010 this.show();
52011 }
52012 };
52013
52014 OverlayTrigger.prototype.handleDelayedShow = function handleDelayedShow() {
52015 var _this2 = this;
52016
52017 if (this._hoverHideDelay != null) {
52018 clearTimeout(this._hoverHideDelay);
52019 this._hoverHideDelay = null;
52020 return;
52021 }
52022
52023 if (this.state.show || this._hoverShowDelay != null) {
52024 return;
52025 }
52026
52027 var delay = this.props.delayShow != null ? this.props.delayShow : this.props.delay;
52028
52029 if (!delay) {
52030 this.show();
52031 return;
52032 }
52033
52034 this._hoverShowDelay = setTimeout(function () {
52035 _this2._hoverShowDelay = null;
52036 _this2.show();
52037 }, delay);
52038 };
52039
52040 OverlayTrigger.prototype.handleDelayedHide = function handleDelayedHide() {
52041 var _this3 = this;
52042
52043 if (this._hoverShowDelay != null) {
52044 clearTimeout(this._hoverShowDelay);
52045 this._hoverShowDelay = null;
52046 return;
52047 }
52048
52049 if (!this.state.show || this._hoverHideDelay != null) {
52050 return;
52051 }
52052
52053 var delay = this.props.delayHide != null ? this.props.delayHide : this.props.delay;
52054
52055 if (!delay) {
52056 this.hide();
52057 return;
52058 }
52059
52060 this._hoverHideDelay = setTimeout(function () {
52061 _this3._hoverHideDelay = null;
52062 _this3.hide();
52063 }, delay);
52064 };
52065
52066 // 简单实现mouseEnter和mouseLeave。
52067 // React的内置版本是有问题的:https://github.com/facebook/react/issues/4251
52068 //在触发器被禁用的情况下,mouseOut / Over可能导致闪烁
52069 //从一个子元素移动到另一个子元素。
52070
52071
52072 OverlayTrigger.prototype.handleMouseOverOut = function handleMouseOverOut(handler, e) {
52073 var target = e.currentTarget;
52074 var related = e.relatedTarget || e.nativeEvent.toElement;
52075
52076 if (!related || related !== target && !(0, _contains2["default"])(target, related)) {
52077 handler(e);
52078 }
52079 };
52080
52081 OverlayTrigger.prototype.handleHide = function handleHide() {
52082 this.hide();
52083 };
52084
52085 OverlayTrigger.prototype.show = function show() {
52086 this.setState({ show: true });
52087 };
52088
52089 OverlayTrigger.prototype.hide = function hide() {
52090 this.setState({ show: false });
52091 };
52092
52093 OverlayTrigger.prototype.makeOverlay = function makeOverlay(overlay, props) {
52094 return _react2["default"].createElement(
52095 _Overlay2["default"],
52096 _extends({}, props, {
52097 show: this.state.show,
52098 onHide: this.handleHide,
52099 target: this
52100 }),
52101 overlay
52102 );
52103 };
52104
52105 OverlayTrigger.prototype.renderOverlay = function renderOverlay() {
52106 _reactDom2["default"].unstable_renderSubtreeIntoContainer(this, this._overlay, this._mountNode);
52107 };
52108
52109 OverlayTrigger.prototype.render = function render() {
52110 var _props = this.props,
52111 trigger = _props.trigger,
52112 overlay = _props.overlay,
52113 children = _props.children,
52114 onBlur = _props.onBlur,
52115 onClick = _props.onClick,
52116 onFocus = _props.onFocus,
52117 onMouseOut = _props.onMouseOut,
52118 onMouseOver = _props.onMouseOver,
52119 props = _objectWithoutProperties(_props, ['trigger', 'overlay', 'children', 'onBlur', 'onClick', 'onFocus', 'onMouseOut', 'onMouseOver']);
52120
52121 delete props.delay;
52122 delete props.delayShow;
52123 delete props.delayHide;
52124 delete props.defaultOverlayShown;
52125
52126 var child = _react2["default"].Children.only(children);
52127 var childProps = child.props;
52128
52129 var triggerProps = {
52130 'aria-describedby': overlay.props.id
52131 };
52132
52133 // FIXME: 这里用于传递这个组件上的处理程序的逻辑是不一致的。我们不应该通过任何这些道具。
52134
52135 triggerProps.onClick = (0, _createChainedFunction2["default"])(childProps.onClick, onClick);
52136
52137 if (isOneOf('click', trigger)) {
52138 triggerProps.onClick = (0, _createChainedFunction2["default"])(triggerProps.onClick, this.handleToggle);
52139 }
52140
52141 if (isOneOf('hover', trigger)) {
52142 (0, _warning2["default"])(!(trigger === 'hover'), '[react-bootstrap] Specifying only the `"hover"` trigger limits the ' + 'visibility of the overlay to just mouse users. Consider also ' + 'including the `"focus"` trigger so that touch and keyboard only ' + 'users can see the overlay as well.');
52143
52144 triggerProps.onMouseOver = (0, _createChainedFunction2["default"])(childProps.onMouseOver, onMouseOver, this.handleMouseOver);
52145 triggerProps.onMouseOut = (0, _createChainedFunction2["default"])(childProps.onMouseOut, onMouseOut, this.handleMouseOut);
52146 }
52147
52148 if (isOneOf('focus', trigger)) {
52149 triggerProps.onFocus = (0, _createChainedFunction2["default"])(childProps.onFocus, onFocus, this.handleDelayedShow);
52150 triggerProps.onBlur = (0, _createChainedFunction2["default"])(childProps.onBlur, onBlur, this.handleDelayedHide);
52151 }
52152
52153 this._overlay = this.makeOverlay(overlay, props);
52154
52155 if (!isReact16) {
52156 return (0, _react.cloneElement)(child, triggerProps);
52157 }
52158 triggerProps.key = 'overlay';
52159
52160 var portal = _react2["default"].createElement(
52161 _Portal2["default"],
52162 {
52163 key: 'portal',
52164 container: props.container },
52165 this._overlay
52166 );
52167
52168 return [(0, _react.cloneElement)(child, triggerProps), portal];
52169 };
52170
52171 return OverlayTrigger;
52172 }(_react.Component);
52173
52174 OverlayTrigger.propTypes = propTypes;
52175 OverlayTrigger.defaultProps = defaultProps;
52176
52177 exports["default"] = OverlayTrigger;
52178 module.exports = exports['default'];
52179
52180/***/ }),
52181/* 530 */
52182/***/ (function(module, exports, __webpack_require__) {
52183
52184 'use strict';
52185
52186 Object.defineProperty(exports, "__esModule", {
52187 value: true
52188 });
52189
52190 var _react = __webpack_require__(4);
52191
52192 var _react2 = _interopRequireDefault(_react);
52193
52194 var _reactDom = __webpack_require__(12);
52195
52196 var _reactDom2 = _interopRequireDefault(_reactDom);
52197
52198 var _propTypes = __webpack_require__(5);
52199
52200 var _propTypes2 = _interopRequireDefault(_propTypes);
52201
52202 var _ownerDocument = __webpack_require__(531);
52203
52204 var _ownerDocument2 = _interopRequireDefault(_ownerDocument);
52205
52206 var _getContainer = __webpack_require__(533);
52207
52208 var _getContainer2 = _interopRequireDefault(_getContainer);
52209
52210 var _tinperBeeCore = __webpack_require__(26);
52211
52212 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
52213
52214 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; }
52215
52216 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
52217
52218 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; }
52219
52220 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); }
52221
52222 var isReact16 = _reactDom2["default"].createPortal !== undefined;
52223 var createPortal = isReact16 ? _reactDom2["default"].createPortal : _reactDom2["default"].unstable_renderSubtreeIntoContainer;
52224
52225 var propTypes = {
52226 /**
52227 * 存放子组件的容器
52228 */
52229 container: _propTypes2["default"].oneOfType([_tinperBeeCore.componentOrElement, _propTypes2["default"].func])
52230 };
52231
52232 var defaultProps = {};
52233
52234 /**
52235 * Portal组件是将子组件渲染
52236 */
52237
52238 var Portal = function (_Component) {
52239 _inherits(Portal, _Component);
52240
52241 function Portal(props) {
52242 _classCallCheck(this, Portal);
52243
52244 var _this = _possibleConstructorReturn(this, _Component.call(this, props));
52245
52246 _this.getMountNode = _this.getMountNode.bind(_this);
52247 _this.getOverlayDOMNode = _this.getOverlayDOMNode.bind(_this);
52248 _this.mountOverlayTarget = _this.mountOverlayTarget.bind(_this);
52249 _this.unmountOverlayTarget = _this.unmountOverlayTarget.bind(_this);
52250 _this.renderOverlay = _this.renderOverlay.bind(_this);
52251 _this.unrenderOverlay = _this.unrenderOverlay.bind(_this);
52252
52253 _this.overlayTarget = isReact16 ? document.createElement('div') : null;
52254 return _this;
52255 }
52256
52257 Portal.prototype.componentDidMount = function componentDidMount() {
52258 if (isReact16) {
52259 this.portalContainerNode = (0, _getContainer2["default"])(this.props.container, (0, _ownerDocument2["default"])(this).body);
52260 this.portalContainerNode.appendChild(this.overlayTarget);
52261 } else {
52262 this.renderOverlay();
52263 }
52264
52265 this.mounted = true;
52266 };
52267
52268 Portal.prototype.componentDidUpdate = function componentDidUpdate() {
52269 if (isReact16) {
52270 var overlay = !this.props.children ? null : _react2["default"].Children.only(this.props.children);
52271 if (overlay === null) {
52272 this.unrenderOverlay();
52273 this.unmountOverlayTarget();
52274 } else {}
52275 } else {
52276 this.renderOverlay();
52277 }
52278 };
52279 //this._overlayTarget为当前的要添加的子组件, this._portalContainerNode要添加组件的容器元素
52280
52281
52282 Portal.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
52283 if (this.overlayTarget && nextProps.container !== this.props.container) {
52284 this.portalContainerNode.removeChild(this.overlayTarget);
52285 this.portalContainerNode = (0, _getContainer2["default"])(nextProps.container, (0, _ownerDocument2["default"])(this).body);
52286 this.portalContainerNode.appendChild(this.overlayTarget);
52287 }
52288 };
52289
52290 Portal.prototype.componentWillUnmount = function componentWillUnmount() {
52291 this.unrenderOverlay();
52292 this.unmountOverlayTarget();
52293
52294 this.mounted = false;
52295 };
52296
52297 Portal.prototype.getMountNode = function getMountNode() {
52298 return this.overlayTarget;
52299 };
52300
52301 Portal.prototype.getOverlayDOMNode = function getOverlayDOMNode() {
52302 if (!this.mounted) {
52303 throw new Error('getOverlayDOMNode(): A component must be mounted to have a DOM node.');
52304 }
52305
52306 if (this.overlayInstance) {
52307 return _reactDom2["default"].findDOMNode(this.overlayInstance);
52308 }
52309
52310 return null;
52311 };
52312
52313 /**
52314 * 如果要添加的子组件不存在,就将div添加到要添加容器的DOM中;
52315 */
52316
52317 Portal.prototype.mountOverlayTarget = function mountOverlayTarget() {
52318 if (!this.overlayTarget) {
52319 this.overlayTarget = document.createElement('div');
52320 this.portalContainerNode = (0, _getContainer2["default"])(this.props.container, (0, _ownerDocument2["default"])(this).body);
52321 this.portalContainerNode.appendChild(this.overlayTarget);
52322 }
52323 };
52324 /**
52325 * 将要添加的子元素从容器中移除,并把变量置为null
52326 */
52327
52328
52329 Portal.prototype.unmountOverlayTarget = function unmountOverlayTarget() {
52330 if (this.overlayTarget) {
52331 this.portalContainerNode.removeChild(this.overlayTarget);
52332 this.overlayTarget = null;
52333 }
52334 this.portalContainerNode = null;
52335 };
52336 /**
52337 * 手动渲染_overlayTarget
52338 */
52339
52340
52341 Portal.prototype.renderOverlay = function renderOverlay() {
52342
52343 var overlay = !this.props.children ? null : _react2["default"].Children.only(this.props.children);
52344
52345 // Save reference for future access.
52346 if (overlay !== null) {
52347 this.mountOverlayTarget();
52348 this.overlayInstance = _reactDom2["default"].unstable_renderSubtreeIntoContainer(this, overlay, this.overlayTarget);
52349 } else {
52350 // Unrender if the component is null for transitions to null
52351 this.unrenderOverlay();
52352 this.unmountOverlayTarget();
52353 }
52354 };
52355 /**
52356 * 销毁_overlayTarget组件。并把_overlayInstance置为null
52357 */
52358
52359
52360 Portal.prototype.unrenderOverlay = function unrenderOverlay() {
52361 if (this.overlayTarget) {
52362 !isReact16 && _reactDom2["default"].unmountComponentAtNode(this.overlayTarget);
52363 this.overlayInstance = null;
52364 }
52365 };
52366
52367 Portal.prototype.render = function render() {
52368 if (!isReact16) {
52369 return null;
52370 }
52371
52372 var overlay = !this.props.children ? null : _react2["default"].Children.only(this.props.children);
52373
52374 return _reactDom2["default"].createPortal(overlay, this.overlayTarget);
52375 };
52376
52377 return Portal;
52378 }(_react.Component);
52379
52380 ;
52381
52382 Portal.propTypes = propTypes;
52383 Portal.defaultProps = defaultProps;
52384
52385 exports["default"] = Portal;
52386 module.exports = exports['default'];
52387
52388/***/ }),
52389/* 531 */
52390/***/ (function(module, exports, __webpack_require__) {
52391
52392 'use strict';
52393
52394 Object.defineProperty(exports, "__esModule", {
52395 value: true
52396 });
52397
52398 exports["default"] = function (componentOrElement) {
52399 return (0, _ownerDocument2["default"])(_reactDom2["default"].findDOMNode(componentOrElement));
52400 };
52401
52402 var _reactDom = __webpack_require__(12);
52403
52404 var _reactDom2 = _interopRequireDefault(_reactDom);
52405
52406 var _ownerDocument = __webpack_require__(532);
52407
52408 var _ownerDocument2 = _interopRequireDefault(_ownerDocument);
52409
52410 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
52411
52412 module.exports = exports['default'];
52413
52414/***/ }),
52415/* 532 */
52416/***/ (function(module, exports) {
52417
52418 "use strict";
52419
52420 Object.defineProperty(exports, "__esModule", {
52421 value: true
52422 });
52423 exports.default = ownerDocument;
52424 function ownerDocument(node) {
52425 return node && node.ownerDocument || document;
52426 }
52427 module.exports = exports["default"];
52428
52429/***/ }),
52430/* 533 */
52431/***/ (function(module, exports, __webpack_require__) {
52432
52433 'use strict';
52434
52435 Object.defineProperty(exports, "__esModule", {
52436 value: true
52437 });
52438 exports["default"] = getContainer;
52439
52440 var _reactDom = __webpack_require__(12);
52441
52442 var _reactDom2 = _interopRequireDefault(_reactDom);
52443
52444 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
52445
52446 /**
52447 * 获取容器组件
52448 * @param {[type]} container [description]
52449 * @param {[type]} defaultContainer [description]
52450 * @return {[type]} [description]
52451 */
52452 function getContainer(container, defaultContainer) {
52453 container = typeof container === 'function' ? container() : container;
52454 return _reactDom2["default"].findDOMNode(container) || defaultContainer;
52455 }
52456 module.exports = exports['default'];
52457
52458/***/ }),
52459/* 534 */
52460/***/ (function(module, exports, __webpack_require__) {
52461
52462 'use strict';
52463
52464 Object.defineProperty(exports, "__esModule", {
52465 value: true
52466 });
52467
52468 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; };
52469
52470 var _classnames = __webpack_require__(3);
52471
52472 var _classnames2 = _interopRequireDefault(_classnames);
52473
52474 var _react = __webpack_require__(4);
52475
52476 var _react2 = _interopRequireDefault(_react);
52477
52478 var _propTypes = __webpack_require__(5);
52479
52480 var _propTypes2 = _interopRequireDefault(_propTypes);
52481
52482 var _BaseOverlay = __webpack_require__(535);
52483
52484 var _BaseOverlay2 = _interopRequireDefault(_BaseOverlay);
52485
52486 var _tinperBeeCore = __webpack_require__(26);
52487
52488 var _Fade = __webpack_require__(547);
52489
52490 var _Fade2 = _interopRequireDefault(_Fade);
52491
52492 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
52493
52494 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; }
52495
52496 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; }
52497
52498 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
52499
52500 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; }
52501
52502 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); }
52503
52504 var propTypes = _extends({}, _BaseOverlay2["default"].propTypes, {
52505
52506 /**
52507 * 是否显示
52508 */
52509 show: _propTypes2["default"].bool,
52510 /**
52511 * 是
52512 */
52513 rootClose: _propTypes2["default"].bool,
52514 /**
52515 * 当点击rootClose触发close时的回调函数
52516 */
52517 onHide: _propTypes2["default"].func,
52518
52519 /**
52520 * 使用动画
52521 */
52522 animation: _propTypes2["default"].oneOfType([_tinperBeeCore.elementType, _propTypes2["default"].func]),
52523
52524 /**
52525 * Callback fired before the Overlay transitions in
52526 */
52527 onEnter: _propTypes2["default"].func,
52528
52529 /**
52530 * Callback fired as the Overlay begins to transition in
52531 */
52532 onEntering: _propTypes2["default"].func,
52533
52534 /**
52535 * Callback fired after the Overlay finishes transitioning in
52536 */
52537 onEntered: _propTypes2["default"].func,
52538
52539 /**
52540 * Callback fired right before the Overlay transitions out
52541 */
52542 onExit: _propTypes2["default"].func,
52543
52544 /**
52545 * Callback fired as the Overlay begins to transition out
52546 */
52547 onExiting: _propTypes2["default"].func,
52548
52549 /**
52550 * Callback fired after the Overlay finishes transitioning out
52551 */
52552 onExited: _propTypes2["default"].func,
52553
52554 /**
52555 * Sets the direction of the Overlay.
52556 */
52557 placement: _propTypes2["default"].oneOf(['top', 'right', 'bottom', 'left'])
52558 });
52559
52560 var defaultProps = {
52561 animation: _Fade2["default"],
52562 rootClose: false,
52563 show: false,
52564 placement: 'right'
52565 };
52566
52567 var Overlay = function (_Component) {
52568 _inherits(Overlay, _Component);
52569
52570 function Overlay() {
52571 _classCallCheck(this, Overlay);
52572
52573 return _possibleConstructorReturn(this, _Component.apply(this, arguments));
52574 }
52575
52576 Overlay.prototype.render = function render() {
52577 var _props = this.props,
52578 animation = _props.animation,
52579 children = _props.children,
52580 props = _objectWithoutProperties(_props, ['animation', 'children']);
52581
52582 var transition = animation === true ? _Fade2["default"] : animation || null;
52583
52584 var child = void 0;
52585
52586 if (!transition) {
52587 child = (0, _react.cloneElement)(children, {
52588 className: (0, _classnames2["default"])(children.props.className, 'in')
52589 });
52590 } else {
52591 child = children;
52592 }
52593
52594 return _react2["default"].createElement(
52595 _BaseOverlay2["default"],
52596 _extends({}, props, {
52597 transition: transition
52598 }),
52599 child
52600 );
52601 };
52602
52603 return Overlay;
52604 }(_react.Component);
52605
52606 Overlay.propTypes = propTypes;
52607 Overlay.defaultProps = defaultProps;
52608
52609 exports["default"] = Overlay;
52610 module.exports = exports['default'];
52611
52612/***/ }),
52613/* 535 */
52614/***/ (function(module, exports, __webpack_require__) {
52615
52616 'use strict';
52617
52618 Object.defineProperty(exports, "__esModule", {
52619 value: true
52620 });
52621
52622 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; };
52623
52624 var _react = __webpack_require__(4);
52625
52626 var _react2 = _interopRequireDefault(_react);
52627
52628 var _reactDom = __webpack_require__(12);
52629
52630 var _reactDom2 = _interopRequireDefault(_reactDom);
52631
52632 var _propTypes = __webpack_require__(5);
52633
52634 var _propTypes2 = _interopRequireDefault(_propTypes);
52635
52636 var _Portal = __webpack_require__(530);
52637
52638 var _Portal2 = _interopRequireDefault(_Portal);
52639
52640 var _Position = __webpack_require__(536);
52641
52642 var _Position2 = _interopRequireDefault(_Position);
52643
52644 var _RootCloseWrapper = __webpack_require__(544);
52645
52646 var _RootCloseWrapper2 = _interopRequireDefault(_RootCloseWrapper);
52647
52648 var _tinperBeeCore = __webpack_require__(26);
52649
52650 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
52651
52652 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; }
52653
52654 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; }
52655
52656 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
52657
52658 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; }
52659
52660 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); }
52661
52662 var isReact16 = _reactDom2["default"].createPortal !== undefined;
52663
52664 var propTypes = _extends({}, _Position2["default"].propTypes, {
52665
52666 /**
52667 * 是否显示
52668 */
52669 show: _propTypes2["default"].bool,
52670
52671 /**
52672 * 点击其他地方,是否隐藏overlay
52673 */
52674 rootClose: _propTypes2["default"].bool,
52675
52676 /**
52677 * 当rootClose为true的时候,触发的隐藏方法
52678 * @type func
52679 */
52680 onHide: function onHide(props) {
52681 var propType = _propTypes2["default"].func;
52682 if (props.rootClose) {
52683 propType = propType.isRequired;
52684 }
52685
52686 for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
52687 args[_key - 1] = arguments[_key];
52688 }
52689
52690 return propType.apply(undefined, [props].concat(args));
52691 },
52692
52693
52694 /**
52695 * 过渡动画组件
52696 */
52697 transition: _propTypes2["default"].oneOfType([_tinperBeeCore.elementType, _propTypes2["default"].func]),
52698
52699 /**
52700 * overlay添加动画前的钩子函数
52701 */
52702 onEnter: _propTypes2["default"].func,
52703
52704 /**
52705 * 开始动画的钩子函数
52706 */
52707 onEntering: _propTypes2["default"].func,
52708
52709 /**
52710 * 渲染之后的钩子函数
52711 */
52712 onEntered: _propTypes2["default"].func,
52713
52714 /**
52715 * 关闭开始时的钩子函数
52716 */
52717 onExit: _propTypes2["default"].func,
52718
52719 /**
52720 * 关闭时的钩子函数
52721 */
52722 onExiting: _propTypes2["default"].func,
52723
52724 /**
52725 * 关闭后的钩子函数
52726 */
52727 onExited: _propTypes2["default"].func
52728 });
52729
52730 function noop() {}
52731
52732 var defaultProps = {
52733 show: false,
52734 rootClose: true
52735 };
52736
52737 /**
52738 * 悬浮组件
52739 */
52740
52741 var BaseOverlay = function (_Component) {
52742 _inherits(BaseOverlay, _Component);
52743
52744 function BaseOverlay(props, context) {
52745 _classCallCheck(this, BaseOverlay);
52746
52747 var _this = _possibleConstructorReturn(this, _Component.call(this, props, context));
52748
52749 _this.state = { exited: !props.show };
52750 _this.onHiddenListener = _this.handleHidden.bind(_this);
52751 return _this;
52752 }
52753
52754 BaseOverlay.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
52755 if (nextProps.show) {
52756 this.setState({ exited: false });
52757 } else if (!nextProps.transition) {
52758 // Otherwise let handleHidden take care of marking exited.
52759 this.setState({ exited: true });
52760 }
52761 };
52762
52763 BaseOverlay.prototype.handleHidden = function handleHidden() {
52764 this.setState({ exited: true });
52765
52766 if (this.props.onExited) {
52767 var _props;
52768
52769 (_props = this.props).onExited.apply(_props, arguments);
52770 }
52771 };
52772
52773 BaseOverlay.prototype.render = function render() {
52774 var _props2 = this.props,
52775 container = _props2.container,
52776 containerPadding = _props2.containerPadding,
52777 target = _props2.target,
52778 placement = _props2.placement,
52779 shouldUpdatePosition = _props2.shouldUpdatePosition,
52780 rootClose = _props2.rootClose,
52781 positionLeft = _props2.positionLeft,
52782 positionTop = _props2.positionTop,
52783 children = _props2.children,
52784 Transition = _props2.transition,
52785 props = _objectWithoutProperties(_props2, ['container', 'containerPadding', 'target', 'placement', 'shouldUpdatePosition', 'rootClose', 'positionLeft', 'positionTop', 'children', 'transition']);
52786
52787 // Don't un-render the overlay while it's transitioning out.
52788
52789
52790 var mountOverlay = props.show || Transition && !this.state.exited;
52791 if (!mountOverlay) {
52792 // Don't bother showing anything if we don't have to.
52793 return null;
52794 }
52795
52796 var child = children;
52797
52798 // Position is be inner-most because it adds inline styles into the child,
52799 // which the other wrappers don't forward correctly.
52800 child = _react2["default"].createElement(
52801 _Position2["default"],
52802 {
52803 container: container,
52804 containerPadding: containerPadding,
52805 target: target,
52806 positionLeft: positionLeft,
52807 positionTop: positionTop,
52808 placement: placement,
52809 shouldUpdatePosition: shouldUpdatePosition },
52810 child
52811 );
52812
52813 if (Transition) {
52814 var onExit = props.onExit,
52815 onExiting = props.onExiting,
52816 onEnter = props.onEnter,
52817 onEntering = props.onEntering,
52818 onEntered = props.onEntered;
52819
52820 // This animates the child node by injecting props, so it must precede
52821 // anything that adds a wrapping div.
52822
52823 child = _react2["default"].createElement(
52824 Transition,
52825 {
52826 'in': props.show,
52827 transitionAppear: true,
52828 onExit: onExit,
52829 onExiting: onExiting,
52830 onExited: this.onHiddenListener,
52831 onEnter: onEnter,
52832 onEntering: onEntering,
52833 onEntered: onEntered
52834 },
52835 child
52836 );
52837 }
52838
52839 // This goes after everything else because it adds a wrapping div.
52840 if (rootClose) {
52841 child = _react2["default"].createElement(
52842 _RootCloseWrapper2["default"],
52843 { onRootClose: props.onHide },
52844 child
52845 );
52846 }
52847
52848 if (isReact16) {
52849 return child;
52850 } else {
52851 return _react2["default"].createElement(
52852 _Portal2["default"],
52853 { container: container },
52854 child
52855 );
52856 }
52857 };
52858
52859 return BaseOverlay;
52860 }(_react.Component);
52861
52862 BaseOverlay.propTypes = propTypes;
52863 BaseOverlay.defaultProps = defaultProps;
52864
52865 exports["default"] = BaseOverlay;
52866 module.exports = exports['default'];
52867
52868/***/ }),
52869/* 536 */
52870/***/ (function(module, exports, __webpack_require__) {
52871
52872 'use strict';
52873
52874 Object.defineProperty(exports, "__esModule", {
52875 value: true
52876 });
52877
52878 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; };
52879
52880 var _classnames = __webpack_require__(3);
52881
52882 var _classnames2 = _interopRequireDefault(_classnames);
52883
52884 var _react = __webpack_require__(4);
52885
52886 var _react2 = _interopRequireDefault(_react);
52887
52888 var _propTypes = __webpack_require__(5);
52889
52890 var _propTypes2 = _interopRequireDefault(_propTypes);
52891
52892 var _reactDom = __webpack_require__(12);
52893
52894 var _reactDom2 = _interopRequireDefault(_reactDom);
52895
52896 var _tinperBeeCore = __webpack_require__(26);
52897
52898 var _calculatePosition = __webpack_require__(537);
52899
52900 var _calculatePosition2 = _interopRequireDefault(_calculatePosition);
52901
52902 var _getContainer = __webpack_require__(533);
52903
52904 var _getContainer2 = _interopRequireDefault(_getContainer);
52905
52906 var _ownerDocument = __webpack_require__(531);
52907
52908 var _ownerDocument2 = _interopRequireDefault(_ownerDocument);
52909
52910 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
52911
52912 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; }
52913
52914 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; }
52915
52916 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
52917
52918 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; }
52919
52920 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); }
52921
52922 var propTypes = {
52923 /**
52924 * 要设置定位的元素
52925 */
52926 target: _propTypes2["default"].oneOfType([_tinperBeeCore.componentOrElement, _propTypes2["default"].func]),
52927
52928 /**
52929 * 存放的容器元素
52930 */
52931 container: _propTypes2["default"].oneOfType([_tinperBeeCore.componentOrElement, _propTypes2["default"].func]),
52932 /**
52933 * 容器padding值
52934 */
52935 containerPadding: _propTypes2["default"].number,
52936 /**
52937 * 位置设置
52938 */
52939 placement: _propTypes2["default"].oneOf(['top', 'right', 'bottom', 'left']),
52940 /**
52941 * 是否需要更新位置
52942 */
52943 shouldUpdatePosition: _propTypes2["default"].bool
52944 };
52945
52946 var defaultProps = {
52947 containerPadding: 0,
52948 placement: 'right',
52949 shouldUpdatePosition: false
52950 };
52951
52952 /**
52953 * 计算子组件的位置的组件
52954 */
52955
52956 var Position = function (_Component) {
52957 _inherits(Position, _Component);
52958
52959 function Position(props, context) {
52960 _classCallCheck(this, Position);
52961
52962 var _this = _possibleConstructorReturn(this, _Component.call(this, props, context));
52963
52964 _this.state = {
52965 positionLeft: 0,
52966 positionTop: 0,
52967 arrowOffsetLeft: null,
52968 arrowOffsetTop: null
52969 };
52970
52971 _this.needsFlush = false;
52972 _this.lastTarget = null;
52973
52974 _this.getTarget = _this.getTarget.bind(_this);
52975 _this.maybeUpdatePosition = _this.maybeUpdatePosition.bind(_this);
52976 _this.updatePosition = _this.updatePosition.bind(_this);
52977 return _this;
52978 }
52979
52980 Position.prototype.componentDidMount = function componentDidMount() {
52981 this.updatePosition(this.getTarget());
52982 };
52983
52984 Position.prototype.componentWillReceiveProps = function componentWillReceiveProps() {
52985 this.needsFlush = true;
52986 };
52987
52988 Position.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {
52989 if (this.needsFlush) {
52990 this.needsFlush = false;
52991
52992 this.maybeUpdatePosition();
52993 }
52994 };
52995
52996 /**
52997 * 获取要设置位置的子元素
52998 */
52999
53000
53001 Position.prototype.getTarget = function getTarget() {
53002 var target = this.props.target;
53003
53004 var targetElement = typeof target === 'function' ? target() : target;
53005 return targetElement && _reactDom2["default"].findDOMNode(targetElement) || null;
53006 };
53007
53008 /**
53009 * 验证是否需要更新位置
53010 */
53011
53012
53013 Position.prototype.maybeUpdatePosition = function maybeUpdatePosition(placementChanged) {
53014 var target = this.getTarget();
53015 if (!this.props.shouldUpdatePosition && target === this.lastTarget && !placementChanged) {
53016 return;
53017 }
53018
53019 this.updatePosition(target);
53020 };
53021
53022 /**
53023 * 更新位置
53024 */
53025
53026 Position.prototype.updatePosition = function updatePosition(target) {
53027 this.lastTarget = target;
53028
53029 if (!target) {
53030 this.setState({
53031 positionLeft: 0,
53032 positionTop: 0,
53033 arrowOffsetLeft: null,
53034 arrowOffsetTop: null
53035 });
53036
53037 return;
53038 }
53039
53040 var overlay = _reactDom2["default"].findDOMNode(this);
53041 var container = (0, _getContainer2["default"])(this.props.container, (0, _ownerDocument2["default"])(this).body);
53042
53043 this.setState((0, _calculatePosition2["default"])(this.props.placement, overlay, target, container, this.props.containerPadding));
53044 };
53045
53046 Position.prototype.render = function render() {
53047 var _props = this.props,
53048 children = _props.children,
53049 className = _props.className,
53050 props = _objectWithoutProperties(_props, ['children', 'className']);
53051
53052 var _state = this.state,
53053 positionLeft = _state.positionLeft,
53054 positionTop = _state.positionTop,
53055 inverseArrow = _state.inverseArrow,
53056 arrowPosition = _objectWithoutProperties(_state, ['positionLeft', 'positionTop', 'inverseArrow']);
53057
53058 // These should not be forwarded to the child.
53059
53060
53061 delete props.target;
53062 delete props.container;
53063 delete props.containerPadding;
53064 delete props.shouldUpdatePosition;
53065
53066 var child = _react2["default"].Children.only(children);
53067 return (0, _react.cloneElement)(child, {
53068 className: (0, _classnames2["default"])(className, child.props.className, { 'inverse-arrow': inverseArrow }),
53069 style: _extends({}, child.props.style, {
53070 left: positionLeft,
53071 top: positionTop
53072 })
53073 });
53074 };
53075
53076 return Position;
53077 }(_react.Component);
53078
53079 Position.propTypes = propTypes;
53080 Position.defaultProps = defaultProps;
53081
53082 exports["default"] = Position;
53083 module.exports = exports['default'];
53084
53085/***/ }),
53086/* 537 */
53087/***/ (function(module, exports, __webpack_require__) {
53088
53089 'use strict';
53090
53091 Object.defineProperty(exports, "__esModule", {
53092 value: true
53093 });
53094 exports["default"] = calculatePosition;
53095
53096 var _offset = __webpack_require__(538);
53097
53098 var _offset2 = _interopRequireDefault(_offset);
53099
53100 var _position = __webpack_require__(540);
53101
53102 var _position2 = _interopRequireDefault(_position);
53103
53104 var _scrollTop = __webpack_require__(542);
53105
53106 var _scrollTop2 = _interopRequireDefault(_scrollTop);
53107
53108 var _ownerDocument = __webpack_require__(531);
53109
53110 var _ownerDocument2 = _interopRequireDefault(_ownerDocument);
53111
53112 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
53113
53114 function getContainerDimensions(containerNode) {
53115 var width = void 0,
53116 height = void 0,
53117 scroll = void 0;
53118
53119 if (containerNode.tagName === 'BODY') {
53120 width = window.innerWidth;
53121 height = window.innerHeight;
53122
53123 scroll = (0, _scrollTop2["default"])((0, _ownerDocument2["default"])(containerNode).documentElement) || (0, _scrollTop2["default"])(containerNode);
53124 } else {
53125 var _getOffset = (0, _offset2["default"])(containerNode);
53126
53127 width = _getOffset.width;
53128 height = _getOffset.height;
53129
53130 scroll = (0, _scrollTop2["default"])(containerNode);
53131 }
53132
53133 return { width: width, height: height, scroll: scroll };
53134 }
53135
53136 function getTopDelta(top, overlayHeight, container, padding) {
53137 var containerDimensions = getContainerDimensions(container);
53138 var containerScroll = containerDimensions.scroll;
53139 var containerHeight = containerDimensions.height;
53140
53141 var topEdgeOffset = top - padding - containerScroll;
53142 var bottomEdgeOffset = top + padding - containerScroll + overlayHeight;
53143
53144 if (topEdgeOffset < 0) {
53145 return -topEdgeOffset;
53146 } else if (bottomEdgeOffset > containerHeight) {
53147 return containerHeight - bottomEdgeOffset;
53148 } else {
53149 return 0;
53150 }
53151 }
53152
53153 function getLeftDelta(left, overlayWidth, container, padding) {
53154 var containerDimensions = getContainerDimensions(container);
53155 var containerWidth = containerDimensions.width;
53156
53157 var leftEdgeOffset = left - padding;
53158 var rightEdgeOffset = left + padding + overlayWidth;
53159
53160 if (leftEdgeOffset < 0) {
53161 return -leftEdgeOffset;
53162 } else if (rightEdgeOffset > containerWidth) {
53163 return containerWidth - rightEdgeOffset;
53164 }
53165
53166 return 0;
53167 }
53168
53169 function calculatePosition(placement, overlayNode, target, container, padding) {
53170 var childOffset = container.tagName === 'BODY' ? (0, _offset2["default"])(target) : (0, _position2["default"])(target, container);
53171
53172 var _getOffset2 = (0, _offset2["default"])(overlayNode),
53173 overlayHeight = _getOffset2.height,
53174 overlayWidth = _getOffset2.width;
53175
53176 var positionLeft = void 0,
53177 positionTop = void 0,
53178 arrowOffsetLeft = void 0,
53179 arrowOffsetTop = void 0,
53180 inverseArrow = void 0;
53181
53182 if (/^left|^right/.test(placement)) {
53183 positionTop = childOffset.top + (childOffset.height - overlayHeight) / 2;
53184
53185 if (/left/.test(placement)) {
53186 positionLeft = childOffset.left - overlayWidth;
53187 } else {
53188 positionLeft = childOffset.left + childOffset.width;
53189 }
53190
53191 if (/Top/.test(placement)) {
53192 positionTop = childOffset.top;
53193 } else if (/Bottom/.test(placement)) {
53194 positionTop = childOffset.top + childOffset.height - overlayHeight;
53195 }
53196
53197 var topDelta = getTopDelta(positionTop, overlayHeight, container, padding);
53198 var leftDelta = getLeftDelta(positionLeft, overlayWidth, container, padding);
53199 //内容超出
53200 if (leftDelta > 0) {
53201 inverseArrow = true;
53202 positionLeft = childOffset.left + childOffset.width + 6;
53203 } else if (leftDelta < 0) {
53204 inverseArrow = true;
53205 positionLeft = childOffset.left - overlayWidth - 6;
53206 } else {
53207 positionLeft += leftDelta;
53208 }
53209 positionTop += topDelta;
53210 arrowOffsetTop = 50 * (1 - 2 * topDelta / overlayHeight) + '%';
53211 arrowOffsetLeft = void 0;
53212 } else if (/^top|^bottom/.test(placement)) {
53213 positionLeft = childOffset.left + (childOffset.width - overlayWidth) / 2;
53214
53215 if (/top/.test(placement)) {
53216 positionTop = childOffset.top - overlayHeight;
53217 } else {
53218 positionTop = childOffset.top + childOffset.height;
53219 }
53220
53221 if (/Left/.test(placement)) {
53222 positionLeft = childOffset.left;
53223 } else if (/Right/.test(placement)) {
53224 positionLeft = childOffset.left + (childOffset.width - overlayWidth);
53225 }
53226
53227 var _leftDelta = getLeftDelta(positionLeft, overlayWidth, container, padding);
53228 var _topDelta = getTopDelta(positionTop, overlayHeight, container, padding);
53229 positionLeft += _leftDelta;
53230 arrowOffsetLeft = 50 * (1 - 2 * _leftDelta / overlayWidth) + '%';
53231 arrowOffsetTop = void 0;
53232 if (_topDelta > 0) {
53233 inverseArrow = true;
53234 positionTop = childOffset.top + childOffset.height + 6;
53235 } else if (_topDelta < 0) {
53236 inverseArrow = true;
53237 positionTop = childOffset.top - overlayHeight - 6;
53238 } else {
53239 positionTop += _topDelta;
53240 }
53241
53242 // if((positionLeft + panelWidth) > docWidth)
53243 // left = docWidth - panelWidth - 10;
53244 // if(left < 0)
53245 // left = 0;
53246
53247 // if((top + panelHeight) > docHeight) {
53248 // top = docHeight - panelHeight - 10;
53249 // }
53250
53251 // if(top < 0)
53252 // top = 0;
53253 } else {
53254 throw new Error('calcOverlayPosition(): No such placement of "' + placement + '" found.');
53255 }
53256
53257 return { positionLeft: positionLeft, positionTop: positionTop, arrowOffsetLeft: arrowOffsetLeft, arrowOffsetTop: arrowOffsetTop, inverseArrow: inverseArrow };
53258 }
53259 module.exports = exports['default'];
53260
53261/***/ }),
53262/* 538 */
53263/***/ (function(module, exports, __webpack_require__) {
53264
53265 'use strict';
53266
53267 Object.defineProperty(exports, "__esModule", {
53268 value: true
53269 });
53270 exports.default = offset;
53271
53272 var _contains = __webpack_require__(292);
53273
53274 var _contains2 = _interopRequireDefault(_contains);
53275
53276 var _isWindow = __webpack_require__(539);
53277
53278 var _isWindow2 = _interopRequireDefault(_isWindow);
53279
53280 var _ownerDocument = __webpack_require__(532);
53281
53282 var _ownerDocument2 = _interopRequireDefault(_ownerDocument);
53283
53284 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
53285
53286 function offset(node) {
53287 var doc = (0, _ownerDocument2.default)(node),
53288 win = (0, _isWindow2.default)(doc),
53289 docElem = doc && doc.documentElement,
53290 box = { top: 0, left: 0, height: 0, width: 0 };
53291
53292 if (!doc) return;
53293
53294 // Make sure it's not a disconnected DOM node
53295 if (!(0, _contains2.default)(docElem, node)) return box;
53296
53297 if (node.getBoundingClientRect !== undefined) box = node.getBoundingClientRect();
53298
53299 // IE8 getBoundingClientRect doesn't support width & height
53300 box = {
53301 top: box.top + (win.pageYOffset || docElem.scrollTop) - (docElem.clientTop || 0),
53302 left: box.left + (win.pageXOffset || docElem.scrollLeft) - (docElem.clientLeft || 0),
53303 width: (box.width == null ? node.offsetWidth : box.width) || 0,
53304 height: (box.height == null ? node.offsetHeight : box.height) || 0
53305 };
53306
53307 return box;
53308 }
53309 module.exports = exports['default'];
53310
53311/***/ }),
53312/* 539 */
53313/***/ (function(module, exports) {
53314
53315 "use strict";
53316
53317 Object.defineProperty(exports, "__esModule", {
53318 value: true
53319 });
53320 exports.default = getWindow;
53321 function getWindow(node) {
53322 return node === node.window ? node : node.nodeType === 9 ? node.defaultView || node.parentWindow : false;
53323 }
53324 module.exports = exports["default"];
53325
53326/***/ }),
53327/* 540 */
53328/***/ (function(module, exports, __webpack_require__) {
53329
53330 'use strict';
53331
53332 Object.defineProperty(exports, "__esModule", {
53333 value: true
53334 });
53335
53336 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; };
53337
53338 exports.default = position;
53339
53340 var _offset = __webpack_require__(538);
53341
53342 var _offset2 = _interopRequireDefault(_offset);
53343
53344 var _offsetParent = __webpack_require__(541);
53345
53346 var _offsetParent2 = _interopRequireDefault(_offsetParent);
53347
53348 var _scrollTop = __webpack_require__(542);
53349
53350 var _scrollTop2 = _interopRequireDefault(_scrollTop);
53351
53352 var _scrollLeft = __webpack_require__(543);
53353
53354 var _scrollLeft2 = _interopRequireDefault(_scrollLeft);
53355
53356 var _style = __webpack_require__(17);
53357
53358 var _style2 = _interopRequireDefault(_style);
53359
53360 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
53361
53362 function nodeName(node) {
53363 return node.nodeName && node.nodeName.toLowerCase();
53364 }
53365
53366 function position(node, offsetParent) {
53367 var parentOffset = { top: 0, left: 0 },
53368 offset;
53369
53370 // Fixed elements are offset from window (parentOffset = {top:0, left: 0},
53371 // because it is its only offset parent
53372 if ((0, _style2.default)(node, 'position') === 'fixed') {
53373 offset = node.getBoundingClientRect();
53374 } else {
53375 offsetParent = offsetParent || (0, _offsetParent2.default)(node);
53376 offset = (0, _offset2.default)(node);
53377
53378 if (nodeName(offsetParent) !== 'html') parentOffset = (0, _offset2.default)(offsetParent);
53379
53380 parentOffset.top += parseInt((0, _style2.default)(offsetParent, 'borderTopWidth'), 10) - (0, _scrollTop2.default)(offsetParent) || 0;
53381 parentOffset.left += parseInt((0, _style2.default)(offsetParent, 'borderLeftWidth'), 10) - (0, _scrollLeft2.default)(offsetParent) || 0;
53382 }
53383
53384 // Subtract parent offsets and node margins
53385 return _extends({}, offset, {
53386 top: offset.top - parentOffset.top - (parseInt((0, _style2.default)(node, 'marginTop'), 10) || 0),
53387 left: offset.left - parentOffset.left - (parseInt((0, _style2.default)(node, 'marginLeft'), 10) || 0)
53388 });
53389 }
53390 module.exports = exports['default'];
53391
53392/***/ }),
53393/* 541 */
53394/***/ (function(module, exports, __webpack_require__) {
53395
53396 'use strict';
53397
53398 Object.defineProperty(exports, "__esModule", {
53399 value: true
53400 });
53401 exports.default = offsetParent;
53402
53403 var _ownerDocument = __webpack_require__(532);
53404
53405 var _ownerDocument2 = _interopRequireDefault(_ownerDocument);
53406
53407 var _style = __webpack_require__(17);
53408
53409 var _style2 = _interopRequireDefault(_style);
53410
53411 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
53412
53413 function nodeName(node) {
53414 return node.nodeName && node.nodeName.toLowerCase();
53415 }
53416
53417 function offsetParent(node) {
53418 var doc = (0, _ownerDocument2.default)(node),
53419 offsetParent = node && node.offsetParent;
53420
53421 while (offsetParent && nodeName(node) !== 'html' && (0, _style2.default)(offsetParent, 'position') === 'static') {
53422 offsetParent = offsetParent.offsetParent;
53423 }
53424
53425 return offsetParent || doc.documentElement;
53426 }
53427 module.exports = exports['default'];
53428
53429/***/ }),
53430/* 542 */
53431/***/ (function(module, exports, __webpack_require__) {
53432
53433 'use strict';
53434
53435 Object.defineProperty(exports, "__esModule", {
53436 value: true
53437 });
53438 exports.default = scrollTop;
53439
53440 var _isWindow = __webpack_require__(539);
53441
53442 var _isWindow2 = _interopRequireDefault(_isWindow);
53443
53444 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
53445
53446 function scrollTop(node, val) {
53447 var win = (0, _isWindow2.default)(node);
53448
53449 if (val === undefined) return win ? 'pageYOffset' in win ? win.pageYOffset : win.document.documentElement.scrollTop : node.scrollTop;
53450
53451 if (win) win.scrollTo('pageXOffset' in win ? win.pageXOffset : win.document.documentElement.scrollLeft, val);else node.scrollTop = val;
53452 }
53453 module.exports = exports['default'];
53454
53455/***/ }),
53456/* 543 */
53457/***/ (function(module, exports, __webpack_require__) {
53458
53459 'use strict';
53460
53461 Object.defineProperty(exports, "__esModule", {
53462 value: true
53463 });
53464 exports.default = scrollTop;
53465
53466 var _isWindow = __webpack_require__(539);
53467
53468 var _isWindow2 = _interopRequireDefault(_isWindow);
53469
53470 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
53471
53472 function scrollTop(node, val) {
53473 var win = (0, _isWindow2.default)(node);
53474
53475 if (val === undefined) return win ? 'pageXOffset' in win ? win.pageXOffset : win.document.documentElement.scrollLeft : node.scrollLeft;
53476
53477 if (win) win.scrollTo(val, 'pageYOffset' in win ? win.pageYOffset : win.document.documentElement.scrollTop);else node.scrollLeft = val;
53478 }
53479 module.exports = exports['default'];
53480
53481/***/ }),
53482/* 544 */
53483/***/ (function(module, exports, __webpack_require__) {
53484
53485 'use strict';
53486
53487 Object.defineProperty(exports, "__esModule", {
53488 value: true
53489 });
53490
53491 var _contains = __webpack_require__(292);
53492
53493 var _contains2 = _interopRequireDefault(_contains);
53494
53495 var _react = __webpack_require__(4);
53496
53497 var _react2 = _interopRequireDefault(_react);
53498
53499 var _propTypes = __webpack_require__(5);
53500
53501 var _propTypes2 = _interopRequireDefault(_propTypes);
53502
53503 var _reactDom = __webpack_require__(12);
53504
53505 var _reactDom2 = _interopRequireDefault(_reactDom);
53506
53507 var _addEventListener = __webpack_require__(545);
53508
53509 var _addEventListener2 = _interopRequireDefault(_addEventListener);
53510
53511 var _ownerDocument = __webpack_require__(531);
53512
53513 var _ownerDocument2 = _interopRequireDefault(_ownerDocument);
53514
53515 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
53516
53517 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; }
53518
53519 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
53520
53521 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; }
53522
53523 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); }
53524
53525 var propTypes = {
53526 onRootClose: _propTypes2["default"].func,
53527 children: _propTypes2["default"].element,
53528 /**
53529 * 是否禁用
53530 */
53531 disabled: _propTypes2["default"].bool,
53532 /**
53533 * 触发事件选择
53534 */
53535 event: _propTypes2["default"].oneOf(['click', 'mousedown'])
53536 };
53537
53538 var defaultProps = {
53539 event: 'click'
53540 };
53541
53542 function isLeftClickEvent(event) {
53543 return event.button === 0;
53544 }
53545
53546 function isModifiedEvent(event) {
53547 return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);
53548 }
53549
53550 var RootCloseWrapper = function (_Component) {
53551 _inherits(RootCloseWrapper, _Component);
53552
53553 function RootCloseWrapper(props, context) {
53554 _classCallCheck(this, RootCloseWrapper);
53555
53556 var _this = _possibleConstructorReturn(this, _Component.call(this, props, context));
53557
53558 _this.handleMouseCapture = function (e) {
53559 _this.preventMouseRootClose = isModifiedEvent(e) || !isLeftClickEvent(e) || (0, _contains2["default"])(_reactDom2["default"].findDOMNode(_this), e.target);
53560 };
53561
53562 _this.handleMouse = function () {
53563 if (!_this.preventMouseRootClose && _this.props.onRootClose) {
53564 _this.props.onRootClose();
53565 }
53566 };
53567
53568 _this.handleKeyUp = function (e) {
53569 if (e.keyCode === 27 && _this.props.onRootClose) {
53570 _this.props.onRootClose();
53571 }
53572 };
53573
53574 _this.preventMouseRootClose = false;
53575
53576 _this.addEventListeners = _this.addEventListeners.bind(_this);
53577 _this.removeEventListeners = _this.removeEventListeners.bind(_this);
53578
53579 return _this;
53580 }
53581
53582 RootCloseWrapper.prototype.componentDidMount = function componentDidMount() {
53583 if (!this.props.disabled) {
53584 this.addEventListeners();
53585 }
53586 };
53587
53588 RootCloseWrapper.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {
53589 if (!this.props.disabled && prevProps.disabled) {
53590 this.addEventListeners();
53591 } else if (this.props.disabled && !prevProps.disabled) {
53592 this.removeEventListeners();
53593 }
53594 };
53595
53596 RootCloseWrapper.prototype.componentWillUnmount = function componentWillUnmount() {
53597 if (!this.props.disabled) {
53598 this.removeEventListeners();
53599 }
53600 };
53601
53602 RootCloseWrapper.prototype.addEventListeners = function addEventListeners() {
53603 var event = this.props.event;
53604
53605 var doc = (0, _ownerDocument2["default"])(this);
53606
53607 // 避免react的监听事件触发引起判断的不准确
53608 this.documentMouseCaptureListener = (0, _addEventListener2["default"])(doc, event, this.handleMouseCapture, true);
53609
53610 this.documentMouseListener = (0, _addEventListener2["default"])(doc, event, this.handleMouse);
53611
53612 this.documentKeyupListener = (0, _addEventListener2["default"])(doc, 'keyup', this.handleKeyUp);
53613 };
53614
53615 RootCloseWrapper.prototype.removeEventListeners = function removeEventListeners() {
53616 if (this.documentMouseCaptureListener) {
53617 this.documentMouseCaptureListener.remove();
53618 }
53619
53620 if (this.documentMouseListener) {
53621 this.documentMouseListener.remove();
53622 }
53623
53624 if (this.documentKeyupListener) {
53625 this.documentKeyupListener.remove();
53626 }
53627 };
53628
53629 RootCloseWrapper.prototype.render = function render() {
53630 return this.props.children;
53631 };
53632
53633 return RootCloseWrapper;
53634 }(_react.Component);
53635
53636 RootCloseWrapper.propTypes = propTypes;
53637
53638 RootCloseWrapper.defaultProps = defaultProps;
53639
53640 exports["default"] = RootCloseWrapper;
53641 module.exports = exports['default'];
53642
53643/***/ }),
53644/* 545 */
53645/***/ (function(module, exports, __webpack_require__) {
53646
53647 'use strict';
53648
53649 Object.defineProperty(exports, "__esModule", {
53650 value: true
53651 });
53652
53653 exports["default"] = function (node, event, handler, capture) {
53654 (0, _on2["default"])(node, event, handler, capture);
53655
53656 return {
53657 remove: function remove() {
53658 (0, _off2["default"])(node, event, handler, capture);
53659 }
53660 };
53661 };
53662
53663 var _on = __webpack_require__(15);
53664
53665 var _on2 = _interopRequireDefault(_on);
53666
53667 var _off = __webpack_require__(546);
53668
53669 var _off2 = _interopRequireDefault(_off);
53670
53671 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
53672
53673 module.exports = exports['default'];
53674
53675/***/ }),
53676/* 546 */
53677/***/ (function(module, exports, __webpack_require__) {
53678
53679 'use strict';
53680
53681 Object.defineProperty(exports, "__esModule", {
53682 value: true
53683 });
53684
53685 var _inDOM = __webpack_require__(14);
53686
53687 var _inDOM2 = _interopRequireDefault(_inDOM);
53688
53689 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
53690
53691 var off = function off() {};
53692 if (_inDOM2.default) {
53693 off = function () {
53694 if (document.addEventListener) return function (node, eventName, handler, capture) {
53695 return node.removeEventListener(eventName, handler, capture || false);
53696 };else if (document.attachEvent) return function (node, eventName, handler) {
53697 return node.detachEvent('on' + eventName, handler);
53698 };
53699 }();
53700 }
53701
53702 exports.default = off;
53703 module.exports = exports['default'];
53704
53705/***/ }),
53706/* 547 */
53707/***/ (function(module, exports, __webpack_require__) {
53708
53709 'use strict';
53710
53711 Object.defineProperty(exports, "__esModule", {
53712 value: true
53713 });
53714
53715 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; };
53716
53717 var _classnames = __webpack_require__(3);
53718
53719 var _classnames2 = _interopRequireDefault(_classnames);
53720
53721 var _propTypes = __webpack_require__(5);
53722
53723 var _propTypes2 = _interopRequireDefault(_propTypes);
53724
53725 var _react = __webpack_require__(4);
53726
53727 var _react2 = _interopRequireDefault(_react);
53728
53729 var _Transition = __webpack_require__(548);
53730
53731 var _Transition2 = _interopRequireDefault(_Transition);
53732
53733 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
53734
53735 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; }
53736
53737 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
53738
53739 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; }
53740
53741 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); }
53742
53743 var propTypes = {
53744 /**
53745 * Show the component; triggers the fade in or fade out animation
53746 */
53747 "in": _propTypes2["default"].bool,
53748
53749 /**
53750 * Unmount the component (remove it from the DOM) when it is faded out
53751 */
53752 unmountOnExit: _propTypes2["default"].bool,
53753
53754 /**
53755 * Run the fade in animation when the component mounts, if it is initially
53756 * shown
53757 */
53758 transitionAppear: _propTypes2["default"].bool,
53759
53760 /**
53761 * Duration of the fade animation in milliseconds, to ensure that finishing
53762 * callbacks are fired even if the original browser transition end events are
53763 * canceled
53764 */
53765 timeout: _propTypes2["default"].number,
53766
53767 /**
53768 * Callback fired before the component fades in
53769 */
53770 onEnter: _propTypes2["default"].func,
53771 /**
53772 * Callback fired after the component starts to fade in
53773 */
53774 onEntering: _propTypes2["default"].func,
53775 /**
53776 * Callback fired after the has component faded in
53777 */
53778 onEntered: _propTypes2["default"].func,
53779 /**
53780 * Callback fired before the component fades out
53781 */
53782 onExit: _propTypes2["default"].func,
53783 /**
53784 * Callback fired after the component starts to fade out
53785 */
53786 onExiting: _propTypes2["default"].func,
53787 /**
53788 * Callback fired after the component has faded out
53789 */
53790 onExited: _propTypes2["default"].func
53791 };
53792
53793 var defaultProps = {
53794 "in": false,
53795 timeout: 300,
53796 unmountOnExit: false,
53797 transitionAppear: false
53798 };
53799
53800 var Fade = function (_React$Component) {
53801 _inherits(Fade, _React$Component);
53802
53803 function Fade() {
53804 _classCallCheck(this, Fade);
53805
53806 return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));
53807 }
53808
53809 Fade.prototype.render = function render() {
53810 return _react2["default"].createElement(_Transition2["default"], _extends({}, this.props, {
53811 className: (0, _classnames2["default"])(this.props.className, 'fade'),
53812 enteredClassName: 'in',
53813 enteringClassName: 'in'
53814 }));
53815 };
53816
53817 return Fade;
53818 }(_react2["default"].Component);
53819
53820 Fade.propTypes = propTypes;
53821 Fade.defaultProps = defaultProps;
53822
53823 exports["default"] = Fade;
53824 module.exports = exports['default'];
53825
53826/***/ }),
53827/* 548 */
53828/***/ (function(module, exports, __webpack_require__) {
53829
53830 'use strict';
53831
53832 Object.defineProperty(exports, "__esModule", {
53833 value: true
53834 });
53835 exports.EXITING = exports.ENTERED = exports.ENTERING = exports.EXITED = exports.UNMOUNTED = undefined;
53836
53837 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; };
53838
53839 var _react = __webpack_require__(4);
53840
53841 var _react2 = _interopRequireDefault(_react);
53842
53843 var _propTypes = __webpack_require__(5);
53844
53845 var _propTypes2 = _interopRequireDefault(_propTypes);
53846
53847 var _reactDom = __webpack_require__(12);
53848
53849 var _reactDom2 = _interopRequireDefault(_reactDom);
53850
53851 var _properties = __webpack_require__(13);
53852
53853 var _properties2 = _interopRequireDefault(_properties);
53854
53855 var _on = __webpack_require__(15);
53856
53857 var _on2 = _interopRequireDefault(_on);
53858
53859 var _classnames = __webpack_require__(3);
53860
53861 var _classnames2 = _interopRequireDefault(_classnames);
53862
53863 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
53864
53865 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; }
53866
53867 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; }
53868
53869 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
53870
53871 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; }
53872
53873 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); }
53874
53875 var transitionEndEvent = _properties2["default"].end;
53876
53877 //设置状态码
53878 var UNMOUNTED = exports.UNMOUNTED = 0;
53879 var EXITED = exports.EXITED = 1;
53880 var ENTERING = exports.ENTERING = 2;
53881 var ENTERED = exports.ENTERED = 3;
53882 var EXITING = exports.EXITING = 4;
53883
53884 var propTypes = {
53885 /**
53886 * 是否触发动画
53887 */
53888 "in": _propTypes2["default"].bool,
53889
53890 /**
53891 * 不显示的时候是否移除组件
53892 */
53893 unmountOnExit: _propTypes2["default"].bool,
53894
53895 /**
53896 * 如果设置为默认显示,挂载时显示动画
53897 */
53898 transitionAppear: _propTypes2["default"].bool,
53899
53900 /**
53901 * 设置超时时间,防止出现问题,可设置为>=动画时间
53902 */
53903 timeout: _propTypes2["default"].number,
53904
53905 /**
53906 * 退出组件时添加的class
53907 */
53908 exitedClassName: _propTypes2["default"].string,
53909 /**
53910 * 退出组件中添加的class
53911 */
53912 exitingClassName: _propTypes2["default"].string,
53913 /**
53914 * 进入动画后添加的class
53915 */
53916 enteredClassName: _propTypes2["default"].string,
53917 /**
53918 * 进入动画时添加的class
53919 */
53920 enteringClassName: _propTypes2["default"].string,
53921
53922 /**
53923 * 进入动画开始时的钩子函数
53924 */
53925 onEnter: _propTypes2["default"].func,
53926 /**
53927 * 进入动画中的钩子函数
53928 */
53929 onEntering: _propTypes2["default"].func,
53930 /**
53931 * 进入动画后的钩子函数
53932 */
53933 onEntered: _propTypes2["default"].func,
53934 /**
53935 * 退出动画开始时的钩子函数
53936 */
53937 onExit: _propTypes2["default"].func,
53938 /**
53939 * 退出动画中的钩子函数
53940 */
53941 onExiting: _propTypes2["default"].func,
53942 /**
53943 * 退出动画后的钩子函数
53944 */
53945 onExited: _propTypes2["default"].func
53946 };
53947
53948 function noop() {}
53949
53950 var defaultProps = {
53951 "in": false,
53952 unmountOnExit: false,
53953 transitionAppear: false,
53954 timeout: 5000,
53955 onEnter: noop,
53956 onEntering: noop,
53957 onEntered: noop,
53958 onExit: noop,
53959 onExiting: noop,
53960 onExited: noop
53961 };
53962
53963 /**
53964 * 动画组件
53965 */
53966
53967 var Transition = function (_Component) {
53968 _inherits(Transition, _Component);
53969
53970 function Transition(props, context) {
53971 _classCallCheck(this, Transition);
53972
53973 var _this = _possibleConstructorReturn(this, _Component.call(this, props, context));
53974
53975 var initialStatus = void 0;
53976 if (props["in"]) {
53977 // 在componentdidmount时开始执行动画
53978 initialStatus = props.transitionAppear ? EXITED : ENTERED;
53979 } else {
53980 initialStatus = props.unmountOnExit ? UNMOUNTED : EXITED;
53981 }
53982 _this.state = { status: initialStatus };
53983
53984 _this.nextCallback = null;
53985
53986 _this.performEnter = _this.performEnter.bind(_this);
53987 _this.performExit = _this.performExit.bind(_this);
53988 _this.cancelNextCallback = _this.cancelNextCallback.bind(_this);
53989 _this.onTransitionEnd = _this.onTransitionEnd.bind(_this);
53990 _this.safeSetState = _this.safeSetState.bind(_this);
53991 _this.setNextCallback = _this.setNextCallback.bind(_this);
53992
53993 return _this;
53994 }
53995
53996 Transition.prototype.componentDidMount = function componentDidMount() {
53997 if (this.props.transitionAppear && this.props["in"]) {
53998 this.performEnter(this.props);
53999 }
54000 };
54001
54002 Transition.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
54003 if (nextProps["in"] && this.props.unmountOnExit) {
54004 if (this.state.status === UNMOUNTED) {
54005 // 在componentDidUpdate执行动画.
54006 this.setState({ status: EXITED });
54007 }
54008 } else {
54009 this._needsUpdate = true;
54010 }
54011 };
54012
54013 Transition.prototype.componentDidUpdate = function componentDidUpdate() {
54014 var status = this.state.status;
54015
54016 if (this.props.unmountOnExit && status === EXITED) {
54017 // 当使用unmountOnExit时,exited为exiting和unmont的过渡状态
54018 if (this.props["in"]) {
54019 this.performEnter(this.props);
54020 } else {
54021 this.setState({ status: UNMOUNTED });
54022 }
54023
54024 return;
54025 }
54026
54027 // 确保只响应prop变化
54028 if (this._needsUpdate) {
54029 this._needsUpdate = false;
54030
54031 if (this.props["in"]) {
54032 if (status === EXITING) {
54033 this.performEnter(this.props);
54034 } else if (status === EXITED) {
54035 this.performEnter(this.props);
54036 }
54037 // 其他,当我们已经输入或输出
54038 } else {
54039 if (status === ENTERING || status === ENTERED) {
54040 this.performExit(this.props);
54041 }
54042 // 我们已经输入或输出完成
54043 }
54044 }
54045 };
54046
54047 Transition.prototype.componentWillUnmount = function componentWillUnmount() {
54048 this.cancelNextCallback();
54049 };
54050
54051 Transition.prototype.performEnter = function performEnter(props) {
54052 var _this2 = this;
54053
54054 this.cancelNextCallback();
54055 var node = _reactDom2["default"].findDOMNode(this);
54056
54057 // 这里接收新props
54058 props.onEnter(node);
54059
54060 this.safeSetState({ status: ENTERING }, function () {
54061 _this2.props.onEntering(node);
54062
54063 _this2.onTransitionEnd(node, function () {
54064 _this2.safeSetState({ status: ENTERED }, function () {
54065 _this2.props.onEntered(node);
54066 });
54067 });
54068 });
54069 };
54070
54071 Transition.prototype.performExit = function performExit(props) {
54072 var _this3 = this;
54073
54074 this.cancelNextCallback();
54075 var node = _reactDom2["default"].findDOMNode(this);
54076
54077 props.onExit(node);
54078
54079 this.safeSetState({ status: EXITING }, function () {
54080 _this3.props.onExiting(node);
54081
54082 _this3.onTransitionEnd(node, function () {
54083 _this3.safeSetState({ status: EXITED }, function () {
54084 _this3.props.onExited(node);
54085 });
54086 });
54087 });
54088 };
54089
54090 Transition.prototype.cancelNextCallback = function cancelNextCallback() {
54091 if (this.nextCallback !== null) {
54092 this.nextCallback.cancel();
54093 this.nextCallback = null;
54094 }
54095 };
54096
54097 Transition.prototype.safeSetState = function safeSetState(nextState, callback) {
54098 // 确保在组件销毁后挂起的setState被消除
54099 this.setState(nextState, this.setNextCallback(callback));
54100 };
54101
54102 Transition.prototype.setNextCallback = function setNextCallback(callback) {
54103 var _this4 = this;
54104
54105 var active = true;
54106
54107 this.nextCallback = function (event) {
54108 if (active) {
54109 active = false;
54110 _this4.nextCallback = null;
54111
54112 callback(event);
54113 }
54114 };
54115
54116 this.nextCallback.cancel = function () {
54117 active = false;
54118 };
54119
54120 return this.nextCallback;
54121 };
54122
54123 Transition.prototype.onTransitionEnd = function onTransitionEnd(node, handler) {
54124 this.setNextCallback(handler);
54125
54126 if (node) {
54127 (0, _on2["default"])(node, transitionEndEvent, this.nextCallback);
54128 setTimeout(this.nextCallback, this.props.timeout);
54129 } else {
54130 setTimeout(this.nextCallback, 0);
54131 }
54132 };
54133
54134 Transition.prototype.render = function render() {
54135 var status = this.state.status;
54136 if (status === UNMOUNTED) {
54137 return null;
54138 }
54139
54140 var _props = this.props,
54141 children = _props.children,
54142 className = _props.className,
54143 childProps = _objectWithoutProperties(_props, ['children', 'className']);
54144
54145 Object.keys(Transition.propTypes).forEach(function (key) {
54146 return delete childProps[key];
54147 });
54148
54149 var transitionClassName = void 0;
54150 if (status === EXITED) {
54151 transitionClassName = this.props.exitedClassName;
54152 } else if (status === ENTERING) {
54153 transitionClassName = this.props.enteringClassName;
54154 } else if (status === ENTERED) {
54155 transitionClassName = this.props.enteredClassName;
54156 } else if (status === EXITING) {
54157 transitionClassName = this.props.exitingClassName;
54158 }
54159
54160 var child = _react2["default"].Children.only(children);
54161 return _react2["default"].cloneElement(child, _extends({}, childProps, {
54162 className: (0, _classnames2["default"])(child.props.className, className, transitionClassName)
54163 }));
54164 };
54165
54166 return Transition;
54167 }(_react.Component);
54168
54169 Transition.propTypes = propTypes;
54170
54171 Transition.defaultProps = defaultProps;
54172
54173 exports["default"] = Transition;
54174
54175/***/ }),
54176/* 549 */
54177/***/ (function(module, exports) {
54178
54179 'use strict';
54180
54181 Object.defineProperty(exports, "__esModule", {
54182 value: true
54183 });
54184 /**
54185 * Safe chained function
54186 *
54187 * Will only create a new function if needed,
54188 * otherwise will pass back existing functions or null.
54189 *
54190 * @param {function} functions to chain
54191 * @returns {function|null}
54192 */
54193 function createChainedFunction() {
54194 for (var _len = arguments.length, funcs = Array(_len), _key = 0; _key < _len; _key++) {
54195 funcs[_key] = arguments[_key];
54196 }
54197
54198 return funcs.filter(function (f) {
54199 return f != null;
54200 }).reduce(function (acc, f) {
54201 if (typeof f !== 'function') {
54202 throw new Error('Invalid Argument Type, must only provide functions, undefined, or null.');
54203 }
54204
54205 if (acc === null) {
54206 return f;
54207 }
54208
54209 return function chainedFunction() {
54210 for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
54211 args[_key2] = arguments[_key2];
54212 }
54213
54214 acc.apply(this, args);
54215 f.apply(this, args);
54216 };
54217 }, null);
54218 }
54219
54220 exports["default"] = createChainedFunction;
54221 module.exports = exports['default'];
54222
54223/***/ }),
54224/* 550 */
54225/***/ (function(module, exports, __webpack_require__) {
54226
54227 'use strict';
54228
54229 Object.defineProperty(exports, "__esModule", {
54230 value: true
54231 });
54232
54233 var _InputNumber = __webpack_require__(551);
54234
54235 var _InputNumber2 = _interopRequireDefault(_InputNumber);
54236
54237 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
54238
54239 exports["default"] = _InputNumber2["default"];
54240 module.exports = exports['default'];
54241
54242/***/ }),
54243/* 551 */
54244/***/ (function(module, exports, __webpack_require__) {
54245
54246 'use strict';
54247
54248 Object.defineProperty(exports, "__esModule", {
54249 value: true
54250 });
54251
54252 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; };
54253
54254 var _react = __webpack_require__(4);
54255
54256 var _react2 = _interopRequireDefault(_react);
54257
54258 var _classnames = __webpack_require__(3);
54259
54260 var _classnames2 = _interopRequireDefault(_classnames);
54261
54262 var _beeInputGroup = __webpack_require__(494);
54263
54264 var _beeInputGroup2 = _interopRequireDefault(_beeInputGroup);
54265
54266 var _beeFormControl = __webpack_require__(257);
54267
54268 var _beeFormControl2 = _interopRequireDefault(_beeFormControl);
54269
54270 var _propTypes = __webpack_require__(5);
54271
54272 var _propTypes2 = _interopRequireDefault(_propTypes);
54273
54274 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
54275
54276 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; }
54277
54278 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; }
54279
54280 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; }
54281
54282 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
54283
54284 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; }
54285
54286 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); }
54287
54288 var propTypes = {
54289 max: _propTypes2["default"].number,
54290 min: _propTypes2["default"].number,
54291 step: _propTypes2["default"].number,
54292 value: _propTypes2["default"].number,
54293 autoWidth: _propTypes2["default"].bool,
54294 precision: _propTypes2["default"].number,
54295 format: _propTypes2["default"].func,
54296 delay: _propTypes2["default"].number
54297 };
54298
54299 var defaultProps = {
54300 value: 0,
54301 step: 1,
54302 clsPrefix: 'u-input-number',
54303 iconStyle: 'double',
54304 autoWidth: false,
54305 delay: 300
54306 };
54307
54308 function judgeValue(props) {
54309 var currentValue = void 0;
54310 var currentMinusDisabled = false;
54311 var currentPlusDisabled = false;
54312
54313 if (props.value) {
54314 currentValue = Number(props.value) || 0;
54315 } else if (props.min) {
54316 currentValue = props.min;
54317 } else {
54318 currentValue = 0;
54319 }
54320 if (currentValue <= props.min) {
54321 currentMinusDisabled = true;
54322 }
54323 if (currentValue >= props.max) {
54324 currentPlusDisabled = true;
54325 }
54326
54327 if (props.hasOwnProperty('precision')) {
54328 currentValue = currentValue.toFixed(props.precision);
54329 }
54330
54331 return {
54332 value: currentValue,
54333 minusDisabled: currentMinusDisabled,
54334 plusDisabled: currentPlusDisabled
54335 };
54336 }
54337
54338 var InputNumber = function (_Component) {
54339 _inherits(InputNumber, _Component);
54340
54341 function InputNumber(props) {
54342 _classCallCheck(this, InputNumber);
54343
54344 // 初始化状态,加减按钮是否可用,根据当前值判断
54345
54346 var _this = _possibleConstructorReturn(this, _Component.call(this, props));
54347
54348 _this.handleChange = function (value) {
54349 var _this$props = _this.props,
54350 onChange = _this$props.onChange,
54351 min = _this$props.min,
54352 max = _this$props.max;
54353
54354 //value = this.detail(value, 0, 'reduce');
54355
54356 if (!isNaN(value) && value >= min && value <= max) {
54357 _this.tempStorage = value;
54358 }
54359 _this.setState({ value: value });
54360 onChange && onChange(value);
54361 };
54362
54363 _this.handleFocus = function (e) {
54364 var _this$props2 = _this.props,
54365 onFocus = _this$props2.onFocus,
54366 min = _this$props2.min,
54367 max = _this$props2.max;
54368
54369 var value = e.target.value;
54370 if (!isNaN(value) && value >= min && value <= max) {
54371 _this.tempStorage = e.target.value;
54372 }
54373 onFocus && onFocus();
54374 };
54375
54376 _this.handleBlur = function (e) {
54377 var _this$props3 = _this.props,
54378 onBlur = _this$props3.onBlur,
54379 step = _this$props3.step;
54380
54381 var value = Number(e.target.value);
54382 if (isNaN(value)) {
54383 value = _this.tempStorage;
54384 _this.setState({
54385 value: value
54386 });
54387 _this.detailDisable(value);
54388 } else {
54389 console.log(value - step);
54390 _this.plus(value - step);
54391 }
54392
54393 onBlur && onBlur();
54394 };
54395
54396 _this.detail = function (value, step, type) {
54397 var precision = _this.props.precision;
54398
54399
54400 var valueFloat = _this.separate(value);
54401 var stepFloat = _this.separate(step);
54402
54403 var ans = void 0;
54404 var stepFloatLength = stepFloat.toString().length;
54405 var valueFloatLength = valueFloat.toString().length;
54406
54407 if (typeof precision === 'undefined') {
54408 precision = Math.max(stepFloatLength, valueFloatLength);
54409 }
54410 var coefficient = Math.pow(10, Math.abs(stepFloatLength - valueFloatLength));
54411 if (type === 'add') {
54412 ans = (value * coefficient + step * coefficient) / coefficient;
54413 } else {
54414 ans = (value * coefficient - step * coefficient) / coefficient;
54415 }
54416
54417 return ans.toFixed(precision);
54418 };
54419
54420 _this.separate = function (value) {
54421 value = value.toString();
54422 if (value.indexOf('.') > -1) {
54423 return value.split('.')[1];
54424 } else {
54425 return "";
54426 }
54427 };
54428
54429 _this.minus = function (value) {
54430 var _this$props4 = _this.props,
54431 min = _this$props4.min,
54432 max = _this$props4.max,
54433 step = _this$props4.step,
54434 onChange = _this$props4.onChange;
54435
54436
54437 if (typeof min === "undefined") {
54438 value = _this.detail(value, step, 'reduce');
54439 } else {
54440 if (value < min) {
54441 value = min;
54442 } else {
54443 var reducedValue = _this.detail(value, step, 'reduce');
54444 if (reducedValue >= min) {
54445 value = reducedValue;
54446 }
54447 }
54448 }
54449
54450 if (value > max) {
54451 value = max;
54452 }
54453
54454 _this.setState({
54455 value: value
54456 });
54457 onChange && onChange(value);
54458 _this.detailDisable(value);
54459 };
54460
54461 _this.detailDisable = function (value) {
54462 var _this$props5 = _this.props,
54463 max = _this$props5.max,
54464 min = _this$props5.min,
54465 step = _this$props5.step;
54466
54467
54468 if (value >= max || Number(value) + Number(step) > max) {
54469 _this.setState({
54470 plusDisabled: true
54471 });
54472 } else {
54473 _this.setState({
54474 plusDisabled: false
54475 });
54476 }
54477 if (value <= min || value - step < min) {
54478 _this.setState({
54479 minusDisabled: true
54480 });
54481 } else {
54482 _this.setState({
54483 minusDisabled: false
54484 });
54485 }
54486 };
54487
54488 _this.plus = function (value) {
54489 var _this$props6 = _this.props,
54490 max = _this$props6.max,
54491 min = _this$props6.min,
54492 step = _this$props6.step,
54493 onChange = _this$props6.onChange;
54494
54495 if (typeof max === "undefined") {
54496 value = _this.detail(value, step, 'add');
54497 } else {
54498 if (value > max) {
54499 value = max;
54500 } else {
54501 var addedValue = _this.detail(value, step, 'add');
54502 if (addedValue <= max) {
54503 value = addedValue;
54504 }
54505 }
54506 }
54507 if (value < min) {
54508 value = min;
54509 }
54510 _this.setState({
54511 value: value
54512 });
54513 onChange && onChange(value);
54514 _this.detailDisable(value);
54515 };
54516
54517 _this.clear = function () {
54518 if (_this.timer) {
54519 clearTimeout(_this.timer);
54520 }
54521 };
54522
54523 _this.handlePlusMouseDown = function (e) {
54524 var delay = _this.props.delay;
54525 var value = _this.state.value;
54526
54527 _this.plus(value);
54528 _this.clear();
54529 _this.timer = setTimeout(function () {
54530 _this.handlePlusMouseDown();
54531 }, delay);
54532 };
54533
54534 _this.handleReduceMouseDown = function (e) {
54535 var delay = _this.props.delay;
54536 var value = _this.state.value;
54537
54538 _this.minus(value);
54539 _this.clear();
54540 _this.timer = setTimeout(function () {
54541 _this.handleReduceMouseDown();
54542 }, delay);
54543 };
54544
54545 var data = judgeValue(props);
54546
54547 _this.state = {
54548 value: data.value,
54549 minusDisabled: data.minusDisabled,
54550 plusDisabled: data.plusDisabled
54551 };
54552
54553 _this.timer = null;
54554 _this.tempStorage = data.value;
54555 return _this;
54556 }
54557
54558 InputNumber.prototype.ComponentWillMount = function ComponentWillMount() {};
54559
54560 InputNumber.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
54561 var data = judgeValue(nextProps);
54562 this.setState({
54563 value: data.value,
54564 minusDisabled: data.minusDisabled,
54565 plusDisabled: data.plusDisabled
54566 });
54567 this.tempStorage = data.value;
54568 };
54569
54570 InputNumber.prototype.ComponentWillUnMount = function ComponentWillUnMount() {
54571 this.clear();
54572 };
54573
54574 /**
54575 * 分离小数和整数
54576 * @param value
54577 * @returns {*}
54578 */
54579
54580
54581 InputNumber.prototype.render = function render() {
54582 var _classes;
54583
54584 var _props = this.props,
54585 max = _props.max,
54586 min = _props.min,
54587 step = _props.step,
54588 clsPrefix = _props.clsPrefix,
54589 className = _props.className,
54590 delay = _props.delay,
54591 onBlur = _props.onBlur,
54592 onFocus = _props.onFocus,
54593 iconStyle = _props.iconStyle,
54594 autoWidth = _props.autoWidth,
54595 onChange = _props.onChange,
54596 format = _props.format,
54597 precision = _props.precision,
54598 others = _objectWithoutProperties(_props, ['max', 'min', 'step', 'clsPrefix', 'className', 'delay', 'onBlur', 'onFocus', 'iconStyle', 'autoWidth', 'onChange', 'format', 'precision']);
54599
54600 var classes = (_classes = {}, _defineProperty(_classes, clsPrefix + '-auto', autoWidth), _defineProperty(_classes, '' + clsPrefix, true), _classes);
54601
54602 var _state = this.state,
54603 value = _state.value,
54604 minusDisabled = _state.minusDisabled,
54605 plusDisabled = _state.plusDisabled;
54606
54607
54608 value = format ? format(value) : value;
54609 return _react2["default"].createElement(
54610 'div',
54611 null,
54612 iconStyle === 'double' ? _react2["default"].createElement(
54613 _beeInputGroup2["default"],
54614 { className: (0, _classnames2["default"])(className, classes) },
54615 _react2["default"].createElement(
54616 _beeInputGroup2["default"].Addon,
54617 {
54618 className: minusDisabled && 'disabled',
54619 onMouseDown: this.handleReduceMouseDown,
54620 onMouseLeave: this.clear,
54621 onMouseUp: this.clear },
54622 '-'
54623 ),
54624 _react2["default"].createElement(_beeFormControl2["default"], _extends({}, others, {
54625 value: value,
54626 onBlur: this.handleBlur,
54627 onFocus: this.handleFocus,
54628 onChange: this.handleChange
54629 })),
54630 _react2["default"].createElement(
54631 _beeInputGroup2["default"].Addon,
54632 {
54633 className: plusDisabled && 'disabled',
54634 onMouseDown: this.handlePlusMouseDown,
54635 onMouseLeave: this.clear,
54636 onMouseUp: this.clear },
54637 '+'
54638 )
54639 ) : _react2["default"].createElement(
54640 _beeInputGroup2["default"],
54641 {
54642 className: (0, _classnames2["default"])(className, classes),
54643 simple: true
54644 },
54645 _react2["default"].createElement(_beeFormControl2["default"], _extends({}, others, {
54646 value: value,
54647 onBlur: this.handleBlur,
54648 onFocus: this.handleFocus,
54649 onChange: this.handleChange
54650 })),
54651 _react2["default"].createElement(
54652 _beeInputGroup2["default"].Button,
54653 null,
54654 _react2["default"].createElement(
54655 'div',
54656 { className: 'icon-group' },
54657 _react2["default"].createElement(
54658 'span',
54659 {
54660 onMouseDown: this.handlePlusMouseDown,
54661 onMouseLeave: this.clear,
54662 onMouseUp: this.clear,
54663 className: (0, _classnames2["default"])('plus', { 'disabled': plusDisabled }) },
54664 _react2["default"].createElement('span', { className: 'uf uf-arrow-up' })
54665 ),
54666 _react2["default"].createElement(
54667 'span',
54668 {
54669 onMouseDown: this.handleReduceMouseDown,
54670 onMouseLeave: this.clear,
54671 onMouseUp: this.clear,
54672 className: (0, _classnames2["default"])("reduce", { 'disabled': minusDisabled }) },
54673 _react2["default"].createElement('span', { className: ' uf uf-arrow-down' })
54674 )
54675 )
54676 )
54677 )
54678 );
54679 };
54680
54681 return InputNumber;
54682 }(_react.Component);
54683
54684 ;
54685
54686 InputNumber.defaultProps = defaultProps;
54687 InputNumber.propTypes = propTypes;
54688 exports["default"] = InputNumber;
54689 module.exports = exports['default'];
54690
54691/***/ }),
54692/* 552 */
54693/***/ (function(module, exports, __webpack_require__) {
54694
54695 'use strict';
54696
54697 Object.defineProperty(exports, "__esModule", {
54698 value: true
54699 });
54700
54701 var _Rate = __webpack_require__(553);
54702
54703 var _Rate2 = _interopRequireDefault(_Rate);
54704
54705 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
54706
54707 exports["default"] = _Rate2["default"];
54708 module.exports = exports['default'];
54709
54710/***/ }),
54711/* 553 */
54712/***/ (function(module, exports, __webpack_require__) {
54713
54714 'use strict';
54715
54716 Object.defineProperty(exports, "__esModule", {
54717 value: true
54718 });
54719
54720 var _react = __webpack_require__(4);
54721
54722 var _react2 = _interopRequireDefault(_react);
54723
54724 var _rcRate = __webpack_require__(554);
54725
54726 var _rcRate2 = _interopRequireDefault(_rcRate);
54727
54728 var _beeIcon = __webpack_require__(259);
54729
54730 var _beeIcon2 = _interopRequireDefault(_beeIcon);
54731
54732 var _propTypes = __webpack_require__(5);
54733
54734 var _propTypes2 = _interopRequireDefault(_propTypes);
54735
54736 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
54737
54738 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; }
54739
54740 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
54741
54742 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; }
54743
54744 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); }
54745
54746 var propTypes = {
54747 count: _propTypes2["default"].number,
54748 value: _propTypes2["default"].number,
54749 defaultValue: _propTypes2["default"].number,
54750 onChange: _propTypes2["default"].func,
54751 onHoverChange: _propTypes2["default"].func,
54752 allowHalf: _propTypes2["default"].bool,
54753 disabled: _propTypes2["default"].bool,
54754 className: _propTypes2["default"].string,
54755 style: _propTypes2["default"].object
54756
54757 };
54758
54759 var defaultProps = {
54760 count: 5,
54761 defaultValue: 0,
54762 value: 0,
54763 onChange: function onChange() {},
54764 onHoverChange: function onHoverChange() {},
54765 allowHalf: false,
54766 disabled: false,
54767 character: _react2["default"].createElement(_beeIcon2["default"], { type: 'uf-star' }),
54768 className: '',
54769 style: {},
54770 clsPrefix: 'u-rate'
54771 };
54772
54773 var Rate = function (_Component) {
54774 _inherits(Rate, _Component);
54775
54776 function Rate() {
54777 _classCallCheck(this, Rate);
54778
54779 return _possibleConstructorReturn(this, _Component.apply(this, arguments));
54780 }
54781
54782 Rate.prototype.render = function render() {
54783 var _props = this.props,
54784 count = _props.count,
54785 value = _props.value,
54786 defaultValue = _props.defaultValue,
54787 onChange = _props.onChange,
54788 clsPrefix = _props.clsPrefix,
54789 onHoverChange = _props.onHoverChange,
54790 allowHalf = _props.allowHalf,
54791 disabled = _props.disabled,
54792 character = _props.character,
54793 className = _props.className,
54794 style = _props.style;
54795
54796 return _react2["default"].createElement(_rcRate2["default"], { prefixCls: clsPrefix, count: count, value: value, defaultValue: defaultValue, onChange: onChange,
54797 onHoverChange: onHoverChange, allowHalf: allowHalf, disabled: disabled, character: character,
54798 className: className, style: style });
54799 };
54800
54801 return Rate;
54802 }(_react.Component);
54803
54804 ;
54805 Rate.propTypes = propTypes;
54806 Rate.defaultProps = defaultProps;
54807 exports["default"] = Rate;
54808 module.exports = exports['default'];
54809
54810/***/ }),
54811/* 554 */
54812/***/ (function(module, exports, __webpack_require__) {
54813
54814 'use strict';
54815
54816 exports.__esModule = true;
54817
54818 var _Rate = __webpack_require__(555);
54819
54820 var _Rate2 = _interopRequireDefault(_Rate);
54821
54822 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
54823
54824 exports['default'] = _Rate2['default'];
54825 module.exports = exports['default'];
54826
54827/***/ }),
54828/* 555 */
54829/***/ (function(module, exports, __webpack_require__) {
54830
54831 'use strict';
54832
54833 exports.__esModule = true;
54834
54835 var _react = __webpack_require__(4);
54836
54837 var _react2 = _interopRequireDefault(_react);
54838
54839 var _reactDom = __webpack_require__(12);
54840
54841 var _reactDom2 = _interopRequireDefault(_reactDom);
54842
54843 var _propTypes = __webpack_require__(5);
54844
54845 var _propTypes2 = _interopRequireDefault(_propTypes);
54846
54847 var _classnames = __webpack_require__(3);
54848
54849 var _classnames2 = _interopRequireDefault(_classnames);
54850
54851 var _KeyCode = __webpack_require__(314);
54852
54853 var _KeyCode2 = _interopRequireDefault(_KeyCode);
54854
54855 var _util = __webpack_require__(556);
54856
54857 var _Star = __webpack_require__(557);
54858
54859 var _Star2 = _interopRequireDefault(_Star);
54860
54861 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
54862
54863 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
54864
54865 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; }
54866
54867 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; }
54868
54869 function noop() {}
54870
54871 var Rate = function (_React$Component) {
54872 _inherits(Rate, _React$Component);
54873
54874 function Rate(props) {
54875 _classCallCheck(this, Rate);
54876
54877 var _this = _possibleConstructorReturn(this, _React$Component.call(this, props));
54878
54879 _initialiseProps.call(_this);
54880
54881 var value = props.value;
54882 if (value === undefined) {
54883 value = props.defaultValue;
54884 }
54885
54886 _this.stars = {};
54887
54888 _this.state = {
54889 value: value,
54890 focused: false,
54891 cleanedValue: null
54892 };
54893 return _this;
54894 }
54895
54896 Rate.prototype.componentDidMount = function componentDidMount() {
54897 if (this.props.autoFocus && !this.props.disabled) {
54898 this.focus();
54899 }
54900 };
54901
54902 Rate.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
54903 if ('value' in nextProps) {
54904 var value = nextProps.value;
54905 if (value === undefined) {
54906 value = nextProps.defaultValue;
54907 }
54908 this.setState({
54909 value: value
54910 });
54911 }
54912 };
54913
54914 Rate.prototype.getStarDOM = function getStarDOM(index) {
54915 return _reactDom2['default'].findDOMNode(this.stars[index]);
54916 };
54917
54918 Rate.prototype.getStarValue = function getStarValue(index, x) {
54919 var value = index + 1;
54920 if (this.props.allowHalf) {
54921 var starEle = this.getStarDOM(index);
54922 var leftDis = (0, _util.getOffsetLeft)(starEle);
54923 var width = starEle.clientWidth;
54924 if (x - leftDis < width / 2) {
54925 value -= 0.5;
54926 }
54927 }
54928 return value;
54929 };
54930
54931 Rate.prototype.focus = function focus() {
54932 if (!this.props.disabled) {
54933 this.rate.focus();
54934 }
54935 };
54936
54937 Rate.prototype.blur = function blur() {
54938 if (!this.props.disabled) {
54939 this.rate.focus();
54940 }
54941 };
54942
54943 Rate.prototype.changeValue = function changeValue(value) {
54944 if (!('value' in this.props)) {
54945 this.setState({
54946 value: value
54947 });
54948 }
54949 this.props.onChange(value);
54950 };
54951
54952 Rate.prototype.render = function render() {
54953 var _props = this.props,
54954 count = _props.count,
54955 allowHalf = _props.allowHalf,
54956 style = _props.style,
54957 prefixCls = _props.prefixCls,
54958 disabled = _props.disabled,
54959 className = _props.className,
54960 character = _props.character,
54961 tabIndex = _props.tabIndex;
54962 var _state = this.state,
54963 value = _state.value,
54964 hoverValue = _state.hoverValue,
54965 focused = _state.focused;
54966
54967 var stars = [];
54968 var disabledClass = disabled ? prefixCls + '-disabled' : '';
54969 for (var index = 0; index < count; index++) {
54970 stars.push(_react2['default'].createElement(_Star2['default'], {
54971 ref: this.saveRef(index),
54972 index: index,
54973 count: count,
54974 disabled: disabled,
54975 prefixCls: prefixCls + '-star',
54976 allowHalf: allowHalf,
54977 value: hoverValue === undefined ? value : hoverValue,
54978 onClick: this.onClick,
54979 onHover: this.onHover,
54980 key: index,
54981 character: character,
54982 focused: focused
54983 }));
54984 }
54985 return _react2['default'].createElement(
54986 'ul',
54987 {
54988 className: (0, _classnames2['default'])(prefixCls, disabledClass, className),
54989 style: style,
54990 onMouseLeave: disabled ? null : this.onMouseLeave,
54991 tabIndex: disabled ? -1 : tabIndex,
54992 onFocus: disabled ? null : this.onFocus,
54993 onBlur: disabled ? null : this.onBlur,
54994 onKeyDown: disabled ? null : this.onKeyDown,
54995 ref: this.saveRate,
54996 role: 'radiogroup'
54997 },
54998 stars
54999 );
55000 };
55001
55002 return Rate;
55003 }(_react2['default'].Component);
55004
55005 Rate.propTypes = {
55006 disabled: _propTypes2['default'].bool,
55007 value: _propTypes2['default'].number,
55008 defaultValue: _propTypes2['default'].number,
55009 count: _propTypes2['default'].number,
55010 allowHalf: _propTypes2['default'].bool,
55011 allowClear: _propTypes2['default'].bool,
55012 style: _propTypes2['default'].object,
55013 prefixCls: _propTypes2['default'].string,
55014 onChange: _propTypes2['default'].func,
55015 onHoverChange: _propTypes2['default'].func,
55016 className: _propTypes2['default'].string,
55017 character: _propTypes2['default'].node,
55018 tabIndex: _propTypes2['default'].number,
55019 onFocus: _propTypes2['default'].func,
55020 onBlur: _propTypes2['default'].func,
55021 onKeyDown: _propTypes2['default'].func,
55022 autoFocus: _propTypes2['default'].bool
55023 };
55024 Rate.defaultProps = {
55025 defaultValue: 0,
55026 count: 5,
55027 allowHalf: false,
55028 allowClear: true,
55029 style: {},
55030 prefixCls: 'rc-rate',
55031 onChange: noop,
55032 character: '★',
55033 onHoverChange: noop,
55034 tabIndex: 0
55035 };
55036
55037 var _initialiseProps = function _initialiseProps() {
55038 var _this2 = this;
55039
55040 this.onHover = function (event, index) {
55041 var hoverValue = _this2.getStarValue(index, event.pageX);
55042 var cleanedValue = _this2.state.cleanedValue;
55043
55044 if (hoverValue !== cleanedValue) {
55045 _this2.setState({
55046 hoverValue: hoverValue,
55047 cleanedValue: null
55048 });
55049 }
55050 _this2.props.onHoverChange(hoverValue);
55051 };
55052
55053 this.onMouseLeave = function () {
55054 _this2.setState({
55055 hoverValue: undefined,
55056 cleanedValue: null
55057 });
55058 _this2.props.onHoverChange(undefined);
55059 };
55060
55061 this.onClick = function (event, index) {
55062 var value = _this2.getStarValue(index, event.pageX);
55063 var isReset = false;
55064 if (_this2.props.allowClear) {
55065 isReset = value === _this2.state.value;
55066 }
55067 _this2.onMouseLeave(true);
55068 _this2.changeValue(isReset ? 0 : value);
55069 _this2.setState({
55070 cleanedValue: isReset ? value : null
55071 });
55072 };
55073
55074 this.onFocus = function () {
55075 var onFocus = _this2.props.onFocus;
55076
55077 _this2.setState({
55078 focused: true
55079 });
55080 if (onFocus) {
55081 onFocus();
55082 }
55083 };
55084
55085 this.onBlur = function () {
55086 var onBlur = _this2.props.onBlur;
55087
55088 _this2.setState({
55089 focused: false
55090 });
55091 if (onBlur) {
55092 onBlur();
55093 }
55094 };
55095
55096 this.onKeyDown = function (event) {
55097 var keyCode = event.keyCode;
55098 var _props2 = _this2.props,
55099 count = _props2.count,
55100 allowHalf = _props2.allowHalf,
55101 onKeyDown = _props2.onKeyDown;
55102 var value = _this2.state.value;
55103
55104 if (keyCode === _KeyCode2['default'].RIGHT && value < count) {
55105 if (allowHalf) {
55106 value += 0.5;
55107 } else {
55108 value += 1;
55109 }
55110 _this2.changeValue(value);
55111 event.preventDefault();
55112 } else if (keyCode === _KeyCode2['default'].LEFT && value > 0) {
55113 if (allowHalf) {
55114 value -= 0.5;
55115 } else {
55116 value -= 1;
55117 }
55118 _this2.changeValue(value);
55119 event.preventDefault();
55120 }
55121 if (onKeyDown) {
55122 onKeyDown(event);
55123 }
55124 };
55125
55126 this.saveRef = function (index) {
55127 return function (node) {
55128 _this2.stars[index] = node;
55129 };
55130 };
55131
55132 this.saveRate = function (node) {
55133 _this2.rate = node;
55134 };
55135 };
55136
55137 exports['default'] = Rate;
55138 module.exports = exports['default'];
55139
55140/***/ }),
55141/* 556 */
55142/***/ (function(module, exports) {
55143
55144 'use strict';
55145
55146 exports.__esModule = true;
55147 exports.getOffsetLeft = getOffsetLeft;
55148 function getScroll(w, top) {
55149 var ret = top ? w.pageYOffset : w.pageXOffset;
55150 var method = top ? 'scrollTop' : 'scrollLeft';
55151 if (typeof ret !== 'number') {
55152 var d = w.document;
55153 // ie6,7,8 standard mode
55154 ret = d.documentElement[method];
55155 if (typeof ret !== 'number') {
55156 // quirks mode
55157 ret = d.body[method];
55158 }
55159 }
55160 return ret;
55161 }
55162
55163 function getClientPosition(elem) {
55164 var box = void 0;
55165 var x = void 0;
55166 var y = void 0;
55167 var doc = elem.ownerDocument;
55168 var body = doc.body;
55169 var docElem = doc && doc.documentElement;
55170 box = elem.getBoundingClientRect();
55171 x = box.left;
55172 y = box.top;
55173 x -= docElem.clientLeft || body.clientLeft || 0;
55174 y -= docElem.clientTop || body.clientTop || 0;
55175 return {
55176 left: x,
55177 top: y
55178 };
55179 }
55180
55181 function getOffsetLeft(el) {
55182 var pos = getClientPosition(el);
55183 var doc = el.ownerDocument;
55184 var w = doc.defaultView || doc.parentWindow;
55185 pos.left += getScroll(w);
55186 return pos.left;
55187 }
55188
55189/***/ }),
55190/* 557 */
55191/***/ (function(module, exports, __webpack_require__) {
55192
55193 'use strict';
55194
55195 exports.__esModule = true;
55196
55197 var _react = __webpack_require__(4);
55198
55199 var _react2 = _interopRequireDefault(_react);
55200
55201 var _propTypes = __webpack_require__(5);
55202
55203 var _propTypes2 = _interopRequireDefault(_propTypes);
55204
55205 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
55206
55207 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
55208
55209 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; }
55210
55211 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; }
55212
55213 var Star = function (_React$Component) {
55214 _inherits(Star, _React$Component);
55215
55216 function Star() {
55217 var _temp, _this, _ret;
55218
55219 _classCallCheck(this, Star);
55220
55221 for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
55222 args[_key] = arguments[_key];
55223 }
55224
55225 return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.onHover = function (e) {
55226 var _this$props = _this.props,
55227 onHover = _this$props.onHover,
55228 index = _this$props.index;
55229
55230 onHover(e, index);
55231 }, _this.onClick = function (e) {
55232 var _this$props2 = _this.props,
55233 onClick = _this$props2.onClick,
55234 index = _this$props2.index;
55235
55236 onClick(e, index);
55237 }, _this.onKeyDown = function (e) {
55238 var _this$props3 = _this.props,
55239 onClick = _this$props3.onClick,
55240 index = _this$props3.index;
55241
55242 if (e.keyCode === 13) {
55243 onClick(e, index);
55244 }
55245 }, _temp), _possibleConstructorReturn(_this, _ret);
55246 }
55247
55248 Star.prototype.getClassName = function getClassName() {
55249 var _props = this.props,
55250 prefixCls = _props.prefixCls,
55251 index = _props.index,
55252 value = _props.value,
55253 allowHalf = _props.allowHalf,
55254 focused = _props.focused;
55255
55256 var starValue = index + 1;
55257 var className = prefixCls;
55258 if (value === 0 && index === 0 && focused) {
55259 className += ' ' + prefixCls + '-focused';
55260 } else if (allowHalf && value + 0.5 === starValue) {
55261 className += ' ' + prefixCls + '-half ' + prefixCls + '-active';
55262 if (focused) {
55263 className += ' ' + prefixCls + '-focused';
55264 }
55265 } else {
55266 className += starValue <= value ? ' ' + prefixCls + '-full' : ' ' + prefixCls + '-zero';
55267 if (starValue === value && focused) {
55268 className += ' ' + prefixCls + '-focused';
55269 }
55270 }
55271 return className;
55272 };
55273
55274 Star.prototype.render = function render() {
55275 var onHover = this.onHover,
55276 onClick = this.onClick,
55277 onKeyDown = this.onKeyDown;
55278 var _props2 = this.props,
55279 disabled = _props2.disabled,
55280 prefixCls = _props2.prefixCls,
55281 character = _props2.character,
55282 index = _props2.index,
55283 count = _props2.count,
55284 value = _props2.value;
55285
55286 return _react2['default'].createElement(
55287 'li',
55288 {
55289 className: this.getClassName(),
55290 onClick: disabled ? null : onClick,
55291 onKeyDown: disabled ? null : onKeyDown,
55292 onMouseMove: disabled ? null : onHover,
55293 role: 'radio',
55294 'aria-checked': value > index ? 'true' : 'false',
55295 'aria-posinset': index + 1,
55296 'aria-setsize': count,
55297 tabIndex: 0
55298 },
55299 _react2['default'].createElement(
55300 'div',
55301 { className: prefixCls + '-first' },
55302 character
55303 ),
55304 _react2['default'].createElement(
55305 'div',
55306 { className: prefixCls + '-second' },
55307 character
55308 )
55309 );
55310 };
55311
55312 return Star;
55313 }(_react2['default'].Component);
55314
55315 Star.propTypes = {
55316 value: _propTypes2['default'].number,
55317 index: _propTypes2['default'].number,
55318 prefixCls: _propTypes2['default'].string,
55319 allowHalf: _propTypes2['default'].bool,
55320 disabled: _propTypes2['default'].bool,
55321 onHover: _propTypes2['default'].func,
55322 onClick: _propTypes2['default'].func,
55323 character: _propTypes2['default'].node,
55324 focused: _propTypes2['default'].bool,
55325 count: _propTypes2['default'].number
55326 };
55327 exports['default'] = Star;
55328 module.exports = exports['default'];
55329
55330/***/ }),
55331/* 558 */
55332/***/ (function(module, exports, __webpack_require__) {
55333
55334 'use strict';
55335
55336 Object.defineProperty(exports, "__esModule", {
55337 value: true
55338 });
55339
55340 var _CitySelect = __webpack_require__(559);
55341
55342 var _CitySelect2 = _interopRequireDefault(_CitySelect);
55343
55344 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
55345
55346 exports["default"] = _CitySelect2["default"];
55347 module.exports = exports['default'];
55348
55349/***/ }),
55350/* 559 */
55351/***/ (function(module, exports, __webpack_require__) {
55352
55353 'use strict';
55354
55355 Object.defineProperty(exports, "__esModule", {
55356 value: true
55357 });
55358
55359 var _react = __webpack_require__(4);
55360
55361 var _react2 = _interopRequireDefault(_react);
55362
55363 var _propTypes = __webpack_require__(5);
55364
55365 var _propTypes2 = _interopRequireDefault(_propTypes);
55366
55367 var _classnames = __webpack_require__(3);
55368
55369 var _classnames2 = _interopRequireDefault(_classnames);
55370
55371 var _beeSelect = __webpack_require__(268);
55372
55373 var _beeSelect2 = _interopRequireDefault(_beeSelect);
55374
55375 var _lodash = __webpack_require__(560);
55376
55377 var _lodash2 = _interopRequireDefault(_lodash);
55378
55379 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
55380
55381 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; }
55382
55383 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
55384
55385 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; }
55386
55387 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); }
55388
55389 var provinceData = [{ "name": "北京", "city": [{ "name": "北京", "area": ["东城区", "西城区", "崇文区", "宣武区", "朝阳区", "丰台区", "石景山区", "海淀区", "门头沟区", "房山区", "通州区", "顺义区", "昌平区", "大兴区", "平谷区", "怀柔区", "密云县", "延庆县"] }] }, { "name": "天津", "city": [{ "name": "天津", "area": ["和平区", "河东区", "河西区", "南开区", "河北区", "红桥区", "塘沽区", "汉沽区", "大港区", "东丽区", "西青区", "津南区", "北辰区", "武清区", "宝坻区", "宁河县", "静海县", "蓟 县"] }] }, { "name": "河北", "city": [{ "name": "石家庄", "area": ["长安区", "桥东区", "桥西区", "新华区", "郊 区", "井陉矿区", "井陉县", "正定县", "栾城县", "行唐县", "灵寿县", "高邑县", "深泽县", "赞皇县", "无极县", "平山县", "元氏县", "赵 县", "辛集市", "藁", "晋州市", "新乐市", "鹿泉市"] }, { "name": "唐山", "area": ["路南区", "路北区", "古冶区", "开平区", "新 区", "丰润县", "滦 县", "滦南县", "乐亭县", "迁西县", "玉田县", "唐海县", "遵化市", "丰南市", "迁安市"] }, { "name": "秦皇岛", "area": ["海港区", "山海关区", "北戴河区", "青龙满族自治县", "昌黎县", "抚宁县", "卢龙县"] }, { "name": "邯郸", "area": ["邯山区", "丛台区", "复兴区", "峰峰矿区", "邯郸县", "临漳县", "成安县", "大名县", "涉 县", "磁 县", "肥乡县", "永年县", "邱 县", "鸡泽县", "广平县", "馆陶县", "魏 县", "曲周县", "武安市"] }, { "name": "邢台", "area": ["桥东区", "桥西区", "邢台县", "临城县", "内丘县", "柏乡县", "隆尧县", "任 县", "南和县", "宁晋县", "巨鹿县", "新河县", "广宗县", "平乡县", "威 县", "清河县", "临西县", "南宫市", "沙河市"] }, { "name": "保定", "area": ["新市区", "北市区", "南市区", "满城县", "清苑县", "涞水县", "阜平县", "徐水县", "定兴县", "唐 县", "高阳县", "容城县", "涞源县", "望都县", "安新县", "易 县", "曲阳县", "蠡 县", "顺平县", "博野", "雄县", "涿州市", "定州市", "安国市", "高碑店市"] }, { "name": "张家口", "area": ["桥东区", "桥西区", "宣化区", "下花园区", "宣化县", "张北县", "康保县", "沽源县", "尚义县", "蔚 县", "阳原县", "怀安县", "万全县", "怀来县", "涿鹿县", "赤城县", "崇礼县"] }, { "name": "承德", "area": ["双桥区", "双滦区", "鹰手营子矿区", "承德县", "兴隆县", "平泉县", "滦平县", "隆化县", "丰宁满族自治县", "宽城满族自治县", "围场满族蒙古族自治县"] }, { "name": "沧州", "area": ["新华区", "运河区", "沧 县", "青 县", "东光县", "海兴县", "盐山县", "肃宁县", "南皮县", "吴桥县", "献 县", "孟村回族自治县", "泊头市", "任丘市", "黄骅市", "河间市"] }, { "name": "廊坊", "area": ["安次区", "固安县", "永清县", "香河县", "大城县", "文安县", "大厂回族自治县", "霸州市", "三河市"] }, { "name": "衡水", "area": ["桃城区", "枣强县", "武邑县", "武强县", "饶阳县", "安平县", "故城县", "景 县", "阜城县", "冀州市", "深州市"] }] }, { "name": "山西", "city": [{ "name": "太原", "area": ["小店区", "迎泽区", "杏花岭区", "尖草坪区", "万柏林区", "晋源区", "清徐县", "阳曲县", "娄烦县", "古交市"] }, { "name": "大同", "area": ["城 区", "矿 区", "南郊区", "新荣区", "阳高县", "天镇县", "广灵县", "灵丘县", "浑源县", "左云县", "大同县"] }, { "name": "阳泉", "area": ["城 区", "矿 区", "郊 区", "平定县", "盂 县"] }, { "name": "长治", "area": ["城 区", "郊 区", "长治县", "襄垣县", "屯留县", "平顺县", "黎城县", "壶关县", "长子县", "武乡县", "沁 县", "沁源县", "潞城市"] }, { "name": "晋城", "area": ["城 区", "沁水县", "阳城县", "陵川县", "泽州县", "高平市"] }, { "name": "朔州", "area": ["朔城区", "平鲁区", "山阴县", "应 县", "右玉县", "怀仁县"] }, { "name": "忻州", "area": ["忻府区", "原平市", "定襄县", "五台县", "代 县", "繁峙县", "宁武县", "静乐县", "神池县", "五寨县", "岢岚县", "河曲县", "保德县", "偏关县"] }, { "name": "吕梁", "area": ["离石区", "孝义市", "汾阳市", "文水县", "交城县", "兴 县", "临 县", "柳林县", "石楼县", "岚 县", "方山县", "中阳县", "交口县"] }, { "name": "晋中", "area": ["榆次市", "介休市", "榆社县", "左权县", "和顺县", "昔阳县", "寿阳县", "太谷县", "祁 县", "平遥县", "灵石县"] }, { "name": "临汾", "area": ["临汾市", "侯马市", "霍州市", "曲沃县", "翼城县", "襄汾县", "洪洞县", "古 县", "安泽县", "浮山县", "吉 县", "乡宁县", "蒲 县", "大宁县", "永和县", "隰 县", "汾西县"] }, { "name": "运城", "area": ["运城市", "永济市", "河津市", "芮城县", "临猗县", "万荣县", "新绛县", "稷山县", "闻喜县", "夏 县", "绛 县", "平陆县", "垣曲县"] }] }, { "name": "内蒙古", "city": [{ "name": "呼和浩特", "area": ["新城区", "回民区", "玉泉区", "郊 区", "土默特左旗", "托克托县", "和林格尔县", "清水河县", "武川县"] }, { "name": "包头", "area": ["东河区", "昆都伦区", "青山区", "石拐矿区", "白云矿区", "郊 区", "土默特右旗", "固阳县", "达尔罕茂明安联合旗"] }, { "name": "乌海", "area": ["海勃湾区", "海南区", "乌达区"] }, { "name": "赤峰", "area": ["红山区", "元宝山区", "松山区", "阿鲁科尔沁旗", "巴林左旗", "巴林右旗", "林西县", "克什克腾旗", "翁牛特旗", "喀喇沁旗", "宁城县", "敖汉旗"] }, { "name": "呼伦贝尔", "area": ["海拉尔市", "满洲里市", "扎兰屯市", "牙克石市", "根河市", "额尔古纳市", "阿荣旗", "莫力达瓦达斡尔族自治旗", "鄂伦春自治旗", "鄂温克族自治旗", "新巴尔虎右旗", "新巴尔虎左旗", "陈巴尔虎旗"] }, { "name": "兴安盟", "area": ["乌兰浩特市", "阿尔山市", "科尔沁右翼前旗", "科尔沁右翼中旗", "扎赉特旗", "突泉县"] }, { "name": "通辽", "area": ["科尔沁区", "霍林郭勒市", "科尔沁左翼中旗", "科尔沁左翼后旗", "开鲁县", "库伦旗", "奈曼旗", "扎鲁特旗"] }, { "name": "锡林郭勒盟", "area": ["二连浩特市", "锡林浩特市", "阿巴嘎旗", "苏尼特左旗", "苏尼特右旗", "东乌珠穆沁旗", "西乌珠穆沁旗", "太仆寺旗", "镶黄旗", "正镶白旗", "正蓝旗", "多伦县"] }, { "name": "乌兰察布盟", "area": ["集宁市", "丰镇市", "卓资县", "化德县", "商都县", "兴和县", "凉城县", "察哈尔右翼前旗", "察哈尔右翼中旗", "察哈尔右翼后旗", "四子王旗"] }, { "name": "伊克昭盟", "area": ["东胜市", "达拉特旗", "准格尔旗", "鄂托克前旗", "鄂托克旗", "杭锦旗", "乌审旗", "伊金霍洛旗"] }, { "name": "巴彦淖尔盟", "area": ["临河市", "五原县", "磴口县", "乌拉特前旗", "乌拉特中旗", "乌拉特后旗", "杭锦后旗"] }, { "name": "阿拉善盟", "area": ["阿拉善左旗", "阿拉善右旗", "额济纳旗"] }] }, { "name": "辽宁", "city": [{ "name": "沈阳", "area": ["沈河区", "皇姑区", "和平区", "大东区", "铁西区", "苏家屯区", "东陵区", "于洪区", "新民市", "法库县", "辽中县", "康平县", "新城子区", "其他"] }, { "name": "大连", "area": ["西岗区", "中山区", "沙河口区", "甘井子区", "旅顺口区", "金州区", "瓦房店市", "普兰店市", "庄河市", "长海县", "其他"] }, { "name": "鞍山", "area": ["铁东区", "铁西区", "立山区", "千山区", "海城市", "台安县", "岫岩满族自治县", "其他"] }, { "name": "抚顺", "area": ["顺城区", "新抚区", "东洲区", "望花区", "抚顺县", "清原满族自治县", "新宾满族自治县", "其他"] }, { "name": "本溪", "area": ["平山区", "明山区", "溪湖区", "南芬区", "本溪满族自治县", "桓仁满族自治县", "其他"] }, { "name": "丹东", "area": ["振兴区", "元宝区", "振安区", "东港市", "凤城市", "宽甸满族自治县", "其他"] }, { "name": "锦州", "area": ["太和区", "古塔区", "凌河区", "凌海市", "黑山县", "义县", "北宁市", "其他"] }, { "name": "营口", "area": ["站前区", "西市区", "鲅鱼圈区", "老边区", "大石桥市", "盖州市", "其他"] }, { "name": "阜新", "area": ["海州区", "新邱区", "太平区", "清河门区", "细河区", "彰武县", "阜新蒙古族自治县", "其他"] }, { "name": "辽阳", "area": ["白塔区", "文圣区", "宏伟区", "太子河区", "弓长岭区", "灯塔市", "辽阳县", "其他"] }, { "name": "盘锦", "area": ["双台子区", "兴隆台区", "盘山县", "大洼县", "其他"] }, { "name": "铁岭", "area": ["银州区", "清河区", "调兵山市", "开原市", "铁岭县", "昌图县", "西丰县", "其他"] }, { "name": "朝阳", "area": ["双塔区", "龙城区", "凌源市", "北票市", "朝阳县", "建平县", "喀喇沁左翼蒙古族自治县", "其他"] }, { "name": "葫芦岛", "area": ["龙港区", "南票区", "连山区", "兴城市", "绥中县", "建昌县", "其他"] }, { "name": "其他", "area": ["其他"] }] }, { "name": "吉林", "city": [{ "name": "长春", "area": ["朝阳区", "宽城区", "二道区", "南关区", "绿园区", "双阳区", "九台市", "榆树市", "德惠市", "农安县", "其他"] }, { "name": "吉林", "area": ["船营区", "昌邑区", "龙潭区", "丰满区", "舒兰市", "桦甸市", "蛟河市", "磐石市", "永吉县", "其他"] }, { "name": "四平", "area": ["铁西区", "铁东区", "公主岭市", "双辽市", "梨树县", "伊通满族自治县", "其他"] }, { "name": "辽源", "area": ["龙山区", "西安区", "东辽县", "东丰县", "其他"] }, { "name": "通化", "area": ["东昌区", "二道江区", "梅河口市", "集安市", "通化县", "辉南县", "柳河县", "其他"] }, { "name": "白山", "area": ["八道江区", "江源区", "临江市", "靖宇县", "抚松县", "长白朝鲜族自治县", "其他"] }, { "name": "松原", "area": ["宁江区", "乾安县", "长岭县", "扶余县", "前郭尔罗斯蒙古族自治县", "其他"] }, { "name": "白城", "area": ["洮北区", "大安市", "洮南市", "镇赉县", "通榆县", "其他"] }, { "name": "延边朝鲜族自治州", "area": ["延吉市", "图们市", "敦化市", "龙井市", "珲春市", "和龙市", "安图县", "汪清县", "其他"] }, { "name": "其他", "area": ["其他"] }] }, { "name": "黑龙江", "city": [{ "name": "哈尔滨", "area": ["松北区", "道里区", "南岗区", "平房区", "香坊区", "道外区", "呼兰区", "阿城区", "双城市", "尚志市", "五常市", "宾县", "方正县", "通河县", "巴彦县", "延寿县", "木兰县", "依兰县", "其他"] }, { "name": "齐齐哈尔", "area": ["龙沙区", "昂昂溪区", "铁锋区", "建华区", "富拉尔基区", "碾子山区", "梅里斯达斡尔族区", "讷河市", "富裕县", "拜泉县", "甘南县", "依安县", "克山县", "泰来县", "克东县", "龙江县", "其他"] }, { "name": "鹤岗", "area": ["兴山区", "工农区", "南山区", "兴安区", "向阳区", "东山区", "萝北县", "绥滨县", "其他"] }, { "name": "双鸭山", "area": ["尖山区", "岭东区", "四方台区", "宝山区", "集贤县", "宝清县", "友谊县", "饶河县", "其他"] }, { "name": "鸡西", "area": ["鸡冠区", "恒山区", "城子河区", "滴道区", "梨树区", "麻山区", "密山市", "虎林市", "鸡东县", "其他"] }, { "name": "大庆", "area": ["萨尔图区", "红岗区", "龙凤区", "让胡路区", "大同区", "林甸县", "肇州县", "肇源县", "杜尔伯特蒙古族自治县", "其他"] }, { "name": "伊春", "area": ["伊春区", "带岭区", "南岔区", "金山屯区", "西林区", "美溪区", "乌马河区", "翠峦区", "友好区", "上甘岭区", "五营区", "红星区", "新青区", "汤旺河区", "乌伊岭区", "铁力市", "嘉荫县", "其他"] }, { "name": "牡丹江", "area": ["爱民区", "东安区", "阳明区", "西安区", "绥芬河市", "宁安市", "海林市", "穆棱市", "林口县", "东宁县", "其他"] }, { "name": "佳木斯", "area": ["向阳区", "前进区", "东风区", "郊区", "同江市", "富锦市", "桦川县", "抚远县", "桦南县", "汤原县", "其他"] }, { "name": "七台河", "area": ["桃山区", "新兴区", "茄子河区", "勃利县", "其他"] }, { "name": "黑河", "area": ["爱辉区", "北安市", "五大连池市", "逊克县", "嫩江县", "孙吴县", "其他"] }, { "name": "绥化", "area": ["北林区", "安达市", "肇东市", "海伦市", "绥棱县", "兰西县", "明水县", "青冈县", "庆安县", "望奎县", "其他"] }, { "name": "大兴安岭地区", "area": ["呼玛县", "塔河县", "漠河县", "大兴安岭辖区", "其他"] }, { "name": "其他", "area": ["其他"] }] }, { "name": "上海", "city": [{ "name": "上海", "area": ["黄浦区", "卢湾区", "徐汇区", "长宁区", "静安区", "普陀区", "闸北区", "虹口区", "杨浦区", "宝山区", "闵行区", "嘉定区", "松江区", "金山区", "青浦区", "南汇区", "奉贤区", "浦东新区", "崇明县", "其他"] }] }, { "name": "江苏", "city": [{ "name": "南京", "area": ["玄武区", "白下区", "秦淮区", "建邺区", "鼓楼区", "下关区", "栖霞区", "雨花台区", "浦口区", "江宁区", "六合区", "溧水县", "高淳县", "其他"] }, { "name": "苏州", "area": ["金阊区", "平江区", "沧浪区", "虎丘区", "吴中区", "相城区", "常熟市", "张家港市", "昆山市", "吴江市", "太仓市", "其他"] }, { "name": "无锡", "area": ["崇安区", "南长区", "北塘区", "滨湖区", "锡山区", "惠山区", "江阴市", "宜兴市", "其他"] }, { "name": "常州", "area": ["钟楼区", "天宁区", "戚墅堰区", "新北区", "武进区", "金坛市", "溧阳市", "其他"] }, { "name": "镇江", "area": ["京口区", "润州区", "丹徒区", "丹阳市", "扬中市", "句容市", "其他"] }, { "name": "南通", "area": ["崇川区", "港闸区", "通州市", "如皋市", "海门市", "启东市", "海安县", "如东县", "其他"] }, { "name": "泰州", "area": ["海陵区", "高港区", "姜堰市", "泰兴市", "靖江市", "兴化市", "其他"] }, { "name": "扬州", "area": ["广陵区", "维扬区", "邗江区", "江都市", "仪征市", "高邮市", "宝应县", "其他"] }, { "name": "盐城", "area": ["亭湖区", "盐都区", "大丰市", "东台市", "建湖县", "射阳县", "阜宁县", "滨海县", "响水县", "其他"] }, { "name": "连云港", "area": ["新浦区", "海州区", "连云区", "东海县", "灌云县", "赣榆县", "灌南县", "其他"] }, { "name": "徐州", "area": ["云龙区", "鼓楼区", "九里区", "泉山区", "贾汪区", "邳州市", "新沂市", "铜山县", "睢宁县", "沛县", "丰县", "其他"] }, { "name": "淮安", "area": ["清河区", "清浦区", "楚州区", "淮阴区", "涟水县", "洪泽县", "金湖县", "盱眙县", "其他"] }, { "name": "宿迁", "area": ["宿城区", "宿豫区", "沭阳县", "泗阳县", "泗洪县", "其他"] }, { "name": "其他", "area": ["其他"] }] }, { "name": "浙江", "city": [{ "name": "杭州", "area": ["拱墅区", "西湖区", "上城区", "下城区", "江干区", "滨江区", "余杭区", "萧山区", "建德市", "富阳市", "临安市", "桐庐县", "淳安县", "其他"] }, { "name": "宁波", "area": ["海曙区", "江东区", "江北区", "镇海区", "北仑区", "鄞州区", "余姚市", "慈溪市", "奉化市", "宁海县", "象山县", "其他"] }, { "name": "温州", "area": ["鹿城区", "龙湾区", "瓯海区", "瑞安市", "乐清市", "永嘉县", "洞头县", "平阳县", "苍南县", "文成县", "泰顺县", "其他"] }, { "name": "嘉兴", "area": ["秀城区", "秀洲区", "海宁市", "平湖市", "桐乡市", "嘉善县", "海盐县", "其他"] }, { "name": "湖州", "area": ["吴兴区", "南浔区", "长兴县", "德清县", "安吉县", "其他"] }, { "name": "绍兴", "area": ["越城区", "诸暨市", "上虞市", "嵊州市", "绍兴县", "新昌县", "其他"] }, { "name": "金华", "area": ["婺城区", "金东区", "兰溪市", "义乌市", "东阳市", "永康市", "武义县", "浦江县", "磐安县", "其他"] }, { "name": "衢州", "area": ["柯城区", "衢江区", "江山市", "龙游县", "常山县", "开化县", "其他"] }, { "name": "舟山", "area": ["定海区", "普陀区", "岱山县", "嵊泗县", "其他"] }, { "name": "台州", "area": ["椒江区", "黄岩区", "路桥区", "临海市", "温岭市", "玉环县", "天台县", "仙居县", "三门县", "其他"] }, { "name": "丽水", "area": ["莲都区", "龙泉市", "缙云县", "青田县", "云和县", "遂昌县", "松阳县", "庆元县", "景宁畲族自治县", "其他"] }, { "name": "其他", "area": ["其他"] }] }, { "name": "安徽", "city": [{ "name": "合肥", "area": ["庐阳区", "瑶海区", "蜀山区", "包河区", "长丰县", "肥东县", "肥西县", "其他"] }, { "name": "芜湖", "area": ["镜湖区", "弋江区", "鸠江区", "三山区", "芜湖县", "南陵县", "繁昌县", "其他"] }, { "name": "蚌埠", "area": ["蚌山区", "龙子湖区", "禹会区", "淮上区", "怀远县", "固镇县", "五河县", "其他"] }, { "name": "淮南", "area": ["田家庵区", "大通区", "谢家集区", "八公山区", "潘集区", "凤台县", "其他"] }, { "name": "马鞍山", "area": ["雨山区", "花山区", "金家庄区", "当涂县", "其他"] }, { "name": "淮北", "area": ["相山区", "杜集区", "烈山区", "濉溪县", "其他"] }, { "name": "铜陵", "area": ["铜官山区", "狮子山区", "郊区", "铜陵县", "其他"] }, { "name": "安庆", "area": ["迎江区", "大观区", "宜秀区", "桐城市", "宿松县", "枞阳县", "太湖县", "怀宁县", "岳西县", "望江县", "潜山县", "其他"] }, { "name": "黄山", "area": ["屯溪区", "黄山区", "徽州区", "休宁县", "歙县", "祁门县", "黟县", "其他"] }, { "name": "滁州", "area": ["琅琊区", "南谯区", "天长市", "明光市", "全椒县", "来安县", "定远县", "凤阳县", "其他"] }, { "name": "阜阳", "area": ["颍州区", "颍东区", "颍泉区", "界首市", "临泉县", "颍上县", "阜南县", "太和县", "其他"] }, { "name": "宿州", "area": ["埇桥区", "萧县", "泗县", "砀山县", "灵璧县", "其他"] }, { "name": "巢湖", "area": ["居巢区", "含山县", "无为县", "庐江县", "和县", "其他"] }, { "name": "六安", "area": ["金安区", "裕安区", "寿县", "霍山县", "霍邱县", "舒城县", "金寨县", "其他"] }, { "name": "亳州", "area": ["谯城区", "利辛县", "涡阳县", "蒙城县", "其他"] }, { "name": "池州", "area": ["贵池区", "东至县", "石台县", "青阳县", "其他"] }, { "name": "宣城", "area": ["宣州区", "宁国市", "广德县", "郎溪县", "泾县", "旌德县", "绩溪县", "其他"] }, { "name": "其他", "area": ["其他"] }] }, { "name": "福建", "city": [{ "name": "福州", "area": ["鼓楼区", "台江区", "仓山区", "马尾区", "晋安区", "福清市", "长乐市", "闽侯县", "闽清县", "永泰县", "连江县", "罗源县", "平潭县", "其他"] }, { "name": "厦门", "area": ["思明区", "海沧区", "湖里区", "集美区", "同安区", "翔安区", "其他"] }, { "name": "莆田", "area": ["城厢区", "涵江区", "荔城区", "秀屿区", "仙游县", "其他"] }, { "name": "三明", "area": ["梅列区", "三元区", "永安市", "明溪县", "将乐县", "大田县", "宁化县", "建宁县", "沙县", "尤溪县", "清流县", "泰宁县", "其他"] }, { "name": "泉州", "area": ["鲤城区", "丰泽区", "洛江区", "泉港区", "石狮市", "晋江市", "南安市", "惠安县", "永春县", "安溪县", "德化县", "金门县", "其他"] }, { "name": "漳州", "area": ["芗城区", "龙文区", "龙海市", "平和县", "南靖县", "诏安县", "漳浦县", "华安县", "东山县", "长泰县", "云霄县", "其他"] }, { "name": "南平", "area": ["延平区", "建瓯市", "邵武市", "武夷山市", "建阳市", "松溪县", "光泽县", "顺昌县", "浦城县", "政和县", "其他"] }, { "name": "龙岩", "area": ["新罗区", "漳平市", "长汀县", "武平县", "上杭县", "永定县", "连城县", "其他"] }, { "name": "宁德", "area": ["蕉城区", "福安市", "福鼎市", "寿宁县", "霞浦县", "柘荣县", "屏南县", "古田县", "周宁县", "其他"] }, { "name": "其他", "area": ["其他"] }] }, { "name": "江西", "city": [{ "name": "南昌", "area": ["东湖区", "西湖区", "青云谱区", "湾里区", "青山湖区", "新建县", "南昌县", "进贤县", "安义县", "其他"] }, { "name": "景德镇", "area": ["珠山区", "昌江区", "乐平市", "浮梁县", "其他"] }, { "name": "萍乡", "area": ["安源区", "湘东区", "莲花县", "上栗县", "芦溪县", "其他"] }, { "name": "九江", "area": ["浔阳区", "庐山区", "瑞昌市", "九江县", "星子县", "武宁县", "彭泽县", "永修县", "修水县", "湖口县", "德安县", "都昌县", "其他"] }, { "name": "新余", "area": ["渝水区", "分宜县", "其他"] }, { "name": "鹰潭", "area": ["月湖区", "贵溪市", "余江县", "其他"] }, { "name": "赣州", "area": ["章贡区", "瑞金市", "南康市", "石城县", "安远县", "赣县", "宁都县", "寻乌县", "兴国县", "定南县", "上犹县", "于都县", "龙南县", "崇义县", "信丰县", "全南县", "大余县", "会昌县", "其他"] }, { "name": "吉安", "area": ["吉州区", "青原区", "井冈山市", "吉安县", "永丰县", "永新县", "新干县", "泰和县", "峡江县", "遂川县", "安福县", "吉水县", "万安县", "其他"] }, { "name": "宜春", "area": ["袁州区", "丰城市", "樟树市", "高安市", "铜鼓县", "靖安县", "宜丰县", "奉新县", "万载县", "上高县", "其他"] }, { "name": "抚州", "area": ["临川区", "南丰县", "乐安县", "金溪县", "南城县", "东乡县", "资溪县", "宜黄县", "广昌县", "黎川县", "崇仁县", "其他"] }, { "name": "上饶", "area": ["信州区", "德兴市", "上饶县", "广丰县", "鄱阳县", "婺源县", "铅山县", "余干县", "横峰县", "弋阳县", "玉山县", "万年县", "其他"] }, { "name": "其他", "area": ["其他"] }] }, { "name": "山东", "city": [{ "name": "济南", "area": ["市中区", "历下区", "天桥区", "槐荫区", "历城区", "长清区", "章丘市", "平阴县", "济阳县", "商河县", "其他"] }, { "name": "青岛", "area": ["市南区", "市北区", "城阳区", "四方区", "李沧区", "黄岛区", "崂山区", "胶南市", "胶州市", "平度市", "莱西市", "即墨市", "其他"] }, { "name": "淄博", "area": ["张店区", "临淄区", "淄川区", "博山区", "周村区", "桓台县", "高青县", "沂源县", "其他"] }, { "name": "枣庄", "area": ["市中区", "山亭区", "峄城区", "台儿庄区", "薛城区", "滕州市", "其他"] }, { "name": "东营", "area": ["东营区", "河口区", "垦利县", "广饶县", "利津县", "其他"] }, { "name": "烟台", "area": ["芝罘区", "福山区", "牟平区", "莱山区", "龙口市", "莱阳市", "莱州市", "招远市", "蓬莱市", "栖霞市", "海阳市", "长岛县", "其他"] }, { "name": "潍坊", "area": ["潍城区", "寒亭区", "坊子区", "奎文区", "青州市", "诸城市", "寿光市", "安丘市", "高密市", "昌邑市", "昌乐县", "临朐县", "其他"] }, { "name": "济宁", "area": ["市中区", "任城区", "曲阜市", "兖州市", "邹城市", "鱼台县", "金乡县", "嘉祥县", "微山县", "汶上县", "泗水县", "梁山县", "其他"] }, { "name": "泰安", "area": ["泰山区", "岱岳区", "新泰市", "肥城市", "宁阳县", "东平县", "其他"] }, { "name": "威海", "area": ["环翠区", "乳山市", "文登市", "荣成市", "其他"] }, { "name": "日照", "area": ["东港区", "岚山区", "五莲县", "莒县", "其他"] }, { "name": "莱芜", "area": ["莱城区", "钢城区", "其他"] }, { "name": "临沂", "area": ["兰山区", "罗庄区", "河东区", "沂南县", "郯城县", "沂水县", "苍山县", "费县", "平邑县", "莒南县", "蒙阴县", "临沭县", "其他"] }, { "name": "德州", "area": ["德城区", "乐陵市", "禹城市", "陵县", "宁津县", "齐河县", "武城县", "庆云县", "平原县", "夏津县", "临邑县", "其他"] }, { "name": "聊城", "area": ["东昌府区", "临清市", "高唐县", "阳谷县", "茌平县", "莘县", "东阿县", "冠县", "其他"] }, { "name": "滨州", "area": ["滨城区", "邹平县", "沾化县", "惠民县", "博兴县", "阳信县", "无棣县", "其他"] }, { "name": "菏泽", "area": ["牡丹区", "鄄城县", "单县", "郓城县", "曹县", "定陶县", "巨野县", "东明县", "成武县", "其他"] }, { "name": "其他", "area": ["其他"] }] }, { "name": "河南", "city": [{ "name": "郑州", "area": ["中原区", "金水区", "二七区", "管城回族区", "上街区", "惠济区", "巩义市", "新郑市", "新密市", "登封市", "荥阳市", "中牟县", "其他"] }, { "name": "开封", "area": ["鼓楼区", "龙亭区", "顺河回族区", "禹王台区", "金明区", "开封县", "尉氏县", "兰考县", "杞县", "通许县", "其他"] }, { "name": "洛阳", "area": ["西工区", "老城区", "涧西区", "瀍河回族区", "洛龙区", "吉利区", "偃师市", "孟津县", "汝阳县", "伊川县", "洛宁县", "嵩县", "宜阳县", "新安县", "栾川县", "其他"] }, { "name": "平顶山", "area": ["新华区", "卫东区", "湛河区", "石龙区", "汝州市", "舞钢市", "宝丰县", "叶县", "郏县", "鲁山县", "其他"] }, { "name": "安阳", "area": ["北关区", "文峰区", "殷都区", "龙安区", "林州市", "安阳县", "滑县", "内黄县", "汤阴县", "其他"] }, { "name": "鹤壁", "area": ["淇滨区", "山城区", "鹤山区", "浚县", "淇县", "其他"] }, { "name": "新乡", "area": ["卫滨区", "红旗区", "凤泉区", "牧野区", "卫辉市", "辉县市", "新乡县", "获嘉县", "原阳县", "长垣县", "封丘县", "延津县", "其他"] }, { "name": "焦作", "area": ["解放区", "中站区", "马村区", "山阳区", "沁阳市", "孟州市", "修武县", "温县", "武陟县", "博爱县", "其他"] }, { "name": "濮阳", "area": ["华龙区", "濮阳县", "南乐县", "台前县", "清丰县", "范县", "其他"] }, { "name": "许昌", "area": ["魏都区", "禹州市", "长葛市", "许昌县", "鄢陵县", "襄城县", "其他"] }, { "name": "漯河", "area": ["源汇区", "郾城区", "召陵区", "临颍县", "舞阳县", "其他"] }, { "name": "三门峡", "area": ["湖滨区", "义马市", "灵宝市", "渑池县", "卢氏县", "陕县", "其他"] }, { "name": "南阳", "area": ["卧龙区", "宛城区", "邓州市", "桐柏县", "方城县", "淅川县", "镇平县", "唐河县", "南召县", "内乡县", "新野县", "社旗县", "西峡县", "其他"] }, { "name": "商丘", "area": ["梁园区", "睢阳区", "永城市", "宁陵县", "虞城县", "民权县", "夏邑县", "柘城县", "睢县", "其他"] }, { "name": "信阳", "area": ["浉河区", "平桥区", "潢川县", "淮滨县", "息县", "新县", "商城县", "固始县", "罗山县", "光山县", "其他"] }, { "name": "周口", "area": ["川汇区", "项城市", "商水县", "淮阳县", "太康县", "鹿邑县", "西华县", "扶沟县", "沈丘县", "郸城县", "其他"] }, { "name": "驻马店", "area": ["驿城区", "确山县", "新蔡县", "上蔡县", "西平县", "泌阳县", "平舆县", "汝南县", "遂平县", "正阳县", "其他"] }, { "name": "焦作", "area": ["济源市", "其他"] }, { "name": "其他", "area": ["其他"] }] }, { "name": "湖北", "city": [{ "name": "武汉", "area": ["江岸区", "武昌区", "江汉区", "硚口区", "汉阳区", "青山区", "洪山区", "东西湖区", "汉南区", "蔡甸区", "江夏区", "黄陂区", "新洲区", "其他"] }, { "name": "黄石", "area": ["黄石港区", "西塞山区", "下陆区", "铁山区", "大冶市", "阳新县", "其他"] }, { "name": "十堰", "area": ["张湾区", "茅箭区", "丹江口市", "郧县", "竹山县", "房县", "郧西县", "竹溪县", "其他"] }, { "name": "荆州", "area": ["沙市区", "荆州区", "洪湖市", "石首市", "松滋市", "监利县", "公安县", "江陵县", "其他"] }, { "name": "宜昌", "area": ["西陵区", "伍家岗区", "点军区", "猇亭区", "夷陵区", "宜都市", "当阳市", "枝江市", "秭归县", "远安县", "兴山县", "五峰土家族自治县", "长阳土家族自治县", "其他"] }, { "name": "襄樊", "area": ["襄城区", "樊城区", "襄阳区", "老河口市", "枣阳市", "宜城市", "南漳县", "谷城县", "保康县", "其他"] }, { "name": "鄂州", "area": ["鄂城区", "华容区", "梁子湖区", "其他"] }, { "name": "荆门", "area": ["东宝区", "掇刀区", "钟祥市", "京山县", "沙洋县", "其他"] }, { "name": "孝感", "area": ["孝南区", "应城市", "安陆市", "汉川市", "云梦县", "大悟县", "孝昌县", "其他"] }, { "name": "黄冈", "area": ["黄州区", "麻城市", "武穴市", "红安县", "罗田县", "浠水县", "蕲春县", "黄梅县", "英山县", "团风县", "其他"] }, { "name": "咸宁", "area": ["咸安区", "赤壁市", "嘉鱼县", "通山县", "崇阳县", "通城县", "其他"] }, { "name": "随州", "area": ["曾都区", "广水市", "其他"] }, { "name": "恩施土家族苗族自治州", "area": ["恩施市", "利川市", "建始县", "来凤县", "巴东县", "鹤峰县", "宣恩县", "咸丰县", "其他"] }, { "name": "仙桃", "area": ["仙桃"] }, { "name": "天门", "area": ["天门"] }, { "name": "潜江", "area": ["潜江"] }, { "name": "神农架林区", "area": ["神农架林区"] }, { "name": "其他", "area": ["其他"] }] }, { "name": "湖南", "city": [{ "name": "长沙", "area": ["岳麓区", "芙蓉区", "天心区", "开福区", "雨花区", "浏阳市", "长沙县", "望城县", "宁乡县", "其他"] }, { "name": "株洲", "area": ["天元区", "荷塘区", "芦淞区", "石峰区", "醴陵市", "株洲县", "炎陵县", "茶陵县", "攸县", "其他"] }, { "name": "湘潭", "area": ["岳塘区", "雨湖区", "湘乡市", "韶山市", "湘潭县", "其他"] }, { "name": "衡阳", "area": ["雁峰区", "珠晖区", "石鼓区", "蒸湘区", "南岳区", "耒阳市", "常宁市", "衡阳县", "衡东县", "衡山县", "衡南县", "祁东县", "其他"] }, { "name": "邵阳", "area": ["双清区", "大祥区", "北塔区", "武冈市", "邵东县", "洞口县", "新邵县", "绥宁县", "新宁县", "邵阳县", "隆回县", "城步苗族自治县", "其他"] }, { "name": "岳阳", "area": ["岳阳楼区", "云溪区", "君山区", "临湘市", "汨罗市", "岳阳县", "湘阴县", "平江县", "华容县", "其他"] }, { "name": "常德", "area": ["武陵区", "鼎城区", "津市市", "澧县", "临澧县", "桃源县", "汉寿县", "安乡县", "石门县", "其他"] }, { "name": "张家界", "area": ["永定区", "武陵源区", "慈利县", "桑植县", "其他"] }, { "name": "益阳", "area": ["赫山区", "资阳区", "沅江市", "桃江县", "南县", "安化县", "其他"] }, { "name": "郴州", "area": ["北湖区", "苏仙区", "资兴市", "宜章县", "汝城县", "安仁县", "嘉禾县", "临武县", "桂东县", "永兴县", "桂阳县", "其他"] }, { "name": "永州", "area": ["冷水滩区", "零陵区", "祁阳县", "蓝山县", "宁远县", "新田县", "东安县", "江永县", "道县", "双牌县", "江华瑶族自治县", "其他"] }, { "name": "怀化", "area": ["鹤城区", "洪江市", "会同县", "沅陵县", "辰溪县", "溆浦县", "中方县", "新晃侗族自治县", "芷江侗族自治县", "通道侗族自治县", "靖州苗族侗族自治县", "麻阳苗族自治县", "其他"] }, { "name": "娄底", "area": ["娄星区", "冷水江市", "涟源市", "新化县", "双峰县", "其他"] }, { "name": "湘西土家族苗族自治州", "area": ["吉首市", "古丈县", "龙山县", "永顺县", "凤凰县", "泸溪县", "保靖县", "花垣县", "其他"] }, { "name": "其他", "area": ["其他"] }] }, { "name": "广东", "city": [{ "name": "广州", "area": ["越秀区", "荔湾区", "海珠区", "天河区", "白云区", "黄埔区", "番禺区", "花都区", "南沙区", "萝岗区", "增城市", "从化市", "其他"] }, { "name": "深圳", "area": ["福田区", "罗湖区", "南山区", "宝安区", "龙岗区", "盐田区", "其他"] }, { "name": "东莞", "area": ["莞城", "常平", "塘厦", "塘厦", "塘厦", "其他"] }, { "name": "中山", "area": ["中山"] }, { "name": "潮州", "area": ["湘桥区", "潮安县", "饶平县", "其他"] }, { "name": "揭阳", "area": ["榕城区", "揭东县", "揭西县", "惠来县", "普宁市", "其他"] }, { "name": "云浮", "area": ["云城区", "新兴县", "郁南县", "云安县", "罗定市", "其他"] }, { "name": "珠海", "area": ["香洲区", "斗门区", "金湾区", "其他"] }, { "name": "汕头", "area": ["金平区", "濠江区", "龙湖区", "潮阳区", "潮南区", "澄海区", "南澳县", "其他"] }, { "name": "韶关", "area": ["浈江区", "武江区", "曲江区", "乐昌市", "南雄市", "始兴县", "仁化县", "翁源县", "新丰县", "乳源瑶族自治县", "其他"] }, { "name": "佛山", "area": ["禅城区", "南海区", "顺德区", "三水区", "高明区", "其他"] }, { "name": "江门", "area": ["蓬江区", "江海区", "新会区", "恩平市", "台山市", "开平市", "鹤山市", "其他"] }, { "name": "湛江", "area": ["赤坎区", "霞山区", "坡头区", "麻章区", "吴川市", "廉江市", "雷州市", "遂溪县", "徐闻县", "其他"] }, { "name": "茂名", "area": ["茂南区", "茂港区", "化州市", "信宜市", "高州市", "电白县", "其他"] }, { "name": "肇庆", "area": ["端州区", "鼎湖区", "高要市", "四会市", "广宁县", "怀集县", "封开县", "德庆县", "其他"] }, { "name": "惠州", "area": ["惠城区", "惠阳区", "博罗县", "惠东县", "龙门县", "其他"] }, { "name": "梅州", "area": ["梅江区", "兴宁市", "梅县", "大埔县", "丰顺县", "五华县", "平远县", "蕉岭县", "其他"] }, { "name": "汕尾", "area": ["城区", "陆丰市", "海丰县", "陆河县", "其他"] }, { "name": "河源", "area": ["源城区", "紫金县", "龙川县", "连平县", "和平县", "东源县", "其他"] }, { "name": "阳江", "area": ["江城区", "阳春市", "阳西县", "阳东县", "其他"] }, { "name": "清远", "area": ["清城区", "英德市", "连州市", "佛冈县", "阳山县", "清新县", "连山壮族瑶族自治县", "连南瑶族自治县", "其他"] }] }, { "name": "广西", "city": [{ "name": "南宁", "area": ["青秀区", "兴宁区", "西乡塘区", "良庆区", "江南区", "邕宁区", "武鸣县", "隆安县", "马山县", "上林县", "宾阳县", "横县", "其他"] }, { "name": "柳州", "area": ["城中区", "鱼峰区", "柳北区", "柳南区", "柳江县", "柳城县", "鹿寨县", "融安县", "融水苗族自治县", "三江侗族自治县", "其他"] }, { "name": "桂林", "area": ["象山区", "秀峰区", "叠彩区", "七星区", "雁山区", "阳朔县", "临桂县", "灵川县", "全州县", "平乐县", "兴安县", "灌阳县", "荔浦县", "资源县", "永福县", "龙胜各族自治县", "恭城瑶族自治县", "其他"] }, { "name": "梧州", "area": ["万秀区", "蝶山区", "长洲区", "岑溪市", "苍梧县", "藤县", "蒙山县", "其他"] }, { "name": "北海", "area": ["海城区", "银海区", "铁山港区", "合浦县", "其他"] }, { "name": "防城港", "area": ["港口区", "防城区", "东兴市", "上思县", "其他"] }, { "name": "钦州", "area": ["钦南区", "钦北区", "灵山县", "浦北县", "其他"] }, { "name": "贵港", "area": ["港北区", "港南区", "覃塘区", "桂平市", "平南县", "其他"] }, { "name": "玉林", "area": ["玉州区", "北流市", "容县", "陆川县", "博白县", "兴业县", "其他"] }, { "name": "百色", "area": ["右江区", "凌云县", "平果县", "西林县", "乐业县", "德保县", "田林县", "田阳县", "靖西县", "田东县", "那坡县", "隆林各族自治县", "其他"] }, { "name": "贺州", "area": ["八步区", "钟山县", "昭平县", "富川瑶族自治县", "其他"] }, { "name": "河池", "area": ["金城江区", "宜州市", "天峨县", "凤山县", "南丹县", "东兰县", "都安瑶族自治县", "罗城仫佬族自治县", "巴马瑶族自治县", "环江毛南族自治县", "大化瑶族自治县", "其他"] }, { "name": "来宾", "area": ["兴宾区", "合山市", "象州县", "武宣县", "忻城县", "金秀瑶族自治县", "其他"] }, { "name": "崇左", "area": ["江州区", "凭祥市", "宁明县", "扶绥县", "龙州县", "大新县", "天等县", "其他"] }, { "name": "其他", "area": ["其他"] }] }, { "name": "海南", "city": [{ "name": "海口", "area": ["龙华区", "秀英区", "琼山区", "美兰区", "其他"] }, { "name": "三亚", "area": ["三亚市", "其他"] }, { "name": "五指山", "area": ["五指山"] }, { "name": "琼海", "area": ["琼海"] }, { "name": "儋州", "area": ["儋州"] }, { "name": "文昌", "area": ["文昌"] }, { "name": "万宁", "area": ["万宁"] }, { "name": "东方", "area": ["东方"] }, { "name": "澄迈县", "area": ["澄迈县"] }, { "name": "定安县", "area": ["定安县"] }, { "name": "屯昌县", "area": ["屯昌县"] }, { "name": "临高县", "area": ["临高县"] }, { "name": "白沙黎族自治县", "area": ["白沙黎族自治县"] }, { "name": "昌江黎族自治县", "area": ["昌江黎族自治县"] }, { "name": "乐东黎族自治县", "area": ["乐东黎族自治县"] }, { "name": "陵水黎族自治县", "area": ["陵水黎族自治县"] }, { "name": "保亭黎族苗族自治县", "area": ["保亭黎族苗族自治县"] }, { "name": "琼中黎族苗族自治县", "area": ["琼中黎族苗族自治县"] }, { "name": "其他", "area": ["其他"] }] }, { "name": "重庆", "city": [{ "name": "重庆", "area": ["渝中区", "大渡口区", "江北区", "南岸区", "北碚区", "渝北区", "巴南区", "长寿区", "双桥区", "沙坪坝区", "万盛区", "万州区", "涪陵区", "黔江区", "永川区", "合川区", "江津区", "九龙坡区", "南川区", "綦江县", "潼南县", "荣昌县", "璧山县", "大足县", "铜梁县", "梁平县", "开县", "忠县", "城口县", "垫江县", "武隆县", "丰都县", "奉节县", "云阳县", "巫溪县", "巫山县", "石柱土家族自治县", "秀山土家族苗族自治县", "酉阳土家族苗族自治县", "彭水苗族土家族自治县", "其他"] }] }, { "name": "四川", "city": [{ "name": "成都", "area": ["青羊区", "锦江区", "金牛区", "武侯区", "成华区", "龙泉驿区", "青白江区", "新都区", "温江区", "都江堰市", "彭州市", "邛崃市", "崇州市", "金堂县", "郫县", "新津县", "双流县", "蒲江县", "大邑县", "其他"] }, { "name": "自贡", "area": ["大安区", "自流井区", "贡井区", "沿滩区", "荣县", "富顺县", "其他"] }, { "name": "攀枝花", "area": ["仁和区", "米易县", "盐边县", "东区", "西区", "其他"] }, { "name": "泸州", "area": ["江阳区", "纳溪区", "龙马潭区", "泸县", "合江县", "叙永县", "古蔺县", "其他"] }, { "name": "德阳", "area": ["旌阳区", "广汉市", "什邡市", "绵竹市", "罗江县", "中江县", "其他"] }, { "name": "绵阳", "area": ["涪城区", "游仙区", "江油市", "盐亭县", "三台县", "平武县", "安县", "梓潼县", "北川羌族自治县", "其他"] }, { "name": "广元", "area": ["元坝区", "朝天区", "青川县", "旺苍县", "剑阁县", "苍溪县", "市中区", "其他"] }, { "name": "遂宁", "area": ["船山区", "安居区", "射洪县", "蓬溪县", "大英县", "其他"] }, { "name": "内江", "area": ["市中区", "东兴区", "资中县", "隆昌县", "威远县", "其他"] }, { "name": "乐山", "area": ["市中区", "五通桥区", "沙湾区", "金口河区", "峨眉山市", "夹江县", "井研县", "犍为县", "沐川县", "马边彝族自治县", "峨边彝族自治县", "其他"] }, { "name": "南充", "area": ["顺庆区", "高坪区", "嘉陵区", "阆中市", "营山县", "蓬安县", "仪陇县", "南部县", "西充县", "其他"] }, { "name": "眉山", "area": ["东坡区", "仁寿县", "彭山县", "洪雅县", "丹棱县", "青神县", "其他"] }, { "name": "宜宾", "area": ["翠屏区", "宜宾县", "兴文县", "南溪县", "珙县", "长宁县", "高县", "江安县", "筠连县", "屏山县", "其他"] }, { "name": "广安", "area": ["广安区", "华蓥市", "岳池县", "邻水县", "武胜县", "其他"] }, { "name": "达州", "area": ["通川区", "万源市", "达县", "渠县", "宣汉县", "开江县", "大竹县", "其他"] }, { "name": "雅安", "area": ["雨城区", "芦山县", "石棉县", "名山县", "天全县", "荥经县", "宝兴县", "汉源县", "其他"] }, { "name": "巴中", "area": ["巴州区", "南江县", "平昌县", "通江县", "其他"] }, { "name": "资阳", "area": ["雁江区", "简阳市", "安岳县", "乐至县", "其他"] }, { "name": "阿坝藏族羌族自治州", "area": ["马尔康县", "九寨沟县", "红原县", "汶川县", "阿坝县", "理县", "若尔盖县", "小金县", "黑水县", "金川县", "松潘县", "壤塘县", "茂县", "其他"] }, { "name": "甘孜藏族自治州", "area": ["康定县", "丹巴县", "炉霍县", "九龙县", "甘孜县", "雅江县", "新龙县", "道孚县", "白玉县", "理塘县", "德格县", "乡城县", "石渠县", "稻城县", "色达县", "巴塘县", "泸定县", "得荣县", "其他"] }, { "name": "凉山彝族自治州", "area": ["西昌市", "美姑县", "昭觉县", "金阳县", "甘洛县", "布拖县", "雷波县", "普格县", "宁南县", "喜德县", "会东县", "越西县", "会理县", "盐源县", "德昌县", "冕宁县", "木里藏族自治县", "其他"] }, { "name": "其他", "area": ["其他"] }] }, { "name": "贵州", "city": [{ "name": "贵阳", "area": ["南明区", "云岩区", "花溪区", "乌当区", "白云区", "小河区", "清镇市", "开阳县", "修文县", "息烽县", "其他"] }, { "name": "六盘水", "area": ["钟山区", "水城县", "盘县", "六枝特区", "其他"] }, { "name": "遵义", "area": ["红花岗区", "汇川区", "赤水市", "仁怀市", "遵义县", "绥阳县", "桐梓县", "习水县", "凤冈县", "正安县", "余庆县", "湄潭县", "道真仡佬族苗族自治县", "务川仡佬族苗族自治县", "其他"] }, { "name": "安顺", "area": ["西秀区", "普定县", "平坝县", "镇宁布依族苗族自治县", "紫云苗族布依族自治县", "关岭布依族苗族自治县", "其他"] }, { "name": "铜仁地区", "area": ["铜仁市", "德江县", "江口县", "思南县", "石阡县", "玉屏侗族自治县", "松桃苗族自治县", "印江土家族苗族自治县", "沿河土家族自治县", "万山特区", "其他"] }, { "name": "毕节地区", "area": ["毕节市", "黔西县", "大方县", "织金县", "金沙县", "赫章县", "纳雍县", "威宁彝族回族苗族自治县", "其他"] }, { "name": "黔西南布依族苗族自治州", "area": ["兴义市", "望谟县", "兴仁县", "普安县", "册亨县", "晴隆县", "贞丰县", "安龙县", "其他"] }, { "name": "黔东南苗族侗族自治州", "area": ["凯里市", "施秉县", "从江县", "锦屏县", "镇远县", "麻江县", "台江县", "天柱县", "黄平县", "榕江县", "剑河县", "三穗县", "雷山县", "黎平县", "岑巩县", "丹寨县", "其他"] }, { "name": "黔南布依族苗族自治州", "area": ["都匀市", "福泉市", "贵定县", "惠水县", "罗甸县", "瓮安县", "荔波县", "龙里县", "平塘县", "长顺县", "独山县", "三都水族自治县", "其他"] }, { "name": "其他", "area": ["其他"] }] }, { "name": "云南", "city": [{ "name": "昆明", "area": ["盘龙区", "五华区", "官渡区", "西山区", "东川区", "安宁市", "呈贡县", "晋宁县", "富民县", "宜良县", "嵩明县", "石林彝族自治县", "禄劝彝族苗族自治县", "寻甸回族彝族自治县", "其他"] }, { "name": "曲靖", "area": ["麒麟区", "宣威市", "马龙县", "沾益县", "富源县", "罗平县", "师宗县", "陆良县", "会泽县", "其他"] }, { "name": "玉溪", "area": ["红塔区", "江川县", "澄江县", "通海县", "华宁县", "易门县", "峨山彝族自治县", "新平彝族傣族自治县", "元江哈尼族彝族傣族自治县", "其他"] }, { "name": "保山", "area": ["隆阳区", "施甸县", "腾冲县", "龙陵县", "昌宁县", "其他"] }, { "name": "昭通", "area": ["昭阳区", "鲁甸县", "巧家县", "盐津县", "大关县", "永善县", "绥江县", "镇雄县", "彝良县", "威信县", "水富县", "其他"] }, { "name": "丽江", "area": ["古城区", "永胜县", "华坪县", "玉龙纳西族自治县", "宁蒗彝族自治县", "其他"] }, { "name": "普洱", "area": ["思茅区", "普洱哈尼族彝族自治县", "墨江哈尼族自治县", "景东彝族自治县", "景谷傣族彝族自治县", "镇沅彝族哈尼族拉祜族自治县", "江城哈尼族彝族自治县", "孟连傣族拉祜族佤族自治县", "澜沧拉祜族自治县", "西盟佤族自治县", "其他"] }, { "name": "临沧", "area": ["临翔区", "凤庆县", "云县", "永德县", "镇康县", "双江拉祜族佤族布朗族傣族自治县", "耿马傣族佤族自治县", "沧源佤族自治县", "其他"] }, { "name": "德宏傣族景颇族自治州", "area": ["潞西市", "瑞丽市", "梁河县", "盈江县", "陇川县", "其他"] }, { "name": "怒江傈僳族自治州", "area": ["泸水县", "福贡县", "贡山独龙族怒族自治县", "兰坪白族普米族自治县", "其他"] }, { "name": "迪庆藏族自治州", "area": ["香格里拉县", "德钦县", "维西傈僳族自治县", "其他"] }, { "name": "大理白族自治州", "area": ["大理市", "祥云县", "宾川县", "弥渡县", "永平县", "云龙县", "洱源县", "剑川县", "鹤庆县", "漾濞彝族自治县", "南涧彝族自治县", "巍山彝族回族自治县", "其他"] }, { "name": "楚雄彝族自治州", "area": ["楚雄市", "双柏县", "牟定县", "南华县", "姚安县", "大姚县", "永仁县", "元谋县", "武定县", "禄丰县", "其他"] }, { "name": "红河哈尼族彝族自治州", "area": ["蒙自县", "个旧市", "开远市", "绿春县", "建水县", "石屏县", "弥勒县", "泸西县", "元阳县", "红河县", "金平苗族瑶族傣族自治县", "河口瑶族自治县", "屏边苗族自治县", "其他"] }, { "name": "文山壮族苗族自治州", "area": ["文山县", "砚山县", "西畴县", "麻栗坡县", "马关县", "丘北县", "广南县", "富宁县", "其他"] }, { "name": "西双版纳傣族自治州", "area": ["景洪市", "勐海县", "勐腊县", "其他"] }, { "name": "其他", "area": ["其他"] }] }, { "name": "西藏", "city": [{ "name": "拉萨", "area": ["城关区", "林周县", "当雄县", "尼木县", "曲水县", "堆龙德庆县", "达孜县", "墨竹工卡县", "其他"] }, { "name": "那曲地区", "area": ["那曲县", "嘉黎县", "比如县", "聂荣县", "安多县", "申扎县", "索县", "班戈县", "巴青县", "尼玛县", "其他"] }, { "name": "昌都地区", "area": ["昌都县", "江达县", "贡觉县", "类乌齐县", "丁青县", "察雅县", "八宿县", "左贡县", "芒康县", "洛隆县", "边坝县", "其他"] }, { "name": "林芝地区", "area": ["林芝县", "工布江达县", "米林县", "墨脱县", "波密县", "察隅县", "朗县", "其他"] }, { "name": "山南地区", "area": ["乃东县", "扎囊县", "贡嘎县", "桑日县", "琼结县", "曲松县", "措美县", "洛扎县", "加查县", "隆子县", "错那县", "浪卡子县", "其他"] }, { "name": "日喀则地区", "area": ["日喀则市", "南木林县", "江孜县", "定日县", "萨迦县", "拉孜县", "昂仁县", "谢通门县", "白朗县", "仁布县", "康马县", "定结县", "仲巴县", "亚东县", "吉隆县", "聂拉木县", "萨嘎县", "岗巴县", "其他"] }, { "name": "阿里地区", "area": ["噶尔县", "普兰县", "札达县", "日土县", "革吉县", "改则县", "措勤县", "其他"] }, { "name": "其他", "area": ["其他"] }] }, { "name": "陕西", "city": [{ "name": "西安", "area": ["莲湖区", "新城区", "碑林区", "雁塔区", "灞桥区", "未央区", "阎良区", "临潼区", "长安区", "高陵县", "蓝田县", "户县", "周至县", "其他"] }, { "name": "铜川", "area": ["耀州区", "王益区", "印台区", "宜君县", "其他"] }, { "name": "宝鸡", "area": ["渭滨区", "金台区", "陈仓区", "岐山县", "凤翔县", "陇县", "太白县", "麟游县", "扶风县", "千阳县", "眉县", "凤县", "其他"] }, { "name": "咸阳", "area": ["秦都区", "渭城区", "杨陵区", "兴平市", "礼泉县", "泾阳县", "永寿县", "三原县", "彬县", "旬邑县", "长武县", "乾县", "武功县", "淳化县", "其他"] }, { "name": "渭南", "area": ["临渭区", "韩城市", "华阴市", "蒲城县", "潼关县", "白水县", "澄城县", "华县", "合阳县", "富平县", "大荔县", "其他"] }, { "name": "延安", "area": ["宝塔区", "安塞县", "洛川县", "子长县", "黄陵县", "延川县", "富县", "延长县", "甘泉县", "宜川县", "志丹县", "黄龙县", "吴起县", "其他"] }, { "name": "汉中", "area": ["汉台区", "留坝县", "镇巴县", "城固县", "南郑县", "洋县", "宁强县", "佛坪县", "勉县", "西乡县", "略阳县", "其他"] }, { "name": "榆林", "area": ["榆阳区", "清涧县", "绥德县", "神木县", "佳县", "府谷县", "子洲县", "靖边县", "横山县", "米脂县", "吴堡县", "定边县", "其他"] }, { "name": "安康", "area": ["汉滨区", "紫阳县", "岚皋县", "旬阳县", "镇坪县", "平利县", "石泉县", "宁陕县", "白河县", "汉阴县", "其他"] }, { "name": "商洛", "area": ["商州区", "镇安县", "山阳县", "洛南县", "商南县", "丹凤县", "柞水县", "其他"] }, { "name": "其他", "area": ["其他"] }] }, { "name": "甘肃", "city": [{ "name": "兰州", "area": ["城关区", "七里河区", "西固区", "安宁区", "红古区", "永登县", "皋兰县", "榆中县", "其他"] }, { "name": "嘉峪关", "area": ["嘉峪关市", "其他"] }, { "name": "金昌", "area": ["金川区", "永昌县", "其他"] }, { "name": "白银", "area": ["白银区", "平川区", "靖远县", "会宁县", "景泰县", "其他"] }, { "name": "天水", "area": ["清水县", "秦安县", "甘谷县", "武山县", "张家川回族自治县", "北道区", "秦城区", "其他"] }, { "name": "武威", "area": ["凉州区", "民勤县", "古浪县", "天祝藏族自治县", "其他"] }, { "name": "酒泉", "area": ["肃州区", "玉门市", "敦煌市", "金塔县", "肃北蒙古族自治县", "阿克塞哈萨克族自治县", "安西县", "其他"] }, { "name": "张掖", "area": ["甘州区", "民乐县", "临泽县", "高台县", "山丹县", "肃南裕固族自治县", "其他"] }, { "name": "庆阳", "area": ["西峰区", "庆城县", "环县", "华池县", "合水县", "正宁县", "宁县", "镇原县", "其他"] }, { "name": "平凉", "area": ["崆峒区", "泾川县", "灵台县", "崇信县", "华亭县", "庄浪县", "静宁县", "其他"] }, { "name": "定西", "area": ["安定区", "通渭县", "临洮县", "漳县", "岷县", "渭源县", "陇西县", "其他"] }, { "name": "陇南", "area": ["武都区", "成县", "宕昌县", "康县", "文县", "西和县", "礼县", "两当县", "徽县", "其他"] }, { "name": "临夏回族自治州", "area": ["临夏市", "临夏县", "康乐县", "永靖县", "广河县", "和政县", "东乡族自治县", "积石山保安族东乡族撒拉族自治县", "其他"] }, { "name": "甘南藏族自治州", "area": ["合作市", "临潭县", "卓尼县", "舟曲县", "迭部县", "玛曲县", "碌曲县", "夏河县", "其他"] }, { "name": "其他", "area": ["其他"] }] }, { "name": "青海", "city": [{ "name": "西宁", "area": ["城中区", "城东区", "城西区", "城北区", "湟源县", "湟中县", "大通回族土族自治县", "其他"] }, { "name": "海东地区", "area": ["平安县", "乐都县", "民和回族土族自治县", "互助土族自治县", "化隆回族自治县", "循化撒拉族自治县", "其他"] }, { "name": "海北藏族自治州", "area": ["海晏县", "祁连县", "刚察县", "门源回族自治县", "其他"] }, { "name": "海南藏族自治州", "area": ["共和县", "同德县", "贵德县", "兴海县", "贵南县", "其他"] }, { "name": "黄南藏族自治州", "area": ["同仁县", "尖扎县", "泽库县", "河南蒙古族自治县", "其他"] }, { "name": "果洛藏族自治州", "area": ["玛沁县", "班玛县", "甘德县", "达日县", "久治县", "玛多县", "其他"] }, { "name": "玉树藏族自治州", "area": ["玉树县", "杂多县", "称多县", "治多县", "囊谦县", "曲麻莱县", "其他"] }, { "name": "海西蒙古族藏族自治州", "area": ["德令哈市", "格尔木市", "乌兰县", "都兰县", "天峻县", "其他"] }, { "name": "其他", "area": ["其他"] }] }, { "name": "宁夏", "city": [{ "name": "银川", "area": ["兴庆区", "西夏区", "金凤区", "灵武市", "永宁县", "贺兰县", "其他"] }, { "name": "石嘴山", "area": ["大武口区", "惠农区", "平罗县", "其他"] }, { "name": "吴忠", "area": ["利通区", "青铜峡市", "盐池县", "同心县", "其他"] }, { "name": "固原", "area": ["原州区", "西吉县", "隆德县", "泾源县", "彭阳县", "其他"] }, { "name": "中卫", "area": ["沙坡头区", "中宁县", "海原县", "其他"] }, { "name": "其他", "area": ["其他"] }] }, { "name": "新疆", "city": [{ "name": "乌鲁木齐", "area": ["天山区", "沙依巴克区", "新市区", "水磨沟区", "头屯河区", "达坂城区", "东山区", "乌鲁木齐县", "其他"] }, { "name": "克拉玛依", "area": ["克拉玛依区", "独山子区", "白碱滩区", "乌尔禾区", "其他"] }, { "name": "吐鲁番地区", "area": ["吐鲁番市", "托克逊县", "鄯善县", "其他"] }, { "name": "哈密地区", "area": ["哈密市", "伊吾县", "巴里坤哈萨克自治县", "其他"] }, { "name": "和田地区", "area": ["和田市", "和田县", "洛浦县", "民丰县", "皮山县", "策勒县", "于田县", "墨玉县", "其他"] }, { "name": "阿克苏地区", "area": ["阿克苏市", "温宿县", "沙雅县", "拜城县", "阿瓦提县", "库车县", "柯坪县", "新和县", "乌什县", "其他"] }, { "name": "喀什地区", "area": ["喀什市", "巴楚县", "泽普县", "伽师县", "叶城县", "岳普湖县", "疏勒县", "麦盖提县", "英吉沙县", "莎车县", "疏附县", "塔什库尔干塔吉克自治县", "其他"] }, { "name": "克孜勒苏柯尔克孜自治州", "area": ["阿图什市", "阿合奇县", "乌恰县", "阿克陶县", "其他"] }, { "name": "巴音郭楞蒙古自治州", "area": ["库尔勒市", "和静县", "尉犁县", "和硕县", "且末县", "博湖县", "轮台县", "若羌县", "焉耆回族自治县", "其他"] }, { "name": "昌吉回族自治州", "area": ["昌吉市", "阜康市", "奇台县", "玛纳斯县", "吉木萨尔县", "呼图壁县", "木垒哈萨克自治县", "米泉市", "其他"] }, { "name": "博尔塔拉蒙古自治州", "area": ["博乐市", "精河县", "温泉县", "其他"] }, { "name": "石河子", "area": ["石河子"] }, { "name": "阿拉尔", "area": ["阿拉尔"] }, { "name": "图木舒克", "area": ["图木舒克"] }, { "name": "五家渠", "area": ["五家渠"] }, { "name": "伊犁哈萨克自治州", "area": ["伊宁市", "奎屯市", "伊宁县", "特克斯县", "尼勒克县", "昭苏县", "新源县", "霍城县", "巩留县", "察布查尔锡伯自治县", "塔城地区", "阿勒泰地区", "其他"] }, { "name": "其他", "area": ["其他"] }] }, { "name": "台湾", "city": [{ "name": "台湾", "area": ["台北市", "高雄市", "台北县", "桃园县", "新竹县", "苗栗县", "台中县", "彰化县", "南投县", "云林县", "嘉义县", "台南县", "高雄县", "屏东县", "宜兰县", "花莲县", "台东县", "澎湖县", "基隆市", "新竹市", "台中市", "嘉义市", "台南市", "其他"] }, { "name": "其他", "area": ["其他"] }] }, { "name": "澳门", "city": [{ "name": "澳门", "area": ["花地玛堂区", "圣安多尼堂区", "大堂区", "望德堂区", "风顺堂区", "嘉模堂区", "圣方济各堂区", "路凼", "其他"] }] }, { "name": "香港", "city": [{ "name": "香港", "area": ["中西区", "湾仔区", "东区", "南区", "深水埗区", "油尖旺区", "九龙城区", "黄大仙区", "观塘区", "北区", "大埔区", "沙田区", "西贡区", "元朗区", "屯门区", "荃湾区", "葵青区", "离岛区", "其他"] }] }];
55390 var propTypes = {
55391 defaultValue: _propTypes2["default"].object, //{ province:'北京',city:'北京',area:'东城区'}
55392 value: _propTypes2["default"].object, //{ province:'北京',city:'北京',area:'东城区'}
55393 onChange: _propTypes2["default"].func
55394 };
55395 var defaultProps = {
55396 defaultValue: { province: '北京', city: '北京', area: '东城区' },
55397 value: null,
55398 onChange: function onChange() {}
55399 };
55400
55401 var CitySelect = function (_Component) {
55402 _inherits(CitySelect, _Component);
55403
55404 function CitySelect() {
55405 _classCallCheck(this, CitySelect);
55406
55407 var _this = _possibleConstructorReturn(this, _Component.call(this));
55408
55409 _this.getIndex = function (type, name, provinceIndex) {
55410 var provinceI = provinceIndex || _this.state.provinceIndex;
55411 switch (type) {
55412 case 'province':
55413 return (0, _lodash2["default"])(provinceData, function (province) {
55414 return province.name == name;
55415 });
55416 break;
55417 case 'city':
55418 return (0, _lodash2["default"])(provinceData[provinceI].city, function (city) {
55419 return city.name == name;
55420 });
55421 break;
55422 }
55423 };
55424
55425 _this.handleProvinceChange = function (value) {
55426 var index = _this.getIndex('province', value);
55427 var city = provinceData[index].city[0].name;
55428 var area = provinceData[index].city[0].area[0];
55429 _this.setState({
55430 province: value,
55431 cities: provinceData[index].city,
55432 secondCity: city,
55433 provinceIndex: index,
55434 areas: provinceData[index].city[0].area,
55435 secondArea: area
55436 });
55437 _this.onChange(value, city, area);
55438 };
55439
55440 _this.handleCityChange = function (value) {
55441 var index = _this.getIndex('city', value);
55442 var provinceIndex = _this.state.provinceIndex;
55443 var area = provinceData[provinceIndex].city[index].area[0];
55444 _this.setState({
55445 secondCity: provinceData[provinceIndex].city[index].name,
55446 areas: provinceData[provinceIndex].city[index].area,
55447 secondArea: area,
55448 cityIndex: value
55449 });
55450 _this.onChange(undefined, value, area);
55451 };
55452
55453 _this.onSecondAreaChange = function (value) {
55454 _this.setState({
55455 secondArea: value
55456 });
55457 _this.onChange(undefined, undefined, value);
55458 };
55459
55460 _this.onChange = function (province, city, area) {
55461 _this.props.onChange({
55462 province: province || _this.state.province,
55463 city: city || _this.state.secondCity,
55464 area: area
55465 });
55466 };
55467
55468 _this.state = {
55469 province: '北京',
55470 provinceIndex: 0,
55471 cityIndex: 0,
55472 cities: provinceData[0].city,
55473 secondCity: provinceData[0].city[0].name,
55474 areas: provinceData[0].city[0].area,
55475 secondArea: provinceData[0].city[0].area[0]
55476 };
55477 return _this;
55478 }
55479
55480 CitySelect.prototype.componentDidMount = function componentDidMount() {
55481 var _props = this.props,
55482 _defaultValue = _props.defaultValue,
55483 value = _props.value;
55484
55485 var defaultValue = value ? value : _defaultValue;
55486 var province = defaultValue.province;
55487 var provinceIndex = this.getIndex('province', defaultValue.province);
55488 var cityIndex = this.getIndex('city', defaultValue.city, provinceIndex);
55489 var cities = provinceData[provinceIndex].city;
55490 var secondCity = defaultValue.city;
55491 var areas = cities[cityIndex].area;
55492 var secondArea = defaultValue.area;
55493 this.setState({
55494 province: province,
55495 provinceIndex: provinceIndex,
55496 cityIndex: cityIndex,
55497 cities: cities,
55498 secondCity: secondCity,
55499 areas: areas,
55500 secondArea: secondArea
55501 });
55502 };
55503
55504 CitySelect.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
55505 if (!nextProps.value) return;
55506 var _nextProps$value = nextProps.value,
55507 province = _nextProps$value.province,
55508 city = _nextProps$value.city,
55509 area = _nextProps$value.area;
55510
55511 this.setState({
55512 province: province,
55513 secondCity: city,
55514 secondArea: area
55515 });
55516 this.handleProvinceChange(province);
55517 };
55518
55519 CitySelect.prototype.render = function render() {
55520 var provinceOptions = provinceData.map(function (province, index) {
55521 return _react2["default"].createElement(
55522 Option,
55523 { key: province.name },
55524 province.name
55525 );
55526 });
55527 var cityOptions = this.state.cities.map(function (city, index) {
55528 return _react2["default"].createElement(
55529 Option,
55530 { key: city.name },
55531 city.name
55532 );
55533 });
55534 var areaOptions = this.state.areas.map(function (area, index) {
55535 return _react2["default"].createElement(
55536 Option,
55537 { key: area },
55538 area
55539 );
55540 });
55541 return _react2["default"].createElement(
55542 'div',
55543 { className: (0, _classnames2["default"])("u-city-select", this.props.className) },
55544 _react2["default"].createElement(
55545 _beeSelect2["default"],
55546 {
55547 value: this.state.province,
55548 className: 'province',
55549 onChange: this.handleProvinceChange },
55550 provinceOptions
55551 ),
55552 _react2["default"].createElement(
55553 _beeSelect2["default"],
55554 {
55555 value: this.state.secondCity,
55556 className: 'city',
55557 onChange: this.handleCityChange },
55558 cityOptions
55559 ),
55560 _react2["default"].createElement(
55561 _beeSelect2["default"],
55562 {
55563 value: this.state.secondArea,
55564 className: 'area',
55565 onChange: this.onSecondAreaChange },
55566 areaOptions
55567 )
55568 );
55569 };
55570
55571 return CitySelect;
55572 }(_react.Component);
55573
55574 CitySelect.propTypes = propTypes;
55575 CitySelect.defaultProps = defaultProps;
55576 exports["default"] = CitySelect;
55577 module.exports = exports['default'];
55578
55579/***/ }),
55580/* 560 */
55581/***/ (function(module, exports, __webpack_require__) {
55582
55583 /* WEBPACK VAR INJECTION */(function(global, module) {/**
55584 * lodash (Custom Build) <https://lodash.com/>
55585 * Build: `lodash modularize exports="npm" -o ./`
55586 * Copyright jQuery Foundation and other contributors <https://jquery.org/>
55587 * Released under MIT license <https://lodash.com/license>
55588 * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
55589 * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
55590 */
55591
55592 /** Used as the size to enable large array optimizations. */
55593 var LARGE_ARRAY_SIZE = 200;
55594
55595 /** Used as the `TypeError` message for "Functions" methods. */
55596 var FUNC_ERROR_TEXT = 'Expected a function';
55597
55598 /** Used to stand-in for `undefined` hash values. */
55599 var HASH_UNDEFINED = '__lodash_hash_undefined__';
55600
55601 /** Used to compose bitmasks for comparison styles. */
55602 var UNORDERED_COMPARE_FLAG = 1,
55603 PARTIAL_COMPARE_FLAG = 2;
55604
55605 /** Used as references for various `Number` constants. */
55606 var INFINITY = 1 / 0,
55607 MAX_SAFE_INTEGER = 9007199254740991,
55608 MAX_INTEGER = 1.7976931348623157e+308,
55609 NAN = 0 / 0;
55610
55611 /** `Object#toString` result references. */
55612 var argsTag = '[object Arguments]',
55613 arrayTag = '[object Array]',
55614 boolTag = '[object Boolean]',
55615 dateTag = '[object Date]',
55616 errorTag = '[object Error]',
55617 funcTag = '[object Function]',
55618 genTag = '[object GeneratorFunction]',
55619 mapTag = '[object Map]',
55620 numberTag = '[object Number]',
55621 objectTag = '[object Object]',
55622 promiseTag = '[object Promise]',
55623 regexpTag = '[object RegExp]',
55624 setTag = '[object Set]',
55625 stringTag = '[object String]',
55626 symbolTag = '[object Symbol]',
55627 weakMapTag = '[object WeakMap]';
55628
55629 var arrayBufferTag = '[object ArrayBuffer]',
55630 dataViewTag = '[object DataView]',
55631 float32Tag = '[object Float32Array]',
55632 float64Tag = '[object Float64Array]',
55633 int8Tag = '[object Int8Array]',
55634 int16Tag = '[object Int16Array]',
55635 int32Tag = '[object Int32Array]',
55636 uint8Tag = '[object Uint8Array]',
55637 uint8ClampedTag = '[object Uint8ClampedArray]',
55638 uint16Tag = '[object Uint16Array]',
55639 uint32Tag = '[object Uint32Array]';
55640
55641 /** Used to match property names within property paths. */
55642 var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,
55643 reIsPlainProp = /^\w*$/,
55644 reLeadingDot = /^\./,
55645 rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;
55646
55647 /**
55648 * Used to match `RegExp`
55649 * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).
55650 */
55651 var reRegExpChar = /[\\^$.*+?()[\]{}|]/g;
55652
55653 /** Used to match leading and trailing whitespace. */
55654 var reTrim = /^\s+|\s+$/g;
55655
55656 /** Used to match backslashes in property paths. */
55657 var reEscapeChar = /\\(\\)?/g;
55658
55659 /** Used to detect bad signed hexadecimal string values. */
55660 var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;
55661
55662 /** Used to detect binary string values. */
55663 var reIsBinary = /^0b[01]+$/i;
55664
55665 /** Used to detect host constructors (Safari). */
55666 var reIsHostCtor = /^\[object .+?Constructor\]$/;
55667
55668 /** Used to detect octal string values. */
55669 var reIsOctal = /^0o[0-7]+$/i;
55670
55671 /** Used to detect unsigned integer values. */
55672 var reIsUint = /^(?:0|[1-9]\d*)$/;
55673
55674 /** Used to identify `toStringTag` values of typed arrays. */
55675 var typedArrayTags = {};
55676 typedArrayTags[float32Tag] = typedArrayTags[float64Tag] =
55677 typedArrayTags[int8Tag] = typedArrayTags[int16Tag] =
55678 typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =
55679 typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =
55680 typedArrayTags[uint32Tag] = true;
55681 typedArrayTags[argsTag] = typedArrayTags[arrayTag] =
55682 typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =
55683 typedArrayTags[dataViewTag] = typedArrayTags[dateTag] =
55684 typedArrayTags[errorTag] = typedArrayTags[funcTag] =
55685 typedArrayTags[mapTag] = typedArrayTags[numberTag] =
55686 typedArrayTags[objectTag] = typedArrayTags[regexpTag] =
55687 typedArrayTags[setTag] = typedArrayTags[stringTag] =
55688 typedArrayTags[weakMapTag] = false;
55689
55690 /** Built-in method references without a dependency on `root`. */
55691 var freeParseInt = parseInt;
55692
55693 /** Detect free variable `global` from Node.js. */
55694 var freeGlobal = typeof global == 'object' && global && global.Object === Object && global;
55695
55696 /** Detect free variable `self`. */
55697 var freeSelf = typeof self == 'object' && self && self.Object === Object && self;
55698
55699 /** Used as a reference to the global object. */
55700 var root = freeGlobal || freeSelf || Function('return this')();
55701
55702 /** Detect free variable `exports`. */
55703 var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;
55704
55705 /** Detect free variable `module`. */
55706 var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;
55707
55708 /** Detect the popular CommonJS extension `module.exports`. */
55709 var moduleExports = freeModule && freeModule.exports === freeExports;
55710
55711 /** Detect free variable `process` from Node.js. */
55712 var freeProcess = moduleExports && freeGlobal.process;
55713
55714 /** Used to access faster Node.js helpers. */
55715 var nodeUtil = (function() {
55716 try {
55717 return freeProcess && freeProcess.binding('util');
55718 } catch (e) {}
55719 }());
55720
55721 /* Node.js helper references. */
55722 var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;
55723
55724 /**
55725 * A specialized version of `_.some` for arrays without support for iteratee
55726 * shorthands.
55727 *
55728 * @private
55729 * @param {Array} [array] The array to iterate over.
55730 * @param {Function} predicate The function invoked per iteration.
55731 * @returns {boolean} Returns `true` if any element passes the predicate check,
55732 * else `false`.
55733 */
55734 function arraySome(array, predicate) {
55735 var index = -1,
55736 length = array ? array.length : 0;
55737
55738 while (++index < length) {
55739 if (predicate(array[index], index, array)) {
55740 return true;
55741 }
55742 }
55743 return false;
55744 }
55745
55746 /**
55747 * The base implementation of `_.findIndex` and `_.findLastIndex` without
55748 * support for iteratee shorthands.
55749 *
55750 * @private
55751 * @param {Array} array The array to inspect.
55752 * @param {Function} predicate The function invoked per iteration.
55753 * @param {number} fromIndex The index to search from.
55754 * @param {boolean} [fromRight] Specify iterating from right to left.
55755 * @returns {number} Returns the index of the matched value, else `-1`.
55756 */
55757 function baseFindIndex(array, predicate, fromIndex, fromRight) {
55758 var length = array.length,
55759 index = fromIndex + (fromRight ? 1 : -1);
55760
55761 while ((fromRight ? index-- : ++index < length)) {
55762 if (predicate(array[index], index, array)) {
55763 return index;
55764 }
55765 }
55766 return -1;
55767 }
55768
55769 /**
55770 * The base implementation of `_.property` without support for deep paths.
55771 *
55772 * @private
55773 * @param {string} key The key of the property to get.
55774 * @returns {Function} Returns the new accessor function.
55775 */
55776 function baseProperty(key) {
55777 return function(object) {
55778 return object == null ? undefined : object[key];
55779 };
55780 }
55781
55782 /**
55783 * The base implementation of `_.times` without support for iteratee shorthands
55784 * or max array length checks.
55785 *
55786 * @private
55787 * @param {number} n The number of times to invoke `iteratee`.
55788 * @param {Function} iteratee The function invoked per iteration.
55789 * @returns {Array} Returns the array of results.
55790 */
55791 function baseTimes(n, iteratee) {
55792 var index = -1,
55793 result = Array(n);
55794
55795 while (++index < n) {
55796 result[index] = iteratee(index);
55797 }
55798 return result;
55799 }
55800
55801 /**
55802 * The base implementation of `_.unary` without support for storing metadata.
55803 *
55804 * @private
55805 * @param {Function} func The function to cap arguments for.
55806 * @returns {Function} Returns the new capped function.
55807 */
55808 function baseUnary(func) {
55809 return function(value) {
55810 return func(value);
55811 };
55812 }
55813
55814 /**
55815 * Gets the value at `key` of `object`.
55816 *
55817 * @private
55818 * @param {Object} [object] The object to query.
55819 * @param {string} key The key of the property to get.
55820 * @returns {*} Returns the property value.
55821 */
55822 function getValue(object, key) {
55823 return object == null ? undefined : object[key];
55824 }
55825
55826 /**
55827 * Checks if `value` is a host object in IE < 9.
55828 *
55829 * @private
55830 * @param {*} value The value to check.
55831 * @returns {boolean} Returns `true` if `value` is a host object, else `false`.
55832 */
55833 function isHostObject(value) {
55834 // Many host objects are `Object` objects that can coerce to strings
55835 // despite having improperly defined `toString` methods.
55836 var result = false;
55837 if (value != null && typeof value.toString != 'function') {
55838 try {
55839 result = !!(value + '');
55840 } catch (e) {}
55841 }
55842 return result;
55843 }
55844
55845 /**
55846 * Converts `map` to its key-value pairs.
55847 *
55848 * @private
55849 * @param {Object} map The map to convert.
55850 * @returns {Array} Returns the key-value pairs.
55851 */
55852 function mapToArray(map) {
55853 var index = -1,
55854 result = Array(map.size);
55855
55856 map.forEach(function(value, key) {
55857 result[++index] = [key, value];
55858 });
55859 return result;
55860 }
55861
55862 /**
55863 * Creates a unary function that invokes `func` with its argument transformed.
55864 *
55865 * @private
55866 * @param {Function} func The function to wrap.
55867 * @param {Function} transform The argument transform.
55868 * @returns {Function} Returns the new function.
55869 */
55870 function overArg(func, transform) {
55871 return function(arg) {
55872 return func(transform(arg));
55873 };
55874 }
55875
55876 /**
55877 * Converts `set` to an array of its values.
55878 *
55879 * @private
55880 * @param {Object} set The set to convert.
55881 * @returns {Array} Returns the values.
55882 */
55883 function setToArray(set) {
55884 var index = -1,
55885 result = Array(set.size);
55886
55887 set.forEach(function(value) {
55888 result[++index] = value;
55889 });
55890 return result;
55891 }
55892
55893 /** Used for built-in method references. */
55894 var arrayProto = Array.prototype,
55895 funcProto = Function.prototype,
55896 objectProto = Object.prototype;
55897
55898 /** Used to detect overreaching core-js shims. */
55899 var coreJsData = root['__core-js_shared__'];
55900
55901 /** Used to detect methods masquerading as native. */
55902 var maskSrcKey = (function() {
55903 var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');
55904 return uid ? ('Symbol(src)_1.' + uid) : '';
55905 }());
55906
55907 /** Used to resolve the decompiled source of functions. */
55908 var funcToString = funcProto.toString;
55909
55910 /** Used to check objects for own properties. */
55911 var hasOwnProperty = objectProto.hasOwnProperty;
55912
55913 /**
55914 * Used to resolve the
55915 * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
55916 * of values.
55917 */
55918 var objectToString = objectProto.toString;
55919
55920 /** Used to detect if a method is native. */
55921 var reIsNative = RegExp('^' +
55922 funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&')
55923 .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$'
55924 );
55925
55926 /** Built-in value references. */
55927 var Symbol = root.Symbol,
55928 Uint8Array = root.Uint8Array,
55929 propertyIsEnumerable = objectProto.propertyIsEnumerable,
55930 splice = arrayProto.splice;
55931
55932 /* Built-in method references for those with the same name as other `lodash` methods. */
55933 var nativeKeys = overArg(Object.keys, Object),
55934 nativeMax = Math.max;
55935
55936 /* Built-in method references that are verified to be native. */
55937 var DataView = getNative(root, 'DataView'),
55938 Map = getNative(root, 'Map'),
55939 Promise = getNative(root, 'Promise'),
55940 Set = getNative(root, 'Set'),
55941 WeakMap = getNative(root, 'WeakMap'),
55942 nativeCreate = getNative(Object, 'create');
55943
55944 /** Used to detect maps, sets, and weakmaps. */
55945 var dataViewCtorString = toSource(DataView),
55946 mapCtorString = toSource(Map),
55947 promiseCtorString = toSource(Promise),
55948 setCtorString = toSource(Set),
55949 weakMapCtorString = toSource(WeakMap);
55950
55951 /** Used to convert symbols to primitives and strings. */
55952 var symbolProto = Symbol ? Symbol.prototype : undefined,
55953 symbolValueOf = symbolProto ? symbolProto.valueOf : undefined,
55954 symbolToString = symbolProto ? symbolProto.toString : undefined;
55955
55956 /**
55957 * Creates a hash object.
55958 *
55959 * @private
55960 * @constructor
55961 * @param {Array} [entries] The key-value pairs to cache.
55962 */
55963 function Hash(entries) {
55964 var index = -1,
55965 length = entries ? entries.length : 0;
55966
55967 this.clear();
55968 while (++index < length) {
55969 var entry = entries[index];
55970 this.set(entry[0], entry[1]);
55971 }
55972 }
55973
55974 /**
55975 * Removes all key-value entries from the hash.
55976 *
55977 * @private
55978 * @name clear
55979 * @memberOf Hash
55980 */
55981 function hashClear() {
55982 this.__data__ = nativeCreate ? nativeCreate(null) : {};
55983 }
55984
55985 /**
55986 * Removes `key` and its value from the hash.
55987 *
55988 * @private
55989 * @name delete
55990 * @memberOf Hash
55991 * @param {Object} hash The hash to modify.
55992 * @param {string} key The key of the value to remove.
55993 * @returns {boolean} Returns `true` if the entry was removed, else `false`.
55994 */
55995 function hashDelete(key) {
55996 return this.has(key) && delete this.__data__[key];
55997 }
55998
55999 /**
56000 * Gets the hash value for `key`.
56001 *
56002 * @private
56003 * @name get
56004 * @memberOf Hash
56005 * @param {string} key The key of the value to get.
56006 * @returns {*} Returns the entry value.
56007 */
56008 function hashGet(key) {
56009 var data = this.__data__;
56010 if (nativeCreate) {
56011 var result = data[key];
56012 return result === HASH_UNDEFINED ? undefined : result;
56013 }
56014 return hasOwnProperty.call(data, key) ? data[key] : undefined;
56015 }
56016
56017 /**
56018 * Checks if a hash value for `key` exists.
56019 *
56020 * @private
56021 * @name has
56022 * @memberOf Hash
56023 * @param {string} key The key of the entry to check.
56024 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
56025 */
56026 function hashHas(key) {
56027 var data = this.__data__;
56028 return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);
56029 }
56030
56031 /**
56032 * Sets the hash `key` to `value`.
56033 *
56034 * @private
56035 * @name set
56036 * @memberOf Hash
56037 * @param {string} key The key of the value to set.
56038 * @param {*} value The value to set.
56039 * @returns {Object} Returns the hash instance.
56040 */
56041 function hashSet(key, value) {
56042 var data = this.__data__;
56043 data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;
56044 return this;
56045 }
56046
56047 // Add methods to `Hash`.
56048 Hash.prototype.clear = hashClear;
56049 Hash.prototype['delete'] = hashDelete;
56050 Hash.prototype.get = hashGet;
56051 Hash.prototype.has = hashHas;
56052 Hash.prototype.set = hashSet;
56053
56054 /**
56055 * Creates an list cache object.
56056 *
56057 * @private
56058 * @constructor
56059 * @param {Array} [entries] The key-value pairs to cache.
56060 */
56061 function ListCache(entries) {
56062 var index = -1,
56063 length = entries ? entries.length : 0;
56064
56065 this.clear();
56066 while (++index < length) {
56067 var entry = entries[index];
56068 this.set(entry[0], entry[1]);
56069 }
56070 }
56071
56072 /**
56073 * Removes all key-value entries from the list cache.
56074 *
56075 * @private
56076 * @name clear
56077 * @memberOf ListCache
56078 */
56079 function listCacheClear() {
56080 this.__data__ = [];
56081 }
56082
56083 /**
56084 * Removes `key` and its value from the list cache.
56085 *
56086 * @private
56087 * @name delete
56088 * @memberOf ListCache
56089 * @param {string} key The key of the value to remove.
56090 * @returns {boolean} Returns `true` if the entry was removed, else `false`.
56091 */
56092 function listCacheDelete(key) {
56093 var data = this.__data__,
56094 index = assocIndexOf(data, key);
56095
56096 if (index < 0) {
56097 return false;
56098 }
56099 var lastIndex = data.length - 1;
56100 if (index == lastIndex) {
56101 data.pop();
56102 } else {
56103 splice.call(data, index, 1);
56104 }
56105 return true;
56106 }
56107
56108 /**
56109 * Gets the list cache value for `key`.
56110 *
56111 * @private
56112 * @name get
56113 * @memberOf ListCache
56114 * @param {string} key The key of the value to get.
56115 * @returns {*} Returns the entry value.
56116 */
56117 function listCacheGet(key) {
56118 var data = this.__data__,
56119 index = assocIndexOf(data, key);
56120
56121 return index < 0 ? undefined : data[index][1];
56122 }
56123
56124 /**
56125 * Checks if a list cache value for `key` exists.
56126 *
56127 * @private
56128 * @name has
56129 * @memberOf ListCache
56130 * @param {string} key The key of the entry to check.
56131 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
56132 */
56133 function listCacheHas(key) {
56134 return assocIndexOf(this.__data__, key) > -1;
56135 }
56136
56137 /**
56138 * Sets the list cache `key` to `value`.
56139 *
56140 * @private
56141 * @name set
56142 * @memberOf ListCache
56143 * @param {string} key The key of the value to set.
56144 * @param {*} value The value to set.
56145 * @returns {Object} Returns the list cache instance.
56146 */
56147 function listCacheSet(key, value) {
56148 var data = this.__data__,
56149 index = assocIndexOf(data, key);
56150
56151 if (index < 0) {
56152 data.push([key, value]);
56153 } else {
56154 data[index][1] = value;
56155 }
56156 return this;
56157 }
56158
56159 // Add methods to `ListCache`.
56160 ListCache.prototype.clear = listCacheClear;
56161 ListCache.prototype['delete'] = listCacheDelete;
56162 ListCache.prototype.get = listCacheGet;
56163 ListCache.prototype.has = listCacheHas;
56164 ListCache.prototype.set = listCacheSet;
56165
56166 /**
56167 * Creates a map cache object to store key-value pairs.
56168 *
56169 * @private
56170 * @constructor
56171 * @param {Array} [entries] The key-value pairs to cache.
56172 */
56173 function MapCache(entries) {
56174 var index = -1,
56175 length = entries ? entries.length : 0;
56176
56177 this.clear();
56178 while (++index < length) {
56179 var entry = entries[index];
56180 this.set(entry[0], entry[1]);
56181 }
56182 }
56183
56184 /**
56185 * Removes all key-value entries from the map.
56186 *
56187 * @private
56188 * @name clear
56189 * @memberOf MapCache
56190 */
56191 function mapCacheClear() {
56192 this.__data__ = {
56193 'hash': new Hash,
56194 'map': new (Map || ListCache),
56195 'string': new Hash
56196 };
56197 }
56198
56199 /**
56200 * Removes `key` and its value from the map.
56201 *
56202 * @private
56203 * @name delete
56204 * @memberOf MapCache
56205 * @param {string} key The key of the value to remove.
56206 * @returns {boolean} Returns `true` if the entry was removed, else `false`.
56207 */
56208 function mapCacheDelete(key) {
56209 return getMapData(this, key)['delete'](key);
56210 }
56211
56212 /**
56213 * Gets the map value for `key`.
56214 *
56215 * @private
56216 * @name get
56217 * @memberOf MapCache
56218 * @param {string} key The key of the value to get.
56219 * @returns {*} Returns the entry value.
56220 */
56221 function mapCacheGet(key) {
56222 return getMapData(this, key).get(key);
56223 }
56224
56225 /**
56226 * Checks if a map value for `key` exists.
56227 *
56228 * @private
56229 * @name has
56230 * @memberOf MapCache
56231 * @param {string} key The key of the entry to check.
56232 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
56233 */
56234 function mapCacheHas(key) {
56235 return getMapData(this, key).has(key);
56236 }
56237
56238 /**
56239 * Sets the map `key` to `value`.
56240 *
56241 * @private
56242 * @name set
56243 * @memberOf MapCache
56244 * @param {string} key The key of the value to set.
56245 * @param {*} value The value to set.
56246 * @returns {Object} Returns the map cache instance.
56247 */
56248 function mapCacheSet(key, value) {
56249 getMapData(this, key).set(key, value);
56250 return this;
56251 }
56252
56253 // Add methods to `MapCache`.
56254 MapCache.prototype.clear = mapCacheClear;
56255 MapCache.prototype['delete'] = mapCacheDelete;
56256 MapCache.prototype.get = mapCacheGet;
56257 MapCache.prototype.has = mapCacheHas;
56258 MapCache.prototype.set = mapCacheSet;
56259
56260 /**
56261 *
56262 * Creates an array cache object to store unique values.
56263 *
56264 * @private
56265 * @constructor
56266 * @param {Array} [values] The values to cache.
56267 */
56268 function SetCache(values) {
56269 var index = -1,
56270 length = values ? values.length : 0;
56271
56272 this.__data__ = new MapCache;
56273 while (++index < length) {
56274 this.add(values[index]);
56275 }
56276 }
56277
56278 /**
56279 * Adds `value` to the array cache.
56280 *
56281 * @private
56282 * @name add
56283 * @memberOf SetCache
56284 * @alias push
56285 * @param {*} value The value to cache.
56286 * @returns {Object} Returns the cache instance.
56287 */
56288 function setCacheAdd(value) {
56289 this.__data__.set(value, HASH_UNDEFINED);
56290 return this;
56291 }
56292
56293 /**
56294 * Checks if `value` is in the array cache.
56295 *
56296 * @private
56297 * @name has
56298 * @memberOf SetCache
56299 * @param {*} value The value to search for.
56300 * @returns {number} Returns `true` if `value` is found, else `false`.
56301 */
56302 function setCacheHas(value) {
56303 return this.__data__.has(value);
56304 }
56305
56306 // Add methods to `SetCache`.
56307 SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;
56308 SetCache.prototype.has = setCacheHas;
56309
56310 /**
56311 * Creates a stack cache object to store key-value pairs.
56312 *
56313 * @private
56314 * @constructor
56315 * @param {Array} [entries] The key-value pairs to cache.
56316 */
56317 function Stack(entries) {
56318 this.__data__ = new ListCache(entries);
56319 }
56320
56321 /**
56322 * Removes all key-value entries from the stack.
56323 *
56324 * @private
56325 * @name clear
56326 * @memberOf Stack
56327 */
56328 function stackClear() {
56329 this.__data__ = new ListCache;
56330 }
56331
56332 /**
56333 * Removes `key` and its value from the stack.
56334 *
56335 * @private
56336 * @name delete
56337 * @memberOf Stack
56338 * @param {string} key The key of the value to remove.
56339 * @returns {boolean} Returns `true` if the entry was removed, else `false`.
56340 */
56341 function stackDelete(key) {
56342 return this.__data__['delete'](key);
56343 }
56344
56345 /**
56346 * Gets the stack value for `key`.
56347 *
56348 * @private
56349 * @name get
56350 * @memberOf Stack
56351 * @param {string} key The key of the value to get.
56352 * @returns {*} Returns the entry value.
56353 */
56354 function stackGet(key) {
56355 return this.__data__.get(key);
56356 }
56357
56358 /**
56359 * Checks if a stack value for `key` exists.
56360 *
56361 * @private
56362 * @name has
56363 * @memberOf Stack
56364 * @param {string} key The key of the entry to check.
56365 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
56366 */
56367 function stackHas(key) {
56368 return this.__data__.has(key);
56369 }
56370
56371 /**
56372 * Sets the stack `key` to `value`.
56373 *
56374 * @private
56375 * @name set
56376 * @memberOf Stack
56377 * @param {string} key The key of the value to set.
56378 * @param {*} value The value to set.
56379 * @returns {Object} Returns the stack cache instance.
56380 */
56381 function stackSet(key, value) {
56382 var cache = this.__data__;
56383 if (cache instanceof ListCache) {
56384 var pairs = cache.__data__;
56385 if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {
56386 pairs.push([key, value]);
56387 return this;
56388 }
56389 cache = this.__data__ = new MapCache(pairs);
56390 }
56391 cache.set(key, value);
56392 return this;
56393 }
56394
56395 // Add methods to `Stack`.
56396 Stack.prototype.clear = stackClear;
56397 Stack.prototype['delete'] = stackDelete;
56398 Stack.prototype.get = stackGet;
56399 Stack.prototype.has = stackHas;
56400 Stack.prototype.set = stackSet;
56401
56402 /**
56403 * Creates an array of the enumerable property names of the array-like `value`.
56404 *
56405 * @private
56406 * @param {*} value The value to query.
56407 * @param {boolean} inherited Specify returning inherited property names.
56408 * @returns {Array} Returns the array of property names.
56409 */
56410 function arrayLikeKeys(value, inherited) {
56411 // Safari 8.1 makes `arguments.callee` enumerable in strict mode.
56412 // Safari 9 makes `arguments.length` enumerable in strict mode.
56413 var result = (isArray(value) || isArguments(value))
56414 ? baseTimes(value.length, String)
56415 : [];
56416
56417 var length = result.length,
56418 skipIndexes = !!length;
56419
56420 for (var key in value) {
56421 if ((inherited || hasOwnProperty.call(value, key)) &&
56422 !(skipIndexes && (key == 'length' || isIndex(key, length)))) {
56423 result.push(key);
56424 }
56425 }
56426 return result;
56427 }
56428
56429 /**
56430 * Gets the index at which the `key` is found in `array` of key-value pairs.
56431 *
56432 * @private
56433 * @param {Array} array The array to inspect.
56434 * @param {*} key The key to search for.
56435 * @returns {number} Returns the index of the matched value, else `-1`.
56436 */
56437 function assocIndexOf(array, key) {
56438 var length = array.length;
56439 while (length--) {
56440 if (eq(array[length][0], key)) {
56441 return length;
56442 }
56443 }
56444 return -1;
56445 }
56446
56447 /**
56448 * The base implementation of `_.get` without support for default values.
56449 *
56450 * @private
56451 * @param {Object} object The object to query.
56452 * @param {Array|string} path The path of the property to get.
56453 * @returns {*} Returns the resolved value.
56454 */
56455 function baseGet(object, path) {
56456 path = isKey(path, object) ? [path] : castPath(path);
56457
56458 var index = 0,
56459 length = path.length;
56460
56461 while (object != null && index < length) {
56462 object = object[toKey(path[index++])];
56463 }
56464 return (index && index == length) ? object : undefined;
56465 }
56466
56467 /**
56468 * The base implementation of `getTag`.
56469 *
56470 * @private
56471 * @param {*} value The value to query.
56472 * @returns {string} Returns the `toStringTag`.
56473 */
56474 function baseGetTag(value) {
56475 return objectToString.call(value);
56476 }
56477
56478 /**
56479 * The base implementation of `_.hasIn` without support for deep paths.
56480 *
56481 * @private
56482 * @param {Object} [object] The object to query.
56483 * @param {Array|string} key The key to check.
56484 * @returns {boolean} Returns `true` if `key` exists, else `false`.
56485 */
56486 function baseHasIn(object, key) {
56487 return object != null && key in Object(object);
56488 }
56489
56490 /**
56491 * The base implementation of `_.isEqual` which supports partial comparisons
56492 * and tracks traversed objects.
56493 *
56494 * @private
56495 * @param {*} value The value to compare.
56496 * @param {*} other The other value to compare.
56497 * @param {Function} [customizer] The function to customize comparisons.
56498 * @param {boolean} [bitmask] The bitmask of comparison flags.
56499 * The bitmask may be composed of the following flags:
56500 * 1 - Unordered comparison
56501 * 2 - Partial comparison
56502 * @param {Object} [stack] Tracks traversed `value` and `other` objects.
56503 * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
56504 */
56505 function baseIsEqual(value, other, customizer, bitmask, stack) {
56506 if (value === other) {
56507 return true;
56508 }
56509 if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {
56510 return value !== value && other !== other;
56511 }
56512 return baseIsEqualDeep(value, other, baseIsEqual, customizer, bitmask, stack);
56513 }
56514
56515 /**
56516 * A specialized version of `baseIsEqual` for arrays and objects which performs
56517 * deep comparisons and tracks traversed objects enabling objects with circular
56518 * references to be compared.
56519 *
56520 * @private
56521 * @param {Object} object The object to compare.
56522 * @param {Object} other The other object to compare.
56523 * @param {Function} equalFunc The function to determine equivalents of values.
56524 * @param {Function} [customizer] The function to customize comparisons.
56525 * @param {number} [bitmask] The bitmask of comparison flags. See `baseIsEqual`
56526 * for more details.
56527 * @param {Object} [stack] Tracks traversed `object` and `other` objects.
56528 * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
56529 */
56530 function baseIsEqualDeep(object, other, equalFunc, customizer, bitmask, stack) {
56531 var objIsArr = isArray(object),
56532 othIsArr = isArray(other),
56533 objTag = arrayTag,
56534 othTag = arrayTag;
56535
56536 if (!objIsArr) {
56537 objTag = getTag(object);
56538 objTag = objTag == argsTag ? objectTag : objTag;
56539 }
56540 if (!othIsArr) {
56541 othTag = getTag(other);
56542 othTag = othTag == argsTag ? objectTag : othTag;
56543 }
56544 var objIsObj = objTag == objectTag && !isHostObject(object),
56545 othIsObj = othTag == objectTag && !isHostObject(other),
56546 isSameTag = objTag == othTag;
56547
56548 if (isSameTag && !objIsObj) {
56549 stack || (stack = new Stack);
56550 return (objIsArr || isTypedArray(object))
56551 ? equalArrays(object, other, equalFunc, customizer, bitmask, stack)
56552 : equalByTag(object, other, objTag, equalFunc, customizer, bitmask, stack);
56553 }
56554 if (!(bitmask & PARTIAL_COMPARE_FLAG)) {
56555 var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),
56556 othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');
56557
56558 if (objIsWrapped || othIsWrapped) {
56559 var objUnwrapped = objIsWrapped ? object.value() : object,
56560 othUnwrapped = othIsWrapped ? other.value() : other;
56561
56562 stack || (stack = new Stack);
56563 return equalFunc(objUnwrapped, othUnwrapped, customizer, bitmask, stack);
56564 }
56565 }
56566 if (!isSameTag) {
56567 return false;
56568 }
56569 stack || (stack = new Stack);
56570 return equalObjects(object, other, equalFunc, customizer, bitmask, stack);
56571 }
56572
56573 /**
56574 * The base implementation of `_.isMatch` without support for iteratee shorthands.
56575 *
56576 * @private
56577 * @param {Object} object The object to inspect.
56578 * @param {Object} source The object of property values to match.
56579 * @param {Array} matchData The property names, values, and compare flags to match.
56580 * @param {Function} [customizer] The function to customize comparisons.
56581 * @returns {boolean} Returns `true` if `object` is a match, else `false`.
56582 */
56583 function baseIsMatch(object, source, matchData, customizer) {
56584 var index = matchData.length,
56585 length = index,
56586 noCustomizer = !customizer;
56587
56588 if (object == null) {
56589 return !length;
56590 }
56591 object = Object(object);
56592 while (index--) {
56593 var data = matchData[index];
56594 if ((noCustomizer && data[2])
56595 ? data[1] !== object[data[0]]
56596 : !(data[0] in object)
56597 ) {
56598 return false;
56599 }
56600 }
56601 while (++index < length) {
56602 data = matchData[index];
56603 var key = data[0],
56604 objValue = object[key],
56605 srcValue = data[1];
56606
56607 if (noCustomizer && data[2]) {
56608 if (objValue === undefined && !(key in object)) {
56609 return false;
56610 }
56611 } else {
56612 var stack = new Stack;
56613 if (customizer) {
56614 var result = customizer(objValue, srcValue, key, object, source, stack);
56615 }
56616 if (!(result === undefined
56617 ? baseIsEqual(srcValue, objValue, customizer, UNORDERED_COMPARE_FLAG | PARTIAL_COMPARE_FLAG, stack)
56618 : result
56619 )) {
56620 return false;
56621 }
56622 }
56623 }
56624 return true;
56625 }
56626
56627 /**
56628 * The base implementation of `_.isNative` without bad shim checks.
56629 *
56630 * @private
56631 * @param {*} value The value to check.
56632 * @returns {boolean} Returns `true` if `value` is a native function,
56633 * else `false`.
56634 */
56635 function baseIsNative(value) {
56636 if (!isObject(value) || isMasked(value)) {
56637 return false;
56638 }
56639 var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;
56640 return pattern.test(toSource(value));
56641 }
56642
56643 /**
56644 * The base implementation of `_.isTypedArray` without Node.js optimizations.
56645 *
56646 * @private
56647 * @param {*} value The value to check.
56648 * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.
56649 */
56650 function baseIsTypedArray(value) {
56651 return isObjectLike(value) &&
56652 isLength(value.length) && !!typedArrayTags[objectToString.call(value)];
56653 }
56654
56655 /**
56656 * The base implementation of `_.iteratee`.
56657 *
56658 * @private
56659 * @param {*} [value=_.identity] The value to convert to an iteratee.
56660 * @returns {Function} Returns the iteratee.
56661 */
56662 function baseIteratee(value) {
56663 // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.
56664 // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.
56665 if (typeof value == 'function') {
56666 return value;
56667 }
56668 if (value == null) {
56669 return identity;
56670 }
56671 if (typeof value == 'object') {
56672 return isArray(value)
56673 ? baseMatchesProperty(value[0], value[1])
56674 : baseMatches(value);
56675 }
56676 return property(value);
56677 }
56678
56679 /**
56680 * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.
56681 *
56682 * @private
56683 * @param {Object} object The object to query.
56684 * @returns {Array} Returns the array of property names.
56685 */
56686 function baseKeys(object) {
56687 if (!isPrototype(object)) {
56688 return nativeKeys(object);
56689 }
56690 var result = [];
56691 for (var key in Object(object)) {
56692 if (hasOwnProperty.call(object, key) && key != 'constructor') {
56693 result.push(key);
56694 }
56695 }
56696 return result;
56697 }
56698
56699 /**
56700 * The base implementation of `_.matches` which doesn't clone `source`.
56701 *
56702 * @private
56703 * @param {Object} source The object of property values to match.
56704 * @returns {Function} Returns the new spec function.
56705 */
56706 function baseMatches(source) {
56707 var matchData = getMatchData(source);
56708 if (matchData.length == 1 && matchData[0][2]) {
56709 return matchesStrictComparable(matchData[0][0], matchData[0][1]);
56710 }
56711 return function(object) {
56712 return object === source || baseIsMatch(object, source, matchData);
56713 };
56714 }
56715
56716 /**
56717 * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.
56718 *
56719 * @private
56720 * @param {string} path The path of the property to get.
56721 * @param {*} srcValue The value to match.
56722 * @returns {Function} Returns the new spec function.
56723 */
56724 function baseMatchesProperty(path, srcValue) {
56725 if (isKey(path) && isStrictComparable(srcValue)) {
56726 return matchesStrictComparable(toKey(path), srcValue);
56727 }
56728 return function(object) {
56729 var objValue = get(object, path);
56730 return (objValue === undefined && objValue === srcValue)
56731 ? hasIn(object, path)
56732 : baseIsEqual(srcValue, objValue, undefined, UNORDERED_COMPARE_FLAG | PARTIAL_COMPARE_FLAG);
56733 };
56734 }
56735
56736 /**
56737 * A specialized version of `baseProperty` which supports deep paths.
56738 *
56739 * @private
56740 * @param {Array|string} path The path of the property to get.
56741 * @returns {Function} Returns the new accessor function.
56742 */
56743 function basePropertyDeep(path) {
56744 return function(object) {
56745 return baseGet(object, path);
56746 };
56747 }
56748
56749 /**
56750 * The base implementation of `_.toString` which doesn't convert nullish
56751 * values to empty strings.
56752 *
56753 * @private
56754 * @param {*} value The value to process.
56755 * @returns {string} Returns the string.
56756 */
56757 function baseToString(value) {
56758 // Exit early for strings to avoid a performance hit in some environments.
56759 if (typeof value == 'string') {
56760 return value;
56761 }
56762 if (isSymbol(value)) {
56763 return symbolToString ? symbolToString.call(value) : '';
56764 }
56765 var result = (value + '');
56766 return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;
56767 }
56768
56769 /**
56770 * Casts `value` to a path array if it's not one.
56771 *
56772 * @private
56773 * @param {*} value The value to inspect.
56774 * @returns {Array} Returns the cast property path array.
56775 */
56776 function castPath(value) {
56777 return isArray(value) ? value : stringToPath(value);
56778 }
56779
56780 /**
56781 * A specialized version of `baseIsEqualDeep` for arrays with support for
56782 * partial deep comparisons.
56783 *
56784 * @private
56785 * @param {Array} array The array to compare.
56786 * @param {Array} other The other array to compare.
56787 * @param {Function} equalFunc The function to determine equivalents of values.
56788 * @param {Function} customizer The function to customize comparisons.
56789 * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`
56790 * for more details.
56791 * @param {Object} stack Tracks traversed `array` and `other` objects.
56792 * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.
56793 */
56794 function equalArrays(array, other, equalFunc, customizer, bitmask, stack) {
56795 var isPartial = bitmask & PARTIAL_COMPARE_FLAG,
56796 arrLength = array.length,
56797 othLength = other.length;
56798
56799 if (arrLength != othLength && !(isPartial && othLength > arrLength)) {
56800 return false;
56801 }
56802 // Assume cyclic values are equal.
56803 var stacked = stack.get(array);
56804 if (stacked && stack.get(other)) {
56805 return stacked == other;
56806 }
56807 var index = -1,
56808 result = true,
56809 seen = (bitmask & UNORDERED_COMPARE_FLAG) ? new SetCache : undefined;
56810
56811 stack.set(array, other);
56812 stack.set(other, array);
56813
56814 // Ignore non-index properties.
56815 while (++index < arrLength) {
56816 var arrValue = array[index],
56817 othValue = other[index];
56818
56819 if (customizer) {
56820 var compared = isPartial
56821 ? customizer(othValue, arrValue, index, other, array, stack)
56822 : customizer(arrValue, othValue, index, array, other, stack);
56823 }
56824 if (compared !== undefined) {
56825 if (compared) {
56826 continue;
56827 }
56828 result = false;
56829 break;
56830 }
56831 // Recursively compare arrays (susceptible to call stack limits).
56832 if (seen) {
56833 if (!arraySome(other, function(othValue, othIndex) {
56834 if (!seen.has(othIndex) &&
56835 (arrValue === othValue || equalFunc(arrValue, othValue, customizer, bitmask, stack))) {
56836 return seen.add(othIndex);
56837 }
56838 })) {
56839 result = false;
56840 break;
56841 }
56842 } else if (!(
56843 arrValue === othValue ||
56844 equalFunc(arrValue, othValue, customizer, bitmask, stack)
56845 )) {
56846 result = false;
56847 break;
56848 }
56849 }
56850 stack['delete'](array);
56851 stack['delete'](other);
56852 return result;
56853 }
56854
56855 /**
56856 * A specialized version of `baseIsEqualDeep` for comparing objects of
56857 * the same `toStringTag`.
56858 *
56859 * **Note:** This function only supports comparing values with tags of
56860 * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.
56861 *
56862 * @private
56863 * @param {Object} object The object to compare.
56864 * @param {Object} other The other object to compare.
56865 * @param {string} tag The `toStringTag` of the objects to compare.
56866 * @param {Function} equalFunc The function to determine equivalents of values.
56867 * @param {Function} customizer The function to customize comparisons.
56868 * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`
56869 * for more details.
56870 * @param {Object} stack Tracks traversed `object` and `other` objects.
56871 * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
56872 */
56873 function equalByTag(object, other, tag, equalFunc, customizer, bitmask, stack) {
56874 switch (tag) {
56875 case dataViewTag:
56876 if ((object.byteLength != other.byteLength) ||
56877 (object.byteOffset != other.byteOffset)) {
56878 return false;
56879 }
56880 object = object.buffer;
56881 other = other.buffer;
56882
56883 case arrayBufferTag:
56884 if ((object.byteLength != other.byteLength) ||
56885 !equalFunc(new Uint8Array(object), new Uint8Array(other))) {
56886 return false;
56887 }
56888 return true;
56889
56890 case boolTag:
56891 case dateTag:
56892 case numberTag:
56893 // Coerce booleans to `1` or `0` and dates to milliseconds.
56894 // Invalid dates are coerced to `NaN`.
56895 return eq(+object, +other);
56896
56897 case errorTag:
56898 return object.name == other.name && object.message == other.message;
56899
56900 case regexpTag:
56901 case stringTag:
56902 // Coerce regexes to strings and treat strings, primitives and objects,
56903 // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring
56904 // for more details.
56905 return object == (other + '');
56906
56907 case mapTag:
56908 var convert = mapToArray;
56909
56910 case setTag:
56911 var isPartial = bitmask & PARTIAL_COMPARE_FLAG;
56912 convert || (convert = setToArray);
56913
56914 if (object.size != other.size && !isPartial) {
56915 return false;
56916 }
56917 // Assume cyclic values are equal.
56918 var stacked = stack.get(object);
56919 if (stacked) {
56920 return stacked == other;
56921 }
56922 bitmask |= UNORDERED_COMPARE_FLAG;
56923
56924 // Recursively compare objects (susceptible to call stack limits).
56925 stack.set(object, other);
56926 var result = equalArrays(convert(object), convert(other), equalFunc, customizer, bitmask, stack);
56927 stack['delete'](object);
56928 return result;
56929
56930 case symbolTag:
56931 if (symbolValueOf) {
56932 return symbolValueOf.call(object) == symbolValueOf.call(other);
56933 }
56934 }
56935 return false;
56936 }
56937
56938 /**
56939 * A specialized version of `baseIsEqualDeep` for objects with support for
56940 * partial deep comparisons.
56941 *
56942 * @private
56943 * @param {Object} object The object to compare.
56944 * @param {Object} other The other object to compare.
56945 * @param {Function} equalFunc The function to determine equivalents of values.
56946 * @param {Function} customizer The function to customize comparisons.
56947 * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`
56948 * for more details.
56949 * @param {Object} stack Tracks traversed `object` and `other` objects.
56950 * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
56951 */
56952 function equalObjects(object, other, equalFunc, customizer, bitmask, stack) {
56953 var isPartial = bitmask & PARTIAL_COMPARE_FLAG,
56954 objProps = keys(object),
56955 objLength = objProps.length,
56956 othProps = keys(other),
56957 othLength = othProps.length;
56958
56959 if (objLength != othLength && !isPartial) {
56960 return false;
56961 }
56962 var index = objLength;
56963 while (index--) {
56964 var key = objProps[index];
56965 if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {
56966 return false;
56967 }
56968 }
56969 // Assume cyclic values are equal.
56970 var stacked = stack.get(object);
56971 if (stacked && stack.get(other)) {
56972 return stacked == other;
56973 }
56974 var result = true;
56975 stack.set(object, other);
56976 stack.set(other, object);
56977
56978 var skipCtor = isPartial;
56979 while (++index < objLength) {
56980 key = objProps[index];
56981 var objValue = object[key],
56982 othValue = other[key];
56983
56984 if (customizer) {
56985 var compared = isPartial
56986 ? customizer(othValue, objValue, key, other, object, stack)
56987 : customizer(objValue, othValue, key, object, other, stack);
56988 }
56989 // Recursively compare objects (susceptible to call stack limits).
56990 if (!(compared === undefined
56991 ? (objValue === othValue || equalFunc(objValue, othValue, customizer, bitmask, stack))
56992 : compared
56993 )) {
56994 result = false;
56995 break;
56996 }
56997 skipCtor || (skipCtor = key == 'constructor');
56998 }
56999 if (result && !skipCtor) {
57000 var objCtor = object.constructor,
57001 othCtor = other.constructor;
57002
57003 // Non `Object` object instances with different constructors are not equal.
57004 if (objCtor != othCtor &&
57005 ('constructor' in object && 'constructor' in other) &&
57006 !(typeof objCtor == 'function' && objCtor instanceof objCtor &&
57007 typeof othCtor == 'function' && othCtor instanceof othCtor)) {
57008 result = false;
57009 }
57010 }
57011 stack['delete'](object);
57012 stack['delete'](other);
57013 return result;
57014 }
57015
57016 /**
57017 * Gets the data for `map`.
57018 *
57019 * @private
57020 * @param {Object} map The map to query.
57021 * @param {string} key The reference key.
57022 * @returns {*} Returns the map data.
57023 */
57024 function getMapData(map, key) {
57025 var data = map.__data__;
57026 return isKeyable(key)
57027 ? data[typeof key == 'string' ? 'string' : 'hash']
57028 : data.map;
57029 }
57030
57031 /**
57032 * Gets the property names, values, and compare flags of `object`.
57033 *
57034 * @private
57035 * @param {Object} object The object to query.
57036 * @returns {Array} Returns the match data of `object`.
57037 */
57038 function getMatchData(object) {
57039 var result = keys(object),
57040 length = result.length;
57041
57042 while (length--) {
57043 var key = result[length],
57044 value = object[key];
57045
57046 result[length] = [key, value, isStrictComparable(value)];
57047 }
57048 return result;
57049 }
57050
57051 /**
57052 * Gets the native function at `key` of `object`.
57053 *
57054 * @private
57055 * @param {Object} object The object to query.
57056 * @param {string} key The key of the method to get.
57057 * @returns {*} Returns the function if it's native, else `undefined`.
57058 */
57059 function getNative(object, key) {
57060 var value = getValue(object, key);
57061 return baseIsNative(value) ? value : undefined;
57062 }
57063
57064 /**
57065 * Gets the `toStringTag` of `value`.
57066 *
57067 * @private
57068 * @param {*} value The value to query.
57069 * @returns {string} Returns the `toStringTag`.
57070 */
57071 var getTag = baseGetTag;
57072
57073 // Fallback for data views, maps, sets, and weak maps in IE 11,
57074 // for data views in Edge < 14, and promises in Node.js.
57075 if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||
57076 (Map && getTag(new Map) != mapTag) ||
57077 (Promise && getTag(Promise.resolve()) != promiseTag) ||
57078 (Set && getTag(new Set) != setTag) ||
57079 (WeakMap && getTag(new WeakMap) != weakMapTag)) {
57080 getTag = function(value) {
57081 var result = objectToString.call(value),
57082 Ctor = result == objectTag ? value.constructor : undefined,
57083 ctorString = Ctor ? toSource(Ctor) : undefined;
57084
57085 if (ctorString) {
57086 switch (ctorString) {
57087 case dataViewCtorString: return dataViewTag;
57088 case mapCtorString: return mapTag;
57089 case promiseCtorString: return promiseTag;
57090 case setCtorString: return setTag;
57091 case weakMapCtorString: return weakMapTag;
57092 }
57093 }
57094 return result;
57095 };
57096 }
57097
57098 /**
57099 * Checks if `path` exists on `object`.
57100 *
57101 * @private
57102 * @param {Object} object The object to query.
57103 * @param {Array|string} path The path to check.
57104 * @param {Function} hasFunc The function to check properties.
57105 * @returns {boolean} Returns `true` if `path` exists, else `false`.
57106 */
57107 function hasPath(object, path, hasFunc) {
57108 path = isKey(path, object) ? [path] : castPath(path);
57109
57110 var result,
57111 index = -1,
57112 length = path.length;
57113
57114 while (++index < length) {
57115 var key = toKey(path[index]);
57116 if (!(result = object != null && hasFunc(object, key))) {
57117 break;
57118 }
57119 object = object[key];
57120 }
57121 if (result) {
57122 return result;
57123 }
57124 var length = object ? object.length : 0;
57125 return !!length && isLength(length) && isIndex(key, length) &&
57126 (isArray(object) || isArguments(object));
57127 }
57128
57129 /**
57130 * Checks if `value` is a valid array-like index.
57131 *
57132 * @private
57133 * @param {*} value The value to check.
57134 * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.
57135 * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.
57136 */
57137 function isIndex(value, length) {
57138 length = length == null ? MAX_SAFE_INTEGER : length;
57139 return !!length &&
57140 (typeof value == 'number' || reIsUint.test(value)) &&
57141 (value > -1 && value % 1 == 0 && value < length);
57142 }
57143
57144 /**
57145 * Checks if `value` is a property name and not a property path.
57146 *
57147 * @private
57148 * @param {*} value The value to check.
57149 * @param {Object} [object] The object to query keys on.
57150 * @returns {boolean} Returns `true` if `value` is a property name, else `false`.
57151 */
57152 function isKey(value, object) {
57153 if (isArray(value)) {
57154 return false;
57155 }
57156 var type = typeof value;
57157 if (type == 'number' || type == 'symbol' || type == 'boolean' ||
57158 value == null || isSymbol(value)) {
57159 return true;
57160 }
57161 return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||
57162 (object != null && value in Object(object));
57163 }
57164
57165 /**
57166 * Checks if `value` is suitable for use as unique object key.
57167 *
57168 * @private
57169 * @param {*} value The value to check.
57170 * @returns {boolean} Returns `true` if `value` is suitable, else `false`.
57171 */
57172 function isKeyable(value) {
57173 var type = typeof value;
57174 return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')
57175 ? (value !== '__proto__')
57176 : (value === null);
57177 }
57178
57179 /**
57180 * Checks if `func` has its source masked.
57181 *
57182 * @private
57183 * @param {Function} func The function to check.
57184 * @returns {boolean} Returns `true` if `func` is masked, else `false`.
57185 */
57186 function isMasked(func) {
57187 return !!maskSrcKey && (maskSrcKey in func);
57188 }
57189
57190 /**
57191 * Checks if `value` is likely a prototype object.
57192 *
57193 * @private
57194 * @param {*} value The value to check.
57195 * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.
57196 */
57197 function isPrototype(value) {
57198 var Ctor = value && value.constructor,
57199 proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;
57200
57201 return value === proto;
57202 }
57203
57204 /**
57205 * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.
57206 *
57207 * @private
57208 * @param {*} value The value to check.
57209 * @returns {boolean} Returns `true` if `value` if suitable for strict
57210 * equality comparisons, else `false`.
57211 */
57212 function isStrictComparable(value) {
57213 return value === value && !isObject(value);
57214 }
57215
57216 /**
57217 * A specialized version of `matchesProperty` for source values suitable
57218 * for strict equality comparisons, i.e. `===`.
57219 *
57220 * @private
57221 * @param {string} key The key of the property to get.
57222 * @param {*} srcValue The value to match.
57223 * @returns {Function} Returns the new spec function.
57224 */
57225 function matchesStrictComparable(key, srcValue) {
57226 return function(object) {
57227 if (object == null) {
57228 return false;
57229 }
57230 return object[key] === srcValue &&
57231 (srcValue !== undefined || (key in Object(object)));
57232 };
57233 }
57234
57235 /**
57236 * Converts `string` to a property path array.
57237 *
57238 * @private
57239 * @param {string} string The string to convert.
57240 * @returns {Array} Returns the property path array.
57241 */
57242 var stringToPath = memoize(function(string) {
57243 string = toString(string);
57244
57245 var result = [];
57246 if (reLeadingDot.test(string)) {
57247 result.push('');
57248 }
57249 string.replace(rePropName, function(match, number, quote, string) {
57250 result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match));
57251 });
57252 return result;
57253 });
57254
57255 /**
57256 * Converts `value` to a string key if it's not a string or symbol.
57257 *
57258 * @private
57259 * @param {*} value The value to inspect.
57260 * @returns {string|symbol} Returns the key.
57261 */
57262 function toKey(value) {
57263 if (typeof value == 'string' || isSymbol(value)) {
57264 return value;
57265 }
57266 var result = (value + '');
57267 return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;
57268 }
57269
57270 /**
57271 * Converts `func` to its source code.
57272 *
57273 * @private
57274 * @param {Function} func The function to process.
57275 * @returns {string} Returns the source code.
57276 */
57277 function toSource(func) {
57278 if (func != null) {
57279 try {
57280 return funcToString.call(func);
57281 } catch (e) {}
57282 try {
57283 return (func + '');
57284 } catch (e) {}
57285 }
57286 return '';
57287 }
57288
57289 /**
57290 * This method is like `_.find` except that it returns the index of the first
57291 * element `predicate` returns truthy for instead of the element itself.
57292 *
57293 * @static
57294 * @memberOf _
57295 * @since 1.1.0
57296 * @category Array
57297 * @param {Array} array The array to inspect.
57298 * @param {Function} [predicate=_.identity]
57299 * The function invoked per iteration.
57300 * @param {number} [fromIndex=0] The index to search from.
57301 * @returns {number} Returns the index of the found element, else `-1`.
57302 * @example
57303 *
57304 * var users = [
57305 * { 'user': 'barney', 'active': false },
57306 * { 'user': 'fred', 'active': false },
57307 * { 'user': 'pebbles', 'active': true }
57308 * ];
57309 *
57310 * _.findIndex(users, function(o) { return o.user == 'barney'; });
57311 * // => 0
57312 *
57313 * // The `_.matches` iteratee shorthand.
57314 * _.findIndex(users, { 'user': 'fred', 'active': false });
57315 * // => 1
57316 *
57317 * // The `_.matchesProperty` iteratee shorthand.
57318 * _.findIndex(users, ['active', false]);
57319 * // => 0
57320 *
57321 * // The `_.property` iteratee shorthand.
57322 * _.findIndex(users, 'active');
57323 * // => 2
57324 */
57325 function findIndex(array, predicate, fromIndex) {
57326 var length = array ? array.length : 0;
57327 if (!length) {
57328 return -1;
57329 }
57330 var index = fromIndex == null ? 0 : toInteger(fromIndex);
57331 if (index < 0) {
57332 index = nativeMax(length + index, 0);
57333 }
57334 return baseFindIndex(array, baseIteratee(predicate, 3), index);
57335 }
57336
57337 /**
57338 * Creates a function that memoizes the result of `func`. If `resolver` is
57339 * provided, it determines the cache key for storing the result based on the
57340 * arguments provided to the memoized function. By default, the first argument
57341 * provided to the memoized function is used as the map cache key. The `func`
57342 * is invoked with the `this` binding of the memoized function.
57343 *
57344 * **Note:** The cache is exposed as the `cache` property on the memoized
57345 * function. Its creation may be customized by replacing the `_.memoize.Cache`
57346 * constructor with one whose instances implement the
57347 * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)
57348 * method interface of `delete`, `get`, `has`, and `set`.
57349 *
57350 * @static
57351 * @memberOf _
57352 * @since 0.1.0
57353 * @category Function
57354 * @param {Function} func The function to have its output memoized.
57355 * @param {Function} [resolver] The function to resolve the cache key.
57356 * @returns {Function} Returns the new memoized function.
57357 * @example
57358 *
57359 * var object = { 'a': 1, 'b': 2 };
57360 * var other = { 'c': 3, 'd': 4 };
57361 *
57362 * var values = _.memoize(_.values);
57363 * values(object);
57364 * // => [1, 2]
57365 *
57366 * values(other);
57367 * // => [3, 4]
57368 *
57369 * object.a = 2;
57370 * values(object);
57371 * // => [1, 2]
57372 *
57373 * // Modify the result cache.
57374 * values.cache.set(object, ['a', 'b']);
57375 * values(object);
57376 * // => ['a', 'b']
57377 *
57378 * // Replace `_.memoize.Cache`.
57379 * _.memoize.Cache = WeakMap;
57380 */
57381 function memoize(func, resolver) {
57382 if (typeof func != 'function' || (resolver && typeof resolver != 'function')) {
57383 throw new TypeError(FUNC_ERROR_TEXT);
57384 }
57385 var memoized = function() {
57386 var args = arguments,
57387 key = resolver ? resolver.apply(this, args) : args[0],
57388 cache = memoized.cache;
57389
57390 if (cache.has(key)) {
57391 return cache.get(key);
57392 }
57393 var result = func.apply(this, args);
57394 memoized.cache = cache.set(key, result);
57395 return result;
57396 };
57397 memoized.cache = new (memoize.Cache || MapCache);
57398 return memoized;
57399 }
57400
57401 // Assign cache to `_.memoize`.
57402 memoize.Cache = MapCache;
57403
57404 /**
57405 * Performs a
57406 * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
57407 * comparison between two values to determine if they are equivalent.
57408 *
57409 * @static
57410 * @memberOf _
57411 * @since 4.0.0
57412 * @category Lang
57413 * @param {*} value The value to compare.
57414 * @param {*} other The other value to compare.
57415 * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
57416 * @example
57417 *
57418 * var object = { 'a': 1 };
57419 * var other = { 'a': 1 };
57420 *
57421 * _.eq(object, object);
57422 * // => true
57423 *
57424 * _.eq(object, other);
57425 * // => false
57426 *
57427 * _.eq('a', 'a');
57428 * // => true
57429 *
57430 * _.eq('a', Object('a'));
57431 * // => false
57432 *
57433 * _.eq(NaN, NaN);
57434 * // => true
57435 */
57436 function eq(value, other) {
57437 return value === other || (value !== value && other !== other);
57438 }
57439
57440 /**
57441 * Checks if `value` is likely an `arguments` object.
57442 *
57443 * @static
57444 * @memberOf _
57445 * @since 0.1.0
57446 * @category Lang
57447 * @param {*} value The value to check.
57448 * @returns {boolean} Returns `true` if `value` is an `arguments` object,
57449 * else `false`.
57450 * @example
57451 *
57452 * _.isArguments(function() { return arguments; }());
57453 * // => true
57454 *
57455 * _.isArguments([1, 2, 3]);
57456 * // => false
57457 */
57458 function isArguments(value) {
57459 // Safari 8.1 makes `arguments.callee` enumerable in strict mode.
57460 return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&
57461 (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);
57462 }
57463
57464 /**
57465 * Checks if `value` is classified as an `Array` object.
57466 *
57467 * @static
57468 * @memberOf _
57469 * @since 0.1.0
57470 * @category Lang
57471 * @param {*} value The value to check.
57472 * @returns {boolean} Returns `true` if `value` is an array, else `false`.
57473 * @example
57474 *
57475 * _.isArray([1, 2, 3]);
57476 * // => true
57477 *
57478 * _.isArray(document.body.children);
57479 * // => false
57480 *
57481 * _.isArray('abc');
57482 * // => false
57483 *
57484 * _.isArray(_.noop);
57485 * // => false
57486 */
57487 var isArray = Array.isArray;
57488
57489 /**
57490 * Checks if `value` is array-like. A value is considered array-like if it's
57491 * not a function and has a `value.length` that's an integer greater than or
57492 * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.
57493 *
57494 * @static
57495 * @memberOf _
57496 * @since 4.0.0
57497 * @category Lang
57498 * @param {*} value The value to check.
57499 * @returns {boolean} Returns `true` if `value` is array-like, else `false`.
57500 * @example
57501 *
57502 * _.isArrayLike([1, 2, 3]);
57503 * // => true
57504 *
57505 * _.isArrayLike(document.body.children);
57506 * // => true
57507 *
57508 * _.isArrayLike('abc');
57509 * // => true
57510 *
57511 * _.isArrayLike(_.noop);
57512 * // => false
57513 */
57514 function isArrayLike(value) {
57515 return value != null && isLength(value.length) && !isFunction(value);
57516 }
57517
57518 /**
57519 * This method is like `_.isArrayLike` except that it also checks if `value`
57520 * is an object.
57521 *
57522 * @static
57523 * @memberOf _
57524 * @since 4.0.0
57525 * @category Lang
57526 * @param {*} value The value to check.
57527 * @returns {boolean} Returns `true` if `value` is an array-like object,
57528 * else `false`.
57529 * @example
57530 *
57531 * _.isArrayLikeObject([1, 2, 3]);
57532 * // => true
57533 *
57534 * _.isArrayLikeObject(document.body.children);
57535 * // => true
57536 *
57537 * _.isArrayLikeObject('abc');
57538 * // => false
57539 *
57540 * _.isArrayLikeObject(_.noop);
57541 * // => false
57542 */
57543 function isArrayLikeObject(value) {
57544 return isObjectLike(value) && isArrayLike(value);
57545 }
57546
57547 /**
57548 * Checks if `value` is classified as a `Function` object.
57549 *
57550 * @static
57551 * @memberOf _
57552 * @since 0.1.0
57553 * @category Lang
57554 * @param {*} value The value to check.
57555 * @returns {boolean} Returns `true` if `value` is a function, else `false`.
57556 * @example
57557 *
57558 * _.isFunction(_);
57559 * // => true
57560 *
57561 * _.isFunction(/abc/);
57562 * // => false
57563 */
57564 function isFunction(value) {
57565 // The use of `Object#toString` avoids issues with the `typeof` operator
57566 // in Safari 8-9 which returns 'object' for typed array and other constructors.
57567 var tag = isObject(value) ? objectToString.call(value) : '';
57568 return tag == funcTag || tag == genTag;
57569 }
57570
57571 /**
57572 * Checks if `value` is a valid array-like length.
57573 *
57574 * **Note:** This method is loosely based on
57575 * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).
57576 *
57577 * @static
57578 * @memberOf _
57579 * @since 4.0.0
57580 * @category Lang
57581 * @param {*} value The value to check.
57582 * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.
57583 * @example
57584 *
57585 * _.isLength(3);
57586 * // => true
57587 *
57588 * _.isLength(Number.MIN_VALUE);
57589 * // => false
57590 *
57591 * _.isLength(Infinity);
57592 * // => false
57593 *
57594 * _.isLength('3');
57595 * // => false
57596 */
57597 function isLength(value) {
57598 return typeof value == 'number' &&
57599 value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
57600 }
57601
57602 /**
57603 * Checks if `value` is the
57604 * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
57605 * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
57606 *
57607 * @static
57608 * @memberOf _
57609 * @since 0.1.0
57610 * @category Lang
57611 * @param {*} value The value to check.
57612 * @returns {boolean} Returns `true` if `value` is an object, else `false`.
57613 * @example
57614 *
57615 * _.isObject({});
57616 * // => true
57617 *
57618 * _.isObject([1, 2, 3]);
57619 * // => true
57620 *
57621 * _.isObject(_.noop);
57622 * // => true
57623 *
57624 * _.isObject(null);
57625 * // => false
57626 */
57627 function isObject(value) {
57628 var type = typeof value;
57629 return !!value && (type == 'object' || type == 'function');
57630 }
57631
57632 /**
57633 * Checks if `value` is object-like. A value is object-like if it's not `null`
57634 * and has a `typeof` result of "object".
57635 *
57636 * @static
57637 * @memberOf _
57638 * @since 4.0.0
57639 * @category Lang
57640 * @param {*} value The value to check.
57641 * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
57642 * @example
57643 *
57644 * _.isObjectLike({});
57645 * // => true
57646 *
57647 * _.isObjectLike([1, 2, 3]);
57648 * // => true
57649 *
57650 * _.isObjectLike(_.noop);
57651 * // => false
57652 *
57653 * _.isObjectLike(null);
57654 * // => false
57655 */
57656 function isObjectLike(value) {
57657 return !!value && typeof value == 'object';
57658 }
57659
57660 /**
57661 * Checks if `value` is classified as a `Symbol` primitive or object.
57662 *
57663 * @static
57664 * @memberOf _
57665 * @since 4.0.0
57666 * @category Lang
57667 * @param {*} value The value to check.
57668 * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.
57669 * @example
57670 *
57671 * _.isSymbol(Symbol.iterator);
57672 * // => true
57673 *
57674 * _.isSymbol('abc');
57675 * // => false
57676 */
57677 function isSymbol(value) {
57678 return typeof value == 'symbol' ||
57679 (isObjectLike(value) && objectToString.call(value) == symbolTag);
57680 }
57681
57682 /**
57683 * Checks if `value` is classified as a typed array.
57684 *
57685 * @static
57686 * @memberOf _
57687 * @since 3.0.0
57688 * @category Lang
57689 * @param {*} value The value to check.
57690 * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.
57691 * @example
57692 *
57693 * _.isTypedArray(new Uint8Array);
57694 * // => true
57695 *
57696 * _.isTypedArray([]);
57697 * // => false
57698 */
57699 var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;
57700
57701 /**
57702 * Converts `value` to a finite number.
57703 *
57704 * @static
57705 * @memberOf _
57706 * @since 4.12.0
57707 * @category Lang
57708 * @param {*} value The value to convert.
57709 * @returns {number} Returns the converted number.
57710 * @example
57711 *
57712 * _.toFinite(3.2);
57713 * // => 3.2
57714 *
57715 * _.toFinite(Number.MIN_VALUE);
57716 * // => 5e-324
57717 *
57718 * _.toFinite(Infinity);
57719 * // => 1.7976931348623157e+308
57720 *
57721 * _.toFinite('3.2');
57722 * // => 3.2
57723 */
57724 function toFinite(value) {
57725 if (!value) {
57726 return value === 0 ? value : 0;
57727 }
57728 value = toNumber(value);
57729 if (value === INFINITY || value === -INFINITY) {
57730 var sign = (value < 0 ? -1 : 1);
57731 return sign * MAX_INTEGER;
57732 }
57733 return value === value ? value : 0;
57734 }
57735
57736 /**
57737 * Converts `value` to an integer.
57738 *
57739 * **Note:** This method is loosely based on
57740 * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).
57741 *
57742 * @static
57743 * @memberOf _
57744 * @since 4.0.0
57745 * @category Lang
57746 * @param {*} value The value to convert.
57747 * @returns {number} Returns the converted integer.
57748 * @example
57749 *
57750 * _.toInteger(3.2);
57751 * // => 3
57752 *
57753 * _.toInteger(Number.MIN_VALUE);
57754 * // => 0
57755 *
57756 * _.toInteger(Infinity);
57757 * // => 1.7976931348623157e+308
57758 *
57759 * _.toInteger('3.2');
57760 * // => 3
57761 */
57762 function toInteger(value) {
57763 var result = toFinite(value),
57764 remainder = result % 1;
57765
57766 return result === result ? (remainder ? result - remainder : result) : 0;
57767 }
57768
57769 /**
57770 * Converts `value` to a number.
57771 *
57772 * @static
57773 * @memberOf _
57774 * @since 4.0.0
57775 * @category Lang
57776 * @param {*} value The value to process.
57777 * @returns {number} Returns the number.
57778 * @example
57779 *
57780 * _.toNumber(3.2);
57781 * // => 3.2
57782 *
57783 * _.toNumber(Number.MIN_VALUE);
57784 * // => 5e-324
57785 *
57786 * _.toNumber(Infinity);
57787 * // => Infinity
57788 *
57789 * _.toNumber('3.2');
57790 * // => 3.2
57791 */
57792 function toNumber(value) {
57793 if (typeof value == 'number') {
57794 return value;
57795 }
57796 if (isSymbol(value)) {
57797 return NAN;
57798 }
57799 if (isObject(value)) {
57800 var other = typeof value.valueOf == 'function' ? value.valueOf() : value;
57801 value = isObject(other) ? (other + '') : other;
57802 }
57803 if (typeof value != 'string') {
57804 return value === 0 ? value : +value;
57805 }
57806 value = value.replace(reTrim, '');
57807 var isBinary = reIsBinary.test(value);
57808 return (isBinary || reIsOctal.test(value))
57809 ? freeParseInt(value.slice(2), isBinary ? 2 : 8)
57810 : (reIsBadHex.test(value) ? NAN : +value);
57811 }
57812
57813 /**
57814 * Converts `value` to a string. An empty string is returned for `null`
57815 * and `undefined` values. The sign of `-0` is preserved.
57816 *
57817 * @static
57818 * @memberOf _
57819 * @since 4.0.0
57820 * @category Lang
57821 * @param {*} value The value to process.
57822 * @returns {string} Returns the string.
57823 * @example
57824 *
57825 * _.toString(null);
57826 * // => ''
57827 *
57828 * _.toString(-0);
57829 * // => '-0'
57830 *
57831 * _.toString([1, 2, 3]);
57832 * // => '1,2,3'
57833 */
57834 function toString(value) {
57835 return value == null ? '' : baseToString(value);
57836 }
57837
57838 /**
57839 * Gets the value at `path` of `object`. If the resolved value is
57840 * `undefined`, the `defaultValue` is returned in its place.
57841 *
57842 * @static
57843 * @memberOf _
57844 * @since 3.7.0
57845 * @category Object
57846 * @param {Object} object The object to query.
57847 * @param {Array|string} path The path of the property to get.
57848 * @param {*} [defaultValue] The value returned for `undefined` resolved values.
57849 * @returns {*} Returns the resolved value.
57850 * @example
57851 *
57852 * var object = { 'a': [{ 'b': { 'c': 3 } }] };
57853 *
57854 * _.get(object, 'a[0].b.c');
57855 * // => 3
57856 *
57857 * _.get(object, ['a', '0', 'b', 'c']);
57858 * // => 3
57859 *
57860 * _.get(object, 'a.b.c', 'default');
57861 * // => 'default'
57862 */
57863 function get(object, path, defaultValue) {
57864 var result = object == null ? undefined : baseGet(object, path);
57865 return result === undefined ? defaultValue : result;
57866 }
57867
57868 /**
57869 * Checks if `path` is a direct or inherited property of `object`.
57870 *
57871 * @static
57872 * @memberOf _
57873 * @since 4.0.0
57874 * @category Object
57875 * @param {Object} object The object to query.
57876 * @param {Array|string} path The path to check.
57877 * @returns {boolean} Returns `true` if `path` exists, else `false`.
57878 * @example
57879 *
57880 * var object = _.create({ 'a': _.create({ 'b': 2 }) });
57881 *
57882 * _.hasIn(object, 'a');
57883 * // => true
57884 *
57885 * _.hasIn(object, 'a.b');
57886 * // => true
57887 *
57888 * _.hasIn(object, ['a', 'b']);
57889 * // => true
57890 *
57891 * _.hasIn(object, 'b');
57892 * // => false
57893 */
57894 function hasIn(object, path) {
57895 return object != null && hasPath(object, path, baseHasIn);
57896 }
57897
57898 /**
57899 * Creates an array of the own enumerable property names of `object`.
57900 *
57901 * **Note:** Non-object values are coerced to objects. See the
57902 * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)
57903 * for more details.
57904 *
57905 * @static
57906 * @since 0.1.0
57907 * @memberOf _
57908 * @category Object
57909 * @param {Object} object The object to query.
57910 * @returns {Array} Returns the array of property names.
57911 * @example
57912 *
57913 * function Foo() {
57914 * this.a = 1;
57915 * this.b = 2;
57916 * }
57917 *
57918 * Foo.prototype.c = 3;
57919 *
57920 * _.keys(new Foo);
57921 * // => ['a', 'b'] (iteration order is not guaranteed)
57922 *
57923 * _.keys('hi');
57924 * // => ['0', '1']
57925 */
57926 function keys(object) {
57927 return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);
57928 }
57929
57930 /**
57931 * This method returns the first argument it receives.
57932 *
57933 * @static
57934 * @since 0.1.0
57935 * @memberOf _
57936 * @category Util
57937 * @param {*} value Any value.
57938 * @returns {*} Returns `value`.
57939 * @example
57940 *
57941 * var object = { 'a': 1 };
57942 *
57943 * console.log(_.identity(object) === object);
57944 * // => true
57945 */
57946 function identity(value) {
57947 return value;
57948 }
57949
57950 /**
57951 * Creates a function that returns the value at `path` of a given object.
57952 *
57953 * @static
57954 * @memberOf _
57955 * @since 2.4.0
57956 * @category Util
57957 * @param {Array|string} path The path of the property to get.
57958 * @returns {Function} Returns the new accessor function.
57959 * @example
57960 *
57961 * var objects = [
57962 * { 'a': { 'b': 2 } },
57963 * { 'a': { 'b': 1 } }
57964 * ];
57965 *
57966 * _.map(objects, _.property('a.b'));
57967 * // => [2, 1]
57968 *
57969 * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');
57970 * // => [1, 2]
57971 */
57972 function property(path) {
57973 return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);
57974 }
57975
57976 module.exports = findIndex;
57977
57978 /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()), __webpack_require__(328)(module)))
57979
57980/***/ }),
57981/* 561 */
57982/***/ (function(module, exports, __webpack_require__) {
57983
57984 'use strict';
57985
57986 Object.defineProperty(exports, "__esModule", {
57987 value: true
57988 });
57989
57990 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; };
57991
57992 var _react = __webpack_require__(4);
57993
57994 var _react2 = _interopRequireDefault(_react);
57995
57996 var _reactDom = __webpack_require__(12);
57997
57998 var _reactDom2 = _interopRequireDefault(_reactDom);
57999
58000 var _src = __webpack_require__(68);
58001
58002 var _src2 = _interopRequireDefault(_src);
58003
58004 var _beeFormControl = __webpack_require__(257);
58005
58006 var _beeFormControl2 = _interopRequireDefault(_beeFormControl);
58007
58008 var _beeLayout = __webpack_require__(1);
58009
58010 var _beeSelect = __webpack_require__(268);
58011
58012 var _beeSelect2 = _interopRequireDefault(_beeSelect);
58013
58014 var _beeRadio = __webpack_require__(306);
58015
58016 var _beeRadio2 = _interopRequireDefault(_beeRadio);
58017
58018 var _beeDatepicker = __webpack_require__(310);
58019
58020 var _beeDatepicker2 = _interopRequireDefault(_beeDatepicker);
58021
58022 var _beeCheckbox = __webpack_require__(265);
58023
58024 var _beeCheckbox2 = _interopRequireDefault(_beeCheckbox);
58025
58026 var _beeSwitch = __webpack_require__(513);
58027
58028 var _beeSwitch2 = _interopRequireDefault(_beeSwitch);
58029
58030 var _beeLabel = __webpack_require__(261);
58031
58032 var _beeLabel2 = _interopRequireDefault(_beeLabel);
58033
58034 var _beeButton = __webpack_require__(65);
58035
58036 var _beeButton2 = _interopRequireDefault(_beeButton);
58037
58038 var _moment = __webpack_require__(327);
58039
58040 var _moment2 = _interopRequireDefault(_moment);
58041
58042 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
58043
58044 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; }
58045
58046 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
58047
58048 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; }
58049
58050 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); } /**
58051 *
58052 * @title 多种表单元素示例
58053 * @description 查询面板
58054 */
58055
58056
58057 var FormItem = _src2['default'].FormItem;
58058 var Option = _beeSelect2['default'].Option;
58059 var RangePicker = _beeDatepicker2['default'].RangePicker;
58060
58061
58062 var Demo5 = _src2['default'].createForm()(function (_Component) {
58063 _inherits(Demo, _Component);
58064
58065 function Demo(props) {
58066 _classCallCheck(this, Demo);
58067
58068 var _this = _possibleConstructorReturn(this, _Component.call(this, props));
58069
58070 _this.submit = function (e) {
58071 _this.props.form.validateFields(function (err, values) {
58072 if (err) {
58073 console.log('校验失败', values);
58074 } else {
58075 console.log('提交成功', values);
58076 }
58077 });
58078 };
58079
58080 _this.reset = function () {
58081 _this.props.form.resetFields();
58082 _this.setState({
58083 approvalState: '',
58084 closeState: '',
58085 confirmState: '',
58086 voucherDate: []
58087 });
58088 };
58089
58090 _this.state = {
58091 approvalState: '',
58092 closeState: '',
58093 confirmState: '',
58094 voucherDate: [],
58095 orderTypes: [{
58096 'code': '001',
58097 'name': '类型1'
58098 }, {
58099 'code': '002',
58100 'name': '类型2'
58101 }, {
58102 'code': '003',
58103 'name': '类型3'
58104 }]
58105 };
58106 return _this;
58107 }
58108
58109 Demo.prototype.render = function render() {
58110 var _props$form = this.props.form,
58111 getFieldProps = _props$form.getFieldProps,
58112 getFieldError = _props$form.getFieldError;
58113
58114 var self = this;
58115 return _react2['default'].createElement(
58116 'div',
58117 null,
58118 _react2['default'].createElement(
58119 _src2['default'],
58120 { className: 'demo5' },
58121 _react2['default'].createElement(
58122 _beeLayout.Row,
58123 null,
58124 _react2['default'].createElement(
58125 _beeLayout.Col,
58126 { lg: 4, md: 6, xs: 12 },
58127 _react2['default'].createElement(
58128 FormItem,
58129 null,
58130 _react2['default'].createElement(
58131 _beeLabel2['default'],
58132 null,
58133 '\u8BA2\u5355\u7F16\u53F7\uFF1A'
58134 ),
58135 _react2['default'].createElement(_beeFormControl2['default'], getFieldProps('orderCode', {
58136 initialValue: ''
58137 }))
58138 )
58139 ),
58140 _react2['default'].createElement(
58141 _beeLayout.Col,
58142 { lg: 4, md: 6, xs: 12 },
58143 _react2['default'].createElement(
58144 FormItem,
58145 null,
58146 _react2['default'].createElement(
58147 _beeLabel2['default'],
58148 null,
58149 '\u4F9B\u5E94\u5546\u540D\u79F0\uFF1A'
58150 ),
58151 _react2['default'].createElement(_beeFormControl2['default'], getFieldProps('supplierName', {
58152 initialValue: ''
58153 }))
58154 )
58155 ),
58156 _react2['default'].createElement(
58157 _beeLayout.Col,
58158 { lg: 4, md: 6, xs: 4 },
58159 _react2['default'].createElement(
58160 FormItem,
58161 null,
58162 _react2['default'].createElement(
58163 _beeLabel2['default'],
58164 { className: 'time' },
58165 '\u51ED\u8BC1\u65E5\u671F\uFF1A'
58166 ),
58167 _react2['default'].createElement(RangePicker, _extends({
58168 defaultValue: this.state.voucherDate,
58169 placeholder: '开始 ~ 结束',
58170 dateInputPlaceholder: ['开始', '结束']
58171 }, getFieldProps('voucherDate', {
58172 onChange: function onChange(v) {
58173 self.setState({
58174 voucherDate: v
58175 });
58176 }
58177 })))
58178 )
58179 ),
58180 _react2['default'].createElement(
58181 _beeLayout.Col,
58182 { lg: 4, md: 6, xs: 12 },
58183 _react2['default'].createElement(
58184 FormItem,
58185 null,
58186 _react2['default'].createElement(
58187 _beeLabel2['default'],
58188 null,
58189 '\u8BA2\u5355\u7C7B\u578B\uFF1A'
58190 ),
58191 _react2['default'].createElement(
58192 _beeSelect2['default'],
58193 getFieldProps('type', {
58194 initialValue: ''
58195 }),
58196 _react2['default'].createElement(
58197 Option,
58198 { value: '' },
58199 '\u8BF7\u9009\u62E9'
58200 ),
58201 self.state.orderTypes.map(function (item, index) {
58202 return _react2['default'].createElement(
58203 Option,
58204 { key: index, value: item.code },
58205 item.name
58206 );
58207 })
58208 )
58209 )
58210 ),
58211 _react2['default'].createElement(
58212 _beeLayout.Col,
58213 { lg: 4, md: 6, xs: 12 },
58214 _react2['default'].createElement(
58215 FormItem,
58216 null,
58217 _react2['default'].createElement(
58218 _beeLabel2['default'],
58219 null,
58220 '\u91C7\u8D2D\u7EC4\uFF1A'
58221 ),
58222 _react2['default'].createElement(_beeFormControl2['default'], getFieldProps('purchasingGroup', {
58223 initialValue: ''
58224 }))
58225 )
58226 ),
58227 _react2['default'].createElement(
58228 _beeLayout.Col,
58229 { lg: 4, md: 6, xs: 12 },
58230 _react2['default'].createElement(
58231 FormItem,
58232 null,
58233 _react2['default'].createElement(
58234 _beeLabel2['default'],
58235 null,
58236 '\u5BA1\u6279\u72B6\u6001\uFF1A'
58237 ),
58238 _react2['default'].createElement(
58239 _beeRadio2['default'].RadioGroup,
58240 _extends({
58241 selectedValue: this.state.approvalState
58242 }, getFieldProps('approvalState', {
58243 initialValue: '',
58244 onChange: function onChange(value) {
58245 self.setState({ approvalState: value });
58246 }
58247 })),
58248 _react2['default'].createElement(
58249 _beeRadio2['default'],
58250 { value: '0' },
58251 '\u672A\u5BA1\u6279'
58252 ),
58253 _react2['default'].createElement(
58254 _beeRadio2['default'],
58255 { value: '1' },
58256 '\u5DF2\u5BA1\u6279'
58257 ),
58258 _react2['default'].createElement(
58259 _beeRadio2['default'],
58260 { value: '' },
58261 '\u5168\u90E8'
58262 )
58263 )
58264 )
58265 ),
58266 _react2['default'].createElement(
58267 _beeLayout.Col,
58268 { lg: 4, md: 6, xs: 12 },
58269 _react2['default'].createElement(
58270 FormItem,
58271 null,
58272 _react2['default'].createElement(
58273 _beeLabel2['default'],
58274 null,
58275 '\u5173\u95ED\u72B6\u6001\uFF1A'
58276 ),
58277 _react2['default'].createElement(
58278 _beeRadio2['default'].RadioGroup,
58279 _extends({
58280 selectedValue: this.state.closeState
58281 }, getFieldProps('closeState', {
58282 initialValue: '',
58283 onChange: function onChange(value) {
58284 self.setState({ closeState: value });
58285 }
58286 })),
58287 _react2['default'].createElement(
58288 _beeRadio2['default'],
58289 { value: '0' },
58290 '\u672A\u5173\u95ED'
58291 ),
58292 _react2['default'].createElement(
58293 _beeRadio2['default'],
58294 { value: '1' },
58295 '\u5DF2\u5173\u95ED'
58296 ),
58297 _react2['default'].createElement(
58298 _beeRadio2['default'],
58299 { value: '' },
58300 '\u5168\u90E8'
58301 )
58302 )
58303 )
58304 ),
58305 _react2['default'].createElement(
58306 _beeLayout.Col,
58307 { lg: 4, md: 6, xs: 12 },
58308 _react2['default'].createElement(
58309 FormItem,
58310 null,
58311 _react2['default'].createElement(
58312 _beeLabel2['default'],
58313 null,
58314 '\u786E\u8BA4\u72B6\u6001\uFF1A'
58315 ),
58316 _react2['default'].createElement(
58317 _beeRadio2['default'].RadioGroup,
58318 _extends({
58319 selectedValue: this.state.confirmState
58320 }, getFieldProps('confirmState', {
58321 initialValue: '',
58322 onChange: function onChange(value) {
58323 self.setState({ confirmState: value });
58324 }
58325 })),
58326 _react2['default'].createElement(
58327 _beeRadio2['default'],
58328 { value: '0' },
58329 '\u672A\u786E\u8BA4'
58330 ),
58331 _react2['default'].createElement(
58332 _beeRadio2['default'],
58333 { value: '1' },
58334 '\u5DF2\u786E\u8BA4'
58335 ),
58336 _react2['default'].createElement(
58337 _beeRadio2['default'],
58338 { value: '' },
58339 '\u5168\u90E8'
58340 )
58341 )
58342 )
58343 ),
58344 _react2['default'].createElement(
58345 _beeLayout.Col,
58346 { lg: 4, md: 6, xs: 12 },
58347 _react2['default'].createElement(
58348 FormItem,
58349 null,
58350 _react2['default'].createElement(
58351 _beeLabel2['default'],
58352 null,
58353 '\u672A\u5206\u914D\uFF1A'
58354 ),
58355 _react2['default'].createElement(_beeCheckbox2['default'], { colors: 'primary' })
58356 )
58357 )
58358 ),
58359 _react2['default'].createElement(
58360 'div',
58361 { className: 'submit' },
58362 _react2['default'].createElement(
58363 _beeButton2['default'],
58364 { colors: 'primary', className: 'login', onClick: this.submit },
58365 '\u67E5\u8BE2'
58366 ),
58367 _react2['default'].createElement(
58368 _beeButton2['default'],
58369 { shape: 'border', className: 'reset', onClick: this.reset },
58370 '\u91CD\u7F6E'
58371 )
58372 )
58373 )
58374 );
58375 };
58376
58377 return Demo;
58378 }(_react.Component));
58379 exports['default'] = Demo5;
58380 module.exports = exports['default'];
58381
58382/***/ }),
58383/* 562 */
58384/***/ (function(module, exports, __webpack_require__) {
58385
58386 'use strict';
58387
58388 Object.defineProperty(exports, "__esModule", {
58389 value: true
58390 });
58391
58392 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; };
58393
58394 var _react = __webpack_require__(4);
58395
58396 var _react2 = _interopRequireDefault(_react);
58397
58398 var _reactDom = __webpack_require__(12);
58399
58400 var _reactDom2 = _interopRequireDefault(_reactDom);
58401
58402 var _src = __webpack_require__(68);
58403
58404 var _src2 = _interopRequireDefault(_src);
58405
58406 var _beeFormControl = __webpack_require__(257);
58407
58408 var _beeFormControl2 = _interopRequireDefault(_beeFormControl);
58409
58410 var _beeLayout = __webpack_require__(1);
58411
58412 var _beeSelect = __webpack_require__(268);
58413
58414 var _beeSelect2 = _interopRequireDefault(_beeSelect);
58415
58416 var _beeRadio = __webpack_require__(306);
58417
58418 var _beeRadio2 = _interopRequireDefault(_beeRadio);
58419
58420 var _beeDatepicker = __webpack_require__(310);
58421
58422 var _beeDatepicker2 = _interopRequireDefault(_beeDatepicker);
58423
58424 var _beeCheckbox = __webpack_require__(265);
58425
58426 var _beeCheckbox2 = _interopRequireDefault(_beeCheckbox);
58427
58428 var _beeSwitch = __webpack_require__(513);
58429
58430 var _beeSwitch2 = _interopRequireDefault(_beeSwitch);
58431
58432 var _beeLabel = __webpack_require__(261);
58433
58434 var _beeLabel2 = _interopRequireDefault(_beeLabel);
58435
58436 var _beeButton = __webpack_require__(65);
58437
58438 var _beeButton2 = _interopRequireDefault(_beeButton);
58439
58440 var _moment = __webpack_require__(327);
58441
58442 var _moment2 = _interopRequireDefault(_moment);
58443
58444 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
58445
58446 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; }
58447
58448 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
58449
58450 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; }
58451
58452 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); } /**
58453 *
58454 * @title 多种布局示例
58455 * @description
58456 */
58457
58458
58459 var FormItem = _src2['default'].FormItem;
58460 var Option = _beeSelect2['default'].Option;
58461 var RangePicker = _beeDatepicker2['default'].RangePicker;
58462
58463
58464 var Demo6 = _src2['default'].createForm()(function (_Component) {
58465 _inherits(Demo, _Component);
58466
58467 function Demo(props) {
58468 _classCallCheck(this, Demo);
58469
58470 var _this = _possibleConstructorReturn(this, _Component.call(this, props));
58471
58472 _this.state = {
58473 approvalState: '',
58474 closeState: '',
58475 confirmState: '',
58476 voucherDate: [],
58477 orderTypes: [{
58478 'code': '001',
58479 'name': '类型1'
58480 }, {
58481 'code': '002',
58482 'name': '类型2'
58483 }, {
58484 'code': '003',
58485 'name': '类型3'
58486 }]
58487 };
58488 return _this;
58489 }
58490
58491 Demo.prototype.render = function render() {
58492 var _props$form = this.props.form,
58493 getFieldProps = _props$form.getFieldProps,
58494 getFieldError = _props$form.getFieldError;
58495
58496 var self = this;
58497 var orderTypes = [{
58498 "code": "D001",
58499 "name": "D001"
58500 }, {
58501 "code": "D002",
58502 "name": "D002"
58503 }, {
58504 "code": "D003",
58505 "name": "D003"
58506 }, {
58507 "code": "D004",
58508 "name": "D004"
58509 }];
58510 return _react2['default'].createElement(
58511 'div',
58512 null,
58513 _react2['default'].createElement(
58514 _src2['default'],
58515 { className: 'demo6' },
58516 _react2['default'].createElement(
58517 'h4',
58518 null,
58519 '\u666E\u901A\u6805\u683C\u5E03\u5C40'
58520 ),
58521 _react2['default'].createElement(
58522 _beeLayout.Row,
58523 { className: 'edit-panel' },
58524 _react2['default'].createElement(
58525 _beeLayout.Col,
58526 { lg: 4, md: 6, xs: 12 },
58527 _react2['default'].createElement(
58528 FormItem,
58529 null,
58530 _react2['default'].createElement(
58531 _beeLabel2['default'],
58532 null,
58533 '\u8BA2\u5355\u7F16\u53F7\uFF1A',
58534 _react2['default'].createElement(
58535 'span',
58536 { className: 'mast' },
58537 '*'
58538 )
58539 ),
58540 _react2['default'].createElement(_beeFormControl2['default'], getFieldProps('orderCode1', {
58541 initialValue: '',
58542 rules: [{
58543 required: true, message: '请输入订单编号'
58544 }]
58545 })),
58546 _react2['default'].createElement(
58547 'span',
58548 { className: 'error' },
58549 getFieldError('orderCode1')
58550 )
58551 )
58552 ),
58553 _react2['default'].createElement(
58554 _beeLayout.Col,
58555 { lg: 4, md: 6, xs: 12 },
58556 _react2['default'].createElement(
58557 FormItem,
58558 null,
58559 _react2['default'].createElement(
58560 _beeLabel2['default'],
58561 null,
58562 '\u4F9B\u5E94\u5546\u540D\u79F0\uFF1A',
58563 _react2['default'].createElement(
58564 'span',
58565 { className: 'mast' },
58566 '*'
58567 )
58568 ),
58569 _react2['default'].createElement(_beeFormControl2['default'], getFieldProps('supplierName1', {
58570 initialValue: '',
58571 rules: [{
58572 required: true, message: '请输入供应商名称'
58573 }]
58574 })),
58575 _react2['default'].createElement(
58576 'span',
58577 { className: 'error' },
58578 getFieldError('supplierName1')
58579 )
58580 )
58581 ),
58582 _react2['default'].createElement(
58583 _beeLayout.Col,
58584 { lg: 4, md: 6, xs: 12 },
58585 _react2['default'].createElement(
58586 FormItem,
58587 null,
58588 _react2['default'].createElement(
58589 _beeLabel2['default'],
58590 { className: 'time' },
58591 '\u51ED\u8BC1\u65E5\u671F\uFF1A'
58592 ),
58593 _react2['default'].createElement(RangePicker, _extends({
58594 defaultValue: this.state.voucherDate,
58595 placeholder: '开始 ~ 结束',
58596 dateInputPlaceholder: ['开始', '结束']
58597 }, getFieldProps('voucherDate1', {
58598 onChange: function onChange(v) {
58599 self.setState({
58600 voucherDate1: v
58601 });
58602 }
58603 })))
58604 )
58605 )
58606 ),
58607 _react2['default'].createElement('div', { className: 'split' }),
58608 _react2['default'].createElement(
58609 'h4',
58610 null,
58611 '\u5355\u5217\u94FA\u6EE1'
58612 ),
58613 _react2['default'].createElement(
58614 _beeLayout.Row,
58615 { className: 'edit-panel edit-panel-all' },
58616 _react2['default'].createElement(
58617 FormItem,
58618 null,
58619 _react2['default'].createElement(
58620 _beeLayout.Col,
58621 { md: 2 },
58622 _react2['default'].createElement(
58623 _beeLabel2['default'],
58624 null,
58625 '\u8BA2\u5355\u7F16\u53F7\uFF1A',
58626 _react2['default'].createElement(
58627 'span',
58628 { className: 'mast' },
58629 '*'
58630 )
58631 )
58632 ),
58633 _react2['default'].createElement(
58634 _beeLayout.Col,
58635 { md: 10 },
58636 _react2['default'].createElement(_beeFormControl2['default'], getFieldProps('orderCode2', {
58637 initialValue: '',
58638 rules: [{
58639 required: true, message: '请输入订单编号'
58640 }]
58641 })),
58642 _react2['default'].createElement(
58643 'span',
58644 { className: 'error' },
58645 getFieldError('orderCode2')
58646 )
58647 )
58648 ),
58649 _react2['default'].createElement(
58650 FormItem,
58651 null,
58652 _react2['default'].createElement(
58653 _beeLayout.Col,
58654 { md: 2 },
58655 _react2['default'].createElement(
58656 _beeLabel2['default'],
58657 null,
58658 '\u4F9B\u5E94\u5546\u540D\u79F0\uFF1A',
58659 _react2['default'].createElement(
58660 'span',
58661 { className: 'mast' },
58662 '*'
58663 )
58664 )
58665 ),
58666 _react2['default'].createElement(
58667 _beeLayout.Col,
58668 { md: 10 },
58669 _react2['default'].createElement(_beeFormControl2['default'], getFieldProps('supplierName2', {
58670 initialValue: '',
58671 rules: [{
58672 required: true, message: '请输入供应商名称'
58673 }]
58674 })),
58675 _react2['default'].createElement(
58676 'span',
58677 { className: 'error' },
58678 getFieldError('supplierName2')
58679 )
58680 )
58681 ),
58682 _react2['default'].createElement(
58683 FormItem,
58684 null,
58685 _react2['default'].createElement(
58686 _beeLayout.Col,
58687 { md: 2 },
58688 _react2['default'].createElement(
58689 _beeLabel2['default'],
58690 null,
58691 '\u51ED\u8BC1\u65E5\u671F\uFF1A'
58692 )
58693 ),
58694 _react2['default'].createElement(
58695 _beeLayout.Col,
58696 { md: 10 },
58697 _react2['default'].createElement(RangePicker, _extends({
58698 defaultValue: this.state.voucherDate,
58699 placeholder: '开始 ~ 结束',
58700 dateInputPlaceholder: ['开始', '结束']
58701 }, getFieldProps('voucherDate2', {
58702 onChange: function onChange(v) {
58703 self.setState({
58704 voucherDate2: v
58705 });
58706 }
58707 })))
58708 )
58709 ),
58710 _react2['default'].createElement(
58711 FormItem,
58712 null,
58713 _react2['default'].createElement(
58714 _beeLayout.Col,
58715 { md: 2 },
58716 _react2['default'].createElement(
58717 _beeLabel2['default'],
58718 null,
58719 '\u8BA2\u5355\u7C7B\u578B\uFF1A'
58720 )
58721 ),
58722 _react2['default'].createElement(
58723 _beeLayout.Col,
58724 { md: 10 },
58725 _react2['default'].createElement(
58726 _beeSelect2['default'],
58727 getFieldProps('type', {
58728 initialValue: ''
58729 }),
58730 _react2['default'].createElement(
58731 Option,
58732 { value: '' },
58733 '\u8BF7\u9009\u62E9'
58734 ),
58735 orderTypes.map(function (item, index) {
58736 return _react2['default'].createElement(
58737 Option,
58738 { key: index, value: item.code },
58739 item.name
58740 );
58741 })
58742 )
58743 )
58744 )
58745 ),
58746 _react2['default'].createElement('div', { className: 'split' }),
58747 _react2['default'].createElement(
58748 'h4',
58749 null,
58750 '\u5355\u5217\u5C45\u4E2D'
58751 ),
58752 _react2['default'].createElement(
58753 _beeLayout.Row,
58754 { className: 'edit-panel edit-panel-center' },
58755 _react2['default'].createElement(
58756 _beeLayout.Col,
58757 { md: 12 },
58758 _react2['default'].createElement(
58759 FormItem,
58760 null,
58761 _react2['default'].createElement(
58762 _beeLabel2['default'],
58763 null,
58764 '\u8BA2\u5355\u7F16\u53F7\uFF1A',
58765 _react2['default'].createElement(
58766 'span',
58767 { className: 'mast' },
58768 '*'
58769 )
58770 ),
58771 _react2['default'].createElement(_beeFormControl2['default'], getFieldProps('orderCode3', {
58772 initialValue: '',
58773 rules: [{
58774 required: true, message: '请输入订单编号'
58775 }]
58776 })),
58777 _react2['default'].createElement(
58778 'span',
58779 { className: 'error' },
58780 getFieldError('orderCode3')
58781 )
58782 )
58783 ),
58784 _react2['default'].createElement(
58785 _beeLayout.Col,
58786 { md: 12 },
58787 _react2['default'].createElement(
58788 FormItem,
58789 null,
58790 _react2['default'].createElement(
58791 _beeLabel2['default'],
58792 null,
58793 '\u4F9B\u5E94\u5546\u540D\u79F0\uFF1A',
58794 _react2['default'].createElement(
58795 'span',
58796 { className: 'mast' },
58797 '*'
58798 )
58799 ),
58800 _react2['default'].createElement(_beeFormControl2['default'], getFieldProps('supplierName3', {
58801 initialValue: '',
58802 rules: [{
58803 required: true, message: '请输入供应商名称'
58804 }]
58805 })),
58806 _react2['default'].createElement(
58807 'span',
58808 { className: 'error' },
58809 getFieldError('supplierName3')
58810 )
58811 )
58812 ),
58813 _react2['default'].createElement(
58814 _beeLayout.Col,
58815 { md: 12 },
58816 _react2['default'].createElement(
58817 FormItem,
58818 null,
58819 _react2['default'].createElement(
58820 _beeLabel2['default'],
58821 { className: 'time' },
58822 '\u51ED\u8BC1\u65E5\u671F\uFF1A'
58823 ),
58824 _react2['default'].createElement(RangePicker, _extends({
58825 defaultValue: this.state.voucherDate,
58826 placeholder: '开始 ~ 结束',
58827 dateInputPlaceholder: ['开始', '结束']
58828 }, getFieldProps('voucherDate3', {
58829 onChange: function onChange(v) {
58830 self.setState({
58831 voucherDate3: v
58832 });
58833 }
58834 })))
58835 )
58836 )
58837 ),
58838 _react2['default'].createElement('div', { className: 'split' }),
58839 _react2['default'].createElement(
58840 'h4',
58841 null,
58842 '\u4E09\u5217\u5E26textarea'
58843 ),
58844 _react2['default'].createElement(
58845 _beeLayout.Row,
58846 { className: 'edit-panel edit-panel-textarea' },
58847 _react2['default'].createElement(
58848 _beeLayout.Col,
58849 { md: 1 },
58850 _react2['default'].createElement(
58851 _beeLabel2['default'],
58852 null,
58853 '\u8BA2\u5355\u7F16\u53F7\uFF1A',
58854 _react2['default'].createElement(
58855 'span',
58856 { className: 'mast' },
58857 '*'
58858 )
58859 )
58860 ),
58861 _react2['default'].createElement(
58862 _beeLayout.Col,
58863 { md: 3 },
58864 _react2['default'].createElement(_beeFormControl2['default'], getFieldProps('orderCode4', {
58865 initialValue: '',
58866 rules: [{
58867 required: true, message: '请输入订单编号'
58868 }]
58869 })),
58870 _react2['default'].createElement(
58871 'span',
58872 { className: 'error' },
58873 getFieldError('orderCode4')
58874 )
58875 ),
58876 _react2['default'].createElement(
58877 _beeLayout.Col,
58878 { md: 1 },
58879 _react2['default'].createElement(
58880 _beeLabel2['default'],
58881 null,
58882 '\u4F9B\u5E94\u5546\u540D\u79F0\uFF1A',
58883 _react2['default'].createElement(
58884 'span',
58885 { className: 'mast' },
58886 '*'
58887 )
58888 )
58889 ),
58890 _react2['default'].createElement(
58891 _beeLayout.Col,
58892 { md: 3 },
58893 _react2['default'].createElement(_beeFormControl2['default'], getFieldProps('supplierName4', {
58894 initialValue: '',
58895 rules: [{
58896 required: true, message: '请输入供应商名称'
58897 }]
58898 })),
58899 _react2['default'].createElement(
58900 'span',
58901 { className: 'error' },
58902 getFieldError('supplierName4')
58903 )
58904 ),
58905 _react2['default'].createElement(
58906 _beeLayout.Col,
58907 { md: 1 },
58908 _react2['default'].createElement(
58909 _beeLabel2['default'],
58910 { className: 'time' },
58911 '\u51ED\u8BC1\u65E5\u671F\uFF1A'
58912 )
58913 ),
58914 _react2['default'].createElement(
58915 _beeLayout.Col,
58916 { md: 3 },
58917 _react2['default'].createElement(RangePicker, _extends({
58918 defaultValue: this.state.voucherDate,
58919 placeholder: '开始 ~ 结束',
58920 dateInputPlaceholder: ['开始', '结束']
58921 }, getFieldProps('voucherDate4', {
58922 onChange: function onChange(v) {
58923 self.setState({
58924 voucherDate3: v
58925 });
58926 }
58927 })))
58928 ),
58929 _react2['default'].createElement(
58930 _beeLayout.Col,
58931 { md: 1 },
58932 _react2['default'].createElement(
58933 _beeLabel2['default'],
58934 { className: 'time' },
58935 '\u5907\u6CE8\uFF1A'
58936 )
58937 ),
58938 _react2['default'].createElement(
58939 _beeLayout.Col,
58940 { md: 11 },
58941 _react2['default'].createElement('textarea', _extends({ className: 'u-form-control'
58942 }, getFieldProps('mark', {
58943 initialValue: ''
58944 })))
58945 )
58946 )
58947 )
58948 );
58949 };
58950
58951 return Demo;
58952 }(_react.Component));
58953 exports['default'] = Demo6;
58954 module.exports = exports['default'];
58955
58956/***/ })
58957/******/ ]);
58958//# sourceMappingURL=demo.js.map
\No newline at end of file