UNPKG

2.06 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__(560);var Demo6 = __webpack_require__(561);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 .u-form .u-form-item {\n min-height: auto;\n }\n .u-label {\n display: inline;\n }\n .u-form-control {\n width: auto;\n }\n .error {\n font-size: 12px;\n color: red;\n margin-left: 10px;\n }\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 .u-label {\n display: inline-block;\n min-width: 80px;\n text-align: right;\n }\n .u-form-control {\n width: auto;\n }\n .error {\n font-size: 12px;\n color: red;\n margin-left: 10px;\n }\n .submit {\n padding-left: 90px;\n }\n .submit .login {\n margin-right: 10px;\n }\n .u-form .u-form-item {\n min-height: auto;\n }\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": ".demo3 {\n font-size: 14px;\n .u-label {\n display: inline-block;\n min-width: 100px;\n text-align: right;\n }\n .u-form-control {\n width: auto;\n min-width: 300px;\n }\n .error {\n font-size: 12px;\n color: red;\n margin-left: 10px;\n }\n .submit {\n padding-left: 110px;\n }\n .submit .login {\n margin-right: 10px;\n }\n .u-form .u-form-item {\n min-height: auto;\n }\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": ".demo4 {\n font-size: 14px;\n .u-label {\n display: inline-block;\n min-width: 100px;\n text-align: right;\n }\n .u-form-control {\n width: auto;\n min-width: 380px;\n }\n .error {\n font-size: 12px;\n color: red;\n margin-left: 10px;\n }\n .submit {\n padding-left: 110px;\n }\n .submit .login {\n margin-right: 10px;\n }\n .u-select {\n max-width: 380px;\n }\n textarea {\n min-height: 100px;\n resize: none;\n }\n .time>div {\n display: inline-block;\n }\n .time .u-label {\n position: relative;\n bottom: 10px;\n }\n .u-city-select {\n display: inline-block;\n }\n .u-city-select .province,\n .u-city-select .city,\n .u-city-select .area {\n width: 120px;\n }\n .u-form .u-form-item {\n min-height: auto;\n }\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.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": ".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 .u-form .u-form-item {\n min-height: auto;\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": ".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__(512);
15422
15423 var _beeSwitch2 = _interopRequireDefault(_beeSwitch);
15424
15425 var _beeSlider = __webpack_require__(514);
15426
15427 var _beeSlider2 = _interopRequireDefault(_beeSlider);
15428
15429 var _beeInputNumber = __webpack_require__(549);
15430
15431 var _beeInputNumber2 = _interopRequireDefault(_beeInputNumber);
15432
15433 var _beeRate = __webpack_require__(551);
15434
15435 var _beeRate2 = _interopRequireDefault(_beeRate);
15436
15437 var _beeCitySelect = __webpack_require__(557);
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 ? props.title : typeof props.children === 'string' ? props.children : "",
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__(498);
23264
23265 var _MonthPicker2 = _interopRequireDefault(_MonthPicker);
23266
23267 var _RangePicker = __webpack_require__(500);
23268
23269 var _RangePicker2 = _interopRequireDefault(_RangePicker);
23270
23271 var _WeekPicker = __webpack_require__(511);
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__(489);
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__(493);
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 _this3.setState({ value: value });
23462 //props.onChange(value, (value && value.format(props.format)) || '');
23463 };
23464 };
23465
23466 DatePicker.defaultProps = {
23467 renderIcon: function renderIcon() {
23468 return _react2["default"].createElement(_beeIcon2["default"], { type: "uf-calendar" });
23469 }
23470 };
23471
23472 exports["default"] = DatePicker;
23473 module.exports = exports["default"];
23474
23475/***/ }),
23476/* 312 */
23477/***/ (function(module, exports, __webpack_require__) {
23478
23479 'use strict';
23480
23481 Object.defineProperty(exports, "__esModule", {
23482 value: true
23483 });
23484
23485 var _Calendar = __webpack_require__(313);
23486
23487 var _Calendar2 = _interopRequireDefault(_Calendar);
23488
23489 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
23490
23491 exports['default'] = _Calendar2['default'];
23492 module.exports = exports['default'];
23493
23494/***/ }),
23495/* 313 */
23496/***/ (function(module, exports, __webpack_require__) {
23497
23498 'use strict';
23499
23500 Object.defineProperty(exports, "__esModule", {
23501 value: true
23502 });
23503
23504 var _extends2 = __webpack_require__(145);
23505
23506 var _extends3 = _interopRequireDefault(_extends2);
23507
23508 var _react = __webpack_require__(4);
23509
23510 var _react2 = _interopRequireDefault(_react);
23511
23512 var _reactDom = __webpack_require__(12);
23513
23514 var _reactDom2 = _interopRequireDefault(_reactDom);
23515
23516 var _createReactClass = __webpack_require__(160);
23517
23518 var _createReactClass2 = _interopRequireDefault(_createReactClass);
23519
23520 var _propTypes = __webpack_require__(5);
23521
23522 var _propTypes2 = _interopRequireDefault(_propTypes);
23523
23524 var _KeyCode = __webpack_require__(314);
23525
23526 var _KeyCode2 = _interopRequireDefault(_KeyCode);
23527
23528 var _DateTable = __webpack_require__(315);
23529
23530 var _DateTable2 = _interopRequireDefault(_DateTable);
23531
23532 var _CalendarHeader = __webpack_require__(455);
23533
23534 var _CalendarHeader2 = _interopRequireDefault(_CalendarHeader);
23535
23536 var _CalendarFooter = __webpack_require__(461);
23537
23538 var _CalendarFooter2 = _interopRequireDefault(_CalendarFooter);
23539
23540 var _CalendarMixin = __webpack_require__(465);
23541
23542 var _CalendarMixin2 = _interopRequireDefault(_CalendarMixin);
23543
23544 var _CommonMixin = __webpack_require__(466);
23545
23546 var _CommonMixin2 = _interopRequireDefault(_CommonMixin);
23547
23548 var _DateInput = __webpack_require__(468);
23549
23550 var _DateInput2 = _interopRequireDefault(_DateInput);
23551
23552 var _util = __webpack_require__(454);
23553
23554 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
23555
23556 function noop() {}
23557
23558 function goStartMonth() {
23559 var next = this.state.value.clone();
23560 next.startOf('month');
23561 this.setValue(next);
23562 }
23563
23564 function goEndMonth() {
23565 var next = this.state.value.clone();
23566 next.endOf('month');
23567 this.setValue(next);
23568 }
23569
23570 function goTime(direction, unit) {
23571 var next = this.state.value.clone();
23572 next.add(direction, unit);
23573 this.setValue(next);
23574 }
23575
23576 function goMonth(direction) {
23577 return goTime.call(this, direction, 'months');
23578 }
23579
23580 function goYear(direction) {
23581 return goTime.call(this, direction, 'years');
23582 }
23583
23584 function goWeek(direction) {
23585 return goTime.call(this, direction, 'weeks');
23586 }
23587
23588 function goDay(direction) {
23589 return goTime.call(this, direction, 'days');
23590 }
23591
23592 var Calendar = (0, _createReactClass2['default'])({
23593 displayName: 'Calendar',
23594
23595 propTypes: {
23596 disabledDate: _propTypes2['default'].func,
23597 disabledTime: _propTypes2['default'].any,
23598 value: _propTypes2['default'].object,
23599 selectedValue: _propTypes2['default'].object,
23600 defaultValue: _propTypes2['default'].object,
23601 className: _propTypes2['default'].string,
23602 locale: _propTypes2['default'].object,
23603 showWeekNumber: _propTypes2['default'].bool,
23604 style: _propTypes2['default'].object,
23605 showToday: _propTypes2['default'].bool,
23606 showDateInput: _propTypes2['default'].bool,
23607 visible: _propTypes2['default'].bool,
23608 onSelect: _propTypes2['default'].func,
23609 onOk: _propTypes2['default'].func,
23610 showOk: _propTypes2['default'].bool,
23611 prefixCls: _propTypes2['default'].string,
23612 onKeyDown: _propTypes2['default'].func,
23613 timePicker: _propTypes2['default'].element,
23614 dateInputPlaceholder: _propTypes2['default'].any,
23615 onClear: _propTypes2['default'].func,
23616 onChange: _propTypes2['default'].func,
23617 renderFooter: _propTypes2['default'].func,
23618 renderSidebar: _propTypes2['default'].func
23619 },
23620
23621 mixins: [_CommonMixin2['default'], _CalendarMixin2['default']],
23622
23623 getDefaultProps: function getDefaultProps() {
23624 return {
23625 showToday: true,
23626 showDateInput: true,
23627 timePicker: null,
23628 onOk: noop
23629 };
23630 },
23631 getInitialState: function getInitialState() {
23632 return {
23633 showTimePicker: false
23634 };
23635 },
23636 onKeyDown: function onKeyDown(event) {
23637 if (event.target.nodeName.toLowerCase() === 'input') {
23638 return undefined;
23639 }
23640 var keyCode = event.keyCode;
23641 // mac
23642 var ctrlKey = event.ctrlKey || event.metaKey;
23643 var disabledDate = this.props.disabledDate;
23644 var value = this.state.value;
23645
23646 switch (keyCode) {
23647 case _KeyCode2['default'].DOWN:
23648 goWeek.call(this, 1);
23649 event.preventDefault();
23650 return 1;
23651 case _KeyCode2['default'].UP:
23652 goWeek.call(this, -1);
23653 event.preventDefault();
23654 return 1;
23655 case _KeyCode2['default'].LEFT:
23656 if (ctrlKey) {
23657 goYear.call(this, -1);
23658 } else {
23659 goDay.call(this, -1);
23660 }
23661 event.preventDefault();
23662 return 1;
23663 case _KeyCode2['default'].RIGHT:
23664 if (ctrlKey) {
23665 goYear.call(this, 1);
23666 } else {
23667 goDay.call(this, 1);
23668 }
23669 event.preventDefault();
23670 return 1;
23671 case _KeyCode2['default'].HOME:
23672 goStartMonth.call(this);
23673 event.preventDefault();
23674 return 1;
23675 case _KeyCode2['default'].END:
23676 goEndMonth.call(this);
23677 event.preventDefault();
23678 return 1;
23679 case _KeyCode2['default'].PAGE_DOWN:
23680 goMonth.call(this, 1);
23681 event.preventDefault();
23682 return 1;
23683 case _KeyCode2['default'].PAGE_UP:
23684 goMonth.call(this, -1);
23685 event.preventDefault();
23686 return 1;
23687 case _KeyCode2['default'].ENTER:
23688 if (!disabledDate || !disabledDate(value)) {
23689 this.onSelect(value, {
23690 source: 'keyboard'
23691 });
23692 }
23693 event.preventDefault();
23694 return 1;
23695 default:
23696 this.props.onKeyDown(event);
23697 return 1;
23698 }
23699 },
23700 onClear: function onClear() {
23701 this.onSelect(null);
23702 this.props.onClear();
23703 },
23704 onOk: function onOk() {
23705 var selectedValue = this.state.selectedValue;
23706
23707 if (this.isAllowedDate(selectedValue)) {
23708 this.props.onOk(selectedValue);
23709 }
23710 },
23711 onDateInputChange: function onDateInputChange(value) {
23712 this.onSelect(value, {
23713 source: 'dateInput'
23714 });
23715 },
23716 onDateTableSelect: function onDateTableSelect(value) {
23717 var timePicker = this.props.timePicker;
23718 var selectedValue = this.state.selectedValue;
23719
23720 if (!selectedValue && timePicker) {
23721 var timePickerDefaultValue = timePicker.props.defaultValue;
23722 if (timePickerDefaultValue) {
23723 (0, _util.syncTime)(timePickerDefaultValue, value);
23724 }
23725 }
23726 this.onSelect(value);
23727 },
23728 onToday: function onToday() {
23729 var value = this.state.value;
23730
23731 var now = (0, _util.getTodayTime)(value);
23732 this.onSelect(now, {
23733 source: 'todayButton'
23734 });
23735 },
23736 getRootDOMNode: function getRootDOMNode() {
23737 return _reactDom2['default'].findDOMNode(this);
23738 },
23739 openTimePicker: function openTimePicker() {
23740 this.setState({
23741 showTimePicker: true
23742 });
23743 },
23744 closeTimePicker: function closeTimePicker() {
23745 this.setState({
23746 showTimePicker: false
23747 });
23748 },
23749 render: function render() {
23750 var props = this.props;
23751 var locale = props.locale,
23752 prefixCls = props.prefixCls,
23753 disabledDate = props.disabledDate,
23754 dateInputPlaceholder = props.dateInputPlaceholder,
23755 timePicker = props.timePicker,
23756 disabledTime = props.disabledTime;
23757
23758 var state = this.state;
23759 var value = state.value,
23760 selectedValue = state.selectedValue,
23761 showTimePicker = state.showTimePicker;
23762
23763 var disabledTimeConfig = showTimePicker && disabledTime && timePicker ? (0, _util.getTimeConfig)(selectedValue, disabledTime) : null;
23764
23765 var timePickerEle = timePicker && showTimePicker ? _react2['default'].cloneElement(timePicker, (0, _extends3['default'])({
23766 showHour: true,
23767 showSecond: true,
23768 showMinute: true
23769 }, timePicker.props, disabledTimeConfig, {
23770 onChange: this.onDateInputChange,
23771 defaultOpenValue: timePicker.props.defaultValue,
23772 value: selectedValue,
23773 disabledTime: disabledTime
23774 })) : null;
23775 var dateInputElement = props.showDateInput ? _react2['default'].createElement(_DateInput2['default'], {
23776 ref: 'dateInput',
23777 format: this.getFormat(),
23778 key: 'date-input',
23779 value: value,
23780 locale: locale,
23781 placeholder: dateInputPlaceholder,
23782 showClear: true,
23783 disabledTime: disabledTime,
23784 disabledDate: disabledDate,
23785 onClear: this.onClear,
23786 prefixCls: prefixCls,
23787 selectedValue: selectedValue,
23788 onChange: this.onDateInputChange
23789 }) : null;
23790 var children = [props.renderSidebar(), _react2['default'].createElement(
23791 'div',
23792 { className: prefixCls + '-panel', key: 'panel' },
23793 dateInputElement,
23794 _react2['default'].createElement(
23795 'div',
23796 { className: prefixCls + '-date-panel' },
23797 _react2['default'].createElement(_CalendarHeader2['default'], {
23798 locale: locale,
23799 onValueChange: this.setValue,
23800 value: value,
23801 showTimePicker: showTimePicker,
23802 prefixCls: prefixCls
23803 }),
23804 timePicker && showTimePicker ? _react2['default'].createElement(
23805 'div',
23806 { className: prefixCls + '-time-picker' },
23807 _react2['default'].createElement(
23808 'div',
23809 { className: prefixCls + '-time-picker-panel' },
23810 timePickerEle
23811 )
23812 ) : null,
23813 _react2['default'].createElement(
23814 'div',
23815 { className: prefixCls + '-body' },
23816 _react2['default'].createElement(_DateTable2['default'], {
23817 locale: locale,
23818 value: value,
23819 selectedValue: selectedValue,
23820 prefixCls: prefixCls,
23821 dateRender: props.dateRender,
23822 onSelect: this.onDateTableSelect,
23823 disabledDate: disabledDate,
23824 showWeekNumber: props.showWeekNumber
23825 })
23826 ),
23827 _react2['default'].createElement(_CalendarFooter2['default'], {
23828 showOk: props.showOk,
23829 renderFooter: props.renderFooter,
23830 locale: locale,
23831 prefixCls: prefixCls,
23832 showToday: props.showToday,
23833 disabledTime: disabledTime,
23834 showTimePicker: showTimePicker,
23835 showDateInput: props.showDateInput,
23836 timePicker: timePicker,
23837 selectedValue: selectedValue,
23838 value: value,
23839 disabledDate: disabledDate,
23840 okDisabled: !this.isAllowedDate(selectedValue),
23841 onOk: this.onOk,
23842 onSelect: this.onSelect,
23843 onToday: this.onToday,
23844 onOpenTimePicker: this.openTimePicker,
23845 onCloseTimePicker: this.closeTimePicker
23846 })
23847 )
23848 )];
23849
23850 return this.renderRoot({
23851 children: children,
23852 className: props.showWeekNumber ? prefixCls + '-week-number' : ''
23853 });
23854 }
23855 });
23856
23857 exports['default'] = Calendar;
23858 module.exports = exports['default'];
23859
23860/***/ }),
23861/* 314 */
23862/***/ (function(module, exports) {
23863
23864 'use strict';
23865
23866 Object.defineProperty(exports, "__esModule", {
23867 value: true
23868 });
23869 /**
23870 * @ignore
23871 * some key-codes definition and utils from closure-library
23872 * @author yiminghe@gmail.com
23873 */
23874
23875 var KeyCode = {
23876 /**
23877 * MAC_ENTER
23878 */
23879 MAC_ENTER: 3,
23880 /**
23881 * BACKSPACE
23882 */
23883 BACKSPACE: 8,
23884 /**
23885 * TAB
23886 */
23887 TAB: 9,
23888 /**
23889 * NUMLOCK on FF/Safari Mac
23890 */
23891 NUM_CENTER: 12, // NUMLOCK on FF/Safari Mac
23892 /**
23893 * ENTER
23894 */
23895 ENTER: 13,
23896 /**
23897 * SHIFT
23898 */
23899 SHIFT: 16,
23900 /**
23901 * CTRL
23902 */
23903 CTRL: 17,
23904 /**
23905 * ALT
23906 */
23907 ALT: 18,
23908 /**
23909 * PAUSE
23910 */
23911 PAUSE: 19,
23912 /**
23913 * CAPS_LOCK
23914 */
23915 CAPS_LOCK: 20,
23916 /**
23917 * ESC
23918 */
23919 ESC: 27,
23920 /**
23921 * SPACE
23922 */
23923 SPACE: 32,
23924 /**
23925 * PAGE_UP
23926 */
23927 PAGE_UP: 33, // also NUM_NORTH_EAST
23928 /**
23929 * PAGE_DOWN
23930 */
23931 PAGE_DOWN: 34, // also NUM_SOUTH_EAST
23932 /**
23933 * END
23934 */
23935 END: 35, // also NUM_SOUTH_WEST
23936 /**
23937 * HOME
23938 */
23939 HOME: 36, // also NUM_NORTH_WEST
23940 /**
23941 * LEFT
23942 */
23943 LEFT: 37, // also NUM_WEST
23944 /**
23945 * UP
23946 */
23947 UP: 38, // also NUM_NORTH
23948 /**
23949 * RIGHT
23950 */
23951 RIGHT: 39, // also NUM_EAST
23952 /**
23953 * DOWN
23954 */
23955 DOWN: 40, // also NUM_SOUTH
23956 /**
23957 * PRINT_SCREEN
23958 */
23959 PRINT_SCREEN: 44,
23960 /**
23961 * INSERT
23962 */
23963 INSERT: 45, // also NUM_INSERT
23964 /**
23965 * DELETE
23966 */
23967 DELETE: 46, // also NUM_DELETE
23968 /**
23969 * ZERO
23970 */
23971 ZERO: 48,
23972 /**
23973 * ONE
23974 */
23975 ONE: 49,
23976 /**
23977 * TWO
23978 */
23979 TWO: 50,
23980 /**
23981 * THREE
23982 */
23983 THREE: 51,
23984 /**
23985 * FOUR
23986 */
23987 FOUR: 52,
23988 /**
23989 * FIVE
23990 */
23991 FIVE: 53,
23992 /**
23993 * SIX
23994 */
23995 SIX: 54,
23996 /**
23997 * SEVEN
23998 */
23999 SEVEN: 55,
24000 /**
24001 * EIGHT
24002 */
24003 EIGHT: 56,
24004 /**
24005 * NINE
24006 */
24007 NINE: 57,
24008 /**
24009 * QUESTION_MARK
24010 */
24011 QUESTION_MARK: 63, // needs localization
24012 /**
24013 * A
24014 */
24015 A: 65,
24016 /**
24017 * B
24018 */
24019 B: 66,
24020 /**
24021 * C
24022 */
24023 C: 67,
24024 /**
24025 * D
24026 */
24027 D: 68,
24028 /**
24029 * E
24030 */
24031 E: 69,
24032 /**
24033 * F
24034 */
24035 F: 70,
24036 /**
24037 * G
24038 */
24039 G: 71,
24040 /**
24041 * H
24042 */
24043 H: 72,
24044 /**
24045 * I
24046 */
24047 I: 73,
24048 /**
24049 * J
24050 */
24051 J: 74,
24052 /**
24053 * K
24054 */
24055 K: 75,
24056 /**
24057 * L
24058 */
24059 L: 76,
24060 /**
24061 * M
24062 */
24063 M: 77,
24064 /**
24065 * N
24066 */
24067 N: 78,
24068 /**
24069 * O
24070 */
24071 O: 79,
24072 /**
24073 * P
24074 */
24075 P: 80,
24076 /**
24077 * Q
24078 */
24079 Q: 81,
24080 /**
24081 * R
24082 */
24083 R: 82,
24084 /**
24085 * S
24086 */
24087 S: 83,
24088 /**
24089 * T
24090 */
24091 T: 84,
24092 /**
24093 * U
24094 */
24095 U: 85,
24096 /**
24097 * V
24098 */
24099 V: 86,
24100 /**
24101 * W
24102 */
24103 W: 87,
24104 /**
24105 * X
24106 */
24107 X: 88,
24108 /**
24109 * Y
24110 */
24111 Y: 89,
24112 /**
24113 * Z
24114 */
24115 Z: 90,
24116 /**
24117 * META
24118 */
24119 META: 91, // WIN_KEY_LEFT
24120 /**
24121 * WIN_KEY_RIGHT
24122 */
24123 WIN_KEY_RIGHT: 92,
24124 /**
24125 * CONTEXT_MENU
24126 */
24127 CONTEXT_MENU: 93,
24128 /**
24129 * NUM_ZERO
24130 */
24131 NUM_ZERO: 96,
24132 /**
24133 * NUM_ONE
24134 */
24135 NUM_ONE: 97,
24136 /**
24137 * NUM_TWO
24138 */
24139 NUM_TWO: 98,
24140 /**
24141 * NUM_THREE
24142 */
24143 NUM_THREE: 99,
24144 /**
24145 * NUM_FOUR
24146 */
24147 NUM_FOUR: 100,
24148 /**
24149 * NUM_FIVE
24150 */
24151 NUM_FIVE: 101,
24152 /**
24153 * NUM_SIX
24154 */
24155 NUM_SIX: 102,
24156 /**
24157 * NUM_SEVEN
24158 */
24159 NUM_SEVEN: 103,
24160 /**
24161 * NUM_EIGHT
24162 */
24163 NUM_EIGHT: 104,
24164 /**
24165 * NUM_NINE
24166 */
24167 NUM_NINE: 105,
24168 /**
24169 * NUM_MULTIPLY
24170 */
24171 NUM_MULTIPLY: 106,
24172 /**
24173 * NUM_PLUS
24174 */
24175 NUM_PLUS: 107,
24176 /**
24177 * NUM_MINUS
24178 */
24179 NUM_MINUS: 109,
24180 /**
24181 * NUM_PERIOD
24182 */
24183 NUM_PERIOD: 110,
24184 /**
24185 * NUM_DIVISION
24186 */
24187 NUM_DIVISION: 111,
24188 /**
24189 * F1
24190 */
24191 F1: 112,
24192 /**
24193 * F2
24194 */
24195 F2: 113,
24196 /**
24197 * F3
24198 */
24199 F3: 114,
24200 /**
24201 * F4
24202 */
24203 F4: 115,
24204 /**
24205 * F5
24206 */
24207 F5: 116,
24208 /**
24209 * F6
24210 */
24211 F6: 117,
24212 /**
24213 * F7
24214 */
24215 F7: 118,
24216 /**
24217 * F8
24218 */
24219 F8: 119,
24220 /**
24221 * F9
24222 */
24223 F9: 120,
24224 /**
24225 * F10
24226 */
24227 F10: 121,
24228 /**
24229 * F11
24230 */
24231 F11: 122,
24232 /**
24233 * F12
24234 */
24235 F12: 123,
24236 /**
24237 * NUMLOCK
24238 */
24239 NUMLOCK: 144,
24240 /**
24241 * SEMICOLON
24242 */
24243 SEMICOLON: 186, // needs localization
24244 /**
24245 * DASH
24246 */
24247 DASH: 189, // needs localization
24248 /**
24249 * EQUALS
24250 */
24251 EQUALS: 187, // needs localization
24252 /**
24253 * COMMA
24254 */
24255 COMMA: 188, // needs localization
24256 /**
24257 * PERIOD
24258 */
24259 PERIOD: 190, // needs localization
24260 /**
24261 * SLASH
24262 */
24263 SLASH: 191, // needs localization
24264 /**
24265 * APOSTROPHE
24266 */
24267 APOSTROPHE: 192, // needs localization
24268 /**
24269 * SINGLE_QUOTE
24270 */
24271 SINGLE_QUOTE: 222, // needs localization
24272 /**
24273 * OPEN_SQUARE_BRACKET
24274 */
24275 OPEN_SQUARE_BRACKET: 219, // needs localization
24276 /**
24277 * BACKSLASH
24278 */
24279 BACKSLASH: 220, // needs localization
24280 /**
24281 * CLOSE_SQUARE_BRACKET
24282 */
24283 CLOSE_SQUARE_BRACKET: 221, // needs localization
24284 /**
24285 * WIN_KEY
24286 */
24287 WIN_KEY: 224,
24288 /**
24289 * MAC_FF_META
24290 */
24291 MAC_FF_META: 224, // Firefox (Gecko) fires this for the meta key instead of 91
24292 /**
24293 * WIN_IME
24294 */
24295 WIN_IME: 229
24296 };
24297
24298 /*
24299 whether text and modified key is entered at the same time.
24300 */
24301 KeyCode.isTextModifyingKeyEvent = function isTextModifyingKeyEvent(e) {
24302 var keyCode = e.keyCode;
24303 if (e.altKey && !e.ctrlKey || e.metaKey ||
24304 // Function keys don't generate text
24305 keyCode >= KeyCode.F1 && keyCode <= KeyCode.F12) {
24306 return false;
24307 }
24308
24309 // The following keys are quite harmless, even in combination with
24310 // CTRL, ALT or SHIFT.
24311 switch (keyCode) {
24312 case KeyCode.ALT:
24313 case KeyCode.CAPS_LOCK:
24314 case KeyCode.CONTEXT_MENU:
24315 case KeyCode.CTRL:
24316 case KeyCode.DOWN:
24317 case KeyCode.END:
24318 case KeyCode.ESC:
24319 case KeyCode.HOME:
24320 case KeyCode.INSERT:
24321 case KeyCode.LEFT:
24322 case KeyCode.MAC_FF_META:
24323 case KeyCode.META:
24324 case KeyCode.NUMLOCK:
24325 case KeyCode.NUM_CENTER:
24326 case KeyCode.PAGE_DOWN:
24327 case KeyCode.PAGE_UP:
24328 case KeyCode.PAUSE:
24329 case KeyCode.PRINT_SCREEN:
24330 case KeyCode.RIGHT:
24331 case KeyCode.SHIFT:
24332 case KeyCode.UP:
24333 case KeyCode.WIN_KEY:
24334 case KeyCode.WIN_KEY_RIGHT:
24335 return false;
24336 default:
24337 return true;
24338 }
24339 };
24340
24341 /*
24342 whether character is entered.
24343 */
24344 KeyCode.isCharacterKey = function isCharacterKey(keyCode) {
24345 if (keyCode >= KeyCode.ZERO && keyCode <= KeyCode.NINE) {
24346 return true;
24347 }
24348
24349 if (keyCode >= KeyCode.NUM_ZERO && keyCode <= KeyCode.NUM_MULTIPLY) {
24350 return true;
24351 }
24352
24353 if (keyCode >= KeyCode.A && keyCode <= KeyCode.Z) {
24354 return true;
24355 }
24356
24357 // Safari sends zero key code for non-latin characters.
24358 if (window.navigation.userAgent.indexOf('WebKit') !== -1 && keyCode === 0) {
24359 return true;
24360 }
24361
24362 switch (keyCode) {
24363 case KeyCode.SPACE:
24364 case KeyCode.QUESTION_MARK:
24365 case KeyCode.NUM_PLUS:
24366 case KeyCode.NUM_MINUS:
24367 case KeyCode.NUM_PERIOD:
24368 case KeyCode.NUM_DIVISION:
24369 case KeyCode.SEMICOLON:
24370 case KeyCode.DASH:
24371 case KeyCode.EQUALS:
24372 case KeyCode.COMMA:
24373 case KeyCode.PERIOD:
24374 case KeyCode.SLASH:
24375 case KeyCode.APOSTROPHE:
24376 case KeyCode.SINGLE_QUOTE:
24377 case KeyCode.OPEN_SQUARE_BRACKET:
24378 case KeyCode.BACKSLASH:
24379 case KeyCode.CLOSE_SQUARE_BRACKET:
24380 return true;
24381 default:
24382 return false;
24383 }
24384 };
24385
24386 exports['default'] = KeyCode;
24387 module.exports = exports['default'];
24388
24389/***/ }),
24390/* 315 */
24391/***/ (function(module, exports, __webpack_require__) {
24392
24393 'use strict';
24394
24395 Object.defineProperty(exports, "__esModule", {
24396 value: true
24397 });
24398
24399 var _classCallCheck2 = __webpack_require__(250);
24400
24401 var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
24402
24403 var _createClass2 = __webpack_require__(251);
24404
24405 var _createClass3 = _interopRequireDefault(_createClass2);
24406
24407 var _possibleConstructorReturn2 = __webpack_require__(316);
24408
24409 var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
24410
24411 var _inherits2 = __webpack_require__(317);
24412
24413 var _inherits3 = _interopRequireDefault(_inherits2);
24414
24415 var _react = __webpack_require__(4);
24416
24417 var _react2 = _interopRequireDefault(_react);
24418
24419 var _DateTHead = __webpack_require__(325);
24420
24421 var _DateTHead2 = _interopRequireDefault(_DateTHead);
24422
24423 var _DateTBody = __webpack_require__(453);
24424
24425 var _DateTBody2 = _interopRequireDefault(_DateTBody);
24426
24427 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
24428
24429 var DateTable = function (_React$Component) {
24430 (0, _inherits3['default'])(DateTable, _React$Component);
24431
24432 function DateTable() {
24433 (0, _classCallCheck3['default'])(this, DateTable);
24434 return (0, _possibleConstructorReturn3['default'])(this, (DateTable.__proto__ || Object.getPrototypeOf(DateTable)).apply(this, arguments));
24435 }
24436
24437 (0, _createClass3['default'])(DateTable, [{
24438 key: 'render',
24439 value: function render() {
24440 var props = this.props;
24441 var prefixCls = props.prefixCls;
24442 return _react2['default'].createElement(
24443 'table',
24444 { className: prefixCls + '-table', cellSpacing: '0', role: 'grid' },
24445 _react2['default'].createElement(_DateTHead2['default'], props),
24446 _react2['default'].createElement(_DateTBody2['default'], props)
24447 );
24448 }
24449 }]);
24450 return DateTable;
24451 }(_react2['default'].Component);
24452
24453 exports['default'] = DateTable;
24454 module.exports = exports['default'];
24455
24456/***/ }),
24457/* 316 */
24458/***/ (function(module, exports, __webpack_require__) {
24459
24460 "use strict";
24461
24462 exports.__esModule = true;
24463
24464 var _typeof2 = __webpack_require__(74);
24465
24466 var _typeof3 = _interopRequireDefault(_typeof2);
24467
24468 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24469
24470 exports.default = function (self, call) {
24471 if (!self) {
24472 throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
24473 }
24474
24475 return call && ((typeof call === "undefined" ? "undefined" : (0, _typeof3.default)(call)) === "object" || typeof call === "function") ? call : self;
24476 };
24477
24478/***/ }),
24479/* 317 */
24480/***/ (function(module, exports, __webpack_require__) {
24481
24482 "use strict";
24483
24484 exports.__esModule = true;
24485
24486 var _setPrototypeOf = __webpack_require__(318);
24487
24488 var _setPrototypeOf2 = _interopRequireDefault(_setPrototypeOf);
24489
24490 var _create = __webpack_require__(322);
24491
24492 var _create2 = _interopRequireDefault(_create);
24493
24494 var _typeof2 = __webpack_require__(74);
24495
24496 var _typeof3 = _interopRequireDefault(_typeof2);
24497
24498 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24499
24500 exports.default = function (subClass, superClass) {
24501 if (typeof superClass !== "function" && superClass !== null) {
24502 throw new TypeError("Super expression must either be null or a function, not " + (typeof superClass === "undefined" ? "undefined" : (0, _typeof3.default)(superClass)));
24503 }
24504
24505 subClass.prototype = (0, _create2.default)(superClass && superClass.prototype, {
24506 constructor: {
24507 value: subClass,
24508 enumerable: false,
24509 writable: true,
24510 configurable: true
24511 }
24512 });
24513 if (superClass) _setPrototypeOf2.default ? (0, _setPrototypeOf2.default)(subClass, superClass) : subClass.__proto__ = superClass;
24514 };
24515
24516/***/ }),
24517/* 318 */
24518/***/ (function(module, exports, __webpack_require__) {
24519
24520 module.exports = { "default": __webpack_require__(319), __esModule: true };
24521
24522/***/ }),
24523/* 319 */
24524/***/ (function(module, exports, __webpack_require__) {
24525
24526 __webpack_require__(320);
24527 module.exports = __webpack_require__(85).Object.setPrototypeOf;
24528
24529
24530/***/ }),
24531/* 320 */
24532/***/ (function(module, exports, __webpack_require__) {
24533
24534 // 19.1.3.19 Object.setPrototypeOf(O, proto)
24535 var $export = __webpack_require__(83);
24536 $export($export.S, 'Object', { setPrototypeOf: __webpack_require__(321).set });
24537
24538
24539/***/ }),
24540/* 321 */
24541/***/ (function(module, exports, __webpack_require__) {
24542
24543 // Works with __proto__ only. Old v8 can't work with null proto objects.
24544 /* eslint-disable no-proto */
24545 var isObject = __webpack_require__(91);
24546 var anObject = __webpack_require__(90);
24547 var check = function (O, proto) {
24548 anObject(O);
24549 if (!isObject(proto) && proto !== null) throw TypeError(proto + ": can't set as prototype!");
24550 };
24551 module.exports = {
24552 set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line
24553 function (test, buggy, set) {
24554 try {
24555 set = __webpack_require__(86)(Function.call, __webpack_require__(137).f(Object.prototype, '__proto__').set, 2);
24556 set(test, []);
24557 buggy = !(test instanceof Array);
24558 } catch (e) { buggy = true; }
24559 return function setPrototypeOf(O, proto) {
24560 check(O, proto);
24561 if (buggy) O.__proto__ = proto;
24562 else set(O, proto);
24563 return O;
24564 };
24565 }({}, false) : undefined),
24566 check: check
24567 };
24568
24569
24570/***/ }),
24571/* 322 */
24572/***/ (function(module, exports, __webpack_require__) {
24573
24574 module.exports = { "default": __webpack_require__(323), __esModule: true };
24575
24576/***/ }),
24577/* 323 */
24578/***/ (function(module, exports, __webpack_require__) {
24579
24580 __webpack_require__(324);
24581 var $Object = __webpack_require__(85).Object;
24582 module.exports = function create(P, D) {
24583 return $Object.create(P, D);
24584 };
24585
24586
24587/***/ }),
24588/* 324 */
24589/***/ (function(module, exports, __webpack_require__) {
24590
24591 var $export = __webpack_require__(83);
24592 // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
24593 $export($export.S, 'Object', { create: __webpack_require__(102) });
24594
24595
24596/***/ }),
24597/* 325 */
24598/***/ (function(module, exports, __webpack_require__) {
24599
24600 'use strict';
24601
24602 Object.defineProperty(exports, "__esModule", {
24603 value: true
24604 });
24605
24606 var _classCallCheck2 = __webpack_require__(250);
24607
24608 var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
24609
24610 var _createClass2 = __webpack_require__(251);
24611
24612 var _createClass3 = _interopRequireDefault(_createClass2);
24613
24614 var _possibleConstructorReturn2 = __webpack_require__(316);
24615
24616 var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
24617
24618 var _inherits2 = __webpack_require__(317);
24619
24620 var _inherits3 = _interopRequireDefault(_inherits2);
24621
24622 var _react = __webpack_require__(4);
24623
24624 var _react2 = _interopRequireDefault(_react);
24625
24626 var _DateConstants = __webpack_require__(326);
24627
24628 var _DateConstants2 = _interopRequireDefault(_DateConstants);
24629
24630 var _moment = __webpack_require__(327);
24631
24632 var _moment2 = _interopRequireDefault(_moment);
24633
24634 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
24635
24636 var DateTHead = function (_React$Component) {
24637 (0, _inherits3['default'])(DateTHead, _React$Component);
24638
24639 function DateTHead() {
24640 (0, _classCallCheck3['default'])(this, DateTHead);
24641 return (0, _possibleConstructorReturn3['default'])(this, (DateTHead.__proto__ || Object.getPrototypeOf(DateTHead)).apply(this, arguments));
24642 }
24643
24644 (0, _createClass3['default'])(DateTHead, [{
24645 key: 'render',
24646 value: function render() {
24647 var props = this.props;
24648 var value = props.value;
24649 var localeData = value.localeData();
24650 var prefixCls = props.prefixCls;
24651 var veryShortWeekdays = [];
24652 var weekDays = [];
24653 var firstDayOfWeek = localeData.firstDayOfWeek();
24654 var showWeekNumberEl = void 0;
24655 var now = (0, _moment2['default'])();
24656 for (var dateColIndex = 0; dateColIndex < _DateConstants2['default'].DATE_COL_COUNT; dateColIndex++) {
24657 var index = (firstDayOfWeek + dateColIndex) % _DateConstants2['default'].DATE_COL_COUNT;
24658 now.day(index);
24659 veryShortWeekdays[dateColIndex] = localeData.weekdaysMin(now);
24660 weekDays[dateColIndex] = localeData.weekdaysShort(now);
24661 }
24662
24663 if (props.showWeekNumber) {
24664 showWeekNumberEl = _react2['default'].createElement(
24665 'th',
24666 {
24667 role: 'columnheader',
24668 className: prefixCls + '-column-header ' + prefixCls + '-week-number-header'
24669 },
24670 _react2['default'].createElement(
24671 'span',
24672 { className: prefixCls + '-column-header-inner' },
24673 'x'
24674 )
24675 );
24676 }
24677 var weekDaysEls = weekDays.map(function (day, xindex) {
24678 return _react2['default'].createElement(
24679 'th',
24680 {
24681 key: xindex,
24682 role: 'columnheader',
24683 title: day,
24684 className: prefixCls + '-column-header'
24685 },
24686 _react2['default'].createElement(
24687 'span',
24688 { className: prefixCls + '-column-header-inner' },
24689 veryShortWeekdays[xindex]
24690 )
24691 );
24692 });
24693 return _react2['default'].createElement(
24694 'thead',
24695 null,
24696 _react2['default'].createElement(
24697 'tr',
24698 { role: 'row' },
24699 showWeekNumberEl,
24700 weekDaysEls
24701 )
24702 );
24703 }
24704 }]);
24705 return DateTHead;
24706 }(_react2['default'].Component);
24707
24708 exports['default'] = DateTHead;
24709 module.exports = exports['default'];
24710
24711/***/ }),
24712/* 326 */
24713/***/ (function(module, exports) {
24714
24715 "use strict";
24716
24717 Object.defineProperty(exports, "__esModule", {
24718 value: true
24719 });
24720 exports["default"] = {
24721 DATE_ROW_COUNT: 6,
24722 DATE_COL_COUNT: 7
24723 };
24724 module.exports = exports['default'];
24725
24726/***/ }),
24727/* 327 */
24728/***/ (function(module, exports, __webpack_require__) {
24729
24730 var require;/* WEBPACK VAR INJECTION */(function(module) {//! moment.js
24731
24732 ;(function (global, factory) {
24733 true ? module.exports = factory() :
24734 typeof define === 'function' && define.amd ? define(factory) :
24735 global.moment = factory()
24736 }(this, (function () { 'use strict';
24737
24738 var hookCallback;
24739
24740 function hooks () {
24741 return hookCallback.apply(null, arguments);
24742 }
24743
24744 // This is done to register the method called with moment()
24745 // without creating circular dependencies.
24746 function setHookCallback (callback) {
24747 hookCallback = callback;
24748 }
24749
24750 function isArray(input) {
24751 return input instanceof Array || Object.prototype.toString.call(input) === '[object Array]';
24752 }
24753
24754 function isObject(input) {
24755 // IE8 will treat undefined and null as object if it wasn't for
24756 // input != null
24757 return input != null && Object.prototype.toString.call(input) === '[object Object]';
24758 }
24759
24760 function isObjectEmpty(obj) {
24761 if (Object.getOwnPropertyNames) {
24762 return (Object.getOwnPropertyNames(obj).length === 0);
24763 } else {
24764 var k;
24765 for (k in obj) {
24766 if (obj.hasOwnProperty(k)) {
24767 return false;
24768 }
24769 }
24770 return true;
24771 }
24772 }
24773
24774 function isUndefined(input) {
24775 return input === void 0;
24776 }
24777
24778 function isNumber(input) {
24779 return typeof input === 'number' || Object.prototype.toString.call(input) === '[object Number]';
24780 }
24781
24782 function isDate(input) {
24783 return input instanceof Date || Object.prototype.toString.call(input) === '[object Date]';
24784 }
24785
24786 function map(arr, fn) {
24787 var res = [], i;
24788 for (i = 0; i < arr.length; ++i) {
24789 res.push(fn(arr[i], i));
24790 }
24791 return res;
24792 }
24793
24794 function hasOwnProp(a, b) {
24795 return Object.prototype.hasOwnProperty.call(a, b);
24796 }
24797
24798 function extend(a, b) {
24799 for (var i in b) {
24800 if (hasOwnProp(b, i)) {
24801 a[i] = b[i];
24802 }
24803 }
24804
24805 if (hasOwnProp(b, 'toString')) {
24806 a.toString = b.toString;
24807 }
24808
24809 if (hasOwnProp(b, 'valueOf')) {
24810 a.valueOf = b.valueOf;
24811 }
24812
24813 return a;
24814 }
24815
24816 function createUTC (input, format, locale, strict) {
24817 return createLocalOrUTC(input, format, locale, strict, true).utc();
24818 }
24819
24820 function defaultParsingFlags() {
24821 // We need to deep clone this object.
24822 return {
24823 empty : false,
24824 unusedTokens : [],
24825 unusedInput : [],
24826 overflow : -2,
24827 charsLeftOver : 0,
24828 nullInput : false,
24829 invalidMonth : null,
24830 invalidFormat : false,
24831 userInvalidated : false,
24832 iso : false,
24833 parsedDateParts : [],
24834 meridiem : null,
24835 rfc2822 : false,
24836 weekdayMismatch : false
24837 };
24838 }
24839
24840 function getParsingFlags(m) {
24841 if (m._pf == null) {
24842 m._pf = defaultParsingFlags();
24843 }
24844 return m._pf;
24845 }
24846
24847 var some;
24848 if (Array.prototype.some) {
24849 some = Array.prototype.some;
24850 } else {
24851 some = function (fun) {
24852 var t = Object(this);
24853 var len = t.length >>> 0;
24854
24855 for (var i = 0; i < len; i++) {
24856 if (i in t && fun.call(this, t[i], i, t)) {
24857 return true;
24858 }
24859 }
24860
24861 return false;
24862 };
24863 }
24864
24865 function isValid(m) {
24866 if (m._isValid == null) {
24867 var flags = getParsingFlags(m);
24868 var parsedParts = some.call(flags.parsedDateParts, function (i) {
24869 return i != null;
24870 });
24871 var isNowValid = !isNaN(m._d.getTime()) &&
24872 flags.overflow < 0 &&
24873 !flags.empty &&
24874 !flags.invalidMonth &&
24875 !flags.invalidWeekday &&
24876 !flags.weekdayMismatch &&
24877 !flags.nullInput &&
24878 !flags.invalidFormat &&
24879 !flags.userInvalidated &&
24880 (!flags.meridiem || (flags.meridiem && parsedParts));
24881
24882 if (m._strict) {
24883 isNowValid = isNowValid &&
24884 flags.charsLeftOver === 0 &&
24885 flags.unusedTokens.length === 0 &&
24886 flags.bigHour === undefined;
24887 }
24888
24889 if (Object.isFrozen == null || !Object.isFrozen(m)) {
24890 m._isValid = isNowValid;
24891 }
24892 else {
24893 return isNowValid;
24894 }
24895 }
24896 return m._isValid;
24897 }
24898
24899 function createInvalid (flags) {
24900 var m = createUTC(NaN);
24901 if (flags != null) {
24902 extend(getParsingFlags(m), flags);
24903 }
24904 else {
24905 getParsingFlags(m).userInvalidated = true;
24906 }
24907
24908 return m;
24909 }
24910
24911 // Plugins that add properties should also add the key here (null value),
24912 // so we can properly clone ourselves.
24913 var momentProperties = hooks.momentProperties = [];
24914
24915 function copyConfig(to, from) {
24916 var i, prop, val;
24917
24918 if (!isUndefined(from._isAMomentObject)) {
24919 to._isAMomentObject = from._isAMomentObject;
24920 }
24921 if (!isUndefined(from._i)) {
24922 to._i = from._i;
24923 }
24924 if (!isUndefined(from._f)) {
24925 to._f = from._f;
24926 }
24927 if (!isUndefined(from._l)) {
24928 to._l = from._l;
24929 }
24930 if (!isUndefined(from._strict)) {
24931 to._strict = from._strict;
24932 }
24933 if (!isUndefined(from._tzm)) {
24934 to._tzm = from._tzm;
24935 }
24936 if (!isUndefined(from._isUTC)) {
24937 to._isUTC = from._isUTC;
24938 }
24939 if (!isUndefined(from._offset)) {
24940 to._offset = from._offset;
24941 }
24942 if (!isUndefined(from._pf)) {
24943 to._pf = getParsingFlags(from);
24944 }
24945 if (!isUndefined(from._locale)) {
24946 to._locale = from._locale;
24947 }
24948
24949 if (momentProperties.length > 0) {
24950 for (i = 0; i < momentProperties.length; i++) {
24951 prop = momentProperties[i];
24952 val = from[prop];
24953 if (!isUndefined(val)) {
24954 to[prop] = val;
24955 }
24956 }
24957 }
24958
24959 return to;
24960 }
24961
24962 var updateInProgress = false;
24963
24964 // Moment prototype object
24965 function Moment(config) {
24966 copyConfig(this, config);
24967 this._d = new Date(config._d != null ? config._d.getTime() : NaN);
24968 if (!this.isValid()) {
24969 this._d = new Date(NaN);
24970 }
24971 // Prevent infinite loop in case updateOffset creates new moment
24972 // objects.
24973 if (updateInProgress === false) {
24974 updateInProgress = true;
24975 hooks.updateOffset(this);
24976 updateInProgress = false;
24977 }
24978 }
24979
24980 function isMoment (obj) {
24981 return obj instanceof Moment || (obj != null && obj._isAMomentObject != null);
24982 }
24983
24984 function absFloor (number) {
24985 if (number < 0) {
24986 // -0 -> 0
24987 return Math.ceil(number) || 0;
24988 } else {
24989 return Math.floor(number);
24990 }
24991 }
24992
24993 function toInt(argumentForCoercion) {
24994 var coercedNumber = +argumentForCoercion,
24995 value = 0;
24996
24997 if (coercedNumber !== 0 && isFinite(coercedNumber)) {
24998 value = absFloor(coercedNumber);
24999 }
25000
25001 return value;
25002 }
25003
25004 // compare two arrays, return the number of differences
25005 function compareArrays(array1, array2, dontConvert) {
25006 var len = Math.min(array1.length, array2.length),
25007 lengthDiff = Math.abs(array1.length - array2.length),
25008 diffs = 0,
25009 i;
25010 for (i = 0; i < len; i++) {
25011 if ((dontConvert && array1[i] !== array2[i]) ||
25012 (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))) {
25013 diffs++;
25014 }
25015 }
25016 return diffs + lengthDiff;
25017 }
25018
25019 function warn(msg) {
25020 if (hooks.suppressDeprecationWarnings === false &&
25021 (typeof console !== 'undefined') && console.warn) {
25022 console.warn('Deprecation warning: ' + msg);
25023 }
25024 }
25025
25026 function deprecate(msg, fn) {
25027 var firstTime = true;
25028
25029 return extend(function () {
25030 if (hooks.deprecationHandler != null) {
25031 hooks.deprecationHandler(null, msg);
25032 }
25033 if (firstTime) {
25034 var args = [];
25035 var arg;
25036 for (var i = 0; i < arguments.length; i++) {
25037 arg = '';
25038 if (typeof arguments[i] === 'object') {
25039 arg += '\n[' + i + '] ';
25040 for (var key in arguments[0]) {
25041 arg += key + ': ' + arguments[0][key] + ', ';
25042 }
25043 arg = arg.slice(0, -2); // Remove trailing comma and space
25044 } else {
25045 arg = arguments[i];
25046 }
25047 args.push(arg);
25048 }
25049 warn(msg + '\nArguments: ' + Array.prototype.slice.call(args).join('') + '\n' + (new Error()).stack);
25050 firstTime = false;
25051 }
25052 return fn.apply(this, arguments);
25053 }, fn);
25054 }
25055
25056 var deprecations = {};
25057
25058 function deprecateSimple(name, msg) {
25059 if (hooks.deprecationHandler != null) {
25060 hooks.deprecationHandler(name, msg);
25061 }
25062 if (!deprecations[name]) {
25063 warn(msg);
25064 deprecations[name] = true;
25065 }
25066 }
25067
25068 hooks.suppressDeprecationWarnings = false;
25069 hooks.deprecationHandler = null;
25070
25071 function isFunction(input) {
25072 return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';
25073 }
25074
25075 function set (config) {
25076 var prop, i;
25077 for (i in config) {
25078 prop = config[i];
25079 if (isFunction(prop)) {
25080 this[i] = prop;
25081 } else {
25082 this['_' + i] = prop;
25083 }
25084 }
25085 this._config = config;
25086 // Lenient ordinal parsing accepts just a number in addition to
25087 // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.
25088 // TODO: Remove "ordinalParse" fallback in next major release.
25089 this._dayOfMonthOrdinalParseLenient = new RegExp(
25090 (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +
25091 '|' + (/\d{1,2}/).source);
25092 }
25093
25094 function mergeConfigs(parentConfig, childConfig) {
25095 var res = extend({}, parentConfig), prop;
25096 for (prop in childConfig) {
25097 if (hasOwnProp(childConfig, prop)) {
25098 if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {
25099 res[prop] = {};
25100 extend(res[prop], parentConfig[prop]);
25101 extend(res[prop], childConfig[prop]);
25102 } else if (childConfig[prop] != null) {
25103 res[prop] = childConfig[prop];
25104 } else {
25105 delete res[prop];
25106 }
25107 }
25108 }
25109 for (prop in parentConfig) {
25110 if (hasOwnProp(parentConfig, prop) &&
25111 !hasOwnProp(childConfig, prop) &&
25112 isObject(parentConfig[prop])) {
25113 // make sure changes to properties don't modify parent config
25114 res[prop] = extend({}, res[prop]);
25115 }
25116 }
25117 return res;
25118 }
25119
25120 function Locale(config) {
25121 if (config != null) {
25122 this.set(config);
25123 }
25124 }
25125
25126 var keys;
25127
25128 if (Object.keys) {
25129 keys = Object.keys;
25130 } else {
25131 keys = function (obj) {
25132 var i, res = [];
25133 for (i in obj) {
25134 if (hasOwnProp(obj, i)) {
25135 res.push(i);
25136 }
25137 }
25138 return res;
25139 };
25140 }
25141
25142 var defaultCalendar = {
25143 sameDay : '[Today at] LT',
25144 nextDay : '[Tomorrow at] LT',
25145 nextWeek : 'dddd [at] LT',
25146 lastDay : '[Yesterday at] LT',
25147 lastWeek : '[Last] dddd [at] LT',
25148 sameElse : 'L'
25149 };
25150
25151 function calendar (key, mom, now) {
25152 var output = this._calendar[key] || this._calendar['sameElse'];
25153 return isFunction(output) ? output.call(mom, now) : output;
25154 }
25155
25156 var defaultLongDateFormat = {
25157 LTS : 'h:mm:ss A',
25158 LT : 'h:mm A',
25159 L : 'MM/DD/YYYY',
25160 LL : 'MMMM D, YYYY',
25161 LLL : 'MMMM D, YYYY h:mm A',
25162 LLLL : 'dddd, MMMM D, YYYY h:mm A'
25163 };
25164
25165 function longDateFormat (key) {
25166 var format = this._longDateFormat[key],
25167 formatUpper = this._longDateFormat[key.toUpperCase()];
25168
25169 if (format || !formatUpper) {
25170 return format;
25171 }
25172
25173 this._longDateFormat[key] = formatUpper.replace(/MMMM|MM|DD|dddd/g, function (val) {
25174 return val.slice(1);
25175 });
25176
25177 return this._longDateFormat[key];
25178 }
25179
25180 var defaultInvalidDate = 'Invalid date';
25181
25182 function invalidDate () {
25183 return this._invalidDate;
25184 }
25185
25186 var defaultOrdinal = '%d';
25187 var defaultDayOfMonthOrdinalParse = /\d{1,2}/;
25188
25189 function ordinal (number) {
25190 return this._ordinal.replace('%d', number);
25191 }
25192
25193 var defaultRelativeTime = {
25194 future : 'in %s',
25195 past : '%s ago',
25196 s : 'a few seconds',
25197 ss : '%d seconds',
25198 m : 'a minute',
25199 mm : '%d minutes',
25200 h : 'an hour',
25201 hh : '%d hours',
25202 d : 'a day',
25203 dd : '%d days',
25204 M : 'a month',
25205 MM : '%d months',
25206 y : 'a year',
25207 yy : '%d years'
25208 };
25209
25210 function relativeTime (number, withoutSuffix, string, isFuture) {
25211 var output = this._relativeTime[string];
25212 return (isFunction(output)) ?
25213 output(number, withoutSuffix, string, isFuture) :
25214 output.replace(/%d/i, number);
25215 }
25216
25217 function pastFuture (diff, output) {
25218 var format = this._relativeTime[diff > 0 ? 'future' : 'past'];
25219 return isFunction(format) ? format(output) : format.replace(/%s/i, output);
25220 }
25221
25222 var aliases = {};
25223
25224 function addUnitAlias (unit, shorthand) {
25225 var lowerCase = unit.toLowerCase();
25226 aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;
25227 }
25228
25229 function normalizeUnits(units) {
25230 return typeof units === 'string' ? aliases[units] || aliases[units.toLowerCase()] : undefined;
25231 }
25232
25233 function normalizeObjectUnits(inputObject) {
25234 var normalizedInput = {},
25235 normalizedProp,
25236 prop;
25237
25238 for (prop in inputObject) {
25239 if (hasOwnProp(inputObject, prop)) {
25240 normalizedProp = normalizeUnits(prop);
25241 if (normalizedProp) {
25242 normalizedInput[normalizedProp] = inputObject[prop];
25243 }
25244 }
25245 }
25246
25247 return normalizedInput;
25248 }
25249
25250 var priorities = {};
25251
25252 function addUnitPriority(unit, priority) {
25253 priorities[unit] = priority;
25254 }
25255
25256 function getPrioritizedUnits(unitsObj) {
25257 var units = [];
25258 for (var u in unitsObj) {
25259 units.push({unit: u, priority: priorities[u]});
25260 }
25261 units.sort(function (a, b) {
25262 return a.priority - b.priority;
25263 });
25264 return units;
25265 }
25266
25267 function zeroFill(number, targetLength, forceSign) {
25268 var absNumber = '' + Math.abs(number),
25269 zerosToFill = targetLength - absNumber.length,
25270 sign = number >= 0;
25271 return (sign ? (forceSign ? '+' : '') : '-') +
25272 Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + absNumber;
25273 }
25274
25275 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;
25276
25277 var localFormattingTokens = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g;
25278
25279 var formatFunctions = {};
25280
25281 var formatTokenFunctions = {};
25282
25283 // token: 'M'
25284 // padded: ['MM', 2]
25285 // ordinal: 'Mo'
25286 // callback: function () { this.month() + 1 }
25287 function addFormatToken (token, padded, ordinal, callback) {
25288 var func = callback;
25289 if (typeof callback === 'string') {
25290 func = function () {
25291 return this[callback]();
25292 };
25293 }
25294 if (token) {
25295 formatTokenFunctions[token] = func;
25296 }
25297 if (padded) {
25298 formatTokenFunctions[padded[0]] = function () {
25299 return zeroFill(func.apply(this, arguments), padded[1], padded[2]);
25300 };
25301 }
25302 if (ordinal) {
25303 formatTokenFunctions[ordinal] = function () {
25304 return this.localeData().ordinal(func.apply(this, arguments), token);
25305 };
25306 }
25307 }
25308
25309 function removeFormattingTokens(input) {
25310 if (input.match(/\[[\s\S]/)) {
25311 return input.replace(/^\[|\]$/g, '');
25312 }
25313 return input.replace(/\\/g, '');
25314 }
25315
25316 function makeFormatFunction(format) {
25317 var array = format.match(formattingTokens), i, length;
25318
25319 for (i = 0, length = array.length; i < length; i++) {
25320 if (formatTokenFunctions[array[i]]) {
25321 array[i] = formatTokenFunctions[array[i]];
25322 } else {
25323 array[i] = removeFormattingTokens(array[i]);
25324 }
25325 }
25326
25327 return function (mom) {
25328 var output = '', i;
25329 for (i = 0; i < length; i++) {
25330 output += isFunction(array[i]) ? array[i].call(mom, format) : array[i];
25331 }
25332 return output;
25333 };
25334 }
25335
25336 // format date using native date object
25337 function formatMoment(m, format) {
25338 if (!m.isValid()) {
25339 return m.localeData().invalidDate();
25340 }
25341
25342 format = expandFormat(format, m.localeData());
25343 formatFunctions[format] = formatFunctions[format] || makeFormatFunction(format);
25344
25345 return formatFunctions[format](m);
25346 }
25347
25348 function expandFormat(format, locale) {
25349 var i = 5;
25350
25351 function replaceLongDateFormatTokens(input) {
25352 return locale.longDateFormat(input) || input;
25353 }
25354
25355 localFormattingTokens.lastIndex = 0;
25356 while (i >= 0 && localFormattingTokens.test(format)) {
25357 format = format.replace(localFormattingTokens, replaceLongDateFormatTokens);
25358 localFormattingTokens.lastIndex = 0;
25359 i -= 1;
25360 }
25361
25362 return format;
25363 }
25364
25365 var match1 = /\d/; // 0 - 9
25366 var match2 = /\d\d/; // 00 - 99
25367 var match3 = /\d{3}/; // 000 - 999
25368 var match4 = /\d{4}/; // 0000 - 9999
25369 var match6 = /[+-]?\d{6}/; // -999999 - 999999
25370 var match1to2 = /\d\d?/; // 0 - 99
25371 var match3to4 = /\d\d\d\d?/; // 999 - 9999
25372 var match5to6 = /\d\d\d\d\d\d?/; // 99999 - 999999
25373 var match1to3 = /\d{1,3}/; // 0 - 999
25374 var match1to4 = /\d{1,4}/; // 0 - 9999
25375 var match1to6 = /[+-]?\d{1,6}/; // -999999 - 999999
25376
25377 var matchUnsigned = /\d+/; // 0 - inf
25378 var matchSigned = /[+-]?\d+/; // -inf - inf
25379
25380 var matchOffset = /Z|[+-]\d\d:?\d\d/gi; // +00:00 -00:00 +0000 -0000 or Z
25381 var matchShortOffset = /Z|[+-]\d\d(?::?\d\d)?/gi; // +00 -00 +00:00 -00:00 +0000 -0000 or Z
25382
25383 var matchTimestamp = /[+-]?\d+(\.\d{1,3})?/; // 123456789 123456789.123
25384
25385 // any word (or two) characters or numbers including two/three word month in arabic.
25386 // includes scottish gaelic two word and hyphenated months
25387 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;
25388
25389 var regexes = {};
25390
25391 function addRegexToken (token, regex, strictRegex) {
25392 regexes[token] = isFunction(regex) ? regex : function (isStrict, localeData) {
25393 return (isStrict && strictRegex) ? strictRegex : regex;
25394 };
25395 }
25396
25397 function getParseRegexForToken (token, config) {
25398 if (!hasOwnProp(regexes, token)) {
25399 return new RegExp(unescapeFormat(token));
25400 }
25401
25402 return regexes[token](config._strict, config._locale);
25403 }
25404
25405 // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript
25406 function unescapeFormat(s) {
25407 return regexEscape(s.replace('\\', '').replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, function (matched, p1, p2, p3, p4) {
25408 return p1 || p2 || p3 || p4;
25409 }));
25410 }
25411
25412 function regexEscape(s) {
25413 return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
25414 }
25415
25416 var tokens = {};
25417
25418 function addParseToken (token, callback) {
25419 var i, func = callback;
25420 if (typeof token === 'string') {
25421 token = [token];
25422 }
25423 if (isNumber(callback)) {
25424 func = function (input, array) {
25425 array[callback] = toInt(input);
25426 };
25427 }
25428 for (i = 0; i < token.length; i++) {
25429 tokens[token[i]] = func;
25430 }
25431 }
25432
25433 function addWeekParseToken (token, callback) {
25434 addParseToken(token, function (input, array, config, token) {
25435 config._w = config._w || {};
25436 callback(input, config._w, config, token);
25437 });
25438 }
25439
25440 function addTimeToArrayFromToken(token, input, config) {
25441 if (input != null && hasOwnProp(tokens, token)) {
25442 tokens[token](input, config._a, config, token);
25443 }
25444 }
25445
25446 var YEAR = 0;
25447 var MONTH = 1;
25448 var DATE = 2;
25449 var HOUR = 3;
25450 var MINUTE = 4;
25451 var SECOND = 5;
25452 var MILLISECOND = 6;
25453 var WEEK = 7;
25454 var WEEKDAY = 8;
25455
25456 // FORMATTING
25457
25458 addFormatToken('Y', 0, 0, function () {
25459 var y = this.year();
25460 return y <= 9999 ? '' + y : '+' + y;
25461 });
25462
25463 addFormatToken(0, ['YY', 2], 0, function () {
25464 return this.year() % 100;
25465 });
25466
25467 addFormatToken(0, ['YYYY', 4], 0, 'year');
25468 addFormatToken(0, ['YYYYY', 5], 0, 'year');
25469 addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');
25470
25471 // ALIASES
25472
25473 addUnitAlias('year', 'y');
25474
25475 // PRIORITIES
25476
25477 addUnitPriority('year', 1);
25478
25479 // PARSING
25480
25481 addRegexToken('Y', matchSigned);
25482 addRegexToken('YY', match1to2, match2);
25483 addRegexToken('YYYY', match1to4, match4);
25484 addRegexToken('YYYYY', match1to6, match6);
25485 addRegexToken('YYYYYY', match1to6, match6);
25486
25487 addParseToken(['YYYYY', 'YYYYYY'], YEAR);
25488 addParseToken('YYYY', function (input, array) {
25489 array[YEAR] = input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);
25490 });
25491 addParseToken('YY', function (input, array) {
25492 array[YEAR] = hooks.parseTwoDigitYear(input);
25493 });
25494 addParseToken('Y', function (input, array) {
25495 array[YEAR] = parseInt(input, 10);
25496 });
25497
25498 // HELPERS
25499
25500 function daysInYear(year) {
25501 return isLeapYear(year) ? 366 : 365;
25502 }
25503
25504 function isLeapYear(year) {
25505 return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;
25506 }
25507
25508 // HOOKS
25509
25510 hooks.parseTwoDigitYear = function (input) {
25511 return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);
25512 };
25513
25514 // MOMENTS
25515
25516 var getSetYear = makeGetSet('FullYear', true);
25517
25518 function getIsLeapYear () {
25519 return isLeapYear(this.year());
25520 }
25521
25522 function makeGetSet (unit, keepTime) {
25523 return function (value) {
25524 if (value != null) {
25525 set$1(this, unit, value);
25526 hooks.updateOffset(this, keepTime);
25527 return this;
25528 } else {
25529 return get(this, unit);
25530 }
25531 };
25532 }
25533
25534 function get (mom, unit) {
25535 return mom.isValid() ?
25536 mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() : NaN;
25537 }
25538
25539 function set$1 (mom, unit, value) {
25540 if (mom.isValid() && !isNaN(value)) {
25541 if (unit === 'FullYear' && isLeapYear(mom.year()) && mom.month() === 1 && mom.date() === 29) {
25542 mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value, mom.month(), daysInMonth(value, mom.month()));
25543 }
25544 else {
25545 mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);
25546 }
25547 }
25548 }
25549
25550 // MOMENTS
25551
25552 function stringGet (units) {
25553 units = normalizeUnits(units);
25554 if (isFunction(this[units])) {
25555 return this[units]();
25556 }
25557 return this;
25558 }
25559
25560
25561 function stringSet (units, value) {
25562 if (typeof units === 'object') {
25563 units = normalizeObjectUnits(units);
25564 var prioritized = getPrioritizedUnits(units);
25565 for (var i = 0; i < prioritized.length; i++) {
25566 this[prioritized[i].unit](units[prioritized[i].unit]);
25567 }
25568 } else {
25569 units = normalizeUnits(units);
25570 if (isFunction(this[units])) {
25571 return this[units](value);
25572 }
25573 }
25574 return this;
25575 }
25576
25577 function mod(n, x) {
25578 return ((n % x) + x) % x;
25579 }
25580
25581 var indexOf;
25582
25583 if (Array.prototype.indexOf) {
25584 indexOf = Array.prototype.indexOf;
25585 } else {
25586 indexOf = function (o) {
25587 // I know
25588 var i;
25589 for (i = 0; i < this.length; ++i) {
25590 if (this[i] === o) {
25591 return i;
25592 }
25593 }
25594 return -1;
25595 };
25596 }
25597
25598 function daysInMonth(year, month) {
25599 if (isNaN(year) || isNaN(month)) {
25600 return NaN;
25601 }
25602 var modMonth = mod(month, 12);
25603 year += (month - modMonth) / 12;
25604 return modMonth === 1 ? (isLeapYear(year) ? 29 : 28) : (31 - modMonth % 7 % 2);
25605 }
25606
25607 // FORMATTING
25608
25609 addFormatToken('M', ['MM', 2], 'Mo', function () {
25610 return this.month() + 1;
25611 });
25612
25613 addFormatToken('MMM', 0, 0, function (format) {
25614 return this.localeData().monthsShort(this, format);
25615 });
25616
25617 addFormatToken('MMMM', 0, 0, function (format) {
25618 return this.localeData().months(this, format);
25619 });
25620
25621 // ALIASES
25622
25623 addUnitAlias('month', 'M');
25624
25625 // PRIORITY
25626
25627 addUnitPriority('month', 8);
25628
25629 // PARSING
25630
25631 addRegexToken('M', match1to2);
25632 addRegexToken('MM', match1to2, match2);
25633 addRegexToken('MMM', function (isStrict, locale) {
25634 return locale.monthsShortRegex(isStrict);
25635 });
25636 addRegexToken('MMMM', function (isStrict, locale) {
25637 return locale.monthsRegex(isStrict);
25638 });
25639
25640 addParseToken(['M', 'MM'], function (input, array) {
25641 array[MONTH] = toInt(input) - 1;
25642 });
25643
25644 addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {
25645 var month = config._locale.monthsParse(input, token, config._strict);
25646 // if we didn't find a month name, mark the date as invalid.
25647 if (month != null) {
25648 array[MONTH] = month;
25649 } else {
25650 getParsingFlags(config).invalidMonth = input;
25651 }
25652 });
25653
25654 // LOCALES
25655
25656 var MONTHS_IN_FORMAT = /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/;
25657 var defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_');
25658 function localeMonths (m, format) {
25659 if (!m) {
25660 return isArray(this._months) ? this._months :
25661 this._months['standalone'];
25662 }
25663 return isArray(this._months) ? this._months[m.month()] :
25664 this._months[(this._months.isFormat || MONTHS_IN_FORMAT).test(format) ? 'format' : 'standalone'][m.month()];
25665 }
25666
25667 var defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_');
25668 function localeMonthsShort (m, format) {
25669 if (!m) {
25670 return isArray(this._monthsShort) ? this._monthsShort :
25671 this._monthsShort['standalone'];
25672 }
25673 return isArray(this._monthsShort) ? this._monthsShort[m.month()] :
25674 this._monthsShort[MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'][m.month()];
25675 }
25676
25677 function handleStrictParse(monthName, format, strict) {
25678 var i, ii, mom, llc = monthName.toLocaleLowerCase();
25679 if (!this._monthsParse) {
25680 // this is not used
25681 this._monthsParse = [];
25682 this._longMonthsParse = [];
25683 this._shortMonthsParse = [];
25684 for (i = 0; i < 12; ++i) {
25685 mom = createUTC([2000, i]);
25686 this._shortMonthsParse[i] = this.monthsShort(mom, '').toLocaleLowerCase();
25687 this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();
25688 }
25689 }
25690
25691 if (strict) {
25692 if (format === 'MMM') {
25693 ii = indexOf.call(this._shortMonthsParse, llc);
25694 return ii !== -1 ? ii : null;
25695 } else {
25696 ii = indexOf.call(this._longMonthsParse, llc);
25697 return ii !== -1 ? ii : null;
25698 }
25699 } else {
25700 if (format === 'MMM') {
25701 ii = indexOf.call(this._shortMonthsParse, llc);
25702 if (ii !== -1) {
25703 return ii;
25704 }
25705 ii = indexOf.call(this._longMonthsParse, llc);
25706 return ii !== -1 ? ii : null;
25707 } else {
25708 ii = indexOf.call(this._longMonthsParse, llc);
25709 if (ii !== -1) {
25710 return ii;
25711 }
25712 ii = indexOf.call(this._shortMonthsParse, llc);
25713 return ii !== -1 ? ii : null;
25714 }
25715 }
25716 }
25717
25718 function localeMonthsParse (monthName, format, strict) {
25719 var i, mom, regex;
25720
25721 if (this._monthsParseExact) {
25722 return handleStrictParse.call(this, monthName, format, strict);
25723 }
25724
25725 if (!this._monthsParse) {
25726 this._monthsParse = [];
25727 this._longMonthsParse = [];
25728 this._shortMonthsParse = [];
25729 }
25730
25731 // TODO: add sorting
25732 // Sorting makes sure if one month (or abbr) is a prefix of another
25733 // see sorting in computeMonthsParse
25734 for (i = 0; i < 12; i++) {
25735 // make the regex if we don't have it already
25736 mom = createUTC([2000, i]);
25737 if (strict && !this._longMonthsParse[i]) {
25738 this._longMonthsParse[i] = new RegExp('^' + this.months(mom, '').replace('.', '') + '$', 'i');
25739 this._shortMonthsParse[i] = new RegExp('^' + this.monthsShort(mom, '').replace('.', '') + '$', 'i');
25740 }
25741 if (!strict && !this._monthsParse[i]) {
25742 regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');
25743 this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');
25744 }
25745 // test the regex
25746 if (strict && format === 'MMMM' && this._longMonthsParse[i].test(monthName)) {
25747 return i;
25748 } else if (strict && format === 'MMM' && this._shortMonthsParse[i].test(monthName)) {
25749 return i;
25750 } else if (!strict && this._monthsParse[i].test(monthName)) {
25751 return i;
25752 }
25753 }
25754 }
25755
25756 // MOMENTS
25757
25758 function setMonth (mom, value) {
25759 var dayOfMonth;
25760
25761 if (!mom.isValid()) {
25762 // No op
25763 return mom;
25764 }
25765
25766 if (typeof value === 'string') {
25767 if (/^\d+$/.test(value)) {
25768 value = toInt(value);
25769 } else {
25770 value = mom.localeData().monthsParse(value);
25771 // TODO: Another silent failure?
25772 if (!isNumber(value)) {
25773 return mom;
25774 }
25775 }
25776 }
25777
25778 dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));
25779 mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);
25780 return mom;
25781 }
25782
25783 function getSetMonth (value) {
25784 if (value != null) {
25785 setMonth(this, value);
25786 hooks.updateOffset(this, true);
25787 return this;
25788 } else {
25789 return get(this, 'Month');
25790 }
25791 }
25792
25793 function getDaysInMonth () {
25794 return daysInMonth(this.year(), this.month());
25795 }
25796
25797 var defaultMonthsShortRegex = matchWord;
25798 function monthsShortRegex (isStrict) {
25799 if (this._monthsParseExact) {
25800 if (!hasOwnProp(this, '_monthsRegex')) {
25801 computeMonthsParse.call(this);
25802 }
25803 if (isStrict) {
25804 return this._monthsShortStrictRegex;
25805 } else {
25806 return this._monthsShortRegex;
25807 }
25808 } else {
25809 if (!hasOwnProp(this, '_monthsShortRegex')) {
25810 this._monthsShortRegex = defaultMonthsShortRegex;
25811 }
25812 return this._monthsShortStrictRegex && isStrict ?
25813 this._monthsShortStrictRegex : this._monthsShortRegex;
25814 }
25815 }
25816
25817 var defaultMonthsRegex = matchWord;
25818 function monthsRegex (isStrict) {
25819 if (this._monthsParseExact) {
25820 if (!hasOwnProp(this, '_monthsRegex')) {
25821 computeMonthsParse.call(this);
25822 }
25823 if (isStrict) {
25824 return this._monthsStrictRegex;
25825 } else {
25826 return this._monthsRegex;
25827 }
25828 } else {
25829 if (!hasOwnProp(this, '_monthsRegex')) {
25830 this._monthsRegex = defaultMonthsRegex;
25831 }
25832 return this._monthsStrictRegex && isStrict ?
25833 this._monthsStrictRegex : this._monthsRegex;
25834 }
25835 }
25836
25837 function computeMonthsParse () {
25838 function cmpLenRev(a, b) {
25839 return b.length - a.length;
25840 }
25841
25842 var shortPieces = [], longPieces = [], mixedPieces = [],
25843 i, mom;
25844 for (i = 0; i < 12; i++) {
25845 // make the regex if we don't have it already
25846 mom = createUTC([2000, i]);
25847 shortPieces.push(this.monthsShort(mom, ''));
25848 longPieces.push(this.months(mom, ''));
25849 mixedPieces.push(this.months(mom, ''));
25850 mixedPieces.push(this.monthsShort(mom, ''));
25851 }
25852 // Sorting makes sure if one month (or abbr) is a prefix of another it
25853 // will match the longer piece.
25854 shortPieces.sort(cmpLenRev);
25855 longPieces.sort(cmpLenRev);
25856 mixedPieces.sort(cmpLenRev);
25857 for (i = 0; i < 12; i++) {
25858 shortPieces[i] = regexEscape(shortPieces[i]);
25859 longPieces[i] = regexEscape(longPieces[i]);
25860 }
25861 for (i = 0; i < 24; i++) {
25862 mixedPieces[i] = regexEscape(mixedPieces[i]);
25863 }
25864
25865 this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');
25866 this._monthsShortRegex = this._monthsRegex;
25867 this._monthsStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');
25868 this._monthsShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');
25869 }
25870
25871 function createDate (y, m, d, h, M, s, ms) {
25872 // can't just apply() to create a date:
25873 // https://stackoverflow.com/q/181348
25874 var date = new Date(y, m, d, h, M, s, ms);
25875
25876 // the date constructor remaps years 0-99 to 1900-1999
25877 if (y < 100 && y >= 0 && isFinite(date.getFullYear())) {
25878 date.setFullYear(y);
25879 }
25880 return date;
25881 }
25882
25883 function createUTCDate (y) {
25884 var date = new Date(Date.UTC.apply(null, arguments));
25885
25886 // the Date.UTC function remaps years 0-99 to 1900-1999
25887 if (y < 100 && y >= 0 && isFinite(date.getUTCFullYear())) {
25888 date.setUTCFullYear(y);
25889 }
25890 return date;
25891 }
25892
25893 // start-of-first-week - start-of-year
25894 function firstWeekOffset(year, dow, doy) {
25895 var // first-week day -- which january is always in the first week (4 for iso, 1 for other)
25896 fwd = 7 + dow - doy,
25897 // first-week day local weekday -- which local weekday is fwd
25898 fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;
25899
25900 return -fwdlw + fwd - 1;
25901 }
25902
25903 // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday
25904 function dayOfYearFromWeeks(year, week, weekday, dow, doy) {
25905 var localWeekday = (7 + weekday - dow) % 7,
25906 weekOffset = firstWeekOffset(year, dow, doy),
25907 dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,
25908 resYear, resDayOfYear;
25909
25910 if (dayOfYear <= 0) {
25911 resYear = year - 1;
25912 resDayOfYear = daysInYear(resYear) + dayOfYear;
25913 } else if (dayOfYear > daysInYear(year)) {
25914 resYear = year + 1;
25915 resDayOfYear = dayOfYear - daysInYear(year);
25916 } else {
25917 resYear = year;
25918 resDayOfYear = dayOfYear;
25919 }
25920
25921 return {
25922 year: resYear,
25923 dayOfYear: resDayOfYear
25924 };
25925 }
25926
25927 function weekOfYear(mom, dow, doy) {
25928 var weekOffset = firstWeekOffset(mom.year(), dow, doy),
25929 week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,
25930 resWeek, resYear;
25931
25932 if (week < 1) {
25933 resYear = mom.year() - 1;
25934 resWeek = week + weeksInYear(resYear, dow, doy);
25935 } else if (week > weeksInYear(mom.year(), dow, doy)) {
25936 resWeek = week - weeksInYear(mom.year(), dow, doy);
25937 resYear = mom.year() + 1;
25938 } else {
25939 resYear = mom.year();
25940 resWeek = week;
25941 }
25942
25943 return {
25944 week: resWeek,
25945 year: resYear
25946 };
25947 }
25948
25949 function weeksInYear(year, dow, doy) {
25950 var weekOffset = firstWeekOffset(year, dow, doy),
25951 weekOffsetNext = firstWeekOffset(year + 1, dow, doy);
25952 return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;
25953 }
25954
25955 // FORMATTING
25956
25957 addFormatToken('w', ['ww', 2], 'wo', 'week');
25958 addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');
25959
25960 // ALIASES
25961
25962 addUnitAlias('week', 'w');
25963 addUnitAlias('isoWeek', 'W');
25964
25965 // PRIORITIES
25966
25967 addUnitPriority('week', 5);
25968 addUnitPriority('isoWeek', 5);
25969
25970 // PARSING
25971
25972 addRegexToken('w', match1to2);
25973 addRegexToken('ww', match1to2, match2);
25974 addRegexToken('W', match1to2);
25975 addRegexToken('WW', match1to2, match2);
25976
25977 addWeekParseToken(['w', 'ww', 'W', 'WW'], function (input, week, config, token) {
25978 week[token.substr(0, 1)] = toInt(input);
25979 });
25980
25981 // HELPERS
25982
25983 // LOCALES
25984
25985 function localeWeek (mom) {
25986 return weekOfYear(mom, this._week.dow, this._week.doy).week;
25987 }
25988
25989 var defaultLocaleWeek = {
25990 dow : 0, // Sunday is the first day of the week.
25991 doy : 6 // The week that contains Jan 1st is the first week of the year.
25992 };
25993
25994 function localeFirstDayOfWeek () {
25995 return this._week.dow;
25996 }
25997
25998 function localeFirstDayOfYear () {
25999 return this._week.doy;
26000 }
26001
26002 // MOMENTS
26003
26004 function getSetWeek (input) {
26005 var week = this.localeData().week(this);
26006 return input == null ? week : this.add((input - week) * 7, 'd');
26007 }
26008
26009 function getSetISOWeek (input) {
26010 var week = weekOfYear(this, 1, 4).week;
26011 return input == null ? week : this.add((input - week) * 7, 'd');
26012 }
26013
26014 // FORMATTING
26015
26016 addFormatToken('d', 0, 'do', 'day');
26017
26018 addFormatToken('dd', 0, 0, function (format) {
26019 return this.localeData().weekdaysMin(this, format);
26020 });
26021
26022 addFormatToken('ddd', 0, 0, function (format) {
26023 return this.localeData().weekdaysShort(this, format);
26024 });
26025
26026 addFormatToken('dddd', 0, 0, function (format) {
26027 return this.localeData().weekdays(this, format);
26028 });
26029
26030 addFormatToken('e', 0, 0, 'weekday');
26031 addFormatToken('E', 0, 0, 'isoWeekday');
26032
26033 // ALIASES
26034
26035 addUnitAlias('day', 'd');
26036 addUnitAlias('weekday', 'e');
26037 addUnitAlias('isoWeekday', 'E');
26038
26039 // PRIORITY
26040 addUnitPriority('day', 11);
26041 addUnitPriority('weekday', 11);
26042 addUnitPriority('isoWeekday', 11);
26043
26044 // PARSING
26045
26046 addRegexToken('d', match1to2);
26047 addRegexToken('e', match1to2);
26048 addRegexToken('E', match1to2);
26049 addRegexToken('dd', function (isStrict, locale) {
26050 return locale.weekdaysMinRegex(isStrict);
26051 });
26052 addRegexToken('ddd', function (isStrict, locale) {
26053 return locale.weekdaysShortRegex(isStrict);
26054 });
26055 addRegexToken('dddd', function (isStrict, locale) {
26056 return locale.weekdaysRegex(isStrict);
26057 });
26058
26059 addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {
26060 var weekday = config._locale.weekdaysParse(input, token, config._strict);
26061 // if we didn't get a weekday name, mark the date as invalid
26062 if (weekday != null) {
26063 week.d = weekday;
26064 } else {
26065 getParsingFlags(config).invalidWeekday = input;
26066 }
26067 });
26068
26069 addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {
26070 week[token] = toInt(input);
26071 });
26072
26073 // HELPERS
26074
26075 function parseWeekday(input, locale) {
26076 if (typeof input !== 'string') {
26077 return input;
26078 }
26079
26080 if (!isNaN(input)) {
26081 return parseInt(input, 10);
26082 }
26083
26084 input = locale.weekdaysParse(input);
26085 if (typeof input === 'number') {
26086 return input;
26087 }
26088
26089 return null;
26090 }
26091
26092 function parseIsoWeekday(input, locale) {
26093 if (typeof input === 'string') {
26094 return locale.weekdaysParse(input) % 7 || 7;
26095 }
26096 return isNaN(input) ? null : input;
26097 }
26098
26099 // LOCALES
26100
26101 var defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_');
26102 function localeWeekdays (m, format) {
26103 if (!m) {
26104 return isArray(this._weekdays) ? this._weekdays :
26105 this._weekdays['standalone'];
26106 }
26107 return isArray(this._weekdays) ? this._weekdays[m.day()] :
26108 this._weekdays[this._weekdays.isFormat.test(format) ? 'format' : 'standalone'][m.day()];
26109 }
26110
26111 var defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_');
26112 function localeWeekdaysShort (m) {
26113 return (m) ? this._weekdaysShort[m.day()] : this._weekdaysShort;
26114 }
26115
26116 var defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_');
26117 function localeWeekdaysMin (m) {
26118 return (m) ? this._weekdaysMin[m.day()] : this._weekdaysMin;
26119 }
26120
26121 function handleStrictParse$1(weekdayName, format, strict) {
26122 var i, ii, mom, llc = weekdayName.toLocaleLowerCase();
26123 if (!this._weekdaysParse) {
26124 this._weekdaysParse = [];
26125 this._shortWeekdaysParse = [];
26126 this._minWeekdaysParse = [];
26127
26128 for (i = 0; i < 7; ++i) {
26129 mom = createUTC([2000, 1]).day(i);
26130 this._minWeekdaysParse[i] = this.weekdaysMin(mom, '').toLocaleLowerCase();
26131 this._shortWeekdaysParse[i] = this.weekdaysShort(mom, '').toLocaleLowerCase();
26132 this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();
26133 }
26134 }
26135
26136 if (strict) {
26137 if (format === 'dddd') {
26138 ii = indexOf.call(this._weekdaysParse, llc);
26139 return ii !== -1 ? ii : null;
26140 } else if (format === 'ddd') {
26141 ii = indexOf.call(this._shortWeekdaysParse, llc);
26142 return ii !== -1 ? ii : null;
26143 } else {
26144 ii = indexOf.call(this._minWeekdaysParse, llc);
26145 return ii !== -1 ? ii : null;
26146 }
26147 } else {
26148 if (format === 'dddd') {
26149 ii = indexOf.call(this._weekdaysParse, llc);
26150 if (ii !== -1) {
26151 return ii;
26152 }
26153 ii = indexOf.call(this._shortWeekdaysParse, llc);
26154 if (ii !== -1) {
26155 return ii;
26156 }
26157 ii = indexOf.call(this._minWeekdaysParse, llc);
26158 return ii !== -1 ? ii : null;
26159 } else if (format === 'ddd') {
26160 ii = indexOf.call(this._shortWeekdaysParse, llc);
26161 if (ii !== -1) {
26162 return ii;
26163 }
26164 ii = indexOf.call(this._weekdaysParse, llc);
26165 if (ii !== -1) {
26166 return ii;
26167 }
26168 ii = indexOf.call(this._minWeekdaysParse, llc);
26169 return ii !== -1 ? ii : null;
26170 } else {
26171 ii = indexOf.call(this._minWeekdaysParse, llc);
26172 if (ii !== -1) {
26173 return ii;
26174 }
26175 ii = indexOf.call(this._weekdaysParse, llc);
26176 if (ii !== -1) {
26177 return ii;
26178 }
26179 ii = indexOf.call(this._shortWeekdaysParse, llc);
26180 return ii !== -1 ? ii : null;
26181 }
26182 }
26183 }
26184
26185 function localeWeekdaysParse (weekdayName, format, strict) {
26186 var i, mom, regex;
26187
26188 if (this._weekdaysParseExact) {
26189 return handleStrictParse$1.call(this, weekdayName, format, strict);
26190 }
26191
26192 if (!this._weekdaysParse) {
26193 this._weekdaysParse = [];
26194 this._minWeekdaysParse = [];
26195 this._shortWeekdaysParse = [];
26196 this._fullWeekdaysParse = [];
26197 }
26198
26199 for (i = 0; i < 7; i++) {
26200 // make the regex if we don't have it already
26201
26202 mom = createUTC([2000, 1]).day(i);
26203 if (strict && !this._fullWeekdaysParse[i]) {
26204 this._fullWeekdaysParse[i] = new RegExp('^' + this.weekdays(mom, '').replace('.', '\\.?') + '$', 'i');
26205 this._shortWeekdaysParse[i] = new RegExp('^' + this.weekdaysShort(mom, '').replace('.', '\\.?') + '$', 'i');
26206 this._minWeekdaysParse[i] = new RegExp('^' + this.weekdaysMin(mom, '').replace('.', '\\.?') + '$', 'i');
26207 }
26208 if (!this._weekdaysParse[i]) {
26209 regex = '^' + this.weekdays(mom, '') + '|^' + this.weekdaysShort(mom, '') + '|^' + this.weekdaysMin(mom, '');
26210 this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');
26211 }
26212 // test the regex
26213 if (strict && format === 'dddd' && this._fullWeekdaysParse[i].test(weekdayName)) {
26214 return i;
26215 } else if (strict && format === 'ddd' && this._shortWeekdaysParse[i].test(weekdayName)) {
26216 return i;
26217 } else if (strict && format === 'dd' && this._minWeekdaysParse[i].test(weekdayName)) {
26218 return i;
26219 } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {
26220 return i;
26221 }
26222 }
26223 }
26224
26225 // MOMENTS
26226
26227 function getSetDayOfWeek (input) {
26228 if (!this.isValid()) {
26229 return input != null ? this : NaN;
26230 }
26231 var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();
26232 if (input != null) {
26233 input = parseWeekday(input, this.localeData());
26234 return this.add(input - day, 'd');
26235 } else {
26236 return day;
26237 }
26238 }
26239
26240 function getSetLocaleDayOfWeek (input) {
26241 if (!this.isValid()) {
26242 return input != null ? this : NaN;
26243 }
26244 var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;
26245 return input == null ? weekday : this.add(input - weekday, 'd');
26246 }
26247
26248 function getSetISODayOfWeek (input) {
26249 if (!this.isValid()) {
26250 return input != null ? this : NaN;
26251 }
26252
26253 // behaves the same as moment#day except
26254 // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)
26255 // as a setter, sunday should belong to the previous week.
26256
26257 if (input != null) {
26258 var weekday = parseIsoWeekday(input, this.localeData());
26259 return this.day(this.day() % 7 ? weekday : weekday - 7);
26260 } else {
26261 return this.day() || 7;
26262 }
26263 }
26264
26265 var defaultWeekdaysRegex = matchWord;
26266 function weekdaysRegex (isStrict) {
26267 if (this._weekdaysParseExact) {
26268 if (!hasOwnProp(this, '_weekdaysRegex')) {
26269 computeWeekdaysParse.call(this);
26270 }
26271 if (isStrict) {
26272 return this._weekdaysStrictRegex;
26273 } else {
26274 return this._weekdaysRegex;
26275 }
26276 } else {
26277 if (!hasOwnProp(this, '_weekdaysRegex')) {
26278 this._weekdaysRegex = defaultWeekdaysRegex;
26279 }
26280 return this._weekdaysStrictRegex && isStrict ?
26281 this._weekdaysStrictRegex : this._weekdaysRegex;
26282 }
26283 }
26284
26285 var defaultWeekdaysShortRegex = matchWord;
26286 function weekdaysShortRegex (isStrict) {
26287 if (this._weekdaysParseExact) {
26288 if (!hasOwnProp(this, '_weekdaysRegex')) {
26289 computeWeekdaysParse.call(this);
26290 }
26291 if (isStrict) {
26292 return this._weekdaysShortStrictRegex;
26293 } else {
26294 return this._weekdaysShortRegex;
26295 }
26296 } else {
26297 if (!hasOwnProp(this, '_weekdaysShortRegex')) {
26298 this._weekdaysShortRegex = defaultWeekdaysShortRegex;
26299 }
26300 return this._weekdaysShortStrictRegex && isStrict ?
26301 this._weekdaysShortStrictRegex : this._weekdaysShortRegex;
26302 }
26303 }
26304
26305 var defaultWeekdaysMinRegex = matchWord;
26306 function weekdaysMinRegex (isStrict) {
26307 if (this._weekdaysParseExact) {
26308 if (!hasOwnProp(this, '_weekdaysRegex')) {
26309 computeWeekdaysParse.call(this);
26310 }
26311 if (isStrict) {
26312 return this._weekdaysMinStrictRegex;
26313 } else {
26314 return this._weekdaysMinRegex;
26315 }
26316 } else {
26317 if (!hasOwnProp(this, '_weekdaysMinRegex')) {
26318 this._weekdaysMinRegex = defaultWeekdaysMinRegex;
26319 }
26320 return this._weekdaysMinStrictRegex && isStrict ?
26321 this._weekdaysMinStrictRegex : this._weekdaysMinRegex;
26322 }
26323 }
26324
26325
26326 function computeWeekdaysParse () {
26327 function cmpLenRev(a, b) {
26328 return b.length - a.length;
26329 }
26330
26331 var minPieces = [], shortPieces = [], longPieces = [], mixedPieces = [],
26332 i, mom, minp, shortp, longp;
26333 for (i = 0; i < 7; i++) {
26334 // make the regex if we don't have it already
26335 mom = createUTC([2000, 1]).day(i);
26336 minp = this.weekdaysMin(mom, '');
26337 shortp = this.weekdaysShort(mom, '');
26338 longp = this.weekdays(mom, '');
26339 minPieces.push(minp);
26340 shortPieces.push(shortp);
26341 longPieces.push(longp);
26342 mixedPieces.push(minp);
26343 mixedPieces.push(shortp);
26344 mixedPieces.push(longp);
26345 }
26346 // Sorting makes sure if one weekday (or abbr) is a prefix of another it
26347 // will match the longer piece.
26348 minPieces.sort(cmpLenRev);
26349 shortPieces.sort(cmpLenRev);
26350 longPieces.sort(cmpLenRev);
26351 mixedPieces.sort(cmpLenRev);
26352 for (i = 0; i < 7; i++) {
26353 shortPieces[i] = regexEscape(shortPieces[i]);
26354 longPieces[i] = regexEscape(longPieces[i]);
26355 mixedPieces[i] = regexEscape(mixedPieces[i]);
26356 }
26357
26358 this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');
26359 this._weekdaysShortRegex = this._weekdaysRegex;
26360 this._weekdaysMinRegex = this._weekdaysRegex;
26361
26362 this._weekdaysStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');
26363 this._weekdaysShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');
26364 this._weekdaysMinStrictRegex = new RegExp('^(' + minPieces.join('|') + ')', 'i');
26365 }
26366
26367 // FORMATTING
26368
26369 function hFormat() {
26370 return this.hours() % 12 || 12;
26371 }
26372
26373 function kFormat() {
26374 return this.hours() || 24;
26375 }
26376
26377 addFormatToken('H', ['HH', 2], 0, 'hour');
26378 addFormatToken('h', ['hh', 2], 0, hFormat);
26379 addFormatToken('k', ['kk', 2], 0, kFormat);
26380
26381 addFormatToken('hmm', 0, 0, function () {
26382 return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);
26383 });
26384
26385 addFormatToken('hmmss', 0, 0, function () {
26386 return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2) +
26387 zeroFill(this.seconds(), 2);
26388 });
26389
26390 addFormatToken('Hmm', 0, 0, function () {
26391 return '' + this.hours() + zeroFill(this.minutes(), 2);
26392 });
26393
26394 addFormatToken('Hmmss', 0, 0, function () {
26395 return '' + this.hours() + zeroFill(this.minutes(), 2) +
26396 zeroFill(this.seconds(), 2);
26397 });
26398
26399 function meridiem (token, lowercase) {
26400 addFormatToken(token, 0, 0, function () {
26401 return this.localeData().meridiem(this.hours(), this.minutes(), lowercase);
26402 });
26403 }
26404
26405 meridiem('a', true);
26406 meridiem('A', false);
26407
26408 // ALIASES
26409
26410 addUnitAlias('hour', 'h');
26411
26412 // PRIORITY
26413 addUnitPriority('hour', 13);
26414
26415 // PARSING
26416
26417 function matchMeridiem (isStrict, locale) {
26418 return locale._meridiemParse;
26419 }
26420
26421 addRegexToken('a', matchMeridiem);
26422 addRegexToken('A', matchMeridiem);
26423 addRegexToken('H', match1to2);
26424 addRegexToken('h', match1to2);
26425 addRegexToken('k', match1to2);
26426 addRegexToken('HH', match1to2, match2);
26427 addRegexToken('hh', match1to2, match2);
26428 addRegexToken('kk', match1to2, match2);
26429
26430 addRegexToken('hmm', match3to4);
26431 addRegexToken('hmmss', match5to6);
26432 addRegexToken('Hmm', match3to4);
26433 addRegexToken('Hmmss', match5to6);
26434
26435 addParseToken(['H', 'HH'], HOUR);
26436 addParseToken(['k', 'kk'], function (input, array, config) {
26437 var kInput = toInt(input);
26438 array[HOUR] = kInput === 24 ? 0 : kInput;
26439 });
26440 addParseToken(['a', 'A'], function (input, array, config) {
26441 config._isPm = config._locale.isPM(input);
26442 config._meridiem = input;
26443 });
26444 addParseToken(['h', 'hh'], function (input, array, config) {
26445 array[HOUR] = toInt(input);
26446 getParsingFlags(config).bigHour = true;
26447 });
26448 addParseToken('hmm', function (input, array, config) {
26449 var pos = input.length - 2;
26450 array[HOUR] = toInt(input.substr(0, pos));
26451 array[MINUTE] = toInt(input.substr(pos));
26452 getParsingFlags(config).bigHour = true;
26453 });
26454 addParseToken('hmmss', function (input, array, config) {
26455 var pos1 = input.length - 4;
26456 var pos2 = input.length - 2;
26457 array[HOUR] = toInt(input.substr(0, pos1));
26458 array[MINUTE] = toInt(input.substr(pos1, 2));
26459 array[SECOND] = toInt(input.substr(pos2));
26460 getParsingFlags(config).bigHour = true;
26461 });
26462 addParseToken('Hmm', function (input, array, config) {
26463 var pos = input.length - 2;
26464 array[HOUR] = toInt(input.substr(0, pos));
26465 array[MINUTE] = toInt(input.substr(pos));
26466 });
26467 addParseToken('Hmmss', function (input, array, config) {
26468 var pos1 = input.length - 4;
26469 var pos2 = input.length - 2;
26470 array[HOUR] = toInt(input.substr(0, pos1));
26471 array[MINUTE] = toInt(input.substr(pos1, 2));
26472 array[SECOND] = toInt(input.substr(pos2));
26473 });
26474
26475 // LOCALES
26476
26477 function localeIsPM (input) {
26478 // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays
26479 // Using charAt should be more compatible.
26480 return ((input + '').toLowerCase().charAt(0) === 'p');
26481 }
26482
26483 var defaultLocaleMeridiemParse = /[ap]\.?m?\.?/i;
26484 function localeMeridiem (hours, minutes, isLower) {
26485 if (hours > 11) {
26486 return isLower ? 'pm' : 'PM';
26487 } else {
26488 return isLower ? 'am' : 'AM';
26489 }
26490 }
26491
26492
26493 // MOMENTS
26494
26495 // Setting the hour should keep the time, because the user explicitly
26496 // specified which hour they want. So trying to maintain the same hour (in
26497 // a new timezone) makes sense. Adding/subtracting hours does not follow
26498 // this rule.
26499 var getSetHour = makeGetSet('Hours', true);
26500
26501 var baseConfig = {
26502 calendar: defaultCalendar,
26503 longDateFormat: defaultLongDateFormat,
26504 invalidDate: defaultInvalidDate,
26505 ordinal: defaultOrdinal,
26506 dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,
26507 relativeTime: defaultRelativeTime,
26508
26509 months: defaultLocaleMonths,
26510 monthsShort: defaultLocaleMonthsShort,
26511
26512 week: defaultLocaleWeek,
26513
26514 weekdays: defaultLocaleWeekdays,
26515 weekdaysMin: defaultLocaleWeekdaysMin,
26516 weekdaysShort: defaultLocaleWeekdaysShort,
26517
26518 meridiemParse: defaultLocaleMeridiemParse
26519 };
26520
26521 // internal storage for locale config files
26522 var locales = {};
26523 var localeFamilies = {};
26524 var globalLocale;
26525
26526 function normalizeLocale(key) {
26527 return key ? key.toLowerCase().replace('_', '-') : key;
26528 }
26529
26530 // pick the locale from the array
26531 // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each
26532 // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root
26533 function chooseLocale(names) {
26534 var i = 0, j, next, locale, split;
26535
26536 while (i < names.length) {
26537 split = normalizeLocale(names[i]).split('-');
26538 j = split.length;
26539 next = normalizeLocale(names[i + 1]);
26540 next = next ? next.split('-') : null;
26541 while (j > 0) {
26542 locale = loadLocale(split.slice(0, j).join('-'));
26543 if (locale) {
26544 return locale;
26545 }
26546 if (next && next.length >= j && compareArrays(split, next, true) >= j - 1) {
26547 //the next array item is better than a shallower substring of this one
26548 break;
26549 }
26550 j--;
26551 }
26552 i++;
26553 }
26554 return globalLocale;
26555 }
26556
26557 function loadLocale(name) {
26558 var oldLocale = null;
26559 // TODO: Find a better way to register and load all the locales in Node
26560 if (!locales[name] && (typeof module !== 'undefined') &&
26561 module && module.exports) {
26562 try {
26563 oldLocale = globalLocale._abbr;
26564 var aliasedRequire = require;
26565 __webpack_require__(329)("./" + name);
26566 getSetGlobalLocale(oldLocale);
26567 } catch (e) {}
26568 }
26569 return locales[name];
26570 }
26571
26572 // This function will load locale and then set the global locale. If
26573 // no arguments are passed in, it will simply return the current global
26574 // locale key.
26575 function getSetGlobalLocale (key, values) {
26576 var data;
26577 if (key) {
26578 if (isUndefined(values)) {
26579 data = getLocale(key);
26580 }
26581 else {
26582 data = defineLocale(key, values);
26583 }
26584
26585 if (data) {
26586 // moment.duration._locale = moment._locale = data;
26587 globalLocale = data;
26588 }
26589 else {
26590 if ((typeof console !== 'undefined') && console.warn) {
26591 //warn user if arguments are passed but the locale could not be set
26592 console.warn('Locale ' + key + ' not found. Did you forget to load it?');
26593 }
26594 }
26595 }
26596
26597 return globalLocale._abbr;
26598 }
26599
26600 function defineLocale (name, config) {
26601 if (config !== null) {
26602 var locale, parentConfig = baseConfig;
26603 config.abbr = name;
26604 if (locales[name] != null) {
26605 deprecateSimple('defineLocaleOverride',
26606 'use moment.updateLocale(localeName, config) to change ' +
26607 'an existing locale. moment.defineLocale(localeName, ' +
26608 'config) should only be used for creating a new locale ' +
26609 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.');
26610 parentConfig = locales[name]._config;
26611 } else if (config.parentLocale != null) {
26612 if (locales[config.parentLocale] != null) {
26613 parentConfig = locales[config.parentLocale]._config;
26614 } else {
26615 locale = loadLocale(config.parentLocale);
26616 if (locale != null) {
26617 parentConfig = locale._config;
26618 } else {
26619 if (!localeFamilies[config.parentLocale]) {
26620 localeFamilies[config.parentLocale] = [];
26621 }
26622 localeFamilies[config.parentLocale].push({
26623 name: name,
26624 config: config
26625 });
26626 return null;
26627 }
26628 }
26629 }
26630 locales[name] = new Locale(mergeConfigs(parentConfig, config));
26631
26632 if (localeFamilies[name]) {
26633 localeFamilies[name].forEach(function (x) {
26634 defineLocale(x.name, x.config);
26635 });
26636 }
26637
26638 // backwards compat for now: also set the locale
26639 // make sure we set the locale AFTER all child locales have been
26640 // created, so we won't end up with the child locale set.
26641 getSetGlobalLocale(name);
26642
26643
26644 return locales[name];
26645 } else {
26646 // useful for testing
26647 delete locales[name];
26648 return null;
26649 }
26650 }
26651
26652 function updateLocale(name, config) {
26653 if (config != null) {
26654 var locale, tmpLocale, parentConfig = baseConfig;
26655 // MERGE
26656 tmpLocale = loadLocale(name);
26657 if (tmpLocale != null) {
26658 parentConfig = tmpLocale._config;
26659 }
26660 config = mergeConfigs(parentConfig, config);
26661 locale = new Locale(config);
26662 locale.parentLocale = locales[name];
26663 locales[name] = locale;
26664
26665 // backwards compat for now: also set the locale
26666 getSetGlobalLocale(name);
26667 } else {
26668 // pass null for config to unupdate, useful for tests
26669 if (locales[name] != null) {
26670 if (locales[name].parentLocale != null) {
26671 locales[name] = locales[name].parentLocale;
26672 } else if (locales[name] != null) {
26673 delete locales[name];
26674 }
26675 }
26676 }
26677 return locales[name];
26678 }
26679
26680 // returns locale data
26681 function getLocale (key) {
26682 var locale;
26683
26684 if (key && key._locale && key._locale._abbr) {
26685 key = key._locale._abbr;
26686 }
26687
26688 if (!key) {
26689 return globalLocale;
26690 }
26691
26692 if (!isArray(key)) {
26693 //short-circuit everything else
26694 locale = loadLocale(key);
26695 if (locale) {
26696 return locale;
26697 }
26698 key = [key];
26699 }
26700
26701 return chooseLocale(key);
26702 }
26703
26704 function listLocales() {
26705 return keys(locales);
26706 }
26707
26708 function checkOverflow (m) {
26709 var overflow;
26710 var a = m._a;
26711
26712 if (a && getParsingFlags(m).overflow === -2) {
26713 overflow =
26714 a[MONTH] < 0 || a[MONTH] > 11 ? MONTH :
26715 a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH]) ? DATE :
26716 a[HOUR] < 0 || a[HOUR] > 24 || (a[HOUR] === 24 && (a[MINUTE] !== 0 || a[SECOND] !== 0 || a[MILLISECOND] !== 0)) ? HOUR :
26717 a[MINUTE] < 0 || a[MINUTE] > 59 ? MINUTE :
26718 a[SECOND] < 0 || a[SECOND] > 59 ? SECOND :
26719 a[MILLISECOND] < 0 || a[MILLISECOND] > 999 ? MILLISECOND :
26720 -1;
26721
26722 if (getParsingFlags(m)._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) {
26723 overflow = DATE;
26724 }
26725 if (getParsingFlags(m)._overflowWeeks && overflow === -1) {
26726 overflow = WEEK;
26727 }
26728 if (getParsingFlags(m)._overflowWeekday && overflow === -1) {
26729 overflow = WEEKDAY;
26730 }
26731
26732 getParsingFlags(m).overflow = overflow;
26733 }
26734
26735 return m;
26736 }
26737
26738 // Pick the first defined of two or three arguments.
26739 function defaults(a, b, c) {
26740 if (a != null) {
26741 return a;
26742 }
26743 if (b != null) {
26744 return b;
26745 }
26746 return c;
26747 }
26748
26749 function currentDateArray(config) {
26750 // hooks is actually the exported moment object
26751 var nowValue = new Date(hooks.now());
26752 if (config._useUTC) {
26753 return [nowValue.getUTCFullYear(), nowValue.getUTCMonth(), nowValue.getUTCDate()];
26754 }
26755 return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];
26756 }
26757
26758 // convert an array to a date.
26759 // the array should mirror the parameters below
26760 // note: all values past the year are optional and will default to the lowest possible value.
26761 // [year, month, day , hour, minute, second, millisecond]
26762 function configFromArray (config) {
26763 var i, date, input = [], currentDate, expectedWeekday, yearToUse;
26764
26765 if (config._d) {
26766 return;
26767 }
26768
26769 currentDate = currentDateArray(config);
26770
26771 //compute day of the year from weeks and weekdays
26772 if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {
26773 dayOfYearFromWeekInfo(config);
26774 }
26775
26776 //if the day of the year is set, figure out what it is
26777 if (config._dayOfYear != null) {
26778 yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);
26779
26780 if (config._dayOfYear > daysInYear(yearToUse) || config._dayOfYear === 0) {
26781 getParsingFlags(config)._overflowDayOfYear = true;
26782 }
26783
26784 date = createUTCDate(yearToUse, 0, config._dayOfYear);
26785 config._a[MONTH] = date.getUTCMonth();
26786 config._a[DATE] = date.getUTCDate();
26787 }
26788
26789 // Default to current date.
26790 // * if no year, month, day of month are given, default to today
26791 // * if day of month is given, default month and year
26792 // * if month is given, default only year
26793 // * if year is given, don't default anything
26794 for (i = 0; i < 3 && config._a[i] == null; ++i) {
26795 config._a[i] = input[i] = currentDate[i];
26796 }
26797
26798 // Zero out whatever was not defaulted, including time
26799 for (; i < 7; i++) {
26800 config._a[i] = input[i] = (config._a[i] == null) ? (i === 2 ? 1 : 0) : config._a[i];
26801 }
26802
26803 // Check for 24:00:00.000
26804 if (config._a[HOUR] === 24 &&
26805 config._a[MINUTE] === 0 &&
26806 config._a[SECOND] === 0 &&
26807 config._a[MILLISECOND] === 0) {
26808 config._nextDay = true;
26809 config._a[HOUR] = 0;
26810 }
26811
26812 config._d = (config._useUTC ? createUTCDate : createDate).apply(null, input);
26813 expectedWeekday = config._useUTC ? config._d.getUTCDay() : config._d.getDay();
26814
26815 // Apply timezone offset from input. The actual utcOffset can be changed
26816 // with parseZone.
26817 if (config._tzm != null) {
26818 config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);
26819 }
26820
26821 if (config._nextDay) {
26822 config._a[HOUR] = 24;
26823 }
26824
26825 // check for mismatching day of week
26826 if (config._w && typeof config._w.d !== 'undefined' && config._w.d !== expectedWeekday) {
26827 getParsingFlags(config).weekdayMismatch = true;
26828 }
26829 }
26830
26831 function dayOfYearFromWeekInfo(config) {
26832 var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow;
26833
26834 w = config._w;
26835 if (w.GG != null || w.W != null || w.E != null) {
26836 dow = 1;
26837 doy = 4;
26838
26839 // TODO: We need to take the current isoWeekYear, but that depends on
26840 // how we interpret now (local, utc, fixed offset). So create
26841 // a now version of current config (take local/utc/offset flags, and
26842 // create now).
26843 weekYear = defaults(w.GG, config._a[YEAR], weekOfYear(createLocal(), 1, 4).year);
26844 week = defaults(w.W, 1);
26845 weekday = defaults(w.E, 1);
26846 if (weekday < 1 || weekday > 7) {
26847 weekdayOverflow = true;
26848 }
26849 } else {
26850 dow = config._locale._week.dow;
26851 doy = config._locale._week.doy;
26852
26853 var curWeek = weekOfYear(createLocal(), dow, doy);
26854
26855 weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);
26856
26857 // Default to current week.
26858 week = defaults(w.w, curWeek.week);
26859
26860 if (w.d != null) {
26861 // weekday -- low day numbers are considered next week
26862 weekday = w.d;
26863 if (weekday < 0 || weekday > 6) {
26864 weekdayOverflow = true;
26865 }
26866 } else if (w.e != null) {
26867 // local weekday -- counting starts from begining of week
26868 weekday = w.e + dow;
26869 if (w.e < 0 || w.e > 6) {
26870 weekdayOverflow = true;
26871 }
26872 } else {
26873 // default to begining of week
26874 weekday = dow;
26875 }
26876 }
26877 if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {
26878 getParsingFlags(config)._overflowWeeks = true;
26879 } else if (weekdayOverflow != null) {
26880 getParsingFlags(config)._overflowWeekday = true;
26881 } else {
26882 temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);
26883 config._a[YEAR] = temp.year;
26884 config._dayOfYear = temp.dayOfYear;
26885 }
26886 }
26887
26888 // iso 8601 regex
26889 // 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)
26890 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)?)?$/;
26891 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)?)?$/;
26892
26893 var tzRegex = /Z|[+-]\d\d(?::?\d\d)?/;
26894
26895 var isoDates = [
26896 ['YYYYYY-MM-DD', /[+-]\d{6}-\d\d-\d\d/],
26897 ['YYYY-MM-DD', /\d{4}-\d\d-\d\d/],
26898 ['GGGG-[W]WW-E', /\d{4}-W\d\d-\d/],
26899 ['GGGG-[W]WW', /\d{4}-W\d\d/, false],
26900 ['YYYY-DDD', /\d{4}-\d{3}/],
26901 ['YYYY-MM', /\d{4}-\d\d/, false],
26902 ['YYYYYYMMDD', /[+-]\d{10}/],
26903 ['YYYYMMDD', /\d{8}/],
26904 // YYYYMM is NOT allowed by the standard
26905 ['GGGG[W]WWE', /\d{4}W\d{3}/],
26906 ['GGGG[W]WW', /\d{4}W\d{2}/, false],
26907 ['YYYYDDD', /\d{7}/]
26908 ];
26909
26910 // iso time formats and regexes
26911 var isoTimes = [
26912 ['HH:mm:ss.SSSS', /\d\d:\d\d:\d\d\.\d+/],
26913 ['HH:mm:ss,SSSS', /\d\d:\d\d:\d\d,\d+/],
26914 ['HH:mm:ss', /\d\d:\d\d:\d\d/],
26915 ['HH:mm', /\d\d:\d\d/],
26916 ['HHmmss.SSSS', /\d\d\d\d\d\d\.\d+/],
26917 ['HHmmss,SSSS', /\d\d\d\d\d\d,\d+/],
26918 ['HHmmss', /\d\d\d\d\d\d/],
26919 ['HHmm', /\d\d\d\d/],
26920 ['HH', /\d\d/]
26921 ];
26922
26923 var aspNetJsonRegex = /^\/?Date\((\-?\d+)/i;
26924
26925 // date from iso format
26926 function configFromISO(config) {
26927 var i, l,
26928 string = config._i,
26929 match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),
26930 allowTime, dateFormat, timeFormat, tzFormat;
26931
26932 if (match) {
26933 getParsingFlags(config).iso = true;
26934
26935 for (i = 0, l = isoDates.length; i < l; i++) {
26936 if (isoDates[i][1].exec(match[1])) {
26937 dateFormat = isoDates[i][0];
26938 allowTime = isoDates[i][2] !== false;
26939 break;
26940 }
26941 }
26942 if (dateFormat == null) {
26943 config._isValid = false;
26944 return;
26945 }
26946 if (match[3]) {
26947 for (i = 0, l = isoTimes.length; i < l; i++) {
26948 if (isoTimes[i][1].exec(match[3])) {
26949 // match[2] should be 'T' or space
26950 timeFormat = (match[2] || ' ') + isoTimes[i][0];
26951 break;
26952 }
26953 }
26954 if (timeFormat == null) {
26955 config._isValid = false;
26956 return;
26957 }
26958 }
26959 if (!allowTime && timeFormat != null) {
26960 config._isValid = false;
26961 return;
26962 }
26963 if (match[4]) {
26964 if (tzRegex.exec(match[4])) {
26965 tzFormat = 'Z';
26966 } else {
26967 config._isValid = false;
26968 return;
26969 }
26970 }
26971 config._f = dateFormat + (timeFormat || '') + (tzFormat || '');
26972 configFromStringAndFormat(config);
26973 } else {
26974 config._isValid = false;
26975 }
26976 }
26977
26978 // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3
26979 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}))$/;
26980
26981 function extractFromRFC2822Strings(yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr) {
26982 var result = [
26983 untruncateYear(yearStr),
26984 defaultLocaleMonthsShort.indexOf(monthStr),
26985 parseInt(dayStr, 10),
26986 parseInt(hourStr, 10),
26987 parseInt(minuteStr, 10)
26988 ];
26989
26990 if (secondStr) {
26991 result.push(parseInt(secondStr, 10));
26992 }
26993
26994 return result;
26995 }
26996
26997 function untruncateYear(yearStr) {
26998 var year = parseInt(yearStr, 10);
26999 if (year <= 49) {
27000 return 2000 + year;
27001 } else if (year <= 999) {
27002 return 1900 + year;
27003 }
27004 return year;
27005 }
27006
27007 function preprocessRFC2822(s) {
27008 // Remove comments and folding whitespace and replace multiple-spaces with a single space
27009 return s.replace(/\([^)]*\)|[\n\t]/g, ' ').replace(/(\s\s+)/g, ' ').replace(/^\s\s*/, '').replace(/\s\s*$/, '');
27010 }
27011
27012 function checkWeekday(weekdayStr, parsedInput, config) {
27013 if (weekdayStr) {
27014 // TODO: Replace the vanilla JS Date object with an indepentent day-of-week check.
27015 var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),
27016 weekdayActual = new Date(parsedInput[0], parsedInput[1], parsedInput[2]).getDay();
27017 if (weekdayProvided !== weekdayActual) {
27018 getParsingFlags(config).weekdayMismatch = true;
27019 config._isValid = false;
27020 return false;
27021 }
27022 }
27023 return true;
27024 }
27025
27026 var obsOffsets = {
27027 UT: 0,
27028 GMT: 0,
27029 EDT: -4 * 60,
27030 EST: -5 * 60,
27031 CDT: -5 * 60,
27032 CST: -6 * 60,
27033 MDT: -6 * 60,
27034 MST: -7 * 60,
27035 PDT: -7 * 60,
27036 PST: -8 * 60
27037 };
27038
27039 function calculateOffset(obsOffset, militaryOffset, numOffset) {
27040 if (obsOffset) {
27041 return obsOffsets[obsOffset];
27042 } else if (militaryOffset) {
27043 // the only allowed military tz is Z
27044 return 0;
27045 } else {
27046 var hm = parseInt(numOffset, 10);
27047 var m = hm % 100, h = (hm - m) / 100;
27048 return h * 60 + m;
27049 }
27050 }
27051
27052 // date and time from ref 2822 format
27053 function configFromRFC2822(config) {
27054 var match = rfc2822.exec(preprocessRFC2822(config._i));
27055 if (match) {
27056 var parsedArray = extractFromRFC2822Strings(match[4], match[3], match[2], match[5], match[6], match[7]);
27057 if (!checkWeekday(match[1], parsedArray, config)) {
27058 return;
27059 }
27060
27061 config._a = parsedArray;
27062 config._tzm = calculateOffset(match[8], match[9], match[10]);
27063
27064 config._d = createUTCDate.apply(null, config._a);
27065 config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);
27066
27067 getParsingFlags(config).rfc2822 = true;
27068 } else {
27069 config._isValid = false;
27070 }
27071 }
27072
27073 // date from iso format or fallback
27074 function configFromString(config) {
27075 var matched = aspNetJsonRegex.exec(config._i);
27076
27077 if (matched !== null) {
27078 config._d = new Date(+matched[1]);
27079 return;
27080 }
27081
27082 configFromISO(config);
27083 if (config._isValid === false) {
27084 delete config._isValid;
27085 } else {
27086 return;
27087 }
27088
27089 configFromRFC2822(config);
27090 if (config._isValid === false) {
27091 delete config._isValid;
27092 } else {
27093 return;
27094 }
27095
27096 // Final attempt, use Input Fallback
27097 hooks.createFromInputFallback(config);
27098 }
27099
27100 hooks.createFromInputFallback = deprecate(
27101 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +
27102 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +
27103 'discouraged and will be removed in an upcoming major release. Please refer to ' +
27104 'http://momentjs.com/guides/#/warnings/js-date/ for more info.',
27105 function (config) {
27106 config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));
27107 }
27108 );
27109
27110 // constant that refers to the ISO standard
27111 hooks.ISO_8601 = function () {};
27112
27113 // constant that refers to the RFC 2822 form
27114 hooks.RFC_2822 = function () {};
27115
27116 // date from string and format string
27117 function configFromStringAndFormat(config) {
27118 // TODO: Move this to another part of the creation flow to prevent circular deps
27119 if (config._f === hooks.ISO_8601) {
27120 configFromISO(config);
27121 return;
27122 }
27123 if (config._f === hooks.RFC_2822) {
27124 configFromRFC2822(config);
27125 return;
27126 }
27127 config._a = [];
27128 getParsingFlags(config).empty = true;
27129
27130 // This array is used to make a Date, either with `new Date` or `Date.UTC`
27131 var string = '' + config._i,
27132 i, parsedInput, tokens, token, skipped,
27133 stringLength = string.length,
27134 totalParsedInputLength = 0;
27135
27136 tokens = expandFormat(config._f, config._locale).match(formattingTokens) || [];
27137
27138 for (i = 0; i < tokens.length; i++) {
27139 token = tokens[i];
27140 parsedInput = (string.match(getParseRegexForToken(token, config)) || [])[0];
27141 // console.log('token', token, 'parsedInput', parsedInput,
27142 // 'regex', getParseRegexForToken(token, config));
27143 if (parsedInput) {
27144 skipped = string.substr(0, string.indexOf(parsedInput));
27145 if (skipped.length > 0) {
27146 getParsingFlags(config).unusedInput.push(skipped);
27147 }
27148 string = string.slice(string.indexOf(parsedInput) + parsedInput.length);
27149 totalParsedInputLength += parsedInput.length;
27150 }
27151 // don't parse if it's not a known token
27152 if (formatTokenFunctions[token]) {
27153 if (parsedInput) {
27154 getParsingFlags(config).empty = false;
27155 }
27156 else {
27157 getParsingFlags(config).unusedTokens.push(token);
27158 }
27159 addTimeToArrayFromToken(token, parsedInput, config);
27160 }
27161 else if (config._strict && !parsedInput) {
27162 getParsingFlags(config).unusedTokens.push(token);
27163 }
27164 }
27165
27166 // add remaining unparsed input length to the string
27167 getParsingFlags(config).charsLeftOver = stringLength - totalParsedInputLength;
27168 if (string.length > 0) {
27169 getParsingFlags(config).unusedInput.push(string);
27170 }
27171
27172 // clear _12h flag if hour is <= 12
27173 if (config._a[HOUR] <= 12 &&
27174 getParsingFlags(config).bigHour === true &&
27175 config._a[HOUR] > 0) {
27176 getParsingFlags(config).bigHour = undefined;
27177 }
27178
27179 getParsingFlags(config).parsedDateParts = config._a.slice(0);
27180 getParsingFlags(config).meridiem = config._meridiem;
27181 // handle meridiem
27182 config._a[HOUR] = meridiemFixWrap(config._locale, config._a[HOUR], config._meridiem);
27183
27184 configFromArray(config);
27185 checkOverflow(config);
27186 }
27187
27188
27189 function meridiemFixWrap (locale, hour, meridiem) {
27190 var isPm;
27191
27192 if (meridiem == null) {
27193 // nothing to do
27194 return hour;
27195 }
27196 if (locale.meridiemHour != null) {
27197 return locale.meridiemHour(hour, meridiem);
27198 } else if (locale.isPM != null) {
27199 // Fallback
27200 isPm = locale.isPM(meridiem);
27201 if (isPm && hour < 12) {
27202 hour += 12;
27203 }
27204 if (!isPm && hour === 12) {
27205 hour = 0;
27206 }
27207 return hour;
27208 } else {
27209 // this is not supposed to happen
27210 return hour;
27211 }
27212 }
27213
27214 // date from string and array of format strings
27215 function configFromStringAndArray(config) {
27216 var tempConfig,
27217 bestMoment,
27218
27219 scoreToBeat,
27220 i,
27221 currentScore;
27222
27223 if (config._f.length === 0) {
27224 getParsingFlags(config).invalidFormat = true;
27225 config._d = new Date(NaN);
27226 return;
27227 }
27228
27229 for (i = 0; i < config._f.length; i++) {
27230 currentScore = 0;
27231 tempConfig = copyConfig({}, config);
27232 if (config._useUTC != null) {
27233 tempConfig._useUTC = config._useUTC;
27234 }
27235 tempConfig._f = config._f[i];
27236 configFromStringAndFormat(tempConfig);
27237
27238 if (!isValid(tempConfig)) {
27239 continue;
27240 }
27241
27242 // if there is any input that was not parsed add a penalty for that format
27243 currentScore += getParsingFlags(tempConfig).charsLeftOver;
27244
27245 //or tokens
27246 currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;
27247
27248 getParsingFlags(tempConfig).score = currentScore;
27249
27250 if (scoreToBeat == null || currentScore < scoreToBeat) {
27251 scoreToBeat = currentScore;
27252 bestMoment = tempConfig;
27253 }
27254 }
27255
27256 extend(config, bestMoment || tempConfig);
27257 }
27258
27259 function configFromObject(config) {
27260 if (config._d) {
27261 return;
27262 }
27263
27264 var i = normalizeObjectUnits(config._i);
27265 config._a = map([i.year, i.month, i.day || i.date, i.hour, i.minute, i.second, i.millisecond], function (obj) {
27266 return obj && parseInt(obj, 10);
27267 });
27268
27269 configFromArray(config);
27270 }
27271
27272 function createFromConfig (config) {
27273 var res = new Moment(checkOverflow(prepareConfig(config)));
27274 if (res._nextDay) {
27275 // Adding is smart enough around DST
27276 res.add(1, 'd');
27277 res._nextDay = undefined;
27278 }
27279
27280 return res;
27281 }
27282
27283 function prepareConfig (config) {
27284 var input = config._i,
27285 format = config._f;
27286
27287 config._locale = config._locale || getLocale(config._l);
27288
27289 if (input === null || (format === undefined && input === '')) {
27290 return createInvalid({nullInput: true});
27291 }
27292
27293 if (typeof input === 'string') {
27294 config._i = input = config._locale.preparse(input);
27295 }
27296
27297 if (isMoment(input)) {
27298 return new Moment(checkOverflow(input));
27299 } else if (isDate(input)) {
27300 config._d = input;
27301 } else if (isArray(format)) {
27302 configFromStringAndArray(config);
27303 } else if (format) {
27304 configFromStringAndFormat(config);
27305 } else {
27306 configFromInput(config);
27307 }
27308
27309 if (!isValid(config)) {
27310 config._d = null;
27311 }
27312
27313 return config;
27314 }
27315
27316 function configFromInput(config) {
27317 var input = config._i;
27318 if (isUndefined(input)) {
27319 config._d = new Date(hooks.now());
27320 } else if (isDate(input)) {
27321 config._d = new Date(input.valueOf());
27322 } else if (typeof input === 'string') {
27323 configFromString(config);
27324 } else if (isArray(input)) {
27325 config._a = map(input.slice(0), function (obj) {
27326 return parseInt(obj, 10);
27327 });
27328 configFromArray(config);
27329 } else if (isObject(input)) {
27330 configFromObject(config);
27331 } else if (isNumber(input)) {
27332 // from milliseconds
27333 config._d = new Date(input);
27334 } else {
27335 hooks.createFromInputFallback(config);
27336 }
27337 }
27338
27339 function createLocalOrUTC (input, format, locale, strict, isUTC) {
27340 var c = {};
27341
27342 if (locale === true || locale === false) {
27343 strict = locale;
27344 locale = undefined;
27345 }
27346
27347 if ((isObject(input) && isObjectEmpty(input)) ||
27348 (isArray(input) && input.length === 0)) {
27349 input = undefined;
27350 }
27351 // object construction must be done this way.
27352 // https://github.com/moment/moment/issues/1423
27353 c._isAMomentObject = true;
27354 c._useUTC = c._isUTC = isUTC;
27355 c._l = locale;
27356 c._i = input;
27357 c._f = format;
27358 c._strict = strict;
27359
27360 return createFromConfig(c);
27361 }
27362
27363 function createLocal (input, format, locale, strict) {
27364 return createLocalOrUTC(input, format, locale, strict, false);
27365 }
27366
27367 var prototypeMin = deprecate(
27368 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',
27369 function () {
27370 var other = createLocal.apply(null, arguments);
27371 if (this.isValid() && other.isValid()) {
27372 return other < this ? this : other;
27373 } else {
27374 return createInvalid();
27375 }
27376 }
27377 );
27378
27379 var prototypeMax = deprecate(
27380 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',
27381 function () {
27382 var other = createLocal.apply(null, arguments);
27383 if (this.isValid() && other.isValid()) {
27384 return other > this ? this : other;
27385 } else {
27386 return createInvalid();
27387 }
27388 }
27389 );
27390
27391 // Pick a moment m from moments so that m[fn](other) is true for all
27392 // other. This relies on the function fn to be transitive.
27393 //
27394 // moments should either be an array of moment objects or an array, whose
27395 // first element is an array of moment objects.
27396 function pickBy(fn, moments) {
27397 var res, i;
27398 if (moments.length === 1 && isArray(moments[0])) {
27399 moments = moments[0];
27400 }
27401 if (!moments.length) {
27402 return createLocal();
27403 }
27404 res = moments[0];
27405 for (i = 1; i < moments.length; ++i) {
27406 if (!moments[i].isValid() || moments[i][fn](res)) {
27407 res = moments[i];
27408 }
27409 }
27410 return res;
27411 }
27412
27413 // TODO: Use [].sort instead?
27414 function min () {
27415 var args = [].slice.call(arguments, 0);
27416
27417 return pickBy('isBefore', args);
27418 }
27419
27420 function max () {
27421 var args = [].slice.call(arguments, 0);
27422
27423 return pickBy('isAfter', args);
27424 }
27425
27426 var now = function () {
27427 return Date.now ? Date.now() : +(new Date());
27428 };
27429
27430 var ordering = ['year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', 'millisecond'];
27431
27432 function isDurationValid(m) {
27433 for (var key in m) {
27434 if (!(indexOf.call(ordering, key) !== -1 && (m[key] == null || !isNaN(m[key])))) {
27435 return false;
27436 }
27437 }
27438
27439 var unitHasDecimal = false;
27440 for (var i = 0; i < ordering.length; ++i) {
27441 if (m[ordering[i]]) {
27442 if (unitHasDecimal) {
27443 return false; // only allow non-integers for smallest unit
27444 }
27445 if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {
27446 unitHasDecimal = true;
27447 }
27448 }
27449 }
27450
27451 return true;
27452 }
27453
27454 function isValid$1() {
27455 return this._isValid;
27456 }
27457
27458 function createInvalid$1() {
27459 return createDuration(NaN);
27460 }
27461
27462 function Duration (duration) {
27463 var normalizedInput = normalizeObjectUnits(duration),
27464 years = normalizedInput.year || 0,
27465 quarters = normalizedInput.quarter || 0,
27466 months = normalizedInput.month || 0,
27467 weeks = normalizedInput.week || 0,
27468 days = normalizedInput.day || 0,
27469 hours = normalizedInput.hour || 0,
27470 minutes = normalizedInput.minute || 0,
27471 seconds = normalizedInput.second || 0,
27472 milliseconds = normalizedInput.millisecond || 0;
27473
27474 this._isValid = isDurationValid(normalizedInput);
27475
27476 // representation for dateAddRemove
27477 this._milliseconds = +milliseconds +
27478 seconds * 1e3 + // 1000
27479 minutes * 6e4 + // 1000 * 60
27480 hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978
27481 // Because of dateAddRemove treats 24 hours as different from a
27482 // day when working around DST, we need to store them separately
27483 this._days = +days +
27484 weeks * 7;
27485 // It is impossible to translate months into days without knowing
27486 // which months you are are talking about, so we have to store
27487 // it separately.
27488 this._months = +months +
27489 quarters * 3 +
27490 years * 12;
27491
27492 this._data = {};
27493
27494 this._locale = getLocale();
27495
27496 this._bubble();
27497 }
27498
27499 function isDuration (obj) {
27500 return obj instanceof Duration;
27501 }
27502
27503 function absRound (number) {
27504 if (number < 0) {
27505 return Math.round(-1 * number) * -1;
27506 } else {
27507 return Math.round(number);
27508 }
27509 }
27510
27511 // FORMATTING
27512
27513 function offset (token, separator) {
27514 addFormatToken(token, 0, 0, function () {
27515 var offset = this.utcOffset();
27516 var sign = '+';
27517 if (offset < 0) {
27518 offset = -offset;
27519 sign = '-';
27520 }
27521 return sign + zeroFill(~~(offset / 60), 2) + separator + zeroFill(~~(offset) % 60, 2);
27522 });
27523 }
27524
27525 offset('Z', ':');
27526 offset('ZZ', '');
27527
27528 // PARSING
27529
27530 addRegexToken('Z', matchShortOffset);
27531 addRegexToken('ZZ', matchShortOffset);
27532 addParseToken(['Z', 'ZZ'], function (input, array, config) {
27533 config._useUTC = true;
27534 config._tzm = offsetFromString(matchShortOffset, input);
27535 });
27536
27537 // HELPERS
27538
27539 // timezone chunker
27540 // '+10:00' > ['10', '00']
27541 // '-1530' > ['-15', '30']
27542 var chunkOffset = /([\+\-]|\d\d)/gi;
27543
27544 function offsetFromString(matcher, string) {
27545 var matches = (string || '').match(matcher);
27546
27547 if (matches === null) {
27548 return null;
27549 }
27550
27551 var chunk = matches[matches.length - 1] || [];
27552 var parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];
27553 var minutes = +(parts[1] * 60) + toInt(parts[2]);
27554
27555 return minutes === 0 ?
27556 0 :
27557 parts[0] === '+' ? minutes : -minutes;
27558 }
27559
27560 // Return a moment from input, that is local/utc/zone equivalent to model.
27561 function cloneWithOffset(input, model) {
27562 var res, diff;
27563 if (model._isUTC) {
27564 res = model.clone();
27565 diff = (isMoment(input) || isDate(input) ? input.valueOf() : createLocal(input).valueOf()) - res.valueOf();
27566 // Use low-level api, because this fn is low-level api.
27567 res._d.setTime(res._d.valueOf() + diff);
27568 hooks.updateOffset(res, false);
27569 return res;
27570 } else {
27571 return createLocal(input).local();
27572 }
27573 }
27574
27575 function getDateOffset (m) {
27576 // On Firefox.24 Date#getTimezoneOffset returns a floating point.
27577 // https://github.com/moment/moment/pull/1871
27578 return -Math.round(m._d.getTimezoneOffset() / 15) * 15;
27579 }
27580
27581 // HOOKS
27582
27583 // This function will be called whenever a moment is mutated.
27584 // It is intended to keep the offset in sync with the timezone.
27585 hooks.updateOffset = function () {};
27586
27587 // MOMENTS
27588
27589 // keepLocalTime = true means only change the timezone, without
27590 // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->
27591 // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset
27592 // +0200, so we adjust the time as needed, to be valid.
27593 //
27594 // Keeping the time actually adds/subtracts (one hour)
27595 // from the actual represented time. That is why we call updateOffset
27596 // a second time. In case it wants us to change the offset again
27597 // _changeInProgress == true case, then we have to adjust, because
27598 // there is no such time in the given timezone.
27599 function getSetOffset (input, keepLocalTime, keepMinutes) {
27600 var offset = this._offset || 0,
27601 localAdjust;
27602 if (!this.isValid()) {
27603 return input != null ? this : NaN;
27604 }
27605 if (input != null) {
27606 if (typeof input === 'string') {
27607 input = offsetFromString(matchShortOffset, input);
27608 if (input === null) {
27609 return this;
27610 }
27611 } else if (Math.abs(input) < 16 && !keepMinutes) {
27612 input = input * 60;
27613 }
27614 if (!this._isUTC && keepLocalTime) {
27615 localAdjust = getDateOffset(this);
27616 }
27617 this._offset = input;
27618 this._isUTC = true;
27619 if (localAdjust != null) {
27620 this.add(localAdjust, 'm');
27621 }
27622 if (offset !== input) {
27623 if (!keepLocalTime || this._changeInProgress) {
27624 addSubtract(this, createDuration(input - offset, 'm'), 1, false);
27625 } else if (!this._changeInProgress) {
27626 this._changeInProgress = true;
27627 hooks.updateOffset(this, true);
27628 this._changeInProgress = null;
27629 }
27630 }
27631 return this;
27632 } else {
27633 return this._isUTC ? offset : getDateOffset(this);
27634 }
27635 }
27636
27637 function getSetZone (input, keepLocalTime) {
27638 if (input != null) {
27639 if (typeof input !== 'string') {
27640 input = -input;
27641 }
27642
27643 this.utcOffset(input, keepLocalTime);
27644
27645 return this;
27646 } else {
27647 return -this.utcOffset();
27648 }
27649 }
27650
27651 function setOffsetToUTC (keepLocalTime) {
27652 return this.utcOffset(0, keepLocalTime);
27653 }
27654
27655 function setOffsetToLocal (keepLocalTime) {
27656 if (this._isUTC) {
27657 this.utcOffset(0, keepLocalTime);
27658 this._isUTC = false;
27659
27660 if (keepLocalTime) {
27661 this.subtract(getDateOffset(this), 'm');
27662 }
27663 }
27664 return this;
27665 }
27666
27667 function setOffsetToParsedOffset () {
27668 if (this._tzm != null) {
27669 this.utcOffset(this._tzm, false, true);
27670 } else if (typeof this._i === 'string') {
27671 var tZone = offsetFromString(matchOffset, this._i);
27672 if (tZone != null) {
27673 this.utcOffset(tZone);
27674 }
27675 else {
27676 this.utcOffset(0, true);
27677 }
27678 }
27679 return this;
27680 }
27681
27682 function hasAlignedHourOffset (input) {
27683 if (!this.isValid()) {
27684 return false;
27685 }
27686 input = input ? createLocal(input).utcOffset() : 0;
27687
27688 return (this.utcOffset() - input) % 60 === 0;
27689 }
27690
27691 function isDaylightSavingTime () {
27692 return (
27693 this.utcOffset() > this.clone().month(0).utcOffset() ||
27694 this.utcOffset() > this.clone().month(5).utcOffset()
27695 );
27696 }
27697
27698 function isDaylightSavingTimeShifted () {
27699 if (!isUndefined(this._isDSTShifted)) {
27700 return this._isDSTShifted;
27701 }
27702
27703 var c = {};
27704
27705 copyConfig(c, this);
27706 c = prepareConfig(c);
27707
27708 if (c._a) {
27709 var other = c._isUTC ? createUTC(c._a) : createLocal(c._a);
27710 this._isDSTShifted = this.isValid() &&
27711 compareArrays(c._a, other.toArray()) > 0;
27712 } else {
27713 this._isDSTShifted = false;
27714 }
27715
27716 return this._isDSTShifted;
27717 }
27718
27719 function isLocal () {
27720 return this.isValid() ? !this._isUTC : false;
27721 }
27722
27723 function isUtcOffset () {
27724 return this.isValid() ? this._isUTC : false;
27725 }
27726
27727 function isUtc () {
27728 return this.isValid() ? this._isUTC && this._offset === 0 : false;
27729 }
27730
27731 // ASP.NET json date format regex
27732 var aspNetRegex = /^(\-|\+)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/;
27733
27734 // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html
27735 // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere
27736 // and further modified to allow for strings containing both week and day
27737 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)?)?$/;
27738
27739 function createDuration (input, key) {
27740 var duration = input,
27741 // matching against regexp is expensive, do it on demand
27742 match = null,
27743 sign,
27744 ret,
27745 diffRes;
27746
27747 if (isDuration(input)) {
27748 duration = {
27749 ms : input._milliseconds,
27750 d : input._days,
27751 M : input._months
27752 };
27753 } else if (isNumber(input)) {
27754 duration = {};
27755 if (key) {
27756 duration[key] = input;
27757 } else {
27758 duration.milliseconds = input;
27759 }
27760 } else if (!!(match = aspNetRegex.exec(input))) {
27761 sign = (match[1] === '-') ? -1 : 1;
27762 duration = {
27763 y : 0,
27764 d : toInt(match[DATE]) * sign,
27765 h : toInt(match[HOUR]) * sign,
27766 m : toInt(match[MINUTE]) * sign,
27767 s : toInt(match[SECOND]) * sign,
27768 ms : toInt(absRound(match[MILLISECOND] * 1000)) * sign // the millisecond decimal point is included in the match
27769 };
27770 } else if (!!(match = isoRegex.exec(input))) {
27771 sign = (match[1] === '-') ? -1 : (match[1] === '+') ? 1 : 1;
27772 duration = {
27773 y : parseIso(match[2], sign),
27774 M : parseIso(match[3], sign),
27775 w : parseIso(match[4], sign),
27776 d : parseIso(match[5], sign),
27777 h : parseIso(match[6], sign),
27778 m : parseIso(match[7], sign),
27779 s : parseIso(match[8], sign)
27780 };
27781 } else if (duration == null) {// checks for null or undefined
27782 duration = {};
27783 } else if (typeof duration === 'object' && ('from' in duration || 'to' in duration)) {
27784 diffRes = momentsDifference(createLocal(duration.from), createLocal(duration.to));
27785
27786 duration = {};
27787 duration.ms = diffRes.milliseconds;
27788 duration.M = diffRes.months;
27789 }
27790
27791 ret = new Duration(duration);
27792
27793 if (isDuration(input) && hasOwnProp(input, '_locale')) {
27794 ret._locale = input._locale;
27795 }
27796
27797 return ret;
27798 }
27799
27800 createDuration.fn = Duration.prototype;
27801 createDuration.invalid = createInvalid$1;
27802
27803 function parseIso (inp, sign) {
27804 // We'd normally use ~~inp for this, but unfortunately it also
27805 // converts floats to ints.
27806 // inp may be undefined, so careful calling replace on it.
27807 var res = inp && parseFloat(inp.replace(',', '.'));
27808 // apply sign while we're at it
27809 return (isNaN(res) ? 0 : res) * sign;
27810 }
27811
27812 function positiveMomentsDifference(base, other) {
27813 var res = {milliseconds: 0, months: 0};
27814
27815 res.months = other.month() - base.month() +
27816 (other.year() - base.year()) * 12;
27817 if (base.clone().add(res.months, 'M').isAfter(other)) {
27818 --res.months;
27819 }
27820
27821 res.milliseconds = +other - +(base.clone().add(res.months, 'M'));
27822
27823 return res;
27824 }
27825
27826 function momentsDifference(base, other) {
27827 var res;
27828 if (!(base.isValid() && other.isValid())) {
27829 return {milliseconds: 0, months: 0};
27830 }
27831
27832 other = cloneWithOffset(other, base);
27833 if (base.isBefore(other)) {
27834 res = positiveMomentsDifference(base, other);
27835 } else {
27836 res = positiveMomentsDifference(other, base);
27837 res.milliseconds = -res.milliseconds;
27838 res.months = -res.months;
27839 }
27840
27841 return res;
27842 }
27843
27844 // TODO: remove 'name' arg after deprecation is removed
27845 function createAdder(direction, name) {
27846 return function (val, period) {
27847 var dur, tmp;
27848 //invert the arguments, but complain about it
27849 if (period !== null && !isNaN(+period)) {
27850 deprecateSimple(name, 'moment().' + name + '(period, number) is deprecated. Please use moment().' + name + '(number, period). ' +
27851 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.');
27852 tmp = val; val = period; period = tmp;
27853 }
27854
27855 val = typeof val === 'string' ? +val : val;
27856 dur = createDuration(val, period);
27857 addSubtract(this, dur, direction);
27858 return this;
27859 };
27860 }
27861
27862 function addSubtract (mom, duration, isAdding, updateOffset) {
27863 var milliseconds = duration._milliseconds,
27864 days = absRound(duration._days),
27865 months = absRound(duration._months);
27866
27867 if (!mom.isValid()) {
27868 // No op
27869 return;
27870 }
27871
27872 updateOffset = updateOffset == null ? true : updateOffset;
27873
27874 if (months) {
27875 setMonth(mom, get(mom, 'Month') + months * isAdding);
27876 }
27877 if (days) {
27878 set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);
27879 }
27880 if (milliseconds) {
27881 mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);
27882 }
27883 if (updateOffset) {
27884 hooks.updateOffset(mom, days || months);
27885 }
27886 }
27887
27888 var add = createAdder(1, 'add');
27889 var subtract = createAdder(-1, 'subtract');
27890
27891 function getCalendarFormat(myMoment, now) {
27892 var diff = myMoment.diff(now, 'days', true);
27893 return diff < -6 ? 'sameElse' :
27894 diff < -1 ? 'lastWeek' :
27895 diff < 0 ? 'lastDay' :
27896 diff < 1 ? 'sameDay' :
27897 diff < 2 ? 'nextDay' :
27898 diff < 7 ? 'nextWeek' : 'sameElse';
27899 }
27900
27901 function calendar$1 (time, formats) {
27902 // We want to compare the start of today, vs this.
27903 // Getting start-of-today depends on whether we're local/utc/offset or not.
27904 var now = time || createLocal(),
27905 sod = cloneWithOffset(now, this).startOf('day'),
27906 format = hooks.calendarFormat(this, sod) || 'sameElse';
27907
27908 var output = formats && (isFunction(formats[format]) ? formats[format].call(this, now) : formats[format]);
27909
27910 return this.format(output || this.localeData().calendar(format, this, createLocal(now)));
27911 }
27912
27913 function clone () {
27914 return new Moment(this);
27915 }
27916
27917 function isAfter (input, units) {
27918 var localInput = isMoment(input) ? input : createLocal(input);
27919 if (!(this.isValid() && localInput.isValid())) {
27920 return false;
27921 }
27922 units = normalizeUnits(!isUndefined(units) ? units : 'millisecond');
27923 if (units === 'millisecond') {
27924 return this.valueOf() > localInput.valueOf();
27925 } else {
27926 return localInput.valueOf() < this.clone().startOf(units).valueOf();
27927 }
27928 }
27929
27930 function isBefore (input, units) {
27931 var localInput = isMoment(input) ? input : createLocal(input);
27932 if (!(this.isValid() && localInput.isValid())) {
27933 return false;
27934 }
27935 units = normalizeUnits(!isUndefined(units) ? units : 'millisecond');
27936 if (units === 'millisecond') {
27937 return this.valueOf() < localInput.valueOf();
27938 } else {
27939 return this.clone().endOf(units).valueOf() < localInput.valueOf();
27940 }
27941 }
27942
27943 function isBetween (from, to, units, inclusivity) {
27944 inclusivity = inclusivity || '()';
27945 return (inclusivity[0] === '(' ? this.isAfter(from, units) : !this.isBefore(from, units)) &&
27946 (inclusivity[1] === ')' ? this.isBefore(to, units) : !this.isAfter(to, units));
27947 }
27948
27949 function isSame (input, units) {
27950 var localInput = isMoment(input) ? input : createLocal(input),
27951 inputMs;
27952 if (!(this.isValid() && localInput.isValid())) {
27953 return false;
27954 }
27955 units = normalizeUnits(units || 'millisecond');
27956 if (units === 'millisecond') {
27957 return this.valueOf() === localInput.valueOf();
27958 } else {
27959 inputMs = localInput.valueOf();
27960 return this.clone().startOf(units).valueOf() <= inputMs && inputMs <= this.clone().endOf(units).valueOf();
27961 }
27962 }
27963
27964 function isSameOrAfter (input, units) {
27965 return this.isSame(input, units) || this.isAfter(input,units);
27966 }
27967
27968 function isSameOrBefore (input, units) {
27969 return this.isSame(input, units) || this.isBefore(input,units);
27970 }
27971
27972 function diff (input, units, asFloat) {
27973 var that,
27974 zoneDelta,
27975 output;
27976
27977 if (!this.isValid()) {
27978 return NaN;
27979 }
27980
27981 that = cloneWithOffset(input, this);
27982
27983 if (!that.isValid()) {
27984 return NaN;
27985 }
27986
27987 zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;
27988
27989 units = normalizeUnits(units);
27990
27991 switch (units) {
27992 case 'year': output = monthDiff(this, that) / 12; break;
27993 case 'month': output = monthDiff(this, that); break;
27994 case 'quarter': output = monthDiff(this, that) / 3; break;
27995 case 'second': output = (this - that) / 1e3; break; // 1000
27996 case 'minute': output = (this - that) / 6e4; break; // 1000 * 60
27997 case 'hour': output = (this - that) / 36e5; break; // 1000 * 60 * 60
27998 case 'day': output = (this - that - zoneDelta) / 864e5; break; // 1000 * 60 * 60 * 24, negate dst
27999 case 'week': output = (this - that - zoneDelta) / 6048e5; break; // 1000 * 60 * 60 * 24 * 7, negate dst
28000 default: output = this - that;
28001 }
28002
28003 return asFloat ? output : absFloor(output);
28004 }
28005
28006 function monthDiff (a, b) {
28007 // difference in months
28008 var wholeMonthDiff = ((b.year() - a.year()) * 12) + (b.month() - a.month()),
28009 // b is in (anchor - 1 month, anchor + 1 month)
28010 anchor = a.clone().add(wholeMonthDiff, 'months'),
28011 anchor2, adjust;
28012
28013 if (b - anchor < 0) {
28014 anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');
28015 // linear across the month
28016 adjust = (b - anchor) / (anchor - anchor2);
28017 } else {
28018 anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');
28019 // linear across the month
28020 adjust = (b - anchor) / (anchor2 - anchor);
28021 }
28022
28023 //check for negative zero, return zero if negative zero
28024 return -(wholeMonthDiff + adjust) || 0;
28025 }
28026
28027 hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';
28028 hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';
28029
28030 function toString () {
28031 return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');
28032 }
28033
28034 function toISOString(keepOffset) {
28035 if (!this.isValid()) {
28036 return null;
28037 }
28038 var utc = keepOffset !== true;
28039 var m = utc ? this.clone().utc() : this;
28040 if (m.year() < 0 || m.year() > 9999) {
28041 return formatMoment(m, utc ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ');
28042 }
28043 if (isFunction(Date.prototype.toISOString)) {
28044 // native implementation is ~50x faster, use it when we can
28045 if (utc) {
28046 return this.toDate().toISOString();
28047 } else {
28048 return new Date(this.valueOf() + this.utcOffset() * 60 * 1000).toISOString().replace('Z', formatMoment(m, 'Z'));
28049 }
28050 }
28051 return formatMoment(m, utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ');
28052 }
28053
28054 /**
28055 * Return a human readable representation of a moment that can
28056 * also be evaluated to get a new moment which is the same
28057 *
28058 * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects
28059 */
28060 function inspect () {
28061 if (!this.isValid()) {
28062 return 'moment.invalid(/* ' + this._i + ' */)';
28063 }
28064 var func = 'moment';
28065 var zone = '';
28066 if (!this.isLocal()) {
28067 func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';
28068 zone = 'Z';
28069 }
28070 var prefix = '[' + func + '("]';
28071 var year = (0 <= this.year() && this.year() <= 9999) ? 'YYYY' : 'YYYYYY';
28072 var datetime = '-MM-DD[T]HH:mm:ss.SSS';
28073 var suffix = zone + '[")]';
28074
28075 return this.format(prefix + year + datetime + suffix);
28076 }
28077
28078 function format (inputString) {
28079 if (!inputString) {
28080 inputString = this.isUtc() ? hooks.defaultFormatUtc : hooks.defaultFormat;
28081 }
28082 var output = formatMoment(this, inputString);
28083 return this.localeData().postformat(output);
28084 }
28085
28086 function from (time, withoutSuffix) {
28087 if (this.isValid() &&
28088 ((isMoment(time) && time.isValid()) ||
28089 createLocal(time).isValid())) {
28090 return createDuration({to: this, from: time}).locale(this.locale()).humanize(!withoutSuffix);
28091 } else {
28092 return this.localeData().invalidDate();
28093 }
28094 }
28095
28096 function fromNow (withoutSuffix) {
28097 return this.from(createLocal(), withoutSuffix);
28098 }
28099
28100 function to (time, withoutSuffix) {
28101 if (this.isValid() &&
28102 ((isMoment(time) && time.isValid()) ||
28103 createLocal(time).isValid())) {
28104 return createDuration({from: this, to: time}).locale(this.locale()).humanize(!withoutSuffix);
28105 } else {
28106 return this.localeData().invalidDate();
28107 }
28108 }
28109
28110 function toNow (withoutSuffix) {
28111 return this.to(createLocal(), withoutSuffix);
28112 }
28113
28114 // If passed a locale key, it will set the locale for this
28115 // instance. Otherwise, it will return the locale configuration
28116 // variables for this instance.
28117 function locale (key) {
28118 var newLocaleData;
28119
28120 if (key === undefined) {
28121 return this._locale._abbr;
28122 } else {
28123 newLocaleData = getLocale(key);
28124 if (newLocaleData != null) {
28125 this._locale = newLocaleData;
28126 }
28127 return this;
28128 }
28129 }
28130
28131 var lang = deprecate(
28132 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',
28133 function (key) {
28134 if (key === undefined) {
28135 return this.localeData();
28136 } else {
28137 return this.locale(key);
28138 }
28139 }
28140 );
28141
28142 function localeData () {
28143 return this._locale;
28144 }
28145
28146 function startOf (units) {
28147 units = normalizeUnits(units);
28148 // the following switch intentionally omits break keywords
28149 // to utilize falling through the cases.
28150 switch (units) {
28151 case 'year':
28152 this.month(0);
28153 /* falls through */
28154 case 'quarter':
28155 case 'month':
28156 this.date(1);
28157 /* falls through */
28158 case 'week':
28159 case 'isoWeek':
28160 case 'day':
28161 case 'date':
28162 this.hours(0);
28163 /* falls through */
28164 case 'hour':
28165 this.minutes(0);
28166 /* falls through */
28167 case 'minute':
28168 this.seconds(0);
28169 /* falls through */
28170 case 'second':
28171 this.milliseconds(0);
28172 }
28173
28174 // weeks are a special case
28175 if (units === 'week') {
28176 this.weekday(0);
28177 }
28178 if (units === 'isoWeek') {
28179 this.isoWeekday(1);
28180 }
28181
28182 // quarters are also special
28183 if (units === 'quarter') {
28184 this.month(Math.floor(this.month() / 3) * 3);
28185 }
28186
28187 return this;
28188 }
28189
28190 function endOf (units) {
28191 units = normalizeUnits(units);
28192 if (units === undefined || units === 'millisecond') {
28193 return this;
28194 }
28195
28196 // 'date' is an alias for 'day', so it should be considered as such.
28197 if (units === 'date') {
28198 units = 'day';
28199 }
28200
28201 return this.startOf(units).add(1, (units === 'isoWeek' ? 'week' : units)).subtract(1, 'ms');
28202 }
28203
28204 function valueOf () {
28205 return this._d.valueOf() - ((this._offset || 0) * 60000);
28206 }
28207
28208 function unix () {
28209 return Math.floor(this.valueOf() / 1000);
28210 }
28211
28212 function toDate () {
28213 return new Date(this.valueOf());
28214 }
28215
28216 function toArray () {
28217 var m = this;
28218 return [m.year(), m.month(), m.date(), m.hour(), m.minute(), m.second(), m.millisecond()];
28219 }
28220
28221 function toObject () {
28222 var m = this;
28223 return {
28224 years: m.year(),
28225 months: m.month(),
28226 date: m.date(),
28227 hours: m.hours(),
28228 minutes: m.minutes(),
28229 seconds: m.seconds(),
28230 milliseconds: m.milliseconds()
28231 };
28232 }
28233
28234 function toJSON () {
28235 // new Date(NaN).toJSON() === null
28236 return this.isValid() ? this.toISOString() : null;
28237 }
28238
28239 function isValid$2 () {
28240 return isValid(this);
28241 }
28242
28243 function parsingFlags () {
28244 return extend({}, getParsingFlags(this));
28245 }
28246
28247 function invalidAt () {
28248 return getParsingFlags(this).overflow;
28249 }
28250
28251 function creationData() {
28252 return {
28253 input: this._i,
28254 format: this._f,
28255 locale: this._locale,
28256 isUTC: this._isUTC,
28257 strict: this._strict
28258 };
28259 }
28260
28261 // FORMATTING
28262
28263 addFormatToken(0, ['gg', 2], 0, function () {
28264 return this.weekYear() % 100;
28265 });
28266
28267 addFormatToken(0, ['GG', 2], 0, function () {
28268 return this.isoWeekYear() % 100;
28269 });
28270
28271 function addWeekYearFormatToken (token, getter) {
28272 addFormatToken(0, [token, token.length], 0, getter);
28273 }
28274
28275 addWeekYearFormatToken('gggg', 'weekYear');
28276 addWeekYearFormatToken('ggggg', 'weekYear');
28277 addWeekYearFormatToken('GGGG', 'isoWeekYear');
28278 addWeekYearFormatToken('GGGGG', 'isoWeekYear');
28279
28280 // ALIASES
28281
28282 addUnitAlias('weekYear', 'gg');
28283 addUnitAlias('isoWeekYear', 'GG');
28284
28285 // PRIORITY
28286
28287 addUnitPriority('weekYear', 1);
28288 addUnitPriority('isoWeekYear', 1);
28289
28290
28291 // PARSING
28292
28293 addRegexToken('G', matchSigned);
28294 addRegexToken('g', matchSigned);
28295 addRegexToken('GG', match1to2, match2);
28296 addRegexToken('gg', match1to2, match2);
28297 addRegexToken('GGGG', match1to4, match4);
28298 addRegexToken('gggg', match1to4, match4);
28299 addRegexToken('GGGGG', match1to6, match6);
28300 addRegexToken('ggggg', match1to6, match6);
28301
28302 addWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (input, week, config, token) {
28303 week[token.substr(0, 2)] = toInt(input);
28304 });
28305
28306 addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {
28307 week[token] = hooks.parseTwoDigitYear(input);
28308 });
28309
28310 // MOMENTS
28311
28312 function getSetWeekYear (input) {
28313 return getSetWeekYearHelper.call(this,
28314 input,
28315 this.week(),
28316 this.weekday(),
28317 this.localeData()._week.dow,
28318 this.localeData()._week.doy);
28319 }
28320
28321 function getSetISOWeekYear (input) {
28322 return getSetWeekYearHelper.call(this,
28323 input, this.isoWeek(), this.isoWeekday(), 1, 4);
28324 }
28325
28326 function getISOWeeksInYear () {
28327 return weeksInYear(this.year(), 1, 4);
28328 }
28329
28330 function getWeeksInYear () {
28331 var weekInfo = this.localeData()._week;
28332 return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);
28333 }
28334
28335 function getSetWeekYearHelper(input, week, weekday, dow, doy) {
28336 var weeksTarget;
28337 if (input == null) {
28338 return weekOfYear(this, dow, doy).year;
28339 } else {
28340 weeksTarget = weeksInYear(input, dow, doy);
28341 if (week > weeksTarget) {
28342 week = weeksTarget;
28343 }
28344 return setWeekAll.call(this, input, week, weekday, dow, doy);
28345 }
28346 }
28347
28348 function setWeekAll(weekYear, week, weekday, dow, doy) {
28349 var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),
28350 date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);
28351
28352 this.year(date.getUTCFullYear());
28353 this.month(date.getUTCMonth());
28354 this.date(date.getUTCDate());
28355 return this;
28356 }
28357
28358 // FORMATTING
28359
28360 addFormatToken('Q', 0, 'Qo', 'quarter');
28361
28362 // ALIASES
28363
28364 addUnitAlias('quarter', 'Q');
28365
28366 // PRIORITY
28367
28368 addUnitPriority('quarter', 7);
28369
28370 // PARSING
28371
28372 addRegexToken('Q', match1);
28373 addParseToken('Q', function (input, array) {
28374 array[MONTH] = (toInt(input) - 1) * 3;
28375 });
28376
28377 // MOMENTS
28378
28379 function getSetQuarter (input) {
28380 return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3);
28381 }
28382
28383 // FORMATTING
28384
28385 addFormatToken('D', ['DD', 2], 'Do', 'date');
28386
28387 // ALIASES
28388
28389 addUnitAlias('date', 'D');
28390
28391 // PRIORITY
28392 addUnitPriority('date', 9);
28393
28394 // PARSING
28395
28396 addRegexToken('D', match1to2);
28397 addRegexToken('DD', match1to2, match2);
28398 addRegexToken('Do', function (isStrict, locale) {
28399 // TODO: Remove "ordinalParse" fallback in next major release.
28400 return isStrict ?
28401 (locale._dayOfMonthOrdinalParse || locale._ordinalParse) :
28402 locale._dayOfMonthOrdinalParseLenient;
28403 });
28404
28405 addParseToken(['D', 'DD'], DATE);
28406 addParseToken('Do', function (input, array) {
28407 array[DATE] = toInt(input.match(match1to2)[0]);
28408 });
28409
28410 // MOMENTS
28411
28412 var getSetDayOfMonth = makeGetSet('Date', true);
28413
28414 // FORMATTING
28415
28416 addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');
28417
28418 // ALIASES
28419
28420 addUnitAlias('dayOfYear', 'DDD');
28421
28422 // PRIORITY
28423 addUnitPriority('dayOfYear', 4);
28424
28425 // PARSING
28426
28427 addRegexToken('DDD', match1to3);
28428 addRegexToken('DDDD', match3);
28429 addParseToken(['DDD', 'DDDD'], function (input, array, config) {
28430 config._dayOfYear = toInt(input);
28431 });
28432
28433 // HELPERS
28434
28435 // MOMENTS
28436
28437 function getSetDayOfYear (input) {
28438 var dayOfYear = Math.round((this.clone().startOf('day') - this.clone().startOf('year')) / 864e5) + 1;
28439 return input == null ? dayOfYear : this.add((input - dayOfYear), 'd');
28440 }
28441
28442 // FORMATTING
28443
28444 addFormatToken('m', ['mm', 2], 0, 'minute');
28445
28446 // ALIASES
28447
28448 addUnitAlias('minute', 'm');
28449
28450 // PRIORITY
28451
28452 addUnitPriority('minute', 14);
28453
28454 // PARSING
28455
28456 addRegexToken('m', match1to2);
28457 addRegexToken('mm', match1to2, match2);
28458 addParseToken(['m', 'mm'], MINUTE);
28459
28460 // MOMENTS
28461
28462 var getSetMinute = makeGetSet('Minutes', false);
28463
28464 // FORMATTING
28465
28466 addFormatToken('s', ['ss', 2], 0, 'second');
28467
28468 // ALIASES
28469
28470 addUnitAlias('second', 's');
28471
28472 // PRIORITY
28473
28474 addUnitPriority('second', 15);
28475
28476 // PARSING
28477
28478 addRegexToken('s', match1to2);
28479 addRegexToken('ss', match1to2, match2);
28480 addParseToken(['s', 'ss'], SECOND);
28481
28482 // MOMENTS
28483
28484 var getSetSecond = makeGetSet('Seconds', false);
28485
28486 // FORMATTING
28487
28488 addFormatToken('S', 0, 0, function () {
28489 return ~~(this.millisecond() / 100);
28490 });
28491
28492 addFormatToken(0, ['SS', 2], 0, function () {
28493 return ~~(this.millisecond() / 10);
28494 });
28495
28496 addFormatToken(0, ['SSS', 3], 0, 'millisecond');
28497 addFormatToken(0, ['SSSS', 4], 0, function () {
28498 return this.millisecond() * 10;
28499 });
28500 addFormatToken(0, ['SSSSS', 5], 0, function () {
28501 return this.millisecond() * 100;
28502 });
28503 addFormatToken(0, ['SSSSSS', 6], 0, function () {
28504 return this.millisecond() * 1000;
28505 });
28506 addFormatToken(0, ['SSSSSSS', 7], 0, function () {
28507 return this.millisecond() * 10000;
28508 });
28509 addFormatToken(0, ['SSSSSSSS', 8], 0, function () {
28510 return this.millisecond() * 100000;
28511 });
28512 addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {
28513 return this.millisecond() * 1000000;
28514 });
28515
28516
28517 // ALIASES
28518
28519 addUnitAlias('millisecond', 'ms');
28520
28521 // PRIORITY
28522
28523 addUnitPriority('millisecond', 16);
28524
28525 // PARSING
28526
28527 addRegexToken('S', match1to3, match1);
28528 addRegexToken('SS', match1to3, match2);
28529 addRegexToken('SSS', match1to3, match3);
28530
28531 var token;
28532 for (token = 'SSSS'; token.length <= 9; token += 'S') {
28533 addRegexToken(token, matchUnsigned);
28534 }
28535
28536 function parseMs(input, array) {
28537 array[MILLISECOND] = toInt(('0.' + input) * 1000);
28538 }
28539
28540 for (token = 'S'; token.length <= 9; token += 'S') {
28541 addParseToken(token, parseMs);
28542 }
28543 // MOMENTS
28544
28545 var getSetMillisecond = makeGetSet('Milliseconds', false);
28546
28547 // FORMATTING
28548
28549 addFormatToken('z', 0, 0, 'zoneAbbr');
28550 addFormatToken('zz', 0, 0, 'zoneName');
28551
28552 // MOMENTS
28553
28554 function getZoneAbbr () {
28555 return this._isUTC ? 'UTC' : '';
28556 }
28557
28558 function getZoneName () {
28559 return this._isUTC ? 'Coordinated Universal Time' : '';
28560 }
28561
28562 var proto = Moment.prototype;
28563
28564 proto.add = add;
28565 proto.calendar = calendar$1;
28566 proto.clone = clone;
28567 proto.diff = diff;
28568 proto.endOf = endOf;
28569 proto.format = format;
28570 proto.from = from;
28571 proto.fromNow = fromNow;
28572 proto.to = to;
28573 proto.toNow = toNow;
28574 proto.get = stringGet;
28575 proto.invalidAt = invalidAt;
28576 proto.isAfter = isAfter;
28577 proto.isBefore = isBefore;
28578 proto.isBetween = isBetween;
28579 proto.isSame = isSame;
28580 proto.isSameOrAfter = isSameOrAfter;
28581 proto.isSameOrBefore = isSameOrBefore;
28582 proto.isValid = isValid$2;
28583 proto.lang = lang;
28584 proto.locale = locale;
28585 proto.localeData = localeData;
28586 proto.max = prototypeMax;
28587 proto.min = prototypeMin;
28588 proto.parsingFlags = parsingFlags;
28589 proto.set = stringSet;
28590 proto.startOf = startOf;
28591 proto.subtract = subtract;
28592 proto.toArray = toArray;
28593 proto.toObject = toObject;
28594 proto.toDate = toDate;
28595 proto.toISOString = toISOString;
28596 proto.inspect = inspect;
28597 proto.toJSON = toJSON;
28598 proto.toString = toString;
28599 proto.unix = unix;
28600 proto.valueOf = valueOf;
28601 proto.creationData = creationData;
28602 proto.year = getSetYear;
28603 proto.isLeapYear = getIsLeapYear;
28604 proto.weekYear = getSetWeekYear;
28605 proto.isoWeekYear = getSetISOWeekYear;
28606 proto.quarter = proto.quarters = getSetQuarter;
28607 proto.month = getSetMonth;
28608 proto.daysInMonth = getDaysInMonth;
28609 proto.week = proto.weeks = getSetWeek;
28610 proto.isoWeek = proto.isoWeeks = getSetISOWeek;
28611 proto.weeksInYear = getWeeksInYear;
28612 proto.isoWeeksInYear = getISOWeeksInYear;
28613 proto.date = getSetDayOfMonth;
28614 proto.day = proto.days = getSetDayOfWeek;
28615 proto.weekday = getSetLocaleDayOfWeek;
28616 proto.isoWeekday = getSetISODayOfWeek;
28617 proto.dayOfYear = getSetDayOfYear;
28618 proto.hour = proto.hours = getSetHour;
28619 proto.minute = proto.minutes = getSetMinute;
28620 proto.second = proto.seconds = getSetSecond;
28621 proto.millisecond = proto.milliseconds = getSetMillisecond;
28622 proto.utcOffset = getSetOffset;
28623 proto.utc = setOffsetToUTC;
28624 proto.local = setOffsetToLocal;
28625 proto.parseZone = setOffsetToParsedOffset;
28626 proto.hasAlignedHourOffset = hasAlignedHourOffset;
28627 proto.isDST = isDaylightSavingTime;
28628 proto.isLocal = isLocal;
28629 proto.isUtcOffset = isUtcOffset;
28630 proto.isUtc = isUtc;
28631 proto.isUTC = isUtc;
28632 proto.zoneAbbr = getZoneAbbr;
28633 proto.zoneName = getZoneName;
28634 proto.dates = deprecate('dates accessor is deprecated. Use date instead.', getSetDayOfMonth);
28635 proto.months = deprecate('months accessor is deprecated. Use month instead', getSetMonth);
28636 proto.years = deprecate('years accessor is deprecated. Use year instead', getSetYear);
28637 proto.zone = deprecate('moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/', getSetZone);
28638 proto.isDSTShifted = deprecate('isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information', isDaylightSavingTimeShifted);
28639
28640 function createUnix (input) {
28641 return createLocal(input * 1000);
28642 }
28643
28644 function createInZone () {
28645 return createLocal.apply(null, arguments).parseZone();
28646 }
28647
28648 function preParsePostFormat (string) {
28649 return string;
28650 }
28651
28652 var proto$1 = Locale.prototype;
28653
28654 proto$1.calendar = calendar;
28655 proto$1.longDateFormat = longDateFormat;
28656 proto$1.invalidDate = invalidDate;
28657 proto$1.ordinal = ordinal;
28658 proto$1.preparse = preParsePostFormat;
28659 proto$1.postformat = preParsePostFormat;
28660 proto$1.relativeTime = relativeTime;
28661 proto$1.pastFuture = pastFuture;
28662 proto$1.set = set;
28663
28664 proto$1.months = localeMonths;
28665 proto$1.monthsShort = localeMonthsShort;
28666 proto$1.monthsParse = localeMonthsParse;
28667 proto$1.monthsRegex = monthsRegex;
28668 proto$1.monthsShortRegex = monthsShortRegex;
28669 proto$1.week = localeWeek;
28670 proto$1.firstDayOfYear = localeFirstDayOfYear;
28671 proto$1.firstDayOfWeek = localeFirstDayOfWeek;
28672
28673 proto$1.weekdays = localeWeekdays;
28674 proto$1.weekdaysMin = localeWeekdaysMin;
28675 proto$1.weekdaysShort = localeWeekdaysShort;
28676 proto$1.weekdaysParse = localeWeekdaysParse;
28677
28678 proto$1.weekdaysRegex = weekdaysRegex;
28679 proto$1.weekdaysShortRegex = weekdaysShortRegex;
28680 proto$1.weekdaysMinRegex = weekdaysMinRegex;
28681
28682 proto$1.isPM = localeIsPM;
28683 proto$1.meridiem = localeMeridiem;
28684
28685 function get$1 (format, index, field, setter) {
28686 var locale = getLocale();
28687 var utc = createUTC().set(setter, index);
28688 return locale[field](utc, format);
28689 }
28690
28691 function listMonthsImpl (format, index, field) {
28692 if (isNumber(format)) {
28693 index = format;
28694 format = undefined;
28695 }
28696
28697 format = format || '';
28698
28699 if (index != null) {
28700 return get$1(format, index, field, 'month');
28701 }
28702
28703 var i;
28704 var out = [];
28705 for (i = 0; i < 12; i++) {
28706 out[i] = get$1(format, i, field, 'month');
28707 }
28708 return out;
28709 }
28710
28711 // ()
28712 // (5)
28713 // (fmt, 5)
28714 // (fmt)
28715 // (true)
28716 // (true, 5)
28717 // (true, fmt, 5)
28718 // (true, fmt)
28719 function listWeekdaysImpl (localeSorted, format, index, field) {
28720 if (typeof localeSorted === 'boolean') {
28721 if (isNumber(format)) {
28722 index = format;
28723 format = undefined;
28724 }
28725
28726 format = format || '';
28727 } else {
28728 format = localeSorted;
28729 index = format;
28730 localeSorted = false;
28731
28732 if (isNumber(format)) {
28733 index = format;
28734 format = undefined;
28735 }
28736
28737 format = format || '';
28738 }
28739
28740 var locale = getLocale(),
28741 shift = localeSorted ? locale._week.dow : 0;
28742
28743 if (index != null) {
28744 return get$1(format, (index + shift) % 7, field, 'day');
28745 }
28746
28747 var i;
28748 var out = [];
28749 for (i = 0; i < 7; i++) {
28750 out[i] = get$1(format, (i + shift) % 7, field, 'day');
28751 }
28752 return out;
28753 }
28754
28755 function listMonths (format, index) {
28756 return listMonthsImpl(format, index, 'months');
28757 }
28758
28759 function listMonthsShort (format, index) {
28760 return listMonthsImpl(format, index, 'monthsShort');
28761 }
28762
28763 function listWeekdays (localeSorted, format, index) {
28764 return listWeekdaysImpl(localeSorted, format, index, 'weekdays');
28765 }
28766
28767 function listWeekdaysShort (localeSorted, format, index) {
28768 return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');
28769 }
28770
28771 function listWeekdaysMin (localeSorted, format, index) {
28772 return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');
28773 }
28774
28775 getSetGlobalLocale('en', {
28776 dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/,
28777 ordinal : function (number) {
28778 var b = number % 10,
28779 output = (toInt(number % 100 / 10) === 1) ? 'th' :
28780 (b === 1) ? 'st' :
28781 (b === 2) ? 'nd' :
28782 (b === 3) ? 'rd' : 'th';
28783 return number + output;
28784 }
28785 });
28786
28787 // Side effect imports
28788
28789 hooks.lang = deprecate('moment.lang is deprecated. Use moment.locale instead.', getSetGlobalLocale);
28790 hooks.langData = deprecate('moment.langData is deprecated. Use moment.localeData instead.', getLocale);
28791
28792 var mathAbs = Math.abs;
28793
28794 function abs () {
28795 var data = this._data;
28796
28797 this._milliseconds = mathAbs(this._milliseconds);
28798 this._days = mathAbs(this._days);
28799 this._months = mathAbs(this._months);
28800
28801 data.milliseconds = mathAbs(data.milliseconds);
28802 data.seconds = mathAbs(data.seconds);
28803 data.minutes = mathAbs(data.minutes);
28804 data.hours = mathAbs(data.hours);
28805 data.months = mathAbs(data.months);
28806 data.years = mathAbs(data.years);
28807
28808 return this;
28809 }
28810
28811 function addSubtract$1 (duration, input, value, direction) {
28812 var other = createDuration(input, value);
28813
28814 duration._milliseconds += direction * other._milliseconds;
28815 duration._days += direction * other._days;
28816 duration._months += direction * other._months;
28817
28818 return duration._bubble();
28819 }
28820
28821 // supports only 2.0-style add(1, 's') or add(duration)
28822 function add$1 (input, value) {
28823 return addSubtract$1(this, input, value, 1);
28824 }
28825
28826 // supports only 2.0-style subtract(1, 's') or subtract(duration)
28827 function subtract$1 (input, value) {
28828 return addSubtract$1(this, input, value, -1);
28829 }
28830
28831 function absCeil (number) {
28832 if (number < 0) {
28833 return Math.floor(number);
28834 } else {
28835 return Math.ceil(number);
28836 }
28837 }
28838
28839 function bubble () {
28840 var milliseconds = this._milliseconds;
28841 var days = this._days;
28842 var months = this._months;
28843 var data = this._data;
28844 var seconds, minutes, hours, years, monthsFromDays;
28845
28846 // if we have a mix of positive and negative values, bubble down first
28847 // check: https://github.com/moment/moment/issues/2166
28848 if (!((milliseconds >= 0 && days >= 0 && months >= 0) ||
28849 (milliseconds <= 0 && days <= 0 && months <= 0))) {
28850 milliseconds += absCeil(monthsToDays(months) + days) * 864e5;
28851 days = 0;
28852 months = 0;
28853 }
28854
28855 // The following code bubbles up values, see the tests for
28856 // examples of what that means.
28857 data.milliseconds = milliseconds % 1000;
28858
28859 seconds = absFloor(milliseconds / 1000);
28860 data.seconds = seconds % 60;
28861
28862 minutes = absFloor(seconds / 60);
28863 data.minutes = minutes % 60;
28864
28865 hours = absFloor(minutes / 60);
28866 data.hours = hours % 24;
28867
28868 days += absFloor(hours / 24);
28869
28870 // convert days to months
28871 monthsFromDays = absFloor(daysToMonths(days));
28872 months += monthsFromDays;
28873 days -= absCeil(monthsToDays(monthsFromDays));
28874
28875 // 12 months -> 1 year
28876 years = absFloor(months / 12);
28877 months %= 12;
28878
28879 data.days = days;
28880 data.months = months;
28881 data.years = years;
28882
28883 return this;
28884 }
28885
28886 function daysToMonths (days) {
28887 // 400 years have 146097 days (taking into account leap year rules)
28888 // 400 years have 12 months === 4800
28889 return days * 4800 / 146097;
28890 }
28891
28892 function monthsToDays (months) {
28893 // the reverse of daysToMonths
28894 return months * 146097 / 4800;
28895 }
28896
28897 function as (units) {
28898 if (!this.isValid()) {
28899 return NaN;
28900 }
28901 var days;
28902 var months;
28903 var milliseconds = this._milliseconds;
28904
28905 units = normalizeUnits(units);
28906
28907 if (units === 'month' || units === 'year') {
28908 days = this._days + milliseconds / 864e5;
28909 months = this._months + daysToMonths(days);
28910 return units === 'month' ? months : months / 12;
28911 } else {
28912 // handle milliseconds separately because of floating point math errors (issue #1867)
28913 days = this._days + Math.round(monthsToDays(this._months));
28914 switch (units) {
28915 case 'week' : return days / 7 + milliseconds / 6048e5;
28916 case 'day' : return days + milliseconds / 864e5;
28917 case 'hour' : return days * 24 + milliseconds / 36e5;
28918 case 'minute' : return days * 1440 + milliseconds / 6e4;
28919 case 'second' : return days * 86400 + milliseconds / 1000;
28920 // Math.floor prevents floating point math errors here
28921 case 'millisecond': return Math.floor(days * 864e5) + milliseconds;
28922 default: throw new Error('Unknown unit ' + units);
28923 }
28924 }
28925 }
28926
28927 // TODO: Use this.as('ms')?
28928 function valueOf$1 () {
28929 if (!this.isValid()) {
28930 return NaN;
28931 }
28932 return (
28933 this._milliseconds +
28934 this._days * 864e5 +
28935 (this._months % 12) * 2592e6 +
28936 toInt(this._months / 12) * 31536e6
28937 );
28938 }
28939
28940 function makeAs (alias) {
28941 return function () {
28942 return this.as(alias);
28943 };
28944 }
28945
28946 var asMilliseconds = makeAs('ms');
28947 var asSeconds = makeAs('s');
28948 var asMinutes = makeAs('m');
28949 var asHours = makeAs('h');
28950 var asDays = makeAs('d');
28951 var asWeeks = makeAs('w');
28952 var asMonths = makeAs('M');
28953 var asYears = makeAs('y');
28954
28955 function clone$1 () {
28956 return createDuration(this);
28957 }
28958
28959 function get$2 (units) {
28960 units = normalizeUnits(units);
28961 return this.isValid() ? this[units + 's']() : NaN;
28962 }
28963
28964 function makeGetter(name) {
28965 return function () {
28966 return this.isValid() ? this._data[name] : NaN;
28967 };
28968 }
28969
28970 var milliseconds = makeGetter('milliseconds');
28971 var seconds = makeGetter('seconds');
28972 var minutes = makeGetter('minutes');
28973 var hours = makeGetter('hours');
28974 var days = makeGetter('days');
28975 var months = makeGetter('months');
28976 var years = makeGetter('years');
28977
28978 function weeks () {
28979 return absFloor(this.days() / 7);
28980 }
28981
28982 var round = Math.round;
28983 var thresholds = {
28984 ss: 44, // a few seconds to seconds
28985 s : 45, // seconds to minute
28986 m : 45, // minutes to hour
28987 h : 22, // hours to day
28988 d : 26, // days to month
28989 M : 11 // months to year
28990 };
28991
28992 // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize
28993 function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {
28994 return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);
28995 }
28996
28997 function relativeTime$1 (posNegDuration, withoutSuffix, locale) {
28998 var duration = createDuration(posNegDuration).abs();
28999 var seconds = round(duration.as('s'));
29000 var minutes = round(duration.as('m'));
29001 var hours = round(duration.as('h'));
29002 var days = round(duration.as('d'));
29003 var months = round(duration.as('M'));
29004 var years = round(duration.as('y'));
29005
29006 var a = seconds <= thresholds.ss && ['s', seconds] ||
29007 seconds < thresholds.s && ['ss', seconds] ||
29008 minutes <= 1 && ['m'] ||
29009 minutes < thresholds.m && ['mm', minutes] ||
29010 hours <= 1 && ['h'] ||
29011 hours < thresholds.h && ['hh', hours] ||
29012 days <= 1 && ['d'] ||
29013 days < thresholds.d && ['dd', days] ||
29014 months <= 1 && ['M'] ||
29015 months < thresholds.M && ['MM', months] ||
29016 years <= 1 && ['y'] || ['yy', years];
29017
29018 a[2] = withoutSuffix;
29019 a[3] = +posNegDuration > 0;
29020 a[4] = locale;
29021 return substituteTimeAgo.apply(null, a);
29022 }
29023
29024 // This function allows you to set the rounding function for relative time strings
29025 function getSetRelativeTimeRounding (roundingFunction) {
29026 if (roundingFunction === undefined) {
29027 return round;
29028 }
29029 if (typeof(roundingFunction) === 'function') {
29030 round = roundingFunction;
29031 return true;
29032 }
29033 return false;
29034 }
29035
29036 // This function allows you to set a threshold for relative time strings
29037 function getSetRelativeTimeThreshold (threshold, limit) {
29038 if (thresholds[threshold] === undefined) {
29039 return false;
29040 }
29041 if (limit === undefined) {
29042 return thresholds[threshold];
29043 }
29044 thresholds[threshold] = limit;
29045 if (threshold === 's') {
29046 thresholds.ss = limit - 1;
29047 }
29048 return true;
29049 }
29050
29051 function humanize (withSuffix) {
29052 if (!this.isValid()) {
29053 return this.localeData().invalidDate();
29054 }
29055
29056 var locale = this.localeData();
29057 var output = relativeTime$1(this, !withSuffix, locale);
29058
29059 if (withSuffix) {
29060 output = locale.pastFuture(+this, output);
29061 }
29062
29063 return locale.postformat(output);
29064 }
29065
29066 var abs$1 = Math.abs;
29067
29068 function sign(x) {
29069 return ((x > 0) - (x < 0)) || +x;
29070 }
29071
29072 function toISOString$1() {
29073 // for ISO strings we do not use the normal bubbling rules:
29074 // * milliseconds bubble up until they become hours
29075 // * days do not bubble at all
29076 // * months bubble up until they become years
29077 // This is because there is no context-free conversion between hours and days
29078 // (think of clock changes)
29079 // and also not between days and months (28-31 days per month)
29080 if (!this.isValid()) {
29081 return this.localeData().invalidDate();
29082 }
29083
29084 var seconds = abs$1(this._milliseconds) / 1000;
29085 var days = abs$1(this._days);
29086 var months = abs$1(this._months);
29087 var minutes, hours, years;
29088
29089 // 3600 seconds -> 60 minutes -> 1 hour
29090 minutes = absFloor(seconds / 60);
29091 hours = absFloor(minutes / 60);
29092 seconds %= 60;
29093 minutes %= 60;
29094
29095 // 12 months -> 1 year
29096 years = absFloor(months / 12);
29097 months %= 12;
29098
29099
29100 // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js
29101 var Y = years;
29102 var M = months;
29103 var D = days;
29104 var h = hours;
29105 var m = minutes;
29106 var s = seconds ? seconds.toFixed(3).replace(/\.?0+$/, '') : '';
29107 var total = this.asSeconds();
29108
29109 if (!total) {
29110 // this is the same as C#'s (Noda) and python (isodate)...
29111 // but not other JS (goog.date)
29112 return 'P0D';
29113 }
29114
29115 var totalSign = total < 0 ? '-' : '';
29116 var ymSign = sign(this._months) !== sign(total) ? '-' : '';
29117 var daysSign = sign(this._days) !== sign(total) ? '-' : '';
29118 var hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';
29119
29120 return totalSign + 'P' +
29121 (Y ? ymSign + Y + 'Y' : '') +
29122 (M ? ymSign + M + 'M' : '') +
29123 (D ? daysSign + D + 'D' : '') +
29124 ((h || m || s) ? 'T' : '') +
29125 (h ? hmsSign + h + 'H' : '') +
29126 (m ? hmsSign + m + 'M' : '') +
29127 (s ? hmsSign + s + 'S' : '');
29128 }
29129
29130 var proto$2 = Duration.prototype;
29131
29132 proto$2.isValid = isValid$1;
29133 proto$2.abs = abs;
29134 proto$2.add = add$1;
29135 proto$2.subtract = subtract$1;
29136 proto$2.as = as;
29137 proto$2.asMilliseconds = asMilliseconds;
29138 proto$2.asSeconds = asSeconds;
29139 proto$2.asMinutes = asMinutes;
29140 proto$2.asHours = asHours;
29141 proto$2.asDays = asDays;
29142 proto$2.asWeeks = asWeeks;
29143 proto$2.asMonths = asMonths;
29144 proto$2.asYears = asYears;
29145 proto$2.valueOf = valueOf$1;
29146 proto$2._bubble = bubble;
29147 proto$2.clone = clone$1;
29148 proto$2.get = get$2;
29149 proto$2.milliseconds = milliseconds;
29150 proto$2.seconds = seconds;
29151 proto$2.minutes = minutes;
29152 proto$2.hours = hours;
29153 proto$2.days = days;
29154 proto$2.weeks = weeks;
29155 proto$2.months = months;
29156 proto$2.years = years;
29157 proto$2.humanize = humanize;
29158 proto$2.toISOString = toISOString$1;
29159 proto$2.toString = toISOString$1;
29160 proto$2.toJSON = toISOString$1;
29161 proto$2.locale = locale;
29162 proto$2.localeData = localeData;
29163
29164 proto$2.toIsoString = deprecate('toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', toISOString$1);
29165 proto$2.lang = lang;
29166
29167 // Side effect imports
29168
29169 // FORMATTING
29170
29171 addFormatToken('X', 0, 0, 'unix');
29172 addFormatToken('x', 0, 0, 'valueOf');
29173
29174 // PARSING
29175
29176 addRegexToken('x', matchSigned);
29177 addRegexToken('X', matchTimestamp);
29178 addParseToken('X', function (input, array, config) {
29179 config._d = new Date(parseFloat(input, 10) * 1000);
29180 });
29181 addParseToken('x', function (input, array, config) {
29182 config._d = new Date(toInt(input));
29183 });
29184
29185 // Side effect imports
29186
29187
29188 hooks.version = '2.22.2';
29189
29190 setHookCallback(createLocal);
29191
29192 hooks.fn = proto;
29193 hooks.min = min;
29194 hooks.max = max;
29195 hooks.now = now;
29196 hooks.utc = createUTC;
29197 hooks.unix = createUnix;
29198 hooks.months = listMonths;
29199 hooks.isDate = isDate;
29200 hooks.locale = getSetGlobalLocale;
29201 hooks.invalid = createInvalid;
29202 hooks.duration = createDuration;
29203 hooks.isMoment = isMoment;
29204 hooks.weekdays = listWeekdays;
29205 hooks.parseZone = createInZone;
29206 hooks.localeData = getLocale;
29207 hooks.isDuration = isDuration;
29208 hooks.monthsShort = listMonthsShort;
29209 hooks.weekdaysMin = listWeekdaysMin;
29210 hooks.defineLocale = defineLocale;
29211 hooks.updateLocale = updateLocale;
29212 hooks.locales = listLocales;
29213 hooks.weekdaysShort = listWeekdaysShort;
29214 hooks.normalizeUnits = normalizeUnits;
29215 hooks.relativeTimeRounding = getSetRelativeTimeRounding;
29216 hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;
29217 hooks.calendarFormat = getCalendarFormat;
29218 hooks.prototype = proto;
29219
29220 // currently HTML5 input type only supports 24-hour formats
29221 hooks.HTML5_FMT = {
29222 DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // <input type="datetime-local" />
29223 DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // <input type="datetime-local" step="1" />
29224 DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // <input type="datetime-local" step="0.001" />
29225 DATE: 'YYYY-MM-DD', // <input type="date" />
29226 TIME: 'HH:mm', // <input type="time" />
29227 TIME_SECONDS: 'HH:mm:ss', // <input type="time" step="1" />
29228 TIME_MS: 'HH:mm:ss.SSS', // <input type="time" step="0.001" />
29229 WEEK: 'YYYY-[W]WW', // <input type="week" />
29230 MONTH: 'YYYY-MM' // <input type="month" />
29231 };
29232
29233 return hooks;
29234
29235 })));
29236
29237 /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(328)(module)))
29238
29239/***/ }),
29240/* 328 */
29241/***/ (function(module, exports) {
29242
29243 module.exports = function(module) {
29244 if(!module.webpackPolyfill) {
29245 module.deprecate = function() {};
29246 module.paths = [];
29247 // module.parent = undefined by default
29248 module.children = [];
29249 module.webpackPolyfill = 1;
29250 }
29251 return module;
29252 }
29253
29254
29255/***/ }),
29256/* 329 */
29257/***/ (function(module, exports, __webpack_require__) {
29258
29259 var map = {
29260 "./af": 330,
29261 "./af.js": 330,
29262 "./ar": 331,
29263 "./ar-dz": 332,
29264 "./ar-dz.js": 332,
29265 "./ar-kw": 333,
29266 "./ar-kw.js": 333,
29267 "./ar-ly": 334,
29268 "./ar-ly.js": 334,
29269 "./ar-ma": 335,
29270 "./ar-ma.js": 335,
29271 "./ar-sa": 336,
29272 "./ar-sa.js": 336,
29273 "./ar-tn": 337,
29274 "./ar-tn.js": 337,
29275 "./ar.js": 331,
29276 "./az": 338,
29277 "./az.js": 338,
29278 "./be": 339,
29279 "./be.js": 339,
29280 "./bg": 340,
29281 "./bg.js": 340,
29282 "./bm": 341,
29283 "./bm.js": 341,
29284 "./bn": 342,
29285 "./bn.js": 342,
29286 "./bo": 343,
29287 "./bo.js": 343,
29288 "./br": 344,
29289 "./br.js": 344,
29290 "./bs": 345,
29291 "./bs.js": 345,
29292 "./ca": 346,
29293 "./ca.js": 346,
29294 "./cs": 347,
29295 "./cs.js": 347,
29296 "./cv": 348,
29297 "./cv.js": 348,
29298 "./cy": 349,
29299 "./cy.js": 349,
29300 "./da": 350,
29301 "./da.js": 350,
29302 "./de": 351,
29303 "./de-at": 352,
29304 "./de-at.js": 352,
29305 "./de-ch": 353,
29306 "./de-ch.js": 353,
29307 "./de.js": 351,
29308 "./dv": 354,
29309 "./dv.js": 354,
29310 "./el": 355,
29311 "./el.js": 355,
29312 "./en-au": 356,
29313 "./en-au.js": 356,
29314 "./en-ca": 357,
29315 "./en-ca.js": 357,
29316 "./en-gb": 358,
29317 "./en-gb.js": 358,
29318 "./en-ie": 359,
29319 "./en-ie.js": 359,
29320 "./en-il": 360,
29321 "./en-il.js": 360,
29322 "./en-nz": 361,
29323 "./en-nz.js": 361,
29324 "./eo": 362,
29325 "./eo.js": 362,
29326 "./es": 363,
29327 "./es-do": 364,
29328 "./es-do.js": 364,
29329 "./es-us": 365,
29330 "./es-us.js": 365,
29331 "./es.js": 363,
29332 "./et": 366,
29333 "./et.js": 366,
29334 "./eu": 367,
29335 "./eu.js": 367,
29336 "./fa": 368,
29337 "./fa.js": 368,
29338 "./fi": 369,
29339 "./fi.js": 369,
29340 "./fo": 370,
29341 "./fo.js": 370,
29342 "./fr": 371,
29343 "./fr-ca": 372,
29344 "./fr-ca.js": 372,
29345 "./fr-ch": 373,
29346 "./fr-ch.js": 373,
29347 "./fr.js": 371,
29348 "./fy": 374,
29349 "./fy.js": 374,
29350 "./gd": 375,
29351 "./gd.js": 375,
29352 "./gl": 376,
29353 "./gl.js": 376,
29354 "./gom-latn": 377,
29355 "./gom-latn.js": 377,
29356 "./gu": 378,
29357 "./gu.js": 378,
29358 "./he": 379,
29359 "./he.js": 379,
29360 "./hi": 380,
29361 "./hi.js": 380,
29362 "./hr": 381,
29363 "./hr.js": 381,
29364 "./hu": 382,
29365 "./hu.js": 382,
29366 "./hy-am": 383,
29367 "./hy-am.js": 383,
29368 "./id": 384,
29369 "./id.js": 384,
29370 "./is": 385,
29371 "./is.js": 385,
29372 "./it": 386,
29373 "./it.js": 386,
29374 "./ja": 387,
29375 "./ja.js": 387,
29376 "./jv": 388,
29377 "./jv.js": 388,
29378 "./ka": 389,
29379 "./ka.js": 389,
29380 "./kk": 390,
29381 "./kk.js": 390,
29382 "./km": 391,
29383 "./km.js": 391,
29384 "./kn": 392,
29385 "./kn.js": 392,
29386 "./ko": 393,
29387 "./ko.js": 393,
29388 "./ky": 394,
29389 "./ky.js": 394,
29390 "./lb": 395,
29391 "./lb.js": 395,
29392 "./lo": 396,
29393 "./lo.js": 396,
29394 "./lt": 397,
29395 "./lt.js": 397,
29396 "./lv": 398,
29397 "./lv.js": 398,
29398 "./me": 399,
29399 "./me.js": 399,
29400 "./mi": 400,
29401 "./mi.js": 400,
29402 "./mk": 401,
29403 "./mk.js": 401,
29404 "./ml": 402,
29405 "./ml.js": 402,
29406 "./mn": 403,
29407 "./mn.js": 403,
29408 "./mr": 404,
29409 "./mr.js": 404,
29410 "./ms": 405,
29411 "./ms-my": 406,
29412 "./ms-my.js": 406,
29413 "./ms.js": 405,
29414 "./mt": 407,
29415 "./mt.js": 407,
29416 "./my": 408,
29417 "./my.js": 408,
29418 "./nb": 409,
29419 "./nb.js": 409,
29420 "./ne": 410,
29421 "./ne.js": 410,
29422 "./nl": 411,
29423 "./nl-be": 412,
29424 "./nl-be.js": 412,
29425 "./nl.js": 411,
29426 "./nn": 413,
29427 "./nn.js": 413,
29428 "./pa-in": 414,
29429 "./pa-in.js": 414,
29430 "./pl": 415,
29431 "./pl.js": 415,
29432 "./pt": 416,
29433 "./pt-br": 417,
29434 "./pt-br.js": 417,
29435 "./pt.js": 416,
29436 "./ro": 418,
29437 "./ro.js": 418,
29438 "./ru": 419,
29439 "./ru.js": 419,
29440 "./sd": 420,
29441 "./sd.js": 420,
29442 "./se": 421,
29443 "./se.js": 421,
29444 "./si": 422,
29445 "./si.js": 422,
29446 "./sk": 423,
29447 "./sk.js": 423,
29448 "./sl": 424,
29449 "./sl.js": 424,
29450 "./sq": 425,
29451 "./sq.js": 425,
29452 "./sr": 426,
29453 "./sr-cyrl": 427,
29454 "./sr-cyrl.js": 427,
29455 "./sr.js": 426,
29456 "./ss": 428,
29457 "./ss.js": 428,
29458 "./sv": 429,
29459 "./sv.js": 429,
29460 "./sw": 430,
29461 "./sw.js": 430,
29462 "./ta": 431,
29463 "./ta.js": 431,
29464 "./te": 432,
29465 "./te.js": 432,
29466 "./tet": 433,
29467 "./tet.js": 433,
29468 "./tg": 434,
29469 "./tg.js": 434,
29470 "./th": 435,
29471 "./th.js": 435,
29472 "./tl-ph": 436,
29473 "./tl-ph.js": 436,
29474 "./tlh": 437,
29475 "./tlh.js": 437,
29476 "./tr": 438,
29477 "./tr.js": 438,
29478 "./tzl": 439,
29479 "./tzl.js": 439,
29480 "./tzm": 440,
29481 "./tzm-latn": 441,
29482 "./tzm-latn.js": 441,
29483 "./tzm.js": 440,
29484 "./ug-cn": 442,
29485 "./ug-cn.js": 442,
29486 "./uk": 443,
29487 "./uk.js": 443,
29488 "./ur": 444,
29489 "./ur.js": 444,
29490 "./uz": 445,
29491 "./uz-latn": 446,
29492 "./uz-latn.js": 446,
29493 "./uz.js": 445,
29494 "./vi": 447,
29495 "./vi.js": 447,
29496 "./x-pseudo": 448,
29497 "./x-pseudo.js": 448,
29498 "./yo": 449,
29499 "./yo.js": 449,
29500 "./zh-cn": 450,
29501 "./zh-cn.js": 450,
29502 "./zh-hk": 451,
29503 "./zh-hk.js": 451,
29504 "./zh-tw": 452,
29505 "./zh-tw.js": 452
29506 };
29507 function webpackContext(req) {
29508 return __webpack_require__(webpackContextResolve(req));
29509 };
29510 function webpackContextResolve(req) {
29511 return map[req] || (function() { throw new Error("Cannot find module '" + req + "'.") }());
29512 };
29513 webpackContext.keys = function webpackContextKeys() {
29514 return Object.keys(map);
29515 };
29516 webpackContext.resolve = webpackContextResolve;
29517 module.exports = webpackContext;
29518 webpackContext.id = 329;
29519
29520
29521/***/ }),
29522/* 330 */
29523/***/ (function(module, exports, __webpack_require__) {
29524
29525 //! moment.js locale configuration
29526
29527 ;(function (global, factory) {
29528 true ? factory(__webpack_require__(327)) :
29529 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
29530 factory(global.moment)
29531 }(this, (function (moment) { 'use strict';
29532
29533
29534 var af = moment.defineLocale('af', {
29535 months : 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split('_'),
29536 monthsShort : 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'),
29537 weekdays : 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split('_'),
29538 weekdaysShort : 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'),
29539 weekdaysMin : 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'),
29540 meridiemParse: /vm|nm/i,
29541 isPM : function (input) {
29542 return /^nm$/i.test(input);
29543 },
29544 meridiem : function (hours, minutes, isLower) {
29545 if (hours < 12) {
29546 return isLower ? 'vm' : 'VM';
29547 } else {
29548 return isLower ? 'nm' : 'NM';
29549 }
29550 },
29551 longDateFormat : {
29552 LT : 'HH:mm',
29553 LTS : 'HH:mm:ss',
29554 L : 'DD/MM/YYYY',
29555 LL : 'D MMMM YYYY',
29556 LLL : 'D MMMM YYYY HH:mm',
29557 LLLL : 'dddd, D MMMM YYYY HH:mm'
29558 },
29559 calendar : {
29560 sameDay : '[Vandag om] LT',
29561 nextDay : '[Môre om] LT',
29562 nextWeek : 'dddd [om] LT',
29563 lastDay : '[Gister om] LT',
29564 lastWeek : '[Laas] dddd [om] LT',
29565 sameElse : 'L'
29566 },
29567 relativeTime : {
29568 future : 'oor %s',
29569 past : '%s gelede',
29570 s : '\'n paar sekondes',
29571 ss : '%d sekondes',
29572 m : '\'n minuut',
29573 mm : '%d minute',
29574 h : '\'n uur',
29575 hh : '%d ure',
29576 d : '\'n dag',
29577 dd : '%d dae',
29578 M : '\'n maand',
29579 MM : '%d maande',
29580 y : '\'n jaar',
29581 yy : '%d jaar'
29582 },
29583 dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/,
29584 ordinal : function (number) {
29585 return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de'); // Thanks to Joris Röling : https://github.com/jjupiter
29586 },
29587 week : {
29588 dow : 1, // Maandag is die eerste dag van die week.
29589 doy : 4 // Die week wat die 4de Januarie bevat is die eerste week van die jaar.
29590 }
29591 });
29592
29593 return af;
29594
29595 })));
29596
29597
29598/***/ }),
29599/* 331 */
29600/***/ (function(module, exports, __webpack_require__) {
29601
29602 //! moment.js locale configuration
29603
29604 ;(function (global, factory) {
29605 true ? factory(__webpack_require__(327)) :
29606 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
29607 factory(global.moment)
29608 }(this, (function (moment) { 'use strict';
29609
29610
29611 var symbolMap = {
29612 '1': '١',
29613 '2': '٢',
29614 '3': '٣',
29615 '4': '٤',
29616 '5': '٥',
29617 '6': '٦',
29618 '7': '٧',
29619 '8': '٨',
29620 '9': '٩',
29621 '0': '٠'
29622 }, numberMap = {
29623 '١': '1',
29624 '٢': '2',
29625 '٣': '3',
29626 '٤': '4',
29627 '٥': '5',
29628 '٦': '6',
29629 '٧': '7',
29630 '٨': '8',
29631 '٩': '9',
29632 '٠': '0'
29633 }, pluralForm = function (n) {
29634 return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;
29635 }, plurals = {
29636 s : ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],
29637 m : ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],
29638 h : ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],
29639 d : ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],
29640 M : ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],
29641 y : ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']
29642 }, pluralize = function (u) {
29643 return function (number, withoutSuffix, string, isFuture) {
29644 var f = pluralForm(number),
29645 str = plurals[u][pluralForm(number)];
29646 if (f === 2) {
29647 str = str[withoutSuffix ? 0 : 1];
29648 }
29649 return str.replace(/%d/i, number);
29650 };
29651 }, months = [
29652 'يناير',
29653 'فبراير',
29654 'مارس',
29655 'أبريل',
29656 'مايو',
29657 'يونيو',
29658 'يوليو',
29659 'أغسطس',
29660 'سبتمبر',
29661 'أكتوبر',
29662 'نوفمبر',
29663 'ديسمبر'
29664 ];
29665
29666 var ar = moment.defineLocale('ar', {
29667 months : months,
29668 monthsShort : months,
29669 weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
29670 weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
29671 weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),
29672 weekdaysParseExact : true,
29673 longDateFormat : {
29674 LT : 'HH:mm',
29675 LTS : 'HH:mm:ss',
29676 L : 'D/\u200FM/\u200FYYYY',
29677 LL : 'D MMMM YYYY',
29678 LLL : 'D MMMM YYYY HH:mm',
29679 LLLL : 'dddd D MMMM YYYY HH:mm'
29680 },
29681 meridiemParse: /ص|م/,
29682 isPM : function (input) {
29683 return 'م' === input;
29684 },
29685 meridiem : function (hour, minute, isLower) {
29686 if (hour < 12) {
29687 return 'ص';
29688 } else {
29689 return 'م';
29690 }
29691 },
29692 calendar : {
29693 sameDay: '[اليوم عند الساعة] LT',
29694 nextDay: '[غدًا عند الساعة] LT',
29695 nextWeek: 'dddd [عند الساعة] LT',
29696 lastDay: '[أمس عند الساعة] LT',
29697 lastWeek: 'dddd [عند الساعة] LT',
29698 sameElse: 'L'
29699 },
29700 relativeTime : {
29701 future : 'بعد %s',
29702 past : 'منذ %s',
29703 s : pluralize('s'),
29704 ss : pluralize('s'),
29705 m : pluralize('m'),
29706 mm : pluralize('m'),
29707 h : pluralize('h'),
29708 hh : pluralize('h'),
29709 d : pluralize('d'),
29710 dd : pluralize('d'),
29711 M : pluralize('M'),
29712 MM : pluralize('M'),
29713 y : pluralize('y'),
29714 yy : pluralize('y')
29715 },
29716 preparse: function (string) {
29717 return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {
29718 return numberMap[match];
29719 }).replace(/،/g, ',');
29720 },
29721 postformat: function (string) {
29722 return string.replace(/\d/g, function (match) {
29723 return symbolMap[match];
29724 }).replace(/,/g, '،');
29725 },
29726 week : {
29727 dow : 6, // Saturday is the first day of the week.
29728 doy : 12 // The week that contains Jan 1st is the first week of the year.
29729 }
29730 });
29731
29732 return ar;
29733
29734 })));
29735
29736
29737/***/ }),
29738/* 332 */
29739/***/ (function(module, exports, __webpack_require__) {
29740
29741 //! moment.js locale configuration
29742
29743 ;(function (global, factory) {
29744 true ? factory(__webpack_require__(327)) :
29745 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
29746 factory(global.moment)
29747 }(this, (function (moment) { 'use strict';
29748
29749
29750 var arDz = moment.defineLocale('ar-dz', {
29751 months : 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
29752 monthsShort : 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
29753 weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
29754 weekdaysShort : 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),
29755 weekdaysMin : 'أح_إث_ثلا_أر_خم_جم_سب'.split('_'),
29756 weekdaysParseExact : true,
29757 longDateFormat : {
29758 LT : 'HH:mm',
29759 LTS : 'HH:mm:ss',
29760 L : 'DD/MM/YYYY',
29761 LL : 'D MMMM YYYY',
29762 LLL : 'D MMMM YYYY HH:mm',
29763 LLLL : 'dddd D MMMM YYYY HH:mm'
29764 },
29765 calendar : {
29766 sameDay: '[اليوم على الساعة] LT',
29767 nextDay: '[غدا على الساعة] LT',
29768 nextWeek: 'dddd [على الساعة] LT',
29769 lastDay: '[أمس على الساعة] LT',
29770 lastWeek: 'dddd [على الساعة] LT',
29771 sameElse: 'L'
29772 },
29773 relativeTime : {
29774 future : 'في %s',
29775 past : 'منذ %s',
29776 s : 'ثوان',
29777 ss : '%d ثانية',
29778 m : 'دقيقة',
29779 mm : '%d دقائق',
29780 h : 'ساعة',
29781 hh : '%d ساعات',
29782 d : 'يوم',
29783 dd : '%d أيام',
29784 M : 'شهر',
29785 MM : '%d أشهر',
29786 y : 'سنة',
29787 yy : '%d سنوات'
29788 },
29789 week : {
29790 dow : 0, // Sunday is the first day of the week.
29791 doy : 4 // The week that contains Jan 1st is the first week of the year.
29792 }
29793 });
29794
29795 return arDz;
29796
29797 })));
29798
29799
29800/***/ }),
29801/* 333 */
29802/***/ (function(module, exports, __webpack_require__) {
29803
29804 //! moment.js locale configuration
29805
29806 ;(function (global, factory) {
29807 true ? factory(__webpack_require__(327)) :
29808 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
29809 factory(global.moment)
29810 }(this, (function (moment) { 'use strict';
29811
29812
29813 var arKw = moment.defineLocale('ar-kw', {
29814 months : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),
29815 monthsShort : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),
29816 weekdays : 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
29817 weekdaysShort : 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),
29818 weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),
29819 weekdaysParseExact : true,
29820 longDateFormat : {
29821 LT : 'HH:mm',
29822 LTS : 'HH:mm:ss',
29823 L : 'DD/MM/YYYY',
29824 LL : 'D MMMM YYYY',
29825 LLL : 'D MMMM YYYY HH:mm',
29826 LLLL : 'dddd D MMMM YYYY HH:mm'
29827 },
29828 calendar : {
29829 sameDay: '[اليوم على الساعة] LT',
29830 nextDay: '[غدا على الساعة] LT',
29831 nextWeek: 'dddd [على الساعة] LT',
29832 lastDay: '[أمس على الساعة] LT',
29833 lastWeek: 'dddd [على الساعة] LT',
29834 sameElse: 'L'
29835 },
29836 relativeTime : {
29837 future : 'في %s',
29838 past : 'منذ %s',
29839 s : 'ثوان',
29840 ss : '%d ثانية',
29841 m : 'دقيقة',
29842 mm : '%d دقائق',
29843 h : 'ساعة',
29844 hh : '%d ساعات',
29845 d : 'يوم',
29846 dd : '%d أيام',
29847 M : 'شهر',
29848 MM : '%d أشهر',
29849 y : 'سنة',
29850 yy : '%d سنوات'
29851 },
29852 week : {
29853 dow : 0, // Sunday is the first day of the week.
29854 doy : 12 // The week that contains Jan 1st is the first week of the year.
29855 }
29856 });
29857
29858 return arKw;
29859
29860 })));
29861
29862
29863/***/ }),
29864/* 334 */
29865/***/ (function(module, exports, __webpack_require__) {
29866
29867 //! moment.js locale configuration
29868
29869 ;(function (global, factory) {
29870 true ? factory(__webpack_require__(327)) :
29871 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
29872 factory(global.moment)
29873 }(this, (function (moment) { 'use strict';
29874
29875
29876 var symbolMap = {
29877 '1': '1',
29878 '2': '2',
29879 '3': '3',
29880 '4': '4',
29881 '5': '5',
29882 '6': '6',
29883 '7': '7',
29884 '8': '8',
29885 '9': '9',
29886 '0': '0'
29887 }, pluralForm = function (n) {
29888 return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;
29889 }, plurals = {
29890 s : ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],
29891 m : ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],
29892 h : ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],
29893 d : ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],
29894 M : ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],
29895 y : ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']
29896 }, pluralize = function (u) {
29897 return function (number, withoutSuffix, string, isFuture) {
29898 var f = pluralForm(number),
29899 str = plurals[u][pluralForm(number)];
29900 if (f === 2) {
29901 str = str[withoutSuffix ? 0 : 1];
29902 }
29903 return str.replace(/%d/i, number);
29904 };
29905 }, months = [
29906 'يناير',
29907 'فبراير',
29908 'مارس',
29909 'أبريل',
29910 'مايو',
29911 'يونيو',
29912 'يوليو',
29913 'أغسطس',
29914 'سبتمبر',
29915 'أكتوبر',
29916 'نوفمبر',
29917 'ديسمبر'
29918 ];
29919
29920 var arLy = moment.defineLocale('ar-ly', {
29921 months : months,
29922 monthsShort : months,
29923 weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
29924 weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
29925 weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),
29926 weekdaysParseExact : true,
29927 longDateFormat : {
29928 LT : 'HH:mm',
29929 LTS : 'HH:mm:ss',
29930 L : 'D/\u200FM/\u200FYYYY',
29931 LL : 'D MMMM YYYY',
29932 LLL : 'D MMMM YYYY HH:mm',
29933 LLLL : 'dddd D MMMM YYYY HH:mm'
29934 },
29935 meridiemParse: /ص|م/,
29936 isPM : function (input) {
29937 return 'م' === input;
29938 },
29939 meridiem : function (hour, minute, isLower) {
29940 if (hour < 12) {
29941 return 'ص';
29942 } else {
29943 return 'م';
29944 }
29945 },
29946 calendar : {
29947 sameDay: '[اليوم عند الساعة] LT',
29948 nextDay: '[غدًا عند الساعة] LT',
29949 nextWeek: 'dddd [عند الساعة] LT',
29950 lastDay: '[أمس عند الساعة] LT',
29951 lastWeek: 'dddd [عند الساعة] LT',
29952 sameElse: 'L'
29953 },
29954 relativeTime : {
29955 future : 'بعد %s',
29956 past : 'منذ %s',
29957 s : pluralize('s'),
29958 ss : pluralize('s'),
29959 m : pluralize('m'),
29960 mm : pluralize('m'),
29961 h : pluralize('h'),
29962 hh : pluralize('h'),
29963 d : pluralize('d'),
29964 dd : pluralize('d'),
29965 M : pluralize('M'),
29966 MM : pluralize('M'),
29967 y : pluralize('y'),
29968 yy : pluralize('y')
29969 },
29970 preparse: function (string) {
29971 return string.replace(/،/g, ',');
29972 },
29973 postformat: function (string) {
29974 return string.replace(/\d/g, function (match) {
29975 return symbolMap[match];
29976 }).replace(/,/g, '،');
29977 },
29978 week : {
29979 dow : 6, // Saturday is the first day of the week.
29980 doy : 12 // The week that contains Jan 1st is the first week of the year.
29981 }
29982 });
29983
29984 return arLy;
29985
29986 })));
29987
29988
29989/***/ }),
29990/* 335 */
29991/***/ (function(module, exports, __webpack_require__) {
29992
29993 //! moment.js locale configuration
29994
29995 ;(function (global, factory) {
29996 true ? factory(__webpack_require__(327)) :
29997 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
29998 factory(global.moment)
29999 }(this, (function (moment) { 'use strict';
30000
30001
30002 var arMa = moment.defineLocale('ar-ma', {
30003 months : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),
30004 monthsShort : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),
30005 weekdays : 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
30006 weekdaysShort : 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),
30007 weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),
30008 weekdaysParseExact : true,
30009 longDateFormat : {
30010 LT : 'HH:mm',
30011 LTS : 'HH:mm:ss',
30012 L : 'DD/MM/YYYY',
30013 LL : 'D MMMM YYYY',
30014 LLL : 'D MMMM YYYY HH:mm',
30015 LLLL : 'dddd D MMMM YYYY HH:mm'
30016 },
30017 calendar : {
30018 sameDay: '[اليوم على الساعة] LT',
30019 nextDay: '[غدا على الساعة] LT',
30020 nextWeek: 'dddd [على الساعة] LT',
30021 lastDay: '[أمس على الساعة] LT',
30022 lastWeek: 'dddd [على الساعة] LT',
30023 sameElse: 'L'
30024 },
30025 relativeTime : {
30026 future : 'في %s',
30027 past : 'منذ %s',
30028 s : 'ثوان',
30029 ss : '%d ثانية',
30030 m : 'دقيقة',
30031 mm : '%d دقائق',
30032 h : 'ساعة',
30033 hh : '%d ساعات',
30034 d : 'يوم',
30035 dd : '%d أيام',
30036 M : 'شهر',
30037 MM : '%d أشهر',
30038 y : 'سنة',
30039 yy : '%d سنوات'
30040 },
30041 week : {
30042 dow : 6, // Saturday is the first day of the week.
30043 doy : 12 // The week that contains Jan 1st is the first week of the year.
30044 }
30045 });
30046
30047 return arMa;
30048
30049 })));
30050
30051
30052/***/ }),
30053/* 336 */
30054/***/ (function(module, exports, __webpack_require__) {
30055
30056 //! moment.js locale configuration
30057
30058 ;(function (global, factory) {
30059 true ? factory(__webpack_require__(327)) :
30060 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
30061 factory(global.moment)
30062 }(this, (function (moment) { 'use strict';
30063
30064
30065 var symbolMap = {
30066 '1': '١',
30067 '2': '٢',
30068 '3': '٣',
30069 '4': '٤',
30070 '5': '٥',
30071 '6': '٦',
30072 '7': '٧',
30073 '8': '٨',
30074 '9': '٩',
30075 '0': '٠'
30076 }, numberMap = {
30077 '١': '1',
30078 '٢': '2',
30079 '٣': '3',
30080 '٤': '4',
30081 '٥': '5',
30082 '٦': '6',
30083 '٧': '7',
30084 '٨': '8',
30085 '٩': '9',
30086 '٠': '0'
30087 };
30088
30089 var arSa = moment.defineLocale('ar-sa', {
30090 months : 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
30091 monthsShort : 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
30092 weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
30093 weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
30094 weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),
30095 weekdaysParseExact : true,
30096 longDateFormat : {
30097 LT : 'HH:mm',
30098 LTS : 'HH:mm:ss',
30099 L : 'DD/MM/YYYY',
30100 LL : 'D MMMM YYYY',
30101 LLL : 'D MMMM YYYY HH:mm',
30102 LLLL : 'dddd D MMMM YYYY HH:mm'
30103 },
30104 meridiemParse: /ص|م/,
30105 isPM : function (input) {
30106 return 'م' === input;
30107 },
30108 meridiem : function (hour, minute, isLower) {
30109 if (hour < 12) {
30110 return 'ص';
30111 } else {
30112 return 'م';
30113 }
30114 },
30115 calendar : {
30116 sameDay: '[اليوم على الساعة] LT',
30117 nextDay: '[غدا على الساعة] LT',
30118 nextWeek: 'dddd [على الساعة] LT',
30119 lastDay: '[أمس على الساعة] LT',
30120 lastWeek: 'dddd [على الساعة] LT',
30121 sameElse: 'L'
30122 },
30123 relativeTime : {
30124 future : 'في %s',
30125 past : 'منذ %s',
30126 s : 'ثوان',
30127 ss : '%d ثانية',
30128 m : 'دقيقة',
30129 mm : '%d دقائق',
30130 h : 'ساعة',
30131 hh : '%d ساعات',
30132 d : 'يوم',
30133 dd : '%d أيام',
30134 M : 'شهر',
30135 MM : '%d أشهر',
30136 y : 'سنة',
30137 yy : '%d سنوات'
30138 },
30139 preparse: function (string) {
30140 return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {
30141 return numberMap[match];
30142 }).replace(/،/g, ',');
30143 },
30144 postformat: function (string) {
30145 return string.replace(/\d/g, function (match) {
30146 return symbolMap[match];
30147 }).replace(/,/g, '،');
30148 },
30149 week : {
30150 dow : 0, // Sunday is the first day of the week.
30151 doy : 6 // The week that contains Jan 1st is the first week of the year.
30152 }
30153 });
30154
30155 return arSa;
30156
30157 })));
30158
30159
30160/***/ }),
30161/* 337 */
30162/***/ (function(module, exports, __webpack_require__) {
30163
30164 //! moment.js locale configuration
30165
30166 ;(function (global, factory) {
30167 true ? factory(__webpack_require__(327)) :
30168 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
30169 factory(global.moment)
30170 }(this, (function (moment) { 'use strict';
30171
30172
30173 var arTn = moment.defineLocale('ar-tn', {
30174 months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
30175 monthsShort: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
30176 weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
30177 weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
30178 weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
30179 weekdaysParseExact : true,
30180 longDateFormat: {
30181 LT: 'HH:mm',
30182 LTS: 'HH:mm:ss',
30183 L: 'DD/MM/YYYY',
30184 LL: 'D MMMM YYYY',
30185 LLL: 'D MMMM YYYY HH:mm',
30186 LLLL: 'dddd D MMMM YYYY HH:mm'
30187 },
30188 calendar: {
30189 sameDay: '[اليوم على الساعة] LT',
30190 nextDay: '[غدا على الساعة] LT',
30191 nextWeek: 'dddd [على الساعة] LT',
30192 lastDay: '[أمس على الساعة] LT',
30193 lastWeek: 'dddd [على الساعة] LT',
30194 sameElse: 'L'
30195 },
30196 relativeTime: {
30197 future: 'في %s',
30198 past: 'منذ %s',
30199 s: 'ثوان',
30200 ss : '%d ثانية',
30201 m: 'دقيقة',
30202 mm: '%d دقائق',
30203 h: 'ساعة',
30204 hh: '%d ساعات',
30205 d: 'يوم',
30206 dd: '%d أيام',
30207 M: 'شهر',
30208 MM: '%d أشهر',
30209 y: 'سنة',
30210 yy: '%d سنوات'
30211 },
30212 week: {
30213 dow: 1, // Monday is the first day of the week.
30214 doy: 4 // The week that contains Jan 4th is the first week of the year.
30215 }
30216 });
30217
30218 return arTn;
30219
30220 })));
30221
30222
30223/***/ }),
30224/* 338 */
30225/***/ (function(module, exports, __webpack_require__) {
30226
30227 //! moment.js locale configuration
30228
30229 ;(function (global, factory) {
30230 true ? factory(__webpack_require__(327)) :
30231 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
30232 factory(global.moment)
30233 }(this, (function (moment) { 'use strict';
30234
30235
30236 var suffixes = {
30237 1: '-inci',
30238 5: '-inci',
30239 8: '-inci',
30240 70: '-inci',
30241 80: '-inci',
30242 2: '-nci',
30243 7: '-nci',
30244 20: '-nci',
30245 50: '-nci',
30246 3: '-üncü',
30247 4: '-üncü',
30248 100: '-üncü',
30249 6: '-ncı',
30250 9: '-uncu',
30251 10: '-uncu',
30252 30: '-uncu',
30253 60: '-ıncı',
30254 90: '-ıncı'
30255 };
30256
30257 var az = moment.defineLocale('az', {
30258 months : 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split('_'),
30259 monthsShort : 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'),
30260 weekdays : 'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split('_'),
30261 weekdaysShort : 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'),
30262 weekdaysMin : 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'),
30263 weekdaysParseExact : true,
30264 longDateFormat : {
30265 LT : 'HH:mm',
30266 LTS : 'HH:mm:ss',
30267 L : 'DD.MM.YYYY',
30268 LL : 'D MMMM YYYY',
30269 LLL : 'D MMMM YYYY HH:mm',
30270 LLLL : 'dddd, D MMMM YYYY HH:mm'
30271 },
30272 calendar : {
30273 sameDay : '[bugün saat] LT',
30274 nextDay : '[sabah saat] LT',
30275 nextWeek : '[gələn həftə] dddd [saat] LT',
30276 lastDay : '[dünən] LT',
30277 lastWeek : '[keçən həftə] dddd [saat] LT',
30278 sameElse : 'L'
30279 },
30280 relativeTime : {
30281 future : '%s sonra',
30282 past : '%s əvvəl',
30283 s : 'birneçə saniyə',
30284 ss : '%d saniyə',
30285 m : 'bir dəqiqə',
30286 mm : '%d dəqiqə',
30287 h : 'bir saat',
30288 hh : '%d saat',
30289 d : 'bir gün',
30290 dd : '%d gün',
30291 M : 'bir ay',
30292 MM : '%d ay',
30293 y : 'bir il',
30294 yy : '%d il'
30295 },
30296 meridiemParse: /gecə|səhər|gündüz|axşam/,
30297 isPM : function (input) {
30298 return /^(gündüz|axşam)$/.test(input);
30299 },
30300 meridiem : function (hour, minute, isLower) {
30301 if (hour < 4) {
30302 return 'gecə';
30303 } else if (hour < 12) {
30304 return 'səhər';
30305 } else if (hour < 17) {
30306 return 'gündüz';
30307 } else {
30308 return 'axşam';
30309 }
30310 },
30311 dayOfMonthOrdinalParse: /\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,
30312 ordinal : function (number) {
30313 if (number === 0) { // special case for zero
30314 return number + '-ıncı';
30315 }
30316 var a = number % 10,
30317 b = number % 100 - a,
30318 c = number >= 100 ? 100 : null;
30319 return number + (suffixes[a] || suffixes[b] || suffixes[c]);
30320 },
30321 week : {
30322 dow : 1, // Monday is the first day of the week.
30323 doy : 7 // The week that contains Jan 1st is the first week of the year.
30324 }
30325 });
30326
30327 return az;
30328
30329 })));
30330
30331
30332/***/ }),
30333/* 339 */
30334/***/ (function(module, exports, __webpack_require__) {
30335
30336 //! moment.js locale configuration
30337
30338 ;(function (global, factory) {
30339 true ? factory(__webpack_require__(327)) :
30340 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
30341 factory(global.moment)
30342 }(this, (function (moment) { 'use strict';
30343
30344
30345 function plural(word, num) {
30346 var forms = word.split('_');
30347 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]);
30348 }
30349 function relativeTimeWithPlural(number, withoutSuffix, key) {
30350 var format = {
30351 'ss': withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',
30352 'mm': withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін',
30353 'hh': withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін',
30354 'dd': 'дзень_дні_дзён',
30355 'MM': 'месяц_месяцы_месяцаў',
30356 'yy': 'год_гады_гадоў'
30357 };
30358 if (key === 'm') {
30359 return withoutSuffix ? 'хвіліна' : 'хвіліну';
30360 }
30361 else if (key === 'h') {
30362 return withoutSuffix ? 'гадзіна' : 'гадзіну';
30363 }
30364 else {
30365 return number + ' ' + plural(format[key], +number);
30366 }
30367 }
30368
30369 var be = moment.defineLocale('be', {
30370 months : {
30371 format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split('_'),
30372 standalone: 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split('_')
30373 },
30374 monthsShort : 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split('_'),
30375 weekdays : {
30376 format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split('_'),
30377 standalone: 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split('_'),
30378 isFormat: /\[ ?[Ууў] ?(?:мінулую|наступную)? ?\] ?dddd/
30379 },
30380 weekdaysShort : 'нд_пн_ат_ср_чц_пт_сб'.split('_'),
30381 weekdaysMin : 'нд_пн_ат_ср_чц_пт_сб'.split('_'),
30382 longDateFormat : {
30383 LT : 'HH:mm',
30384 LTS : 'HH:mm:ss',
30385 L : 'DD.MM.YYYY',
30386 LL : 'D MMMM YYYY г.',
30387 LLL : 'D MMMM YYYY г., HH:mm',
30388 LLLL : 'dddd, D MMMM YYYY г., HH:mm'
30389 },
30390 calendar : {
30391 sameDay: '[Сёння ў] LT',
30392 nextDay: '[Заўтра ў] LT',
30393 lastDay: '[Учора ў] LT',
30394 nextWeek: function () {
30395 return '[У] dddd [ў] LT';
30396 },
30397 lastWeek: function () {
30398 switch (this.day()) {
30399 case 0:
30400 case 3:
30401 case 5:
30402 case 6:
30403 return '[У мінулую] dddd [ў] LT';
30404 case 1:
30405 case 2:
30406 case 4:
30407 return '[У мінулы] dddd [ў] LT';
30408 }
30409 },
30410 sameElse: 'L'
30411 },
30412 relativeTime : {
30413 future : 'праз %s',
30414 past : '%s таму',
30415 s : 'некалькі секунд',
30416 m : relativeTimeWithPlural,
30417 mm : relativeTimeWithPlural,
30418 h : relativeTimeWithPlural,
30419 hh : relativeTimeWithPlural,
30420 d : 'дзень',
30421 dd : relativeTimeWithPlural,
30422 M : 'месяц',
30423 MM : relativeTimeWithPlural,
30424 y : 'год',
30425 yy : relativeTimeWithPlural
30426 },
30427 meridiemParse: /ночы|раніцы|дня|вечара/,
30428 isPM : function (input) {
30429 return /^(дня|вечара)$/.test(input);
30430 },
30431 meridiem : function (hour, minute, isLower) {
30432 if (hour < 4) {
30433 return 'ночы';
30434 } else if (hour < 12) {
30435 return 'раніцы';
30436 } else if (hour < 17) {
30437 return 'дня';
30438 } else {
30439 return 'вечара';
30440 }
30441 },
30442 dayOfMonthOrdinalParse: /\d{1,2}-(і|ы|га)/,
30443 ordinal: function (number, period) {
30444 switch (period) {
30445 case 'M':
30446 case 'd':
30447 case 'DDD':
30448 case 'w':
30449 case 'W':
30450 return (number % 10 === 2 || number % 10 === 3) && (number % 100 !== 12 && number % 100 !== 13) ? number + '-і' : number + '-ы';
30451 case 'D':
30452 return number + '-га';
30453 default:
30454 return number;
30455 }
30456 },
30457 week : {
30458 dow : 1, // Monday is the first day of the week.
30459 doy : 7 // The week that contains Jan 1st is the first week of the year.
30460 }
30461 });
30462
30463 return be;
30464
30465 })));
30466
30467
30468/***/ }),
30469/* 340 */
30470/***/ (function(module, exports, __webpack_require__) {
30471
30472 //! moment.js locale configuration
30473
30474 ;(function (global, factory) {
30475 true ? factory(__webpack_require__(327)) :
30476 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
30477 factory(global.moment)
30478 }(this, (function (moment) { 'use strict';
30479
30480
30481 var bg = moment.defineLocale('bg', {
30482 months : 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split('_'),
30483 monthsShort : 'янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'),
30484 weekdays : 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split('_'),
30485 weekdaysShort : 'нед_пон_вто_сря_чет_пет_съб'.split('_'),
30486 weekdaysMin : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),
30487 longDateFormat : {
30488 LT : 'H:mm',
30489 LTS : 'H:mm:ss',
30490 L : 'D.MM.YYYY',
30491 LL : 'D MMMM YYYY',
30492 LLL : 'D MMMM YYYY H:mm',
30493 LLLL : 'dddd, D MMMM YYYY H:mm'
30494 },
30495 calendar : {
30496 sameDay : '[Днес в] LT',
30497 nextDay : '[Утре в] LT',
30498 nextWeek : 'dddd [в] LT',
30499 lastDay : '[Вчера в] LT',
30500 lastWeek : function () {
30501 switch (this.day()) {
30502 case 0:
30503 case 3:
30504 case 6:
30505 return '[В изминалата] dddd [в] LT';
30506 case 1:
30507 case 2:
30508 case 4:
30509 case 5:
30510 return '[В изминалия] dddd [в] LT';
30511 }
30512 },
30513 sameElse : 'L'
30514 },
30515 relativeTime : {
30516 future : 'след %s',
30517 past : 'преди %s',
30518 s : 'няколко секунди',
30519 ss : '%d секунди',
30520 m : 'минута',
30521 mm : '%d минути',
30522 h : 'час',
30523 hh : '%d часа',
30524 d : 'ден',
30525 dd : '%d дни',
30526 M : 'месец',
30527 MM : '%d месеца',
30528 y : 'година',
30529 yy : '%d години'
30530 },
30531 dayOfMonthOrdinalParse: /\d{1,2}-(ев|ен|ти|ви|ри|ми)/,
30532 ordinal : function (number) {
30533 var lastDigit = number % 10,
30534 last2Digits = number % 100;
30535 if (number === 0) {
30536 return number + '-ев';
30537 } else if (last2Digits === 0) {
30538 return number + '-ен';
30539 } else if (last2Digits > 10 && last2Digits < 20) {
30540 return number + '-ти';
30541 } else if (lastDigit === 1) {
30542 return number + '-ви';
30543 } else if (lastDigit === 2) {
30544 return number + '-ри';
30545 } else if (lastDigit === 7 || lastDigit === 8) {
30546 return number + '-ми';
30547 } else {
30548 return number + '-ти';
30549 }
30550 },
30551 week : {
30552 dow : 1, // Monday is the first day of the week.
30553 doy : 7 // The week that contains Jan 1st is the first week of the year.
30554 }
30555 });
30556
30557 return bg;
30558
30559 })));
30560
30561
30562/***/ }),
30563/* 341 */
30564/***/ (function(module, exports, __webpack_require__) {
30565
30566 //! moment.js locale configuration
30567
30568 ;(function (global, factory) {
30569 true ? factory(__webpack_require__(327)) :
30570 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
30571 factory(global.moment)
30572 }(this, (function (moment) { 'use strict';
30573
30574
30575 var bm = moment.defineLocale('bm', {
30576 months : 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo'.split('_'),
30577 monthsShort : 'Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des'.split('_'),
30578 weekdays : 'Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'),
30579 weekdaysShort : 'Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib'.split('_'),
30580 weekdaysMin : 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'),
30581 longDateFormat : {
30582 LT : 'HH:mm',
30583 LTS : 'HH:mm:ss',
30584 L : 'DD/MM/YYYY',
30585 LL : 'MMMM [tile] D [san] YYYY',
30586 LLL : 'MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',
30587 LLLL : 'dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm'
30588 },
30589 calendar : {
30590 sameDay : '[Bi lɛrɛ] LT',
30591 nextDay : '[Sini lɛrɛ] LT',
30592 nextWeek : 'dddd [don lɛrɛ] LT',
30593 lastDay : '[Kunu lɛrɛ] LT',
30594 lastWeek : 'dddd [tɛmɛnen lɛrɛ] LT',
30595 sameElse : 'L'
30596 },
30597 relativeTime : {
30598 future : '%s kɔnɔ',
30599 past : 'a bɛ %s bɔ',
30600 s : 'sanga dama dama',
30601 ss : 'sekondi %d',
30602 m : 'miniti kelen',
30603 mm : 'miniti %d',
30604 h : 'lɛrɛ kelen',
30605 hh : 'lɛrɛ %d',
30606 d : 'tile kelen',
30607 dd : 'tile %d',
30608 M : 'kalo kelen',
30609 MM : 'kalo %d',
30610 y : 'san kelen',
30611 yy : 'san %d'
30612 },
30613 week : {
30614 dow : 1, // Monday is the first day of the week.
30615 doy : 4 // The week that contains Jan 4th is the first week of the year.
30616 }
30617 });
30618
30619 return bm;
30620
30621 })));
30622
30623
30624/***/ }),
30625/* 342 */
30626/***/ (function(module, exports, __webpack_require__) {
30627
30628 //! moment.js locale configuration
30629
30630 ;(function (global, factory) {
30631 true ? factory(__webpack_require__(327)) :
30632 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
30633 factory(global.moment)
30634 }(this, (function (moment) { 'use strict';
30635
30636
30637 var symbolMap = {
30638 '1': '১',
30639 '2': '২',
30640 '3': '৩',
30641 '4': '৪',
30642 '5': '৫',
30643 '6': '৬',
30644 '7': '৭',
30645 '8': '৮',
30646 '9': '৯',
30647 '0': '০'
30648 },
30649 numberMap = {
30650 '১': '1',
30651 '২': '2',
30652 '৩': '3',
30653 '৪': '4',
30654 '৫': '5',
30655 '৬': '6',
30656 '৭': '7',
30657 '৮': '8',
30658 '৯': '9',
30659 '০': '0'
30660 };
30661
30662 var bn = moment.defineLocale('bn', {
30663 months : 'জানুয়ারী_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split('_'),
30664 monthsShort : 'জানু_ফেব_মার্চ_এপ্র_মে_জুন_জুল_আগ_সেপ্ট_অক্টো_নভে_ডিসে'.split('_'),
30665 weekdays : 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split('_'),
30666 weekdaysShort : 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),
30667 weekdaysMin : 'রবি_সোম_মঙ্গ_বুধ_বৃহঃ_শুক্র_শনি'.split('_'),
30668 longDateFormat : {
30669 LT : 'A h:mm সময়',
30670 LTS : 'A h:mm:ss সময়',
30671 L : 'DD/MM/YYYY',
30672 LL : 'D MMMM YYYY',
30673 LLL : 'D MMMM YYYY, A h:mm সময়',
30674 LLLL : 'dddd, D MMMM YYYY, A h:mm সময়'
30675 },
30676 calendar : {
30677 sameDay : '[আজ] LT',
30678 nextDay : '[আগামীকাল] LT',
30679 nextWeek : 'dddd, LT',
30680 lastDay : '[গতকাল] LT',
30681 lastWeek : '[গত] dddd, LT',
30682 sameElse : 'L'
30683 },
30684 relativeTime : {
30685 future : '%s পরে',
30686 past : '%s আগে',
30687 s : 'কয়েক সেকেন্ড',
30688 ss : '%d সেকেন্ড',
30689 m : 'এক মিনিট',
30690 mm : '%d মিনিট',
30691 h : 'এক ঘন্টা',
30692 hh : '%d ঘন্টা',
30693 d : 'এক দিন',
30694 dd : '%d দিন',
30695 M : 'এক মাস',
30696 MM : '%d মাস',
30697 y : 'এক বছর',
30698 yy : '%d বছর'
30699 },
30700 preparse: function (string) {
30701 return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {
30702 return numberMap[match];
30703 });
30704 },
30705 postformat: function (string) {
30706 return string.replace(/\d/g, function (match) {
30707 return symbolMap[match];
30708 });
30709 },
30710 meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/,
30711 meridiemHour : function (hour, meridiem) {
30712 if (hour === 12) {
30713 hour = 0;
30714 }
30715 if ((meridiem === 'রাত' && hour >= 4) ||
30716 (meridiem === 'দুপুর' && hour < 5) ||
30717 meridiem === 'বিকাল') {
30718 return hour + 12;
30719 } else {
30720 return hour;
30721 }
30722 },
30723 meridiem : function (hour, minute, isLower) {
30724 if (hour < 4) {
30725 return 'রাত';
30726 } else if (hour < 10) {
30727 return 'সকাল';
30728 } else if (hour < 17) {
30729 return 'দুপুর';
30730 } else if (hour < 20) {
30731 return 'বিকাল';
30732 } else {
30733 return 'রাত';
30734 }
30735 },
30736 week : {
30737 dow : 0, // Sunday is the first day of the week.
30738 doy : 6 // The week that contains Jan 1st is the first week of the year.
30739 }
30740 });
30741
30742 return bn;
30743
30744 })));
30745
30746
30747/***/ }),
30748/* 343 */
30749/***/ (function(module, exports, __webpack_require__) {
30750
30751 //! moment.js locale configuration
30752
30753 ;(function (global, factory) {
30754 true ? factory(__webpack_require__(327)) :
30755 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
30756 factory(global.moment)
30757 }(this, (function (moment) { 'use strict';
30758
30759
30760 var symbolMap = {
30761 '1': '༡',
30762 '2': '༢',
30763 '3': '༣',
30764 '4': '༤',
30765 '5': '༥',
30766 '6': '༦',
30767 '7': '༧',
30768 '8': '༨',
30769 '9': '༩',
30770 '0': '༠'
30771 },
30772 numberMap = {
30773 '༡': '1',
30774 '༢': '2',
30775 '༣': '3',
30776 '༤': '4',
30777 '༥': '5',
30778 '༦': '6',
30779 '༧': '7',
30780 '༨': '8',
30781 '༩': '9',
30782 '༠': '0'
30783 };
30784
30785 var bo = moment.defineLocale('bo', {
30786 months : 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'),
30787 monthsShort : 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'),
30788 weekdays : 'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split('_'),
30789 weekdaysShort : 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'),
30790 weekdaysMin : 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'),
30791 longDateFormat : {
30792 LT : 'A h:mm',
30793 LTS : 'A h:mm:ss',
30794 L : 'DD/MM/YYYY',
30795 LL : 'D MMMM YYYY',
30796 LLL : 'D MMMM YYYY, A h:mm',
30797 LLLL : 'dddd, D MMMM YYYY, A h:mm'
30798 },
30799 calendar : {
30800 sameDay : '[དི་རིང] LT',
30801 nextDay : '[སང་ཉིན] LT',
30802 nextWeek : '[བདུན་ཕྲག་རྗེས་མ], LT',
30803 lastDay : '[ཁ་སང] LT',
30804 lastWeek : '[བདུན་ཕྲག་མཐའ་མ] dddd, LT',
30805 sameElse : 'L'
30806 },
30807 relativeTime : {
30808 future : '%s ལ་',
30809 past : '%s སྔན་ལ',
30810 s : 'ལམ་སང',
30811 ss : '%d སྐར་ཆ།',
30812 m : 'སྐར་མ་གཅིག',
30813 mm : '%d སྐར་མ',
30814 h : 'ཆུ་ཚོད་གཅིག',
30815 hh : '%d ཆུ་ཚོད',
30816 d : 'ཉིན་གཅིག',
30817 dd : '%d ཉིན་',
30818 M : 'ཟླ་བ་གཅིག',
30819 MM : '%d ཟླ་བ',
30820 y : 'ལོ་གཅིག',
30821 yy : '%d ལོ'
30822 },
30823 preparse: function (string) {
30824 return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) {
30825 return numberMap[match];
30826 });
30827 },
30828 postformat: function (string) {
30829 return string.replace(/\d/g, function (match) {
30830 return symbolMap[match];
30831 });
30832 },
30833 meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,
30834 meridiemHour : function (hour, meridiem) {
30835 if (hour === 12) {
30836 hour = 0;
30837 }
30838 if ((meridiem === 'མཚན་མོ' && hour >= 4) ||
30839 (meridiem === 'ཉིན་གུང' && hour < 5) ||
30840 meridiem === 'དགོང་དག') {
30841 return hour + 12;
30842 } else {
30843 return hour;
30844 }
30845 },
30846 meridiem : function (hour, minute, isLower) {
30847 if (hour < 4) {
30848 return 'མཚན་མོ';
30849 } else if (hour < 10) {
30850 return 'ཞོགས་ཀས';
30851 } else if (hour < 17) {
30852 return 'ཉིན་གུང';
30853 } else if (hour < 20) {
30854 return 'དགོང་དག';
30855 } else {
30856 return 'མཚན་མོ';
30857 }
30858 },
30859 week : {
30860 dow : 0, // Sunday is the first day of the week.
30861 doy : 6 // The week that contains Jan 1st is the first week of the year.
30862 }
30863 });
30864
30865 return bo;
30866
30867 })));
30868
30869
30870/***/ }),
30871/* 344 */
30872/***/ (function(module, exports, __webpack_require__) {
30873
30874 //! moment.js locale configuration
30875
30876 ;(function (global, factory) {
30877 true ? factory(__webpack_require__(327)) :
30878 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
30879 factory(global.moment)
30880 }(this, (function (moment) { 'use strict';
30881
30882
30883 function relativeTimeWithMutation(number, withoutSuffix, key) {
30884 var format = {
30885 'mm': 'munutenn',
30886 'MM': 'miz',
30887 'dd': 'devezh'
30888 };
30889 return number + ' ' + mutation(format[key], number);
30890 }
30891 function specialMutationForYears(number) {
30892 switch (lastNumber(number)) {
30893 case 1:
30894 case 3:
30895 case 4:
30896 case 5:
30897 case 9:
30898 return number + ' bloaz';
30899 default:
30900 return number + ' vloaz';
30901 }
30902 }
30903 function lastNumber(number) {
30904 if (number > 9) {
30905 return lastNumber(number % 10);
30906 }
30907 return number;
30908 }
30909 function mutation(text, number) {
30910 if (number === 2) {
30911 return softMutation(text);
30912 }
30913 return text;
30914 }
30915 function softMutation(text) {
30916 var mutationTable = {
30917 'm': 'v',
30918 'b': 'v',
30919 'd': 'z'
30920 };
30921 if (mutationTable[text.charAt(0)] === undefined) {
30922 return text;
30923 }
30924 return mutationTable[text.charAt(0)] + text.substring(1);
30925 }
30926
30927 var br = moment.defineLocale('br', {
30928 months : 'Genver_C\'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split('_'),
30929 monthsShort : 'Gen_C\'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'),
30930 weekdays : 'Sul_Lun_Meurzh_Merc\'her_Yaou_Gwener_Sadorn'.split('_'),
30931 weekdaysShort : 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'),
30932 weekdaysMin : 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'),
30933 weekdaysParseExact : true,
30934 longDateFormat : {
30935 LT : 'h[e]mm A',
30936 LTS : 'h[e]mm:ss A',
30937 L : 'DD/MM/YYYY',
30938 LL : 'D [a viz] MMMM YYYY',
30939 LLL : 'D [a viz] MMMM YYYY h[e]mm A',
30940 LLLL : 'dddd, D [a viz] MMMM YYYY h[e]mm A'
30941 },
30942 calendar : {
30943 sameDay : '[Hiziv da] LT',
30944 nextDay : '[Warc\'hoazh da] LT',
30945 nextWeek : 'dddd [da] LT',
30946 lastDay : '[Dec\'h da] LT',
30947 lastWeek : 'dddd [paset da] LT',
30948 sameElse : 'L'
30949 },
30950 relativeTime : {
30951 future : 'a-benn %s',
30952 past : '%s \'zo',
30953 s : 'un nebeud segondennoù',
30954 ss : '%d eilenn',
30955 m : 'ur vunutenn',
30956 mm : relativeTimeWithMutation,
30957 h : 'un eur',
30958 hh : '%d eur',
30959 d : 'un devezh',
30960 dd : relativeTimeWithMutation,
30961 M : 'ur miz',
30962 MM : relativeTimeWithMutation,
30963 y : 'ur bloaz',
30964 yy : specialMutationForYears
30965 },
30966 dayOfMonthOrdinalParse: /\d{1,2}(añ|vet)/,
30967 ordinal : function (number) {
30968 var output = (number === 1) ? 'añ' : 'vet';
30969 return number + output;
30970 },
30971 week : {
30972 dow : 1, // Monday is the first day of the week.
30973 doy : 4 // The week that contains Jan 4th is the first week of the year.
30974 }
30975 });
30976
30977 return br;
30978
30979 })));
30980
30981
30982/***/ }),
30983/* 345 */
30984/***/ (function(module, exports, __webpack_require__) {
30985
30986 //! moment.js locale configuration
30987
30988 ;(function (global, factory) {
30989 true ? factory(__webpack_require__(327)) :
30990 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
30991 factory(global.moment)
30992 }(this, (function (moment) { 'use strict';
30993
30994
30995 function translate(number, withoutSuffix, key) {
30996 var result = number + ' ';
30997 switch (key) {
30998 case 'ss':
30999 if (number === 1) {
31000 result += 'sekunda';
31001 } else if (number === 2 || number === 3 || number === 4) {
31002 result += 'sekunde';
31003 } else {
31004 result += 'sekundi';
31005 }
31006 return result;
31007 case 'm':
31008 return withoutSuffix ? 'jedna minuta' : 'jedne minute';
31009 case 'mm':
31010 if (number === 1) {
31011 result += 'minuta';
31012 } else if (number === 2 || number === 3 || number === 4) {
31013 result += 'minute';
31014 } else {
31015 result += 'minuta';
31016 }
31017 return result;
31018 case 'h':
31019 return withoutSuffix ? 'jedan sat' : 'jednog sata';
31020 case 'hh':
31021 if (number === 1) {
31022 result += 'sat';
31023 } else if (number === 2 || number === 3 || number === 4) {
31024 result += 'sata';
31025 } else {
31026 result += 'sati';
31027 }
31028 return result;
31029 case 'dd':
31030 if (number === 1) {
31031 result += 'dan';
31032 } else {
31033 result += 'dana';
31034 }
31035 return result;
31036 case 'MM':
31037 if (number === 1) {
31038 result += 'mjesec';
31039 } else if (number === 2 || number === 3 || number === 4) {
31040 result += 'mjeseca';
31041 } else {
31042 result += 'mjeseci';
31043 }
31044 return result;
31045 case 'yy':
31046 if (number === 1) {
31047 result += 'godina';
31048 } else if (number === 2 || number === 3 || number === 4) {
31049 result += 'godine';
31050 } else {
31051 result += 'godina';
31052 }
31053 return result;
31054 }
31055 }
31056
31057 var bs = moment.defineLocale('bs', {
31058 months : 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split('_'),
31059 monthsShort : 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split('_'),
31060 monthsParseExact: true,
31061 weekdays : 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),
31062 weekdaysShort : 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),
31063 weekdaysMin : 'ne_po_ut_sr_če_pe_su'.split('_'),
31064 weekdaysParseExact : true,
31065 longDateFormat : {
31066 LT : 'H:mm',
31067 LTS : 'H:mm:ss',
31068 L : 'DD.MM.YYYY',
31069 LL : 'D. MMMM YYYY',
31070 LLL : 'D. MMMM YYYY H:mm',
31071 LLLL : 'dddd, D. MMMM YYYY H:mm'
31072 },
31073 calendar : {
31074 sameDay : '[danas u] LT',
31075 nextDay : '[sutra u] LT',
31076 nextWeek : function () {
31077 switch (this.day()) {
31078 case 0:
31079 return '[u] [nedjelju] [u] LT';
31080 case 3:
31081 return '[u] [srijedu] [u] LT';
31082 case 6:
31083 return '[u] [subotu] [u] LT';
31084 case 1:
31085 case 2:
31086 case 4:
31087 case 5:
31088 return '[u] dddd [u] LT';
31089 }
31090 },
31091 lastDay : '[jučer u] LT',
31092 lastWeek : function () {
31093 switch (this.day()) {
31094 case 0:
31095 case 3:
31096 return '[prošlu] dddd [u] LT';
31097 case 6:
31098 return '[prošle] [subote] [u] LT';
31099 case 1:
31100 case 2:
31101 case 4:
31102 case 5:
31103 return '[prošli] dddd [u] LT';
31104 }
31105 },
31106 sameElse : 'L'
31107 },
31108 relativeTime : {
31109 future : 'za %s',
31110 past : 'prije %s',
31111 s : 'par sekundi',
31112 ss : translate,
31113 m : translate,
31114 mm : translate,
31115 h : translate,
31116 hh : translate,
31117 d : 'dan',
31118 dd : translate,
31119 M : 'mjesec',
31120 MM : translate,
31121 y : 'godinu',
31122 yy : translate
31123 },
31124 dayOfMonthOrdinalParse: /\d{1,2}\./,
31125 ordinal : '%d.',
31126 week : {
31127 dow : 1, // Monday is the first day of the week.
31128 doy : 7 // The week that contains Jan 1st is the first week of the year.
31129 }
31130 });
31131
31132 return bs;
31133
31134 })));
31135
31136
31137/***/ }),
31138/* 346 */
31139/***/ (function(module, exports, __webpack_require__) {
31140
31141 //! moment.js locale configuration
31142
31143 ;(function (global, factory) {
31144 true ? factory(__webpack_require__(327)) :
31145 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
31146 factory(global.moment)
31147 }(this, (function (moment) { 'use strict';
31148
31149
31150 var ca = moment.defineLocale('ca', {
31151 months : {
31152 standalone: 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split('_'),
31153 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('_'),
31154 isFormat: /D[oD]?(\s)+MMMM/
31155 },
31156 monthsShort : 'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split('_'),
31157 monthsParseExact : true,
31158 weekdays : 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split('_'),
31159 weekdaysShort : 'dg._dl._dt._dc._dj._dv._ds.'.split('_'),
31160 weekdaysMin : 'dg_dl_dt_dc_dj_dv_ds'.split('_'),
31161 weekdaysParseExact : true,
31162 longDateFormat : {
31163 LT : 'H:mm',
31164 LTS : 'H:mm:ss',
31165 L : 'DD/MM/YYYY',
31166 LL : 'D MMMM [de] YYYY',
31167 ll : 'D MMM YYYY',
31168 LLL : 'D MMMM [de] YYYY [a les] H:mm',
31169 lll : 'D MMM YYYY, H:mm',
31170 LLLL : 'dddd D MMMM [de] YYYY [a les] H:mm',
31171 llll : 'ddd D MMM YYYY, H:mm'
31172 },
31173 calendar : {
31174 sameDay : function () {
31175 return '[avui a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';
31176 },
31177 nextDay : function () {
31178 return '[demà a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';
31179 },
31180 nextWeek : function () {
31181 return 'dddd [a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';
31182 },
31183 lastDay : function () {
31184 return '[ahir a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';
31185 },
31186 lastWeek : function () {
31187 return '[el] dddd [passat a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';
31188 },
31189 sameElse : 'L'
31190 },
31191 relativeTime : {
31192 future : 'd\'aquí %s',
31193 past : 'fa %s',
31194 s : 'uns segons',
31195 ss : '%d segons',
31196 m : 'un minut',
31197 mm : '%d minuts',
31198 h : 'una hora',
31199 hh : '%d hores',
31200 d : 'un dia',
31201 dd : '%d dies',
31202 M : 'un mes',
31203 MM : '%d mesos',
31204 y : 'un any',
31205 yy : '%d anys'
31206 },
31207 dayOfMonthOrdinalParse: /\d{1,2}(r|n|t|è|a)/,
31208 ordinal : function (number, period) {
31209 var output = (number === 1) ? 'r' :
31210 (number === 2) ? 'n' :
31211 (number === 3) ? 'r' :
31212 (number === 4) ? 't' : 'è';
31213 if (period === 'w' || period === 'W') {
31214 output = 'a';
31215 }
31216 return number + output;
31217 },
31218 week : {
31219 dow : 1, // Monday is the first day of the week.
31220 doy : 4 // The week that contains Jan 4th is the first week of the year.
31221 }
31222 });
31223
31224 return ca;
31225
31226 })));
31227
31228
31229/***/ }),
31230/* 347 */
31231/***/ (function(module, exports, __webpack_require__) {
31232
31233 //! moment.js locale configuration
31234
31235 ;(function (global, factory) {
31236 true ? factory(__webpack_require__(327)) :
31237 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
31238 factory(global.moment)
31239 }(this, (function (moment) { 'use strict';
31240
31241
31242 var months = 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split('_'),
31243 monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_');
31244 function plural(n) {
31245 return (n > 1) && (n < 5) && (~~(n / 10) !== 1);
31246 }
31247 function translate(number, withoutSuffix, key, isFuture) {
31248 var result = number + ' ';
31249 switch (key) {
31250 case 's': // a few seconds / in a few seconds / a few seconds ago
31251 return (withoutSuffix || isFuture) ? 'pár sekund' : 'pár sekundami';
31252 case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago
31253 if (withoutSuffix || isFuture) {
31254 return result + (plural(number) ? 'sekundy' : 'sekund');
31255 } else {
31256 return result + 'sekundami';
31257 }
31258 break;
31259 case 'm': // a minute / in a minute / a minute ago
31260 return withoutSuffix ? 'minuta' : (isFuture ? 'minutu' : 'minutou');
31261 case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago
31262 if (withoutSuffix || isFuture) {
31263 return result + (plural(number) ? 'minuty' : 'minut');
31264 } else {
31265 return result + 'minutami';
31266 }
31267 break;
31268 case 'h': // an hour / in an hour / an hour ago
31269 return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou');
31270 case 'hh': // 9 hours / in 9 hours / 9 hours ago
31271 if (withoutSuffix || isFuture) {
31272 return result + (plural(number) ? 'hodiny' : 'hodin');
31273 } else {
31274 return result + 'hodinami';
31275 }
31276 break;
31277 case 'd': // a day / in a day / a day ago
31278 return (withoutSuffix || isFuture) ? 'den' : 'dnem';
31279 case 'dd': // 9 days / in 9 days / 9 days ago
31280 if (withoutSuffix || isFuture) {
31281 return result + (plural(number) ? 'dny' : 'dní');
31282 } else {
31283 return result + 'dny';
31284 }
31285 break;
31286 case 'M': // a month / in a month / a month ago
31287 return (withoutSuffix || isFuture) ? 'měsíc' : 'měsícem';
31288 case 'MM': // 9 months / in 9 months / 9 months ago
31289 if (withoutSuffix || isFuture) {
31290 return result + (plural(number) ? 'měsíce' : 'měsíců');
31291 } else {
31292 return result + 'měsíci';
31293 }
31294 break;
31295 case 'y': // a year / in a year / a year ago
31296 return (withoutSuffix || isFuture) ? 'rok' : 'rokem';
31297 case 'yy': // 9 years / in 9 years / 9 years ago
31298 if (withoutSuffix || isFuture) {
31299 return result + (plural(number) ? 'roky' : 'let');
31300 } else {
31301 return result + 'lety';
31302 }
31303 break;
31304 }
31305 }
31306
31307 var cs = moment.defineLocale('cs', {
31308 months : months,
31309 monthsShort : monthsShort,
31310 monthsParse : (function (months, monthsShort) {
31311 var i, _monthsParse = [];
31312 for (i = 0; i < 12; i++) {
31313 // use custom parser to solve problem with July (červenec)
31314 _monthsParse[i] = new RegExp('^' + months[i] + '$|^' + monthsShort[i] + '$', 'i');
31315 }
31316 return _monthsParse;
31317 }(months, monthsShort)),
31318 shortMonthsParse : (function (monthsShort) {
31319 var i, _shortMonthsParse = [];
31320 for (i = 0; i < 12; i++) {
31321 _shortMonthsParse[i] = new RegExp('^' + monthsShort[i] + '$', 'i');
31322 }
31323 return _shortMonthsParse;
31324 }(monthsShort)),
31325 longMonthsParse : (function (months) {
31326 var i, _longMonthsParse = [];
31327 for (i = 0; i < 12; i++) {
31328 _longMonthsParse[i] = new RegExp('^' + months[i] + '$', 'i');
31329 }
31330 return _longMonthsParse;
31331 }(months)),
31332 weekdays : 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'),
31333 weekdaysShort : 'ne_po_út_st_čt_pá_so'.split('_'),
31334 weekdaysMin : 'ne_po_út_st_čt_pá_so'.split('_'),
31335 longDateFormat : {
31336 LT: 'H:mm',
31337 LTS : 'H:mm:ss',
31338 L : 'DD.MM.YYYY',
31339 LL : 'D. MMMM YYYY',
31340 LLL : 'D. MMMM YYYY H:mm',
31341 LLLL : 'dddd D. MMMM YYYY H:mm',
31342 l : 'D. M. YYYY'
31343 },
31344 calendar : {
31345 sameDay: '[dnes v] LT',
31346 nextDay: '[zítra v] LT',
31347 nextWeek: function () {
31348 switch (this.day()) {
31349 case 0:
31350 return '[v neděli v] LT';
31351 case 1:
31352 case 2:
31353 return '[v] dddd [v] LT';
31354 case 3:
31355 return '[ve středu v] LT';
31356 case 4:
31357 return '[ve čtvrtek v] LT';
31358 case 5:
31359 return '[v pátek v] LT';
31360 case 6:
31361 return '[v sobotu v] LT';
31362 }
31363 },
31364 lastDay: '[včera v] LT',
31365 lastWeek: function () {
31366 switch (this.day()) {
31367 case 0:
31368 return '[minulou neděli v] LT';
31369 case 1:
31370 case 2:
31371 return '[minulé] dddd [v] LT';
31372 case 3:
31373 return '[minulou středu v] LT';
31374 case 4:
31375 case 5:
31376 return '[minulý] dddd [v] LT';
31377 case 6:
31378 return '[minulou sobotu v] LT';
31379 }
31380 },
31381 sameElse: 'L'
31382 },
31383 relativeTime : {
31384 future : 'za %s',
31385 past : 'před %s',
31386 s : translate,
31387 ss : translate,
31388 m : translate,
31389 mm : translate,
31390 h : translate,
31391 hh : translate,
31392 d : translate,
31393 dd : translate,
31394 M : translate,
31395 MM : translate,
31396 y : translate,
31397 yy : translate
31398 },
31399 dayOfMonthOrdinalParse : /\d{1,2}\./,
31400 ordinal : '%d.',
31401 week : {
31402 dow : 1, // Monday is the first day of the week.
31403 doy : 4 // The week that contains Jan 4th is the first week of the year.
31404 }
31405 });
31406
31407 return cs;
31408
31409 })));
31410
31411
31412/***/ }),
31413/* 348 */
31414/***/ (function(module, exports, __webpack_require__) {
31415
31416 //! moment.js locale configuration
31417
31418 ;(function (global, factory) {
31419 true ? factory(__webpack_require__(327)) :
31420 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
31421 factory(global.moment)
31422 }(this, (function (moment) { 'use strict';
31423
31424
31425 var cv = moment.defineLocale('cv', {
31426 months : 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split('_'),
31427 monthsShort : 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'),
31428 weekdays : 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split('_'),
31429 weekdaysShort : 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'),
31430 weekdaysMin : 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'),
31431 longDateFormat : {
31432 LT : 'HH:mm',
31433 LTS : 'HH:mm:ss',
31434 L : 'DD-MM-YYYY',
31435 LL : 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]',
31436 LLL : 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',
31437 LLLL : 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm'
31438 },
31439 calendar : {
31440 sameDay: '[Паян] LT [сехетре]',
31441 nextDay: '[Ыран] LT [сехетре]',
31442 lastDay: '[Ӗнер] LT [сехетре]',
31443 nextWeek: '[Ҫитес] dddd LT [сехетре]',
31444 lastWeek: '[Иртнӗ] dddd LT [сехетре]',
31445 sameElse: 'L'
31446 },
31447 relativeTime : {
31448 future : function (output) {
31449 var affix = /сехет$/i.exec(output) ? 'рен' : /ҫул$/i.exec(output) ? 'тан' : 'ран';
31450 return output + affix;
31451 },
31452 past : '%s каялла',
31453 s : 'пӗр-ик ҫеккунт',
31454 ss : '%d ҫеккунт',
31455 m : 'пӗр минут',
31456 mm : '%d минут',
31457 h : 'пӗр сехет',
31458 hh : '%d сехет',
31459 d : 'пӗр кун',
31460 dd : '%d кун',
31461 M : 'пӗр уйӑх',
31462 MM : '%d уйӑх',
31463 y : 'пӗр ҫул',
31464 yy : '%d ҫул'
31465 },
31466 dayOfMonthOrdinalParse: /\d{1,2}-мӗш/,
31467 ordinal : '%d-мӗш',
31468 week : {
31469 dow : 1, // Monday is the first day of the week.
31470 doy : 7 // The week that contains Jan 1st is the first week of the year.
31471 }
31472 });
31473
31474 return cv;
31475
31476 })));
31477
31478
31479/***/ }),
31480/* 349 */
31481/***/ (function(module, exports, __webpack_require__) {
31482
31483 //! moment.js locale configuration
31484
31485 ;(function (global, factory) {
31486 true ? factory(__webpack_require__(327)) :
31487 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
31488 factory(global.moment)
31489 }(this, (function (moment) { 'use strict';
31490
31491
31492 var cy = moment.defineLocale('cy', {
31493 months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split('_'),
31494 monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split('_'),
31495 weekdays: 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split('_'),
31496 weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'),
31497 weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'),
31498 weekdaysParseExact : true,
31499 // time formats are the same as en-gb
31500 longDateFormat: {
31501 LT: 'HH:mm',
31502 LTS : 'HH:mm:ss',
31503 L: 'DD/MM/YYYY',
31504 LL: 'D MMMM YYYY',
31505 LLL: 'D MMMM YYYY HH:mm',
31506 LLLL: 'dddd, D MMMM YYYY HH:mm'
31507 },
31508 calendar: {
31509 sameDay: '[Heddiw am] LT',
31510 nextDay: '[Yfory am] LT',
31511 nextWeek: 'dddd [am] LT',
31512 lastDay: '[Ddoe am] LT',
31513 lastWeek: 'dddd [diwethaf am] LT',
31514 sameElse: 'L'
31515 },
31516 relativeTime: {
31517 future: 'mewn %s',
31518 past: '%s yn ôl',
31519 s: 'ychydig eiliadau',
31520 ss: '%d eiliad',
31521 m: 'munud',
31522 mm: '%d munud',
31523 h: 'awr',
31524 hh: '%d awr',
31525 d: 'diwrnod',
31526 dd: '%d diwrnod',
31527 M: 'mis',
31528 MM: '%d mis',
31529 y: 'blwyddyn',
31530 yy: '%d flynedd'
31531 },
31532 dayOfMonthOrdinalParse: /\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,
31533 // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh
31534 ordinal: function (number) {
31535 var b = number,
31536 output = '',
31537 lookup = [
31538 '', 'af', 'il', 'ydd', 'ydd', 'ed', 'ed', 'ed', 'fed', 'fed', 'fed', // 1af to 10fed
31539 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'fed' // 11eg to 20fed
31540 ];
31541 if (b > 20) {
31542 if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) {
31543 output = 'fed'; // not 30ain, 70ain or 90ain
31544 } else {
31545 output = 'ain';
31546 }
31547 } else if (b > 0) {
31548 output = lookup[b];
31549 }
31550 return number + output;
31551 },
31552 week : {
31553 dow : 1, // Monday is the first day of the week.
31554 doy : 4 // The week that contains Jan 4th is the first week of the year.
31555 }
31556 });
31557
31558 return cy;
31559
31560 })));
31561
31562
31563/***/ }),
31564/* 350 */
31565/***/ (function(module, exports, __webpack_require__) {
31566
31567 //! moment.js locale configuration
31568
31569 ;(function (global, factory) {
31570 true ? factory(__webpack_require__(327)) :
31571 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
31572 factory(global.moment)
31573 }(this, (function (moment) { 'use strict';
31574
31575
31576 var da = moment.defineLocale('da', {
31577 months : 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split('_'),
31578 monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),
31579 weekdays : 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),
31580 weekdaysShort : 'søn_man_tir_ons_tor_fre_lør'.split('_'),
31581 weekdaysMin : 'sø_ma_ti_on_to_fr_lø'.split('_'),
31582 longDateFormat : {
31583 LT : 'HH:mm',
31584 LTS : 'HH:mm:ss',
31585 L : 'DD.MM.YYYY',
31586 LL : 'D. MMMM YYYY',
31587 LLL : 'D. MMMM YYYY HH:mm',
31588 LLLL : 'dddd [d.] D. MMMM YYYY [kl.] HH:mm'
31589 },
31590 calendar : {
31591 sameDay : '[i dag kl.] LT',
31592 nextDay : '[i morgen kl.] LT',
31593 nextWeek : 'på dddd [kl.] LT',
31594 lastDay : '[i går kl.] LT',
31595 lastWeek : '[i] dddd[s kl.] LT',
31596 sameElse : 'L'
31597 },
31598 relativeTime : {
31599 future : 'om %s',
31600 past : '%s siden',
31601 s : 'få sekunder',
31602 ss : '%d sekunder',
31603 m : 'et minut',
31604 mm : '%d minutter',
31605 h : 'en time',
31606 hh : '%d timer',
31607 d : 'en dag',
31608 dd : '%d dage',
31609 M : 'en måned',
31610 MM : '%d måneder',
31611 y : 'et år',
31612 yy : '%d år'
31613 },
31614 dayOfMonthOrdinalParse: /\d{1,2}\./,
31615 ordinal : '%d.',
31616 week : {
31617 dow : 1, // Monday is the first day of the week.
31618 doy : 4 // The week that contains Jan 4th is the first week of the year.
31619 }
31620 });
31621
31622 return da;
31623
31624 })));
31625
31626
31627/***/ }),
31628/* 351 */
31629/***/ (function(module, exports, __webpack_require__) {
31630
31631 //! moment.js locale configuration
31632
31633 ;(function (global, factory) {
31634 true ? factory(__webpack_require__(327)) :
31635 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
31636 factory(global.moment)
31637 }(this, (function (moment) { 'use strict';
31638
31639
31640 function processRelativeTime(number, withoutSuffix, key, isFuture) {
31641 var format = {
31642 'm': ['eine Minute', 'einer Minute'],
31643 'h': ['eine Stunde', 'einer Stunde'],
31644 'd': ['ein Tag', 'einem Tag'],
31645 'dd': [number + ' Tage', number + ' Tagen'],
31646 'M': ['ein Monat', 'einem Monat'],
31647 'MM': [number + ' Monate', number + ' Monaten'],
31648 'y': ['ein Jahr', 'einem Jahr'],
31649 'yy': [number + ' Jahre', number + ' Jahren']
31650 };
31651 return withoutSuffix ? format[key][0] : format[key][1];
31652 }
31653
31654 var de = moment.defineLocale('de', {
31655 months : 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),
31656 monthsShort : 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),
31657 monthsParseExact : true,
31658 weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),
31659 weekdaysShort : 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),
31660 weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),
31661 weekdaysParseExact : true,
31662 longDateFormat : {
31663 LT: 'HH:mm',
31664 LTS: 'HH:mm:ss',
31665 L : 'DD.MM.YYYY',
31666 LL : 'D. MMMM YYYY',
31667 LLL : 'D. MMMM YYYY HH:mm',
31668 LLLL : 'dddd, D. MMMM YYYY HH:mm'
31669 },
31670 calendar : {
31671 sameDay: '[heute um] LT [Uhr]',
31672 sameElse: 'L',
31673 nextDay: '[morgen um] LT [Uhr]',
31674 nextWeek: 'dddd [um] LT [Uhr]',
31675 lastDay: '[gestern um] LT [Uhr]',
31676 lastWeek: '[letzten] dddd [um] LT [Uhr]'
31677 },
31678 relativeTime : {
31679 future : 'in %s',
31680 past : 'vor %s',
31681 s : 'ein paar Sekunden',
31682 ss : '%d Sekunden',
31683 m : processRelativeTime,
31684 mm : '%d Minuten',
31685 h : processRelativeTime,
31686 hh : '%d Stunden',
31687 d : processRelativeTime,
31688 dd : processRelativeTime,
31689 M : processRelativeTime,
31690 MM : processRelativeTime,
31691 y : processRelativeTime,
31692 yy : processRelativeTime
31693 },
31694 dayOfMonthOrdinalParse: /\d{1,2}\./,
31695 ordinal : '%d.',
31696 week : {
31697 dow : 1, // Monday is the first day of the week.
31698 doy : 4 // The week that contains Jan 4th is the first week of the year.
31699 }
31700 });
31701
31702 return de;
31703
31704 })));
31705
31706
31707/***/ }),
31708/* 352 */
31709/***/ (function(module, exports, __webpack_require__) {
31710
31711 //! moment.js locale configuration
31712
31713 ;(function (global, factory) {
31714 true ? factory(__webpack_require__(327)) :
31715 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
31716 factory(global.moment)
31717 }(this, (function (moment) { 'use strict';
31718
31719
31720 function processRelativeTime(number, withoutSuffix, key, isFuture) {
31721 var format = {
31722 'm': ['eine Minute', 'einer Minute'],
31723 'h': ['eine Stunde', 'einer Stunde'],
31724 'd': ['ein Tag', 'einem Tag'],
31725 'dd': [number + ' Tage', number + ' Tagen'],
31726 'M': ['ein Monat', 'einem Monat'],
31727 'MM': [number + ' Monate', number + ' Monaten'],
31728 'y': ['ein Jahr', 'einem Jahr'],
31729 'yy': [number + ' Jahre', number + ' Jahren']
31730 };
31731 return withoutSuffix ? format[key][0] : format[key][1];
31732 }
31733
31734 var deAt = moment.defineLocale('de-at', {
31735 months : 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),
31736 monthsShort : 'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),
31737 monthsParseExact : true,
31738 weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),
31739 weekdaysShort : 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),
31740 weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),
31741 weekdaysParseExact : true,
31742 longDateFormat : {
31743 LT: 'HH:mm',
31744 LTS: 'HH:mm:ss',
31745 L : 'DD.MM.YYYY',
31746 LL : 'D. MMMM YYYY',
31747 LLL : 'D. MMMM YYYY HH:mm',
31748 LLLL : 'dddd, D. MMMM YYYY HH:mm'
31749 },
31750 calendar : {
31751 sameDay: '[heute um] LT [Uhr]',
31752 sameElse: 'L',
31753 nextDay: '[morgen um] LT [Uhr]',
31754 nextWeek: 'dddd [um] LT [Uhr]',
31755 lastDay: '[gestern um] LT [Uhr]',
31756 lastWeek: '[letzten] dddd [um] LT [Uhr]'
31757 },
31758 relativeTime : {
31759 future : 'in %s',
31760 past : 'vor %s',
31761 s : 'ein paar Sekunden',
31762 ss : '%d Sekunden',
31763 m : processRelativeTime,
31764 mm : '%d Minuten',
31765 h : processRelativeTime,
31766 hh : '%d Stunden',
31767 d : processRelativeTime,
31768 dd : processRelativeTime,
31769 M : processRelativeTime,
31770 MM : processRelativeTime,
31771 y : processRelativeTime,
31772 yy : processRelativeTime
31773 },
31774 dayOfMonthOrdinalParse: /\d{1,2}\./,
31775 ordinal : '%d.',
31776 week : {
31777 dow : 1, // Monday is the first day of the week.
31778 doy : 4 // The week that contains Jan 4th is the first week of the year.
31779 }
31780 });
31781
31782 return deAt;
31783
31784 })));
31785
31786
31787/***/ }),
31788/* 353 */
31789/***/ (function(module, exports, __webpack_require__) {
31790
31791 //! moment.js locale configuration
31792
31793 ;(function (global, factory) {
31794 true ? factory(__webpack_require__(327)) :
31795 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
31796 factory(global.moment)
31797 }(this, (function (moment) { 'use strict';
31798
31799
31800 function processRelativeTime(number, withoutSuffix, key, isFuture) {
31801 var format = {
31802 'm': ['eine Minute', 'einer Minute'],
31803 'h': ['eine Stunde', 'einer Stunde'],
31804 'd': ['ein Tag', 'einem Tag'],
31805 'dd': [number + ' Tage', number + ' Tagen'],
31806 'M': ['ein Monat', 'einem Monat'],
31807 'MM': [number + ' Monate', number + ' Monaten'],
31808 'y': ['ein Jahr', 'einem Jahr'],
31809 'yy': [number + ' Jahre', number + ' Jahren']
31810 };
31811 return withoutSuffix ? format[key][0] : format[key][1];
31812 }
31813
31814 var deCh = moment.defineLocale('de-ch', {
31815 months : 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),
31816 monthsShort : 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),
31817 monthsParseExact : true,
31818 weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),
31819 weekdaysShort : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),
31820 weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),
31821 weekdaysParseExact : true,
31822 longDateFormat : {
31823 LT: 'HH:mm',
31824 LTS: 'HH:mm:ss',
31825 L : 'DD.MM.YYYY',
31826 LL : 'D. MMMM YYYY',
31827 LLL : 'D. MMMM YYYY HH:mm',
31828 LLLL : 'dddd, D. MMMM YYYY HH:mm'
31829 },
31830 calendar : {
31831 sameDay: '[heute um] LT [Uhr]',
31832 sameElse: 'L',
31833 nextDay: '[morgen um] LT [Uhr]',
31834 nextWeek: 'dddd [um] LT [Uhr]',
31835 lastDay: '[gestern um] LT [Uhr]',
31836 lastWeek: '[letzten] dddd [um] LT [Uhr]'
31837 },
31838 relativeTime : {
31839 future : 'in %s',
31840 past : 'vor %s',
31841 s : 'ein paar Sekunden',
31842 ss : '%d Sekunden',
31843 m : processRelativeTime,
31844 mm : '%d Minuten',
31845 h : processRelativeTime,
31846 hh : '%d Stunden',
31847 d : processRelativeTime,
31848 dd : processRelativeTime,
31849 M : processRelativeTime,
31850 MM : processRelativeTime,
31851 y : processRelativeTime,
31852 yy : processRelativeTime
31853 },
31854 dayOfMonthOrdinalParse: /\d{1,2}\./,
31855 ordinal : '%d.',
31856 week : {
31857 dow : 1, // Monday is the first day of the week.
31858 doy : 4 // The week that contains Jan 4th is the first week of the year.
31859 }
31860 });
31861
31862 return deCh;
31863
31864 })));
31865
31866
31867/***/ }),
31868/* 354 */
31869/***/ (function(module, exports, __webpack_require__) {
31870
31871 //! moment.js locale configuration
31872
31873 ;(function (global, factory) {
31874 true ? factory(__webpack_require__(327)) :
31875 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
31876 factory(global.moment)
31877 }(this, (function (moment) { 'use strict';
31878
31879
31880 var months = [
31881 'ޖެނުއަރީ',
31882 'ފެބްރުއަރީ',
31883 'މާރިޗު',
31884 'އޭޕްރީލު',
31885 'މޭ',
31886 'ޖޫން',
31887 'ޖުލައި',
31888 'އޯގަސްޓު',
31889 'ސެޕްޓެމްބަރު',
31890 'އޮކްޓޯބަރު',
31891 'ނޮވެމްބަރު',
31892 'ޑިސެމްބަރު'
31893 ], weekdays = [
31894 'އާދިއްތަ',
31895 'ހޯމަ',
31896 'އަންގާރަ',
31897 'ބުދަ',
31898 'ބުރާސްފަތި',
31899 'ހުކުރު',
31900 'ހޮނިހިރު'
31901 ];
31902
31903 var dv = moment.defineLocale('dv', {
31904 months : months,
31905 monthsShort : months,
31906 weekdays : weekdays,
31907 weekdaysShort : weekdays,
31908 weekdaysMin : 'އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި'.split('_'),
31909 longDateFormat : {
31910
31911 LT : 'HH:mm',
31912 LTS : 'HH:mm:ss',
31913 L : 'D/M/YYYY',
31914 LL : 'D MMMM YYYY',
31915 LLL : 'D MMMM YYYY HH:mm',
31916 LLLL : 'dddd D MMMM YYYY HH:mm'
31917 },
31918 meridiemParse: /މކ|މފ/,
31919 isPM : function (input) {
31920 return 'މފ' === input;
31921 },
31922 meridiem : function (hour, minute, isLower) {
31923 if (hour < 12) {
31924 return 'މކ';
31925 } else {
31926 return 'މފ';
31927 }
31928 },
31929 calendar : {
31930 sameDay : '[މިއަދު] LT',
31931 nextDay : '[މާދަމާ] LT',
31932 nextWeek : 'dddd LT',
31933 lastDay : '[އިއްޔެ] LT',
31934 lastWeek : '[ފާއިތުވި] dddd LT',
31935 sameElse : 'L'
31936 },
31937 relativeTime : {
31938 future : 'ތެރޭގައި %s',
31939 past : 'ކުރިން %s',
31940 s : 'ސިކުންތުކޮޅެއް',
31941 ss : 'd% ސިކުންތު',
31942 m : 'މިނިޓެއް',
31943 mm : 'މިނިޓު %d',
31944 h : 'ގަޑިއިރެއް',
31945 hh : 'ގަޑިއިރު %d',
31946 d : 'ދުވަހެއް',
31947 dd : 'ދުވަސް %d',
31948 M : 'މަހެއް',
31949 MM : 'މަސް %d',
31950 y : 'އަހަރެއް',
31951 yy : 'އަހަރު %d'
31952 },
31953 preparse: function (string) {
31954 return string.replace(/،/g, ',');
31955 },
31956 postformat: function (string) {
31957 return string.replace(/,/g, '،');
31958 },
31959 week : {
31960 dow : 7, // Sunday is the first day of the week.
31961 doy : 12 // The week that contains Jan 1st is the first week of the year.
31962 }
31963 });
31964
31965 return dv;
31966
31967 })));
31968
31969
31970/***/ }),
31971/* 355 */
31972/***/ (function(module, exports, __webpack_require__) {
31973
31974 //! moment.js locale configuration
31975
31976 ;(function (global, factory) {
31977 true ? factory(__webpack_require__(327)) :
31978 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
31979 factory(global.moment)
31980 }(this, (function (moment) { 'use strict';
31981
31982 function isFunction(input) {
31983 return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';
31984 }
31985
31986
31987 var el = moment.defineLocale('el', {
31988 monthsNominativeEl : 'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split('_'),
31989 monthsGenitiveEl : 'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split('_'),
31990 months : function (momentToFormat, format) {
31991 if (!momentToFormat) {
31992 return this._monthsNominativeEl;
31993 } else if (typeof format === 'string' && /D/.test(format.substring(0, format.indexOf('MMMM')))) { // if there is a day number before 'MMMM'
31994 return this._monthsGenitiveEl[momentToFormat.month()];
31995 } else {
31996 return this._monthsNominativeEl[momentToFormat.month()];
31997 }
31998 },
31999 monthsShort : 'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split('_'),
32000 weekdays : 'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split('_'),
32001 weekdaysShort : 'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'),
32002 weekdaysMin : 'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'),
32003 meridiem : function (hours, minutes, isLower) {
32004 if (hours > 11) {
32005 return isLower ? 'μμ' : 'ΜΜ';
32006 } else {
32007 return isLower ? 'πμ' : 'ΠΜ';
32008 }
32009 },
32010 isPM : function (input) {
32011 return ((input + '').toLowerCase()[0] === 'μ');
32012 },
32013 meridiemParse : /[ΠΜ]\.?Μ?\.?/i,
32014 longDateFormat : {
32015 LT : 'h:mm A',
32016 LTS : 'h:mm:ss A',
32017 L : 'DD/MM/YYYY',
32018 LL : 'D MMMM YYYY',
32019 LLL : 'D MMMM YYYY h:mm A',
32020 LLLL : 'dddd, D MMMM YYYY h:mm A'
32021 },
32022 calendarEl : {
32023 sameDay : '[Σήμερα {}] LT',
32024 nextDay : '[Αύριο {}] LT',
32025 nextWeek : 'dddd [{}] LT',
32026 lastDay : '[Χθες {}] LT',
32027 lastWeek : function () {
32028 switch (this.day()) {
32029 case 6:
32030 return '[το προηγούμενο] dddd [{}] LT';
32031 default:
32032 return '[την προηγούμενη] dddd [{}] LT';
32033 }
32034 },
32035 sameElse : 'L'
32036 },
32037 calendar : function (key, mom) {
32038 var output = this._calendarEl[key],
32039 hours = mom && mom.hours();
32040 if (isFunction(output)) {
32041 output = output.apply(mom);
32042 }
32043 return output.replace('{}', (hours % 12 === 1 ? 'στη' : 'στις'));
32044 },
32045 relativeTime : {
32046 future : 'σε %s',
32047 past : '%s πριν',
32048 s : 'λίγα δευτερόλεπτα',
32049 ss : '%d δευτερόλεπτα',
32050 m : 'ένα λεπτό',
32051 mm : '%d λεπτά',
32052 h : 'μία ώρα',
32053 hh : '%d ώρες',
32054 d : 'μία μέρα',
32055 dd : '%d μέρες',
32056 M : 'ένας μήνας',
32057 MM : '%d μήνες',
32058 y : 'ένας χρόνος',
32059 yy : '%d χρόνια'
32060 },
32061 dayOfMonthOrdinalParse: /\d{1,2}η/,
32062 ordinal: '%dη',
32063 week : {
32064 dow : 1, // Monday is the first day of the week.
32065 doy : 4 // The week that contains Jan 4st is the first week of the year.
32066 }
32067 });
32068
32069 return el;
32070
32071 })));
32072
32073
32074/***/ }),
32075/* 356 */
32076/***/ (function(module, exports, __webpack_require__) {
32077
32078 //! moment.js locale configuration
32079
32080 ;(function (global, factory) {
32081 true ? factory(__webpack_require__(327)) :
32082 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
32083 factory(global.moment)
32084 }(this, (function (moment) { 'use strict';
32085
32086
32087 var enAu = moment.defineLocale('en-au', {
32088 months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
32089 monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
32090 weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
32091 weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
32092 weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
32093 longDateFormat : {
32094 LT : 'h:mm A',
32095 LTS : 'h:mm:ss A',
32096 L : 'DD/MM/YYYY',
32097 LL : 'D MMMM YYYY',
32098 LLL : 'D MMMM YYYY h:mm A',
32099 LLLL : 'dddd, D MMMM YYYY h:mm A'
32100 },
32101 calendar : {
32102 sameDay : '[Today at] LT',
32103 nextDay : '[Tomorrow at] LT',
32104 nextWeek : 'dddd [at] LT',
32105 lastDay : '[Yesterday at] LT',
32106 lastWeek : '[Last] dddd [at] LT',
32107 sameElse : 'L'
32108 },
32109 relativeTime : {
32110 future : 'in %s',
32111 past : '%s ago',
32112 s : 'a few seconds',
32113 ss : '%d seconds',
32114 m : 'a minute',
32115 mm : '%d minutes',
32116 h : 'an hour',
32117 hh : '%d hours',
32118 d : 'a day',
32119 dd : '%d days',
32120 M : 'a month',
32121 MM : '%d months',
32122 y : 'a year',
32123 yy : '%d years'
32124 },
32125 dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
32126 ordinal : function (number) {
32127 var b = number % 10,
32128 output = (~~(number % 100 / 10) === 1) ? 'th' :
32129 (b === 1) ? 'st' :
32130 (b === 2) ? 'nd' :
32131 (b === 3) ? 'rd' : 'th';
32132 return number + output;
32133 },
32134 week : {
32135 dow : 1, // Monday is the first day of the week.
32136 doy : 4 // The week that contains Jan 4th is the first week of the year.
32137 }
32138 });
32139
32140 return enAu;
32141
32142 })));
32143
32144
32145/***/ }),
32146/* 357 */
32147/***/ (function(module, exports, __webpack_require__) {
32148
32149 //! moment.js locale configuration
32150
32151 ;(function (global, factory) {
32152 true ? factory(__webpack_require__(327)) :
32153 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
32154 factory(global.moment)
32155 }(this, (function (moment) { 'use strict';
32156
32157
32158 var enCa = moment.defineLocale('en-ca', {
32159 months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
32160 monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
32161 weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
32162 weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
32163 weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
32164 longDateFormat : {
32165 LT : 'h:mm A',
32166 LTS : 'h:mm:ss A',
32167 L : 'YYYY-MM-DD',
32168 LL : 'MMMM D, YYYY',
32169 LLL : 'MMMM D, YYYY h:mm A',
32170 LLLL : 'dddd, MMMM D, YYYY h:mm A'
32171 },
32172 calendar : {
32173 sameDay : '[Today at] LT',
32174 nextDay : '[Tomorrow at] LT',
32175 nextWeek : 'dddd [at] LT',
32176 lastDay : '[Yesterday at] LT',
32177 lastWeek : '[Last] dddd [at] LT',
32178 sameElse : 'L'
32179 },
32180 relativeTime : {
32181 future : 'in %s',
32182 past : '%s ago',
32183 s : 'a few seconds',
32184 ss : '%d seconds',
32185 m : 'a minute',
32186 mm : '%d minutes',
32187 h : 'an hour',
32188 hh : '%d hours',
32189 d : 'a day',
32190 dd : '%d days',
32191 M : 'a month',
32192 MM : '%d months',
32193 y : 'a year',
32194 yy : '%d years'
32195 },
32196 dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
32197 ordinal : function (number) {
32198 var b = number % 10,
32199 output = (~~(number % 100 / 10) === 1) ? 'th' :
32200 (b === 1) ? 'st' :
32201 (b === 2) ? 'nd' :
32202 (b === 3) ? 'rd' : 'th';
32203 return number + output;
32204 }
32205 });
32206
32207 return enCa;
32208
32209 })));
32210
32211
32212/***/ }),
32213/* 358 */
32214/***/ (function(module, exports, __webpack_require__) {
32215
32216 //! moment.js locale configuration
32217
32218 ;(function (global, factory) {
32219 true ? factory(__webpack_require__(327)) :
32220 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
32221 factory(global.moment)
32222 }(this, (function (moment) { 'use strict';
32223
32224
32225 var enGb = moment.defineLocale('en-gb', {
32226 months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
32227 monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
32228 weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
32229 weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
32230 weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
32231 longDateFormat : {
32232 LT : 'HH:mm',
32233 LTS : 'HH:mm:ss',
32234 L : 'DD/MM/YYYY',
32235 LL : 'D MMMM YYYY',
32236 LLL : 'D MMMM YYYY HH:mm',
32237 LLLL : 'dddd, D MMMM YYYY HH:mm'
32238 },
32239 calendar : {
32240 sameDay : '[Today at] LT',
32241 nextDay : '[Tomorrow at] LT',
32242 nextWeek : 'dddd [at] LT',
32243 lastDay : '[Yesterday at] LT',
32244 lastWeek : '[Last] dddd [at] LT',
32245 sameElse : 'L'
32246 },
32247 relativeTime : {
32248 future : 'in %s',
32249 past : '%s ago',
32250 s : 'a few seconds',
32251 ss : '%d seconds',
32252 m : 'a minute',
32253 mm : '%d minutes',
32254 h : 'an hour',
32255 hh : '%d hours',
32256 d : 'a day',
32257 dd : '%d days',
32258 M : 'a month',
32259 MM : '%d months',
32260 y : 'a year',
32261 yy : '%d years'
32262 },
32263 dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
32264 ordinal : function (number) {
32265 var b = number % 10,
32266 output = (~~(number % 100 / 10) === 1) ? 'th' :
32267 (b === 1) ? 'st' :
32268 (b === 2) ? 'nd' :
32269 (b === 3) ? 'rd' : 'th';
32270 return number + output;
32271 },
32272 week : {
32273 dow : 1, // Monday is the first day of the week.
32274 doy : 4 // The week that contains Jan 4th is the first week of the year.
32275 }
32276 });
32277
32278 return enGb;
32279
32280 })));
32281
32282
32283/***/ }),
32284/* 359 */
32285/***/ (function(module, exports, __webpack_require__) {
32286
32287 //! moment.js locale configuration
32288
32289 ;(function (global, factory) {
32290 true ? factory(__webpack_require__(327)) :
32291 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
32292 factory(global.moment)
32293 }(this, (function (moment) { 'use strict';
32294
32295
32296 var enIe = moment.defineLocale('en-ie', {
32297 months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
32298 monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
32299 weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
32300 weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
32301 weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
32302 longDateFormat : {
32303 LT : 'HH:mm',
32304 LTS : 'HH:mm:ss',
32305 L : 'DD-MM-YYYY',
32306 LL : 'D MMMM YYYY',
32307 LLL : 'D MMMM YYYY HH:mm',
32308 LLLL : 'dddd D MMMM YYYY HH:mm'
32309 },
32310 calendar : {
32311 sameDay : '[Today at] LT',
32312 nextDay : '[Tomorrow at] LT',
32313 nextWeek : 'dddd [at] LT',
32314 lastDay : '[Yesterday at] LT',
32315 lastWeek : '[Last] dddd [at] LT',
32316 sameElse : 'L'
32317 },
32318 relativeTime : {
32319 future : 'in %s',
32320 past : '%s ago',
32321 s : 'a few seconds',
32322 ss : '%d seconds',
32323 m : 'a minute',
32324 mm : '%d minutes',
32325 h : 'an hour',
32326 hh : '%d hours',
32327 d : 'a day',
32328 dd : '%d days',
32329 M : 'a month',
32330 MM : '%d months',
32331 y : 'a year',
32332 yy : '%d years'
32333 },
32334 dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
32335 ordinal : function (number) {
32336 var b = number % 10,
32337 output = (~~(number % 100 / 10) === 1) ? 'th' :
32338 (b === 1) ? 'st' :
32339 (b === 2) ? 'nd' :
32340 (b === 3) ? 'rd' : 'th';
32341 return number + output;
32342 },
32343 week : {
32344 dow : 1, // Monday is the first day of the week.
32345 doy : 4 // The week that contains Jan 4th is the first week of the year.
32346 }
32347 });
32348
32349 return enIe;
32350
32351 })));
32352
32353
32354/***/ }),
32355/* 360 */
32356/***/ (function(module, exports, __webpack_require__) {
32357
32358 //! moment.js locale configuration
32359
32360 ;(function (global, factory) {
32361 true ? factory(__webpack_require__(327)) :
32362 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
32363 factory(global.moment)
32364 }(this, (function (moment) { 'use strict';
32365
32366
32367 var enIl = moment.defineLocale('en-il', {
32368 months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
32369 monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
32370 weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
32371 weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
32372 weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
32373 longDateFormat : {
32374 LT : 'HH:mm',
32375 LTS : 'HH:mm:ss',
32376 L : 'DD/MM/YYYY',
32377 LL : 'D MMMM YYYY',
32378 LLL : 'D MMMM YYYY HH:mm',
32379 LLLL : 'dddd, D MMMM YYYY HH:mm'
32380 },
32381 calendar : {
32382 sameDay : '[Today at] LT',
32383 nextDay : '[Tomorrow at] LT',
32384 nextWeek : 'dddd [at] LT',
32385 lastDay : '[Yesterday at] LT',
32386 lastWeek : '[Last] dddd [at] LT',
32387 sameElse : 'L'
32388 },
32389 relativeTime : {
32390 future : 'in %s',
32391 past : '%s ago',
32392 s : 'a few seconds',
32393 m : 'a minute',
32394 mm : '%d minutes',
32395 h : 'an hour',
32396 hh : '%d hours',
32397 d : 'a day',
32398 dd : '%d days',
32399 M : 'a month',
32400 MM : '%d months',
32401 y : 'a year',
32402 yy : '%d years'
32403 },
32404 dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
32405 ordinal : function (number) {
32406 var b = number % 10,
32407 output = (~~(number % 100 / 10) === 1) ? 'th' :
32408 (b === 1) ? 'st' :
32409 (b === 2) ? 'nd' :
32410 (b === 3) ? 'rd' : 'th';
32411 return number + output;
32412 }
32413 });
32414
32415 return enIl;
32416
32417 })));
32418
32419
32420/***/ }),
32421/* 361 */
32422/***/ (function(module, exports, __webpack_require__) {
32423
32424 //! moment.js locale configuration
32425
32426 ;(function (global, factory) {
32427 true ? factory(__webpack_require__(327)) :
32428 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
32429 factory(global.moment)
32430 }(this, (function (moment) { 'use strict';
32431
32432
32433 var enNz = moment.defineLocale('en-nz', {
32434 months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
32435 monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
32436 weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
32437 weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
32438 weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
32439 longDateFormat : {
32440 LT : 'h:mm A',
32441 LTS : 'h:mm:ss A',
32442 L : 'DD/MM/YYYY',
32443 LL : 'D MMMM YYYY',
32444 LLL : 'D MMMM YYYY h:mm A',
32445 LLLL : 'dddd, D MMMM YYYY h:mm A'
32446 },
32447 calendar : {
32448 sameDay : '[Today at] LT',
32449 nextDay : '[Tomorrow at] LT',
32450 nextWeek : 'dddd [at] LT',
32451 lastDay : '[Yesterday at] LT',
32452 lastWeek : '[Last] dddd [at] LT',
32453 sameElse : 'L'
32454 },
32455 relativeTime : {
32456 future : 'in %s',
32457 past : '%s ago',
32458 s : 'a few seconds',
32459 ss : '%d seconds',
32460 m : 'a minute',
32461 mm : '%d minutes',
32462 h : 'an hour',
32463 hh : '%d hours',
32464 d : 'a day',
32465 dd : '%d days',
32466 M : 'a month',
32467 MM : '%d months',
32468 y : 'a year',
32469 yy : '%d years'
32470 },
32471 dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
32472 ordinal : function (number) {
32473 var b = number % 10,
32474 output = (~~(number % 100 / 10) === 1) ? 'th' :
32475 (b === 1) ? 'st' :
32476 (b === 2) ? 'nd' :
32477 (b === 3) ? 'rd' : 'th';
32478 return number + output;
32479 },
32480 week : {
32481 dow : 1, // Monday is the first day of the week.
32482 doy : 4 // The week that contains Jan 4th is the first week of the year.
32483 }
32484 });
32485
32486 return enNz;
32487
32488 })));
32489
32490
32491/***/ }),
32492/* 362 */
32493/***/ (function(module, exports, __webpack_require__) {
32494
32495 //! moment.js locale configuration
32496
32497 ;(function (global, factory) {
32498 true ? factory(__webpack_require__(327)) :
32499 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
32500 factory(global.moment)
32501 }(this, (function (moment) { 'use strict';
32502
32503
32504 var eo = moment.defineLocale('eo', {
32505 months : 'januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro'.split('_'),
32506 monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aŭg_sep_okt_nov_dec'.split('_'),
32507 weekdays : 'dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato'.split('_'),
32508 weekdaysShort : 'dim_lun_mard_merk_ĵaŭ_ven_sab'.split('_'),
32509 weekdaysMin : 'di_lu_ma_me_ĵa_ve_sa'.split('_'),
32510 longDateFormat : {
32511 LT : 'HH:mm',
32512 LTS : 'HH:mm:ss',
32513 L : 'YYYY-MM-DD',
32514 LL : 'D[-a de] MMMM, YYYY',
32515 LLL : 'D[-a de] MMMM, YYYY HH:mm',
32516 LLLL : 'dddd, [la] D[-a de] MMMM, YYYY HH:mm'
32517 },
32518 meridiemParse: /[ap]\.t\.m/i,
32519 isPM: function (input) {
32520 return input.charAt(0).toLowerCase() === 'p';
32521 },
32522 meridiem : function (hours, minutes, isLower) {
32523 if (hours > 11) {
32524 return isLower ? 'p.t.m.' : 'P.T.M.';
32525 } else {
32526 return isLower ? 'a.t.m.' : 'A.T.M.';
32527 }
32528 },
32529 calendar : {
32530 sameDay : '[Hodiaŭ je] LT',
32531 nextDay : '[Morgaŭ je] LT',
32532 nextWeek : 'dddd [je] LT',
32533 lastDay : '[Hieraŭ je] LT',
32534 lastWeek : '[pasinta] dddd [je] LT',
32535 sameElse : 'L'
32536 },
32537 relativeTime : {
32538 future : 'post %s',
32539 past : 'antaŭ %s',
32540 s : 'sekundoj',
32541 ss : '%d sekundoj',
32542 m : 'minuto',
32543 mm : '%d minutoj',
32544 h : 'horo',
32545 hh : '%d horoj',
32546 d : 'tago',//ne 'diurno', ĉar estas uzita por proksimumo
32547 dd : '%d tagoj',
32548 M : 'monato',
32549 MM : '%d monatoj',
32550 y : 'jaro',
32551 yy : '%d jaroj'
32552 },
32553 dayOfMonthOrdinalParse: /\d{1,2}a/,
32554 ordinal : '%da',
32555 week : {
32556 dow : 1, // Monday is the first day of the week.
32557 doy : 7 // The week that contains Jan 1st is the first week of the year.
32558 }
32559 });
32560
32561 return eo;
32562
32563 })));
32564
32565
32566/***/ }),
32567/* 363 */
32568/***/ (function(module, exports, __webpack_require__) {
32569
32570 //! moment.js locale configuration
32571
32572 ;(function (global, factory) {
32573 true ? factory(__webpack_require__(327)) :
32574 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
32575 factory(global.moment)
32576 }(this, (function (moment) { 'use strict';
32577
32578
32579 var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),
32580 monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');
32581
32582 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];
32583 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;
32584
32585 var es = moment.defineLocale('es', {
32586 months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),
32587 monthsShort : function (m, format) {
32588 if (!m) {
32589 return monthsShortDot;
32590 } else if (/-MMM-/.test(format)) {
32591 return monthsShort[m.month()];
32592 } else {
32593 return monthsShortDot[m.month()];
32594 }
32595 },
32596 monthsRegex : monthsRegex,
32597 monthsShortRegex : monthsRegex,
32598 monthsStrictRegex : /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,
32599 monthsShortStrictRegex : /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,
32600 monthsParse : monthsParse,
32601 longMonthsParse : monthsParse,
32602 shortMonthsParse : monthsParse,
32603 weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),
32604 weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),
32605 weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'),
32606 weekdaysParseExact : true,
32607 longDateFormat : {
32608 LT : 'H:mm',
32609 LTS : 'H:mm:ss',
32610 L : 'DD/MM/YYYY',
32611 LL : 'D [de] MMMM [de] YYYY',
32612 LLL : 'D [de] MMMM [de] YYYY H:mm',
32613 LLLL : 'dddd, D [de] MMMM [de] YYYY H:mm'
32614 },
32615 calendar : {
32616 sameDay : function () {
32617 return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
32618 },
32619 nextDay : function () {
32620 return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
32621 },
32622 nextWeek : function () {
32623 return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
32624 },
32625 lastDay : function () {
32626 return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
32627 },
32628 lastWeek : function () {
32629 return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
32630 },
32631 sameElse : 'L'
32632 },
32633 relativeTime : {
32634 future : 'en %s',
32635 past : 'hace %s',
32636 s : 'unos segundos',
32637 ss : '%d segundos',
32638 m : 'un minuto',
32639 mm : '%d minutos',
32640 h : 'una hora',
32641 hh : '%d horas',
32642 d : 'un día',
32643 dd : '%d días',
32644 M : 'un mes',
32645 MM : '%d meses',
32646 y : 'un año',
32647 yy : '%d años'
32648 },
32649 dayOfMonthOrdinalParse : /\d{1,2}º/,
32650 ordinal : '%dº',
32651 week : {
32652 dow : 1, // Monday is the first day of the week.
32653 doy : 4 // The week that contains Jan 4th is the first week of the year.
32654 }
32655 });
32656
32657 return es;
32658
32659 })));
32660
32661
32662/***/ }),
32663/* 364 */
32664/***/ (function(module, exports, __webpack_require__) {
32665
32666 //! moment.js locale configuration
32667
32668 ;(function (global, factory) {
32669 true ? factory(__webpack_require__(327)) :
32670 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
32671 factory(global.moment)
32672 }(this, (function (moment) { 'use strict';
32673
32674
32675 var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),
32676 monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');
32677
32678 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];
32679 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;
32680
32681 var esDo = moment.defineLocale('es-do', {
32682 months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),
32683 monthsShort : function (m, format) {
32684 if (!m) {
32685 return monthsShortDot;
32686 } else if (/-MMM-/.test(format)) {
32687 return monthsShort[m.month()];
32688 } else {
32689 return monthsShortDot[m.month()];
32690 }
32691 },
32692 monthsRegex: monthsRegex,
32693 monthsShortRegex: monthsRegex,
32694 monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,
32695 monthsShortStrictRegex: /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,
32696 monthsParse: monthsParse,
32697 longMonthsParse: monthsParse,
32698 shortMonthsParse: monthsParse,
32699 weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),
32700 weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),
32701 weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'),
32702 weekdaysParseExact : true,
32703 longDateFormat : {
32704 LT : 'h:mm A',
32705 LTS : 'h:mm:ss A',
32706 L : 'DD/MM/YYYY',
32707 LL : 'D [de] MMMM [de] YYYY',
32708 LLL : 'D [de] MMMM [de] YYYY h:mm A',
32709 LLLL : 'dddd, D [de] MMMM [de] YYYY h:mm A'
32710 },
32711 calendar : {
32712 sameDay : function () {
32713 return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
32714 },
32715 nextDay : function () {
32716 return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
32717 },
32718 nextWeek : function () {
32719 return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
32720 },
32721 lastDay : function () {
32722 return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
32723 },
32724 lastWeek : function () {
32725 return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
32726 },
32727 sameElse : 'L'
32728 },
32729 relativeTime : {
32730 future : 'en %s',
32731 past : 'hace %s',
32732 s : 'unos segundos',
32733 ss : '%d segundos',
32734 m : 'un minuto',
32735 mm : '%d minutos',
32736 h : 'una hora',
32737 hh : '%d horas',
32738 d : 'un día',
32739 dd : '%d días',
32740 M : 'un mes',
32741 MM : '%d meses',
32742 y : 'un año',
32743 yy : '%d años'
32744 },
32745 dayOfMonthOrdinalParse : /\d{1,2}º/,
32746 ordinal : '%dº',
32747 week : {
32748 dow : 1, // Monday is the first day of the week.
32749 doy : 4 // The week that contains Jan 4th is the first week of the year.
32750 }
32751 });
32752
32753 return esDo;
32754
32755 })));
32756
32757
32758/***/ }),
32759/* 365 */
32760/***/ (function(module, exports, __webpack_require__) {
32761
32762 //! moment.js locale configuration
32763
32764 ;(function (global, factory) {
32765 true ? factory(__webpack_require__(327)) :
32766 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
32767 factory(global.moment)
32768 }(this, (function (moment) { 'use strict';
32769
32770
32771 var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),
32772 monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');
32773
32774 var esUs = moment.defineLocale('es-us', {
32775 months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),
32776 monthsShort : function (m, format) {
32777 if (!m) {
32778 return monthsShortDot;
32779 } else if (/-MMM-/.test(format)) {
32780 return monthsShort[m.month()];
32781 } else {
32782 return monthsShortDot[m.month()];
32783 }
32784 },
32785 monthsParseExact : true,
32786 weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),
32787 weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),
32788 weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'),
32789 weekdaysParseExact : true,
32790 longDateFormat : {
32791 LT : 'h:mm A',
32792 LTS : 'h:mm:ss A',
32793 L : 'MM/DD/YYYY',
32794 LL : 'MMMM [de] D [de] YYYY',
32795 LLL : 'MMMM [de] D [de] YYYY h:mm A',
32796 LLLL : 'dddd, MMMM [de] D [de] YYYY h:mm A'
32797 },
32798 calendar : {
32799 sameDay : function () {
32800 return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
32801 },
32802 nextDay : function () {
32803 return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
32804 },
32805 nextWeek : function () {
32806 return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
32807 },
32808 lastDay : function () {
32809 return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
32810 },
32811 lastWeek : function () {
32812 return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
32813 },
32814 sameElse : 'L'
32815 },
32816 relativeTime : {
32817 future : 'en %s',
32818 past : 'hace %s',
32819 s : 'unos segundos',
32820 ss : '%d segundos',
32821 m : 'un minuto',
32822 mm : '%d minutos',
32823 h : 'una hora',
32824 hh : '%d horas',
32825 d : 'un día',
32826 dd : '%d días',
32827 M : 'un mes',
32828 MM : '%d meses',
32829 y : 'un año',
32830 yy : '%d años'
32831 },
32832 dayOfMonthOrdinalParse : /\d{1,2}º/,
32833 ordinal : '%dº',
32834 week : {
32835 dow : 0, // Sunday is the first day of the week.
32836 doy : 6 // The week that contains Jan 1st is the first week of the year.
32837 }
32838 });
32839
32840 return esUs;
32841
32842 })));
32843
32844
32845/***/ }),
32846/* 366 */
32847/***/ (function(module, exports, __webpack_require__) {
32848
32849 //! moment.js locale configuration
32850
32851 ;(function (global, factory) {
32852 true ? factory(__webpack_require__(327)) :
32853 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
32854 factory(global.moment)
32855 }(this, (function (moment) { 'use strict';
32856
32857
32858 function processRelativeTime(number, withoutSuffix, key, isFuture) {
32859 var format = {
32860 's' : ['mõne sekundi', 'mõni sekund', 'paar sekundit'],
32861 'ss': [number + 'sekundi', number + 'sekundit'],
32862 'm' : ['ühe minuti', 'üks minut'],
32863 'mm': [number + ' minuti', number + ' minutit'],
32864 'h' : ['ühe tunni', 'tund aega', 'üks tund'],
32865 'hh': [number + ' tunni', number + ' tundi'],
32866 'd' : ['ühe päeva', 'üks päev'],
32867 'M' : ['kuu aja', 'kuu aega', 'üks kuu'],
32868 'MM': [number + ' kuu', number + ' kuud'],
32869 'y' : ['ühe aasta', 'aasta', 'üks aasta'],
32870 'yy': [number + ' aasta', number + ' aastat']
32871 };
32872 if (withoutSuffix) {
32873 return format[key][2] ? format[key][2] : format[key][1];
32874 }
32875 return isFuture ? format[key][0] : format[key][1];
32876 }
32877
32878 var et = moment.defineLocale('et', {
32879 months : 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split('_'),
32880 monthsShort : 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split('_'),
32881 weekdays : 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split('_'),
32882 weekdaysShort : 'P_E_T_K_N_R_L'.split('_'),
32883 weekdaysMin : 'P_E_T_K_N_R_L'.split('_'),
32884 longDateFormat : {
32885 LT : 'H:mm',
32886 LTS : 'H:mm:ss',
32887 L : 'DD.MM.YYYY',
32888 LL : 'D. MMMM YYYY',
32889 LLL : 'D. MMMM YYYY H:mm',
32890 LLLL : 'dddd, D. MMMM YYYY H:mm'
32891 },
32892 calendar : {
32893 sameDay : '[Täna,] LT',
32894 nextDay : '[Homme,] LT',
32895 nextWeek : '[Järgmine] dddd LT',
32896 lastDay : '[Eile,] LT',
32897 lastWeek : '[Eelmine] dddd LT',
32898 sameElse : 'L'
32899 },
32900 relativeTime : {
32901 future : '%s pärast',
32902 past : '%s tagasi',
32903 s : processRelativeTime,
32904 ss : processRelativeTime,
32905 m : processRelativeTime,
32906 mm : processRelativeTime,
32907 h : processRelativeTime,
32908 hh : processRelativeTime,
32909 d : processRelativeTime,
32910 dd : '%d päeva',
32911 M : processRelativeTime,
32912 MM : processRelativeTime,
32913 y : processRelativeTime,
32914 yy : processRelativeTime
32915 },
32916 dayOfMonthOrdinalParse: /\d{1,2}\./,
32917 ordinal : '%d.',
32918 week : {
32919 dow : 1, // Monday is the first day of the week.
32920 doy : 4 // The week that contains Jan 4th is the first week of the year.
32921 }
32922 });
32923
32924 return et;
32925
32926 })));
32927
32928
32929/***/ }),
32930/* 367 */
32931/***/ (function(module, exports, __webpack_require__) {
32932
32933 //! moment.js locale configuration
32934
32935 ;(function (global, factory) {
32936 true ? factory(__webpack_require__(327)) :
32937 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
32938 factory(global.moment)
32939 }(this, (function (moment) { 'use strict';
32940
32941
32942 var eu = moment.defineLocale('eu', {
32943 months : 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split('_'),
32944 monthsShort : 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split('_'),
32945 monthsParseExact : true,
32946 weekdays : 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split('_'),
32947 weekdaysShort : 'ig._al._ar._az._og._ol._lr.'.split('_'),
32948 weekdaysMin : 'ig_al_ar_az_og_ol_lr'.split('_'),
32949 weekdaysParseExact : true,
32950 longDateFormat : {
32951 LT : 'HH:mm',
32952 LTS : 'HH:mm:ss',
32953 L : 'YYYY-MM-DD',
32954 LL : 'YYYY[ko] MMMM[ren] D[a]',
32955 LLL : 'YYYY[ko] MMMM[ren] D[a] HH:mm',
32956 LLLL : 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm',
32957 l : 'YYYY-M-D',
32958 ll : 'YYYY[ko] MMM D[a]',
32959 lll : 'YYYY[ko] MMM D[a] HH:mm',
32960 llll : 'ddd, YYYY[ko] MMM D[a] HH:mm'
32961 },
32962 calendar : {
32963 sameDay : '[gaur] LT[etan]',
32964 nextDay : '[bihar] LT[etan]',
32965 nextWeek : 'dddd LT[etan]',
32966 lastDay : '[atzo] LT[etan]',
32967 lastWeek : '[aurreko] dddd LT[etan]',
32968 sameElse : 'L'
32969 },
32970 relativeTime : {
32971 future : '%s barru',
32972 past : 'duela %s',
32973 s : 'segundo batzuk',
32974 ss : '%d segundo',
32975 m : 'minutu bat',
32976 mm : '%d minutu',
32977 h : 'ordu bat',
32978 hh : '%d ordu',
32979 d : 'egun bat',
32980 dd : '%d egun',
32981 M : 'hilabete bat',
32982 MM : '%d hilabete',
32983 y : 'urte bat',
32984 yy : '%d urte'
32985 },
32986 dayOfMonthOrdinalParse: /\d{1,2}\./,
32987 ordinal : '%d.',
32988 week : {
32989 dow : 1, // Monday is the first day of the week.
32990 doy : 7 // The week that contains Jan 1st is the first week of the year.
32991 }
32992 });
32993
32994 return eu;
32995
32996 })));
32997
32998
32999/***/ }),
33000/* 368 */
33001/***/ (function(module, exports, __webpack_require__) {
33002
33003 //! moment.js locale configuration
33004
33005 ;(function (global, factory) {
33006 true ? factory(__webpack_require__(327)) :
33007 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
33008 factory(global.moment)
33009 }(this, (function (moment) { 'use strict';
33010
33011
33012 var symbolMap = {
33013 '1': '۱',
33014 '2': '۲',
33015 '3': '۳',
33016 '4': '۴',
33017 '5': '۵',
33018 '6': '۶',
33019 '7': '۷',
33020 '8': '۸',
33021 '9': '۹',
33022 '0': '۰'
33023 }, numberMap = {
33024 '۱': '1',
33025 '۲': '2',
33026 '۳': '3',
33027 '۴': '4',
33028 '۵': '5',
33029 '۶': '6',
33030 '۷': '7',
33031 '۸': '8',
33032 '۹': '9',
33033 '۰': '0'
33034 };
33035
33036 var fa = moment.defineLocale('fa', {
33037 months : 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),
33038 monthsShort : 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),
33039 weekdays : 'یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه'.split('_'),
33040 weekdaysShort : 'یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه'.split('_'),
33041 weekdaysMin : 'ی_د_س_چ_پ_ج_ش'.split('_'),
33042 weekdaysParseExact : true,
33043 longDateFormat : {
33044 LT : 'HH:mm',
33045 LTS : 'HH:mm:ss',
33046 L : 'DD/MM/YYYY',
33047 LL : 'D MMMM YYYY',
33048 LLL : 'D MMMM YYYY HH:mm',
33049 LLLL : 'dddd, D MMMM YYYY HH:mm'
33050 },
33051 meridiemParse: /قبل از ظهر|بعد از ظهر/,
33052 isPM: function (input) {
33053 return /بعد از ظهر/.test(input);
33054 },
33055 meridiem : function (hour, minute, isLower) {
33056 if (hour < 12) {
33057 return 'قبل از ظهر';
33058 } else {
33059 return 'بعد از ظهر';
33060 }
33061 },
33062 calendar : {
33063 sameDay : '[امروز ساعت] LT',
33064 nextDay : '[فردا ساعت] LT',
33065 nextWeek : 'dddd [ساعت] LT',
33066 lastDay : '[دیروز ساعت] LT',
33067 lastWeek : 'dddd [پیش] [ساعت] LT',
33068 sameElse : 'L'
33069 },
33070 relativeTime : {
33071 future : 'در %s',
33072 past : '%s پیش',
33073 s : 'چند ثانیه',
33074 ss : 'ثانیه d%',
33075 m : 'یک دقیقه',
33076 mm : '%d دقیقه',
33077 h : 'یک ساعت',
33078 hh : '%d ساعت',
33079 d : 'یک روز',
33080 dd : '%d روز',
33081 M : 'یک ماه',
33082 MM : '%d ماه',
33083 y : 'یک سال',
33084 yy : '%d سال'
33085 },
33086 preparse: function (string) {
33087 return string.replace(/[۰-۹]/g, function (match) {
33088 return numberMap[match];
33089 }).replace(/،/g, ',');
33090 },
33091 postformat: function (string) {
33092 return string.replace(/\d/g, function (match) {
33093 return symbolMap[match];
33094 }).replace(/,/g, '،');
33095 },
33096 dayOfMonthOrdinalParse: /\d{1,2}م/,
33097 ordinal : '%dم',
33098 week : {
33099 dow : 6, // Saturday is the first day of the week.
33100 doy : 12 // The week that contains Jan 1st is the first week of the year.
33101 }
33102 });
33103
33104 return fa;
33105
33106 })));
33107
33108
33109/***/ }),
33110/* 369 */
33111/***/ (function(module, exports, __webpack_require__) {
33112
33113 //! moment.js locale configuration
33114
33115 ;(function (global, factory) {
33116 true ? factory(__webpack_require__(327)) :
33117 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
33118 factory(global.moment)
33119 }(this, (function (moment) { 'use strict';
33120
33121
33122 var numbersPast = 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(' '),
33123 numbersFuture = [
33124 'nolla', 'yhden', 'kahden', 'kolmen', 'neljän', 'viiden', 'kuuden',
33125 numbersPast[7], numbersPast[8], numbersPast[9]
33126 ];
33127 function translate(number, withoutSuffix, key, isFuture) {
33128 var result = '';
33129 switch (key) {
33130 case 's':
33131 return isFuture ? 'muutaman sekunnin' : 'muutama sekunti';
33132 case 'ss':
33133 return isFuture ? 'sekunnin' : 'sekuntia';
33134 case 'm':
33135 return isFuture ? 'minuutin' : 'minuutti';
33136 case 'mm':
33137 result = isFuture ? 'minuutin' : 'minuuttia';
33138 break;
33139 case 'h':
33140 return isFuture ? 'tunnin' : 'tunti';
33141 case 'hh':
33142 result = isFuture ? 'tunnin' : 'tuntia';
33143 break;
33144 case 'd':
33145 return isFuture ? 'päivän' : 'päivä';
33146 case 'dd':
33147 result = isFuture ? 'päivän' : 'päivää';
33148 break;
33149 case 'M':
33150 return isFuture ? 'kuukauden' : 'kuukausi';
33151 case 'MM':
33152 result = isFuture ? 'kuukauden' : 'kuukautta';
33153 break;
33154 case 'y':
33155 return isFuture ? 'vuoden' : 'vuosi';
33156 case 'yy':
33157 result = isFuture ? 'vuoden' : 'vuotta';
33158 break;
33159 }
33160 result = verbalNumber(number, isFuture) + ' ' + result;
33161 return result;
33162 }
33163 function verbalNumber(number, isFuture) {
33164 return number < 10 ? (isFuture ? numbersFuture[number] : numbersPast[number]) : number;
33165 }
33166
33167 var fi = moment.defineLocale('fi', {
33168 months : 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split('_'),
33169 monthsShort : 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split('_'),
33170 weekdays : 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split('_'),
33171 weekdaysShort : 'su_ma_ti_ke_to_pe_la'.split('_'),
33172 weekdaysMin : 'su_ma_ti_ke_to_pe_la'.split('_'),
33173 longDateFormat : {
33174 LT : 'HH.mm',
33175 LTS : 'HH.mm.ss',
33176 L : 'DD.MM.YYYY',
33177 LL : 'Do MMMM[ta] YYYY',
33178 LLL : 'Do MMMM[ta] YYYY, [klo] HH.mm',
33179 LLLL : 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm',
33180 l : 'D.M.YYYY',
33181 ll : 'Do MMM YYYY',
33182 lll : 'Do MMM YYYY, [klo] HH.mm',
33183 llll : 'ddd, Do MMM YYYY, [klo] HH.mm'
33184 },
33185 calendar : {
33186 sameDay : '[tänään] [klo] LT',
33187 nextDay : '[huomenna] [klo] LT',
33188 nextWeek : 'dddd [klo] LT',
33189 lastDay : '[eilen] [klo] LT',
33190 lastWeek : '[viime] dddd[na] [klo] LT',
33191 sameElse : 'L'
33192 },
33193 relativeTime : {
33194 future : '%s päästä',
33195 past : '%s sitten',
33196 s : translate,
33197 ss : translate,
33198 m : translate,
33199 mm : translate,
33200 h : translate,
33201 hh : translate,
33202 d : translate,
33203 dd : translate,
33204 M : translate,
33205 MM : translate,
33206 y : translate,
33207 yy : translate
33208 },
33209 dayOfMonthOrdinalParse: /\d{1,2}\./,
33210 ordinal : '%d.',
33211 week : {
33212 dow : 1, // Monday is the first day of the week.
33213 doy : 4 // The week that contains Jan 4th is the first week of the year.
33214 }
33215 });
33216
33217 return fi;
33218
33219 })));
33220
33221
33222/***/ }),
33223/* 370 */
33224/***/ (function(module, exports, __webpack_require__) {
33225
33226 //! moment.js locale configuration
33227
33228 ;(function (global, factory) {
33229 true ? factory(__webpack_require__(327)) :
33230 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
33231 factory(global.moment)
33232 }(this, (function (moment) { 'use strict';
33233
33234
33235 var fo = moment.defineLocale('fo', {
33236 months : 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split('_'),
33237 monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),
33238 weekdays : 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split('_'),
33239 weekdaysShort : 'sun_mán_týs_mik_hós_frí_ley'.split('_'),
33240 weekdaysMin : 'su_má_tý_mi_hó_fr_le'.split('_'),
33241 longDateFormat : {
33242 LT : 'HH:mm',
33243 LTS : 'HH:mm:ss',
33244 L : 'DD/MM/YYYY',
33245 LL : 'D MMMM YYYY',
33246 LLL : 'D MMMM YYYY HH:mm',
33247 LLLL : 'dddd D. MMMM, YYYY HH:mm'
33248 },
33249 calendar : {
33250 sameDay : '[Í dag kl.] LT',
33251 nextDay : '[Í morgin kl.] LT',
33252 nextWeek : 'dddd [kl.] LT',
33253 lastDay : '[Í gjár kl.] LT',
33254 lastWeek : '[síðstu] dddd [kl] LT',
33255 sameElse : 'L'
33256 },
33257 relativeTime : {
33258 future : 'um %s',
33259 past : '%s síðani',
33260 s : 'fá sekund',
33261 ss : '%d sekundir',
33262 m : 'ein minutt',
33263 mm : '%d minuttir',
33264 h : 'ein tími',
33265 hh : '%d tímar',
33266 d : 'ein dagur',
33267 dd : '%d dagar',
33268 M : 'ein mánaði',
33269 MM : '%d mánaðir',
33270 y : 'eitt ár',
33271 yy : '%d ár'
33272 },
33273 dayOfMonthOrdinalParse: /\d{1,2}\./,
33274 ordinal : '%d.',
33275 week : {
33276 dow : 1, // Monday is the first day of the week.
33277 doy : 4 // The week that contains Jan 4th is the first week of the year.
33278 }
33279 });
33280
33281 return fo;
33282
33283 })));
33284
33285
33286/***/ }),
33287/* 371 */
33288/***/ (function(module, exports, __webpack_require__) {
33289
33290 //! moment.js locale configuration
33291
33292 ;(function (global, factory) {
33293 true ? factory(__webpack_require__(327)) :
33294 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
33295 factory(global.moment)
33296 }(this, (function (moment) { 'use strict';
33297
33298
33299 var fr = moment.defineLocale('fr', {
33300 months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),
33301 monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),
33302 monthsParseExact : true,
33303 weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),
33304 weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),
33305 weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'),
33306 weekdaysParseExact : true,
33307 longDateFormat : {
33308 LT : 'HH:mm',
33309 LTS : 'HH:mm:ss',
33310 L : 'DD/MM/YYYY',
33311 LL : 'D MMMM YYYY',
33312 LLL : 'D MMMM YYYY HH:mm',
33313 LLLL : 'dddd D MMMM YYYY HH:mm'
33314 },
33315 calendar : {
33316 sameDay : '[Aujourd’hui à] LT',
33317 nextDay : '[Demain à] LT',
33318 nextWeek : 'dddd [à] LT',
33319 lastDay : '[Hier à] LT',
33320 lastWeek : 'dddd [dernier à] LT',
33321 sameElse : 'L'
33322 },
33323 relativeTime : {
33324 future : 'dans %s',
33325 past : 'il y a %s',
33326 s : 'quelques secondes',
33327 ss : '%d secondes',
33328 m : 'une minute',
33329 mm : '%d minutes',
33330 h : 'une heure',
33331 hh : '%d heures',
33332 d : 'un jour',
33333 dd : '%d jours',
33334 M : 'un mois',
33335 MM : '%d mois',
33336 y : 'un an',
33337 yy : '%d ans'
33338 },
33339 dayOfMonthOrdinalParse: /\d{1,2}(er|)/,
33340 ordinal : function (number, period) {
33341 switch (period) {
33342 // TODO: Return 'e' when day of month > 1. Move this case inside
33343 // block for masculine words below.
33344 // See https://github.com/moment/moment/issues/3375
33345 case 'D':
33346 return number + (number === 1 ? 'er' : '');
33347
33348 // Words with masculine grammatical gender: mois, trimestre, jour
33349 default:
33350 case 'M':
33351 case 'Q':
33352 case 'DDD':
33353 case 'd':
33354 return number + (number === 1 ? 'er' : 'e');
33355
33356 // Words with feminine grammatical gender: semaine
33357 case 'w':
33358 case 'W':
33359 return number + (number === 1 ? 're' : 'e');
33360 }
33361 },
33362 week : {
33363 dow : 1, // Monday is the first day of the week.
33364 doy : 4 // The week that contains Jan 4th is the first week of the year.
33365 }
33366 });
33367
33368 return fr;
33369
33370 })));
33371
33372
33373/***/ }),
33374/* 372 */
33375/***/ (function(module, exports, __webpack_require__) {
33376
33377 //! moment.js locale configuration
33378
33379 ;(function (global, factory) {
33380 true ? factory(__webpack_require__(327)) :
33381 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
33382 factory(global.moment)
33383 }(this, (function (moment) { 'use strict';
33384
33385
33386 var frCa = moment.defineLocale('fr-ca', {
33387 months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),
33388 monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),
33389 monthsParseExact : true,
33390 weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),
33391 weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),
33392 weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'),
33393 weekdaysParseExact : true,
33394 longDateFormat : {
33395 LT : 'HH:mm',
33396 LTS : 'HH:mm:ss',
33397 L : 'YYYY-MM-DD',
33398 LL : 'D MMMM YYYY',
33399 LLL : 'D MMMM YYYY HH:mm',
33400 LLLL : 'dddd D MMMM YYYY HH:mm'
33401 },
33402 calendar : {
33403 sameDay : '[Aujourd’hui à] LT',
33404 nextDay : '[Demain à] LT',
33405 nextWeek : 'dddd [à] LT',
33406 lastDay : '[Hier à] LT',
33407 lastWeek : 'dddd [dernier à] LT',
33408 sameElse : 'L'
33409 },
33410 relativeTime : {
33411 future : 'dans %s',
33412 past : 'il y a %s',
33413 s : 'quelques secondes',
33414 ss : '%d secondes',
33415 m : 'une minute',
33416 mm : '%d minutes',
33417 h : 'une heure',
33418 hh : '%d heures',
33419 d : 'un jour',
33420 dd : '%d jours',
33421 M : 'un mois',
33422 MM : '%d mois',
33423 y : 'un an',
33424 yy : '%d ans'
33425 },
33426 dayOfMonthOrdinalParse: /\d{1,2}(er|e)/,
33427 ordinal : function (number, period) {
33428 switch (period) {
33429 // Words with masculine grammatical gender: mois, trimestre, jour
33430 default:
33431 case 'M':
33432 case 'Q':
33433 case 'D':
33434 case 'DDD':
33435 case 'd':
33436 return number + (number === 1 ? 'er' : 'e');
33437
33438 // Words with feminine grammatical gender: semaine
33439 case 'w':
33440 case 'W':
33441 return number + (number === 1 ? 're' : 'e');
33442 }
33443 }
33444 });
33445
33446 return frCa;
33447
33448 })));
33449
33450
33451/***/ }),
33452/* 373 */
33453/***/ (function(module, exports, __webpack_require__) {
33454
33455 //! moment.js locale configuration
33456
33457 ;(function (global, factory) {
33458 true ? factory(__webpack_require__(327)) :
33459 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
33460 factory(global.moment)
33461 }(this, (function (moment) { 'use strict';
33462
33463
33464 var frCh = moment.defineLocale('fr-ch', {
33465 months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),
33466 monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),
33467 monthsParseExact : true,
33468 weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),
33469 weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),
33470 weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'),
33471 weekdaysParseExact : true,
33472 longDateFormat : {
33473 LT : 'HH:mm',
33474 LTS : 'HH:mm:ss',
33475 L : 'DD.MM.YYYY',
33476 LL : 'D MMMM YYYY',
33477 LLL : 'D MMMM YYYY HH:mm',
33478 LLLL : 'dddd D MMMM YYYY HH:mm'
33479 },
33480 calendar : {
33481 sameDay : '[Aujourd’hui à] LT',
33482 nextDay : '[Demain à] LT',
33483 nextWeek : 'dddd [à] LT',
33484 lastDay : '[Hier à] LT',
33485 lastWeek : 'dddd [dernier à] LT',
33486 sameElse : 'L'
33487 },
33488 relativeTime : {
33489 future : 'dans %s',
33490 past : 'il y a %s',
33491 s : 'quelques secondes',
33492 ss : '%d secondes',
33493 m : 'une minute',
33494 mm : '%d minutes',
33495 h : 'une heure',
33496 hh : '%d heures',
33497 d : 'un jour',
33498 dd : '%d jours',
33499 M : 'un mois',
33500 MM : '%d mois',
33501 y : 'un an',
33502 yy : '%d ans'
33503 },
33504 dayOfMonthOrdinalParse: /\d{1,2}(er|e)/,
33505 ordinal : function (number, period) {
33506 switch (period) {
33507 // Words with masculine grammatical gender: mois, trimestre, jour
33508 default:
33509 case 'M':
33510 case 'Q':
33511 case 'D':
33512 case 'DDD':
33513 case 'd':
33514 return number + (number === 1 ? 'er' : 'e');
33515
33516 // Words with feminine grammatical gender: semaine
33517 case 'w':
33518 case 'W':
33519 return number + (number === 1 ? 're' : 'e');
33520 }
33521 },
33522 week : {
33523 dow : 1, // Monday is the first day of the week.
33524 doy : 4 // The week that contains Jan 4th is the first week of the year.
33525 }
33526 });
33527
33528 return frCh;
33529
33530 })));
33531
33532
33533/***/ }),
33534/* 374 */
33535/***/ (function(module, exports, __webpack_require__) {
33536
33537 //! moment.js locale configuration
33538
33539 ;(function (global, factory) {
33540 true ? factory(__webpack_require__(327)) :
33541 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
33542 factory(global.moment)
33543 }(this, (function (moment) { 'use strict';
33544
33545
33546 var monthsShortWithDots = 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split('_'),
33547 monthsShortWithoutDots = 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_');
33548
33549 var fy = moment.defineLocale('fy', {
33550 months : 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split('_'),
33551 monthsShort : function (m, format) {
33552 if (!m) {
33553 return monthsShortWithDots;
33554 } else if (/-MMM-/.test(format)) {
33555 return monthsShortWithoutDots[m.month()];
33556 } else {
33557 return monthsShortWithDots[m.month()];
33558 }
33559 },
33560 monthsParseExact : true,
33561 weekdays : 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split('_'),
33562 weekdaysShort : 'si._mo._ti._wo._to._fr._so.'.split('_'),
33563 weekdaysMin : 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'),
33564 weekdaysParseExact : true,
33565 longDateFormat : {
33566 LT : 'HH:mm',
33567 LTS : 'HH:mm:ss',
33568 L : 'DD-MM-YYYY',
33569 LL : 'D MMMM YYYY',
33570 LLL : 'D MMMM YYYY HH:mm',
33571 LLLL : 'dddd D MMMM YYYY HH:mm'
33572 },
33573 calendar : {
33574 sameDay: '[hjoed om] LT',
33575 nextDay: '[moarn om] LT',
33576 nextWeek: 'dddd [om] LT',
33577 lastDay: '[juster om] LT',
33578 lastWeek: '[ôfrûne] dddd [om] LT',
33579 sameElse: 'L'
33580 },
33581 relativeTime : {
33582 future : 'oer %s',
33583 past : '%s lyn',
33584 s : 'in pear sekonden',
33585 ss : '%d sekonden',
33586 m : 'ien minút',
33587 mm : '%d minuten',
33588 h : 'ien oere',
33589 hh : '%d oeren',
33590 d : 'ien dei',
33591 dd : '%d dagen',
33592 M : 'ien moanne',
33593 MM : '%d moannen',
33594 y : 'ien jier',
33595 yy : '%d jierren'
33596 },
33597 dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/,
33598 ordinal : function (number) {
33599 return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');
33600 },
33601 week : {
33602 dow : 1, // Monday is the first day of the week.
33603 doy : 4 // The week that contains Jan 4th is the first week of the year.
33604 }
33605 });
33606
33607 return fy;
33608
33609 })));
33610
33611
33612/***/ }),
33613/* 375 */
33614/***/ (function(module, exports, __webpack_require__) {
33615
33616 //! moment.js locale configuration
33617
33618 ;(function (global, factory) {
33619 true ? factory(__webpack_require__(327)) :
33620 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
33621 factory(global.moment)
33622 }(this, (function (moment) { 'use strict';
33623
33624
33625 var months = [
33626 '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'
33627 ];
33628
33629 var monthsShort = ['Faoi', 'Gear', 'Màrt', 'Gibl', 'Cèit', 'Ògmh', 'Iuch', 'Lùn', 'Sult', 'Dàmh', 'Samh', 'Dùbh'];
33630
33631 var weekdays = ['Didòmhnaich', 'Diluain', 'Dimàirt', 'Diciadain', 'Diardaoin', 'Dihaoine', 'Disathairne'];
33632
33633 var weekdaysShort = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'];
33634
33635 var weekdaysMin = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa'];
33636
33637 var gd = moment.defineLocale('gd', {
33638 months : months,
33639 monthsShort : monthsShort,
33640 monthsParseExact : true,
33641 weekdays : weekdays,
33642 weekdaysShort : weekdaysShort,
33643 weekdaysMin : weekdaysMin,
33644 longDateFormat : {
33645 LT : 'HH:mm',
33646 LTS : 'HH:mm:ss',
33647 L : 'DD/MM/YYYY',
33648 LL : 'D MMMM YYYY',
33649 LLL : 'D MMMM YYYY HH:mm',
33650 LLLL : 'dddd, D MMMM YYYY HH:mm'
33651 },
33652 calendar : {
33653 sameDay : '[An-diugh aig] LT',
33654 nextDay : '[A-màireach aig] LT',
33655 nextWeek : 'dddd [aig] LT',
33656 lastDay : '[An-dè aig] LT',
33657 lastWeek : 'dddd [seo chaidh] [aig] LT',
33658 sameElse : 'L'
33659 },
33660 relativeTime : {
33661 future : 'ann an %s',
33662 past : 'bho chionn %s',
33663 s : 'beagan diogan',
33664 ss : '%d diogan',
33665 m : 'mionaid',
33666 mm : '%d mionaidean',
33667 h : 'uair',
33668 hh : '%d uairean',
33669 d : 'latha',
33670 dd : '%d latha',
33671 M : 'mìos',
33672 MM : '%d mìosan',
33673 y : 'bliadhna',
33674 yy : '%d bliadhna'
33675 },
33676 dayOfMonthOrdinalParse : /\d{1,2}(d|na|mh)/,
33677 ordinal : function (number) {
33678 var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';
33679 return number + output;
33680 },
33681 week : {
33682 dow : 1, // Monday is the first day of the week.
33683 doy : 4 // The week that contains Jan 4th is the first week of the year.
33684 }
33685 });
33686
33687 return gd;
33688
33689 })));
33690
33691
33692/***/ }),
33693/* 376 */
33694/***/ (function(module, exports, __webpack_require__) {
33695
33696 //! moment.js locale configuration
33697
33698 ;(function (global, factory) {
33699 true ? factory(__webpack_require__(327)) :
33700 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
33701 factory(global.moment)
33702 }(this, (function (moment) { 'use strict';
33703
33704
33705 var gl = moment.defineLocale('gl', {
33706 months : 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split('_'),
33707 monthsShort : 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split('_'),
33708 monthsParseExact: true,
33709 weekdays : 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'),
33710 weekdaysShort : 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'),
33711 weekdaysMin : 'do_lu_ma_mé_xo_ve_sá'.split('_'),
33712 weekdaysParseExact : true,
33713 longDateFormat : {
33714 LT : 'H:mm',
33715 LTS : 'H:mm:ss',
33716 L : 'DD/MM/YYYY',
33717 LL : 'D [de] MMMM [de] YYYY',
33718 LLL : 'D [de] MMMM [de] YYYY H:mm',
33719 LLLL : 'dddd, D [de] MMMM [de] YYYY H:mm'
33720 },
33721 calendar : {
33722 sameDay : function () {
33723 return '[hoxe ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT';
33724 },
33725 nextDay : function () {
33726 return '[mañá ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT';
33727 },
33728 nextWeek : function () {
33729 return 'dddd [' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT';
33730 },
33731 lastDay : function () {
33732 return '[onte ' + ((this.hours() !== 1) ? 'á' : 'a') + '] LT';
33733 },
33734 lastWeek : function () {
33735 return '[o] dddd [pasado ' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT';
33736 },
33737 sameElse : 'L'
33738 },
33739 relativeTime : {
33740 future : function (str) {
33741 if (str.indexOf('un') === 0) {
33742 return 'n' + str;
33743 }
33744 return 'en ' + str;
33745 },
33746 past : 'hai %s',
33747 s : 'uns segundos',
33748 ss : '%d segundos',
33749 m : 'un minuto',
33750 mm : '%d minutos',
33751 h : 'unha hora',
33752 hh : '%d horas',
33753 d : 'un día',
33754 dd : '%d días',
33755 M : 'un mes',
33756 MM : '%d meses',
33757 y : 'un ano',
33758 yy : '%d anos'
33759 },
33760 dayOfMonthOrdinalParse : /\d{1,2}º/,
33761 ordinal : '%dº',
33762 week : {
33763 dow : 1, // Monday is the first day of the week.
33764 doy : 4 // The week that contains Jan 4th is the first week of the year.
33765 }
33766 });
33767
33768 return gl;
33769
33770 })));
33771
33772
33773/***/ }),
33774/* 377 */
33775/***/ (function(module, exports, __webpack_require__) {
33776
33777 //! moment.js locale configuration
33778
33779 ;(function (global, factory) {
33780 true ? factory(__webpack_require__(327)) :
33781 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
33782 factory(global.moment)
33783 }(this, (function (moment) { 'use strict';
33784
33785
33786 function processRelativeTime(number, withoutSuffix, key, isFuture) {
33787 var format = {
33788 's': ['thodde secondanim', 'thodde second'],
33789 'ss': [number + ' secondanim', number + ' second'],
33790 'm': ['eka mintan', 'ek minute'],
33791 'mm': [number + ' mintanim', number + ' mintam'],
33792 'h': ['eka horan', 'ek hor'],
33793 'hh': [number + ' horanim', number + ' horam'],
33794 'd': ['eka disan', 'ek dis'],
33795 'dd': [number + ' disanim', number + ' dis'],
33796 'M': ['eka mhoinean', 'ek mhoino'],
33797 'MM': [number + ' mhoineanim', number + ' mhoine'],
33798 'y': ['eka vorsan', 'ek voros'],
33799 'yy': [number + ' vorsanim', number + ' vorsam']
33800 };
33801 return withoutSuffix ? format[key][0] : format[key][1];
33802 }
33803
33804 var gomLatn = moment.defineLocale('gom-latn', {
33805 months : 'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split('_'),
33806 monthsShort : 'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split('_'),
33807 monthsParseExact : true,
33808 weekdays : 'Aitar_Somar_Mongllar_Budvar_Brestar_Sukrar_Son\'var'.split('_'),
33809 weekdaysShort : 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'),
33810 weekdaysMin : 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'),
33811 weekdaysParseExact : true,
33812 longDateFormat : {
33813 LT : 'A h:mm [vazta]',
33814 LTS : 'A h:mm:ss [vazta]',
33815 L : 'DD-MM-YYYY',
33816 LL : 'D MMMM YYYY',
33817 LLL : 'D MMMM YYYY A h:mm [vazta]',
33818 LLLL : 'dddd, MMMM[achea] Do, YYYY, A h:mm [vazta]',
33819 llll: 'ddd, D MMM YYYY, A h:mm [vazta]'
33820 },
33821 calendar : {
33822 sameDay: '[Aiz] LT',
33823 nextDay: '[Faleam] LT',
33824 nextWeek: '[Ieta to] dddd[,] LT',
33825 lastDay: '[Kal] LT',
33826 lastWeek: '[Fatlo] dddd[,] LT',
33827 sameElse: 'L'
33828 },
33829 relativeTime : {
33830 future : '%s',
33831 past : '%s adim',
33832 s : processRelativeTime,
33833 ss : processRelativeTime,
33834 m : processRelativeTime,
33835 mm : processRelativeTime,
33836 h : processRelativeTime,
33837 hh : processRelativeTime,
33838 d : processRelativeTime,
33839 dd : processRelativeTime,
33840 M : processRelativeTime,
33841 MM : processRelativeTime,
33842 y : processRelativeTime,
33843 yy : processRelativeTime
33844 },
33845 dayOfMonthOrdinalParse : /\d{1,2}(er)/,
33846 ordinal : function (number, period) {
33847 switch (period) {
33848 // the ordinal 'er' only applies to day of the month
33849 case 'D':
33850 return number + 'er';
33851 default:
33852 case 'M':
33853 case 'Q':
33854 case 'DDD':
33855 case 'd':
33856 case 'w':
33857 case 'W':
33858 return number;
33859 }
33860 },
33861 week : {
33862 dow : 1, // Monday is the first day of the week.
33863 doy : 4 // The week that contains Jan 4th is the first week of the year.
33864 },
33865 meridiemParse: /rati|sokalli|donparam|sanje/,
33866 meridiemHour : function (hour, meridiem) {
33867 if (hour === 12) {
33868 hour = 0;
33869 }
33870 if (meridiem === 'rati') {
33871 return hour < 4 ? hour : hour + 12;
33872 } else if (meridiem === 'sokalli') {
33873 return hour;
33874 } else if (meridiem === 'donparam') {
33875 return hour > 12 ? hour : hour + 12;
33876 } else if (meridiem === 'sanje') {
33877 return hour + 12;
33878 }
33879 },
33880 meridiem : function (hour, minute, isLower) {
33881 if (hour < 4) {
33882 return 'rati';
33883 } else if (hour < 12) {
33884 return 'sokalli';
33885 } else if (hour < 16) {
33886 return 'donparam';
33887 } else if (hour < 20) {
33888 return 'sanje';
33889 } else {
33890 return 'rati';
33891 }
33892 }
33893 });
33894
33895 return gomLatn;
33896
33897 })));
33898
33899
33900/***/ }),
33901/* 378 */
33902/***/ (function(module, exports, __webpack_require__) {
33903
33904 //! moment.js locale configuration
33905
33906 ;(function (global, factory) {
33907 true ? factory(__webpack_require__(327)) :
33908 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
33909 factory(global.moment)
33910 }(this, (function (moment) { 'use strict';
33911
33912
33913 var symbolMap = {
33914 '1': '૧',
33915 '2': '૨',
33916 '3': '૩',
33917 '4': '૪',
33918 '5': '૫',
33919 '6': '૬',
33920 '7': '૭',
33921 '8': '૮',
33922 '9': '૯',
33923 '0': '૦'
33924 },
33925 numberMap = {
33926 '૧': '1',
33927 '૨': '2',
33928 '૩': '3',
33929 '૪': '4',
33930 '૫': '5',
33931 '૬': '6',
33932 '૭': '7',
33933 '૮': '8',
33934 '૯': '9',
33935 '૦': '0'
33936 };
33937
33938 var gu = moment.defineLocale('gu', {
33939 months: 'જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર'.split('_'),
33940 monthsShort: 'જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.'.split('_'),
33941 monthsParseExact: true,
33942 weekdays: 'રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર'.split('_'),
33943 weekdaysShort: 'રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ'.split('_'),
33944 weekdaysMin: 'ર_સો_મં_બુ_ગુ_શુ_શ'.split('_'),
33945 longDateFormat: {
33946 LT: 'A h:mm વાગ્યે',
33947 LTS: 'A h:mm:ss વાગ્યે',
33948 L: 'DD/MM/YYYY',
33949 LL: 'D MMMM YYYY',
33950 LLL: 'D MMMM YYYY, A h:mm વાગ્યે',
33951 LLLL: 'dddd, D MMMM YYYY, A h:mm વાગ્યે'
33952 },
33953 calendar: {
33954 sameDay: '[આજ] LT',
33955 nextDay: '[કાલે] LT',
33956 nextWeek: 'dddd, LT',
33957 lastDay: '[ગઇકાલે] LT',
33958 lastWeek: '[પાછલા] dddd, LT',
33959 sameElse: 'L'
33960 },
33961 relativeTime: {
33962 future: '%s મા',
33963 past: '%s પેહલા',
33964 s: 'અમુક પળો',
33965 ss: '%d સેકંડ',
33966 m: 'એક મિનિટ',
33967 mm: '%d મિનિટ',
33968 h: 'એક કલાક',
33969 hh: '%d કલાક',
33970 d: 'એક દિવસ',
33971 dd: '%d દિવસ',
33972 M: 'એક મહિનો',
33973 MM: '%d મહિનો',
33974 y: 'એક વર્ષ',
33975 yy: '%d વર્ષ'
33976 },
33977 preparse: function (string) {
33978 return string.replace(/[૧૨૩૪૫૬૭૮૯૦]/g, function (match) {
33979 return numberMap[match];
33980 });
33981 },
33982 postformat: function (string) {
33983 return string.replace(/\d/g, function (match) {
33984 return symbolMap[match];
33985 });
33986 },
33987 // Gujarati notation for meridiems are quite fuzzy in practice. While there exists
33988 // a rigid notion of a 'Pahar' it is not used as rigidly in modern Gujarati.
33989 meridiemParse: /રાત|બપોર|સવાર|સાંજ/,
33990 meridiemHour: function (hour, meridiem) {
33991 if (hour === 12) {
33992 hour = 0;
33993 }
33994 if (meridiem === 'રાત') {
33995 return hour < 4 ? hour : hour + 12;
33996 } else if (meridiem === 'સવાર') {
33997 return hour;
33998 } else if (meridiem === 'બપોર') {
33999 return hour >= 10 ? hour : hour + 12;
34000 } else if (meridiem === 'સાંજ') {
34001 return hour + 12;
34002 }
34003 },
34004 meridiem: function (hour, minute, isLower) {
34005 if (hour < 4) {
34006 return 'રાત';
34007 } else if (hour < 10) {
34008 return 'સવાર';
34009 } else if (hour < 17) {
34010 return 'બપોર';
34011 } else if (hour < 20) {
34012 return 'સાંજ';
34013 } else {
34014 return 'રાત';
34015 }
34016 },
34017 week: {
34018 dow: 0, // Sunday is the first day of the week.
34019 doy: 6 // The week that contains Jan 1st is the first week of the year.
34020 }
34021 });
34022
34023 return gu;
34024
34025 })));
34026
34027
34028/***/ }),
34029/* 379 */
34030/***/ (function(module, exports, __webpack_require__) {
34031
34032 //! moment.js locale configuration
34033
34034 ;(function (global, factory) {
34035 true ? factory(__webpack_require__(327)) :
34036 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
34037 factory(global.moment)
34038 }(this, (function (moment) { 'use strict';
34039
34040
34041 var he = moment.defineLocale('he', {
34042 months : 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split('_'),
34043 monthsShort : 'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split('_'),
34044 weekdays : 'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'),
34045 weekdaysShort : 'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'),
34046 weekdaysMin : 'א_ב_ג_ד_ה_ו_ש'.split('_'),
34047 longDateFormat : {
34048 LT : 'HH:mm',
34049 LTS : 'HH:mm:ss',
34050 L : 'DD/MM/YYYY',
34051 LL : 'D [ב]MMMM YYYY',
34052 LLL : 'D [ב]MMMM YYYY HH:mm',
34053 LLLL : 'dddd, D [ב]MMMM YYYY HH:mm',
34054 l : 'D/M/YYYY',
34055 ll : 'D MMM YYYY',
34056 lll : 'D MMM YYYY HH:mm',
34057 llll : 'ddd, D MMM YYYY HH:mm'
34058 },
34059 calendar : {
34060 sameDay : '[היום ב־]LT',
34061 nextDay : '[מחר ב־]LT',
34062 nextWeek : 'dddd [בשעה] LT',
34063 lastDay : '[אתמול ב־]LT',
34064 lastWeek : '[ביום] dddd [האחרון בשעה] LT',
34065 sameElse : 'L'
34066 },
34067 relativeTime : {
34068 future : 'בעוד %s',
34069 past : 'לפני %s',
34070 s : 'מספר שניות',
34071 ss : '%d שניות',
34072 m : 'דקה',
34073 mm : '%d דקות',
34074 h : 'שעה',
34075 hh : function (number) {
34076 if (number === 2) {
34077 return 'שעתיים';
34078 }
34079 return number + ' שעות';
34080 },
34081 d : 'יום',
34082 dd : function (number) {
34083 if (number === 2) {
34084 return 'יומיים';
34085 }
34086 return number + ' ימים';
34087 },
34088 M : 'חודש',
34089 MM : function (number) {
34090 if (number === 2) {
34091 return 'חודשיים';
34092 }
34093 return number + ' חודשים';
34094 },
34095 y : 'שנה',
34096 yy : function (number) {
34097 if (number === 2) {
34098 return 'שנתיים';
34099 } else if (number % 10 === 0 && number !== 10) {
34100 return number + ' שנה';
34101 }
34102 return number + ' שנים';
34103 }
34104 },
34105 meridiemParse: /אחה"צ|לפנה"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,
34106 isPM : function (input) {
34107 return /^(אחה"צ|אחרי הצהריים|בערב)$/.test(input);
34108 },
34109 meridiem : function (hour, minute, isLower) {
34110 if (hour < 5) {
34111 return 'לפנות בוקר';
34112 } else if (hour < 10) {
34113 return 'בבוקר';
34114 } else if (hour < 12) {
34115 return isLower ? 'לפנה"צ' : 'לפני הצהריים';
34116 } else if (hour < 18) {
34117 return isLower ? 'אחה"צ' : 'אחרי הצהריים';
34118 } else {
34119 return 'בערב';
34120 }
34121 }
34122 });
34123
34124 return he;
34125
34126 })));
34127
34128
34129/***/ }),
34130/* 380 */
34131/***/ (function(module, exports, __webpack_require__) {
34132
34133 //! moment.js locale configuration
34134
34135 ;(function (global, factory) {
34136 true ? factory(__webpack_require__(327)) :
34137 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
34138 factory(global.moment)
34139 }(this, (function (moment) { 'use strict';
34140
34141
34142 var symbolMap = {
34143 '1': '१',
34144 '2': '२',
34145 '3': '३',
34146 '4': '४',
34147 '5': '५',
34148 '6': '६',
34149 '7': '७',
34150 '8': '८',
34151 '9': '९',
34152 '0': '०'
34153 },
34154 numberMap = {
34155 '१': '1',
34156 '२': '2',
34157 '३': '3',
34158 '४': '4',
34159 '५': '5',
34160 '६': '6',
34161 '७': '7',
34162 '८': '8',
34163 '९': '9',
34164 '०': '0'
34165 };
34166
34167 var hi = moment.defineLocale('hi', {
34168 months : 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split('_'),
34169 monthsShort : 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split('_'),
34170 monthsParseExact: true,
34171 weekdays : 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),
34172 weekdaysShort : 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'),
34173 weekdaysMin : 'र_सो_मं_बु_गु_शु_श'.split('_'),
34174 longDateFormat : {
34175 LT : 'A h:mm बजे',
34176 LTS : 'A h:mm:ss बजे',
34177 L : 'DD/MM/YYYY',
34178 LL : 'D MMMM YYYY',
34179 LLL : 'D MMMM YYYY, A h:mm बजे',
34180 LLLL : 'dddd, D MMMM YYYY, A h:mm बजे'
34181 },
34182 calendar : {
34183 sameDay : '[आज] LT',
34184 nextDay : '[कल] LT',
34185 nextWeek : 'dddd, LT',
34186 lastDay : '[कल] LT',
34187 lastWeek : '[पिछले] dddd, LT',
34188 sameElse : 'L'
34189 },
34190 relativeTime : {
34191 future : '%s में',
34192 past : '%s पहले',
34193 s : 'कुछ ही क्षण',
34194 ss : '%d सेकंड',
34195 m : 'एक मिनट',
34196 mm : '%d मिनट',
34197 h : 'एक घंटा',
34198 hh : '%d घंटे',
34199 d : 'एक दिन',
34200 dd : '%d दिन',
34201 M : 'एक महीने',
34202 MM : '%d महीने',
34203 y : 'एक वर्ष',
34204 yy : '%d वर्ष'
34205 },
34206 preparse: function (string) {
34207 return string.replace(/[१२३४५६७८९०]/g, function (match) {
34208 return numberMap[match];
34209 });
34210 },
34211 postformat: function (string) {
34212 return string.replace(/\d/g, function (match) {
34213 return symbolMap[match];
34214 });
34215 },
34216 // Hindi notation for meridiems are quite fuzzy in practice. While there exists
34217 // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi.
34218 meridiemParse: /रात|सुबह|दोपहर|शाम/,
34219 meridiemHour : function (hour, meridiem) {
34220 if (hour === 12) {
34221 hour = 0;
34222 }
34223 if (meridiem === 'रात') {
34224 return hour < 4 ? hour : hour + 12;
34225 } else if (meridiem === 'सुबह') {
34226 return hour;
34227 } else if (meridiem === 'दोपहर') {
34228 return hour >= 10 ? hour : hour + 12;
34229 } else if (meridiem === 'शाम') {
34230 return hour + 12;
34231 }
34232 },
34233 meridiem : function (hour, minute, isLower) {
34234 if (hour < 4) {
34235 return 'रात';
34236 } else if (hour < 10) {
34237 return 'सुबह';
34238 } else if (hour < 17) {
34239 return 'दोपहर';
34240 } else if (hour < 20) {
34241 return 'शाम';
34242 } else {
34243 return 'रात';
34244 }
34245 },
34246 week : {
34247 dow : 0, // Sunday is the first day of the week.
34248 doy : 6 // The week that contains Jan 1st is the first week of the year.
34249 }
34250 });
34251
34252 return hi;
34253
34254 })));
34255
34256
34257/***/ }),
34258/* 381 */
34259/***/ (function(module, exports, __webpack_require__) {
34260
34261 //! moment.js locale configuration
34262
34263 ;(function (global, factory) {
34264 true ? factory(__webpack_require__(327)) :
34265 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
34266 factory(global.moment)
34267 }(this, (function (moment) { 'use strict';
34268
34269
34270 function translate(number, withoutSuffix, key) {
34271 var result = number + ' ';
34272 switch (key) {
34273 case 'ss':
34274 if (number === 1) {
34275 result += 'sekunda';
34276 } else if (number === 2 || number === 3 || number === 4) {
34277 result += 'sekunde';
34278 } else {
34279 result += 'sekundi';
34280 }
34281 return result;
34282 case 'm':
34283 return withoutSuffix ? 'jedna minuta' : 'jedne minute';
34284 case 'mm':
34285 if (number === 1) {
34286 result += 'minuta';
34287 } else if (number === 2 || number === 3 || number === 4) {
34288 result += 'minute';
34289 } else {
34290 result += 'minuta';
34291 }
34292 return result;
34293 case 'h':
34294 return withoutSuffix ? 'jedan sat' : 'jednog sata';
34295 case 'hh':
34296 if (number === 1) {
34297 result += 'sat';
34298 } else if (number === 2 || number === 3 || number === 4) {
34299 result += 'sata';
34300 } else {
34301 result += 'sati';
34302 }
34303 return result;
34304 case 'dd':
34305 if (number === 1) {
34306 result += 'dan';
34307 } else {
34308 result += 'dana';
34309 }
34310 return result;
34311 case 'MM':
34312 if (number === 1) {
34313 result += 'mjesec';
34314 } else if (number === 2 || number === 3 || number === 4) {
34315 result += 'mjeseca';
34316 } else {
34317 result += 'mjeseci';
34318 }
34319 return result;
34320 case 'yy':
34321 if (number === 1) {
34322 result += 'godina';
34323 } else if (number === 2 || number === 3 || number === 4) {
34324 result += 'godine';
34325 } else {
34326 result += 'godina';
34327 }
34328 return result;
34329 }
34330 }
34331
34332 var hr = moment.defineLocale('hr', {
34333 months : {
34334 format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split('_'),
34335 standalone: 'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split('_')
34336 },
34337 monthsShort : 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split('_'),
34338 monthsParseExact: true,
34339 weekdays : 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),
34340 weekdaysShort : 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),
34341 weekdaysMin : 'ne_po_ut_sr_če_pe_su'.split('_'),
34342 weekdaysParseExact : true,
34343 longDateFormat : {
34344 LT : 'H:mm',
34345 LTS : 'H:mm:ss',
34346 L : 'DD.MM.YYYY',
34347 LL : 'D. MMMM YYYY',
34348 LLL : 'D. MMMM YYYY H:mm',
34349 LLLL : 'dddd, D. MMMM YYYY H:mm'
34350 },
34351 calendar : {
34352 sameDay : '[danas u] LT',
34353 nextDay : '[sutra u] LT',
34354 nextWeek : function () {
34355 switch (this.day()) {
34356 case 0:
34357 return '[u] [nedjelju] [u] LT';
34358 case 3:
34359 return '[u] [srijedu] [u] LT';
34360 case 6:
34361 return '[u] [subotu] [u] LT';
34362 case 1:
34363 case 2:
34364 case 4:
34365 case 5:
34366 return '[u] dddd [u] LT';
34367 }
34368 },
34369 lastDay : '[jučer u] LT',
34370 lastWeek : function () {
34371 switch (this.day()) {
34372 case 0:
34373 case 3:
34374 return '[prošlu] dddd [u] LT';
34375 case 6:
34376 return '[prošle] [subote] [u] LT';
34377 case 1:
34378 case 2:
34379 case 4:
34380 case 5:
34381 return '[prošli] dddd [u] LT';
34382 }
34383 },
34384 sameElse : 'L'
34385 },
34386 relativeTime : {
34387 future : 'za %s',
34388 past : 'prije %s',
34389 s : 'par sekundi',
34390 ss : translate,
34391 m : translate,
34392 mm : translate,
34393 h : translate,
34394 hh : translate,
34395 d : 'dan',
34396 dd : translate,
34397 M : 'mjesec',
34398 MM : translate,
34399 y : 'godinu',
34400 yy : translate
34401 },
34402 dayOfMonthOrdinalParse: /\d{1,2}\./,
34403 ordinal : '%d.',
34404 week : {
34405 dow : 1, // Monday is the first day of the week.
34406 doy : 7 // The week that contains Jan 1st is the first week of the year.
34407 }
34408 });
34409
34410 return hr;
34411
34412 })));
34413
34414
34415/***/ }),
34416/* 382 */
34417/***/ (function(module, exports, __webpack_require__) {
34418
34419 //! moment.js locale configuration
34420
34421 ;(function (global, factory) {
34422 true ? factory(__webpack_require__(327)) :
34423 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
34424 factory(global.moment)
34425 }(this, (function (moment) { 'use strict';
34426
34427
34428 var weekEndings = 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(' ');
34429 function translate(number, withoutSuffix, key, isFuture) {
34430 var num = number;
34431 switch (key) {
34432 case 's':
34433 return (isFuture || withoutSuffix) ? 'néhány másodperc' : 'néhány másodperce';
34434 case 'ss':
34435 return num + (isFuture || withoutSuffix) ? ' másodperc' : ' másodperce';
34436 case 'm':
34437 return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce');
34438 case 'mm':
34439 return num + (isFuture || withoutSuffix ? ' perc' : ' perce');
34440 case 'h':
34441 return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája');
34442 case 'hh':
34443 return num + (isFuture || withoutSuffix ? ' óra' : ' órája');
34444 case 'd':
34445 return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja');
34446 case 'dd':
34447 return num + (isFuture || withoutSuffix ? ' nap' : ' napja');
34448 case 'M':
34449 return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');
34450 case 'MM':
34451 return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');
34452 case 'y':
34453 return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve');
34454 case 'yy':
34455 return num + (isFuture || withoutSuffix ? ' év' : ' éve');
34456 }
34457 return '';
34458 }
34459 function week(isFuture) {
34460 return (isFuture ? '' : '[múlt] ') + '[' + weekEndings[this.day()] + '] LT[-kor]';
34461 }
34462
34463 var hu = moment.defineLocale('hu', {
34464 months : 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split('_'),
34465 monthsShort : 'jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec'.split('_'),
34466 weekdays : 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split('_'),
34467 weekdaysShort : 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'),
34468 weekdaysMin : 'v_h_k_sze_cs_p_szo'.split('_'),
34469 longDateFormat : {
34470 LT : 'H:mm',
34471 LTS : 'H:mm:ss',
34472 L : 'YYYY.MM.DD.',
34473 LL : 'YYYY. MMMM D.',
34474 LLL : 'YYYY. MMMM D. H:mm',
34475 LLLL : 'YYYY. MMMM D., dddd H:mm'
34476 },
34477 meridiemParse: /de|du/i,
34478 isPM: function (input) {
34479 return input.charAt(1).toLowerCase() === 'u';
34480 },
34481 meridiem : function (hours, minutes, isLower) {
34482 if (hours < 12) {
34483 return isLower === true ? 'de' : 'DE';
34484 } else {
34485 return isLower === true ? 'du' : 'DU';
34486 }
34487 },
34488 calendar : {
34489 sameDay : '[ma] LT[-kor]',
34490 nextDay : '[holnap] LT[-kor]',
34491 nextWeek : function () {
34492 return week.call(this, true);
34493 },
34494 lastDay : '[tegnap] LT[-kor]',
34495 lastWeek : function () {
34496 return week.call(this, false);
34497 },
34498 sameElse : 'L'
34499 },
34500 relativeTime : {
34501 future : '%s múlva',
34502 past : '%s',
34503 s : translate,
34504 ss : translate,
34505 m : translate,
34506 mm : translate,
34507 h : translate,
34508 hh : translate,
34509 d : translate,
34510 dd : translate,
34511 M : translate,
34512 MM : translate,
34513 y : translate,
34514 yy : translate
34515 },
34516 dayOfMonthOrdinalParse: /\d{1,2}\./,
34517 ordinal : '%d.',
34518 week : {
34519 dow : 1, // Monday is the first day of the week.
34520 doy : 4 // The week that contains Jan 4th is the first week of the year.
34521 }
34522 });
34523
34524 return hu;
34525
34526 })));
34527
34528
34529/***/ }),
34530/* 383 */
34531/***/ (function(module, exports, __webpack_require__) {
34532
34533 //! moment.js locale configuration
34534
34535 ;(function (global, factory) {
34536 true ? factory(__webpack_require__(327)) :
34537 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
34538 factory(global.moment)
34539 }(this, (function (moment) { 'use strict';
34540
34541
34542 var hyAm = moment.defineLocale('hy-am', {
34543 months : {
34544 format: 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split('_'),
34545 standalone: 'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split('_')
34546 },
34547 monthsShort : 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_'),
34548 weekdays : 'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split('_'),
34549 weekdaysShort : 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),
34550 weekdaysMin : 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),
34551 longDateFormat : {
34552 LT : 'HH:mm',
34553 LTS : 'HH:mm:ss',
34554 L : 'DD.MM.YYYY',
34555 LL : 'D MMMM YYYY թ.',
34556 LLL : 'D MMMM YYYY թ., HH:mm',
34557 LLLL : 'dddd, D MMMM YYYY թ., HH:mm'
34558 },
34559 calendar : {
34560 sameDay: '[այսօր] LT',
34561 nextDay: '[վաղը] LT',
34562 lastDay: '[երեկ] LT',
34563 nextWeek: function () {
34564 return 'dddd [օրը ժամը] LT';
34565 },
34566 lastWeek: function () {
34567 return '[անցած] dddd [օրը ժամը] LT';
34568 },
34569 sameElse: 'L'
34570 },
34571 relativeTime : {
34572 future : '%s հետո',
34573 past : '%s առաջ',
34574 s : 'մի քանի վայրկյան',
34575 ss : '%d վայրկյան',
34576 m : 'րոպե',
34577 mm : '%d րոպե',
34578 h : 'ժամ',
34579 hh : '%d ժամ',
34580 d : 'օր',
34581 dd : '%d օր',
34582 M : 'ամիս',
34583 MM : '%d ամիս',
34584 y : 'տարի',
34585 yy : '%d տարի'
34586 },
34587 meridiemParse: /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,
34588 isPM: function (input) {
34589 return /^(ցերեկվա|երեկոյան)$/.test(input);
34590 },
34591 meridiem : function (hour) {
34592 if (hour < 4) {
34593 return 'գիշերվա';
34594 } else if (hour < 12) {
34595 return 'առավոտվա';
34596 } else if (hour < 17) {
34597 return 'ցերեկվա';
34598 } else {
34599 return 'երեկոյան';
34600 }
34601 },
34602 dayOfMonthOrdinalParse: /\d{1,2}|\d{1,2}-(ին|րդ)/,
34603 ordinal: function (number, period) {
34604 switch (period) {
34605 case 'DDD':
34606 case 'w':
34607 case 'W':
34608 case 'DDDo':
34609 if (number === 1) {
34610 return number + '-ին';
34611 }
34612 return number + '-րդ';
34613 default:
34614 return number;
34615 }
34616 },
34617 week : {
34618 dow : 1, // Monday is the first day of the week.
34619 doy : 7 // The week that contains Jan 1st is the first week of the year.
34620 }
34621 });
34622
34623 return hyAm;
34624
34625 })));
34626
34627
34628/***/ }),
34629/* 384 */
34630/***/ (function(module, exports, __webpack_require__) {
34631
34632 //! moment.js locale configuration
34633
34634 ;(function (global, factory) {
34635 true ? factory(__webpack_require__(327)) :
34636 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
34637 factory(global.moment)
34638 }(this, (function (moment) { 'use strict';
34639
34640
34641 var id = moment.defineLocale('id', {
34642 months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split('_'),
34643 monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'),
34644 weekdays : 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'),
34645 weekdaysShort : 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'),
34646 weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'),
34647 longDateFormat : {
34648 LT : 'HH.mm',
34649 LTS : 'HH.mm.ss',
34650 L : 'DD/MM/YYYY',
34651 LL : 'D MMMM YYYY',
34652 LLL : 'D MMMM YYYY [pukul] HH.mm',
34653 LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'
34654 },
34655 meridiemParse: /pagi|siang|sore|malam/,
34656 meridiemHour : function (hour, meridiem) {
34657 if (hour === 12) {
34658 hour = 0;
34659 }
34660 if (meridiem === 'pagi') {
34661 return hour;
34662 } else if (meridiem === 'siang') {
34663 return hour >= 11 ? hour : hour + 12;
34664 } else if (meridiem === 'sore' || meridiem === 'malam') {
34665 return hour + 12;
34666 }
34667 },
34668 meridiem : function (hours, minutes, isLower) {
34669 if (hours < 11) {
34670 return 'pagi';
34671 } else if (hours < 15) {
34672 return 'siang';
34673 } else if (hours < 19) {
34674 return 'sore';
34675 } else {
34676 return 'malam';
34677 }
34678 },
34679 calendar : {
34680 sameDay : '[Hari ini pukul] LT',
34681 nextDay : '[Besok pukul] LT',
34682 nextWeek : 'dddd [pukul] LT',
34683 lastDay : '[Kemarin pukul] LT',
34684 lastWeek : 'dddd [lalu pukul] LT',
34685 sameElse : 'L'
34686 },
34687 relativeTime : {
34688 future : 'dalam %s',
34689 past : '%s yang lalu',
34690 s : 'beberapa detik',
34691 ss : '%d detik',
34692 m : 'semenit',
34693 mm : '%d menit',
34694 h : 'sejam',
34695 hh : '%d jam',
34696 d : 'sehari',
34697 dd : '%d hari',
34698 M : 'sebulan',
34699 MM : '%d bulan',
34700 y : 'setahun',
34701 yy : '%d tahun'
34702 },
34703 week : {
34704 dow : 1, // Monday is the first day of the week.
34705 doy : 7 // The week that contains Jan 1st is the first week of the year.
34706 }
34707 });
34708
34709 return id;
34710
34711 })));
34712
34713
34714/***/ }),
34715/* 385 */
34716/***/ (function(module, exports, __webpack_require__) {
34717
34718 //! moment.js locale configuration
34719
34720 ;(function (global, factory) {
34721 true ? factory(__webpack_require__(327)) :
34722 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
34723 factory(global.moment)
34724 }(this, (function (moment) { 'use strict';
34725
34726
34727 function plural(n) {
34728 if (n % 100 === 11) {
34729 return true;
34730 } else if (n % 10 === 1) {
34731 return false;
34732 }
34733 return true;
34734 }
34735 function translate(number, withoutSuffix, key, isFuture) {
34736 var result = number + ' ';
34737 switch (key) {
34738 case 's':
34739 return withoutSuffix || isFuture ? 'nokkrar sekúndur' : 'nokkrum sekúndum';
34740 case 'ss':
34741 if (plural(number)) {
34742 return result + (withoutSuffix || isFuture ? 'sekúndur' : 'sekúndum');
34743 }
34744 return result + 'sekúnda';
34745 case 'm':
34746 return withoutSuffix ? 'mínúta' : 'mínútu';
34747 case 'mm':
34748 if (plural(number)) {
34749 return result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum');
34750 } else if (withoutSuffix) {
34751 return result + 'mínúta';
34752 }
34753 return result + 'mínútu';
34754 case 'hh':
34755 if (plural(number)) {
34756 return result + (withoutSuffix || isFuture ? 'klukkustundir' : 'klukkustundum');
34757 }
34758 return result + 'klukkustund';
34759 case 'd':
34760 if (withoutSuffix) {
34761 return 'dagur';
34762 }
34763 return isFuture ? 'dag' : 'degi';
34764 case 'dd':
34765 if (plural(number)) {
34766 if (withoutSuffix) {
34767 return result + 'dagar';
34768 }
34769 return result + (isFuture ? 'daga' : 'dögum');
34770 } else if (withoutSuffix) {
34771 return result + 'dagur';
34772 }
34773 return result + (isFuture ? 'dag' : 'degi');
34774 case 'M':
34775 if (withoutSuffix) {
34776 return 'mánuður';
34777 }
34778 return isFuture ? 'mánuð' : 'mánuði';
34779 case 'MM':
34780 if (plural(number)) {
34781 if (withoutSuffix) {
34782 return result + 'mánuðir';
34783 }
34784 return result + (isFuture ? 'mánuði' : 'mánuðum');
34785 } else if (withoutSuffix) {
34786 return result + 'mánuður';
34787 }
34788 return result + (isFuture ? 'mánuð' : 'mánuði');
34789 case 'y':
34790 return withoutSuffix || isFuture ? 'ár' : 'ári';
34791 case 'yy':
34792 if (plural(number)) {
34793 return result + (withoutSuffix || isFuture ? 'ár' : 'árum');
34794 }
34795 return result + (withoutSuffix || isFuture ? 'ár' : 'ári');
34796 }
34797 }
34798
34799 var is = moment.defineLocale('is', {
34800 months : 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split('_'),
34801 monthsShort : 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'),
34802 weekdays : 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split('_'),
34803 weekdaysShort : 'sun_mán_þri_mið_fim_fös_lau'.split('_'),
34804 weekdaysMin : 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'),
34805 longDateFormat : {
34806 LT : 'H:mm',
34807 LTS : 'H:mm:ss',
34808 L : 'DD.MM.YYYY',
34809 LL : 'D. MMMM YYYY',
34810 LLL : 'D. MMMM YYYY [kl.] H:mm',
34811 LLLL : 'dddd, D. MMMM YYYY [kl.] H:mm'
34812 },
34813 calendar : {
34814 sameDay : '[í dag kl.] LT',
34815 nextDay : '[á morgun kl.] LT',
34816 nextWeek : 'dddd [kl.] LT',
34817 lastDay : '[í gær kl.] LT',
34818 lastWeek : '[síðasta] dddd [kl.] LT',
34819 sameElse : 'L'
34820 },
34821 relativeTime : {
34822 future : 'eftir %s',
34823 past : 'fyrir %s síðan',
34824 s : translate,
34825 ss : translate,
34826 m : translate,
34827 mm : translate,
34828 h : 'klukkustund',
34829 hh : translate,
34830 d : translate,
34831 dd : translate,
34832 M : translate,
34833 MM : translate,
34834 y : translate,
34835 yy : translate
34836 },
34837 dayOfMonthOrdinalParse: /\d{1,2}\./,
34838 ordinal : '%d.',
34839 week : {
34840 dow : 1, // Monday is the first day of the week.
34841 doy : 4 // The week that contains Jan 4th is the first week of the year.
34842 }
34843 });
34844
34845 return is;
34846
34847 })));
34848
34849
34850/***/ }),
34851/* 386 */
34852/***/ (function(module, exports, __webpack_require__) {
34853
34854 //! moment.js locale configuration
34855
34856 ;(function (global, factory) {
34857 true ? factory(__webpack_require__(327)) :
34858 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
34859 factory(global.moment)
34860 }(this, (function (moment) { 'use strict';
34861
34862
34863 var it = moment.defineLocale('it', {
34864 months : 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split('_'),
34865 monthsShort : 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),
34866 weekdays : 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split('_'),
34867 weekdaysShort : 'dom_lun_mar_mer_gio_ven_sab'.split('_'),
34868 weekdaysMin : 'do_lu_ma_me_gi_ve_sa'.split('_'),
34869 longDateFormat : {
34870 LT : 'HH:mm',
34871 LTS : 'HH:mm:ss',
34872 L : 'DD/MM/YYYY',
34873 LL : 'D MMMM YYYY',
34874 LLL : 'D MMMM YYYY HH:mm',
34875 LLLL : 'dddd D MMMM YYYY HH:mm'
34876 },
34877 calendar : {
34878 sameDay: '[Oggi alle] LT',
34879 nextDay: '[Domani alle] LT',
34880 nextWeek: 'dddd [alle] LT',
34881 lastDay: '[Ieri alle] LT',
34882 lastWeek: function () {
34883 switch (this.day()) {
34884 case 0:
34885 return '[la scorsa] dddd [alle] LT';
34886 default:
34887 return '[lo scorso] dddd [alle] LT';
34888 }
34889 },
34890 sameElse: 'L'
34891 },
34892 relativeTime : {
34893 future : function (s) {
34894 return ((/^[0-9].+$/).test(s) ? 'tra' : 'in') + ' ' + s;
34895 },
34896 past : '%s fa',
34897 s : 'alcuni secondi',
34898 ss : '%d secondi',
34899 m : 'un minuto',
34900 mm : '%d minuti',
34901 h : 'un\'ora',
34902 hh : '%d ore',
34903 d : 'un giorno',
34904 dd : '%d giorni',
34905 M : 'un mese',
34906 MM : '%d mesi',
34907 y : 'un anno',
34908 yy : '%d anni'
34909 },
34910 dayOfMonthOrdinalParse : /\d{1,2}º/,
34911 ordinal: '%dº',
34912 week : {
34913 dow : 1, // Monday is the first day of the week.
34914 doy : 4 // The week that contains Jan 4th is the first week of the year.
34915 }
34916 });
34917
34918 return it;
34919
34920 })));
34921
34922
34923/***/ }),
34924/* 387 */
34925/***/ (function(module, exports, __webpack_require__) {
34926
34927 //! moment.js locale configuration
34928
34929 ;(function (global, factory) {
34930 true ? factory(__webpack_require__(327)) :
34931 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
34932 factory(global.moment)
34933 }(this, (function (moment) { 'use strict';
34934
34935
34936 var ja = moment.defineLocale('ja', {
34937 months : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),
34938 monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),
34939 weekdays : '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'),
34940 weekdaysShort : '日_月_火_水_木_金_土'.split('_'),
34941 weekdaysMin : '日_月_火_水_木_金_土'.split('_'),
34942 longDateFormat : {
34943 LT : 'HH:mm',
34944 LTS : 'HH:mm:ss',
34945 L : 'YYYY/MM/DD',
34946 LL : 'YYYY年M月D日',
34947 LLL : 'YYYY年M月D日 HH:mm',
34948 LLLL : 'YYYY年M月D日 dddd HH:mm',
34949 l : 'YYYY/MM/DD',
34950 ll : 'YYYY年M月D日',
34951 lll : 'YYYY年M月D日 HH:mm',
34952 llll : 'YYYY年M月D日(ddd) HH:mm'
34953 },
34954 meridiemParse: /午前|午後/i,
34955 isPM : function (input) {
34956 return input === '午後';
34957 },
34958 meridiem : function (hour, minute, isLower) {
34959 if (hour < 12) {
34960 return '午前';
34961 } else {
34962 return '午後';
34963 }
34964 },
34965 calendar : {
34966 sameDay : '[今日] LT',
34967 nextDay : '[明日] LT',
34968 nextWeek : function (now) {
34969 if (now.week() < this.week()) {
34970 return '[来週]dddd LT';
34971 } else {
34972 return 'dddd LT';
34973 }
34974 },
34975 lastDay : '[昨日] LT',
34976 lastWeek : function (now) {
34977 if (this.week() < now.week()) {
34978 return '[先週]dddd LT';
34979 } else {
34980 return 'dddd LT';
34981 }
34982 },
34983 sameElse : 'L'
34984 },
34985 dayOfMonthOrdinalParse : /\d{1,2}日/,
34986 ordinal : function (number, period) {
34987 switch (period) {
34988 case 'd':
34989 case 'D':
34990 case 'DDD':
34991 return number + '日';
34992 default:
34993 return number;
34994 }
34995 },
34996 relativeTime : {
34997 future : '%s後',
34998 past : '%s前',
34999 s : '数秒',
35000 ss : '%d秒',
35001 m : '1分',
35002 mm : '%d分',
35003 h : '1時間',
35004 hh : '%d時間',
35005 d : '1日',
35006 dd : '%d日',
35007 M : '1ヶ月',
35008 MM : '%dヶ月',
35009 y : '1年',
35010 yy : '%d年'
35011 }
35012 });
35013
35014 return ja;
35015
35016 })));
35017
35018
35019/***/ }),
35020/* 388 */
35021/***/ (function(module, exports, __webpack_require__) {
35022
35023 //! moment.js locale configuration
35024
35025 ;(function (global, factory) {
35026 true ? factory(__webpack_require__(327)) :
35027 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
35028 factory(global.moment)
35029 }(this, (function (moment) { 'use strict';
35030
35031
35032 var jv = moment.defineLocale('jv', {
35033 months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split('_'),
35034 monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'),
35035 weekdays : 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'),
35036 weekdaysShort : 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'),
35037 weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'),
35038 longDateFormat : {
35039 LT : 'HH.mm',
35040 LTS : 'HH.mm.ss',
35041 L : 'DD/MM/YYYY',
35042 LL : 'D MMMM YYYY',
35043 LLL : 'D MMMM YYYY [pukul] HH.mm',
35044 LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'
35045 },
35046 meridiemParse: /enjing|siyang|sonten|ndalu/,
35047 meridiemHour : function (hour, meridiem) {
35048 if (hour === 12) {
35049 hour = 0;
35050 }
35051 if (meridiem === 'enjing') {
35052 return hour;
35053 } else if (meridiem === 'siyang') {
35054 return hour >= 11 ? hour : hour + 12;
35055 } else if (meridiem === 'sonten' || meridiem === 'ndalu') {
35056 return hour + 12;
35057 }
35058 },
35059 meridiem : function (hours, minutes, isLower) {
35060 if (hours < 11) {
35061 return 'enjing';
35062 } else if (hours < 15) {
35063 return 'siyang';
35064 } else if (hours < 19) {
35065 return 'sonten';
35066 } else {
35067 return 'ndalu';
35068 }
35069 },
35070 calendar : {
35071 sameDay : '[Dinten puniko pukul] LT',
35072 nextDay : '[Mbenjang pukul] LT',
35073 nextWeek : 'dddd [pukul] LT',
35074 lastDay : '[Kala wingi pukul] LT',
35075 lastWeek : 'dddd [kepengker pukul] LT',
35076 sameElse : 'L'
35077 },
35078 relativeTime : {
35079 future : 'wonten ing %s',
35080 past : '%s ingkang kepengker',
35081 s : 'sawetawis detik',
35082 ss : '%d detik',
35083 m : 'setunggal menit',
35084 mm : '%d menit',
35085 h : 'setunggal jam',
35086 hh : '%d jam',
35087 d : 'sedinten',
35088 dd : '%d dinten',
35089 M : 'sewulan',
35090 MM : '%d wulan',
35091 y : 'setaun',
35092 yy : '%d taun'
35093 },
35094 week : {
35095 dow : 1, // Monday is the first day of the week.
35096 doy : 7 // The week that contains Jan 1st is the first week of the year.
35097 }
35098 });
35099
35100 return jv;
35101
35102 })));
35103
35104
35105/***/ }),
35106/* 389 */
35107/***/ (function(module, exports, __webpack_require__) {
35108
35109 //! moment.js locale configuration
35110
35111 ;(function (global, factory) {
35112 true ? factory(__webpack_require__(327)) :
35113 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
35114 factory(global.moment)
35115 }(this, (function (moment) { 'use strict';
35116
35117
35118 var ka = moment.defineLocale('ka', {
35119 months : {
35120 standalone: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split('_'),
35121 format: 'იანვარს_თებერვალს_მარტს_აპრილის_მაისს_ივნისს_ივლისს_აგვისტს_სექტემბერს_ოქტომბერს_ნოემბერს_დეკემბერს'.split('_')
35122 },
35123 monthsShort : 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'),
35124 weekdays : {
35125 standalone: 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split('_'),
35126 format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split('_'),
35127 isFormat: /(წინა|შემდეგ)/
35128 },
35129 weekdaysShort : 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'),
35130 weekdaysMin : 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'),
35131 longDateFormat : {
35132 LT : 'h:mm A',
35133 LTS : 'h:mm:ss A',
35134 L : 'DD/MM/YYYY',
35135 LL : 'D MMMM YYYY',
35136 LLL : 'D MMMM YYYY h:mm A',
35137 LLLL : 'dddd, D MMMM YYYY h:mm A'
35138 },
35139 calendar : {
35140 sameDay : '[დღეს] LT[-ზე]',
35141 nextDay : '[ხვალ] LT[-ზე]',
35142 lastDay : '[გუშინ] LT[-ზე]',
35143 nextWeek : '[შემდეგ] dddd LT[-ზე]',
35144 lastWeek : '[წინა] dddd LT-ზე',
35145 sameElse : 'L'
35146 },
35147 relativeTime : {
35148 future : function (s) {
35149 return (/(წამი|წუთი|საათი|წელი)/).test(s) ?
35150 s.replace(/ი$/, 'ში') :
35151 s + 'ში';
35152 },
35153 past : function (s) {
35154 if ((/(წამი|წუთი|საათი|დღე|თვე)/).test(s)) {
35155 return s.replace(/(ი|ე)$/, 'ის წინ');
35156 }
35157 if ((/წელი/).test(s)) {
35158 return s.replace(/წელი$/, 'წლის წინ');
35159 }
35160 },
35161 s : 'რამდენიმე წამი',
35162 ss : '%d წამი',
35163 m : 'წუთი',
35164 mm : '%d წუთი',
35165 h : 'საათი',
35166 hh : '%d საათი',
35167 d : 'დღე',
35168 dd : '%d დღე',
35169 M : 'თვე',
35170 MM : '%d თვე',
35171 y : 'წელი',
35172 yy : '%d წელი'
35173 },
35174 dayOfMonthOrdinalParse: /0|1-ლი|მე-\d{1,2}|\d{1,2}-ე/,
35175 ordinal : function (number) {
35176 if (number === 0) {
35177 return number;
35178 }
35179 if (number === 1) {
35180 return number + '-ლი';
35181 }
35182 if ((number < 20) || (number <= 100 && (number % 20 === 0)) || (number % 100 === 0)) {
35183 return 'მე-' + number;
35184 }
35185 return number + '-ე';
35186 },
35187 week : {
35188 dow : 1,
35189 doy : 7
35190 }
35191 });
35192
35193 return ka;
35194
35195 })));
35196
35197
35198/***/ }),
35199/* 390 */
35200/***/ (function(module, exports, __webpack_require__) {
35201
35202 //! moment.js locale configuration
35203
35204 ;(function (global, factory) {
35205 true ? factory(__webpack_require__(327)) :
35206 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
35207 factory(global.moment)
35208 }(this, (function (moment) { 'use strict';
35209
35210
35211 var suffixes = {
35212 0: '-ші',
35213 1: '-ші',
35214 2: '-ші',
35215 3: '-ші',
35216 4: '-ші',
35217 5: '-ші',
35218 6: '-шы',
35219 7: '-ші',
35220 8: '-ші',
35221 9: '-шы',
35222 10: '-шы',
35223 20: '-шы',
35224 30: '-шы',
35225 40: '-шы',
35226 50: '-ші',
35227 60: '-шы',
35228 70: '-ші',
35229 80: '-ші',
35230 90: '-шы',
35231 100: '-ші'
35232 };
35233
35234 var kk = moment.defineLocale('kk', {
35235 months : 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split('_'),
35236 monthsShort : 'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split('_'),
35237 weekdays : 'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split('_'),
35238 weekdaysShort : 'жек_дүй_сей_сәр_бей_жұм_сен'.split('_'),
35239 weekdaysMin : 'жк_дй_сй_ср_бй_жм_сн'.split('_'),
35240 longDateFormat : {
35241 LT : 'HH:mm',
35242 LTS : 'HH:mm:ss',
35243 L : 'DD.MM.YYYY',
35244 LL : 'D MMMM YYYY',
35245 LLL : 'D MMMM YYYY HH:mm',
35246 LLLL : 'dddd, D MMMM YYYY HH:mm'
35247 },
35248 calendar : {
35249 sameDay : '[Бүгін сағат] LT',
35250 nextDay : '[Ертең сағат] LT',
35251 nextWeek : 'dddd [сағат] LT',
35252 lastDay : '[Кеше сағат] LT',
35253 lastWeek : '[Өткен аптаның] dddd [сағат] LT',
35254 sameElse : 'L'
35255 },
35256 relativeTime : {
35257 future : '%s ішінде',
35258 past : '%s бұрын',
35259 s : 'бірнеше секунд',
35260 ss : '%d секунд',
35261 m : 'бір минут',
35262 mm : '%d минут',
35263 h : 'бір сағат',
35264 hh : '%d сағат',
35265 d : 'бір күн',
35266 dd : '%d күн',
35267 M : 'бір ай',
35268 MM : '%d ай',
35269 y : 'бір жыл',
35270 yy : '%d жыл'
35271 },
35272 dayOfMonthOrdinalParse: /\d{1,2}-(ші|шы)/,
35273 ordinal : function (number) {
35274 var a = number % 10,
35275 b = number >= 100 ? 100 : null;
35276 return number + (suffixes[number] || suffixes[a] || suffixes[b]);
35277 },
35278 week : {
35279 dow : 1, // Monday is the first day of the week.
35280 doy : 7 // The week that contains Jan 1st is the first week of the year.
35281 }
35282 });
35283
35284 return kk;
35285
35286 })));
35287
35288
35289/***/ }),
35290/* 391 */
35291/***/ (function(module, exports, __webpack_require__) {
35292
35293 //! moment.js locale configuration
35294
35295 ;(function (global, factory) {
35296 true ? factory(__webpack_require__(327)) :
35297 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
35298 factory(global.moment)
35299 }(this, (function (moment) { 'use strict';
35300
35301
35302 var symbolMap = {
35303 '1': '១',
35304 '2': '២',
35305 '3': '៣',
35306 '4': '៤',
35307 '5': '៥',
35308 '6': '៦',
35309 '7': '៧',
35310 '8': '៨',
35311 '9': '៩',
35312 '0': '០'
35313 }, numberMap = {
35314 '១': '1',
35315 '២': '2',
35316 '៣': '3',
35317 '៤': '4',
35318 '៥': '5',
35319 '៦': '6',
35320 '៧': '7',
35321 '៨': '8',
35322 '៩': '9',
35323 '០': '0'
35324 };
35325
35326 var km = moment.defineLocale('km', {
35327 months: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(
35328 '_'
35329 ),
35330 monthsShort: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(
35331 '_'
35332 ),
35333 weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),
35334 weekdaysShort: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),
35335 weekdaysMin: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),
35336 weekdaysParseExact: true,
35337 longDateFormat: {
35338 LT: 'HH:mm',
35339 LTS: 'HH:mm:ss',
35340 L: 'DD/MM/YYYY',
35341 LL: 'D MMMM YYYY',
35342 LLL: 'D MMMM YYYY HH:mm',
35343 LLLL: 'dddd, D MMMM YYYY HH:mm'
35344 },
35345 meridiemParse: /ព្រឹក|ល្ងាច/,
35346 isPM: function (input) {
35347 return input === 'ល្ងាច';
35348 },
35349 meridiem: function (hour, minute, isLower) {
35350 if (hour < 12) {
35351 return 'ព្រឹក';
35352 } else {
35353 return 'ល្ងាច';
35354 }
35355 },
35356 calendar: {
35357 sameDay: '[ថ្ងៃនេះ ម៉ោង] LT',
35358 nextDay: '[ស្អែក ម៉ោង] LT',
35359 nextWeek: 'dddd [ម៉ោង] LT',
35360 lastDay: '[ម្សិលមិញ ម៉ោង] LT',
35361 lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT',
35362 sameElse: 'L'
35363 },
35364 relativeTime: {
35365 future: '%sទៀត',
35366 past: '%sមុន',
35367 s: 'ប៉ុន្មានវិនាទី',
35368 ss: '%d វិនាទី',
35369 m: 'មួយនាទី',
35370 mm: '%d នាទី',
35371 h: 'មួយម៉ោង',
35372 hh: '%d ម៉ោង',
35373 d: 'មួយថ្ងៃ',
35374 dd: '%d ថ្ងៃ',
35375 M: 'មួយខែ',
35376 MM: '%d ខែ',
35377 y: 'មួយឆ្នាំ',
35378 yy: '%d ឆ្នាំ'
35379 },
35380 dayOfMonthOrdinalParse : /ទី\d{1,2}/,
35381 ordinal : 'ទី%d',
35382 preparse: function (string) {
35383 return string.replace(/[១២៣៤៥៦៧៨៩០]/g, function (match) {
35384 return numberMap[match];
35385 });
35386 },
35387 postformat: function (string) {
35388 return string.replace(/\d/g, function (match) {
35389 return symbolMap[match];
35390 });
35391 },
35392 week: {
35393 dow: 1, // Monday is the first day of the week.
35394 doy: 4 // The week that contains Jan 4th is the first week of the year.
35395 }
35396 });
35397
35398 return km;
35399
35400 })));
35401
35402
35403/***/ }),
35404/* 392 */
35405/***/ (function(module, exports, __webpack_require__) {
35406
35407 //! moment.js locale configuration
35408
35409 ;(function (global, factory) {
35410 true ? factory(__webpack_require__(327)) :
35411 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
35412 factory(global.moment)
35413 }(this, (function (moment) { 'use strict';
35414
35415
35416 var symbolMap = {
35417 '1': '೧',
35418 '2': '೨',
35419 '3': '೩',
35420 '4': '೪',
35421 '5': '೫',
35422 '6': '೬',
35423 '7': '೭',
35424 '8': '೮',
35425 '9': '೯',
35426 '0': '೦'
35427 },
35428 numberMap = {
35429 '೧': '1',
35430 '೨': '2',
35431 '೩': '3',
35432 '೪': '4',
35433 '೫': '5',
35434 '೬': '6',
35435 '೭': '7',
35436 '೮': '8',
35437 '೯': '9',
35438 '೦': '0'
35439 };
35440
35441 var kn = moment.defineLocale('kn', {
35442 months : 'ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್'.split('_'),
35443 monthsShort : 'ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ'.split('_'),
35444 monthsParseExact: true,
35445 weekdays : 'ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ'.split('_'),
35446 weekdaysShort : 'ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ'.split('_'),
35447 weekdaysMin : 'ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ'.split('_'),
35448 longDateFormat : {
35449 LT : 'A h:mm',
35450 LTS : 'A h:mm:ss',
35451 L : 'DD/MM/YYYY',
35452 LL : 'D MMMM YYYY',
35453 LLL : 'D MMMM YYYY, A h:mm',
35454 LLLL : 'dddd, D MMMM YYYY, A h:mm'
35455 },
35456 calendar : {
35457 sameDay : '[ಇಂದು] LT',
35458 nextDay : '[ನಾಳೆ] LT',
35459 nextWeek : 'dddd, LT',
35460 lastDay : '[ನಿನ್ನೆ] LT',
35461 lastWeek : '[ಕೊನೆಯ] dddd, LT',
35462 sameElse : 'L'
35463 },
35464 relativeTime : {
35465 future : '%s ನಂತರ',
35466 past : '%s ಹಿಂದೆ',
35467 s : 'ಕೆಲವು ಕ್ಷಣಗಳು',
35468 ss : '%d ಸೆಕೆಂಡುಗಳು',
35469 m : 'ಒಂದು ನಿಮಿಷ',
35470 mm : '%d ನಿಮಿಷ',
35471 h : 'ಒಂದು ಗಂಟೆ',
35472 hh : '%d ಗಂಟೆ',
35473 d : 'ಒಂದು ದಿನ',
35474 dd : '%d ದಿನ',
35475 M : 'ಒಂದು ತಿಂಗಳು',
35476 MM : '%d ತಿಂಗಳು',
35477 y : 'ಒಂದು ವರ್ಷ',
35478 yy : '%d ವರ್ಷ'
35479 },
35480 preparse: function (string) {
35481 return string.replace(/[೧೨೩೪೫೬೭೮೯೦]/g, function (match) {
35482 return numberMap[match];
35483 });
35484 },
35485 postformat: function (string) {
35486 return string.replace(/\d/g, function (match) {
35487 return symbolMap[match];
35488 });
35489 },
35490 meridiemParse: /ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,
35491 meridiemHour : function (hour, meridiem) {
35492 if (hour === 12) {
35493 hour = 0;
35494 }
35495 if (meridiem === 'ರಾತ್ರಿ') {
35496 return hour < 4 ? hour : hour + 12;
35497 } else if (meridiem === 'ಬೆಳಿಗ್ಗೆ') {
35498 return hour;
35499 } else if (meridiem === 'ಮಧ್ಯಾಹ್ನ') {
35500 return hour >= 10 ? hour : hour + 12;
35501 } else if (meridiem === 'ಸಂಜೆ') {
35502 return hour + 12;
35503 }
35504 },
35505 meridiem : function (hour, minute, isLower) {
35506 if (hour < 4) {
35507 return 'ರಾತ್ರಿ';
35508 } else if (hour < 10) {
35509 return 'ಬೆಳಿಗ್ಗೆ';
35510 } else if (hour < 17) {
35511 return 'ಮಧ್ಯಾಹ್ನ';
35512 } else if (hour < 20) {
35513 return 'ಸಂಜೆ';
35514 } else {
35515 return 'ರಾತ್ರಿ';
35516 }
35517 },
35518 dayOfMonthOrdinalParse: /\d{1,2}(ನೇ)/,
35519 ordinal : function (number) {
35520 return number + 'ನೇ';
35521 },
35522 week : {
35523 dow : 0, // Sunday is the first day of the week.
35524 doy : 6 // The week that contains Jan 1st is the first week of the year.
35525 }
35526 });
35527
35528 return kn;
35529
35530 })));
35531
35532
35533/***/ }),
35534/* 393 */
35535/***/ (function(module, exports, __webpack_require__) {
35536
35537 //! moment.js locale configuration
35538
35539 ;(function (global, factory) {
35540 true ? factory(__webpack_require__(327)) :
35541 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
35542 factory(global.moment)
35543 }(this, (function (moment) { 'use strict';
35544
35545
35546 var ko = moment.defineLocale('ko', {
35547 months : '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),
35548 monthsShort : '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),
35549 weekdays : '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'),
35550 weekdaysShort : '일_월_화_수_목_금_토'.split('_'),
35551 weekdaysMin : '일_월_화_수_목_금_토'.split('_'),
35552 longDateFormat : {
35553 LT : 'A h:mm',
35554 LTS : 'A h:mm:ss',
35555 L : 'YYYY.MM.DD.',
35556 LL : 'YYYY년 MMMM D일',
35557 LLL : 'YYYY년 MMMM D일 A h:mm',
35558 LLLL : 'YYYY년 MMMM D일 dddd A h:mm',
35559 l : 'YYYY.MM.DD.',
35560 ll : 'YYYY년 MMMM D일',
35561 lll : 'YYYY년 MMMM D일 A h:mm',
35562 llll : 'YYYY년 MMMM D일 dddd A h:mm'
35563 },
35564 calendar : {
35565 sameDay : '오늘 LT',
35566 nextDay : '내일 LT',
35567 nextWeek : 'dddd LT',
35568 lastDay : '어제 LT',
35569 lastWeek : '지난주 dddd LT',
35570 sameElse : 'L'
35571 },
35572 relativeTime : {
35573 future : '%s 후',
35574 past : '%s 전',
35575 s : '몇 초',
35576 ss : '%d초',
35577 m : '1분',
35578 mm : '%d분',
35579 h : '한 시간',
35580 hh : '%d시간',
35581 d : '하루',
35582 dd : '%d일',
35583 M : '한 달',
35584 MM : '%d달',
35585 y : '일 년',
35586 yy : '%d년'
35587 },
35588 dayOfMonthOrdinalParse : /\d{1,2}(일|월|주)/,
35589 ordinal : function (number, period) {
35590 switch (period) {
35591 case 'd':
35592 case 'D':
35593 case 'DDD':
35594 return number + '일';
35595 case 'M':
35596 return number + '월';
35597 case 'w':
35598 case 'W':
35599 return number + '주';
35600 default:
35601 return number;
35602 }
35603 },
35604 meridiemParse : /오전|오후/,
35605 isPM : function (token) {
35606 return token === '오후';
35607 },
35608 meridiem : function (hour, minute, isUpper) {
35609 return hour < 12 ? '오전' : '오후';
35610 }
35611 });
35612
35613 return ko;
35614
35615 })));
35616
35617
35618/***/ }),
35619/* 394 */
35620/***/ (function(module, exports, __webpack_require__) {
35621
35622 //! moment.js locale configuration
35623
35624 ;(function (global, factory) {
35625 true ? factory(__webpack_require__(327)) :
35626 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
35627 factory(global.moment)
35628 }(this, (function (moment) { 'use strict';
35629
35630
35631 var suffixes = {
35632 0: '-чү',
35633 1: '-чи',
35634 2: '-чи',
35635 3: '-чү',
35636 4: '-чү',
35637 5: '-чи',
35638 6: '-чы',
35639 7: '-чи',
35640 8: '-чи',
35641 9: '-чу',
35642 10: '-чу',
35643 20: '-чы',
35644 30: '-чу',
35645 40: '-чы',
35646 50: '-чү',
35647 60: '-чы',
35648 70: '-чи',
35649 80: '-чи',
35650 90: '-чу',
35651 100: '-чү'
35652 };
35653
35654 var ky = moment.defineLocale('ky', {
35655 months : 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_'),
35656 monthsShort : 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split('_'),
35657 weekdays : 'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split('_'),
35658 weekdaysShort : 'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'),
35659 weekdaysMin : 'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.split('_'),
35660 longDateFormat : {
35661 LT : 'HH:mm',
35662 LTS : 'HH:mm:ss',
35663 L : 'DD.MM.YYYY',
35664 LL : 'D MMMM YYYY',
35665 LLL : 'D MMMM YYYY HH:mm',
35666 LLLL : 'dddd, D MMMM YYYY HH:mm'
35667 },
35668 calendar : {
35669 sameDay : '[Бүгүн саат] LT',
35670 nextDay : '[Эртең саат] LT',
35671 nextWeek : 'dddd [саат] LT',
35672 lastDay : '[Кече саат] LT',
35673 lastWeek : '[Өткен аптанын] dddd [күнү] [саат] LT',
35674 sameElse : 'L'
35675 },
35676 relativeTime : {
35677 future : '%s ичинде',
35678 past : '%s мурун',
35679 s : 'бирнече секунд',
35680 ss : '%d секунд',
35681 m : 'бир мүнөт',
35682 mm : '%d мүнөт',
35683 h : 'бир саат',
35684 hh : '%d саат',
35685 d : 'бир күн',
35686 dd : '%d күн',
35687 M : 'бир ай',
35688 MM : '%d ай',
35689 y : 'бир жыл',
35690 yy : '%d жыл'
35691 },
35692 dayOfMonthOrdinalParse: /\d{1,2}-(чи|чы|чү|чу)/,
35693 ordinal : function (number) {
35694 var a = number % 10,
35695 b = number >= 100 ? 100 : null;
35696 return number + (suffixes[number] || suffixes[a] || suffixes[b]);
35697 },
35698 week : {
35699 dow : 1, // Monday is the first day of the week.
35700 doy : 7 // The week that contains Jan 1st is the first week of the year.
35701 }
35702 });
35703
35704 return ky;
35705
35706 })));
35707
35708
35709/***/ }),
35710/* 395 */
35711/***/ (function(module, exports, __webpack_require__) {
35712
35713 //! moment.js locale configuration
35714
35715 ;(function (global, factory) {
35716 true ? factory(__webpack_require__(327)) :
35717 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
35718 factory(global.moment)
35719 }(this, (function (moment) { 'use strict';
35720
35721
35722 function processRelativeTime(number, withoutSuffix, key, isFuture) {
35723 var format = {
35724 'm': ['eng Minutt', 'enger Minutt'],
35725 'h': ['eng Stonn', 'enger Stonn'],
35726 'd': ['een Dag', 'engem Dag'],
35727 'M': ['ee Mount', 'engem Mount'],
35728 'y': ['ee Joer', 'engem Joer']
35729 };
35730 return withoutSuffix ? format[key][0] : format[key][1];
35731 }
35732 function processFutureTime(string) {
35733 var number = string.substr(0, string.indexOf(' '));
35734 if (eifelerRegelAppliesToNumber(number)) {
35735 return 'a ' + string;
35736 }
35737 return 'an ' + string;
35738 }
35739 function processPastTime(string) {
35740 var number = string.substr(0, string.indexOf(' '));
35741 if (eifelerRegelAppliesToNumber(number)) {
35742 return 'viru ' + string;
35743 }
35744 return 'virun ' + string;
35745 }
35746 /**
35747 * Returns true if the word before the given number loses the '-n' ending.
35748 * e.g. 'an 10 Deeg' but 'a 5 Deeg'
35749 *
35750 * @param number {integer}
35751 * @returns {boolean}
35752 */
35753 function eifelerRegelAppliesToNumber(number) {
35754 number = parseInt(number, 10);
35755 if (isNaN(number)) {
35756 return false;
35757 }
35758 if (number < 0) {
35759 // Negative Number --> always true
35760 return true;
35761 } else if (number < 10) {
35762 // Only 1 digit
35763 if (4 <= number && number <= 7) {
35764 return true;
35765 }
35766 return false;
35767 } else if (number < 100) {
35768 // 2 digits
35769 var lastDigit = number % 10, firstDigit = number / 10;
35770 if (lastDigit === 0) {
35771 return eifelerRegelAppliesToNumber(firstDigit);
35772 }
35773 return eifelerRegelAppliesToNumber(lastDigit);
35774 } else if (number < 10000) {
35775 // 3 or 4 digits --> recursively check first digit
35776 while (number >= 10) {
35777 number = number / 10;
35778 }
35779 return eifelerRegelAppliesToNumber(number);
35780 } else {
35781 // Anything larger than 4 digits: recursively check first n-3 digits
35782 number = number / 1000;
35783 return eifelerRegelAppliesToNumber(number);
35784 }
35785 }
35786
35787 var lb = moment.defineLocale('lb', {
35788 months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),
35789 monthsShort: 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split('_'),
35790 monthsParseExact : true,
35791 weekdays: 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split('_'),
35792 weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'),
35793 weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'),
35794 weekdaysParseExact : true,
35795 longDateFormat: {
35796 LT: 'H:mm [Auer]',
35797 LTS: 'H:mm:ss [Auer]',
35798 L: 'DD.MM.YYYY',
35799 LL: 'D. MMMM YYYY',
35800 LLL: 'D. MMMM YYYY H:mm [Auer]',
35801 LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]'
35802 },
35803 calendar: {
35804 sameDay: '[Haut um] LT',
35805 sameElse: 'L',
35806 nextDay: '[Muer um] LT',
35807 nextWeek: 'dddd [um] LT',
35808 lastDay: '[Gëschter um] LT',
35809 lastWeek: function () {
35810 // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule
35811 switch (this.day()) {
35812 case 2:
35813 case 4:
35814 return '[Leschten] dddd [um] LT';
35815 default:
35816 return '[Leschte] dddd [um] LT';
35817 }
35818 }
35819 },
35820 relativeTime : {
35821 future : processFutureTime,
35822 past : processPastTime,
35823 s : 'e puer Sekonnen',
35824 ss : '%d Sekonnen',
35825 m : processRelativeTime,
35826 mm : '%d Minutten',
35827 h : processRelativeTime,
35828 hh : '%d Stonnen',
35829 d : processRelativeTime,
35830 dd : '%d Deeg',
35831 M : processRelativeTime,
35832 MM : '%d Méint',
35833 y : processRelativeTime,
35834 yy : '%d Joer'
35835 },
35836 dayOfMonthOrdinalParse: /\d{1,2}\./,
35837 ordinal: '%d.',
35838 week: {
35839 dow: 1, // Monday is the first day of the week.
35840 doy: 4 // The week that contains Jan 4th is the first week of the year.
35841 }
35842 });
35843
35844 return lb;
35845
35846 })));
35847
35848
35849/***/ }),
35850/* 396 */
35851/***/ (function(module, exports, __webpack_require__) {
35852
35853 //! moment.js locale configuration
35854
35855 ;(function (global, factory) {
35856 true ? factory(__webpack_require__(327)) :
35857 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
35858 factory(global.moment)
35859 }(this, (function (moment) { 'use strict';
35860
35861
35862 var lo = moment.defineLocale('lo', {
35863 months : 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'),
35864 monthsShort : 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'),
35865 weekdays : 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),
35866 weekdaysShort : 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),
35867 weekdaysMin : 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'),
35868 weekdaysParseExact : true,
35869 longDateFormat : {
35870 LT : 'HH:mm',
35871 LTS : 'HH:mm:ss',
35872 L : 'DD/MM/YYYY',
35873 LL : 'D MMMM YYYY',
35874 LLL : 'D MMMM YYYY HH:mm',
35875 LLLL : 'ວັນdddd D MMMM YYYY HH:mm'
35876 },
35877 meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/,
35878 isPM: function (input) {
35879 return input === 'ຕອນແລງ';
35880 },
35881 meridiem : function (hour, minute, isLower) {
35882 if (hour < 12) {
35883 return 'ຕອນເຊົ້າ';
35884 } else {
35885 return 'ຕອນແລງ';
35886 }
35887 },
35888 calendar : {
35889 sameDay : '[ມື້ນີ້ເວລາ] LT',
35890 nextDay : '[ມື້ອື່ນເວລາ] LT',
35891 nextWeek : '[ວັນ]dddd[ໜ້າເວລາ] LT',
35892 lastDay : '[ມື້ວານນີ້ເວລາ] LT',
35893 lastWeek : '[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT',
35894 sameElse : 'L'
35895 },
35896 relativeTime : {
35897 future : 'ອີກ %s',
35898 past : '%sຜ່ານມາ',
35899 s : 'ບໍ່ເທົ່າໃດວິນາທີ',
35900 ss : '%d ວິນາທີ' ,
35901 m : '1 ນາທີ',
35902 mm : '%d ນາທີ',
35903 h : '1 ຊົ່ວໂມງ',
35904 hh : '%d ຊົ່ວໂມງ',
35905 d : '1 ມື້',
35906 dd : '%d ມື້',
35907 M : '1 ເດືອນ',
35908 MM : '%d ເດືອນ',
35909 y : '1 ປີ',
35910 yy : '%d ປີ'
35911 },
35912 dayOfMonthOrdinalParse: /(ທີ່)\d{1,2}/,
35913 ordinal : function (number) {
35914 return 'ທີ່' + number;
35915 }
35916 });
35917
35918 return lo;
35919
35920 })));
35921
35922
35923/***/ }),
35924/* 397 */
35925/***/ (function(module, exports, __webpack_require__) {
35926
35927 //! moment.js locale configuration
35928
35929 ;(function (global, factory) {
35930 true ? factory(__webpack_require__(327)) :
35931 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
35932 factory(global.moment)
35933 }(this, (function (moment) { 'use strict';
35934
35935
35936 var units = {
35937 'ss' : 'sekundė_sekundžių_sekundes',
35938 'm' : 'minutė_minutės_minutę',
35939 'mm': 'minutės_minučių_minutes',
35940 'h' : 'valanda_valandos_valandą',
35941 'hh': 'valandos_valandų_valandas',
35942 'd' : 'diena_dienos_dieną',
35943 'dd': 'dienos_dienų_dienas',
35944 'M' : 'mėnuo_mėnesio_mėnesį',
35945 'MM': 'mėnesiai_mėnesių_mėnesius',
35946 'y' : 'metai_metų_metus',
35947 'yy': 'metai_metų_metus'
35948 };
35949 function translateSeconds(number, withoutSuffix, key, isFuture) {
35950 if (withoutSuffix) {
35951 return 'kelios sekundės';
35952 } else {
35953 return isFuture ? 'kelių sekundžių' : 'kelias sekundes';
35954 }
35955 }
35956 function translateSingular(number, withoutSuffix, key, isFuture) {
35957 return withoutSuffix ? forms(key)[0] : (isFuture ? forms(key)[1] : forms(key)[2]);
35958 }
35959 function special(number) {
35960 return number % 10 === 0 || (number > 10 && number < 20);
35961 }
35962 function forms(key) {
35963 return units[key].split('_');
35964 }
35965 function translate(number, withoutSuffix, key, isFuture) {
35966 var result = number + ' ';
35967 if (number === 1) {
35968 return result + translateSingular(number, withoutSuffix, key[0], isFuture);
35969 } else if (withoutSuffix) {
35970 return result + (special(number) ? forms(key)[1] : forms(key)[0]);
35971 } else {
35972 if (isFuture) {
35973 return result + forms(key)[1];
35974 } else {
35975 return result + (special(number) ? forms(key)[1] : forms(key)[2]);
35976 }
35977 }
35978 }
35979 var lt = moment.defineLocale('lt', {
35980 months : {
35981 format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split('_'),
35982 standalone: 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split('_'),
35983 isFormat: /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/
35984 },
35985 monthsShort : 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'),
35986 weekdays : {
35987 format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split('_'),
35988 standalone: 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split('_'),
35989 isFormat: /dddd HH:mm/
35990 },
35991 weekdaysShort : 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'),
35992 weekdaysMin : 'S_P_A_T_K_Pn_Š'.split('_'),
35993 weekdaysParseExact : true,
35994 longDateFormat : {
35995 LT : 'HH:mm',
35996 LTS : 'HH:mm:ss',
35997 L : 'YYYY-MM-DD',
35998 LL : 'YYYY [m.] MMMM D [d.]',
35999 LLL : 'YYYY [m.] MMMM D [d.], HH:mm [val.]',
36000 LLLL : 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]',
36001 l : 'YYYY-MM-DD',
36002 ll : 'YYYY [m.] MMMM D [d.]',
36003 lll : 'YYYY [m.] MMMM D [d.], HH:mm [val.]',
36004 llll : 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]'
36005 },
36006 calendar : {
36007 sameDay : '[Šiandien] LT',
36008 nextDay : '[Rytoj] LT',
36009 nextWeek : 'dddd LT',
36010 lastDay : '[Vakar] LT',
36011 lastWeek : '[Praėjusį] dddd LT',
36012 sameElse : 'L'
36013 },
36014 relativeTime : {
36015 future : 'po %s',
36016 past : 'prieš %s',
36017 s : translateSeconds,
36018 ss : translate,
36019 m : translateSingular,
36020 mm : translate,
36021 h : translateSingular,
36022 hh : translate,
36023 d : translateSingular,
36024 dd : translate,
36025 M : translateSingular,
36026 MM : translate,
36027 y : translateSingular,
36028 yy : translate
36029 },
36030 dayOfMonthOrdinalParse: /\d{1,2}-oji/,
36031 ordinal : function (number) {
36032 return number + '-oji';
36033 },
36034 week : {
36035 dow : 1, // Monday is the first day of the week.
36036 doy : 4 // The week that contains Jan 4th is the first week of the year.
36037 }
36038 });
36039
36040 return lt;
36041
36042 })));
36043
36044
36045/***/ }),
36046/* 398 */
36047/***/ (function(module, exports, __webpack_require__) {
36048
36049 //! moment.js locale configuration
36050
36051 ;(function (global, factory) {
36052 true ? factory(__webpack_require__(327)) :
36053 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
36054 factory(global.moment)
36055 }(this, (function (moment) { 'use strict';
36056
36057
36058 var units = {
36059 'ss': 'sekundes_sekundēm_sekunde_sekundes'.split('_'),
36060 'm': 'minūtes_minūtēm_minūte_minūtes'.split('_'),
36061 'mm': 'minūtes_minūtēm_minūte_minūtes'.split('_'),
36062 'h': 'stundas_stundām_stunda_stundas'.split('_'),
36063 'hh': 'stundas_stundām_stunda_stundas'.split('_'),
36064 'd': 'dienas_dienām_diena_dienas'.split('_'),
36065 'dd': 'dienas_dienām_diena_dienas'.split('_'),
36066 'M': 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),
36067 'MM': 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),
36068 'y': 'gada_gadiem_gads_gadi'.split('_'),
36069 'yy': 'gada_gadiem_gads_gadi'.split('_')
36070 };
36071 /**
36072 * @param withoutSuffix boolean true = a length of time; false = before/after a period of time.
36073 */
36074 function format(forms, number, withoutSuffix) {
36075 if (withoutSuffix) {
36076 // E.g. "21 minūte", "3 minūtes".
36077 return number % 10 === 1 && number % 100 !== 11 ? forms[2] : forms[3];
36078 } else {
36079 // E.g. "21 minūtes" as in "pēc 21 minūtes".
36080 // E.g. "3 minūtēm" as in "pēc 3 minūtēm".
36081 return number % 10 === 1 && number % 100 !== 11 ? forms[0] : forms[1];
36082 }
36083 }
36084 function relativeTimeWithPlural(number, withoutSuffix, key) {
36085 return number + ' ' + format(units[key], number, withoutSuffix);
36086 }
36087 function relativeTimeWithSingular(number, withoutSuffix, key) {
36088 return format(units[key], number, withoutSuffix);
36089 }
36090 function relativeSeconds(number, withoutSuffix) {
36091 return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm';
36092 }
36093
36094 var lv = moment.defineLocale('lv', {
36095 months : 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split('_'),
36096 monthsShort : 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split('_'),
36097 weekdays : 'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split('_'),
36098 weekdaysShort : 'Sv_P_O_T_C_Pk_S'.split('_'),
36099 weekdaysMin : 'Sv_P_O_T_C_Pk_S'.split('_'),
36100 weekdaysParseExact : true,
36101 longDateFormat : {
36102 LT : 'HH:mm',
36103 LTS : 'HH:mm:ss',
36104 L : 'DD.MM.YYYY.',
36105 LL : 'YYYY. [gada] D. MMMM',
36106 LLL : 'YYYY. [gada] D. MMMM, HH:mm',
36107 LLLL : 'YYYY. [gada] D. MMMM, dddd, HH:mm'
36108 },
36109 calendar : {
36110 sameDay : '[Šodien pulksten] LT',
36111 nextDay : '[Rīt pulksten] LT',
36112 nextWeek : 'dddd [pulksten] LT',
36113 lastDay : '[Vakar pulksten] LT',
36114 lastWeek : '[Pagājušā] dddd [pulksten] LT',
36115 sameElse : 'L'
36116 },
36117 relativeTime : {
36118 future : 'pēc %s',
36119 past : 'pirms %s',
36120 s : relativeSeconds,
36121 ss : relativeTimeWithPlural,
36122 m : relativeTimeWithSingular,
36123 mm : relativeTimeWithPlural,
36124 h : relativeTimeWithSingular,
36125 hh : relativeTimeWithPlural,
36126 d : relativeTimeWithSingular,
36127 dd : relativeTimeWithPlural,
36128 M : relativeTimeWithSingular,
36129 MM : relativeTimeWithPlural,
36130 y : relativeTimeWithSingular,
36131 yy : relativeTimeWithPlural
36132 },
36133 dayOfMonthOrdinalParse: /\d{1,2}\./,
36134 ordinal : '%d.',
36135 week : {
36136 dow : 1, // Monday is the first day of the week.
36137 doy : 4 // The week that contains Jan 4th is the first week of the year.
36138 }
36139 });
36140
36141 return lv;
36142
36143 })));
36144
36145
36146/***/ }),
36147/* 399 */
36148/***/ (function(module, exports, __webpack_require__) {
36149
36150 //! moment.js locale configuration
36151
36152 ;(function (global, factory) {
36153 true ? factory(__webpack_require__(327)) :
36154 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
36155 factory(global.moment)
36156 }(this, (function (moment) { 'use strict';
36157
36158
36159 var translator = {
36160 words: { //Different grammatical cases
36161 ss: ['sekund', 'sekunda', 'sekundi'],
36162 m: ['jedan minut', 'jednog minuta'],
36163 mm: ['minut', 'minuta', 'minuta'],
36164 h: ['jedan sat', 'jednog sata'],
36165 hh: ['sat', 'sata', 'sati'],
36166 dd: ['dan', 'dana', 'dana'],
36167 MM: ['mjesec', 'mjeseca', 'mjeseci'],
36168 yy: ['godina', 'godine', 'godina']
36169 },
36170 correctGrammaticalCase: function (number, wordKey) {
36171 return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);
36172 },
36173 translate: function (number, withoutSuffix, key) {
36174 var wordKey = translator.words[key];
36175 if (key.length === 1) {
36176 return withoutSuffix ? wordKey[0] : wordKey[1];
36177 } else {
36178 return number + ' ' + translator.correctGrammaticalCase(number, wordKey);
36179 }
36180 }
36181 };
36182
36183 var me = moment.defineLocale('me', {
36184 months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'),
36185 monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),
36186 monthsParseExact : true,
36187 weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),
36188 weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),
36189 weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),
36190 weekdaysParseExact : true,
36191 longDateFormat: {
36192 LT: 'H:mm',
36193 LTS : 'H:mm:ss',
36194 L: 'DD.MM.YYYY',
36195 LL: 'D. MMMM YYYY',
36196 LLL: 'D. MMMM YYYY H:mm',
36197 LLLL: 'dddd, D. MMMM YYYY H:mm'
36198 },
36199 calendar: {
36200 sameDay: '[danas u] LT',
36201 nextDay: '[sjutra u] LT',
36202
36203 nextWeek: function () {
36204 switch (this.day()) {
36205 case 0:
36206 return '[u] [nedjelju] [u] LT';
36207 case 3:
36208 return '[u] [srijedu] [u] LT';
36209 case 6:
36210 return '[u] [subotu] [u] LT';
36211 case 1:
36212 case 2:
36213 case 4:
36214 case 5:
36215 return '[u] dddd [u] LT';
36216 }
36217 },
36218 lastDay : '[juče u] LT',
36219 lastWeek : function () {
36220 var lastWeekDays = [
36221 '[prošle] [nedjelje] [u] LT',
36222 '[prošlog] [ponedjeljka] [u] LT',
36223 '[prošlog] [utorka] [u] LT',
36224 '[prošle] [srijede] [u] LT',
36225 '[prošlog] [četvrtka] [u] LT',
36226 '[prošlog] [petka] [u] LT',
36227 '[prošle] [subote] [u] LT'
36228 ];
36229 return lastWeekDays[this.day()];
36230 },
36231 sameElse : 'L'
36232 },
36233 relativeTime : {
36234 future : 'za %s',
36235 past : 'prije %s',
36236 s : 'nekoliko sekundi',
36237 ss : translator.translate,
36238 m : translator.translate,
36239 mm : translator.translate,
36240 h : translator.translate,
36241 hh : translator.translate,
36242 d : 'dan',
36243 dd : translator.translate,
36244 M : 'mjesec',
36245 MM : translator.translate,
36246 y : 'godinu',
36247 yy : translator.translate
36248 },
36249 dayOfMonthOrdinalParse: /\d{1,2}\./,
36250 ordinal : '%d.',
36251 week : {
36252 dow : 1, // Monday is the first day of the week.
36253 doy : 7 // The week that contains Jan 1st is the first week of the year.
36254 }
36255 });
36256
36257 return me;
36258
36259 })));
36260
36261
36262/***/ }),
36263/* 400 */
36264/***/ (function(module, exports, __webpack_require__) {
36265
36266 //! moment.js locale configuration
36267
36268 ;(function (global, factory) {
36269 true ? factory(__webpack_require__(327)) :
36270 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
36271 factory(global.moment)
36272 }(this, (function (moment) { 'use strict';
36273
36274
36275 var mi = moment.defineLocale('mi', {
36276 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('_'),
36277 monthsShort: 'Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split('_'),
36278 monthsRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,
36279 monthsStrictRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,
36280 monthsShortRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,
36281 monthsShortStrictRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i,
36282 weekdays: 'Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei'.split('_'),
36283 weekdaysShort: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),
36284 weekdaysMin: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),
36285 longDateFormat: {
36286 LT: 'HH:mm',
36287 LTS: 'HH:mm:ss',
36288 L: 'DD/MM/YYYY',
36289 LL: 'D MMMM YYYY',
36290 LLL: 'D MMMM YYYY [i] HH:mm',
36291 LLLL: 'dddd, D MMMM YYYY [i] HH:mm'
36292 },
36293 calendar: {
36294 sameDay: '[i teie mahana, i] LT',
36295 nextDay: '[apopo i] LT',
36296 nextWeek: 'dddd [i] LT',
36297 lastDay: '[inanahi i] LT',
36298 lastWeek: 'dddd [whakamutunga i] LT',
36299 sameElse: 'L'
36300 },
36301 relativeTime: {
36302 future: 'i roto i %s',
36303 past: '%s i mua',
36304 s: 'te hēkona ruarua',
36305 ss: '%d hēkona',
36306 m: 'he meneti',
36307 mm: '%d meneti',
36308 h: 'te haora',
36309 hh: '%d haora',
36310 d: 'he ra',
36311 dd: '%d ra',
36312 M: 'he marama',
36313 MM: '%d marama',
36314 y: 'he tau',
36315 yy: '%d tau'
36316 },
36317 dayOfMonthOrdinalParse: /\d{1,2}º/,
36318 ordinal: '%dº',
36319 week : {
36320 dow : 1, // Monday is the first day of the week.
36321 doy : 4 // The week that contains Jan 4th is the first week of the year.
36322 }
36323 });
36324
36325 return mi;
36326
36327 })));
36328
36329
36330/***/ }),
36331/* 401 */
36332/***/ (function(module, exports, __webpack_require__) {
36333
36334 //! moment.js locale configuration
36335
36336 ;(function (global, factory) {
36337 true ? factory(__webpack_require__(327)) :
36338 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
36339 factory(global.moment)
36340 }(this, (function (moment) { 'use strict';
36341
36342
36343 var mk = moment.defineLocale('mk', {
36344 months : 'јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември'.split('_'),
36345 monthsShort : 'јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек'.split('_'),
36346 weekdays : 'недела_понеделник_вторник_среда_четврток_петок_сабота'.split('_'),
36347 weekdaysShort : 'нед_пон_вто_сре_чет_пет_саб'.split('_'),
36348 weekdaysMin : 'нe_пo_вт_ср_че_пе_сa'.split('_'),
36349 longDateFormat : {
36350 LT : 'H:mm',
36351 LTS : 'H:mm:ss',
36352 L : 'D.MM.YYYY',
36353 LL : 'D MMMM YYYY',
36354 LLL : 'D MMMM YYYY H:mm',
36355 LLLL : 'dddd, D MMMM YYYY H:mm'
36356 },
36357 calendar : {
36358 sameDay : '[Денес во] LT',
36359 nextDay : '[Утре во] LT',
36360 nextWeek : '[Во] dddd [во] LT',
36361 lastDay : '[Вчера во] LT',
36362 lastWeek : function () {
36363 switch (this.day()) {
36364 case 0:
36365 case 3:
36366 case 6:
36367 return '[Изминатата] dddd [во] LT';
36368 case 1:
36369 case 2:
36370 case 4:
36371 case 5:
36372 return '[Изминатиот] dddd [во] LT';
36373 }
36374 },
36375 sameElse : 'L'
36376 },
36377 relativeTime : {
36378 future : 'после %s',
36379 past : 'пред %s',
36380 s : 'неколку секунди',
36381 ss : '%d секунди',
36382 m : 'минута',
36383 mm : '%d минути',
36384 h : 'час',
36385 hh : '%d часа',
36386 d : 'ден',
36387 dd : '%d дена',
36388 M : 'месец',
36389 MM : '%d месеци',
36390 y : 'година',
36391 yy : '%d години'
36392 },
36393 dayOfMonthOrdinalParse: /\d{1,2}-(ев|ен|ти|ви|ри|ми)/,
36394 ordinal : function (number) {
36395 var lastDigit = number % 10,
36396 last2Digits = number % 100;
36397 if (number === 0) {
36398 return number + '-ев';
36399 } else if (last2Digits === 0) {
36400 return number + '-ен';
36401 } else if (last2Digits > 10 && last2Digits < 20) {
36402 return number + '-ти';
36403 } else if (lastDigit === 1) {
36404 return number + '-ви';
36405 } else if (lastDigit === 2) {
36406 return number + '-ри';
36407 } else if (lastDigit === 7 || lastDigit === 8) {
36408 return number + '-ми';
36409 } else {
36410 return number + '-ти';
36411 }
36412 },
36413 week : {
36414 dow : 1, // Monday is the first day of the week.
36415 doy : 7 // The week that contains Jan 1st is the first week of the year.
36416 }
36417 });
36418
36419 return mk;
36420
36421 })));
36422
36423
36424/***/ }),
36425/* 402 */
36426/***/ (function(module, exports, __webpack_require__) {
36427
36428 //! moment.js locale configuration
36429
36430 ;(function (global, factory) {
36431 true ? factory(__webpack_require__(327)) :
36432 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
36433 factory(global.moment)
36434 }(this, (function (moment) { 'use strict';
36435
36436
36437 var ml = moment.defineLocale('ml', {
36438 months : 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split('_'),
36439 monthsShort : 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split('_'),
36440 monthsParseExact : true,
36441 weekdays : 'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split('_'),
36442 weekdaysShort : 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'),
36443 weekdaysMin : 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'),
36444 longDateFormat : {
36445 LT : 'A h:mm -നു',
36446 LTS : 'A h:mm:ss -നു',
36447 L : 'DD/MM/YYYY',
36448 LL : 'D MMMM YYYY',
36449 LLL : 'D MMMM YYYY, A h:mm -നു',
36450 LLLL : 'dddd, D MMMM YYYY, A h:mm -നു'
36451 },
36452 calendar : {
36453 sameDay : '[ഇന്ന്] LT',
36454 nextDay : '[നാളെ] LT',
36455 nextWeek : 'dddd, LT',
36456 lastDay : '[ഇന്നലെ] LT',
36457 lastWeek : '[കഴിഞ്ഞ] dddd, LT',
36458 sameElse : 'L'
36459 },
36460 relativeTime : {
36461 future : '%s കഴിഞ്ഞ്',
36462 past : '%s മുൻപ്',
36463 s : 'അൽപ നിമിഷങ്ങൾ',
36464 ss : '%d സെക്കൻഡ്',
36465 m : 'ഒരു മിനിറ്റ്',
36466 mm : '%d മിനിറ്റ്',
36467 h : 'ഒരു മണിക്കൂർ',
36468 hh : '%d മണിക്കൂർ',
36469 d : 'ഒരു ദിവസം',
36470 dd : '%d ദിവസം',
36471 M : 'ഒരു മാസം',
36472 MM : '%d മാസം',
36473 y : 'ഒരു വർഷം',
36474 yy : '%d വർഷം'
36475 },
36476 meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,
36477 meridiemHour : function (hour, meridiem) {
36478 if (hour === 12) {
36479 hour = 0;
36480 }
36481 if ((meridiem === 'രാത്രി' && hour >= 4) ||
36482 meridiem === 'ഉച്ച കഴിഞ്ഞ്' ||
36483 meridiem === 'വൈകുന്നേരം') {
36484 return hour + 12;
36485 } else {
36486 return hour;
36487 }
36488 },
36489 meridiem : function (hour, minute, isLower) {
36490 if (hour < 4) {
36491 return 'രാത്രി';
36492 } else if (hour < 12) {
36493 return 'രാവിലെ';
36494 } else if (hour < 17) {
36495 return 'ഉച്ച കഴിഞ്ഞ്';
36496 } else if (hour < 20) {
36497 return 'വൈകുന്നേരം';
36498 } else {
36499 return 'രാത്രി';
36500 }
36501 }
36502 });
36503
36504 return ml;
36505
36506 })));
36507
36508
36509/***/ }),
36510/* 403 */
36511/***/ (function(module, exports, __webpack_require__) {
36512
36513 //! moment.js locale configuration
36514
36515 ;(function (global, factory) {
36516 true ? factory(__webpack_require__(327)) :
36517 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
36518 factory(global.moment)
36519 }(this, (function (moment) { 'use strict';
36520
36521
36522 function translate(number, withoutSuffix, key, isFuture) {
36523 switch (key) {
36524 case 's':
36525 return withoutSuffix ? 'хэдхэн секунд' : 'хэдхэн секундын';
36526 case 'ss':
36527 return number + (withoutSuffix ? ' секунд' : ' секундын');
36528 case 'm':
36529 case 'mm':
36530 return number + (withoutSuffix ? ' минут' : ' минутын');
36531 case 'h':
36532 case 'hh':
36533 return number + (withoutSuffix ? ' цаг' : ' цагийн');
36534 case 'd':
36535 case 'dd':
36536 return number + (withoutSuffix ? ' өдөр' : ' өдрийн');
36537 case 'M':
36538 case 'MM':
36539 return number + (withoutSuffix ? ' сар' : ' сарын');
36540 case 'y':
36541 case 'yy':
36542 return number + (withoutSuffix ? ' жил' : ' жилийн');
36543 default:
36544 return number;
36545 }
36546 }
36547
36548 var mn = moment.defineLocale('mn', {
36549 months : 'Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар'.split('_'),
36550 monthsShort : '1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар'.split('_'),
36551 monthsParseExact : true,
36552 weekdays : 'Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба'.split('_'),
36553 weekdaysShort : 'Ням_Дав_Мяг_Лха_Пүр_Баа_Бям'.split('_'),
36554 weekdaysMin : 'Ня_Да_Мя_Лх_Пү_Ба_Бя'.split('_'),
36555 weekdaysParseExact : true,
36556 longDateFormat : {
36557 LT : 'HH:mm',
36558 LTS : 'HH:mm:ss',
36559 L : 'YYYY-MM-DD',
36560 LL : 'YYYY оны MMMMын D',
36561 LLL : 'YYYY оны MMMMын D HH:mm',
36562 LLLL : 'dddd, YYYY оны MMMMын D HH:mm'
36563 },
36564 meridiemParse: /ҮӨ|ҮХ/i,
36565 isPM : function (input) {
36566 return input === 'ҮХ';
36567 },
36568 meridiem : function (hour, minute, isLower) {
36569 if (hour < 12) {
36570 return 'ҮӨ';
36571 } else {
36572 return 'ҮХ';
36573 }
36574 },
36575 calendar : {
36576 sameDay : '[Өнөөдөр] LT',
36577 nextDay : '[Маргааш] LT',
36578 nextWeek : '[Ирэх] dddd LT',
36579 lastDay : '[Өчигдөр] LT',
36580 lastWeek : '[Өнгөрсөн] dddd LT',
36581 sameElse : 'L'
36582 },
36583 relativeTime : {
36584 future : '%s дараа',
36585 past : '%s өмнө',
36586 s : translate,
36587 ss : translate,
36588 m : translate,
36589 mm : translate,
36590 h : translate,
36591 hh : translate,
36592 d : translate,
36593 dd : translate,
36594 M : translate,
36595 MM : translate,
36596 y : translate,
36597 yy : translate
36598 },
36599 dayOfMonthOrdinalParse: /\d{1,2} өдөр/,
36600 ordinal : function (number, period) {
36601 switch (period) {
36602 case 'd':
36603 case 'D':
36604 case 'DDD':
36605 return number + ' өдөр';
36606 default:
36607 return number;
36608 }
36609 }
36610 });
36611
36612 return mn;
36613
36614 })));
36615
36616
36617/***/ }),
36618/* 404 */
36619/***/ (function(module, exports, __webpack_require__) {
36620
36621 //! moment.js locale configuration
36622
36623 ;(function (global, factory) {
36624 true ? factory(__webpack_require__(327)) :
36625 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
36626 factory(global.moment)
36627 }(this, (function (moment) { 'use strict';
36628
36629
36630 var symbolMap = {
36631 '1': '१',
36632 '2': '२',
36633 '3': '३',
36634 '4': '४',
36635 '5': '५',
36636 '6': '६',
36637 '7': '७',
36638 '8': '८',
36639 '9': '९',
36640 '0': '०'
36641 },
36642 numberMap = {
36643 '१': '1',
36644 '२': '2',
36645 '३': '3',
36646 '४': '4',
36647 '५': '5',
36648 '६': '6',
36649 '७': '7',
36650 '८': '8',
36651 '९': '9',
36652 '०': '0'
36653 };
36654
36655 function relativeTimeMr(number, withoutSuffix, string, isFuture)
36656 {
36657 var output = '';
36658 if (withoutSuffix) {
36659 switch (string) {
36660 case 's': output = 'काही सेकंद'; break;
36661 case 'ss': output = '%d सेकंद'; break;
36662 case 'm': output = 'एक मिनिट'; break;
36663 case 'mm': output = '%d मिनिटे'; break;
36664 case 'h': output = 'एक तास'; break;
36665 case 'hh': output = '%d तास'; break;
36666 case 'd': output = 'एक दिवस'; break;
36667 case 'dd': output = '%d दिवस'; break;
36668 case 'M': output = 'एक महिना'; break;
36669 case 'MM': output = '%d महिने'; break;
36670 case 'y': output = 'एक वर्ष'; break;
36671 case 'yy': output = '%d वर्षे'; break;
36672 }
36673 }
36674 else {
36675 switch (string) {
36676 case 's': output = 'काही सेकंदां'; break;
36677 case 'ss': output = '%d सेकंदां'; break;
36678 case 'm': output = 'एका मिनिटा'; break;
36679 case 'mm': output = '%d मिनिटां'; break;
36680 case 'h': output = 'एका तासा'; break;
36681 case 'hh': output = '%d तासां'; break;
36682 case 'd': output = 'एका दिवसा'; break;
36683 case 'dd': output = '%d दिवसां'; break;
36684 case 'M': output = 'एका महिन्या'; break;
36685 case 'MM': output = '%d महिन्यां'; break;
36686 case 'y': output = 'एका वर्षा'; break;
36687 case 'yy': output = '%d वर्षां'; break;
36688 }
36689 }
36690 return output.replace(/%d/i, number);
36691 }
36692
36693 var mr = moment.defineLocale('mr', {
36694 months : 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split('_'),
36695 monthsShort: 'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split('_'),
36696 monthsParseExact : true,
36697 weekdays : 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),
36698 weekdaysShort : 'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split('_'),
36699 weekdaysMin : 'र_सो_मं_बु_गु_शु_श'.split('_'),
36700 longDateFormat : {
36701 LT : 'A h:mm वाजता',
36702 LTS : 'A h:mm:ss वाजता',
36703 L : 'DD/MM/YYYY',
36704 LL : 'D MMMM YYYY',
36705 LLL : 'D MMMM YYYY, A h:mm वाजता',
36706 LLLL : 'dddd, D MMMM YYYY, A h:mm वाजता'
36707 },
36708 calendar : {
36709 sameDay : '[आज] LT',
36710 nextDay : '[उद्या] LT',
36711 nextWeek : 'dddd, LT',
36712 lastDay : '[काल] LT',
36713 lastWeek: '[मागील] dddd, LT',
36714 sameElse : 'L'
36715 },
36716 relativeTime : {
36717 future: '%sमध्ये',
36718 past: '%sपूर्वी',
36719 s: relativeTimeMr,
36720 ss: relativeTimeMr,
36721 m: relativeTimeMr,
36722 mm: relativeTimeMr,
36723 h: relativeTimeMr,
36724 hh: relativeTimeMr,
36725 d: relativeTimeMr,
36726 dd: relativeTimeMr,
36727 M: relativeTimeMr,
36728 MM: relativeTimeMr,
36729 y: relativeTimeMr,
36730 yy: relativeTimeMr
36731 },
36732 preparse: function (string) {
36733 return string.replace(/[१२३४५६७८९०]/g, function (match) {
36734 return numberMap[match];
36735 });
36736 },
36737 postformat: function (string) {
36738 return string.replace(/\d/g, function (match) {
36739 return symbolMap[match];
36740 });
36741 },
36742 meridiemParse: /रात्री|सकाळी|दुपारी|सायंकाळी/,
36743 meridiemHour : function (hour, meridiem) {
36744 if (hour === 12) {
36745 hour = 0;
36746 }
36747 if (meridiem === 'रात्री') {
36748 return hour < 4 ? hour : hour + 12;
36749 } else if (meridiem === 'सकाळी') {
36750 return hour;
36751 } else if (meridiem === 'दुपारी') {
36752 return hour >= 10 ? hour : hour + 12;
36753 } else if (meridiem === 'सायंकाळी') {
36754 return hour + 12;
36755 }
36756 },
36757 meridiem: function (hour, minute, isLower) {
36758 if (hour < 4) {
36759 return 'रात्री';
36760 } else if (hour < 10) {
36761 return 'सकाळी';
36762 } else if (hour < 17) {
36763 return 'दुपारी';
36764 } else if (hour < 20) {
36765 return 'सायंकाळी';
36766 } else {
36767 return 'रात्री';
36768 }
36769 },
36770 week : {
36771 dow : 0, // Sunday is the first day of the week.
36772 doy : 6 // The week that contains Jan 1st is the first week of the year.
36773 }
36774 });
36775
36776 return mr;
36777
36778 })));
36779
36780
36781/***/ }),
36782/* 405 */
36783/***/ (function(module, exports, __webpack_require__) {
36784
36785 //! moment.js locale configuration
36786
36787 ;(function (global, factory) {
36788 true ? factory(__webpack_require__(327)) :
36789 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
36790 factory(global.moment)
36791 }(this, (function (moment) { 'use strict';
36792
36793
36794 var ms = moment.defineLocale('ms', {
36795 months : 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'),
36796 monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),
36797 weekdays : 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),
36798 weekdaysShort : 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),
36799 weekdaysMin : 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),
36800 longDateFormat : {
36801 LT : 'HH.mm',
36802 LTS : 'HH.mm.ss',
36803 L : 'DD/MM/YYYY',
36804 LL : 'D MMMM YYYY',
36805 LLL : 'D MMMM YYYY [pukul] HH.mm',
36806 LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'
36807 },
36808 meridiemParse: /pagi|tengahari|petang|malam/,
36809 meridiemHour: function (hour, meridiem) {
36810 if (hour === 12) {
36811 hour = 0;
36812 }
36813 if (meridiem === 'pagi') {
36814 return hour;
36815 } else if (meridiem === 'tengahari') {
36816 return hour >= 11 ? hour : hour + 12;
36817 } else if (meridiem === 'petang' || meridiem === 'malam') {
36818 return hour + 12;
36819 }
36820 },
36821 meridiem : function (hours, minutes, isLower) {
36822 if (hours < 11) {
36823 return 'pagi';
36824 } else if (hours < 15) {
36825 return 'tengahari';
36826 } else if (hours < 19) {
36827 return 'petang';
36828 } else {
36829 return 'malam';
36830 }
36831 },
36832 calendar : {
36833 sameDay : '[Hari ini pukul] LT',
36834 nextDay : '[Esok pukul] LT',
36835 nextWeek : 'dddd [pukul] LT',
36836 lastDay : '[Kelmarin pukul] LT',
36837 lastWeek : 'dddd [lepas pukul] LT',
36838 sameElse : 'L'
36839 },
36840 relativeTime : {
36841 future : 'dalam %s',
36842 past : '%s yang lepas',
36843 s : 'beberapa saat',
36844 ss : '%d saat',
36845 m : 'seminit',
36846 mm : '%d minit',
36847 h : 'sejam',
36848 hh : '%d jam',
36849 d : 'sehari',
36850 dd : '%d hari',
36851 M : 'sebulan',
36852 MM : '%d bulan',
36853 y : 'setahun',
36854 yy : '%d tahun'
36855 },
36856 week : {
36857 dow : 1, // Monday is the first day of the week.
36858 doy : 7 // The week that contains Jan 1st is the first week of the year.
36859 }
36860 });
36861
36862 return ms;
36863
36864 })));
36865
36866
36867/***/ }),
36868/* 406 */
36869/***/ (function(module, exports, __webpack_require__) {
36870
36871 //! moment.js locale configuration
36872
36873 ;(function (global, factory) {
36874 true ? factory(__webpack_require__(327)) :
36875 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
36876 factory(global.moment)
36877 }(this, (function (moment) { 'use strict';
36878
36879
36880 var msMy = moment.defineLocale('ms-my', {
36881 months : 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'),
36882 monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),
36883 weekdays : 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),
36884 weekdaysShort : 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),
36885 weekdaysMin : 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),
36886 longDateFormat : {
36887 LT : 'HH.mm',
36888 LTS : 'HH.mm.ss',
36889 L : 'DD/MM/YYYY',
36890 LL : 'D MMMM YYYY',
36891 LLL : 'D MMMM YYYY [pukul] HH.mm',
36892 LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'
36893 },
36894 meridiemParse: /pagi|tengahari|petang|malam/,
36895 meridiemHour: function (hour, meridiem) {
36896 if (hour === 12) {
36897 hour = 0;
36898 }
36899 if (meridiem === 'pagi') {
36900 return hour;
36901 } else if (meridiem === 'tengahari') {
36902 return hour >= 11 ? hour : hour + 12;
36903 } else if (meridiem === 'petang' || meridiem === 'malam') {
36904 return hour + 12;
36905 }
36906 },
36907 meridiem : function (hours, minutes, isLower) {
36908 if (hours < 11) {
36909 return 'pagi';
36910 } else if (hours < 15) {
36911 return 'tengahari';
36912 } else if (hours < 19) {
36913 return 'petang';
36914 } else {
36915 return 'malam';
36916 }
36917 },
36918 calendar : {
36919 sameDay : '[Hari ini pukul] LT',
36920 nextDay : '[Esok pukul] LT',
36921 nextWeek : 'dddd [pukul] LT',
36922 lastDay : '[Kelmarin pukul] LT',
36923 lastWeek : 'dddd [lepas pukul] LT',
36924 sameElse : 'L'
36925 },
36926 relativeTime : {
36927 future : 'dalam %s',
36928 past : '%s yang lepas',
36929 s : 'beberapa saat',
36930 ss : '%d saat',
36931 m : 'seminit',
36932 mm : '%d minit',
36933 h : 'sejam',
36934 hh : '%d jam',
36935 d : 'sehari',
36936 dd : '%d hari',
36937 M : 'sebulan',
36938 MM : '%d bulan',
36939 y : 'setahun',
36940 yy : '%d tahun'
36941 },
36942 week : {
36943 dow : 1, // Monday is the first day of the week.
36944 doy : 7 // The week that contains Jan 1st is the first week of the year.
36945 }
36946 });
36947
36948 return msMy;
36949
36950 })));
36951
36952
36953/***/ }),
36954/* 407 */
36955/***/ (function(module, exports, __webpack_require__) {
36956
36957 //! moment.js locale configuration
36958
36959 ;(function (global, factory) {
36960 true ? factory(__webpack_require__(327)) :
36961 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
36962 factory(global.moment)
36963 }(this, (function (moment) { 'use strict';
36964
36965
36966 var mt = moment.defineLocale('mt', {
36967 months : 'Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru'.split('_'),
36968 monthsShort : 'Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ'.split('_'),
36969 weekdays : 'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt'.split('_'),
36970 weekdaysShort : 'Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib'.split('_'),
36971 weekdaysMin : 'Ħa_Tn_Tl_Er_Ħa_Ġi_Si'.split('_'),
36972 longDateFormat : {
36973 LT : 'HH:mm',
36974 LTS : 'HH:mm:ss',
36975 L : 'DD/MM/YYYY',
36976 LL : 'D MMMM YYYY',
36977 LLL : 'D MMMM YYYY HH:mm',
36978 LLLL : 'dddd, D MMMM YYYY HH:mm'
36979 },
36980 calendar : {
36981 sameDay : '[Illum fil-]LT',
36982 nextDay : '[Għada fil-]LT',
36983 nextWeek : 'dddd [fil-]LT',
36984 lastDay : '[Il-bieraħ fil-]LT',
36985 lastWeek : 'dddd [li għadda] [fil-]LT',
36986 sameElse : 'L'
36987 },
36988 relativeTime : {
36989 future : 'f’ %s',
36990 past : '%s ilu',
36991 s : 'ftit sekondi',
36992 ss : '%d sekondi',
36993 m : 'minuta',
36994 mm : '%d minuti',
36995 h : 'siegħa',
36996 hh : '%d siegħat',
36997 d : 'ġurnata',
36998 dd : '%d ġranet',
36999 M : 'xahar',
37000 MM : '%d xhur',
37001 y : 'sena',
37002 yy : '%d sni'
37003 },
37004 dayOfMonthOrdinalParse : /\d{1,2}º/,
37005 ordinal: '%dº',
37006 week : {
37007 dow : 1, // Monday is the first day of the week.
37008 doy : 4 // The week that contains Jan 4th is the first week of the year.
37009 }
37010 });
37011
37012 return mt;
37013
37014 })));
37015
37016
37017/***/ }),
37018/* 408 */
37019/***/ (function(module, exports, __webpack_require__) {
37020
37021 //! moment.js locale configuration
37022
37023 ;(function (global, factory) {
37024 true ? factory(__webpack_require__(327)) :
37025 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
37026 factory(global.moment)
37027 }(this, (function (moment) { 'use strict';
37028
37029
37030 var symbolMap = {
37031 '1': '၁',
37032 '2': '၂',
37033 '3': '၃',
37034 '4': '၄',
37035 '5': '၅',
37036 '6': '၆',
37037 '7': '၇',
37038 '8': '၈',
37039 '9': '၉',
37040 '0': '၀'
37041 }, numberMap = {
37042 '၁': '1',
37043 '၂': '2',
37044 '၃': '3',
37045 '၄': '4',
37046 '၅': '5',
37047 '၆': '6',
37048 '၇': '7',
37049 '၈': '8',
37050 '၉': '9',
37051 '၀': '0'
37052 };
37053
37054 var my = moment.defineLocale('my', {
37055 months: 'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split('_'),
37056 monthsShort: 'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split('_'),
37057 weekdays: 'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split('_'),
37058 weekdaysShort: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),
37059 weekdaysMin: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),
37060
37061 longDateFormat: {
37062 LT: 'HH:mm',
37063 LTS: 'HH:mm:ss',
37064 L: 'DD/MM/YYYY',
37065 LL: 'D MMMM YYYY',
37066 LLL: 'D MMMM YYYY HH:mm',
37067 LLLL: 'dddd D MMMM YYYY HH:mm'
37068 },
37069 calendar: {
37070 sameDay: '[ယနေ.] LT [မှာ]',
37071 nextDay: '[မနက်ဖြန်] LT [မှာ]',
37072 nextWeek: 'dddd LT [မှာ]',
37073 lastDay: '[မနေ.က] LT [မှာ]',
37074 lastWeek: '[ပြီးခဲ့သော] dddd LT [မှာ]',
37075 sameElse: 'L'
37076 },
37077 relativeTime: {
37078 future: 'လာမည့် %s မှာ',
37079 past: 'လွန်ခဲ့သော %s က',
37080 s: 'စက္ကန်.အနည်းငယ်',
37081 ss : '%d စက္ကန့်',
37082 m: 'တစ်မိနစ်',
37083 mm: '%d မိနစ်',
37084 h: 'တစ်နာရီ',
37085 hh: '%d နာရီ',
37086 d: 'တစ်ရက်',
37087 dd: '%d ရက်',
37088 M: 'တစ်လ',
37089 MM: '%d လ',
37090 y: 'တစ်နှစ်',
37091 yy: '%d နှစ်'
37092 },
37093 preparse: function (string) {
37094 return string.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (match) {
37095 return numberMap[match];
37096 });
37097 },
37098 postformat: function (string) {
37099 return string.replace(/\d/g, function (match) {
37100 return symbolMap[match];
37101 });
37102 },
37103 week: {
37104 dow: 1, // Monday is the first day of the week.
37105 doy: 4 // The week that contains Jan 1st is the first week of the year.
37106 }
37107 });
37108
37109 return my;
37110
37111 })));
37112
37113
37114/***/ }),
37115/* 409 */
37116/***/ (function(module, exports, __webpack_require__) {
37117
37118 //! moment.js locale configuration
37119
37120 ;(function (global, factory) {
37121 true ? factory(__webpack_require__(327)) :
37122 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
37123 factory(global.moment)
37124 }(this, (function (moment) { 'use strict';
37125
37126
37127 var nb = moment.defineLocale('nb', {
37128 months : 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),
37129 monthsShort : 'jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),
37130 monthsParseExact : true,
37131 weekdays : 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),
37132 weekdaysShort : 'sø._ma._ti._on._to._fr._lø.'.split('_'),
37133 weekdaysMin : 'sø_ma_ti_on_to_fr_lø'.split('_'),
37134 weekdaysParseExact : true,
37135 longDateFormat : {
37136 LT : 'HH:mm',
37137 LTS : 'HH:mm:ss',
37138 L : 'DD.MM.YYYY',
37139 LL : 'D. MMMM YYYY',
37140 LLL : 'D. MMMM YYYY [kl.] HH:mm',
37141 LLLL : 'dddd D. MMMM YYYY [kl.] HH:mm'
37142 },
37143 calendar : {
37144 sameDay: '[i dag kl.] LT',
37145 nextDay: '[i morgen kl.] LT',
37146 nextWeek: 'dddd [kl.] LT',
37147 lastDay: '[i går kl.] LT',
37148 lastWeek: '[forrige] dddd [kl.] LT',
37149 sameElse: 'L'
37150 },
37151 relativeTime : {
37152 future : 'om %s',
37153 past : '%s siden',
37154 s : 'noen sekunder',
37155 ss : '%d sekunder',
37156 m : 'ett minutt',
37157 mm : '%d minutter',
37158 h : 'en time',
37159 hh : '%d timer',
37160 d : 'en dag',
37161 dd : '%d dager',
37162 M : 'en måned',
37163 MM : '%d måneder',
37164 y : 'ett år',
37165 yy : '%d år'
37166 },
37167 dayOfMonthOrdinalParse: /\d{1,2}\./,
37168 ordinal : '%d.',
37169 week : {
37170 dow : 1, // Monday is the first day of the week.
37171 doy : 4 // The week that contains Jan 4th is the first week of the year.
37172 }
37173 });
37174
37175 return nb;
37176
37177 })));
37178
37179
37180/***/ }),
37181/* 410 */
37182/***/ (function(module, exports, __webpack_require__) {
37183
37184 //! moment.js locale configuration
37185
37186 ;(function (global, factory) {
37187 true ? factory(__webpack_require__(327)) :
37188 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
37189 factory(global.moment)
37190 }(this, (function (moment) { 'use strict';
37191
37192
37193 var symbolMap = {
37194 '1': '१',
37195 '2': '२',
37196 '3': '३',
37197 '4': '४',
37198 '5': '५',
37199 '6': '६',
37200 '7': '७',
37201 '8': '८',
37202 '9': '९',
37203 '0': '०'
37204 },
37205 numberMap = {
37206 '१': '1',
37207 '२': '2',
37208 '३': '3',
37209 '४': '4',
37210 '५': '5',
37211 '६': '6',
37212 '७': '7',
37213 '८': '8',
37214 '९': '9',
37215 '०': '0'
37216 };
37217
37218 var ne = moment.defineLocale('ne', {
37219 months : 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split('_'),
37220 monthsShort : 'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split('_'),
37221 monthsParseExact : true,
37222 weekdays : 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split('_'),
37223 weekdaysShort : 'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split('_'),
37224 weekdaysMin : 'आ._सो._मं._बु._बि._शु._श.'.split('_'),
37225 weekdaysParseExact : true,
37226 longDateFormat : {
37227 LT : 'Aको h:mm बजे',
37228 LTS : 'Aको h:mm:ss बजे',
37229 L : 'DD/MM/YYYY',
37230 LL : 'D MMMM YYYY',
37231 LLL : 'D MMMM YYYY, Aको h:mm बजे',
37232 LLLL : 'dddd, D MMMM YYYY, Aको h:mm बजे'
37233 },
37234 preparse: function (string) {
37235 return string.replace(/[१२३४५६७८९०]/g, function (match) {
37236 return numberMap[match];
37237 });
37238 },
37239 postformat: function (string) {
37240 return string.replace(/\d/g, function (match) {
37241 return symbolMap[match];
37242 });
37243 },
37244 meridiemParse: /राति|बिहान|दिउँसो|साँझ/,
37245 meridiemHour : function (hour, meridiem) {
37246 if (hour === 12) {
37247 hour = 0;
37248 }
37249 if (meridiem === 'राति') {
37250 return hour < 4 ? hour : hour + 12;
37251 } else if (meridiem === 'बिहान') {
37252 return hour;
37253 } else if (meridiem === 'दिउँसो') {
37254 return hour >= 10 ? hour : hour + 12;
37255 } else if (meridiem === 'साँझ') {
37256 return hour + 12;
37257 }
37258 },
37259 meridiem : function (hour, minute, isLower) {
37260 if (hour < 3) {
37261 return 'राति';
37262 } else if (hour < 12) {
37263 return 'बिहान';
37264 } else if (hour < 16) {
37265 return 'दिउँसो';
37266 } else if (hour < 20) {
37267 return 'साँझ';
37268 } else {
37269 return 'राति';
37270 }
37271 },
37272 calendar : {
37273 sameDay : '[आज] LT',
37274 nextDay : '[भोलि] LT',
37275 nextWeek : '[आउँदो] dddd[,] LT',
37276 lastDay : '[हिजो] LT',
37277 lastWeek : '[गएको] dddd[,] LT',
37278 sameElse : 'L'
37279 },
37280 relativeTime : {
37281 future : '%sमा',
37282 past : '%s अगाडि',
37283 s : 'केही क्षण',
37284 ss : '%d सेकेण्ड',
37285 m : 'एक मिनेट',
37286 mm : '%d मिनेट',
37287 h : 'एक घण्टा',
37288 hh : '%d घण्टा',
37289 d : 'एक दिन',
37290 dd : '%d दिन',
37291 M : 'एक महिना',
37292 MM : '%d महिना',
37293 y : 'एक बर्ष',
37294 yy : '%d बर्ष'
37295 },
37296 week : {
37297 dow : 0, // Sunday is the first day of the week.
37298 doy : 6 // The week that contains Jan 1st is the first week of the year.
37299 }
37300 });
37301
37302 return ne;
37303
37304 })));
37305
37306
37307/***/ }),
37308/* 411 */
37309/***/ (function(module, exports, __webpack_require__) {
37310
37311 //! moment.js locale configuration
37312
37313 ;(function (global, factory) {
37314 true ? factory(__webpack_require__(327)) :
37315 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
37316 factory(global.moment)
37317 }(this, (function (moment) { 'use strict';
37318
37319
37320 var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),
37321 monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_');
37322
37323 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];
37324 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;
37325
37326 var nl = moment.defineLocale('nl', {
37327 months : 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),
37328 monthsShort : function (m, format) {
37329 if (!m) {
37330 return monthsShortWithDots;
37331 } else if (/-MMM-/.test(format)) {
37332 return monthsShortWithoutDots[m.month()];
37333 } else {
37334 return monthsShortWithDots[m.month()];
37335 }
37336 },
37337
37338 monthsRegex: monthsRegex,
37339 monthsShortRegex: monthsRegex,
37340 monthsStrictRegex: /^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,
37341 monthsShortStrictRegex: /^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,
37342
37343 monthsParse : monthsParse,
37344 longMonthsParse : monthsParse,
37345 shortMonthsParse : monthsParse,
37346
37347 weekdays : 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),
37348 weekdaysShort : 'zo._ma._di._wo._do._vr._za.'.split('_'),
37349 weekdaysMin : 'zo_ma_di_wo_do_vr_za'.split('_'),
37350 weekdaysParseExact : true,
37351 longDateFormat : {
37352 LT : 'HH:mm',
37353 LTS : 'HH:mm:ss',
37354 L : 'DD-MM-YYYY',
37355 LL : 'D MMMM YYYY',
37356 LLL : 'D MMMM YYYY HH:mm',
37357 LLLL : 'dddd D MMMM YYYY HH:mm'
37358 },
37359 calendar : {
37360 sameDay: '[vandaag om] LT',
37361 nextDay: '[morgen om] LT',
37362 nextWeek: 'dddd [om] LT',
37363 lastDay: '[gisteren om] LT',
37364 lastWeek: '[afgelopen] dddd [om] LT',
37365 sameElse: 'L'
37366 },
37367 relativeTime : {
37368 future : 'over %s',
37369 past : '%s geleden',
37370 s : 'een paar seconden',
37371 ss : '%d seconden',
37372 m : 'één minuut',
37373 mm : '%d minuten',
37374 h : 'één uur',
37375 hh : '%d uur',
37376 d : 'één dag',
37377 dd : '%d dagen',
37378 M : 'één maand',
37379 MM : '%d maanden',
37380 y : 'één jaar',
37381 yy : '%d jaar'
37382 },
37383 dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/,
37384 ordinal : function (number) {
37385 return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');
37386 },
37387 week : {
37388 dow : 1, // Monday is the first day of the week.
37389 doy : 4 // The week that contains Jan 4th is the first week of the year.
37390 }
37391 });
37392
37393 return nl;
37394
37395 })));
37396
37397
37398/***/ }),
37399/* 412 */
37400/***/ (function(module, exports, __webpack_require__) {
37401
37402 //! moment.js locale configuration
37403
37404 ;(function (global, factory) {
37405 true ? factory(__webpack_require__(327)) :
37406 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
37407 factory(global.moment)
37408 }(this, (function (moment) { 'use strict';
37409
37410
37411 var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),
37412 monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_');
37413
37414 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];
37415 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;
37416
37417 var nlBe = moment.defineLocale('nl-be', {
37418 months : 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),
37419 monthsShort : function (m, format) {
37420 if (!m) {
37421 return monthsShortWithDots;
37422 } else if (/-MMM-/.test(format)) {
37423 return monthsShortWithoutDots[m.month()];
37424 } else {
37425 return monthsShortWithDots[m.month()];
37426 }
37427 },
37428
37429 monthsRegex: monthsRegex,
37430 monthsShortRegex: monthsRegex,
37431 monthsStrictRegex: /^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,
37432 monthsShortStrictRegex: /^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,
37433
37434 monthsParse : monthsParse,
37435 longMonthsParse : monthsParse,
37436 shortMonthsParse : monthsParse,
37437
37438 weekdays : 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),
37439 weekdaysShort : 'zo._ma._di._wo._do._vr._za.'.split('_'),
37440 weekdaysMin : 'zo_ma_di_wo_do_vr_za'.split('_'),
37441 weekdaysParseExact : true,
37442 longDateFormat : {
37443 LT : 'HH:mm',
37444 LTS : 'HH:mm:ss',
37445 L : 'DD/MM/YYYY',
37446 LL : 'D MMMM YYYY',
37447 LLL : 'D MMMM YYYY HH:mm',
37448 LLLL : 'dddd D MMMM YYYY HH:mm'
37449 },
37450 calendar : {
37451 sameDay: '[vandaag om] LT',
37452 nextDay: '[morgen om] LT',
37453 nextWeek: 'dddd [om] LT',
37454 lastDay: '[gisteren om] LT',
37455 lastWeek: '[afgelopen] dddd [om] LT',
37456 sameElse: 'L'
37457 },
37458 relativeTime : {
37459 future : 'over %s',
37460 past : '%s geleden',
37461 s : 'een paar seconden',
37462 ss : '%d seconden',
37463 m : 'één minuut',
37464 mm : '%d minuten',
37465 h : 'één uur',
37466 hh : '%d uur',
37467 d : 'één dag',
37468 dd : '%d dagen',
37469 M : 'één maand',
37470 MM : '%d maanden',
37471 y : 'één jaar',
37472 yy : '%d jaar'
37473 },
37474 dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/,
37475 ordinal : function (number) {
37476 return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');
37477 },
37478 week : {
37479 dow : 1, // Monday is the first day of the week.
37480 doy : 4 // The week that contains Jan 4th is the first week of the year.
37481 }
37482 });
37483
37484 return nlBe;
37485
37486 })));
37487
37488
37489/***/ }),
37490/* 413 */
37491/***/ (function(module, exports, __webpack_require__) {
37492
37493 //! moment.js locale configuration
37494
37495 ;(function (global, factory) {
37496 true ? factory(__webpack_require__(327)) :
37497 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
37498 factory(global.moment)
37499 }(this, (function (moment) { 'use strict';
37500
37501
37502 var nn = moment.defineLocale('nn', {
37503 months : 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),
37504 monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),
37505 weekdays : 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'),
37506 weekdaysShort : 'sun_mån_tys_ons_tor_fre_lau'.split('_'),
37507 weekdaysMin : 'su_må_ty_on_to_fr_lø'.split('_'),
37508 longDateFormat : {
37509 LT : 'HH:mm',
37510 LTS : 'HH:mm:ss',
37511 L : 'DD.MM.YYYY',
37512 LL : 'D. MMMM YYYY',
37513 LLL : 'D. MMMM YYYY [kl.] H:mm',
37514 LLLL : 'dddd D. MMMM YYYY [kl.] HH:mm'
37515 },
37516 calendar : {
37517 sameDay: '[I dag klokka] LT',
37518 nextDay: '[I morgon klokka] LT',
37519 nextWeek: 'dddd [klokka] LT',
37520 lastDay: '[I går klokka] LT',
37521 lastWeek: '[Føregåande] dddd [klokka] LT',
37522 sameElse: 'L'
37523 },
37524 relativeTime : {
37525 future : 'om %s',
37526 past : '%s sidan',
37527 s : 'nokre sekund',
37528 ss : '%d sekund',
37529 m : 'eit minutt',
37530 mm : '%d minutt',
37531 h : 'ein time',
37532 hh : '%d timar',
37533 d : 'ein dag',
37534 dd : '%d dagar',
37535 M : 'ein månad',
37536 MM : '%d månader',
37537 y : 'eit år',
37538 yy : '%d år'
37539 },
37540 dayOfMonthOrdinalParse: /\d{1,2}\./,
37541 ordinal : '%d.',
37542 week : {
37543 dow : 1, // Monday is the first day of the week.
37544 doy : 4 // The week that contains Jan 4th is the first week of the year.
37545 }
37546 });
37547
37548 return nn;
37549
37550 })));
37551
37552
37553/***/ }),
37554/* 414 */
37555/***/ (function(module, exports, __webpack_require__) {
37556
37557 //! moment.js locale configuration
37558
37559 ;(function (global, factory) {
37560 true ? factory(__webpack_require__(327)) :
37561 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
37562 factory(global.moment)
37563 }(this, (function (moment) { 'use strict';
37564
37565
37566 var symbolMap = {
37567 '1': '੧',
37568 '2': '੨',
37569 '3': '੩',
37570 '4': '੪',
37571 '5': '੫',
37572 '6': '੬',
37573 '7': '੭',
37574 '8': '੮',
37575 '9': '੯',
37576 '0': '੦'
37577 },
37578 numberMap = {
37579 '੧': '1',
37580 '੨': '2',
37581 '੩': '3',
37582 '੪': '4',
37583 '੫': '5',
37584 '੬': '6',
37585 '੭': '7',
37586 '੮': '8',
37587 '੯': '9',
37588 '੦': '0'
37589 };
37590
37591 var paIn = moment.defineLocale('pa-in', {
37592 // There are months name as per Nanakshahi Calender but they are not used as rigidly in modern Punjabi.
37593 months : 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),
37594 monthsShort : 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),
37595 weekdays : 'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split('_'),
37596 weekdaysShort : 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),
37597 weekdaysMin : 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),
37598 longDateFormat : {
37599 LT : 'A h:mm ਵਜੇ',
37600 LTS : 'A h:mm:ss ਵਜੇ',
37601 L : 'DD/MM/YYYY',
37602 LL : 'D MMMM YYYY',
37603 LLL : 'D MMMM YYYY, A h:mm ਵਜੇ',
37604 LLLL : 'dddd, D MMMM YYYY, A h:mm ਵਜੇ'
37605 },
37606 calendar : {
37607 sameDay : '[ਅਜ] LT',
37608 nextDay : '[ਕਲ] LT',
37609 nextWeek : '[ਅਗਲਾ] dddd, LT',
37610 lastDay : '[ਕਲ] LT',
37611 lastWeek : '[ਪਿਛਲੇ] dddd, LT',
37612 sameElse : 'L'
37613 },
37614 relativeTime : {
37615 future : '%s ਵਿੱਚ',
37616 past : '%s ਪਿਛਲੇ',
37617 s : 'ਕੁਝ ਸਕਿੰਟ',
37618 ss : '%d ਸਕਿੰਟ',
37619 m : 'ਇਕ ਮਿੰਟ',
37620 mm : '%d ਮਿੰਟ',
37621 h : 'ਇੱਕ ਘੰਟਾ',
37622 hh : '%d ਘੰਟੇ',
37623 d : 'ਇੱਕ ਦਿਨ',
37624 dd : '%d ਦਿਨ',
37625 M : 'ਇੱਕ ਮਹੀਨਾ',
37626 MM : '%d ਮਹੀਨੇ',
37627 y : 'ਇੱਕ ਸਾਲ',
37628 yy : '%d ਸਾਲ'
37629 },
37630 preparse: function (string) {
37631 return string.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (match) {
37632 return numberMap[match];
37633 });
37634 },
37635 postformat: function (string) {
37636 return string.replace(/\d/g, function (match) {
37637 return symbolMap[match];
37638 });
37639 },
37640 // Punjabi notation for meridiems are quite fuzzy in practice. While there exists
37641 // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi.
37642 meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,
37643 meridiemHour : function (hour, meridiem) {
37644 if (hour === 12) {
37645 hour = 0;
37646 }
37647 if (meridiem === 'ਰਾਤ') {
37648 return hour < 4 ? hour : hour + 12;
37649 } else if (meridiem === 'ਸਵੇਰ') {
37650 return hour;
37651 } else if (meridiem === 'ਦੁਪਹਿਰ') {
37652 return hour >= 10 ? hour : hour + 12;
37653 } else if (meridiem === 'ਸ਼ਾਮ') {
37654 return hour + 12;
37655 }
37656 },
37657 meridiem : function (hour, minute, isLower) {
37658 if (hour < 4) {
37659 return 'ਰਾਤ';
37660 } else if (hour < 10) {
37661 return 'ਸਵੇਰ';
37662 } else if (hour < 17) {
37663 return 'ਦੁਪਹਿਰ';
37664 } else if (hour < 20) {
37665 return 'ਸ਼ਾਮ';
37666 } else {
37667 return 'ਰਾਤ';
37668 }
37669 },
37670 week : {
37671 dow : 0, // Sunday is the first day of the week.
37672 doy : 6 // The week that contains Jan 1st is the first week of the year.
37673 }
37674 });
37675
37676 return paIn;
37677
37678 })));
37679
37680
37681/***/ }),
37682/* 415 */
37683/***/ (function(module, exports, __webpack_require__) {
37684
37685 //! moment.js locale configuration
37686
37687 ;(function (global, factory) {
37688 true ? factory(__webpack_require__(327)) :
37689 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
37690 factory(global.moment)
37691 }(this, (function (moment) { 'use strict';
37692
37693
37694 var monthsNominative = 'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split('_'),
37695 monthsSubjective = 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split('_');
37696 function plural(n) {
37697 return (n % 10 < 5) && (n % 10 > 1) && ((~~(n / 10) % 10) !== 1);
37698 }
37699 function translate(number, withoutSuffix, key) {
37700 var result = number + ' ';
37701 switch (key) {
37702 case 'ss':
37703 return result + (plural(number) ? 'sekundy' : 'sekund');
37704 case 'm':
37705 return withoutSuffix ? 'minuta' : 'minutę';
37706 case 'mm':
37707 return result + (plural(number) ? 'minuty' : 'minut');
37708 case 'h':
37709 return withoutSuffix ? 'godzina' : 'godzinę';
37710 case 'hh':
37711 return result + (plural(number) ? 'godziny' : 'godzin');
37712 case 'MM':
37713 return result + (plural(number) ? 'miesiące' : 'miesięcy');
37714 case 'yy':
37715 return result + (plural(number) ? 'lata' : 'lat');
37716 }
37717 }
37718
37719 var pl = moment.defineLocale('pl', {
37720 months : function (momentToFormat, format) {
37721 if (!momentToFormat) {
37722 return monthsNominative;
37723 } else if (format === '') {
37724 // Hack: if format empty we know this is used to generate
37725 // RegExp by moment. Give then back both valid forms of months
37726 // in RegExp ready format.
37727 return '(' + monthsSubjective[momentToFormat.month()] + '|' + monthsNominative[momentToFormat.month()] + ')';
37728 } else if (/D MMMM/.test(format)) {
37729 return monthsSubjective[momentToFormat.month()];
37730 } else {
37731 return monthsNominative[momentToFormat.month()];
37732 }
37733 },
37734 monthsShort : 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'),
37735 weekdays : 'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split('_'),
37736 weekdaysShort : 'ndz_pon_wt_śr_czw_pt_sob'.split('_'),
37737 weekdaysMin : 'Nd_Pn_Wt_Śr_Cz_Pt_So'.split('_'),
37738 longDateFormat : {
37739 LT : 'HH:mm',
37740 LTS : 'HH:mm:ss',
37741 L : 'DD.MM.YYYY',
37742 LL : 'D MMMM YYYY',
37743 LLL : 'D MMMM YYYY HH:mm',
37744 LLLL : 'dddd, D MMMM YYYY HH:mm'
37745 },
37746 calendar : {
37747 sameDay: '[Dziś o] LT',
37748 nextDay: '[Jutro o] LT',
37749 nextWeek: function () {
37750 switch (this.day()) {
37751 case 0:
37752 return '[W niedzielę o] LT';
37753
37754 case 2:
37755 return '[We wtorek o] LT';
37756
37757 case 3:
37758 return '[W środę o] LT';
37759
37760 case 6:
37761 return '[W sobotę o] LT';
37762
37763 default:
37764 return '[W] dddd [o] LT';
37765 }
37766 },
37767 lastDay: '[Wczoraj o] LT',
37768 lastWeek: function () {
37769 switch (this.day()) {
37770 case 0:
37771 return '[W zeszłą niedzielę o] LT';
37772 case 3:
37773 return '[W zeszłą środę o] LT';
37774 case 6:
37775 return '[W zeszłą sobotę o] LT';
37776 default:
37777 return '[W zeszły] dddd [o] LT';
37778 }
37779 },
37780 sameElse: 'L'
37781 },
37782 relativeTime : {
37783 future : 'za %s',
37784 past : '%s temu',
37785 s : 'kilka sekund',
37786 ss : translate,
37787 m : translate,
37788 mm : translate,
37789 h : translate,
37790 hh : translate,
37791 d : '1 dzień',
37792 dd : '%d dni',
37793 M : 'miesiąc',
37794 MM : translate,
37795 y : 'rok',
37796 yy : translate
37797 },
37798 dayOfMonthOrdinalParse: /\d{1,2}\./,
37799 ordinal : '%d.',
37800 week : {
37801 dow : 1, // Monday is the first day of the week.
37802 doy : 4 // The week that contains Jan 4th is the first week of the year.
37803 }
37804 });
37805
37806 return pl;
37807
37808 })));
37809
37810
37811/***/ }),
37812/* 416 */
37813/***/ (function(module, exports, __webpack_require__) {
37814
37815 //! moment.js locale configuration
37816
37817 ;(function (global, factory) {
37818 true ? factory(__webpack_require__(327)) :
37819 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
37820 factory(global.moment)
37821 }(this, (function (moment) { 'use strict';
37822
37823
37824 var pt = moment.defineLocale('pt', {
37825 months : 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split('_'),
37826 monthsShort : 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),
37827 weekdays : 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'),
37828 weekdaysShort : 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),
37829 weekdaysMin : 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),
37830 weekdaysParseExact : true,
37831 longDateFormat : {
37832 LT : 'HH:mm',
37833 LTS : 'HH:mm:ss',
37834 L : 'DD/MM/YYYY',
37835 LL : 'D [de] MMMM [de] YYYY',
37836 LLL : 'D [de] MMMM [de] YYYY HH:mm',
37837 LLLL : 'dddd, D [de] MMMM [de] YYYY HH:mm'
37838 },
37839 calendar : {
37840 sameDay: '[Hoje às] LT',
37841 nextDay: '[Amanhã às] LT',
37842 nextWeek: 'dddd [às] LT',
37843 lastDay: '[Ontem às] LT',
37844 lastWeek: function () {
37845 return (this.day() === 0 || this.day() === 6) ?
37846 '[Último] dddd [às] LT' : // Saturday + Sunday
37847 '[Última] dddd [às] LT'; // Monday - Friday
37848 },
37849 sameElse: 'L'
37850 },
37851 relativeTime : {
37852 future : 'em %s',
37853 past : 'há %s',
37854 s : 'segundos',
37855 ss : '%d segundos',
37856 m : 'um minuto',
37857 mm : '%d minutos',
37858 h : 'uma hora',
37859 hh : '%d horas',
37860 d : 'um dia',
37861 dd : '%d dias',
37862 M : 'um mês',
37863 MM : '%d meses',
37864 y : 'um ano',
37865 yy : '%d anos'
37866 },
37867 dayOfMonthOrdinalParse: /\d{1,2}º/,
37868 ordinal : '%dº',
37869 week : {
37870 dow : 1, // Monday is the first day of the week.
37871 doy : 4 // The week that contains Jan 4th is the first week of the year.
37872 }
37873 });
37874
37875 return pt;
37876
37877 })));
37878
37879
37880/***/ }),
37881/* 417 */
37882/***/ (function(module, exports, __webpack_require__) {
37883
37884 //! moment.js locale configuration
37885
37886 ;(function (global, factory) {
37887 true ? factory(__webpack_require__(327)) :
37888 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
37889 factory(global.moment)
37890 }(this, (function (moment) { 'use strict';
37891
37892
37893 var ptBr = moment.defineLocale('pt-br', {
37894 months : 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split('_'),
37895 monthsShort : 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),
37896 weekdays : 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'),
37897 weekdaysShort : 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),
37898 weekdaysMin : 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),
37899 weekdaysParseExact : true,
37900 longDateFormat : {
37901 LT : 'HH:mm',
37902 LTS : 'HH:mm:ss',
37903 L : 'DD/MM/YYYY',
37904 LL : 'D [de] MMMM [de] YYYY',
37905 LLL : 'D [de] MMMM [de] YYYY [às] HH:mm',
37906 LLLL : 'dddd, D [de] MMMM [de] YYYY [às] HH:mm'
37907 },
37908 calendar : {
37909 sameDay: '[Hoje às] LT',
37910 nextDay: '[Amanhã às] LT',
37911 nextWeek: 'dddd [às] LT',
37912 lastDay: '[Ontem às] LT',
37913 lastWeek: function () {
37914 return (this.day() === 0 || this.day() === 6) ?
37915 '[Último] dddd [às] LT' : // Saturday + Sunday
37916 '[Última] dddd [às] LT'; // Monday - Friday
37917 },
37918 sameElse: 'L'
37919 },
37920 relativeTime : {
37921 future : 'em %s',
37922 past : 'há %s',
37923 s : 'poucos segundos',
37924 ss : '%d segundos',
37925 m : 'um minuto',
37926 mm : '%d minutos',
37927 h : 'uma hora',
37928 hh : '%d horas',
37929 d : 'um dia',
37930 dd : '%d dias',
37931 M : 'um mês',
37932 MM : '%d meses',
37933 y : 'um ano',
37934 yy : '%d anos'
37935 },
37936 dayOfMonthOrdinalParse: /\d{1,2}º/,
37937 ordinal : '%dº'
37938 });
37939
37940 return ptBr;
37941
37942 })));
37943
37944
37945/***/ }),
37946/* 418 */
37947/***/ (function(module, exports, __webpack_require__) {
37948
37949 //! moment.js locale configuration
37950
37951 ;(function (global, factory) {
37952 true ? factory(__webpack_require__(327)) :
37953 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
37954 factory(global.moment)
37955 }(this, (function (moment) { 'use strict';
37956
37957
37958 function relativeTimeWithPlural(number, withoutSuffix, key) {
37959 var format = {
37960 'ss': 'secunde',
37961 'mm': 'minute',
37962 'hh': 'ore',
37963 'dd': 'zile',
37964 'MM': 'luni',
37965 'yy': 'ani'
37966 },
37967 separator = ' ';
37968 if (number % 100 >= 20 || (number >= 100 && number % 100 === 0)) {
37969 separator = ' de ';
37970 }
37971 return number + separator + format[key];
37972 }
37973
37974 var ro = moment.defineLocale('ro', {
37975 months : 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split('_'),
37976 monthsShort : 'ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split('_'),
37977 monthsParseExact: true,
37978 weekdays : 'duminică_luni_marți_miercuri_joi_vineri_sâmbătă'.split('_'),
37979 weekdaysShort : 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'),
37980 weekdaysMin : 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'),
37981 longDateFormat : {
37982 LT : 'H:mm',
37983 LTS : 'H:mm:ss',
37984 L : 'DD.MM.YYYY',
37985 LL : 'D MMMM YYYY',
37986 LLL : 'D MMMM YYYY H:mm',
37987 LLLL : 'dddd, D MMMM YYYY H:mm'
37988 },
37989 calendar : {
37990 sameDay: '[azi la] LT',
37991 nextDay: '[mâine la] LT',
37992 nextWeek: 'dddd [la] LT',
37993 lastDay: '[ieri la] LT',
37994 lastWeek: '[fosta] dddd [la] LT',
37995 sameElse: 'L'
37996 },
37997 relativeTime : {
37998 future : 'peste %s',
37999 past : '%s în urmă',
38000 s : 'câteva secunde',
38001 ss : relativeTimeWithPlural,
38002 m : 'un minut',
38003 mm : relativeTimeWithPlural,
38004 h : 'o oră',
38005 hh : relativeTimeWithPlural,
38006 d : 'o zi',
38007 dd : relativeTimeWithPlural,
38008 M : 'o lună',
38009 MM : relativeTimeWithPlural,
38010 y : 'un an',
38011 yy : relativeTimeWithPlural
38012 },
38013 week : {
38014 dow : 1, // Monday is the first day of the week.
38015 doy : 7 // The week that contains Jan 1st is the first week of the year.
38016 }
38017 });
38018
38019 return ro;
38020
38021 })));
38022
38023
38024/***/ }),
38025/* 419 */
38026/***/ (function(module, exports, __webpack_require__) {
38027
38028 //! moment.js locale configuration
38029
38030 ;(function (global, factory) {
38031 true ? factory(__webpack_require__(327)) :
38032 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
38033 factory(global.moment)
38034 }(this, (function (moment) { 'use strict';
38035
38036
38037 function plural(word, num) {
38038 var forms = word.split('_');
38039 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]);
38040 }
38041 function relativeTimeWithPlural(number, withoutSuffix, key) {
38042 var format = {
38043 'ss': withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',
38044 'mm': withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут',
38045 'hh': 'час_часа_часов',
38046 'dd': 'день_дня_дней',
38047 'MM': 'месяц_месяца_месяцев',
38048 'yy': 'год_года_лет'
38049 };
38050 if (key === 'm') {
38051 return withoutSuffix ? 'минута' : 'минуту';
38052 }
38053 else {
38054 return number + ' ' + plural(format[key], +number);
38055 }
38056 }
38057 var monthsParse = [/^янв/i, /^фев/i, /^мар/i, /^апр/i, /^ма[йя]/i, /^июн/i, /^июл/i, /^авг/i, /^сен/i, /^окт/i, /^ноя/i, /^дек/i];
38058
38059 // http://new.gramota.ru/spravka/rules/139-prop : § 103
38060 // Сокращения месяцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637
38061 // CLDR data: http://www.unicode.org/cldr/charts/28/summary/ru.html#1753
38062 var ru = moment.defineLocale('ru', {
38063 months : {
38064 format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split('_'),
38065 standalone: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_')
38066 },
38067 monthsShort : {
38068 // по CLDR именно "июл." и "июн.", но какой смысл менять букву на точку ?
38069 format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split('_'),
38070 standalone: 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split('_')
38071 },
38072 weekdays : {
38073 standalone: 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split('_'),
38074 format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split('_'),
38075 isFormat: /\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\] ?dddd/
38076 },
38077 weekdaysShort : 'вс_пн_вт_ср_чт_пт_сб'.split('_'),
38078 weekdaysMin : 'вс_пн_вт_ср_чт_пт_сб'.split('_'),
38079 monthsParse : monthsParse,
38080 longMonthsParse : monthsParse,
38081 shortMonthsParse : monthsParse,
38082
38083 // полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки
38084 monthsRegex: /^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,
38085
38086 // копия предыдущего
38087 monthsShortRegex: /^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,
38088
38089 // полные названия с падежами
38090 monthsStrictRegex: /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,
38091
38092 // Выражение, которое соотвествует только сокращённым формам
38093 monthsShortStrictRegex: /^(янв\.|февр?\.|мар[т.]|апр\.|ма[яй]|июн[ья.]|июл[ья.]|авг\.|сент?\.|окт\.|нояб?\.|дек\.)/i,
38094 longDateFormat : {
38095 LT : 'H:mm',
38096 LTS : 'H:mm:ss',
38097 L : 'DD.MM.YYYY',
38098 LL : 'D MMMM YYYY г.',
38099 LLL : 'D MMMM YYYY г., H:mm',
38100 LLLL : 'dddd, D MMMM YYYY г., H:mm'
38101 },
38102 calendar : {
38103 sameDay: '[Сегодня, в] LT',
38104 nextDay: '[Завтра, в] LT',
38105 lastDay: '[Вчера, в] LT',
38106 nextWeek: function (now) {
38107 if (now.week() !== this.week()) {
38108 switch (this.day()) {
38109 case 0:
38110 return '[В следующее] dddd, [в] LT';
38111 case 1:
38112 case 2:
38113 case 4:
38114 return '[В следующий] dddd, [в] LT';
38115 case 3:
38116 case 5:
38117 case 6:
38118 return '[В следующую] dddd, [в] LT';
38119 }
38120 } else {
38121 if (this.day() === 2) {
38122 return '[Во] dddd, [в] LT';
38123 } else {
38124 return '[В] dddd, [в] LT';
38125 }
38126 }
38127 },
38128 lastWeek: function (now) {
38129 if (now.week() !== this.week()) {
38130 switch (this.day()) {
38131 case 0:
38132 return '[В прошлое] dddd, [в] LT';
38133 case 1:
38134 case 2:
38135 case 4:
38136 return '[В прошлый] dddd, [в] LT';
38137 case 3:
38138 case 5:
38139 case 6:
38140 return '[В прошлую] dddd, [в] LT';
38141 }
38142 } else {
38143 if (this.day() === 2) {
38144 return '[Во] dddd, [в] LT';
38145 } else {
38146 return '[В] dddd, [в] LT';
38147 }
38148 }
38149 },
38150 sameElse: 'L'
38151 },
38152 relativeTime : {
38153 future : 'через %s',
38154 past : '%s назад',
38155 s : 'несколько секунд',
38156 ss : relativeTimeWithPlural,
38157 m : relativeTimeWithPlural,
38158 mm : relativeTimeWithPlural,
38159 h : 'час',
38160 hh : relativeTimeWithPlural,
38161 d : 'день',
38162 dd : relativeTimeWithPlural,
38163 M : 'месяц',
38164 MM : relativeTimeWithPlural,
38165 y : 'год',
38166 yy : relativeTimeWithPlural
38167 },
38168 meridiemParse: /ночи|утра|дня|вечера/i,
38169 isPM : function (input) {
38170 return /^(дня|вечера)$/.test(input);
38171 },
38172 meridiem : function (hour, minute, isLower) {
38173 if (hour < 4) {
38174 return 'ночи';
38175 } else if (hour < 12) {
38176 return 'утра';
38177 } else if (hour < 17) {
38178 return 'дня';
38179 } else {
38180 return 'вечера';
38181 }
38182 },
38183 dayOfMonthOrdinalParse: /\d{1,2}-(й|го|я)/,
38184 ordinal: function (number, period) {
38185 switch (period) {
38186 case 'M':
38187 case 'd':
38188 case 'DDD':
38189 return number + '-й';
38190 case 'D':
38191 return number + '-го';
38192 case 'w':
38193 case 'W':
38194 return number + '-я';
38195 default:
38196 return number;
38197 }
38198 },
38199 week : {
38200 dow : 1, // Monday is the first day of the week.
38201 doy : 4 // The week that contains Jan 4th is the first week of the year.
38202 }
38203 });
38204
38205 return ru;
38206
38207 })));
38208
38209
38210/***/ }),
38211/* 420 */
38212/***/ (function(module, exports, __webpack_require__) {
38213
38214 //! moment.js locale configuration
38215
38216 ;(function (global, factory) {
38217 true ? factory(__webpack_require__(327)) :
38218 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
38219 factory(global.moment)
38220 }(this, (function (moment) { 'use strict';
38221
38222
38223 var months = [
38224 'جنوري',
38225 'فيبروري',
38226 'مارچ',
38227 'اپريل',
38228 'مئي',
38229 'جون',
38230 'جولاءِ',
38231 'آگسٽ',
38232 'سيپٽمبر',
38233 'آڪٽوبر',
38234 'نومبر',
38235 'ڊسمبر'
38236 ];
38237 var days = [
38238 'آچر',
38239 'سومر',
38240 'اڱارو',
38241 'اربع',
38242 'خميس',
38243 'جمع',
38244 'ڇنڇر'
38245 ];
38246
38247 var sd = moment.defineLocale('sd', {
38248 months : months,
38249 monthsShort : months,
38250 weekdays : days,
38251 weekdaysShort : days,
38252 weekdaysMin : days,
38253 longDateFormat : {
38254 LT : 'HH:mm',
38255 LTS : 'HH:mm:ss',
38256 L : 'DD/MM/YYYY',
38257 LL : 'D MMMM YYYY',
38258 LLL : 'D MMMM YYYY HH:mm',
38259 LLLL : 'dddd، D MMMM YYYY HH:mm'
38260 },
38261 meridiemParse: /صبح|شام/,
38262 isPM : function (input) {
38263 return 'شام' === input;
38264 },
38265 meridiem : function (hour, minute, isLower) {
38266 if (hour < 12) {
38267 return 'صبح';
38268 }
38269 return 'شام';
38270 },
38271 calendar : {
38272 sameDay : '[اڄ] LT',
38273 nextDay : '[سڀاڻي] LT',
38274 nextWeek : 'dddd [اڳين هفتي تي] LT',
38275 lastDay : '[ڪالهه] LT',
38276 lastWeek : '[گزريل هفتي] dddd [تي] LT',
38277 sameElse : 'L'
38278 },
38279 relativeTime : {
38280 future : '%s پوء',
38281 past : '%s اڳ',
38282 s : 'چند سيڪنڊ',
38283 ss : '%d سيڪنڊ',
38284 m : 'هڪ منٽ',
38285 mm : '%d منٽ',
38286 h : 'هڪ ڪلاڪ',
38287 hh : '%d ڪلاڪ',
38288 d : 'هڪ ڏينهن',
38289 dd : '%d ڏينهن',
38290 M : 'هڪ مهينو',
38291 MM : '%d مهينا',
38292 y : 'هڪ سال',
38293 yy : '%d سال'
38294 },
38295 preparse: function (string) {
38296 return string.replace(/،/g, ',');
38297 },
38298 postformat: function (string) {
38299 return string.replace(/,/g, '،');
38300 },
38301 week : {
38302 dow : 1, // Monday is the first day of the week.
38303 doy : 4 // The week that contains Jan 4th is the first week of the year.
38304 }
38305 });
38306
38307 return sd;
38308
38309 })));
38310
38311
38312/***/ }),
38313/* 421 */
38314/***/ (function(module, exports, __webpack_require__) {
38315
38316 //! moment.js locale configuration
38317
38318 ;(function (global, factory) {
38319 true ? factory(__webpack_require__(327)) :
38320 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
38321 factory(global.moment)
38322 }(this, (function (moment) { 'use strict';
38323
38324
38325 var se = moment.defineLocale('se', {
38326 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('_'),
38327 monthsShort : 'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split('_'),
38328 weekdays : 'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split('_'),
38329 weekdaysShort : 'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'),
38330 weekdaysMin : 's_v_m_g_d_b_L'.split('_'),
38331 longDateFormat : {
38332 LT : 'HH:mm',
38333 LTS : 'HH:mm:ss',
38334 L : 'DD.MM.YYYY',
38335 LL : 'MMMM D. [b.] YYYY',
38336 LLL : 'MMMM D. [b.] YYYY [ti.] HH:mm',
38337 LLLL : 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm'
38338 },
38339 calendar : {
38340 sameDay: '[otne ti] LT',
38341 nextDay: '[ihttin ti] LT',
38342 nextWeek: 'dddd [ti] LT',
38343 lastDay: '[ikte ti] LT',
38344 lastWeek: '[ovddit] dddd [ti] LT',
38345 sameElse: 'L'
38346 },
38347 relativeTime : {
38348 future : '%s geažes',
38349 past : 'maŋit %s',
38350 s : 'moadde sekunddat',
38351 ss: '%d sekunddat',
38352 m : 'okta minuhta',
38353 mm : '%d minuhtat',
38354 h : 'okta diimmu',
38355 hh : '%d diimmut',
38356 d : 'okta beaivi',
38357 dd : '%d beaivvit',
38358 M : 'okta mánnu',
38359 MM : '%d mánut',
38360 y : 'okta jahki',
38361 yy : '%d jagit'
38362 },
38363 dayOfMonthOrdinalParse: /\d{1,2}\./,
38364 ordinal : '%d.',
38365 week : {
38366 dow : 1, // Monday is the first day of the week.
38367 doy : 4 // The week that contains Jan 4th is the first week of the year.
38368 }
38369 });
38370
38371 return se;
38372
38373 })));
38374
38375
38376/***/ }),
38377/* 422 */
38378/***/ (function(module, exports, __webpack_require__) {
38379
38380 //! moment.js locale configuration
38381
38382 ;(function (global, factory) {
38383 true ? factory(__webpack_require__(327)) :
38384 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
38385 factory(global.moment)
38386 }(this, (function (moment) { 'use strict';
38387
38388
38389 /*jshint -W100*/
38390 var si = moment.defineLocale('si', {
38391 months : 'ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split('_'),
38392 monthsShort : 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split('_'),
38393 weekdays : 'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split('_'),
38394 weekdaysShort : 'ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන'.split('_'),
38395 weekdaysMin : 'ඉ_ස_අ_බ_බ්‍ර_සි_සෙ'.split('_'),
38396 weekdaysParseExact : true,
38397 longDateFormat : {
38398 LT : 'a h:mm',
38399 LTS : 'a h:mm:ss',
38400 L : 'YYYY/MM/DD',
38401 LL : 'YYYY MMMM D',
38402 LLL : 'YYYY MMMM D, a h:mm',
38403 LLLL : 'YYYY MMMM D [වැනි] dddd, a h:mm:ss'
38404 },
38405 calendar : {
38406 sameDay : '[අද] LT[ට]',
38407 nextDay : '[හෙට] LT[ට]',
38408 nextWeek : 'dddd LT[ට]',
38409 lastDay : '[ඊයේ] LT[ට]',
38410 lastWeek : '[පසුගිය] dddd LT[ට]',
38411 sameElse : 'L'
38412 },
38413 relativeTime : {
38414 future : '%sකින්',
38415 past : '%sකට පෙර',
38416 s : 'තත්පර කිහිපය',
38417 ss : 'තත්පර %d',
38418 m : 'මිනිත්තුව',
38419 mm : 'මිනිත්තු %d',
38420 h : 'පැය',
38421 hh : 'පැය %d',
38422 d : 'දිනය',
38423 dd : 'දින %d',
38424 M : 'මාසය',
38425 MM : 'මාස %d',
38426 y : 'වසර',
38427 yy : 'වසර %d'
38428 },
38429 dayOfMonthOrdinalParse: /\d{1,2} වැනි/,
38430 ordinal : function (number) {
38431 return number + ' වැනි';
38432 },
38433 meridiemParse : /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,
38434 isPM : function (input) {
38435 return input === 'ප.ව.' || input === 'පස් වරු';
38436 },
38437 meridiem : function (hours, minutes, isLower) {
38438 if (hours > 11) {
38439 return isLower ? 'ප.ව.' : 'පස් වරු';
38440 } else {
38441 return isLower ? 'පෙ.ව.' : 'පෙර වරු';
38442 }
38443 }
38444 });
38445
38446 return si;
38447
38448 })));
38449
38450
38451/***/ }),
38452/* 423 */
38453/***/ (function(module, exports, __webpack_require__) {
38454
38455 //! moment.js locale configuration
38456
38457 ;(function (global, factory) {
38458 true ? factory(__webpack_require__(327)) :
38459 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
38460 factory(global.moment)
38461 }(this, (function (moment) { 'use strict';
38462
38463
38464 var months = 'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split('_'),
38465 monthsShort = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_');
38466 function plural(n) {
38467 return (n > 1) && (n < 5);
38468 }
38469 function translate(number, withoutSuffix, key, isFuture) {
38470 var result = number + ' ';
38471 switch (key) {
38472 case 's': // a few seconds / in a few seconds / a few seconds ago
38473 return (withoutSuffix || isFuture) ? 'pár sekúnd' : 'pár sekundami';
38474 case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago
38475 if (withoutSuffix || isFuture) {
38476 return result + (plural(number) ? 'sekundy' : 'sekúnd');
38477 } else {
38478 return result + 'sekundami';
38479 }
38480 break;
38481 case 'm': // a minute / in a minute / a minute ago
38482 return withoutSuffix ? 'minúta' : (isFuture ? 'minútu' : 'minútou');
38483 case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago
38484 if (withoutSuffix || isFuture) {
38485 return result + (plural(number) ? 'minúty' : 'minút');
38486 } else {
38487 return result + 'minútami';
38488 }
38489 break;
38490 case 'h': // an hour / in an hour / an hour ago
38491 return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou');
38492 case 'hh': // 9 hours / in 9 hours / 9 hours ago
38493 if (withoutSuffix || isFuture) {
38494 return result + (plural(number) ? 'hodiny' : 'hodín');
38495 } else {
38496 return result + 'hodinami';
38497 }
38498 break;
38499 case 'd': // a day / in a day / a day ago
38500 return (withoutSuffix || isFuture) ? 'deň' : 'dňom';
38501 case 'dd': // 9 days / in 9 days / 9 days ago
38502 if (withoutSuffix || isFuture) {
38503 return result + (plural(number) ? 'dni' : 'dní');
38504 } else {
38505 return result + 'dňami';
38506 }
38507 break;
38508 case 'M': // a month / in a month / a month ago
38509 return (withoutSuffix || isFuture) ? 'mesiac' : 'mesiacom';
38510 case 'MM': // 9 months / in 9 months / 9 months ago
38511 if (withoutSuffix || isFuture) {
38512 return result + (plural(number) ? 'mesiace' : 'mesiacov');
38513 } else {
38514 return result + 'mesiacmi';
38515 }
38516 break;
38517 case 'y': // a year / in a year / a year ago
38518 return (withoutSuffix || isFuture) ? 'rok' : 'rokom';
38519 case 'yy': // 9 years / in 9 years / 9 years ago
38520 if (withoutSuffix || isFuture) {
38521 return result + (plural(number) ? 'roky' : 'rokov');
38522 } else {
38523 return result + 'rokmi';
38524 }
38525 break;
38526 }
38527 }
38528
38529 var sk = moment.defineLocale('sk', {
38530 months : months,
38531 monthsShort : monthsShort,
38532 weekdays : 'nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota'.split('_'),
38533 weekdaysShort : 'ne_po_ut_st_št_pi_so'.split('_'),
38534 weekdaysMin : 'ne_po_ut_st_št_pi_so'.split('_'),
38535 longDateFormat : {
38536 LT: 'H:mm',
38537 LTS : 'H:mm:ss',
38538 L : 'DD.MM.YYYY',
38539 LL : 'D. MMMM YYYY',
38540 LLL : 'D. MMMM YYYY H:mm',
38541 LLLL : 'dddd D. MMMM YYYY H:mm'
38542 },
38543 calendar : {
38544 sameDay: '[dnes o] LT',
38545 nextDay: '[zajtra o] LT',
38546 nextWeek: function () {
38547 switch (this.day()) {
38548 case 0:
38549 return '[v nedeľu o] LT';
38550 case 1:
38551 case 2:
38552 return '[v] dddd [o] LT';
38553 case 3:
38554 return '[v stredu o] LT';
38555 case 4:
38556 return '[vo štvrtok o] LT';
38557 case 5:
38558 return '[v piatok o] LT';
38559 case 6:
38560 return '[v sobotu o] LT';
38561 }
38562 },
38563 lastDay: '[včera o] LT',
38564 lastWeek: function () {
38565 switch (this.day()) {
38566 case 0:
38567 return '[minulú nedeľu o] LT';
38568 case 1:
38569 case 2:
38570 return '[minulý] dddd [o] LT';
38571 case 3:
38572 return '[minulú stredu o] LT';
38573 case 4:
38574 case 5:
38575 return '[minulý] dddd [o] LT';
38576 case 6:
38577 return '[minulú sobotu o] LT';
38578 }
38579 },
38580 sameElse: 'L'
38581 },
38582 relativeTime : {
38583 future : 'za %s',
38584 past : 'pred %s',
38585 s : translate,
38586 ss : translate,
38587 m : translate,
38588 mm : translate,
38589 h : translate,
38590 hh : translate,
38591 d : translate,
38592 dd : translate,
38593 M : translate,
38594 MM : translate,
38595 y : translate,
38596 yy : translate
38597 },
38598 dayOfMonthOrdinalParse: /\d{1,2}\./,
38599 ordinal : '%d.',
38600 week : {
38601 dow : 1, // Monday is the first day of the week.
38602 doy : 4 // The week that contains Jan 4th is the first week of the year.
38603 }
38604 });
38605
38606 return sk;
38607
38608 })));
38609
38610
38611/***/ }),
38612/* 424 */
38613/***/ (function(module, exports, __webpack_require__) {
38614
38615 //! moment.js locale configuration
38616
38617 ;(function (global, factory) {
38618 true ? factory(__webpack_require__(327)) :
38619 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
38620 factory(global.moment)
38621 }(this, (function (moment) { 'use strict';
38622
38623
38624 function processRelativeTime(number, withoutSuffix, key, isFuture) {
38625 var result = number + ' ';
38626 switch (key) {
38627 case 's':
38628 return withoutSuffix || isFuture ? 'nekaj sekund' : 'nekaj sekundami';
38629 case 'ss':
38630 if (number === 1) {
38631 result += withoutSuffix ? 'sekundo' : 'sekundi';
38632 } else if (number === 2) {
38633 result += withoutSuffix || isFuture ? 'sekundi' : 'sekundah';
38634 } else if (number < 5) {
38635 result += withoutSuffix || isFuture ? 'sekunde' : 'sekundah';
38636 } else {
38637 result += withoutSuffix || isFuture ? 'sekund' : 'sekund';
38638 }
38639 return result;
38640 case 'm':
38641 return withoutSuffix ? 'ena minuta' : 'eno minuto';
38642 case 'mm':
38643 if (number === 1) {
38644 result += withoutSuffix ? 'minuta' : 'minuto';
38645 } else if (number === 2) {
38646 result += withoutSuffix || isFuture ? 'minuti' : 'minutama';
38647 } else if (number < 5) {
38648 result += withoutSuffix || isFuture ? 'minute' : 'minutami';
38649 } else {
38650 result += withoutSuffix || isFuture ? 'minut' : 'minutami';
38651 }
38652 return result;
38653 case 'h':
38654 return withoutSuffix ? 'ena ura' : 'eno uro';
38655 case 'hh':
38656 if (number === 1) {
38657 result += withoutSuffix ? 'ura' : 'uro';
38658 } else if (number === 2) {
38659 result += withoutSuffix || isFuture ? 'uri' : 'urama';
38660 } else if (number < 5) {
38661 result += withoutSuffix || isFuture ? 'ure' : 'urami';
38662 } else {
38663 result += withoutSuffix || isFuture ? 'ur' : 'urami';
38664 }
38665 return result;
38666 case 'd':
38667 return withoutSuffix || isFuture ? 'en dan' : 'enim dnem';
38668 case 'dd':
38669 if (number === 1) {
38670 result += withoutSuffix || isFuture ? 'dan' : 'dnem';
38671 } else if (number === 2) {
38672 result += withoutSuffix || isFuture ? 'dni' : 'dnevoma';
38673 } else {
38674 result += withoutSuffix || isFuture ? 'dni' : 'dnevi';
38675 }
38676 return result;
38677 case 'M':
38678 return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem';
38679 case 'MM':
38680 if (number === 1) {
38681 result += withoutSuffix || isFuture ? 'mesec' : 'mesecem';
38682 } else if (number === 2) {
38683 result += withoutSuffix || isFuture ? 'meseca' : 'mesecema';
38684 } else if (number < 5) {
38685 result += withoutSuffix || isFuture ? 'mesece' : 'meseci';
38686 } else {
38687 result += withoutSuffix || isFuture ? 'mesecev' : 'meseci';
38688 }
38689 return result;
38690 case 'y':
38691 return withoutSuffix || isFuture ? 'eno leto' : 'enim letom';
38692 case 'yy':
38693 if (number === 1) {
38694 result += withoutSuffix || isFuture ? 'leto' : 'letom';
38695 } else if (number === 2) {
38696 result += withoutSuffix || isFuture ? 'leti' : 'letoma';
38697 } else if (number < 5) {
38698 result += withoutSuffix || isFuture ? 'leta' : 'leti';
38699 } else {
38700 result += withoutSuffix || isFuture ? 'let' : 'leti';
38701 }
38702 return result;
38703 }
38704 }
38705
38706 var sl = moment.defineLocale('sl', {
38707 months : 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split('_'),
38708 monthsShort : 'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split('_'),
38709 monthsParseExact: true,
38710 weekdays : 'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota'.split('_'),
38711 weekdaysShort : 'ned._pon._tor._sre._čet._pet._sob.'.split('_'),
38712 weekdaysMin : 'ne_po_to_sr_če_pe_so'.split('_'),
38713 weekdaysParseExact : true,
38714 longDateFormat : {
38715 LT : 'H:mm',
38716 LTS : 'H:mm:ss',
38717 L : 'DD.MM.YYYY',
38718 LL : 'D. MMMM YYYY',
38719 LLL : 'D. MMMM YYYY H:mm',
38720 LLLL : 'dddd, D. MMMM YYYY H:mm'
38721 },
38722 calendar : {
38723 sameDay : '[danes ob] LT',
38724 nextDay : '[jutri ob] LT',
38725
38726 nextWeek : function () {
38727 switch (this.day()) {
38728 case 0:
38729 return '[v] [nedeljo] [ob] LT';
38730 case 3:
38731 return '[v] [sredo] [ob] LT';
38732 case 6:
38733 return '[v] [soboto] [ob] LT';
38734 case 1:
38735 case 2:
38736 case 4:
38737 case 5:
38738 return '[v] dddd [ob] LT';
38739 }
38740 },
38741 lastDay : '[včeraj ob] LT',
38742 lastWeek : function () {
38743 switch (this.day()) {
38744 case 0:
38745 return '[prejšnjo] [nedeljo] [ob] LT';
38746 case 3:
38747 return '[prejšnjo] [sredo] [ob] LT';
38748 case 6:
38749 return '[prejšnjo] [soboto] [ob] LT';
38750 case 1:
38751 case 2:
38752 case 4:
38753 case 5:
38754 return '[prejšnji] dddd [ob] LT';
38755 }
38756 },
38757 sameElse : 'L'
38758 },
38759 relativeTime : {
38760 future : 'čez %s',
38761 past : 'pred %s',
38762 s : processRelativeTime,
38763 ss : processRelativeTime,
38764 m : processRelativeTime,
38765 mm : processRelativeTime,
38766 h : processRelativeTime,
38767 hh : processRelativeTime,
38768 d : processRelativeTime,
38769 dd : processRelativeTime,
38770 M : processRelativeTime,
38771 MM : processRelativeTime,
38772 y : processRelativeTime,
38773 yy : processRelativeTime
38774 },
38775 dayOfMonthOrdinalParse: /\d{1,2}\./,
38776 ordinal : '%d.',
38777 week : {
38778 dow : 1, // Monday is the first day of the week.
38779 doy : 7 // The week that contains Jan 1st is the first week of the year.
38780 }
38781 });
38782
38783 return sl;
38784
38785 })));
38786
38787
38788/***/ }),
38789/* 425 */
38790/***/ (function(module, exports, __webpack_require__) {
38791
38792 //! moment.js locale configuration
38793
38794 ;(function (global, factory) {
38795 true ? factory(__webpack_require__(327)) :
38796 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
38797 factory(global.moment)
38798 }(this, (function (moment) { 'use strict';
38799
38800
38801 var sq = moment.defineLocale('sq', {
38802 months : 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split('_'),
38803 monthsShort : 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'),
38804 weekdays : 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split('_'),
38805 weekdaysShort : 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'),
38806 weekdaysMin : 'D_H_Ma_Më_E_P_Sh'.split('_'),
38807 weekdaysParseExact : true,
38808 meridiemParse: /PD|MD/,
38809 isPM: function (input) {
38810 return input.charAt(0) === 'M';
38811 },
38812 meridiem : function (hours, minutes, isLower) {
38813 return hours < 12 ? 'PD' : 'MD';
38814 },
38815 longDateFormat : {
38816 LT : 'HH:mm',
38817 LTS : 'HH:mm:ss',
38818 L : 'DD/MM/YYYY',
38819 LL : 'D MMMM YYYY',
38820 LLL : 'D MMMM YYYY HH:mm',
38821 LLLL : 'dddd, D MMMM YYYY HH:mm'
38822 },
38823 calendar : {
38824 sameDay : '[Sot në] LT',
38825 nextDay : '[Nesër në] LT',
38826 nextWeek : 'dddd [në] LT',
38827 lastDay : '[Dje në] LT',
38828 lastWeek : 'dddd [e kaluar në] LT',
38829 sameElse : 'L'
38830 },
38831 relativeTime : {
38832 future : 'në %s',
38833 past : '%s më parë',
38834 s : 'disa sekonda',
38835 ss : '%d sekonda',
38836 m : 'një minutë',
38837 mm : '%d minuta',
38838 h : 'një orë',
38839 hh : '%d orë',
38840 d : 'një ditë',
38841 dd : '%d ditë',
38842 M : 'një muaj',
38843 MM : '%d muaj',
38844 y : 'një vit',
38845 yy : '%d vite'
38846 },
38847 dayOfMonthOrdinalParse: /\d{1,2}\./,
38848 ordinal : '%d.',
38849 week : {
38850 dow : 1, // Monday is the first day of the week.
38851 doy : 4 // The week that contains Jan 4th is the first week of the year.
38852 }
38853 });
38854
38855 return sq;
38856
38857 })));
38858
38859
38860/***/ }),
38861/* 426 */
38862/***/ (function(module, exports, __webpack_require__) {
38863
38864 //! moment.js locale configuration
38865
38866 ;(function (global, factory) {
38867 true ? factory(__webpack_require__(327)) :
38868 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
38869 factory(global.moment)
38870 }(this, (function (moment) { 'use strict';
38871
38872
38873 var translator = {
38874 words: { //Different grammatical cases
38875 ss: ['sekunda', 'sekunde', 'sekundi'],
38876 m: ['jedan minut', 'jedne minute'],
38877 mm: ['minut', 'minute', 'minuta'],
38878 h: ['jedan sat', 'jednog sata'],
38879 hh: ['sat', 'sata', 'sati'],
38880 dd: ['dan', 'dana', 'dana'],
38881 MM: ['mesec', 'meseca', 'meseci'],
38882 yy: ['godina', 'godine', 'godina']
38883 },
38884 correctGrammaticalCase: function (number, wordKey) {
38885 return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);
38886 },
38887 translate: function (number, withoutSuffix, key) {
38888 var wordKey = translator.words[key];
38889 if (key.length === 1) {
38890 return withoutSuffix ? wordKey[0] : wordKey[1];
38891 } else {
38892 return number + ' ' + translator.correctGrammaticalCase(number, wordKey);
38893 }
38894 }
38895 };
38896
38897 var sr = moment.defineLocale('sr', {
38898 months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'),
38899 monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),
38900 monthsParseExact: true,
38901 weekdays: 'nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota'.split('_'),
38902 weekdaysShort: 'ned._pon._uto._sre._čet._pet._sub.'.split('_'),
38903 weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),
38904 weekdaysParseExact : true,
38905 longDateFormat: {
38906 LT: 'H:mm',
38907 LTS : 'H:mm:ss',
38908 L: 'DD.MM.YYYY',
38909 LL: 'D. MMMM YYYY',
38910 LLL: 'D. MMMM YYYY H:mm',
38911 LLLL: 'dddd, D. MMMM YYYY H:mm'
38912 },
38913 calendar: {
38914 sameDay: '[danas u] LT',
38915 nextDay: '[sutra u] LT',
38916 nextWeek: function () {
38917 switch (this.day()) {
38918 case 0:
38919 return '[u] [nedelju] [u] LT';
38920 case 3:
38921 return '[u] [sredu] [u] LT';
38922 case 6:
38923 return '[u] [subotu] [u] LT';
38924 case 1:
38925 case 2:
38926 case 4:
38927 case 5:
38928 return '[u] dddd [u] LT';
38929 }
38930 },
38931 lastDay : '[juče u] LT',
38932 lastWeek : function () {
38933 var lastWeekDays = [
38934 '[prošle] [nedelje] [u] LT',
38935 '[prošlog] [ponedeljka] [u] LT',
38936 '[prošlog] [utorka] [u] LT',
38937 '[prošle] [srede] [u] LT',
38938 '[prošlog] [četvrtka] [u] LT',
38939 '[prošlog] [petka] [u] LT',
38940 '[prošle] [subote] [u] LT'
38941 ];
38942 return lastWeekDays[this.day()];
38943 },
38944 sameElse : 'L'
38945 },
38946 relativeTime : {
38947 future : 'za %s',
38948 past : 'pre %s',
38949 s : 'nekoliko sekundi',
38950 ss : translator.translate,
38951 m : translator.translate,
38952 mm : translator.translate,
38953 h : translator.translate,
38954 hh : translator.translate,
38955 d : 'dan',
38956 dd : translator.translate,
38957 M : 'mesec',
38958 MM : translator.translate,
38959 y : 'godinu',
38960 yy : translator.translate
38961 },
38962 dayOfMonthOrdinalParse: /\d{1,2}\./,
38963 ordinal : '%d.',
38964 week : {
38965 dow : 1, // Monday is the first day of the week.
38966 doy : 7 // The week that contains Jan 1st is the first week of the year.
38967 }
38968 });
38969
38970 return sr;
38971
38972 })));
38973
38974
38975/***/ }),
38976/* 427 */
38977/***/ (function(module, exports, __webpack_require__) {
38978
38979 //! moment.js locale configuration
38980
38981 ;(function (global, factory) {
38982 true ? factory(__webpack_require__(327)) :
38983 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
38984 factory(global.moment)
38985 }(this, (function (moment) { 'use strict';
38986
38987
38988 var translator = {
38989 words: { //Different grammatical cases
38990 ss: ['секунда', 'секунде', 'секунди'],
38991 m: ['један минут', 'једне минуте'],
38992 mm: ['минут', 'минуте', 'минута'],
38993 h: ['један сат', 'једног сата'],
38994 hh: ['сат', 'сата', 'сати'],
38995 dd: ['дан', 'дана', 'дана'],
38996 MM: ['месец', 'месеца', 'месеци'],
38997 yy: ['година', 'године', 'година']
38998 },
38999 correctGrammaticalCase: function (number, wordKey) {
39000 return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);
39001 },
39002 translate: function (number, withoutSuffix, key) {
39003 var wordKey = translator.words[key];
39004 if (key.length === 1) {
39005 return withoutSuffix ? wordKey[0] : wordKey[1];
39006 } else {
39007 return number + ' ' + translator.correctGrammaticalCase(number, wordKey);
39008 }
39009 }
39010 };
39011
39012 var srCyrl = moment.defineLocale('sr-cyrl', {
39013 months: 'јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар'.split('_'),
39014 monthsShort: 'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split('_'),
39015 monthsParseExact: true,
39016 weekdays: 'недеља_понедељак_уторак_среда_четвртак_петак_субота'.split('_'),
39017 weekdaysShort: 'нед._пон._уто._сре._чет._пет._суб.'.split('_'),
39018 weekdaysMin: 'не_по_ут_ср_че_пе_су'.split('_'),
39019 weekdaysParseExact : true,
39020 longDateFormat: {
39021 LT: 'H:mm',
39022 LTS : 'H:mm:ss',
39023 L: 'DD.MM.YYYY',
39024 LL: 'D. MMMM YYYY',
39025 LLL: 'D. MMMM YYYY H:mm',
39026 LLLL: 'dddd, D. MMMM YYYY H:mm'
39027 },
39028 calendar: {
39029 sameDay: '[данас у] LT',
39030 nextDay: '[сутра у] LT',
39031 nextWeek: function () {
39032 switch (this.day()) {
39033 case 0:
39034 return '[у] [недељу] [у] LT';
39035 case 3:
39036 return '[у] [среду] [у] LT';
39037 case 6:
39038 return '[у] [суботу] [у] LT';
39039 case 1:
39040 case 2:
39041 case 4:
39042 case 5:
39043 return '[у] dddd [у] LT';
39044 }
39045 },
39046 lastDay : '[јуче у] LT',
39047 lastWeek : function () {
39048 var lastWeekDays = [
39049 '[прошле] [недеље] [у] LT',
39050 '[прошлог] [понедељка] [у] LT',
39051 '[прошлог] [уторка] [у] LT',
39052 '[прошле] [среде] [у] LT',
39053 '[прошлог] [четвртка] [у] LT',
39054 '[прошлог] [петка] [у] LT',
39055 '[прошле] [суботе] [у] LT'
39056 ];
39057 return lastWeekDays[this.day()];
39058 },
39059 sameElse : 'L'
39060 },
39061 relativeTime : {
39062 future : 'за %s',
39063 past : 'пре %s',
39064 s : 'неколико секунди',
39065 ss : translator.translate,
39066 m : translator.translate,
39067 mm : translator.translate,
39068 h : translator.translate,
39069 hh : translator.translate,
39070 d : 'дан',
39071 dd : translator.translate,
39072 M : 'месец',
39073 MM : translator.translate,
39074 y : 'годину',
39075 yy : translator.translate
39076 },
39077 dayOfMonthOrdinalParse: /\d{1,2}\./,
39078 ordinal : '%d.',
39079 week : {
39080 dow : 1, // Monday is the first day of the week.
39081 doy : 7 // The week that contains Jan 1st is the first week of the year.
39082 }
39083 });
39084
39085 return srCyrl;
39086
39087 })));
39088
39089
39090/***/ }),
39091/* 428 */
39092/***/ (function(module, exports, __webpack_require__) {
39093
39094 //! moment.js locale configuration
39095
39096 ;(function (global, factory) {
39097 true ? factory(__webpack_require__(327)) :
39098 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
39099 factory(global.moment)
39100 }(this, (function (moment) { 'use strict';
39101
39102
39103 var ss = moment.defineLocale('ss', {
39104 months : "Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split('_'),
39105 monthsShort : 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'),
39106 weekdays : 'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split('_'),
39107 weekdaysShort : 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'),
39108 weekdaysMin : 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'),
39109 weekdaysParseExact : true,
39110 longDateFormat : {
39111 LT : 'h:mm A',
39112 LTS : 'h:mm:ss A',
39113 L : 'DD/MM/YYYY',
39114 LL : 'D MMMM YYYY',
39115 LLL : 'D MMMM YYYY h:mm A',
39116 LLLL : 'dddd, D MMMM YYYY h:mm A'
39117 },
39118 calendar : {
39119 sameDay : '[Namuhla nga] LT',
39120 nextDay : '[Kusasa nga] LT',
39121 nextWeek : 'dddd [nga] LT',
39122 lastDay : '[Itolo nga] LT',
39123 lastWeek : 'dddd [leliphelile] [nga] LT',
39124 sameElse : 'L'
39125 },
39126 relativeTime : {
39127 future : 'nga %s',
39128 past : 'wenteka nga %s',
39129 s : 'emizuzwana lomcane',
39130 ss : '%d mzuzwana',
39131 m : 'umzuzu',
39132 mm : '%d emizuzu',
39133 h : 'lihora',
39134 hh : '%d emahora',
39135 d : 'lilanga',
39136 dd : '%d emalanga',
39137 M : 'inyanga',
39138 MM : '%d tinyanga',
39139 y : 'umnyaka',
39140 yy : '%d iminyaka'
39141 },
39142 meridiemParse: /ekuseni|emini|entsambama|ebusuku/,
39143 meridiem : function (hours, minutes, isLower) {
39144 if (hours < 11) {
39145 return 'ekuseni';
39146 } else if (hours < 15) {
39147 return 'emini';
39148 } else if (hours < 19) {
39149 return 'entsambama';
39150 } else {
39151 return 'ebusuku';
39152 }
39153 },
39154 meridiemHour : function (hour, meridiem) {
39155 if (hour === 12) {
39156 hour = 0;
39157 }
39158 if (meridiem === 'ekuseni') {
39159 return hour;
39160 } else if (meridiem === 'emini') {
39161 return hour >= 11 ? hour : hour + 12;
39162 } else if (meridiem === 'entsambama' || meridiem === 'ebusuku') {
39163 if (hour === 0) {
39164 return 0;
39165 }
39166 return hour + 12;
39167 }
39168 },
39169 dayOfMonthOrdinalParse: /\d{1,2}/,
39170 ordinal : '%d',
39171 week : {
39172 dow : 1, // Monday is the first day of the week.
39173 doy : 4 // The week that contains Jan 4th is the first week of the year.
39174 }
39175 });
39176
39177 return ss;
39178
39179 })));
39180
39181
39182/***/ }),
39183/* 429 */
39184/***/ (function(module, exports, __webpack_require__) {
39185
39186 //! moment.js locale configuration
39187
39188 ;(function (global, factory) {
39189 true ? factory(__webpack_require__(327)) :
39190 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
39191 factory(global.moment)
39192 }(this, (function (moment) { 'use strict';
39193
39194
39195 var sv = moment.defineLocale('sv', {
39196 months : 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split('_'),
39197 monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),
39198 weekdays : 'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'),
39199 weekdaysShort : 'sön_mån_tis_ons_tor_fre_lör'.split('_'),
39200 weekdaysMin : 'sö_må_ti_on_to_fr_lö'.split('_'),
39201 longDateFormat : {
39202 LT : 'HH:mm',
39203 LTS : 'HH:mm:ss',
39204 L : 'YYYY-MM-DD',
39205 LL : 'D MMMM YYYY',
39206 LLL : 'D MMMM YYYY [kl.] HH:mm',
39207 LLLL : 'dddd D MMMM YYYY [kl.] HH:mm',
39208 lll : 'D MMM YYYY HH:mm',
39209 llll : 'ddd D MMM YYYY HH:mm'
39210 },
39211 calendar : {
39212 sameDay: '[Idag] LT',
39213 nextDay: '[Imorgon] LT',
39214 lastDay: '[Igår] LT',
39215 nextWeek: '[På] dddd LT',
39216 lastWeek: '[I] dddd[s] LT',
39217 sameElse: 'L'
39218 },
39219 relativeTime : {
39220 future : 'om %s',
39221 past : 'för %s sedan',
39222 s : 'några sekunder',
39223 ss : '%d sekunder',
39224 m : 'en minut',
39225 mm : '%d minuter',
39226 h : 'en timme',
39227 hh : '%d timmar',
39228 d : 'en dag',
39229 dd : '%d dagar',
39230 M : 'en månad',
39231 MM : '%d månader',
39232 y : 'ett år',
39233 yy : '%d år'
39234 },
39235 dayOfMonthOrdinalParse: /\d{1,2}(e|a)/,
39236 ordinal : function (number) {
39237 var b = number % 10,
39238 output = (~~(number % 100 / 10) === 1) ? 'e' :
39239 (b === 1) ? 'a' :
39240 (b === 2) ? 'a' :
39241 (b === 3) ? 'e' : 'e';
39242 return number + output;
39243 },
39244 week : {
39245 dow : 1, // Monday is the first day of the week.
39246 doy : 4 // The week that contains Jan 4th is the first week of the year.
39247 }
39248 });
39249
39250 return sv;
39251
39252 })));
39253
39254
39255/***/ }),
39256/* 430 */
39257/***/ (function(module, exports, __webpack_require__) {
39258
39259 //! moment.js locale configuration
39260
39261 ;(function (global, factory) {
39262 true ? factory(__webpack_require__(327)) :
39263 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
39264 factory(global.moment)
39265 }(this, (function (moment) { 'use strict';
39266
39267
39268 var sw = moment.defineLocale('sw', {
39269 months : 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split('_'),
39270 monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'),
39271 weekdays : 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split('_'),
39272 weekdaysShort : 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'),
39273 weekdaysMin : 'J2_J3_J4_J5_Al_Ij_J1'.split('_'),
39274 weekdaysParseExact : true,
39275 longDateFormat : {
39276 LT : 'HH:mm',
39277 LTS : 'HH:mm:ss',
39278 L : 'DD.MM.YYYY',
39279 LL : 'D MMMM YYYY',
39280 LLL : 'D MMMM YYYY HH:mm',
39281 LLLL : 'dddd, D MMMM YYYY HH:mm'
39282 },
39283 calendar : {
39284 sameDay : '[leo saa] LT',
39285 nextDay : '[kesho saa] LT',
39286 nextWeek : '[wiki ijayo] dddd [saat] LT',
39287 lastDay : '[jana] LT',
39288 lastWeek : '[wiki iliyopita] dddd [saat] LT',
39289 sameElse : 'L'
39290 },
39291 relativeTime : {
39292 future : '%s baadaye',
39293 past : 'tokea %s',
39294 s : 'hivi punde',
39295 ss : 'sekunde %d',
39296 m : 'dakika moja',
39297 mm : 'dakika %d',
39298 h : 'saa limoja',
39299 hh : 'masaa %d',
39300 d : 'siku moja',
39301 dd : 'masiku %d',
39302 M : 'mwezi mmoja',
39303 MM : 'miezi %d',
39304 y : 'mwaka mmoja',
39305 yy : 'miaka %d'
39306 },
39307 week : {
39308 dow : 1, // Monday is the first day of the week.
39309 doy : 7 // The week that contains Jan 1st is the first week of the year.
39310 }
39311 });
39312
39313 return sw;
39314
39315 })));
39316
39317
39318/***/ }),
39319/* 431 */
39320/***/ (function(module, exports, __webpack_require__) {
39321
39322 //! moment.js locale configuration
39323
39324 ;(function (global, factory) {
39325 true ? factory(__webpack_require__(327)) :
39326 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
39327 factory(global.moment)
39328 }(this, (function (moment) { 'use strict';
39329
39330
39331 var symbolMap = {
39332 '1': '௧',
39333 '2': '௨',
39334 '3': '௩',
39335 '4': '௪',
39336 '5': '௫',
39337 '6': '௬',
39338 '7': '௭',
39339 '8': '௮',
39340 '9': '௯',
39341 '0': '௦'
39342 }, numberMap = {
39343 '௧': '1',
39344 '௨': '2',
39345 '௩': '3',
39346 '௪': '4',
39347 '௫': '5',
39348 '௬': '6',
39349 '௭': '7',
39350 '௮': '8',
39351 '௯': '9',
39352 '௦': '0'
39353 };
39354
39355 var ta = moment.defineLocale('ta', {
39356 months : 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'),
39357 monthsShort : 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'),
39358 weekdays : 'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split('_'),
39359 weekdaysShort : 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split('_'),
39360 weekdaysMin : 'ஞா_தி_செ_பு_வி_வெ_ச'.split('_'),
39361 longDateFormat : {
39362 LT : 'HH:mm',
39363 LTS : 'HH:mm:ss',
39364 L : 'DD/MM/YYYY',
39365 LL : 'D MMMM YYYY',
39366 LLL : 'D MMMM YYYY, HH:mm',
39367 LLLL : 'dddd, D MMMM YYYY, HH:mm'
39368 },
39369 calendar : {
39370 sameDay : '[இன்று] LT',
39371 nextDay : '[நாளை] LT',
39372 nextWeek : 'dddd, LT',
39373 lastDay : '[நேற்று] LT',
39374 lastWeek : '[கடந்த வாரம்] dddd, LT',
39375 sameElse : 'L'
39376 },
39377 relativeTime : {
39378 future : '%s இல்',
39379 past : '%s முன்',
39380 s : 'ஒரு சில விநாடிகள்',
39381 ss : '%d விநாடிகள்',
39382 m : 'ஒரு நிமிடம்',
39383 mm : '%d நிமிடங்கள்',
39384 h : 'ஒரு மணி நேரம்',
39385 hh : '%d மணி நேரம்',
39386 d : 'ஒரு நாள்',
39387 dd : '%d நாட்கள்',
39388 M : 'ஒரு மாதம்',
39389 MM : '%d மாதங்கள்',
39390 y : 'ஒரு வருடம்',
39391 yy : '%d ஆண்டுகள்'
39392 },
39393 dayOfMonthOrdinalParse: /\d{1,2}வது/,
39394 ordinal : function (number) {
39395 return number + 'வது';
39396 },
39397 preparse: function (string) {
39398 return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (match) {
39399 return numberMap[match];
39400 });
39401 },
39402 postformat: function (string) {
39403 return string.replace(/\d/g, function (match) {
39404 return symbolMap[match];
39405 });
39406 },
39407 // refer http://ta.wikipedia.org/s/1er1
39408 meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,
39409 meridiem : function (hour, minute, isLower) {
39410 if (hour < 2) {
39411 return ' யாமம்';
39412 } else if (hour < 6) {
39413 return ' வைகறை'; // வைகறை
39414 } else if (hour < 10) {
39415 return ' காலை'; // காலை
39416 } else if (hour < 14) {
39417 return ' நண்பகல்'; // நண்பகல்
39418 } else if (hour < 18) {
39419 return ' எற்பாடு'; // எற்பாடு
39420 } else if (hour < 22) {
39421 return ' மாலை'; // மாலை
39422 } else {
39423 return ' யாமம்';
39424 }
39425 },
39426 meridiemHour : function (hour, meridiem) {
39427 if (hour === 12) {
39428 hour = 0;
39429 }
39430 if (meridiem === 'யாமம்') {
39431 return hour < 2 ? hour : hour + 12;
39432 } else if (meridiem === 'வைகறை' || meridiem === 'காலை') {
39433 return hour;
39434 } else if (meridiem === 'நண்பகல்') {
39435 return hour >= 10 ? hour : hour + 12;
39436 } else {
39437 return hour + 12;
39438 }
39439 },
39440 week : {
39441 dow : 0, // Sunday is the first day of the week.
39442 doy : 6 // The week that contains Jan 1st is the first week of the year.
39443 }
39444 });
39445
39446 return ta;
39447
39448 })));
39449
39450
39451/***/ }),
39452/* 432 */
39453/***/ (function(module, exports, __webpack_require__) {
39454
39455 //! moment.js locale configuration
39456
39457 ;(function (global, factory) {
39458 true ? factory(__webpack_require__(327)) :
39459 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
39460 factory(global.moment)
39461 }(this, (function (moment) { 'use strict';
39462
39463
39464 var te = moment.defineLocale('te', {
39465 months : 'జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జూలై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్'.split('_'),
39466 monthsShort : 'జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జూలై_ఆగ._సెప్._అక్టో._నవ._డిసె.'.split('_'),
39467 monthsParseExact : true,
39468 weekdays : 'ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం'.split('_'),
39469 weekdaysShort : 'ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని'.split('_'),
39470 weekdaysMin : 'ఆ_సో_మం_బు_గు_శు_శ'.split('_'),
39471 longDateFormat : {
39472 LT : 'A h:mm',
39473 LTS : 'A h:mm:ss',
39474 L : 'DD/MM/YYYY',
39475 LL : 'D MMMM YYYY',
39476 LLL : 'D MMMM YYYY, A h:mm',
39477 LLLL : 'dddd, D MMMM YYYY, A h:mm'
39478 },
39479 calendar : {
39480 sameDay : '[నేడు] LT',
39481 nextDay : '[రేపు] LT',
39482 nextWeek : 'dddd, LT',
39483 lastDay : '[నిన్న] LT',
39484 lastWeek : '[గత] dddd, LT',
39485 sameElse : 'L'
39486 },
39487 relativeTime : {
39488 future : '%s లో',
39489 past : '%s క్రితం',
39490 s : 'కొన్ని క్షణాలు',
39491 ss : '%d సెకన్లు',
39492 m : 'ఒక నిమిషం',
39493 mm : '%d నిమిషాలు',
39494 h : 'ఒక గంట',
39495 hh : '%d గంటలు',
39496 d : 'ఒక రోజు',
39497 dd : '%d రోజులు',
39498 M : 'ఒక నెల',
39499 MM : '%d నెలలు',
39500 y : 'ఒక సంవత్సరం',
39501 yy : '%d సంవత్సరాలు'
39502 },
39503 dayOfMonthOrdinalParse : /\d{1,2}వ/,
39504 ordinal : '%dవ',
39505 meridiemParse: /రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,
39506 meridiemHour : function (hour, meridiem) {
39507 if (hour === 12) {
39508 hour = 0;
39509 }
39510 if (meridiem === 'రాత్రి') {
39511 return hour < 4 ? hour : hour + 12;
39512 } else if (meridiem === 'ఉదయం') {
39513 return hour;
39514 } else if (meridiem === 'మధ్యాహ్నం') {
39515 return hour >= 10 ? hour : hour + 12;
39516 } else if (meridiem === 'సాయంత్రం') {
39517 return hour + 12;
39518 }
39519 },
39520 meridiem : function (hour, minute, isLower) {
39521 if (hour < 4) {
39522 return 'రాత్రి';
39523 } else if (hour < 10) {
39524 return 'ఉదయం';
39525 } else if (hour < 17) {
39526 return 'మధ్యాహ్నం';
39527 } else if (hour < 20) {
39528 return 'సాయంత్రం';
39529 } else {
39530 return 'రాత్రి';
39531 }
39532 },
39533 week : {
39534 dow : 0, // Sunday is the first day of the week.
39535 doy : 6 // The week that contains Jan 1st is the first week of the year.
39536 }
39537 });
39538
39539 return te;
39540
39541 })));
39542
39543
39544/***/ }),
39545/* 433 */
39546/***/ (function(module, exports, __webpack_require__) {
39547
39548 //! moment.js locale configuration
39549
39550 ;(function (global, factory) {
39551 true ? factory(__webpack_require__(327)) :
39552 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
39553 factory(global.moment)
39554 }(this, (function (moment) { 'use strict';
39555
39556
39557 var tet = moment.defineLocale('tet', {
39558 months : 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split('_'),
39559 monthsShort : 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),
39560 weekdays : 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu'.split('_'),
39561 weekdaysShort : 'Dom_Seg_Ters_Kua_Kint_Sest_Sab'.split('_'),
39562 weekdaysMin : 'Do_Seg_Te_Ku_Ki_Ses_Sa'.split('_'),
39563 longDateFormat : {
39564 LT : 'HH:mm',
39565 LTS : 'HH:mm:ss',
39566 L : 'DD/MM/YYYY',
39567 LL : 'D MMMM YYYY',
39568 LLL : 'D MMMM YYYY HH:mm',
39569 LLLL : 'dddd, D MMMM YYYY HH:mm'
39570 },
39571 calendar : {
39572 sameDay: '[Ohin iha] LT',
39573 nextDay: '[Aban iha] LT',
39574 nextWeek: 'dddd [iha] LT',
39575 lastDay: '[Horiseik iha] LT',
39576 lastWeek: 'dddd [semana kotuk] [iha] LT',
39577 sameElse: 'L'
39578 },
39579 relativeTime : {
39580 future : 'iha %s',
39581 past : '%s liuba',
39582 s : 'minutu balun',
39583 ss : 'minutu %d',
39584 m : 'minutu ida',
39585 mm : 'minutu %d',
39586 h : 'oras ida',
39587 hh : 'oras %d',
39588 d : 'loron ida',
39589 dd : 'loron %d',
39590 M : 'fulan ida',
39591 MM : 'fulan %d',
39592 y : 'tinan ida',
39593 yy : 'tinan %d'
39594 },
39595 dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
39596 ordinal : function (number) {
39597 var b = number % 10,
39598 output = (~~(number % 100 / 10) === 1) ? 'th' :
39599 (b === 1) ? 'st' :
39600 (b === 2) ? 'nd' :
39601 (b === 3) ? 'rd' : 'th';
39602 return number + output;
39603 },
39604 week : {
39605 dow : 1, // Monday is the first day of the week.
39606 doy : 4 // The week that contains Jan 4th is the first week of the year.
39607 }
39608 });
39609
39610 return tet;
39611
39612 })));
39613
39614
39615/***/ }),
39616/* 434 */
39617/***/ (function(module, exports, __webpack_require__) {
39618
39619 //! moment.js locale configuration
39620
39621 ;(function (global, factory) {
39622 true ? factory(__webpack_require__(327)) :
39623 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
39624 factory(global.moment)
39625 }(this, (function (moment) { 'use strict';
39626
39627
39628 var suffixes = {
39629 0: '-ум',
39630 1: '-ум',
39631 2: '-юм',
39632 3: '-юм',
39633 4: '-ум',
39634 5: '-ум',
39635 6: '-ум',
39636 7: '-ум',
39637 8: '-ум',
39638 9: '-ум',
39639 10: '-ум',
39640 12: '-ум',
39641 13: '-ум',
39642 20: '-ум',
39643 30: '-юм',
39644 40: '-ум',
39645 50: '-ум',
39646 60: '-ум',
39647 70: '-ум',
39648 80: '-ум',
39649 90: '-ум',
39650 100: '-ум'
39651 };
39652
39653 var tg = moment.defineLocale('tg', {
39654 months : 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split('_'),
39655 monthsShort : 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),
39656 weekdays : 'якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе'.split('_'),
39657 weekdaysShort : 'яшб_дшб_сшб_чшб_пшб_ҷум_шнб'.split('_'),
39658 weekdaysMin : 'яш_дш_сш_чш_пш_ҷм_шб'.split('_'),
39659 longDateFormat : {
39660 LT : 'HH:mm',
39661 LTS : 'HH:mm:ss',
39662 L : 'DD/MM/YYYY',
39663 LL : 'D MMMM YYYY',
39664 LLL : 'D MMMM YYYY HH:mm',
39665 LLLL : 'dddd, D MMMM YYYY HH:mm'
39666 },
39667 calendar : {
39668 sameDay : '[Имрӯз соати] LT',
39669 nextDay : '[Пагоҳ соати] LT',
39670 lastDay : '[Дирӯз соати] LT',
39671 nextWeek : 'dddd[и] [ҳафтаи оянда соати] LT',
39672 lastWeek : 'dddd[и] [ҳафтаи гузашта соати] LT',
39673 sameElse : 'L'
39674 },
39675 relativeTime : {
39676 future : 'баъди %s',
39677 past : '%s пеш',
39678 s : 'якчанд сония',
39679 m : 'як дақиқа',
39680 mm : '%d дақиқа',
39681 h : 'як соат',
39682 hh : '%d соат',
39683 d : 'як рӯз',
39684 dd : '%d рӯз',
39685 M : 'як моҳ',
39686 MM : '%d моҳ',
39687 y : 'як сол',
39688 yy : '%d сол'
39689 },
39690 meridiemParse: /шаб|субҳ|рӯз|бегоҳ/,
39691 meridiemHour: function (hour, meridiem) {
39692 if (hour === 12) {
39693 hour = 0;
39694 }
39695 if (meridiem === 'шаб') {
39696 return hour < 4 ? hour : hour + 12;
39697 } else if (meridiem === 'субҳ') {
39698 return hour;
39699 } else if (meridiem === 'рӯз') {
39700 return hour >= 11 ? hour : hour + 12;
39701 } else if (meridiem === 'бегоҳ') {
39702 return hour + 12;
39703 }
39704 },
39705 meridiem: function (hour, minute, isLower) {
39706 if (hour < 4) {
39707 return 'шаб';
39708 } else if (hour < 11) {
39709 return 'субҳ';
39710 } else if (hour < 16) {
39711 return 'рӯз';
39712 } else if (hour < 19) {
39713 return 'бегоҳ';
39714 } else {
39715 return 'шаб';
39716 }
39717 },
39718 dayOfMonthOrdinalParse: /\d{1,2}-(ум|юм)/,
39719 ordinal: function (number) {
39720 var a = number % 10,
39721 b = number >= 100 ? 100 : null;
39722 return number + (suffixes[number] || suffixes[a] || suffixes[b]);
39723 },
39724 week : {
39725 dow : 1, // Monday is the first day of the week.
39726 doy : 7 // The week that contains Jan 1th is the first week of the year.
39727 }
39728 });
39729
39730 return tg;
39731
39732 })));
39733
39734
39735/***/ }),
39736/* 435 */
39737/***/ (function(module, exports, __webpack_require__) {
39738
39739 //! moment.js locale configuration
39740
39741 ;(function (global, factory) {
39742 true ? factory(__webpack_require__(327)) :
39743 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
39744 factory(global.moment)
39745 }(this, (function (moment) { 'use strict';
39746
39747
39748 var th = moment.defineLocale('th', {
39749 months : 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split('_'),
39750 monthsShort : 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split('_'),
39751 monthsParseExact: true,
39752 weekdays : 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'),
39753 weekdaysShort : 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'), // yes, three characters difference
39754 weekdaysMin : 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'),
39755 weekdaysParseExact : true,
39756 longDateFormat : {
39757 LT : 'H:mm',
39758 LTS : 'H:mm:ss',
39759 L : 'DD/MM/YYYY',
39760 LL : 'D MMMM YYYY',
39761 LLL : 'D MMMM YYYY เวลา H:mm',
39762 LLLL : 'วันddddที่ D MMMM YYYY เวลา H:mm'
39763 },
39764 meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/,
39765 isPM: function (input) {
39766 return input === 'หลังเที่ยง';
39767 },
39768 meridiem : function (hour, minute, isLower) {
39769 if (hour < 12) {
39770 return 'ก่อนเที่ยง';
39771 } else {
39772 return 'หลังเที่ยง';
39773 }
39774 },
39775 calendar : {
39776 sameDay : '[วันนี้ เวลา] LT',
39777 nextDay : '[พรุ่งนี้ เวลา] LT',
39778 nextWeek : 'dddd[หน้า เวลา] LT',
39779 lastDay : '[เมื่อวานนี้ เวลา] LT',
39780 lastWeek : '[วัน]dddd[ที่แล้ว เวลา] LT',
39781 sameElse : 'L'
39782 },
39783 relativeTime : {
39784 future : 'อีก %s',
39785 past : '%sที่แล้ว',
39786 s : 'ไม่กี่วินาที',
39787 ss : '%d วินาที',
39788 m : '1 นาที',
39789 mm : '%d นาที',
39790 h : '1 ชั่วโมง',
39791 hh : '%d ชั่วโมง',
39792 d : '1 วัน',
39793 dd : '%d วัน',
39794 M : '1 เดือน',
39795 MM : '%d เดือน',
39796 y : '1 ปี',
39797 yy : '%d ปี'
39798 }
39799 });
39800
39801 return th;
39802
39803 })));
39804
39805
39806/***/ }),
39807/* 436 */
39808/***/ (function(module, exports, __webpack_require__) {
39809
39810 //! moment.js locale configuration
39811
39812 ;(function (global, factory) {
39813 true ? factory(__webpack_require__(327)) :
39814 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
39815 factory(global.moment)
39816 }(this, (function (moment) { 'use strict';
39817
39818
39819 var tlPh = moment.defineLocale('tl-ph', {
39820 months : 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split('_'),
39821 monthsShort : 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),
39822 weekdays : 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split('_'),
39823 weekdaysShort : 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),
39824 weekdaysMin : 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),
39825 longDateFormat : {
39826 LT : 'HH:mm',
39827 LTS : 'HH:mm:ss',
39828 L : 'MM/D/YYYY',
39829 LL : 'MMMM D, YYYY',
39830 LLL : 'MMMM D, YYYY HH:mm',
39831 LLLL : 'dddd, MMMM DD, YYYY HH:mm'
39832 },
39833 calendar : {
39834 sameDay: 'LT [ngayong araw]',
39835 nextDay: '[Bukas ng] LT',
39836 nextWeek: 'LT [sa susunod na] dddd',
39837 lastDay: 'LT [kahapon]',
39838 lastWeek: 'LT [noong nakaraang] dddd',
39839 sameElse: 'L'
39840 },
39841 relativeTime : {
39842 future : 'sa loob ng %s',
39843 past : '%s ang nakalipas',
39844 s : 'ilang segundo',
39845 ss : '%d segundo',
39846 m : 'isang minuto',
39847 mm : '%d minuto',
39848 h : 'isang oras',
39849 hh : '%d oras',
39850 d : 'isang araw',
39851 dd : '%d araw',
39852 M : 'isang buwan',
39853 MM : '%d buwan',
39854 y : 'isang taon',
39855 yy : '%d taon'
39856 },
39857 dayOfMonthOrdinalParse: /\d{1,2}/,
39858 ordinal : function (number) {
39859 return number;
39860 },
39861 week : {
39862 dow : 1, // Monday is the first day of the week.
39863 doy : 4 // The week that contains Jan 4th is the first week of the year.
39864 }
39865 });
39866
39867 return tlPh;
39868
39869 })));
39870
39871
39872/***/ }),
39873/* 437 */
39874/***/ (function(module, exports, __webpack_require__) {
39875
39876 //! moment.js locale configuration
39877
39878 ;(function (global, factory) {
39879 true ? factory(__webpack_require__(327)) :
39880 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
39881 factory(global.moment)
39882 }(this, (function (moment) { 'use strict';
39883
39884
39885 var numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_');
39886
39887 function translateFuture(output) {
39888 var time = output;
39889 time = (output.indexOf('jaj') !== -1) ?
39890 time.slice(0, -3) + 'leS' :
39891 (output.indexOf('jar') !== -1) ?
39892 time.slice(0, -3) + 'waQ' :
39893 (output.indexOf('DIS') !== -1) ?
39894 time.slice(0, -3) + 'nem' :
39895 time + ' pIq';
39896 return time;
39897 }
39898
39899 function translatePast(output) {
39900 var time = output;
39901 time = (output.indexOf('jaj') !== -1) ?
39902 time.slice(0, -3) + 'Hu’' :
39903 (output.indexOf('jar') !== -1) ?
39904 time.slice(0, -3) + 'wen' :
39905 (output.indexOf('DIS') !== -1) ?
39906 time.slice(0, -3) + 'ben' :
39907 time + ' ret';
39908 return time;
39909 }
39910
39911 function translate(number, withoutSuffix, string, isFuture) {
39912 var numberNoun = numberAsNoun(number);
39913 switch (string) {
39914 case 'ss':
39915 return numberNoun + ' lup';
39916 case 'mm':
39917 return numberNoun + ' tup';
39918 case 'hh':
39919 return numberNoun + ' rep';
39920 case 'dd':
39921 return numberNoun + ' jaj';
39922 case 'MM':
39923 return numberNoun + ' jar';
39924 case 'yy':
39925 return numberNoun + ' DIS';
39926 }
39927 }
39928
39929 function numberAsNoun(number) {
39930 var hundred = Math.floor((number % 1000) / 100),
39931 ten = Math.floor((number % 100) / 10),
39932 one = number % 10,
39933 word = '';
39934 if (hundred > 0) {
39935 word += numbersNouns[hundred] + 'vatlh';
39936 }
39937 if (ten > 0) {
39938 word += ((word !== '') ? ' ' : '') + numbersNouns[ten] + 'maH';
39939 }
39940 if (one > 0) {
39941 word += ((word !== '') ? ' ' : '') + numbersNouns[one];
39942 }
39943 return (word === '') ? 'pagh' : word;
39944 }
39945
39946 var tlh = moment.defineLocale('tlh', {
39947 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('_'),
39948 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('_'),
39949 monthsParseExact : true,
39950 weekdays : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),
39951 weekdaysShort : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),
39952 weekdaysMin : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),
39953 longDateFormat : {
39954 LT : 'HH:mm',
39955 LTS : 'HH:mm:ss',
39956 L : 'DD.MM.YYYY',
39957 LL : 'D MMMM YYYY',
39958 LLL : 'D MMMM YYYY HH:mm',
39959 LLLL : 'dddd, D MMMM YYYY HH:mm'
39960 },
39961 calendar : {
39962 sameDay: '[DaHjaj] LT',
39963 nextDay: '[wa’leS] LT',
39964 nextWeek: 'LLL',
39965 lastDay: '[wa’Hu’] LT',
39966 lastWeek: 'LLL',
39967 sameElse: 'L'
39968 },
39969 relativeTime : {
39970 future : translateFuture,
39971 past : translatePast,
39972 s : 'puS lup',
39973 ss : translate,
39974 m : 'wa’ tup',
39975 mm : translate,
39976 h : 'wa’ rep',
39977 hh : translate,
39978 d : 'wa’ jaj',
39979 dd : translate,
39980 M : 'wa’ jar',
39981 MM : translate,
39982 y : 'wa’ DIS',
39983 yy : translate
39984 },
39985 dayOfMonthOrdinalParse: /\d{1,2}\./,
39986 ordinal : '%d.',
39987 week : {
39988 dow : 1, // Monday is the first day of the week.
39989 doy : 4 // The week that contains Jan 4th is the first week of the year.
39990 }
39991 });
39992
39993 return tlh;
39994
39995 })));
39996
39997
39998/***/ }),
39999/* 438 */
40000/***/ (function(module, exports, __webpack_require__) {
40001
40002
40003 ;(function (global, factory) {
40004 true ? factory(__webpack_require__(327)) :
40005 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
40006 factory(global.moment)
40007 }(this, (function (moment) { 'use strict';
40008
40009 var suffixes = {
40010 1: '\'inci',
40011 5: '\'inci',
40012 8: '\'inci',
40013 70: '\'inci',
40014 80: '\'inci',
40015 2: '\'nci',
40016 7: '\'nci',
40017 20: '\'nci',
40018 50: '\'nci',
40019 3: '\'üncü',
40020 4: '\'üncü',
40021 100: '\'üncü',
40022 6: '\'ncı',
40023 9: '\'uncu',
40024 10: '\'uncu',
40025 30: '\'uncu',
40026 60: '\'ıncı',
40027 90: '\'ıncı'
40028 };
40029
40030 var tr = moment.defineLocale('tr', {
40031 months : 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split('_'),
40032 monthsShort : 'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara'.split('_'),
40033 weekdays : 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split('_'),
40034 weekdaysShort : 'Paz_Pts_Sal_Çar_Per_Cum_Cts'.split('_'),
40035 weekdaysMin : 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'),
40036 longDateFormat : {
40037 LT : 'HH:mm',
40038 LTS : 'HH:mm:ss',
40039 L : 'DD.MM.YYYY',
40040 LL : 'D MMMM YYYY',
40041 LLL : 'D MMMM YYYY HH:mm',
40042 LLLL : 'dddd, D MMMM YYYY HH:mm'
40043 },
40044 calendar : {
40045 sameDay : '[bugün saat] LT',
40046 nextDay : '[yarın saat] LT',
40047 nextWeek : '[gelecek] dddd [saat] LT',
40048 lastDay : '[dün] LT',
40049 lastWeek : '[geçen] dddd [saat] LT',
40050 sameElse : 'L'
40051 },
40052 relativeTime : {
40053 future : '%s sonra',
40054 past : '%s önce',
40055 s : 'birkaç saniye',
40056 ss : '%d saniye',
40057 m : 'bir dakika',
40058 mm : '%d dakika',
40059 h : 'bir saat',
40060 hh : '%d saat',
40061 d : 'bir gün',
40062 dd : '%d gün',
40063 M : 'bir ay',
40064 MM : '%d ay',
40065 y : 'bir yıl',
40066 yy : '%d yıl'
40067 },
40068 ordinal: function (number, period) {
40069 switch (period) {
40070 case 'd':
40071 case 'D':
40072 case 'Do':
40073 case 'DD':
40074 return number;
40075 default:
40076 if (number === 0) { // special case for zero
40077 return number + '\'ıncı';
40078 }
40079 var a = number % 10,
40080 b = number % 100 - a,
40081 c = number >= 100 ? 100 : null;
40082 return number + (suffixes[a] || suffixes[b] || suffixes[c]);
40083 }
40084 },
40085 week : {
40086 dow : 1, // Monday is the first day of the week.
40087 doy : 7 // The week that contains Jan 1st is the first week of the year.
40088 }
40089 });
40090
40091 return tr;
40092
40093 })));
40094
40095
40096/***/ }),
40097/* 439 */
40098/***/ (function(module, exports, __webpack_require__) {
40099
40100 //! moment.js locale configuration
40101
40102 ;(function (global, factory) {
40103 true ? factory(__webpack_require__(327)) :
40104 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
40105 factory(global.moment)
40106 }(this, (function (moment) { 'use strict';
40107
40108
40109 // After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals.
40110 // This is currently too difficult (maybe even impossible) to add.
40111 var tzl = moment.defineLocale('tzl', {
40112 months : 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split('_'),
40113 monthsShort : 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'),
40114 weekdays : 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'),
40115 weekdaysShort : 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'),
40116 weekdaysMin : 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'),
40117 longDateFormat : {
40118 LT : 'HH.mm',
40119 LTS : 'HH.mm.ss',
40120 L : 'DD.MM.YYYY',
40121 LL : 'D. MMMM [dallas] YYYY',
40122 LLL : 'D. MMMM [dallas] YYYY HH.mm',
40123 LLLL : 'dddd, [li] D. MMMM [dallas] YYYY HH.mm'
40124 },
40125 meridiemParse: /d\'o|d\'a/i,
40126 isPM : function (input) {
40127 return 'd\'o' === input.toLowerCase();
40128 },
40129 meridiem : function (hours, minutes, isLower) {
40130 if (hours > 11) {
40131 return isLower ? 'd\'o' : 'D\'O';
40132 } else {
40133 return isLower ? 'd\'a' : 'D\'A';
40134 }
40135 },
40136 calendar : {
40137 sameDay : '[oxhi à] LT',
40138 nextDay : '[demà à] LT',
40139 nextWeek : 'dddd [à] LT',
40140 lastDay : '[ieiri à] LT',
40141 lastWeek : '[sür el] dddd [lasteu à] LT',
40142 sameElse : 'L'
40143 },
40144 relativeTime : {
40145 future : 'osprei %s',
40146 past : 'ja%s',
40147 s : processRelativeTime,
40148 ss : processRelativeTime,
40149 m : processRelativeTime,
40150 mm : processRelativeTime,
40151 h : processRelativeTime,
40152 hh : processRelativeTime,
40153 d : processRelativeTime,
40154 dd : processRelativeTime,
40155 M : processRelativeTime,
40156 MM : processRelativeTime,
40157 y : processRelativeTime,
40158 yy : processRelativeTime
40159 },
40160 dayOfMonthOrdinalParse: /\d{1,2}\./,
40161 ordinal : '%d.',
40162 week : {
40163 dow : 1, // Monday is the first day of the week.
40164 doy : 4 // The week that contains Jan 4th is the first week of the year.
40165 }
40166 });
40167
40168 function processRelativeTime(number, withoutSuffix, key, isFuture) {
40169 var format = {
40170 's': ['viensas secunds', '\'iensas secunds'],
40171 'ss': [number + ' secunds', '' + number + ' secunds'],
40172 'm': ['\'n míut', '\'iens míut'],
40173 'mm': [number + ' míuts', '' + number + ' míuts'],
40174 'h': ['\'n þora', '\'iensa þora'],
40175 'hh': [number + ' þoras', '' + number + ' þoras'],
40176 'd': ['\'n ziua', '\'iensa ziua'],
40177 'dd': [number + ' ziuas', '' + number + ' ziuas'],
40178 'M': ['\'n mes', '\'iens mes'],
40179 'MM': [number + ' mesen', '' + number + ' mesen'],
40180 'y': ['\'n ar', '\'iens ar'],
40181 'yy': [number + ' ars', '' + number + ' ars']
40182 };
40183 return isFuture ? format[key][0] : (withoutSuffix ? format[key][0] : format[key][1]);
40184 }
40185
40186 return tzl;
40187
40188 })));
40189
40190
40191/***/ }),
40192/* 440 */
40193/***/ (function(module, exports, __webpack_require__) {
40194
40195 //! moment.js locale configuration
40196
40197 ;(function (global, factory) {
40198 true ? factory(__webpack_require__(327)) :
40199 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
40200 factory(global.moment)
40201 }(this, (function (moment) { 'use strict';
40202
40203
40204 var tzm = moment.defineLocale('tzm', {
40205 months : 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'),
40206 monthsShort : 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'),
40207 weekdays : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),
40208 weekdaysShort : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),
40209 weekdaysMin : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),
40210 longDateFormat : {
40211 LT : 'HH:mm',
40212 LTS: 'HH:mm:ss',
40213 L : 'DD/MM/YYYY',
40214 LL : 'D MMMM YYYY',
40215 LLL : 'D MMMM YYYY HH:mm',
40216 LLLL : 'dddd D MMMM YYYY HH:mm'
40217 },
40218 calendar : {
40219 sameDay: '[ⴰⵙⴷⵅ ⴴ] LT',
40220 nextDay: '[ⴰⵙⴽⴰ ⴴ] LT',
40221 nextWeek: 'dddd [ⴴ] LT',
40222 lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT',
40223 lastWeek: 'dddd [ⴴ] LT',
40224 sameElse: 'L'
40225 },
40226 relativeTime : {
40227 future : 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s',
40228 past : 'ⵢⴰⵏ %s',
40229 s : 'ⵉⵎⵉⴽ',
40230 ss : '%d ⵉⵎⵉⴽ',
40231 m : 'ⵎⵉⵏⵓⴺ',
40232 mm : '%d ⵎⵉⵏⵓⴺ',
40233 h : 'ⵙⴰⵄⴰ',
40234 hh : '%d ⵜⴰⵙⵙⴰⵄⵉⵏ',
40235 d : 'ⴰⵙⵙ',
40236 dd : '%d oⵙⵙⴰⵏ',
40237 M : 'ⴰⵢoⵓⵔ',
40238 MM : '%d ⵉⵢⵢⵉⵔⵏ',
40239 y : 'ⴰⵙⴳⴰⵙ',
40240 yy : '%d ⵉⵙⴳⴰⵙⵏ'
40241 },
40242 week : {
40243 dow : 6, // Saturday is the first day of the week.
40244 doy : 12 // The week that contains Jan 1st is the first week of the year.
40245 }
40246 });
40247
40248 return tzm;
40249
40250 })));
40251
40252
40253/***/ }),
40254/* 441 */
40255/***/ (function(module, exports, __webpack_require__) {
40256
40257 //! moment.js locale configuration
40258
40259 ;(function (global, factory) {
40260 true ? factory(__webpack_require__(327)) :
40261 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
40262 factory(global.moment)
40263 }(this, (function (moment) { 'use strict';
40264
40265
40266 var tzmLatn = moment.defineLocale('tzm-latn', {
40267 months : 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'),
40268 monthsShort : 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'),
40269 weekdays : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),
40270 weekdaysShort : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),
40271 weekdaysMin : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),
40272 longDateFormat : {
40273 LT : 'HH:mm',
40274 LTS : 'HH:mm:ss',
40275 L : 'DD/MM/YYYY',
40276 LL : 'D MMMM YYYY',
40277 LLL : 'D MMMM YYYY HH:mm',
40278 LLLL : 'dddd D MMMM YYYY HH:mm'
40279 },
40280 calendar : {
40281 sameDay: '[asdkh g] LT',
40282 nextDay: '[aska g] LT',
40283 nextWeek: 'dddd [g] LT',
40284 lastDay: '[assant g] LT',
40285 lastWeek: 'dddd [g] LT',
40286 sameElse: 'L'
40287 },
40288 relativeTime : {
40289 future : 'dadkh s yan %s',
40290 past : 'yan %s',
40291 s : 'imik',
40292 ss : '%d imik',
40293 m : 'minuḍ',
40294 mm : '%d minuḍ',
40295 h : 'saɛa',
40296 hh : '%d tassaɛin',
40297 d : 'ass',
40298 dd : '%d ossan',
40299 M : 'ayowr',
40300 MM : '%d iyyirn',
40301 y : 'asgas',
40302 yy : '%d isgasn'
40303 },
40304 week : {
40305 dow : 6, // Saturday is the first day of the week.
40306 doy : 12 // The week that contains Jan 1st is the first week of the year.
40307 }
40308 });
40309
40310 return tzmLatn;
40311
40312 })));
40313
40314
40315/***/ }),
40316/* 442 */
40317/***/ (function(module, exports, __webpack_require__) {
40318
40319 //! moment.js language configuration
40320
40321 ;(function (global, factory) {
40322 true ? factory(__webpack_require__(327)) :
40323 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
40324 factory(global.moment)
40325 }(this, (function (moment) { 'use strict';
40326
40327
40328 var ugCn = moment.defineLocale('ug-cn', {
40329 months: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(
40330 '_'
40331 ),
40332 monthsShort: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(
40333 '_'
40334 ),
40335 weekdays: 'يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە'.split(
40336 '_'
40337 ),
40338 weekdaysShort: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),
40339 weekdaysMin: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),
40340 longDateFormat: {
40341 LT: 'HH:mm',
40342 LTS: 'HH:mm:ss',
40343 L: 'YYYY-MM-DD',
40344 LL: 'YYYY-يىلىM-ئاينىڭD-كۈنى',
40345 LLL: 'YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',
40346 LLLL: 'dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm'
40347 },
40348 meridiemParse: /يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/,
40349 meridiemHour: function (hour, meridiem) {
40350 if (hour === 12) {
40351 hour = 0;
40352 }
40353 if (
40354 meridiem === 'يېرىم كېچە' ||
40355 meridiem === 'سەھەر' ||
40356 meridiem === 'چۈشتىن بۇرۇن'
40357 ) {
40358 return hour;
40359 } else if (meridiem === 'چۈشتىن كېيىن' || meridiem === 'كەچ') {
40360 return hour + 12;
40361 } else {
40362 return hour >= 11 ? hour : hour + 12;
40363 }
40364 },
40365 meridiem: function (hour, minute, isLower) {
40366 var hm = hour * 100 + minute;
40367 if (hm < 600) {
40368 return 'يېرىم كېچە';
40369 } else if (hm < 900) {
40370 return 'سەھەر';
40371 } else if (hm < 1130) {
40372 return 'چۈشتىن بۇرۇن';
40373 } else if (hm < 1230) {
40374 return 'چۈش';
40375 } else if (hm < 1800) {
40376 return 'چۈشتىن كېيىن';
40377 } else {
40378 return 'كەچ';
40379 }
40380 },
40381 calendar: {
40382 sameDay: '[بۈگۈن سائەت] LT',
40383 nextDay: '[ئەتە سائەت] LT',
40384 nextWeek: '[كېلەركى] dddd [سائەت] LT',
40385 lastDay: '[تۆنۈگۈن] LT',
40386 lastWeek: '[ئالدىنقى] dddd [سائەت] LT',
40387 sameElse: 'L'
40388 },
40389 relativeTime: {
40390 future: '%s كېيىن',
40391 past: '%s بۇرۇن',
40392 s: 'نەچچە سېكونت',
40393 ss: '%d سېكونت',
40394 m: 'بىر مىنۇت',
40395 mm: '%d مىنۇت',
40396 h: 'بىر سائەت',
40397 hh: '%d سائەت',
40398 d: 'بىر كۈن',
40399 dd: '%d كۈن',
40400 M: 'بىر ئاي',
40401 MM: '%d ئاي',
40402 y: 'بىر يىل',
40403 yy: '%d يىل'
40404 },
40405
40406 dayOfMonthOrdinalParse: /\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,
40407 ordinal: function (number, period) {
40408 switch (period) {
40409 case 'd':
40410 case 'D':
40411 case 'DDD':
40412 return number + '-كۈنى';
40413 case 'w':
40414 case 'W':
40415 return number + '-ھەپتە';
40416 default:
40417 return number;
40418 }
40419 },
40420 preparse: function (string) {
40421 return string.replace(/،/g, ',');
40422 },
40423 postformat: function (string) {
40424 return string.replace(/,/g, '،');
40425 },
40426 week: {
40427 // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效
40428 dow: 1, // Monday is the first day of the week.
40429 doy: 7 // The week that contains Jan 1st is the first week of the year.
40430 }
40431 });
40432
40433 return ugCn;
40434
40435 })));
40436
40437
40438/***/ }),
40439/* 443 */
40440/***/ (function(module, exports, __webpack_require__) {
40441
40442 //! moment.js locale configuration
40443
40444 ;(function (global, factory) {
40445 true ? factory(__webpack_require__(327)) :
40446 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
40447 factory(global.moment)
40448 }(this, (function (moment) { 'use strict';
40449
40450
40451 function plural(word, num) {
40452 var forms = word.split('_');
40453 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]);
40454 }
40455 function relativeTimeWithPlural(number, withoutSuffix, key) {
40456 var format = {
40457 'ss': withoutSuffix ? 'секунда_секунди_секунд' : 'секунду_секунди_секунд',
40458 'mm': withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин',
40459 'hh': withoutSuffix ? 'година_години_годин' : 'годину_години_годин',
40460 'dd': 'день_дні_днів',
40461 'MM': 'місяць_місяці_місяців',
40462 'yy': 'рік_роки_років'
40463 };
40464 if (key === 'm') {
40465 return withoutSuffix ? 'хвилина' : 'хвилину';
40466 }
40467 else if (key === 'h') {
40468 return withoutSuffix ? 'година' : 'годину';
40469 }
40470 else {
40471 return number + ' ' + plural(format[key], +number);
40472 }
40473 }
40474 function weekdaysCaseReplace(m, format) {
40475 var weekdays = {
40476 'nominative': 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split('_'),
40477 'accusative': 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split('_'),
40478 'genitive': 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split('_')
40479 };
40480
40481 if (!m) {
40482 return weekdays['nominative'];
40483 }
40484
40485 var nounCase = (/(\[[ВвУу]\]) ?dddd/).test(format) ?
40486 'accusative' :
40487 ((/\[?(?:минулої|наступної)? ?\] ?dddd/).test(format) ?
40488 'genitive' :
40489 'nominative');
40490 return weekdays[nounCase][m.day()];
40491 }
40492 function processHoursFunction(str) {
40493 return function () {
40494 return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT';
40495 };
40496 }
40497
40498 var uk = moment.defineLocale('uk', {
40499 months : {
40500 'format': 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split('_'),
40501 'standalone': 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split('_')
40502 },
40503 monthsShort : 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split('_'),
40504 weekdays : weekdaysCaseReplace,
40505 weekdaysShort : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),
40506 weekdaysMin : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),
40507 longDateFormat : {
40508 LT : 'HH:mm',
40509 LTS : 'HH:mm:ss',
40510 L : 'DD.MM.YYYY',
40511 LL : 'D MMMM YYYY р.',
40512 LLL : 'D MMMM YYYY р., HH:mm',
40513 LLLL : 'dddd, D MMMM YYYY р., HH:mm'
40514 },
40515 calendar : {
40516 sameDay: processHoursFunction('[Сьогодні '),
40517 nextDay: processHoursFunction('[Завтра '),
40518 lastDay: processHoursFunction('[Вчора '),
40519 nextWeek: processHoursFunction('[У] dddd ['),
40520 lastWeek: function () {
40521 switch (this.day()) {
40522 case 0:
40523 case 3:
40524 case 5:
40525 case 6:
40526 return processHoursFunction('[Минулої] dddd [').call(this);
40527 case 1:
40528 case 2:
40529 case 4:
40530 return processHoursFunction('[Минулого] dddd [').call(this);
40531 }
40532 },
40533 sameElse: 'L'
40534 },
40535 relativeTime : {
40536 future : 'за %s',
40537 past : '%s тому',
40538 s : 'декілька секунд',
40539 ss : relativeTimeWithPlural,
40540 m : relativeTimeWithPlural,
40541 mm : relativeTimeWithPlural,
40542 h : 'годину',
40543 hh : relativeTimeWithPlural,
40544 d : 'день',
40545 dd : relativeTimeWithPlural,
40546 M : 'місяць',
40547 MM : relativeTimeWithPlural,
40548 y : 'рік',
40549 yy : relativeTimeWithPlural
40550 },
40551 // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason
40552 meridiemParse: /ночі|ранку|дня|вечора/,
40553 isPM: function (input) {
40554 return /^(дня|вечора)$/.test(input);
40555 },
40556 meridiem : function (hour, minute, isLower) {
40557 if (hour < 4) {
40558 return 'ночі';
40559 } else if (hour < 12) {
40560 return 'ранку';
40561 } else if (hour < 17) {
40562 return 'дня';
40563 } else {
40564 return 'вечора';
40565 }
40566 },
40567 dayOfMonthOrdinalParse: /\d{1,2}-(й|го)/,
40568 ordinal: function (number, period) {
40569 switch (period) {
40570 case 'M':
40571 case 'd':
40572 case 'DDD':
40573 case 'w':
40574 case 'W':
40575 return number + '-й';
40576 case 'D':
40577 return number + '-го';
40578 default:
40579 return number;
40580 }
40581 },
40582 week : {
40583 dow : 1, // Monday is the first day of the week.
40584 doy : 7 // The week that contains Jan 1st is the first week of the year.
40585 }
40586 });
40587
40588 return uk;
40589
40590 })));
40591
40592
40593/***/ }),
40594/* 444 */
40595/***/ (function(module, exports, __webpack_require__) {
40596
40597 //! moment.js locale configuration
40598
40599 ;(function (global, factory) {
40600 true ? factory(__webpack_require__(327)) :
40601 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
40602 factory(global.moment)
40603 }(this, (function (moment) { 'use strict';
40604
40605
40606 var months = [
40607 'جنوری',
40608 'فروری',
40609 'مارچ',
40610 'اپریل',
40611 'مئی',
40612 'جون',
40613 'جولائی',
40614 'اگست',
40615 'ستمبر',
40616 'اکتوبر',
40617 'نومبر',
40618 'دسمبر'
40619 ];
40620 var days = [
40621 'اتوار',
40622 'پیر',
40623 'منگل',
40624 'بدھ',
40625 'جمعرات',
40626 'جمعہ',
40627 'ہفتہ'
40628 ];
40629
40630 var ur = moment.defineLocale('ur', {
40631 months : months,
40632 monthsShort : months,
40633 weekdays : days,
40634 weekdaysShort : days,
40635 weekdaysMin : days,
40636 longDateFormat : {
40637 LT : 'HH:mm',
40638 LTS : 'HH:mm:ss',
40639 L : 'DD/MM/YYYY',
40640 LL : 'D MMMM YYYY',
40641 LLL : 'D MMMM YYYY HH:mm',
40642 LLLL : 'dddd، D MMMM YYYY HH:mm'
40643 },
40644 meridiemParse: /صبح|شام/,
40645 isPM : function (input) {
40646 return 'شام' === input;
40647 },
40648 meridiem : function (hour, minute, isLower) {
40649 if (hour < 12) {
40650 return 'صبح';
40651 }
40652 return 'شام';
40653 },
40654 calendar : {
40655 sameDay : '[آج بوقت] LT',
40656 nextDay : '[کل بوقت] LT',
40657 nextWeek : 'dddd [بوقت] LT',
40658 lastDay : '[گذشتہ روز بوقت] LT',
40659 lastWeek : '[گذشتہ] dddd [بوقت] LT',
40660 sameElse : 'L'
40661 },
40662 relativeTime : {
40663 future : '%s بعد',
40664 past : '%s قبل',
40665 s : 'چند سیکنڈ',
40666 ss : '%d سیکنڈ',
40667 m : 'ایک منٹ',
40668 mm : '%d منٹ',
40669 h : 'ایک گھنٹہ',
40670 hh : '%d گھنٹے',
40671 d : 'ایک دن',
40672 dd : '%d دن',
40673 M : 'ایک ماہ',
40674 MM : '%d ماہ',
40675 y : 'ایک سال',
40676 yy : '%d سال'
40677 },
40678 preparse: function (string) {
40679 return string.replace(/،/g, ',');
40680 },
40681 postformat: function (string) {
40682 return string.replace(/,/g, '،');
40683 },
40684 week : {
40685 dow : 1, // Monday is the first day of the week.
40686 doy : 4 // The week that contains Jan 4th is the first week of the year.
40687 }
40688 });
40689
40690 return ur;
40691
40692 })));
40693
40694
40695/***/ }),
40696/* 445 */
40697/***/ (function(module, exports, __webpack_require__) {
40698
40699 //! moment.js locale configuration
40700
40701 ;(function (global, factory) {
40702 true ? factory(__webpack_require__(327)) :
40703 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
40704 factory(global.moment)
40705 }(this, (function (moment) { 'use strict';
40706
40707
40708 var uz = moment.defineLocale('uz', {
40709 months : 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split('_'),
40710 monthsShort : 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),
40711 weekdays : 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'),
40712 weekdaysShort : 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'),
40713 weekdaysMin : 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'),
40714 longDateFormat : {
40715 LT : 'HH:mm',
40716 LTS : 'HH:mm:ss',
40717 L : 'DD/MM/YYYY',
40718 LL : 'D MMMM YYYY',
40719 LLL : 'D MMMM YYYY HH:mm',
40720 LLLL : 'D MMMM YYYY, dddd HH:mm'
40721 },
40722 calendar : {
40723 sameDay : '[Бугун соат] LT [да]',
40724 nextDay : '[Эртага] LT [да]',
40725 nextWeek : 'dddd [куни соат] LT [да]',
40726 lastDay : '[Кеча соат] LT [да]',
40727 lastWeek : '[Утган] dddd [куни соат] LT [да]',
40728 sameElse : 'L'
40729 },
40730 relativeTime : {
40731 future : 'Якин %s ичида',
40732 past : 'Бир неча %s олдин',
40733 s : 'фурсат',
40734 ss : '%d фурсат',
40735 m : 'бир дакика',
40736 mm : '%d дакика',
40737 h : 'бир соат',
40738 hh : '%d соат',
40739 d : 'бир кун',
40740 dd : '%d кун',
40741 M : 'бир ой',
40742 MM : '%d ой',
40743 y : 'бир йил',
40744 yy : '%d йил'
40745 },
40746 week : {
40747 dow : 1, // Monday is the first day of the week.
40748 doy : 7 // The week that contains Jan 4th is the first week of the year.
40749 }
40750 });
40751
40752 return uz;
40753
40754 })));
40755
40756
40757/***/ }),
40758/* 446 */
40759/***/ (function(module, exports, __webpack_require__) {
40760
40761 //! moment.js locale configuration
40762
40763 ;(function (global, factory) {
40764 true ? factory(__webpack_require__(327)) :
40765 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
40766 factory(global.moment)
40767 }(this, (function (moment) { 'use strict';
40768
40769
40770 var uzLatn = moment.defineLocale('uz-latn', {
40771 months : 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split('_'),
40772 monthsShort : 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'),
40773 weekdays : 'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split('_'),
40774 weekdaysShort : 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'),
40775 weekdaysMin : 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'),
40776 longDateFormat : {
40777 LT : 'HH:mm',
40778 LTS : 'HH:mm:ss',
40779 L : 'DD/MM/YYYY',
40780 LL : 'D MMMM YYYY',
40781 LLL : 'D MMMM YYYY HH:mm',
40782 LLLL : 'D MMMM YYYY, dddd HH:mm'
40783 },
40784 calendar : {
40785 sameDay : '[Bugun soat] LT [da]',
40786 nextDay : '[Ertaga] LT [da]',
40787 nextWeek : 'dddd [kuni soat] LT [da]',
40788 lastDay : '[Kecha soat] LT [da]',
40789 lastWeek : '[O\'tgan] dddd [kuni soat] LT [da]',
40790 sameElse : 'L'
40791 },
40792 relativeTime : {
40793 future : 'Yaqin %s ichida',
40794 past : 'Bir necha %s oldin',
40795 s : 'soniya',
40796 ss : '%d soniya',
40797 m : 'bir daqiqa',
40798 mm : '%d daqiqa',
40799 h : 'bir soat',
40800 hh : '%d soat',
40801 d : 'bir kun',
40802 dd : '%d kun',
40803 M : 'bir oy',
40804 MM : '%d oy',
40805 y : 'bir yil',
40806 yy : '%d yil'
40807 },
40808 week : {
40809 dow : 1, // Monday is the first day of the week.
40810 doy : 7 // The week that contains Jan 1st is the first week of the year.
40811 }
40812 });
40813
40814 return uzLatn;
40815
40816 })));
40817
40818
40819/***/ }),
40820/* 447 */
40821/***/ (function(module, exports, __webpack_require__) {
40822
40823 //! moment.js locale configuration
40824
40825 ;(function (global, factory) {
40826 true ? factory(__webpack_require__(327)) :
40827 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
40828 factory(global.moment)
40829 }(this, (function (moment) { 'use strict';
40830
40831
40832 var vi = moment.defineLocale('vi', {
40833 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('_'),
40834 monthsShort : 'Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12'.split('_'),
40835 monthsParseExact : true,
40836 weekdays : 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split('_'),
40837 weekdaysShort : 'CN_T2_T3_T4_T5_T6_T7'.split('_'),
40838 weekdaysMin : 'CN_T2_T3_T4_T5_T6_T7'.split('_'),
40839 weekdaysParseExact : true,
40840 meridiemParse: /sa|ch/i,
40841 isPM : function (input) {
40842 return /^ch$/i.test(input);
40843 },
40844 meridiem : function (hours, minutes, isLower) {
40845 if (hours < 12) {
40846 return isLower ? 'sa' : 'SA';
40847 } else {
40848 return isLower ? 'ch' : 'CH';
40849 }
40850 },
40851 longDateFormat : {
40852 LT : 'HH:mm',
40853 LTS : 'HH:mm:ss',
40854 L : 'DD/MM/YYYY',
40855 LL : 'D MMMM [năm] YYYY',
40856 LLL : 'D MMMM [năm] YYYY HH:mm',
40857 LLLL : 'dddd, D MMMM [năm] YYYY HH:mm',
40858 l : 'DD/M/YYYY',
40859 ll : 'D MMM YYYY',
40860 lll : 'D MMM YYYY HH:mm',
40861 llll : 'ddd, D MMM YYYY HH:mm'
40862 },
40863 calendar : {
40864 sameDay: '[Hôm nay lúc] LT',
40865 nextDay: '[Ngày mai lúc] LT',
40866 nextWeek: 'dddd [tuần tới lúc] LT',
40867 lastDay: '[Hôm qua lúc] LT',
40868 lastWeek: 'dddd [tuần rồi lúc] LT',
40869 sameElse: 'L'
40870 },
40871 relativeTime : {
40872 future : '%s tới',
40873 past : '%s trước',
40874 s : 'vài giây',
40875 ss : '%d giây' ,
40876 m : 'một phút',
40877 mm : '%d phút',
40878 h : 'một giờ',
40879 hh : '%d giờ',
40880 d : 'một ngày',
40881 dd : '%d ngày',
40882 M : 'một tháng',
40883 MM : '%d tháng',
40884 y : 'một năm',
40885 yy : '%d năm'
40886 },
40887 dayOfMonthOrdinalParse: /\d{1,2}/,
40888 ordinal : function (number) {
40889 return number;
40890 },
40891 week : {
40892 dow : 1, // Monday is the first day of the week.
40893 doy : 4 // The week that contains Jan 4th is the first week of the year.
40894 }
40895 });
40896
40897 return vi;
40898
40899 })));
40900
40901
40902/***/ }),
40903/* 448 */
40904/***/ (function(module, exports, __webpack_require__) {
40905
40906 //! moment.js locale configuration
40907
40908 ;(function (global, factory) {
40909 true ? factory(__webpack_require__(327)) :
40910 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
40911 factory(global.moment)
40912 }(this, (function (moment) { 'use strict';
40913
40914
40915 var xPseudo = moment.defineLocale('x-pseudo', {
40916 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('_'),
40917 monthsShort : 'J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc'.split('_'),
40918 monthsParseExact : true,
40919 weekdays : 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split('_'),
40920 weekdaysShort : 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'),
40921 weekdaysMin : 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'),
40922 weekdaysParseExact : true,
40923 longDateFormat : {
40924 LT : 'HH:mm',
40925 L : 'DD/MM/YYYY',
40926 LL : 'D MMMM YYYY',
40927 LLL : 'D MMMM YYYY HH:mm',
40928 LLLL : 'dddd, D MMMM YYYY HH:mm'
40929 },
40930 calendar : {
40931 sameDay : '[T~ódá~ý át] LT',
40932 nextDay : '[T~ómó~rró~w át] LT',
40933 nextWeek : 'dddd [át] LT',
40934 lastDay : '[Ý~ést~érdá~ý át] LT',
40935 lastWeek : '[L~ást] dddd [át] LT',
40936 sameElse : 'L'
40937 },
40938 relativeTime : {
40939 future : 'í~ñ %s',
40940 past : '%s á~gó',
40941 s : 'á ~féw ~sécó~ñds',
40942 ss : '%d s~écóñ~ds',
40943 m : 'á ~míñ~úté',
40944 mm : '%d m~íñú~tés',
40945 h : 'á~ñ hó~úr',
40946 hh : '%d h~óúrs',
40947 d : 'á ~dáý',
40948 dd : '%d d~áýs',
40949 M : 'á ~móñ~th',
40950 MM : '%d m~óñt~hs',
40951 y : 'á ~ýéár',
40952 yy : '%d ý~éárs'
40953 },
40954 dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/,
40955 ordinal : function (number) {
40956 var b = number % 10,
40957 output = (~~(number % 100 / 10) === 1) ? 'th' :
40958 (b === 1) ? 'st' :
40959 (b === 2) ? 'nd' :
40960 (b === 3) ? 'rd' : 'th';
40961 return number + output;
40962 },
40963 week : {
40964 dow : 1, // Monday is the first day of the week.
40965 doy : 4 // The week that contains Jan 4th is the first week of the year.
40966 }
40967 });
40968
40969 return xPseudo;
40970
40971 })));
40972
40973
40974/***/ }),
40975/* 449 */
40976/***/ (function(module, exports, __webpack_require__) {
40977
40978 //! moment.js locale configuration
40979
40980 ;(function (global, factory) {
40981 true ? factory(__webpack_require__(327)) :
40982 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
40983 factory(global.moment)
40984 }(this, (function (moment) { 'use strict';
40985
40986
40987 var yo = moment.defineLocale('yo', {
40988 months : 'Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀'.split('_'),
40989 monthsShort : 'Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀'.split('_'),
40990 weekdays : 'Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta'.split('_'),
40991 weekdaysShort : 'Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá'.split('_'),
40992 weekdaysMin : 'Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb'.split('_'),
40993 longDateFormat : {
40994 LT : 'h:mm A',
40995 LTS : 'h:mm:ss A',
40996 L : 'DD/MM/YYYY',
40997 LL : 'D MMMM YYYY',
40998 LLL : 'D MMMM YYYY h:mm A',
40999 LLLL : 'dddd, D MMMM YYYY h:mm A'
41000 },
41001 calendar : {
41002 sameDay : '[Ònì ni] LT',
41003 nextDay : '[Ọ̀la ni] LT',
41004 nextWeek : 'dddd [Ọsẹ̀ tón\'bọ] [ni] LT',
41005 lastDay : '[Àna ni] LT',
41006 lastWeek : 'dddd [Ọsẹ̀ tólọ́] [ni] LT',
41007 sameElse : 'L'
41008 },
41009 relativeTime : {
41010 future : 'ní %s',
41011 past : '%s kọjá',
41012 s : 'ìsẹjú aayá die',
41013 ss :'aayá %d',
41014 m : 'ìsẹjú kan',
41015 mm : 'ìsẹjú %d',
41016 h : 'wákati kan',
41017 hh : 'wákati %d',
41018 d : 'ọjọ́ kan',
41019 dd : 'ọjọ́ %d',
41020 M : 'osù kan',
41021 MM : 'osù %d',
41022 y : 'ọdún kan',
41023 yy : 'ọdún %d'
41024 },
41025 dayOfMonthOrdinalParse : /ọjọ́\s\d{1,2}/,
41026 ordinal : 'ọjọ́ %d',
41027 week : {
41028 dow : 1, // Monday is the first day of the week.
41029 doy : 4 // The week that contains Jan 4th is the first week of the year.
41030 }
41031 });
41032
41033 return yo;
41034
41035 })));
41036
41037
41038/***/ }),
41039/* 450 */
41040/***/ (function(module, exports, __webpack_require__) {
41041
41042 //! moment.js locale configuration
41043
41044 ;(function (global, factory) {
41045 true ? factory(__webpack_require__(327)) :
41046 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
41047 factory(global.moment)
41048 }(this, (function (moment) { 'use strict';
41049
41050
41051 var zhCn = moment.defineLocale('zh-cn', {
41052 months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),
41053 monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),
41054 weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),
41055 weekdaysShort : '周日_周一_周二_周三_周四_周五_周六'.split('_'),
41056 weekdaysMin : '日_一_二_三_四_五_六'.split('_'),
41057 longDateFormat : {
41058 LT : 'HH:mm',
41059 LTS : 'HH:mm:ss',
41060 L : 'YYYY/MM/DD',
41061 LL : 'YYYY年M月D日',
41062 LLL : 'YYYY年M月D日Ah点mm分',
41063 LLLL : 'YYYY年M月D日ddddAh点mm分',
41064 l : 'YYYY/M/D',
41065 ll : 'YYYY年M月D日',
41066 lll : 'YYYY年M月D日 HH:mm',
41067 llll : 'YYYY年M月D日dddd HH:mm'
41068 },
41069 meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,
41070 meridiemHour: function (hour, meridiem) {
41071 if (hour === 12) {
41072 hour = 0;
41073 }
41074 if (meridiem === '凌晨' || meridiem === '早上' ||
41075 meridiem === '上午') {
41076 return hour;
41077 } else if (meridiem === '下午' || meridiem === '晚上') {
41078 return hour + 12;
41079 } else {
41080 // '中午'
41081 return hour >= 11 ? hour : hour + 12;
41082 }
41083 },
41084 meridiem : function (hour, minute, isLower) {
41085 var hm = hour * 100 + minute;
41086 if (hm < 600) {
41087 return '凌晨';
41088 } else if (hm < 900) {
41089 return '早上';
41090 } else if (hm < 1130) {
41091 return '上午';
41092 } else if (hm < 1230) {
41093 return '中午';
41094 } else if (hm < 1800) {
41095 return '下午';
41096 } else {
41097 return '晚上';
41098 }
41099 },
41100 calendar : {
41101 sameDay : '[今天]LT',
41102 nextDay : '[明天]LT',
41103 nextWeek : '[下]ddddLT',
41104 lastDay : '[昨天]LT',
41105 lastWeek : '[上]ddddLT',
41106 sameElse : 'L'
41107 },
41108 dayOfMonthOrdinalParse: /\d{1,2}(日|月|周)/,
41109 ordinal : function (number, period) {
41110 switch (period) {
41111 case 'd':
41112 case 'D':
41113 case 'DDD':
41114 return number + '日';
41115 case 'M':
41116 return number + '月';
41117 case 'w':
41118 case 'W':
41119 return number + '周';
41120 default:
41121 return number;
41122 }
41123 },
41124 relativeTime : {
41125 future : '%s内',
41126 past : '%s前',
41127 s : '几秒',
41128 ss : '%d 秒',
41129 m : '1 分钟',
41130 mm : '%d 分钟',
41131 h : '1 小时',
41132 hh : '%d 小时',
41133 d : '1 天',
41134 dd : '%d 天',
41135 M : '1 个月',
41136 MM : '%d 个月',
41137 y : '1 年',
41138 yy : '%d 年'
41139 },
41140 week : {
41141 // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效
41142 dow : 1, // Monday is the first day of the week.
41143 doy : 4 // The week that contains Jan 4th is the first week of the year.
41144 }
41145 });
41146
41147 return zhCn;
41148
41149 })));
41150
41151
41152/***/ }),
41153/* 451 */
41154/***/ (function(module, exports, __webpack_require__) {
41155
41156 //! moment.js locale configuration
41157
41158 ;(function (global, factory) {
41159 true ? factory(__webpack_require__(327)) :
41160 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
41161 factory(global.moment)
41162 }(this, (function (moment) { 'use strict';
41163
41164
41165 var zhHk = moment.defineLocale('zh-hk', {
41166 months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),
41167 monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),
41168 weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),
41169 weekdaysShort : '週日_週一_週二_週三_週四_週五_週六'.split('_'),
41170 weekdaysMin : '日_一_二_三_四_五_六'.split('_'),
41171 longDateFormat : {
41172 LT : 'HH:mm',
41173 LTS : 'HH:mm:ss',
41174 L : 'YYYY/MM/DD',
41175 LL : 'YYYY年M月D日',
41176 LLL : 'YYYY年M月D日 HH:mm',
41177 LLLL : 'YYYY年M月D日dddd HH:mm',
41178 l : 'YYYY/M/D',
41179 ll : 'YYYY年M月D日',
41180 lll : 'YYYY年M月D日 HH:mm',
41181 llll : 'YYYY年M月D日dddd HH:mm'
41182 },
41183 meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,
41184 meridiemHour : function (hour, meridiem) {
41185 if (hour === 12) {
41186 hour = 0;
41187 }
41188 if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {
41189 return hour;
41190 } else if (meridiem === '中午') {
41191 return hour >= 11 ? hour : hour + 12;
41192 } else if (meridiem === '下午' || meridiem === '晚上') {
41193 return hour + 12;
41194 }
41195 },
41196 meridiem : function (hour, minute, isLower) {
41197 var hm = hour * 100 + minute;
41198 if (hm < 600) {
41199 return '凌晨';
41200 } else if (hm < 900) {
41201 return '早上';
41202 } else if (hm < 1130) {
41203 return '上午';
41204 } else if (hm < 1230) {
41205 return '中午';
41206 } else if (hm < 1800) {
41207 return '下午';
41208 } else {
41209 return '晚上';
41210 }
41211 },
41212 calendar : {
41213 sameDay : '[今天]LT',
41214 nextDay : '[明天]LT',
41215 nextWeek : '[下]ddddLT',
41216 lastDay : '[昨天]LT',
41217 lastWeek : '[上]ddddLT',
41218 sameElse : 'L'
41219 },
41220 dayOfMonthOrdinalParse: /\d{1,2}(日|月|週)/,
41221 ordinal : function (number, period) {
41222 switch (period) {
41223 case 'd' :
41224 case 'D' :
41225 case 'DDD' :
41226 return number + '日';
41227 case 'M' :
41228 return number + '月';
41229 case 'w' :
41230 case 'W' :
41231 return number + '週';
41232 default :
41233 return number;
41234 }
41235 },
41236 relativeTime : {
41237 future : '%s內',
41238 past : '%s前',
41239 s : '幾秒',
41240 ss : '%d 秒',
41241 m : '1 分鐘',
41242 mm : '%d 分鐘',
41243 h : '1 小時',
41244 hh : '%d 小時',
41245 d : '1 天',
41246 dd : '%d 天',
41247 M : '1 個月',
41248 MM : '%d 個月',
41249 y : '1 年',
41250 yy : '%d 年'
41251 }
41252 });
41253
41254 return zhHk;
41255
41256 })));
41257
41258
41259/***/ }),
41260/* 452 */
41261/***/ (function(module, exports, __webpack_require__) {
41262
41263 //! moment.js locale configuration
41264
41265 ;(function (global, factory) {
41266 true ? factory(__webpack_require__(327)) :
41267 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
41268 factory(global.moment)
41269 }(this, (function (moment) { 'use strict';
41270
41271
41272 var zhTw = moment.defineLocale('zh-tw', {
41273 months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),
41274 monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),
41275 weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),
41276 weekdaysShort : '週日_週一_週二_週三_週四_週五_週六'.split('_'),
41277 weekdaysMin : '日_一_二_三_四_五_六'.split('_'),
41278 longDateFormat : {
41279 LT : 'HH:mm',
41280 LTS : 'HH:mm:ss',
41281 L : 'YYYY/MM/DD',
41282 LL : 'YYYY年M月D日',
41283 LLL : 'YYYY年M月D日 HH:mm',
41284 LLLL : 'YYYY年M月D日dddd HH:mm',
41285 l : 'YYYY/M/D',
41286 ll : 'YYYY年M月D日',
41287 lll : 'YYYY年M月D日 HH:mm',
41288 llll : 'YYYY年M月D日dddd HH:mm'
41289 },
41290 meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,
41291 meridiemHour : function (hour, meridiem) {
41292 if (hour === 12) {
41293 hour = 0;
41294 }
41295 if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {
41296 return hour;
41297 } else if (meridiem === '中午') {
41298 return hour >= 11 ? hour : hour + 12;
41299 } else if (meridiem === '下午' || meridiem === '晚上') {
41300 return hour + 12;
41301 }
41302 },
41303 meridiem : function (hour, minute, isLower) {
41304 var hm = hour * 100 + minute;
41305 if (hm < 600) {
41306 return '凌晨';
41307 } else if (hm < 900) {
41308 return '早上';
41309 } else if (hm < 1130) {
41310 return '上午';
41311 } else if (hm < 1230) {
41312 return '中午';
41313 } else if (hm < 1800) {
41314 return '下午';
41315 } else {
41316 return '晚上';
41317 }
41318 },
41319 calendar : {
41320 sameDay : '[今天] LT',
41321 nextDay : '[明天] LT',
41322 nextWeek : '[下]dddd LT',
41323 lastDay : '[昨天] LT',
41324 lastWeek : '[上]dddd LT',
41325 sameElse : 'L'
41326 },
41327 dayOfMonthOrdinalParse: /\d{1,2}(日|月|週)/,
41328 ordinal : function (number, period) {
41329 switch (period) {
41330 case 'd' :
41331 case 'D' :
41332 case 'DDD' :
41333 return number + '日';
41334 case 'M' :
41335 return number + '月';
41336 case 'w' :
41337 case 'W' :
41338 return number + '週';
41339 default :
41340 return number;
41341 }
41342 },
41343 relativeTime : {
41344 future : '%s內',
41345 past : '%s前',
41346 s : '幾秒',
41347 ss : '%d 秒',
41348 m : '1 分鐘',
41349 mm : '%d 分鐘',
41350 h : '1 小時',
41351 hh : '%d 小時',
41352 d : '1 天',
41353 dd : '%d 天',
41354 M : '1 個月',
41355 MM : '%d 個月',
41356 y : '1 年',
41357 yy : '%d 年'
41358 }
41359 });
41360
41361 return zhTw;
41362
41363 })));
41364
41365
41366/***/ }),
41367/* 453 */
41368/***/ (function(module, exports, __webpack_require__) {
41369
41370 'use strict';
41371
41372 Object.defineProperty(exports, "__esModule", {
41373 value: true
41374 });
41375
41376 var _defineProperty2 = __webpack_require__(141);
41377
41378 var _defineProperty3 = _interopRequireDefault(_defineProperty2);
41379
41380 var _react = __webpack_require__(4);
41381
41382 var _react2 = _interopRequireDefault(_react);
41383
41384 var _createReactClass = __webpack_require__(160);
41385
41386 var _createReactClass2 = _interopRequireDefault(_createReactClass);
41387
41388 var _propTypes = __webpack_require__(5);
41389
41390 var _propTypes2 = _interopRequireDefault(_propTypes);
41391
41392 var _classnames = __webpack_require__(3);
41393
41394 var _classnames2 = _interopRequireDefault(_classnames);
41395
41396 var _DateConstants = __webpack_require__(326);
41397
41398 var _DateConstants2 = _interopRequireDefault(_DateConstants);
41399
41400 var _util = __webpack_require__(454);
41401
41402 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
41403
41404 function isSameDay(one, two) {
41405 return one && two && one.isSame(two, 'day');
41406 }
41407
41408 function beforeCurrentMonthYear(current, today) {
41409 if (current.year() < today.year()) {
41410 return 1;
41411 }
41412 return current.year() === today.year() && current.month() < today.month();
41413 }
41414
41415 function afterCurrentMonthYear(current, today) {
41416 if (current.year() > today.year()) {
41417 return 1;
41418 }
41419 return current.year() === today.year() && current.month() > today.month();
41420 }
41421
41422 function getIdFromDate(date) {
41423 return 'rc-calendar-' + date.year() + '-' + date.month() + '-' + date.date();
41424 }
41425
41426 var DateTBody = (0, _createReactClass2['default'])({
41427 displayName: 'DateTBody',
41428
41429 propTypes: {
41430 contentRender: _propTypes2['default'].func,
41431 dateRender: _propTypes2['default'].func,
41432 disabledDate: _propTypes2['default'].func,
41433 prefixCls: _propTypes2['default'].string,
41434 selectedValue: _propTypes2['default'].oneOfType([_propTypes2['default'].object, _propTypes2['default'].arrayOf(_propTypes2['default'].object)]),
41435 value: _propTypes2['default'].object,
41436 hoverValue: _propTypes2['default'].any,
41437 showWeekNumber: _propTypes2['default'].bool
41438 },
41439
41440 getDefaultProps: function getDefaultProps() {
41441 return {
41442 hoverValue: []
41443 };
41444 },
41445 render: function render() {
41446 var props = this.props;
41447 var contentRender = props.contentRender,
41448 prefixCls = props.prefixCls,
41449 selectedValue = props.selectedValue,
41450 value = props.value,
41451 showWeekNumber = props.showWeekNumber,
41452 dateRender = props.dateRender,
41453 disabledDate = props.disabledDate,
41454 hoverValue = props.hoverValue;
41455
41456 var iIndex = void 0;
41457 var jIndex = void 0;
41458 var current = void 0;
41459 var dateTable = [];
41460 var today = (0, _util.getTodayTime)(value);
41461 var cellClass = prefixCls + '-cell';
41462 var weekNumberCellClass = prefixCls + '-week-number-cell';
41463 var dateClass = prefixCls + '-date';
41464 var todayClass = prefixCls + '-today';
41465 var selectedClass = prefixCls + '-selected-day';
41466 var selectedDateClass = prefixCls + '-selected-date'; // do not move with mouse operation
41467 var inRangeClass = prefixCls + '-in-range-cell';
41468 var lastMonthDayClass = prefixCls + '-last-month-cell';
41469 var nextMonthDayClass = prefixCls + '-next-month-btn-day';
41470 var disabledClass = prefixCls + '-disabled-cell';
41471 var firstDisableClass = prefixCls + '-disabled-cell-first-of-row';
41472 var lastDisableClass = prefixCls + '-disabled-cell-last-of-row';
41473 var month1 = value.clone();
41474 month1.date(1);
41475 var day = month1.day();
41476 var lastMonthDiffDay = (day + 7 - value.localeData().firstDayOfWeek()) % 7;
41477 // calculate last month
41478 var lastMonth1 = month1.clone();
41479 lastMonth1.add(0 - lastMonthDiffDay, 'days');
41480 var passed = 0;
41481 for (iIndex = 0; iIndex < _DateConstants2['default'].DATE_ROW_COUNT; iIndex++) {
41482 for (jIndex = 0; jIndex < _DateConstants2['default'].DATE_COL_COUNT; jIndex++) {
41483 current = lastMonth1;
41484 if (passed) {
41485 current = current.clone();
41486 current.add(passed, 'days');
41487 }
41488 dateTable.push(current);
41489 passed++;
41490 }
41491 }
41492 var tableHtml = [];
41493 passed = 0;
41494
41495 for (iIndex = 0; iIndex < _DateConstants2['default'].DATE_ROW_COUNT; iIndex++) {
41496 var _cx;
41497
41498 var isCurrentWeek = void 0;
41499 var weekNumberCell = void 0;
41500 var isActiveWeek = false;
41501 var dateCells = [];
41502 if (showWeekNumber) {
41503 weekNumberCell = _react2['default'].createElement(
41504 'td',
41505 {
41506 key: dateTable[passed].week(),
41507 role: 'gridcell',
41508 className: weekNumberCellClass
41509 },
41510 dateTable[passed].week()
41511 );
41512 }
41513 for (jIndex = 0; jIndex < _DateConstants2['default'].DATE_COL_COUNT; jIndex++) {
41514 var next = null;
41515 var last = null;
41516 current = dateTable[passed];
41517 if (jIndex < _DateConstants2['default'].DATE_COL_COUNT - 1) {
41518 next = dateTable[passed + 1];
41519 }
41520 if (jIndex > 0) {
41521 last = dateTable[passed - 1];
41522 }
41523 var cls = cellClass;
41524 var disabled = false;
41525 var selected = false;
41526
41527 if (isSameDay(current, today)) {
41528 cls += ' ' + todayClass;
41529 isCurrentWeek = true;
41530 }
41531
41532 var isBeforeCurrentMonthYear = beforeCurrentMonthYear(current, value);
41533 var isAfterCurrentMonthYear = afterCurrentMonthYear(current, value);
41534
41535 if (selectedValue && Array.isArray(selectedValue)) {
41536 var rangeValue = hoverValue.length ? hoverValue : selectedValue;
41537 if (!isBeforeCurrentMonthYear && !isAfterCurrentMonthYear) {
41538 var startValue = rangeValue[0];
41539 var endValue = rangeValue[1];
41540 if (startValue) {
41541 if (isSameDay(current, startValue)) {
41542 selected = true;
41543 isActiveWeek = true;
41544 }
41545 }
41546 if (startValue && endValue) {
41547 if (isSameDay(current, endValue)) {
41548 selected = true;
41549 isActiveWeek = true;
41550 } else if (current.isAfter(startValue, 'day') && current.isBefore(endValue, 'day')) {
41551 cls += ' ' + inRangeClass;
41552 }
41553 }
41554 }
41555 } else if (isSameDay(current, value)) {
41556 // keyboard change value, highlight works
41557 selected = true;
41558 isActiveWeek = true;
41559 }
41560
41561 if (isSameDay(current, selectedValue)) {
41562 cls += ' ' + selectedDateClass;
41563 }
41564
41565 if (isBeforeCurrentMonthYear) {
41566 cls += ' ' + lastMonthDayClass;
41567 }
41568 if (isAfterCurrentMonthYear) {
41569 cls += ' ' + nextMonthDayClass;
41570 }
41571
41572 if (disabledDate) {
41573 if (disabledDate(current, value)) {
41574 disabled = true;
41575
41576 if (!last || !disabledDate(last, value)) {
41577 cls += ' ' + firstDisableClass;
41578 }
41579
41580 if (!next || !disabledDate(next, value)) {
41581 cls += ' ' + lastDisableClass;
41582 }
41583 }
41584 }
41585
41586 if (selected) {
41587 cls += ' ' + selectedClass;
41588 }
41589
41590 if (disabled) {
41591 cls += ' ' + disabledClass;
41592 }
41593
41594 var dateHtml = void 0;
41595 if (dateRender) {
41596 dateHtml = dateRender(current, value);
41597 } else {
41598 var content = contentRender ? contentRender(current, value) : current.date();
41599 dateHtml = _react2['default'].createElement(
41600 'div',
41601 {
41602 key: getIdFromDate(current),
41603 className: dateClass,
41604 'aria-selected': selected,
41605 'aria-disabled': disabled
41606 },
41607 content
41608 );
41609 }
41610
41611 dateCells.push(_react2['default'].createElement(
41612 'td',
41613 {
41614 key: passed,
41615 onClick: disabled ? undefined : props.onSelect.bind(null, current),
41616 onMouseEnter: disabled ? undefined : props.onDayHover && props.onDayHover.bind(null, current) || undefined,
41617 role: 'gridcell',
41618 title: (0, _util.getTitleString)(current), className: cls
41619 },
41620 dateHtml
41621 ));
41622
41623 passed++;
41624 }
41625
41626 tableHtml.push(_react2['default'].createElement(
41627 'tr',
41628 {
41629 key: iIndex,
41630 role: 'row',
41631 className: (0, _classnames2['default'])((_cx = {}, (0, _defineProperty3['default'])(_cx, prefixCls + '-current-week', isCurrentWeek), (0, _defineProperty3['default'])(_cx, prefixCls + '-active-week', isActiveWeek), _cx))
41632 },
41633 weekNumberCell,
41634 dateCells
41635 ));
41636 }
41637 return _react2['default'].createElement(
41638 'tbody',
41639 { className: prefixCls + '-tbody' },
41640 tableHtml
41641 );
41642 }
41643 });
41644
41645 exports['default'] = DateTBody;
41646 module.exports = exports['default'];
41647
41648/***/ }),
41649/* 454 */
41650/***/ (function(module, exports, __webpack_require__) {
41651
41652 'use strict';
41653
41654 Object.defineProperty(exports, "__esModule", {
41655 value: true
41656 });
41657
41658 var _extends2 = __webpack_require__(145);
41659
41660 var _extends3 = _interopRequireDefault(_extends2);
41661
41662 exports.getTodayTime = getTodayTime;
41663 exports.getTitleString = getTitleString;
41664 exports.getTodayTimeStr = getTodayTimeStr;
41665 exports.getMonthName = getMonthName;
41666 exports.syncTime = syncTime;
41667 exports.getTimeConfig = getTimeConfig;
41668 exports.isTimeValidByConfig = isTimeValidByConfig;
41669 exports.isTimeValid = isTimeValid;
41670 exports.isAllowedDate = isAllowedDate;
41671
41672 var _moment = __webpack_require__(327);
41673
41674 var _moment2 = _interopRequireDefault(_moment);
41675
41676 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
41677
41678 var defaultDisabledTime = {
41679 disabledHours: function disabledHours() {
41680 return [];
41681 },
41682 disabledMinutes: function disabledMinutes() {
41683 return [];
41684 },
41685 disabledSeconds: function disabledSeconds() {
41686 return [];
41687 }
41688 };
41689
41690 function getTodayTime(value) {
41691 var today = (0, _moment2['default'])();
41692 today.locale(value.locale()).utcOffset(value.utcOffset());
41693 return today;
41694 }
41695
41696 function getTitleString(value) {
41697 return value.format('L');
41698 }
41699
41700 function getTodayTimeStr(value) {
41701 var today = getTodayTime(value);
41702 return getTitleString(today);
41703 }
41704
41705 function getMonthName(month) {
41706 var locale = month.locale();
41707 var localeData = month.localeData();
41708 return localeData[locale === 'zh-cn' ? 'months' : 'monthsShort'](month);
41709 }
41710
41711 function syncTime(from, to) {
41712 if (!_moment2['default'].isMoment(from) || !_moment2['default'].isMoment(to)) return;
41713 to.hour(from.hour());
41714 to.minute(from.minute());
41715 to.second(from.second());
41716 }
41717
41718 function getTimeConfig(value, disabledTime) {
41719 var disabledTimeConfig = disabledTime ? disabledTime(value) : {};
41720 disabledTimeConfig = (0, _extends3['default'])({}, defaultDisabledTime, disabledTimeConfig);
41721 return disabledTimeConfig;
41722 }
41723
41724 function isTimeValidByConfig(value, disabledTimeConfig) {
41725 var invalidTime = false;
41726 if (value) {
41727 var hour = value.hour();
41728 var minutes = value.minute();
41729 var seconds = value.second();
41730 var disabledHours = disabledTimeConfig.disabledHours();
41731 if (disabledHours.indexOf(hour) === -1) {
41732 var disabledMinutes = disabledTimeConfig.disabledMinutes(hour);
41733 if (disabledMinutes.indexOf(minutes) === -1) {
41734 var disabledSeconds = disabledTimeConfig.disabledSeconds(hour, minutes);
41735 invalidTime = disabledSeconds.indexOf(seconds) !== -1;
41736 } else {
41737 invalidTime = true;
41738 }
41739 } else {
41740 invalidTime = true;
41741 }
41742 }
41743 return !invalidTime;
41744 }
41745
41746 function isTimeValid(value, disabledTime) {
41747 var disabledTimeConfig = getTimeConfig(value, disabledTime);
41748 return isTimeValidByConfig(value, disabledTimeConfig);
41749 }
41750
41751 function isAllowedDate(value, disabledDate, disabledTime) {
41752 if (disabledDate) {
41753 if (disabledDate(value)) {
41754 return false;
41755 }
41756 }
41757 if (disabledTime) {
41758 if (!isTimeValid(value, disabledTime)) {
41759 return false;
41760 }
41761 }
41762 return true;
41763 }
41764
41765/***/ }),
41766/* 455 */
41767/***/ (function(module, exports, __webpack_require__) {
41768
41769 'use strict';
41770
41771 Object.defineProperty(exports, "__esModule", {
41772 value: true
41773 });
41774
41775 var _react = __webpack_require__(4);
41776
41777 var _react2 = _interopRequireDefault(_react);
41778
41779 var _createReactClass = __webpack_require__(160);
41780
41781 var _createReactClass2 = _interopRequireDefault(_createReactClass);
41782
41783 var _propTypes = __webpack_require__(5);
41784
41785 var _propTypes2 = _interopRequireDefault(_propTypes);
41786
41787 var _MonthPanel = __webpack_require__(456);
41788
41789 var _MonthPanel2 = _interopRequireDefault(_MonthPanel);
41790
41791 var _YearPanel = __webpack_require__(457);
41792
41793 var _YearPanel2 = _interopRequireDefault(_YearPanel);
41794
41795 var _mapSelf = __webpack_require__(460);
41796
41797 var _mapSelf2 = _interopRequireDefault(_mapSelf);
41798
41799 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
41800
41801 function goMonth(direction) {
41802 var next = this.props.value.clone();
41803 next.add(direction, 'months');
41804 this.props.onValueChange(next);
41805 }
41806
41807 function goYear(direction) {
41808 var next = this.props.value.clone();
41809 next.add(direction, 'years');
41810 this.props.onValueChange(next);
41811 }
41812
41813 function showIf(condition, el) {
41814 return condition ? el : null;
41815 }
41816
41817 var CalendarHeader = (0, _createReactClass2['default'])({
41818 displayName: 'CalendarHeader',
41819
41820 propTypes: {
41821 prefixCls: _propTypes2['default'].string,
41822 value: _propTypes2['default'].object,
41823 onValueChange: _propTypes2['default'].func,
41824 showTimePicker: _propTypes2['default'].bool,
41825 showMonthPanel: _propTypes2['default'].bool,
41826 showYearPanel: _propTypes2['default'].bool,
41827 onPanelChange: _propTypes2['default'].func,
41828 locale: _propTypes2['default'].object,
41829 enablePrev: _propTypes2['default'].any,
41830 enableNext: _propTypes2['default'].any,
41831 disabledMonth: _propTypes2['default'].func
41832 },
41833
41834 getDefaultProps: function getDefaultProps() {
41835 return {
41836 enableNext: 1,
41837 enablePrev: 1,
41838 onPanelChange: function onPanelChange() {},
41839 onValueChange: function onValueChange() {}
41840 };
41841 },
41842 getInitialState: function getInitialState() {
41843 this.nextMonth = goMonth.bind(this, 1);
41844 this.previousMonth = goMonth.bind(this, -1);
41845 this.nextYear = goYear.bind(this, 1);
41846 this.previousYear = goYear.bind(this, -1);
41847 var _props = this.props,
41848 showMonthPanel = _props.showMonthPanel,
41849 showYearPanel = _props.showYearPanel;
41850
41851 return { showMonthPanel: showMonthPanel, showYearPanel: showYearPanel };
41852 },
41853 componentWillReceiveProps: function componentWillReceiveProps() {
41854 var props = this.props;
41855 if ('showMonthpanel' in props) {
41856 this.setState({ showMonthPanel: props.showMonthPanel });
41857 }
41858 if ('showYearpanel' in props) {
41859 this.setState({ showYearPanel: props.showYearPanel });
41860 }
41861 },
41862 onSelect: function onSelect(value) {
41863 this.triggerPanelChange({
41864 showMonthPanel: 0,
41865 showYearPanel: 0
41866 });
41867 this.props.onValueChange(value);
41868 },
41869 triggerPanelChange: function triggerPanelChange(panelStatus) {
41870 if (!('showMonthPanel' in this.props)) {
41871 this.setState({ showMonthPanel: panelStatus.showMonthPanel });
41872 }
41873 if (!('showYearPanel' in this.props)) {
41874 this.setState({ showYearPanel: panelStatus.showYearPanel });
41875 }
41876 this.props.onPanelChange(panelStatus);
41877 },
41878 monthYearElement: function monthYearElement(showTimePicker) {
41879 var props = this.props;
41880 var prefixCls = props.prefixCls;
41881 var locale = props.locale;
41882 var value = props.value;
41883 var localeData = value.localeData();
41884 var monthBeforeYear = locale.monthBeforeYear;
41885 var selectClassName = prefixCls + '-' + (monthBeforeYear ? 'my-select' : 'ym-select');
41886 var year = _react2['default'].createElement(
41887 'a',
41888 {
41889 className: prefixCls + '-year-select',
41890 role: 'button',
41891 onClick: showTimePicker ? null : this.showYearPanel,
41892 title: locale.yearSelect
41893 },
41894 value.format(locale.yearFormat)
41895 );
41896 var month = _react2['default'].createElement(
41897 'a',
41898 {
41899 className: prefixCls + '-month-select',
41900 role: 'button',
41901 onClick: showTimePicker ? null : this.showMonthPanel,
41902 title: locale.monthSelect
41903 },
41904 localeData.monthsShort(value)
41905 );
41906 var day = void 0;
41907 if (showTimePicker) {
41908 day = _react2['default'].createElement(
41909 'a',
41910 {
41911 className: prefixCls + '-day-select',
41912 role: 'button'
41913 },
41914 value.format(locale.dayFormat)
41915 );
41916 }
41917 var my = [];
41918 if (monthBeforeYear) {
41919 my = [month, day, year];
41920 } else {
41921 my = [year, month, day];
41922 }
41923 return _react2['default'].createElement(
41924 'span',
41925 { className: selectClassName },
41926 (0, _mapSelf2['default'])(my)
41927 );
41928 },
41929 showMonthPanel: function showMonthPanel() {
41930 this.triggerPanelChange({
41931 showMonthPanel: 1,
41932 showYearPanel: 0
41933 });
41934 },
41935 showYearPanel: function showYearPanel() {
41936 this.triggerPanelChange({
41937 showMonthPanel: 0,
41938 showYearPanel: 1
41939 });
41940 },
41941 render: function render() {
41942 var props = this.props,
41943 state = this.state;
41944 var prefixCls = props.prefixCls,
41945 locale = props.locale,
41946 value = props.value,
41947 showTimePicker = props.showTimePicker,
41948 enableNext = props.enableNext,
41949 enablePrev = props.enablePrev,
41950 disabledMonth = props.disabledMonth;
41951
41952
41953 var panel = null;
41954 if (state.showMonthPanel) {
41955 panel = _react2['default'].createElement(_MonthPanel2['default'], {
41956 locale: locale,
41957 defaultValue: value,
41958 rootPrefixCls: prefixCls,
41959 onSelect: this.onSelect,
41960 disabledDate: disabledMonth
41961 });
41962 } else if (state.showYearPanel) {
41963 panel = _react2['default'].createElement(_YearPanel2['default'], {
41964 locale: locale,
41965 defaultValue: value,
41966 rootPrefixCls: prefixCls,
41967 onSelect: this.onSelect
41968 });
41969 }
41970
41971 return _react2['default'].createElement(
41972 'div',
41973 { className: prefixCls + '-header' },
41974 _react2['default'].createElement(
41975 'div',
41976 { style: { position: 'relative' } },
41977 showIf(enablePrev && !showTimePicker, _react2['default'].createElement('a', {
41978 className: prefixCls + '-prev-year-btn',
41979 role: 'button',
41980 onClick: this.previousYear,
41981 title: locale.previousYear
41982 })),
41983 showIf(enablePrev && !showTimePicker, _react2['default'].createElement('a', {
41984 className: prefixCls + '-prev-month-btn',
41985 role: 'button',
41986 onClick: this.previousMonth,
41987 title: locale.previousMonth
41988 })),
41989 this.monthYearElement(showTimePicker),
41990 showIf(enableNext && !showTimePicker, _react2['default'].createElement('a', {
41991 className: prefixCls + '-next-month-btn',
41992 onClick: this.nextMonth,
41993 title: locale.nextMonth
41994 })),
41995 showIf(enableNext && !showTimePicker, _react2['default'].createElement('a', {
41996 className: prefixCls + '-next-year-btn',
41997 onClick: this.nextYear,
41998 title: locale.nextYear
41999 }))
42000 ),
42001 panel
42002 );
42003 }
42004 });
42005
42006 exports['default'] = CalendarHeader;
42007 module.exports = exports['default'];
42008
42009/***/ }),
42010/* 456 */
42011/***/ (function(module, exports, __webpack_require__) {
42012
42013 'use strict';
42014
42015 Object.defineProperty(exports, "__esModule", {
42016 value: true
42017 });
42018
42019 var _react = __webpack_require__(4);
42020
42021 var _react2 = _interopRequireDefault(_react);
42022
42023 var _createReactClass = __webpack_require__(160);
42024
42025 var _createReactClass2 = _interopRequireDefault(_createReactClass);
42026
42027 var _propTypes = __webpack_require__(5);
42028
42029 var _propTypes2 = _interopRequireDefault(_propTypes);
42030
42031 var _YearPanel = __webpack_require__(457);
42032
42033 var _YearPanel2 = _interopRequireDefault(_YearPanel);
42034
42035 var _MonthTable = __webpack_require__(459);
42036
42037 var _MonthTable2 = _interopRequireDefault(_MonthTable);
42038
42039 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
42040
42041 function goYear(direction) {
42042 var next = this.state.value.clone();
42043 next.add(direction, 'year');
42044 this.setAndChangeValue(next);
42045 }
42046
42047 function noop() {}
42048
42049 var MonthPanel = (0, _createReactClass2['default'])({
42050 displayName: 'MonthPanel',
42051
42052 propTypes: {
42053 onChange: _propTypes2['default'].func,
42054 disabledDate: _propTypes2['default'].func,
42055 onSelect: _propTypes2['default'].func
42056 },
42057
42058 getDefaultProps: function getDefaultProps() {
42059 return {
42060 onChange: noop,
42061 onSelect: noop
42062 };
42063 },
42064 getInitialState: function getInitialState() {
42065 var props = this.props;
42066 // bind methods
42067 this.nextYear = goYear.bind(this, 1);
42068 this.previousYear = goYear.bind(this, -1);
42069 this.prefixCls = props.rootPrefixCls + '-month-panel';
42070 return {
42071 value: props.value || props.defaultValue
42072 };
42073 },
42074 componentWillReceiveProps: function componentWillReceiveProps(nextProps) {
42075 if ('value' in nextProps) {
42076 this.setState({
42077 value: nextProps.value
42078 });
42079 }
42080 },
42081 onYearPanelSelect: function onYearPanelSelect(current) {
42082 this.setState({
42083 showYearPanel: 0
42084 });
42085 this.setAndChangeValue(current);
42086 },
42087 setAndChangeValue: function setAndChangeValue(value) {
42088 this.setValue(value);
42089 this.props.onChange(value);
42090 },
42091 setAndSelectValue: function setAndSelectValue(value) {
42092 this.setValue(value);
42093 this.props.onSelect(value);
42094 },
42095 setValue: function setValue(value) {
42096 if (!('value' in this.props)) {
42097 this.setState({
42098 value: value
42099 });
42100 }
42101 },
42102 showYearPanel: function showYearPanel() {
42103 this.setState({
42104 showYearPanel: 1
42105 });
42106 },
42107 render: function render() {
42108 var props = this.props;
42109 var value = this.state.value;
42110 var cellRender = props.cellRender;
42111 var contentRender = props.contentRender;
42112 var locale = props.locale;
42113 var year = value.year();
42114 var prefixCls = this.prefixCls;
42115 var yearPanel = void 0;
42116 if (this.state.showYearPanel) {
42117 yearPanel = _react2['default'].createElement(_YearPanel2['default'], {
42118 locale: locale,
42119 value: value,
42120 rootPrefixCls: props.rootPrefixCls,
42121 onSelect: this.onYearPanelSelect
42122 });
42123 }
42124 return _react2['default'].createElement(
42125 'div',
42126 { className: prefixCls, style: props.style },
42127 _react2['default'].createElement(
42128 'div',
42129 null,
42130 _react2['default'].createElement(
42131 'div',
42132 { className: prefixCls + '-header' },
42133 _react2['default'].createElement('a', {
42134 className: prefixCls + '-prev-year-btn',
42135 role: 'button',
42136 onClick: this.previousYear,
42137 title: locale.previousYear
42138 }),
42139 _react2['default'].createElement(
42140 'a',
42141 {
42142 className: prefixCls + '-year-select',
42143 role: 'button',
42144 onClick: this.showYearPanel,
42145 title: locale.yearSelect
42146 },
42147 _react2['default'].createElement(
42148 'span',
42149 { className: prefixCls + '-year-select-content' },
42150 year
42151 ),
42152 _react2['default'].createElement(
42153 'span',
42154 { className: prefixCls + '-year-select-arrow' },
42155 'x'
42156 )
42157 ),
42158 _react2['default'].createElement('a', {
42159 className: prefixCls + '-next-year-btn',
42160 role: 'button',
42161 onClick: this.nextYear,
42162 title: locale.nextYear
42163 })
42164 ),
42165 _react2['default'].createElement(
42166 'div',
42167 { className: prefixCls + '-body' },
42168 _react2['default'].createElement(_MonthTable2['default'], {
42169 disabledDate: props.disabledDate,
42170 onSelect: this.setAndSelectValue,
42171 locale: locale,
42172 value: value,
42173 cellRender: cellRender,
42174 contentRender: contentRender,
42175 prefixCls: prefixCls
42176 })
42177 )
42178 ),
42179 yearPanel
42180 );
42181 }
42182 });
42183
42184 exports['default'] = MonthPanel;
42185 module.exports = exports['default'];
42186
42187/***/ }),
42188/* 457 */
42189/***/ (function(module, exports, __webpack_require__) {
42190
42191 'use strict';
42192
42193 Object.defineProperty(exports, "__esModule", {
42194 value: true
42195 });
42196
42197 var _defineProperty2 = __webpack_require__(141);
42198
42199 var _defineProperty3 = _interopRequireDefault(_defineProperty2);
42200
42201 var _classCallCheck2 = __webpack_require__(250);
42202
42203 var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
42204
42205 var _createClass2 = __webpack_require__(251);
42206
42207 var _createClass3 = _interopRequireDefault(_createClass2);
42208
42209 var _possibleConstructorReturn2 = __webpack_require__(316);
42210
42211 var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
42212
42213 var _inherits2 = __webpack_require__(317);
42214
42215 var _inherits3 = _interopRequireDefault(_inherits2);
42216
42217 var _react = __webpack_require__(4);
42218
42219 var _react2 = _interopRequireDefault(_react);
42220
42221 var _propTypes = __webpack_require__(5);
42222
42223 var _propTypes2 = _interopRequireDefault(_propTypes);
42224
42225 var _classnames = __webpack_require__(3);
42226
42227 var _classnames2 = _interopRequireDefault(_classnames);
42228
42229 var _DecadePanel = __webpack_require__(458);
42230
42231 var _DecadePanel2 = _interopRequireDefault(_DecadePanel);
42232
42233 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
42234
42235 var ROW = 4;
42236 var COL = 3;
42237
42238 function goYear(direction) {
42239 var value = this.state.value.clone();
42240 value.add(direction, 'year');
42241 this.setState({
42242 value: value
42243 });
42244 }
42245
42246 function chooseYear(year) {
42247 var value = this.state.value.clone();
42248 value.year(year);
42249 value.month(this.state.value.month());
42250 this.props.onSelect(value);
42251 }
42252
42253 var YearPanel = function (_React$Component) {
42254 (0, _inherits3['default'])(YearPanel, _React$Component);
42255
42256 function YearPanel(props) {
42257 (0, _classCallCheck3['default'])(this, YearPanel);
42258
42259 var _this = (0, _possibleConstructorReturn3['default'])(this, (YearPanel.__proto__ || Object.getPrototypeOf(YearPanel)).call(this, props));
42260
42261 _this.prefixCls = props.rootPrefixCls + '-year-panel';
42262 _this.state = {
42263 value: props.value || props.defaultValue
42264 };
42265 _this.nextDecade = goYear.bind(_this, 10);
42266 _this.previousDecade = goYear.bind(_this, -10);
42267 ['showDecadePanel', 'onDecadePanelSelect'].forEach(function (method) {
42268 _this[method] = _this[method].bind(_this);
42269 });
42270 return _this;
42271 }
42272
42273 (0, _createClass3['default'])(YearPanel, [{
42274 key: 'onDecadePanelSelect',
42275 value: function onDecadePanelSelect(current) {
42276 this.setState({
42277 value: current,
42278 showDecadePanel: 0
42279 });
42280 }
42281 }, {
42282 key: 'years',
42283 value: function years() {
42284 var value = this.state.value;
42285 var currentYear = value.year();
42286 var startYear = parseInt(currentYear / 10, 10) * 10;
42287 var previousYear = startYear - 1;
42288 var years = [];
42289 var index = 0;
42290 for (var rowIndex = 0; rowIndex < ROW; rowIndex++) {
42291 years[rowIndex] = [];
42292 for (var colIndex = 0; colIndex < COL; colIndex++) {
42293 var year = previousYear + index;
42294 var content = String(year);
42295 years[rowIndex][colIndex] = {
42296 content: content,
42297 year: year,
42298 title: content
42299 };
42300 index++;
42301 }
42302 }
42303 return years;
42304 }
42305 }, {
42306 key: 'showDecadePanel',
42307 value: function showDecadePanel() {
42308 this.setState({
42309 showDecadePanel: 1
42310 });
42311 }
42312 }, {
42313 key: 'render',
42314 value: function render() {
42315 var _this2 = this;
42316
42317 var props = this.props;
42318 var value = this.state.value;
42319 var locale = props.locale;
42320 var years = this.years();
42321 var currentYear = value.year();
42322 var startYear = parseInt(currentYear / 10, 10) * 10;
42323 var endYear = startYear + 9;
42324 var prefixCls = this.prefixCls;
42325
42326 var yeasEls = years.map(function (row, index) {
42327 var tds = row.map(function (yearData) {
42328 var _classNameMap;
42329
42330 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);
42331 var clickHandler = void 0;
42332 if (yearData.year < startYear) {
42333 clickHandler = _this2.previousDecade;
42334 } else if (yearData.year > endYear) {
42335 clickHandler = _this2.nextDecade;
42336 } else {
42337 clickHandler = chooseYear.bind(_this2, yearData.year);
42338 }
42339 return _react2['default'].createElement(
42340 'td',
42341 {
42342 role: 'gridcell',
42343 title: yearData.title,
42344 key: yearData.content,
42345 onClick: clickHandler,
42346 className: (0, _classnames2['default'])(classNameMap)
42347 },
42348 _react2['default'].createElement(
42349 'a',
42350 {
42351 className: prefixCls + '-year'
42352 },
42353 yearData.content
42354 )
42355 );
42356 });
42357 return _react2['default'].createElement(
42358 'tr',
42359 { key: index, role: 'row' },
42360 tds
42361 );
42362 });
42363
42364 var decadePanel = void 0;
42365 if (this.state.showDecadePanel) {
42366 decadePanel = _react2['default'].createElement(_DecadePanel2['default'], {
42367 locale: locale,
42368 value: value,
42369 rootPrefixCls: props.rootPrefixCls,
42370 onSelect: this.onDecadePanelSelect
42371 });
42372 }
42373
42374 return _react2['default'].createElement(
42375 'div',
42376 { className: this.prefixCls },
42377 _react2['default'].createElement(
42378 'div',
42379 null,
42380 _react2['default'].createElement(
42381 'div',
42382 { className: prefixCls + '-header' },
42383 _react2['default'].createElement('a', {
42384 className: prefixCls + '-prev-decade-btn',
42385 role: 'button',
42386 onClick: this.previousDecade,
42387 title: locale.previousDecade
42388 }),
42389 _react2['default'].createElement(
42390 'a',
42391 {
42392 className: prefixCls + '-decade-select',
42393 role: 'button',
42394 onClick: this.showDecadePanel,
42395 title: locale.decadeSelect
42396 },
42397 _react2['default'].createElement(
42398 'span',
42399 { className: prefixCls + '-decade-select-content' },
42400 startYear,
42401 '-',
42402 endYear
42403 ),
42404 _react2['default'].createElement(
42405 'span',
42406 { className: prefixCls + '-decade-select-arrow' },
42407 'x'
42408 )
42409 ),
42410 _react2['default'].createElement('a', {
42411 className: prefixCls + '-next-decade-btn',
42412 role: 'button',
42413 onClick: this.nextDecade,
42414 title: locale.nextDecade
42415 })
42416 ),
42417 _react2['default'].createElement(
42418 'div',
42419 { className: prefixCls + '-body' },
42420 _react2['default'].createElement(
42421 'table',
42422 { className: prefixCls + '-table', cellSpacing: '0', role: 'grid' },
42423 _react2['default'].createElement(
42424 'tbody',
42425 { className: prefixCls + '-tbody' },
42426 yeasEls
42427 )
42428 )
42429 )
42430 ),
42431 decadePanel
42432 );
42433 }
42434 }]);
42435 return YearPanel;
42436 }(_react2['default'].Component);
42437
42438 exports['default'] = YearPanel;
42439
42440
42441 YearPanel.propTypes = {
42442 rootPrefixCls: _propTypes2['default'].string,
42443 value: _propTypes2['default'].object,
42444 defaultValue: _propTypes2['default'].object
42445 };
42446
42447 YearPanel.defaultProps = {
42448 onSelect: function onSelect() {}
42449 };
42450 module.exports = exports['default'];
42451
42452/***/ }),
42453/* 458 */
42454/***/ (function(module, exports, __webpack_require__) {
42455
42456 'use strict';
42457
42458 Object.defineProperty(exports, "__esModule", {
42459 value: true
42460 });
42461
42462 var _defineProperty2 = __webpack_require__(141);
42463
42464 var _defineProperty3 = _interopRequireDefault(_defineProperty2);
42465
42466 var _classCallCheck2 = __webpack_require__(250);
42467
42468 var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
42469
42470 var _createClass2 = __webpack_require__(251);
42471
42472 var _createClass3 = _interopRequireDefault(_createClass2);
42473
42474 var _possibleConstructorReturn2 = __webpack_require__(316);
42475
42476 var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
42477
42478 var _inherits2 = __webpack_require__(317);
42479
42480 var _inherits3 = _interopRequireDefault(_inherits2);
42481
42482 var _react = __webpack_require__(4);
42483
42484 var _react2 = _interopRequireDefault(_react);
42485
42486 var _propTypes = __webpack_require__(5);
42487
42488 var _propTypes2 = _interopRequireDefault(_propTypes);
42489
42490 var _classnames = __webpack_require__(3);
42491
42492 var _classnames2 = _interopRequireDefault(_classnames);
42493
42494 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
42495
42496 var ROW = 4;
42497 var COL = 3;
42498
42499
42500 function goYear(direction) {
42501 var next = this.state.value.clone();
42502 next.add(direction, 'years');
42503 this.setState({
42504 value: next
42505 });
42506 }
42507
42508 function chooseDecade(year, event) {
42509 var next = this.state.value.clone();
42510 next.year(year);
42511 next.month(this.state.value.month());
42512 this.props.onSelect(next);
42513 event.preventDefault();
42514 }
42515
42516 var DecadePanel = function (_React$Component) {
42517 (0, _inherits3['default'])(DecadePanel, _React$Component);
42518
42519 function DecadePanel(props) {
42520 (0, _classCallCheck3['default'])(this, DecadePanel);
42521
42522 var _this = (0, _possibleConstructorReturn3['default'])(this, (DecadePanel.__proto__ || Object.getPrototypeOf(DecadePanel)).call(this, props));
42523
42524 _this.state = {
42525 value: props.value || props.defaultValue
42526 };
42527
42528 // bind methods
42529 _this.prefixCls = props.rootPrefixCls + '-decade-panel';
42530 _this.nextCentury = goYear.bind(_this, 100);
42531 _this.previousCentury = goYear.bind(_this, -100);
42532 return _this;
42533 }
42534
42535 (0, _createClass3['default'])(DecadePanel, [{
42536 key: 'render',
42537 value: function render() {
42538 var _this2 = this;
42539
42540 var value = this.state.value;
42541 var locale = this.props.locale;
42542 var currentYear = value.year();
42543 var startYear = parseInt(currentYear / 100, 10) * 100;
42544 var preYear = startYear - 10;
42545 var endYear = startYear + 99;
42546 var decades = [];
42547 var index = 0;
42548 var prefixCls = this.prefixCls;
42549
42550 for (var rowIndex = 0; rowIndex < ROW; rowIndex++) {
42551 decades[rowIndex] = [];
42552 for (var colIndex = 0; colIndex < COL; colIndex++) {
42553 var startDecade = preYear + index * 10;
42554 var endDecade = preYear + index * 10 + 9;
42555 decades[rowIndex][colIndex] = {
42556 startDecade: startDecade,
42557 endDecade: endDecade
42558 };
42559 index++;
42560 }
42561 }
42562
42563 var decadesEls = decades.map(function (row, decadeIndex) {
42564 var tds = row.map(function (decadeData) {
42565 var _classNameMap;
42566
42567 var dStartDecade = decadeData.startDecade;
42568 var dEndDecade = decadeData.endDecade;
42569 var isLast = dStartDecade < startYear;
42570 var isNext = dEndDecade > endYear;
42571 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);
42572 var content = dStartDecade + '-' + dEndDecade;
42573 var clickHandler = void 0;
42574 if (isLast) {
42575 clickHandler = _this2.previousCentury;
42576 } else if (isNext) {
42577 clickHandler = _this2.nextCentury;
42578 } else {
42579 clickHandler = chooseDecade.bind(_this2, dStartDecade);
42580 }
42581 return _react2['default'].createElement(
42582 'td',
42583 {
42584 key: dStartDecade,
42585 onClick: clickHandler,
42586 role: 'gridcell',
42587 className: (0, _classnames2['default'])(classNameMap)
42588 },
42589 _react2['default'].createElement(
42590 'a',
42591 {
42592 className: prefixCls + '-decade'
42593 },
42594 content
42595 )
42596 );
42597 });
42598 return _react2['default'].createElement(
42599 'tr',
42600 { key: decadeIndex, role: 'row' },
42601 tds
42602 );
42603 });
42604
42605 return _react2['default'].createElement(
42606 'div',
42607 { className: this.prefixCls },
42608 _react2['default'].createElement(
42609 'div',
42610 { className: prefixCls + '-header' },
42611 _react2['default'].createElement('a', {
42612 className: prefixCls + '-prev-century-btn',
42613 role: 'button',
42614 onClick: this.previousCentury,
42615 title: locale.previousCentury
42616 }),
42617 _react2['default'].createElement(
42618 'div',
42619 { className: prefixCls + '-century' },
42620 startYear,
42621 '-',
42622 endYear
42623 ),
42624 _react2['default'].createElement('a', {
42625 className: prefixCls + '-next-century-btn',
42626 role: 'button',
42627 onClick: this.nextCentury,
42628 title: locale.nextCentury
42629 })
42630 ),
42631 _react2['default'].createElement(
42632 'div',
42633 { className: prefixCls + '-body' },
42634 _react2['default'].createElement(
42635 'table',
42636 { className: prefixCls + '-table', cellSpacing: '0', role: 'grid' },
42637 _react2['default'].createElement(
42638 'tbody',
42639 { className: prefixCls + '-tbody' },
42640 decadesEls
42641 )
42642 )
42643 )
42644 );
42645 }
42646 }]);
42647 return DecadePanel;
42648 }(_react2['default'].Component);
42649
42650 exports['default'] = DecadePanel;
42651
42652
42653 DecadePanel.propTypes = {
42654 locale: _propTypes2['default'].object,
42655 value: _propTypes2['default'].object,
42656 defaultValue: _propTypes2['default'].object,
42657 rootPrefixCls: _propTypes2['default'].string
42658 };
42659
42660 DecadePanel.defaultProps = {
42661 onSelect: function onSelect() {}
42662 };
42663 module.exports = exports['default'];
42664
42665/***/ }),
42666/* 459 */
42667/***/ (function(module, exports, __webpack_require__) {
42668
42669 'use strict';
42670
42671 Object.defineProperty(exports, "__esModule", {
42672 value: true
42673 });
42674
42675 var _defineProperty2 = __webpack_require__(141);
42676
42677 var _defineProperty3 = _interopRequireDefault(_defineProperty2);
42678
42679 var _classCallCheck2 = __webpack_require__(250);
42680
42681 var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
42682
42683 var _createClass2 = __webpack_require__(251);
42684
42685 var _createClass3 = _interopRequireDefault(_createClass2);
42686
42687 var _possibleConstructorReturn2 = __webpack_require__(316);
42688
42689 var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
42690
42691 var _inherits2 = __webpack_require__(317);
42692
42693 var _inherits3 = _interopRequireDefault(_inherits2);
42694
42695 var _react = __webpack_require__(4);
42696
42697 var _react2 = _interopRequireDefault(_react);
42698
42699 var _propTypes = __webpack_require__(5);
42700
42701 var _propTypes2 = _interopRequireDefault(_propTypes);
42702
42703 var _classnames = __webpack_require__(3);
42704
42705 var _classnames2 = _interopRequireDefault(_classnames);
42706
42707 var _index = __webpack_require__(454);
42708
42709 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
42710
42711 var ROW = 4;
42712 var COL = 3;
42713
42714 function chooseMonth(month) {
42715 var next = this.state.value.clone();
42716 next.month(month);
42717 this.setAndSelectValue(next);
42718 }
42719
42720 function noop() {}
42721
42722 var MonthTable = function (_Component) {
42723 (0, _inherits3['default'])(MonthTable, _Component);
42724
42725 function MonthTable(props) {
42726 (0, _classCallCheck3['default'])(this, MonthTable);
42727
42728 var _this = (0, _possibleConstructorReturn3['default'])(this, (MonthTable.__proto__ || Object.getPrototypeOf(MonthTable)).call(this, props));
42729
42730 _this.state = {
42731 value: props.value
42732 };
42733 return _this;
42734 }
42735
42736 (0, _createClass3['default'])(MonthTable, [{
42737 key: 'componentWillReceiveProps',
42738 value: function componentWillReceiveProps(nextProps) {
42739 if ('value' in nextProps) {
42740 this.setState({
42741 value: nextProps.value
42742 });
42743 }
42744 }
42745 }, {
42746 key: 'setAndSelectValue',
42747 value: function setAndSelectValue(value) {
42748 this.setState({
42749 value: value
42750 });
42751 this.props.onSelect(value);
42752 }
42753 }, {
42754 key: 'months',
42755 value: function months() {
42756 var value = this.state.value;
42757 var current = value.clone();
42758 var months = [];
42759 var index = 0;
42760 for (var rowIndex = 0; rowIndex < ROW; rowIndex++) {
42761 months[rowIndex] = [];
42762 for (var colIndex = 0; colIndex < COL; colIndex++) {
42763 current.month(index);
42764 var content = (0, _index.getMonthName)(current);
42765 months[rowIndex][colIndex] = {
42766 value: index,
42767 content: content,
42768 title: content
42769 };
42770 index++;
42771 }
42772 }
42773 return months;
42774 }
42775 }, {
42776 key: 'render',
42777 value: function render() {
42778 var _this2 = this;
42779
42780 var props = this.props;
42781 var value = this.state.value;
42782 var today = (0, _index.getTodayTime)(value);
42783 var months = this.months();
42784 var currentMonth = value.month();
42785 var prefixCls = props.prefixCls,
42786 locale = props.locale,
42787 contentRender = props.contentRender,
42788 cellRender = props.cellRender;
42789
42790 var monthsEls = months.map(function (month, index) {
42791 var tds = month.map(function (monthData) {
42792 var _classNameMap;
42793
42794 var disabled = false;
42795 if (props.disabledDate) {
42796 var testValue = value.clone();
42797 testValue.month(monthData.value);
42798 disabled = props.disabledDate(testValue);
42799 }
42800 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);
42801 var cellEl = void 0;
42802 if (cellRender) {
42803 var currentValue = value.clone();
42804 currentValue.month(monthData.value);
42805 cellEl = cellRender(currentValue, locale);
42806 } else {
42807 var content = void 0;
42808 if (contentRender) {
42809 var _currentValue = value.clone();
42810 _currentValue.month(monthData.value);
42811 content = contentRender(_currentValue, locale);
42812 } else {
42813 content = monthData.content;
42814 }
42815 cellEl = _react2['default'].createElement(
42816 'a',
42817 { className: prefixCls + '-month' },
42818 content
42819 );
42820 }
42821 return _react2['default'].createElement(
42822 'td',
42823 {
42824 role: 'gridcell',
42825 key: monthData.value,
42826 onClick: disabled ? null : chooseMonth.bind(_this2, monthData.value),
42827 title: monthData.title,
42828 className: (0, _classnames2['default'])(classNameMap)
42829 },
42830 cellEl
42831 );
42832 });
42833 return _react2['default'].createElement(
42834 'tr',
42835 { key: index, role: 'row' },
42836 tds
42837 );
42838 });
42839
42840 return _react2['default'].createElement(
42841 'table',
42842 { className: prefixCls + '-table', cellSpacing: '0', role: 'grid' },
42843 _react2['default'].createElement(
42844 'tbody',
42845 { className: prefixCls + '-tbody' },
42846 monthsEls
42847 )
42848 );
42849 }
42850 }]);
42851 return MonthTable;
42852 }(_react.Component);
42853
42854 MonthTable.defaultProps = {
42855 onSelect: noop
42856 };
42857 MonthTable.propTypes = {
42858 onSelect: _propTypes2['default'].func,
42859 cellRender: _propTypes2['default'].func,
42860 prefixCls: _propTypes2['default'].string,
42861 value: _propTypes2['default'].object
42862 };
42863 exports['default'] = MonthTable;
42864 module.exports = exports['default'];
42865
42866/***/ }),
42867/* 460 */
42868/***/ (function(module, exports, __webpack_require__) {
42869
42870 'use strict';
42871
42872 Object.defineProperty(exports, "__esModule", {
42873 value: true
42874 });
42875 exports['default'] = mapSelf;
42876
42877 var _react = __webpack_require__(4);
42878
42879 var _react2 = _interopRequireDefault(_react);
42880
42881 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
42882
42883 function mirror(o) {
42884 return o;
42885 }
42886
42887 function mapSelf(children) {
42888 // return ReactFragment
42889 return _react2['default'].Children.map(children, mirror);
42890 }
42891 module.exports = exports['default'];
42892
42893/***/ }),
42894/* 461 */
42895/***/ (function(module, exports, __webpack_require__) {
42896
42897 'use strict';
42898
42899 Object.defineProperty(exports, "__esModule", {
42900 value: true
42901 });
42902
42903 var _defineProperty2 = __webpack_require__(141);
42904
42905 var _defineProperty3 = _interopRequireDefault(_defineProperty2);
42906
42907 var _extends2 = __webpack_require__(145);
42908
42909 var _extends3 = _interopRequireDefault(_extends2);
42910
42911 var _react = __webpack_require__(4);
42912
42913 var _react2 = _interopRequireDefault(_react);
42914
42915 var _reactDom = __webpack_require__(12);
42916
42917 var _reactDom2 = _interopRequireDefault(_reactDom);
42918
42919 var _createReactClass = __webpack_require__(160);
42920
42921 var _createReactClass2 = _interopRequireDefault(_createReactClass);
42922
42923 var _propTypes = __webpack_require__(5);
42924
42925 var _propTypes2 = _interopRequireDefault(_propTypes);
42926
42927 var _mapSelf = __webpack_require__(460);
42928
42929 var _mapSelf2 = _interopRequireDefault(_mapSelf);
42930
42931 var _classnames = __webpack_require__(3);
42932
42933 var _classnames2 = _interopRequireDefault(_classnames);
42934
42935 var _TodayButton = __webpack_require__(462);
42936
42937 var _TodayButton2 = _interopRequireDefault(_TodayButton);
42938
42939 var _OkButton = __webpack_require__(463);
42940
42941 var _OkButton2 = _interopRequireDefault(_OkButton);
42942
42943 var _TimePickerButton = __webpack_require__(464);
42944
42945 var _TimePickerButton2 = _interopRequireDefault(_TimePickerButton);
42946
42947 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
42948
42949 var CalendarFooter = (0, _createReactClass2['default'])({
42950 displayName: 'CalendarFooter',
42951
42952 propTypes: {
42953 prefixCls: _propTypes2['default'].string,
42954 showDateInput: _propTypes2['default'].bool,
42955 disabledTime: _propTypes2['default'].any,
42956 timePicker: _propTypes2['default'].element,
42957 selectedValue: _propTypes2['default'].any,
42958 showOk: _propTypes2['default'].bool,
42959 onSelect: _propTypes2['default'].func,
42960 value: _propTypes2['default'].object,
42961 renderFooter: _propTypes2['default'].func,
42962 defaultValue: _propTypes2['default'].object
42963 },
42964
42965 onSelect: function onSelect(value) {
42966 this.props.onSelect(value);
42967 },
42968 getRootDOMNode: function getRootDOMNode() {
42969 return _reactDom2['default'].findDOMNode(this);
42970 },
42971 render: function render() {
42972 var props = this.props;
42973 var value = props.value,
42974 prefixCls = props.prefixCls,
42975 showOk = props.showOk,
42976 timePicker = props.timePicker,
42977 renderFooter = props.renderFooter;
42978
42979 var footerEl = null;
42980 var extraFooter = renderFooter();
42981 if (props.showToday || timePicker || extraFooter) {
42982 var _cx;
42983
42984 var nowEl = void 0;
42985 if (props.showToday) {
42986 nowEl = _react2['default'].createElement(_TodayButton2['default'], (0, _extends3['default'])({}, props, { value: value }));
42987 }
42988 var okBtn = void 0;
42989 if (showOk === true || showOk !== false && !!props.timePicker) {
42990 okBtn = _react2['default'].createElement(_OkButton2['default'], props);
42991 }
42992 var timePickerBtn = void 0;
42993 if (!!props.timePicker) {
42994 timePickerBtn = _react2['default'].createElement(_TimePickerButton2['default'], props);
42995 }
42996
42997 var footerBtn = void 0;
42998 if (nowEl || timePickerBtn || okBtn) {
42999 footerBtn = _react2['default'].createElement(
43000 'span',
43001 { className: prefixCls + '-footer-btn' },
43002 (0, _mapSelf2['default'])([nowEl, timePickerBtn, okBtn])
43003 );
43004 }
43005 var cls = (0, _classnames2['default'])((_cx = {}, (0, _defineProperty3['default'])(_cx, prefixCls + '-footer', true), (0, _defineProperty3['default'])(_cx, prefixCls + '-footer-show-ok', okBtn), _cx));
43006 footerEl = _react2['default'].createElement(
43007 'div',
43008 { className: cls },
43009 extraFooter,
43010 footerBtn
43011 );
43012 }
43013 return footerEl;
43014 }
43015 });
43016
43017 exports['default'] = CalendarFooter;
43018 module.exports = exports['default'];
43019
43020/***/ }),
43021/* 462 */
43022/***/ (function(module, exports, __webpack_require__) {
43023
43024 'use strict';
43025
43026 Object.defineProperty(exports, "__esModule", {
43027 value: true
43028 });
43029 exports['default'] = TodayButton;
43030
43031 var _react = __webpack_require__(4);
43032
43033 var _react2 = _interopRequireDefault(_react);
43034
43035 var _util = __webpack_require__(454);
43036
43037 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
43038
43039 function TodayButton(_ref) {
43040 var prefixCls = _ref.prefixCls,
43041 locale = _ref.locale,
43042 value = _ref.value,
43043 timePicker = _ref.timePicker,
43044 disabled = _ref.disabled,
43045 disabledDate = _ref.disabledDate,
43046 onToday = _ref.onToday,
43047 text = _ref.text;
43048
43049 var localeNow = (!text && timePicker ? locale.now : text) || locale.today;
43050 var disabledToday = disabledDate && !(0, _util.isAllowedDate)((0, _util.getTodayTime)(value), disabledDate);
43051 var isDisabled = disabledToday || disabled;
43052 var disabledTodayClass = isDisabled ? prefixCls + '-today-btn-disabled' : '';
43053 return _react2['default'].createElement(
43054 'a',
43055 {
43056 className: prefixCls + '-today-btn ' + disabledTodayClass,
43057 role: 'button',
43058 onClick: isDisabled ? null : onToday,
43059 title: (0, _util.getTodayTimeStr)(value)
43060 },
43061 localeNow
43062 );
43063 }
43064 module.exports = exports['default'];
43065
43066/***/ }),
43067/* 463 */
43068/***/ (function(module, exports, __webpack_require__) {
43069
43070 "use strict";
43071
43072 Object.defineProperty(exports, "__esModule", {
43073 value: true
43074 });
43075 exports["default"] = OkButton;
43076
43077 var _react = __webpack_require__(4);
43078
43079 var _react2 = _interopRequireDefault(_react);
43080
43081 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
43082
43083 function OkButton(_ref) {
43084 var prefixCls = _ref.prefixCls,
43085 locale = _ref.locale,
43086 okDisabled = _ref.okDisabled,
43087 onOk = _ref.onOk;
43088
43089 var className = prefixCls + "-ok-btn";
43090 if (okDisabled) {
43091 className += " " + prefixCls + "-ok-btn-disabled";
43092 }
43093 return _react2["default"].createElement(
43094 "a",
43095 {
43096 className: className,
43097 role: "button",
43098 onClick: okDisabled ? null : onOk
43099 },
43100 locale.ok
43101 );
43102 }
43103 module.exports = exports['default'];
43104
43105/***/ }),
43106/* 464 */
43107/***/ (function(module, exports, __webpack_require__) {
43108
43109 'use strict';
43110
43111 Object.defineProperty(exports, "__esModule", {
43112 value: true
43113 });
43114
43115 var _defineProperty2 = __webpack_require__(141);
43116
43117 var _defineProperty3 = _interopRequireDefault(_defineProperty2);
43118
43119 exports['default'] = TimePickerButton;
43120
43121 var _react = __webpack_require__(4);
43122
43123 var _react2 = _interopRequireDefault(_react);
43124
43125 var _classnames2 = __webpack_require__(3);
43126
43127 var _classnames3 = _interopRequireDefault(_classnames2);
43128
43129 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
43130
43131 function TimePickerButton(_ref) {
43132 var _classnames;
43133
43134 var prefixCls = _ref.prefixCls,
43135 locale = _ref.locale,
43136 showTimePicker = _ref.showTimePicker,
43137 onOpenTimePicker = _ref.onOpenTimePicker,
43138 onCloseTimePicker = _ref.onCloseTimePicker,
43139 timePickerDisabled = _ref.timePickerDisabled;
43140
43141 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));
43142 var onClick = null;
43143 if (!timePickerDisabled) {
43144 onClick = showTimePicker ? onCloseTimePicker : onOpenTimePicker;
43145 }
43146 return _react2['default'].createElement(
43147 'a',
43148 {
43149 className: className,
43150 role: 'button',
43151 onClick: onClick
43152 },
43153 showTimePicker ? locale.dateSelect : locale.timeSelect
43154 );
43155 }
43156 module.exports = exports['default'];
43157
43158/***/ }),
43159/* 465 */
43160/***/ (function(module, exports, __webpack_require__) {
43161
43162 'use strict';
43163
43164 Object.defineProperty(exports, "__esModule", {
43165 value: true
43166 });
43167
43168 var _defineProperty2 = __webpack_require__(141);
43169
43170 var _defineProperty3 = _interopRequireDefault(_defineProperty2);
43171
43172 var _react = __webpack_require__(4);
43173
43174 var _react2 = _interopRequireDefault(_react);
43175
43176 var _propTypes = __webpack_require__(5);
43177
43178 var _propTypes2 = _interopRequireDefault(_propTypes);
43179
43180 var _classnames = __webpack_require__(3);
43181
43182 var _classnames2 = _interopRequireDefault(_classnames);
43183
43184 var _moment = __webpack_require__(327);
43185
43186 var _moment2 = _interopRequireDefault(_moment);
43187
43188 var _index = __webpack_require__(454);
43189
43190 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
43191
43192 function noop() {}
43193
43194 function getNow() {
43195 return (0, _moment2['default'])();
43196 }
43197
43198 function getNowByCurrentStateValue(value) {
43199 var ret = void 0;
43200 if (value) {
43201 ret = (0, _index.getTodayTime)(value);
43202 } else {
43203 ret = getNow();
43204 }
43205 return ret;
43206 }
43207
43208 var CalendarMixin = {
43209 propTypes: {
43210 value: _propTypes2['default'].object,
43211 defaultValue: _propTypes2['default'].object,
43212 onKeyDown: _propTypes2['default'].func
43213 },
43214
43215 getDefaultProps: function getDefaultProps() {
43216 return {
43217 onKeyDown: noop
43218 };
43219 },
43220 getInitialState: function getInitialState() {
43221 var props = this.props;
43222 var value = props.value || props.defaultValue || getNow();
43223 return {
43224 value: value,
43225 selectedValue: props.selectedValue || props.defaultSelectedValue
43226 };
43227 },
43228 componentWillReceiveProps: function componentWillReceiveProps(nextProps) {
43229 var value = nextProps.value;
43230 var selectedValue = nextProps.selectedValue;
43231
43232 if ('value' in nextProps) {
43233 value = value || nextProps.defaultValue || getNowByCurrentStateValue(this.state.value);
43234 this.setState({
43235 value: value
43236 });
43237 }
43238 if ('selectedValue' in nextProps) {
43239 this.setState({
43240 selectedValue: selectedValue
43241 });
43242 }
43243 },
43244 onSelect: function onSelect(value, cause) {
43245 if (value) {
43246 this.setValue(value);
43247 }
43248 this.setSelectedValue(value, cause);
43249 },
43250 renderRoot: function renderRoot(newProps) {
43251 var _className;
43252
43253 var props = this.props;
43254 var prefixCls = props.prefixCls;
43255
43256 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);
43257
43258 return _react2['default'].createElement(
43259 'div',
43260 {
43261 ref: 'root',
43262 className: '' + (0, _classnames2['default'])(className),
43263 style: this.props.style,
43264 tabIndex: '0',
43265 onKeyDown: this.onKeyDown
43266 },
43267 newProps.children
43268 );
43269 },
43270 setSelectedValue: function setSelectedValue(selectedValue, cause) {
43271 // if (this.isAllowedDate(selectedValue)) {
43272 if (!('selectedValue' in this.props)) {
43273 this.setState({
43274 selectedValue: selectedValue
43275 });
43276 }
43277 this.props.onSelect(selectedValue, cause);
43278 // }
43279 },
43280 setValue: function setValue(value) {
43281 var originalValue = this.state.value;
43282 if (!('value' in this.props)) {
43283 this.setState({
43284 value: value
43285 });
43286 }
43287 if (originalValue && value && !originalValue.isSame(value) || !originalValue && value || originalValue && !value) {
43288 this.props.onChange(value);
43289 }
43290 },
43291 isAllowedDate: function isAllowedDate(value) {
43292 var disabledDate = this.props.disabledDate;
43293 var disabledTime = this.props.disabledTime;
43294 return (0, _index.isAllowedDate)(value, disabledDate, disabledTime);
43295 }
43296 };
43297
43298 exports['default'] = CalendarMixin;
43299 module.exports = exports['default'];
43300
43301/***/ }),
43302/* 466 */
43303/***/ (function(module, exports, __webpack_require__) {
43304
43305 'use strict';
43306
43307 Object.defineProperty(exports, "__esModule", {
43308 value: true
43309 });
43310
43311 var _propTypes = __webpack_require__(5);
43312
43313 var _propTypes2 = _interopRequireDefault(_propTypes);
43314
43315 var _en_US = __webpack_require__(467);
43316
43317 var _en_US2 = _interopRequireDefault(_en_US);
43318
43319 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
43320
43321 function noop() {}
43322
43323 exports['default'] = {
43324 propTypes: {
43325 className: _propTypes2['default'].string,
43326 locale: _propTypes2['default'].object,
43327 style: _propTypes2['default'].object,
43328 visible: _propTypes2['default'].bool,
43329 onSelect: _propTypes2['default'].func,
43330 prefixCls: _propTypes2['default'].string,
43331 onChange: _propTypes2['default'].func,
43332 onOk: _propTypes2['default'].func
43333 },
43334
43335 getDefaultProps: function getDefaultProps() {
43336 return {
43337 locale: _en_US2['default'],
43338 style: {},
43339 visible: true,
43340 prefixCls: 'rc-calendar',
43341 className: '',
43342 onSelect: noop,
43343 onChange: noop,
43344 onClear: noop,
43345 renderFooter: function renderFooter() {
43346 return null;
43347 },
43348 renderSidebar: function renderSidebar() {
43349 return null;
43350 }
43351 };
43352 },
43353 shouldComponentUpdate: function shouldComponentUpdate(nextProps) {
43354 return this.props.visible || nextProps.visible;
43355 },
43356 getFormat: function getFormat() {
43357 var format = this.props.format;
43358 var _props = this.props,
43359 locale = _props.locale,
43360 timePicker = _props.timePicker;
43361
43362 if (!format) {
43363 if (timePicker) {
43364 format = locale.dateTimeFormat;
43365 } else {
43366 format = locale.dateFormat;
43367 }
43368 }
43369 return format;
43370 },
43371 focus: function focus() {
43372 if (this.refs.root) {
43373 this.refs.root.focus();
43374 }
43375 }
43376 };
43377 module.exports = exports['default'];
43378
43379/***/ }),
43380/* 467 */
43381/***/ (function(module, exports) {
43382
43383 'use strict';
43384
43385 Object.defineProperty(exports, "__esModule", {
43386 value: true
43387 });
43388 exports['default'] = {
43389 today: 'Today',
43390 now: 'Now',
43391 backToToday: 'Back to today',
43392 ok: 'Ok',
43393 clear: 'Clear',
43394 month: 'Month',
43395 year: 'Year',
43396 timeSelect: 'Select time',
43397 dateSelect: 'Select date',
43398 monthSelect: 'Choose a month',
43399 yearSelect: 'Choose a year',
43400 decadeSelect: 'Choose a decade',
43401 yearFormat: 'YYYY',
43402 dateFormat: 'M/D/YYYY',
43403 dayFormat: 'D',
43404 dateTimeFormat: 'M/D/YYYY HH:mm:ss',
43405 monthBeforeYear: true,
43406 previousMonth: 'Previous month (PageUp)',
43407 nextMonth: 'Next month (PageDown)',
43408 previousYear: 'Last year (Control + left)',
43409 nextYear: 'Next year (Control + right)',
43410 previousDecade: 'Last decade',
43411 nextDecade: 'Next decade',
43412 previousCentury: 'Last century',
43413 nextCentury: 'Next century'
43414 };
43415 module.exports = exports['default'];
43416
43417/***/ }),
43418/* 468 */
43419/***/ (function(module, exports, __webpack_require__) {
43420
43421 'use strict';
43422
43423 Object.defineProperty(exports, "__esModule", {
43424 value: true
43425 });
43426
43427 var _react = __webpack_require__(4);
43428
43429 var _react2 = _interopRequireDefault(_react);
43430
43431 var _reactDom = __webpack_require__(12);
43432
43433 var _reactDom2 = _interopRequireDefault(_reactDom);
43434
43435 var _createReactClass = __webpack_require__(160);
43436
43437 var _createReactClass2 = _interopRequireDefault(_createReactClass);
43438
43439 var _propTypes = __webpack_require__(5);
43440
43441 var _propTypes2 = _interopRequireDefault(_propTypes);
43442
43443 var _moment = __webpack_require__(327);
43444
43445 var _moment2 = _interopRequireDefault(_moment);
43446
43447 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
43448
43449 var DateInput = (0, _createReactClass2['default'])({
43450 displayName: 'DateInput',
43451
43452 propTypes: {
43453 prefixCls: _propTypes2['default'].string,
43454 timePicker: _propTypes2['default'].object,
43455 value: _propTypes2['default'].object,
43456 disabledTime: _propTypes2['default'].any,
43457 format: _propTypes2['default'].string,
43458 locale: _propTypes2['default'].object,
43459 disabledDate: _propTypes2['default'].func,
43460 onChange: _propTypes2['default'].func,
43461 onClear: _propTypes2['default'].func,
43462 placeholder: _propTypes2['default'].string,
43463 onSelect: _propTypes2['default'].func,
43464 selectedValue: _propTypes2['default'].object
43465 },
43466
43467 getInitialState: function getInitialState() {
43468 var selectedValue = this.props.selectedValue;
43469 return {
43470 str: selectedValue && selectedValue.format(this.props.format) || '',
43471 invalid: false
43472 };
43473 },
43474 componentWillReceiveProps: function componentWillReceiveProps(nextProps) {
43475 // when popup show, click body will call this, bug!
43476 var selectedValue = nextProps.selectedValue;
43477 this.setState({
43478 str: selectedValue && selectedValue.format(nextProps.format) || '',
43479 invalid: false
43480 });
43481 },
43482 onInputChange: function onInputChange(event) {
43483 var str = event.target.value;
43484 this.setState({
43485 str: str
43486 });
43487 var value = void 0;
43488 var _props = this.props,
43489 disabledDate = _props.disabledDate,
43490 format = _props.format,
43491 onChange = _props.onChange;
43492
43493 if (str) {
43494 var parsed = (0, _moment2['default'])(str, format, true);
43495 if (!parsed.isValid()) {
43496 this.setState({
43497 invalid: true
43498 });
43499 return;
43500 }
43501 value = this.props.value.clone();
43502 value.year(parsed.year()).month(parsed.month()).date(parsed.date()).hour(parsed.hour()).minute(parsed.minute()).second(parsed.second());
43503
43504 if (value && (!disabledDate || !disabledDate(value))) {
43505 var originalValue = this.props.selectedValue;
43506 if (originalValue && value) {
43507 if (!originalValue.isSame(value)) {
43508 onChange(value);
43509 }
43510 } else if (originalValue !== value) {
43511 onChange(value);
43512 }
43513 } else {
43514 this.setState({
43515 invalid: true
43516 });
43517 return;
43518 }
43519 } else {
43520 onChange(null);
43521 }
43522 this.setState({
43523 invalid: false
43524 });
43525 },
43526 onClear: function onClear() {
43527 this.setState({
43528 str: ''
43529 });
43530 this.props.onClear(null);
43531 },
43532 getRootDOMNode: function getRootDOMNode() {
43533 return _reactDom2['default'].findDOMNode(this);
43534 },
43535 focus: function focus() {
43536 this.refs.dateInput.focus();
43537 },
43538 render: function render() {
43539 var props = this.props;
43540 var _state = this.state,
43541 invalid = _state.invalid,
43542 str = _state.str;
43543 var locale = props.locale,
43544 prefixCls = props.prefixCls,
43545 placeholder = props.placeholder;
43546
43547 var invalidClass = invalid ? prefixCls + '-input-invalid' : '';
43548 return _react2['default'].createElement(
43549 'div',
43550 { className: prefixCls + '-input-wrap' },
43551 _react2['default'].createElement(
43552 'div',
43553 { className: prefixCls + '-date-input-wrap' },
43554 _react2['default'].createElement('input', {
43555 ref: 'dateInput',
43556 className: prefixCls + '-input ' + invalidClass,
43557 value: str,
43558 disabled: props.disabled,
43559 placeholder: placeholder,
43560 onChange: this.onInputChange
43561 })
43562 ),
43563 props.showClear ? _react2['default'].createElement('a', {
43564 className: prefixCls + '-clear-btn',
43565 role: 'button',
43566 title: locale.clear,
43567 onClick: this.onClear
43568 }) : null
43569 );
43570 }
43571 });
43572
43573 exports['default'] = DateInput;
43574 module.exports = exports['default'];
43575
43576/***/ }),
43577/* 469 */
43578/***/ (function(module, exports, __webpack_require__) {
43579
43580 'use strict';
43581
43582 Object.defineProperty(exports, "__esModule", {
43583 value: true
43584 });
43585
43586 var _react = __webpack_require__(4);
43587
43588 var _react2 = _interopRequireDefault(_react);
43589
43590 var _reactDom = __webpack_require__(12);
43591
43592 var _reactDom2 = _interopRequireDefault(_reactDom);
43593
43594 var _createReactClass = __webpack_require__(160);
43595
43596 var _createReactClass2 = _interopRequireDefault(_createReactClass);
43597
43598 var _propTypes = __webpack_require__(5);
43599
43600 var _propTypes2 = _interopRequireDefault(_propTypes);
43601
43602 var _createChainedFunction = __webpack_require__(470);
43603
43604 var _createChainedFunction2 = _interopRequireDefault(_createChainedFunction);
43605
43606 var _KeyCode = __webpack_require__(314);
43607
43608 var _KeyCode2 = _interopRequireDefault(_KeyCode);
43609
43610 var _placements = __webpack_require__(471);
43611
43612 var _placements2 = _interopRequireDefault(_placements);
43613
43614 var _rcTrigger = __webpack_require__(472);
43615
43616 var _rcTrigger2 = _interopRequireDefault(_rcTrigger);
43617
43618 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
43619
43620 function noop() {}
43621
43622 function refFn(field, component) {
43623 this[field] = component;
43624 }
43625
43626 var Picker = (0, _createReactClass2['default'])({
43627 displayName: 'Picker',
43628
43629 propTypes: {
43630 animation: _propTypes2['default'].oneOfType([_propTypes2['default'].func, _propTypes2['default'].string]),
43631 disabled: _propTypes2['default'].bool,
43632 transitionName: _propTypes2['default'].string,
43633 onChange: _propTypes2['default'].func,
43634 onOpenChange: _propTypes2['default'].func,
43635 children: _propTypes2['default'].func,
43636 getCalendarContainer: _propTypes2['default'].func,
43637 calendar: _propTypes2['default'].element,
43638 style: _propTypes2['default'].object,
43639 open: _propTypes2['default'].bool,
43640 defaultOpen: _propTypes2['default'].bool,
43641 prefixCls: _propTypes2['default'].string,
43642 placement: _propTypes2['default'].any,
43643 value: _propTypes2['default'].oneOfType([_propTypes2['default'].object, _propTypes2['default'].array]),
43644 defaultValue: _propTypes2['default'].oneOfType([_propTypes2['default'].object, _propTypes2['default'].array]),
43645 align: _propTypes2['default'].object
43646 },
43647
43648 getDefaultProps: function getDefaultProps() {
43649 return {
43650 prefixCls: 'rc-calendar-picker',
43651 style: {},
43652 align: {},
43653 placement: 'bottomLeft',
43654 defaultOpen: false,
43655 onChange: noop,
43656 onOpenChange: noop
43657 };
43658 },
43659 getInitialState: function getInitialState() {
43660 var props = this.props;
43661 var open = void 0;
43662 if ('open' in props) {
43663 open = props.open;
43664 } else {
43665 open = props.defaultOpen;
43666 }
43667 var value = props.value || props.defaultValue;
43668 this.saveCalendarRef = refFn.bind(this, 'calendarInstance');
43669 return {
43670 open: open,
43671 value: value
43672 };
43673 },
43674 componentWillReceiveProps: function componentWillReceiveProps(nextProps) {
43675 var value = nextProps.value,
43676 open = nextProps.open;
43677
43678 if ('value' in nextProps) {
43679 this.setState({
43680 value: value
43681 });
43682 }
43683 if (open !== undefined) {
43684 this.setState({
43685 open: open
43686 });
43687 }
43688 },
43689 componentDidUpdate: function componentDidUpdate(_, prevState) {
43690 if (!prevState.open && this.state.open) {
43691 // setTimeout is for making sure saveCalendarRef happen before focusCalendar
43692 this.focusTimeout = setTimeout(this.focusCalendar, 0, this);
43693 }
43694 },
43695 componentWillUnmount: function componentWillUnmount() {
43696 clearTimeout(this.focusTimeout);
43697 },
43698 onCalendarKeyDown: function onCalendarKeyDown(event) {
43699 if (event.keyCode === _KeyCode2['default'].ESC) {
43700 event.stopPropagation();
43701 this.close(this.focus);
43702 }
43703 },
43704 onCalendarSelect: function onCalendarSelect(value) {
43705 var cause = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
43706
43707 var props = this.props;
43708 if (!('value' in props)) {
43709 this.setState({
43710 value: value
43711 });
43712 }
43713 if (cause.source === 'keyboard' || !props.calendar.props.timePicker && cause.source !== 'dateInput' || cause.source === 'todayButton') {
43714 this.close(this.focus);
43715 }
43716 props.onChange(value);
43717 },
43718 onKeyDown: function onKeyDown(event) {
43719 if (event.keyCode === _KeyCode2['default'].DOWN && !this.state.open) {
43720 this.open();
43721 event.preventDefault();
43722 }
43723 },
43724 onCalendarOk: function onCalendarOk() {
43725 this.close(this.focus);
43726 },
43727 onCalendarClear: function onCalendarClear() {
43728 this.close(this.focus);
43729 },
43730 onVisibleChange: function onVisibleChange(open) {
43731 this.setOpen(open);
43732 },
43733 getCalendarElement: function getCalendarElement() {
43734 var props = this.props;
43735 var state = this.state;
43736 var calendarProps = props.calendar.props;
43737 var value = state.value;
43738
43739 var defaultValue = value;
43740 var extraProps = {
43741 ref: this.saveCalendarRef,
43742 defaultValue: defaultValue || calendarProps.defaultValue,
43743 selectedValue: value,
43744 onKeyDown: this.onCalendarKeyDown,
43745 onOk: (0, _createChainedFunction2['default'])(calendarProps.onOk, this.onCalendarOk),
43746 onSelect: (0, _createChainedFunction2['default'])(calendarProps.onSelect, this.onCalendarSelect),
43747 onClear: (0, _createChainedFunction2['default'])(calendarProps.onClear, this.onCalendarClear)
43748 };
43749
43750 return _react2['default'].cloneElement(props.calendar, extraProps);
43751 },
43752 setOpen: function setOpen(open, callback) {
43753 var onOpenChange = this.props.onOpenChange;
43754
43755 if (this.state.open !== open) {
43756 if (!('open' in this.props)) {
43757 this.setState({
43758 open: open
43759 }, callback);
43760 }
43761 onOpenChange(open);
43762 }
43763 },
43764 open: function open(callback) {
43765 this.setOpen(true, callback);
43766 },
43767 close: function close(callback) {
43768 this.setOpen(false, callback);
43769 },
43770 focus: function focus() {
43771 if (!this.state.open) {
43772 _reactDom2['default'].findDOMNode(this).focus();
43773 }
43774 },
43775 focusCalendar: function focusCalendar() {
43776 if (this.state.open && this.calendarInstance !== null) {
43777 this.calendarInstance.focus();
43778 }
43779 },
43780 render: function render() {
43781 var props = this.props;
43782 var prefixCls = props.prefixCls,
43783 placement = props.placement,
43784 style = props.style,
43785 getCalendarContainer = props.getCalendarContainer,
43786 align = props.align,
43787 animation = props.animation,
43788 disabled = props.disabled,
43789 transitionName = props.transitionName,
43790 children = props.children;
43791
43792 var state = this.state;
43793 return _react2['default'].createElement(
43794 _rcTrigger2['default'],
43795 {
43796 popup: this.getCalendarElement(),
43797 popupAlign: align,
43798 builtinPlacements: _placements2['default'],
43799 popupPlacement: placement,
43800 action: disabled && !state.open ? [] : ['click'],
43801 destroyPopupOnHide: true,
43802 getPopupContainer: getCalendarContainer,
43803 popupStyle: style,
43804 popupAnimation: animation,
43805 popupTransitionName: transitionName,
43806 popupVisible: state.open,
43807 onPopupVisibleChange: this.onVisibleChange,
43808 prefixCls: prefixCls
43809 },
43810 _react2['default'].cloneElement(children(state, props), { onKeyDown: this.onKeyDown })
43811 );
43812 }
43813 });
43814
43815 exports['default'] = Picker;
43816 module.exports = exports['default'];
43817
43818/***/ }),
43819/* 470 */
43820/***/ (function(module, exports) {
43821
43822 "use strict";
43823
43824 Object.defineProperty(exports, "__esModule", {
43825 value: true
43826 });
43827 exports["default"] = createChainedFunction;
43828 /**
43829 * Safe chained function
43830 *
43831 * Will only create a new function if needed,
43832 * otherwise will pass back existing functions or null.
43833 *
43834 * @returns {function|null}
43835 */
43836 function createChainedFunction() {
43837 var args = [].slice.call(arguments, 0);
43838 if (args.length === 1) {
43839 return args[0];
43840 }
43841
43842 return function chainedFunction() {
43843 for (var i = 0; i < args.length; i++) {
43844 if (args[i] && args[i].apply) {
43845 args[i].apply(this, arguments);
43846 }
43847 }
43848 };
43849 }
43850 module.exports = exports['default'];
43851
43852/***/ }),
43853/* 471 */
43854/***/ (function(module, exports) {
43855
43856 'use strict';
43857
43858 Object.defineProperty(exports, "__esModule", {
43859 value: true
43860 });
43861 var autoAdjustOverflow = {
43862 adjustX: 1,
43863 adjustY: 1
43864 };
43865
43866 var targetOffset = [0, 0];
43867
43868 var placements = {
43869 bottomLeft: {
43870 points: ['tl', 'tl'],
43871 overflow: autoAdjustOverflow,
43872 offset: [0, -3],
43873 targetOffset: targetOffset
43874 },
43875 bottomRight: {
43876 points: ['tr', 'tr'],
43877 overflow: autoAdjustOverflow,
43878 offset: [0, -3],
43879 targetOffset: targetOffset
43880 },
43881 topRight: {
43882 points: ['br', 'br'],
43883 overflow: autoAdjustOverflow,
43884 offset: [0, 3],
43885 targetOffset: targetOffset
43886 },
43887 topLeft: {
43888 points: ['bl', 'bl'],
43889 overflow: autoAdjustOverflow,
43890 offset: [0, 3],
43891 targetOffset: targetOffset
43892 }
43893 };
43894
43895 exports['default'] = placements;
43896 module.exports = exports['default'];
43897
43898/***/ }),
43899/* 472 */
43900/***/ (function(module, exports, __webpack_require__) {
43901
43902 'use strict';
43903
43904 Object.defineProperty(exports, "__esModule", {
43905 value: true
43906 });
43907
43908 var _extends2 = __webpack_require__(145);
43909
43910 var _extends3 = _interopRequireDefault(_extends2);
43911
43912 var _react = __webpack_require__(4);
43913
43914 var _react2 = _interopRequireDefault(_react);
43915
43916 var _propTypes = __webpack_require__(5);
43917
43918 var _propTypes2 = _interopRequireDefault(_propTypes);
43919
43920 var _reactDom = __webpack_require__(12);
43921
43922 var _createReactClass = __webpack_require__(160);
43923
43924 var _createReactClass2 = _interopRequireDefault(_createReactClass);
43925
43926 var _contains = __webpack_require__(473);
43927
43928 var _contains2 = _interopRequireDefault(_contains);
43929
43930 var _addEventListener = __webpack_require__(474);
43931
43932 var _addEventListener2 = _interopRequireDefault(_addEventListener);
43933
43934 var _Popup = __webpack_require__(475);
43935
43936 var _Popup2 = _interopRequireDefault(_Popup);
43937
43938 var _utils = __webpack_require__(487);
43939
43940 var _getContainerRenderMixin = __webpack_require__(488);
43941
43942 var _getContainerRenderMixin2 = _interopRequireDefault(_getContainerRenderMixin);
43943
43944 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
43945
43946 function noop() {}
43947
43948 function returnEmptyString() {
43949 return '';
43950 }
43951
43952 function returnDocument() {
43953 return window.document;
43954 }
43955
43956 var isMobile = typeof navigator !== 'undefined' && !!navigator.userAgent.match(/(Android|iPhone|iPad|iPod|iOS|UCWEB)/i);
43957
43958 var ALL_HANDLERS = ['onClick', 'onMouseDown', 'onTouchStart', 'onMouseEnter', 'onMouseLeave', 'onFocus', 'onBlur'];
43959
43960 var Trigger = (0, _createReactClass2['default'])({
43961 displayName: 'Trigger',
43962 propTypes: {
43963 children: _propTypes2['default'].any,
43964 action: _propTypes2['default'].oneOfType([_propTypes2['default'].string, _propTypes2['default'].arrayOf(_propTypes2['default'].string)]),
43965 showAction: _propTypes2['default'].any,
43966 hideAction: _propTypes2['default'].any,
43967 getPopupClassNameFromAlign: _propTypes2['default'].any,
43968 onPopupVisibleChange: _propTypes2['default'].func,
43969 afterPopupVisibleChange: _propTypes2['default'].func,
43970 popup: _propTypes2['default'].oneOfType([_propTypes2['default'].node, _propTypes2['default'].func]).isRequired,
43971 popupStyle: _propTypes2['default'].object,
43972 prefixCls: _propTypes2['default'].string,
43973 popupClassName: _propTypes2['default'].string,
43974 popupPlacement: _propTypes2['default'].string,
43975 builtinPlacements: _propTypes2['default'].object,
43976 popupTransitionName: _propTypes2['default'].oneOfType([_propTypes2['default'].string, _propTypes2['default'].object]),
43977 popupAnimation: _propTypes2['default'].any,
43978 mouseEnterDelay: _propTypes2['default'].number,
43979 mouseLeaveDelay: _propTypes2['default'].number,
43980 zIndex: _propTypes2['default'].number,
43981 focusDelay: _propTypes2['default'].number,
43982 blurDelay: _propTypes2['default'].number,
43983 getPopupContainer: _propTypes2['default'].func,
43984 getDocument: _propTypes2['default'].func,
43985 destroyPopupOnHide: _propTypes2['default'].bool,
43986 mask: _propTypes2['default'].bool,
43987 maskClosable: _propTypes2['default'].bool,
43988 onPopupAlign: _propTypes2['default'].func,
43989 popupAlign: _propTypes2['default'].object,
43990 popupVisible: _propTypes2['default'].bool,
43991 maskTransitionName: _propTypes2['default'].oneOfType([_propTypes2['default'].string, _propTypes2['default'].object]),
43992 maskAnimation: _propTypes2['default'].string
43993 },
43994
43995 mixins: [(0, _getContainerRenderMixin2['default'])({
43996 autoMount: false,
43997
43998 isVisible: function isVisible(instance) {
43999 return instance.state.popupVisible;
44000 },
44001 getContainer: function getContainer(instance) {
44002 var props = instance.props;
44003
44004 var popupContainer = document.createElement('div');
44005 // Make sure default popup container will never cause scrollbar appearing
44006 // https://github.com/react-component/trigger/issues/41
44007 popupContainer.style.position = 'absolute';
44008 popupContainer.style.top = '0';
44009 popupContainer.style.left = '0';
44010 popupContainer.style.width = '100%';
44011 var mountNode = props.getPopupContainer ? props.getPopupContainer((0, _reactDom.findDOMNode)(instance)) : props.getDocument().body;
44012 mountNode.appendChild(popupContainer);
44013 return popupContainer;
44014 }
44015 })],
44016
44017 getDefaultProps: function getDefaultProps() {
44018 return {
44019 prefixCls: 'rc-trigger-popup',
44020 getPopupClassNameFromAlign: returnEmptyString,
44021 getDocument: returnDocument,
44022 onPopupVisibleChange: noop,
44023 afterPopupVisibleChange: noop,
44024 onPopupAlign: noop,
44025 popupClassName: '',
44026 mouseEnterDelay: 0,
44027 mouseLeaveDelay: 0.1,
44028 focusDelay: 0,
44029 blurDelay: 0.15,
44030 popupStyle: {},
44031 destroyPopupOnHide: false,
44032 popupAlign: {},
44033 defaultPopupVisible: false,
44034 mask: false,
44035 maskClosable: true,
44036 action: [],
44037 showAction: [],
44038 hideAction: []
44039 };
44040 },
44041 getInitialState: function getInitialState() {
44042 var props = this.props;
44043 var popupVisible = void 0;
44044 if ('popupVisible' in props) {
44045 popupVisible = !!props.popupVisible;
44046 } else {
44047 popupVisible = !!props.defaultPopupVisible;
44048 }
44049 return {
44050 popupVisible: popupVisible
44051 };
44052 },
44053 componentWillMount: function componentWillMount() {
44054 var _this = this;
44055
44056 ALL_HANDLERS.forEach(function (h) {
44057 _this['fire' + h] = function (e) {
44058 _this.fireEvents(h, e);
44059 };
44060 });
44061 },
44062 componentDidMount: function componentDidMount() {
44063 this.componentDidUpdate({}, {
44064 popupVisible: this.state.popupVisible
44065 });
44066 },
44067 componentWillReceiveProps: function componentWillReceiveProps(_ref) {
44068 var popupVisible = _ref.popupVisible;
44069
44070 if (popupVisible !== undefined) {
44071 this.setState({
44072 popupVisible: popupVisible
44073 });
44074 }
44075 },
44076 componentDidUpdate: function componentDidUpdate(_, prevState) {
44077 var props = this.props;
44078 var state = this.state;
44079 this.renderComponent(null, function () {
44080 if (prevState.popupVisible !== state.popupVisible) {
44081 props.afterPopupVisibleChange(state.popupVisible);
44082 }
44083 });
44084
44085 // We must listen to `mousedown`, edge case:
44086 // https://github.com/ant-design/ant-design/issues/5804
44087 // https://github.com/react-component/calendar/issues/250
44088 // https://github.com/react-component/trigger/issues/50
44089 if (state.popupVisible) {
44090 var currentDocument = void 0;
44091 if (!this.clickOutsideHandler && this.isClickToHide()) {
44092 currentDocument = props.getDocument();
44093 this.clickOutsideHandler = (0, _addEventListener2['default'])(currentDocument, 'mousedown', this.onDocumentClick);
44094 }
44095 // always hide on mobile
44096 // `isMobile` fix: mask clicked will cause below element events triggered
44097 // https://github.com/ant-design/ant-design-mobile/issues/1909
44098 // https://github.com/ant-design/ant-design-mobile/issues/1928
44099 if (!this.touchOutsideHandler && isMobile) {
44100 currentDocument = currentDocument || props.getDocument();
44101 this.touchOutsideHandler = (0, _addEventListener2['default'])(currentDocument, 'click', this.onDocumentClick);
44102 }
44103 return;
44104 }
44105
44106 this.clearOutsideHandler();
44107 },
44108 componentWillUnmount: function componentWillUnmount() {
44109 this.clearDelayTimer();
44110 this.clearOutsideHandler();
44111 },
44112 onMouseEnter: function onMouseEnter(e) {
44113 this.fireEvents('onMouseEnter', e);
44114 this.delaySetPopupVisible(true, this.props.mouseEnterDelay);
44115 },
44116 onMouseLeave: function onMouseLeave(e) {
44117 this.fireEvents('onMouseLeave', e);
44118 this.delaySetPopupVisible(false, this.props.mouseLeaveDelay);
44119 },
44120 onPopupMouseEnter: function onPopupMouseEnter() {
44121 this.clearDelayTimer();
44122 },
44123 onPopupMouseLeave: function onPopupMouseLeave(e) {
44124 // https://github.com/react-component/trigger/pull/13
44125 // react bug?
44126 if (e.relatedTarget && !e.relatedTarget.setTimeout && this._component && this._component.getPopupDomNode && (0, _contains2['default'])(this._component.getPopupDomNode(), e.relatedTarget)) {
44127 return;
44128 }
44129 this.delaySetPopupVisible(false, this.props.mouseLeaveDelay);
44130 },
44131 onFocus: function onFocus(e) {
44132 this.fireEvents('onFocus', e);
44133 // incase focusin and focusout
44134 this.clearDelayTimer();
44135 if (this.isFocusToShow()) {
44136 this.focusTime = Date.now();
44137 this.delaySetPopupVisible(true, this.props.focusDelay);
44138 }
44139 },
44140 onMouseDown: function onMouseDown(e) {
44141 this.fireEvents('onMouseDown', e);
44142 this.preClickTime = Date.now();
44143 },
44144 onTouchStart: function onTouchStart(e) {
44145 this.fireEvents('onTouchStart', e);
44146 this.preTouchTime = Date.now();
44147 },
44148 onBlur: function onBlur(e) {
44149 this.fireEvents('onBlur', e);
44150 this.clearDelayTimer();
44151 if (this.isBlurToHide()) {
44152 this.delaySetPopupVisible(false, this.props.blurDelay);
44153 }
44154 },
44155 onClick: function onClick(event) {
44156 this.fireEvents('onClick', event);
44157 // focus will trigger click
44158 if (this.focusTime) {
44159 var preTime = void 0;
44160 if (this.preClickTime && this.preTouchTime) {
44161 preTime = Math.min(this.preClickTime, this.preTouchTime);
44162 } else if (this.preClickTime) {
44163 preTime = this.preClickTime;
44164 } else if (this.preTouchTime) {
44165 preTime = this.preTouchTime;
44166 }
44167 if (Math.abs(preTime - this.focusTime) < 20) {
44168 return;
44169 }
44170 this.focusTime = 0;
44171 }
44172 this.preClickTime = 0;
44173 this.preTouchTime = 0;
44174 event.preventDefault();
44175 var nextVisible = !this.state.popupVisible;
44176 if (this.isClickToHide() && !nextVisible || nextVisible && this.isClickToShow()) {
44177 this.setPopupVisible(!this.state.popupVisible);
44178 }
44179 },
44180 onDocumentClick: function onDocumentClick(event) {
44181 if (this.props.mask && !this.props.maskClosable) {
44182 return;
44183 }
44184 var target = event.target;
44185 var root = (0, _reactDom.findDOMNode)(this);
44186 var popupNode = this.getPopupDomNode();
44187 if (!(0, _contains2['default'])(root, target) && !(0, _contains2['default'])(popupNode, target)) {
44188 this.close();
44189 }
44190 },
44191 getPopupDomNode: function getPopupDomNode() {
44192 // for test
44193 if (this._component && this._component.getPopupDomNode) {
44194 return this._component.getPopupDomNode();
44195 }
44196 return null;
44197 },
44198 getRootDomNode: function getRootDomNode() {
44199 return (0, _reactDom.findDOMNode)(this);
44200 },
44201 getPopupClassNameFromAlign: function getPopupClassNameFromAlign(align) {
44202 var className = [];
44203 var props = this.props;
44204 var popupPlacement = props.popupPlacement,
44205 builtinPlacements = props.builtinPlacements,
44206 prefixCls = props.prefixCls;
44207
44208 if (popupPlacement && builtinPlacements) {
44209 className.push((0, _utils.getPopupClassNameFromAlign)(builtinPlacements, prefixCls, align));
44210 }
44211 if (props.getPopupClassNameFromAlign) {
44212 className.push(props.getPopupClassNameFromAlign(align));
44213 }
44214 return className.join(' ');
44215 },
44216 getPopupAlign: function getPopupAlign() {
44217 var props = this.props;
44218 var popupPlacement = props.popupPlacement,
44219 popupAlign = props.popupAlign,
44220 builtinPlacements = props.builtinPlacements;
44221
44222 if (popupPlacement && builtinPlacements) {
44223 return (0, _utils.getAlignFromPlacement)(builtinPlacements, popupPlacement, popupAlign);
44224 }
44225 return popupAlign;
44226 },
44227 getComponent: function getComponent() {
44228 var props = this.props,
44229 state = this.state;
44230
44231 var mouseProps = {};
44232 if (this.isMouseEnterToShow()) {
44233 mouseProps.onMouseEnter = this.onPopupMouseEnter;
44234 }
44235 if (this.isMouseLeaveToHide()) {
44236 mouseProps.onMouseLeave = this.onPopupMouseLeave;
44237 }
44238 return _react2['default'].createElement(
44239 _Popup2['default'],
44240 (0, _extends3['default'])({
44241 prefixCls: props.prefixCls,
44242 destroyPopupOnHide: props.destroyPopupOnHide,
44243 visible: state.popupVisible,
44244 className: props.popupClassName,
44245 action: props.action,
44246 align: this.getPopupAlign(),
44247 onAlign: props.onPopupAlign,
44248 animation: props.popupAnimation,
44249 getClassNameFromAlign: this.getPopupClassNameFromAlign
44250 }, mouseProps, {
44251 getRootDomNode: this.getRootDomNode,
44252 style: props.popupStyle,
44253 mask: props.mask,
44254 zIndex: props.zIndex,
44255 transitionName: props.popupTransitionName,
44256 maskAnimation: props.maskAnimation,
44257 maskTransitionName: props.maskTransitionName
44258 }),
44259 typeof props.popup === 'function' ? props.popup() : props.popup
44260 );
44261 },
44262 setPopupVisible: function setPopupVisible(popupVisible) {
44263 this.clearDelayTimer();
44264 if (this.state.popupVisible !== popupVisible) {
44265 if (!('popupVisible' in this.props)) {
44266 this.setState({
44267 popupVisible: popupVisible
44268 });
44269 }
44270 this.props.onPopupVisibleChange(popupVisible);
44271 }
44272 },
44273 delaySetPopupVisible: function delaySetPopupVisible(visible, delayS) {
44274 var _this2 = this;
44275
44276 var delay = delayS * 1000;
44277 this.clearDelayTimer();
44278 if (delay) {
44279 this.delayTimer = setTimeout(function () {
44280 _this2.setPopupVisible(visible);
44281 _this2.clearDelayTimer();
44282 }, delay);
44283 } else {
44284 this.setPopupVisible(visible);
44285 }
44286 },
44287 clearDelayTimer: function clearDelayTimer() {
44288 if (this.delayTimer) {
44289 clearTimeout(this.delayTimer);
44290 this.delayTimer = null;
44291 }
44292 },
44293 clearOutsideHandler: function clearOutsideHandler() {
44294 if (this.clickOutsideHandler) {
44295 this.clickOutsideHandler.remove();
44296 this.clickOutsideHandler = null;
44297 }
44298
44299 if (this.touchOutsideHandler) {
44300 this.touchOutsideHandler.remove();
44301 this.touchOutsideHandler = null;
44302 }
44303 },
44304 createTwoChains: function createTwoChains(event) {
44305 var childPros = this.props.children.props;
44306 var props = this.props;
44307 if (childPros[event] && props[event]) {
44308 return this['fire' + event];
44309 }
44310 return childPros[event] || props[event];
44311 },
44312 isClickToShow: function isClickToShow() {
44313 var _props = this.props,
44314 action = _props.action,
44315 showAction = _props.showAction;
44316
44317 return action.indexOf('click') !== -1 || showAction.indexOf('click') !== -1;
44318 },
44319 isClickToHide: function isClickToHide() {
44320 var _props2 = this.props,
44321 action = _props2.action,
44322 hideAction = _props2.hideAction;
44323
44324 return action.indexOf('click') !== -1 || hideAction.indexOf('click') !== -1;
44325 },
44326 isMouseEnterToShow: function isMouseEnterToShow() {
44327 var _props3 = this.props,
44328 action = _props3.action,
44329 showAction = _props3.showAction;
44330
44331 return action.indexOf('hover') !== -1 || showAction.indexOf('mouseEnter') !== -1;
44332 },
44333 isMouseLeaveToHide: function isMouseLeaveToHide() {
44334 var _props4 = this.props,
44335 action = _props4.action,
44336 hideAction = _props4.hideAction;
44337
44338 return action.indexOf('hover') !== -1 || hideAction.indexOf('mouseLeave') !== -1;
44339 },
44340 isFocusToShow: function isFocusToShow() {
44341 var _props5 = this.props,
44342 action = _props5.action,
44343 showAction = _props5.showAction;
44344
44345 return action.indexOf('focus') !== -1 || showAction.indexOf('focus') !== -1;
44346 },
44347 isBlurToHide: function isBlurToHide() {
44348 var _props6 = this.props,
44349 action = _props6.action,
44350 hideAction = _props6.hideAction;
44351
44352 return action.indexOf('focus') !== -1 || hideAction.indexOf('blur') !== -1;
44353 },
44354 forcePopupAlign: function forcePopupAlign() {
44355 if (this.state.popupVisible && this._component && this._component.alignInstance) {
44356 this._component.alignInstance.forceAlign();
44357 }
44358 },
44359 fireEvents: function fireEvents(type, e) {
44360 var childCallback = this.props.children.props[type];
44361 if (childCallback) {
44362 childCallback(e);
44363 }
44364 var callback = this.props[type];
44365 if (callback) {
44366 callback(e);
44367 }
44368 },
44369 close: function close() {
44370 this.setPopupVisible(false);
44371 },
44372 render: function render() {
44373 var props = this.props;
44374 var children = props.children;
44375 var child = _react2['default'].Children.only(children);
44376 var newChildProps = {};
44377 if (this.isClickToHide() || this.isClickToShow()) {
44378 newChildProps.onClick = this.onClick;
44379 newChildProps.onMouseDown = this.onMouseDown;
44380 newChildProps.onTouchStart = this.onTouchStart;
44381 } else {
44382 newChildProps.onClick = this.createTwoChains('onClick');
44383 newChildProps.onMouseDown = this.createTwoChains('onMouseDown');
44384 newChildProps.onTouchStart = this.createTwoChains('onTouchStart');
44385 }
44386 if (this.isMouseEnterToShow()) {
44387 newChildProps.onMouseEnter = this.onMouseEnter;
44388 } else {
44389 newChildProps.onMouseEnter = this.createTwoChains('onMouseEnter');
44390 }
44391 if (this.isMouseLeaveToHide()) {
44392 newChildProps.onMouseLeave = this.onMouseLeave;
44393 } else {
44394 newChildProps.onMouseLeave = this.createTwoChains('onMouseLeave');
44395 }
44396 if (this.isFocusToShow() || this.isBlurToHide()) {
44397 newChildProps.onFocus = this.onFocus;
44398 newChildProps.onBlur = this.onBlur;
44399 } else {
44400 newChildProps.onFocus = this.createTwoChains('onFocus');
44401 newChildProps.onBlur = this.createTwoChains('onBlur');
44402 }
44403
44404 return _react2['default'].cloneElement(child, newChildProps);
44405 }
44406 });
44407
44408 exports['default'] = Trigger;
44409 module.exports = exports['default'];
44410
44411/***/ }),
44412/* 473 */
44413/***/ (function(module, exports) {
44414
44415 "use strict";
44416
44417 Object.defineProperty(exports, "__esModule", {
44418 value: true
44419 });
44420 exports["default"] = contains;
44421 function contains(root, n) {
44422 var node = n;
44423 while (node) {
44424 if (node === root) {
44425 return true;
44426 }
44427 node = node.parentNode;
44428 }
44429
44430 return false;
44431 }
44432 module.exports = exports['default'];
44433
44434/***/ }),
44435/* 474 */
44436/***/ (function(module, exports, __webpack_require__) {
44437
44438 'use strict';
44439
44440 Object.defineProperty(exports, "__esModule", {
44441 value: true
44442 });
44443 exports['default'] = addEventListenerWrap;
44444
44445 var _addDomEventListener = __webpack_require__(40);
44446
44447 var _addDomEventListener2 = _interopRequireDefault(_addDomEventListener);
44448
44449 var _reactDom = __webpack_require__(12);
44450
44451 var _reactDom2 = _interopRequireDefault(_reactDom);
44452
44453 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
44454
44455 function addEventListenerWrap(target, eventType, cb) {
44456 /* eslint camelcase: 2 */
44457 var callback = _reactDom2['default'].unstable_batchedUpdates ? function run(e) {
44458 _reactDom2['default'].unstable_batchedUpdates(cb, e);
44459 } : cb;
44460 return (0, _addDomEventListener2['default'])(target, eventType, callback);
44461 }
44462 module.exports = exports['default'];
44463
44464/***/ }),
44465/* 475 */
44466/***/ (function(module, exports, __webpack_require__) {
44467
44468 'use strict';
44469
44470 Object.defineProperty(exports, "__esModule", {
44471 value: true
44472 });
44473
44474 var _extends2 = __webpack_require__(145);
44475
44476 var _extends3 = _interopRequireDefault(_extends2);
44477
44478 var _classCallCheck2 = __webpack_require__(250);
44479
44480 var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
44481
44482 var _createClass2 = __webpack_require__(251);
44483
44484 var _createClass3 = _interopRequireDefault(_createClass2);
44485
44486 var _possibleConstructorReturn2 = __webpack_require__(316);
44487
44488 var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
44489
44490 var _inherits2 = __webpack_require__(317);
44491
44492 var _inherits3 = _interopRequireDefault(_inherits2);
44493
44494 var _react = __webpack_require__(4);
44495
44496 var _react2 = _interopRequireDefault(_react);
44497
44498 var _propTypes = __webpack_require__(5);
44499
44500 var _propTypes2 = _interopRequireDefault(_propTypes);
44501
44502 var _reactDom = __webpack_require__(12);
44503
44504 var _reactDom2 = _interopRequireDefault(_reactDom);
44505
44506 var _rcAlign = __webpack_require__(476);
44507
44508 var _rcAlign2 = _interopRequireDefault(_rcAlign);
44509
44510 var _rcAnimate = __webpack_require__(479);
44511
44512 var _rcAnimate2 = _interopRequireDefault(_rcAnimate);
44513
44514 var _PopupInner = __webpack_require__(485);
44515
44516 var _PopupInner2 = _interopRequireDefault(_PopupInner);
44517
44518 var _LazyRenderBox = __webpack_require__(486);
44519
44520 var _LazyRenderBox2 = _interopRequireDefault(_LazyRenderBox);
44521
44522 var _utils = __webpack_require__(487);
44523
44524 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
44525
44526 var Popup = function (_Component) {
44527 (0, _inherits3['default'])(Popup, _Component);
44528
44529 function Popup(props) {
44530 (0, _classCallCheck3['default'])(this, Popup);
44531
44532 var _this = (0, _possibleConstructorReturn3['default'])(this, (Popup.__proto__ || Object.getPrototypeOf(Popup)).call(this, props));
44533
44534 _initialiseProps.call(_this);
44535
44536 _this.savePopupRef = _utils.saveRef.bind(_this, 'popupInstance');
44537 _this.saveAlignRef = _utils.saveRef.bind(_this, 'alignInstance');
44538 return _this;
44539 }
44540
44541 (0, _createClass3['default'])(Popup, [{
44542 key: 'componentDidMount',
44543 value: function componentDidMount() {
44544 this.rootNode = this.getPopupDomNode();
44545 }
44546 }, {
44547 key: 'getPopupDomNode',
44548 value: function getPopupDomNode() {
44549 return _reactDom2['default'].findDOMNode(this.popupInstance);
44550 }
44551 }, {
44552 key: 'getMaskTransitionName',
44553 value: function getMaskTransitionName() {
44554 var props = this.props;
44555 var transitionName = props.maskTransitionName;
44556 var animation = props.maskAnimation;
44557 if (!transitionName && animation) {
44558 transitionName = props.prefixCls + '-' + animation;
44559 }
44560 return transitionName;
44561 }
44562 }, {
44563 key: 'getTransitionName',
44564 value: function getTransitionName() {
44565 var props = this.props;
44566 var transitionName = props.transitionName;
44567 if (!transitionName && props.animation) {
44568 transitionName = props.prefixCls + '-' + props.animation;
44569 }
44570 return transitionName;
44571 }
44572 }, {
44573 key: 'getClassName',
44574 value: function getClassName(currentAlignClassName) {
44575 return this.props.prefixCls + ' ' + this.props.className + ' ' + currentAlignClassName;
44576 }
44577 }, {
44578 key: 'getPopupElement',
44579 value: function getPopupElement() {
44580 var savePopupRef = this.savePopupRef,
44581 props = this.props;
44582 var align = props.align,
44583 style = props.style,
44584 visible = props.visible,
44585 prefixCls = props.prefixCls,
44586 destroyPopupOnHide = props.destroyPopupOnHide;
44587
44588 var className = this.getClassName(this.currentAlignClassName || props.getClassNameFromAlign(align));
44589 var hiddenClassName = prefixCls + '-hidden';
44590 if (!visible) {
44591 this.currentAlignClassName = null;
44592 }
44593 var newStyle = (0, _extends3['default'])({}, style, this.getZIndexStyle());
44594 var popupInnerProps = {
44595 className: className,
44596 prefixCls: prefixCls,
44597 ref: savePopupRef,
44598 onMouseEnter: props.onMouseEnter,
44599 onMouseLeave: props.onMouseLeave,
44600 style: newStyle
44601 };
44602 if (destroyPopupOnHide) {
44603 return _react2['default'].createElement(
44604 _rcAnimate2['default'],
44605 {
44606 component: '',
44607 exclusive: true,
44608 transitionAppear: true,
44609 transitionName: this.getTransitionName()
44610 },
44611 visible ? _react2['default'].createElement(
44612 _rcAlign2['default'],
44613 {
44614 target: this.getTarget,
44615 key: 'popup',
44616 ref: this.saveAlignRef,
44617 monitorWindowResize: true,
44618 align: align,
44619 onAlign: this.onAlign
44620 },
44621 _react2['default'].createElement(
44622 _PopupInner2['default'],
44623 (0, _extends3['default'])({
44624 visible: true
44625 }, popupInnerProps),
44626 props.children
44627 )
44628 ) : null
44629 );
44630 }
44631 return _react2['default'].createElement(
44632 _rcAnimate2['default'],
44633 {
44634 component: '',
44635 exclusive: true,
44636 transitionAppear: true,
44637 transitionName: this.getTransitionName(),
44638 showProp: 'xVisible'
44639 },
44640 _react2['default'].createElement(
44641 _rcAlign2['default'],
44642 {
44643 target: this.getTarget,
44644 key: 'popup',
44645 ref: this.saveAlignRef,
44646 monitorWindowResize: true,
44647 xVisible: visible,
44648 childrenProps: { visible: 'xVisible' },
44649 disabled: !visible,
44650 align: align,
44651 onAlign: this.onAlign
44652 },
44653 _react2['default'].createElement(
44654 _PopupInner2['default'],
44655 (0, _extends3['default'])({
44656 hiddenClassName: hiddenClassName
44657 }, popupInnerProps),
44658 props.children
44659 )
44660 )
44661 );
44662 }
44663 }, {
44664 key: 'getZIndexStyle',
44665 value: function getZIndexStyle() {
44666 var style = {};
44667 var props = this.props;
44668 if (props.zIndex !== undefined) {
44669 style.zIndex = props.zIndex;
44670 }
44671 return style;
44672 }
44673 }, {
44674 key: 'getMaskElement',
44675 value: function getMaskElement() {
44676 var props = this.props;
44677 var maskElement = void 0;
44678 if (props.mask) {
44679 var maskTransition = this.getMaskTransitionName();
44680 maskElement = _react2['default'].createElement(_LazyRenderBox2['default'], {
44681 style: this.getZIndexStyle(),
44682 key: 'mask',
44683 className: props.prefixCls + '-mask',
44684 hiddenClassName: props.prefixCls + '-mask-hidden',
44685 visible: props.visible
44686 });
44687 if (maskTransition) {
44688 maskElement = _react2['default'].createElement(
44689 _rcAnimate2['default'],
44690 {
44691 key: 'mask',
44692 showProp: 'visible',
44693 transitionAppear: true,
44694 component: '',
44695 transitionName: maskTransition
44696 },
44697 maskElement
44698 );
44699 }
44700 }
44701 return maskElement;
44702 }
44703 }, {
44704 key: 'render',
44705 value: function render() {
44706 return _react2['default'].createElement(
44707 'div',
44708 null,
44709 this.getMaskElement(),
44710 this.getPopupElement()
44711 );
44712 }
44713 }]);
44714 return Popup;
44715 }(_react.Component);
44716
44717 Popup.propTypes = {
44718 visible: _propTypes2['default'].bool,
44719 style: _propTypes2['default'].object,
44720 getClassNameFromAlign: _propTypes2['default'].func,
44721 onAlign: _propTypes2['default'].func,
44722 getRootDomNode: _propTypes2['default'].func,
44723 onMouseEnter: _propTypes2['default'].func,
44724 align: _propTypes2['default'].any,
44725 destroyPopupOnHide: _propTypes2['default'].bool,
44726 className: _propTypes2['default'].string,
44727 prefixCls: _propTypes2['default'].string,
44728 onMouseLeave: _propTypes2['default'].func
44729 };
44730
44731 var _initialiseProps = function _initialiseProps() {
44732 var _this2 = this;
44733
44734 this.onAlign = function (popupDomNode, align) {
44735 var props = _this2.props;
44736 var currentAlignClassName = props.getClassNameFromAlign(align);
44737 // FIX: https://github.com/react-component/trigger/issues/56
44738 // FIX: https://github.com/react-component/tooltip/issues/79
44739 if (_this2.currentAlignClassName !== currentAlignClassName) {
44740 _this2.currentAlignClassName = currentAlignClassName;
44741 popupDomNode.className = _this2.getClassName(currentAlignClassName);
44742 }
44743 props.onAlign(popupDomNode, align);
44744 };
44745
44746 this.getTarget = function () {
44747 return _this2.props.getRootDomNode();
44748 };
44749 };
44750
44751 exports['default'] = Popup;
44752 module.exports = exports['default'];
44753
44754/***/ }),
44755/* 476 */
44756/***/ (function(module, exports, __webpack_require__) {
44757
44758 'use strict';
44759
44760 exports.__esModule = true;
44761
44762 var _Align = __webpack_require__(477);
44763
44764 var _Align2 = _interopRequireDefault(_Align);
44765
44766 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
44767
44768 exports['default'] = _Align2['default']; // export this package's api
44769
44770 module.exports = exports['default'];
44771
44772/***/ }),
44773/* 477 */
44774/***/ (function(module, exports, __webpack_require__) {
44775
44776 'use strict';
44777
44778 exports.__esModule = true;
44779
44780 var _classCallCheck2 = __webpack_require__(250);
44781
44782 var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
44783
44784 var _possibleConstructorReturn2 = __webpack_require__(316);
44785
44786 var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
44787
44788 var _inherits2 = __webpack_require__(317);
44789
44790 var _inherits3 = _interopRequireDefault(_inherits2);
44791
44792 var _react = __webpack_require__(4);
44793
44794 var _react2 = _interopRequireDefault(_react);
44795
44796 var _propTypes = __webpack_require__(5);
44797
44798 var _propTypes2 = _interopRequireDefault(_propTypes);
44799
44800 var _reactDom = __webpack_require__(12);
44801
44802 var _reactDom2 = _interopRequireDefault(_reactDom);
44803
44804 var _domAlign = __webpack_require__(50);
44805
44806 var _addEventListener = __webpack_require__(474);
44807
44808 var _addEventListener2 = _interopRequireDefault(_addEventListener);
44809
44810 var _util = __webpack_require__(478);
44811
44812 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
44813
44814 function getElement(func) {
44815 if (typeof func !== 'function' || !func) return null;
44816 return func();
44817 }
44818
44819 function getPoint(point) {
44820 if (typeof point !== 'object' || !point) return null;
44821 return point;
44822 }
44823
44824 var Align = function (_Component) {
44825 (0, _inherits3['default'])(Align, _Component);
44826
44827 function Align() {
44828 var _temp, _this, _ret;
44829
44830 (0, _classCallCheck3['default'])(this, Align);
44831
44832 for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
44833 args[_key] = arguments[_key];
44834 }
44835
44836 return _ret = (_temp = (_this = (0, _possibleConstructorReturn3['default'])(this, _Component.call.apply(_Component, [this].concat(args))), _this), _this.forceAlign = function () {
44837 var _this$props = _this.props,
44838 disabled = _this$props.disabled,
44839 target = _this$props.target,
44840 align = _this$props.align,
44841 onAlign = _this$props.onAlign;
44842
44843 if (!disabled && target) {
44844 var source = _reactDom2['default'].findDOMNode(_this);
44845
44846 var result = void 0;
44847 var element = getElement(target);
44848 var point = getPoint(target);
44849
44850 if (element) {
44851 result = (0, _domAlign.alignElement)(source, element, align);
44852 } else if (point) {
44853 result = (0, _domAlign.alignPoint)(source, point, align);
44854 }
44855
44856 if (onAlign) {
44857 onAlign(source, result);
44858 }
44859 }
44860 }, _temp), (0, _possibleConstructorReturn3['default'])(_this, _ret);
44861 }
44862
44863 Align.prototype.componentDidMount = function componentDidMount() {
44864 var props = this.props;
44865 // if parent ref not attached .... use document.getElementById
44866 this.forceAlign();
44867 if (!props.disabled && props.monitorWindowResize) {
44868 this.startMonitorWindowResize();
44869 }
44870 };
44871
44872 Align.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {
44873 var reAlign = false;
44874 var props = this.props;
44875
44876 if (!props.disabled) {
44877 var source = _reactDom2['default'].findDOMNode(this);
44878 var sourceRect = source ? source.getBoundingClientRect() : null;
44879
44880 if (prevProps.disabled) {
44881 reAlign = true;
44882 } else {
44883 var lastElement = getElement(prevProps.target);
44884 var currentElement = getElement(props.target);
44885 var lastPoint = getPoint(prevProps.target);
44886 var currentPoint = getPoint(props.target);
44887
44888 if ((0, _util.isWindow)(lastElement) && (0, _util.isWindow)(currentElement)) {
44889 // Skip if is window
44890 reAlign = false;
44891 } else if (lastElement !== currentElement || // Element change
44892 lastElement && !currentElement && currentPoint || // Change from element to point
44893 lastPoint && currentPoint && currentElement || // Change from point to element
44894 currentPoint && !(0, _util.isSamePoint)(lastPoint, currentPoint)) {
44895 reAlign = true;
44896 }
44897
44898 // If source element size changed
44899 var preRect = this.sourceRect || {};
44900 if (!reAlign && source && (preRect.width !== sourceRect.width || preRect.height !== sourceRect.height)) {
44901 reAlign = true;
44902 }
44903 }
44904
44905 this.sourceRect = sourceRect;
44906 }
44907
44908 if (reAlign) {
44909 this.forceAlign();
44910 }
44911
44912 if (props.monitorWindowResize && !props.disabled) {
44913 this.startMonitorWindowResize();
44914 } else {
44915 this.stopMonitorWindowResize();
44916 }
44917 };
44918
44919 Align.prototype.componentWillUnmount = function componentWillUnmount() {
44920 this.stopMonitorWindowResize();
44921 };
44922
44923 Align.prototype.startMonitorWindowResize = function startMonitorWindowResize() {
44924 if (!this.resizeHandler) {
44925 this.bufferMonitor = (0, _util.buffer)(this.forceAlign, this.props.monitorBufferTime);
44926 this.resizeHandler = (0, _addEventListener2['default'])(window, 'resize', this.bufferMonitor);
44927 }
44928 };
44929
44930 Align.prototype.stopMonitorWindowResize = function stopMonitorWindowResize() {
44931 if (this.resizeHandler) {
44932 this.bufferMonitor.clear();
44933 this.resizeHandler.remove();
44934 this.resizeHandler = null;
44935 }
44936 };
44937
44938 Align.prototype.render = function render() {
44939 var _this2 = this;
44940
44941 var _props = this.props,
44942 childrenProps = _props.childrenProps,
44943 children = _props.children;
44944
44945 var child = _react2['default'].Children.only(children);
44946 if (childrenProps) {
44947 var newProps = {};
44948 var propList = Object.keys(childrenProps);
44949 propList.forEach(function (prop) {
44950 newProps[prop] = _this2.props[childrenProps[prop]];
44951 });
44952
44953 return _react2['default'].cloneElement(child, newProps);
44954 }
44955 return child;
44956 };
44957
44958 return Align;
44959 }(_react.Component);
44960
44961 Align.propTypes = {
44962 childrenProps: _propTypes2['default'].object,
44963 align: _propTypes2['default'].object.isRequired,
44964 target: _propTypes2['default'].oneOfType([_propTypes2['default'].func, _propTypes2['default'].shape({
44965 clientX: _propTypes2['default'].number,
44966 clientY: _propTypes2['default'].number,
44967 pageX: _propTypes2['default'].number,
44968 pageY: _propTypes2['default'].number
44969 })]),
44970 onAlign: _propTypes2['default'].func,
44971 monitorBufferTime: _propTypes2['default'].number,
44972 monitorWindowResize: _propTypes2['default'].bool,
44973 disabled: _propTypes2['default'].bool,
44974 children: _propTypes2['default'].any
44975 };
44976 Align.defaultProps = {
44977 target: function target() {
44978 return window;
44979 },
44980 monitorBufferTime: 50,
44981 monitorWindowResize: false,
44982 disabled: false
44983 };
44984 exports['default'] = Align;
44985 module.exports = exports['default'];
44986
44987/***/ }),
44988/* 478 */
44989/***/ (function(module, exports) {
44990
44991 'use strict';
44992
44993 exports.__esModule = true;
44994 exports.buffer = buffer;
44995 exports.isSamePoint = isSamePoint;
44996 exports.isWindow = isWindow;
44997 function buffer(fn, ms) {
44998 var timer = void 0;
44999
45000 function clear() {
45001 if (timer) {
45002 clearTimeout(timer);
45003 timer = null;
45004 }
45005 }
45006
45007 function bufferFn() {
45008 clear();
45009 timer = setTimeout(fn, ms);
45010 }
45011
45012 bufferFn.clear = clear;
45013
45014 return bufferFn;
45015 }
45016
45017 function isSamePoint(prev, next) {
45018 if (prev === next) return true;
45019 if (!prev || !next) return false;
45020
45021 if ('pageX' in next && 'pageY' in next) {
45022 return prev.pageX === next.pageX && prev.pageY === next.pageY;
45023 }
45024
45025 if ('clientX' in next && 'clientY' in next) {
45026 return prev.clientX === next.clientX && prev.clientY === next.clientY;
45027 }
45028
45029 return false;
45030 }
45031
45032 function isWindow(obj) {
45033 return obj && typeof obj === 'object' && obj.window === obj;
45034 }
45035
45036/***/ }),
45037/* 479 */
45038/***/ (function(module, exports, __webpack_require__) {
45039
45040 'use strict';
45041
45042 Object.defineProperty(exports, "__esModule", {
45043 value: true
45044 });
45045
45046 var _extends2 = __webpack_require__(145);
45047
45048 var _extends3 = _interopRequireDefault(_extends2);
45049
45050 var _defineProperty2 = __webpack_require__(141);
45051
45052 var _defineProperty3 = _interopRequireDefault(_defineProperty2);
45053
45054 var _classCallCheck2 = __webpack_require__(250);
45055
45056 var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
45057
45058 var _createClass2 = __webpack_require__(251);
45059
45060 var _createClass3 = _interopRequireDefault(_createClass2);
45061
45062 var _possibleConstructorReturn2 = __webpack_require__(316);
45063
45064 var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
45065
45066 var _inherits2 = __webpack_require__(317);
45067
45068 var _inherits3 = _interopRequireDefault(_inherits2);
45069
45070 var _react = __webpack_require__(4);
45071
45072 var _react2 = _interopRequireDefault(_react);
45073
45074 var _propTypes = __webpack_require__(5);
45075
45076 var _propTypes2 = _interopRequireDefault(_propTypes);
45077
45078 var _ChildrenUtils = __webpack_require__(480);
45079
45080 var _AnimateChild = __webpack_require__(481);
45081
45082 var _AnimateChild2 = _interopRequireDefault(_AnimateChild);
45083
45084 var _util = __webpack_require__(484);
45085
45086 var _util2 = _interopRequireDefault(_util);
45087
45088 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
45089
45090 var defaultKey = 'rc_animate_' + Date.now();
45091
45092
45093 function getChildrenFromProps(props) {
45094 var children = props.children;
45095 if (_react2['default'].isValidElement(children)) {
45096 if (!children.key) {
45097 return _react2['default'].cloneElement(children, {
45098 key: defaultKey
45099 });
45100 }
45101 }
45102 return children;
45103 }
45104
45105 function noop() {}
45106
45107 var Animate = function (_React$Component) {
45108 (0, _inherits3['default'])(Animate, _React$Component);
45109
45110 // eslint-disable-line
45111
45112 function Animate(props) {
45113 (0, _classCallCheck3['default'])(this, Animate);
45114
45115 var _this = (0, _possibleConstructorReturn3['default'])(this, (Animate.__proto__ || Object.getPrototypeOf(Animate)).call(this, props));
45116
45117 _initialiseProps.call(_this);
45118
45119 _this.currentlyAnimatingKeys = {};
45120 _this.keysToEnter = [];
45121 _this.keysToLeave = [];
45122
45123 _this.state = {
45124 children: (0, _ChildrenUtils.toArrayChildren)(getChildrenFromProps(props))
45125 };
45126
45127 _this.childrenRefs = {};
45128 return _this;
45129 }
45130
45131 (0, _createClass3['default'])(Animate, [{
45132 key: 'componentDidMount',
45133 value: function componentDidMount() {
45134 var _this2 = this;
45135
45136 var showProp = this.props.showProp;
45137 var children = this.state.children;
45138 if (showProp) {
45139 children = children.filter(function (child) {
45140 return !!child.props[showProp];
45141 });
45142 }
45143 children.forEach(function (child) {
45144 if (child) {
45145 _this2.performAppear(child.key);
45146 }
45147 });
45148 }
45149 }, {
45150 key: 'componentWillReceiveProps',
45151 value: function componentWillReceiveProps(nextProps) {
45152 var _this3 = this;
45153
45154 this.nextProps = nextProps;
45155 var nextChildren = (0, _ChildrenUtils.toArrayChildren)(getChildrenFromProps(nextProps));
45156 var props = this.props;
45157 // exclusive needs immediate response
45158 if (props.exclusive) {
45159 Object.keys(this.currentlyAnimatingKeys).forEach(function (key) {
45160 _this3.stop(key);
45161 });
45162 }
45163 var showProp = props.showProp;
45164 var currentlyAnimatingKeys = this.currentlyAnimatingKeys;
45165 // last props children if exclusive
45166 var currentChildren = props.exclusive ? (0, _ChildrenUtils.toArrayChildren)(getChildrenFromProps(props)) : this.state.children;
45167 // in case destroy in showProp mode
45168 var newChildren = [];
45169 if (showProp) {
45170 currentChildren.forEach(function (currentChild) {
45171 var nextChild = currentChild && (0, _ChildrenUtils.findChildInChildrenByKey)(nextChildren, currentChild.key);
45172 var newChild = void 0;
45173 if ((!nextChild || !nextChild.props[showProp]) && currentChild.props[showProp]) {
45174 newChild = _react2['default'].cloneElement(nextChild || currentChild, (0, _defineProperty3['default'])({}, showProp, true));
45175 } else {
45176 newChild = nextChild;
45177 }
45178 if (newChild) {
45179 newChildren.push(newChild);
45180 }
45181 });
45182 nextChildren.forEach(function (nextChild) {
45183 if (!nextChild || !(0, _ChildrenUtils.findChildInChildrenByKey)(currentChildren, nextChild.key)) {
45184 newChildren.push(nextChild);
45185 }
45186 });
45187 } else {
45188 newChildren = (0, _ChildrenUtils.mergeChildren)(currentChildren, nextChildren);
45189 }
45190
45191 // need render to avoid update
45192 this.setState({
45193 children: newChildren
45194 });
45195
45196 nextChildren.forEach(function (child) {
45197 var key = child && child.key;
45198 if (child && currentlyAnimatingKeys[key]) {
45199 return;
45200 }
45201 var hasPrev = child && (0, _ChildrenUtils.findChildInChildrenByKey)(currentChildren, key);
45202 if (showProp) {
45203 var showInNext = child.props[showProp];
45204 if (hasPrev) {
45205 var showInNow = (0, _ChildrenUtils.findShownChildInChildrenByKey)(currentChildren, key, showProp);
45206 if (!showInNow && showInNext) {
45207 _this3.keysToEnter.push(key);
45208 }
45209 } else if (showInNext) {
45210 _this3.keysToEnter.push(key);
45211 }
45212 } else if (!hasPrev) {
45213 _this3.keysToEnter.push(key);
45214 }
45215 });
45216
45217 currentChildren.forEach(function (child) {
45218 var key = child && child.key;
45219 if (child && currentlyAnimatingKeys[key]) {
45220 return;
45221 }
45222 var hasNext = child && (0, _ChildrenUtils.findChildInChildrenByKey)(nextChildren, key);
45223 if (showProp) {
45224 var showInNow = child.props[showProp];
45225 if (hasNext) {
45226 var showInNext = (0, _ChildrenUtils.findShownChildInChildrenByKey)(nextChildren, key, showProp);
45227 if (!showInNext && showInNow) {
45228 _this3.keysToLeave.push(key);
45229 }
45230 } else if (showInNow) {
45231 _this3.keysToLeave.push(key);
45232 }
45233 } else if (!hasNext) {
45234 _this3.keysToLeave.push(key);
45235 }
45236 });
45237 }
45238 }, {
45239 key: 'componentDidUpdate',
45240 value: function componentDidUpdate() {
45241 var keysToEnter = this.keysToEnter;
45242 this.keysToEnter = [];
45243 keysToEnter.forEach(this.performEnter);
45244 var keysToLeave = this.keysToLeave;
45245 this.keysToLeave = [];
45246 keysToLeave.forEach(this.performLeave);
45247 }
45248 }, {
45249 key: 'isValidChildByKey',
45250 value: function isValidChildByKey(currentChildren, key) {
45251 var showProp = this.props.showProp;
45252 if (showProp) {
45253 return (0, _ChildrenUtils.findShownChildInChildrenByKey)(currentChildren, key, showProp);
45254 }
45255 return (0, _ChildrenUtils.findChildInChildrenByKey)(currentChildren, key);
45256 }
45257 }, {
45258 key: 'stop',
45259 value: function stop(key) {
45260 delete this.currentlyAnimatingKeys[key];
45261 var component = this.childrenRefs[key];
45262 if (component) {
45263 component.stop();
45264 }
45265 }
45266 }, {
45267 key: 'render',
45268 value: function render() {
45269 var _this4 = this;
45270
45271 var props = this.props;
45272 this.nextProps = props;
45273 var stateChildren = this.state.children;
45274 var children = null;
45275 if (stateChildren) {
45276 children = stateChildren.map(function (child) {
45277 if (child === null || child === undefined) {
45278 return child;
45279 }
45280 if (!child.key) {
45281 throw new Error('must set key for <rc-animate> children');
45282 }
45283 return _react2['default'].createElement(
45284 _AnimateChild2['default'],
45285 {
45286 key: child.key,
45287 ref: function ref(node) {
45288 return _this4.childrenRefs[child.key] = node;
45289 },
45290 animation: props.animation,
45291 transitionName: props.transitionName,
45292 transitionEnter: props.transitionEnter,
45293 transitionAppear: props.transitionAppear,
45294 transitionLeave: props.transitionLeave
45295 },
45296 child
45297 );
45298 });
45299 }
45300 var Component = props.component;
45301 if (Component) {
45302 var passedProps = props;
45303 if (typeof Component === 'string') {
45304 passedProps = (0, _extends3['default'])({
45305 className: props.className,
45306 style: props.style
45307 }, props.componentProps);
45308 }
45309 return _react2['default'].createElement(
45310 Component,
45311 passedProps,
45312 children
45313 );
45314 }
45315 return children[0] || null;
45316 }
45317 }]);
45318 return Animate;
45319 }(_react2['default'].Component);
45320
45321 Animate.isAnimate = true;
45322 Animate.propTypes = {
45323 component: _propTypes2['default'].any,
45324 componentProps: _propTypes2['default'].object,
45325 animation: _propTypes2['default'].object,
45326 transitionName: _propTypes2['default'].oneOfType([_propTypes2['default'].string, _propTypes2['default'].object]),
45327 transitionEnter: _propTypes2['default'].bool,
45328 transitionAppear: _propTypes2['default'].bool,
45329 exclusive: _propTypes2['default'].bool,
45330 transitionLeave: _propTypes2['default'].bool,
45331 onEnd: _propTypes2['default'].func,
45332 onEnter: _propTypes2['default'].func,
45333 onLeave: _propTypes2['default'].func,
45334 onAppear: _propTypes2['default'].func,
45335 showProp: _propTypes2['default'].string
45336 };
45337 Animate.defaultProps = {
45338 animation: {},
45339 component: 'span',
45340 componentProps: {},
45341 transitionEnter: true,
45342 transitionLeave: true,
45343 transitionAppear: false,
45344 onEnd: noop,
45345 onEnter: noop,
45346 onLeave: noop,
45347 onAppear: noop
45348 };
45349
45350 var _initialiseProps = function _initialiseProps() {
45351 var _this5 = this;
45352
45353 this.performEnter = function (key) {
45354 // may already remove by exclusive
45355 if (_this5.childrenRefs[key]) {
45356 _this5.currentlyAnimatingKeys[key] = true;
45357 _this5.childrenRefs[key].componentWillEnter(_this5.handleDoneAdding.bind(_this5, key, 'enter'));
45358 }
45359 };
45360
45361 this.performAppear = function (key) {
45362 if (_this5.childrenRefs[key]) {
45363 _this5.currentlyAnimatingKeys[key] = true;
45364 _this5.childrenRefs[key].componentWillAppear(_this5.handleDoneAdding.bind(_this5, key, 'appear'));
45365 }
45366 };
45367
45368 this.handleDoneAdding = function (key, type) {
45369 var props = _this5.props;
45370 delete _this5.currentlyAnimatingKeys[key];
45371 // if update on exclusive mode, skip check
45372 if (props.exclusive && props !== _this5.nextProps) {
45373 return;
45374 }
45375 var currentChildren = (0, _ChildrenUtils.toArrayChildren)(getChildrenFromProps(props));
45376 if (!_this5.isValidChildByKey(currentChildren, key)) {
45377 // exclusive will not need this
45378 _this5.performLeave(key);
45379 } else {
45380 if (type === 'appear') {
45381 if (_util2['default'].allowAppearCallback(props)) {
45382 props.onAppear(key);
45383 props.onEnd(key, true);
45384 }
45385 } else {
45386 if (_util2['default'].allowEnterCallback(props)) {
45387 props.onEnter(key);
45388 props.onEnd(key, true);
45389 }
45390 }
45391 }
45392 };
45393
45394 this.performLeave = function (key) {
45395 // may already remove by exclusive
45396 if (_this5.childrenRefs[key]) {
45397 _this5.currentlyAnimatingKeys[key] = true;
45398 _this5.childrenRefs[key].componentWillLeave(_this5.handleDoneLeaving.bind(_this5, key));
45399 }
45400 };
45401
45402 this.handleDoneLeaving = function (key) {
45403 var props = _this5.props;
45404 delete _this5.currentlyAnimatingKeys[key];
45405 // if update on exclusive mode, skip check
45406 if (props.exclusive && props !== _this5.nextProps) {
45407 return;
45408 }
45409 var currentChildren = (0, _ChildrenUtils.toArrayChildren)(getChildrenFromProps(props));
45410 // in case state change is too fast
45411 if (_this5.isValidChildByKey(currentChildren, key)) {
45412 _this5.performEnter(key);
45413 } else {
45414 var end = function end() {
45415 if (_util2['default'].allowLeaveCallback(props)) {
45416 props.onLeave(key);
45417 props.onEnd(key, false);
45418 }
45419 };
45420 if (!(0, _ChildrenUtils.isSameChildren)(_this5.state.children, currentChildren, props.showProp)) {
45421 _this5.setState({
45422 children: currentChildren
45423 }, end);
45424 } else {
45425 end();
45426 }
45427 }
45428 };
45429 };
45430
45431 exports['default'] = Animate;
45432 module.exports = exports['default'];
45433
45434/***/ }),
45435/* 480 */
45436/***/ (function(module, exports, __webpack_require__) {
45437
45438 'use strict';
45439
45440 Object.defineProperty(exports, "__esModule", {
45441 value: true
45442 });
45443 exports.toArrayChildren = toArrayChildren;
45444 exports.findChildInChildrenByKey = findChildInChildrenByKey;
45445 exports.findShownChildInChildrenByKey = findShownChildInChildrenByKey;
45446 exports.findHiddenChildInChildrenByKey = findHiddenChildInChildrenByKey;
45447 exports.isSameChildren = isSameChildren;
45448 exports.mergeChildren = mergeChildren;
45449
45450 var _react = __webpack_require__(4);
45451
45452 var _react2 = _interopRequireDefault(_react);
45453
45454 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
45455
45456 function toArrayChildren(children) {
45457 var ret = [];
45458 _react2['default'].Children.forEach(children, function (child) {
45459 ret.push(child);
45460 });
45461 return ret;
45462 }
45463
45464 function findChildInChildrenByKey(children, key) {
45465 var ret = null;
45466 if (children) {
45467 children.forEach(function (child) {
45468 if (ret) {
45469 return;
45470 }
45471 if (child && child.key === key) {
45472 ret = child;
45473 }
45474 });
45475 }
45476 return ret;
45477 }
45478
45479 function findShownChildInChildrenByKey(children, key, showProp) {
45480 var ret = null;
45481 if (children) {
45482 children.forEach(function (child) {
45483 if (child && child.key === key && child.props[showProp]) {
45484 if (ret) {
45485 throw new Error('two child with same key for <rc-animate> children');
45486 }
45487 ret = child;
45488 }
45489 });
45490 }
45491 return ret;
45492 }
45493
45494 function findHiddenChildInChildrenByKey(children, key, showProp) {
45495 var found = 0;
45496 if (children) {
45497 children.forEach(function (child) {
45498 if (found) {
45499 return;
45500 }
45501 found = child && child.key === key && !child.props[showProp];
45502 });
45503 }
45504 return found;
45505 }
45506
45507 function isSameChildren(c1, c2, showProp) {
45508 var same = c1.length === c2.length;
45509 if (same) {
45510 c1.forEach(function (child, index) {
45511 var child2 = c2[index];
45512 if (child && child2) {
45513 if (child && !child2 || !child && child2) {
45514 same = false;
45515 } else if (child.key !== child2.key) {
45516 same = false;
45517 } else if (showProp && child.props[showProp] !== child2.props[showProp]) {
45518 same = false;
45519 }
45520 }
45521 });
45522 }
45523 return same;
45524 }
45525
45526 function mergeChildren(prev, next) {
45527 var ret = [];
45528
45529 // For each key of `next`, the list of keys to insert before that key in
45530 // the combined list
45531 var nextChildrenPending = {};
45532 var pendingChildren = [];
45533 prev.forEach(function (child) {
45534 if (child && findChildInChildrenByKey(next, child.key)) {
45535 if (pendingChildren.length) {
45536 nextChildrenPending[child.key] = pendingChildren;
45537 pendingChildren = [];
45538 }
45539 } else {
45540 pendingChildren.push(child);
45541 }
45542 });
45543
45544 next.forEach(function (child) {
45545 if (child && nextChildrenPending.hasOwnProperty(child.key)) {
45546 ret = ret.concat(nextChildrenPending[child.key]);
45547 }
45548 ret.push(child);
45549 });
45550
45551 ret = ret.concat(pendingChildren);
45552
45553 return ret;
45554 }
45555
45556/***/ }),
45557/* 481 */
45558/***/ (function(module, exports, __webpack_require__) {
45559
45560 'use strict';
45561
45562 Object.defineProperty(exports, "__esModule", {
45563 value: true
45564 });
45565
45566 var _typeof2 = __webpack_require__(74);
45567
45568 var _typeof3 = _interopRequireDefault(_typeof2);
45569
45570 var _classCallCheck2 = __webpack_require__(250);
45571
45572 var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
45573
45574 var _createClass2 = __webpack_require__(251);
45575
45576 var _createClass3 = _interopRequireDefault(_createClass2);
45577
45578 var _possibleConstructorReturn2 = __webpack_require__(316);
45579
45580 var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
45581
45582 var _inherits2 = __webpack_require__(317);
45583
45584 var _inherits3 = _interopRequireDefault(_inherits2);
45585
45586 var _react = __webpack_require__(4);
45587
45588 var _react2 = _interopRequireDefault(_react);
45589
45590 var _reactDom = __webpack_require__(12);
45591
45592 var _reactDom2 = _interopRequireDefault(_reactDom);
45593
45594 var _propTypes = __webpack_require__(5);
45595
45596 var _propTypes2 = _interopRequireDefault(_propTypes);
45597
45598 var _cssAnimation = __webpack_require__(482);
45599
45600 var _cssAnimation2 = _interopRequireDefault(_cssAnimation);
45601
45602 var _util = __webpack_require__(484);
45603
45604 var _util2 = _interopRequireDefault(_util);
45605
45606 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
45607
45608 var transitionMap = {
45609 enter: 'transitionEnter',
45610 appear: 'transitionAppear',
45611 leave: 'transitionLeave'
45612 };
45613
45614 var AnimateChild = function (_React$Component) {
45615 (0, _inherits3['default'])(AnimateChild, _React$Component);
45616
45617 function AnimateChild() {
45618 (0, _classCallCheck3['default'])(this, AnimateChild);
45619 return (0, _possibleConstructorReturn3['default'])(this, (AnimateChild.__proto__ || Object.getPrototypeOf(AnimateChild)).apply(this, arguments));
45620 }
45621
45622 (0, _createClass3['default'])(AnimateChild, [{
45623 key: 'componentWillUnmount',
45624 value: function componentWillUnmount() {
45625 this.stop();
45626 }
45627 }, {
45628 key: 'componentWillEnter',
45629 value: function componentWillEnter(done) {
45630 if (_util2['default'].isEnterSupported(this.props)) {
45631 this.transition('enter', done);
45632 } else {
45633 done();
45634 }
45635 }
45636 }, {
45637 key: 'componentWillAppear',
45638 value: function componentWillAppear(done) {
45639 if (_util2['default'].isAppearSupported(this.props)) {
45640 this.transition('appear', done);
45641 } else {
45642 done();
45643 }
45644 }
45645 }, {
45646 key: 'componentWillLeave',
45647 value: function componentWillLeave(done) {
45648 if (_util2['default'].isLeaveSupported(this.props)) {
45649 this.transition('leave', done);
45650 } else {
45651 // always sync, do not interupt with react component life cycle
45652 // update hidden -> animate hidden ->
45653 // didUpdate -> animate leave -> unmount (if animate is none)
45654 done();
45655 }
45656 }
45657 }, {
45658 key: 'transition',
45659 value: function transition(animationType, finishCallback) {
45660 var _this2 = this;
45661
45662 var node = _reactDom2['default'].findDOMNode(this);
45663 var props = this.props;
45664 var transitionName = props.transitionName;
45665 var nameIsObj = (typeof transitionName === 'undefined' ? 'undefined' : (0, _typeof3['default'])(transitionName)) === 'object';
45666 this.stop();
45667 var end = function end() {
45668 _this2.stopper = null;
45669 finishCallback();
45670 };
45671 if ((_cssAnimation.isCssAnimationSupported || !props.animation[animationType]) && transitionName && props[transitionMap[animationType]]) {
45672 var name = nameIsObj ? transitionName[animationType] : transitionName + '-' + animationType;
45673 var activeName = name + '-active';
45674 if (nameIsObj && transitionName[animationType + 'Active']) {
45675 activeName = transitionName[animationType + 'Active'];
45676 }
45677 this.stopper = (0, _cssAnimation2['default'])(node, {
45678 name: name,
45679 active: activeName
45680 }, end);
45681 } else {
45682 this.stopper = props.animation[animationType](node, end);
45683 }
45684 }
45685 }, {
45686 key: 'stop',
45687 value: function stop() {
45688 var stopper = this.stopper;
45689 if (stopper) {
45690 this.stopper = null;
45691 stopper.stop();
45692 }
45693 }
45694 }, {
45695 key: 'render',
45696 value: function render() {
45697 return this.props.children;
45698 }
45699 }]);
45700 return AnimateChild;
45701 }(_react2['default'].Component);
45702
45703 AnimateChild.propTypes = {
45704 children: _propTypes2['default'].any
45705 };
45706 exports['default'] = AnimateChild;
45707 module.exports = exports['default'];
45708
45709/***/ }),
45710/* 482 */
45711/***/ (function(module, exports, __webpack_require__) {
45712
45713 'use strict';
45714
45715 Object.defineProperty(exports, "__esModule", {
45716 value: true
45717 });
45718 exports.isCssAnimationSupported = undefined;
45719
45720 var _typeof2 = __webpack_require__(74);
45721
45722 var _typeof3 = _interopRequireDefault(_typeof2);
45723
45724 var _Event = __webpack_require__(483);
45725
45726 var _Event2 = _interopRequireDefault(_Event);
45727
45728 var _componentClasses = __webpack_require__(46);
45729
45730 var _componentClasses2 = _interopRequireDefault(_componentClasses);
45731
45732 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
45733
45734 var isCssAnimationSupported = _Event2['default'].endEvents.length !== 0;
45735 var capitalPrefixes = ['Webkit', 'Moz', 'O',
45736 // ms is special .... !
45737 'ms'];
45738 var prefixes = ['-webkit-', '-moz-', '-o-', 'ms-', ''];
45739
45740 function getStyleProperty(node, name) {
45741 // old ff need null, https://developer.mozilla.org/en-US/docs/Web/API/Window/getComputedStyle
45742 var style = window.getComputedStyle(node, null);
45743 var ret = '';
45744 for (var i = 0; i < prefixes.length; i++) {
45745 ret = style.getPropertyValue(prefixes[i] + name);
45746 if (ret) {
45747 break;
45748 }
45749 }
45750 return ret;
45751 }
45752
45753 function fixBrowserByTimeout(node) {
45754 if (isCssAnimationSupported) {
45755 var transitionDelay = parseFloat(getStyleProperty(node, 'transition-delay')) || 0;
45756 var transitionDuration = parseFloat(getStyleProperty(node, 'transition-duration')) || 0;
45757 var animationDelay = parseFloat(getStyleProperty(node, 'animation-delay')) || 0;
45758 var animationDuration = parseFloat(getStyleProperty(node, 'animation-duration')) || 0;
45759 var time = Math.max(transitionDuration + transitionDelay, animationDuration + animationDelay);
45760 // sometimes, browser bug
45761 node.rcEndAnimTimeout = setTimeout(function () {
45762 node.rcEndAnimTimeout = null;
45763 if (node.rcEndListener) {
45764 node.rcEndListener();
45765 }
45766 }, time * 1000 + 200);
45767 }
45768 }
45769
45770 function clearBrowserBugTimeout(node) {
45771 if (node.rcEndAnimTimeout) {
45772 clearTimeout(node.rcEndAnimTimeout);
45773 node.rcEndAnimTimeout = null;
45774 }
45775 }
45776
45777 var cssAnimation = function cssAnimation(node, transitionName, endCallback) {
45778 var nameIsObj = (typeof transitionName === 'undefined' ? 'undefined' : (0, _typeof3['default'])(transitionName)) === 'object';
45779 var className = nameIsObj ? transitionName.name : transitionName;
45780 var activeClassName = nameIsObj ? transitionName.active : transitionName + '-active';
45781 var end = endCallback;
45782 var start = void 0;
45783 var active = void 0;
45784 var nodeClasses = (0, _componentClasses2['default'])(node);
45785
45786 if (endCallback && Object.prototype.toString.call(endCallback) === '[object Object]') {
45787 end = endCallback.end;
45788 start = endCallback.start;
45789 active = endCallback.active;
45790 }
45791
45792 if (node.rcEndListener) {
45793 node.rcEndListener();
45794 }
45795
45796 node.rcEndListener = function (e) {
45797 if (e && e.target !== node) {
45798 return;
45799 }
45800
45801 if (node.rcAnimTimeout) {
45802 clearTimeout(node.rcAnimTimeout);
45803 node.rcAnimTimeout = null;
45804 }
45805
45806 clearBrowserBugTimeout(node);
45807
45808 nodeClasses.remove(className);
45809 nodeClasses.remove(activeClassName);
45810
45811 _Event2['default'].removeEndEventListener(node, node.rcEndListener);
45812 node.rcEndListener = null;
45813
45814 // Usually this optional end is used for informing an owner of
45815 // a leave animation and telling it to remove the child.
45816 if (end) {
45817 end();
45818 }
45819 };
45820
45821 _Event2['default'].addEndEventListener(node, node.rcEndListener);
45822
45823 if (start) {
45824 start();
45825 }
45826 nodeClasses.add(className);
45827
45828 node.rcAnimTimeout = setTimeout(function () {
45829 node.rcAnimTimeout = null;
45830 nodeClasses.add(activeClassName);
45831 if (active) {
45832 setTimeout(active, 0);
45833 }
45834 fixBrowserByTimeout(node);
45835 // 30ms for firefox
45836 }, 30);
45837
45838 return {
45839 stop: function stop() {
45840 if (node.rcEndListener) {
45841 node.rcEndListener();
45842 }
45843 }
45844 };
45845 };
45846
45847 cssAnimation.style = function (node, style, callback) {
45848 if (node.rcEndListener) {
45849 node.rcEndListener();
45850 }
45851
45852 node.rcEndListener = function (e) {
45853 if (e && e.target !== node) {
45854 return;
45855 }
45856
45857 if (node.rcAnimTimeout) {
45858 clearTimeout(node.rcAnimTimeout);
45859 node.rcAnimTimeout = null;
45860 }
45861
45862 clearBrowserBugTimeout(node);
45863
45864 _Event2['default'].removeEndEventListener(node, node.rcEndListener);
45865 node.rcEndListener = null;
45866
45867 // Usually this optional callback is used for informing an owner of
45868 // a leave animation and telling it to remove the child.
45869 if (callback) {
45870 callback();
45871 }
45872 };
45873
45874 _Event2['default'].addEndEventListener(node, node.rcEndListener);
45875
45876 node.rcAnimTimeout = setTimeout(function () {
45877 for (var s in style) {
45878 if (style.hasOwnProperty(s)) {
45879 node.style[s] = style[s];
45880 }
45881 }
45882 node.rcAnimTimeout = null;
45883 fixBrowserByTimeout(node);
45884 }, 0);
45885 };
45886
45887 cssAnimation.setTransition = function (node, p, value) {
45888 var property = p;
45889 var v = value;
45890 if (value === undefined) {
45891 v = property;
45892 property = '';
45893 }
45894 property = property || '';
45895 capitalPrefixes.forEach(function (prefix) {
45896 node.style[prefix + 'Transition' + property] = v;
45897 });
45898 };
45899
45900 cssAnimation.isCssAnimationSupported = isCssAnimationSupported;
45901
45902 exports.isCssAnimationSupported = isCssAnimationSupported;
45903 exports['default'] = cssAnimation;
45904
45905/***/ }),
45906/* 483 */
45907/***/ (function(module, exports) {
45908
45909 'use strict';
45910
45911 Object.defineProperty(exports, "__esModule", {
45912 value: true
45913 });
45914 var EVENT_NAME_MAP = {
45915 transitionend: {
45916 transition: 'transitionend',
45917 WebkitTransition: 'webkitTransitionEnd',
45918 MozTransition: 'mozTransitionEnd',
45919 OTransition: 'oTransitionEnd',
45920 msTransition: 'MSTransitionEnd'
45921 },
45922
45923 animationend: {
45924 animation: 'animationend',
45925 WebkitAnimation: 'webkitAnimationEnd',
45926 MozAnimation: 'mozAnimationEnd',
45927 OAnimation: 'oAnimationEnd',
45928 msAnimation: 'MSAnimationEnd'
45929 }
45930 };
45931
45932 var endEvents = [];
45933
45934 function detectEvents() {
45935 var testEl = document.createElement('div');
45936 var style = testEl.style;
45937
45938 if (!('AnimationEvent' in window)) {
45939 delete EVENT_NAME_MAP.animationend.animation;
45940 }
45941
45942 if (!('TransitionEvent' in window)) {
45943 delete EVENT_NAME_MAP.transitionend.transition;
45944 }
45945
45946 for (var baseEventName in EVENT_NAME_MAP) {
45947 if (EVENT_NAME_MAP.hasOwnProperty(baseEventName)) {
45948 var baseEvents = EVENT_NAME_MAP[baseEventName];
45949 for (var styleName in baseEvents) {
45950 if (styleName in style) {
45951 endEvents.push(baseEvents[styleName]);
45952 break;
45953 }
45954 }
45955 }
45956 }
45957 }
45958
45959 if (typeof window !== 'undefined' && typeof document !== 'undefined') {
45960 detectEvents();
45961 }
45962
45963 function addEventListener(node, eventName, eventListener) {
45964 node.addEventListener(eventName, eventListener, false);
45965 }
45966
45967 function removeEventListener(node, eventName, eventListener) {
45968 node.removeEventListener(eventName, eventListener, false);
45969 }
45970
45971 var TransitionEvents = {
45972 addEndEventListener: function addEndEventListener(node, eventListener) {
45973 if (endEvents.length === 0) {
45974 window.setTimeout(eventListener, 0);
45975 return;
45976 }
45977 endEvents.forEach(function (endEvent) {
45978 addEventListener(node, endEvent, eventListener);
45979 });
45980 },
45981
45982
45983 endEvents: endEvents,
45984
45985 removeEndEventListener: function removeEndEventListener(node, eventListener) {
45986 if (endEvents.length === 0) {
45987 return;
45988 }
45989 endEvents.forEach(function (endEvent) {
45990 removeEventListener(node, endEvent, eventListener);
45991 });
45992 }
45993 };
45994
45995 exports['default'] = TransitionEvents;
45996 module.exports = exports['default'];
45997
45998/***/ }),
45999/* 484 */
46000/***/ (function(module, exports) {
46001
46002 "use strict";
46003
46004 Object.defineProperty(exports, "__esModule", {
46005 value: true
46006 });
46007 var util = {
46008 isAppearSupported: function isAppearSupported(props) {
46009 return props.transitionName && props.transitionAppear || props.animation.appear;
46010 },
46011 isEnterSupported: function isEnterSupported(props) {
46012 return props.transitionName && props.transitionEnter || props.animation.enter;
46013 },
46014 isLeaveSupported: function isLeaveSupported(props) {
46015 return props.transitionName && props.transitionLeave || props.animation.leave;
46016 },
46017 allowAppearCallback: function allowAppearCallback(props) {
46018 return props.transitionAppear || props.animation.appear;
46019 },
46020 allowEnterCallback: function allowEnterCallback(props) {
46021 return props.transitionEnter || props.animation.enter;
46022 },
46023 allowLeaveCallback: function allowLeaveCallback(props) {
46024 return props.transitionLeave || props.animation.leave;
46025 }
46026 };
46027 exports["default"] = util;
46028 module.exports = exports['default'];
46029
46030/***/ }),
46031/* 485 */
46032/***/ (function(module, exports, __webpack_require__) {
46033
46034 'use strict';
46035
46036 Object.defineProperty(exports, "__esModule", {
46037 value: true
46038 });
46039
46040 var _classCallCheck2 = __webpack_require__(250);
46041
46042 var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
46043
46044 var _createClass2 = __webpack_require__(251);
46045
46046 var _createClass3 = _interopRequireDefault(_createClass2);
46047
46048 var _possibleConstructorReturn2 = __webpack_require__(316);
46049
46050 var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
46051
46052 var _inherits2 = __webpack_require__(317);
46053
46054 var _inherits3 = _interopRequireDefault(_inherits2);
46055
46056 var _react = __webpack_require__(4);
46057
46058 var _react2 = _interopRequireDefault(_react);
46059
46060 var _propTypes = __webpack_require__(5);
46061
46062 var _propTypes2 = _interopRequireDefault(_propTypes);
46063
46064 var _LazyRenderBox = __webpack_require__(486);
46065
46066 var _LazyRenderBox2 = _interopRequireDefault(_LazyRenderBox);
46067
46068 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
46069
46070 var PopupInner = function (_Component) {
46071 (0, _inherits3['default'])(PopupInner, _Component);
46072
46073 function PopupInner() {
46074 (0, _classCallCheck3['default'])(this, PopupInner);
46075 return (0, _possibleConstructorReturn3['default'])(this, (PopupInner.__proto__ || Object.getPrototypeOf(PopupInner)).apply(this, arguments));
46076 }
46077
46078 (0, _createClass3['default'])(PopupInner, [{
46079 key: 'render',
46080 value: function render() {
46081 var props = this.props;
46082 var className = props.className;
46083 if (!props.visible) {
46084 className += ' ' + props.hiddenClassName;
46085 }
46086 return _react2['default'].createElement(
46087 'div',
46088 {
46089 className: className,
46090 onMouseEnter: props.onMouseEnter,
46091 onMouseLeave: props.onMouseLeave,
46092 style: props.style
46093 },
46094 _react2['default'].createElement(
46095 _LazyRenderBox2['default'],
46096 { className: props.prefixCls + '-content', visible: props.visible },
46097 props.children
46098 )
46099 );
46100 }
46101 }]);
46102 return PopupInner;
46103 }(_react.Component);
46104
46105 PopupInner.propTypes = {
46106 hiddenClassName: _propTypes2['default'].string,
46107 className: _propTypes2['default'].string,
46108 prefixCls: _propTypes2['default'].string,
46109 onMouseEnter: _propTypes2['default'].func,
46110 onMouseLeave: _propTypes2['default'].func,
46111 children: _propTypes2['default'].any
46112 };
46113 exports['default'] = PopupInner;
46114 module.exports = exports['default'];
46115
46116/***/ }),
46117/* 486 */
46118/***/ (function(module, exports, __webpack_require__) {
46119
46120 'use strict';
46121
46122 Object.defineProperty(exports, "__esModule", {
46123 value: true
46124 });
46125
46126 var _objectWithoutProperties2 = __webpack_require__(73);
46127
46128 var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
46129
46130 var _classCallCheck2 = __webpack_require__(250);
46131
46132 var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
46133
46134 var _createClass2 = __webpack_require__(251);
46135
46136 var _createClass3 = _interopRequireDefault(_createClass2);
46137
46138 var _possibleConstructorReturn2 = __webpack_require__(316);
46139
46140 var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
46141
46142 var _inherits2 = __webpack_require__(317);
46143
46144 var _inherits3 = _interopRequireDefault(_inherits2);
46145
46146 var _react = __webpack_require__(4);
46147
46148 var _react2 = _interopRequireDefault(_react);
46149
46150 var _propTypes = __webpack_require__(5);
46151
46152 var _propTypes2 = _interopRequireDefault(_propTypes);
46153
46154 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
46155
46156 var LazyRenderBox = function (_Component) {
46157 (0, _inherits3['default'])(LazyRenderBox, _Component);
46158
46159 function LazyRenderBox() {
46160 (0, _classCallCheck3['default'])(this, LazyRenderBox);
46161 return (0, _possibleConstructorReturn3['default'])(this, (LazyRenderBox.__proto__ || Object.getPrototypeOf(LazyRenderBox)).apply(this, arguments));
46162 }
46163
46164 (0, _createClass3['default'])(LazyRenderBox, [{
46165 key: 'shouldComponentUpdate',
46166 value: function shouldComponentUpdate(nextProps) {
46167 return nextProps.hiddenClassName || nextProps.visible;
46168 }
46169 }, {
46170 key: 'render',
46171 value: function render() {
46172 var _props = this.props,
46173 hiddenClassName = _props.hiddenClassName,
46174 visible = _props.visible,
46175 props = (0, _objectWithoutProperties3['default'])(_props, ['hiddenClassName', 'visible']);
46176
46177
46178 if (hiddenClassName || _react2['default'].Children.count(props.children) > 1) {
46179 if (!visible && hiddenClassName) {
46180 props.className += ' ' + hiddenClassName;
46181 }
46182 return _react2['default'].createElement('div', props);
46183 }
46184
46185 return _react2['default'].Children.only(props.children);
46186 }
46187 }]);
46188 return LazyRenderBox;
46189 }(_react.Component);
46190
46191 LazyRenderBox.propTypes = {
46192 children: _propTypes2['default'].any,
46193 className: _propTypes2['default'].string,
46194 visible: _propTypes2['default'].bool,
46195 hiddenClassName: _propTypes2['default'].string
46196 };
46197 exports['default'] = LazyRenderBox;
46198 module.exports = exports['default'];
46199
46200/***/ }),
46201/* 487 */
46202/***/ (function(module, exports, __webpack_require__) {
46203
46204 'use strict';
46205
46206 Object.defineProperty(exports, "__esModule", {
46207 value: true
46208 });
46209
46210 var _extends2 = __webpack_require__(145);
46211
46212 var _extends3 = _interopRequireDefault(_extends2);
46213
46214 exports.getAlignFromPlacement = getAlignFromPlacement;
46215 exports.getPopupClassNameFromAlign = getPopupClassNameFromAlign;
46216 exports.saveRef = saveRef;
46217
46218 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
46219
46220 function isPointsEq(a1, a2) {
46221 return a1[0] === a2[0] && a1[1] === a2[1];
46222 }
46223
46224 function getAlignFromPlacement(builtinPlacements, placementStr, align) {
46225 var baseAlign = builtinPlacements[placementStr] || {};
46226 return (0, _extends3['default'])({}, baseAlign, align);
46227 }
46228
46229 function getPopupClassNameFromAlign(builtinPlacements, prefixCls, align) {
46230 var points = align.points;
46231 for (var placement in builtinPlacements) {
46232 if (builtinPlacements.hasOwnProperty(placement)) {
46233 if (isPointsEq(builtinPlacements[placement].points, points)) {
46234 return prefixCls + '-placement-' + placement;
46235 }
46236 }
46237 }
46238 return '';
46239 }
46240
46241 function saveRef(name, component) {
46242 this[name] = component;
46243 }
46244
46245/***/ }),
46246/* 488 */
46247/***/ (function(module, exports, __webpack_require__) {
46248
46249 'use strict';
46250
46251 Object.defineProperty(exports, "__esModule", {
46252 value: true
46253 });
46254
46255 var _extends2 = __webpack_require__(145);
46256
46257 var _extends3 = _interopRequireDefault(_extends2);
46258
46259 exports['default'] = getContainerRenderMixin;
46260
46261 var _reactDom = __webpack_require__(12);
46262
46263 var _reactDom2 = _interopRequireDefault(_reactDom);
46264
46265 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
46266
46267 function defaultGetContainer() {
46268 var container = document.createElement('div');
46269 document.body.appendChild(container);
46270 return container;
46271 }
46272
46273 function getContainerRenderMixin(config) {
46274 var _config$autoMount = config.autoMount,
46275 autoMount = _config$autoMount === undefined ? true : _config$autoMount,
46276 _config$autoDestroy = config.autoDestroy,
46277 autoDestroy = _config$autoDestroy === undefined ? true : _config$autoDestroy,
46278 isVisible = config.isVisible,
46279 isForceRender = config.isForceRender,
46280 getComponent = config.getComponent,
46281 _config$getContainer = config.getContainer,
46282 getContainer = _config$getContainer === undefined ? defaultGetContainer : _config$getContainer;
46283
46284
46285 var mixin = void 0;
46286
46287 function _renderComponent(instance, componentArg, ready) {
46288 if (!isVisible || instance._component || isVisible(instance) || isForceRender && isForceRender(instance)) {
46289 if (!instance._container) {
46290 instance._container = getContainer(instance);
46291 }
46292 var component = void 0;
46293 if (instance.getComponent) {
46294 component = instance.getComponent(componentArg);
46295 } else {
46296 component = getComponent(instance, componentArg);
46297 }
46298 _reactDom2['default'].unstable_renderSubtreeIntoContainer(instance, component, instance._container, function callback() {
46299 instance._component = this;
46300 if (ready) {
46301 ready.call(this);
46302 }
46303 });
46304 }
46305 }
46306
46307 if (autoMount) {
46308 mixin = (0, _extends3['default'])({}, mixin, {
46309 componentDidMount: function componentDidMount() {
46310 _renderComponent(this);
46311 },
46312 componentDidUpdate: function componentDidUpdate() {
46313 _renderComponent(this);
46314 }
46315 });
46316 }
46317
46318 if (!autoMount || !autoDestroy) {
46319 mixin = (0, _extends3['default'])({}, mixin, {
46320 renderComponent: function renderComponent(componentArg, ready) {
46321 _renderComponent(this, componentArg, ready);
46322 }
46323 });
46324 }
46325
46326 function _removeContainer(instance) {
46327 if (instance._container) {
46328 var container = instance._container;
46329 _reactDom2['default'].unmountComponentAtNode(container);
46330 container.parentNode.removeChild(container);
46331 instance._container = null;
46332 }
46333 }
46334
46335 if (autoDestroy) {
46336 mixin = (0, _extends3['default'])({}, mixin, {
46337 componentWillUnmount: function componentWillUnmount() {
46338 _removeContainer(this);
46339 }
46340 });
46341 } else {
46342 mixin = (0, _extends3['default'])({}, mixin, {
46343 removeContainer: function removeContainer() {
46344 _removeContainer(this);
46345 }
46346 });
46347 }
46348
46349 return mixin;
46350 }
46351 module.exports = exports['default'];
46352
46353/***/ }),
46354/* 489 */
46355/***/ (function(module, exports, __webpack_require__) {
46356
46357 'use strict';
46358
46359 Object.defineProperty(exports, "__esModule", {
46360 value: true
46361 });
46362
46363 var _defineProperty2 = __webpack_require__(141);
46364
46365 var _defineProperty3 = _interopRequireDefault(_defineProperty2);
46366
46367 var _classCallCheck2 = __webpack_require__(250);
46368
46369 var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
46370
46371 var _createClass2 = __webpack_require__(251);
46372
46373 var _createClass3 = _interopRequireDefault(_createClass2);
46374
46375 var _possibleConstructorReturn2 = __webpack_require__(316);
46376
46377 var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
46378
46379 var _inherits2 = __webpack_require__(317);
46380
46381 var _inherits3 = _interopRequireDefault(_inherits2);
46382
46383 var _react = __webpack_require__(4);
46384
46385 var _react2 = _interopRequireDefault(_react);
46386
46387 var _propTypes = __webpack_require__(5);
46388
46389 var _propTypes2 = _interopRequireDefault(_propTypes);
46390
46391 var _Header = __webpack_require__(490);
46392
46393 var _Header2 = _interopRequireDefault(_Header);
46394
46395 var _Combobox = __webpack_require__(491);
46396
46397 var _Combobox2 = _interopRequireDefault(_Combobox);
46398
46399 var _moment = __webpack_require__(327);
46400
46401 var _moment2 = _interopRequireDefault(_moment);
46402
46403 var _classnames = __webpack_require__(3);
46404
46405 var _classnames2 = _interopRequireDefault(_classnames);
46406
46407 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
46408
46409 function noop() {}
46410
46411 function generateOptions(length, disabledOptions, hideDisabledOptions) {
46412 var step = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;
46413
46414 var arr = [];
46415 for (var value = 0; value < length; value += step) {
46416 if (!disabledOptions || disabledOptions.indexOf(value) < 0 || !hideDisabledOptions) {
46417 arr.push(value);
46418 }
46419 }
46420 return arr;
46421 }
46422
46423 var Panel = function (_Component) {
46424 (0, _inherits3['default'])(Panel, _Component);
46425
46426 function Panel(props) {
46427 (0, _classCallCheck3['default'])(this, Panel);
46428
46429 var _this = (0, _possibleConstructorReturn3['default'])(this, (Panel.__proto__ || Object.getPrototypeOf(Panel)).call(this, props));
46430
46431 _this.onChange = function (newValue) {
46432 _this.setState({ value: newValue });
46433 _this.props.onChange(newValue);
46434 };
46435
46436 _this.onCurrentSelectPanelChange = function (currentSelectPanel) {
46437 _this.setState({ currentSelectPanel: currentSelectPanel });
46438 };
46439
46440 _this.disabledHours = function () {
46441 var _this$props = _this.props,
46442 use12Hours = _this$props.use12Hours,
46443 disabledHours = _this$props.disabledHours;
46444
46445 var disabledOptions = disabledHours();
46446 if (use12Hours && Array.isArray(disabledOptions)) {
46447 if (_this.isAM()) {
46448 disabledOptions = disabledOptions.filter(function (h) {
46449 return h < 12;
46450 }).map(function (h) {
46451 return h === 0 ? 12 : h;
46452 });
46453 } else {
46454 disabledOptions = disabledOptions.map(function (h) {
46455 return h === 12 ? 12 : h - 12;
46456 });
46457 }
46458 }
46459 return disabledOptions;
46460 };
46461
46462 _this.state = {
46463 value: props.value,
46464 selectionRange: []
46465 };
46466 return _this;
46467 }
46468
46469 (0, _createClass3['default'])(Panel, [{
46470 key: 'componentWillReceiveProps',
46471 value: function componentWillReceiveProps(nextProps) {
46472 var value = nextProps.value;
46473 if (value) {
46474 this.setState({
46475 value: value
46476 });
46477 }
46478 }
46479 }, {
46480 key: 'close',
46481
46482
46483 // https://github.com/ant-design/ant-design/issues/5829
46484 value: function close() {
46485 this.props.onEsc();
46486 }
46487 }, {
46488 key: 'isAM',
46489 value: function isAM() {
46490 var value = this.state.value || this.props.defaultOpenValue;
46491 return value.hour() >= 0 && value.hour() < 12;
46492 }
46493 }, {
46494 key: 'render',
46495 value: function render() {
46496 var _classNames;
46497
46498 var _props = this.props,
46499 prefixCls = _props.prefixCls,
46500 className = _props.className,
46501 placeholder = _props.placeholder,
46502 disabledMinutes = _props.disabledMinutes,
46503 disabledSeconds = _props.disabledSeconds,
46504 hideDisabledOptions = _props.hideDisabledOptions,
46505 allowEmpty = _props.allowEmpty,
46506 showHour = _props.showHour,
46507 showMinute = _props.showMinute,
46508 showSecond = _props.showSecond,
46509 format = _props.format,
46510 defaultOpenValue = _props.defaultOpenValue,
46511 clearText = _props.clearText,
46512 onEsc = _props.onEsc,
46513 addon = _props.addon,
46514 use12Hours = _props.use12Hours,
46515 onClear = _props.onClear,
46516 focusOnOpen = _props.focusOnOpen,
46517 onKeyDown = _props.onKeyDown,
46518 hourStep = _props.hourStep,
46519 minuteStep = _props.minuteStep,
46520 secondStep = _props.secondStep,
46521 inputReadOnly = _props.inputReadOnly,
46522 clearIcon = _props.clearIcon;
46523 var _state = this.state,
46524 value = _state.value,
46525 currentSelectPanel = _state.currentSelectPanel;
46526
46527 var disabledHourOptions = this.disabledHours();
46528 var disabledMinuteOptions = disabledMinutes(value ? value.hour() : null);
46529 var disabledSecondOptions = disabledSeconds(value ? value.hour() : null, value ? value.minute() : null);
46530 var hourOptions = generateOptions(24, disabledHourOptions, hideDisabledOptions, hourStep);
46531 var minuteOptions = generateOptions(60, disabledMinuteOptions, hideDisabledOptions, minuteStep);
46532 var secondOptions = generateOptions(60, disabledSecondOptions, hideDisabledOptions, secondStep);
46533
46534 return _react2['default'].createElement(
46535 'div',
46536 { className: (0, _classnames2['default'])((_classNames = {}, (0, _defineProperty3['default'])(_classNames, prefixCls + '-inner', true), (0, _defineProperty3['default'])(_classNames, className, !!className), _classNames)) },
46537 _react2['default'].createElement(_Header2['default'], {
46538 clearText: clearText,
46539 prefixCls: prefixCls,
46540 defaultOpenValue: defaultOpenValue,
46541 value: value,
46542 currentSelectPanel: currentSelectPanel,
46543 onEsc: onEsc,
46544 format: format,
46545 placeholder: placeholder,
46546 hourOptions: hourOptions,
46547 minuteOptions: minuteOptions,
46548 secondOptions: secondOptions,
46549 disabledHours: this.disabledHours,
46550 disabledMinutes: disabledMinutes,
46551 disabledSeconds: disabledSeconds,
46552 onChange: this.onChange,
46553 onClear: onClear,
46554 allowEmpty: allowEmpty,
46555 focusOnOpen: focusOnOpen,
46556 onKeyDown: onKeyDown,
46557 inputReadOnly: inputReadOnly,
46558 clearIcon: clearIcon
46559 }),
46560 _react2['default'].createElement(_Combobox2['default'], {
46561 prefixCls: prefixCls,
46562 value: value,
46563 defaultOpenValue: defaultOpenValue,
46564 format: format,
46565 onChange: this.onChange,
46566 showHour: showHour,
46567 showMinute: showMinute,
46568 showSecond: showSecond,
46569 hourOptions: hourOptions,
46570 minuteOptions: minuteOptions,
46571 secondOptions: secondOptions,
46572 disabledHours: this.disabledHours,
46573 disabledMinutes: disabledMinutes,
46574 disabledSeconds: disabledSeconds,
46575 onCurrentSelectPanelChange: this.onCurrentSelectPanelChange,
46576 use12Hours: use12Hours,
46577 isAM: this.isAM()
46578 }),
46579 addon(this)
46580 );
46581 }
46582 }]);
46583 return Panel;
46584 }(_react.Component);
46585
46586 Panel.propTypes = {
46587 clearText: _propTypes2['default'].string,
46588 prefixCls: _propTypes2['default'].string,
46589 className: _propTypes2['default'].string,
46590 defaultOpenValue: _propTypes2['default'].object,
46591 value: _propTypes2['default'].object,
46592 placeholder: _propTypes2['default'].string,
46593 format: _propTypes2['default'].string,
46594 inputReadOnly: _propTypes2['default'].bool,
46595 disabledHours: _propTypes2['default'].func,
46596 disabledMinutes: _propTypes2['default'].func,
46597 disabledSeconds: _propTypes2['default'].func,
46598 hideDisabledOptions: _propTypes2['default'].bool,
46599 onChange: _propTypes2['default'].func,
46600 onEsc: _propTypes2['default'].func,
46601 allowEmpty: _propTypes2['default'].bool,
46602 showHour: _propTypes2['default'].bool,
46603 showMinute: _propTypes2['default'].bool,
46604 showSecond: _propTypes2['default'].bool,
46605 onClear: _propTypes2['default'].func,
46606 use12Hours: _propTypes2['default'].bool,
46607 hourStep: _propTypes2['default'].number,
46608 minuteStep: _propTypes2['default'].number,
46609 secondStep: _propTypes2['default'].number,
46610 addon: _propTypes2['default'].func,
46611 focusOnOpen: _propTypes2['default'].bool,
46612 onKeyDown: _propTypes2['default'].func,
46613 clearIcon: _propTypes2['default'].node
46614 };
46615 Panel.defaultProps = {
46616 prefixCls: 'rc-time-picker-panel',
46617 onChange: noop,
46618 onClear: noop,
46619 disabledHours: noop,
46620 disabledMinutes: noop,
46621 disabledSeconds: noop,
46622 defaultOpenValue: (0, _moment2['default'])(),
46623 use12Hours: false,
46624 addon: noop,
46625 onKeyDown: noop,
46626 inputReadOnly: false
46627 };
46628 exports['default'] = Panel;
46629 module.exports = exports['default'];
46630
46631/***/ }),
46632/* 490 */
46633/***/ (function(module, exports, __webpack_require__) {
46634
46635 'use strict';
46636
46637 Object.defineProperty(exports, "__esModule", {
46638 value: true
46639 });
46640
46641 var _classCallCheck2 = __webpack_require__(250);
46642
46643 var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
46644
46645 var _createClass2 = __webpack_require__(251);
46646
46647 var _createClass3 = _interopRequireDefault(_createClass2);
46648
46649 var _possibleConstructorReturn2 = __webpack_require__(316);
46650
46651 var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
46652
46653 var _inherits2 = __webpack_require__(317);
46654
46655 var _inherits3 = _interopRequireDefault(_inherits2);
46656
46657 var _react = __webpack_require__(4);
46658
46659 var _react2 = _interopRequireDefault(_react);
46660
46661 var _propTypes = __webpack_require__(5);
46662
46663 var _propTypes2 = _interopRequireDefault(_propTypes);
46664
46665 var _moment = __webpack_require__(327);
46666
46667 var _moment2 = _interopRequireDefault(_moment);
46668
46669 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
46670
46671 var Header = function (_Component) {
46672 (0, _inherits3['default'])(Header, _Component);
46673
46674 function Header(props) {
46675 (0, _classCallCheck3['default'])(this, Header);
46676
46677 var _this = (0, _possibleConstructorReturn3['default'])(this, (Header.__proto__ || Object.getPrototypeOf(Header)).call(this, props));
46678
46679 _initialiseProps.call(_this);
46680
46681 var value = props.value,
46682 format = props.format;
46683
46684 _this.state = {
46685 str: value && value.format(format) || '',
46686 invalid: false
46687 };
46688 return _this;
46689 }
46690
46691 (0, _createClass3['default'])(Header, [{
46692 key: 'componentDidMount',
46693 value: function componentDidMount() {
46694 var _this2 = this;
46695
46696 if (this.props.focusOnOpen) {
46697 // Wait one frame for the panel to be positioned before focusing
46698 var requestAnimationFrame = window.requestAnimationFrame || window.setTimeout;
46699 requestAnimationFrame(function () {
46700 _this2.refs.input.focus();
46701 _this2.refs.input.select();
46702 });
46703 }
46704 }
46705 }, {
46706 key: 'componentWillReceiveProps',
46707 value: function componentWillReceiveProps(nextProps) {
46708 var value = nextProps.value,
46709 format = nextProps.format;
46710
46711 this.setState({
46712 str: value && value.format(format) || '',
46713 invalid: false
46714 });
46715 }
46716 }, {
46717 key: 'getClearButton',
46718 value: function getClearButton() {
46719 var _props = this.props,
46720 prefixCls = _props.prefixCls,
46721 allowEmpty = _props.allowEmpty,
46722 clearIcon = _props.clearIcon;
46723
46724 if (!allowEmpty) {
46725 return null;
46726 }
46727 return _react2['default'].createElement(
46728 'a',
46729 {
46730 role: 'button',
46731 className: prefixCls + '-clear-btn',
46732 title: this.props.clearText,
46733 onMouseDown: this.onClear
46734 },
46735 clearIcon || _react2['default'].createElement('i', { className: prefixCls + '-clear-btn-icon' })
46736 );
46737 }
46738 }, {
46739 key: 'getProtoValue',
46740 value: function getProtoValue() {
46741 return this.props.value || this.props.defaultOpenValue;
46742 }
46743 }, {
46744 key: 'getInput',
46745 value: function getInput() {
46746 var _props2 = this.props,
46747 prefixCls = _props2.prefixCls,
46748 placeholder = _props2.placeholder,
46749 inputReadOnly = _props2.inputReadOnly;
46750 var _state = this.state,
46751 invalid = _state.invalid,
46752 str = _state.str;
46753
46754 var invalidClass = invalid ? prefixCls + '-input-invalid' : '';
46755 return _react2['default'].createElement('input', {
46756 className: prefixCls + '-input ' + invalidClass,
46757 ref: 'input',
46758 onKeyDown: this.onKeyDown,
46759 value: str,
46760 placeholder: placeholder,
46761 onChange: this.onInputChange,
46762 readOnly: !!inputReadOnly
46763 });
46764 }
46765 }, {
46766 key: 'render',
46767 value: function render() {
46768 var prefixCls = this.props.prefixCls;
46769
46770 return _react2['default'].createElement(
46771 'div',
46772 { className: prefixCls + '-input-wrap' },
46773 this.getInput(),
46774 this.getClearButton()
46775 );
46776 }
46777 }]);
46778 return Header;
46779 }(_react.Component);
46780
46781 Header.propTypes = {
46782 format: _propTypes2['default'].string,
46783 prefixCls: _propTypes2['default'].string,
46784 disabledDate: _propTypes2['default'].func,
46785 placeholder: _propTypes2['default'].string,
46786 clearText: _propTypes2['default'].string,
46787 value: _propTypes2['default'].object,
46788 inputReadOnly: _propTypes2['default'].bool,
46789 hourOptions: _propTypes2['default'].array,
46790 minuteOptions: _propTypes2['default'].array,
46791 secondOptions: _propTypes2['default'].array,
46792 disabledHours: _propTypes2['default'].func,
46793 disabledMinutes: _propTypes2['default'].func,
46794 disabledSeconds: _propTypes2['default'].func,
46795 onChange: _propTypes2['default'].func,
46796 onClear: _propTypes2['default'].func,
46797 onEsc: _propTypes2['default'].func,
46798 allowEmpty: _propTypes2['default'].bool,
46799 defaultOpenValue: _propTypes2['default'].object,
46800 currentSelectPanel: _propTypes2['default'].string,
46801 focusOnOpen: _propTypes2['default'].bool,
46802 onKeyDown: _propTypes2['default'].func,
46803 clearIcon: _propTypes2['default'].node
46804 };
46805 Header.defaultProps = {
46806 inputReadOnly: false
46807 };
46808
46809 var _initialiseProps = function _initialiseProps() {
46810 var _this3 = this;
46811
46812 this.onInputChange = function (event) {
46813 var str = event.target.value;
46814 _this3.setState({
46815 str: str
46816 });
46817 var _props3 = _this3.props,
46818 format = _props3.format,
46819 hourOptions = _props3.hourOptions,
46820 minuteOptions = _props3.minuteOptions,
46821 secondOptions = _props3.secondOptions,
46822 disabledHours = _props3.disabledHours,
46823 disabledMinutes = _props3.disabledMinutes,
46824 disabledSeconds = _props3.disabledSeconds,
46825 onChange = _props3.onChange,
46826 allowEmpty = _props3.allowEmpty;
46827
46828
46829 if (str) {
46830 var originalValue = _this3.props.value;
46831 var value = _this3.getProtoValue().clone();
46832 var parsed = (0, _moment2['default'])(str, format, true);
46833 if (!parsed.isValid()) {
46834 _this3.setState({
46835 invalid: true
46836 });
46837 return;
46838 }
46839 value.hour(parsed.hour()).minute(parsed.minute()).second(parsed.second());
46840
46841 // if time value not allowed, response warning.
46842 if (hourOptions.indexOf(value.hour()) < 0 || minuteOptions.indexOf(value.minute()) < 0 || secondOptions.indexOf(value.second()) < 0) {
46843 _this3.setState({
46844 invalid: true
46845 });
46846 return;
46847 }
46848
46849 // if time value is disabled, response warning.
46850 var disabledHourOptions = disabledHours();
46851 var disabledMinuteOptions = disabledMinutes(value.hour());
46852 var disabledSecondOptions = disabledSeconds(value.hour(), value.minute());
46853 if (disabledHourOptions && disabledHourOptions.indexOf(value.hour()) >= 0 || disabledMinuteOptions && disabledMinuteOptions.indexOf(value.minute()) >= 0 || disabledSecondOptions && disabledSecondOptions.indexOf(value.second()) >= 0) {
46854 _this3.setState({
46855 invalid: true
46856 });
46857 return;
46858 }
46859
46860 if (originalValue) {
46861 if (originalValue.hour() !== value.hour() || originalValue.minute() !== value.minute() || originalValue.second() !== value.second()) {
46862 // keep other fields for rc-calendar
46863 var changedValue = originalValue.clone();
46864 changedValue.hour(value.hour());
46865 changedValue.minute(value.minute());
46866 changedValue.second(value.second());
46867 onChange(changedValue);
46868 }
46869 } else if (originalValue !== value) {
46870 onChange(value);
46871 }
46872 } else if (allowEmpty) {
46873 onChange(null);
46874 } else {
46875 _this3.setState({
46876 invalid: true
46877 });
46878 return;
46879 }
46880
46881 _this3.setState({
46882 invalid: false
46883 });
46884 };
46885
46886 this.onKeyDown = function (e) {
46887 var _props4 = _this3.props,
46888 onEsc = _props4.onEsc,
46889 onKeyDown = _props4.onKeyDown;
46890
46891 if (e.keyCode === 27) {
46892 onEsc();
46893 }
46894
46895 onKeyDown(e);
46896 };
46897
46898 this.onClear = function () {
46899 _this3.setState({ str: '' });
46900 _this3.props.onClear();
46901 };
46902 };
46903
46904 exports['default'] = Header;
46905 module.exports = exports['default'];
46906
46907/***/ }),
46908/* 491 */
46909/***/ (function(module, exports, __webpack_require__) {
46910
46911 'use strict';
46912
46913 Object.defineProperty(exports, "__esModule", {
46914 value: true
46915 });
46916
46917 var _classCallCheck2 = __webpack_require__(250);
46918
46919 var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
46920
46921 var _createClass2 = __webpack_require__(251);
46922
46923 var _createClass3 = _interopRequireDefault(_createClass2);
46924
46925 var _possibleConstructorReturn2 = __webpack_require__(316);
46926
46927 var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
46928
46929 var _inherits2 = __webpack_require__(317);
46930
46931 var _inherits3 = _interopRequireDefault(_inherits2);
46932
46933 var _react = __webpack_require__(4);
46934
46935 var _react2 = _interopRequireDefault(_react);
46936
46937 var _propTypes = __webpack_require__(5);
46938
46939 var _propTypes2 = _interopRequireDefault(_propTypes);
46940
46941 var _Select = __webpack_require__(492);
46942
46943 var _Select2 = _interopRequireDefault(_Select);
46944
46945 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
46946
46947 var formatOption = function formatOption(option, disabledOptions) {
46948 var value = '' + option;
46949 if (option < 10) {
46950 value = '0' + option;
46951 }
46952
46953 var disabled = false;
46954 if (disabledOptions && disabledOptions.indexOf(option) >= 0) {
46955 disabled = true;
46956 }
46957
46958 return {
46959 value: value,
46960 disabled: disabled
46961 };
46962 };
46963
46964 var Combobox = function (_Component) {
46965 (0, _inherits3['default'])(Combobox, _Component);
46966
46967 function Combobox() {
46968 var _ref;
46969
46970 var _temp, _this, _ret;
46971
46972 (0, _classCallCheck3['default'])(this, Combobox);
46973
46974 for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
46975 args[_key] = arguments[_key];
46976 }
46977
46978 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) {
46979 var _this$props = _this.props,
46980 onChange = _this$props.onChange,
46981 defaultOpenValue = _this$props.defaultOpenValue,
46982 use12Hours = _this$props.use12Hours;
46983
46984 var value = (_this.props.value || defaultOpenValue).clone();
46985
46986 if (type === 'hour') {
46987 if (use12Hours) {
46988 if (_this.props.isAM) {
46989 value.hour(+itemValue % 12);
46990 } else {
46991 value.hour(+itemValue % 12 + 12);
46992 }
46993 } else {
46994 value.hour(+itemValue);
46995 }
46996 } else if (type === 'minute') {
46997 value.minute(+itemValue);
46998 } else if (type === 'ampm') {
46999 var ampm = itemValue.toUpperCase();
47000 if (use12Hours) {
47001 if (ampm === 'PM' && value.hour() < 12) {
47002 value.hour(value.hour() % 12 + 12);
47003 }
47004
47005 if (ampm === 'AM') {
47006 if (value.hour() >= 12) {
47007 value.hour(value.hour() - 12);
47008 }
47009 }
47010 }
47011 } else {
47012 value.second(+itemValue);
47013 }
47014 onChange(value);
47015 }, _this.onEnterSelectPanel = function (range) {
47016 _this.props.onCurrentSelectPanelChange(range);
47017 }, _temp), (0, _possibleConstructorReturn3['default'])(_this, _ret);
47018 }
47019
47020 (0, _createClass3['default'])(Combobox, [{
47021 key: 'getHourSelect',
47022 value: function getHourSelect(hour) {
47023 var _props = this.props,
47024 prefixCls = _props.prefixCls,
47025 hourOptions = _props.hourOptions,
47026 disabledHours = _props.disabledHours,
47027 showHour = _props.showHour,
47028 use12Hours = _props.use12Hours;
47029
47030 if (!showHour) {
47031 return null;
47032 }
47033 var disabledOptions = disabledHours();
47034 var hourOptionsAdj = void 0;
47035 var hourAdj = void 0;
47036 if (use12Hours) {
47037 hourOptionsAdj = [12].concat(hourOptions.filter(function (h) {
47038 return h < 12 && h > 0;
47039 }));
47040 hourAdj = hour % 12 || 12;
47041 } else {
47042 hourOptionsAdj = hourOptions;
47043 hourAdj = hour;
47044 }
47045
47046 return _react2['default'].createElement(_Select2['default'], {
47047 prefixCls: prefixCls,
47048 options: hourOptionsAdj.map(function (option) {
47049 return formatOption(option, disabledOptions);
47050 }),
47051 selectedIndex: hourOptionsAdj.indexOf(hourAdj),
47052 type: 'hour',
47053 onSelect: this.onItemChange,
47054 onMouseEnter: this.onEnterSelectPanel.bind(this, 'hour')
47055 });
47056 }
47057 }, {
47058 key: 'getMinuteSelect',
47059 value: function getMinuteSelect(minute) {
47060 var _props2 = this.props,
47061 prefixCls = _props2.prefixCls,
47062 minuteOptions = _props2.minuteOptions,
47063 disabledMinutes = _props2.disabledMinutes,
47064 defaultOpenValue = _props2.defaultOpenValue,
47065 showMinute = _props2.showMinute;
47066
47067 if (!showMinute) {
47068 return null;
47069 }
47070 var value = this.props.value || defaultOpenValue;
47071 var disabledOptions = disabledMinutes(value.hour());
47072
47073 return _react2['default'].createElement(_Select2['default'], {
47074 prefixCls: prefixCls,
47075 options: minuteOptions.map(function (option) {
47076 return formatOption(option, disabledOptions);
47077 }),
47078 selectedIndex: minuteOptions.indexOf(minute),
47079 type: 'minute',
47080 onSelect: this.onItemChange,
47081 onMouseEnter: this.onEnterSelectPanel.bind(this, 'minute')
47082 });
47083 }
47084 }, {
47085 key: 'getSecondSelect',
47086 value: function getSecondSelect(second) {
47087 var _props3 = this.props,
47088 prefixCls = _props3.prefixCls,
47089 secondOptions = _props3.secondOptions,
47090 disabledSeconds = _props3.disabledSeconds,
47091 showSecond = _props3.showSecond,
47092 defaultOpenValue = _props3.defaultOpenValue;
47093
47094 if (!showSecond) {
47095 return null;
47096 }
47097 var value = this.props.value || defaultOpenValue;
47098 var disabledOptions = disabledSeconds(value.hour(), value.minute());
47099
47100 return _react2['default'].createElement(_Select2['default'], {
47101 prefixCls: prefixCls,
47102 options: secondOptions.map(function (option) {
47103 return formatOption(option, disabledOptions);
47104 }),
47105 selectedIndex: secondOptions.indexOf(second),
47106 type: 'second',
47107 onSelect: this.onItemChange,
47108 onMouseEnter: this.onEnterSelectPanel.bind(this, 'second')
47109 });
47110 }
47111 }, {
47112 key: 'getAMPMSelect',
47113 value: function getAMPMSelect() {
47114 var _props4 = this.props,
47115 prefixCls = _props4.prefixCls,
47116 use12Hours = _props4.use12Hours,
47117 format = _props4.format;
47118
47119 if (!use12Hours) {
47120 return null;
47121 }
47122
47123 var AMPMOptions = ['am', 'pm'] // If format has A char, then we should uppercase AM/PM
47124 .map(function (c) {
47125 return format.match(/\sA/) ? c.toUpperCase() : c;
47126 }).map(function (c) {
47127 return { value: c };
47128 });
47129
47130 var selected = this.props.isAM ? 0 : 1;
47131
47132 return _react2['default'].createElement(_Select2['default'], {
47133 prefixCls: prefixCls,
47134 options: AMPMOptions,
47135 selectedIndex: selected,
47136 type: 'ampm',
47137 onSelect: this.onItemChange,
47138 onMouseEnter: this.onEnterSelectPanel.bind(this, 'ampm')
47139 });
47140 }
47141 }, {
47142 key: 'render',
47143 value: function render() {
47144 var _props5 = this.props,
47145 prefixCls = _props5.prefixCls,
47146 defaultOpenValue = _props5.defaultOpenValue;
47147
47148 var value = this.props.value || defaultOpenValue;
47149 return _react2['default'].createElement(
47150 'div',
47151 { className: prefixCls + '-combobox' },
47152 this.getHourSelect(value.hour()),
47153 this.getMinuteSelect(value.minute()),
47154 this.getSecondSelect(value.second()),
47155 this.getAMPMSelect(value.hour())
47156 );
47157 }
47158 }]);
47159 return Combobox;
47160 }(_react.Component);
47161
47162 Combobox.propTypes = {
47163 format: _propTypes2['default'].string,
47164 defaultOpenValue: _propTypes2['default'].object,
47165 prefixCls: _propTypes2['default'].string,
47166 value: _propTypes2['default'].object,
47167 onChange: _propTypes2['default'].func,
47168 showHour: _propTypes2['default'].bool,
47169 showMinute: _propTypes2['default'].bool,
47170 showSecond: _propTypes2['default'].bool,
47171 hourOptions: _propTypes2['default'].array,
47172 minuteOptions: _propTypes2['default'].array,
47173 secondOptions: _propTypes2['default'].array,
47174 disabledHours: _propTypes2['default'].func,
47175 disabledMinutes: _propTypes2['default'].func,
47176 disabledSeconds: _propTypes2['default'].func,
47177 onCurrentSelectPanelChange: _propTypes2['default'].func,
47178 use12Hours: _propTypes2['default'].bool,
47179 isAM: _propTypes2['default'].bool
47180 };
47181 exports['default'] = Combobox;
47182 module.exports = exports['default'];
47183
47184/***/ }),
47185/* 492 */
47186/***/ (function(module, exports, __webpack_require__) {
47187
47188 'use strict';
47189
47190 Object.defineProperty(exports, "__esModule", {
47191 value: true
47192 });
47193
47194 var _defineProperty2 = __webpack_require__(141);
47195
47196 var _defineProperty3 = _interopRequireDefault(_defineProperty2);
47197
47198 var _classCallCheck2 = __webpack_require__(250);
47199
47200 var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
47201
47202 var _createClass2 = __webpack_require__(251);
47203
47204 var _createClass3 = _interopRequireDefault(_createClass2);
47205
47206 var _possibleConstructorReturn2 = __webpack_require__(316);
47207
47208 var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
47209
47210 var _inherits2 = __webpack_require__(317);
47211
47212 var _inherits3 = _interopRequireDefault(_inherits2);
47213
47214 var _react = __webpack_require__(4);
47215
47216 var _react2 = _interopRequireDefault(_react);
47217
47218 var _propTypes = __webpack_require__(5);
47219
47220 var _propTypes2 = _interopRequireDefault(_propTypes);
47221
47222 var _reactDom = __webpack_require__(12);
47223
47224 var _reactDom2 = _interopRequireDefault(_reactDom);
47225
47226 var _classnames3 = __webpack_require__(3);
47227
47228 var _classnames4 = _interopRequireDefault(_classnames3);
47229
47230 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
47231
47232 var scrollTo = function scrollTo(element, to, duration) {
47233 var requestAnimationFrame = window.requestAnimationFrame || function requestAnimationFrameTimeout() {
47234 return setTimeout(arguments[0], 10);
47235 };
47236 // jump to target if duration zero
47237 if (duration <= 0) {
47238 element.scrollTop = to;
47239 return;
47240 }
47241 var difference = to - element.scrollTop;
47242 var perTick = difference / duration * 10;
47243
47244 requestAnimationFrame(function () {
47245 element.scrollTop = element.scrollTop + perTick;
47246 if (element.scrollTop === to) return;
47247 scrollTo(element, to, duration - 10);
47248 });
47249 };
47250
47251 var Select = function (_Component) {
47252 (0, _inherits3['default'])(Select, _Component);
47253
47254 function Select() {
47255 var _ref;
47256
47257 var _temp, _this, _ret;
47258
47259 (0, _classCallCheck3['default'])(this, Select);
47260
47261 for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
47262 args[_key] = arguments[_key];
47263 }
47264
47265 return _ret = (_temp = (_this = (0, _possibleConstructorReturn3['default'])(this, (_ref = Select.__proto__ || Object.getPrototypeOf(Select)).call.apply(_ref, [this].concat(args))), _this), _this.state = {
47266 active: false
47267 }, _this.onSelect = function (value) {
47268 var _this$props = _this.props,
47269 onSelect = _this$props.onSelect,
47270 type = _this$props.type;
47271
47272 onSelect(type, value);
47273 }, _this.handleMouseEnter = function (e) {
47274 _this.setState({ active: true });
47275 _this.props.onMouseEnter(e);
47276 }, _this.handleMouseLeave = function () {
47277 _this.setState({ active: false });
47278 }, _this.saveList = function (node) {
47279 _this.list = node;
47280 }, _temp), (0, _possibleConstructorReturn3['default'])(_this, _ret);
47281 }
47282
47283 (0, _createClass3['default'])(Select, [{
47284 key: 'componentDidMount',
47285 value: function componentDidMount() {
47286 // jump to selected option
47287 this.scrollToSelected(0);
47288 }
47289 }, {
47290 key: 'componentDidUpdate',
47291 value: function componentDidUpdate(prevProps) {
47292 // smooth scroll to selected option
47293 if (prevProps.selectedIndex !== this.props.selectedIndex) {
47294 this.scrollToSelected(120);
47295 }
47296 }
47297 }, {
47298 key: 'getOptions',
47299 value: function getOptions() {
47300 var _this2 = this;
47301
47302 var _props = this.props,
47303 options = _props.options,
47304 selectedIndex = _props.selectedIndex,
47305 prefixCls = _props.prefixCls;
47306
47307 return options.map(function (item, index) {
47308 var _classnames;
47309
47310 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));
47311 var onclick = null;
47312 if (!item.disabled) {
47313 onclick = _this2.onSelect.bind(_this2, item.value);
47314 }
47315 return _react2['default'].createElement(
47316 'li',
47317 {
47318 className: cls,
47319 key: index,
47320 onClick: onclick,
47321 disabled: item.disabled
47322 },
47323 item.value
47324 );
47325 });
47326 }
47327 }, {
47328 key: 'scrollToSelected',
47329 value: function scrollToSelected(duration) {
47330 // move to selected item
47331 var select = _reactDom2['default'].findDOMNode(this);
47332 var list = _reactDom2['default'].findDOMNode(this.list);
47333 if (!list) {
47334 return;
47335 }
47336 var index = this.props.selectedIndex;
47337 if (index < 0) {
47338 index = 0;
47339 }
47340 var topOption = list.children[index];
47341 var to = topOption.offsetTop;
47342 scrollTo(select, to, duration);
47343 }
47344 }, {
47345 key: 'render',
47346 value: function render() {
47347 var _classnames2;
47348
47349 if (this.props.options.length === 0) {
47350 return null;
47351 }
47352
47353 var prefixCls = this.props.prefixCls;
47354
47355 var cls = (0, _classnames4['default'])((_classnames2 = {}, (0, _defineProperty3['default'])(_classnames2, prefixCls + '-select', 1), (0, _defineProperty3['default'])(_classnames2, prefixCls + '-select-active', this.state.active), _classnames2));
47356
47357 return _react2['default'].createElement(
47358 'div',
47359 {
47360 className: cls,
47361 onMouseEnter: this.handleMouseEnter,
47362 onMouseLeave: this.handleMouseLeave
47363 },
47364 _react2['default'].createElement(
47365 'ul',
47366 { ref: this.saveList },
47367 this.getOptions()
47368 )
47369 );
47370 }
47371 }]);
47372 return Select;
47373 }(_react.Component);
47374
47375 Select.propTypes = {
47376 prefixCls: _propTypes2['default'].string,
47377 options: _propTypes2['default'].array,
47378 selectedIndex: _propTypes2['default'].number,
47379 type: _propTypes2['default'].string,
47380 onSelect: _propTypes2['default'].func,
47381 onMouseEnter: _propTypes2['default'].func
47382 };
47383 exports['default'] = Select;
47384 module.exports = exports['default'];
47385
47386/***/ }),
47387/* 493 */
47388/***/ (function(module, exports, __webpack_require__) {
47389
47390 'use strict';
47391
47392 module.exports = __webpack_require__(494);
47393
47394/***/ }),
47395/* 494 */
47396/***/ (function(module, exports, __webpack_require__) {
47397
47398 'use strict';
47399
47400 Object.defineProperty(exports, "__esModule", {
47401 value: true
47402 });
47403
47404 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; };
47405
47406 var _classnames = __webpack_require__(3);
47407
47408 var _classnames2 = _interopRequireDefault(_classnames);
47409
47410 var _react = __webpack_require__(4);
47411
47412 var _react2 = _interopRequireDefault(_react);
47413
47414 var _beeInputGroupAddon = __webpack_require__(495);
47415
47416 var _beeInputGroupAddon2 = _interopRequireDefault(_beeInputGroupAddon);
47417
47418 var _InputGroupButton = __webpack_require__(497);
47419
47420 var _InputGroupButton2 = _interopRequireDefault(_InputGroupButton);
47421
47422 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
47423
47424 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; }
47425
47426 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; }
47427
47428 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
47429
47430 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; }
47431
47432 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); }
47433
47434 var defaultProps = {
47435 clsPrefix: 'u-input-group',
47436 simple: false
47437 };
47438
47439 var InputGroup = function (_React$Component) {
47440 _inherits(InputGroup, _React$Component);
47441
47442 function InputGroup() {
47443 _classCallCheck(this, InputGroup);
47444
47445 return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));
47446 }
47447
47448 InputGroup.prototype.render = function render() {
47449 var _props = this.props,
47450 className = _props.className,
47451 clsPrefix = _props.clsPrefix,
47452 simple = _props.simple,
47453 others = _objectWithoutProperties(_props, ['className', 'clsPrefix', 'simple']);
47454
47455 return _react2["default"].createElement('span', _extends({}, others, {
47456 className: (0, _classnames2["default"])(className, clsPrefix, simple && 'simple')
47457 }));
47458 };
47459
47460 return InputGroup;
47461 }(_react2["default"].Component);
47462
47463 /**
47464 * 将InputGroupAddon与InputGroupButton组件作为InputGroup的附属组件
47465 */
47466
47467
47468 InputGroup.Addon = _beeInputGroupAddon2["default"];
47469 InputGroup.Button = _InputGroupButton2["default"];
47470 InputGroup.defaultProps = defaultProps;
47471 exports["default"] = InputGroup;
47472 module.exports = exports['default'];
47473
47474/***/ }),
47475/* 495 */
47476/***/ (function(module, exports, __webpack_require__) {
47477
47478 'use strict';
47479
47480 Object.defineProperty(exports, "__esModule", {
47481 value: true
47482 });
47483
47484 var _InputGroupAddon = __webpack_require__(496);
47485
47486 var _InputGroupAddon2 = _interopRequireDefault(_InputGroupAddon);
47487
47488 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
47489
47490 exports["default"] = _InputGroupAddon2["default"];
47491 module.exports = exports['default'];
47492
47493/***/ }),
47494/* 496 */
47495/***/ (function(module, exports, __webpack_require__) {
47496
47497 'use strict';
47498
47499 Object.defineProperty(exports, "__esModule", {
47500 value: true
47501 });
47502
47503 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; };
47504
47505 var _classnames = __webpack_require__(3);
47506
47507 var _classnames2 = _interopRequireDefault(_classnames);
47508
47509 var _react = __webpack_require__(4);
47510
47511 var _react2 = _interopRequireDefault(_react);
47512
47513 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
47514
47515 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; }
47516
47517 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; }
47518
47519 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
47520
47521 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; }
47522
47523 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); }
47524
47525 var defaultProps = {
47526 clsPrefix: 'u-input-group-addon'
47527 };
47528
47529 var InputGroupAddon = function (_React$Component) {
47530 _inherits(InputGroupAddon, _React$Component);
47531
47532 function InputGroupAddon() {
47533 _classCallCheck(this, InputGroupAddon);
47534
47535 return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));
47536 }
47537
47538 InputGroupAddon.prototype.render = function render() {
47539 var _props = this.props;
47540 var className = _props.className;
47541 var clsPrefix = _props.clsPrefix;
47542
47543 var others = _objectWithoutProperties(_props, ['className', 'clsPrefix']);
47544
47545 return _react2["default"].createElement('span', _extends({}, others, {
47546 className: (0, _classnames2["default"])(className, clsPrefix)
47547 }));
47548 };
47549
47550 return InputGroupAddon;
47551 }(_react2["default"].Component);
47552
47553 InputGroupAddon.defaultProps = defaultProps;
47554 exports["default"] = InputGroupAddon;
47555 module.exports = exports['default'];
47556
47557/***/ }),
47558/* 497 */
47559/***/ (function(module, exports, __webpack_require__) {
47560
47561 'use strict';
47562
47563 Object.defineProperty(exports, "__esModule", {
47564 value: true
47565 });
47566
47567 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; };
47568
47569 var _classnames = __webpack_require__(3);
47570
47571 var _classnames2 = _interopRequireDefault(_classnames);
47572
47573 var _react = __webpack_require__(4);
47574
47575 var _react2 = _interopRequireDefault(_react);
47576
47577 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
47578
47579 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; }
47580
47581 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; }
47582
47583 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
47584
47585 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; }
47586
47587 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); }
47588
47589 var defaultProps = {
47590 clsPrefix: 'u-input-group-btn'
47591 };
47592
47593 var InputGroupButton = function (_React$Component) {
47594 _inherits(InputGroupButton, _React$Component);
47595
47596 function InputGroupButton() {
47597 _classCallCheck(this, InputGroupButton);
47598
47599 return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));
47600 }
47601
47602 InputGroupButton.prototype.render = function render() {
47603 var _props = this.props,
47604 className = _props.className,
47605 clsPrefix = _props.clsPrefix,
47606 others = _objectWithoutProperties(_props, ['className', 'clsPrefix']);
47607
47608 return _react2["default"].createElement('span', _extends({}, others, {
47609 className: (0, _classnames2["default"])(className, clsPrefix)
47610 }));
47611 };
47612
47613 return InputGroupButton;
47614 }(_react2["default"].Component);
47615
47616 InputGroupButton.defaultProps = defaultProps;
47617 exports["default"] = InputGroupButton;
47618 module.exports = exports['default'];
47619
47620/***/ }),
47621/* 498 */
47622/***/ (function(module, exports, __webpack_require__) {
47623
47624 "use strict";
47625
47626 Object.defineProperty(exports, "__esModule", {
47627 value: true
47628 });
47629
47630 var _MonthCalendar = __webpack_require__(499);
47631
47632 var _MonthCalendar2 = _interopRequireDefault(_MonthCalendar);
47633
47634 var _react = __webpack_require__(4);
47635
47636 var _react2 = _interopRequireDefault(_react);
47637
47638 var _Picker = __webpack_require__(469);
47639
47640 var _Picker2 = _interopRequireDefault(_Picker);
47641
47642 var _beeFormControl = __webpack_require__(257);
47643
47644 var _beeFormControl2 = _interopRequireDefault(_beeFormControl);
47645
47646 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
47647
47648 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; }
47649
47650 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
47651
47652 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; }
47653
47654 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); } /**
47655 * Created by chief on 17/4/6.
47656 */
47657
47658 var MonthPicker = function (_Component) {
47659 _inherits(MonthPicker, _Component);
47660
47661 function MonthPicker(props, context) {
47662 _classCallCheck(this, MonthPicker);
47663
47664 var _this = _possibleConstructorReturn(this, _Component.call(this, props, context));
47665
47666 _this.onChange = function (value) {
47667 _this.setState({
47668 value: value
47669 });
47670 };
47671
47672 _this.onOpenChange = function (open) {
47673 _this.setState({
47674 open: open
47675 });
47676 };
47677
47678 _this.onTypeChange = function (type) {
47679 _this.setState({
47680 type: type
47681 });
47682 };
47683
47684 _this.state = {
47685 type: "month",
47686 value: props.value || props.defaultValue,
47687 open: false
47688 };
47689 return _this;
47690 }
47691
47692 MonthPicker.prototype.render = function render() {
47693 var _this2 = this;
47694
47695 var state = this.state;
47696
47697 var props = this.props;
47698
47699 var monthCalendar = _react2["default"].createElement(_MonthCalendar2["default"], props);
47700
47701 return _react2["default"].createElement(
47702 "div",
47703 null,
47704 _react2["default"].createElement(
47705 _Picker2["default"],
47706 {
47707 onOpenChange: this.onOpenChange,
47708 animation: "slide-up",
47709 calendar: monthCalendar,
47710 open: this.state.open,
47711 value: state.value,
47712 onChange: this.onChange
47713 },
47714 function (_ref) {
47715 var value = _ref.value;
47716
47717 return _react2["default"].createElement(_beeFormControl2["default"], {
47718 placeholder: _this2.props.placeholder,
47719 className: _this2.props.className,
47720 value: value && value.format(props.format) || ""
47721 });
47722 }
47723 )
47724 );
47725 };
47726
47727 return MonthPicker;
47728 }(_react.Component);
47729
47730 exports["default"] = MonthPicker;
47731 module.exports = exports["default"];
47732
47733/***/ }),
47734/* 499 */
47735/***/ (function(module, exports, __webpack_require__) {
47736
47737 'use strict';
47738
47739 Object.defineProperty(exports, "__esModule", {
47740 value: true
47741 });
47742
47743 var _react = __webpack_require__(4);
47744
47745 var _react2 = _interopRequireDefault(_react);
47746
47747 var _createReactClass = __webpack_require__(160);
47748
47749 var _createReactClass2 = _interopRequireDefault(_createReactClass);
47750
47751 var _propTypes = __webpack_require__(5);
47752
47753 var _propTypes2 = _interopRequireDefault(_propTypes);
47754
47755 var _KeyCode = __webpack_require__(314);
47756
47757 var _KeyCode2 = _interopRequireDefault(_KeyCode);
47758
47759 var _MonthPanel = __webpack_require__(456);
47760
47761 var _MonthPanel2 = _interopRequireDefault(_MonthPanel);
47762
47763 var _CalendarMixin = __webpack_require__(465);
47764
47765 var _CalendarMixin2 = _interopRequireDefault(_CalendarMixin);
47766
47767 var _CommonMixin = __webpack_require__(466);
47768
47769 var _CommonMixin2 = _interopRequireDefault(_CommonMixin);
47770
47771 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
47772
47773 var MonthCalendar = (0, _createReactClass2['default'])({
47774 displayName: 'MonthCalendar',
47775
47776 propTypes: {
47777 monthCellRender: _propTypes2['default'].func,
47778 dateCellRender: _propTypes2['default'].func
47779 },
47780 mixins: [_CommonMixin2['default'], _CalendarMixin2['default']],
47781
47782 onKeyDown: function onKeyDown(event) {
47783 var keyCode = event.keyCode;
47784 var ctrlKey = event.ctrlKey || event.metaKey;
47785 var stateValue = this.state.value;
47786 var disabledDate = this.props.disabledDate;
47787
47788 var value = stateValue;
47789 switch (keyCode) {
47790 case _KeyCode2['default'].DOWN:
47791 value = stateValue.clone();
47792 value.add(3, 'months');
47793 break;
47794 case _KeyCode2['default'].UP:
47795 value = stateValue.clone();
47796 value.add(-3, 'months');
47797 break;
47798 case _KeyCode2['default'].LEFT:
47799 value = stateValue.clone();
47800 if (ctrlKey) {
47801 value.add(-1, 'years');
47802 } else {
47803 value.add(-1, 'months');
47804 }
47805 break;
47806 case _KeyCode2['default'].RIGHT:
47807 value = stateValue.clone();
47808 if (ctrlKey) {
47809 value.add(1, 'years');
47810 } else {
47811 value.add(1, 'months');
47812 }
47813 break;
47814 case _KeyCode2['default'].ENTER:
47815 if (!disabledDate || !disabledDate(stateValue)) {
47816 this.onSelect(stateValue);
47817 }
47818 event.preventDefault();
47819 return 1;
47820 default:
47821 return undefined;
47822 }
47823 if (value !== stateValue) {
47824 this.setValue(value);
47825 event.preventDefault();
47826 return 1;
47827 }
47828 },
47829 render: function render() {
47830 var props = this.props;
47831 var children = _react2['default'].createElement(_MonthPanel2['default'], {
47832 locale: props.locale,
47833 disabledDate: props.disabledDate,
47834 style: { position: 'relative' },
47835 value: this.state.value,
47836 cellRender: props.monthCellRender,
47837 contentRender: props.monthCellContentRender,
47838 rootPrefixCls: props.prefixCls,
47839 onChange: this.setValue,
47840 onSelect: this.onSelect
47841 });
47842 return this.renderRoot({
47843 children: children
47844 });
47845 }
47846 });
47847
47848 exports['default'] = MonthCalendar;
47849 module.exports = exports['default'];
47850
47851/***/ }),
47852/* 500 */
47853/***/ (function(module, exports, __webpack_require__) {
47854
47855 "use strict";
47856
47857 Object.defineProperty(exports, "__esModule", {
47858 value: true
47859 });
47860
47861 var _react = __webpack_require__(4);
47862
47863 var _react2 = _interopRequireDefault(_react);
47864
47865 var _RangeCalendar = __webpack_require__(501);
47866
47867 var _RangeCalendar2 = _interopRequireDefault(_RangeCalendar);
47868
47869 var _beeFormControl = __webpack_require__(257);
47870
47871 var _beeFormControl2 = _interopRequireDefault(_beeFormControl);
47872
47873 var _Picker = __webpack_require__(469);
47874
47875 var _Picker2 = _interopRequireDefault(_Picker);
47876
47877 var _zh_CN = __webpack_require__(510);
47878
47879 var _zh_CN2 = _interopRequireDefault(_zh_CN);
47880
47881 var _en_US = __webpack_require__(467);
47882
47883 var _en_US2 = _interopRequireDefault(_en_US);
47884
47885 var _moment = __webpack_require__(327);
47886
47887 var _moment2 = _interopRequireDefault(_moment);
47888
47889 __webpack_require__(450);
47890
47891 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
47892
47893 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; }
47894
47895 function _objectDestructuringEmpty(obj) { if (obj == null) throw new TypeError("Cannot destructure undefined"); }
47896
47897 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
47898
47899 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; }
47900
47901 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); } /**
47902 * Created by chief on 17/4/6.
47903 */
47904
47905
47906 var classNames = __webpack_require__(3);
47907
47908 function format(v, f) {
47909 return v ? v.format && v.format(f) : '';
47910 }
47911
47912 var fullFormat = "YYYY-MM-DD";
47913
47914 var cn = location.search.indexOf("cn") !== -1;
47915
47916 var now = (0, _moment2["default"])();
47917
47918 function isValidRange(v) {
47919 return v && v[0] && v[1];
47920 }
47921
47922 if (cn) {
47923 now.locale("zh-cn").utcOffset(8);
47924 } else {
47925 now.locale("en-gb").utcOffset(0);
47926 }
47927
47928 var Picker = function (_Component) {
47929 _inherits(Picker, _Component);
47930
47931 function Picker(props, context) {
47932 _classCallCheck(this, Picker);
47933
47934 var _this = _possibleConstructorReturn(this, _Component.call(this, props, context));
47935
47936 _initialiseProps.call(_this);
47937
47938 _this.state = {
47939 hoverValue: [],
47940 value: props.value || props.defaultValue || []
47941 };
47942 return _this;
47943 }
47944
47945 Picker.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
47946 if ("value" in nextProps) {
47947 this.setState({
47948 value: nextProps.value
47949 });
47950 }
47951 };
47952
47953 Picker.prototype.render = function render() {
47954 var _this2 = this;
47955
47956 var props = this.props;
47957 var showValue = props.showValue;
47958 var value = this.state.value;
47959
47960 var formatStr = props.format || 'YYYY-MM-DD';
47961
47962 var calendar = _react2["default"].createElement(_RangeCalendar2["default"], {
47963 hoverValue: this.state.hoverValue,
47964 onHoverChange: this.onHoverChange,
47965 showWeekNumber: false,
47966 format: formatStr,
47967 dateInputPlaceholder: props.dateInputPlaceholder || ['start', 'end'],
47968 locale: props.locale || _zh_CN2["default"],
47969 onChange: this.onChange,
47970 disabledDate: props.disabledDate,
47971 showClear: props.showClear || false,
47972 showOk: props.showOk || true
47973 });
47974
47975 return _react2["default"].createElement(
47976 _Picker2["default"],
47977 {
47978 value: this.state.value,
47979 animation: "slide-up",
47980 calendar: calendar
47981 },
47982 function (_ref) {
47983 _objectDestructuringEmpty(_ref);
47984
47985 return _react2["default"].createElement(
47986 "div",
47987 { className: classNames('calendar-picker', 'u-input-group', 'simple', props.className) },
47988 _react2["default"].createElement(_beeFormControl2["default"], {
47989 placeholder: _this2.props.placeholder ? _this2.props.placeholder : 'start ~ end',
47990 value: isValidRange(value) && format(value[0], formatStr) + " ~ " + format(value[1], formatStr) || ''
47991 })
47992 );
47993 }
47994 );
47995 };
47996
47997 return Picker;
47998 }(_react.Component);
47999
48000 var _initialiseProps = function _initialiseProps() {
48001 var _this3 = this;
48002
48003 this.onChange = function (value) {
48004 //console.log('onChange', value);
48005 var props = _this3.props;
48006 var formatStr = props.format || 'YYYY-MM-DD';
48007 _this3.setState({
48008 value: value
48009 });
48010 //传入value和dateString
48011 if (props.onChange && isValidRange(value)) {
48012 props.onChange(value, "[\"" + format(value[0], formatStr) + "\" , \"" + format(value[1], formatStr) + "\"]");
48013 }
48014 };
48015
48016 this.onHoverChange = function (hoverValue) {
48017 _this3.setState({ hoverValue: hoverValue });
48018 };
48019
48020 this.remove = function (e) {
48021 console.log(e);
48022 _this3.setState({ value: '' });
48023 };
48024
48025 this.handleCalendarChange = function (value) {};
48026 };
48027
48028 exports["default"] = Picker;
48029 module.exports = exports["default"];
48030
48031/***/ }),
48032/* 501 */
48033/***/ (function(module, exports, __webpack_require__) {
48034
48035 'use strict';
48036
48037 Object.defineProperty(exports, "__esModule", {
48038 value: true
48039 });
48040
48041 var _extends2 = __webpack_require__(145);
48042
48043 var _extends3 = _interopRequireDefault(_extends2);
48044
48045 var _defineProperty2 = __webpack_require__(141);
48046
48047 var _defineProperty3 = _interopRequireDefault(_defineProperty2);
48048
48049 var _toConsumableArray2 = __webpack_require__(150);
48050
48051 var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);
48052
48053 var _slicedToArray2 = __webpack_require__(502);
48054
48055 var _slicedToArray3 = _interopRequireDefault(_slicedToArray2);
48056
48057 var _react = __webpack_require__(4);
48058
48059 var _react2 = _interopRequireDefault(_react);
48060
48061 var _createReactClass = __webpack_require__(160);
48062
48063 var _createReactClass2 = _interopRequireDefault(_createReactClass);
48064
48065 var _propTypes = __webpack_require__(5);
48066
48067 var _propTypes2 = _interopRequireDefault(_propTypes);
48068
48069 var _moment = __webpack_require__(327);
48070
48071 var _moment2 = _interopRequireDefault(_moment);
48072
48073 var _classnames2 = __webpack_require__(3);
48074
48075 var _classnames3 = _interopRequireDefault(_classnames2);
48076
48077 var _CalendarPart = __webpack_require__(509);
48078
48079 var _CalendarPart2 = _interopRequireDefault(_CalendarPart);
48080
48081 var _TodayButton = __webpack_require__(462);
48082
48083 var _TodayButton2 = _interopRequireDefault(_TodayButton);
48084
48085 var _OkButton = __webpack_require__(463);
48086
48087 var _OkButton2 = _interopRequireDefault(_OkButton);
48088
48089 var _TimePickerButton = __webpack_require__(464);
48090
48091 var _TimePickerButton2 = _interopRequireDefault(_TimePickerButton);
48092
48093 var _CommonMixin = __webpack_require__(466);
48094
48095 var _CommonMixin2 = _interopRequireDefault(_CommonMixin);
48096
48097 var _util = __webpack_require__(454);
48098
48099 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
48100
48101 function noop() {}
48102
48103 function isEmptyArray(arr) {
48104 return Array.isArray(arr) && (arr.length === 0 || arr.every(function (i) {
48105 return !i;
48106 }));
48107 }
48108
48109 function getValueFromSelectedValue(selectedValue) {
48110 var _selectedValue = (0, _slicedToArray3['default'])(selectedValue, 2),
48111 start = _selectedValue[0],
48112 end = _selectedValue[1];
48113
48114 var newEnd = end && end.isSame(start, 'month') ? end.clone().add(1, 'month') : end;
48115 return [start, newEnd];
48116 }
48117
48118 function normalizeAnchor(props, init) {
48119 var selectedValue = props.selectedValue || init && props.defaultSelectedValue;
48120 var value = props.value || init && props.defaultValue;
48121 var normalizedValue = value ? getValueFromSelectedValue(value) : getValueFromSelectedValue(selectedValue);
48122 return !isEmptyArray(normalizedValue) ? normalizedValue : init && [(0, _moment2['default'])(), (0, _moment2['default'])().add(1, 'months')];
48123 }
48124
48125 function generateOptions(length) {
48126 var arr = [];
48127 for (var value = 0; value < length; value++) {
48128 arr.push(value);
48129 }
48130 return arr;
48131 }
48132
48133 function onInputSelect(direction, value) {
48134 if (!value) {
48135 return;
48136 }
48137 var originalValue = this.state.selectedValue;
48138 var selectedValue = originalValue.concat();
48139 var index = direction === 'left' ? 0 : 1;
48140 selectedValue[index] = value;
48141 if (selectedValue[0] && this.compare(selectedValue[0], selectedValue[1]) > 0) {
48142 selectedValue[1 - index] = this.state.showTimePicker ? selectedValue[index] : undefined;
48143 }
48144 this.fireSelectValueChange(selectedValue);
48145 }
48146
48147 var RangeCalendar = (0, _createReactClass2['default'])({
48148 displayName: 'RangeCalendar',
48149
48150 propTypes: {
48151 prefixCls: _propTypes2['default'].string,
48152 dateInputPlaceholder: _propTypes2['default'].any,
48153 defaultValue: _propTypes2['default'].any,
48154 value: _propTypes2['default'].any,
48155 hoverValue: _propTypes2['default'].any,
48156 timePicker: _propTypes2['default'].any,
48157 showOk: _propTypes2['default'].bool,
48158 showToday: _propTypes2['default'].bool,
48159 defaultSelectedValue: _propTypes2['default'].array,
48160 selectedValue: _propTypes2['default'].array,
48161 onOk: _propTypes2['default'].func,
48162 showClear: _propTypes2['default'].bool,
48163 locale: _propTypes2['default'].object,
48164 onChange: _propTypes2['default'].func,
48165 onSelect: _propTypes2['default'].func,
48166 onValueChange: _propTypes2['default'].func,
48167 onHoverChange: _propTypes2['default'].func,
48168 format: _propTypes2['default'].oneOfType([_propTypes2['default'].object, _propTypes2['default'].string]),
48169 onClear: _propTypes2['default'].func,
48170 type: _propTypes2['default'].any,
48171 disabledDate: _propTypes2['default'].func,
48172 disabledTime: _propTypes2['default'].func
48173 },
48174
48175 mixins: [_CommonMixin2['default']],
48176
48177 getDefaultProps: function getDefaultProps() {
48178 return {
48179 type: 'both',
48180 defaultSelectedValue: [],
48181 onValueChange: noop,
48182 onHoverChange: noop,
48183 disabledTime: noop,
48184 showToday: true
48185 };
48186 },
48187 getInitialState: function getInitialState() {
48188 var props = this.props;
48189 var selectedValue = props.selectedValue || props.defaultSelectedValue;
48190 var value = normalizeAnchor(props, 1);
48191 return {
48192 selectedValue: selectedValue,
48193 prevSelectedValue: selectedValue,
48194 firstSelectedValue: null,
48195 hoverValue: props.hoverValue || [],
48196 value: value,
48197 showTimePicker: false,
48198 isStartMonthYearPanelShow: false,
48199 isEndMonthYearPanelShow: false
48200 };
48201 },
48202 componentWillReceiveProps: function componentWillReceiveProps(nextProps) {
48203 var newState = {};
48204 if ('value' in nextProps) {
48205 if (nextProps.value) {
48206 newState.value = nextProps.value;
48207 } else {
48208 newState.value = normalizeAnchor(nextProps, 0);
48209 }
48210 this.setState(newState);
48211 }
48212 if ('hoverValue' in nextProps) {
48213 this.setState({ hoverValue: nextProps.hoverValue });
48214 }
48215 if ('selectedValue' in nextProps) {
48216 newState.selectedValue = nextProps.selectedValue;
48217 newState.prevSelectedValue = nextProps.selectedValue;
48218 this.setState(newState);
48219 }
48220 },
48221 onDatePanelEnter: function onDatePanelEnter() {
48222 if (this.hasSelectedValue()) {
48223 this.fireHoverValueChange(this.state.selectedValue.concat());
48224 }
48225 },
48226 onDatePanelLeave: function onDatePanelLeave() {
48227 if (this.hasSelectedValue()) {
48228 this.fireHoverValueChange([]);
48229 }
48230 },
48231 onSelect: function onSelect(value) {
48232 var type = this.props.type;
48233 var _state = this.state,
48234 selectedValue = _state.selectedValue,
48235 prevSelectedValue = _state.prevSelectedValue,
48236 firstSelectedValue = _state.firstSelectedValue;
48237
48238 var nextSelectedValue = void 0;
48239 if (type === 'both') {
48240 if (!firstSelectedValue) {
48241 (0, _util.syncTime)(prevSelectedValue[0], value);
48242 nextSelectedValue = [value];
48243 } else if (this.compare(firstSelectedValue, value) < 0) {
48244 (0, _util.syncTime)(prevSelectedValue[1], value);
48245 nextSelectedValue = [firstSelectedValue, value];
48246 } else {
48247 (0, _util.syncTime)(prevSelectedValue[0], value);
48248 (0, _util.syncTime)(prevSelectedValue[1], firstSelectedValue);
48249 nextSelectedValue = [value, firstSelectedValue];
48250 }
48251 } else if (type === 'start') {
48252 (0, _util.syncTime)(prevSelectedValue[0], value);
48253 var endValue = selectedValue[1];
48254 nextSelectedValue = endValue && this.compare(endValue, value) > 0 ? [value, endValue] : [value];
48255 } else {
48256 // type === 'end'
48257 var startValue = selectedValue[0];
48258 if (startValue && this.compare(startValue, value) <= 0) {
48259 (0, _util.syncTime)(prevSelectedValue[1], value);
48260 nextSelectedValue = [startValue, value];
48261 } else {
48262 (0, _util.syncTime)(prevSelectedValue[0], value);
48263 nextSelectedValue = [value];
48264 }
48265 }
48266
48267 this.fireSelectValueChange(nextSelectedValue);
48268 },
48269 onDayHover: function onDayHover(value) {
48270 var hoverValue = [];
48271 var _state2 = this.state,
48272 selectedValue = _state2.selectedValue,
48273 firstSelectedValue = _state2.firstSelectedValue;
48274 var type = this.props.type;
48275
48276 if (type === 'start' && selectedValue[1]) {
48277 hoverValue = this.compare(value, selectedValue[1]) < 0 ? [value, selectedValue[1]] : [value];
48278 } else if (type === 'end' && selectedValue[0]) {
48279 hoverValue = this.compare(value, selectedValue[0]) > 0 ? [selectedValue[0], value] : [];
48280 } else {
48281 if (!firstSelectedValue) {
48282 return;
48283 }
48284 hoverValue = this.compare(value, firstSelectedValue) < 0 ? [value, firstSelectedValue] : [firstSelectedValue, value];
48285 }
48286 this.fireHoverValueChange(hoverValue);
48287 },
48288 onToday: function onToday() {
48289 var startValue = (0, _util.getTodayTime)(this.state.value[0]);
48290 var endValue = startValue.clone().add(1, 'months');
48291 this.setState({ value: [startValue, endValue] });
48292 },
48293 onOpenTimePicker: function onOpenTimePicker() {
48294 this.setState({
48295 showTimePicker: true
48296 });
48297 },
48298 onCloseTimePicker: function onCloseTimePicker() {
48299 this.setState({
48300 showTimePicker: false
48301 });
48302 },
48303 onOk: function onOk() {
48304 var selectedValue = this.state.selectedValue;
48305
48306 if (this.isAllowedDateAndTime(selectedValue)) {
48307 this.props.onOk(this.state.selectedValue);
48308 }
48309 },
48310 onStartInputSelect: function onStartInputSelect() {
48311 for (var _len = arguments.length, oargs = Array(_len), _key = 0; _key < _len; _key++) {
48312 oargs[_key] = arguments[_key];
48313 }
48314
48315 var args = ['left'].concat(oargs);
48316 return onInputSelect.apply(this, args);
48317 },
48318 onEndInputSelect: function onEndInputSelect() {
48319 for (var _len2 = arguments.length, oargs = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
48320 oargs[_key2] = arguments[_key2];
48321 }
48322
48323 var args = ['right'].concat(oargs);
48324 return onInputSelect.apply(this, args);
48325 },
48326 onStartValueChange: function onStartValueChange(leftValue) {
48327 var value = [].concat((0, _toConsumableArray3['default'])(this.state.value));
48328 value[0] = leftValue;
48329 return this.fireValueChange(value);
48330 },
48331 onEndValueChange: function onEndValueChange(rightValue) {
48332 var value = [].concat((0, _toConsumableArray3['default'])(this.state.value));
48333 value[1] = rightValue;
48334 return this.fireValueChange(value);
48335 },
48336 onStartPanelChange: function onStartPanelChange(_ref) {
48337 var showMonthPanel = _ref.showMonthPanel,
48338 showYearPanel = _ref.showYearPanel;
48339
48340 this.setState({ isStartMonthYearPanelShow: showMonthPanel || showYearPanel });
48341 },
48342 onEndPanelChange: function onEndPanelChange(_ref2) {
48343 var showMonthPanel = _ref2.showMonthPanel,
48344 showYearPanel = _ref2.showYearPanel;
48345
48346 this.setState({ isEndMonthYearPanelShow: showMonthPanel || showYearPanel });
48347 },
48348 getStartValue: function getStartValue() {
48349 var value = this.state.value[0];
48350 var selectedValue = this.state.selectedValue;
48351 // keep selectedTime when select date
48352 if (selectedValue[0] && this.props.timePicker) {
48353 value = value.clone();
48354 (0, _util.syncTime)(selectedValue[0], value);
48355 }
48356 if (this.state.showTimePicker && selectedValue[0]) {
48357 return selectedValue[0];
48358 }
48359 return value;
48360 },
48361 getEndValue: function getEndValue() {
48362 var _state3 = this.state,
48363 value = _state3.value,
48364 selectedValue = _state3.selectedValue,
48365 showTimePicker = _state3.showTimePicker;
48366
48367 var endValue = value[1] ? value[1].clone() : value[0].clone().add(1, 'month');
48368 // keep selectedTime when select date
48369 if (selectedValue[1] && this.props.timePicker) {
48370 (0, _util.syncTime)(selectedValue[1], endValue);
48371 }
48372 if (showTimePicker) {
48373 return selectedValue[1] ? selectedValue[1] : this.getStartValue();
48374 }
48375 return endValue;
48376 },
48377
48378 // get disabled hours for second picker
48379 getEndDisableTime: function getEndDisableTime() {
48380 var _state4 = this.state,
48381 selectedValue = _state4.selectedValue,
48382 value = _state4.value;
48383
48384 var startValue = selectedValue && selectedValue[0] || value[0].clone();
48385 // if startTime and endTime is same day..
48386 // the second time picker will not able to pick time before first time picker
48387 if (!selectedValue[1] || startValue.isSame(selectedValue[1], 'day')) {
48388 var hours = startValue.hour();
48389 var minutes = startValue.minute();
48390 var second = startValue.second();
48391 var _disabledHours = generateOptions(hours);
48392 var _disabledMinutes = generateOptions(minutes);
48393 var _disabledSeconds = generateOptions(second);
48394 return {
48395 disabledHours: function disabledHours() {
48396 return _disabledHours;
48397 },
48398 disabledMinutes: function disabledMinutes(hour) {
48399 if (hour === hours) {
48400 return _disabledMinutes;
48401 }
48402 return [];
48403 },
48404 disabledSeconds: function disabledSeconds(hour, minute) {
48405 if (hour === hours && minute === minutes) {
48406 return _disabledSeconds;
48407 }
48408 return [];
48409 }
48410 };
48411 }
48412 return null;
48413 },
48414 isAllowedDateAndTime: function isAllowedDateAndTime(selectedValue) {
48415 return (0, _util.isAllowedDate)(selectedValue[0], this.props.disabledDate, this.disabledStartTime) && (0, _util.isAllowedDate)(selectedValue[1], this.props.disabledDate, this.disabledEndTime);
48416 },
48417 hasSelectedValue: function hasSelectedValue() {
48418 var selectedValue = this.state.selectedValue;
48419
48420 return !!selectedValue[1] && !!selectedValue[0];
48421 },
48422 compare: function compare(v1, v2) {
48423 if (this.props.timePicker) {
48424 return v1.diff(v2);
48425 }
48426 return v1.diff(v2, 'days');
48427 },
48428 fireSelectValueChange: function fireSelectValueChange(selectedValue, direct) {
48429 var timePicker = this.props.timePicker;
48430 var prevSelectedValue = this.state.prevSelectedValue;
48431
48432 if (timePicker && timePicker.props.defaultValue) {
48433 var timePickerDefaultValue = timePicker.props.defaultValue;
48434 if (!prevSelectedValue[0] && selectedValue[0]) {
48435 (0, _util.syncTime)(timePickerDefaultValue[0], selectedValue[0]);
48436 }
48437 if (!prevSelectedValue[1] && selectedValue[1]) {
48438 (0, _util.syncTime)(timePickerDefaultValue[1], selectedValue[1]);
48439 }
48440 }
48441
48442 if (!('selectedValue' in this.props)) {
48443 this.setState({
48444 selectedValue: selectedValue
48445 });
48446 }
48447
48448 // 尚未选择过时间,直接输入的话
48449 if (!this.state.selectedValue[0] || !this.state.selectedValue[1]) {
48450 var startValue = selectedValue[0] || (0, _moment2['default'])();
48451 var endValue = selectedValue[1] || startValue.clone().add(1, 'months');
48452 this.setState({
48453 selectedValue: selectedValue,
48454 value: getValueFromSelectedValue([startValue, endValue])
48455 });
48456 }
48457
48458 if (selectedValue[0] && !selectedValue[1]) {
48459 this.setState({ firstSelectedValue: selectedValue[0] });
48460 this.fireHoverValueChange(selectedValue.concat());
48461 }
48462 this.props.onChange(selectedValue);
48463 if (direct || selectedValue[0] && selectedValue[1]) {
48464 this.setState({
48465 prevSelectedValue: selectedValue,
48466 firstSelectedValue: null
48467 });
48468 this.fireHoverValueChange([]);
48469 this.props.onSelect(selectedValue);
48470 }
48471 },
48472 fireValueChange: function fireValueChange(value) {
48473 var props = this.props;
48474 if (!('value' in props)) {
48475 this.setState({
48476 value: value
48477 });
48478 }
48479 props.onValueChange(value);
48480 },
48481 fireHoverValueChange: function fireHoverValueChange(hoverValue) {
48482 var props = this.props;
48483 if (!('hoverValue' in props)) {
48484 this.setState({ hoverValue: hoverValue });
48485 }
48486 props.onHoverChange(hoverValue);
48487 },
48488 clear: function clear() {
48489 this.fireSelectValueChange([], true);
48490 this.props.onClear();
48491 },
48492 disabledStartTime: function disabledStartTime(time) {
48493 return this.props.disabledTime(time, 'start');
48494 },
48495 disabledEndTime: function disabledEndTime(time) {
48496 return this.props.disabledTime(time, 'end');
48497 },
48498 disabledStartMonth: function disabledStartMonth(month) {
48499 var value = this.state.value;
48500
48501 return month.isSameOrAfter(value[1], 'month');
48502 },
48503 disabledEndMonth: function disabledEndMonth(month) {
48504 var value = this.state.value;
48505
48506 return month.isSameOrBefore(value[0], 'month');
48507 },
48508 render: function render() {
48509 var _className, _classnames;
48510
48511 var props = this.props;
48512 var state = this.state;
48513 var showTimePicker = state.showTimePicker,
48514 isStartMonthYearPanelShow = state.isStartMonthYearPanelShow,
48515 isEndMonthYearPanelShow = state.isEndMonthYearPanelShow;
48516 var prefixCls = props.prefixCls,
48517 dateInputPlaceholder = props.dateInputPlaceholder,
48518 timePicker = props.timePicker,
48519 showOk = props.showOk,
48520 locale = props.locale,
48521 showClear = props.showClear,
48522 showToday = props.showToday,
48523 type = props.type;
48524 var hoverValue = state.hoverValue,
48525 selectedValue = state.selectedValue;
48526
48527 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);
48528 var classes = (0, _classnames3['default'])(className);
48529 var newProps = {
48530 selectedValue: state.selectedValue,
48531 onSelect: this.onSelect,
48532 onDayHover: type === 'start' && selectedValue[1] || type === 'end' && selectedValue[0] || !!hoverValue.length ? this.onDayHover : undefined
48533 };
48534
48535 var placeholder1 = void 0;
48536 var placeholder2 = void 0;
48537
48538 if (dateInputPlaceholder) {
48539 if (Array.isArray(dateInputPlaceholder)) {
48540 var _dateInputPlaceholder = (0, _slicedToArray3['default'])(dateInputPlaceholder, 2);
48541
48542 placeholder1 = _dateInputPlaceholder[0];
48543 placeholder2 = _dateInputPlaceholder[1];
48544 } else {
48545 placeholder1 = placeholder2 = dateInputPlaceholder;
48546 }
48547 }
48548 var showOkButton = showOk === true || showOk !== false && !!timePicker;
48549 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));
48550
48551 var startValue = this.getStartValue();
48552 var endValue = this.getEndValue();
48553 var todayTime = (0, _util.getTodayTime)(startValue);
48554 var thisMonth = todayTime.month();
48555 var thisYear = todayTime.year();
48556 var isTodayInView = startValue.year() === thisYear && startValue.month() === thisMonth || endValue.year() === thisYear && endValue.month() === thisMonth;
48557 var nextMonthOfStart = startValue.clone().add(1, 'months');
48558 var isClosestMonths = nextMonthOfStart.year() === endValue.year() && nextMonthOfStart.month() === endValue.month();
48559 return _react2['default'].createElement(
48560 'div',
48561 {
48562 ref: 'root',
48563 className: classes,
48564 style: props.style,
48565 tabIndex: '0'
48566 },
48567 props.renderSidebar(),
48568 _react2['default'].createElement(
48569 'div',
48570 { className: prefixCls + '-panel' },
48571 showClear && selectedValue[0] && selectedValue[1] ? _react2['default'].createElement('a', {
48572 className: prefixCls + '-clear-btn',
48573 role: 'button',
48574 title: locale.clear,
48575 onClick: this.clear
48576 }) : null,
48577 _react2['default'].createElement(
48578 'div',
48579 {
48580 className: prefixCls + '-date-panel',
48581 onMouseLeave: type !== 'both' ? this.onDatePanelLeave : undefined,
48582 onMouseEnter: type !== 'both' ? this.onDatePanelEnter : undefined
48583 },
48584 _react2['default'].createElement(_CalendarPart2['default'], (0, _extends3['default'])({}, props, newProps, {
48585 hoverValue: hoverValue,
48586 direction: 'left',
48587 disabledTime: this.disabledStartTime,
48588 disabledMonth: this.disabledStartMonth,
48589 format: this.getFormat(),
48590 value: startValue,
48591 placeholder: placeholder1,
48592 onInputSelect: this.onStartInputSelect,
48593 onValueChange: this.onStartValueChange,
48594 onPanelChange: this.onStartPanelChange,
48595 timePicker: timePicker,
48596 showTimePicker: showTimePicker,
48597 enablePrev: true,
48598 enableNext: !isClosestMonths || isEndMonthYearPanelShow
48599 })),
48600 _react2['default'].createElement(
48601 'span',
48602 { className: prefixCls + '-range-middle' },
48603 '~'
48604 ),
48605 _react2['default'].createElement(_CalendarPart2['default'], (0, _extends3['default'])({}, props, newProps, {
48606 hoverValue: hoverValue,
48607 direction: 'right',
48608 format: this.getFormat(),
48609 timePickerDisabledTime: this.getEndDisableTime(),
48610 placeholder: placeholder2,
48611 value: endValue,
48612 onInputSelect: this.onEndInputSelect,
48613 onValueChange: this.onEndValueChange,
48614 onPanelChange: this.onEndPanelChange,
48615 timePicker: timePicker,
48616 showTimePicker: showTimePicker,
48617 disabledTime: this.disabledEndTime,
48618 disabledMonth: this.disabledEndMonth,
48619 enablePrev: !isClosestMonths || isStartMonthYearPanelShow,
48620 enableNext: true
48621 }))
48622 ),
48623 _react2['default'].createElement(
48624 'div',
48625 { className: cls },
48626 props.renderFooter(),
48627 showToday || props.timePicker || showOkButton ? _react2['default'].createElement(
48628 'div',
48629 { className: prefixCls + '-footer-btn' },
48630 showToday ? _react2['default'].createElement(_TodayButton2['default'], (0, _extends3['default'])({}, props, {
48631 disabled: isTodayInView,
48632 value: state.value[0],
48633 onToday: this.onToday,
48634 text: locale.backToToday
48635 })) : null,
48636 props.timePicker ? _react2['default'].createElement(_TimePickerButton2['default'], (0, _extends3['default'])({}, props, {
48637 showTimePicker: showTimePicker,
48638 onOpenTimePicker: this.onOpenTimePicker,
48639 onCloseTimePicker: this.onCloseTimePicker,
48640 timePickerDisabled: !this.hasSelectedValue() || hoverValue.length
48641 })) : null,
48642 showOkButton ? _react2['default'].createElement(_OkButton2['default'], (0, _extends3['default'])({}, props, {
48643 onOk: this.onOk,
48644 okDisabled: !this.isAllowedDateAndTime(selectedValue) || !this.hasSelectedValue() || hoverValue.length
48645 })) : null
48646 ) : null
48647 )
48648 )
48649 );
48650 }
48651 });
48652
48653 exports['default'] = RangeCalendar;
48654 module.exports = exports['default'];
48655
48656/***/ }),
48657/* 502 */
48658/***/ (function(module, exports, __webpack_require__) {
48659
48660 "use strict";
48661
48662 exports.__esModule = true;
48663
48664 var _isIterable2 = __webpack_require__(503);
48665
48666 var _isIterable3 = _interopRequireDefault(_isIterable2);
48667
48668 var _getIterator2 = __webpack_require__(506);
48669
48670 var _getIterator3 = _interopRequireDefault(_getIterator2);
48671
48672 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
48673
48674 exports.default = function () {
48675 function sliceIterator(arr, i) {
48676 var _arr = [];
48677 var _n = true;
48678 var _d = false;
48679 var _e = undefined;
48680
48681 try {
48682 for (var _i = (0, _getIterator3.default)(arr), _s; !(_n = (_s = _i.next()).done); _n = true) {
48683 _arr.push(_s.value);
48684
48685 if (i && _arr.length === i) break;
48686 }
48687 } catch (err) {
48688 _d = true;
48689 _e = err;
48690 } finally {
48691 try {
48692 if (!_n && _i["return"]) _i["return"]();
48693 } finally {
48694 if (_d) throw _e;
48695 }
48696 }
48697
48698 return _arr;
48699 }
48700
48701 return function (arr, i) {
48702 if (Array.isArray(arr)) {
48703 return arr;
48704 } else if ((0, _isIterable3.default)(Object(arr))) {
48705 return sliceIterator(arr, i);
48706 } else {
48707 throw new TypeError("Invalid attempt to destructure non-iterable instance");
48708 }
48709 };
48710 }();
48711
48712/***/ }),
48713/* 503 */
48714/***/ (function(module, exports, __webpack_require__) {
48715
48716 module.exports = { "default": __webpack_require__(504), __esModule: true };
48717
48718/***/ }),
48719/* 504 */
48720/***/ (function(module, exports, __webpack_require__) {
48721
48722 __webpack_require__(121);
48723 __webpack_require__(77);
48724 module.exports = __webpack_require__(505);
48725
48726
48727/***/ }),
48728/* 505 */
48729/***/ (function(module, exports, __webpack_require__) {
48730
48731 var classof = __webpack_require__(158);
48732 var ITERATOR = __webpack_require__(118)('iterator');
48733 var Iterators = __webpack_require__(100);
48734 module.exports = __webpack_require__(85).isIterable = function (it) {
48735 var O = Object(it);
48736 return O[ITERATOR] !== undefined
48737 || '@@iterator' in O
48738 // eslint-disable-next-line no-prototype-builtins
48739 || Iterators.hasOwnProperty(classof(O));
48740 };
48741
48742
48743/***/ }),
48744/* 506 */
48745/***/ (function(module, exports, __webpack_require__) {
48746
48747 module.exports = { "default": __webpack_require__(507), __esModule: true };
48748
48749/***/ }),
48750/* 507 */
48751/***/ (function(module, exports, __webpack_require__) {
48752
48753 __webpack_require__(121);
48754 __webpack_require__(77);
48755 module.exports = __webpack_require__(508);
48756
48757
48758/***/ }),
48759/* 508 */
48760/***/ (function(module, exports, __webpack_require__) {
48761
48762 var anObject = __webpack_require__(90);
48763 var get = __webpack_require__(157);
48764 module.exports = __webpack_require__(85).getIterator = function (it) {
48765 var iterFn = get(it);
48766 if (typeof iterFn != 'function') throw TypeError(it + ' is not iterable!');
48767 return anObject(iterFn.call(it));
48768 };
48769
48770
48771/***/ }),
48772/* 509 */
48773/***/ (function(module, exports, __webpack_require__) {
48774
48775 'use strict';
48776
48777 Object.defineProperty(exports, "__esModule", {
48778 value: true
48779 });
48780
48781 var _extends2 = __webpack_require__(145);
48782
48783 var _extends3 = _interopRequireDefault(_extends2);
48784
48785 var _react = __webpack_require__(4);
48786
48787 var _react2 = _interopRequireDefault(_react);
48788
48789 var _createReactClass = __webpack_require__(160);
48790
48791 var _createReactClass2 = _interopRequireDefault(_createReactClass);
48792
48793 var _propTypes = __webpack_require__(5);
48794
48795 var _propTypes2 = _interopRequireDefault(_propTypes);
48796
48797 var _CalendarHeader = __webpack_require__(455);
48798
48799 var _CalendarHeader2 = _interopRequireDefault(_CalendarHeader);
48800
48801 var _DateTable = __webpack_require__(315);
48802
48803 var _DateTable2 = _interopRequireDefault(_DateTable);
48804
48805 var _DateInput = __webpack_require__(468);
48806
48807 var _DateInput2 = _interopRequireDefault(_DateInput);
48808
48809 var _index = __webpack_require__(454);
48810
48811 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
48812
48813 var CalendarPart = (0, _createReactClass2['default'])({
48814 displayName: 'CalendarPart',
48815
48816 propTypes: {
48817 prefixCls: _propTypes2['default'].string,
48818 value: _propTypes2['default'].any,
48819 hoverValue: _propTypes2['default'].any,
48820 selectedValue: _propTypes2['default'].any,
48821 direction: _propTypes2['default'].any,
48822 locale: _propTypes2['default'].any,
48823 showTimePicker: _propTypes2['default'].bool,
48824 format: _propTypes2['default'].any,
48825 placeholder: _propTypes2['default'].any,
48826 disabledDate: _propTypes2['default'].any,
48827 timePicker: _propTypes2['default'].any,
48828 disabledTime: _propTypes2['default'].any,
48829 onInputSelect: _propTypes2['default'].func,
48830 timePickerDisabledTime: _propTypes2['default'].object,
48831 enableNext: _propTypes2['default'].any,
48832 enablePrev: _propTypes2['default'].any
48833 },
48834 render: function render() {
48835 var props = this.props;
48836 var prefixCls = props.prefixCls,
48837 value = props.value,
48838 hoverValue = props.hoverValue,
48839 selectedValue = props.selectedValue,
48840 direction = props.direction,
48841 locale = props.locale,
48842 format = props.format,
48843 placeholder = props.placeholder,
48844 disabledDate = props.disabledDate,
48845 timePicker = props.timePicker,
48846 disabledTime = props.disabledTime,
48847 timePickerDisabledTime = props.timePickerDisabledTime,
48848 showTimePicker = props.showTimePicker,
48849 onInputSelect = props.onInputSelect,
48850 enablePrev = props.enablePrev,
48851 enableNext = props.enableNext;
48852
48853 var shouldShowTimePicker = showTimePicker && timePicker;
48854 var disabledTimeConfig = shouldShowTimePicker && disabledTime ? (0, _index.getTimeConfig)(selectedValue, disabledTime) : null;
48855 var rangeClassName = prefixCls + '-range';
48856 var newProps = {
48857 locale: locale,
48858 value: value,
48859 prefixCls: prefixCls,
48860 showTimePicker: showTimePicker
48861 };
48862 var index = direction === 'left' ? 0 : 1;
48863 var timePickerEle = shouldShowTimePicker && _react2['default'].cloneElement(timePicker, (0, _extends3['default'])({
48864 showHour: true,
48865 showMinute: true,
48866 showSecond: true
48867 }, timePicker.props, disabledTimeConfig, timePickerDisabledTime, {
48868 onChange: onInputSelect,
48869 defaultOpenValue: value,
48870 value: selectedValue[index]
48871 }));
48872 return _react2['default'].createElement(
48873 'div',
48874 { className: rangeClassName + '-part ' + rangeClassName + '-' + direction },
48875 _react2['default'].createElement(_DateInput2['default'], {
48876 format: format,
48877 locale: locale,
48878 prefixCls: prefixCls,
48879 timePicker: timePicker,
48880 disabledDate: disabledDate,
48881 placeholder: placeholder,
48882 disabledTime: disabledTime,
48883 value: value,
48884 showClear: false,
48885 selectedValue: selectedValue[index],
48886 onChange: onInputSelect
48887 }),
48888 _react2['default'].createElement(
48889 'div',
48890 { style: { outline: 'none' } },
48891 _react2['default'].createElement(_CalendarHeader2['default'], (0, _extends3['default'])({}, newProps, {
48892 enableNext: enableNext,
48893 enablePrev: enablePrev,
48894 onValueChange: props.onValueChange,
48895 onPanelChange: props.onPanelChange,
48896 disabledMonth: props.disabledMonth
48897 })),
48898 showTimePicker ? _react2['default'].createElement(
48899 'div',
48900 { className: prefixCls + '-time-picker' },
48901 _react2['default'].createElement(
48902 'div',
48903 { className: prefixCls + '-time-picker-panel' },
48904 timePickerEle
48905 )
48906 ) : null,
48907 _react2['default'].createElement(
48908 'div',
48909 { className: prefixCls + '-body' },
48910 _react2['default'].createElement(_DateTable2['default'], (0, _extends3['default'])({}, newProps, {
48911 hoverValue: hoverValue,
48912 selectedValue: selectedValue,
48913 dateRender: props.dateRender,
48914 onSelect: props.onSelect,
48915 onDayHover: props.onDayHover,
48916 disabledDate: disabledDate,
48917 showWeekNumber: props.showWeekNumber
48918 }))
48919 )
48920 )
48921 );
48922 }
48923 });
48924
48925 exports['default'] = CalendarPart;
48926 module.exports = exports['default'];
48927
48928/***/ }),
48929/* 510 */
48930/***/ (function(module, exports) {
48931
48932 'use strict';
48933
48934 Object.defineProperty(exports, "__esModule", {
48935 value: true
48936 });
48937 exports['default'] = {
48938 today: '今天',
48939 now: '此刻',
48940 backToToday: '返回今天',
48941 ok: '确定',
48942 timeSelect: '选择时间',
48943 dateSelect: '选择日期',
48944 clear: '清除',
48945 month: '月',
48946 year: '年',
48947 previousMonth: '上个月 (翻页上键)',
48948 nextMonth: '下个月 (翻页下键)',
48949 monthSelect: '选择月份',
48950 yearSelect: '选择年份',
48951 decadeSelect: '选择年代',
48952 yearFormat: 'YYYY年',
48953 dayFormat: 'D日',
48954 dateFormat: 'YYYY年M月D日',
48955 dateTimeFormat: 'YYYY年M月D日 HH时mm分ss秒',
48956 previousYear: '上一年 (Control键加左方向键)',
48957 nextYear: '下一年 (Control键加右方向键)',
48958 previousDecade: '上一年代',
48959 nextDecade: '下一年代',
48960 previousCentury: '上一世纪',
48961 nextCentury: '下一世纪'
48962 };
48963 module.exports = exports['default'];
48964
48965/***/ }),
48966/* 511 */
48967/***/ (function(module, exports, __webpack_require__) {
48968
48969 "use strict";
48970
48971 Object.defineProperty(exports, "__esModule", {
48972 value: true
48973 });
48974
48975 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; };
48976
48977 var _rcCalendar = __webpack_require__(312);
48978
48979 var _rcCalendar2 = _interopRequireDefault(_rcCalendar);
48980
48981 var _react = __webpack_require__(4);
48982
48983 var _react2 = _interopRequireDefault(_react);
48984
48985 var _Picker = __webpack_require__(469);
48986
48987 var _Picker2 = _interopRequireDefault(_Picker);
48988
48989 var _beeFormControl = __webpack_require__(257);
48990
48991 var _beeFormControl2 = _interopRequireDefault(_beeFormControl);
48992
48993 var _zh_CN = __webpack_require__(510);
48994
48995 var _zh_CN2 = _interopRequireDefault(_zh_CN);
48996
48997 var _en_US = __webpack_require__(467);
48998
48999 var _en_US2 = _interopRequireDefault(_en_US);
49000
49001 var _moment = __webpack_require__(327);
49002
49003 var _moment2 = _interopRequireDefault(_moment);
49004
49005 __webpack_require__(450);
49006
49007 __webpack_require__(358);
49008
49009 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
49010
49011 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; }
49012
49013 function _objectDestructuringEmpty(obj) { if (obj == null) throw new TypeError("Cannot destructure undefined"); }
49014
49015 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
49016
49017 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; }
49018
49019 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); } /**
49020 * Created by chief on 17/4/6.
49021 */
49022
49023 var cn = location.search.indexOf("cn") !== -1;
49024
49025 var now = (0, _moment2["default"])();
49026 if (cn) {
49027 now.locale("zh-cn").utcOffset(8);
49028 } else {
49029 now.locale("en-gb").utcOffset(0);
49030 }
49031
49032 var format = "YYYY-Wo";
49033
49034 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";
49035
49036 var WeekPicker = function (_Component) {
49037 _inherits(WeekPicker, _Component);
49038
49039 function WeekPicker(props, context) {
49040 _classCallCheck(this, WeekPicker);
49041
49042 var _this = _possibleConstructorReturn(this, _Component.call(this, props, context));
49043
49044 _this.onChange = function (value) {
49045 _this.setState({
49046 value: value
49047 });
49048 };
49049
49050 _this.onOpenChange = function (open) {
49051 _this.setState({
49052 open: open
49053 });
49054 };
49055
49056 _this.dateRender = function (current) {
49057 var selectedValue = _this.state.value;
49058 if (selectedValue && current.year() === selectedValue.year() && current.week() === selectedValue.week()) {
49059 return _react2["default"].createElement(
49060 "div",
49061 { className: "rc-calendar-selected-day" },
49062 _react2["default"].createElement(
49063 "div",
49064 { className: "rc-calendar-date" },
49065 current.date()
49066 )
49067 );
49068 }
49069 return _react2["default"].createElement(
49070 "div",
49071 { className: "rc-calendar-date" },
49072 current.date()
49073 );
49074 };
49075
49076 _this.lastWeek = function () {
49077 var value = _this.props.value || now;
49078 value.add(-1, "weeks");
49079 _this.setState({
49080 value: value,
49081 open: false
49082 });
49083 };
49084
49085 _this.nextWeek = function () {
49086 var value = _this.props.value || now;
49087 value.add(+1, "weeks");
49088 _this.setState({
49089 value: value,
49090 open: false
49091 });
49092 };
49093
49094 _this.renderSidebar = function () {
49095 return _react2["default"].createElement(
49096 "div",
49097 { className: "week-calendar-sidebar", key: "sidebar" },
49098 _react2["default"].createElement(
49099 "button",
49100 {
49101 className: "week-calendar-sidebar-button",
49102 onClick: _this.lastWeek.bind(_this),
49103 style: { margin: 8 }
49104 },
49105 "\u4E0A\u4E00\u5468"
49106 ),
49107 _react2["default"].createElement(
49108 "button",
49109 {
49110 className: "week-calendar-sidebar-button",
49111 onClick: _this.nextWeek.bind(_this),
49112 style: { margin: 8 }
49113 },
49114 "\u4E0B\u4E00\u5468"
49115 )
49116 );
49117 };
49118
49119 _this.onTypeChange = function (type) {
49120 _this.setState({
49121 type: type
49122 });
49123 };
49124
49125 _this.handleCalendarChange = function (value) {
49126 _this.setState({ value: value });
49127 };
49128
49129 _this.state = {
49130 value: props.value || props.defaultValue,
49131 open: false
49132 };
49133 return _this;
49134 }
49135
49136 WeekPicker.prototype.render = function render() {
49137 var _this2 = this;
49138
49139 var state = this.state;
49140 var props = this.props;
49141 var value = state.value;
49142 var calendar = _react2["default"].createElement(_rcCalendar2["default"], {
49143 className: "week-calendar",
49144 showWeekNumber: true,
49145 renderSidebar: this.renderSidebar,
49146 dateRender: this.dateRender,
49147 locale: cn ? _zh_CN2["default"] : _en_US2["default"],
49148 format: format,
49149 dateInputPlaceholder: this.props.placeholder,
49150 defaultValue: now,
49151 showDateInput: true,
49152 onChange: this.handleCalendarChange
49153 });
49154 return _react2["default"].createElement(
49155 "div",
49156 null,
49157 _react2["default"].createElement("style", { dangerouslySetInnerHTML: { __html: style } }),
49158 _react2["default"].createElement(
49159 _Picker2["default"],
49160 _extends({}, props, {
49161 onOpenChange: this.onOpenChange,
49162 open: this.state.open,
49163 animation: "slide-up",
49164 calendar: calendar,
49165 value: state.value
49166 }),
49167 function (_ref) {
49168 _objectDestructuringEmpty(_ref);
49169
49170 return _react2["default"].createElement(_beeFormControl2["default"], {
49171 placeholder: _this2.props.placeholder,
49172 disabled: state.disabled,
49173 readOnly: true,
49174 tabIndex: "-1",
49175 className: _this2.props.className,
49176 value: value && value.format(format) || ""
49177 });
49178 }
49179 )
49180 );
49181 };
49182
49183 return WeekPicker;
49184 }(_react.Component);
49185
49186 exports["default"] = WeekPicker;
49187 module.exports = exports["default"];
49188
49189/***/ }),
49190/* 512 */
49191/***/ (function(module, exports, __webpack_require__) {
49192
49193 'use strict';
49194
49195 Object.defineProperty(exports, "__esModule", {
49196 value: true
49197 });
49198
49199 var _Switch = __webpack_require__(513);
49200
49201 var _Switch2 = _interopRequireDefault(_Switch);
49202
49203 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
49204
49205 exports["default"] = _Switch2["default"];
49206 module.exports = exports['default'];
49207
49208/***/ }),
49209/* 513 */
49210/***/ (function(module, exports, __webpack_require__) {
49211
49212 "use strict";
49213
49214 Object.defineProperty(exports, "__esModule", {
49215 value: true
49216 });
49217
49218 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; };
49219
49220 var _react = __webpack_require__(4);
49221
49222 var _react2 = _interopRequireDefault(_react);
49223
49224 var _reactDom = __webpack_require__(12);
49225
49226 var _reactDom2 = _interopRequireDefault(_reactDom);
49227
49228 var _classnames = __webpack_require__(3);
49229
49230 var _classnames2 = _interopRequireDefault(_classnames);
49231
49232 var _propTypes = __webpack_require__(5);
49233
49234 var _propTypes2 = _interopRequireDefault(_propTypes);
49235
49236 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
49237
49238 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; }
49239
49240 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; }
49241
49242 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
49243
49244 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; }
49245
49246 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); }
49247
49248 var propTypes = {
49249 clsPrefix: _propTypes2["default"].string,
49250 disabled: _propTypes2["default"].bool,
49251 checkedChildren: _propTypes2["default"].any,
49252 unCheckedChildren: _propTypes2["default"].any,
49253 onChangeHandler: _propTypes2["default"].func,
49254 onChange: _propTypes2["default"].func
49255 };
49256 var defaultProps = {
49257 clsPrefix: "u-switch",
49258 checkedChildren: null,
49259 unCheckedChildren: null,
49260 defaultChecked: false,
49261 size: "",
49262 disabled: false,
49263 onChangeHandler: function onChangeHandler() {},
49264 onChange: function onChange() {}
49265 };
49266
49267 var Switch = function (_Component) {
49268 _inherits(Switch, _Component);
49269
49270 function Switch(props) {
49271 _classCallCheck(this, Switch);
49272
49273 var _this = _possibleConstructorReturn(this, _Component.call(this, props));
49274
49275 _initialiseProps.call(_this);
49276
49277 var checked = false;
49278 if ('checked' in props) {
49279 checked = !!props.checked;
49280 } else if ('defaultValue' in props) {
49281 checked = !!props.defaultValue;
49282 } else {
49283 checked = !!props.defaultChecked;
49284 }
49285 _this.state = { checked: checked };
49286 return _this;
49287 }
49288
49289 Switch.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps, nextState) {
49290 if ("checked" in nextProps) {
49291 this.setState({ checked: !!nextProps.checked });
49292 }
49293 };
49294 //点击switch改变状态
49295
49296 // Handle auto focus when click switch in Chrome
49297
49298
49299 Switch.prototype.render = function render() {
49300 var _props = this.props,
49301 checkedChildren = _props.checkedChildren,
49302 unCheckedChildren = _props.unCheckedChildren,
49303 onChangeHandler = _props.onChangeHandler,
49304 size = _props.size,
49305 className = _props.className,
49306 clsPrefix = _props.clsPrefix,
49307 disabled = _props.disabled,
49308 colors = _props.colors,
49309 others = _objectWithoutProperties(_props, ["checkedChildren", "unCheckedChildren", "onChangeHandler", "size", "className", "clsPrefix", "disabled", "colors"]);
49310 //获取checked
49311
49312
49313 var checked = this.state.checked;
49314 var classes = {
49315 "is-checked": checked
49316 };
49317 if (size) {
49318 classes[clsPrefix + "-" + size] = true;
49319 }
49320 if (colors) {
49321 classes[clsPrefix + "-" + colors] = true;
49322 }
49323 classes[[clsPrefix + "-disabled"]] = disabled;
49324
49325 var classNames = (0, _classnames2["default"])(clsPrefix, classes);
49326
49327 return _react2["default"].createElement(
49328 "span",
49329 _extends({}, others, {
49330 ref: this.saveNode,
49331 onClick: this.clickHandler,
49332 onKeyDown: this.handleKeyDown,
49333 onMouseUp: this.handleMouseUp,
49334 className: (0, _classnames2["default"])(className, classNames),
49335 tabIndex: disabled ? -1 : 0
49336 }),
49337 _react2["default"].createElement(
49338 "span",
49339 { className: clsPrefix + "-inner" },
49340 checked ? checkedChildren : unCheckedChildren
49341 )
49342 );
49343 };
49344
49345 return Switch;
49346 }(_react.Component);
49347
49348 var _initialiseProps = function _initialiseProps() {
49349 var _this2 = this;
49350
49351 this.setChecked = function (checked) {
49352 if (_this2.props.disabled) {
49353 return;
49354 }
49355 if (!('checked' in _this2.props)) {
49356 _this2.setState({
49357 checked: checked
49358 });
49359 }
49360 _this2.props.onChangeHandler(checked);
49361 _this2.props.onChange(checked);
49362 };
49363
49364 this.clickHandler = function () {
49365 var checked = !_this2.state.checked;
49366 _this2.setChecked(checked);
49367 };
49368
49369 this.handleKeyDown = function (e) {
49370 if (e.keyCode === 37) {
49371 // Left
49372 _this2.setChecked(false);
49373 } else if (e.keyCode === 39) {
49374 // Right
49375 _this2.setChecked(true);
49376 } else if (e.keyCode === 32 || e.keyCode === 13) {
49377 // Space, Enter
49378 _this2.clickHandler();
49379 }
49380 };
49381
49382 this.handleMouseUp = function (e) {
49383 if (_this2.node) {
49384 _this2.node.blur();
49385 }
49386 if (_this2.props.onMouseUp) {
49387 _this2.props.onMouseUp(e);
49388 }
49389 };
49390
49391 this.saveNode = function (node) {
49392 _this2.node = node;
49393 };
49394 };
49395
49396 Switch.propTypes = propTypes;
49397 Switch.defaultProps = defaultProps;
49398 exports["default"] = Switch;
49399 module.exports = exports["default"];
49400
49401/***/ }),
49402/* 514 */
49403/***/ (function(module, exports, __webpack_require__) {
49404
49405 'use strict';
49406
49407 Object.defineProperty(exports, "__esModule", {
49408 value: true
49409 });
49410
49411 var _Slider = __webpack_require__(515);
49412
49413 var _Slider2 = _interopRequireDefault(_Slider);
49414
49415 var _Range = __webpack_require__(523);
49416
49417 var _Range2 = _interopRequireDefault(_Range);
49418
49419 var _Handle = __webpack_require__(521);
49420
49421 var _Handle2 = _interopRequireDefault(_Handle);
49422
49423 var _createSliderWithTooltip = __webpack_require__(525);
49424
49425 var _createSliderWithTooltip2 = _interopRequireDefault(_createSliderWithTooltip);
49426
49427 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
49428
49429 _Slider2["default"].Range = _Range2["default"];
49430 _Slider2["default"].Handle = _Handle2["default"];
49431 _Slider2["default"].createSliderWithTooltip = _createSliderWithTooltip2["default"];
49432
49433 exports["default"] = _Slider2["default"];
49434 module.exports = exports['default'];
49435
49436/***/ }),
49437/* 515 */
49438/***/ (function(module, exports, __webpack_require__) {
49439
49440 /* WEBPACK VAR INJECTION */(function(process) {'use strict';
49441
49442 Object.defineProperty(exports, "__esModule", {
49443 value: true
49444 });
49445
49446 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; };
49447
49448 var _react = __webpack_require__(4);
49449
49450 var _react2 = _interopRequireDefault(_react);
49451
49452 var _propTypes = __webpack_require__(5);
49453
49454 var _propTypes2 = _interopRequireDefault(_propTypes);
49455
49456 var _warning = __webpack_require__(31);
49457
49458 var _warning2 = _interopRequireDefault(_warning);
49459
49460 var _Track = __webpack_require__(516);
49461
49462 var _Track2 = _interopRequireDefault(_Track);
49463
49464 var _createSlider = __webpack_require__(517);
49465
49466 var _createSlider2 = _interopRequireDefault(_createSlider);
49467
49468 var _utils = __webpack_require__(522);
49469
49470 var utils = _interopRequireWildcard(_utils);
49471
49472 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; } }
49473
49474 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
49475
49476 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; }
49477
49478 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
49479
49480 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; }
49481
49482 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); }
49483
49484 var Slider = function (_React$Component) {
49485 _inherits(Slider, _React$Component);
49486
49487 function Slider(props) {
49488 _classCallCheck(this, Slider);
49489
49490 var _this = _possibleConstructorReturn(this, _React$Component.call(this, props));
49491
49492 _this.onEnd = function () {
49493 _this.setState({ dragging: false });
49494 _this.removeDocumentEvents();
49495 _this.props.onAfterChange(_this.getValue());
49496 };
49497
49498 var defaultValue = props.defaultValue !== undefined ? props.defaultValue : props.min;
49499 var value = props.value !== undefined ? props.value : defaultValue;
49500
49501 _this.state = {
49502 value: _this.trimAlignValue(value),
49503 dragging: false
49504 };
49505
49506 if (process.env.NODE_ENV !== 'production') {
49507 (0, _warning2["default"])(!('minimumTrackStyle' in props), 'minimumTrackStyle will be deprecate, please use trackStyle instead.');
49508 (0, _warning2["default"])(!('maximumTrackStyle' in props), 'maximumTrackStyle will be deprecate, please use railStyle instead.');
49509 }
49510 return _this;
49511 }
49512
49513 Slider.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
49514 //只有改变value或者min或者max的时候才会再次渲染
49515 if (!('value' in nextProps || 'min' in nextProps || 'max' in nextProps)) return;
49516
49517 var prevValue = this.state.value;
49518 var value = nextProps.value !== undefined ? nextProps.value : prevValue;
49519 var nextValue = this.trimAlignValue(value, nextProps);
49520 if (nextValue === prevValue) return;
49521
49522 this.setState({ value: nextValue });
49523 if (utils.isValueOutOfRange(value, nextProps)) {
49524 this.props.onChange(nextValue);
49525 }
49526 };
49527
49528 Slider.prototype.onChange = function onChange(state) {
49529 var props = this.props;
49530 var isNotControlled = !('value' in props);
49531 if (isNotControlled) {
49532 this.setState(state);
49533 }
49534 //console.log("改变之后的:"+state.value);
49535 var changedValue = state.value;
49536 props.onChange(changedValue);
49537 };
49538
49539 Slider.prototype.onStart = function onStart(position) {
49540 //position = getMousePosition 或者 handlePosition
49541 //1.getValue:return this.state.value
49542 //2.onBeforeChange:输出开始变化之前的状态
49543 //3.calcValueByPos:这个是在createSlider.jsx,超级多的方法混合在一起
49544 //3.1 getSliderStart:slider的top或者left(主持或者水平), pixelOffset = position - this.getSliderStart()得到mouseposition 或者 handlePosition - slider的top(或者left)
49545 //3.2 this.calcValue(pixelOffset):目的得到value,跟ratio有关
49546 //3.3 this.trimAlignValue(this.calcValue(pixelOffset)):在slider.jsx中1.ensureValueInRange 先算出是否可取 v 或者 min 或者 max 2.ensureValuePrecision:来获取真的前进数值closest数值
49547 //4.onChange:得到改变之后的值,setState{value}的值并且调用props.onChange
49548 this.setState({ dragging: true });
49549 var props = this.props;
49550 var prevValue = this.getValue();
49551
49552 props.onBeforeChange(prevValue);
49553
49554 var value = this.calcValueByPos(position);
49555 this.startValue = value;
49556 this.startPosition = position;
49557
49558 if (value === prevValue) return;
49559
49560 this.onChange({ value: value });
49561 };
49562
49563 Slider.prototype.onMove = function onMove(e, position) {
49564 utils.pauseEvent(e);
49565 var oldValue = this.state.value;
49566
49567 var value = this.calcValueByPos(position);
49568 if (value === oldValue) return;
49569 this.onChange({ value: value });
49570 };
49571
49572 Slider.prototype.onKeyboard = function onKeyboard(e) {
49573 var valueMutator = utils.getKeyboardValueMutator(e);
49574
49575 if (valueMutator) {
49576 utils.pauseEvent(e);
49577 var state = this.state;
49578 var oldValue = state.value;
49579 var mutatedValue = valueMutator(oldValue, this.props);
49580 var value = this.trimAlignValue(mutatedValue);
49581 if (value === oldValue) return;
49582
49583 this.onChange({ value: value });
49584 }
49585 };
49586
49587 Slider.prototype.getValue = function getValue() {
49588 return this.state.value;
49589 };
49590
49591 Slider.prototype.getLowerBound = function getLowerBound() {
49592 return this.props.min;
49593 };
49594
49595 Slider.prototype.getUpperBound = function getUpperBound() {
49596 return this.state.value;
49597 };
49598
49599 Slider.prototype.trimAlignValue = function trimAlignValue(v) {
49600 var nextProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
49601
49602 var mergedProps = _extends({}, this.props, nextProps);
49603 var val = utils.ensureValueInRange(v, mergedProps);
49604 return utils.ensureValuePrecision(val, mergedProps);
49605 };
49606
49607 Slider.prototype.render = function render() {
49608 var _this2 = this;
49609
49610 var _props = this.props,
49611 prefixCls = _props.prefixCls,
49612 vertical = _props.vertical,
49613 included = _props.included,
49614 disabled = _props.disabled,
49615 minimumTrackStyle = _props.minimumTrackStyle,
49616 trackStyle = _props.trackStyle,
49617 handleStyle = _props.handleStyle,
49618 min = _props.min,
49619 max = _props.max,
49620 handleGenerator = _props.handle;
49621 var _state = this.state,
49622 value = _state.value,
49623 dragging = _state.dragging;
49624
49625 var offset = this.calcOffset(value); //按照百分制
49626 //hanleGenerator:进入的是createSlider.jsx的 handle({ index, ...restProps })
49627 //{delete restProps.dragging; return <Handle {...restProps} key={index} />;},
49628 var handle = handleGenerator({
49629 className: prefixCls + '-handle',
49630 vertical: vertical,
49631 offset: offset,
49632 value: value,
49633 dragging: dragging,
49634 disabled: disabled,
49635 min: min,
49636 max: max,
49637 style: handleStyle[0] || handleStyle,
49638 ref: function ref(h) {
49639 return _this2.saveHandle(0, h);
49640 } //当 WrappedComponent 被渲染后,ref 上的回调函数将会执行
49641 });
49642
49643 var _trackStyle = trackStyle[0] || trackStyle;
49644 var track = _react2["default"].createElement(_Track2["default"], {
49645 className: prefixCls + '-track',
49646 vertical: vertical,
49647 included: included,
49648 offset: 0,
49649 length: offset,
49650 style: _extends({}, minimumTrackStyle, _trackStyle)
49651 });
49652
49653 return { tracks: track, handles: handle };
49654 };
49655
49656 return Slider;
49657 }(_react2["default"].Component);
49658
49659 Slider.propTypes = {
49660 defaultValue: _propTypes2["default"].number,
49661 value: _propTypes2["default"].number,
49662 disabled: _propTypes2["default"].bool
49663 };
49664 exports["default"] = (0, _createSlider2["default"])(Slider);
49665 module.exports = exports['default'];
49666 /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(32)))
49667
49668/***/ }),
49669/* 516 */
49670/***/ (function(module, exports, __webpack_require__) {
49671
49672 'use strict';
49673
49674 Object.defineProperty(exports, "__esModule", {
49675 value: true
49676 });
49677
49678 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; };
49679
49680 var _react = __webpack_require__(4);
49681
49682 var _react2 = _interopRequireDefault(_react);
49683
49684 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
49685
49686 var Track = function Track(props) {
49687 //处于激活状态的track
49688 var className = props.className,
49689 included = props.included,
49690 vertical = props.vertical,
49691 offset = props.offset,
49692 length = props.length,
49693 style = props.style;
49694
49695
49696 var positonStyle = vertical ? {
49697 bottom: offset + '%',
49698 height: length + '%'
49699 } : {
49700 left: offset + '%',
49701 width: length + '%'
49702 };
49703
49704 var elStyle = _extends({
49705 visibility: included ? 'visible' : 'hidden'
49706 }, style, positonStyle);
49707 return _react2["default"].createElement('div', { className: className, style: elStyle });
49708 };
49709
49710 exports["default"] = Track;
49711 module.exports = exports['default'];
49712
49713/***/ }),
49714/* 517 */
49715/***/ (function(module, exports, __webpack_require__) {
49716
49717 /* WEBPACK VAR INJECTION */(function(process) {'use strict';
49718
49719 Object.defineProperty(exports, "__esModule", {
49720 value: true
49721 });
49722
49723 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; };
49724
49725 exports["default"] = createSlider;
49726
49727 var _react = __webpack_require__(4);
49728
49729 var _react2 = _interopRequireDefault(_react);
49730
49731 var _propTypes = __webpack_require__(5);
49732
49733 var _propTypes2 = _interopRequireDefault(_propTypes);
49734
49735 var _addEventListener = __webpack_require__(518);
49736
49737 var _addEventListener2 = _interopRequireDefault(_addEventListener);
49738
49739 var _classnames = __webpack_require__(3);
49740
49741 var _classnames2 = _interopRequireDefault(_classnames);
49742
49743 var _warning = __webpack_require__(31);
49744
49745 var _warning2 = _interopRequireDefault(_warning);
49746
49747 var _Steps = __webpack_require__(519);
49748
49749 var _Steps2 = _interopRequireDefault(_Steps);
49750
49751 var _Marks = __webpack_require__(520);
49752
49753 var _Marks2 = _interopRequireDefault(_Marks);
49754
49755 var _Handle = __webpack_require__(521);
49756
49757 var _Handle2 = _interopRequireDefault(_Handle);
49758
49759 var _utils = __webpack_require__(522);
49760
49761 var utils = _interopRequireWildcard(_utils);
49762
49763 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; } }
49764
49765 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
49766
49767 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; }
49768
49769 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; }
49770
49771 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; }
49772
49773 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
49774
49775 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; }
49776
49777 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); }
49778
49779 function noop() {}
49780
49781 function createSlider(Component) {
49782 var _class, _temp;
49783
49784 return _temp = _class = function (_Component) {
49785 _inherits(ComponentEnhancer, _Component);
49786
49787 function ComponentEnhancer(props) {
49788 _classCallCheck(this, ComponentEnhancer);
49789
49790 var _this = _possibleConstructorReturn(this, _Component.call(this, props));
49791
49792 _this.onMouseDown = function (e) {
49793 //鼠标落下的操作
49794 //指示当事件被触发时哪个鼠标按键被点击
49795 //参数 描述
49796 //0 规定鼠标左键。
49797 //1 规定鼠标中键。
49798 //2 规定鼠标右键。
49799 if (e.button !== 0) {
49800 return;
49801 }
49802 //1.getMousePosition:获得鼠标的位置 clientY或者pageX
49803 //2.isEventFromHandle:是直接落下还是拖动handle
49804 //3.getHandleCenterPosition:获得handle的中点位置
49805 //4.onStart:在slider.jsx中
49806 var isVertical = _this.props.vertical;
49807 var position = utils.getMousePosition(isVertical, e);
49808 if (!utils.isEventFromHandle(e, _this.handlesRefs)) {
49809 _this.dragOffset = 0;
49810 } else {
49811 var handlePosition = utils.getHandleCenterPosition(isVertical, e.target); //handle的位置
49812 _this.dragOffset = position - handlePosition; //鼠标落下的位置-handle的中间位置,这是偏差
49813 position = handlePosition; //position是
49814 }
49815 _this.onStart(position);
49816 _this.addDocumentMouseEvents();
49817 utils.pauseEvent(e);
49818 };
49819
49820 _this.onTouchStart = function (e) {
49821 //touch事件
49822 //event.touches,多点触碰时的位置数组,比如缩放手势必须要用两指的触摸点,就是一个数组
49823 //多点触碰不算
49824 if (utils.isNotTouchEvent(e)) return;
49825 //1.getMousePosition:获得鼠标的位置 clientY或者pageX
49826 //2.isEventFromHandle:是直接落下还是拖动handle
49827 //3.getHandleCenterPosition:获得handle的中点位置
49828 //4.onStart:在slider.jsx中
49829 var isVertical = _this.props.vertical;
49830 var position = utils.getTouchPosition(isVertical, e);
49831 if (!utils.isEventFromHandle(e, _this.handlesRefs)) {
49832 _this.dragOffset = 0;
49833 } else {
49834 var handlePosition = utils.getHandleCenterPosition(isVertical, e.target);
49835 _this.dragOffset = position - handlePosition;
49836 position = handlePosition;
49837 }
49838 _this.onStart(position);
49839 _this.addDocumentTouchEvents();
49840 utils.pauseEvent(e);
49841 };
49842
49843 _this.onMouseMove = function (e) {
49844 if (!_this.sliderRef) {
49845 _this.onEnd();
49846 return;
49847 }
49848 var position = utils.getMousePosition(_this.props.vertical, e);
49849 _this.onMove(e, position - _this.dragOffset);
49850 };
49851
49852 _this.onTouchMove = function (e) {
49853 //1.isNotTouchEvent:是不是touch事件
49854 //2.getTouchPosition:return vertical ? e.touches[0].clientY : e.touches[0].pageX;
49855 if (utils.isNotTouchEvent(e) || !_this.sliderRef) {
49856 _this.onEnd();
49857 return;
49858 }
49859 var position = utils.getTouchPosition(_this.props.vertical, e);
49860 _this.onMove(e, position - _this.dragOffset);
49861 };
49862
49863 _this.onKeyDown = function (e) {
49864 //对应不同的keycode
49865 if (_this.sliderRef && utils.isEventFromHandle(e, _this.handlesRefs)) {
49866 _this.onKeyboard(e);
49867 }
49868 };
49869
49870 _this.onFocus = function (e) {
49871 //Focus事件
49872 //1.isEventFromHandle:是直接落下还是拖动handle
49873 //2.getHandleCenterPosition:获得handle的中点位置
49874 //3.onStart:在slider.jsx中
49875 var isVertical = _this.props.vertical;
49876
49877 if (utils.isEventFromHandle(e, _this.handlesRefs)) {
49878 var handlePosition = utils.getHandleCenterPosition(isVertical, e.target);
49879
49880 _this.dragOffset = 0;
49881 _this.onStart(handlePosition);
49882 utils.pauseEvent(e);
49883 }
49884 };
49885
49886 _this.onBlur = function (e) {
49887 _this.onEnd(e);
49888 };
49889
49890 _this.saveSlider = function (slider) {
49891 _this.sliderRef = slider;
49892 };
49893
49894 if (process.env.NODE_ENV !== 'production') {
49895 var step = props.step,
49896 max = props.max,
49897 min = props.min;
49898
49899 (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);
49900 }
49901 _this.handlesRefs = {};
49902 return _this;
49903 }
49904 //这里是超级关键的:采用高阶组件的写法
49905
49906
49907 ComponentEnhancer.prototype.componentWillUnmount = function componentWillUnmount() {
49908 if (_Component.prototype.componentWillUnmount) _Component.prototype.componentWillUnmount.call(this);
49909 this.removeDocumentEvents();
49910 };
49911
49912 ComponentEnhancer.prototype.addDocumentTouchEvents = function addDocumentTouchEvents() {
49913 // just work for Chrome iOS Safari and Android Browser
49914 this.onTouchMoveListener = (0, _addEventListener2["default"])(document, 'touchmove', this.onTouchMove);
49915 this.onTouchUpListener = (0, _addEventListener2["default"])(document, 'touchend', this.onEnd);
49916 };
49917
49918 ComponentEnhancer.prototype.addDocumentMouseEvents = function addDocumentMouseEvents() {
49919 this.onMouseMoveListener = (0, _addEventListener2["default"])(document, 'mousemove', this.onMouseMove);
49920 this.onMouseUpListener = (0, _addEventListener2["default"])(document, 'mouseup', this.onEnd);
49921 };
49922
49923 ComponentEnhancer.prototype.removeDocumentEvents = function removeDocumentEvents() {
49924 /* eslint-disable no-unused-expressions */
49925 this.onTouchMoveListener && this.onTouchMoveListener.remove();
49926 this.onTouchUpListener && this.onTouchUpListener.remove();
49927
49928 this.onMouseMoveListener && this.onMouseMoveListener.remove();
49929 this.onMouseUpListener && this.onMouseUpListener.remove();
49930 /* eslint-enable no-unused-expressions */
49931 };
49932
49933 //slider的开始位置
49934
49935
49936 ComponentEnhancer.prototype.getSliderStart = function getSliderStart() {
49937 var slider = this.sliderRef;
49938 var rect = slider.getBoundingClientRect();
49939
49940 return this.props.vertical ? rect.top : rect.left;
49941 };
49942
49943 //slider的高度
49944
49945
49946 ComponentEnhancer.prototype.getSliderLength = function getSliderLength() {
49947 var slider = this.sliderRef;
49948 if (!slider) {
49949 return 0;
49950 }
49951
49952 var coords = slider.getBoundingClientRect();
49953 return this.props.vertical ? coords.height : coords.width;
49954 };
49955
49956 //计算实际的value值
49957
49958
49959 ComponentEnhancer.prototype.calcValue = function calcValue(offset) {
49960 var _props = this.props,
49961 vertical = _props.vertical,
49962 min = _props.min,
49963 max = _props.max;
49964
49965 var ratio = Math.abs(Math.max(offset, 0) / this.getSliderLength());
49966 var value = vertical ? (1 - ratio) * (max - min) + min : ratio * (max - min) + min;
49967 return value;
49968 };
49969 //这里才是最终的value
49970
49971
49972 ComponentEnhancer.prototype.calcValueByPos = function calcValueByPos(position) {
49973 //mouseposition 或者 handlePosition - slider的top(或者left);
49974 var pixelOffset = position - this.getSliderStart();
49975 //calValue():radio来算出真正的value
49976 //trimAlignValue():在slider.jsx中1.ensureValueInRange 先算出是否可取 v 或者 min 或者 max 2.ensureValuePrecision:来获取真的前进数值closest数值
49977 var nextValue = this.trimAlignValue(this.calcValue(pixelOffset));
49978 return nextValue;
49979 };
49980
49981 ComponentEnhancer.prototype.calcOffset = function calcOffset(value) {
49982 var _props2 = this.props,
49983 min = _props2.min,
49984 max = _props2.max;
49985
49986 var ratio = (value - min) / (max - min);
49987 return ratio * 100;
49988 };
49989
49990 ComponentEnhancer.prototype.saveHandle = function saveHandle(index, handle) {
49991 this.handlesRefs[index] = handle;
49992 };
49993
49994 ComponentEnhancer.prototype.render = function render() {
49995 var _classNames;
49996
49997 var _props3 = this.props,
49998 prefixCls = _props3.prefixCls,
49999 className = _props3.className,
50000 marks = _props3.marks,
50001 dots = _props3.dots,
50002 step = _props3.step,
50003 included = _props3.included,
50004 disabled = _props3.disabled,
50005 vertical = _props3.vertical,
50006 min = _props3.min,
50007 max = _props3.max,
50008 children = _props3.children,
50009 style = _props3.style,
50010 railStyle = _props3.railStyle,
50011 dotStyle = _props3.dotStyle,
50012 activeDotStyle = _props3.activeDotStyle;
50013
50014 var _Component$prototype$ = _Component.prototype.render.call(this),
50015 tracks = _Component$prototype$.tracks,
50016 handles = _Component$prototype$.handles;
50017
50018 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));
50019 return _react2["default"].createElement(
50020 'div',
50021 {
50022 ref: this.saveSlider,
50023 className: sliderClassName,
50024 onTouchStart: disabled ? noop : this.onTouchStart,
50025 onMouseDown: disabled ? noop : this.onMouseDown,
50026 onKeyDown: disabled ? noop : this.onKeyDown,
50027 onFocus: disabled ? noop : this.onFocus,
50028 onBlur: disabled ? noop : this.onBlur,
50029 style: style
50030 },
50031 _react2["default"].createElement('div', {
50032 className: prefixCls + '-rail',
50033 style: _extends({}, railStyle)
50034 }),
50035 tracks,
50036 _react2["default"].createElement(_Steps2["default"], {
50037 prefixCls: prefixCls,
50038 vertical: vertical,
50039 marks: marks,
50040 dots: dots,
50041 step: step,
50042 included: included,
50043 lowerBound: this.getLowerBound(),
50044 upperBound: this.getUpperBound(),
50045 max: max,
50046 min: min,
50047 dotStyle: dotStyle,
50048 activeDotStyle: activeDotStyle
50049 }),
50050 handles,
50051 _react2["default"].createElement(_Marks2["default"], {
50052 className: prefixCls + '-mark',
50053 vertical: vertical,
50054 marks: marks,
50055 included: included,
50056 lowerBound: this.getLowerBound(),
50057 upperBound: this.getUpperBound(),
50058 max: max,
50059 min: min
50060 }),
50061 children
50062 );
50063 };
50064
50065 return ComponentEnhancer;
50066 }(Component), _class.displayName = 'ComponentEnhancer(' + Component.displayName + ')', _class.propTypes = _extends({}, Component.propTypes, {
50067 min: _propTypes2["default"].number,
50068 max: _propTypes2["default"].number,
50069 step: _propTypes2["default"].number,
50070 marks: _propTypes2["default"].object,
50071 included: _propTypes2["default"].bool,
50072 className: _propTypes2["default"].string,
50073 prefixCls: _propTypes2["default"].string,
50074 disabled: _propTypes2["default"].bool,
50075 children: _propTypes2["default"].any,
50076 onBeforeChange: _propTypes2["default"].func,
50077 onChange: _propTypes2["default"].func,
50078 onAfterChange: _propTypes2["default"].func,
50079 handle: _propTypes2["default"].func,
50080 dots: _propTypes2["default"].bool,
50081 vertical: _propTypes2["default"].bool,
50082 style: _propTypes2["default"].object,
50083 //minimumTrackStyle: PropTypes.object, // just for compatibility, will be deperecate
50084 //maximumTrackStyle: PropTypes.object, // just for compatibility, will be deperecate
50085 handleStyle: _propTypes2["default"].oneOfType([_propTypes2["default"].object, _propTypes2["default"].arrayOf(_propTypes2["default"].object)]),
50086 trackStyle: _propTypes2["default"].oneOfType([_propTypes2["default"].object, _propTypes2["default"].arrayOf(_propTypes2["default"].object)]),
50087 railStyle: _propTypes2["default"].object,
50088 dotStyle: _propTypes2["default"].object,
50089 activeDotStyle: _propTypes2["default"].object
50090 }), _class.defaultProps = _extends({}, Component.defaultProps, {
50091 prefixCls: 'u-slider',
50092 className: '',
50093 min: 0,
50094 max: 100,
50095 step: 1,
50096 marks: {},
50097 handle: function handle(_ref) {
50098 var index = _ref.index,
50099 restProps = _objectWithoutProperties(_ref, ['index']);
50100
50101 delete restProps.dragging;
50102 return _react2["default"].createElement(_Handle2["default"], _extends({}, restProps, { key: index }));
50103 },
50104
50105 onBeforeChange: noop,
50106 onChange: noop,
50107 onAfterChange: noop,
50108 included: true,
50109 disabled: false,
50110 dots: false,
50111 vertical: false,
50112 trackStyle: [{}],
50113 handleStyle: [{}],
50114 railStyle: {},
50115 dotStyle: {},
50116 activeDotStyle: {}
50117 }), _temp;
50118 }
50119 module.exports = exports['default'];
50120 /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(32)))
50121
50122/***/ }),
50123/* 518 */
50124/***/ (function(module, exports, __webpack_require__) {
50125
50126 'use strict';
50127
50128 Object.defineProperty(exports, "__esModule", {
50129 value: true
50130 });
50131 exports['default'] = addEventListenerWrap;
50132
50133 var _addDomEventListener = __webpack_require__(40);
50134
50135 var _addDomEventListener2 = _interopRequireDefault(_addDomEventListener);
50136
50137 var _reactDom = __webpack_require__(12);
50138
50139 var _reactDom2 = _interopRequireDefault(_reactDom);
50140
50141 function _interopRequireDefault(obj) {
50142 return obj && obj.__esModule ? obj : { 'default': obj };
50143 }
50144
50145 function addEventListenerWrap(target, eventType, cb) {
50146 /* eslint camelcase: 2 */
50147 var callback = _reactDom2['default'].unstable_batchedUpdates ? function run(e) {
50148 _reactDom2['default'].unstable_batchedUpdates(cb, e);
50149 } : cb;
50150 return (0, _addDomEventListener2['default'])(target, eventType, callback);
50151 }
50152 module.exports = exports['default'];
50153
50154/***/ }),
50155/* 519 */
50156/***/ (function(module, exports, __webpack_require__) {
50157
50158 'use strict';
50159
50160 Object.defineProperty(exports, "__esModule", {
50161 value: true
50162 });
50163
50164 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; };
50165
50166 var _react = __webpack_require__(4);
50167
50168 var _react2 = _interopRequireDefault(_react);
50169
50170 var _classnames = __webpack_require__(3);
50171
50172 var _classnames2 = _interopRequireDefault(_classnames);
50173
50174 var _warning = __webpack_require__(31);
50175
50176 var _warning2 = _interopRequireDefault(_warning);
50177
50178 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
50179
50180 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; }
50181
50182 var calcPoints = function calcPoints(vertical, marks, dots, step, min, max) {
50183 (0, _warning2["default"])(dots ? step > 0 : true, '`Slider[step]` should be a positive number in order to make Slider[dots] work.');
50184
50185 var points = Object.keys(marks).map(parseFloat);
50186 if (dots) {
50187 for (var i = min; i <= max; i = i + step) {
50188 if (points.indexOf(i) >= 0) continue;
50189 points.push(i);
50190 }
50191 }
50192 return points;
50193 };
50194
50195 var Steps = function Steps(_ref) {
50196 var prefixCls = _ref.prefixCls,
50197 vertical = _ref.vertical,
50198 marks = _ref.marks,
50199 dots = _ref.dots,
50200 step = _ref.step,
50201 included = _ref.included,
50202 lowerBound = _ref.lowerBound,
50203 upperBound = _ref.upperBound,
50204 max = _ref.max,
50205 min = _ref.min,
50206 dotStyle = _ref.dotStyle,
50207 activeDotStyle = _ref.activeDotStyle;
50208
50209 var range = max - min;
50210 var elements = calcPoints(vertical, marks, dots, step, min, max).map(function (point) {
50211 var _classNames;
50212
50213 var offset = Math.abs(point - min) / range * 100 + '%';
50214
50215 var isActived = !included && point === upperBound || included && point <= upperBound && point >= lowerBound;
50216 var style = vertical ? _extends({ bottom: offset }, dotStyle) : _extends({ left: offset }, dotStyle);
50217 if (isActived) {
50218 style = _extends({}, style, activeDotStyle);
50219 }
50220
50221 var pointClassName = (0, _classnames2["default"])((_classNames = {}, _defineProperty(_classNames, prefixCls + '-dot', true), _defineProperty(_classNames, prefixCls + '-dot-active', isActived), _classNames));
50222
50223 return _react2["default"].createElement('span', { className: pointClassName, style: style, key: point });
50224 });
50225
50226 return _react2["default"].createElement(
50227 'div',
50228 { className: prefixCls + '-step' },
50229 elements
50230 );
50231 };
50232
50233 exports["default"] = Steps;
50234 module.exports = exports['default'];
50235
50236/***/ }),
50237/* 520 */
50238/***/ (function(module, exports, __webpack_require__) {
50239
50240 'use strict';
50241
50242 Object.defineProperty(exports, "__esModule", {
50243 value: true
50244 });
50245
50246 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; };
50247
50248 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; };
50249
50250 var _react = __webpack_require__(4);
50251
50252 var _react2 = _interopRequireDefault(_react);
50253
50254 var _classnames = __webpack_require__(3);
50255
50256 var _classnames2 = _interopRequireDefault(_classnames);
50257
50258 var _propTypes = __webpack_require__(5);
50259
50260 var _propTypes2 = _interopRequireDefault(_propTypes);
50261
50262 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
50263
50264 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; }
50265
50266 var Marks = function Marks(_ref) {
50267 var className = _ref.className,
50268 vertical = _ref.vertical,
50269 marks = _ref.marks,
50270 included = _ref.included,
50271 upperBound = _ref.upperBound,
50272 lowerBound = _ref.lowerBound,
50273 max = _ref.max,
50274 min = _ref.min;
50275
50276 var marksKeys = Object.keys(marks);
50277 var marksCount = marksKeys.length;
50278 var unit = marksCount > 1 ? 100 / (marksCount - 1) : 100;
50279 var markWidth = unit * 0.9;
50280
50281 var range = max - min;
50282 var elements = marksKeys.map(parseFloat).sort(function (a, b) {
50283 return a - b;
50284 }).map(function (point) {
50285 var _classNames;
50286
50287 var isActive = !included && point === upperBound || included && point <= upperBound && point >= lowerBound;
50288 var markClassName = (0, _classnames2["default"])((_classNames = {}, _defineProperty(_classNames, className + '-text', true), _defineProperty(_classNames, className + '-text-active', isActive), _classNames));
50289
50290 var bottomStyle = {
50291 marginBottom: '-50%',
50292 bottom: (point - min) / range * 100 + '%'
50293 };
50294
50295 var leftStyle = {
50296 width: markWidth + '%',
50297 marginLeft: -markWidth / 2 + '%',
50298 left: (point - min) / range * 100 + '%'
50299 };
50300
50301 var style = vertical ? bottomStyle : leftStyle;
50302
50303 var markPoint = marks[point];
50304 var markPointIsObject = (typeof markPoint === 'undefined' ? 'undefined' : _typeof(markPoint)) === 'object' && !_react2["default"].isValidElement(markPoint);
50305 var markLabel = markPointIsObject ? markPoint.label : markPoint;
50306 var markStyle = markPointIsObject ? _extends({}, style, markPoint.style) : style;
50307 return _react2["default"].createElement(
50308 'span',
50309 {
50310 className: markClassName,
50311 style: markStyle,
50312 key: point
50313 },
50314 markLabel
50315 );
50316 });
50317
50318 return _react2["default"].createElement(
50319 'div',
50320 { className: className },
50321 elements
50322 );
50323 };
50324
50325 exports["default"] = Marks;
50326 module.exports = exports['default'];
50327
50328/***/ }),
50329/* 521 */
50330/***/ (function(module, exports, __webpack_require__) {
50331
50332 'use strict';
50333
50334 Object.defineProperty(exports, "__esModule", {
50335 value: true
50336 });
50337
50338 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; };
50339
50340 var _react = __webpack_require__(4);
50341
50342 var _react2 = _interopRequireDefault(_react);
50343
50344 var _propTypes = __webpack_require__(5);
50345
50346 var _propTypes2 = _interopRequireDefault(_propTypes);
50347
50348 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
50349
50350 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; }
50351
50352 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; }
50353
50354 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
50355
50356 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; }
50357
50358 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); }
50359
50360 var Handle = function (_React$Component) {
50361 _inherits(Handle, _React$Component);
50362
50363 function Handle() {
50364 _classCallCheck(this, Handle);
50365
50366 return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));
50367 }
50368
50369 Handle.prototype.render = function render() {
50370 var _props = this.props,
50371 className = _props.className,
50372 vertical = _props.vertical,
50373 offset = _props.offset,
50374 style = _props.style,
50375 disabled = _props.disabled,
50376 min = _props.min,
50377 max = _props.max,
50378 value = _props.value,
50379 restProps = _objectWithoutProperties(_props, ['className', 'vertical', 'offset', 'style', 'disabled', 'min', 'max', 'value']);
50380
50381 var postionStyle = vertical ? { bottom: offset + '%' } : { left: offset + '%' };
50382 var elStyle = _extends({}, style, postionStyle);
50383 var ariaProps = {};
50384 if (value !== undefined) {
50385 ariaProps = _extends({}, ariaProps, {
50386 'aria-valuemin': min,
50387 'aria-valuemax': max,
50388 'aria-valuenow': value,
50389 'aria-disabled': !!disabled
50390 });
50391 }
50392
50393 return _react2["default"].createElement('div', _extends({
50394 role: 'slider',
50395 tabIndex: '0'
50396 }, ariaProps, restProps, {
50397 className: className,
50398 style: elStyle
50399 }));
50400 };
50401
50402 return Handle;
50403 }(_react2["default"].Component);
50404
50405 exports["default"] = Handle;
50406
50407
50408 Handle.propTypes = {
50409 className: _propTypes2["default"].string,
50410 vertical: _propTypes2["default"].bool,
50411 offset: _propTypes2["default"].number,
50412 style: _propTypes2["default"].object,
50413 disabled: _propTypes2["default"].bool,
50414 min: _propTypes2["default"].number,
50415 max: _propTypes2["default"].number,
50416 value: _propTypes2["default"].number
50417 };
50418 module.exports = exports['default'];
50419
50420/***/ }),
50421/* 522 */
50422/***/ (function(module, exports, __webpack_require__) {
50423
50424 'use strict';
50425
50426 Object.defineProperty(exports, "__esModule", {
50427 value: true
50428 });
50429 exports.isEventFromHandle = isEventFromHandle;
50430 exports.isValueOutOfRange = isValueOutOfRange;
50431 exports.isNotTouchEvent = isNotTouchEvent;
50432 exports.getClosestPoint = getClosestPoint;
50433 exports.getPrecision = getPrecision;
50434 exports.getMousePosition = getMousePosition;
50435 exports.getTouchPosition = getTouchPosition;
50436 exports.getHandleCenterPosition = getHandleCenterPosition;
50437 exports.ensureValueInRange = ensureValueInRange;
50438 exports.ensureValuePrecision = ensureValuePrecision;
50439 exports.pauseEvent = pauseEvent;
50440 exports.getKeyboardValueMutator = getKeyboardValueMutator;
50441
50442 var _reactDom = __webpack_require__(12);
50443
50444 var _keyCode = __webpack_require__(37);
50445
50446 var _keyCode2 = _interopRequireDefault(_keyCode);
50447
50448 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
50449
50450 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); } }
50451
50452 function isEventFromHandle(e, handles) {
50453 return Object.keys(handles).some(function (key) {
50454 return e.target === (0, _reactDom.findDOMNode)(handles[key]);
50455 });
50456 }
50457
50458 function isValueOutOfRange(value, _ref) {
50459 var min = _ref.min,
50460 max = _ref.max;
50461
50462 return value < min || value > max;
50463 }
50464
50465 function isNotTouchEvent(e) {
50466 //event.touches,多点触碰时的位置数组,比如缩放手势必须要用两指的触摸点,就是一个数组
50467 return e.touches.length > 1 || e.type.toLowerCase() === 'touchend' && e.touches.length > 0;
50468 }
50469
50470 function getClosestPoint(val, _ref2) {
50471 var marks = _ref2.marks,
50472 step = _ref2.step,
50473 min = _ref2.min;
50474
50475 var points = Object.keys(marks).map(parseFloat);
50476 if (step !== null) {
50477 var closestStep = Math.round((val - min) / step) * step + min; //Math.round(((val - min) / step) * step) + min;
50478 points.push(closestStep);
50479 }
50480 var diffs = points.map(function (point) {
50481 return Math.abs(val - point);
50482 });
50483 return points[diffs.indexOf(Math.min.apply(Math, _toConsumableArray(diffs)))];
50484 }
50485
50486 function getPrecision(step) {
50487 var stepString = step.toString();
50488 var precision = 0;
50489 if (stepString.indexOf('.') >= 0) {
50490 precision = stepString.length - stepString.indexOf('.') - 1;
50491 }
50492 return precision;
50493 }
50494
50495 function getMousePosition(vertical, e) {
50496 return vertical ? e.clientY : e.pageX;
50497 }
50498
50499 function getTouchPosition(vertical, e) {
50500 return vertical ? e.touches[0].clientY : e.touches[0].pageX;
50501 }
50502
50503 function getHandleCenterPosition(vertical, handle) {
50504 var coords = handle.getBoundingClientRect();
50505 return vertical ? coords.top + coords.height * 0.5 : coords.left + coords.width * 0.5;
50506 }
50507
50508 function ensureValueInRange(val, _ref3) {
50509 var max = _ref3.max,
50510 min = _ref3.min;
50511
50512 if (val <= min) {
50513 return min;
50514 }
50515 if (val >= max) {
50516 return max;
50517 }
50518 return val;
50519 }
50520
50521 function ensureValuePrecision(val, props) {
50522 var step = props.step;
50523
50524 var closestPoint = getClosestPoint(val, props);
50525 return step === null ? closestPoint : parseFloat(closestPoint.toFixed(getPrecision(step)));
50526 }
50527
50528 function pauseEvent(e) {
50529 e.stopPropagation();
50530 e.preventDefault();
50531 }
50532
50533 function getKeyboardValueMutator(e) {
50534 switch (e.keyCode) {
50535 case _keyCode2["default"].UP:
50536 case _keyCode2["default"].RIGHT:
50537 return function (value, props) {
50538 return value + props.step;
50539 };
50540
50541 case _keyCode2["default"].DOWN:
50542 case _keyCode2["default"].LEFT:
50543 return function (value, props) {
50544 return value - props.step;
50545 };
50546
50547 case _keyCode2["default"].END:
50548 return function (value, props) {
50549 return props.max;
50550 };
50551 case _keyCode2["default"].HOME:
50552 return function (value, props) {
50553 return props.min;
50554 };
50555 case _keyCode2["default"].PAGE_UP:
50556 return function (value, props) {
50557 return value + props.step * 2;
50558 };
50559 case _keyCode2["default"].PAGE_DOWN:
50560 return function (value, props) {
50561 return value - props.step * 2;
50562 };
50563
50564 default:
50565 return undefined;
50566 }
50567 }
50568
50569/***/ }),
50570/* 523 */
50571/***/ (function(module, exports, __webpack_require__) {
50572
50573 'use strict';
50574
50575 Object.defineProperty(exports, "__esModule", {
50576 value: true
50577 });
50578
50579 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; };
50580
50581 var _react = __webpack_require__(4);
50582
50583 var _react2 = _interopRequireDefault(_react);
50584
50585 var _propTypes = __webpack_require__(5);
50586
50587 var _propTypes2 = _interopRequireDefault(_propTypes);
50588
50589 var _classnames = __webpack_require__(3);
50590
50591 var _classnames2 = _interopRequireDefault(_classnames);
50592
50593 var _shallowequal = __webpack_require__(524);
50594
50595 var _shallowequal2 = _interopRequireDefault(_shallowequal);
50596
50597 var _warning = __webpack_require__(31);
50598
50599 var _warning2 = _interopRequireDefault(_warning);
50600
50601 var _Track = __webpack_require__(516);
50602
50603 var _Track2 = _interopRequireDefault(_Track);
50604
50605 var _createSlider = __webpack_require__(517);
50606
50607 var _createSlider2 = _interopRequireDefault(_createSlider);
50608
50609 var _utils = __webpack_require__(522);
50610
50611 var utils = _interopRequireWildcard(_utils);
50612
50613 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; } }
50614
50615 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
50616
50617 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; }
50618
50619 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; }
50620
50621 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); } }
50622
50623 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
50624
50625 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; }
50626
50627 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 */
50628
50629
50630 var Range = function (_React$Component) {
50631 _inherits(Range, _React$Component);
50632
50633 function Range(props) {
50634 _classCallCheck(this, Range);
50635
50636 var _this = _possibleConstructorReturn(this, _React$Component.call(this, props));
50637 //1.initialValue:初始化,数组值都是min
50638 //2.defaultValue,value:接收到的数组,都没有初始化 defaultValue = [0,0] = value ,不然各自等于props中的对应值
50639 //3.trimAlignValue():ensureValueInRange:确定在范围里;ensureValueNotConflict:能否交叉;ensureValuePrecision:返回的小数点精确度
50640 //4.bounds:=value
50641 //5.recent:理解成最近操作过的坐标,默认数组最后一个点,但是handle与recent在onstart后一致
50642
50643
50644 _this.onEnd = function () {
50645 _this.setState({ handle: null });
50646 _this.removeDocumentEvents();
50647 _this.props.onAfterChange(_this.getValue());
50648 };
50649
50650 var count = props.count,
50651 min = props.min,
50652 max = props.max;
50653
50654 var initialValue = Array.apply(null, Array(count + 1)).map(function () {
50655 return min;
50656 });
50657
50658 var defaultValue = 'defaultValue' in props ? props.defaultValue : initialValue;
50659 var value = props.value !== undefined ? props.value : defaultValue;
50660
50661 var bounds = value.map(function (v) {
50662 return _this.trimAlignValue(v);
50663 });
50664 var recent = bounds[0] === max ? 0 : bounds.length - 1;
50665 _this.state = {
50666 handle: null,
50667 recent: recent,
50668 bounds: bounds
50669 };
50670 return _this;
50671 }
50672
50673 Range.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
50674 var _this2 = this;
50675
50676 if (!('value' in nextProps || 'min' in nextProps || 'max' in nextProps)) return;
50677 if (this.props.min === nextProps.min && this.props.max === nextProps.max && (0, _shallowequal2["default"])(this.props.value, nextProps.value)) {
50678 return;
50679 }
50680 var bounds = this.state.bounds;
50681
50682 var value = nextProps.value || bounds;
50683 var nextBounds = value.map(function (v) {
50684 return _this2.trimAlignValue(v, nextProps);
50685 });
50686 if (nextBounds.length === bounds.length && nextBounds.every(function (v, i) {
50687 return v === bounds[i];
50688 })) return;
50689
50690 this.setState({ bounds: nextBounds });
50691 if (bounds.some(function (v) {
50692 return utils.isValueOutOfRange(v, nextProps);
50693 })) {
50694 this.props.onChange(nextBounds);
50695 }
50696 };
50697
50698 Range.prototype.onChange = function onChange(state) {
50699 var props = this.props;
50700 var isNotControlled = !('value' in props);
50701 if (isNotControlled) {
50702 this.setState(state);
50703 } else if (state.handle !== undefined) {
50704 this.setState({ handle: state.handle });
50705 }
50706
50707 var data = _extends({}, this.state, state);
50708 var changedValue = data.bounds;
50709 props.onChange(changedValue);
50710 };
50711
50712 Range.prototype.onStart = function onStart(position) {
50713 //1.getValue():this.state.bounds
50714 //2.calcValueByPos():同slider.js
50715 //3.getClosestBound():vs utils.jsx中的getClosestPoints(),返回closestBound为数组坐标
50716 //4.getBoundNeedMoving():一般返回closestBound;特殊情况就是closeBound=0的情况1确实是0,2.两点重合来判断点落在左侧还是右侧
50717 var props = this.props;
50718 var state = this.state;
50719 var bounds = this.getValue();
50720 props.onBeforeChange(bounds);
50721
50722 var value = this.calcValueByPos(position);
50723 this.startValue = value;
50724 this.startPosition = position;
50725
50726 var closestBound = this.getClosestBound(value);
50727 var boundNeedMoving = this.getBoundNeedMoving(value, closestBound);
50728
50729 this.setState({
50730 handle: boundNeedMoving,
50731 recent: boundNeedMoving
50732 });
50733
50734 console.log('handle是:' + boundNeedMoving + "recent是:" + boundNeedMoving);
50735 var prevValue = bounds[boundNeedMoving];
50736 if (value === prevValue) return;
50737
50738 var nextBounds = [].concat(_toConsumableArray(state.bounds));
50739 nextBounds[boundNeedMoving] = value;
50740 this.onChange({ bounds: nextBounds });
50741 };
50742
50743 Range.prototype.onMove = function onMove(e, position) {
50744 utils.pauseEvent(e);
50745 var props = this.props;
50746 var state = this.state;
50747
50748 var value = this.calcValueByPos(position);
50749 var oldValue = state.bounds[state.handle];
50750 if (value === oldValue) return;
50751
50752 var nextBounds = [].concat(_toConsumableArray(state.bounds));
50753 nextBounds[state.handle] = value;
50754 var nextHandle = state.handle;
50755 if (props.pushable !== false) {
50756 var originalValue = state.bounds[nextHandle];
50757 this.pushSurroundingHandles(nextBounds, nextHandle, originalValue);
50758 } else if (props.allowCross) {
50759 nextBounds.sort(function (a, b) {
50760 return a - b;
50761 });
50762 nextHandle = nextBounds.indexOf(value);
50763 }
50764 this.onChange({
50765 handle: nextHandle,
50766 bounds: nextBounds
50767 });
50768 };
50769
50770 Range.prototype.onKeyboard = function onKeyboard() {
50771 (0, _warning2["default"])(true, 'Keyboard support is not yet supported for ranges.');
50772 };
50773
50774 Range.prototype.getValue = function getValue() {
50775 return this.state.bounds;
50776 };
50777
50778 Range.prototype.getClosestBound = function getClosestBound(value) {
50779 //注意都是从0开始算,因此handle会重新计算,哪怕当初操作1,再次操作可能会变成0
50780 var bounds = this.state.bounds;
50781
50782 var closestBound = 0;
50783 for (var i = 1; i < bounds.length - 1; ++i) {
50784 if (value > bounds[i]) {
50785 closestBound = i;
50786 }
50787 }
50788 if (Math.abs(bounds[closestBound + 1] - value) < Math.abs(bounds[closestBound] - value)) {
50789 closestBound = closestBound + 1;
50790 }
50791 return closestBound;
50792 };
50793
50794 Range.prototype.getBoundNeedMoving = function getBoundNeedMoving(value, closestBound) {
50795 var _state = this.state,
50796 bounds = _state.bounds,
50797 recent = _state.recent;
50798
50799 var boundNeedMoving = closestBound;
50800 var isAtTheSamePoint = bounds[closestBound + 1] === bounds[closestBound];
50801 if (isAtTheSamePoint) {
50802 boundNeedMoving = recent;
50803 }
50804
50805 if (isAtTheSamePoint && value !== bounds[closestBound + 1]) {
50806 boundNeedMoving = value < bounds[closestBound + 1] ? closestBound : closestBound + 1;
50807 }
50808 return boundNeedMoving;
50809 };
50810
50811 Range.prototype.getLowerBound = function getLowerBound() {
50812 return this.state.bounds[0];
50813 };
50814
50815 Range.prototype.getUpperBound = function getUpperBound() {
50816 var bounds = this.state.bounds;
50817
50818 return bounds[bounds.length - 1];
50819 };
50820
50821 /**
50822 * Returns an array of possible slider points, taking into account both
50823 * `marks` and `step`. The result is cached.
50824 */
50825
50826
50827 Range.prototype.getPoints = function getPoints() {
50828 var _props = this.props,
50829 marks = _props.marks,
50830 step = _props.step,
50831 min = _props.min,
50832 max = _props.max;
50833
50834 var cache = this._getPointsCache;
50835 if (!cache || cache.marks !== marks || cache.step !== step) {
50836 var pointsObject = _extends({}, marks);
50837 if (step !== null) {
50838 for (var point = min; point <= max; point += step) {
50839 pointsObject[point] = point;
50840 }
50841 }
50842 var points = Object.keys(pointsObject).map(parseFloat);
50843 points.sort(function (a, b) {
50844 return a - b;
50845 });
50846 this._getPointsCache = { marks: marks, step: step, points: points };
50847 }
50848 return this._getPointsCache.points;
50849 };
50850
50851 Range.prototype.pushSurroundingHandles = function pushSurroundingHandles(bounds, handle, originalValue) {
50852 var threshold = this.props.pushable;
50853
50854 var value = bounds[handle];
50855
50856 var direction = 0;
50857 if (bounds[handle + 1] - value < threshold) {
50858 direction = +1; // push to right
50859 }
50860 if (value - bounds[handle - 1] < threshold) {
50861 direction = -1; // push to left
50862 }
50863
50864 if (direction === 0) {
50865 return;
50866 }
50867
50868 var nextHandle = handle + direction;
50869 var diffToNext = direction * (bounds[nextHandle] - value);
50870 if (!this.pushHandle(bounds, nextHandle, direction, threshold - diffToNext)) {
50871 // revert to original value if pushing is impossible
50872 bounds[handle] = originalValue;
50873 }
50874 };
50875
50876 Range.prototype.pushHandle = function pushHandle(bounds, handle, direction, amount) {
50877 var originalValue = bounds[handle];
50878 var currentValue = bounds[handle];
50879 while (direction * (currentValue - originalValue) < amount) {
50880 if (!this.pushHandleOnePoint(bounds, handle, direction)) {
50881 // can't push handle enough to create the needed `amount` gap, so we
50882 // revert its position to the original value
50883 bounds[handle] = originalValue;
50884 return false;
50885 }
50886 currentValue = bounds[handle];
50887 }
50888 // the handle was pushed enough to create the needed `amount` gap
50889 return true;
50890 };
50891
50892 Range.prototype.pushHandleOnePoint = function pushHandleOnePoint(bounds, handle, direction) {
50893 var points = this.getPoints();
50894 var pointIndex = points.indexOf(bounds[handle]);
50895 var nextPointIndex = pointIndex + direction;
50896 if (nextPointIndex >= points.length || nextPointIndex < 0) {
50897 // reached the minimum or maximum available point, can't push anymore
50898 return false;
50899 }
50900 var nextHandle = handle + direction;
50901 var nextValue = points[nextPointIndex];
50902 var threshold = this.props.pushable;
50903
50904 var diffToNext = direction * (bounds[nextHandle] - nextValue);
50905 if (!this.pushHandle(bounds, nextHandle, direction, threshold - diffToNext)) {
50906 // couldn't push next handle, so we won't push this one either
50907 return false;
50908 }
50909 // push the handle
50910 bounds[handle] = nextValue;
50911 return true;
50912 };
50913
50914 Range.prototype.trimAlignValue = function trimAlignValue(v) {
50915 var nextProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
50916
50917 var mergedProps = _extends({}, this.props, nextProps);
50918 var valInRange = utils.ensureValueInRange(v, mergedProps);
50919 var valNotConflict = this.ensureValueNotConflict(valInRange, mergedProps);
50920 return utils.ensureValuePrecision(valNotConflict, mergedProps);
50921 };
50922
50923 Range.prototype.ensureValueNotConflict = function ensureValueNotConflict(val, _ref) {
50924 var allowCross = _ref.allowCross;
50925
50926 var state = this.state || {};
50927 var handle = state.handle,
50928 bounds = state.bounds;
50929 /* eslint-disable eqeqeq */
50930
50931 if (!allowCross && handle != null) {
50932 //最右边的点只能执行这个,因为handle=bounds.length-1;中间点也走这个判断
50933 if (handle > 0 && val <= bounds[handle - 1]) {
50934 console.log("ensureValueNotConflict的handle" + handle + "ensureValueNotConflict的返回数据" + bounds[handle - 1]);
50935 return bounds[handle - 1];
50936 }
50937 //最左边的点只能执行这个,因为handle=0;中间点也走这个判断
50938 if (handle < bounds.length - 1 && val >= bounds[handle + 1]) {
50939 console.log("ensureValueNotConflict的handle" + handle + "ensureValueNotConflict的返回数据" + bounds[handle + 1]);
50940 return bounds[handle + 1];
50941 }
50942 }
50943 /* eslint-enable eqeqeq */
50944 return val;
50945 };
50946
50947 Range.prototype.render = function render() {
50948 var _this3 = this;
50949
50950 var _state2 = this.state,
50951 handle = _state2.handle,
50952 bounds = _state2.bounds;
50953 var _props2 = this.props,
50954 prefixCls = _props2.prefixCls,
50955 vertical = _props2.vertical,
50956 included = _props2.included,
50957 disabled = _props2.disabled,
50958 min = _props2.min,
50959 max = _props2.max,
50960 handleGenerator = _props2.handle,
50961 trackStyle = _props2.trackStyle,
50962 handleStyle = _props2.handleStyle;
50963
50964
50965 var offsets = bounds.map(function (v) {
50966 return _this3.calcOffset(v);
50967 });
50968
50969 var handleClassName = prefixCls + '-handle';
50970 var handles = bounds.map(function (v, i) {
50971 var _classNames;
50972
50973 return handleGenerator({
50974 className: (0, _classnames2["default"])((_classNames = {}, _defineProperty(_classNames, handleClassName, true), _defineProperty(_classNames, handleClassName + '-' + (i + 1), true), _classNames)),
50975 vertical: vertical,
50976 offset: offsets[i],
50977 value: v,
50978 dragging: handle === i,
50979 index: i,
50980 min: min,
50981 max: max,
50982 disabled: disabled,
50983 style: handleStyle[i],
50984 ref: function ref(h) {
50985 return _this3.saveHandle(i, h);
50986 }
50987 });
50988 });
50989
50990 var tracks = bounds.slice(0, -1).map(function (_, index) {
50991 var _classNames2;
50992
50993 var i = index + 1;
50994 var trackClassName = (0, _classnames2["default"])((_classNames2 = {}, _defineProperty(_classNames2, prefixCls + '-track', true), _defineProperty(_classNames2, prefixCls + '-track-' + i, true), _classNames2));
50995 return _react2["default"].createElement(_Track2["default"], {
50996 className: trackClassName,
50997 vertical: vertical,
50998 included: included,
50999 offset: offsets[i - 1],
51000 length: offsets[i] - offsets[i - 1],
51001 style: trackStyle[index],
51002 key: i
51003 });
51004 });
51005
51006 return { tracks: tracks, handles: handles };
51007 };
51008
51009 return Range;
51010 }(_react2["default"].Component);
51011
51012 Range.displayName = 'Range';
51013 Range.propTypes = {
51014 defaultValue: _propTypes2["default"].arrayOf(_propTypes2["default"].number),
51015 value: _propTypes2["default"].arrayOf(_propTypes2["default"].number),
51016 disabled: _propTypes2["default"].bool,
51017
51018 count: _propTypes2["default"].number,
51019 pushable: _propTypes2["default"].oneOfType([_propTypes2["default"].bool, _propTypes2["default"].number]),
51020 allowCross: _propTypes2["default"].bool
51021 };
51022 Range.defaultProps = {
51023 count: 1,
51024 allowCross: true,
51025 pushable: false
51026 };
51027 exports["default"] = (0, _createSlider2["default"])(Range);
51028 module.exports = exports['default'];
51029
51030/***/ }),
51031/* 524 */
51032/***/ (function(module, exports) {
51033
51034 'use strict';
51035
51036 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; };
51037
51038 module.exports = function shallowEqual(objA, objB, compare, compareContext) {
51039
51040 var ret = compare ? compare.call(compareContext, objA, objB) : void 0;
51041
51042 if (ret !== void 0) {
51043 return !!ret;
51044 }
51045
51046 if (objA === objB) {
51047 return true;
51048 }
51049
51050 if ((typeof objA === 'undefined' ? 'undefined' : _typeof(objA)) !== 'object' || !objA || (typeof objB === 'undefined' ? 'undefined' : _typeof(objB)) !== 'object' || !objB) {
51051 return false;
51052 }
51053
51054 var keysA = Object.keys(objA);
51055 var keysB = Object.keys(objB);
51056
51057 if (keysA.length !== keysB.length) {
51058 return false;
51059 }
51060
51061 var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);
51062
51063 // Test for A's keys different from B.
51064 for (var idx = 0; idx < keysA.length; idx++) {
51065
51066 var key = keysA[idx];
51067
51068 if (!bHasOwnProperty(key)) {
51069 return false;
51070 }
51071
51072 var valueA = objA[key];
51073 var valueB = objB[key];
51074
51075 ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0;
51076
51077 if (ret === false || ret === void 0 && valueA !== valueB) {
51078 return false;
51079 }
51080 }
51081
51082 return true;
51083 };
51084
51085/***/ }),
51086/* 525 */
51087/***/ (function(module, exports, __webpack_require__) {
51088
51089 'use strict';
51090
51091 Object.defineProperty(exports, "__esModule", {
51092 value: true
51093 });
51094
51095 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; };
51096
51097 exports["default"] = createSliderWithTooltip;
51098
51099 var _react = __webpack_require__(4);
51100
51101 var _react2 = _interopRequireDefault(_react);
51102
51103 var _propTypes = __webpack_require__(5);
51104
51105 var _propTypes2 = _interopRequireDefault(_propTypes);
51106
51107 var _beeTooltip = __webpack_require__(526);
51108
51109 var _beeTooltip2 = _interopRequireDefault(_beeTooltip);
51110
51111 var _Handle = __webpack_require__(521);
51112
51113 var _Handle2 = _interopRequireDefault(_Handle);
51114
51115 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
51116
51117 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; }
51118
51119 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; }
51120
51121 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; }
51122
51123 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
51124
51125 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; }
51126
51127 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); }
51128
51129 function createSliderWithTooltip(Component) {
51130 var _class, _temp;
51131
51132 return _temp = _class = function (_React$Component) {
51133 _inherits(ComponentWrapper, _React$Component);
51134
51135 function ComponentWrapper(props) {
51136 _classCallCheck(this, ComponentWrapper);
51137
51138 var _this = _possibleConstructorReturn(this, _React$Component.call(this, props));
51139
51140 _this.handleTooltipVisibleChange = function (index, visible) {
51141 _this.setState(function (prevState) {
51142 return {
51143 visibles: _extends({}, prevState.visibles, _defineProperty({}, index, visible))
51144 };
51145 });
51146 };
51147
51148 _this.handleWithTooltip = function (_ref) {
51149 var value = _ref.value,
51150 dragging = _ref.dragging,
51151 index = _ref.index,
51152 disabled = _ref.disabled,
51153 restProps = _objectWithoutProperties(_ref, ['value', 'dragging', 'index', 'disabled']);
51154
51155 var _this$props = _this.props,
51156 tipFormatter = _this$props.tipFormatter,
51157 tipProps = _this$props.tipProps,
51158 handleStyle = _this$props.handleStyle;
51159
51160 var _tipProps$prefixCls = tipProps.prefixCls,
51161 prefixCls = _tipProps$prefixCls === undefined ? 'u-slider-tooltip' : _tipProps$prefixCls,
51162 _tipProps$overlay = tipProps.overlay,
51163 overlay = _tipProps$overlay === undefined ? tipFormatter(value) : _tipProps$overlay,
51164 _tipProps$placement = tipProps.placement,
51165 placement = _tipProps$placement === undefined ? 'top' : _tipProps$placement,
51166 restTooltipProps = _objectWithoutProperties(tipProps, ['prefixCls', 'overlay', 'placement']);
51167
51168 return _react2["default"].createElement(
51169 _beeTooltip2["default"],
51170 _extends({}, restTooltipProps, {
51171 className: prefixCls,
51172 overlay: overlay,
51173 shouldUpdatePosition: true,
51174 placement: placement,
51175 visible: !disabled && (_this.state.visibles[index] || dragging),
51176 key: index
51177 }),
51178 _react2["default"].createElement(_Handle2["default"], _extends({}, restProps, {
51179 style: _extends({}, handleStyle[0]),
51180 value: value,
51181 onMouseEnter: function onMouseEnter() {
51182 return _this.handleTooltipVisibleChange(index, true);
51183 },
51184 onMouseLeave: function onMouseLeave() {
51185 return _this.handleTooltipVisibleChange(index, false);
51186 }
51187 }))
51188 );
51189 };
51190
51191 _this.state = { visibles: {} };
51192 return _this;
51193 }
51194
51195 ComponentWrapper.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {};
51196
51197 ComponentWrapper.prototype.render = function render() {
51198 return _react2["default"].createElement(Component, _extends({}, this.props, { handle: this.handleWithTooltip }));
51199 };
51200
51201 return ComponentWrapper;
51202 }(_react2["default"].Component), _class.propTypes = {
51203 tipFormatter: _propTypes2["default"].func,
51204 handleStyle: _propTypes2["default"].arrayOf(_propTypes2["default"].object),
51205 tipProps: _propTypes2["default"].object
51206 }, _class.defaultProps = {
51207 tipFormatter: function tipFormatter(value) {
51208 return value;
51209 },
51210
51211 handleStyle: [{}],
51212 tipProps: {}
51213 }, _temp;
51214 }
51215 module.exports = exports['default'];
51216
51217/***/ }),
51218/* 526 */
51219/***/ (function(module, exports, __webpack_require__) {
51220
51221 'use strict';
51222
51223 Object.defineProperty(exports, "__esModule", {
51224 value: true
51225 });
51226
51227 var _Tooltip = __webpack_require__(527);
51228
51229 var _Tooltip2 = _interopRequireDefault(_Tooltip);
51230
51231 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
51232
51233 exports["default"] = _Tooltip2["default"];
51234 module.exports = exports['default'];
51235
51236/***/ }),
51237/* 527 */
51238/***/ (function(module, exports, __webpack_require__) {
51239
51240 'use strict';
51241
51242 Object.defineProperty(exports, "__esModule", {
51243 value: true
51244 });
51245
51246 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; };
51247
51248 var _classnames = __webpack_require__(3);
51249
51250 var _classnames2 = _interopRequireDefault(_classnames);
51251
51252 var _react = __webpack_require__(4);
51253
51254 var _react2 = _interopRequireDefault(_react);
51255
51256 var _propTypes = __webpack_require__(5);
51257
51258 var _propTypes2 = _interopRequireDefault(_propTypes);
51259
51260 var _OverlayTrigger = __webpack_require__(528);
51261
51262 var _OverlayTrigger2 = _interopRequireDefault(_OverlayTrigger);
51263
51264 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
51265
51266 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; }
51267
51268 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; }
51269
51270 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; }
51271
51272 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
51273
51274 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; }
51275
51276 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); }
51277
51278 var propTypes = {
51279 /**
51280 * @required
51281 */
51282 id: _propTypes2["default"].oneOfType([_propTypes2["default"].string, _propTypes2["default"].number]),
51283 inverse: _propTypes2["default"].bool,
51284 /**
51285 * 相对目标元素显示上下左右的位置
51286 */
51287 placement: _propTypes2["default"].oneOf(['top', 'right', 'bottom', 'left']),
51288
51289 /**
51290 * 绝对定位上边距.
51291 */
51292 positionTop: _propTypes2["default"].oneOfType([_propTypes2["default"].number, _propTypes2["default"].string]),
51293 /**
51294 * 绝对定位左边距
51295 */
51296 positionLeft: _propTypes2["default"].oneOfType([_propTypes2["default"].number, _propTypes2["default"].string]),
51297
51298 /**
51299 * 与目标Top的距离
51300 */
51301 arrowOffsetTop: _propTypes2["default"].oneOfType([_propTypes2["default"].number, _propTypes2["default"].string]),
51302 /**
51303 * 与目标Left的距离
51304 */
51305 arrowOffsetLeft: _propTypes2["default"].oneOfType([_propTypes2["default"].number, _propTypes2["default"].string])
51306 };
51307
51308 var defaultProps = {
51309 placement: 'right',
51310 clsPrefix: 'u-tooltip'
51311 };
51312
51313 var Tooltip = function (_React$Component) {
51314 _inherits(Tooltip, _React$Component);
51315
51316 function Tooltip() {
51317 _classCallCheck(this, Tooltip);
51318
51319 return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));
51320 }
51321
51322 Tooltip.prototype.render = function render() {
51323 var _classes;
51324
51325 var _props = this.props,
51326 placement = _props.placement,
51327 positionTop = _props.positionTop,
51328 positionLeft = _props.positionLeft,
51329 arrowOffsetTop = _props.arrowOffsetTop,
51330 arrowOffsetLeft = _props.arrowOffsetLeft,
51331 className = _props.className,
51332 style = _props.style,
51333 children = _props.children,
51334 clsPrefix = _props.clsPrefix,
51335 overlay = _props.overlay,
51336 inverse = _props.inverse,
51337 others = _objectWithoutProperties(_props, ['placement', 'positionTop', 'positionLeft', 'arrowOffsetTop', 'arrowOffsetLeft', 'className', 'style', 'children', 'clsPrefix', 'overlay', 'inverse']);
51338
51339 var classes = (_classes = {}, _defineProperty(_classes, placement, true), _defineProperty(_classes, 'inverse', inverse), _classes);
51340
51341 var outerStyle = _extends({
51342 top: positionTop,
51343 left: positionLeft
51344 }, style);
51345
51346 var arrowStyle = {
51347 top: arrowOffsetTop,
51348 left: arrowOffsetLeft
51349 };
51350
51351 var classNames = (0, _classnames2["default"])(clsPrefix, classes);
51352
51353 var overlayNode = _react2["default"].createElement(
51354 'div',
51355 {
51356 className: (0, _classnames2["default"])(className, classNames),
51357 style: outerStyle
51358 },
51359 _react2["default"].createElement('div', { className: 'tooltip-arrow', style: arrowStyle }),
51360 _react2["default"].createElement(
51361 'div',
51362 { className: 'tooltip-inner' },
51363 overlay
51364 )
51365 );
51366
51367 return _react2["default"].createElement(
51368 _OverlayTrigger2["default"],
51369 _extends({ shouldUpdatePosition: true, placement: placement }, others, { overlay: overlayNode }),
51370 children
51371 );
51372 };
51373
51374 return Tooltip;
51375 }(_react2["default"].Component);
51376
51377 Tooltip.propTypes = propTypes;
51378 Tooltip.defaultProps = defaultProps;
51379
51380 exports["default"] = Tooltip;
51381 module.exports = exports['default'];
51382
51383/***/ }),
51384/* 528 */
51385/***/ (function(module, exports, __webpack_require__) {
51386
51387 'use strict';
51388
51389 Object.defineProperty(exports, "__esModule", {
51390 value: true
51391 });
51392
51393 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; };
51394
51395 var _contains = __webpack_require__(292);
51396
51397 var _contains2 = _interopRequireDefault(_contains);
51398
51399 var _react = __webpack_require__(4);
51400
51401 var _react2 = _interopRequireDefault(_react);
51402
51403 var _propTypes = __webpack_require__(5);
51404
51405 var _propTypes2 = _interopRequireDefault(_propTypes);
51406
51407 var _reactDom = __webpack_require__(12);
51408
51409 var _reactDom2 = _interopRequireDefault(_reactDom);
51410
51411 var _warning = __webpack_require__(31);
51412
51413 var _warning2 = _interopRequireDefault(_warning);
51414
51415 var _Portal = __webpack_require__(529);
51416
51417 var _Portal2 = _interopRequireDefault(_Portal);
51418
51419 var _Overlay = __webpack_require__(533);
51420
51421 var _Overlay2 = _interopRequireDefault(_Overlay);
51422
51423 var _createChainedFunction = __webpack_require__(548);
51424
51425 var _createChainedFunction2 = _interopRequireDefault(_createChainedFunction);
51426
51427 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
51428
51429 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; }
51430
51431 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; }
51432
51433 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
51434
51435 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; }
51436
51437 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); }
51438
51439 var isReact16 = _reactDom2["default"].createPortal !== undefined;
51440 var createPortal = isReact16 ? _reactDom2["default"].createPortal : _reactDom2["default"].unstable_renderSubtreeIntoContainer;
51441
51442 /**
51443 * 检查值是属于这个值,还是等于这个值
51444 *
51445 * @param {string} one
51446 * @param {string|array} of
51447 * @returns {boolean}
51448 */
51449 function isOneOf(one, of) {
51450 if (Array.isArray(of)) {
51451 return of.indexOf(one) >= 0;
51452 }
51453 return one === of;
51454 }
51455
51456 var triggerType = _propTypes2["default"].oneOf(['click', 'hover', 'focus']);
51457
51458 var propTypes = _extends({}, _Portal2["default"].propTypes, _Overlay2["default"].propTypes, {
51459
51460 /**
51461 * 指定哪些操作或操作触发叠加层可见性
51462 */
51463 trigger: _propTypes2["default"].oneOfType([triggerType, _propTypes2["default"].arrayOf(triggerType)]),
51464
51465 /**
51466 * 显示和隐藏覆盖一旦触发的毫秒延迟量
51467 */
51468 delay: _propTypes2["default"].number,
51469 /**
51470 * 触发后显示叠加层之前的延迟毫秒
51471 */
51472 delayShow: _propTypes2["default"].number,
51473 /**
51474 * 触发后隐藏叠加层的延迟毫秒
51475 */
51476 delayHide: _propTypes2["default"].number,
51477
51478 // FIXME: This should be `defaultShow`.
51479 /**
51480 * 覆盖的初始可见性状态。对于更细微的可见性控制,请考虑直接使用覆盖组件。
51481 */
51482 defaultOverlayShown: _propTypes2["default"].bool,
51483
51484 /**
51485 * 要覆盖在目标旁边的元素或文本。
51486 */
51487 overlay: _propTypes2["default"].node.isRequired,
51488
51489 /**
51490 * @private
51491 */
51492 onBlur: _propTypes2["default"].func,
51493 /**
51494 * @private
51495 */
51496 onClick: _propTypes2["default"].func,
51497 /**
51498 * @private
51499 */
51500 onFocus: _propTypes2["default"].func,
51501 /**
51502 * @private
51503 */
51504 onMouseOut: _propTypes2["default"].func,
51505 /**
51506 * @private
51507 */
51508 onMouseOver: _propTypes2["default"].func,
51509
51510 // Overridden props from `<Overlay>`.
51511 /**
51512 * @private
51513 */
51514 target: _propTypes2["default"].oneOf([null]),
51515 /**
51516 * @private
51517 */
51518 onHide: _propTypes2["default"].oneOf([null]),
51519 /**
51520 * @private
51521 */
51522 show: _propTypes2["default"].oneOf([null])
51523 });
51524
51525 var defaultProps = {
51526 defaultOverlayShown: false,
51527 trigger: ['hover', 'focus']
51528 };
51529
51530 var OverlayTrigger = function (_Component) {
51531 _inherits(OverlayTrigger, _Component);
51532
51533 function OverlayTrigger(props, context) {
51534 _classCallCheck(this, OverlayTrigger);
51535
51536 var _this = _possibleConstructorReturn(this, _Component.call(this, props, context));
51537
51538 _this.handleToggle = _this.handleToggle.bind(_this);
51539 _this.handleDelayedShow = _this.handleDelayedShow.bind(_this);
51540 _this.handleDelayedHide = _this.handleDelayedHide.bind(_this);
51541 _this.handleHide = _this.handleHide.bind(_this);
51542 _this.makeOverlay = _this.makeOverlay.bind(_this);
51543
51544 _this.handleMouseOver = function (e) {
51545 return _this.handleMouseOverOut(_this.handleDelayedShow, e);
51546 };
51547 _this.handleMouseOut = function (e) {
51548 return _this.handleMouseOverOut(_this.handleDelayedHide, e);
51549 };
51550
51551 _this._mountNode = null;
51552
51553 _this.state = {
51554 show: props.defaultOverlayShown
51555 };
51556 return _this;
51557 }
51558
51559 OverlayTrigger.prototype.componentDidMount = function componentDidMount() {
51560 this._mountNode = document.createElement('div');
51561 !isReact16 && this.renderOverlay();
51562 };
51563
51564 OverlayTrigger.prototype.componentDidUpdate = function componentDidUpdate() {
51565 !isReact16 && this.renderOverlay();
51566 };
51567
51568 OverlayTrigger.prototype.componentWillUnmount = function componentWillUnmount() {
51569 !isReact16 && _reactDom2["default"].unmountComponentAtNode(this._mountNode);
51570 this._mountNode = null;
51571
51572 clearTimeout(this._hoverShowDelay);
51573 clearTimeout(this._hoverHideDelay);
51574 };
51575
51576 OverlayTrigger.prototype.handleToggle = function handleToggle() {
51577 if (this.state.show) {
51578 this.hide();
51579 } else {
51580 this.show();
51581 }
51582 };
51583
51584 OverlayTrigger.prototype.handleDelayedShow = function handleDelayedShow() {
51585 var _this2 = this;
51586
51587 if (this._hoverHideDelay != null) {
51588 clearTimeout(this._hoverHideDelay);
51589 this._hoverHideDelay = null;
51590 return;
51591 }
51592
51593 if (this.state.show || this._hoverShowDelay != null) {
51594 return;
51595 }
51596
51597 var delay = this.props.delayShow != null ? this.props.delayShow : this.props.delay;
51598
51599 if (!delay) {
51600 this.show();
51601 return;
51602 }
51603
51604 this._hoverShowDelay = setTimeout(function () {
51605 _this2._hoverShowDelay = null;
51606 _this2.show();
51607 }, delay);
51608 };
51609
51610 OverlayTrigger.prototype.handleDelayedHide = function handleDelayedHide() {
51611 var _this3 = this;
51612
51613 if (this._hoverShowDelay != null) {
51614 clearTimeout(this._hoverShowDelay);
51615 this._hoverShowDelay = null;
51616 return;
51617 }
51618
51619 if (!this.state.show || this._hoverHideDelay != null) {
51620 return;
51621 }
51622
51623 var delay = this.props.delayHide != null ? this.props.delayHide : this.props.delay;
51624
51625 if (!delay) {
51626 this.hide();
51627 return;
51628 }
51629
51630 this._hoverHideDelay = setTimeout(function () {
51631 _this3._hoverHideDelay = null;
51632 _this3.hide();
51633 }, delay);
51634 };
51635
51636 // 简单实现mouseEnter和mouseLeave。
51637 // React的内置版本是有问题的:https://github.com/facebook/react/issues/4251
51638 //在触发器被禁用的情况下,mouseOut / Over可能导致闪烁
51639 //从一个子元素移动到另一个子元素。
51640
51641
51642 OverlayTrigger.prototype.handleMouseOverOut = function handleMouseOverOut(handler, e) {
51643 var target = e.currentTarget;
51644 var related = e.relatedTarget || e.nativeEvent.toElement;
51645
51646 if (!related || related !== target && !(0, _contains2["default"])(target, related)) {
51647 handler(e);
51648 }
51649 };
51650
51651 OverlayTrigger.prototype.handleHide = function handleHide() {
51652 this.hide();
51653 };
51654
51655 OverlayTrigger.prototype.show = function show() {
51656 this.setState({ show: true });
51657 };
51658
51659 OverlayTrigger.prototype.hide = function hide() {
51660 this.setState({ show: false });
51661 };
51662
51663 OverlayTrigger.prototype.makeOverlay = function makeOverlay(overlay, props) {
51664 return _react2["default"].createElement(
51665 _Overlay2["default"],
51666 _extends({}, props, {
51667 show: this.state.show,
51668 onHide: this.handleHide,
51669 target: this
51670 }),
51671 overlay
51672 );
51673 };
51674
51675 OverlayTrigger.prototype.renderOverlay = function renderOverlay() {
51676 _reactDom2["default"].unstable_renderSubtreeIntoContainer(this, this._overlay, this._mountNode);
51677 };
51678
51679 OverlayTrigger.prototype.render = function render() {
51680 var _props = this.props,
51681 trigger = _props.trigger,
51682 overlay = _props.overlay,
51683 children = _props.children,
51684 onBlur = _props.onBlur,
51685 onClick = _props.onClick,
51686 onFocus = _props.onFocus,
51687 onMouseOut = _props.onMouseOut,
51688 onMouseOver = _props.onMouseOver,
51689 props = _objectWithoutProperties(_props, ['trigger', 'overlay', 'children', 'onBlur', 'onClick', 'onFocus', 'onMouseOut', 'onMouseOver']);
51690
51691 delete props.delay;
51692 delete props.delayShow;
51693 delete props.delayHide;
51694 delete props.defaultOverlayShown;
51695
51696 var child = _react2["default"].Children.only(children);
51697 var childProps = child.props;
51698
51699 var triggerProps = {
51700 'aria-describedby': overlay.props.id
51701 };
51702
51703 // FIXME: 这里用于传递这个组件上的处理程序的逻辑是不一致的。我们不应该通过任何这些道具。
51704
51705 triggerProps.onClick = (0, _createChainedFunction2["default"])(childProps.onClick, onClick);
51706
51707 if (isOneOf('click', trigger)) {
51708 triggerProps.onClick = (0, _createChainedFunction2["default"])(triggerProps.onClick, this.handleToggle);
51709 }
51710
51711 if (isOneOf('hover', trigger)) {
51712 (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.');
51713
51714 triggerProps.onMouseOver = (0, _createChainedFunction2["default"])(childProps.onMouseOver, onMouseOver, this.handleMouseOver);
51715 triggerProps.onMouseOut = (0, _createChainedFunction2["default"])(childProps.onMouseOut, onMouseOut, this.handleMouseOut);
51716 }
51717
51718 if (isOneOf('focus', trigger)) {
51719 triggerProps.onFocus = (0, _createChainedFunction2["default"])(childProps.onFocus, onFocus, this.handleDelayedShow);
51720 triggerProps.onBlur = (0, _createChainedFunction2["default"])(childProps.onBlur, onBlur, this.handleDelayedHide);
51721 }
51722
51723 this._overlay = this.makeOverlay(overlay, props);
51724
51725 if (!isReact16) {
51726 return (0, _react.cloneElement)(child, triggerProps);
51727 }
51728 triggerProps.key = 'overlay';
51729
51730 var portal = _react2["default"].createElement(
51731 _Portal2["default"],
51732 {
51733 key: 'portal',
51734 container: props.container },
51735 this._overlay
51736 );
51737
51738 return [(0, _react.cloneElement)(child, triggerProps), portal];
51739 };
51740
51741 return OverlayTrigger;
51742 }(_react.Component);
51743
51744 OverlayTrigger.propTypes = propTypes;
51745 OverlayTrigger.defaultProps = defaultProps;
51746
51747 exports["default"] = OverlayTrigger;
51748 module.exports = exports['default'];
51749
51750/***/ }),
51751/* 529 */
51752/***/ (function(module, exports, __webpack_require__) {
51753
51754 'use strict';
51755
51756 Object.defineProperty(exports, "__esModule", {
51757 value: true
51758 });
51759
51760 var _react = __webpack_require__(4);
51761
51762 var _react2 = _interopRequireDefault(_react);
51763
51764 var _reactDom = __webpack_require__(12);
51765
51766 var _reactDom2 = _interopRequireDefault(_reactDom);
51767
51768 var _propTypes = __webpack_require__(5);
51769
51770 var _propTypes2 = _interopRequireDefault(_propTypes);
51771
51772 var _ownerDocument = __webpack_require__(530);
51773
51774 var _ownerDocument2 = _interopRequireDefault(_ownerDocument);
51775
51776 var _getContainer = __webpack_require__(532);
51777
51778 var _getContainer2 = _interopRequireDefault(_getContainer);
51779
51780 var _tinperBeeCore = __webpack_require__(26);
51781
51782 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
51783
51784 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; }
51785
51786 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
51787
51788 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; }
51789
51790 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); }
51791
51792 var isReact16 = _reactDom2["default"].createPortal !== undefined;
51793 var createPortal = isReact16 ? _reactDom2["default"].createPortal : _reactDom2["default"].unstable_renderSubtreeIntoContainer;
51794
51795 var propTypes = {
51796 /**
51797 * 存放子组件的容器
51798 */
51799 container: _propTypes2["default"].oneOfType([_tinperBeeCore.componentOrElement, _propTypes2["default"].func])
51800 };
51801
51802 var defaultProps = {};
51803
51804 /**
51805 * Portal组件是将子组件渲染
51806 */
51807
51808 var Portal = function (_Component) {
51809 _inherits(Portal, _Component);
51810
51811 function Portal(props) {
51812 _classCallCheck(this, Portal);
51813
51814 var _this = _possibleConstructorReturn(this, _Component.call(this, props));
51815
51816 _this.getMountNode = _this.getMountNode.bind(_this);
51817 _this.getOverlayDOMNode = _this.getOverlayDOMNode.bind(_this);
51818 _this.mountOverlayTarget = _this.mountOverlayTarget.bind(_this);
51819 _this.unmountOverlayTarget = _this.unmountOverlayTarget.bind(_this);
51820 _this.renderOverlay = _this.renderOverlay.bind(_this);
51821 _this.unrenderOverlay = _this.unrenderOverlay.bind(_this);
51822
51823 _this.overlayTarget = isReact16 ? document.createElement('div') : null;
51824 return _this;
51825 }
51826
51827 Portal.prototype.componentDidMount = function componentDidMount() {
51828 if (isReact16) {
51829 this.portalContainerNode = (0, _getContainer2["default"])(this.props.container, (0, _ownerDocument2["default"])(this).body);
51830 this.portalContainerNode.appendChild(this.overlayTarget);
51831 } else {
51832 this.renderOverlay();
51833 }
51834
51835 this.mounted = true;
51836 };
51837
51838 Portal.prototype.componentDidUpdate = function componentDidUpdate() {
51839 if (isReact16) {
51840 var overlay = !this.props.children ? null : _react2["default"].Children.only(this.props.children);
51841 if (overlay === null) {
51842 this.unrenderOverlay();
51843 this.unmountOverlayTarget();
51844 } else {}
51845 } else {
51846 this.renderOverlay();
51847 }
51848 };
51849 //this._overlayTarget为当前的要添加的子组件, this._portalContainerNode要添加组件的容器元素
51850
51851
51852 Portal.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
51853 if (this.overlayTarget && nextProps.container !== this.props.container) {
51854 this.portalContainerNode.removeChild(this.overlayTarget);
51855 this.portalContainerNode = (0, _getContainer2["default"])(nextProps.container, (0, _ownerDocument2["default"])(this).body);
51856 this.portalContainerNode.appendChild(this.overlayTarget);
51857 }
51858 };
51859
51860 Portal.prototype.componentWillUnmount = function componentWillUnmount() {
51861 this.unrenderOverlay();
51862 this.unmountOverlayTarget();
51863
51864 this.mounted = false;
51865 };
51866
51867 Portal.prototype.getMountNode = function getMountNode() {
51868 return this.overlayTarget;
51869 };
51870
51871 Portal.prototype.getOverlayDOMNode = function getOverlayDOMNode() {
51872 if (!this.mounted) {
51873 throw new Error('getOverlayDOMNode(): A component must be mounted to have a DOM node.');
51874 }
51875
51876 if (this.overlayInstance) {
51877 return _reactDom2["default"].findDOMNode(this.overlayInstance);
51878 }
51879
51880 return null;
51881 };
51882
51883 /**
51884 * 如果要添加的子组件不存在,就将div添加到要添加容器的DOM中;
51885 */
51886
51887 Portal.prototype.mountOverlayTarget = function mountOverlayTarget() {
51888 if (!this.overlayTarget) {
51889 this.overlayTarget = document.createElement('div');
51890 this.portalContainerNode = (0, _getContainer2["default"])(this.props.container, (0, _ownerDocument2["default"])(this).body);
51891 this.portalContainerNode.appendChild(this.overlayTarget);
51892 }
51893 };
51894 /**
51895 * 将要添加的子元素从容器中移除,并把变量置为null
51896 */
51897
51898
51899 Portal.prototype.unmountOverlayTarget = function unmountOverlayTarget() {
51900 if (this.overlayTarget) {
51901 this.portalContainerNode.removeChild(this.overlayTarget);
51902 this.overlayTarget = null;
51903 }
51904 this.portalContainerNode = null;
51905 };
51906 /**
51907 * 手动渲染_overlayTarget
51908 */
51909
51910
51911 Portal.prototype.renderOverlay = function renderOverlay() {
51912
51913 var overlay = !this.props.children ? null : _react2["default"].Children.only(this.props.children);
51914
51915 // Save reference for future access.
51916 if (overlay !== null) {
51917 this.mountOverlayTarget();
51918 this.overlayInstance = _reactDom2["default"].unstable_renderSubtreeIntoContainer(this, overlay, this.overlayTarget);
51919 } else {
51920 // Unrender if the component is null for transitions to null
51921 this.unrenderOverlay();
51922 this.unmountOverlayTarget();
51923 }
51924 };
51925 /**
51926 * 销毁_overlayTarget组件。并把_overlayInstance置为null
51927 */
51928
51929
51930 Portal.prototype.unrenderOverlay = function unrenderOverlay() {
51931 if (this.overlayTarget) {
51932 !isReact16 && _reactDom2["default"].unmountComponentAtNode(this.overlayTarget);
51933 this.overlayInstance = null;
51934 }
51935 };
51936
51937 Portal.prototype.render = function render() {
51938 if (!isReact16) {
51939 return null;
51940 }
51941
51942 var overlay = !this.props.children ? null : _react2["default"].Children.only(this.props.children);
51943
51944 return _reactDom2["default"].createPortal(overlay, this.overlayTarget);
51945 };
51946
51947 return Portal;
51948 }(_react.Component);
51949
51950 ;
51951
51952 Portal.propTypes = propTypes;
51953 Portal.defaultProps = defaultProps;
51954
51955 exports["default"] = Portal;
51956 module.exports = exports['default'];
51957
51958/***/ }),
51959/* 530 */
51960/***/ (function(module, exports, __webpack_require__) {
51961
51962 'use strict';
51963
51964 Object.defineProperty(exports, "__esModule", {
51965 value: true
51966 });
51967
51968 exports["default"] = function (componentOrElement) {
51969 return (0, _ownerDocument2["default"])(_reactDom2["default"].findDOMNode(componentOrElement));
51970 };
51971
51972 var _reactDom = __webpack_require__(12);
51973
51974 var _reactDom2 = _interopRequireDefault(_reactDom);
51975
51976 var _ownerDocument = __webpack_require__(531);
51977
51978 var _ownerDocument2 = _interopRequireDefault(_ownerDocument);
51979
51980 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
51981
51982 module.exports = exports['default'];
51983
51984/***/ }),
51985/* 531 */
51986/***/ (function(module, exports) {
51987
51988 "use strict";
51989
51990 Object.defineProperty(exports, "__esModule", {
51991 value: true
51992 });
51993 exports.default = ownerDocument;
51994 function ownerDocument(node) {
51995 return node && node.ownerDocument || document;
51996 }
51997 module.exports = exports["default"];
51998
51999/***/ }),
52000/* 532 */
52001/***/ (function(module, exports, __webpack_require__) {
52002
52003 'use strict';
52004
52005 Object.defineProperty(exports, "__esModule", {
52006 value: true
52007 });
52008 exports["default"] = getContainer;
52009
52010 var _reactDom = __webpack_require__(12);
52011
52012 var _reactDom2 = _interopRequireDefault(_reactDom);
52013
52014 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
52015
52016 /**
52017 * 获取容器组件
52018 * @param {[type]} container [description]
52019 * @param {[type]} defaultContainer [description]
52020 * @return {[type]} [description]
52021 */
52022 function getContainer(container, defaultContainer) {
52023 container = typeof container === 'function' ? container() : container;
52024 return _reactDom2["default"].findDOMNode(container) || defaultContainer;
52025 }
52026 module.exports = exports['default'];
52027
52028/***/ }),
52029/* 533 */
52030/***/ (function(module, exports, __webpack_require__) {
52031
52032 'use strict';
52033
52034 Object.defineProperty(exports, "__esModule", {
52035 value: true
52036 });
52037
52038 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; };
52039
52040 var _classnames = __webpack_require__(3);
52041
52042 var _classnames2 = _interopRequireDefault(_classnames);
52043
52044 var _react = __webpack_require__(4);
52045
52046 var _react2 = _interopRequireDefault(_react);
52047
52048 var _propTypes = __webpack_require__(5);
52049
52050 var _propTypes2 = _interopRequireDefault(_propTypes);
52051
52052 var _BaseOverlay = __webpack_require__(534);
52053
52054 var _BaseOverlay2 = _interopRequireDefault(_BaseOverlay);
52055
52056 var _tinperBeeCore = __webpack_require__(26);
52057
52058 var _Fade = __webpack_require__(546);
52059
52060 var _Fade2 = _interopRequireDefault(_Fade);
52061
52062 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
52063
52064 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; }
52065
52066 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; }
52067
52068 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
52069
52070 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; }
52071
52072 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); }
52073
52074 var propTypes = _extends({}, _BaseOverlay2["default"].propTypes, {
52075
52076 /**
52077 * 是否显示
52078 */
52079 show: _propTypes2["default"].bool,
52080 /**
52081 * 是
52082 */
52083 rootClose: _propTypes2["default"].bool,
52084 /**
52085 * 当点击rootClose触发close时的回调函数
52086 */
52087 onHide: _propTypes2["default"].func,
52088
52089 /**
52090 * 使用动画
52091 */
52092 animation: _propTypes2["default"].oneOfType([_tinperBeeCore.elementType, _propTypes2["default"].func]),
52093
52094 /**
52095 * Callback fired before the Overlay transitions in
52096 */
52097 onEnter: _propTypes2["default"].func,
52098
52099 /**
52100 * Callback fired as the Overlay begins to transition in
52101 */
52102 onEntering: _propTypes2["default"].func,
52103
52104 /**
52105 * Callback fired after the Overlay finishes transitioning in
52106 */
52107 onEntered: _propTypes2["default"].func,
52108
52109 /**
52110 * Callback fired right before the Overlay transitions out
52111 */
52112 onExit: _propTypes2["default"].func,
52113
52114 /**
52115 * Callback fired as the Overlay begins to transition out
52116 */
52117 onExiting: _propTypes2["default"].func,
52118
52119 /**
52120 * Callback fired after the Overlay finishes transitioning out
52121 */
52122 onExited: _propTypes2["default"].func,
52123
52124 /**
52125 * Sets the direction of the Overlay.
52126 */
52127 placement: _propTypes2["default"].oneOf(['top', 'right', 'bottom', 'left'])
52128 });
52129
52130 var defaultProps = {
52131 animation: _Fade2["default"],
52132 rootClose: false,
52133 show: false,
52134 placement: 'right'
52135 };
52136
52137 var Overlay = function (_Component) {
52138 _inherits(Overlay, _Component);
52139
52140 function Overlay() {
52141 _classCallCheck(this, Overlay);
52142
52143 return _possibleConstructorReturn(this, _Component.apply(this, arguments));
52144 }
52145
52146 Overlay.prototype.render = function render() {
52147 var _props = this.props,
52148 animation = _props.animation,
52149 children = _props.children,
52150 props = _objectWithoutProperties(_props, ['animation', 'children']);
52151
52152 var transition = animation === true ? _Fade2["default"] : animation || null;
52153
52154 var child = void 0;
52155
52156 if (!transition) {
52157 child = (0, _react.cloneElement)(children, {
52158 className: (0, _classnames2["default"])(children.props.className, 'in')
52159 });
52160 } else {
52161 child = children;
52162 }
52163
52164 return _react2["default"].createElement(
52165 _BaseOverlay2["default"],
52166 _extends({}, props, {
52167 transition: transition
52168 }),
52169 child
52170 );
52171 };
52172
52173 return Overlay;
52174 }(_react.Component);
52175
52176 Overlay.propTypes = propTypes;
52177 Overlay.defaultProps = defaultProps;
52178
52179 exports["default"] = Overlay;
52180 module.exports = exports['default'];
52181
52182/***/ }),
52183/* 534 */
52184/***/ (function(module, exports, __webpack_require__) {
52185
52186 'use strict';
52187
52188 Object.defineProperty(exports, "__esModule", {
52189 value: true
52190 });
52191
52192 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; };
52193
52194 var _react = __webpack_require__(4);
52195
52196 var _react2 = _interopRequireDefault(_react);
52197
52198 var _reactDom = __webpack_require__(12);
52199
52200 var _reactDom2 = _interopRequireDefault(_reactDom);
52201
52202 var _propTypes = __webpack_require__(5);
52203
52204 var _propTypes2 = _interopRequireDefault(_propTypes);
52205
52206 var _Portal = __webpack_require__(529);
52207
52208 var _Portal2 = _interopRequireDefault(_Portal);
52209
52210 var _Position = __webpack_require__(535);
52211
52212 var _Position2 = _interopRequireDefault(_Position);
52213
52214 var _RootCloseWrapper = __webpack_require__(543);
52215
52216 var _RootCloseWrapper2 = _interopRequireDefault(_RootCloseWrapper);
52217
52218 var _tinperBeeCore = __webpack_require__(26);
52219
52220 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
52221
52222 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; }
52223
52224 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; }
52225
52226 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
52227
52228 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; }
52229
52230 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); }
52231
52232 var isReact16 = _reactDom2["default"].createPortal !== undefined;
52233
52234 var propTypes = _extends({}, _Position2["default"].propTypes, {
52235
52236 /**
52237 * 是否显示
52238 */
52239 show: _propTypes2["default"].bool,
52240
52241 /**
52242 * 点击其他地方,是否隐藏overlay
52243 */
52244 rootClose: _propTypes2["default"].bool,
52245
52246 /**
52247 * 当rootClose为true的时候,触发的隐藏方法
52248 * @type func
52249 */
52250 onHide: function onHide(props) {
52251 var propType = _propTypes2["default"].func;
52252 if (props.rootClose) {
52253 propType = propType.isRequired;
52254 }
52255
52256 for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
52257 args[_key - 1] = arguments[_key];
52258 }
52259
52260 return propType.apply(undefined, [props].concat(args));
52261 },
52262
52263
52264 /**
52265 * 过渡动画组件
52266 */
52267 transition: _propTypes2["default"].oneOfType([_tinperBeeCore.elementType, _propTypes2["default"].func]),
52268
52269 /**
52270 * overlay添加动画前的钩子函数
52271 */
52272 onEnter: _propTypes2["default"].func,
52273
52274 /**
52275 * 开始动画的钩子函数
52276 */
52277 onEntering: _propTypes2["default"].func,
52278
52279 /**
52280 * 渲染之后的钩子函数
52281 */
52282 onEntered: _propTypes2["default"].func,
52283
52284 /**
52285 * 关闭开始时的钩子函数
52286 */
52287 onExit: _propTypes2["default"].func,
52288
52289 /**
52290 * 关闭时的钩子函数
52291 */
52292 onExiting: _propTypes2["default"].func,
52293
52294 /**
52295 * 关闭后的钩子函数
52296 */
52297 onExited: _propTypes2["default"].func
52298 });
52299
52300 function noop() {}
52301
52302 var defaultProps = {
52303 show: false,
52304 rootClose: true
52305 };
52306
52307 /**
52308 * 悬浮组件
52309 */
52310
52311 var BaseOverlay = function (_Component) {
52312 _inherits(BaseOverlay, _Component);
52313
52314 function BaseOverlay(props, context) {
52315 _classCallCheck(this, BaseOverlay);
52316
52317 var _this = _possibleConstructorReturn(this, _Component.call(this, props, context));
52318
52319 _this.state = { exited: !props.show };
52320 _this.onHiddenListener = _this.handleHidden.bind(_this);
52321 return _this;
52322 }
52323
52324 BaseOverlay.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
52325 if (nextProps.show) {
52326 this.setState({ exited: false });
52327 } else if (!nextProps.transition) {
52328 // Otherwise let handleHidden take care of marking exited.
52329 this.setState({ exited: true });
52330 }
52331 };
52332
52333 BaseOverlay.prototype.handleHidden = function handleHidden() {
52334 this.setState({ exited: true });
52335
52336 if (this.props.onExited) {
52337 var _props;
52338
52339 (_props = this.props).onExited.apply(_props, arguments);
52340 }
52341 };
52342
52343 BaseOverlay.prototype.render = function render() {
52344 var _props2 = this.props,
52345 container = _props2.container,
52346 containerPadding = _props2.containerPadding,
52347 target = _props2.target,
52348 placement = _props2.placement,
52349 shouldUpdatePosition = _props2.shouldUpdatePosition,
52350 rootClose = _props2.rootClose,
52351 positionLeft = _props2.positionLeft,
52352 positionTop = _props2.positionTop,
52353 children = _props2.children,
52354 Transition = _props2.transition,
52355 props = _objectWithoutProperties(_props2, ['container', 'containerPadding', 'target', 'placement', 'shouldUpdatePosition', 'rootClose', 'positionLeft', 'positionTop', 'children', 'transition']);
52356
52357 // Don't un-render the overlay while it's transitioning out.
52358
52359
52360 var mountOverlay = props.show || Transition && !this.state.exited;
52361 if (!mountOverlay) {
52362 // Don't bother showing anything if we don't have to.
52363 return null;
52364 }
52365
52366 var child = children;
52367
52368 // Position is be inner-most because it adds inline styles into the child,
52369 // which the other wrappers don't forward correctly.
52370 child = _react2["default"].createElement(
52371 _Position2["default"],
52372 {
52373 container: container,
52374 containerPadding: containerPadding,
52375 target: target,
52376 positionLeft: positionLeft,
52377 positionTop: positionTop,
52378 placement: placement,
52379 shouldUpdatePosition: shouldUpdatePosition },
52380 child
52381 );
52382
52383 if (Transition) {
52384 var onExit = props.onExit,
52385 onExiting = props.onExiting,
52386 onEnter = props.onEnter,
52387 onEntering = props.onEntering,
52388 onEntered = props.onEntered;
52389
52390 // This animates the child node by injecting props, so it must precede
52391 // anything that adds a wrapping div.
52392
52393 child = _react2["default"].createElement(
52394 Transition,
52395 {
52396 'in': props.show,
52397 transitionAppear: true,
52398 onExit: onExit,
52399 onExiting: onExiting,
52400 onExited: this.onHiddenListener,
52401 onEnter: onEnter,
52402 onEntering: onEntering,
52403 onEntered: onEntered
52404 },
52405 child
52406 );
52407 }
52408
52409 // This goes after everything else because it adds a wrapping div.
52410 if (rootClose) {
52411 child = _react2["default"].createElement(
52412 _RootCloseWrapper2["default"],
52413 { onRootClose: props.onHide },
52414 child
52415 );
52416 }
52417
52418 if (isReact16) {
52419 return child;
52420 } else {
52421 return _react2["default"].createElement(
52422 _Portal2["default"],
52423 { container: container },
52424 child
52425 );
52426 }
52427 };
52428
52429 return BaseOverlay;
52430 }(_react.Component);
52431
52432 BaseOverlay.propTypes = propTypes;
52433 BaseOverlay.defaultProps = defaultProps;
52434
52435 exports["default"] = BaseOverlay;
52436 module.exports = exports['default'];
52437
52438/***/ }),
52439/* 535 */
52440/***/ (function(module, exports, __webpack_require__) {
52441
52442 'use strict';
52443
52444 Object.defineProperty(exports, "__esModule", {
52445 value: true
52446 });
52447
52448 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; };
52449
52450 var _classnames = __webpack_require__(3);
52451
52452 var _classnames2 = _interopRequireDefault(_classnames);
52453
52454 var _react = __webpack_require__(4);
52455
52456 var _react2 = _interopRequireDefault(_react);
52457
52458 var _propTypes = __webpack_require__(5);
52459
52460 var _propTypes2 = _interopRequireDefault(_propTypes);
52461
52462 var _reactDom = __webpack_require__(12);
52463
52464 var _reactDom2 = _interopRequireDefault(_reactDom);
52465
52466 var _tinperBeeCore = __webpack_require__(26);
52467
52468 var _calculatePosition = __webpack_require__(536);
52469
52470 var _calculatePosition2 = _interopRequireDefault(_calculatePosition);
52471
52472 var _getContainer = __webpack_require__(532);
52473
52474 var _getContainer2 = _interopRequireDefault(_getContainer);
52475
52476 var _ownerDocument = __webpack_require__(530);
52477
52478 var _ownerDocument2 = _interopRequireDefault(_ownerDocument);
52479
52480 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
52481
52482 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; }
52483
52484 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; }
52485
52486 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
52487
52488 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; }
52489
52490 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); }
52491
52492 var propTypes = {
52493 /**
52494 * 要设置定位的元素
52495 */
52496 target: _propTypes2["default"].oneOfType([_tinperBeeCore.componentOrElement, _propTypes2["default"].func]),
52497
52498 /**
52499 * 存放的容器元素
52500 */
52501 container: _propTypes2["default"].oneOfType([_tinperBeeCore.componentOrElement, _propTypes2["default"].func]),
52502 /**
52503 * 容器padding值
52504 */
52505 containerPadding: _propTypes2["default"].number,
52506 /**
52507 * 位置设置
52508 */
52509 placement: _propTypes2["default"].oneOf(['top', 'right', 'bottom', 'left']),
52510 /**
52511 * 是否需要更新位置
52512 */
52513 shouldUpdatePosition: _propTypes2["default"].bool
52514 };
52515
52516 var defaultProps = {
52517 containerPadding: 0,
52518 placement: 'right',
52519 shouldUpdatePosition: false
52520 };
52521
52522 /**
52523 * 计算子组件的位置的组件
52524 */
52525
52526 var Position = function (_Component) {
52527 _inherits(Position, _Component);
52528
52529 function Position(props, context) {
52530 _classCallCheck(this, Position);
52531
52532 var _this = _possibleConstructorReturn(this, _Component.call(this, props, context));
52533
52534 _this.state = {
52535 positionLeft: 0,
52536 positionTop: 0,
52537 arrowOffsetLeft: null,
52538 arrowOffsetTop: null
52539 };
52540
52541 _this.needsFlush = false;
52542 _this.lastTarget = null;
52543
52544 _this.getTarget = _this.getTarget.bind(_this);
52545 _this.maybeUpdatePosition = _this.maybeUpdatePosition.bind(_this);
52546 _this.updatePosition = _this.updatePosition.bind(_this);
52547 return _this;
52548 }
52549
52550 Position.prototype.componentDidMount = function componentDidMount() {
52551 this.updatePosition(this.getTarget());
52552 };
52553
52554 Position.prototype.componentWillReceiveProps = function componentWillReceiveProps() {
52555 this.needsFlush = true;
52556 };
52557
52558 Position.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {
52559 if (this.needsFlush) {
52560 this.needsFlush = false;
52561
52562 this.maybeUpdatePosition();
52563 }
52564 };
52565
52566 /**
52567 * 获取要设置位置的子元素
52568 */
52569
52570
52571 Position.prototype.getTarget = function getTarget() {
52572 var target = this.props.target;
52573
52574 var targetElement = typeof target === 'function' ? target() : target;
52575 return targetElement && _reactDom2["default"].findDOMNode(targetElement) || null;
52576 };
52577
52578 /**
52579 * 验证是否需要更新位置
52580 */
52581
52582
52583 Position.prototype.maybeUpdatePosition = function maybeUpdatePosition(placementChanged) {
52584 var target = this.getTarget();
52585 if (!this.props.shouldUpdatePosition && target === this.lastTarget && !placementChanged) {
52586 return;
52587 }
52588
52589 this.updatePosition(target);
52590 };
52591
52592 /**
52593 * 更新位置
52594 */
52595
52596 Position.prototype.updatePosition = function updatePosition(target) {
52597 this.lastTarget = target;
52598
52599 if (!target) {
52600 this.setState({
52601 positionLeft: 0,
52602 positionTop: 0,
52603 arrowOffsetLeft: null,
52604 arrowOffsetTop: null
52605 });
52606
52607 return;
52608 }
52609
52610 var overlay = _reactDom2["default"].findDOMNode(this);
52611 var container = (0, _getContainer2["default"])(this.props.container, (0, _ownerDocument2["default"])(this).body);
52612
52613 this.setState((0, _calculatePosition2["default"])(this.props.placement, overlay, target, container, this.props.containerPadding));
52614 };
52615
52616 Position.prototype.render = function render() {
52617 var _props = this.props,
52618 children = _props.children,
52619 className = _props.className,
52620 props = _objectWithoutProperties(_props, ['children', 'className']);
52621
52622 var _state = this.state,
52623 positionLeft = _state.positionLeft,
52624 positionTop = _state.positionTop,
52625 inverseArrow = _state.inverseArrow,
52626 arrowPosition = _objectWithoutProperties(_state, ['positionLeft', 'positionTop', 'inverseArrow']);
52627
52628 // These should not be forwarded to the child.
52629
52630
52631 delete props.target;
52632 delete props.container;
52633 delete props.containerPadding;
52634 delete props.shouldUpdatePosition;
52635
52636 var child = _react2["default"].Children.only(children);
52637 return (0, _react.cloneElement)(child, {
52638 className: (0, _classnames2["default"])(className, child.props.className, { 'inverse-arrow': inverseArrow }),
52639 style: _extends({}, child.props.style, {
52640 left: positionLeft,
52641 top: positionTop
52642 })
52643 });
52644 };
52645
52646 return Position;
52647 }(_react.Component);
52648
52649 Position.propTypes = propTypes;
52650 Position.defaultProps = defaultProps;
52651
52652 exports["default"] = Position;
52653 module.exports = exports['default'];
52654
52655/***/ }),
52656/* 536 */
52657/***/ (function(module, exports, __webpack_require__) {
52658
52659 'use strict';
52660
52661 Object.defineProperty(exports, "__esModule", {
52662 value: true
52663 });
52664 exports["default"] = calculatePosition;
52665
52666 var _offset = __webpack_require__(537);
52667
52668 var _offset2 = _interopRequireDefault(_offset);
52669
52670 var _position = __webpack_require__(539);
52671
52672 var _position2 = _interopRequireDefault(_position);
52673
52674 var _scrollTop = __webpack_require__(541);
52675
52676 var _scrollTop2 = _interopRequireDefault(_scrollTop);
52677
52678 var _ownerDocument = __webpack_require__(530);
52679
52680 var _ownerDocument2 = _interopRequireDefault(_ownerDocument);
52681
52682 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
52683
52684 function getContainerDimensions(containerNode) {
52685 var width = void 0,
52686 height = void 0,
52687 scroll = void 0;
52688
52689 if (containerNode.tagName === 'BODY') {
52690 width = window.innerWidth;
52691 height = window.innerHeight;
52692
52693 scroll = (0, _scrollTop2["default"])((0, _ownerDocument2["default"])(containerNode).documentElement) || (0, _scrollTop2["default"])(containerNode);
52694 } else {
52695 var _getOffset = (0, _offset2["default"])(containerNode);
52696
52697 width = _getOffset.width;
52698 height = _getOffset.height;
52699
52700 scroll = (0, _scrollTop2["default"])(containerNode);
52701 }
52702
52703 return { width: width, height: height, scroll: scroll };
52704 }
52705
52706 function getTopDelta(top, overlayHeight, container, padding) {
52707 var containerDimensions = getContainerDimensions(container);
52708 var containerScroll = containerDimensions.scroll;
52709 var containerHeight = containerDimensions.height;
52710
52711 var topEdgeOffset = top - padding - containerScroll;
52712 var bottomEdgeOffset = top + padding - containerScroll + overlayHeight;
52713
52714 if (topEdgeOffset < 0) {
52715 return -topEdgeOffset;
52716 } else if (bottomEdgeOffset > containerHeight) {
52717 return containerHeight - bottomEdgeOffset;
52718 } else {
52719 return 0;
52720 }
52721 }
52722
52723 function getLeftDelta(left, overlayWidth, container, padding) {
52724 var containerDimensions = getContainerDimensions(container);
52725 var containerWidth = containerDimensions.width;
52726
52727 var leftEdgeOffset = left - padding;
52728 var rightEdgeOffset = left + padding + overlayWidth;
52729
52730 if (leftEdgeOffset < 0) {
52731 return -leftEdgeOffset;
52732 } else if (rightEdgeOffset > containerWidth) {
52733 return containerWidth - rightEdgeOffset;
52734 }
52735
52736 return 0;
52737 }
52738
52739 function calculatePosition(placement, overlayNode, target, container, padding) {
52740 var childOffset = container.tagName === 'BODY' ? (0, _offset2["default"])(target) : (0, _position2["default"])(target, container);
52741
52742 var _getOffset2 = (0, _offset2["default"])(overlayNode),
52743 overlayHeight = _getOffset2.height,
52744 overlayWidth = _getOffset2.width;
52745
52746 var positionLeft = void 0,
52747 positionTop = void 0,
52748 arrowOffsetLeft = void 0,
52749 arrowOffsetTop = void 0,
52750 inverseArrow = void 0;
52751
52752 if (/^left|^right/.test(placement)) {
52753 positionTop = childOffset.top + (childOffset.height - overlayHeight) / 2;
52754
52755 if (/left/.test(placement)) {
52756 positionLeft = childOffset.left - overlayWidth;
52757 } else {
52758 positionLeft = childOffset.left + childOffset.width;
52759 }
52760
52761 if (/Top/.test(placement)) {
52762 positionTop = childOffset.top;
52763 } else if (/Bottom/.test(placement)) {
52764 positionTop = childOffset.top + childOffset.height - overlayHeight;
52765 }
52766
52767 var topDelta = getTopDelta(positionTop, overlayHeight, container, padding);
52768 var leftDelta = getLeftDelta(positionLeft, overlayWidth, container, padding);
52769 //内容超出
52770 if (leftDelta > 0) {
52771 inverseArrow = true;
52772 positionLeft = childOffset.left + childOffset.width + 6;
52773 } else if (leftDelta < 0) {
52774 inverseArrow = true;
52775 positionLeft = childOffset.left - overlayWidth - 6;
52776 } else {
52777 positionLeft += leftDelta;
52778 }
52779 positionTop += topDelta;
52780 arrowOffsetTop = 50 * (1 - 2 * topDelta / overlayHeight) + '%';
52781 arrowOffsetLeft = void 0;
52782 } else if (/^top|^bottom/.test(placement)) {
52783 positionLeft = childOffset.left + (childOffset.width - overlayWidth) / 2;
52784
52785 if (/top/.test(placement)) {
52786 positionTop = childOffset.top - overlayHeight;
52787 } else {
52788 positionTop = childOffset.top + childOffset.height;
52789 }
52790
52791 if (/Left/.test(placement)) {
52792 positionLeft = childOffset.left;
52793 } else if (/Right/.test(placement)) {
52794 positionLeft = childOffset.left + (childOffset.width - overlayWidth);
52795 }
52796
52797 var _leftDelta = getLeftDelta(positionLeft, overlayWidth, container, padding);
52798 var _topDelta = getTopDelta(positionTop, overlayHeight, container, padding);
52799 positionLeft += _leftDelta;
52800 arrowOffsetLeft = 50 * (1 - 2 * _leftDelta / overlayWidth) + '%';
52801 arrowOffsetTop = void 0;
52802 if (_topDelta > 0) {
52803 inverseArrow = true;
52804 positionTop = childOffset.top + childOffset.height + 6;
52805 } else if (_topDelta < 0) {
52806 inverseArrow = true;
52807 positionTop = childOffset.top - overlayHeight - 6;
52808 } else {
52809 positionTop += _topDelta;
52810 }
52811
52812 // if((positionLeft + panelWidth) > docWidth)
52813 // left = docWidth - panelWidth - 10;
52814 // if(left < 0)
52815 // left = 0;
52816
52817 // if((top + panelHeight) > docHeight) {
52818 // top = docHeight - panelHeight - 10;
52819 // }
52820
52821 // if(top < 0)
52822 // top = 0;
52823 } else {
52824 throw new Error('calcOverlayPosition(): No such placement of "' + placement + '" found.');
52825 }
52826
52827 return { positionLeft: positionLeft, positionTop: positionTop, arrowOffsetLeft: arrowOffsetLeft, arrowOffsetTop: arrowOffsetTop, inverseArrow: inverseArrow };
52828 }
52829 module.exports = exports['default'];
52830
52831/***/ }),
52832/* 537 */
52833/***/ (function(module, exports, __webpack_require__) {
52834
52835 'use strict';
52836
52837 Object.defineProperty(exports, "__esModule", {
52838 value: true
52839 });
52840 exports.default = offset;
52841
52842 var _contains = __webpack_require__(292);
52843
52844 var _contains2 = _interopRequireDefault(_contains);
52845
52846 var _isWindow = __webpack_require__(538);
52847
52848 var _isWindow2 = _interopRequireDefault(_isWindow);
52849
52850 var _ownerDocument = __webpack_require__(531);
52851
52852 var _ownerDocument2 = _interopRequireDefault(_ownerDocument);
52853
52854 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
52855
52856 function offset(node) {
52857 var doc = (0, _ownerDocument2.default)(node),
52858 win = (0, _isWindow2.default)(doc),
52859 docElem = doc && doc.documentElement,
52860 box = { top: 0, left: 0, height: 0, width: 0 };
52861
52862 if (!doc) return;
52863
52864 // Make sure it's not a disconnected DOM node
52865 if (!(0, _contains2.default)(docElem, node)) return box;
52866
52867 if (node.getBoundingClientRect !== undefined) box = node.getBoundingClientRect();
52868
52869 // IE8 getBoundingClientRect doesn't support width & height
52870 box = {
52871 top: box.top + (win.pageYOffset || docElem.scrollTop) - (docElem.clientTop || 0),
52872 left: box.left + (win.pageXOffset || docElem.scrollLeft) - (docElem.clientLeft || 0),
52873 width: (box.width == null ? node.offsetWidth : box.width) || 0,
52874 height: (box.height == null ? node.offsetHeight : box.height) || 0
52875 };
52876
52877 return box;
52878 }
52879 module.exports = exports['default'];
52880
52881/***/ }),
52882/* 538 */
52883/***/ (function(module, exports) {
52884
52885 "use strict";
52886
52887 Object.defineProperty(exports, "__esModule", {
52888 value: true
52889 });
52890 exports.default = getWindow;
52891 function getWindow(node) {
52892 return node === node.window ? node : node.nodeType === 9 ? node.defaultView || node.parentWindow : false;
52893 }
52894 module.exports = exports["default"];
52895
52896/***/ }),
52897/* 539 */
52898/***/ (function(module, exports, __webpack_require__) {
52899
52900 'use strict';
52901
52902 Object.defineProperty(exports, "__esModule", {
52903 value: true
52904 });
52905
52906 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; };
52907
52908 exports.default = position;
52909
52910 var _offset = __webpack_require__(537);
52911
52912 var _offset2 = _interopRequireDefault(_offset);
52913
52914 var _offsetParent = __webpack_require__(540);
52915
52916 var _offsetParent2 = _interopRequireDefault(_offsetParent);
52917
52918 var _scrollTop = __webpack_require__(541);
52919
52920 var _scrollTop2 = _interopRequireDefault(_scrollTop);
52921
52922 var _scrollLeft = __webpack_require__(542);
52923
52924 var _scrollLeft2 = _interopRequireDefault(_scrollLeft);
52925
52926 var _style = __webpack_require__(17);
52927
52928 var _style2 = _interopRequireDefault(_style);
52929
52930 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
52931
52932 function nodeName(node) {
52933 return node.nodeName && node.nodeName.toLowerCase();
52934 }
52935
52936 function position(node, offsetParent) {
52937 var parentOffset = { top: 0, left: 0 },
52938 offset;
52939
52940 // Fixed elements are offset from window (parentOffset = {top:0, left: 0},
52941 // because it is its only offset parent
52942 if ((0, _style2.default)(node, 'position') === 'fixed') {
52943 offset = node.getBoundingClientRect();
52944 } else {
52945 offsetParent = offsetParent || (0, _offsetParent2.default)(node);
52946 offset = (0, _offset2.default)(node);
52947
52948 if (nodeName(offsetParent) !== 'html') parentOffset = (0, _offset2.default)(offsetParent);
52949
52950 parentOffset.top += parseInt((0, _style2.default)(offsetParent, 'borderTopWidth'), 10) - (0, _scrollTop2.default)(offsetParent) || 0;
52951 parentOffset.left += parseInt((0, _style2.default)(offsetParent, 'borderLeftWidth'), 10) - (0, _scrollLeft2.default)(offsetParent) || 0;
52952 }
52953
52954 // Subtract parent offsets and node margins
52955 return _extends({}, offset, {
52956 top: offset.top - parentOffset.top - (parseInt((0, _style2.default)(node, 'marginTop'), 10) || 0),
52957 left: offset.left - parentOffset.left - (parseInt((0, _style2.default)(node, 'marginLeft'), 10) || 0)
52958 });
52959 }
52960 module.exports = exports['default'];
52961
52962/***/ }),
52963/* 540 */
52964/***/ (function(module, exports, __webpack_require__) {
52965
52966 'use strict';
52967
52968 Object.defineProperty(exports, "__esModule", {
52969 value: true
52970 });
52971 exports.default = offsetParent;
52972
52973 var _ownerDocument = __webpack_require__(531);
52974
52975 var _ownerDocument2 = _interopRequireDefault(_ownerDocument);
52976
52977 var _style = __webpack_require__(17);
52978
52979 var _style2 = _interopRequireDefault(_style);
52980
52981 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
52982
52983 function nodeName(node) {
52984 return node.nodeName && node.nodeName.toLowerCase();
52985 }
52986
52987 function offsetParent(node) {
52988 var doc = (0, _ownerDocument2.default)(node),
52989 offsetParent = node && node.offsetParent;
52990
52991 while (offsetParent && nodeName(node) !== 'html' && (0, _style2.default)(offsetParent, 'position') === 'static') {
52992 offsetParent = offsetParent.offsetParent;
52993 }
52994
52995 return offsetParent || doc.documentElement;
52996 }
52997 module.exports = exports['default'];
52998
52999/***/ }),
53000/* 541 */
53001/***/ (function(module, exports, __webpack_require__) {
53002
53003 'use strict';
53004
53005 Object.defineProperty(exports, "__esModule", {
53006 value: true
53007 });
53008 exports.default = scrollTop;
53009
53010 var _isWindow = __webpack_require__(538);
53011
53012 var _isWindow2 = _interopRequireDefault(_isWindow);
53013
53014 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
53015
53016 function scrollTop(node, val) {
53017 var win = (0, _isWindow2.default)(node);
53018
53019 if (val === undefined) return win ? 'pageYOffset' in win ? win.pageYOffset : win.document.documentElement.scrollTop : node.scrollTop;
53020
53021 if (win) win.scrollTo('pageXOffset' in win ? win.pageXOffset : win.document.documentElement.scrollLeft, val);else node.scrollTop = val;
53022 }
53023 module.exports = exports['default'];
53024
53025/***/ }),
53026/* 542 */
53027/***/ (function(module, exports, __webpack_require__) {
53028
53029 'use strict';
53030
53031 Object.defineProperty(exports, "__esModule", {
53032 value: true
53033 });
53034 exports.default = scrollTop;
53035
53036 var _isWindow = __webpack_require__(538);
53037
53038 var _isWindow2 = _interopRequireDefault(_isWindow);
53039
53040 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
53041
53042 function scrollTop(node, val) {
53043 var win = (0, _isWindow2.default)(node);
53044
53045 if (val === undefined) return win ? 'pageXOffset' in win ? win.pageXOffset : win.document.documentElement.scrollLeft : node.scrollLeft;
53046
53047 if (win) win.scrollTo(val, 'pageYOffset' in win ? win.pageYOffset : win.document.documentElement.scrollTop);else node.scrollLeft = val;
53048 }
53049 module.exports = exports['default'];
53050
53051/***/ }),
53052/* 543 */
53053/***/ (function(module, exports, __webpack_require__) {
53054
53055 'use strict';
53056
53057 Object.defineProperty(exports, "__esModule", {
53058 value: true
53059 });
53060
53061 var _contains = __webpack_require__(292);
53062
53063 var _contains2 = _interopRequireDefault(_contains);
53064
53065 var _react = __webpack_require__(4);
53066
53067 var _react2 = _interopRequireDefault(_react);
53068
53069 var _propTypes = __webpack_require__(5);
53070
53071 var _propTypes2 = _interopRequireDefault(_propTypes);
53072
53073 var _reactDom = __webpack_require__(12);
53074
53075 var _reactDom2 = _interopRequireDefault(_reactDom);
53076
53077 var _addEventListener = __webpack_require__(544);
53078
53079 var _addEventListener2 = _interopRequireDefault(_addEventListener);
53080
53081 var _ownerDocument = __webpack_require__(530);
53082
53083 var _ownerDocument2 = _interopRequireDefault(_ownerDocument);
53084
53085 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
53086
53087 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; }
53088
53089 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
53090
53091 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; }
53092
53093 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); }
53094
53095 var propTypes = {
53096 onRootClose: _propTypes2["default"].func,
53097 children: _propTypes2["default"].element,
53098 /**
53099 * 是否禁用
53100 */
53101 disabled: _propTypes2["default"].bool,
53102 /**
53103 * 触发事件选择
53104 */
53105 event: _propTypes2["default"].oneOf(['click', 'mousedown'])
53106 };
53107
53108 var defaultProps = {
53109 event: 'click'
53110 };
53111
53112 function isLeftClickEvent(event) {
53113 return event.button === 0;
53114 }
53115
53116 function isModifiedEvent(event) {
53117 return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);
53118 }
53119
53120 var RootCloseWrapper = function (_Component) {
53121 _inherits(RootCloseWrapper, _Component);
53122
53123 function RootCloseWrapper(props, context) {
53124 _classCallCheck(this, RootCloseWrapper);
53125
53126 var _this = _possibleConstructorReturn(this, _Component.call(this, props, context));
53127
53128 _this.handleMouseCapture = function (e) {
53129 _this.preventMouseRootClose = isModifiedEvent(e) || !isLeftClickEvent(e) || (0, _contains2["default"])(_reactDom2["default"].findDOMNode(_this), e.target);
53130 };
53131
53132 _this.handleMouse = function () {
53133 if (!_this.preventMouseRootClose && _this.props.onRootClose) {
53134 _this.props.onRootClose();
53135 }
53136 };
53137
53138 _this.handleKeyUp = function (e) {
53139 if (e.keyCode === 27 && _this.props.onRootClose) {
53140 _this.props.onRootClose();
53141 }
53142 };
53143
53144 _this.preventMouseRootClose = false;
53145
53146 _this.addEventListeners = _this.addEventListeners.bind(_this);
53147 _this.removeEventListeners = _this.removeEventListeners.bind(_this);
53148
53149 return _this;
53150 }
53151
53152 RootCloseWrapper.prototype.componentDidMount = function componentDidMount() {
53153 if (!this.props.disabled) {
53154 this.addEventListeners();
53155 }
53156 };
53157
53158 RootCloseWrapper.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {
53159 if (!this.props.disabled && prevProps.disabled) {
53160 this.addEventListeners();
53161 } else if (this.props.disabled && !prevProps.disabled) {
53162 this.removeEventListeners();
53163 }
53164 };
53165
53166 RootCloseWrapper.prototype.componentWillUnmount = function componentWillUnmount() {
53167 if (!this.props.disabled) {
53168 this.removeEventListeners();
53169 }
53170 };
53171
53172 RootCloseWrapper.prototype.addEventListeners = function addEventListeners() {
53173 var event = this.props.event;
53174
53175 var doc = (0, _ownerDocument2["default"])(this);
53176
53177 // 避免react的监听事件触发引起判断的不准确
53178 this.documentMouseCaptureListener = (0, _addEventListener2["default"])(doc, event, this.handleMouseCapture, true);
53179
53180 this.documentMouseListener = (0, _addEventListener2["default"])(doc, event, this.handleMouse);
53181
53182 this.documentKeyupListener = (0, _addEventListener2["default"])(doc, 'keyup', this.handleKeyUp);
53183 };
53184
53185 RootCloseWrapper.prototype.removeEventListeners = function removeEventListeners() {
53186 if (this.documentMouseCaptureListener) {
53187 this.documentMouseCaptureListener.remove();
53188 }
53189
53190 if (this.documentMouseListener) {
53191 this.documentMouseListener.remove();
53192 }
53193
53194 if (this.documentKeyupListener) {
53195 this.documentKeyupListener.remove();
53196 }
53197 };
53198
53199 RootCloseWrapper.prototype.render = function render() {
53200 return this.props.children;
53201 };
53202
53203 return RootCloseWrapper;
53204 }(_react.Component);
53205
53206 RootCloseWrapper.propTypes = propTypes;
53207
53208 RootCloseWrapper.defaultProps = defaultProps;
53209
53210 exports["default"] = RootCloseWrapper;
53211 module.exports = exports['default'];
53212
53213/***/ }),
53214/* 544 */
53215/***/ (function(module, exports, __webpack_require__) {
53216
53217 'use strict';
53218
53219 Object.defineProperty(exports, "__esModule", {
53220 value: true
53221 });
53222
53223 exports["default"] = function (node, event, handler, capture) {
53224 (0, _on2["default"])(node, event, handler, capture);
53225
53226 return {
53227 remove: function remove() {
53228 (0, _off2["default"])(node, event, handler, capture);
53229 }
53230 };
53231 };
53232
53233 var _on = __webpack_require__(15);
53234
53235 var _on2 = _interopRequireDefault(_on);
53236
53237 var _off = __webpack_require__(545);
53238
53239 var _off2 = _interopRequireDefault(_off);
53240
53241 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
53242
53243 module.exports = exports['default'];
53244
53245/***/ }),
53246/* 545 */
53247/***/ (function(module, exports, __webpack_require__) {
53248
53249 'use strict';
53250
53251 Object.defineProperty(exports, "__esModule", {
53252 value: true
53253 });
53254
53255 var _inDOM = __webpack_require__(14);
53256
53257 var _inDOM2 = _interopRequireDefault(_inDOM);
53258
53259 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
53260
53261 var off = function off() {};
53262 if (_inDOM2.default) {
53263 off = function () {
53264 if (document.addEventListener) return function (node, eventName, handler, capture) {
53265 return node.removeEventListener(eventName, handler, capture || false);
53266 };else if (document.attachEvent) return function (node, eventName, handler) {
53267 return node.detachEvent('on' + eventName, handler);
53268 };
53269 }();
53270 }
53271
53272 exports.default = off;
53273 module.exports = exports['default'];
53274
53275/***/ }),
53276/* 546 */
53277/***/ (function(module, exports, __webpack_require__) {
53278
53279 'use strict';
53280
53281 Object.defineProperty(exports, "__esModule", {
53282 value: true
53283 });
53284
53285 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; };
53286
53287 var _classnames = __webpack_require__(3);
53288
53289 var _classnames2 = _interopRequireDefault(_classnames);
53290
53291 var _propTypes = __webpack_require__(5);
53292
53293 var _propTypes2 = _interopRequireDefault(_propTypes);
53294
53295 var _react = __webpack_require__(4);
53296
53297 var _react2 = _interopRequireDefault(_react);
53298
53299 var _Transition = __webpack_require__(547);
53300
53301 var _Transition2 = _interopRequireDefault(_Transition);
53302
53303 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
53304
53305 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; }
53306
53307 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
53308
53309 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; }
53310
53311 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); }
53312
53313 var propTypes = {
53314 /**
53315 * Show the component; triggers the fade in or fade out animation
53316 */
53317 "in": _propTypes2["default"].bool,
53318
53319 /**
53320 * Unmount the component (remove it from the DOM) when it is faded out
53321 */
53322 unmountOnExit: _propTypes2["default"].bool,
53323
53324 /**
53325 * Run the fade in animation when the component mounts, if it is initially
53326 * shown
53327 */
53328 transitionAppear: _propTypes2["default"].bool,
53329
53330 /**
53331 * Duration of the fade animation in milliseconds, to ensure that finishing
53332 * callbacks are fired even if the original browser transition end events are
53333 * canceled
53334 */
53335 timeout: _propTypes2["default"].number,
53336
53337 /**
53338 * Callback fired before the component fades in
53339 */
53340 onEnter: _propTypes2["default"].func,
53341 /**
53342 * Callback fired after the component starts to fade in
53343 */
53344 onEntering: _propTypes2["default"].func,
53345 /**
53346 * Callback fired after the has component faded in
53347 */
53348 onEntered: _propTypes2["default"].func,
53349 /**
53350 * Callback fired before the component fades out
53351 */
53352 onExit: _propTypes2["default"].func,
53353 /**
53354 * Callback fired after the component starts to fade out
53355 */
53356 onExiting: _propTypes2["default"].func,
53357 /**
53358 * Callback fired after the component has faded out
53359 */
53360 onExited: _propTypes2["default"].func
53361 };
53362
53363 var defaultProps = {
53364 "in": false,
53365 timeout: 300,
53366 unmountOnExit: false,
53367 transitionAppear: false
53368 };
53369
53370 var Fade = function (_React$Component) {
53371 _inherits(Fade, _React$Component);
53372
53373 function Fade() {
53374 _classCallCheck(this, Fade);
53375
53376 return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));
53377 }
53378
53379 Fade.prototype.render = function render() {
53380 return _react2["default"].createElement(_Transition2["default"], _extends({}, this.props, {
53381 className: (0, _classnames2["default"])(this.props.className, 'fade'),
53382 enteredClassName: 'in',
53383 enteringClassName: 'in'
53384 }));
53385 };
53386
53387 return Fade;
53388 }(_react2["default"].Component);
53389
53390 Fade.propTypes = propTypes;
53391 Fade.defaultProps = defaultProps;
53392
53393 exports["default"] = Fade;
53394 module.exports = exports['default'];
53395
53396/***/ }),
53397/* 547 */
53398/***/ (function(module, exports, __webpack_require__) {
53399
53400 'use strict';
53401
53402 Object.defineProperty(exports, "__esModule", {
53403 value: true
53404 });
53405 exports.EXITING = exports.ENTERED = exports.ENTERING = exports.EXITED = exports.UNMOUNTED = undefined;
53406
53407 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; };
53408
53409 var _react = __webpack_require__(4);
53410
53411 var _react2 = _interopRequireDefault(_react);
53412
53413 var _propTypes = __webpack_require__(5);
53414
53415 var _propTypes2 = _interopRequireDefault(_propTypes);
53416
53417 var _reactDom = __webpack_require__(12);
53418
53419 var _reactDom2 = _interopRequireDefault(_reactDom);
53420
53421 var _properties = __webpack_require__(13);
53422
53423 var _properties2 = _interopRequireDefault(_properties);
53424
53425 var _on = __webpack_require__(15);
53426
53427 var _on2 = _interopRequireDefault(_on);
53428
53429 var _classnames = __webpack_require__(3);
53430
53431 var _classnames2 = _interopRequireDefault(_classnames);
53432
53433 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
53434
53435 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; }
53436
53437 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; }
53438
53439 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
53440
53441 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; }
53442
53443 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); }
53444
53445 var transitionEndEvent = _properties2["default"].end;
53446
53447 //设置状态码
53448 var UNMOUNTED = exports.UNMOUNTED = 0;
53449 var EXITED = exports.EXITED = 1;
53450 var ENTERING = exports.ENTERING = 2;
53451 var ENTERED = exports.ENTERED = 3;
53452 var EXITING = exports.EXITING = 4;
53453
53454 var propTypes = {
53455 /**
53456 * 是否触发动画
53457 */
53458 "in": _propTypes2["default"].bool,
53459
53460 /**
53461 * 不显示的时候是否移除组件
53462 */
53463 unmountOnExit: _propTypes2["default"].bool,
53464
53465 /**
53466 * 如果设置为默认显示,挂载时显示动画
53467 */
53468 transitionAppear: _propTypes2["default"].bool,
53469
53470 /**
53471 * 设置超时时间,防止出现问题,可设置为>=动画时间
53472 */
53473 timeout: _propTypes2["default"].number,
53474
53475 /**
53476 * 退出组件时添加的class
53477 */
53478 exitedClassName: _propTypes2["default"].string,
53479 /**
53480 * 退出组件中添加的class
53481 */
53482 exitingClassName: _propTypes2["default"].string,
53483 /**
53484 * 进入动画后添加的class
53485 */
53486 enteredClassName: _propTypes2["default"].string,
53487 /**
53488 * 进入动画时添加的class
53489 */
53490 enteringClassName: _propTypes2["default"].string,
53491
53492 /**
53493 * 进入动画开始时的钩子函数
53494 */
53495 onEnter: _propTypes2["default"].func,
53496 /**
53497 * 进入动画中的钩子函数
53498 */
53499 onEntering: _propTypes2["default"].func,
53500 /**
53501 * 进入动画后的钩子函数
53502 */
53503 onEntered: _propTypes2["default"].func,
53504 /**
53505 * 退出动画开始时的钩子函数
53506 */
53507 onExit: _propTypes2["default"].func,
53508 /**
53509 * 退出动画中的钩子函数
53510 */
53511 onExiting: _propTypes2["default"].func,
53512 /**
53513 * 退出动画后的钩子函数
53514 */
53515 onExited: _propTypes2["default"].func
53516 };
53517
53518 function noop() {}
53519
53520 var defaultProps = {
53521 "in": false,
53522 unmountOnExit: false,
53523 transitionAppear: false,
53524 timeout: 5000,
53525 onEnter: noop,
53526 onEntering: noop,
53527 onEntered: noop,
53528 onExit: noop,
53529 onExiting: noop,
53530 onExited: noop
53531 };
53532
53533 /**
53534 * 动画组件
53535 */
53536
53537 var Transition = function (_Component) {
53538 _inherits(Transition, _Component);
53539
53540 function Transition(props, context) {
53541 _classCallCheck(this, Transition);
53542
53543 var _this = _possibleConstructorReturn(this, _Component.call(this, props, context));
53544
53545 var initialStatus = void 0;
53546 if (props["in"]) {
53547 // 在componentdidmount时开始执行动画
53548 initialStatus = props.transitionAppear ? EXITED : ENTERED;
53549 } else {
53550 initialStatus = props.unmountOnExit ? UNMOUNTED : EXITED;
53551 }
53552 _this.state = { status: initialStatus };
53553
53554 _this.nextCallback = null;
53555
53556 _this.performEnter = _this.performEnter.bind(_this);
53557 _this.performExit = _this.performExit.bind(_this);
53558 _this.cancelNextCallback = _this.cancelNextCallback.bind(_this);
53559 _this.onTransitionEnd = _this.onTransitionEnd.bind(_this);
53560 _this.safeSetState = _this.safeSetState.bind(_this);
53561 _this.setNextCallback = _this.setNextCallback.bind(_this);
53562
53563 return _this;
53564 }
53565
53566 Transition.prototype.componentDidMount = function componentDidMount() {
53567 if (this.props.transitionAppear && this.props["in"]) {
53568 this.performEnter(this.props);
53569 }
53570 };
53571
53572 Transition.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
53573 if (nextProps["in"] && this.props.unmountOnExit) {
53574 if (this.state.status === UNMOUNTED) {
53575 // 在componentDidUpdate执行动画.
53576 this.setState({ status: EXITED });
53577 }
53578 } else {
53579 this._needsUpdate = true;
53580 }
53581 };
53582
53583 Transition.prototype.componentDidUpdate = function componentDidUpdate() {
53584 var status = this.state.status;
53585
53586 if (this.props.unmountOnExit && status === EXITED) {
53587 // 当使用unmountOnExit时,exited为exiting和unmont的过渡状态
53588 if (this.props["in"]) {
53589 this.performEnter(this.props);
53590 } else {
53591 this.setState({ status: UNMOUNTED });
53592 }
53593
53594 return;
53595 }
53596
53597 // 确保只响应prop变化
53598 if (this._needsUpdate) {
53599 this._needsUpdate = false;
53600
53601 if (this.props["in"]) {
53602 if (status === EXITING) {
53603 this.performEnter(this.props);
53604 } else if (status === EXITED) {
53605 this.performEnter(this.props);
53606 }
53607 // 其他,当我们已经输入或输出
53608 } else {
53609 if (status === ENTERING || status === ENTERED) {
53610 this.performExit(this.props);
53611 }
53612 // 我们已经输入或输出完成
53613 }
53614 }
53615 };
53616
53617 Transition.prototype.componentWillUnmount = function componentWillUnmount() {
53618 this.cancelNextCallback();
53619 };
53620
53621 Transition.prototype.performEnter = function performEnter(props) {
53622 var _this2 = this;
53623
53624 this.cancelNextCallback();
53625 var node = _reactDom2["default"].findDOMNode(this);
53626
53627 // 这里接收新props
53628 props.onEnter(node);
53629
53630 this.safeSetState({ status: ENTERING }, function () {
53631 _this2.props.onEntering(node);
53632
53633 _this2.onTransitionEnd(node, function () {
53634 _this2.safeSetState({ status: ENTERED }, function () {
53635 _this2.props.onEntered(node);
53636 });
53637 });
53638 });
53639 };
53640
53641 Transition.prototype.performExit = function performExit(props) {
53642 var _this3 = this;
53643
53644 this.cancelNextCallback();
53645 var node = _reactDom2["default"].findDOMNode(this);
53646
53647 props.onExit(node);
53648
53649 this.safeSetState({ status: EXITING }, function () {
53650 _this3.props.onExiting(node);
53651
53652 _this3.onTransitionEnd(node, function () {
53653 _this3.safeSetState({ status: EXITED }, function () {
53654 _this3.props.onExited(node);
53655 });
53656 });
53657 });
53658 };
53659
53660 Transition.prototype.cancelNextCallback = function cancelNextCallback() {
53661 if (this.nextCallback !== null) {
53662 this.nextCallback.cancel();
53663 this.nextCallback = null;
53664 }
53665 };
53666
53667 Transition.prototype.safeSetState = function safeSetState(nextState, callback) {
53668 // 确保在组件销毁后挂起的setState被消除
53669 this.setState(nextState, this.setNextCallback(callback));
53670 };
53671
53672 Transition.prototype.setNextCallback = function setNextCallback(callback) {
53673 var _this4 = this;
53674
53675 var active = true;
53676
53677 this.nextCallback = function (event) {
53678 if (active) {
53679 active = false;
53680 _this4.nextCallback = null;
53681
53682 callback(event);
53683 }
53684 };
53685
53686 this.nextCallback.cancel = function () {
53687 active = false;
53688 };
53689
53690 return this.nextCallback;
53691 };
53692
53693 Transition.prototype.onTransitionEnd = function onTransitionEnd(node, handler) {
53694 this.setNextCallback(handler);
53695
53696 if (node) {
53697 (0, _on2["default"])(node, transitionEndEvent, this.nextCallback);
53698 setTimeout(this.nextCallback, this.props.timeout);
53699 } else {
53700 setTimeout(this.nextCallback, 0);
53701 }
53702 };
53703
53704 Transition.prototype.render = function render() {
53705 var status = this.state.status;
53706 if (status === UNMOUNTED) {
53707 return null;
53708 }
53709
53710 var _props = this.props,
53711 children = _props.children,
53712 className = _props.className,
53713 childProps = _objectWithoutProperties(_props, ['children', 'className']);
53714
53715 Object.keys(Transition.propTypes).forEach(function (key) {
53716 return delete childProps[key];
53717 });
53718
53719 var transitionClassName = void 0;
53720 if (status === EXITED) {
53721 transitionClassName = this.props.exitedClassName;
53722 } else if (status === ENTERING) {
53723 transitionClassName = this.props.enteringClassName;
53724 } else if (status === ENTERED) {
53725 transitionClassName = this.props.enteredClassName;
53726 } else if (status === EXITING) {
53727 transitionClassName = this.props.exitingClassName;
53728 }
53729
53730 var child = _react2["default"].Children.only(children);
53731 return _react2["default"].cloneElement(child, _extends({}, childProps, {
53732 className: (0, _classnames2["default"])(child.props.className, className, transitionClassName)
53733 }));
53734 };
53735
53736 return Transition;
53737 }(_react.Component);
53738
53739 Transition.propTypes = propTypes;
53740
53741 Transition.defaultProps = defaultProps;
53742
53743 exports["default"] = Transition;
53744
53745/***/ }),
53746/* 548 */
53747/***/ (function(module, exports) {
53748
53749 'use strict';
53750
53751 Object.defineProperty(exports, "__esModule", {
53752 value: true
53753 });
53754 /**
53755 * Safe chained function
53756 *
53757 * Will only create a new function if needed,
53758 * otherwise will pass back existing functions or null.
53759 *
53760 * @param {function} functions to chain
53761 * @returns {function|null}
53762 */
53763 function createChainedFunction() {
53764 for (var _len = arguments.length, funcs = Array(_len), _key = 0; _key < _len; _key++) {
53765 funcs[_key] = arguments[_key];
53766 }
53767
53768 return funcs.filter(function (f) {
53769 return f != null;
53770 }).reduce(function (acc, f) {
53771 if (typeof f !== 'function') {
53772 throw new Error('Invalid Argument Type, must only provide functions, undefined, or null.');
53773 }
53774
53775 if (acc === null) {
53776 return f;
53777 }
53778
53779 return function chainedFunction() {
53780 for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
53781 args[_key2] = arguments[_key2];
53782 }
53783
53784 acc.apply(this, args);
53785 f.apply(this, args);
53786 };
53787 }, null);
53788 }
53789
53790 exports["default"] = createChainedFunction;
53791 module.exports = exports['default'];
53792
53793/***/ }),
53794/* 549 */
53795/***/ (function(module, exports, __webpack_require__) {
53796
53797 'use strict';
53798
53799 Object.defineProperty(exports, "__esModule", {
53800 value: true
53801 });
53802
53803 var _InputNumber = __webpack_require__(550);
53804
53805 var _InputNumber2 = _interopRequireDefault(_InputNumber);
53806
53807 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
53808
53809 exports["default"] = _InputNumber2["default"];
53810 module.exports = exports['default'];
53811
53812/***/ }),
53813/* 550 */
53814/***/ (function(module, exports, __webpack_require__) {
53815
53816 'use strict';
53817
53818 Object.defineProperty(exports, "__esModule", {
53819 value: true
53820 });
53821
53822 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; };
53823
53824 var _react = __webpack_require__(4);
53825
53826 var _react2 = _interopRequireDefault(_react);
53827
53828 var _classnames = __webpack_require__(3);
53829
53830 var _classnames2 = _interopRequireDefault(_classnames);
53831
53832 var _beeInputGroup = __webpack_require__(493);
53833
53834 var _beeInputGroup2 = _interopRequireDefault(_beeInputGroup);
53835
53836 var _beeFormControl = __webpack_require__(257);
53837
53838 var _beeFormControl2 = _interopRequireDefault(_beeFormControl);
53839
53840 var _propTypes = __webpack_require__(5);
53841
53842 var _propTypes2 = _interopRequireDefault(_propTypes);
53843
53844 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
53845
53846 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; }
53847
53848 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; }
53849
53850 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; }
53851
53852 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
53853
53854 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; }
53855
53856 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); }
53857
53858 var propTypes = {
53859 max: _propTypes2["default"].number,
53860 min: _propTypes2["default"].number,
53861 step: _propTypes2["default"].number,
53862 value: _propTypes2["default"].number,
53863 autoWidth: _propTypes2["default"].bool,
53864 precision: _propTypes2["default"].number,
53865 format: _propTypes2["default"].func,
53866 delay: _propTypes2["default"].number,
53867 disabled: _propTypes2["default"].bool
53868 };
53869
53870 var defaultProps = {
53871 value: 0,
53872 step: 1,
53873 clsPrefix: 'u-input-number',
53874 iconStyle: 'double',
53875 autoWidth: false,
53876 delay: 300
53877 };
53878
53879 function judgeValue(props) {
53880 var currentValue = void 0;
53881 var currentMinusDisabled = false;
53882 var currentPlusDisabled = false;
53883
53884 if (props.value) {
53885 currentValue = Number(props.value) || 0;
53886 } else if (props.min) {
53887 currentValue = props.min;
53888 } else {
53889 currentValue = 0;
53890 }
53891 if (currentValue <= props.min) {
53892 currentMinusDisabled = true;
53893 }
53894 if (currentValue >= props.max) {
53895 currentPlusDisabled = true;
53896 }
53897
53898 if (props.hasOwnProperty('precision')) {
53899 currentValue = currentValue.toFixed(props.precision);
53900 }
53901
53902 return {
53903 value: currentValue,
53904 minusDisabled: currentMinusDisabled,
53905 plusDisabled: currentPlusDisabled
53906 };
53907 }
53908
53909 var InputNumber = function (_Component) {
53910 _inherits(InputNumber, _Component);
53911
53912 function InputNumber(props) {
53913 _classCallCheck(this, InputNumber);
53914
53915 // 初始化状态,加减按钮是否可用,根据当前值判断
53916
53917 var _this = _possibleConstructorReturn(this, _Component.call(this, props));
53918
53919 _this.handleChange = function (value) {
53920 var _this$props = _this.props,
53921 onChange = _this$props.onChange,
53922 min = _this$props.min,
53923 max = _this$props.max;
53924
53925 //value = this.detail(value, 0, 'reduce');
53926
53927 if (!isNaN(value) && value >= min && value <= max) {
53928 _this.tempStorage = value;
53929 }
53930 _this.setState({ value: value });
53931 onChange && onChange(value);
53932 };
53933
53934 _this.handleFocus = function (e) {
53935 var _this$props2 = _this.props,
53936 onFocus = _this$props2.onFocus,
53937 min = _this$props2.min,
53938 max = _this$props2.max;
53939
53940 var value = e.target.value;
53941 if (!isNaN(value) && value >= min && value <= max) {
53942 _this.tempStorage = e.target.value;
53943 }
53944 onFocus && onFocus();
53945 };
53946
53947 _this.handleBlur = function (e) {
53948 var _this$props3 = _this.props,
53949 onBlur = _this$props3.onBlur,
53950 step = _this$props3.step;
53951
53952 var value = Number(e.target.value);
53953 if (isNaN(value)) {
53954 value = _this.tempStorage;
53955 _this.setState({
53956 value: value
53957 });
53958 _this.detailDisable(value);
53959 } else {
53960 console.log(value - step);
53961 _this.plus(value - step);
53962 }
53963
53964 onBlur && onBlur();
53965 };
53966
53967 _this.detail = function (value, step, type) {
53968 var precision = _this.props.precision;
53969
53970
53971 var valueFloat = _this.separate(value);
53972 var stepFloat = _this.separate(step);
53973
53974 var ans = void 0;
53975 var stepFloatLength = stepFloat.toString().length;
53976 var valueFloatLength = valueFloat.toString().length;
53977
53978 if (typeof precision === 'undefined') {
53979 precision = Math.max(stepFloatLength, valueFloatLength);
53980 }
53981 var coefficient = Math.pow(10, Math.abs(stepFloatLength - valueFloatLength));
53982 if (type === 'add') {
53983 ans = (value * coefficient + step * coefficient) / coefficient;
53984 } else {
53985 ans = (value * coefficient - step * coefficient) / coefficient;
53986 }
53987
53988 return ans.toFixed(precision);
53989 };
53990
53991 _this.separate = function (value) {
53992 value = value.toString();
53993 if (value.indexOf('.') > -1) {
53994 return value.split('.')[1];
53995 } else {
53996 return "";
53997 }
53998 };
53999
54000 _this.minus = function (value) {
54001 var _this$props4 = _this.props,
54002 min = _this$props4.min,
54003 max = _this$props4.max,
54004 step = _this$props4.step,
54005 onChange = _this$props4.onChange;
54006
54007
54008 if (typeof min === "undefined") {
54009 value = _this.detail(value, step, 'reduce');
54010 } else {
54011 if (value < min) {
54012 value = min;
54013 } else {
54014 var reducedValue = _this.detail(value, step, 'reduce');
54015 if (reducedValue >= min) {
54016 value = reducedValue;
54017 }
54018 }
54019 }
54020
54021 if (value > max) {
54022 value = max;
54023 }
54024
54025 _this.setState({
54026 value: value
54027 });
54028 onChange && onChange(value);
54029 _this.detailDisable(value);
54030 };
54031
54032 _this.detailDisable = function (value) {
54033 var _this$props5 = _this.props,
54034 max = _this$props5.max,
54035 min = _this$props5.min,
54036 step = _this$props5.step;
54037
54038
54039 if (value >= max || Number(value) + Number(step) > max) {
54040 _this.setState({
54041 plusDisabled: true
54042 });
54043 } else {
54044 _this.setState({
54045 plusDisabled: false
54046 });
54047 }
54048 if (value <= min || value - step < min) {
54049 _this.setState({
54050 minusDisabled: true
54051 });
54052 } else {
54053 _this.setState({
54054 minusDisabled: false
54055 });
54056 }
54057 };
54058
54059 _this.plus = function (value) {
54060 var _this$props6 = _this.props,
54061 max = _this$props6.max,
54062 min = _this$props6.min,
54063 step = _this$props6.step,
54064 onChange = _this$props6.onChange;
54065
54066 if (typeof max === "undefined") {
54067 value = _this.detail(value, step, 'add');
54068 } else {
54069 if (value > max) {
54070 value = max;
54071 } else {
54072 var addedValue = _this.detail(value, step, 'add');
54073 if (addedValue <= max) {
54074 value = addedValue;
54075 }
54076 }
54077 }
54078 if (value < min) {
54079 value = min;
54080 }
54081 _this.setState({
54082 value: value
54083 });
54084 onChange && onChange(value);
54085 _this.detailDisable(value);
54086 };
54087
54088 _this.clear = function () {
54089 if (_this.timer) {
54090 clearTimeout(_this.timer);
54091 }
54092 };
54093
54094 _this.handlePlusMouseDown = function (e) {
54095 var _this$props7 = _this.props,
54096 delay = _this$props7.delay,
54097 disabled = _this$props7.disabled;
54098
54099 if (disabled) return;
54100 var value = _this.state.value;
54101
54102 _this.plus(value);
54103 _this.clear();
54104 _this.timer = setTimeout(function () {
54105 _this.handlePlusMouseDown();
54106 }, delay);
54107 };
54108
54109 _this.handleReduceMouseDown = function (e) {
54110 var delay = _this.props.delay;
54111 var value = _this.state.value;
54112
54113 _this.minus(value);
54114 _this.clear();
54115 _this.timer = setTimeout(function () {
54116 _this.handleReduceMouseDown();
54117 }, delay);
54118 };
54119
54120 var data = judgeValue(props);
54121
54122 _this.state = {
54123 value: data.value,
54124 minusDisabled: data.minusDisabled,
54125 plusDisabled: data.plusDisabled
54126 };
54127
54128 _this.timer = null;
54129 _this.tempStorage = data.value;
54130 return _this;
54131 }
54132
54133 InputNumber.prototype.ComponentWillMount = function ComponentWillMount() {};
54134
54135 InputNumber.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
54136 var data = judgeValue(nextProps);
54137 this.setState({
54138 value: data.value,
54139 minusDisabled: data.minusDisabled,
54140 plusDisabled: data.plusDisabled
54141 });
54142 this.tempStorage = data.value;
54143 };
54144
54145 InputNumber.prototype.ComponentWillUnMount = function ComponentWillUnMount() {
54146 this.clear();
54147 };
54148
54149 /**
54150 * 分离小数和整数
54151 * @param value
54152 * @returns {*}
54153 */
54154
54155
54156 InputNumber.prototype.render = function render() {
54157 var _classes;
54158
54159 var _props = this.props,
54160 max = _props.max,
54161 min = _props.min,
54162 step = _props.step,
54163 clsPrefix = _props.clsPrefix,
54164 className = _props.className,
54165 disabled = _props.disabled,
54166 delay = _props.delay,
54167 onBlur = _props.onBlur,
54168 onFocus = _props.onFocus,
54169 iconStyle = _props.iconStyle,
54170 autoWidth = _props.autoWidth,
54171 onChange = _props.onChange,
54172 format = _props.format,
54173 precision = _props.precision,
54174 others = _objectWithoutProperties(_props, ['max', 'min', 'step', 'clsPrefix', 'className', 'disabled', 'delay', 'onBlur', 'onFocus', 'iconStyle', 'autoWidth', 'onChange', 'format', 'precision']);
54175
54176 var classes = (_classes = {}, _defineProperty(_classes, clsPrefix + '-auto', autoWidth), _defineProperty(_classes, '' + clsPrefix, true), _classes);
54177
54178 var _state = this.state,
54179 value = _state.value,
54180 minusDisabled = _state.minusDisabled,
54181 plusDisabled = _state.plusDisabled;
54182
54183
54184 value = format ? format(value) : value;
54185 var _class = disabled ? 'disabled' : plusDisabled && 'disabled';
54186
54187 return _react2["default"].createElement(
54188 'div',
54189 null,
54190 iconStyle === 'double' ? _react2["default"].createElement(
54191 _beeInputGroup2["default"],
54192 { className: (0, _classnames2["default"])(className, classes) },
54193 _react2["default"].createElement(
54194 _beeInputGroup2["default"].Addon,
54195 {
54196 // className={plusDisabled && 'disabled'}
54197 className: _class,
54198 onMouseDown: this.handleReduceMouseDown,
54199 onMouseLeave: this.clear,
54200 onMouseUp: this.clear },
54201 '-'
54202 ),
54203 _react2["default"].createElement(_beeFormControl2["default"], _extends({}, others, {
54204 disabled: true,
54205 value: value,
54206 onBlur: this.handleBlur,
54207 onFocus: this.handleFocus,
54208 onChange: this.handleChange
54209 })),
54210 _react2["default"].createElement(
54211 _beeInputGroup2["default"].Addon,
54212 {
54213 // className={plusDisabled && 'disabled'}
54214 className: _class,
54215 onMouseDown: this.handlePlusMouseDown,
54216 onMouseLeave: this.clear,
54217 onMouseUp: this.clear },
54218 '+'
54219 )
54220 ) : _react2["default"].createElement(
54221 _beeInputGroup2["default"],
54222 {
54223 className: (0, _classnames2["default"])(className, classes),
54224 simple: true
54225 },
54226 _react2["default"].createElement(_beeFormControl2["default"], _extends({}, others, {
54227 value: value,
54228 onBlur: this.handleBlur,
54229 onFocus: this.handleFocus,
54230 onChange: this.handleChange
54231 })),
54232 _react2["default"].createElement(
54233 _beeInputGroup2["default"].Button,
54234 null,
54235 _react2["default"].createElement(
54236 'div',
54237 { className: 'icon-group' },
54238 _react2["default"].createElement(
54239 'span',
54240 {
54241 onMouseDown: this.handlePlusMouseDown,
54242 onMouseLeave: this.clear,
54243 onMouseUp: this.clear,
54244 className: (0, _classnames2["default"])('plus', { 'disabled': plusDisabled }) },
54245 _react2["default"].createElement('span', { className: 'uf uf-arrow-up' })
54246 ),
54247 _react2["default"].createElement(
54248 'span',
54249 {
54250 onMouseDown: this.handleReduceMouseDown,
54251 onMouseLeave: this.clear,
54252 onMouseUp: this.clear,
54253 className: (0, _classnames2["default"])("reduce", { 'disabled': minusDisabled }) },
54254 _react2["default"].createElement('span', { className: ' uf uf-arrow-down' })
54255 )
54256 )
54257 )
54258 )
54259 );
54260 };
54261
54262 return InputNumber;
54263 }(_react.Component);
54264
54265 ;
54266
54267 InputNumber.defaultProps = defaultProps;
54268 InputNumber.propTypes = propTypes;
54269 exports["default"] = InputNumber;
54270 module.exports = exports['default'];
54271
54272/***/ }),
54273/* 551 */
54274/***/ (function(module, exports, __webpack_require__) {
54275
54276 'use strict';
54277
54278 Object.defineProperty(exports, "__esModule", {
54279 value: true
54280 });
54281
54282 var _Rate = __webpack_require__(552);
54283
54284 var _Rate2 = _interopRequireDefault(_Rate);
54285
54286 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
54287
54288 exports["default"] = _Rate2["default"];
54289 module.exports = exports['default'];
54290
54291/***/ }),
54292/* 552 */
54293/***/ (function(module, exports, __webpack_require__) {
54294
54295 'use strict';
54296
54297 Object.defineProperty(exports, "__esModule", {
54298 value: true
54299 });
54300
54301 var _react = __webpack_require__(4);
54302
54303 var _react2 = _interopRequireDefault(_react);
54304
54305 var _rcRate = __webpack_require__(553);
54306
54307 var _rcRate2 = _interopRequireDefault(_rcRate);
54308
54309 var _beeIcon = __webpack_require__(259);
54310
54311 var _beeIcon2 = _interopRequireDefault(_beeIcon);
54312
54313 var _propTypes = __webpack_require__(5);
54314
54315 var _propTypes2 = _interopRequireDefault(_propTypes);
54316
54317 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
54318
54319 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; }
54320
54321 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
54322
54323 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; }
54324
54325 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); }
54326
54327 var propTypes = {
54328 count: _propTypes2["default"].number,
54329 value: _propTypes2["default"].number,
54330 defaultValue: _propTypes2["default"].number,
54331 onChange: _propTypes2["default"].func,
54332 onHoverChange: _propTypes2["default"].func,
54333 allowHalf: _propTypes2["default"].bool,
54334 disabled: _propTypes2["default"].bool,
54335 className: _propTypes2["default"].string,
54336 style: _propTypes2["default"].object
54337
54338 };
54339
54340 var defaultProps = {
54341 count: 5,
54342 defaultValue: 0,
54343 value: 0,
54344 onChange: function onChange() {},
54345 onHoverChange: function onHoverChange() {},
54346 allowHalf: false,
54347 disabled: false,
54348 character: _react2["default"].createElement(_beeIcon2["default"], { type: 'uf-star' }),
54349 className: '',
54350 style: {},
54351 clsPrefix: 'u-rate'
54352 };
54353
54354 var Rate = function (_Component) {
54355 _inherits(Rate, _Component);
54356
54357 function Rate() {
54358 _classCallCheck(this, Rate);
54359
54360 return _possibleConstructorReturn(this, _Component.apply(this, arguments));
54361 }
54362
54363 Rate.prototype.render = function render() {
54364 var _props = this.props,
54365 count = _props.count,
54366 value = _props.value,
54367 defaultValue = _props.defaultValue,
54368 onChange = _props.onChange,
54369 clsPrefix = _props.clsPrefix,
54370 onHoverChange = _props.onHoverChange,
54371 allowHalf = _props.allowHalf,
54372 disabled = _props.disabled,
54373 character = _props.character,
54374 className = _props.className,
54375 style = _props.style;
54376
54377 return _react2["default"].createElement(_rcRate2["default"], { prefixCls: clsPrefix, count: count, value: value, defaultValue: defaultValue, onChange: onChange,
54378 onHoverChange: onHoverChange, allowHalf: allowHalf, disabled: disabled, character: character,
54379 className: className, style: style });
54380 };
54381
54382 return Rate;
54383 }(_react.Component);
54384
54385 ;
54386 Rate.propTypes = propTypes;
54387 Rate.defaultProps = defaultProps;
54388 exports["default"] = Rate;
54389 module.exports = exports['default'];
54390
54391/***/ }),
54392/* 553 */
54393/***/ (function(module, exports, __webpack_require__) {
54394
54395 'use strict';
54396
54397 exports.__esModule = true;
54398
54399 var _Rate = __webpack_require__(554);
54400
54401 var _Rate2 = _interopRequireDefault(_Rate);
54402
54403 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
54404
54405 exports['default'] = _Rate2['default'];
54406 module.exports = exports['default'];
54407
54408/***/ }),
54409/* 554 */
54410/***/ (function(module, exports, __webpack_require__) {
54411
54412 'use strict';
54413
54414 exports.__esModule = true;
54415
54416 var _react = __webpack_require__(4);
54417
54418 var _react2 = _interopRequireDefault(_react);
54419
54420 var _reactDom = __webpack_require__(12);
54421
54422 var _reactDom2 = _interopRequireDefault(_reactDom);
54423
54424 var _propTypes = __webpack_require__(5);
54425
54426 var _propTypes2 = _interopRequireDefault(_propTypes);
54427
54428 var _classnames = __webpack_require__(3);
54429
54430 var _classnames2 = _interopRequireDefault(_classnames);
54431
54432 var _KeyCode = __webpack_require__(314);
54433
54434 var _KeyCode2 = _interopRequireDefault(_KeyCode);
54435
54436 var _util = __webpack_require__(555);
54437
54438 var _Star = __webpack_require__(556);
54439
54440 var _Star2 = _interopRequireDefault(_Star);
54441
54442 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
54443
54444 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
54445
54446 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; }
54447
54448 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; }
54449
54450 function noop() {}
54451
54452 var Rate = function (_React$Component) {
54453 _inherits(Rate, _React$Component);
54454
54455 function Rate(props) {
54456 _classCallCheck(this, Rate);
54457
54458 var _this = _possibleConstructorReturn(this, _React$Component.call(this, props));
54459
54460 _initialiseProps.call(_this);
54461
54462 var value = props.value;
54463 if (value === undefined) {
54464 value = props.defaultValue;
54465 }
54466
54467 _this.stars = {};
54468
54469 _this.state = {
54470 value: value,
54471 focused: false,
54472 cleanedValue: null
54473 };
54474 return _this;
54475 }
54476
54477 Rate.prototype.componentDidMount = function componentDidMount() {
54478 if (this.props.autoFocus && !this.props.disabled) {
54479 this.focus();
54480 }
54481 };
54482
54483 Rate.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
54484 if ('value' in nextProps) {
54485 var value = nextProps.value;
54486 if (value === undefined) {
54487 value = nextProps.defaultValue;
54488 }
54489 this.setState({
54490 value: value
54491 });
54492 }
54493 };
54494
54495 Rate.prototype.getStarDOM = function getStarDOM(index) {
54496 return _reactDom2['default'].findDOMNode(this.stars[index]);
54497 };
54498
54499 Rate.prototype.getStarValue = function getStarValue(index, x) {
54500 var value = index + 1;
54501 if (this.props.allowHalf) {
54502 var starEle = this.getStarDOM(index);
54503 var leftDis = (0, _util.getOffsetLeft)(starEle);
54504 var width = starEle.clientWidth;
54505 if (x - leftDis < width / 2) {
54506 value -= 0.5;
54507 }
54508 }
54509 return value;
54510 };
54511
54512 Rate.prototype.focus = function focus() {
54513 if (!this.props.disabled) {
54514 this.rate.focus();
54515 }
54516 };
54517
54518 Rate.prototype.blur = function blur() {
54519 if (!this.props.disabled) {
54520 this.rate.focus();
54521 }
54522 };
54523
54524 Rate.prototype.changeValue = function changeValue(value) {
54525 if (!('value' in this.props)) {
54526 this.setState({
54527 value: value
54528 });
54529 }
54530 this.props.onChange(value);
54531 };
54532
54533 Rate.prototype.render = function render() {
54534 var _props = this.props,
54535 count = _props.count,
54536 allowHalf = _props.allowHalf,
54537 style = _props.style,
54538 prefixCls = _props.prefixCls,
54539 disabled = _props.disabled,
54540 className = _props.className,
54541 character = _props.character,
54542 tabIndex = _props.tabIndex;
54543 var _state = this.state,
54544 value = _state.value,
54545 hoverValue = _state.hoverValue,
54546 focused = _state.focused;
54547
54548 var stars = [];
54549 var disabledClass = disabled ? prefixCls + '-disabled' : '';
54550 for (var index = 0; index < count; index++) {
54551 stars.push(_react2['default'].createElement(_Star2['default'], {
54552 ref: this.saveRef(index),
54553 index: index,
54554 count: count,
54555 disabled: disabled,
54556 prefixCls: prefixCls + '-star',
54557 allowHalf: allowHalf,
54558 value: hoverValue === undefined ? value : hoverValue,
54559 onClick: this.onClick,
54560 onHover: this.onHover,
54561 key: index,
54562 character: character,
54563 focused: focused
54564 }));
54565 }
54566 return _react2['default'].createElement(
54567 'ul',
54568 {
54569 className: (0, _classnames2['default'])(prefixCls, disabledClass, className),
54570 style: style,
54571 onMouseLeave: disabled ? null : this.onMouseLeave,
54572 tabIndex: disabled ? -1 : tabIndex,
54573 onFocus: disabled ? null : this.onFocus,
54574 onBlur: disabled ? null : this.onBlur,
54575 onKeyDown: disabled ? null : this.onKeyDown,
54576 ref: this.saveRate,
54577 role: 'radiogroup'
54578 },
54579 stars
54580 );
54581 };
54582
54583 return Rate;
54584 }(_react2['default'].Component);
54585
54586 Rate.propTypes = {
54587 disabled: _propTypes2['default'].bool,
54588 value: _propTypes2['default'].number,
54589 defaultValue: _propTypes2['default'].number,
54590 count: _propTypes2['default'].number,
54591 allowHalf: _propTypes2['default'].bool,
54592 allowClear: _propTypes2['default'].bool,
54593 style: _propTypes2['default'].object,
54594 prefixCls: _propTypes2['default'].string,
54595 onChange: _propTypes2['default'].func,
54596 onHoverChange: _propTypes2['default'].func,
54597 className: _propTypes2['default'].string,
54598 character: _propTypes2['default'].node,
54599 tabIndex: _propTypes2['default'].number,
54600 onFocus: _propTypes2['default'].func,
54601 onBlur: _propTypes2['default'].func,
54602 onKeyDown: _propTypes2['default'].func,
54603 autoFocus: _propTypes2['default'].bool
54604 };
54605 Rate.defaultProps = {
54606 defaultValue: 0,
54607 count: 5,
54608 allowHalf: false,
54609 allowClear: true,
54610 style: {},
54611 prefixCls: 'rc-rate',
54612 onChange: noop,
54613 character: '★',
54614 onHoverChange: noop,
54615 tabIndex: 0
54616 };
54617
54618 var _initialiseProps = function _initialiseProps() {
54619 var _this2 = this;
54620
54621 this.onHover = function (event, index) {
54622 var hoverValue = _this2.getStarValue(index, event.pageX);
54623 var cleanedValue = _this2.state.cleanedValue;
54624
54625 if (hoverValue !== cleanedValue) {
54626 _this2.setState({
54627 hoverValue: hoverValue,
54628 cleanedValue: null
54629 });
54630 }
54631 _this2.props.onHoverChange(hoverValue);
54632 };
54633
54634 this.onMouseLeave = function () {
54635 _this2.setState({
54636 hoverValue: undefined,
54637 cleanedValue: null
54638 });
54639 _this2.props.onHoverChange(undefined);
54640 };
54641
54642 this.onClick = function (event, index) {
54643 var value = _this2.getStarValue(index, event.pageX);
54644 var isReset = false;
54645 if (_this2.props.allowClear) {
54646 isReset = value === _this2.state.value;
54647 }
54648 _this2.onMouseLeave(true);
54649 _this2.changeValue(isReset ? 0 : value);
54650 _this2.setState({
54651 cleanedValue: isReset ? value : null
54652 });
54653 };
54654
54655 this.onFocus = function () {
54656 var onFocus = _this2.props.onFocus;
54657
54658 _this2.setState({
54659 focused: true
54660 });
54661 if (onFocus) {
54662 onFocus();
54663 }
54664 };
54665
54666 this.onBlur = function () {
54667 var onBlur = _this2.props.onBlur;
54668
54669 _this2.setState({
54670 focused: false
54671 });
54672 if (onBlur) {
54673 onBlur();
54674 }
54675 };
54676
54677 this.onKeyDown = function (event) {
54678 var keyCode = event.keyCode;
54679 var _props2 = _this2.props,
54680 count = _props2.count,
54681 allowHalf = _props2.allowHalf,
54682 onKeyDown = _props2.onKeyDown;
54683 var value = _this2.state.value;
54684
54685 if (keyCode === _KeyCode2['default'].RIGHT && value < count) {
54686 if (allowHalf) {
54687 value += 0.5;
54688 } else {
54689 value += 1;
54690 }
54691 _this2.changeValue(value);
54692 event.preventDefault();
54693 } else if (keyCode === _KeyCode2['default'].LEFT && value > 0) {
54694 if (allowHalf) {
54695 value -= 0.5;
54696 } else {
54697 value -= 1;
54698 }
54699 _this2.changeValue(value);
54700 event.preventDefault();
54701 }
54702 if (onKeyDown) {
54703 onKeyDown(event);
54704 }
54705 };
54706
54707 this.saveRef = function (index) {
54708 return function (node) {
54709 _this2.stars[index] = node;
54710 };
54711 };
54712
54713 this.saveRate = function (node) {
54714 _this2.rate = node;
54715 };
54716 };
54717
54718 exports['default'] = Rate;
54719 module.exports = exports['default'];
54720
54721/***/ }),
54722/* 555 */
54723/***/ (function(module, exports) {
54724
54725 'use strict';
54726
54727 exports.__esModule = true;
54728 exports.getOffsetLeft = getOffsetLeft;
54729 function getScroll(w, top) {
54730 var ret = top ? w.pageYOffset : w.pageXOffset;
54731 var method = top ? 'scrollTop' : 'scrollLeft';
54732 if (typeof ret !== 'number') {
54733 var d = w.document;
54734 // ie6,7,8 standard mode
54735 ret = d.documentElement[method];
54736 if (typeof ret !== 'number') {
54737 // quirks mode
54738 ret = d.body[method];
54739 }
54740 }
54741 return ret;
54742 }
54743
54744 function getClientPosition(elem) {
54745 var box = void 0;
54746 var x = void 0;
54747 var y = void 0;
54748 var doc = elem.ownerDocument;
54749 var body = doc.body;
54750 var docElem = doc && doc.documentElement;
54751 box = elem.getBoundingClientRect();
54752 x = box.left;
54753 y = box.top;
54754 x -= docElem.clientLeft || body.clientLeft || 0;
54755 y -= docElem.clientTop || body.clientTop || 0;
54756 return {
54757 left: x,
54758 top: y
54759 };
54760 }
54761
54762 function getOffsetLeft(el) {
54763 var pos = getClientPosition(el);
54764 var doc = el.ownerDocument;
54765 var w = doc.defaultView || doc.parentWindow;
54766 pos.left += getScroll(w);
54767 return pos.left;
54768 }
54769
54770/***/ }),
54771/* 556 */
54772/***/ (function(module, exports, __webpack_require__) {
54773
54774 'use strict';
54775
54776 exports.__esModule = true;
54777
54778 var _react = __webpack_require__(4);
54779
54780 var _react2 = _interopRequireDefault(_react);
54781
54782 var _propTypes = __webpack_require__(5);
54783
54784 var _propTypes2 = _interopRequireDefault(_propTypes);
54785
54786 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
54787
54788 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
54789
54790 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; }
54791
54792 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; }
54793
54794 var Star = function (_React$Component) {
54795 _inherits(Star, _React$Component);
54796
54797 function Star() {
54798 var _temp, _this, _ret;
54799
54800 _classCallCheck(this, Star);
54801
54802 for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
54803 args[_key] = arguments[_key];
54804 }
54805
54806 return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.onHover = function (e) {
54807 var _this$props = _this.props,
54808 onHover = _this$props.onHover,
54809 index = _this$props.index;
54810
54811 onHover(e, index);
54812 }, _this.onClick = function (e) {
54813 var _this$props2 = _this.props,
54814 onClick = _this$props2.onClick,
54815 index = _this$props2.index;
54816
54817 onClick(e, index);
54818 }, _this.onKeyDown = function (e) {
54819 var _this$props3 = _this.props,
54820 onClick = _this$props3.onClick,
54821 index = _this$props3.index;
54822
54823 if (e.keyCode === 13) {
54824 onClick(e, index);
54825 }
54826 }, _temp), _possibleConstructorReturn(_this, _ret);
54827 }
54828
54829 Star.prototype.getClassName = function getClassName() {
54830 var _props = this.props,
54831 prefixCls = _props.prefixCls,
54832 index = _props.index,
54833 value = _props.value,
54834 allowHalf = _props.allowHalf,
54835 focused = _props.focused;
54836
54837 var starValue = index + 1;
54838 var className = prefixCls;
54839 if (value === 0 && index === 0 && focused) {
54840 className += ' ' + prefixCls + '-focused';
54841 } else if (allowHalf && value + 0.5 === starValue) {
54842 className += ' ' + prefixCls + '-half ' + prefixCls + '-active';
54843 if (focused) {
54844 className += ' ' + prefixCls + '-focused';
54845 }
54846 } else {
54847 className += starValue <= value ? ' ' + prefixCls + '-full' : ' ' + prefixCls + '-zero';
54848 if (starValue === value && focused) {
54849 className += ' ' + prefixCls + '-focused';
54850 }
54851 }
54852 return className;
54853 };
54854
54855 Star.prototype.render = function render() {
54856 var onHover = this.onHover,
54857 onClick = this.onClick,
54858 onKeyDown = this.onKeyDown;
54859 var _props2 = this.props,
54860 disabled = _props2.disabled,
54861 prefixCls = _props2.prefixCls,
54862 character = _props2.character,
54863 index = _props2.index,
54864 count = _props2.count,
54865 value = _props2.value;
54866
54867 return _react2['default'].createElement(
54868 'li',
54869 {
54870 className: this.getClassName(),
54871 onClick: disabled ? null : onClick,
54872 onKeyDown: disabled ? null : onKeyDown,
54873 onMouseMove: disabled ? null : onHover,
54874 role: 'radio',
54875 'aria-checked': value > index ? 'true' : 'false',
54876 'aria-posinset': index + 1,
54877 'aria-setsize': count,
54878 tabIndex: 0
54879 },
54880 _react2['default'].createElement(
54881 'div',
54882 { className: prefixCls + '-first' },
54883 character
54884 ),
54885 _react2['default'].createElement(
54886 'div',
54887 { className: prefixCls + '-second' },
54888 character
54889 )
54890 );
54891 };
54892
54893 return Star;
54894 }(_react2['default'].Component);
54895
54896 Star.propTypes = {
54897 value: _propTypes2['default'].number,
54898 index: _propTypes2['default'].number,
54899 prefixCls: _propTypes2['default'].string,
54900 allowHalf: _propTypes2['default'].bool,
54901 disabled: _propTypes2['default'].bool,
54902 onHover: _propTypes2['default'].func,
54903 onClick: _propTypes2['default'].func,
54904 character: _propTypes2['default'].node,
54905 focused: _propTypes2['default'].bool,
54906 count: _propTypes2['default'].number
54907 };
54908 exports['default'] = Star;
54909 module.exports = exports['default'];
54910
54911/***/ }),
54912/* 557 */
54913/***/ (function(module, exports, __webpack_require__) {
54914
54915 'use strict';
54916
54917 Object.defineProperty(exports, "__esModule", {
54918 value: true
54919 });
54920
54921 var _CitySelect = __webpack_require__(558);
54922
54923 var _CitySelect2 = _interopRequireDefault(_CitySelect);
54924
54925 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
54926
54927 exports["default"] = _CitySelect2["default"];
54928 module.exports = exports['default'];
54929
54930/***/ }),
54931/* 558 */
54932/***/ (function(module, exports, __webpack_require__) {
54933
54934 'use strict';
54935
54936 Object.defineProperty(exports, "__esModule", {
54937 value: true
54938 });
54939
54940 var _react = __webpack_require__(4);
54941
54942 var _react2 = _interopRequireDefault(_react);
54943
54944 var _propTypes = __webpack_require__(5);
54945
54946 var _propTypes2 = _interopRequireDefault(_propTypes);
54947
54948 var _classnames = __webpack_require__(3);
54949
54950 var _classnames2 = _interopRequireDefault(_classnames);
54951
54952 var _beeSelect = __webpack_require__(268);
54953
54954 var _beeSelect2 = _interopRequireDefault(_beeSelect);
54955
54956 var _lodash = __webpack_require__(559);
54957
54958 var _lodash2 = _interopRequireDefault(_lodash);
54959
54960 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
54961
54962 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; }
54963
54964 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
54965
54966 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; }
54967
54968 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); }
54969
54970 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": ["中西区", "湾仔区", "东区", "南区", "深水埗区", "油尖旺区", "九龙城区", "黄大仙区", "观塘区", "北区", "大埔区", "沙田区", "西贡区", "元朗区", "屯门区", "荃湾区", "葵青区", "离岛区", "其他"] }] }];
54971 var propTypes = {
54972 defaultValue: _propTypes2["default"].object, //{ province:'北京',city:'北京',area:'东城区'}
54973 value: _propTypes2["default"].object, //{ province:'北京',city:'北京',area:'东城区'}
54974 onChange: _propTypes2["default"].func
54975 };
54976 var defaultProps = {
54977 defaultValue: { province: '北京', city: '北京', area: '东城区' },
54978 value: null,
54979 onChange: function onChange() {}
54980 };
54981
54982 var CitySelect = function (_Component) {
54983 _inherits(CitySelect, _Component);
54984
54985 function CitySelect() {
54986 _classCallCheck(this, CitySelect);
54987
54988 var _this = _possibleConstructorReturn(this, _Component.call(this));
54989
54990 _this.getIndex = function (type, name, provinceIndex) {
54991 var provinceI = provinceIndex || _this.state.provinceIndex;
54992 switch (type) {
54993 case 'province':
54994 return (0, _lodash2["default"])(provinceData, function (province) {
54995 return province.name == name;
54996 });
54997 break;
54998 case 'city':
54999 return (0, _lodash2["default"])(provinceData[provinceI].city, function (city) {
55000 return city.name == name;
55001 });
55002 break;
55003 }
55004 };
55005
55006 _this.handleProvinceChange = function (value) {
55007 var index = _this.getIndex('province', value);
55008 var city = provinceData[index].city[0].name;
55009 var area = provinceData[index].city[0].area[0];
55010 _this.setState({
55011 province: value,
55012 cities: provinceData[index].city,
55013 secondCity: city,
55014 provinceIndex: index,
55015 areas: provinceData[index].city[0].area,
55016 secondArea: area
55017 });
55018 _this.onChange(value, city, area);
55019 };
55020
55021 _this.handleCityChange = function (value) {
55022 var index = _this.getIndex('city', value);
55023 var provinceIndex = _this.state.provinceIndex;
55024 var area = provinceData[provinceIndex].city[index].area[0];
55025 _this.setState({
55026 secondCity: provinceData[provinceIndex].city[index].name,
55027 areas: provinceData[provinceIndex].city[index].area,
55028 secondArea: area,
55029 cityIndex: value
55030 });
55031 _this.onChange(undefined, value, area);
55032 };
55033
55034 _this.onSecondAreaChange = function (value) {
55035 _this.setState({
55036 secondArea: value
55037 });
55038 _this.onChange(undefined, undefined, value);
55039 };
55040
55041 _this.onChange = function (province, city, area) {
55042 _this.props.onChange({
55043 province: province || _this.state.province,
55044 city: city || _this.state.secondCity,
55045 area: area
55046 });
55047 };
55048
55049 _this.state = {
55050 province: '北京',
55051 provinceIndex: 0,
55052 cityIndex: 0,
55053 cities: provinceData[0].city,
55054 secondCity: provinceData[0].city[0].name,
55055 areas: provinceData[0].city[0].area,
55056 secondArea: provinceData[0].city[0].area[0]
55057 };
55058 return _this;
55059 }
55060
55061 CitySelect.prototype.componentDidMount = function componentDidMount() {
55062 var _props = this.props,
55063 _defaultValue = _props.defaultValue,
55064 value = _props.value;
55065
55066 var defaultValue = value ? value : _defaultValue;
55067 var province = defaultValue.province;
55068 var provinceIndex = this.getIndex('province', defaultValue.province);
55069 var cityIndex = this.getIndex('city', defaultValue.city, provinceIndex);
55070 var cities = provinceData[provinceIndex].city;
55071 var secondCity = defaultValue.city;
55072 var areas = cities[cityIndex].area;
55073 var secondArea = defaultValue.area;
55074 this.setState({
55075 province: province,
55076 provinceIndex: provinceIndex,
55077 cityIndex: cityIndex,
55078 cities: cities,
55079 secondCity: secondCity,
55080 areas: areas,
55081 secondArea: secondArea
55082 });
55083 };
55084
55085 CitySelect.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
55086 if (!nextProps.value) return;
55087 var _nextProps$value = nextProps.value,
55088 province = _nextProps$value.province,
55089 city = _nextProps$value.city,
55090 area = _nextProps$value.area;
55091
55092 this.setState({
55093 province: province,
55094 secondCity: city,
55095 secondArea: area
55096 });
55097 this.handleProvinceChange(province);
55098 };
55099
55100 CitySelect.prototype.render = function render() {
55101 var provinceOptions = provinceData.map(function (province, index) {
55102 return _react2["default"].createElement(
55103 Option,
55104 { key: province.name },
55105 province.name
55106 );
55107 });
55108 var cityOptions = this.state.cities.map(function (city, index) {
55109 return _react2["default"].createElement(
55110 Option,
55111 { key: city.name },
55112 city.name
55113 );
55114 });
55115 var areaOptions = this.state.areas.map(function (area, index) {
55116 return _react2["default"].createElement(
55117 Option,
55118 { key: area },
55119 area
55120 );
55121 });
55122 return _react2["default"].createElement(
55123 'div',
55124 { className: (0, _classnames2["default"])("u-city-select", this.props.className) },
55125 _react2["default"].createElement(
55126 _beeSelect2["default"],
55127 {
55128 value: this.state.province,
55129 className: 'province',
55130 onChange: this.handleProvinceChange },
55131 provinceOptions
55132 ),
55133 _react2["default"].createElement(
55134 _beeSelect2["default"],
55135 {
55136 value: this.state.secondCity,
55137 className: 'city',
55138 onChange: this.handleCityChange },
55139 cityOptions
55140 ),
55141 _react2["default"].createElement(
55142 _beeSelect2["default"],
55143 {
55144 value: this.state.secondArea,
55145 className: 'area',
55146 onChange: this.onSecondAreaChange },
55147 areaOptions
55148 )
55149 );
55150 };
55151
55152 return CitySelect;
55153 }(_react.Component);
55154
55155 CitySelect.propTypes = propTypes;
55156 CitySelect.defaultProps = defaultProps;
55157 exports["default"] = CitySelect;
55158 module.exports = exports['default'];
55159
55160/***/ }),
55161/* 559 */
55162/***/ (function(module, exports, __webpack_require__) {
55163
55164 /* WEBPACK VAR INJECTION */(function(global, module) {/**
55165 * lodash (Custom Build) <https://lodash.com/>
55166 * Build: `lodash modularize exports="npm" -o ./`
55167 * Copyright jQuery Foundation and other contributors <https://jquery.org/>
55168 * Released under MIT license <https://lodash.com/license>
55169 * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
55170 * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
55171 */
55172
55173 /** Used as the size to enable large array optimizations. */
55174 var LARGE_ARRAY_SIZE = 200;
55175
55176 /** Used as the `TypeError` message for "Functions" methods. */
55177 var FUNC_ERROR_TEXT = 'Expected a function';
55178
55179 /** Used to stand-in for `undefined` hash values. */
55180 var HASH_UNDEFINED = '__lodash_hash_undefined__';
55181
55182 /** Used to compose bitmasks for comparison styles. */
55183 var UNORDERED_COMPARE_FLAG = 1,
55184 PARTIAL_COMPARE_FLAG = 2;
55185
55186 /** Used as references for various `Number` constants. */
55187 var INFINITY = 1 / 0,
55188 MAX_SAFE_INTEGER = 9007199254740991,
55189 MAX_INTEGER = 1.7976931348623157e+308,
55190 NAN = 0 / 0;
55191
55192 /** `Object#toString` result references. */
55193 var argsTag = '[object Arguments]',
55194 arrayTag = '[object Array]',
55195 boolTag = '[object Boolean]',
55196 dateTag = '[object Date]',
55197 errorTag = '[object Error]',
55198 funcTag = '[object Function]',
55199 genTag = '[object GeneratorFunction]',
55200 mapTag = '[object Map]',
55201 numberTag = '[object Number]',
55202 objectTag = '[object Object]',
55203 promiseTag = '[object Promise]',
55204 regexpTag = '[object RegExp]',
55205 setTag = '[object Set]',
55206 stringTag = '[object String]',
55207 symbolTag = '[object Symbol]',
55208 weakMapTag = '[object WeakMap]';
55209
55210 var arrayBufferTag = '[object ArrayBuffer]',
55211 dataViewTag = '[object DataView]',
55212 float32Tag = '[object Float32Array]',
55213 float64Tag = '[object Float64Array]',
55214 int8Tag = '[object Int8Array]',
55215 int16Tag = '[object Int16Array]',
55216 int32Tag = '[object Int32Array]',
55217 uint8Tag = '[object Uint8Array]',
55218 uint8ClampedTag = '[object Uint8ClampedArray]',
55219 uint16Tag = '[object Uint16Array]',
55220 uint32Tag = '[object Uint32Array]';
55221
55222 /** Used to match property names within property paths. */
55223 var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,
55224 reIsPlainProp = /^\w*$/,
55225 reLeadingDot = /^\./,
55226 rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;
55227
55228 /**
55229 * Used to match `RegExp`
55230 * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).
55231 */
55232 var reRegExpChar = /[\\^$.*+?()[\]{}|]/g;
55233
55234 /** Used to match leading and trailing whitespace. */
55235 var reTrim = /^\s+|\s+$/g;
55236
55237 /** Used to match backslashes in property paths. */
55238 var reEscapeChar = /\\(\\)?/g;
55239
55240 /** Used to detect bad signed hexadecimal string values. */
55241 var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;
55242
55243 /** Used to detect binary string values. */
55244 var reIsBinary = /^0b[01]+$/i;
55245
55246 /** Used to detect host constructors (Safari). */
55247 var reIsHostCtor = /^\[object .+?Constructor\]$/;
55248
55249 /** Used to detect octal string values. */
55250 var reIsOctal = /^0o[0-7]+$/i;
55251
55252 /** Used to detect unsigned integer values. */
55253 var reIsUint = /^(?:0|[1-9]\d*)$/;
55254
55255 /** Used to identify `toStringTag` values of typed arrays. */
55256 var typedArrayTags = {};
55257 typedArrayTags[float32Tag] = typedArrayTags[float64Tag] =
55258 typedArrayTags[int8Tag] = typedArrayTags[int16Tag] =
55259 typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =
55260 typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =
55261 typedArrayTags[uint32Tag] = true;
55262 typedArrayTags[argsTag] = typedArrayTags[arrayTag] =
55263 typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =
55264 typedArrayTags[dataViewTag] = typedArrayTags[dateTag] =
55265 typedArrayTags[errorTag] = typedArrayTags[funcTag] =
55266 typedArrayTags[mapTag] = typedArrayTags[numberTag] =
55267 typedArrayTags[objectTag] = typedArrayTags[regexpTag] =
55268 typedArrayTags[setTag] = typedArrayTags[stringTag] =
55269 typedArrayTags[weakMapTag] = false;
55270
55271 /** Built-in method references without a dependency on `root`. */
55272 var freeParseInt = parseInt;
55273
55274 /** Detect free variable `global` from Node.js. */
55275 var freeGlobal = typeof global == 'object' && global && global.Object === Object && global;
55276
55277 /** Detect free variable `self`. */
55278 var freeSelf = typeof self == 'object' && self && self.Object === Object && self;
55279
55280 /** Used as a reference to the global object. */
55281 var root = freeGlobal || freeSelf || Function('return this')();
55282
55283 /** Detect free variable `exports`. */
55284 var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;
55285
55286 /** Detect free variable `module`. */
55287 var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;
55288
55289 /** Detect the popular CommonJS extension `module.exports`. */
55290 var moduleExports = freeModule && freeModule.exports === freeExports;
55291
55292 /** Detect free variable `process` from Node.js. */
55293 var freeProcess = moduleExports && freeGlobal.process;
55294
55295 /** Used to access faster Node.js helpers. */
55296 var nodeUtil = (function() {
55297 try {
55298 return freeProcess && freeProcess.binding('util');
55299 } catch (e) {}
55300 }());
55301
55302 /* Node.js helper references. */
55303 var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;
55304
55305 /**
55306 * A specialized version of `_.some` for arrays without support for iteratee
55307 * shorthands.
55308 *
55309 * @private
55310 * @param {Array} [array] The array to iterate over.
55311 * @param {Function} predicate The function invoked per iteration.
55312 * @returns {boolean} Returns `true` if any element passes the predicate check,
55313 * else `false`.
55314 */
55315 function arraySome(array, predicate) {
55316 var index = -1,
55317 length = array ? array.length : 0;
55318
55319 while (++index < length) {
55320 if (predicate(array[index], index, array)) {
55321 return true;
55322 }
55323 }
55324 return false;
55325 }
55326
55327 /**
55328 * The base implementation of `_.findIndex` and `_.findLastIndex` without
55329 * support for iteratee shorthands.
55330 *
55331 * @private
55332 * @param {Array} array The array to inspect.
55333 * @param {Function} predicate The function invoked per iteration.
55334 * @param {number} fromIndex The index to search from.
55335 * @param {boolean} [fromRight] Specify iterating from right to left.
55336 * @returns {number} Returns the index of the matched value, else `-1`.
55337 */
55338 function baseFindIndex(array, predicate, fromIndex, fromRight) {
55339 var length = array.length,
55340 index = fromIndex + (fromRight ? 1 : -1);
55341
55342 while ((fromRight ? index-- : ++index < length)) {
55343 if (predicate(array[index], index, array)) {
55344 return index;
55345 }
55346 }
55347 return -1;
55348 }
55349
55350 /**
55351 * The base implementation of `_.property` without support for deep paths.
55352 *
55353 * @private
55354 * @param {string} key The key of the property to get.
55355 * @returns {Function} Returns the new accessor function.
55356 */
55357 function baseProperty(key) {
55358 return function(object) {
55359 return object == null ? undefined : object[key];
55360 };
55361 }
55362
55363 /**
55364 * The base implementation of `_.times` without support for iteratee shorthands
55365 * or max array length checks.
55366 *
55367 * @private
55368 * @param {number} n The number of times to invoke `iteratee`.
55369 * @param {Function} iteratee The function invoked per iteration.
55370 * @returns {Array} Returns the array of results.
55371 */
55372 function baseTimes(n, iteratee) {
55373 var index = -1,
55374 result = Array(n);
55375
55376 while (++index < n) {
55377 result[index] = iteratee(index);
55378 }
55379 return result;
55380 }
55381
55382 /**
55383 * The base implementation of `_.unary` without support for storing metadata.
55384 *
55385 * @private
55386 * @param {Function} func The function to cap arguments for.
55387 * @returns {Function} Returns the new capped function.
55388 */
55389 function baseUnary(func) {
55390 return function(value) {
55391 return func(value);
55392 };
55393 }
55394
55395 /**
55396 * Gets the value at `key` of `object`.
55397 *
55398 * @private
55399 * @param {Object} [object] The object to query.
55400 * @param {string} key The key of the property to get.
55401 * @returns {*} Returns the property value.
55402 */
55403 function getValue(object, key) {
55404 return object == null ? undefined : object[key];
55405 }
55406
55407 /**
55408 * Checks if `value` is a host object in IE < 9.
55409 *
55410 * @private
55411 * @param {*} value The value to check.
55412 * @returns {boolean} Returns `true` if `value` is a host object, else `false`.
55413 */
55414 function isHostObject(value) {
55415 // Many host objects are `Object` objects that can coerce to strings
55416 // despite having improperly defined `toString` methods.
55417 var result = false;
55418 if (value != null && typeof value.toString != 'function') {
55419 try {
55420 result = !!(value + '');
55421 } catch (e) {}
55422 }
55423 return result;
55424 }
55425
55426 /**
55427 * Converts `map` to its key-value pairs.
55428 *
55429 * @private
55430 * @param {Object} map The map to convert.
55431 * @returns {Array} Returns the key-value pairs.
55432 */
55433 function mapToArray(map) {
55434 var index = -1,
55435 result = Array(map.size);
55436
55437 map.forEach(function(value, key) {
55438 result[++index] = [key, value];
55439 });
55440 return result;
55441 }
55442
55443 /**
55444 * Creates a unary function that invokes `func` with its argument transformed.
55445 *
55446 * @private
55447 * @param {Function} func The function to wrap.
55448 * @param {Function} transform The argument transform.
55449 * @returns {Function} Returns the new function.
55450 */
55451 function overArg(func, transform) {
55452 return function(arg) {
55453 return func(transform(arg));
55454 };
55455 }
55456
55457 /**
55458 * Converts `set` to an array of its values.
55459 *
55460 * @private
55461 * @param {Object} set The set to convert.
55462 * @returns {Array} Returns the values.
55463 */
55464 function setToArray(set) {
55465 var index = -1,
55466 result = Array(set.size);
55467
55468 set.forEach(function(value) {
55469 result[++index] = value;
55470 });
55471 return result;
55472 }
55473
55474 /** Used for built-in method references. */
55475 var arrayProto = Array.prototype,
55476 funcProto = Function.prototype,
55477 objectProto = Object.prototype;
55478
55479 /** Used to detect overreaching core-js shims. */
55480 var coreJsData = root['__core-js_shared__'];
55481
55482 /** Used to detect methods masquerading as native. */
55483 var maskSrcKey = (function() {
55484 var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');
55485 return uid ? ('Symbol(src)_1.' + uid) : '';
55486 }());
55487
55488 /** Used to resolve the decompiled source of functions. */
55489 var funcToString = funcProto.toString;
55490
55491 /** Used to check objects for own properties. */
55492 var hasOwnProperty = objectProto.hasOwnProperty;
55493
55494 /**
55495 * Used to resolve the
55496 * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
55497 * of values.
55498 */
55499 var objectToString = objectProto.toString;
55500
55501 /** Used to detect if a method is native. */
55502 var reIsNative = RegExp('^' +
55503 funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&')
55504 .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$'
55505 );
55506
55507 /** Built-in value references. */
55508 var Symbol = root.Symbol,
55509 Uint8Array = root.Uint8Array,
55510 propertyIsEnumerable = objectProto.propertyIsEnumerable,
55511 splice = arrayProto.splice;
55512
55513 /* Built-in method references for those with the same name as other `lodash` methods. */
55514 var nativeKeys = overArg(Object.keys, Object),
55515 nativeMax = Math.max;
55516
55517 /* Built-in method references that are verified to be native. */
55518 var DataView = getNative(root, 'DataView'),
55519 Map = getNative(root, 'Map'),
55520 Promise = getNative(root, 'Promise'),
55521 Set = getNative(root, 'Set'),
55522 WeakMap = getNative(root, 'WeakMap'),
55523 nativeCreate = getNative(Object, 'create');
55524
55525 /** Used to detect maps, sets, and weakmaps. */
55526 var dataViewCtorString = toSource(DataView),
55527 mapCtorString = toSource(Map),
55528 promiseCtorString = toSource(Promise),
55529 setCtorString = toSource(Set),
55530 weakMapCtorString = toSource(WeakMap);
55531
55532 /** Used to convert symbols to primitives and strings. */
55533 var symbolProto = Symbol ? Symbol.prototype : undefined,
55534 symbolValueOf = symbolProto ? symbolProto.valueOf : undefined,
55535 symbolToString = symbolProto ? symbolProto.toString : undefined;
55536
55537 /**
55538 * Creates a hash object.
55539 *
55540 * @private
55541 * @constructor
55542 * @param {Array} [entries] The key-value pairs to cache.
55543 */
55544 function Hash(entries) {
55545 var index = -1,
55546 length = entries ? entries.length : 0;
55547
55548 this.clear();
55549 while (++index < length) {
55550 var entry = entries[index];
55551 this.set(entry[0], entry[1]);
55552 }
55553 }
55554
55555 /**
55556 * Removes all key-value entries from the hash.
55557 *
55558 * @private
55559 * @name clear
55560 * @memberOf Hash
55561 */
55562 function hashClear() {
55563 this.__data__ = nativeCreate ? nativeCreate(null) : {};
55564 }
55565
55566 /**
55567 * Removes `key` and its value from the hash.
55568 *
55569 * @private
55570 * @name delete
55571 * @memberOf Hash
55572 * @param {Object} hash The hash to modify.
55573 * @param {string} key The key of the value to remove.
55574 * @returns {boolean} Returns `true` if the entry was removed, else `false`.
55575 */
55576 function hashDelete(key) {
55577 return this.has(key) && delete this.__data__[key];
55578 }
55579
55580 /**
55581 * Gets the hash value for `key`.
55582 *
55583 * @private
55584 * @name get
55585 * @memberOf Hash
55586 * @param {string} key The key of the value to get.
55587 * @returns {*} Returns the entry value.
55588 */
55589 function hashGet(key) {
55590 var data = this.__data__;
55591 if (nativeCreate) {
55592 var result = data[key];
55593 return result === HASH_UNDEFINED ? undefined : result;
55594 }
55595 return hasOwnProperty.call(data, key) ? data[key] : undefined;
55596 }
55597
55598 /**
55599 * Checks if a hash value for `key` exists.
55600 *
55601 * @private
55602 * @name has
55603 * @memberOf Hash
55604 * @param {string} key The key of the entry to check.
55605 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
55606 */
55607 function hashHas(key) {
55608 var data = this.__data__;
55609 return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);
55610 }
55611
55612 /**
55613 * Sets the hash `key` to `value`.
55614 *
55615 * @private
55616 * @name set
55617 * @memberOf Hash
55618 * @param {string} key The key of the value to set.
55619 * @param {*} value The value to set.
55620 * @returns {Object} Returns the hash instance.
55621 */
55622 function hashSet(key, value) {
55623 var data = this.__data__;
55624 data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;
55625 return this;
55626 }
55627
55628 // Add methods to `Hash`.
55629 Hash.prototype.clear = hashClear;
55630 Hash.prototype['delete'] = hashDelete;
55631 Hash.prototype.get = hashGet;
55632 Hash.prototype.has = hashHas;
55633 Hash.prototype.set = hashSet;
55634
55635 /**
55636 * Creates an list cache object.
55637 *
55638 * @private
55639 * @constructor
55640 * @param {Array} [entries] The key-value pairs to cache.
55641 */
55642 function ListCache(entries) {
55643 var index = -1,
55644 length = entries ? entries.length : 0;
55645
55646 this.clear();
55647 while (++index < length) {
55648 var entry = entries[index];
55649 this.set(entry[0], entry[1]);
55650 }
55651 }
55652
55653 /**
55654 * Removes all key-value entries from the list cache.
55655 *
55656 * @private
55657 * @name clear
55658 * @memberOf ListCache
55659 */
55660 function listCacheClear() {
55661 this.__data__ = [];
55662 }
55663
55664 /**
55665 * Removes `key` and its value from the list cache.
55666 *
55667 * @private
55668 * @name delete
55669 * @memberOf ListCache
55670 * @param {string} key The key of the value to remove.
55671 * @returns {boolean} Returns `true` if the entry was removed, else `false`.
55672 */
55673 function listCacheDelete(key) {
55674 var data = this.__data__,
55675 index = assocIndexOf(data, key);
55676
55677 if (index < 0) {
55678 return false;
55679 }
55680 var lastIndex = data.length - 1;
55681 if (index == lastIndex) {
55682 data.pop();
55683 } else {
55684 splice.call(data, index, 1);
55685 }
55686 return true;
55687 }
55688
55689 /**
55690 * Gets the list cache value for `key`.
55691 *
55692 * @private
55693 * @name get
55694 * @memberOf ListCache
55695 * @param {string} key The key of the value to get.
55696 * @returns {*} Returns the entry value.
55697 */
55698 function listCacheGet(key) {
55699 var data = this.__data__,
55700 index = assocIndexOf(data, key);
55701
55702 return index < 0 ? undefined : data[index][1];
55703 }
55704
55705 /**
55706 * Checks if a list cache value for `key` exists.
55707 *
55708 * @private
55709 * @name has
55710 * @memberOf ListCache
55711 * @param {string} key The key of the entry to check.
55712 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
55713 */
55714 function listCacheHas(key) {
55715 return assocIndexOf(this.__data__, key) > -1;
55716 }
55717
55718 /**
55719 * Sets the list cache `key` to `value`.
55720 *
55721 * @private
55722 * @name set
55723 * @memberOf ListCache
55724 * @param {string} key The key of the value to set.
55725 * @param {*} value The value to set.
55726 * @returns {Object} Returns the list cache instance.
55727 */
55728 function listCacheSet(key, value) {
55729 var data = this.__data__,
55730 index = assocIndexOf(data, key);
55731
55732 if (index < 0) {
55733 data.push([key, value]);
55734 } else {
55735 data[index][1] = value;
55736 }
55737 return this;
55738 }
55739
55740 // Add methods to `ListCache`.
55741 ListCache.prototype.clear = listCacheClear;
55742 ListCache.prototype['delete'] = listCacheDelete;
55743 ListCache.prototype.get = listCacheGet;
55744 ListCache.prototype.has = listCacheHas;
55745 ListCache.prototype.set = listCacheSet;
55746
55747 /**
55748 * Creates a map cache object to store key-value pairs.
55749 *
55750 * @private
55751 * @constructor
55752 * @param {Array} [entries] The key-value pairs to cache.
55753 */
55754 function MapCache(entries) {
55755 var index = -1,
55756 length = entries ? entries.length : 0;
55757
55758 this.clear();
55759 while (++index < length) {
55760 var entry = entries[index];
55761 this.set(entry[0], entry[1]);
55762 }
55763 }
55764
55765 /**
55766 * Removes all key-value entries from the map.
55767 *
55768 * @private
55769 * @name clear
55770 * @memberOf MapCache
55771 */
55772 function mapCacheClear() {
55773 this.__data__ = {
55774 'hash': new Hash,
55775 'map': new (Map || ListCache),
55776 'string': new Hash
55777 };
55778 }
55779
55780 /**
55781 * Removes `key` and its value from the map.
55782 *
55783 * @private
55784 * @name delete
55785 * @memberOf MapCache
55786 * @param {string} key The key of the value to remove.
55787 * @returns {boolean} Returns `true` if the entry was removed, else `false`.
55788 */
55789 function mapCacheDelete(key) {
55790 return getMapData(this, key)['delete'](key);
55791 }
55792
55793 /**
55794 * Gets the map value for `key`.
55795 *
55796 * @private
55797 * @name get
55798 * @memberOf MapCache
55799 * @param {string} key The key of the value to get.
55800 * @returns {*} Returns the entry value.
55801 */
55802 function mapCacheGet(key) {
55803 return getMapData(this, key).get(key);
55804 }
55805
55806 /**
55807 * Checks if a map value for `key` exists.
55808 *
55809 * @private
55810 * @name has
55811 * @memberOf MapCache
55812 * @param {string} key The key of the entry to check.
55813 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
55814 */
55815 function mapCacheHas(key) {
55816 return getMapData(this, key).has(key);
55817 }
55818
55819 /**
55820 * Sets the map `key` to `value`.
55821 *
55822 * @private
55823 * @name set
55824 * @memberOf MapCache
55825 * @param {string} key The key of the value to set.
55826 * @param {*} value The value to set.
55827 * @returns {Object} Returns the map cache instance.
55828 */
55829 function mapCacheSet(key, value) {
55830 getMapData(this, key).set(key, value);
55831 return this;
55832 }
55833
55834 // Add methods to `MapCache`.
55835 MapCache.prototype.clear = mapCacheClear;
55836 MapCache.prototype['delete'] = mapCacheDelete;
55837 MapCache.prototype.get = mapCacheGet;
55838 MapCache.prototype.has = mapCacheHas;
55839 MapCache.prototype.set = mapCacheSet;
55840
55841 /**
55842 *
55843 * Creates an array cache object to store unique values.
55844 *
55845 * @private
55846 * @constructor
55847 * @param {Array} [values] The values to cache.
55848 */
55849 function SetCache(values) {
55850 var index = -1,
55851 length = values ? values.length : 0;
55852
55853 this.__data__ = new MapCache;
55854 while (++index < length) {
55855 this.add(values[index]);
55856 }
55857 }
55858
55859 /**
55860 * Adds `value` to the array cache.
55861 *
55862 * @private
55863 * @name add
55864 * @memberOf SetCache
55865 * @alias push
55866 * @param {*} value The value to cache.
55867 * @returns {Object} Returns the cache instance.
55868 */
55869 function setCacheAdd(value) {
55870 this.__data__.set(value, HASH_UNDEFINED);
55871 return this;
55872 }
55873
55874 /**
55875 * Checks if `value` is in the array cache.
55876 *
55877 * @private
55878 * @name has
55879 * @memberOf SetCache
55880 * @param {*} value The value to search for.
55881 * @returns {number} Returns `true` if `value` is found, else `false`.
55882 */
55883 function setCacheHas(value) {
55884 return this.__data__.has(value);
55885 }
55886
55887 // Add methods to `SetCache`.
55888 SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;
55889 SetCache.prototype.has = setCacheHas;
55890
55891 /**
55892 * Creates a stack cache object to store key-value pairs.
55893 *
55894 * @private
55895 * @constructor
55896 * @param {Array} [entries] The key-value pairs to cache.
55897 */
55898 function Stack(entries) {
55899 this.__data__ = new ListCache(entries);
55900 }
55901
55902 /**
55903 * Removes all key-value entries from the stack.
55904 *
55905 * @private
55906 * @name clear
55907 * @memberOf Stack
55908 */
55909 function stackClear() {
55910 this.__data__ = new ListCache;
55911 }
55912
55913 /**
55914 * Removes `key` and its value from the stack.
55915 *
55916 * @private
55917 * @name delete
55918 * @memberOf Stack
55919 * @param {string} key The key of the value to remove.
55920 * @returns {boolean} Returns `true` if the entry was removed, else `false`.
55921 */
55922 function stackDelete(key) {
55923 return this.__data__['delete'](key);
55924 }
55925
55926 /**
55927 * Gets the stack value for `key`.
55928 *
55929 * @private
55930 * @name get
55931 * @memberOf Stack
55932 * @param {string} key The key of the value to get.
55933 * @returns {*} Returns the entry value.
55934 */
55935 function stackGet(key) {
55936 return this.__data__.get(key);
55937 }
55938
55939 /**
55940 * Checks if a stack value for `key` exists.
55941 *
55942 * @private
55943 * @name has
55944 * @memberOf Stack
55945 * @param {string} key The key of the entry to check.
55946 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
55947 */
55948 function stackHas(key) {
55949 return this.__data__.has(key);
55950 }
55951
55952 /**
55953 * Sets the stack `key` to `value`.
55954 *
55955 * @private
55956 * @name set
55957 * @memberOf Stack
55958 * @param {string} key The key of the value to set.
55959 * @param {*} value The value to set.
55960 * @returns {Object} Returns the stack cache instance.
55961 */
55962 function stackSet(key, value) {
55963 var cache = this.__data__;
55964 if (cache instanceof ListCache) {
55965 var pairs = cache.__data__;
55966 if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {
55967 pairs.push([key, value]);
55968 return this;
55969 }
55970 cache = this.__data__ = new MapCache(pairs);
55971 }
55972 cache.set(key, value);
55973 return this;
55974 }
55975
55976 // Add methods to `Stack`.
55977 Stack.prototype.clear = stackClear;
55978 Stack.prototype['delete'] = stackDelete;
55979 Stack.prototype.get = stackGet;
55980 Stack.prototype.has = stackHas;
55981 Stack.prototype.set = stackSet;
55982
55983 /**
55984 * Creates an array of the enumerable property names of the array-like `value`.
55985 *
55986 * @private
55987 * @param {*} value The value to query.
55988 * @param {boolean} inherited Specify returning inherited property names.
55989 * @returns {Array} Returns the array of property names.
55990 */
55991 function arrayLikeKeys(value, inherited) {
55992 // Safari 8.1 makes `arguments.callee` enumerable in strict mode.
55993 // Safari 9 makes `arguments.length` enumerable in strict mode.
55994 var result = (isArray(value) || isArguments(value))
55995 ? baseTimes(value.length, String)
55996 : [];
55997
55998 var length = result.length,
55999 skipIndexes = !!length;
56000
56001 for (var key in value) {
56002 if ((inherited || hasOwnProperty.call(value, key)) &&
56003 !(skipIndexes && (key == 'length' || isIndex(key, length)))) {
56004 result.push(key);
56005 }
56006 }
56007 return result;
56008 }
56009
56010 /**
56011 * Gets the index at which the `key` is found in `array` of key-value pairs.
56012 *
56013 * @private
56014 * @param {Array} array The array to inspect.
56015 * @param {*} key The key to search for.
56016 * @returns {number} Returns the index of the matched value, else `-1`.
56017 */
56018 function assocIndexOf(array, key) {
56019 var length = array.length;
56020 while (length--) {
56021 if (eq(array[length][0], key)) {
56022 return length;
56023 }
56024 }
56025 return -1;
56026 }
56027
56028 /**
56029 * The base implementation of `_.get` without support for default values.
56030 *
56031 * @private
56032 * @param {Object} object The object to query.
56033 * @param {Array|string} path The path of the property to get.
56034 * @returns {*} Returns the resolved value.
56035 */
56036 function baseGet(object, path) {
56037 path = isKey(path, object) ? [path] : castPath(path);
56038
56039 var index = 0,
56040 length = path.length;
56041
56042 while (object != null && index < length) {
56043 object = object[toKey(path[index++])];
56044 }
56045 return (index && index == length) ? object : undefined;
56046 }
56047
56048 /**
56049 * The base implementation of `getTag`.
56050 *
56051 * @private
56052 * @param {*} value The value to query.
56053 * @returns {string} Returns the `toStringTag`.
56054 */
56055 function baseGetTag(value) {
56056 return objectToString.call(value);
56057 }
56058
56059 /**
56060 * The base implementation of `_.hasIn` without support for deep paths.
56061 *
56062 * @private
56063 * @param {Object} [object] The object to query.
56064 * @param {Array|string} key The key to check.
56065 * @returns {boolean} Returns `true` if `key` exists, else `false`.
56066 */
56067 function baseHasIn(object, key) {
56068 return object != null && key in Object(object);
56069 }
56070
56071 /**
56072 * The base implementation of `_.isEqual` which supports partial comparisons
56073 * and tracks traversed objects.
56074 *
56075 * @private
56076 * @param {*} value The value to compare.
56077 * @param {*} other The other value to compare.
56078 * @param {Function} [customizer] The function to customize comparisons.
56079 * @param {boolean} [bitmask] The bitmask of comparison flags.
56080 * The bitmask may be composed of the following flags:
56081 * 1 - Unordered comparison
56082 * 2 - Partial comparison
56083 * @param {Object} [stack] Tracks traversed `value` and `other` objects.
56084 * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
56085 */
56086 function baseIsEqual(value, other, customizer, bitmask, stack) {
56087 if (value === other) {
56088 return true;
56089 }
56090 if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {
56091 return value !== value && other !== other;
56092 }
56093 return baseIsEqualDeep(value, other, baseIsEqual, customizer, bitmask, stack);
56094 }
56095
56096 /**
56097 * A specialized version of `baseIsEqual` for arrays and objects which performs
56098 * deep comparisons and tracks traversed objects enabling objects with circular
56099 * references to be compared.
56100 *
56101 * @private
56102 * @param {Object} object The object to compare.
56103 * @param {Object} other The other object to compare.
56104 * @param {Function} equalFunc The function to determine equivalents of values.
56105 * @param {Function} [customizer] The function to customize comparisons.
56106 * @param {number} [bitmask] The bitmask of comparison flags. See `baseIsEqual`
56107 * for more details.
56108 * @param {Object} [stack] Tracks traversed `object` and `other` objects.
56109 * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
56110 */
56111 function baseIsEqualDeep(object, other, equalFunc, customizer, bitmask, stack) {
56112 var objIsArr = isArray(object),
56113 othIsArr = isArray(other),
56114 objTag = arrayTag,
56115 othTag = arrayTag;
56116
56117 if (!objIsArr) {
56118 objTag = getTag(object);
56119 objTag = objTag == argsTag ? objectTag : objTag;
56120 }
56121 if (!othIsArr) {
56122 othTag = getTag(other);
56123 othTag = othTag == argsTag ? objectTag : othTag;
56124 }
56125 var objIsObj = objTag == objectTag && !isHostObject(object),
56126 othIsObj = othTag == objectTag && !isHostObject(other),
56127 isSameTag = objTag == othTag;
56128
56129 if (isSameTag && !objIsObj) {
56130 stack || (stack = new Stack);
56131 return (objIsArr || isTypedArray(object))
56132 ? equalArrays(object, other, equalFunc, customizer, bitmask, stack)
56133 : equalByTag(object, other, objTag, equalFunc, customizer, bitmask, stack);
56134 }
56135 if (!(bitmask & PARTIAL_COMPARE_FLAG)) {
56136 var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),
56137 othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');
56138
56139 if (objIsWrapped || othIsWrapped) {
56140 var objUnwrapped = objIsWrapped ? object.value() : object,
56141 othUnwrapped = othIsWrapped ? other.value() : other;
56142
56143 stack || (stack = new Stack);
56144 return equalFunc(objUnwrapped, othUnwrapped, customizer, bitmask, stack);
56145 }
56146 }
56147 if (!isSameTag) {
56148 return false;
56149 }
56150 stack || (stack = new Stack);
56151 return equalObjects(object, other, equalFunc, customizer, bitmask, stack);
56152 }
56153
56154 /**
56155 * The base implementation of `_.isMatch` without support for iteratee shorthands.
56156 *
56157 * @private
56158 * @param {Object} object The object to inspect.
56159 * @param {Object} source The object of property values to match.
56160 * @param {Array} matchData The property names, values, and compare flags to match.
56161 * @param {Function} [customizer] The function to customize comparisons.
56162 * @returns {boolean} Returns `true` if `object` is a match, else `false`.
56163 */
56164 function baseIsMatch(object, source, matchData, customizer) {
56165 var index = matchData.length,
56166 length = index,
56167 noCustomizer = !customizer;
56168
56169 if (object == null) {
56170 return !length;
56171 }
56172 object = Object(object);
56173 while (index--) {
56174 var data = matchData[index];
56175 if ((noCustomizer && data[2])
56176 ? data[1] !== object[data[0]]
56177 : !(data[0] in object)
56178 ) {
56179 return false;
56180 }
56181 }
56182 while (++index < length) {
56183 data = matchData[index];
56184 var key = data[0],
56185 objValue = object[key],
56186 srcValue = data[1];
56187
56188 if (noCustomizer && data[2]) {
56189 if (objValue === undefined && !(key in object)) {
56190 return false;
56191 }
56192 } else {
56193 var stack = new Stack;
56194 if (customizer) {
56195 var result = customizer(objValue, srcValue, key, object, source, stack);
56196 }
56197 if (!(result === undefined
56198 ? baseIsEqual(srcValue, objValue, customizer, UNORDERED_COMPARE_FLAG | PARTIAL_COMPARE_FLAG, stack)
56199 : result
56200 )) {
56201 return false;
56202 }
56203 }
56204 }
56205 return true;
56206 }
56207
56208 /**
56209 * The base implementation of `_.isNative` without bad shim checks.
56210 *
56211 * @private
56212 * @param {*} value The value to check.
56213 * @returns {boolean} Returns `true` if `value` is a native function,
56214 * else `false`.
56215 */
56216 function baseIsNative(value) {
56217 if (!isObject(value) || isMasked(value)) {
56218 return false;
56219 }
56220 var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;
56221 return pattern.test(toSource(value));
56222 }
56223
56224 /**
56225 * The base implementation of `_.isTypedArray` without Node.js optimizations.
56226 *
56227 * @private
56228 * @param {*} value The value to check.
56229 * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.
56230 */
56231 function baseIsTypedArray(value) {
56232 return isObjectLike(value) &&
56233 isLength(value.length) && !!typedArrayTags[objectToString.call(value)];
56234 }
56235
56236 /**
56237 * The base implementation of `_.iteratee`.
56238 *
56239 * @private
56240 * @param {*} [value=_.identity] The value to convert to an iteratee.
56241 * @returns {Function} Returns the iteratee.
56242 */
56243 function baseIteratee(value) {
56244 // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.
56245 // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.
56246 if (typeof value == 'function') {
56247 return value;
56248 }
56249 if (value == null) {
56250 return identity;
56251 }
56252 if (typeof value == 'object') {
56253 return isArray(value)
56254 ? baseMatchesProperty(value[0], value[1])
56255 : baseMatches(value);
56256 }
56257 return property(value);
56258 }
56259
56260 /**
56261 * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.
56262 *
56263 * @private
56264 * @param {Object} object The object to query.
56265 * @returns {Array} Returns the array of property names.
56266 */
56267 function baseKeys(object) {
56268 if (!isPrototype(object)) {
56269 return nativeKeys(object);
56270 }
56271 var result = [];
56272 for (var key in Object(object)) {
56273 if (hasOwnProperty.call(object, key) && key != 'constructor') {
56274 result.push(key);
56275 }
56276 }
56277 return result;
56278 }
56279
56280 /**
56281 * The base implementation of `_.matches` which doesn't clone `source`.
56282 *
56283 * @private
56284 * @param {Object} source The object of property values to match.
56285 * @returns {Function} Returns the new spec function.
56286 */
56287 function baseMatches(source) {
56288 var matchData = getMatchData(source);
56289 if (matchData.length == 1 && matchData[0][2]) {
56290 return matchesStrictComparable(matchData[0][0], matchData[0][1]);
56291 }
56292 return function(object) {
56293 return object === source || baseIsMatch(object, source, matchData);
56294 };
56295 }
56296
56297 /**
56298 * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.
56299 *
56300 * @private
56301 * @param {string} path The path of the property to get.
56302 * @param {*} srcValue The value to match.
56303 * @returns {Function} Returns the new spec function.
56304 */
56305 function baseMatchesProperty(path, srcValue) {
56306 if (isKey(path) && isStrictComparable(srcValue)) {
56307 return matchesStrictComparable(toKey(path), srcValue);
56308 }
56309 return function(object) {
56310 var objValue = get(object, path);
56311 return (objValue === undefined && objValue === srcValue)
56312 ? hasIn(object, path)
56313 : baseIsEqual(srcValue, objValue, undefined, UNORDERED_COMPARE_FLAG | PARTIAL_COMPARE_FLAG);
56314 };
56315 }
56316
56317 /**
56318 * A specialized version of `baseProperty` which supports deep paths.
56319 *
56320 * @private
56321 * @param {Array|string} path The path of the property to get.
56322 * @returns {Function} Returns the new accessor function.
56323 */
56324 function basePropertyDeep(path) {
56325 return function(object) {
56326 return baseGet(object, path);
56327 };
56328 }
56329
56330 /**
56331 * The base implementation of `_.toString` which doesn't convert nullish
56332 * values to empty strings.
56333 *
56334 * @private
56335 * @param {*} value The value to process.
56336 * @returns {string} Returns the string.
56337 */
56338 function baseToString(value) {
56339 // Exit early for strings to avoid a performance hit in some environments.
56340 if (typeof value == 'string') {
56341 return value;
56342 }
56343 if (isSymbol(value)) {
56344 return symbolToString ? symbolToString.call(value) : '';
56345 }
56346 var result = (value + '');
56347 return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;
56348 }
56349
56350 /**
56351 * Casts `value` to a path array if it's not one.
56352 *
56353 * @private
56354 * @param {*} value The value to inspect.
56355 * @returns {Array} Returns the cast property path array.
56356 */
56357 function castPath(value) {
56358 return isArray(value) ? value : stringToPath(value);
56359 }
56360
56361 /**
56362 * A specialized version of `baseIsEqualDeep` for arrays with support for
56363 * partial deep comparisons.
56364 *
56365 * @private
56366 * @param {Array} array The array to compare.
56367 * @param {Array} other The other array to compare.
56368 * @param {Function} equalFunc The function to determine equivalents of values.
56369 * @param {Function} customizer The function to customize comparisons.
56370 * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`
56371 * for more details.
56372 * @param {Object} stack Tracks traversed `array` and `other` objects.
56373 * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.
56374 */
56375 function equalArrays(array, other, equalFunc, customizer, bitmask, stack) {
56376 var isPartial = bitmask & PARTIAL_COMPARE_FLAG,
56377 arrLength = array.length,
56378 othLength = other.length;
56379
56380 if (arrLength != othLength && !(isPartial && othLength > arrLength)) {
56381 return false;
56382 }
56383 // Assume cyclic values are equal.
56384 var stacked = stack.get(array);
56385 if (stacked && stack.get(other)) {
56386 return stacked == other;
56387 }
56388 var index = -1,
56389 result = true,
56390 seen = (bitmask & UNORDERED_COMPARE_FLAG) ? new SetCache : undefined;
56391
56392 stack.set(array, other);
56393 stack.set(other, array);
56394
56395 // Ignore non-index properties.
56396 while (++index < arrLength) {
56397 var arrValue = array[index],
56398 othValue = other[index];
56399
56400 if (customizer) {
56401 var compared = isPartial
56402 ? customizer(othValue, arrValue, index, other, array, stack)
56403 : customizer(arrValue, othValue, index, array, other, stack);
56404 }
56405 if (compared !== undefined) {
56406 if (compared) {
56407 continue;
56408 }
56409 result = false;
56410 break;
56411 }
56412 // Recursively compare arrays (susceptible to call stack limits).
56413 if (seen) {
56414 if (!arraySome(other, function(othValue, othIndex) {
56415 if (!seen.has(othIndex) &&
56416 (arrValue === othValue || equalFunc(arrValue, othValue, customizer, bitmask, stack))) {
56417 return seen.add(othIndex);
56418 }
56419 })) {
56420 result = false;
56421 break;
56422 }
56423 } else if (!(
56424 arrValue === othValue ||
56425 equalFunc(arrValue, othValue, customizer, bitmask, stack)
56426 )) {
56427 result = false;
56428 break;
56429 }
56430 }
56431 stack['delete'](array);
56432 stack['delete'](other);
56433 return result;
56434 }
56435
56436 /**
56437 * A specialized version of `baseIsEqualDeep` for comparing objects of
56438 * the same `toStringTag`.
56439 *
56440 * **Note:** This function only supports comparing values with tags of
56441 * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.
56442 *
56443 * @private
56444 * @param {Object} object The object to compare.
56445 * @param {Object} other The other object to compare.
56446 * @param {string} tag The `toStringTag` of the objects to compare.
56447 * @param {Function} equalFunc The function to determine equivalents of values.
56448 * @param {Function} customizer The function to customize comparisons.
56449 * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`
56450 * for more details.
56451 * @param {Object} stack Tracks traversed `object` and `other` objects.
56452 * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
56453 */
56454 function equalByTag(object, other, tag, equalFunc, customizer, bitmask, stack) {
56455 switch (tag) {
56456 case dataViewTag:
56457 if ((object.byteLength != other.byteLength) ||
56458 (object.byteOffset != other.byteOffset)) {
56459 return false;
56460 }
56461 object = object.buffer;
56462 other = other.buffer;
56463
56464 case arrayBufferTag:
56465 if ((object.byteLength != other.byteLength) ||
56466 !equalFunc(new Uint8Array(object), new Uint8Array(other))) {
56467 return false;
56468 }
56469 return true;
56470
56471 case boolTag:
56472 case dateTag:
56473 case numberTag:
56474 // Coerce booleans to `1` or `0` and dates to milliseconds.
56475 // Invalid dates are coerced to `NaN`.
56476 return eq(+object, +other);
56477
56478 case errorTag:
56479 return object.name == other.name && object.message == other.message;
56480
56481 case regexpTag:
56482 case stringTag:
56483 // Coerce regexes to strings and treat strings, primitives and objects,
56484 // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring
56485 // for more details.
56486 return object == (other + '');
56487
56488 case mapTag:
56489 var convert = mapToArray;
56490
56491 case setTag:
56492 var isPartial = bitmask & PARTIAL_COMPARE_FLAG;
56493 convert || (convert = setToArray);
56494
56495 if (object.size != other.size && !isPartial) {
56496 return false;
56497 }
56498 // Assume cyclic values are equal.
56499 var stacked = stack.get(object);
56500 if (stacked) {
56501 return stacked == other;
56502 }
56503 bitmask |= UNORDERED_COMPARE_FLAG;
56504
56505 // Recursively compare objects (susceptible to call stack limits).
56506 stack.set(object, other);
56507 var result = equalArrays(convert(object), convert(other), equalFunc, customizer, bitmask, stack);
56508 stack['delete'](object);
56509 return result;
56510
56511 case symbolTag:
56512 if (symbolValueOf) {
56513 return symbolValueOf.call(object) == symbolValueOf.call(other);
56514 }
56515 }
56516 return false;
56517 }
56518
56519 /**
56520 * A specialized version of `baseIsEqualDeep` for objects with support for
56521 * partial deep comparisons.
56522 *
56523 * @private
56524 * @param {Object} object The object to compare.
56525 * @param {Object} other The other object to compare.
56526 * @param {Function} equalFunc The function to determine equivalents of values.
56527 * @param {Function} customizer The function to customize comparisons.
56528 * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`
56529 * for more details.
56530 * @param {Object} stack Tracks traversed `object` and `other` objects.
56531 * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
56532 */
56533 function equalObjects(object, other, equalFunc, customizer, bitmask, stack) {
56534 var isPartial = bitmask & PARTIAL_COMPARE_FLAG,
56535 objProps = keys(object),
56536 objLength = objProps.length,
56537 othProps = keys(other),
56538 othLength = othProps.length;
56539
56540 if (objLength != othLength && !isPartial) {
56541 return false;
56542 }
56543 var index = objLength;
56544 while (index--) {
56545 var key = objProps[index];
56546 if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {
56547 return false;
56548 }
56549 }
56550 // Assume cyclic values are equal.
56551 var stacked = stack.get(object);
56552 if (stacked && stack.get(other)) {
56553 return stacked == other;
56554 }
56555 var result = true;
56556 stack.set(object, other);
56557 stack.set(other, object);
56558
56559 var skipCtor = isPartial;
56560 while (++index < objLength) {
56561 key = objProps[index];
56562 var objValue = object[key],
56563 othValue = other[key];
56564
56565 if (customizer) {
56566 var compared = isPartial
56567 ? customizer(othValue, objValue, key, other, object, stack)
56568 : customizer(objValue, othValue, key, object, other, stack);
56569 }
56570 // Recursively compare objects (susceptible to call stack limits).
56571 if (!(compared === undefined
56572 ? (objValue === othValue || equalFunc(objValue, othValue, customizer, bitmask, stack))
56573 : compared
56574 )) {
56575 result = false;
56576 break;
56577 }
56578 skipCtor || (skipCtor = key == 'constructor');
56579 }
56580 if (result && !skipCtor) {
56581 var objCtor = object.constructor,
56582 othCtor = other.constructor;
56583
56584 // Non `Object` object instances with different constructors are not equal.
56585 if (objCtor != othCtor &&
56586 ('constructor' in object && 'constructor' in other) &&
56587 !(typeof objCtor == 'function' && objCtor instanceof objCtor &&
56588 typeof othCtor == 'function' && othCtor instanceof othCtor)) {
56589 result = false;
56590 }
56591 }
56592 stack['delete'](object);
56593 stack['delete'](other);
56594 return result;
56595 }
56596
56597 /**
56598 * Gets the data for `map`.
56599 *
56600 * @private
56601 * @param {Object} map The map to query.
56602 * @param {string} key The reference key.
56603 * @returns {*} Returns the map data.
56604 */
56605 function getMapData(map, key) {
56606 var data = map.__data__;
56607 return isKeyable(key)
56608 ? data[typeof key == 'string' ? 'string' : 'hash']
56609 : data.map;
56610 }
56611
56612 /**
56613 * Gets the property names, values, and compare flags of `object`.
56614 *
56615 * @private
56616 * @param {Object} object The object to query.
56617 * @returns {Array} Returns the match data of `object`.
56618 */
56619 function getMatchData(object) {
56620 var result = keys(object),
56621 length = result.length;
56622
56623 while (length--) {
56624 var key = result[length],
56625 value = object[key];
56626
56627 result[length] = [key, value, isStrictComparable(value)];
56628 }
56629 return result;
56630 }
56631
56632 /**
56633 * Gets the native function at `key` of `object`.
56634 *
56635 * @private
56636 * @param {Object} object The object to query.
56637 * @param {string} key The key of the method to get.
56638 * @returns {*} Returns the function if it's native, else `undefined`.
56639 */
56640 function getNative(object, key) {
56641 var value = getValue(object, key);
56642 return baseIsNative(value) ? value : undefined;
56643 }
56644
56645 /**
56646 * Gets the `toStringTag` of `value`.
56647 *
56648 * @private
56649 * @param {*} value The value to query.
56650 * @returns {string} Returns the `toStringTag`.
56651 */
56652 var getTag = baseGetTag;
56653
56654 // Fallback for data views, maps, sets, and weak maps in IE 11,
56655 // for data views in Edge < 14, and promises in Node.js.
56656 if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||
56657 (Map && getTag(new Map) != mapTag) ||
56658 (Promise && getTag(Promise.resolve()) != promiseTag) ||
56659 (Set && getTag(new Set) != setTag) ||
56660 (WeakMap && getTag(new WeakMap) != weakMapTag)) {
56661 getTag = function(value) {
56662 var result = objectToString.call(value),
56663 Ctor = result == objectTag ? value.constructor : undefined,
56664 ctorString = Ctor ? toSource(Ctor) : undefined;
56665
56666 if (ctorString) {
56667 switch (ctorString) {
56668 case dataViewCtorString: return dataViewTag;
56669 case mapCtorString: return mapTag;
56670 case promiseCtorString: return promiseTag;
56671 case setCtorString: return setTag;
56672 case weakMapCtorString: return weakMapTag;
56673 }
56674 }
56675 return result;
56676 };
56677 }
56678
56679 /**
56680 * Checks if `path` exists on `object`.
56681 *
56682 * @private
56683 * @param {Object} object The object to query.
56684 * @param {Array|string} path The path to check.
56685 * @param {Function} hasFunc The function to check properties.
56686 * @returns {boolean} Returns `true` if `path` exists, else `false`.
56687 */
56688 function hasPath(object, path, hasFunc) {
56689 path = isKey(path, object) ? [path] : castPath(path);
56690
56691 var result,
56692 index = -1,
56693 length = path.length;
56694
56695 while (++index < length) {
56696 var key = toKey(path[index]);
56697 if (!(result = object != null && hasFunc(object, key))) {
56698 break;
56699 }
56700 object = object[key];
56701 }
56702 if (result) {
56703 return result;
56704 }
56705 var length = object ? object.length : 0;
56706 return !!length && isLength(length) && isIndex(key, length) &&
56707 (isArray(object) || isArguments(object));
56708 }
56709
56710 /**
56711 * Checks if `value` is a valid array-like index.
56712 *
56713 * @private
56714 * @param {*} value The value to check.
56715 * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.
56716 * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.
56717 */
56718 function isIndex(value, length) {
56719 length = length == null ? MAX_SAFE_INTEGER : length;
56720 return !!length &&
56721 (typeof value == 'number' || reIsUint.test(value)) &&
56722 (value > -1 && value % 1 == 0 && value < length);
56723 }
56724
56725 /**
56726 * Checks if `value` is a property name and not a property path.
56727 *
56728 * @private
56729 * @param {*} value The value to check.
56730 * @param {Object} [object] The object to query keys on.
56731 * @returns {boolean} Returns `true` if `value` is a property name, else `false`.
56732 */
56733 function isKey(value, object) {
56734 if (isArray(value)) {
56735 return false;
56736 }
56737 var type = typeof value;
56738 if (type == 'number' || type == 'symbol' || type == 'boolean' ||
56739 value == null || isSymbol(value)) {
56740 return true;
56741 }
56742 return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||
56743 (object != null && value in Object(object));
56744 }
56745
56746 /**
56747 * Checks if `value` is suitable for use as unique object key.
56748 *
56749 * @private
56750 * @param {*} value The value to check.
56751 * @returns {boolean} Returns `true` if `value` is suitable, else `false`.
56752 */
56753 function isKeyable(value) {
56754 var type = typeof value;
56755 return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')
56756 ? (value !== '__proto__')
56757 : (value === null);
56758 }
56759
56760 /**
56761 * Checks if `func` has its source masked.
56762 *
56763 * @private
56764 * @param {Function} func The function to check.
56765 * @returns {boolean} Returns `true` if `func` is masked, else `false`.
56766 */
56767 function isMasked(func) {
56768 return !!maskSrcKey && (maskSrcKey in func);
56769 }
56770
56771 /**
56772 * Checks if `value` is likely a prototype object.
56773 *
56774 * @private
56775 * @param {*} value The value to check.
56776 * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.
56777 */
56778 function isPrototype(value) {
56779 var Ctor = value && value.constructor,
56780 proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;
56781
56782 return value === proto;
56783 }
56784
56785 /**
56786 * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.
56787 *
56788 * @private
56789 * @param {*} value The value to check.
56790 * @returns {boolean} Returns `true` if `value` if suitable for strict
56791 * equality comparisons, else `false`.
56792 */
56793 function isStrictComparable(value) {
56794 return value === value && !isObject(value);
56795 }
56796
56797 /**
56798 * A specialized version of `matchesProperty` for source values suitable
56799 * for strict equality comparisons, i.e. `===`.
56800 *
56801 * @private
56802 * @param {string} key The key of the property to get.
56803 * @param {*} srcValue The value to match.
56804 * @returns {Function} Returns the new spec function.
56805 */
56806 function matchesStrictComparable(key, srcValue) {
56807 return function(object) {
56808 if (object == null) {
56809 return false;
56810 }
56811 return object[key] === srcValue &&
56812 (srcValue !== undefined || (key in Object(object)));
56813 };
56814 }
56815
56816 /**
56817 * Converts `string` to a property path array.
56818 *
56819 * @private
56820 * @param {string} string The string to convert.
56821 * @returns {Array} Returns the property path array.
56822 */
56823 var stringToPath = memoize(function(string) {
56824 string = toString(string);
56825
56826 var result = [];
56827 if (reLeadingDot.test(string)) {
56828 result.push('');
56829 }
56830 string.replace(rePropName, function(match, number, quote, string) {
56831 result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match));
56832 });
56833 return result;
56834 });
56835
56836 /**
56837 * Converts `value` to a string key if it's not a string or symbol.
56838 *
56839 * @private
56840 * @param {*} value The value to inspect.
56841 * @returns {string|symbol} Returns the key.
56842 */
56843 function toKey(value) {
56844 if (typeof value == 'string' || isSymbol(value)) {
56845 return value;
56846 }
56847 var result = (value + '');
56848 return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;
56849 }
56850
56851 /**
56852 * Converts `func` to its source code.
56853 *
56854 * @private
56855 * @param {Function} func The function to process.
56856 * @returns {string} Returns the source code.
56857 */
56858 function toSource(func) {
56859 if (func != null) {
56860 try {
56861 return funcToString.call(func);
56862 } catch (e) {}
56863 try {
56864 return (func + '');
56865 } catch (e) {}
56866 }
56867 return '';
56868 }
56869
56870 /**
56871 * This method is like `_.find` except that it returns the index of the first
56872 * element `predicate` returns truthy for instead of the element itself.
56873 *
56874 * @static
56875 * @memberOf _
56876 * @since 1.1.0
56877 * @category Array
56878 * @param {Array} array The array to inspect.
56879 * @param {Function} [predicate=_.identity]
56880 * The function invoked per iteration.
56881 * @param {number} [fromIndex=0] The index to search from.
56882 * @returns {number} Returns the index of the found element, else `-1`.
56883 * @example
56884 *
56885 * var users = [
56886 * { 'user': 'barney', 'active': false },
56887 * { 'user': 'fred', 'active': false },
56888 * { 'user': 'pebbles', 'active': true }
56889 * ];
56890 *
56891 * _.findIndex(users, function(o) { return o.user == 'barney'; });
56892 * // => 0
56893 *
56894 * // The `_.matches` iteratee shorthand.
56895 * _.findIndex(users, { 'user': 'fred', 'active': false });
56896 * // => 1
56897 *
56898 * // The `_.matchesProperty` iteratee shorthand.
56899 * _.findIndex(users, ['active', false]);
56900 * // => 0
56901 *
56902 * // The `_.property` iteratee shorthand.
56903 * _.findIndex(users, 'active');
56904 * // => 2
56905 */
56906 function findIndex(array, predicate, fromIndex) {
56907 var length = array ? array.length : 0;
56908 if (!length) {
56909 return -1;
56910 }
56911 var index = fromIndex == null ? 0 : toInteger(fromIndex);
56912 if (index < 0) {
56913 index = nativeMax(length + index, 0);
56914 }
56915 return baseFindIndex(array, baseIteratee(predicate, 3), index);
56916 }
56917
56918 /**
56919 * Creates a function that memoizes the result of `func`. If `resolver` is
56920 * provided, it determines the cache key for storing the result based on the
56921 * arguments provided to the memoized function. By default, the first argument
56922 * provided to the memoized function is used as the map cache key. The `func`
56923 * is invoked with the `this` binding of the memoized function.
56924 *
56925 * **Note:** The cache is exposed as the `cache` property on the memoized
56926 * function. Its creation may be customized by replacing the `_.memoize.Cache`
56927 * constructor with one whose instances implement the
56928 * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)
56929 * method interface of `delete`, `get`, `has`, and `set`.
56930 *
56931 * @static
56932 * @memberOf _
56933 * @since 0.1.0
56934 * @category Function
56935 * @param {Function} func The function to have its output memoized.
56936 * @param {Function} [resolver] The function to resolve the cache key.
56937 * @returns {Function} Returns the new memoized function.
56938 * @example
56939 *
56940 * var object = { 'a': 1, 'b': 2 };
56941 * var other = { 'c': 3, 'd': 4 };
56942 *
56943 * var values = _.memoize(_.values);
56944 * values(object);
56945 * // => [1, 2]
56946 *
56947 * values(other);
56948 * // => [3, 4]
56949 *
56950 * object.a = 2;
56951 * values(object);
56952 * // => [1, 2]
56953 *
56954 * // Modify the result cache.
56955 * values.cache.set(object, ['a', 'b']);
56956 * values(object);
56957 * // => ['a', 'b']
56958 *
56959 * // Replace `_.memoize.Cache`.
56960 * _.memoize.Cache = WeakMap;
56961 */
56962 function memoize(func, resolver) {
56963 if (typeof func != 'function' || (resolver && typeof resolver != 'function')) {
56964 throw new TypeError(FUNC_ERROR_TEXT);
56965 }
56966 var memoized = function() {
56967 var args = arguments,
56968 key = resolver ? resolver.apply(this, args) : args[0],
56969 cache = memoized.cache;
56970
56971 if (cache.has(key)) {
56972 return cache.get(key);
56973 }
56974 var result = func.apply(this, args);
56975 memoized.cache = cache.set(key, result);
56976 return result;
56977 };
56978 memoized.cache = new (memoize.Cache || MapCache);
56979 return memoized;
56980 }
56981
56982 // Assign cache to `_.memoize`.
56983 memoize.Cache = MapCache;
56984
56985 /**
56986 * Performs a
56987 * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
56988 * comparison between two values to determine if they are equivalent.
56989 *
56990 * @static
56991 * @memberOf _
56992 * @since 4.0.0
56993 * @category Lang
56994 * @param {*} value The value to compare.
56995 * @param {*} other The other value to compare.
56996 * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
56997 * @example
56998 *
56999 * var object = { 'a': 1 };
57000 * var other = { 'a': 1 };
57001 *
57002 * _.eq(object, object);
57003 * // => true
57004 *
57005 * _.eq(object, other);
57006 * // => false
57007 *
57008 * _.eq('a', 'a');
57009 * // => true
57010 *
57011 * _.eq('a', Object('a'));
57012 * // => false
57013 *
57014 * _.eq(NaN, NaN);
57015 * // => true
57016 */
57017 function eq(value, other) {
57018 return value === other || (value !== value && other !== other);
57019 }
57020
57021 /**
57022 * Checks if `value` is likely an `arguments` object.
57023 *
57024 * @static
57025 * @memberOf _
57026 * @since 0.1.0
57027 * @category Lang
57028 * @param {*} value The value to check.
57029 * @returns {boolean} Returns `true` if `value` is an `arguments` object,
57030 * else `false`.
57031 * @example
57032 *
57033 * _.isArguments(function() { return arguments; }());
57034 * // => true
57035 *
57036 * _.isArguments([1, 2, 3]);
57037 * // => false
57038 */
57039 function isArguments(value) {
57040 // Safari 8.1 makes `arguments.callee` enumerable in strict mode.
57041 return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&
57042 (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);
57043 }
57044
57045 /**
57046 * Checks if `value` is classified as an `Array` object.
57047 *
57048 * @static
57049 * @memberOf _
57050 * @since 0.1.0
57051 * @category Lang
57052 * @param {*} value The value to check.
57053 * @returns {boolean} Returns `true` if `value` is an array, else `false`.
57054 * @example
57055 *
57056 * _.isArray([1, 2, 3]);
57057 * // => true
57058 *
57059 * _.isArray(document.body.children);
57060 * // => false
57061 *
57062 * _.isArray('abc');
57063 * // => false
57064 *
57065 * _.isArray(_.noop);
57066 * // => false
57067 */
57068 var isArray = Array.isArray;
57069
57070 /**
57071 * Checks if `value` is array-like. A value is considered array-like if it's
57072 * not a function and has a `value.length` that's an integer greater than or
57073 * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.
57074 *
57075 * @static
57076 * @memberOf _
57077 * @since 4.0.0
57078 * @category Lang
57079 * @param {*} value The value to check.
57080 * @returns {boolean} Returns `true` if `value` is array-like, else `false`.
57081 * @example
57082 *
57083 * _.isArrayLike([1, 2, 3]);
57084 * // => true
57085 *
57086 * _.isArrayLike(document.body.children);
57087 * // => true
57088 *
57089 * _.isArrayLike('abc');
57090 * // => true
57091 *
57092 * _.isArrayLike(_.noop);
57093 * // => false
57094 */
57095 function isArrayLike(value) {
57096 return value != null && isLength(value.length) && !isFunction(value);
57097 }
57098
57099 /**
57100 * This method is like `_.isArrayLike` except that it also checks if `value`
57101 * is an object.
57102 *
57103 * @static
57104 * @memberOf _
57105 * @since 4.0.0
57106 * @category Lang
57107 * @param {*} value The value to check.
57108 * @returns {boolean} Returns `true` if `value` is an array-like object,
57109 * else `false`.
57110 * @example
57111 *
57112 * _.isArrayLikeObject([1, 2, 3]);
57113 * // => true
57114 *
57115 * _.isArrayLikeObject(document.body.children);
57116 * // => true
57117 *
57118 * _.isArrayLikeObject('abc');
57119 * // => false
57120 *
57121 * _.isArrayLikeObject(_.noop);
57122 * // => false
57123 */
57124 function isArrayLikeObject(value) {
57125 return isObjectLike(value) && isArrayLike(value);
57126 }
57127
57128 /**
57129 * Checks if `value` is classified as a `Function` object.
57130 *
57131 * @static
57132 * @memberOf _
57133 * @since 0.1.0
57134 * @category Lang
57135 * @param {*} value The value to check.
57136 * @returns {boolean} Returns `true` if `value` is a function, else `false`.
57137 * @example
57138 *
57139 * _.isFunction(_);
57140 * // => true
57141 *
57142 * _.isFunction(/abc/);
57143 * // => false
57144 */
57145 function isFunction(value) {
57146 // The use of `Object#toString` avoids issues with the `typeof` operator
57147 // in Safari 8-9 which returns 'object' for typed array and other constructors.
57148 var tag = isObject(value) ? objectToString.call(value) : '';
57149 return tag == funcTag || tag == genTag;
57150 }
57151
57152 /**
57153 * Checks if `value` is a valid array-like length.
57154 *
57155 * **Note:** This method is loosely based on
57156 * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).
57157 *
57158 * @static
57159 * @memberOf _
57160 * @since 4.0.0
57161 * @category Lang
57162 * @param {*} value The value to check.
57163 * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.
57164 * @example
57165 *
57166 * _.isLength(3);
57167 * // => true
57168 *
57169 * _.isLength(Number.MIN_VALUE);
57170 * // => false
57171 *
57172 * _.isLength(Infinity);
57173 * // => false
57174 *
57175 * _.isLength('3');
57176 * // => false
57177 */
57178 function isLength(value) {
57179 return typeof value == 'number' &&
57180 value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
57181 }
57182
57183 /**
57184 * Checks if `value` is the
57185 * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
57186 * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
57187 *
57188 * @static
57189 * @memberOf _
57190 * @since 0.1.0
57191 * @category Lang
57192 * @param {*} value The value to check.
57193 * @returns {boolean} Returns `true` if `value` is an object, else `false`.
57194 * @example
57195 *
57196 * _.isObject({});
57197 * // => true
57198 *
57199 * _.isObject([1, 2, 3]);
57200 * // => true
57201 *
57202 * _.isObject(_.noop);
57203 * // => true
57204 *
57205 * _.isObject(null);
57206 * // => false
57207 */
57208 function isObject(value) {
57209 var type = typeof value;
57210 return !!value && (type == 'object' || type == 'function');
57211 }
57212
57213 /**
57214 * Checks if `value` is object-like. A value is object-like if it's not `null`
57215 * and has a `typeof` result of "object".
57216 *
57217 * @static
57218 * @memberOf _
57219 * @since 4.0.0
57220 * @category Lang
57221 * @param {*} value The value to check.
57222 * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
57223 * @example
57224 *
57225 * _.isObjectLike({});
57226 * // => true
57227 *
57228 * _.isObjectLike([1, 2, 3]);
57229 * // => true
57230 *
57231 * _.isObjectLike(_.noop);
57232 * // => false
57233 *
57234 * _.isObjectLike(null);
57235 * // => false
57236 */
57237 function isObjectLike(value) {
57238 return !!value && typeof value == 'object';
57239 }
57240
57241 /**
57242 * Checks if `value` is classified as a `Symbol` primitive or object.
57243 *
57244 * @static
57245 * @memberOf _
57246 * @since 4.0.0
57247 * @category Lang
57248 * @param {*} value The value to check.
57249 * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.
57250 * @example
57251 *
57252 * _.isSymbol(Symbol.iterator);
57253 * // => true
57254 *
57255 * _.isSymbol('abc');
57256 * // => false
57257 */
57258 function isSymbol(value) {
57259 return typeof value == 'symbol' ||
57260 (isObjectLike(value) && objectToString.call(value) == symbolTag);
57261 }
57262
57263 /**
57264 * Checks if `value` is classified as a typed array.
57265 *
57266 * @static
57267 * @memberOf _
57268 * @since 3.0.0
57269 * @category Lang
57270 * @param {*} value The value to check.
57271 * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.
57272 * @example
57273 *
57274 * _.isTypedArray(new Uint8Array);
57275 * // => true
57276 *
57277 * _.isTypedArray([]);
57278 * // => false
57279 */
57280 var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;
57281
57282 /**
57283 * Converts `value` to a finite number.
57284 *
57285 * @static
57286 * @memberOf _
57287 * @since 4.12.0
57288 * @category Lang
57289 * @param {*} value The value to convert.
57290 * @returns {number} Returns the converted number.
57291 * @example
57292 *
57293 * _.toFinite(3.2);
57294 * // => 3.2
57295 *
57296 * _.toFinite(Number.MIN_VALUE);
57297 * // => 5e-324
57298 *
57299 * _.toFinite(Infinity);
57300 * // => 1.7976931348623157e+308
57301 *
57302 * _.toFinite('3.2');
57303 * // => 3.2
57304 */
57305 function toFinite(value) {
57306 if (!value) {
57307 return value === 0 ? value : 0;
57308 }
57309 value = toNumber(value);
57310 if (value === INFINITY || value === -INFINITY) {
57311 var sign = (value < 0 ? -1 : 1);
57312 return sign * MAX_INTEGER;
57313 }
57314 return value === value ? value : 0;
57315 }
57316
57317 /**
57318 * Converts `value` to an integer.
57319 *
57320 * **Note:** This method is loosely based on
57321 * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).
57322 *
57323 * @static
57324 * @memberOf _
57325 * @since 4.0.0
57326 * @category Lang
57327 * @param {*} value The value to convert.
57328 * @returns {number} Returns the converted integer.
57329 * @example
57330 *
57331 * _.toInteger(3.2);
57332 * // => 3
57333 *
57334 * _.toInteger(Number.MIN_VALUE);
57335 * // => 0
57336 *
57337 * _.toInteger(Infinity);
57338 * // => 1.7976931348623157e+308
57339 *
57340 * _.toInteger('3.2');
57341 * // => 3
57342 */
57343 function toInteger(value) {
57344 var result = toFinite(value),
57345 remainder = result % 1;
57346
57347 return result === result ? (remainder ? result - remainder : result) : 0;
57348 }
57349
57350 /**
57351 * Converts `value` to a number.
57352 *
57353 * @static
57354 * @memberOf _
57355 * @since 4.0.0
57356 * @category Lang
57357 * @param {*} value The value to process.
57358 * @returns {number} Returns the number.
57359 * @example
57360 *
57361 * _.toNumber(3.2);
57362 * // => 3.2
57363 *
57364 * _.toNumber(Number.MIN_VALUE);
57365 * // => 5e-324
57366 *
57367 * _.toNumber(Infinity);
57368 * // => Infinity
57369 *
57370 * _.toNumber('3.2');
57371 * // => 3.2
57372 */
57373 function toNumber(value) {
57374 if (typeof value == 'number') {
57375 return value;
57376 }
57377 if (isSymbol(value)) {
57378 return NAN;
57379 }
57380 if (isObject(value)) {
57381 var other = typeof value.valueOf == 'function' ? value.valueOf() : value;
57382 value = isObject(other) ? (other + '') : other;
57383 }
57384 if (typeof value != 'string') {
57385 return value === 0 ? value : +value;
57386 }
57387 value = value.replace(reTrim, '');
57388 var isBinary = reIsBinary.test(value);
57389 return (isBinary || reIsOctal.test(value))
57390 ? freeParseInt(value.slice(2), isBinary ? 2 : 8)
57391 : (reIsBadHex.test(value) ? NAN : +value);
57392 }
57393
57394 /**
57395 * Converts `value` to a string. An empty string is returned for `null`
57396 * and `undefined` values. The sign of `-0` is preserved.
57397 *
57398 * @static
57399 * @memberOf _
57400 * @since 4.0.0
57401 * @category Lang
57402 * @param {*} value The value to process.
57403 * @returns {string} Returns the string.
57404 * @example
57405 *
57406 * _.toString(null);
57407 * // => ''
57408 *
57409 * _.toString(-0);
57410 * // => '-0'
57411 *
57412 * _.toString([1, 2, 3]);
57413 * // => '1,2,3'
57414 */
57415 function toString(value) {
57416 return value == null ? '' : baseToString(value);
57417 }
57418
57419 /**
57420 * Gets the value at `path` of `object`. If the resolved value is
57421 * `undefined`, the `defaultValue` is returned in its place.
57422 *
57423 * @static
57424 * @memberOf _
57425 * @since 3.7.0
57426 * @category Object
57427 * @param {Object} object The object to query.
57428 * @param {Array|string} path The path of the property to get.
57429 * @param {*} [defaultValue] The value returned for `undefined` resolved values.
57430 * @returns {*} Returns the resolved value.
57431 * @example
57432 *
57433 * var object = { 'a': [{ 'b': { 'c': 3 } }] };
57434 *
57435 * _.get(object, 'a[0].b.c');
57436 * // => 3
57437 *
57438 * _.get(object, ['a', '0', 'b', 'c']);
57439 * // => 3
57440 *
57441 * _.get(object, 'a.b.c', 'default');
57442 * // => 'default'
57443 */
57444 function get(object, path, defaultValue) {
57445 var result = object == null ? undefined : baseGet(object, path);
57446 return result === undefined ? defaultValue : result;
57447 }
57448
57449 /**
57450 * Checks if `path` is a direct or inherited property of `object`.
57451 *
57452 * @static
57453 * @memberOf _
57454 * @since 4.0.0
57455 * @category Object
57456 * @param {Object} object The object to query.
57457 * @param {Array|string} path The path to check.
57458 * @returns {boolean} Returns `true` if `path` exists, else `false`.
57459 * @example
57460 *
57461 * var object = _.create({ 'a': _.create({ 'b': 2 }) });
57462 *
57463 * _.hasIn(object, 'a');
57464 * // => true
57465 *
57466 * _.hasIn(object, 'a.b');
57467 * // => true
57468 *
57469 * _.hasIn(object, ['a', 'b']);
57470 * // => true
57471 *
57472 * _.hasIn(object, 'b');
57473 * // => false
57474 */
57475 function hasIn(object, path) {
57476 return object != null && hasPath(object, path, baseHasIn);
57477 }
57478
57479 /**
57480 * Creates an array of the own enumerable property names of `object`.
57481 *
57482 * **Note:** Non-object values are coerced to objects. See the
57483 * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)
57484 * for more details.
57485 *
57486 * @static
57487 * @since 0.1.0
57488 * @memberOf _
57489 * @category Object
57490 * @param {Object} object The object to query.
57491 * @returns {Array} Returns the array of property names.
57492 * @example
57493 *
57494 * function Foo() {
57495 * this.a = 1;
57496 * this.b = 2;
57497 * }
57498 *
57499 * Foo.prototype.c = 3;
57500 *
57501 * _.keys(new Foo);
57502 * // => ['a', 'b'] (iteration order is not guaranteed)
57503 *
57504 * _.keys('hi');
57505 * // => ['0', '1']
57506 */
57507 function keys(object) {
57508 return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);
57509 }
57510
57511 /**
57512 * This method returns the first argument it receives.
57513 *
57514 * @static
57515 * @since 0.1.0
57516 * @memberOf _
57517 * @category Util
57518 * @param {*} value Any value.
57519 * @returns {*} Returns `value`.
57520 * @example
57521 *
57522 * var object = { 'a': 1 };
57523 *
57524 * console.log(_.identity(object) === object);
57525 * // => true
57526 */
57527 function identity(value) {
57528 return value;
57529 }
57530
57531 /**
57532 * Creates a function that returns the value at `path` of a given object.
57533 *
57534 * @static
57535 * @memberOf _
57536 * @since 2.4.0
57537 * @category Util
57538 * @param {Array|string} path The path of the property to get.
57539 * @returns {Function} Returns the new accessor function.
57540 * @example
57541 *
57542 * var objects = [
57543 * { 'a': { 'b': 2 } },
57544 * { 'a': { 'b': 1 } }
57545 * ];
57546 *
57547 * _.map(objects, _.property('a.b'));
57548 * // => [2, 1]
57549 *
57550 * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');
57551 * // => [1, 2]
57552 */
57553 function property(path) {
57554 return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);
57555 }
57556
57557 module.exports = findIndex;
57558
57559 /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()), __webpack_require__(328)(module)))
57560
57561/***/ }),
57562/* 560 */
57563/***/ (function(module, exports, __webpack_require__) {
57564
57565 'use strict';
57566
57567 Object.defineProperty(exports, "__esModule", {
57568 value: true
57569 });
57570
57571 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; };
57572
57573 var _react = __webpack_require__(4);
57574
57575 var _react2 = _interopRequireDefault(_react);
57576
57577 var _reactDom = __webpack_require__(12);
57578
57579 var _reactDom2 = _interopRequireDefault(_reactDom);
57580
57581 var _src = __webpack_require__(68);
57582
57583 var _src2 = _interopRequireDefault(_src);
57584
57585 var _beeFormControl = __webpack_require__(257);
57586
57587 var _beeFormControl2 = _interopRequireDefault(_beeFormControl);
57588
57589 var _beeLayout = __webpack_require__(1);
57590
57591 var _beeSelect = __webpack_require__(268);
57592
57593 var _beeSelect2 = _interopRequireDefault(_beeSelect);
57594
57595 var _beeRadio = __webpack_require__(306);
57596
57597 var _beeRadio2 = _interopRequireDefault(_beeRadio);
57598
57599 var _beeDatepicker = __webpack_require__(310);
57600
57601 var _beeDatepicker2 = _interopRequireDefault(_beeDatepicker);
57602
57603 var _beeCheckbox = __webpack_require__(265);
57604
57605 var _beeCheckbox2 = _interopRequireDefault(_beeCheckbox);
57606
57607 var _beeSwitch = __webpack_require__(512);
57608
57609 var _beeSwitch2 = _interopRequireDefault(_beeSwitch);
57610
57611 var _beeLabel = __webpack_require__(261);
57612
57613 var _beeLabel2 = _interopRequireDefault(_beeLabel);
57614
57615 var _beeButton = __webpack_require__(65);
57616
57617 var _beeButton2 = _interopRequireDefault(_beeButton);
57618
57619 var _moment = __webpack_require__(327);
57620
57621 var _moment2 = _interopRequireDefault(_moment);
57622
57623 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
57624
57625 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; }
57626
57627 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
57628
57629 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; }
57630
57631 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); } /**
57632 *
57633 * @title 多种表单元素示例
57634 * @description 查询面板
57635 */
57636
57637
57638 var FormItem = _src2['default'].FormItem;
57639 var Option = _beeSelect2['default'].Option;
57640 var RangePicker = _beeDatepicker2['default'].RangePicker;
57641
57642
57643 var Demo5 = _src2['default'].createForm()(function (_Component) {
57644 _inherits(Demo, _Component);
57645
57646 function Demo(props) {
57647 _classCallCheck(this, Demo);
57648
57649 var _this = _possibleConstructorReturn(this, _Component.call(this, props));
57650
57651 _this.submit = function (e) {
57652 _this.props.form.validateFields(function (err, values) {
57653 if (err) {
57654 console.log('校验失败', values);
57655 } else {
57656 console.log('提交成功', values);
57657 }
57658 });
57659 };
57660
57661 _this.reset = function () {
57662 _this.props.form.resetFields();
57663 //部分表单元素无法通过this.props.form.resetFields重置,需要手动重置,如下
57664 _this.setState({
57665 approvalState: '',
57666 closeState: '',
57667 confirmState: '',
57668 voucherDate: []
57669 });
57670 };
57671
57672 _this.state = {
57673 approvalState: '',
57674 closeState: '',
57675 confirmState: '',
57676 voucherDate: [],
57677 orderTypes: [{
57678 'code': '001',
57679 'name': '类型1'
57680 }, {
57681 'code': '002',
57682 'name': '类型2'
57683 }, {
57684 'code': '003',
57685 'name': '类型3'
57686 }]
57687 };
57688 return _this;
57689 }
57690
57691 Demo.prototype.render = function render() {
57692 var _props$form = this.props.form,
57693 getFieldProps = _props$form.getFieldProps,
57694 getFieldError = _props$form.getFieldError;
57695
57696 var self = this;
57697 return _react2['default'].createElement(
57698 'div',
57699 null,
57700 _react2['default'].createElement(
57701 _src2['default'],
57702 { className: 'demo5' },
57703 _react2['default'].createElement(
57704 _beeLayout.Row,
57705 null,
57706 _react2['default'].createElement(
57707 _beeLayout.Col,
57708 { lg: 4, md: 6, xs: 12 },
57709 _react2['default'].createElement(
57710 FormItem,
57711 null,
57712 _react2['default'].createElement(
57713 _beeLabel2['default'],
57714 null,
57715 '\u8BA2\u5355\u7F16\u53F7\uFF1A'
57716 ),
57717 _react2['default'].createElement(_beeFormControl2['default'], getFieldProps('orderCode', {
57718 initialValue: ''
57719 }))
57720 )
57721 ),
57722 _react2['default'].createElement(
57723 _beeLayout.Col,
57724 { lg: 4, md: 6, xs: 12 },
57725 _react2['default'].createElement(
57726 FormItem,
57727 null,
57728 _react2['default'].createElement(
57729 _beeLabel2['default'],
57730 null,
57731 '\u4F9B\u5E94\u5546\u540D\u79F0\uFF1A'
57732 ),
57733 _react2['default'].createElement(_beeFormControl2['default'], getFieldProps('supplierName', {
57734 initialValue: ''
57735 }))
57736 )
57737 ),
57738 _react2['default'].createElement(
57739 _beeLayout.Col,
57740 { lg: 4, md: 6, xs: 4 },
57741 _react2['default'].createElement(
57742 FormItem,
57743 null,
57744 _react2['default'].createElement(
57745 _beeLabel2['default'],
57746 { className: 'time' },
57747 '\u51ED\u8BC1\u65E5\u671F\uFF1A'
57748 ),
57749 _react2['default'].createElement(RangePicker, _extends({
57750 defaultValue: this.state.voucherDate,
57751 placeholder: '开始 ~ 结束',
57752 dateInputPlaceholder: ['开始', '结束']
57753 }, getFieldProps('voucherDate', {
57754 onChange: function onChange(v) {
57755 self.setState({
57756 voucherDate: v
57757 });
57758 }
57759 })))
57760 )
57761 ),
57762 _react2['default'].createElement(
57763 _beeLayout.Col,
57764 { lg: 4, md: 6, xs: 12 },
57765 _react2['default'].createElement(
57766 FormItem,
57767 null,
57768 _react2['default'].createElement(
57769 _beeLabel2['default'],
57770 null,
57771 '\u8BA2\u5355\u7C7B\u578B\uFF1A'
57772 ),
57773 _react2['default'].createElement(
57774 _beeSelect2['default'],
57775 getFieldProps('type', {
57776 initialValue: ''
57777 }),
57778 _react2['default'].createElement(
57779 Option,
57780 { value: '' },
57781 '\u8BF7\u9009\u62E9'
57782 ),
57783 self.state.orderTypes.map(function (item, index) {
57784 return _react2['default'].createElement(
57785 Option,
57786 { key: index, value: item.code },
57787 item.name
57788 );
57789 })
57790 )
57791 )
57792 ),
57793 _react2['default'].createElement(
57794 _beeLayout.Col,
57795 { lg: 4, md: 6, xs: 12 },
57796 _react2['default'].createElement(
57797 FormItem,
57798 null,
57799 _react2['default'].createElement(
57800 _beeLabel2['default'],
57801 null,
57802 '\u91C7\u8D2D\u7EC4\uFF1A'
57803 ),
57804 _react2['default'].createElement(_beeFormControl2['default'], getFieldProps('purchasingGroup', {
57805 initialValue: ''
57806 }))
57807 )
57808 ),
57809 _react2['default'].createElement(
57810 _beeLayout.Col,
57811 { lg: 4, md: 6, xs: 12 },
57812 _react2['default'].createElement(
57813 FormItem,
57814 null,
57815 _react2['default'].createElement(
57816 _beeLabel2['default'],
57817 null,
57818 '\u5BA1\u6279\u72B6\u6001\uFF1A'
57819 ),
57820 _react2['default'].createElement(
57821 _beeRadio2['default'].RadioGroup,
57822 _extends({
57823 selectedValue: this.state.approvalState
57824 }, getFieldProps('approvalState', {
57825 initialValue: '',
57826 onChange: function onChange(value) {
57827 self.setState({ approvalState: value });
57828 }
57829 })),
57830 _react2['default'].createElement(
57831 _beeRadio2['default'],
57832 { value: '0' },
57833 '\u672A\u5BA1\u6279'
57834 ),
57835 _react2['default'].createElement(
57836 _beeRadio2['default'],
57837 { value: '1' },
57838 '\u5DF2\u5BA1\u6279'
57839 ),
57840 _react2['default'].createElement(
57841 _beeRadio2['default'],
57842 { value: '' },
57843 '\u5168\u90E8'
57844 )
57845 )
57846 )
57847 ),
57848 _react2['default'].createElement(
57849 _beeLayout.Col,
57850 { lg: 4, md: 6, xs: 12 },
57851 _react2['default'].createElement(
57852 FormItem,
57853 null,
57854 _react2['default'].createElement(
57855 _beeLabel2['default'],
57856 null,
57857 '\u5173\u95ED\u72B6\u6001\uFF1A'
57858 ),
57859 _react2['default'].createElement(
57860 _beeRadio2['default'].RadioGroup,
57861 _extends({
57862 selectedValue: this.state.closeState
57863 }, getFieldProps('closeState', {
57864 initialValue: '',
57865 onChange: function onChange(value) {
57866 self.setState({ closeState: value });
57867 }
57868 })),
57869 _react2['default'].createElement(
57870 _beeRadio2['default'],
57871 { value: '0' },
57872 '\u672A\u5173\u95ED'
57873 ),
57874 _react2['default'].createElement(
57875 _beeRadio2['default'],
57876 { value: '1' },
57877 '\u5DF2\u5173\u95ED'
57878 ),
57879 _react2['default'].createElement(
57880 _beeRadio2['default'],
57881 { value: '' },
57882 '\u5168\u90E8'
57883 )
57884 )
57885 )
57886 ),
57887 _react2['default'].createElement(
57888 _beeLayout.Col,
57889 { lg: 4, md: 6, xs: 12 },
57890 _react2['default'].createElement(
57891 FormItem,
57892 null,
57893 _react2['default'].createElement(
57894 _beeLabel2['default'],
57895 null,
57896 '\u786E\u8BA4\u72B6\u6001\uFF1A'
57897 ),
57898 _react2['default'].createElement(
57899 _beeRadio2['default'].RadioGroup,
57900 _extends({
57901 selectedValue: this.state.confirmState
57902 }, getFieldProps('confirmState', {
57903 initialValue: '',
57904 onChange: function onChange(value) {
57905 self.setState({ confirmState: value });
57906 }
57907 })),
57908 _react2['default'].createElement(
57909 _beeRadio2['default'],
57910 { value: '0' },
57911 '\u672A\u786E\u8BA4'
57912 ),
57913 _react2['default'].createElement(
57914 _beeRadio2['default'],
57915 { value: '1' },
57916 '\u5DF2\u786E\u8BA4'
57917 ),
57918 _react2['default'].createElement(
57919 _beeRadio2['default'],
57920 { value: '' },
57921 '\u5168\u90E8'
57922 )
57923 )
57924 )
57925 ),
57926 _react2['default'].createElement(
57927 _beeLayout.Col,
57928 { lg: 4, md: 6, xs: 12 },
57929 _react2['default'].createElement(
57930 FormItem,
57931 null,
57932 _react2['default'].createElement(
57933 _beeLabel2['default'],
57934 null,
57935 '\u672A\u5206\u914D\uFF1A'
57936 ),
57937 _react2['default'].createElement(_beeCheckbox2['default'], { colors: 'primary' })
57938 )
57939 )
57940 ),
57941 _react2['default'].createElement(
57942 'div',
57943 { className: 'submit' },
57944 _react2['default'].createElement(
57945 _beeButton2['default'],
57946 { colors: 'primary', className: 'login', onClick: this.submit },
57947 '\u67E5\u8BE2'
57948 ),
57949 _react2['default'].createElement(
57950 _beeButton2['default'],
57951 { shape: 'border', className: 'reset', onClick: this.reset },
57952 '\u91CD\u7F6E'
57953 )
57954 )
57955 )
57956 );
57957 };
57958
57959 return Demo;
57960 }(_react.Component));
57961 exports['default'] = Demo5;
57962 module.exports = exports['default'];
57963
57964/***/ }),
57965/* 561 */
57966/***/ (function(module, exports, __webpack_require__) {
57967
57968 'use strict';
57969
57970 Object.defineProperty(exports, "__esModule", {
57971 value: true
57972 });
57973
57974 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; };
57975
57976 var _react = __webpack_require__(4);
57977
57978 var _react2 = _interopRequireDefault(_react);
57979
57980 var _reactDom = __webpack_require__(12);
57981
57982 var _reactDom2 = _interopRequireDefault(_reactDom);
57983
57984 var _src = __webpack_require__(68);
57985
57986 var _src2 = _interopRequireDefault(_src);
57987
57988 var _beeFormControl = __webpack_require__(257);
57989
57990 var _beeFormControl2 = _interopRequireDefault(_beeFormControl);
57991
57992 var _beeLayout = __webpack_require__(1);
57993
57994 var _beeSelect = __webpack_require__(268);
57995
57996 var _beeSelect2 = _interopRequireDefault(_beeSelect);
57997
57998 var _beeRadio = __webpack_require__(306);
57999
58000 var _beeRadio2 = _interopRequireDefault(_beeRadio);
58001
58002 var _beeDatepicker = __webpack_require__(310);
58003
58004 var _beeDatepicker2 = _interopRequireDefault(_beeDatepicker);
58005
58006 var _beeCheckbox = __webpack_require__(265);
58007
58008 var _beeCheckbox2 = _interopRequireDefault(_beeCheckbox);
58009
58010 var _beeSwitch = __webpack_require__(512);
58011
58012 var _beeSwitch2 = _interopRequireDefault(_beeSwitch);
58013
58014 var _beeLabel = __webpack_require__(261);
58015
58016 var _beeLabel2 = _interopRequireDefault(_beeLabel);
58017
58018 var _beeButton = __webpack_require__(65);
58019
58020 var _beeButton2 = _interopRequireDefault(_beeButton);
58021
58022 var _moment = __webpack_require__(327);
58023
58024 var _moment2 = _interopRequireDefault(_moment);
58025
58026 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
58027
58028 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; }
58029
58030 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
58031
58032 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; }
58033
58034 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); } /**
58035 *
58036 * @title 多种布局示例
58037 * @description
58038 */
58039
58040
58041 var FormItem = _src2['default'].FormItem;
58042 var Option = _beeSelect2['default'].Option;
58043 var RangePicker = _beeDatepicker2['default'].RangePicker;
58044
58045
58046 var Demo6 = _src2['default'].createForm()(function (_Component) {
58047 _inherits(Demo, _Component);
58048
58049 function Demo(props) {
58050 _classCallCheck(this, Demo);
58051
58052 var _this = _possibleConstructorReturn(this, _Component.call(this, props));
58053
58054 _this.state = {
58055 approvalState: '',
58056 closeState: '',
58057 confirmState: '',
58058 voucherDate: [],
58059 orderTypes: [{
58060 'code': '001',
58061 'name': '类型1'
58062 }, {
58063 'code': '002',
58064 'name': '类型2'
58065 }, {
58066 'code': '003',
58067 'name': '类型3'
58068 }]
58069 };
58070 return _this;
58071 }
58072
58073 Demo.prototype.render = function render() {
58074 var _props$form = this.props.form,
58075 getFieldProps = _props$form.getFieldProps,
58076 getFieldError = _props$form.getFieldError;
58077
58078 var self = this;
58079 var orderTypes = [{
58080 "code": "D001",
58081 "name": "D001"
58082 }, {
58083 "code": "D002",
58084 "name": "D002"
58085 }, {
58086 "code": "D003",
58087 "name": "D003"
58088 }, {
58089 "code": "D004",
58090 "name": "D004"
58091 }];
58092 return _react2['default'].createElement(
58093 'div',
58094 null,
58095 _react2['default'].createElement(
58096 _src2['default'],
58097 { className: 'demo6' },
58098 _react2['default'].createElement(
58099 'h4',
58100 null,
58101 '\u666E\u901A\u6805\u683C\u5E03\u5C40'
58102 ),
58103 _react2['default'].createElement(
58104 _beeLayout.Row,
58105 { className: 'edit-panel' },
58106 _react2['default'].createElement(
58107 _beeLayout.Col,
58108 { lg: 4, md: 6, xs: 12 },
58109 _react2['default'].createElement(
58110 FormItem,
58111 null,
58112 _react2['default'].createElement(
58113 _beeLabel2['default'],
58114 null,
58115 '\u8BA2\u5355\u7F16\u53F7\uFF1A',
58116 _react2['default'].createElement(
58117 'span',
58118 { className: 'mast' },
58119 '*'
58120 )
58121 ),
58122 _react2['default'].createElement(_beeFormControl2['default'], getFieldProps('orderCode1', {
58123 initialValue: '',
58124 rules: [{
58125 required: true, message: '请输入订单编号'
58126 }]
58127 })),
58128 _react2['default'].createElement(
58129 'span',
58130 { className: 'error' },
58131 getFieldError('orderCode1')
58132 )
58133 )
58134 ),
58135 _react2['default'].createElement(
58136 _beeLayout.Col,
58137 { lg: 4, md: 6, xs: 12 },
58138 _react2['default'].createElement(
58139 FormItem,
58140 null,
58141 _react2['default'].createElement(
58142 _beeLabel2['default'],
58143 null,
58144 '\u4F9B\u5E94\u5546\u540D\u79F0\uFF1A',
58145 _react2['default'].createElement(
58146 'span',
58147 { className: 'mast' },
58148 '*'
58149 )
58150 ),
58151 _react2['default'].createElement(_beeFormControl2['default'], getFieldProps('supplierName1', {
58152 initialValue: '',
58153 rules: [{
58154 required: true, message: '请输入供应商名称'
58155 }]
58156 })),
58157 _react2['default'].createElement(
58158 'span',
58159 { className: 'error' },
58160 getFieldError('supplierName1')
58161 )
58162 )
58163 ),
58164 _react2['default'].createElement(
58165 _beeLayout.Col,
58166 { lg: 4, md: 6, xs: 12 },
58167 _react2['default'].createElement(
58168 FormItem,
58169 null,
58170 _react2['default'].createElement(
58171 _beeLabel2['default'],
58172 { className: 'time' },
58173 '\u51ED\u8BC1\u65E5\u671F\uFF1A'
58174 ),
58175 _react2['default'].createElement(RangePicker, _extends({
58176 defaultValue: this.state.voucherDate,
58177 placeholder: '开始 ~ 结束',
58178 dateInputPlaceholder: ['开始', '结束']
58179 }, getFieldProps('voucherDate1', {
58180 onChange: function onChange(v) {
58181 self.setState({
58182 voucherDate1: v
58183 });
58184 }
58185 })))
58186 )
58187 )
58188 ),
58189 _react2['default'].createElement('div', { className: 'split' }),
58190 _react2['default'].createElement(
58191 'h4',
58192 null,
58193 '\u5355\u5217\u94FA\u6EE1'
58194 ),
58195 _react2['default'].createElement(
58196 _beeLayout.Row,
58197 { className: 'edit-panel edit-panel-all' },
58198 _react2['default'].createElement(
58199 FormItem,
58200 null,
58201 _react2['default'].createElement(
58202 _beeLayout.Col,
58203 { md: 2 },
58204 _react2['default'].createElement(
58205 _beeLabel2['default'],
58206 null,
58207 '\u8BA2\u5355\u7F16\u53F7\uFF1A',
58208 _react2['default'].createElement(
58209 'span',
58210 { className: 'mast' },
58211 '*'
58212 )
58213 )
58214 ),
58215 _react2['default'].createElement(
58216 _beeLayout.Col,
58217 { md: 10 },
58218 _react2['default'].createElement(_beeFormControl2['default'], getFieldProps('orderCode2', {
58219 initialValue: '',
58220 rules: [{
58221 required: true, message: '请输入订单编号'
58222 }]
58223 })),
58224 _react2['default'].createElement(
58225 'span',
58226 { className: 'error' },
58227 getFieldError('orderCode2')
58228 )
58229 )
58230 ),
58231 _react2['default'].createElement(
58232 FormItem,
58233 null,
58234 _react2['default'].createElement(
58235 _beeLayout.Col,
58236 { md: 2 },
58237 _react2['default'].createElement(
58238 _beeLabel2['default'],
58239 null,
58240 '\u4F9B\u5E94\u5546\u540D\u79F0\uFF1A',
58241 _react2['default'].createElement(
58242 'span',
58243 { className: 'mast' },
58244 '*'
58245 )
58246 )
58247 ),
58248 _react2['default'].createElement(
58249 _beeLayout.Col,
58250 { md: 10 },
58251 _react2['default'].createElement(_beeFormControl2['default'], getFieldProps('supplierName2', {
58252 initialValue: '',
58253 rules: [{
58254 required: true, message: '请输入供应商名称'
58255 }]
58256 })),
58257 _react2['default'].createElement(
58258 'span',
58259 { className: 'error' },
58260 getFieldError('supplierName2')
58261 )
58262 )
58263 ),
58264 _react2['default'].createElement(
58265 FormItem,
58266 null,
58267 _react2['default'].createElement(
58268 _beeLayout.Col,
58269 { md: 2 },
58270 _react2['default'].createElement(
58271 _beeLabel2['default'],
58272 null,
58273 '\u51ED\u8BC1\u65E5\u671F\uFF1A'
58274 )
58275 ),
58276 _react2['default'].createElement(
58277 _beeLayout.Col,
58278 { md: 10 },
58279 _react2['default'].createElement(RangePicker, _extends({
58280 defaultValue: this.state.voucherDate,
58281 placeholder: '开始 ~ 结束',
58282 dateInputPlaceholder: ['开始', '结束']
58283 }, getFieldProps('voucherDate2', {
58284 onChange: function onChange(v) {
58285 self.setState({
58286 voucherDate2: v
58287 });
58288 }
58289 })))
58290 )
58291 ),
58292 _react2['default'].createElement(
58293 FormItem,
58294 null,
58295 _react2['default'].createElement(
58296 _beeLayout.Col,
58297 { md: 2 },
58298 _react2['default'].createElement(
58299 _beeLabel2['default'],
58300 null,
58301 '\u8BA2\u5355\u7C7B\u578B\uFF1A'
58302 )
58303 ),
58304 _react2['default'].createElement(
58305 _beeLayout.Col,
58306 { md: 10 },
58307 _react2['default'].createElement(
58308 _beeSelect2['default'],
58309 getFieldProps('type', {
58310 initialValue: ''
58311 }),
58312 _react2['default'].createElement(
58313 Option,
58314 { value: '' },
58315 '\u8BF7\u9009\u62E9'
58316 ),
58317 orderTypes.map(function (item, index) {
58318 return _react2['default'].createElement(
58319 Option,
58320 { key: index, value: item.code },
58321 item.name
58322 );
58323 })
58324 )
58325 )
58326 )
58327 ),
58328 _react2['default'].createElement('div', { className: 'split' }),
58329 _react2['default'].createElement(
58330 'h4',
58331 null,
58332 '\u5355\u5217\u5C45\u4E2D'
58333 ),
58334 _react2['default'].createElement(
58335 _beeLayout.Row,
58336 { className: 'edit-panel edit-panel-center' },
58337 _react2['default'].createElement(
58338 _beeLayout.Col,
58339 { md: 12 },
58340 _react2['default'].createElement(
58341 FormItem,
58342 null,
58343 _react2['default'].createElement(
58344 _beeLabel2['default'],
58345 null,
58346 '\u8BA2\u5355\u7F16\u53F7\uFF1A',
58347 _react2['default'].createElement(
58348 'span',
58349 { className: 'mast' },
58350 '*'
58351 )
58352 ),
58353 _react2['default'].createElement(_beeFormControl2['default'], getFieldProps('orderCode3', {
58354 initialValue: '',
58355 rules: [{
58356 required: true, message: '请输入订单编号'
58357 }]
58358 })),
58359 _react2['default'].createElement(
58360 'span',
58361 { className: 'error' },
58362 getFieldError('orderCode3')
58363 )
58364 )
58365 ),
58366 _react2['default'].createElement(
58367 _beeLayout.Col,
58368 { md: 12 },
58369 _react2['default'].createElement(
58370 FormItem,
58371 null,
58372 _react2['default'].createElement(
58373 _beeLabel2['default'],
58374 null,
58375 '\u4F9B\u5E94\u5546\u540D\u79F0\uFF1A',
58376 _react2['default'].createElement(
58377 'span',
58378 { className: 'mast' },
58379 '*'
58380 )
58381 ),
58382 _react2['default'].createElement(_beeFormControl2['default'], getFieldProps('supplierName3', {
58383 initialValue: '',
58384 rules: [{
58385 required: true, message: '请输入供应商名称'
58386 }]
58387 })),
58388 _react2['default'].createElement(
58389 'span',
58390 { className: 'error' },
58391 getFieldError('supplierName3')
58392 )
58393 )
58394 ),
58395 _react2['default'].createElement(
58396 _beeLayout.Col,
58397 { md: 12 },
58398 _react2['default'].createElement(
58399 FormItem,
58400 null,
58401 _react2['default'].createElement(
58402 _beeLabel2['default'],
58403 { className: 'time' },
58404 '\u51ED\u8BC1\u65E5\u671F\uFF1A'
58405 ),
58406 _react2['default'].createElement(RangePicker, _extends({
58407 defaultValue: this.state.voucherDate,
58408 placeholder: '开始 ~ 结束',
58409 dateInputPlaceholder: ['开始', '结束']
58410 }, getFieldProps('voucherDate3', {
58411 onChange: function onChange(v) {
58412 self.setState({
58413 voucherDate3: v
58414 });
58415 }
58416 })))
58417 )
58418 )
58419 ),
58420 _react2['default'].createElement('div', { className: 'split' }),
58421 _react2['default'].createElement(
58422 'h4',
58423 null,
58424 '\u4E09\u5217\u5E26textarea'
58425 ),
58426 _react2['default'].createElement(
58427 _beeLayout.Row,
58428 { className: 'edit-panel edit-panel-textarea' },
58429 _react2['default'].createElement(
58430 _beeLayout.Col,
58431 { md: 1 },
58432 _react2['default'].createElement(
58433 _beeLabel2['default'],
58434 null,
58435 '\u8BA2\u5355\u7F16\u53F7\uFF1A',
58436 _react2['default'].createElement(
58437 'span',
58438 { className: 'mast' },
58439 '*'
58440 )
58441 )
58442 ),
58443 _react2['default'].createElement(
58444 _beeLayout.Col,
58445 { md: 3 },
58446 _react2['default'].createElement(_beeFormControl2['default'], getFieldProps('orderCode4', {
58447 initialValue: '',
58448 rules: [{
58449 required: true, message: '请输入订单编号'
58450 }]
58451 })),
58452 _react2['default'].createElement(
58453 'span',
58454 { className: 'error' },
58455 getFieldError('orderCode4')
58456 )
58457 ),
58458 _react2['default'].createElement(
58459 _beeLayout.Col,
58460 { md: 1 },
58461 _react2['default'].createElement(
58462 _beeLabel2['default'],
58463 null,
58464 '\u4F9B\u5E94\u5546\u540D\u79F0\uFF1A',
58465 _react2['default'].createElement(
58466 'span',
58467 { className: 'mast' },
58468 '*'
58469 )
58470 )
58471 ),
58472 _react2['default'].createElement(
58473 _beeLayout.Col,
58474 { md: 3 },
58475 _react2['default'].createElement(_beeFormControl2['default'], getFieldProps('supplierName4', {
58476 initialValue: '',
58477 rules: [{
58478 required: true, message: '请输入供应商名称'
58479 }]
58480 })),
58481 _react2['default'].createElement(
58482 'span',
58483 { className: 'error' },
58484 getFieldError('supplierName4')
58485 )
58486 ),
58487 _react2['default'].createElement(
58488 _beeLayout.Col,
58489 { md: 1 },
58490 _react2['default'].createElement(
58491 _beeLabel2['default'],
58492 { className: 'time' },
58493 '\u51ED\u8BC1\u65E5\u671F\uFF1A'
58494 )
58495 ),
58496 _react2['default'].createElement(
58497 _beeLayout.Col,
58498 { md: 3 },
58499 _react2['default'].createElement(RangePicker, _extends({
58500 defaultValue: this.state.voucherDate,
58501 placeholder: '开始 ~ 结束',
58502 dateInputPlaceholder: ['开始', '结束']
58503 }, getFieldProps('voucherDate4', {
58504 onChange: function onChange(v) {
58505 self.setState({
58506 voucherDate3: v
58507 });
58508 }
58509 })))
58510 ),
58511 _react2['default'].createElement(
58512 _beeLayout.Col,
58513 { md: 1 },
58514 _react2['default'].createElement(
58515 _beeLabel2['default'],
58516 { className: 'time' },
58517 '\u5907\u6CE8\uFF1A'
58518 )
58519 ),
58520 _react2['default'].createElement(
58521 _beeLayout.Col,
58522 { md: 11 },
58523 _react2['default'].createElement('textarea', _extends({ className: 'u-form-control'
58524 }, getFieldProps('mark', {
58525 initialValue: ''
58526 })))
58527 )
58528 )
58529 )
58530 );
58531 };
58532
58533 return Demo;
58534 }(_react.Component));
58535 exports['default'] = Demo6;
58536 module.exports = exports['default'];
58537
58538/***/ })
58539/******/ ]);
58540//# sourceMappingURL=demo.js.map
\No newline at end of file