From 1c8ac8b487c280e6521be55c564b83b2f2f4f210 Mon Sep 17 00:00:00 2001 From: Loic CHOLLIER Date: Mon, 19 Jan 2015 18:35:13 -0800 Subject: [PATCH] Bump version to 0.0.7 --- dist/react-bootstrap-datetimepicker.js | 15445 ++++++++++--------- dist/react-bootstrap-datetimepicker.min.js | 17 +- package.json | 2 +- 3 files changed, 8411 insertions(+), 7053 deletions(-) diff --git a/dist/react-bootstrap-datetimepicker.js b/dist/react-bootstrap-datetimepicker.js index f074492c..0eb8fa77 100644 --- a/dist/react-bootstrap-datetimepicker.js +++ b/dist/react-bootstrap-datetimepicker.js @@ -67,7 +67,7 @@ return /******/ (function(modules) { // webpackBootstrap DateTimePicker = __webpack_require__(2); - moment = __webpack_require__(7); + moment = __webpack_require__(5); Glyphicon = __webpack_require__(3); @@ -362,11 +362,11 @@ return /******/ (function(modules) { // webpackBootstrap var DateTimePicker, DateTimePickerDate, DateTimePickerTime, Glyphicon, React; - React = __webpack_require__(4); + React = __webpack_require__(6); - DateTimePickerDate = __webpack_require__(5); + DateTimePickerDate = __webpack_require__(7); - DateTimePickerTime = __webpack_require__(6); + DateTimePickerTime = __webpack_require__(8); Glyphicon = __webpack_require__(3); @@ -465,10 +465,10 @@ return /******/ (function(modules) { // webpackBootstrap /***/ function(module, exports, __webpack_require__) { var React = __webpack_require__(4); - var joinClasses = __webpack_require__(13); - var classSet = __webpack_require__(14); - var BootstrapMixin = __webpack_require__(15); - var constants = __webpack_require__(16); + var joinClasses = __webpack_require__(9); + var classSet = __webpack_require__(10); + var BootstrapMixin = __webpack_require__(11); + var constants = __webpack_require__(12); var Glyphicon = React.createClass({displayName: 'Glyphicon', mixins: [BootstrapMixin], @@ -502,262 +502,11 @@ return /******/ (function(modules) { // webpackBootstrap /* 4 */ /***/ function(module, exports, __webpack_require__) { - module.exports = __webpack_require__(17); + module.exports = __webpack_require__(13); /***/ }, /* 5 */ -/***/ function(module, exports, __webpack_require__) { - - var DateTimePickerDate, DateTimePickerDays, DateTimePickerMonths, DateTimePickerYears, React; - - React = __webpack_require__(4); - - DateTimePickerDays = __webpack_require__(8); - - DateTimePickerMonths = __webpack_require__(9); - - DateTimePickerYears = __webpack_require__(10); - - DateTimePickerDate = React.createClass({displayName: "DateTimePickerDate", - propTypes: { - subtractMonth: React.PropTypes.func.isRequired, - addMonth: React.PropTypes.func.isRequired, - viewDate: React.PropTypes.object.isRequired, - selectedDate: React.PropTypes.object.isRequired, - showToday: React.PropTypes.bool, - daysOfWeekDisabled: React.PropTypes.array, - setSelectedDate: React.PropTypes.func.isRequired, - subtractYear: React.PropTypes.func.isRequired, - addYear: React.PropTypes.func.isRequired, - setViewMonth: React.PropTypes.func.isRequired, - setViewYear: React.PropTypes.func.isRequired, - addDecade: React.PropTypes.func.isRequired, - subtractDecade: React.PropTypes.func.isRequired - }, - getInitialState: function() { - return { - daysDisplayed: true, - monthsDisplayed: false, - yearsDisplayed: false - }; - }, - showMonths: function() { - return this.setState({ - daysDisplayed: false, - monthsDisplayed: true - }); - }, - showYears: function() { - return this.setState({ - monthsDisplayed: false, - yearsDisplayed: true - }); - }, - setViewYear: function(e) { - this.props.setViewYear(e.target.innerHTML); - return this.setState({ - yearsDisplayed: false, - monthsDisplayed: true - }); - }, - setViewMonth: function(e) { - this.props.setViewMonth(e.target.innerHTML); - return this.setState({ - monthsDisplayed: false, - daysDisplayed: true - }); - }, - renderDays: function() { - if (this.state.daysDisplayed) { - return ( - React.createElement(DateTimePickerDays, { - addMonth: this.props.addMonth, - subtractMonth: this.props.subtractMonth, - setSelectedDate: this.props.setSelectedDate, - viewDate: this.props.viewDate, - selectedDate: this.props.selectedDate, - showToday: this.props.showToday, - daysOfWeekDisabled: this.props.daysOfWeekDisabled, - showMonths: this.showMonths} - ) - ); - } else { - return null; - } - }, - renderMonths: function() { - if (this.state.monthsDisplayed) { - return ( - React.createElement(DateTimePickerMonths, { - subtractYear: this.props.subtractYear, - addYear: this.props.addYear, - viewDate: this.props.viewDate, - selectedDate: this.props.selectedDate, - showYears: this.showYears, - setViewMonth: this.setViewMonth} - ) - ); - } else { - return null; - } - }, - renderYears: function() { - if (this.state.yearsDisplayed) { - return ( - React.createElement(DateTimePickerYears, { - viewDate: this.props.viewDate, - selectedDate: this.props.selectedDate, - setViewYear: this.setViewYear, - addDecade: this.props.addDecade, - subtractDecade: this.props.subtractDecade} - ) - ); - } else { - return null; - } - }, - render: function() { - return ( - React.createElement("div", {className: "datepicker"}, - this.renderDays(), - - this.renderMonths(), - - this.renderYears() - ) - ); - } - }); - - module.exports = DateTimePickerDate; - - -/***/ }, -/* 6 */ -/***/ function(module, exports, __webpack_require__) { - - var DateTimePickerHours, DateTimePickerMinutes, DateTimePickerTime, Glyphicon, React; - - React = __webpack_require__(4); - - DateTimePickerMinutes = __webpack_require__(11); - - DateTimePickerHours = __webpack_require__(12); - - Glyphicon = __webpack_require__(3); - - DateTimePickerTime = React.createClass({displayName: "DateTimePickerTime", - propTypes: { - setSelectedHour: React.PropTypes.func.isRequired, - setSelectedMinute: React.PropTypes.func.isRequired, - subtractHour: React.PropTypes.func.isRequired, - addHour: React.PropTypes.func.isRequired, - subtractMinute: React.PropTypes.func.isRequired, - addMinute: React.PropTypes.func.isRequired, - viewDate: React.PropTypes.object.isRequired, - selectedDate: React.PropTypes.object.isRequired, - togglePeriod: React.PropTypes.func.isRequired - }, - getInitialState: function() { - return { - minutesDisplayed: false, - hoursDisplayed: false - }; - }, - showMinutes: function() { - return this.setState({ - minutesDisplayed: true - }); - }, - showHours: function() { - return this.setState({ - hoursDisplayed: true - }); - }, - renderMinutes: function() { - if (this.state.minutesDisplayed) { - return (React.createElement(DateTimePickerMinutes, { - setSelectedMinute: this.props.setSelectedMinute} - ) - ); - } else { - return null; - } - }, - renderHours: function() { - if (this.state.hoursDisplayed) { - return (React.createElement(DateTimePickerHours, { - setSelectedHour: this.props.setSelectedHour} - ) - ); - } else { - return null; - } - }, - renderPicker: function() { - if (!this.state.minutesDisplayed && !this.state.hoursDisplayed) { - return ( - React.createElement("div", {className: "timepicker-picker"}, - React.createElement("table", {className: "table-condensed"}, - React.createElement("tbody", null, - React.createElement("tr", null, - React.createElement("td", null, React.createElement("a", {className: "btn", onClick: this.props.addHour}, React.createElement(Glyphicon, {glyph: "chevron-up"}))), - - React.createElement("td", {className: "separator"}), - - React.createElement("td", null, React.createElement("a", {className: "btn", onClick: this.props.addMinute}, React.createElement(Glyphicon, {glyph: "chevron-up"}))), - - React.createElement("td", {className: "separator"}) - ), - - React.createElement("tr", null, - React.createElement("td", null, React.createElement("span", {className: "timepicker-hour", onClick: this.showHours}, this.props.selectedDate.format('h'))), - - React.createElement("td", {className: "separator"}, ":"), - - React.createElement("td", null, React.createElement("span", {className: "timepicker-minute", onClick: this.showMinutes}, this.props.selectedDate.format('mm'))), - - React.createElement("td", {className: "separator"}), - - React.createElement("td", null, React.createElement("button", {className: "btn btn-primary", onClick: this.props.togglePeriod, type: "button"}, this.props.selectedDate.format('A'))) - ), - - React.createElement("tr", null, - React.createElement("td", null, React.createElement("a", {className: "btn", onClick: this.props.subtractHour}, React.createElement(Glyphicon, {glyph: "chevron-down"}))), - - React.createElement("td", {className: "separator"}), - - React.createElement("td", null, React.createElement("a", {className: "btn", onClick: this.props.subtractMinute}, React.createElement(Glyphicon, {glyph: "chevron-down"}))), - - React.createElement("td", {className: "separator"}) - ) - ) - ) - ) - ); - } else { - return ''; - } - }, - render: function() { - return ( - React.createElement("div", {className: "timepicker"}, - this.renderPicker(), - - this.renderHours(), - - this.renderMinutes() - ) - ); - } - }); - - module.exports = DateTimePickerTime; - - -/***/ }, -/* 7 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_RESULT__;/* WEBPACK VAR INJECTION */(function(global, module) {//! moment.js @@ -1536,7 +1285,7 @@ return /******/ (function(modules) { // webpackBootstrap if (!locales[name] && hasModule) { try { oldLocale = moment.locale(); - __webpack_require__(18)("./" + name); + __webpack_require__(14)("./" + name); // because defineLocale currently also sets the global locale, we want to undo that for lazy loaded locales moment.locale(oldLocale); } catch (e) { } @@ -3697,20 +3446,31 @@ return /******/ (function(modules) { // webpackBootstrap } }).call(this); - /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()), __webpack_require__(97)(module))) + /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()), __webpack_require__(99)(module))) /***/ }, -/* 8 */ +/* 6 */ /***/ function(module, exports, __webpack_require__) { - var DateTimePickerDays, React, moment; + module.exports = __webpack_require__(15); - React = __webpack_require__(4); - moment = __webpack_require__(7); +/***/ }, +/* 7 */ +/***/ function(module, exports, __webpack_require__) { - DateTimePickerDays = React.createClass({displayName: "DateTimePickerDays", - propTypes: { + var DateTimePickerDate, DateTimePickerDays, DateTimePickerMonths, DateTimePickerYears, React; + + React = __webpack_require__(4); + + DateTimePickerDays = __webpack_require__(18); + + DateTimePickerMonths = __webpack_require__(19); + + DateTimePickerYears = __webpack_require__(20); + + DateTimePickerDate = React.createClass({displayName: "DateTimePickerDate", + propTypes: { subtractMonth: React.PropTypes.func.isRequired, addMonth: React.PropTypes.func.isRequired, viewDate: React.PropTypes.object.isRequired, @@ -3718,377 +3478,236 @@ return /******/ (function(modules) { // webpackBootstrap showToday: React.PropTypes.bool, daysOfWeekDisabled: React.PropTypes.array, setSelectedDate: React.PropTypes.func.isRequired, - showMonths: React.PropTypes.func.isRequired + subtractYear: React.PropTypes.func.isRequired, + addYear: React.PropTypes.func.isRequired, + setViewMonth: React.PropTypes.func.isRequired, + setViewYear: React.PropTypes.func.isRequired, + addDecade: React.PropTypes.func.isRequired, + subtractDecade: React.PropTypes.func.isRequired }, - getDefaultProps: function() { + getInitialState: function() { return { - showToday: true + daysDisplayed: true, + monthsDisplayed: false, + yearsDisplayed: false }; }, + showMonths: function() { + return this.setState({ + daysDisplayed: false, + monthsDisplayed: true + }); + }, + showYears: function() { + return this.setState({ + monthsDisplayed: false, + yearsDisplayed: true + }); + }, + setViewYear: function(e) { + this.props.setViewYear(e.target.innerHTML); + return this.setState({ + yearsDisplayed: false, + monthsDisplayed: true + }); + }, + setViewMonth: function(e) { + this.props.setViewMonth(e.target.innerHTML); + return this.setState({ + monthsDisplayed: false, + daysDisplayed: true + }); + }, renderDays: function() { - var cells, classes, days, html, i, month, nextMonth, prevMonth, row, year, _i, _len, _ref; - year = this.props.viewDate.year(); - month = this.props.viewDate.month(); - prevMonth = this.props.viewDate.clone().subtract(1, "months"); - days = prevMonth.daysInMonth(); - prevMonth.date(days).startOf('week'); - nextMonth = moment(prevMonth).clone().add(42, "d"); - html = []; - cells = []; - while (prevMonth.isBefore(nextMonth)) { - classes = { - day: true - }; - if (prevMonth.year() < year || (prevMonth.year() === year && prevMonth.month() < month)) { - classes['old'] = true; - } else if (prevMonth.year() > year || (prevMonth.year() === year && prevMonth.month() > month)) { - classes['new'] = true; - } - if (prevMonth.isSame(moment({ - y: this.props.selectedDate.year(), - M: this.props.selectedDate.month(), - d: this.props.selectedDate.date() - }))) { - classes['active'] = true; - } - if (this.props.showToday) { - if (prevMonth.isSame(moment(), 'day')) { - classes['today'] = true; - } - } - if (this.props.daysOfWeekDisabled) { - _ref = this.props.daysOfWeekDisabled; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - i = _ref[_i]; - if (prevMonth.day() === this.props.daysOfWeekDisabled[i]) { - classes['disabled'] = true; - break; - } - } - } - cells.push(React.createElement("td", {key: prevMonth.month() + '-' + prevMonth.date(), className: React.addons.classSet(classes), onClick: this.props.setSelectedDate}, prevMonth.date())); - if (prevMonth.weekday() === moment().endOf('week').weekday()) { - row = React.createElement("tr", {key: prevMonth.month() + '-' + prevMonth.date()}, cells); - html.push(row); - cells = []; - } - prevMonth.add(1, "d"); + if (this.state.daysDisplayed) { + return ( + React.createElement(DateTimePickerDays, { + addMonth: this.props.addMonth, + subtractMonth: this.props.subtractMonth, + setSelectedDate: this.props.setSelectedDate, + viewDate: this.props.viewDate, + selectedDate: this.props.selectedDate, + showToday: this.props.showToday, + daysOfWeekDisabled: this.props.daysOfWeekDisabled, + showMonths: this.showMonths} + ) + ); + } else { + return null; } - return html; }, - render: function() { - return ( - React.createElement("div", {className: "datepicker-days", style: {display: 'block'}}, - React.createElement("table", {className: "table-condensed"}, - React.createElement("thead", null, - React.createElement("tr", null, - React.createElement("th", {className: "prev", onClick: this.props.subtractMonth}, "‹"), - - React.createElement("th", {className: "switch", colSpan: "5", onClick: this.props.showMonths}, moment.months()[this.props.viewDate.month()], " ", this.props.viewDate.year()), - - React.createElement("th", {className: "next", onClick: this.props.addMonth}, "›") - ), - - React.createElement("tr", null, - React.createElement("th", {className: "dow"}, "Su"), - - React.createElement("th", {className: "dow"}, "Mo"), - - React.createElement("th", {className: "dow"}, "Tu"), - - React.createElement("th", {className: "dow"}, "We"), - - React.createElement("th", {className: "dow"}, "Th"), - - React.createElement("th", {className: "dow"}, "Fr"), - - React.createElement("th", {className: "dow"}, "Sa") - ) - ), - - React.createElement("tbody", null, - this.renderDays() - ) - ) + renderMonths: function() { + if (this.state.monthsDisplayed) { + return ( + React.createElement(DateTimePickerMonths, { + subtractYear: this.props.subtractYear, + addYear: this.props.addYear, + viewDate: this.props.viewDate, + selectedDate: this.props.selectedDate, + showYears: this.showYears, + setViewMonth: this.setViewMonth} ) - ); - } - }); - - module.exports = DateTimePickerDays; - - -/***/ }, -/* 9 */ -/***/ function(module, exports, __webpack_require__) { - - var DateTimePickerMonths, React, moment; - - React = __webpack_require__(4); - - moment = __webpack_require__(7); - - DateTimePickerMonths = React.createClass({displayName: "DateTimePickerMonths", - propTypes: { - subtractYear: React.PropTypes.func.isRequired, - addYear: React.PropTypes.func.isRequired, - viewDate: React.PropTypes.object.isRequired, - selectedDate: React.PropTypes.object.isRequired, - showYears: React.PropTypes.func.isRequired, - setViewMonth: React.PropTypes.func.isRequired + ); + } else { + return null; + } }, - renderMonths: function() { - var classes, i, month, months, monthsShort; - month = this.props.selectedDate.month(); - monthsShort = moment.monthsShort(); - i = 0; - months = []; - while (i < 12) { - classes = { - month: true, - 'active': i === month && this.props.viewDate.year() === this.props.selectedDate.year() - }; - months.push(React.createElement("span", {className: React.addons.classSet(classes), onClick: this.props.setViewMonth}, monthsShort[i])); - i++; + renderYears: function() { + if (this.state.yearsDisplayed) { + return ( + React.createElement(DateTimePickerYears, { + viewDate: this.props.viewDate, + selectedDate: this.props.selectedDate, + setViewYear: this.setViewYear, + addDecade: this.props.addDecade, + subtractDecade: this.props.subtractDecade} + ) + ); + } else { + return null; } - return months; }, render: function() { return ( - React.createElement("div", {className: "datepicker-months", style: {display: 'block'}}, - React.createElement("table", {className: "table-condensed"}, - React.createElement("thead", null, - React.createElement("tr", null, - React.createElement("th", {className: "prev", onClick: this.props.subtractYear}, "‹"), - - React.createElement("th", {className: "switch", colSpan: "5", onClick: this.props.showYears}, this.props.viewDate.year()), + React.createElement("div", {className: "datepicker"}, + this.renderDays(), - React.createElement("th", {className: "next", onClick: this.props.addYear}, "›") - ) - ), + this.renderMonths(), - React.createElement("tbody", null, - React.createElement("tr", null, - React.createElement("td", {colSpan: "7"}, this.renderMonths()) - ) - ) - ) - ) + this.renderYears() + ) ); } }); - module.exports = DateTimePickerMonths; + module.exports = DateTimePickerDate; /***/ }, -/* 10 */ +/* 8 */ /***/ function(module, exports, __webpack_require__) { - var DateTimePickerYears, React; + var DateTimePickerHours, DateTimePickerMinutes, DateTimePickerTime, Glyphicon, React; React = __webpack_require__(4); - DateTimePickerYears = React.createClass({displayName: "DateTimePickerYears", + DateTimePickerMinutes = __webpack_require__(16); + + DateTimePickerHours = __webpack_require__(17); + + Glyphicon = __webpack_require__(3); + + DateTimePickerTime = React.createClass({displayName: "DateTimePickerTime", propTypes: { - subtractDecade: React.PropTypes.func.isRequired, - addDecade: React.PropTypes.func.isRequired, + setSelectedHour: React.PropTypes.func.isRequired, + setSelectedMinute: React.PropTypes.func.isRequired, + subtractHour: React.PropTypes.func.isRequired, + addHour: React.PropTypes.func.isRequired, + subtractMinute: React.PropTypes.func.isRequired, + addMinute: React.PropTypes.func.isRequired, viewDate: React.PropTypes.object.isRequired, selectedDate: React.PropTypes.object.isRequired, - setViewYear: React.PropTypes.func.isRequired + togglePeriod: React.PropTypes.func.isRequired }, - renderYears: function() { - var classes, i, year, years; - years = []; - year = parseInt(this.props.viewDate.year() / 10, 10) * 10; - year--; - i = -1; - while (i < 11) { - classes = { - year: true, - old: i === -1 | i === 10, - active: this.props.selectedDate.year() === year - }; - years.push(React.createElement("span", {className: React.addons.classSet(classes), onClick: this.props.setViewYear}, year)); - year++; - i++; + getInitialState: function() { + return { + minutesDisplayed: false, + hoursDisplayed: false + }; + }, + showMinutes: function() { + return this.setState({ + minutesDisplayed: true + }); + }, + showHours: function() { + return this.setState({ + hoursDisplayed: true + }); + }, + renderMinutes: function() { + if (this.state.minutesDisplayed) { + return (React.createElement(DateTimePickerMinutes, { + setSelectedMinute: this.props.setSelectedMinute} + ) + ); + } else { + return null; } - return years; }, - render: function() { - var year; - year = parseInt(this.props.viewDate.year() / 10, 10) * 10; - return ( - React.createElement("div", {className: "datepicker-years", style: {display: "block"}}, - React.createElement("table", {className: "table-condensed"}, - React.createElement("thead", null, - React.createElement("tr", null, - React.createElement("th", {className: "prev", onClick: this.props.subtractDecade}, "‹"), - - React.createElement("th", {className: "switch", colSpan: "5"}, year, " - ", year+9), - - React.createElement("th", {className: "next", onClick: this.props.addDecade}, "›") - ) - ), - - React.createElement("tbody", null, - React.createElement("tr", null, - React.createElement("td", {colSpan: "7"}, this.renderYears()) - ) - ) - ) + renderHours: function() { + if (this.state.hoursDisplayed) { + return (React.createElement(DateTimePickerHours, { + setSelectedHour: this.props.setSelectedHour} ) - ); - } - }); - - module.exports = DateTimePickerYears; - - -/***/ }, -/* 11 */ -/***/ function(module, exports, __webpack_require__) { - - var DateTimePickerMinutes, React; - - React = __webpack_require__(4); - - DateTimePickerMinutes = React.createClass({displayName: "DateTimePickerMinutes", - propTypes: { - setSelectedMinute: React.PropTypes.func.isRequired + ); + } else { + return null; + } }, - render: function() { - return ( - React.createElement("div", {className: "timepicker-minutes", "data-action": "selectMinute", style: {display: 'block'}}, + renderPicker: function() { + if (!this.state.minutesDisplayed && !this.state.hoursDisplayed) { + return ( + React.createElement("div", {className: "timepicker-picker"}, React.createElement("table", {className: "table-condensed"}, React.createElement("tbody", null, React.createElement("tr", null, - React.createElement("td", {className: "minute", onClick: this.props.setSelectedMinute}, "00"), + React.createElement("td", null, React.createElement("a", {className: "btn", onClick: this.props.addHour}, React.createElement(Glyphicon, {glyph: "chevron-up"}))), - React.createElement("td", {className: "minute", onClick: this.props.setSelectedMinute}, "05"), + React.createElement("td", {className: "separator"}), - React.createElement("td", {className: "minute", onClick: this.props.setSelectedMinute}, "10"), + React.createElement("td", null, React.createElement("a", {className: "btn", onClick: this.props.addMinute}, React.createElement(Glyphicon, {glyph: "chevron-up"}))), - React.createElement("td", {className: "minute", onClick: this.props.setSelectedMinute}, "15") + React.createElement("td", {className: "separator"}) ), React.createElement("tr", null, - React.createElement("td", {className: "minute", onClick: this.props.setSelectedMinute}, "20"), + React.createElement("td", null, React.createElement("span", {className: "timepicker-hour", onClick: this.showHours}, this.props.selectedDate.format('h'))), - React.createElement("td", {className: "minute", onClick: this.props.setSelectedMinute}, "25"), + React.createElement("td", {className: "separator"}, ":"), - React.createElement("td", {className: "minute", onClick: this.props.setSelectedMinute}, "30"), + React.createElement("td", null, React.createElement("span", {className: "timepicker-minute", onClick: this.showMinutes}, this.props.selectedDate.format('mm'))), - React.createElement("td", {className: "minute", onClick: this.props.setSelectedMinute}, "35") + React.createElement("td", {className: "separator"}), + + React.createElement("td", null, React.createElement("button", {className: "btn btn-primary", onClick: this.props.togglePeriod, type: "button"}, this.props.selectedDate.format('A'))) ), React.createElement("tr", null, - React.createElement("td", {className: "minute", onClick: this.props.setSelectedMinute}, "40"), + React.createElement("td", null, React.createElement("a", {className: "btn", onClick: this.props.subtractHour}, React.createElement(Glyphicon, {glyph: "chevron-down"}))), - React.createElement("td", {className: "minute", onClick: this.props.setSelectedMinute}, "45"), + React.createElement("td", {className: "separator"}), - React.createElement("td", {className: "minute", onClick: this.props.setSelectedMinute}, "50"), + React.createElement("td", null, React.createElement("a", {className: "btn", onClick: this.props.subtractMinute}, React.createElement(Glyphicon, {glyph: "chevron-down"}))), - React.createElement("td", {className: "minute", onClick: this.props.setSelectedMinute}, "55") + React.createElement("td", {className: "separator"}) ) ) ) ) - ); - } - }); - - module.exports = DateTimePickerMinutes; - - -/***/ }, -/* 12 */ -/***/ function(module, exports, __webpack_require__) { - - var DateTimePickerHours, React; - - React = __webpack_require__(4); - - DateTimePickerHours = React.createClass({displayName: "DateTimePickerHours", - propTypes: { - setSelectedHour: React.PropTypes.func.isRequired + ); + } else { + return ''; + } }, render: function() { return ( - React.createElement("div", {className: "timepicker-hours", "data-action": "selectHour", style: {display: 'block'}}, - React.createElement("table", {className: "table-condensed"}, - React.createElement("tbody", null, - React.createElement("tr", null, - React.createElement("td", {className: "hour", onClick: this.props.setSelectedHour}, "01"), - - React.createElement("td", {className: "hour", onClick: this.props.setSelectedHour}, "02"), - - React.createElement("td", {className: "hour", onClick: this.props.setSelectedHour}, "03"), - - React.createElement("td", {className: "hour", onClick: this.props.setSelectedHour}, "04") - ), - - React.createElement("tr", null, - React.createElement("td", {className: "hour", onClick: this.props.setSelectedHour}, "05"), - - React.createElement("td", {className: "hour", onClick: this.props.setSelectedHour}, "06"), - - React.createElement("td", {className: "hour", onClick: this.props.setSelectedHour}, "07"), - - React.createElement("td", {className: "hour", onClick: this.props.setSelectedHour}, "08") - ), - - React.createElement("tr", null, - React.createElement("td", {className: "hour", onClick: this.props.setSelectedHour}, "09"), - - React.createElement("td", {className: "hour", onClick: this.props.setSelectedHour}, "10"), - - React.createElement("td", {className: "hour", onClick: this.props.setSelectedHour}, "11"), - - React.createElement("td", {className: "hour", onClick: this.props.setSelectedHour}, "12") - ), - - React.createElement("tr", null, - React.createElement("td", {className: "hour", onClick: this.props.setSelectedHour}, "13"), - - React.createElement("td", {className: "hour", onClick: this.props.setSelectedHour}, "14"), - - React.createElement("td", {className: "hour", onClick: this.props.setSelectedHour}, "15"), - - React.createElement("td", {className: "hour", onClick: this.props.setSelectedHour}, "16") - ), - - React.createElement("tr", null, - React.createElement("td", {className: "hour", onClick: this.props.setSelectedHour}, "17"), - - React.createElement("td", {className: "hour", onClick: this.props.setSelectedHour}, "18"), - - React.createElement("td", {className: "hour", onClick: this.props.setSelectedHour}, "19"), - - React.createElement("td", {className: "hour", onClick: this.props.setSelectedHour}, "20") - ), - - React.createElement("tr", null, - React.createElement("td", {className: "hour", onClick: this.props.setSelectedHour}, "21"), - - React.createElement("td", {className: "hour", onClick: this.props.setSelectedHour}, "22"), + React.createElement("div", {className: "timepicker"}, + this.renderPicker(), - React.createElement("td", {className: "hour", onClick: this.props.setSelectedHour}, "23"), + this.renderHours(), - React.createElement("td", {className: "hour", onClick: this.props.setSelectedHour}, "24") - ) - ) + this.renderMinutes() ) - ) ); } }); - module.exports = DateTimePickerHours; + module.exports = DateTimePickerTime; /***/ }, -/* 13 */ +/* 9 */ /***/ function(module, exports, __webpack_require__) { /** @@ -4134,7 +3753,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 14 */ +/* 10 */ /***/ function(module, exports, __webpack_require__) { /** @@ -4178,11 +3797,11 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = cx; /***/ }, -/* 15 */ +/* 11 */ /***/ function(module, exports, __webpack_require__) { var React = __webpack_require__(4); - var constants = __webpack_require__(16); + var constants = __webpack_require__(12); var BootstrapMixin = { propTypes: { @@ -4218,7 +3837,7 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = BootstrapMixin; /***/ }, -/* 16 */ +/* 12 */ /***/ function(module, exports, __webpack_require__) { module.exports = { @@ -4466,7 +4085,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 17 */ +/* 13 */ /***/ function(module, exports, __webpack_require__) { /** @@ -4482,30 +4101,30 @@ return /******/ (function(modules) { // webpackBootstrap "use strict"; - var DOMPropertyOperations = __webpack_require__(98); - var EventPluginUtils = __webpack_require__(99); - var ReactChildren = __webpack_require__(100); - var ReactComponent = __webpack_require__(101); - var ReactCompositeComponent = __webpack_require__(102); - var ReactContext = __webpack_require__(103); - var ReactCurrentOwner = __webpack_require__(104); - var ReactElement = __webpack_require__(105); - var ReactElementValidator = __webpack_require__(106); - var ReactDOM = __webpack_require__(107); - var ReactDOMComponent = __webpack_require__(108); - var ReactDefaultInjection = __webpack_require__(109); - var ReactInstanceHandles = __webpack_require__(110); - var ReactLegacyElement = __webpack_require__(111); - var ReactMount = __webpack_require__(112); - var ReactMultiChild = __webpack_require__(113); - var ReactPerf = __webpack_require__(114); - var ReactPropTypes = __webpack_require__(115); - var ReactServerRendering = __webpack_require__(116); - var ReactTextComponent = __webpack_require__(117); - - var assign = __webpack_require__(118); - var deprecated = __webpack_require__(119); - var onlyChild = __webpack_require__(120); + var DOMPropertyOperations = __webpack_require__(100); + var EventPluginUtils = __webpack_require__(101); + var ReactChildren = __webpack_require__(102); + var ReactComponent = __webpack_require__(103); + var ReactCompositeComponent = __webpack_require__(104); + var ReactContext = __webpack_require__(105); + var ReactCurrentOwner = __webpack_require__(106); + var ReactElement = __webpack_require__(107); + var ReactElementValidator = __webpack_require__(108); + var ReactDOM = __webpack_require__(109); + var ReactDOMComponent = __webpack_require__(110); + var ReactDefaultInjection = __webpack_require__(111); + var ReactInstanceHandles = __webpack_require__(112); + var ReactLegacyElement = __webpack_require__(113); + var ReactMount = __webpack_require__(114); + var ReactMultiChild = __webpack_require__(115); + var ReactPerf = __webpack_require__(116); + var ReactPropTypes = __webpack_require__(117); + var ReactServerRendering = __webpack_require__(118); + var ReactTextComponent = __webpack_require__(119); + + var assign = __webpack_require__(120); + var deprecated = __webpack_require__(121); + var onlyChild = __webpack_require__(122); ReactDefaultInjection.inject(); @@ -4656,166 +4275,166 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 18 */ +/* 14 */ /***/ function(module, exports, __webpack_require__) { var map = { - "./af": 19, - "./af.js": 19, - "./ar": 22, - "./ar-ma": 20, - "./ar-ma.js": 20, - "./ar-sa": 21, - "./ar-sa.js": 21, - "./ar.js": 22, - "./az": 23, - "./az.js": 23, - "./be": 24, - "./be.js": 24, - "./bg": 25, - "./bg.js": 25, - "./bn": 26, - "./bn.js": 26, - "./bo": 27, - "./bo.js": 27, - "./br": 28, - "./br.js": 28, - "./bs": 29, - "./bs.js": 29, - "./ca": 30, - "./ca.js": 30, - "./cs": 31, - "./cs.js": 31, - "./cv": 32, - "./cv.js": 32, - "./cy": 33, - "./cy.js": 33, - "./da": 34, - "./da.js": 34, - "./de": 36, - "./de-at": 35, - "./de-at.js": 35, - "./de.js": 36, - "./el": 37, - "./el.js": 37, - "./en-au": 38, - "./en-au.js": 38, - "./en-ca": 39, - "./en-ca.js": 39, - "./en-gb": 40, - "./en-gb.js": 40, - "./eo": 41, - "./eo.js": 41, - "./es": 42, - "./es.js": 42, - "./et": 43, - "./et.js": 43, - "./eu": 44, - "./eu.js": 44, - "./fa": 45, - "./fa.js": 45, - "./fi": 46, - "./fi.js": 46, - "./fo": 47, - "./fo.js": 47, - "./fr": 49, - "./fr-ca": 48, - "./fr-ca.js": 48, - "./fr.js": 49, - "./gl": 50, - "./gl.js": 50, - "./he": 51, - "./he.js": 51, - "./hi": 52, - "./hi.js": 52, - "./hr": 53, - "./hr.js": 53, - "./hu": 54, - "./hu.js": 54, - "./hy-am": 55, - "./hy-am.js": 55, - "./id": 56, - "./id.js": 56, - "./is": 57, - "./is.js": 57, - "./it": 58, - "./it.js": 58, - "./ja": 59, - "./ja.js": 59, - "./ka": 60, - "./ka.js": 60, - "./km": 61, - "./km.js": 61, - "./ko": 62, - "./ko.js": 62, - "./lb": 63, - "./lb.js": 63, - "./lt": 64, - "./lt.js": 64, - "./lv": 65, - "./lv.js": 65, - "./mk": 66, - "./mk.js": 66, - "./ml": 67, - "./ml.js": 67, - "./mr": 68, - "./mr.js": 68, - "./ms-my": 69, - "./ms-my.js": 69, - "./my": 70, - "./my.js": 70, - "./nb": 71, - "./nb.js": 71, - "./ne": 72, - "./ne.js": 72, - "./nl": 73, - "./nl.js": 73, - "./nn": 74, - "./nn.js": 74, - "./pl": 75, - "./pl.js": 75, - "./pt": 77, - "./pt-br": 76, - "./pt-br.js": 76, - "./pt.js": 77, - "./ro": 78, - "./ro.js": 78, - "./ru": 79, - "./ru.js": 79, - "./sk": 80, - "./sk.js": 80, - "./sl": 81, - "./sl.js": 81, - "./sq": 82, - "./sq.js": 82, - "./sr": 84, - "./sr-cyrl": 83, - "./sr-cyrl.js": 83, - "./sr.js": 84, - "./sv": 85, - "./sv.js": 85, - "./ta": 86, - "./ta.js": 86, - "./th": 87, - "./th.js": 87, - "./tl-ph": 88, - "./tl-ph.js": 88, - "./tr": 89, - "./tr.js": 89, - "./tzm": 91, - "./tzm-latn": 90, - "./tzm-latn.js": 90, - "./tzm.js": 91, - "./uk": 92, - "./uk.js": 92, - "./uz": 93, - "./uz.js": 93, - "./vi": 94, - "./vi.js": 94, - "./zh-cn": 95, - "./zh-cn.js": 95, - "./zh-tw": 96, - "./zh-tw.js": 96 + "./af": 21, + "./af.js": 21, + "./ar": 24, + "./ar-ma": 22, + "./ar-ma.js": 22, + "./ar-sa": 23, + "./ar-sa.js": 23, + "./ar.js": 24, + "./az": 25, + "./az.js": 25, + "./be": 26, + "./be.js": 26, + "./bg": 27, + "./bg.js": 27, + "./bn": 28, + "./bn.js": 28, + "./bo": 29, + "./bo.js": 29, + "./br": 30, + "./br.js": 30, + "./bs": 31, + "./bs.js": 31, + "./ca": 32, + "./ca.js": 32, + "./cs": 33, + "./cs.js": 33, + "./cv": 34, + "./cv.js": 34, + "./cy": 35, + "./cy.js": 35, + "./da": 36, + "./da.js": 36, + "./de": 38, + "./de-at": 37, + "./de-at.js": 37, + "./de.js": 38, + "./el": 39, + "./el.js": 39, + "./en-au": 40, + "./en-au.js": 40, + "./en-ca": 41, + "./en-ca.js": 41, + "./en-gb": 42, + "./en-gb.js": 42, + "./eo": 43, + "./eo.js": 43, + "./es": 44, + "./es.js": 44, + "./et": 45, + "./et.js": 45, + "./eu": 46, + "./eu.js": 46, + "./fa": 47, + "./fa.js": 47, + "./fi": 48, + "./fi.js": 48, + "./fo": 49, + "./fo.js": 49, + "./fr": 51, + "./fr-ca": 50, + "./fr-ca.js": 50, + "./fr.js": 51, + "./gl": 52, + "./gl.js": 52, + "./he": 53, + "./he.js": 53, + "./hi": 54, + "./hi.js": 54, + "./hr": 55, + "./hr.js": 55, + "./hu": 56, + "./hu.js": 56, + "./hy-am": 57, + "./hy-am.js": 57, + "./id": 58, + "./id.js": 58, + "./is": 59, + "./is.js": 59, + "./it": 60, + "./it.js": 60, + "./ja": 61, + "./ja.js": 61, + "./ka": 62, + "./ka.js": 62, + "./km": 63, + "./km.js": 63, + "./ko": 64, + "./ko.js": 64, + "./lb": 65, + "./lb.js": 65, + "./lt": 66, + "./lt.js": 66, + "./lv": 67, + "./lv.js": 67, + "./mk": 68, + "./mk.js": 68, + "./ml": 69, + "./ml.js": 69, + "./mr": 70, + "./mr.js": 70, + "./ms-my": 71, + "./ms-my.js": 71, + "./my": 72, + "./my.js": 72, + "./nb": 73, + "./nb.js": 73, + "./ne": 74, + "./ne.js": 74, + "./nl": 75, + "./nl.js": 75, + "./nn": 76, + "./nn.js": 76, + "./pl": 77, + "./pl.js": 77, + "./pt": 79, + "./pt-br": 78, + "./pt-br.js": 78, + "./pt.js": 79, + "./ro": 80, + "./ro.js": 80, + "./ru": 81, + "./ru.js": 81, + "./sk": 82, + "./sk.js": 82, + "./sl": 83, + "./sl.js": 83, + "./sq": 84, + "./sq.js": 84, + "./sr": 86, + "./sr-cyrl": 85, + "./sr-cyrl.js": 85, + "./sr.js": 86, + "./sv": 87, + "./sv.js": 87, + "./ta": 88, + "./ta.js": 88, + "./th": 89, + "./th.js": 89, + "./tl-ph": 90, + "./tl-ph.js": 90, + "./tr": 91, + "./tr.js": 91, + "./tzm": 93, + "./tzm-latn": 92, + "./tzm-latn.js": 92, + "./tzm.js": 93, + "./uk": 94, + "./uk.js": 94, + "./uz": 95, + "./uz.js": 95, + "./vi": 96, + "./vi.js": 96, + "./zh-cn": 97, + "./zh-cn.js": 97, + "./zh-tw": 98, + "./zh-tw.js": 98 }; function webpackContext(req) { return __webpack_require__(webpackContextResolve(req)); @@ -4828,756 +4447,1200 @@ return /******/ (function(modules) { // webpackBootstrap }; webpackContext.resolve = webpackContextResolve; module.exports = webpackContext; - webpackContext.id = 18; + webpackContext.id = 14; /***/ }, -/* 19 */ +/* 15 */ /***/ function(module, exports, __webpack_require__) { - var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration - // locale : afrikaans (af) - // author : Werner Mollentze : https://github.com/wernerm + /** + * Copyright 2013-2014, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule ReactWithAddons + */ - (function (factory) { - if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD - } else if (typeof exports === 'object') { - module.exports = factory(require('../moment')); // Node - } else { - factory((typeof global !== 'undefined' ? global : this).moment); // node or other global - } - }(function (moment) { - return moment.defineLocale('af', { - months : 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split('_'), - monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'), - weekdays : 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split('_'), - weekdaysShort : 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'), - weekdaysMin : 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'), - meridiem : function (hours, minutes, isLower) { - if (hours < 12) { - return isLower ? 'vm' : 'VM'; - } else { - return isLower ? 'nm' : 'NM'; - } - }, - longDateFormat : { - LT : 'HH:mm', - LTS : 'LT:ss', - L : 'DD/MM/YYYY', - LL : 'D MMMM YYYY', - LLL : 'D MMMM YYYY LT', - LLLL : 'dddd, D MMMM YYYY LT' - }, - calendar : { - sameDay : '[Vandag om] LT', - nextDay : '[Môre om] LT', - nextWeek : 'dddd [om] LT', - lastDay : '[Gister om] LT', - lastWeek : '[Laas] dddd [om] LT', - sameElse : 'L' - }, - relativeTime : { - future : 'oor %s', - past : '%s gelede', - s : '\'n paar sekondes', - m : '\'n minuut', - mm : '%d minute', - h : '\'n uur', - hh : '%d ure', - d : '\'n dag', - dd : '%d dae', - M : '\'n maand', - MM : '%d maande', - y : '\'n jaar', - yy : '%d jaar' - }, - ordinalParse: /\d{1,2}(ste|de)/, - ordinal : function (number) { - return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de'); // Thanks to Joris Röling : https://github.com/jjupiter - }, - week : { - dow : 1, // Maandag is die eerste dag van die week. - doy : 4 // Die week wat die 4de Januarie bevat is die eerste week van die jaar. - } - }); - })); + /** + * This module exists purely in the open source project, and is meant as a way + * to create a separate standalone build of React. This build has "addons", or + * functionality we've built and think might be useful but doesn't have a good + * place to live inside React core. + */ + "use strict"; -/***/ }, -/* 20 */ -/***/ function(module, exports, __webpack_require__) { + var LinkedStateMixin = __webpack_require__(123); + var React = __webpack_require__(13); + var ReactComponentWithPureRenderMixin = + __webpack_require__(124); + var ReactCSSTransitionGroup = __webpack_require__(125); + var ReactTransitionGroup = __webpack_require__(126); + var ReactUpdates = __webpack_require__(127); + + var cx = __webpack_require__(128); + var cloneWithProps = __webpack_require__(129); + var update = __webpack_require__(130); + + React.addons = { + CSSTransitionGroup: ReactCSSTransitionGroup, + LinkedStateMixin: LinkedStateMixin, + PureRenderMixin: ReactComponentWithPureRenderMixin, + TransitionGroup: ReactTransitionGroup, + + batchedUpdates: ReactUpdates.batchedUpdates, + classSet: cx, + cloneWithProps: cloneWithProps, + update: update + }; - var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration - // locale : Moroccan Arabic (ar-ma) - // author : ElFadili Yassine : https://github.com/ElFadiliY - // author : Abdel Said : https://github.com/abdelsaid + if (false) { + React.addons.Perf = require("./ReactDefaultPerf"); + React.addons.TestUtils = require("./ReactTestUtils"); + } - (function (factory) { - if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD - } else if (typeof exports === 'object') { - module.exports = factory(require('../moment')); // Node - } else { - factory((typeof global !== 'undefined' ? global : this).moment); // node or other global - } - }(function (moment) { - return moment.defineLocale('ar-ma', { - months : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'), - monthsShort : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'), - weekdays : 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), - weekdaysShort : 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'), - weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'), - longDateFormat : { - LT : 'HH:mm', - LTS : 'LT:ss', - L : 'DD/MM/YYYY', - LL : 'D MMMM YYYY', - LLL : 'D MMMM YYYY LT', - LLLL : 'dddd D MMMM YYYY LT' - }, - calendar : { - sameDay: '[اليوم على الساعة] LT', - nextDay: '[غدا على الساعة] LT', - nextWeek: 'dddd [على الساعة] LT', - lastDay: '[أمس على الساعة] LT', - lastWeek: 'dddd [على الساعة] LT', - sameElse: 'L' - }, - relativeTime : { - future : 'في %s', - past : 'منذ %s', - s : 'ثوان', - m : 'دقيقة', - mm : '%d دقائق', - h : 'ساعة', - hh : '%d ساعات', - d : 'يوم', - dd : '%d أيام', - M : 'شهر', - MM : '%d أشهر', - y : 'سنة', - yy : '%d سنوات' - }, - week : { - dow : 6, // Saturday is the first day of the week. - doy : 12 // The week that contains Jan 1st is the first week of the year. - } - }); - })); + module.exports = React; /***/ }, -/* 21 */ +/* 16 */ /***/ function(module, exports, __webpack_require__) { - var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration - // locale : Arabic Saudi Arabia (ar-sa) - // author : Suhail Alkowaileet : https://github.com/xsoh + var DateTimePickerMinutes, React; - (function (factory) { - if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD - } else if (typeof exports === 'object') { - module.exports = factory(require('../moment')); // Node - } else { - factory((typeof global !== 'undefined' ? global : this).moment); // node or other global - } - }(function (moment) { - var symbolMap = { - '1': '١', - '2': '٢', - '3': '٣', - '4': '٤', - '5': '٥', - '6': '٦', - '7': '٧', - '8': '٨', - '9': '٩', - '0': '٠' - }, numberMap = { - '١': '1', - '٢': '2', - '٣': '3', - '٤': '4', - '٥': '5', - '٦': '6', - '٧': '7', - '٨': '8', - '٩': '9', - '٠': '0' - }; + React = __webpack_require__(4); - return moment.defineLocale('ar-sa', { - months : 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'), - monthsShort : 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'), - weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), - weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), - weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'), - longDateFormat : { - LT : 'HH:mm', - LTS : 'HH:mm:ss', - L : 'DD/MM/YYYY', - LL : 'D MMMM YYYY', - LLL : 'D MMMM YYYY LT', - LLLL : 'dddd D MMMM YYYY LT' - }, - meridiem : function (hour, minute, isLower) { - if (hour < 12) { - return 'ص'; - } else { - return 'م'; - } - }, - calendar : { - sameDay: '[اليوم على الساعة] LT', - nextDay: '[غدا على الساعة] LT', - nextWeek: 'dddd [على الساعة] LT', - lastDay: '[أمس على الساعة] LT', - lastWeek: 'dddd [على الساعة] LT', - sameElse: 'L' - }, - relativeTime : { - future : 'في %s', - past : 'منذ %s', - s : 'ثوان', - m : 'دقيقة', - mm : '%d دقائق', - h : 'ساعة', - hh : '%d ساعات', - d : 'يوم', - dd : '%d أيام', - M : 'شهر', - MM : '%d أشهر', - y : 'سنة', - yy : '%d سنوات' - }, - preparse: function (string) { - return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) { - return numberMap[match]; - }).replace(/،/g, ','); - }, - postformat: function (string) { - return string.replace(/\d/g, function (match) { - return symbolMap[match]; - }).replace(/,/g, '،'); - }, - week : { - dow : 6, // Saturday is the first day of the week. - doy : 12 // The week that contains Jan 1st is the first week of the year. - } - }); - })); + DateTimePickerMinutes = React.createClass({displayName: "DateTimePickerMinutes", + propTypes: { + setSelectedMinute: React.PropTypes.func.isRequired + }, + render: function() { + return ( + React.createElement("div", {className: "timepicker-minutes", "data-action": "selectMinute", style: {display: 'block'}}, + React.createElement("table", {className: "table-condensed"}, + React.createElement("tbody", null, + React.createElement("tr", null, + React.createElement("td", {className: "minute", onClick: this.props.setSelectedMinute}, "00"), + + React.createElement("td", {className: "minute", onClick: this.props.setSelectedMinute}, "05"), + + React.createElement("td", {className: "minute", onClick: this.props.setSelectedMinute}, "10"), + + React.createElement("td", {className: "minute", onClick: this.props.setSelectedMinute}, "15") + ), + + React.createElement("tr", null, + React.createElement("td", {className: "minute", onClick: this.props.setSelectedMinute}, "20"), + + React.createElement("td", {className: "minute", onClick: this.props.setSelectedMinute}, "25"), + + React.createElement("td", {className: "minute", onClick: this.props.setSelectedMinute}, "30"), + + React.createElement("td", {className: "minute", onClick: this.props.setSelectedMinute}, "35") + ), + + React.createElement("tr", null, + React.createElement("td", {className: "minute", onClick: this.props.setSelectedMinute}, "40"), + + React.createElement("td", {className: "minute", onClick: this.props.setSelectedMinute}, "45"), + + React.createElement("td", {className: "minute", onClick: this.props.setSelectedMinute}, "50"), + + React.createElement("td", {className: "minute", onClick: this.props.setSelectedMinute}, "55") + ) + ) + ) + ) + ); + } + }); + + module.exports = DateTimePickerMinutes; /***/ }, -/* 22 */ +/* 17 */ /***/ function(module, exports, __webpack_require__) { - var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration - // Locale: Arabic (ar) - // Author: Abdel Said: https://github.com/abdelsaid - // Changes in months, weekdays: Ahmed Elkhatib - // Native plural forms: forabi https://github.com/forabi + var DateTimePickerHours, React; - (function (factory) { - if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD - } else if (typeof exports === 'object') { - module.exports = factory(require('../moment')); // Node - } else { - factory((typeof global !== 'undefined' ? global : this).moment); // node or other global - } - }(function (moment) { - var symbolMap = { - '1': '١', - '2': '٢', - '3': '٣', - '4': '٤', - '5': '٥', - '6': '٦', - '7': '٧', - '8': '٨', - '9': '٩', - '0': '٠' - }, numberMap = { - '١': '1', - '٢': '2', - '٣': '3', - '٤': '4', - '٥': '5', - '٦': '6', - '٧': '7', - '٨': '8', - '٩': '9', - '٠': '0' - }, pluralForm = function (n) { - return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5; - }, plurals = { - s : ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'], - m : ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'], - h : ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'], - d : ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'], - M : ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'], - y : ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام'] - }, pluralize = function (u) { - return function (number, withoutSuffix, string, isFuture) { - var f = pluralForm(number), - str = plurals[u][pluralForm(number)]; - if (f === 2) { - str = str[withoutSuffix ? 0 : 1]; - } - return str.replace(/%d/i, number); - }; - }, months = [ - 'كانون الثاني يناير', - 'شباط فبراير', - 'آذار مارس', - 'نيسان أبريل', - 'أيار مايو', - 'حزيران يونيو', - 'تموز يوليو', - 'آب أغسطس', - 'أيلول سبتمبر', - 'تشرين الأول أكتوبر', - 'تشرين الثاني نوفمبر', - 'كانون الأول ديسمبر' - ]; + React = __webpack_require__(4); - return moment.defineLocale('ar', { - months : months, - monthsShort : months, - weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), - weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), - weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'), - longDateFormat : { - LT : 'HH:mm', - LTS : 'HH:mm:ss', - L : 'DD/MM/YYYY', - LL : 'D MMMM YYYY', - LLL : 'D MMMM YYYY LT', - LLLL : 'dddd D MMMM YYYY LT' - }, - meridiem : function (hour, minute, isLower) { - if (hour < 12) { - return 'ص'; - } else { - return 'م'; - } - }, - calendar : { - sameDay: '[اليوم عند الساعة] LT', - nextDay: '[غدًا عند الساعة] LT', - nextWeek: 'dddd [عند الساعة] LT', - lastDay: '[أمس عند الساعة] LT', - lastWeek: 'dddd [عند الساعة] LT', - sameElse: 'L' - }, - relativeTime : { - future : 'بعد %s', - past : 'منذ %s', - s : pluralize('s'), - m : pluralize('m'), - mm : pluralize('m'), - h : pluralize('h'), - hh : pluralize('h'), - d : pluralize('d'), - dd : pluralize('d'), - M : pluralize('M'), - MM : pluralize('M'), - y : pluralize('y'), - yy : pluralize('y') - }, - preparse: function (string) { - return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) { - return numberMap[match]; - }).replace(/،/g, ','); - }, - postformat: function (string) { - return string.replace(/\d/g, function (match) { - return symbolMap[match]; - }).replace(/,/g, '،'); - }, - week : { - dow : 6, // Saturday is the first day of the week. - doy : 12 // The week that contains Jan 1st is the first week of the year. - } - }); - })); + DateTimePickerHours = React.createClass({displayName: "DateTimePickerHours", + propTypes: { + setSelectedHour: React.PropTypes.func.isRequired + }, + render: function() { + return ( + React.createElement("div", {className: "timepicker-hours", "data-action": "selectHour", style: {display: 'block'}}, + React.createElement("table", {className: "table-condensed"}, + React.createElement("tbody", null, + React.createElement("tr", null, + React.createElement("td", {className: "hour", onClick: this.props.setSelectedHour}, "01"), + React.createElement("td", {className: "hour", onClick: this.props.setSelectedHour}, "02"), -/***/ }, -/* 23 */ -/***/ function(module, exports, __webpack_require__) { + React.createElement("td", {className: "hour", onClick: this.props.setSelectedHour}, "03"), - var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration - // locale : azerbaijani (az) - // author : topchiyev : https://github.com/topchiyev + React.createElement("td", {className: "hour", onClick: this.props.setSelectedHour}, "04") + ), - (function (factory) { - if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD - } else if (typeof exports === 'object') { - module.exports = factory(require('../moment')); // Node - } else { - factory((typeof global !== 'undefined' ? global : this).moment); // node or other global - } - }(function (moment) { - var suffixes = { - 1: '-inci', - 5: '-inci', - 8: '-inci', - 70: '-inci', - 80: '-inci', + React.createElement("tr", null, + React.createElement("td", {className: "hour", onClick: this.props.setSelectedHour}, "05"), - 2: '-nci', - 7: '-nci', - 20: '-nci', - 50: '-nci', + React.createElement("td", {className: "hour", onClick: this.props.setSelectedHour}, "06"), - 3: '-üncü', - 4: '-üncü', - 100: '-üncü', + React.createElement("td", {className: "hour", onClick: this.props.setSelectedHour}, "07"), - 6: '-ncı', + React.createElement("td", {className: "hour", onClick: this.props.setSelectedHour}, "08") + ), - 9: '-uncu', - 10: '-uncu', - 30: '-uncu', + React.createElement("tr", null, + React.createElement("td", {className: "hour", onClick: this.props.setSelectedHour}, "09"), - 60: '-ıncı', - 90: '-ıncı' - }; - return moment.defineLocale('az', { - months : 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split('_'), - monthsShort : 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'), - weekdays : 'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split('_'), - weekdaysShort : 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'), - weekdaysMin : 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'), - longDateFormat : { - LT : 'HH:mm', - LTS : 'LT:ss', - L : 'DD.MM.YYYY', - LL : 'D MMMM YYYY', - LLL : 'D MMMM YYYY LT', - LLLL : 'dddd, D MMMM YYYY LT' - }, - calendar : { - sameDay : '[bugün saat] LT', - nextDay : '[sabah saat] LT', - nextWeek : '[gələn həftə] dddd [saat] LT', - lastDay : '[dünən] LT', - lastWeek : '[keçən həftə] dddd [saat] LT', - sameElse : 'L' - }, - relativeTime : { - future : '%s sonra', - past : '%s əvvəl', - s : 'birneçə saniyyə', - m : 'bir dəqiqə', - mm : '%d dəqiqə', - h : 'bir saat', - hh : '%d saat', - d : 'bir gün', - dd : '%d gün', - M : 'bir ay', - MM : '%d ay', - y : 'bir il', - yy : '%d il' - }, - meridiem : function (hour, minute, isLower) { - if (hour < 4) { - return 'gecə'; - } else if (hour < 12) { - return 'səhər'; - } else if (hour < 17) { - return 'gündüz'; - } else { - return 'axşam'; - } - }, - ordinalParse: /\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/, - ordinal : function (number) { - if (number === 0) { // special case for zero - return number + '-ıncı'; - } - var a = number % 10, - b = number % 100 - a, - c = number >= 100 ? 100 : null; + React.createElement("td", {className: "hour", onClick: this.props.setSelectedHour}, "10"), - return number + (suffixes[a] || suffixes[b] || suffixes[c]); - }, - week : { - dow : 1, // Monday is the first day of the week. - doy : 7 // The week that contains Jan 1st is the first week of the year. - } - }); - })); + React.createElement("td", {className: "hour", onClick: this.props.setSelectedHour}, "11"), + React.createElement("td", {className: "hour", onClick: this.props.setSelectedHour}, "12") + ), -/***/ }, -/* 24 */ -/***/ function(module, exports, __webpack_require__) { + React.createElement("tr", null, + React.createElement("td", {className: "hour", onClick: this.props.setSelectedHour}, "13"), - var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration - // locale : belarusian (be) - // author : Dmitry Demidov : https://github.com/demidov91 - // author: Praleska: http://praleska.pro/ - // Author : Menelion Elensúle : https://github.com/Oire - - (function (factory) { - if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD - } else if (typeof exports === 'object') { - module.exports = factory(require('../moment')); // Node - } else { - factory((typeof global !== 'undefined' ? global : this).moment); // node or other global - } - }(function (moment) { - function plural(word, num) { - var forms = word.split('_'); - 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]); - } - - function relativeTimeWithPlural(number, withoutSuffix, key) { - var format = { - 'mm': withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін', - 'hh': withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін', - 'dd': 'дзень_дні_дзён', - 'MM': 'месяц_месяцы_месяцаў', - 'yy': 'год_гады_гадоў' - }; - if (key === 'm') { - return withoutSuffix ? 'хвіліна' : 'хвіліну'; - } - else if (key === 'h') { - return withoutSuffix ? 'гадзіна' : 'гадзіну'; - } - else { - return number + ' ' + plural(format[key], +number); - } - } + React.createElement("td", {className: "hour", onClick: this.props.setSelectedHour}, "14"), - function monthsCaseReplace(m, format) { - var months = { - 'nominative': 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split('_'), - 'accusative': 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split('_') - }, + React.createElement("td", {className: "hour", onClick: this.props.setSelectedHour}, "15"), - nounCase = (/D[oD]?(\[[^\[\]]*\]|\s+)+MMMM?/).test(format) ? - 'accusative' : - 'nominative'; + React.createElement("td", {className: "hour", onClick: this.props.setSelectedHour}, "16") + ), - return months[nounCase][m.month()]; - } + React.createElement("tr", null, + React.createElement("td", {className: "hour", onClick: this.props.setSelectedHour}, "17"), - function weekdaysCaseReplace(m, format) { - var weekdays = { - 'nominative': 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split('_'), - 'accusative': 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split('_') - }, + React.createElement("td", {className: "hour", onClick: this.props.setSelectedHour}, "18"), - nounCase = (/\[ ?[Вв] ?(?:мінулую|наступную)? ?\] ?dddd/).test(format) ? - 'accusative' : - 'nominative'; + React.createElement("td", {className: "hour", onClick: this.props.setSelectedHour}, "19"), - return weekdays[nounCase][m.day()]; - } + React.createElement("td", {className: "hour", onClick: this.props.setSelectedHour}, "20") + ), - return moment.defineLocale('be', { - months : monthsCaseReplace, - monthsShort : 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split('_'), - weekdays : weekdaysCaseReplace, - weekdaysShort : 'нд_пн_ат_ср_чц_пт_сб'.split('_'), - weekdaysMin : 'нд_пн_ат_ср_чц_пт_сб'.split('_'), - longDateFormat : { - LT : 'HH:mm', - LTS : 'LT:ss', - L : 'DD.MM.YYYY', - LL : 'D MMMM YYYY г.', - LLL : 'D MMMM YYYY г., LT', - LLLL : 'dddd, D MMMM YYYY г., LT' - }, - calendar : { - sameDay: '[Сёння ў] LT', - nextDay: '[Заўтра ў] LT', - lastDay: '[Учора ў] LT', - nextWeek: function () { - return '[У] dddd [ў] LT'; - }, - lastWeek: function () { - switch (this.day()) { - case 0: - case 3: - case 5: - case 6: - return '[У мінулую] dddd [ў] LT'; - case 1: - case 2: - case 4: - return '[У мінулы] dddd [ў] LT'; - } - }, - sameElse: 'L' - }, - relativeTime : { - future : 'праз %s', - past : '%s таму', - s : 'некалькі секунд', - m : relativeTimeWithPlural, - mm : relativeTimeWithPlural, - h : relativeTimeWithPlural, - hh : relativeTimeWithPlural, - d : 'дзень', - dd : relativeTimeWithPlural, - M : 'месяц', - MM : relativeTimeWithPlural, - y : 'год', - yy : relativeTimeWithPlural - }, + React.createElement("tr", null, + React.createElement("td", {className: "hour", onClick: this.props.setSelectedHour}, "21"), + React.createElement("td", {className: "hour", onClick: this.props.setSelectedHour}, "22"), - meridiem : function (hour, minute, isLower) { - if (hour < 4) { - return 'ночы'; - } else if (hour < 12) { - return 'раніцы'; - } else if (hour < 17) { - return 'дня'; - } else { - return 'вечара'; - } - }, + React.createElement("td", {className: "hour", onClick: this.props.setSelectedHour}, "23"), - ordinalParse: /\d{1,2}-(і|ы|га)/, - ordinal: function (number, period) { - switch (period) { - case 'M': - case 'd': - case 'DDD': - case 'w': - case 'W': - return (number % 10 === 2 || number % 10 === 3) && (number % 100 !== 12 && number % 100 !== 13) ? number + '-і' : number + '-ы'; - case 'D': - return number + '-га'; - default: - return number; - } - }, + React.createElement("td", {className: "hour", onClick: this.props.setSelectedHour}, "24") + ) + ) + ) + ) + ); + } + }); - week : { - dow : 1, // Monday is the first day of the week. - doy : 7 // The week that contains Jan 1st is the first week of the year. - } - }); - })); + module.exports = DateTimePickerHours; /***/ }, -/* 25 */ +/* 18 */ /***/ function(module, exports, __webpack_require__) { - var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration - // locale : bulgarian (bg) - // author : Krasen Borisov : https://github.com/kraz - - (function (factory) { - if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD - } else if (typeof exports === 'object') { - module.exports = factory(require('../moment')); // Node - } else { - factory((typeof global !== 'undefined' ? global : this).moment); // node or other global - } - }(function (moment) { - return moment.defineLocale('bg', { - months : 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split('_'), - monthsShort : 'янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'), - weekdays : 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split('_'), - weekdaysShort : 'нед_пон_вто_сря_чет_пет_съб'.split('_'), - weekdaysMin : 'нд_пн_вт_ср_чт_пт_сб'.split('_'), - longDateFormat : { - LT : 'H:mm', - LTS : 'LT:ss', - L : 'D.MM.YYYY', - LL : 'D MMMM YYYY', - LLL : 'D MMMM YYYY LT', - LLLL : 'dddd, D MMMM YYYY LT' - }, - calendar : { - sameDay : '[Днес в] LT', - nextDay : '[Утре в] LT', - nextWeek : 'dddd [в] LT', - lastDay : '[Вчера в] LT', - lastWeek : function () { - switch (this.day()) { - case 0: - case 3: - case 6: - return '[В изминалата] dddd [в] LT'; - case 1: - case 2: - case 4: - case 5: - return '[В изминалия] dddd [в] LT'; - } - }, - sameElse : 'L' - }, - relativeTime : { - future : 'след %s', - past : 'преди %s', - s : 'няколко секунди', - m : 'минута', - mm : '%d минути', - h : 'час', - hh : '%d часа', - d : 'ден', - dd : '%d дни', - M : 'месец', - MM : '%d месеца', - y : 'година', - yy : '%d години' - }, - ordinalParse: /\d{1,2}-(ев|ен|ти|ви|ри|ми)/, - ordinal : function (number) { - var lastDigit = number % 10, - last2Digits = number % 100; - if (number === 0) { - return number + '-ев'; - } else if (last2Digits === 0) { - return number + '-ен'; - } else if (last2Digits > 10 && last2Digits < 20) { - return number + '-ти'; - } else if (lastDigit === 1) { - return number + '-ви'; - } else if (lastDigit === 2) { - return number + '-ри'; - } else if (lastDigit === 7 || lastDigit === 8) { - return number + '-ми'; - } else { - return number + '-ти'; - } - }, - week : { - dow : 1, // Monday is the first day of the week. - doy : 7 // The week that contains Jan 1st is the first week of the year. - } - }); - })); + var DateTimePickerDays, React, moment; + React = __webpack_require__(6); -/***/ }, -/* 26 */ -/***/ function(module, exports, __webpack_require__) { + moment = __webpack_require__(5); - var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration + DateTimePickerDays = React.createClass({displayName: "DateTimePickerDays", + propTypes: { + subtractMonth: React.PropTypes.func.isRequired, + addMonth: React.PropTypes.func.isRequired, + viewDate: React.PropTypes.object.isRequired, + selectedDate: React.PropTypes.object.isRequired, + showToday: React.PropTypes.bool, + daysOfWeekDisabled: React.PropTypes.array, + setSelectedDate: React.PropTypes.func.isRequired, + showMonths: React.PropTypes.func.isRequired + }, + getDefaultProps: function() { + return { + showToday: true + }; + }, + renderDays: function() { + var cells, classes, days, html, i, month, nextMonth, prevMonth, row, year, _i, _len, _ref; + year = this.props.viewDate.year(); + month = this.props.viewDate.month(); + prevMonth = this.props.viewDate.clone().subtract(1, "months"); + days = prevMonth.daysInMonth(); + prevMonth.date(days).startOf('week'); + nextMonth = moment(prevMonth).clone().add(42, "d"); + html = []; + cells = []; + while (prevMonth.isBefore(nextMonth)) { + classes = { + day: true + }; + if (prevMonth.year() < year || (prevMonth.year() === year && prevMonth.month() < month)) { + classes['old'] = true; + } else if (prevMonth.year() > year || (prevMonth.year() === year && prevMonth.month() > month)) { + classes['new'] = true; + } + if (prevMonth.isSame(moment({ + y: this.props.selectedDate.year(), + M: this.props.selectedDate.month(), + d: this.props.selectedDate.date() + }))) { + classes['active'] = true; + } + if (this.props.showToday) { + if (prevMonth.isSame(moment(), 'day')) { + classes['today'] = true; + } + } + if (this.props.daysOfWeekDisabled) { + _ref = this.props.daysOfWeekDisabled; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + i = _ref[_i]; + if (prevMonth.day() === this.props.daysOfWeekDisabled[i]) { + classes['disabled'] = true; + break; + } + } + } + cells.push(React.createElement("td", {key: prevMonth.month() + '-' + prevMonth.date(), className: React.addons.classSet(classes), onClick: this.props.setSelectedDate}, prevMonth.date())); + if (prevMonth.weekday() === moment().endOf('week').weekday()) { + row = React.createElement("tr", {key: prevMonth.month() + '-' + prevMonth.date()}, cells); + html.push(row); + cells = []; + } + prevMonth.add(1, "d"); + } + return html; + }, + render: function() { + return ( + React.createElement("div", {className: "datepicker-days", style: {display: 'block'}}, + React.createElement("table", {className: "table-condensed"}, + React.createElement("thead", null, + React.createElement("tr", null, + React.createElement("th", {className: "prev", onClick: this.props.subtractMonth}, "‹"), + + React.createElement("th", {className: "switch", colSpan: "5", onClick: this.props.showMonths}, moment.months()[this.props.viewDate.month()], " ", this.props.viewDate.year()), + + React.createElement("th", {className: "next", onClick: this.props.addMonth}, "›") + ), + + React.createElement("tr", null, + React.createElement("th", {className: "dow"}, "Su"), + + React.createElement("th", {className: "dow"}, "Mo"), + + React.createElement("th", {className: "dow"}, "Tu"), + + React.createElement("th", {className: "dow"}, "We"), + + React.createElement("th", {className: "dow"}, "Th"), + + React.createElement("th", {className: "dow"}, "Fr"), + + React.createElement("th", {className: "dow"}, "Sa") + ) + ), + + React.createElement("tbody", null, + this.renderDays() + ) + ) + ) + ); + } + }); + + module.exports = DateTimePickerDays; + + +/***/ }, +/* 19 */ +/***/ function(module, exports, __webpack_require__) { + + var DateTimePickerMonths, React, moment; + + React = __webpack_require__(6); + + moment = __webpack_require__(5); + + DateTimePickerMonths = React.createClass({displayName: "DateTimePickerMonths", + propTypes: { + subtractYear: React.PropTypes.func.isRequired, + addYear: React.PropTypes.func.isRequired, + viewDate: React.PropTypes.object.isRequired, + selectedDate: React.PropTypes.object.isRequired, + showYears: React.PropTypes.func.isRequired, + setViewMonth: React.PropTypes.func.isRequired + }, + renderMonths: function() { + var classes, i, month, months, monthsShort; + month = this.props.selectedDate.month(); + monthsShort = moment.monthsShort(); + i = 0; + months = []; + while (i < 12) { + classes = { + month: true, + 'active': i === month && this.props.viewDate.year() === this.props.selectedDate.year() + }; + months.push(React.createElement("span", {className: React.addons.classSet(classes), onClick: this.props.setViewMonth}, monthsShort[i])); + i++; + } + return months; + }, + render: function() { + return ( + React.createElement("div", {className: "datepicker-months", style: {display: 'block'}}, + React.createElement("table", {className: "table-condensed"}, + React.createElement("thead", null, + React.createElement("tr", null, + React.createElement("th", {className: "prev", onClick: this.props.subtractYear}, "‹"), + + React.createElement("th", {className: "switch", colSpan: "5", onClick: this.props.showYears}, this.props.viewDate.year()), + + React.createElement("th", {className: "next", onClick: this.props.addYear}, "›") + ) + ), + + React.createElement("tbody", null, + React.createElement("tr", null, + React.createElement("td", {colSpan: "7"}, this.renderMonths()) + ) + ) + ) + ) + ); + } + }); + + module.exports = DateTimePickerMonths; + + +/***/ }, +/* 20 */ +/***/ function(module, exports, __webpack_require__) { + + var DateTimePickerYears, React; + + React = __webpack_require__(6); + + DateTimePickerYears = React.createClass({displayName: "DateTimePickerYears", + propTypes: { + subtractDecade: React.PropTypes.func.isRequired, + addDecade: React.PropTypes.func.isRequired, + viewDate: React.PropTypes.object.isRequired, + selectedDate: React.PropTypes.object.isRequired, + setViewYear: React.PropTypes.func.isRequired + }, + renderYears: function() { + var classes, i, year, years; + years = []; + year = parseInt(this.props.viewDate.year() / 10, 10) * 10; + year--; + i = -1; + while (i < 11) { + classes = { + year: true, + old: i === -1 | i === 10, + active: this.props.selectedDate.year() === year + }; + years.push(React.createElement("span", {className: React.addons.classSet(classes), onClick: this.props.setViewYear}, year)); + year++; + i++; + } + return years; + }, + render: function() { + var year; + year = parseInt(this.props.viewDate.year() / 10, 10) * 10; + return ( + React.createElement("div", {className: "datepicker-years", style: {display: "block"}}, + React.createElement("table", {className: "table-condensed"}, + React.createElement("thead", null, + React.createElement("tr", null, + React.createElement("th", {className: "prev", onClick: this.props.subtractDecade}, "‹"), + + React.createElement("th", {className: "switch", colSpan: "5"}, year, " - ", year+9), + + React.createElement("th", {className: "next", onClick: this.props.addDecade}, "›") + ) + ), + + React.createElement("tbody", null, + React.createElement("tr", null, + React.createElement("td", {colSpan: "7"}, this.renderYears()) + ) + ) + ) + ) + ); + } + }); + + module.exports = DateTimePickerYears; + + +/***/ }, +/* 21 */ +/***/ function(module, exports, __webpack_require__) { + + var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration + // locale : afrikaans (af) + // author : Werner Mollentze : https://github.com/wernerm + + (function (factory) { + if (true) { + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + } else if (typeof exports === 'object') { + module.exports = factory(require('../moment')); // Node + } else { + factory((typeof global !== 'undefined' ? global : this).moment); // node or other global + } + }(function (moment) { + return moment.defineLocale('af', { + months : 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split('_'), + monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'), + weekdays : 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split('_'), + weekdaysShort : 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'), + weekdaysMin : 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'), + meridiem : function (hours, minutes, isLower) { + if (hours < 12) { + return isLower ? 'vm' : 'VM'; + } else { + return isLower ? 'nm' : 'NM'; + } + }, + longDateFormat : { + LT : 'HH:mm', + LTS : 'LT:ss', + L : 'DD/MM/YYYY', + LL : 'D MMMM YYYY', + LLL : 'D MMMM YYYY LT', + LLLL : 'dddd, D MMMM YYYY LT' + }, + calendar : { + sameDay : '[Vandag om] LT', + nextDay : '[Môre om] LT', + nextWeek : 'dddd [om] LT', + lastDay : '[Gister om] LT', + lastWeek : '[Laas] dddd [om] LT', + sameElse : 'L' + }, + relativeTime : { + future : 'oor %s', + past : '%s gelede', + s : '\'n paar sekondes', + m : '\'n minuut', + mm : '%d minute', + h : '\'n uur', + hh : '%d ure', + d : '\'n dag', + dd : '%d dae', + M : '\'n maand', + MM : '%d maande', + y : '\'n jaar', + yy : '%d jaar' + }, + ordinalParse: /\d{1,2}(ste|de)/, + ordinal : function (number) { + return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de'); // Thanks to Joris Röling : https://github.com/jjupiter + }, + week : { + dow : 1, // Maandag is die eerste dag van die week. + doy : 4 // Die week wat die 4de Januarie bevat is die eerste week van die jaar. + } + }); + })); + + +/***/ }, +/* 22 */ +/***/ function(module, exports, __webpack_require__) { + + var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration + // locale : Moroccan Arabic (ar-ma) + // author : ElFadili Yassine : https://github.com/ElFadiliY + // author : Abdel Said : https://github.com/abdelsaid + + (function (factory) { + if (true) { + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + } else if (typeof exports === 'object') { + module.exports = factory(require('../moment')); // Node + } else { + factory((typeof global !== 'undefined' ? global : this).moment); // node or other global + } + }(function (moment) { + return moment.defineLocale('ar-ma', { + months : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'), + monthsShort : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'), + weekdays : 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), + weekdaysShort : 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'), + weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'), + longDateFormat : { + LT : 'HH:mm', + LTS : 'LT:ss', + L : 'DD/MM/YYYY', + LL : 'D MMMM YYYY', + LLL : 'D MMMM YYYY LT', + LLLL : 'dddd D MMMM YYYY LT' + }, + calendar : { + sameDay: '[اليوم على الساعة] LT', + nextDay: '[غدا على الساعة] LT', + nextWeek: 'dddd [على الساعة] LT', + lastDay: '[أمس على الساعة] LT', + lastWeek: 'dddd [على الساعة] LT', + sameElse: 'L' + }, + relativeTime : { + future : 'في %s', + past : 'منذ %s', + s : 'ثوان', + m : 'دقيقة', + mm : '%d دقائق', + h : 'ساعة', + hh : '%d ساعات', + d : 'يوم', + dd : '%d أيام', + M : 'شهر', + MM : '%d أشهر', + y : 'سنة', + yy : '%d سنوات' + }, + week : { + dow : 6, // Saturday is the first day of the week. + doy : 12 // The week that contains Jan 1st is the first week of the year. + } + }); + })); + + +/***/ }, +/* 23 */ +/***/ function(module, exports, __webpack_require__) { + + var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration + // locale : Arabic Saudi Arabia (ar-sa) + // author : Suhail Alkowaileet : https://github.com/xsoh + + (function (factory) { + if (true) { + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + } else if (typeof exports === 'object') { + module.exports = factory(require('../moment')); // Node + } else { + factory((typeof global !== 'undefined' ? global : this).moment); // node or other global + } + }(function (moment) { + var symbolMap = { + '1': '١', + '2': '٢', + '3': '٣', + '4': '٤', + '5': '٥', + '6': '٦', + '7': '٧', + '8': '٨', + '9': '٩', + '0': '٠' + }, numberMap = { + '١': '1', + '٢': '2', + '٣': '3', + '٤': '4', + '٥': '5', + '٦': '6', + '٧': '7', + '٨': '8', + '٩': '9', + '٠': '0' + }; + + return moment.defineLocale('ar-sa', { + months : 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'), + monthsShort : 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'), + weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), + weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), + weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'), + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'DD/MM/YYYY', + LL : 'D MMMM YYYY', + LLL : 'D MMMM YYYY LT', + LLLL : 'dddd D MMMM YYYY LT' + }, + meridiem : function (hour, minute, isLower) { + if (hour < 12) { + return 'ص'; + } else { + return 'م'; + } + }, + calendar : { + sameDay: '[اليوم على الساعة] LT', + nextDay: '[غدا على الساعة] LT', + nextWeek: 'dddd [على الساعة] LT', + lastDay: '[أمس على الساعة] LT', + lastWeek: 'dddd [على الساعة] LT', + sameElse: 'L' + }, + relativeTime : { + future : 'في %s', + past : 'منذ %s', + s : 'ثوان', + m : 'دقيقة', + mm : '%d دقائق', + h : 'ساعة', + hh : '%d ساعات', + d : 'يوم', + dd : '%d أيام', + M : 'شهر', + MM : '%d أشهر', + y : 'سنة', + yy : '%d سنوات' + }, + preparse: function (string) { + return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) { + return numberMap[match]; + }).replace(/،/g, ','); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap[match]; + }).replace(/,/g, '،'); + }, + week : { + dow : 6, // Saturday is the first day of the week. + doy : 12 // The week that contains Jan 1st is the first week of the year. + } + }); + })); + + +/***/ }, +/* 24 */ +/***/ function(module, exports, __webpack_require__) { + + var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration + // Locale: Arabic (ar) + // Author: Abdel Said: https://github.com/abdelsaid + // Changes in months, weekdays: Ahmed Elkhatib + // Native plural forms: forabi https://github.com/forabi + + (function (factory) { + if (true) { + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + } else if (typeof exports === 'object') { + module.exports = factory(require('../moment')); // Node + } else { + factory((typeof global !== 'undefined' ? global : this).moment); // node or other global + } + }(function (moment) { + var symbolMap = { + '1': '١', + '2': '٢', + '3': '٣', + '4': '٤', + '5': '٥', + '6': '٦', + '7': '٧', + '8': '٨', + '9': '٩', + '0': '٠' + }, numberMap = { + '١': '1', + '٢': '2', + '٣': '3', + '٤': '4', + '٥': '5', + '٦': '6', + '٧': '7', + '٨': '8', + '٩': '9', + '٠': '0' + }, pluralForm = function (n) { + return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5; + }, plurals = { + s : ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'], + m : ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'], + h : ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'], + d : ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'], + M : ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'], + y : ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام'] + }, pluralize = function (u) { + return function (number, withoutSuffix, string, isFuture) { + var f = pluralForm(number), + str = plurals[u][pluralForm(number)]; + if (f === 2) { + str = str[withoutSuffix ? 0 : 1]; + } + return str.replace(/%d/i, number); + }; + }, months = [ + 'كانون الثاني يناير', + 'شباط فبراير', + 'آذار مارس', + 'نيسان أبريل', + 'أيار مايو', + 'حزيران يونيو', + 'تموز يوليو', + 'آب أغسطس', + 'أيلول سبتمبر', + 'تشرين الأول أكتوبر', + 'تشرين الثاني نوفمبر', + 'كانون الأول ديسمبر' + ]; + + return moment.defineLocale('ar', { + months : months, + monthsShort : months, + weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), + weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), + weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'), + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'DD/MM/YYYY', + LL : 'D MMMM YYYY', + LLL : 'D MMMM YYYY LT', + LLLL : 'dddd D MMMM YYYY LT' + }, + meridiem : function (hour, minute, isLower) { + if (hour < 12) { + return 'ص'; + } else { + return 'م'; + } + }, + calendar : { + sameDay: '[اليوم عند الساعة] LT', + nextDay: '[غدًا عند الساعة] LT', + nextWeek: 'dddd [عند الساعة] LT', + lastDay: '[أمس عند الساعة] LT', + lastWeek: 'dddd [عند الساعة] LT', + sameElse: 'L' + }, + relativeTime : { + future : 'بعد %s', + past : 'منذ %s', + s : pluralize('s'), + m : pluralize('m'), + mm : pluralize('m'), + h : pluralize('h'), + hh : pluralize('h'), + d : pluralize('d'), + dd : pluralize('d'), + M : pluralize('M'), + MM : pluralize('M'), + y : pluralize('y'), + yy : pluralize('y') + }, + preparse: function (string) { + return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) { + return numberMap[match]; + }).replace(/،/g, ','); + }, + postformat: function (string) { + return string.replace(/\d/g, function (match) { + return symbolMap[match]; + }).replace(/,/g, '،'); + }, + week : { + dow : 6, // Saturday is the first day of the week. + doy : 12 // The week that contains Jan 1st is the first week of the year. + } + }); + })); + + +/***/ }, +/* 25 */ +/***/ function(module, exports, __webpack_require__) { + + var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration + // locale : azerbaijani (az) + // author : topchiyev : https://github.com/topchiyev + + (function (factory) { + if (true) { + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + } else if (typeof exports === 'object') { + module.exports = factory(require('../moment')); // Node + } else { + factory((typeof global !== 'undefined' ? global : this).moment); // node or other global + } + }(function (moment) { + var suffixes = { + 1: '-inci', + 5: '-inci', + 8: '-inci', + 70: '-inci', + 80: '-inci', + + 2: '-nci', + 7: '-nci', + 20: '-nci', + 50: '-nci', + + 3: '-üncü', + 4: '-üncü', + 100: '-üncü', + + 6: '-ncı', + + 9: '-uncu', + 10: '-uncu', + 30: '-uncu', + + 60: '-ıncı', + 90: '-ıncı' + }; + return moment.defineLocale('az', { + months : 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split('_'), + monthsShort : 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'), + weekdays : 'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split('_'), + weekdaysShort : 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'), + weekdaysMin : 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'), + longDateFormat : { + LT : 'HH:mm', + LTS : 'LT:ss', + L : 'DD.MM.YYYY', + LL : 'D MMMM YYYY', + LLL : 'D MMMM YYYY LT', + LLLL : 'dddd, D MMMM YYYY LT' + }, + calendar : { + sameDay : '[bugün saat] LT', + nextDay : '[sabah saat] LT', + nextWeek : '[gələn həftə] dddd [saat] LT', + lastDay : '[dünən] LT', + lastWeek : '[keçən həftə] dddd [saat] LT', + sameElse : 'L' + }, + relativeTime : { + future : '%s sonra', + past : '%s əvvəl', + s : 'birneçə saniyyə', + m : 'bir dəqiqə', + mm : '%d dəqiqə', + h : 'bir saat', + hh : '%d saat', + d : 'bir gün', + dd : '%d gün', + M : 'bir ay', + MM : '%d ay', + y : 'bir il', + yy : '%d il' + }, + meridiem : function (hour, minute, isLower) { + if (hour < 4) { + return 'gecə'; + } else if (hour < 12) { + return 'səhər'; + } else if (hour < 17) { + return 'gündüz'; + } else { + return 'axşam'; + } + }, + ordinalParse: /\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/, + ordinal : function (number) { + if (number === 0) { // special case for zero + return number + '-ıncı'; + } + var a = number % 10, + b = number % 100 - a, + c = number >= 100 ? 100 : null; + + return number + (suffixes[a] || suffixes[b] || suffixes[c]); + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 1st is the first week of the year. + } + }); + })); + + +/***/ }, +/* 26 */ +/***/ function(module, exports, __webpack_require__) { + + var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration + // locale : belarusian (be) + // author : Dmitry Demidov : https://github.com/demidov91 + // author: Praleska: http://praleska.pro/ + // Author : Menelion Elensúle : https://github.com/Oire + + (function (factory) { + if (true) { + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + } else if (typeof exports === 'object') { + module.exports = factory(require('../moment')); // Node + } else { + factory((typeof global !== 'undefined' ? global : this).moment); // node or other global + } + }(function (moment) { + function plural(word, num) { + var forms = word.split('_'); + 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]); + } + + function relativeTimeWithPlural(number, withoutSuffix, key) { + var format = { + 'mm': withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін', + 'hh': withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін', + 'dd': 'дзень_дні_дзён', + 'MM': 'месяц_месяцы_месяцаў', + 'yy': 'год_гады_гадоў' + }; + if (key === 'm') { + return withoutSuffix ? 'хвіліна' : 'хвіліну'; + } + else if (key === 'h') { + return withoutSuffix ? 'гадзіна' : 'гадзіну'; + } + else { + return number + ' ' + plural(format[key], +number); + } + } + + function monthsCaseReplace(m, format) { + var months = { + 'nominative': 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split('_'), + 'accusative': 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split('_') + }, + + nounCase = (/D[oD]?(\[[^\[\]]*\]|\s+)+MMMM?/).test(format) ? + 'accusative' : + 'nominative'; + + return months[nounCase][m.month()]; + } + + function weekdaysCaseReplace(m, format) { + var weekdays = { + 'nominative': 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split('_'), + 'accusative': 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split('_') + }, + + nounCase = (/\[ ?[Вв] ?(?:мінулую|наступную)? ?\] ?dddd/).test(format) ? + 'accusative' : + 'nominative'; + + return weekdays[nounCase][m.day()]; + } + + return moment.defineLocale('be', { + months : monthsCaseReplace, + monthsShort : 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split('_'), + weekdays : weekdaysCaseReplace, + weekdaysShort : 'нд_пн_ат_ср_чц_пт_сб'.split('_'), + weekdaysMin : 'нд_пн_ат_ср_чц_пт_сб'.split('_'), + longDateFormat : { + LT : 'HH:mm', + LTS : 'LT:ss', + L : 'DD.MM.YYYY', + LL : 'D MMMM YYYY г.', + LLL : 'D MMMM YYYY г., LT', + LLLL : 'dddd, D MMMM YYYY г., LT' + }, + calendar : { + sameDay: '[Сёння ў] LT', + nextDay: '[Заўтра ў] LT', + lastDay: '[Учора ў] LT', + nextWeek: function () { + return '[У] dddd [ў] LT'; + }, + lastWeek: function () { + switch (this.day()) { + case 0: + case 3: + case 5: + case 6: + return '[У мінулую] dddd [ў] LT'; + case 1: + case 2: + case 4: + return '[У мінулы] dddd [ў] LT'; + } + }, + sameElse: 'L' + }, + relativeTime : { + future : 'праз %s', + past : '%s таму', + s : 'некалькі секунд', + m : relativeTimeWithPlural, + mm : relativeTimeWithPlural, + h : relativeTimeWithPlural, + hh : relativeTimeWithPlural, + d : 'дзень', + dd : relativeTimeWithPlural, + M : 'месяц', + MM : relativeTimeWithPlural, + y : 'год', + yy : relativeTimeWithPlural + }, + + + meridiem : function (hour, minute, isLower) { + if (hour < 4) { + return 'ночы'; + } else if (hour < 12) { + return 'раніцы'; + } else if (hour < 17) { + return 'дня'; + } else { + return 'вечара'; + } + }, + + ordinalParse: /\d{1,2}-(і|ы|га)/, + ordinal: function (number, period) { + switch (period) { + case 'M': + case 'd': + case 'DDD': + case 'w': + case 'W': + return (number % 10 === 2 || number % 10 === 3) && (number % 100 !== 12 && number % 100 !== 13) ? number + '-і' : number + '-ы'; + case 'D': + return number + '-га'; + default: + return number; + } + }, + + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 1st is the first week of the year. + } + }); + })); + + +/***/ }, +/* 27 */ +/***/ function(module, exports, __webpack_require__) { + + var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration + // locale : bulgarian (bg) + // author : Krasen Borisov : https://github.com/kraz + + (function (factory) { + if (true) { + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + } else if (typeof exports === 'object') { + module.exports = factory(require('../moment')); // Node + } else { + factory((typeof global !== 'undefined' ? global : this).moment); // node or other global + } + }(function (moment) { + return moment.defineLocale('bg', { + months : 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split('_'), + monthsShort : 'янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'), + weekdays : 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split('_'), + weekdaysShort : 'нед_пон_вто_сря_чет_пет_съб'.split('_'), + weekdaysMin : 'нд_пн_вт_ср_чт_пт_сб'.split('_'), + longDateFormat : { + LT : 'H:mm', + LTS : 'LT:ss', + L : 'D.MM.YYYY', + LL : 'D MMMM YYYY', + LLL : 'D MMMM YYYY LT', + LLLL : 'dddd, D MMMM YYYY LT' + }, + calendar : { + sameDay : '[Днес в] LT', + nextDay : '[Утре в] LT', + nextWeek : 'dddd [в] LT', + lastDay : '[Вчера в] LT', + lastWeek : function () { + switch (this.day()) { + case 0: + case 3: + case 6: + return '[В изминалата] dddd [в] LT'; + case 1: + case 2: + case 4: + case 5: + return '[В изминалия] dddd [в] LT'; + } + }, + sameElse : 'L' + }, + relativeTime : { + future : 'след %s', + past : 'преди %s', + s : 'няколко секунди', + m : 'минута', + mm : '%d минути', + h : 'час', + hh : '%d часа', + d : 'ден', + dd : '%d дни', + M : 'месец', + MM : '%d месеца', + y : 'година', + yy : '%d години' + }, + ordinalParse: /\d{1,2}-(ев|ен|ти|ви|ри|ми)/, + ordinal : function (number) { + var lastDigit = number % 10, + last2Digits = number % 100; + if (number === 0) { + return number + '-ев'; + } else if (last2Digits === 0) { + return number + '-ен'; + } else if (last2Digits > 10 && last2Digits < 20) { + return number + '-ти'; + } else if (lastDigit === 1) { + return number + '-ви'; + } else if (lastDigit === 2) { + return number + '-ри'; + } else if (lastDigit === 7 || lastDigit === 8) { + return number + '-ми'; + } else { + return number + '-ти'; + } + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 7 // The week that contains Jan 1st is the first week of the year. + } + }); + })); + + +/***/ }, +/* 28 */ +/***/ function(module, exports, __webpack_require__) { + + var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration // locale : Bengali (bn) // author : Kaushik Gandhi : https://github.com/kaushikgandhi (function (factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD } else if (typeof exports === 'object') { module.exports = factory(require('../moment')); // Node } else { @@ -5681,7 +5744,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 27 */ +/* 29 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration @@ -5690,7 +5753,7 @@ return /******/ (function(modules) { // webpackBootstrap (function (factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD } else if (typeof exports === 'object') { module.exports = factory(require('../moment')); // Node } else { @@ -5791,7 +5854,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 28 */ +/* 30 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration @@ -5800,7 +5863,7 @@ return /******/ (function(modules) { // webpackBootstrap (function (factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD } else if (typeof exports === 'object') { module.exports = factory(require('../moment')); // Node } else { @@ -5906,7 +5969,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 29 */ +/* 31 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration @@ -5916,7 +5979,7 @@ return /******/ (function(modules) { // webpackBootstrap (function (factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD } else if (typeof exports === 'object') { module.exports = factory(require('../moment')); // Node } else { @@ -6052,7 +6115,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 30 */ +/* 32 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration @@ -6061,7 +6124,7 @@ return /******/ (function(modules) { // webpackBootstrap (function (factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD } else if (typeof exports === 'object') { module.exports = factory(require('../moment')); // Node } else { @@ -6135,7 +6198,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 31 */ +/* 33 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration @@ -6144,7 +6207,7 @@ return /******/ (function(modules) { // webpackBootstrap (function (factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD } else if (typeof exports === 'object') { module.exports = factory(require('../moment')); // Node } else { @@ -6298,7 +6361,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 32 */ +/* 34 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration @@ -6307,7 +6370,7 @@ return /******/ (function(modules) { // webpackBootstrap (function (factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD } else if (typeof exports === 'object') { module.exports = factory(require('../moment')); // Node } else { @@ -6365,7 +6428,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 33 */ +/* 35 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration @@ -6374,7 +6437,7 @@ return /******/ (function(modules) { // webpackBootstrap (function (factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD } else if (typeof exports === 'object') { module.exports = factory(require('../moment')); // Node } else { @@ -6450,7 +6513,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 34 */ +/* 36 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration @@ -6459,7 +6522,7 @@ return /******/ (function(modules) { // webpackBootstrap (function (factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD } else if (typeof exports === 'object') { module.exports = factory(require('../moment')); // Node } else { @@ -6514,7 +6577,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 35 */ +/* 37 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration @@ -6525,7 +6588,7 @@ return /******/ (function(modules) { // webpackBootstrap (function (factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD } else if (typeof exports === 'object') { module.exports = factory(require('../moment')); // Node } else { @@ -6594,7 +6657,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 36 */ +/* 38 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration @@ -6604,7 +6667,7 @@ return /******/ (function(modules) { // webpackBootstrap (function (factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD } else if (typeof exports === 'object') { module.exports = factory(require('../moment')); // Node } else { @@ -6673,7 +6736,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 37 */ +/* 39 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration @@ -6682,7 +6745,7 @@ return /******/ (function(modules) { // webpackBootstrap (function (factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD } else if (typeof exports === 'object') { module.exports = factory(require('../moment')); // Node } else { @@ -6773,7 +6836,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 38 */ +/* 40 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration @@ -6781,7 +6844,7 @@ return /******/ (function(modules) { // webpackBootstrap (function (factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD } else if (typeof exports === 'object') { module.exports = factory(require('../moment')); // Node } else { @@ -6843,7 +6906,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 39 */ +/* 41 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration @@ -6852,7 +6915,7 @@ return /******/ (function(modules) { // webpackBootstrap (function (factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD } else if (typeof exports === 'object') { module.exports = factory(require('../moment')); // Node } else { @@ -6910,7 +6973,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 40 */ +/* 42 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration @@ -6919,7 +6982,7 @@ return /******/ (function(modules) { // webpackBootstrap (function (factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD } else if (typeof exports === 'object') { module.exports = factory(require('../moment')); // Node } else { @@ -6981,7 +7044,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 41 */ +/* 43 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration @@ -6992,7 +7055,7 @@ return /******/ (function(modules) { // webpackBootstrap (function (factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD } else if (typeof exports === 'object') { module.exports = factory(require('../moment')); // Node } else { @@ -7054,7 +7117,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 42 */ +/* 44 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration @@ -7063,7 +7126,7 @@ return /******/ (function(modules) { // webpackBootstrap (function (factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD } else if (typeof exports === 'object') { module.exports = factory(require('../moment')); // Node } else { @@ -7137,7 +7200,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 43 */ +/* 45 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration @@ -7147,7 +7210,7 @@ return /******/ (function(modules) { // webpackBootstrap (function (factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD } else if (typeof exports === 'object') { module.exports = factory(require('../moment')); // Node } else { @@ -7221,7 +7284,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 44 */ +/* 46 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration @@ -7230,7 +7293,7 @@ return /******/ (function(modules) { // webpackBootstrap (function (factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD } else if (typeof exports === 'object') { module.exports = factory(require('../moment')); // Node } else { @@ -7289,7 +7352,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 45 */ +/* 47 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration @@ -7298,7 +7361,7 @@ return /******/ (function(modules) { // webpackBootstrap (function (factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD } else if (typeof exports === 'object') { module.exports = factory(require('../moment')); // Node } else { @@ -7394,7 +7457,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 46 */ +/* 48 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration @@ -7403,7 +7466,7 @@ return /******/ (function(modules) { // webpackBootstrap (function (factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD } else if (typeof exports === 'object') { module.exports = factory(require('../moment')); // Node } else { @@ -7507,7 +7570,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 47 */ +/* 49 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration @@ -7516,7 +7579,7 @@ return /******/ (function(modules) { // webpackBootstrap (function (factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD } else if (typeof exports === 'object') { module.exports = factory(require('../moment')); // Node } else { @@ -7571,7 +7634,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 48 */ +/* 50 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration @@ -7580,7 +7643,7 @@ return /******/ (function(modules) { // webpackBootstrap (function (factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD } else if (typeof exports === 'object') { module.exports = factory(require('../moment')); // Node } else { @@ -7633,7 +7696,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 49 */ +/* 51 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration @@ -7642,7 +7705,7 @@ return /******/ (function(modules) { // webpackBootstrap (function (factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD } else if (typeof exports === 'object') { module.exports = factory(require('../moment')); // Node } else { @@ -7699,7 +7762,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 50 */ +/* 52 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration @@ -7708,7 +7771,7 @@ return /******/ (function(modules) { // webpackBootstrap (function (factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD } else if (typeof exports === 'object') { module.exports = factory(require('../moment')); // Node } else { @@ -7778,7 +7841,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 51 */ +/* 53 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration @@ -7789,7 +7852,7 @@ return /******/ (function(modules) { // webpackBootstrap (function (factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD } else if (typeof exports === 'object') { module.exports = factory(require('../moment')); // Node } else { @@ -7862,7 +7925,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 52 */ +/* 54 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration @@ -7871,7 +7934,7 @@ return /******/ (function(modules) { // webpackBootstrap (function (factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD } else if (typeof exports === 'object') { module.exports = factory(require('../moment')); // Node } else { @@ -7974,7 +8037,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 53 */ +/* 55 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration @@ -7985,7 +8048,7 @@ return /******/ (function(modules) { // webpackBootstrap (function (factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD } else if (typeof exports === 'object') { module.exports = factory(require('../moment')); // Node } else { @@ -8121,7 +8184,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 54 */ +/* 56 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration @@ -8130,7 +8193,7 @@ return /******/ (function(modules) { // webpackBootstrap (function (factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD } else if (typeof exports === 'object') { module.exports = factory(require('../moment')); // Node } else { @@ -8234,7 +8297,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 55 */ +/* 57 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration @@ -8243,7 +8306,7 @@ return /******/ (function(modules) { // webpackBootstrap (function (factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD } else if (typeof exports === 'object') { module.exports = factory(require('../moment')); // Node } else { @@ -8354,7 +8417,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 56 */ +/* 58 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration @@ -8364,7 +8427,7 @@ return /******/ (function(modules) { // webpackBootstrap (function (factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD } else if (typeof exports === 'object') { module.exports = factory(require('../moment')); // Node } else { @@ -8428,7 +8491,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 57 */ +/* 59 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration @@ -8437,7 +8500,7 @@ return /******/ (function(modules) { // webpackBootstrap (function (factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD } else if (typeof exports === 'object') { module.exports = factory(require('../moment')); // Node } else { @@ -8560,7 +8623,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 58 */ +/* 60 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration @@ -8570,7 +8633,7 @@ return /******/ (function(modules) { // webpackBootstrap (function (factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD } else if (typeof exports === 'object') { module.exports = factory(require('../moment')); // Node } else { @@ -8634,7 +8697,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 59 */ +/* 61 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration @@ -8643,7 +8706,7 @@ return /******/ (function(modules) { // webpackBootstrap (function (factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD } else if (typeof exports === 'object') { module.exports = factory(require('../moment')); // Node } else { @@ -8699,7 +8762,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 60 */ +/* 62 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration @@ -8708,7 +8771,7 @@ return /******/ (function(modules) { // webpackBootstrap (function (factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD } else if (typeof exports === 'object') { module.exports = factory(require('../moment')); // Node } else { @@ -8814,7 +8877,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 61 */ +/* 63 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration @@ -8823,7 +8886,7 @@ return /******/ (function(modules) { // webpackBootstrap (function (factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD } else if (typeof exports === 'object') { module.exports = factory(require('../moment')); // Node } else { @@ -8876,7 +8939,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 62 */ +/* 64 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration @@ -8888,7 +8951,7 @@ return /******/ (function(modules) { // webpackBootstrap // - Jeeeyul Lee (function (factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD } else if (typeof exports === 'object') { module.exports = factory(require('../moment')); // Node } else { @@ -8947,7 +9010,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 63 */ +/* 65 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration @@ -8960,7 +9023,7 @@ return /******/ (function(modules) { // webpackBootstrap (function (factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD } else if (typeof exports === 'object') { module.exports = factory(require('../moment')); // Node } else { @@ -9092,7 +9155,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 64 */ +/* 66 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration @@ -9101,7 +9164,7 @@ return /******/ (function(modules) { // webpackBootstrap (function (factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD } else if (typeof exports === 'object') { module.exports = factory(require('../moment')); // Node } else { @@ -9218,7 +9281,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 65 */ +/* 67 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration @@ -9227,7 +9290,7 @@ return /******/ (function(modules) { // webpackBootstrap (function (factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD } else if (typeof exports === 'object') { module.exports = factory(require('../moment')); // Node } else { @@ -9303,7 +9366,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 66 */ +/* 68 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration @@ -9312,7 +9375,7 @@ return /******/ (function(modules) { // webpackBootstrap (function (factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD } else if (typeof exports === 'object') { module.exports = factory(require('../moment')); // Node } else { @@ -9397,7 +9460,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 67 */ +/* 69 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration @@ -9406,7 +9469,7 @@ return /******/ (function(modules) { // webpackBootstrap (function (factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD } else if (typeof exports === 'object') { module.exports = factory(require('../moment')); // Node } else { @@ -9468,7 +9531,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 68 */ +/* 70 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration @@ -9477,7 +9540,7 @@ return /******/ (function(modules) { // webpackBootstrap (function (factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD } else if (typeof exports === 'object') { module.exports = factory(require('../moment')); // Node } else { @@ -9579,7 +9642,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 69 */ +/* 71 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration @@ -9588,7 +9651,7 @@ return /******/ (function(modules) { // webpackBootstrap (function (factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD } else if (typeof exports === 'object') { module.exports = factory(require('../moment')); // Node } else { @@ -9652,7 +9715,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 70 */ +/* 72 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration @@ -9661,7 +9724,7 @@ return /******/ (function(modules) { // webpackBootstrap (function (factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD } else if (typeof exports === 'object') { module.exports = factory(require('../moment')); // Node } else { @@ -9747,7 +9810,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 71 */ +/* 73 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration @@ -9757,7 +9820,7 @@ return /******/ (function(modules) { // webpackBootstrap (function (factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD } else if (typeof exports === 'object') { module.exports = factory(require('../moment')); // Node } else { @@ -9812,7 +9875,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 72 */ +/* 74 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration @@ -9821,7 +9884,7 @@ return /******/ (function(modules) { // webpackBootstrap (function (factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD } else if (typeof exports === 'object') { module.exports = factory(require('../moment')); // Node } else { @@ -9924,7 +9987,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 73 */ +/* 75 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration @@ -9933,7 +9996,7 @@ return /******/ (function(modules) { // webpackBootstrap (function (factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD } else if (typeof exports === 'object') { module.exports = factory(require('../moment')); // Node } else { @@ -9999,7 +10062,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 74 */ +/* 76 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration @@ -10008,7 +10071,7 @@ return /******/ (function(modules) { // webpackBootstrap (function (factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD } else if (typeof exports === 'object') { module.exports = factory(require('../moment')); // Node } else { @@ -10063,7 +10126,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 75 */ +/* 77 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration @@ -10072,7 +10135,7 @@ return /******/ (function(modules) { // webpackBootstrap (function (factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD } else if (typeof exports === 'object') { module.exports = factory(require('../moment')); // Node } else { @@ -10169,7 +10232,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 76 */ +/* 78 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration @@ -10178,7 +10241,7 @@ return /******/ (function(modules) { // webpackBootstrap (function (factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD } else if (typeof exports === 'object') { module.exports = factory(require('../moment')); // Node } else { @@ -10233,7 +10296,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 77 */ +/* 79 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration @@ -10242,7 +10305,7 @@ return /******/ (function(modules) { // webpackBootstrap (function (factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD } else if (typeof exports === 'object') { module.exports = factory(require('../moment')); // Node } else { @@ -10301,7 +10364,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 78 */ +/* 80 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration @@ -10311,7 +10374,7 @@ return /******/ (function(modules) { // webpackBootstrap (function (factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD } else if (typeof exports === 'object') { module.exports = factory(require('../moment')); // Node } else { @@ -10380,7 +10443,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 79 */ +/* 81 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration @@ -10390,7 +10453,7 @@ return /******/ (function(modules) { // webpackBootstrap (function (factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD } else if (typeof exports === 'object') { module.exports = factory(require('../moment')); // Node } else { @@ -10562,7 +10625,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 80 */ +/* 82 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration @@ -10572,7 +10635,7 @@ return /******/ (function(modules) { // webpackBootstrap (function (factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD } else if (typeof exports === 'object') { module.exports = factory(require('../moment')); // Node } else { @@ -10726,7 +10789,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 81 */ +/* 83 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration @@ -10735,7 +10798,7 @@ return /******/ (function(modules) { // webpackBootstrap (function (factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD } else if (typeof exports === 'object') { module.exports = factory(require('../moment')); // Node } else { @@ -10878,7 +10941,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 82 */ +/* 84 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration @@ -10889,7 +10952,7 @@ return /******/ (function(modules) { // webpackBootstrap (function (factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD } else if (typeof exports === 'object') { module.exports = factory(require('../moment')); // Node } else { @@ -10947,7 +11010,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 83 */ +/* 85 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration @@ -10956,7 +11019,7 @@ return /******/ (function(modules) { // webpackBootstrap (function (factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD } else if (typeof exports === 'object') { module.exports = factory(require('../moment')); // Node } else { @@ -11060,7 +11123,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 84 */ +/* 86 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration @@ -11069,7 +11132,7 @@ return /******/ (function(modules) { // webpackBootstrap (function (factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD } else if (typeof exports === 'object') { module.exports = factory(require('../moment')); // Node } else { @@ -11173,7 +11236,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 85 */ +/* 87 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration @@ -11182,7 +11245,7 @@ return /******/ (function(modules) { // webpackBootstrap (function (factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD } else if (typeof exports === 'object') { module.exports = factory(require('../moment')); // Node } else { @@ -11244,7 +11307,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 86 */ +/* 88 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration @@ -11253,7 +11316,7 @@ return /******/ (function(modules) { // webpackBootstrap (function (factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD } else if (typeof exports === 'object') { module.exports = factory(require('../moment')); // Node } else { @@ -11364,7 +11427,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 87 */ +/* 89 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration @@ -11373,7 +11436,7 @@ return /******/ (function(modules) { // webpackBootstrap (function (factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD } else if (typeof exports === 'object') { module.exports = factory(require('../moment')); // Node } else { @@ -11429,7 +11492,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 88 */ +/* 90 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration @@ -11438,7 +11501,7 @@ return /******/ (function(modules) { // webpackBootstrap (function (factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD } else if (typeof exports === 'object') { module.exports = factory(require('../moment')); // Node } else { @@ -11495,7 +11558,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 89 */ +/* 91 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration @@ -11505,7 +11568,7 @@ return /******/ (function(modules) { // webpackBootstrap (function (factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD } else if (typeof exports === 'object') { module.exports = factory(require('../moment')); // Node } else { @@ -11595,7 +11658,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 90 */ +/* 92 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration @@ -11604,7 +11667,7 @@ return /******/ (function(modules) { // webpackBootstrap (function (factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD } else if (typeof exports === 'object') { module.exports = factory(require('../moment')); // Node } else { @@ -11657,7 +11720,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 91 */ +/* 93 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration @@ -11666,7 +11729,7 @@ return /******/ (function(modules) { // webpackBootstrap (function (factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD } else if (typeof exports === 'object') { module.exports = factory(require('../moment')); // Node } else { @@ -11719,7 +11782,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 92 */ +/* 94 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration @@ -11729,7 +11792,7 @@ return /******/ (function(modules) { // webpackBootstrap (function (factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD } else if (typeof exports === 'object') { module.exports = factory(require('../moment')); // Node } else { @@ -11884,7 +11947,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 93 */ +/* 95 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration @@ -11893,7 +11956,7 @@ return /******/ (function(modules) { // webpackBootstrap (function (factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD } else if (typeof exports === 'object') { module.exports = factory(require('../moment')); // Node } else { @@ -11946,7 +12009,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 94 */ +/* 96 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration @@ -11955,7 +12018,7 @@ return /******/ (function(modules) { // webpackBootstrap (function (factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD } else if (typeof exports === 'object') { module.exports = factory(require('../moment')); // Node } else { @@ -12016,7 +12079,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 95 */ +/* 97 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration @@ -12026,7 +12089,7 @@ return /******/ (function(modules) { // webpackBootstrap (function (factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD } else if (typeof exports === 'object') { module.exports = factory(require('../moment')); // Node } else { @@ -12132,7 +12195,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 96 */ +/* 98 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// moment.js locale configuration @@ -12141,7 +12204,7 @@ return /******/ (function(modules) { // webpackBootstrap (function (factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(7)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); // AMD } else if (typeof exports === 'object') { module.exports = factory(require('../moment')); // Node } else { @@ -12224,7 +12287,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 97 */ +/* 99 */ /***/ function(module, exports, __webpack_require__) { module.exports = function(module) { @@ -12240,7 +12303,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 98 */ +/* 100 */ /***/ function(module, exports, __webpack_require__) { /** @@ -12257,11 +12320,11 @@ return /******/ (function(modules) { // webpackBootstrap "use strict"; - var DOMProperty = __webpack_require__(121); + var DOMProperty = __webpack_require__(135); - var escapeTextForBrowser = __webpack_require__(122); - var memoizeStringOnly = __webpack_require__(123); - var warning = __webpack_require__(124); + var escapeTextForBrowser = __webpack_require__(136); + var memoizeStringOnly = __webpack_require__(137); + var warning = __webpack_require__(138); function shouldIgnoreValue(name, value) { return value == null || @@ -12439,7 +12502,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 99 */ +/* 101 */ /***/ function(module, exports, __webpack_require__) { /** @@ -12455,9 +12518,9 @@ return /******/ (function(modules) { // webpackBootstrap "use strict"; - var EventConstants = __webpack_require__(125); + var EventConstants = __webpack_require__(131); - var invariant = __webpack_require__(126); + var invariant = __webpack_require__(132); /** * Injected dependencies: @@ -12662,7 +12725,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 100 */ +/* 102 */ /***/ function(module, exports, __webpack_require__) { /** @@ -12678,10 +12741,10 @@ return /******/ (function(modules) { // webpackBootstrap "use strict"; - var PooledClass = __webpack_require__(140); + var PooledClass = __webpack_require__(139); - var traverseAllChildren = __webpack_require__(141); - var warning = __webpack_require__(124); + var traverseAllChildren = __webpack_require__(140); + var warning = __webpack_require__(138); var twoArgumentPooler = PooledClass.twoArgumentPooler; var threeArgumentPooler = PooledClass.threeArgumentPooler; @@ -12814,7 +12877,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 101 */ +/* 103 */ /***/ function(module, exports, __webpack_require__) { /** @@ -12830,13 +12893,13 @@ return /******/ (function(modules) { // webpackBootstrap "use strict"; - var ReactElement = __webpack_require__(105); - var ReactOwner = __webpack_require__(127); - var ReactUpdates = __webpack_require__(128); + var ReactElement = __webpack_require__(107); + var ReactOwner = __webpack_require__(133); + var ReactUpdates = __webpack_require__(127); - var assign = __webpack_require__(118); - var invariant = __webpack_require__(126); - var keyMirror = __webpack_require__(129); + var assign = __webpack_require__(120); + var invariant = __webpack_require__(132); + var keyMirror = __webpack_require__(134); /** * Every React component is in one of these life cycles. @@ -13259,7 +13322,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 102 */ +/* 104 */ /***/ function(module, exports, __webpack_require__) { /** @@ -13275,30 +13338,30 @@ return /******/ (function(modules) { // webpackBootstrap "use strict"; - var ReactComponent = __webpack_require__(101); - var ReactContext = __webpack_require__(103); - var ReactCurrentOwner = __webpack_require__(104); - var ReactElement = __webpack_require__(105); - var ReactElementValidator = __webpack_require__(106); - var ReactEmptyComponent = __webpack_require__(130); - var ReactErrorUtils = __webpack_require__(131); - var ReactLegacyElement = __webpack_require__(111); - var ReactOwner = __webpack_require__(127); - var ReactPerf = __webpack_require__(114); - var ReactPropTransferer = __webpack_require__(132); - var ReactPropTypeLocations = __webpack_require__(133); - var ReactPropTypeLocationNames = __webpack_require__(134); - var ReactUpdates = __webpack_require__(128); - - var assign = __webpack_require__(118); - var instantiateReactComponent = __webpack_require__(135); - var invariant = __webpack_require__(126); - var keyMirror = __webpack_require__(129); - var keyOf = __webpack_require__(136); - var monitorCodeUse = __webpack_require__(137); - var mapObject = __webpack_require__(138); - var shouldUpdateReactComponent = __webpack_require__(139); - var warning = __webpack_require__(124); + var ReactComponent = __webpack_require__(103); + var ReactContext = __webpack_require__(105); + var ReactCurrentOwner = __webpack_require__(106); + var ReactElement = __webpack_require__(107); + var ReactElementValidator = __webpack_require__(108); + var ReactEmptyComponent = __webpack_require__(141); + var ReactErrorUtils = __webpack_require__(142); + var ReactLegacyElement = __webpack_require__(113); + var ReactOwner = __webpack_require__(133); + var ReactPerf = __webpack_require__(116); + var ReactPropTransferer = __webpack_require__(143); + var ReactPropTypeLocations = __webpack_require__(144); + var ReactPropTypeLocationNames = __webpack_require__(145); + var ReactUpdates = __webpack_require__(127); + + var assign = __webpack_require__(120); + var instantiateReactComponent = __webpack_require__(146); + var invariant = __webpack_require__(132); + var keyMirror = __webpack_require__(134); + var keyOf = __webpack_require__(147); + var monitorCodeUse = __webpack_require__(148); + var mapObject = __webpack_require__(149); + var shouldUpdateReactComponent = __webpack_require__(150); + var warning = __webpack_require__(138); var MIXINS_KEY = keyOf({mixins: null}); @@ -14559,958 +14622,1447 @@ return /******/ (function(modules) { // webpackBootstrap }, /** - * Binds a method to the component. + * Binds a method to the component. + * + * @param {function} method Method to be bound. + * @private + */ + _bindAutoBindMethod: function(method) { + var component = this; + var boundMethod = method.bind(component); + if (false) { + boundMethod.__reactBoundContext = component; + boundMethod.__reactBoundMethod = method; + boundMethod.__reactBoundArguments = null; + var componentName = component.constructor.displayName; + var _bind = boundMethod.bind; + boundMethod.bind = function(newThis ) {for (var args=[],$__0=1,$__1=arguments.length;$__0<$__1;$__0++) args.push(arguments[$__0]); + // User is trying to bind() an autobound method; we effectively will + // ignore the value of "this" that the user is trying to use, so + // let's warn. + if (newThis !== component && newThis !== null) { + monitorCodeUse('react_bind_warning', { component: componentName }); + console.warn( + 'bind(): React component methods may only be bound to the ' + + 'component instance. See ' + componentName + ); + } else if (!args.length) { + monitorCodeUse('react_bind_warning', { component: componentName }); + console.warn( + 'bind(): You are binding a component method to the component. ' + + 'React does this for you automatically in a high-performance ' + + 'way, so you can safely remove this call. See ' + componentName + ); + return boundMethod; + } + var reboundMethod = _bind.apply(boundMethod, arguments); + reboundMethod.__reactBoundContext = component; + reboundMethod.__reactBoundMethod = method; + reboundMethod.__reactBoundArguments = args; + return reboundMethod; + }; + } + return boundMethod; + } + }; + + var ReactCompositeComponentBase = function() {}; + assign( + ReactCompositeComponentBase.prototype, + ReactComponent.Mixin, + ReactOwner.Mixin, + ReactPropTransferer.Mixin, + ReactCompositeComponentMixin + ); + + /** + * Module for creating composite components. + * + * @class ReactCompositeComponent + * @extends ReactComponent + * @extends ReactOwner + * @extends ReactPropTransferer + */ + var ReactCompositeComponent = { + + LifeCycle: CompositeLifeCycle, + + Base: ReactCompositeComponentBase, + + /** + * Creates a composite component class given a class specification. + * + * @param {object} spec Class specification (which must define `render`). + * @return {function} Component constructor function. + * @public + */ + createClass: function(spec) { + var Constructor = function(props) { + // This constructor is overridden by mocks. The argument is used + // by mocks to assert on what gets mounted. This will later be used + // by the stand-alone class implementation. + }; + Constructor.prototype = new ReactCompositeComponentBase(); + Constructor.prototype.constructor = Constructor; + + injectedMixins.forEach( + mixSpecIntoComponent.bind(null, Constructor) + ); + + mixSpecIntoComponent(Constructor, spec); + + // Initialize the defaultProps property after all mixins have been merged + if (Constructor.getDefaultProps) { + Constructor.defaultProps = Constructor.getDefaultProps(); + } + + (false ? invariant( + Constructor.prototype.render, + 'createClass(...): Class specification must implement a `render` method.' + ) : invariant(Constructor.prototype.render)); + + if (false) { + if (Constructor.prototype.componentShouldUpdate) { + monitorCodeUse( + 'react_component_should_update_warning', + { component: spec.displayName } + ); + console.warn( + (spec.displayName || 'A component') + ' has a method called ' + + 'componentShouldUpdate(). Did you mean shouldComponentUpdate()? ' + + 'The name is phrased as a question because the function is ' + + 'expected to return a value.' + ); + } + } + + // Reduce time spent doing lookups by setting these on the prototype. + for (var methodName in ReactCompositeComponentInterface) { + if (!Constructor.prototype[methodName]) { + Constructor.prototype[methodName] = null; + } + } + + if (false) { + return ReactLegacyElement.wrapFactory( + ReactElementValidator.createFactory(Constructor) + ); + } + return ReactLegacyElement.wrapFactory( + ReactElement.createFactory(Constructor) + ); + }, + + injection: { + injectMixin: function(mixin) { + injectedMixins.push(mixin); + } + } + }; + + module.exports = ReactCompositeComponent; + + +/***/ }, +/* 105 */ +/***/ function(module, exports, __webpack_require__) { + + /** + * Copyright 2013-2014, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule ReactContext + */ + + "use strict"; + + var assign = __webpack_require__(120); + + /** + * Keeps track of the current context. + * + * The context is automatically passed down the component ownership hierarchy + * and is accessible via `this.context` on ReactCompositeComponents. + */ + var ReactContext = { + + /** + * @internal + * @type {object} + */ + current: {}, + + /** + * Temporarily extends the current context while executing scopedCallback. * - * @param {function} method Method to be bound. - * @private + * A typical use case might look like + * + * render: function() { + * var children = ReactContext.withContext({foo: 'foo'}, () => ( + * + * )); + * return
{children}
; + * } + * + * @param {object} newContext New context to merge into the existing context + * @param {function} scopedCallback Callback to run with the new context + * @return {ReactComponent|array} */ - _bindAutoBindMethod: function(method) { - var component = this; - var boundMethod = method.bind(component); - if (false) { - boundMethod.__reactBoundContext = component; - boundMethod.__reactBoundMethod = method; - boundMethod.__reactBoundArguments = null; - var componentName = component.constructor.displayName; - var _bind = boundMethod.bind; - boundMethod.bind = function(newThis ) {for (var args=[],$__0=1,$__1=arguments.length;$__0<$__1;$__0++) args.push(arguments[$__0]); - // User is trying to bind() an autobound method; we effectively will - // ignore the value of "this" that the user is trying to use, so - // let's warn. - if (newThis !== component && newThis !== null) { - monitorCodeUse('react_bind_warning', { component: componentName }); - console.warn( - 'bind(): React component methods may only be bound to the ' + - 'component instance. See ' + componentName - ); - } else if (!args.length) { - monitorCodeUse('react_bind_warning', { component: componentName }); - console.warn( - 'bind(): You are binding a component method to the component. ' + - 'React does this for you automatically in a high-performance ' + - 'way, so you can safely remove this call. See ' + componentName - ); - return boundMethod; - } - var reboundMethod = _bind.apply(boundMethod, arguments); - reboundMethod.__reactBoundContext = component; - reboundMethod.__reactBoundMethod = method; - reboundMethod.__reactBoundArguments = args; - return reboundMethod; - }; + withContext: function(newContext, scopedCallback) { + var result; + var previousContext = ReactContext.current; + ReactContext.current = assign({}, previousContext, newContext); + try { + result = scopedCallback(); + } finally { + ReactContext.current = previousContext; } - return boundMethod; + return result; } + }; - var ReactCompositeComponentBase = function() {}; - assign( - ReactCompositeComponentBase.prototype, - ReactComponent.Mixin, - ReactOwner.Mixin, - ReactPropTransferer.Mixin, - ReactCompositeComponentMixin - ); + module.exports = ReactContext; + + +/***/ }, +/* 106 */ +/***/ function(module, exports, __webpack_require__) { /** - * Module for creating composite components. + * Copyright 2013-2014, Facebook, Inc. + * All rights reserved. * - * @class ReactCompositeComponent - * @extends ReactComponent - * @extends ReactOwner - * @extends ReactPropTransferer + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule ReactCurrentOwner */ - var ReactCompositeComponent = { - LifeCycle: CompositeLifeCycle, + "use strict"; - Base: ReactCompositeComponentBase, + /** + * Keeps track of the current owner. + * + * The current owner is the component who should own any components that are + * currently being constructed. + * + * The depth indicate how many composite components are above this render level. + */ + var ReactCurrentOwner = { /** - * Creates a composite component class given a class specification. - * - * @param {object} spec Class specification (which must define `render`). - * @return {function} Component constructor function. - * @public + * @internal + * @type {ReactComponent} */ - createClass: function(spec) { - var Constructor = function(props) { - // This constructor is overridden by mocks. The argument is used - // by mocks to assert on what gets mounted. This will later be used - // by the stand-alone class implementation. + current: null + + }; + + module.exports = ReactCurrentOwner; + + +/***/ }, +/* 107 */ +/***/ function(module, exports, __webpack_require__) { + + /** + * Copyright 2014, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule ReactElement + */ + + "use strict"; + + var ReactContext = __webpack_require__(105); + var ReactCurrentOwner = __webpack_require__(106); + + var warning = __webpack_require__(138); + + var RESERVED_PROPS = { + key: true, + ref: true + }; + + /** + * Warn for mutations. + * + * @internal + * @param {object} object + * @param {string} key + */ + function defineWarningProperty(object, key) { + Object.defineProperty(object, key, { + + configurable: false, + enumerable: true, + + get: function() { + if (!this._store) { + return null; + } + return this._store[key]; + }, + + set: function(value) { + (false ? warning( + false, + 'Don\'t set the ' + key + ' property of the component. ' + + 'Mutate the existing props object instead.' + ) : null); + this._store[key] = value; + } + + }); + } + + /** + * This is updated to true if the membrane is successfully created. + */ + var useMutationMembrane = false; + + /** + * Warn for mutations. + * + * @internal + * @param {object} element + */ + function defineMutationMembrane(prototype) { + try { + var pseudoFrozenProperties = { + props: true }; - Constructor.prototype = new ReactCompositeComponentBase(); - Constructor.prototype.constructor = Constructor; + for (var key in pseudoFrozenProperties) { + defineWarningProperty(prototype, key); + } + useMutationMembrane = true; + } catch (x) { + // IE will fail on defineProperty + } + } + + /** + * Base constructor for all React elements. This is only used to make this + * work with a dynamic instanceof check. Nothing should live on this prototype. + * + * @param {*} type + * @param {string|object} ref + * @param {*} key + * @param {*} props + * @internal + */ + var ReactElement = function(type, key, ref, owner, context, props) { + // Built-in properties that belong on the element + this.type = type; + this.key = key; + this.ref = ref; + + // Record the component responsible for creating this element. + this._owner = owner; + + // TODO: Deprecate withContext, and then the context becomes accessible + // through the owner. + this._context = context; + + if (false) { + // The validation flag and props are currently mutative. We put them on + // an external backing store so that we can freeze the whole object. + // This can be replaced with a WeakMap once they are implemented in + // commonly used development environments. + this._store = { validated: false, props: props }; + + // We're not allowed to set props directly on the object so we early + // return and rely on the prototype membrane to forward to the backing + // store. + if (useMutationMembrane) { + Object.freeze(this); + return; + } + } + + this.props = props; + }; + + // We intentionally don't expose the function on the constructor property. + // ReactElement should be indistinguishable from a plain object. + ReactElement.prototype = { + _isReactElement: true + }; - injectedMixins.forEach( - mixSpecIntoComponent.bind(null, Constructor) - ); + if (false) { + defineMutationMembrane(ReactElement.prototype); + } - mixSpecIntoComponent(Constructor, spec); + ReactElement.createElement = function(type, config, children) { + var propName; - // Initialize the defaultProps property after all mixins have been merged - if (Constructor.getDefaultProps) { - Constructor.defaultProps = Constructor.getDefaultProps(); - } + // Reserved names are extracted + var props = {}; - (false ? invariant( - Constructor.prototype.render, - 'createClass(...): Class specification must implement a `render` method.' - ) : invariant(Constructor.prototype.render)); + var key = null; + var ref = null; + if (config != null) { + ref = config.ref === undefined ? null : config.ref; if (false) { - if (Constructor.prototype.componentShouldUpdate) { - monitorCodeUse( - 'react_component_should_update_warning', - { component: spec.displayName } - ); - console.warn( - (spec.displayName || 'A component') + ' has a method called ' + - 'componentShouldUpdate(). Did you mean shouldComponentUpdate()? ' + - 'The name is phrased as a question because the function is ' + - 'expected to return a value.' - ); - } + ("production" !== process.env.NODE_ENV ? warning( + config.key !== null, + 'createElement(...): Encountered component with a `key` of null. In ' + + 'a future version, this will be treated as equivalent to the string ' + + '\'null\'; instead, provide an explicit key or use undefined.' + ) : null); } - - // Reduce time spent doing lookups by setting these on the prototype. - for (var methodName in ReactCompositeComponentInterface) { - if (!Constructor.prototype[methodName]) { - Constructor.prototype[methodName] = null; + // TODO: Change this back to `config.key === undefined` + key = config.key == null ? null : '' + config.key; + // Remaining properties are added to a new props object + for (propName in config) { + if (config.hasOwnProperty(propName) && + !RESERVED_PROPS.hasOwnProperty(propName)) { + props[propName] = config[propName]; } } + } - if (false) { - return ReactLegacyElement.wrapFactory( - ReactElementValidator.createFactory(Constructor) - ); + // Children can be more than one argument, and those are transferred onto + // the newly allocated props object. + var childrenLength = arguments.length - 2; + if (childrenLength === 1) { + props.children = children; + } else if (childrenLength > 1) { + var childArray = Array(childrenLength); + for (var i = 0; i < childrenLength; i++) { + childArray[i] = arguments[i + 2]; } - return ReactLegacyElement.wrapFactory( - ReactElement.createFactory(Constructor) - ); - }, + props.children = childArray; + } - injection: { - injectMixin: function(mixin) { - injectedMixins.push(mixin); + // Resolve default props + if (type.defaultProps) { + var defaultProps = type.defaultProps; + for (propName in defaultProps) { + if (typeof props[propName] === 'undefined') { + props[propName] = defaultProps[propName]; + } } } + + return new ReactElement( + type, + key, + ref, + ReactCurrentOwner.current, + ReactContext.current, + props + ); }; - module.exports = ReactCompositeComponent; + ReactElement.createFactory = function(type) { + var factory = ReactElement.createElement.bind(null, type); + // Expose the type on the factory and the prototype so that it can be + // easily accessed on elements. E.g. .type === Foo.type. + // This should not be named `constructor` since this may not be the function + // that created the element, and it may not even be a constructor. + factory.type = type; + return factory; + }; + + ReactElement.cloneAndReplaceProps = function(oldElement, newProps) { + var newElement = new ReactElement( + oldElement.type, + oldElement.key, + oldElement.ref, + oldElement._owner, + oldElement._context, + newProps + ); + + if (false) { + // If the key on the original is valid, then the clone is valid + newElement._store.validated = oldElement._store.validated; + } + return newElement; + }; + + /** + * @param {?object} object + * @return {boolean} True if `object` is a valid component. + * @final + */ + ReactElement.isValidElement = function(object) { + // ReactTestUtils is often used outside of beforeEach where as React is + // within it. This leads to two different instances of React on the same + // page. To identify a element from a different React instance we use + // a flag instead of an instanceof check. + var isElement = !!(object && object._isReactElement); + // if (isElement && !(object instanceof ReactElement)) { + // This is an indicator that you're using multiple versions of React at the + // same time. This will screw with ownership and stuff. Fix it, please. + // TODO: We could possibly warn here. + // } + return isElement; + }; + + module.exports = ReactElement; /***/ }, -/* 103 */ +/* 108 */ /***/ function(module, exports, __webpack_require__) { /** - * Copyright 2013-2014, Facebook, Inc. + * Copyright 2014, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule ReactContext + * @providesModule ReactElementValidator */ - "use strict"; - - var assign = __webpack_require__(118); - /** - * Keeps track of the current context. - * - * The context is automatically passed down the component ownership hierarchy - * and is accessible via `this.context` on ReactCompositeComponents. + * ReactElementValidator provides a wrapper around a element factory + * which validates the props passed to the element. This is intended to be + * used only in DEV and could be replaced by a static type checker for languages + * that support it. */ - var ReactContext = { - /** - * @internal - * @type {object} - */ - current: {}, + "use strict"; - /** - * Temporarily extends the current context while executing scopedCallback. - * - * A typical use case might look like - * - * render: function() { - * var children = ReactContext.withContext({foo: 'foo'}, () => ( - * - * )); - * return
{children}
; - * } - * - * @param {object} newContext New context to merge into the existing context - * @param {function} scopedCallback Callback to run with the new context - * @return {ReactComponent|array} - */ - withContext: function(newContext, scopedCallback) { - var result; - var previousContext = ReactContext.current; - ReactContext.current = assign({}, previousContext, newContext); - try { - result = scopedCallback(); - } finally { - ReactContext.current = previousContext; - } - return result; - } + var ReactElement = __webpack_require__(107); + var ReactPropTypeLocations = __webpack_require__(144); + var ReactCurrentOwner = __webpack_require__(106); - }; + var monitorCodeUse = __webpack_require__(148); - module.exports = ReactContext; + /** + * Warn if there's no key explicitly set on dynamic arrays of children or + * object keys are not valid. This allows us to keep track of children between + * updates. + */ + var ownerHasKeyUseWarning = { + 'react_key_warning': {}, + 'react_numeric_key_warning': {} + }; + var ownerHasMonitoredObjectMap = {}; + var loggedTypeFailures = {}; -/***/ }, -/* 104 */ -/***/ function(module, exports, __webpack_require__) { + var NUMERIC_PROPERTY_REGEX = /^\d+$/; /** - * Copyright 2013-2014, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. + * Gets the current owner's displayName for use in warnings. * - * @providesModule ReactCurrentOwner + * @internal + * @return {?string} Display name or undefined */ - - "use strict"; + function getCurrentOwnerDisplayName() { + var current = ReactCurrentOwner.current; + return current && current.constructor.displayName || undefined; + } /** - * Keeps track of the current owner. - * - * The current owner is the component who should own any components that are - * currently being constructed. + * Warn if the component doesn't have an explicit key assigned to it. + * This component is in an array. The array could grow and shrink or be + * reordered. All children that haven't already been validated are required to + * have a "key" property assigned to it. * - * The depth indicate how many composite components are above this render level. + * @internal + * @param {ReactComponent} component Component that requires a key. + * @param {*} parentType component's parent's type. */ - var ReactCurrentOwner = { - - /** - * @internal - * @type {ReactComponent} - */ - current: null - - }; - - module.exports = ReactCurrentOwner; - - -/***/ }, -/* 105 */ -/***/ function(module, exports, __webpack_require__) { + function validateExplicitKey(component, parentType) { + if (component._store.validated || component.key != null) { + return; + } + component._store.validated = true; + + warnAndMonitorForKeyUse( + 'react_key_warning', + 'Each child in an array should have a unique "key" prop.', + component, + parentType + ); + } /** - * Copyright 2014, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. + * Warn if the key is being defined as an object property but has an incorrect + * value. * - * @providesModule ReactElement + * @internal + * @param {string} name Property name of the key. + * @param {ReactComponent} component Component that requires a key. + * @param {*} parentType component's parent's type. */ - - "use strict"; - - var ReactContext = __webpack_require__(103); - var ReactCurrentOwner = __webpack_require__(104); - - var warning = __webpack_require__(124); - - var RESERVED_PROPS = { - key: true, - ref: true - }; + function validatePropertyKey(name, component, parentType) { + if (!NUMERIC_PROPERTY_REGEX.test(name)) { + return; + } + warnAndMonitorForKeyUse( + 'react_numeric_key_warning', + 'Child objects should have non-numeric keys so ordering is preserved.', + component, + parentType + ); + } /** - * Warn for mutations. + * Shared warning and monitoring code for the key warnings. * * @internal - * @param {object} object - * @param {string} key + * @param {string} warningID The id used when logging. + * @param {string} message The base warning that gets output. + * @param {ReactComponent} component Component that requires a key. + * @param {*} parentType component's parent's type. */ - function defineWarningProperty(object, key) { - Object.defineProperty(object, key, { + function warnAndMonitorForKeyUse(warningID, message, component, parentType) { + var ownerName = getCurrentOwnerDisplayName(); + var parentName = parentType.displayName; - configurable: false, - enumerable: true, + var useName = ownerName || parentName; + var memoizer = ownerHasKeyUseWarning[warningID]; + if (memoizer.hasOwnProperty(useName)) { + return; + } + memoizer[useName] = true; - get: function() { - if (!this._store) { - return null; - } - return this._store[key]; - }, + message += ownerName ? + (" Check the render method of " + ownerName + ".") : + (" Check the renderComponent call using <" + parentName + ">."); - set: function(value) { - (false ? warning( - false, - 'Don\'t set the ' + key + ' property of the component. ' + - 'Mutate the existing props object instead.' - ) : null); - this._store[key] = value; - } + // Usually the current owner is the offender, but if it accepts children as a + // property, it may be the creator of the child that's responsible for + // assigning it a key. + var childOwnerName = null; + if (component._owner && component._owner !== ReactCurrentOwner.current) { + // Name of the component that originally created this child. + childOwnerName = component._owner.constructor.displayName; + + message += (" It was passed a child from " + childOwnerName + "."); + } + message += ' See http://fb.me/react-warning-keys for more information.'; + monitorCodeUse(warningID, { + component: useName, + componentOwner: childOwnerName }); + console.warn(message); } /** - * This is updated to true if the membrane is successfully created. + * Log that we're using an object map. We're considering deprecating this + * feature and replace it with proper Map and ImmutableMap data structures. + * + * @internal */ - var useMutationMembrane = false; + function monitorUseOfObjectMap() { + var currentName = getCurrentOwnerDisplayName() || ''; + if (ownerHasMonitoredObjectMap.hasOwnProperty(currentName)) { + return; + } + ownerHasMonitoredObjectMap[currentName] = true; + monitorCodeUse('react_object_map_children'); + } /** - * Warn for mutations. + * Ensure that every component either is passed in a static location, in an + * array with an explicit keys property defined, or in an object literal + * with valid key property. * * @internal - * @param {object} element + * @param {*} component Statically passed child of any type. + * @param {*} parentType component's parent's type. + * @return {boolean} */ - function defineMutationMembrane(prototype) { - try { - var pseudoFrozenProperties = { - props: true - }; - for (var key in pseudoFrozenProperties) { - defineWarningProperty(prototype, key); + function validateChildKeys(component, parentType) { + if (Array.isArray(component)) { + for (var i = 0; i < component.length; i++) { + var child = component[i]; + if (ReactElement.isValidElement(child)) { + validateExplicitKey(child, parentType); + } + } + } else if (ReactElement.isValidElement(component)) { + // This component was passed in a valid location. + component._store.validated = true; + } else if (component && typeof component === 'object') { + monitorUseOfObjectMap(); + for (var name in component) { + validatePropertyKey(name, component[name], parentType); } - useMutationMembrane = true; - } catch (x) { - // IE will fail on defineProperty } } /** - * Base constructor for all React elements. This is only used to make this - * work with a dynamic instanceof check. Nothing should live on this prototype. + * Assert that the props are valid * - * @param {*} type - * @param {string|object} ref - * @param {*} key - * @param {*} props - * @internal + * @param {string} componentName Name of the component for error messages. + * @param {object} propTypes Map of prop name to a ReactPropType + * @param {object} props + * @param {string} location e.g. "prop", "context", "child context" + * @private */ - var ReactElement = function(type, key, ref, owner, context, props) { - // Built-in properties that belong on the element - this.type = type; - this.key = key; - this.ref = ref; - - // Record the component responsible for creating this element. - this._owner = owner; - - // TODO: Deprecate withContext, and then the context becomes accessible - // through the owner. - this._context = context; - - if (false) { - // The validation flag and props are currently mutative. We put them on - // an external backing store so that we can freeze the whole object. - // This can be replaced with a WeakMap once they are implemented in - // commonly used development environments. - this._store = { validated: false, props: props }; - - // We're not allowed to set props directly on the object so we early - // return and rely on the prototype membrane to forward to the backing - // store. - if (useMutationMembrane) { - Object.freeze(this); - return; + function checkPropTypes(componentName, propTypes, props, location) { + for (var propName in propTypes) { + if (propTypes.hasOwnProperty(propName)) { + var error; + // Prop type validation may throw. In case they do, we don't want to + // fail the render phase where it didn't fail before. So we log it. + // After these have been cleaned up, we'll let them throw. + try { + error = propTypes[propName](props, propName, componentName, location); + } catch (ex) { + error = ex; + } + if (error instanceof Error && !(error.message in loggedTypeFailures)) { + // Only monitor this failure once because there tends to be a lot of the + // same error. + loggedTypeFailures[error.message] = true; + // This will soon use the warning module + monitorCodeUse( + 'react_failed_descriptor_type_check', + { message: error.message } + ); + } } } - - this.props = props; - }; - - // We intentionally don't expose the function on the constructor property. - // ReactElement should be indistinguishable from a plain object. - ReactElement.prototype = { - _isReactElement: true - }; - - if (false) { - defineMutationMembrane(ReactElement.prototype); } - ReactElement.createElement = function(type, config, children) { - var propName; - - // Reserved names are extracted - var props = {}; - - var key = null; - var ref = null; + var ReactElementValidator = { - if (config != null) { - ref = config.ref === undefined ? null : config.ref; - if (false) { - ("production" !== process.env.NODE_ENV ? warning( - config.key !== null, - 'createElement(...): Encountered component with a `key` of null. In ' + - 'a future version, this will be treated as equivalent to the string ' + - '\'null\'; instead, provide an explicit key or use undefined.' - ) : null); - } - // TODO: Change this back to `config.key === undefined` - key = config.key == null ? null : '' + config.key; - // Remaining properties are added to a new props object - for (propName in config) { - if (config.hasOwnProperty(propName) && - !RESERVED_PROPS.hasOwnProperty(propName)) { - props[propName] = config[propName]; - } - } - } + createElement: function(type, props, children) { + var element = ReactElement.createElement.apply(this, arguments); - // Children can be more than one argument, and those are transferred onto - // the newly allocated props object. - var childrenLength = arguments.length - 2; - if (childrenLength === 1) { - props.children = children; - } else if (childrenLength > 1) { - var childArray = Array(childrenLength); - for (var i = 0; i < childrenLength; i++) { - childArray[i] = arguments[i + 2]; + // The result can be nullish if a mock or a custom function is used. + // TODO: Drop this when these are no longer allowed as the type argument. + if (element == null) { + return element; } - props.children = childArray; - } - // Resolve default props - if (type.defaultProps) { - var defaultProps = type.defaultProps; - for (propName in defaultProps) { - if (typeof props[propName] === 'undefined') { - props[propName] = defaultProps[propName]; - } + for (var i = 2; i < arguments.length; i++) { + validateChildKeys(arguments[i], type); + } + + var name = type.displayName; + if (type.propTypes) { + checkPropTypes( + name, + type.propTypes, + element.props, + ReactPropTypeLocations.prop + ); + } + if (type.contextTypes) { + checkPropTypes( + name, + type.contextTypes, + element._context, + ReactPropTypeLocations.context + ); } + return element; + }, + + createFactory: function(type) { + var validatedFactory = ReactElementValidator.createElement.bind( + null, + type + ); + validatedFactory.type = type; + return validatedFactory; } - return new ReactElement( - type, - key, - ref, - ReactCurrentOwner.current, - ReactContext.current, - props - ); }; - ReactElement.createFactory = function(type) { - var factory = ReactElement.createElement.bind(null, type); - // Expose the type on the factory and the prototype so that it can be - // easily accessed on elements. E.g. .type === Foo.type. - // This should not be named `constructor` since this may not be the function - // that created the element, and it may not even be a constructor. - factory.type = type; - return factory; - }; + module.exports = ReactElementValidator; - ReactElement.cloneAndReplaceProps = function(oldElement, newProps) { - var newElement = new ReactElement( - oldElement.type, - oldElement.key, - oldElement.ref, - oldElement._owner, - oldElement._context, - newProps - ); +/***/ }, +/* 109 */ +/***/ function(module, exports, __webpack_require__) { + + /** + * Copyright 2013-2014, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule ReactDOM + * @typechecks static-only + */ + + "use strict"; + + var ReactElement = __webpack_require__(107); + var ReactElementValidator = __webpack_require__(108); + var ReactLegacyElement = __webpack_require__(113); + + var mapObject = __webpack_require__(149); + + /** + * Create a factory that creates HTML tag elements. + * + * @param {string} tag Tag name (e.g. `div`). + * @private + */ + function createDOMFactory(tag) { if (false) { - // If the key on the original is valid, then the clone is valid - newElement._store.validated = oldElement._store.validated; + return ReactLegacyElement.markNonLegacyFactory( + ReactElementValidator.createFactory(tag) + ); } - return newElement; - }; + return ReactLegacyElement.markNonLegacyFactory( + ReactElement.createFactory(tag) + ); + } /** - * @param {?object} object - * @return {boolean} True if `object` is a valid component. - * @final + * Creates a mapping from supported HTML tags to `ReactDOMComponent` classes. + * This is also accessible via `React.DOM`. + * + * @public */ - ReactElement.isValidElement = function(object) { - // ReactTestUtils is often used outside of beforeEach where as React is - // within it. This leads to two different instances of React on the same - // page. To identify a element from a different React instance we use - // a flag instead of an instanceof check. - var isElement = !!(object && object._isReactElement); - // if (isElement && !(object instanceof ReactElement)) { - // This is an indicator that you're using multiple versions of React at the - // same time. This will screw with ownership and stuff. Fix it, please. - // TODO: We could possibly warn here. - // } - return isElement; - }; + var ReactDOM = mapObject({ + a: 'a', + abbr: 'abbr', + address: 'address', + area: 'area', + article: 'article', + aside: 'aside', + audio: 'audio', + b: 'b', + base: 'base', + bdi: 'bdi', + bdo: 'bdo', + big: 'big', + blockquote: 'blockquote', + body: 'body', + br: 'br', + button: 'button', + canvas: 'canvas', + caption: 'caption', + cite: 'cite', + code: 'code', + col: 'col', + colgroup: 'colgroup', + data: 'data', + datalist: 'datalist', + dd: 'dd', + del: 'del', + details: 'details', + dfn: 'dfn', + dialog: 'dialog', + div: 'div', + dl: 'dl', + dt: 'dt', + em: 'em', + embed: 'embed', + fieldset: 'fieldset', + figcaption: 'figcaption', + figure: 'figure', + footer: 'footer', + form: 'form', + h1: 'h1', + h2: 'h2', + h3: 'h3', + h4: 'h4', + h5: 'h5', + h6: 'h6', + head: 'head', + header: 'header', + hr: 'hr', + html: 'html', + i: 'i', + iframe: 'iframe', + img: 'img', + input: 'input', + ins: 'ins', + kbd: 'kbd', + keygen: 'keygen', + label: 'label', + legend: 'legend', + li: 'li', + link: 'link', + main: 'main', + map: 'map', + mark: 'mark', + menu: 'menu', + menuitem: 'menuitem', + meta: 'meta', + meter: 'meter', + nav: 'nav', + noscript: 'noscript', + object: 'object', + ol: 'ol', + optgroup: 'optgroup', + option: 'option', + output: 'output', + p: 'p', + param: 'param', + picture: 'picture', + pre: 'pre', + progress: 'progress', + q: 'q', + rp: 'rp', + rt: 'rt', + ruby: 'ruby', + s: 's', + samp: 'samp', + script: 'script', + section: 'section', + select: 'select', + small: 'small', + source: 'source', + span: 'span', + strong: 'strong', + style: 'style', + sub: 'sub', + summary: 'summary', + sup: 'sup', + table: 'table', + tbody: 'tbody', + td: 'td', + textarea: 'textarea', + tfoot: 'tfoot', + th: 'th', + thead: 'thead', + time: 'time', + title: 'title', + tr: 'tr', + track: 'track', + u: 'u', + ul: 'ul', + 'var': 'var', + video: 'video', + wbr: 'wbr', + + // SVG + circle: 'circle', + defs: 'defs', + ellipse: 'ellipse', + g: 'g', + line: 'line', + linearGradient: 'linearGradient', + mask: 'mask', + path: 'path', + pattern: 'pattern', + polygon: 'polygon', + polyline: 'polyline', + radialGradient: 'radialGradient', + rect: 'rect', + stop: 'stop', + svg: 'svg', + text: 'text', + tspan: 'tspan' - module.exports = ReactElement; + }, createDOMFactory); + + module.exports = ReactDOM; /***/ }, -/* 106 */ +/* 110 */ /***/ function(module, exports, __webpack_require__) { /** - * Copyright 2014, Facebook, Inc. + * Copyright 2013-2014, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule ReactElementValidator - */ - - /** - * ReactElementValidator provides a wrapper around a element factory - * which validates the props passed to the element. This is intended to be - * used only in DEV and could be replaced by a static type checker for languages - * that support it. + * @providesModule ReactDOMComponent + * @typechecks static-only */ "use strict"; - var ReactElement = __webpack_require__(105); - var ReactPropTypeLocations = __webpack_require__(133); - var ReactCurrentOwner = __webpack_require__(104); - - var monitorCodeUse = __webpack_require__(137); + var CSSPropertyOperations = __webpack_require__(151); + var DOMProperty = __webpack_require__(135); + var DOMPropertyOperations = __webpack_require__(100); + var ReactBrowserComponentMixin = __webpack_require__(152); + var ReactComponent = __webpack_require__(103); + var ReactBrowserEventEmitter = __webpack_require__(153); + var ReactMount = __webpack_require__(114); + var ReactMultiChild = __webpack_require__(115); + var ReactPerf = __webpack_require__(116); + + var assign = __webpack_require__(120); + var escapeTextForBrowser = __webpack_require__(136); + var invariant = __webpack_require__(132); + var isEventSupported = __webpack_require__(154); + var keyOf = __webpack_require__(147); + var monitorCodeUse = __webpack_require__(148); - /** - * Warn if there's no key explicitly set on dynamic arrays of children or - * object keys are not valid. This allows us to keep track of children between - * updates. - */ - var ownerHasKeyUseWarning = { - 'react_key_warning': {}, - 'react_numeric_key_warning': {} - }; - var ownerHasMonitoredObjectMap = {}; + var deleteListener = ReactBrowserEventEmitter.deleteListener; + var listenTo = ReactBrowserEventEmitter.listenTo; + var registrationNameModules = ReactBrowserEventEmitter.registrationNameModules; - var loggedTypeFailures = {}; + // For quickly matching children type, to test if can be treated as content. + var CONTENT_TYPES = {'string': true, 'number': true}; - var NUMERIC_PROPERTY_REGEX = /^\d+$/; + var STYLE = keyOf({style: null}); - /** - * Gets the current owner's displayName for use in warnings. - * - * @internal - * @return {?string} Display name or undefined - */ - function getCurrentOwnerDisplayName() { - var current = ReactCurrentOwner.current; - return current && current.constructor.displayName || undefined; - } + var ELEMENT_NODE_TYPE = 1; /** - * Warn if the component doesn't have an explicit key assigned to it. - * This component is in an array. The array could grow and shrink or be - * reordered. All children that haven't already been validated are required to - * have a "key" property assigned to it. - * - * @internal - * @param {ReactComponent} component Component that requires a key. - * @param {*} parentType component's parent's type. + * @param {?object} props */ - function validateExplicitKey(component, parentType) { - if (component._store.validated || component.key != null) { + function assertValidProps(props) { + if (!props) { return; } - component._store.validated = true; + // Note the use of `==` which checks for null or undefined. + (false ? invariant( + props.children == null || props.dangerouslySetInnerHTML == null, + 'Can only set one of `children` or `props.dangerouslySetInnerHTML`.' + ) : invariant(props.children == null || props.dangerouslySetInnerHTML == null)); + if (false) { + if (props.contentEditable && props.children != null) { + console.warn( + 'A component is `contentEditable` and contains `children` managed by ' + + 'React. It is now your responsibility to guarantee that none of those '+ + 'nodes are unexpectedly modified or duplicated. This is probably not ' + + 'intentional.' + ); + } + } + (false ? invariant( + props.style == null || typeof props.style === 'object', + 'The `style` prop expects a mapping from style properties to values, ' + + 'not a string.' + ) : invariant(props.style == null || typeof props.style === 'object')); + } - warnAndMonitorForKeyUse( - 'react_key_warning', - 'Each child in an array should have a unique "key" prop.', - component, - parentType + function putListener(id, registrationName, listener, transaction) { + if (false) { + // IE8 has no API for event capturing and the `onScroll` event doesn't + // bubble. + if (registrationName === 'onScroll' && + !isEventSupported('scroll', true)) { + monitorCodeUse('react_no_scroll_event'); + console.warn('This browser doesn\'t support the `onScroll` event'); + } + } + var container = ReactMount.findReactContainerForID(id); + if (container) { + var doc = container.nodeType === ELEMENT_NODE_TYPE ? + container.ownerDocument : + container; + listenTo(registrationName, doc); + } + transaction.getPutListenerQueue().enqueuePutListener( + id, + registrationName, + listener ); } - /** - * Warn if the key is being defined as an object property but has an incorrect - * value. - * - * @internal - * @param {string} name Property name of the key. - * @param {ReactComponent} component Component that requires a key. - * @param {*} parentType component's parent's type. - */ - function validatePropertyKey(name, component, parentType) { - if (!NUMERIC_PROPERTY_REGEX.test(name)) { - return; + // For HTML, certain tags should omit their close tag. We keep a whitelist for + // those special cased tags. + + var omittedCloseTags = { + 'area': true, + 'base': true, + 'br': true, + 'col': true, + 'embed': true, + 'hr': true, + 'img': true, + 'input': true, + 'keygen': true, + 'link': true, + 'meta': true, + 'param': true, + 'source': true, + 'track': true, + 'wbr': true + // NOTE: menuitem's close tag should be omitted, but that causes problems. + }; + + // We accept any tag to be rendered but since this gets injected into abitrary + // HTML, we want to make sure that it's a safe tag. + // http://www.w3.org/TR/REC-xml/#NT-Name + + var VALID_TAG_REGEX = /^[a-zA-Z][a-zA-Z:_\.\-\d]*$/; // Simplified subset + var validatedTagCache = {}; + var hasOwnProperty = {}.hasOwnProperty; + + function validateDangerousTag(tag) { + if (!hasOwnProperty.call(validatedTagCache, tag)) { + (false ? invariant(VALID_TAG_REGEX.test(tag), 'Invalid tag: %s', tag) : invariant(VALID_TAG_REGEX.test(tag))); + validatedTagCache[tag] = true; } - warnAndMonitorForKeyUse( - 'react_numeric_key_warning', - 'Child objects should have non-numeric keys so ordering is preserved.', - component, - parentType - ); } /** - * Shared warning and monitoring code for the key warnings. + * Creates a new React class that is idempotent and capable of containing other + * React components. It accepts event listeners and DOM properties that are + * valid according to `DOMProperty`. * - * @internal - * @param {string} warningID The id used when logging. - * @param {string} message The base warning that gets output. - * @param {ReactComponent} component Component that requires a key. - * @param {*} parentType component's parent's type. + * - Event listeners: `onClick`, `onMouseDown`, etc. + * - DOM properties: `className`, `name`, `title`, etc. + * + * The `style` property functions differently from the DOM API. It accepts an + * object mapping of style properties to values. + * + * @constructor ReactDOMComponent + * @extends ReactComponent + * @extends ReactMultiChild */ - function warnAndMonitorForKeyUse(warningID, message, component, parentType) { - var ownerName = getCurrentOwnerDisplayName(); - var parentName = parentType.displayName; + function ReactDOMComponent(tag) { + validateDangerousTag(tag); + this._tag = tag; + this.tagName = tag.toUpperCase(); + } + + ReactDOMComponent.displayName = 'ReactDOMComponent'; + + ReactDOMComponent.Mixin = { + + /** + * Generates root tag markup then recurses. This method has side effects and + * is not idempotent. + * + * @internal + * @param {string} rootID The root DOM ID for this node. + * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction + * @param {number} mountDepth number of components in the owner hierarchy + * @return {string} The computed markup. + */ + mountComponent: ReactPerf.measure( + 'ReactDOMComponent', + 'mountComponent', + function(rootID, transaction, mountDepth) { + ReactComponent.Mixin.mountComponent.call( + this, + rootID, + transaction, + mountDepth + ); + assertValidProps(this.props); + var closeTag = omittedCloseTags[this._tag] ? '' : ''; + return ( + this._createOpenTagMarkupAndPutListeners(transaction) + + this._createContentMarkup(transaction) + + closeTag + ); + } + ), + + /** + * Creates markup for the open tag and all attributes. + * + * This method has side effects because events get registered. + * + * Iterating over object properties is faster than iterating over arrays. + * @see http://jsperf.com/obj-vs-arr-iteration + * + * @private + * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction + * @return {string} Markup of opening tag. + */ + _createOpenTagMarkupAndPutListeners: function(transaction) { + var props = this.props; + var ret = '<' + this._tag; + + for (var propKey in props) { + if (!props.hasOwnProperty(propKey)) { + continue; + } + var propValue = props[propKey]; + if (propValue == null) { + continue; + } + if (registrationNameModules.hasOwnProperty(propKey)) { + putListener(this._rootNodeID, propKey, propValue, transaction); + } else { + if (propKey === STYLE) { + if (propValue) { + propValue = props.style = assign({}, props.style); + } + propValue = CSSPropertyOperations.createMarkupForStyles(propValue); + } + var markup = + DOMPropertyOperations.createMarkupForProperty(propKey, propValue); + if (markup) { + ret += ' ' + markup; + } + } + } - var useName = ownerName || parentName; - var memoizer = ownerHasKeyUseWarning[warningID]; - if (memoizer.hasOwnProperty(useName)) { - return; - } - memoizer[useName] = true; + // For static pages, no need to put React ID and checksum. Saves lots of + // bytes. + if (transaction.renderToStaticMarkup) { + return ret + '>'; + } - message += ownerName ? - (" Check the render method of " + ownerName + ".") : - (" Check the renderComponent call using <" + parentName + ">."); + var markupForID = DOMPropertyOperations.createMarkupForID(this._rootNodeID); + return ret + ' ' + markupForID + '>'; + }, - // Usually the current owner is the offender, but if it accepts children as a - // property, it may be the creator of the child that's responsible for - // assigning it a key. - var childOwnerName = null; - if (component._owner && component._owner !== ReactCurrentOwner.current) { - // Name of the component that originally created this child. - childOwnerName = component._owner.constructor.displayName; + /** + * Creates markup for the content between the tags. + * + * @private + * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction + * @return {string} Content markup. + */ + _createContentMarkup: function(transaction) { + // Intentional use of != to avoid catching zero/false. + var innerHTML = this.props.dangerouslySetInnerHTML; + if (innerHTML != null) { + if (innerHTML.__html != null) { + return innerHTML.__html; + } + } else { + var contentToUse = + CONTENT_TYPES[typeof this.props.children] ? this.props.children : null; + var childrenToUse = contentToUse != null ? null : this.props.children; + if (contentToUse != null) { + return escapeTextForBrowser(contentToUse); + } else if (childrenToUse != null) { + var mountImages = this.mountChildren( + childrenToUse, + transaction + ); + return mountImages.join(''); + } + } + return ''; + }, - message += (" It was passed a child from " + childOwnerName + "."); - } + receiveComponent: function(nextElement, transaction) { + if (nextElement === this._currentElement && + nextElement._owner != null) { + // Since elements are immutable after the owner is rendered, + // we can do a cheap identity compare here to determine if this is a + // superfluous reconcile. It's possible for state to be mutable but such + // change should trigger an update of the owner which would recreate + // the element. We explicitly check for the existence of an owner since + // it's possible for a element created outside a composite to be + // deeply mutated and reused. + return; + } - message += ' See http://fb.me/react-warning-keys for more information.'; - monitorCodeUse(warningID, { - component: useName, - componentOwner: childOwnerName - }); - console.warn(message); - } + ReactComponent.Mixin.receiveComponent.call( + this, + nextElement, + transaction + ); + }, - /** - * Log that we're using an object map. We're considering deprecating this - * feature and replace it with proper Map and ImmutableMap data structures. - * - * @internal - */ - function monitorUseOfObjectMap() { - var currentName = getCurrentOwnerDisplayName() || ''; - if (ownerHasMonitoredObjectMap.hasOwnProperty(currentName)) { - return; - } - ownerHasMonitoredObjectMap[currentName] = true; - monitorCodeUse('react_object_map_children'); - } + /** + * Updates a native DOM component after it has already been allocated and + * attached to the DOM. Reconciles the root DOM node, then recurses. + * + * @param {ReactReconcileTransaction} transaction + * @param {ReactElement} prevElement + * @internal + * @overridable + */ + updateComponent: ReactPerf.measure( + 'ReactDOMComponent', + 'updateComponent', + function(transaction, prevElement) { + assertValidProps(this._currentElement.props); + ReactComponent.Mixin.updateComponent.call( + this, + transaction, + prevElement + ); + this._updateDOMProperties(prevElement.props, transaction); + this._updateDOMChildren(prevElement.props, transaction); + } + ), - /** - * Ensure that every component either is passed in a static location, in an - * array with an explicit keys property defined, or in an object literal - * with valid key property. - * - * @internal - * @param {*} component Statically passed child of any type. - * @param {*} parentType component's parent's type. - * @return {boolean} - */ - function validateChildKeys(component, parentType) { - if (Array.isArray(component)) { - for (var i = 0; i < component.length; i++) { - var child = component[i]; - if (ReactElement.isValidElement(child)) { - validateExplicitKey(child, parentType); + /** + * Reconciles the properties by detecting differences in property values and + * updating the DOM as necessary. This function is probably the single most + * critical path for performance optimization. + * + * TODO: Benchmark whether checking for changed values in memory actually + * improves performance (especially statically positioned elements). + * TODO: Benchmark the effects of putting this at the top since 99% of props + * do not change for a given reconciliation. + * TODO: Benchmark areas that can be improved with caching. + * + * @private + * @param {object} lastProps + * @param {ReactReconcileTransaction} transaction + */ + _updateDOMProperties: function(lastProps, transaction) { + var nextProps = this.props; + var propKey; + var styleName; + var styleUpdates; + for (propKey in lastProps) { + if (nextProps.hasOwnProperty(propKey) || + !lastProps.hasOwnProperty(propKey)) { + continue; + } + if (propKey === STYLE) { + var lastStyle = lastProps[propKey]; + for (styleName in lastStyle) { + if (lastStyle.hasOwnProperty(styleName)) { + styleUpdates = styleUpdates || {}; + styleUpdates[styleName] = ''; + } + } + } else if (registrationNameModules.hasOwnProperty(propKey)) { + deleteListener(this._rootNodeID, propKey); + } else if ( + DOMProperty.isStandardName[propKey] || + DOMProperty.isCustomAttribute(propKey)) { + ReactComponent.BackendIDOperations.deletePropertyByID( + this._rootNodeID, + propKey + ); } } - } else if (ReactElement.isValidElement(component)) { - // This component was passed in a valid location. - component._store.validated = true; - } else if (component && typeof component === 'object') { - monitorUseOfObjectMap(); - for (var name in component) { - validatePropertyKey(name, component[name], parentType); - } - } - } - - /** - * Assert that the props are valid - * - * @param {string} componentName Name of the component for error messages. - * @param {object} propTypes Map of prop name to a ReactPropType - * @param {object} props - * @param {string} location e.g. "prop", "context", "child context" - * @private - */ - function checkPropTypes(componentName, propTypes, props, location) { - for (var propName in propTypes) { - if (propTypes.hasOwnProperty(propName)) { - var error; - // Prop type validation may throw. In case they do, we don't want to - // fail the render phase where it didn't fail before. So we log it. - // After these have been cleaned up, we'll let them throw. - try { - error = propTypes[propName](props, propName, componentName, location); - } catch (ex) { - error = ex; + for (propKey in nextProps) { + var nextProp = nextProps[propKey]; + var lastProp = lastProps[propKey]; + if (!nextProps.hasOwnProperty(propKey) || nextProp === lastProp) { + continue; } - if (error instanceof Error && !(error.message in loggedTypeFailures)) { - // Only monitor this failure once because there tends to be a lot of the - // same error. - loggedTypeFailures[error.message] = true; - // This will soon use the warning module - monitorCodeUse( - 'react_failed_descriptor_type_check', - { message: error.message } + if (propKey === STYLE) { + if (nextProp) { + nextProp = nextProps.style = assign({}, nextProp); + } + if (lastProp) { + // Unset styles on `lastProp` but not on `nextProp`. + for (styleName in lastProp) { + if (lastProp.hasOwnProperty(styleName) && + (!nextProp || !nextProp.hasOwnProperty(styleName))) { + styleUpdates = styleUpdates || {}; + styleUpdates[styleName] = ''; + } + } + // Update styles that changed since `lastProp`. + for (styleName in nextProp) { + if (nextProp.hasOwnProperty(styleName) && + lastProp[styleName] !== nextProp[styleName]) { + styleUpdates = styleUpdates || {}; + styleUpdates[styleName] = nextProp[styleName]; + } + } + } else { + // Relies on `updateStylesByID` not mutating `styleUpdates`. + styleUpdates = nextProp; + } + } else if (registrationNameModules.hasOwnProperty(propKey)) { + putListener(this._rootNodeID, propKey, nextProp, transaction); + } else if ( + DOMProperty.isStandardName[propKey] || + DOMProperty.isCustomAttribute(propKey)) { + ReactComponent.BackendIDOperations.updatePropertyByID( + this._rootNodeID, + propKey, + nextProp ); } } - } - } - - var ReactElementValidator = { - - createElement: function(type, props, children) { - var element = ReactElement.createElement.apply(this, arguments); - - // The result can be nullish if a mock or a custom function is used. - // TODO: Drop this when these are no longer allowed as the type argument. - if (element == null) { - return element; - } - - for (var i = 2; i < arguments.length; i++) { - validateChildKeys(arguments[i], type); - } - - var name = type.displayName; - if (type.propTypes) { - checkPropTypes( - name, - type.propTypes, - element.props, - ReactPropTypeLocations.prop - ); - } - if (type.contextTypes) { - checkPropTypes( - name, - type.contextTypes, - element._context, - ReactPropTypeLocations.context + if (styleUpdates) { + ReactComponent.BackendIDOperations.updateStylesByID( + this._rootNodeID, + styleUpdates ); } - return element; }, - createFactory: function(type) { - var validatedFactory = ReactElementValidator.createElement.bind( - null, - type - ); - validatedFactory.type = type; - return validatedFactory; - } - - }; - - module.exports = ReactElementValidator; - - -/***/ }, -/* 107 */ -/***/ function(module, exports, __webpack_require__) { + /** + * Reconciles the children with the various properties that affect the + * children content. + * + * @param {object} lastProps + * @param {ReactReconcileTransaction} transaction + */ + _updateDOMChildren: function(lastProps, transaction) { + var nextProps = this.props; - /** - * Copyright 2013-2014, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @providesModule ReactDOM - * @typechecks static-only - */ + var lastContent = + CONTENT_TYPES[typeof lastProps.children] ? lastProps.children : null; + var nextContent = + CONTENT_TYPES[typeof nextProps.children] ? nextProps.children : null; - "use strict"; + var lastHtml = + lastProps.dangerouslySetInnerHTML && + lastProps.dangerouslySetInnerHTML.__html; + var nextHtml = + nextProps.dangerouslySetInnerHTML && + nextProps.dangerouslySetInnerHTML.__html; - var ReactElement = __webpack_require__(105); - var ReactElementValidator = __webpack_require__(106); - var ReactLegacyElement = __webpack_require__(111); + // Note the use of `!=` which checks for null or undefined. + var lastChildren = lastContent != null ? null : lastProps.children; + var nextChildren = nextContent != null ? null : nextProps.children; - var mapObject = __webpack_require__(138); + // If we're switching from children to content/html or vice versa, remove + // the old content + var lastHasContentOrHtml = lastContent != null || lastHtml != null; + var nextHasContentOrHtml = nextContent != null || nextHtml != null; + if (lastChildren != null && nextChildren == null) { + this.updateChildren(null, transaction); + } else if (lastHasContentOrHtml && !nextHasContentOrHtml) { + this.updateTextContent(''); + } - /** - * Create a factory that creates HTML tag elements. - * - * @param {string} tag Tag name (e.g. `div`). - * @private - */ - function createDOMFactory(tag) { - if (false) { - return ReactLegacyElement.markNonLegacyFactory( - ReactElementValidator.createFactory(tag) - ); - } - return ReactLegacyElement.markNonLegacyFactory( - ReactElement.createFactory(tag) - ); - } + if (nextContent != null) { + if (lastContent !== nextContent) { + this.updateTextContent('' + nextContent); + } + } else if (nextHtml != null) { + if (lastHtml !== nextHtml) { + ReactComponent.BackendIDOperations.updateInnerHTMLByID( + this._rootNodeID, + nextHtml + ); + } + } else if (nextChildren != null) { + this.updateChildren(nextChildren, transaction); + } + }, - /** - * Creates a mapping from supported HTML tags to `ReactDOMComponent` classes. - * This is also accessible via `React.DOM`. - * - * @public - */ - var ReactDOM = mapObject({ - a: 'a', - abbr: 'abbr', - address: 'address', - area: 'area', - article: 'article', - aside: 'aside', - audio: 'audio', - b: 'b', - base: 'base', - bdi: 'bdi', - bdo: 'bdo', - big: 'big', - blockquote: 'blockquote', - body: 'body', - br: 'br', - button: 'button', - canvas: 'canvas', - caption: 'caption', - cite: 'cite', - code: 'code', - col: 'col', - colgroup: 'colgroup', - data: 'data', - datalist: 'datalist', - dd: 'dd', - del: 'del', - details: 'details', - dfn: 'dfn', - dialog: 'dialog', - div: 'div', - dl: 'dl', - dt: 'dt', - em: 'em', - embed: 'embed', - fieldset: 'fieldset', - figcaption: 'figcaption', - figure: 'figure', - footer: 'footer', - form: 'form', - h1: 'h1', - h2: 'h2', - h3: 'h3', - h4: 'h4', - h5: 'h5', - h6: 'h6', - head: 'head', - header: 'header', - hr: 'hr', - html: 'html', - i: 'i', - iframe: 'iframe', - img: 'img', - input: 'input', - ins: 'ins', - kbd: 'kbd', - keygen: 'keygen', - label: 'label', - legend: 'legend', - li: 'li', - link: 'link', - main: 'main', - map: 'map', - mark: 'mark', - menu: 'menu', - menuitem: 'menuitem', - meta: 'meta', - meter: 'meter', - nav: 'nav', - noscript: 'noscript', - object: 'object', - ol: 'ol', - optgroup: 'optgroup', - option: 'option', - output: 'output', - p: 'p', - param: 'param', - picture: 'picture', - pre: 'pre', - progress: 'progress', - q: 'q', - rp: 'rp', - rt: 'rt', - ruby: 'ruby', - s: 's', - samp: 'samp', - script: 'script', - section: 'section', - select: 'select', - small: 'small', - source: 'source', - span: 'span', - strong: 'strong', - style: 'style', - sub: 'sub', - summary: 'summary', - sup: 'sup', - table: 'table', - tbody: 'tbody', - td: 'td', - textarea: 'textarea', - tfoot: 'tfoot', - th: 'th', - thead: 'thead', - time: 'time', - title: 'title', - tr: 'tr', - track: 'track', - u: 'u', - ul: 'ul', - 'var': 'var', - video: 'video', - wbr: 'wbr', + /** + * Destroys all event registrations for this instance. Does not remove from + * the DOM. That must be done by the parent. + * + * @internal + */ + unmountComponent: function() { + this.unmountChildren(); + ReactBrowserEventEmitter.deleteAllListeners(this._rootNodeID); + ReactComponent.Mixin.unmountComponent.call(this); + } - // SVG - circle: 'circle', - defs: 'defs', - ellipse: 'ellipse', - g: 'g', - line: 'line', - linearGradient: 'linearGradient', - mask: 'mask', - path: 'path', - pattern: 'pattern', - polygon: 'polygon', - polyline: 'polyline', - radialGradient: 'radialGradient', - rect: 'rect', - stop: 'stop', - svg: 'svg', - text: 'text', - tspan: 'tspan' + }; - }, createDOMFactory); + assign( + ReactDOMComponent.prototype, + ReactComponent.Mixin, + ReactDOMComponent.Mixin, + ReactMultiChild.Mixin, + ReactBrowserComponentMixin + ); - module.exports = ReactDOM; + module.exports = ReactDOMComponent; /***/ }, -/* 108 */ +/* 111 */ /***/ function(module, exports, __webpack_require__) { /** @@ -15521,616 +16073,713 @@ return /******/ (function(modules) { // webpackBootstrap * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule ReactDOMComponent + * @providesModule ReactDefaultInjection + */ + + "use strict"; + + var BeforeInputEventPlugin = __webpack_require__(155); + var ChangeEventPlugin = __webpack_require__(156); + var ClientReactRootIndex = __webpack_require__(157); + var CompositionEventPlugin = __webpack_require__(158); + var DefaultEventPluginOrder = __webpack_require__(159); + var EnterLeaveEventPlugin = __webpack_require__(160); + var ExecutionEnvironment = __webpack_require__(161); + var HTMLDOMPropertyConfig = __webpack_require__(162); + var MobileSafariClickEventPlugin = __webpack_require__(163); + var ReactBrowserComponentMixin = __webpack_require__(152); + var ReactComponentBrowserEnvironment = + __webpack_require__(164); + var ReactDefaultBatchingStrategy = __webpack_require__(165); + var ReactDOMComponent = __webpack_require__(110); + var ReactDOMButton = __webpack_require__(166); + var ReactDOMForm = __webpack_require__(167); + var ReactDOMImg = __webpack_require__(168); + var ReactDOMInput = __webpack_require__(169); + var ReactDOMOption = __webpack_require__(170); + var ReactDOMSelect = __webpack_require__(171); + var ReactDOMTextarea = __webpack_require__(172); + var ReactEventListener = __webpack_require__(173); + var ReactInjection = __webpack_require__(174); + var ReactInstanceHandles = __webpack_require__(112); + var ReactMount = __webpack_require__(114); + var SelectEventPlugin = __webpack_require__(175); + var ServerReactRootIndex = __webpack_require__(176); + var SimpleEventPlugin = __webpack_require__(177); + var SVGDOMPropertyConfig = __webpack_require__(178); + + var createFullPageComponent = __webpack_require__(179); + + function inject() { + ReactInjection.EventEmitter.injectReactEventListener( + ReactEventListener + ); + + /** + * Inject modules for resolving DOM hierarchy and plugin ordering. + */ + ReactInjection.EventPluginHub.injectEventPluginOrder(DefaultEventPluginOrder); + ReactInjection.EventPluginHub.injectInstanceHandle(ReactInstanceHandles); + ReactInjection.EventPluginHub.injectMount(ReactMount); + + /** + * Some important event plugins included by default (without having to require + * them). + */ + ReactInjection.EventPluginHub.injectEventPluginsByName({ + SimpleEventPlugin: SimpleEventPlugin, + EnterLeaveEventPlugin: EnterLeaveEventPlugin, + ChangeEventPlugin: ChangeEventPlugin, + CompositionEventPlugin: CompositionEventPlugin, + MobileSafariClickEventPlugin: MobileSafariClickEventPlugin, + SelectEventPlugin: SelectEventPlugin, + BeforeInputEventPlugin: BeforeInputEventPlugin + }); + + ReactInjection.NativeComponent.injectGenericComponentClass( + ReactDOMComponent + ); + + ReactInjection.NativeComponent.injectComponentClasses({ + 'button': ReactDOMButton, + 'form': ReactDOMForm, + 'img': ReactDOMImg, + 'input': ReactDOMInput, + 'option': ReactDOMOption, + 'select': ReactDOMSelect, + 'textarea': ReactDOMTextarea, + + 'html': createFullPageComponent('html'), + 'head': createFullPageComponent('head'), + 'body': createFullPageComponent('body') + }); + + // This needs to happen after createFullPageComponent() otherwise the mixin + // gets double injected. + ReactInjection.CompositeComponent.injectMixin(ReactBrowserComponentMixin); + + ReactInjection.DOMProperty.injectDOMPropertyConfig(HTMLDOMPropertyConfig); + ReactInjection.DOMProperty.injectDOMPropertyConfig(SVGDOMPropertyConfig); + + ReactInjection.EmptyComponent.injectEmptyComponent('noscript'); + + ReactInjection.Updates.injectReconcileTransaction( + ReactComponentBrowserEnvironment.ReactReconcileTransaction + ); + ReactInjection.Updates.injectBatchingStrategy( + ReactDefaultBatchingStrategy + ); + + ReactInjection.RootIndex.injectCreateReactRootIndex( + ExecutionEnvironment.canUseDOM ? + ClientReactRootIndex.createReactRootIndex : + ServerReactRootIndex.createReactRootIndex + ); + + ReactInjection.Component.injectEnvironment(ReactComponentBrowserEnvironment); + + if (false) { + var url = (ExecutionEnvironment.canUseDOM && window.location.href) || ''; + if ((/[?&]react_perf\b/).test(url)) { + var ReactDefaultPerf = require("./ReactDefaultPerf"); + ReactDefaultPerf.start(); + } + } + } + + module.exports = { + inject: inject + }; + + +/***/ }, +/* 112 */ +/***/ function(module, exports, __webpack_require__) { + + /** + * Copyright 2013-2014, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule ReactInstanceHandles * @typechecks static-only */ "use strict"; - var CSSPropertyOperations = __webpack_require__(142); - var DOMProperty = __webpack_require__(121); - var DOMPropertyOperations = __webpack_require__(98); - var ReactBrowserComponentMixin = __webpack_require__(143); - var ReactComponent = __webpack_require__(101); - var ReactBrowserEventEmitter = __webpack_require__(144); - var ReactMount = __webpack_require__(112); - var ReactMultiChild = __webpack_require__(113); - var ReactPerf = __webpack_require__(114); - - var assign = __webpack_require__(118); - var escapeTextForBrowser = __webpack_require__(122); - var invariant = __webpack_require__(126); - var isEventSupported = __webpack_require__(145); - var keyOf = __webpack_require__(136); - var monitorCodeUse = __webpack_require__(137); + var ReactRootIndex = __webpack_require__(180); - var deleteListener = ReactBrowserEventEmitter.deleteListener; - var listenTo = ReactBrowserEventEmitter.listenTo; - var registrationNameModules = ReactBrowserEventEmitter.registrationNameModules; + var invariant = __webpack_require__(132); - // For quickly matching children type, to test if can be treated as content. - var CONTENT_TYPES = {'string': true, 'number': true}; + var SEPARATOR = '.'; + var SEPARATOR_LENGTH = SEPARATOR.length; - var STYLE = keyOf({style: null}); + /** + * Maximum depth of traversals before we consider the possibility of a bad ID. + */ + var MAX_TREE_DEPTH = 100; - var ELEMENT_NODE_TYPE = 1; + /** + * Creates a DOM ID prefix to use when mounting React components. + * + * @param {number} index A unique integer + * @return {string} React root ID. + * @internal + */ + function getReactRootIDString(index) { + return SEPARATOR + index.toString(36); + } /** - * @param {?object} props + * Checks if a character in the supplied ID is a separator or the end. + * + * @param {string} id A React DOM ID. + * @param {number} index Index of the character to check. + * @return {boolean} True if the character is a separator or end of the ID. + * @private */ - function assertValidProps(props) { - if (!props) { - return; - } - // Note the use of `==` which checks for null or undefined. + function isBoundary(id, index) { + return id.charAt(index) === SEPARATOR || index === id.length; + } + + /** + * Checks if the supplied string is a valid React DOM ID. + * + * @param {string} id A React DOM ID, maybe. + * @return {boolean} True if the string is a valid React DOM ID. + * @private + */ + function isValidID(id) { + return id === '' || ( + id.charAt(0) === SEPARATOR && id.charAt(id.length - 1) !== SEPARATOR + ); + } + + /** + * Checks if the first ID is an ancestor of or equal to the second ID. + * + * @param {string} ancestorID + * @param {string} descendantID + * @return {boolean} True if `ancestorID` is an ancestor of `descendantID`. + * @internal + */ + function isAncestorIDOf(ancestorID, descendantID) { + return ( + descendantID.indexOf(ancestorID) === 0 && + isBoundary(descendantID, ancestorID.length) + ); + } + + /** + * Gets the parent ID of the supplied React DOM ID, `id`. + * + * @param {string} id ID of a component. + * @return {string} ID of the parent, or an empty string. + * @private + */ + function getParentID(id) { + return id ? id.substr(0, id.lastIndexOf(SEPARATOR)) : ''; + } + + /** + * Gets the next DOM ID on the tree path from the supplied `ancestorID` to the + * supplied `destinationID`. If they are equal, the ID is returned. + * + * @param {string} ancestorID ID of an ancestor node of `destinationID`. + * @param {string} destinationID ID of the destination node. + * @return {string} Next ID on the path from `ancestorID` to `destinationID`. + * @private + */ + function getNextDescendantID(ancestorID, destinationID) { (false ? invariant( - props.children == null || props.dangerouslySetInnerHTML == null, - 'Can only set one of `children` or `props.dangerouslySetInnerHTML`.' - ) : invariant(props.children == null || props.dangerouslySetInnerHTML == null)); - if (false) { - if (props.contentEditable && props.children != null) { - console.warn( - 'A component is `contentEditable` and contains `children` managed by ' + - 'React. It is now your responsibility to guarantee that none of those '+ - 'nodes are unexpectedly modified or duplicated. This is probably not ' + - 'intentional.' - ); + isValidID(ancestorID) && isValidID(destinationID), + 'getNextDescendantID(%s, %s): Received an invalid React DOM ID.', + ancestorID, + destinationID + ) : invariant(isValidID(ancestorID) && isValidID(destinationID))); + (false ? invariant( + isAncestorIDOf(ancestorID, destinationID), + 'getNextDescendantID(...): React has made an invalid assumption about ' + + 'the DOM hierarchy. Expected `%s` to be an ancestor of `%s`.', + ancestorID, + destinationID + ) : invariant(isAncestorIDOf(ancestorID, destinationID))); + if (ancestorID === destinationID) { + return ancestorID; + } + // Skip over the ancestor and the immediate separator. Traverse until we hit + // another separator or we reach the end of `destinationID`. + var start = ancestorID.length + SEPARATOR_LENGTH; + for (var i = start; i < destinationID.length; i++) { + if (isBoundary(destinationID, i)) { + break; } } - (false ? invariant( - props.style == null || typeof props.style === 'object', - 'The `style` prop expects a mapping from style properties to values, ' + - 'not a string.' - ) : invariant(props.style == null || typeof props.style === 'object')); + return destinationID.substr(0, i); } - function putListener(id, registrationName, listener, transaction) { - if (false) { - // IE8 has no API for event capturing and the `onScroll` event doesn't - // bubble. - if (registrationName === 'onScroll' && - !isEventSupported('scroll', true)) { - monitorCodeUse('react_no_scroll_event'); - console.warn('This browser doesn\'t support the `onScroll` event'); - } + /** + * Gets the nearest common ancestor ID of two IDs. + * + * Using this ID scheme, the nearest common ancestor ID is the longest common + * prefix of the two IDs that immediately preceded a "marker" in both strings. + * + * @param {string} oneID + * @param {string} twoID + * @return {string} Nearest common ancestor ID, or the empty string if none. + * @private + */ + function getFirstCommonAncestorID(oneID, twoID) { + var minLength = Math.min(oneID.length, twoID.length); + if (minLength === 0) { + return ''; } - var container = ReactMount.findReactContainerForID(id); - if (container) { - var doc = container.nodeType === ELEMENT_NODE_TYPE ? - container.ownerDocument : - container; - listenTo(registrationName, doc); + var lastCommonMarkerIndex = 0; + // Use `<=` to traverse until the "EOL" of the shorter string. + for (var i = 0; i <= minLength; i++) { + if (isBoundary(oneID, i) && isBoundary(twoID, i)) { + lastCommonMarkerIndex = i; + } else if (oneID.charAt(i) !== twoID.charAt(i)) { + break; + } } - transaction.getPutListenerQueue().enqueuePutListener( - id, - registrationName, - listener - ); + var longestCommonID = oneID.substr(0, lastCommonMarkerIndex); + (false ? invariant( + isValidID(longestCommonID), + 'getFirstCommonAncestorID(%s, %s): Expected a valid React DOM ID: %s', + oneID, + twoID, + longestCommonID + ) : invariant(isValidID(longestCommonID))); + return longestCommonID; } - // For HTML, certain tags should omit their close tag. We keep a whitelist for - // those special cased tags. - - var omittedCloseTags = { - 'area': true, - 'base': true, - 'br': true, - 'col': true, - 'embed': true, - 'hr': true, - 'img': true, - 'input': true, - 'keygen': true, - 'link': true, - 'meta': true, - 'param': true, - 'source': true, - 'track': true, - 'wbr': true - // NOTE: menuitem's close tag should be omitted, but that causes problems. - }; - - // We accept any tag to be rendered but since this gets injected into abitrary - // HTML, we want to make sure that it's a safe tag. - // http://www.w3.org/TR/REC-xml/#NT-Name - - var VALID_TAG_REGEX = /^[a-zA-Z][a-zA-Z:_\.\-\d]*$/; // Simplified subset - var validatedTagCache = {}; - var hasOwnProperty = {}.hasOwnProperty; - - function validateDangerousTag(tag) { - if (!hasOwnProperty.call(validatedTagCache, tag)) { - (false ? invariant(VALID_TAG_REGEX.test(tag), 'Invalid tag: %s', tag) : invariant(VALID_TAG_REGEX.test(tag))); - validatedTagCache[tag] = true; + /** + * Traverses the parent path between two IDs (either up or down). The IDs must + * not be the same, and there must exist a parent path between them. If the + * callback returns `false`, traversal is stopped. + * + * @param {?string} start ID at which to start traversal. + * @param {?string} stop ID at which to end traversal. + * @param {function} cb Callback to invoke each ID with. + * @param {?boolean} skipFirst Whether or not to skip the first node. + * @param {?boolean} skipLast Whether or not to skip the last node. + * @private + */ + function traverseParentPath(start, stop, cb, arg, skipFirst, skipLast) { + start = start || ''; + stop = stop || ''; + (false ? invariant( + start !== stop, + 'traverseParentPath(...): Cannot traverse from and to the same ID, `%s`.', + start + ) : invariant(start !== stop)); + var traverseUp = isAncestorIDOf(stop, start); + (false ? invariant( + traverseUp || isAncestorIDOf(start, stop), + 'traverseParentPath(%s, %s, ...): Cannot traverse from two IDs that do ' + + 'not have a parent path.', + start, + stop + ) : invariant(traverseUp || isAncestorIDOf(start, stop))); + // Traverse from `start` to `stop` one depth at a time. + var depth = 0; + var traverse = traverseUp ? getParentID : getNextDescendantID; + for (var id = start; /* until break */; id = traverse(id, stop)) { + var ret; + if ((!skipFirst || id !== start) && (!skipLast || id !== stop)) { + ret = cb(id, traverseUp, arg); + } + if (ret === false || id === stop) { + // Only break //after// visiting `stop`. + break; + } + (false ? invariant( + depth++ < MAX_TREE_DEPTH, + 'traverseParentPath(%s, %s, ...): Detected an infinite loop while ' + + 'traversing the React DOM ID tree. This may be due to malformed IDs: %s', + start, stop + ) : invariant(depth++ < MAX_TREE_DEPTH)); } } /** - * Creates a new React class that is idempotent and capable of containing other - * React components. It accepts event listeners and DOM properties that are - * valid according to `DOMProperty`. - * - * - Event listeners: `onClick`, `onMouseDown`, etc. - * - DOM properties: `className`, `name`, `title`, etc. - * - * The `style` property functions differently from the DOM API. It accepts an - * object mapping of style properties to values. + * Manages the IDs assigned to DOM representations of React components. This + * uses a specific scheme in order to traverse the DOM efficiently (e.g. in + * order to simulate events). * - * @constructor ReactDOMComponent - * @extends ReactComponent - * @extends ReactMultiChild + * @internal */ - function ReactDOMComponent(tag) { - validateDangerousTag(tag); - this._tag = tag; - this.tagName = tag.toUpperCase(); - } - - ReactDOMComponent.displayName = 'ReactDOMComponent'; - - ReactDOMComponent.Mixin = { + var ReactInstanceHandles = { /** - * Generates root tag markup then recurses. This method has side effects and - * is not idempotent. - * - * @internal - * @param {string} rootID The root DOM ID for this node. - * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction - * @param {number} mountDepth number of components in the owner hierarchy - * @return {string} The computed markup. + * Constructs a React root ID + * @return {string} A React root ID. */ - mountComponent: ReactPerf.measure( - 'ReactDOMComponent', - 'mountComponent', - function(rootID, transaction, mountDepth) { - ReactComponent.Mixin.mountComponent.call( - this, - rootID, - transaction, - mountDepth - ); - assertValidProps(this.props); - var closeTag = omittedCloseTags[this._tag] ? '' : ''; - return ( - this._createOpenTagMarkupAndPutListeners(transaction) + - this._createContentMarkup(transaction) + - closeTag - ); - } - ), + createReactRootID: function() { + return getReactRootIDString(ReactRootIndex.createReactRootIndex()); + }, /** - * Creates markup for the open tag and all attributes. - * - * This method has side effects because events get registered. - * - * Iterating over object properties is faster than iterating over arrays. - * @see http://jsperf.com/obj-vs-arr-iteration + * Constructs a React ID by joining a root ID with a name. * - * @private - * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction - * @return {string} Markup of opening tag. - */ - _createOpenTagMarkupAndPutListeners: function(transaction) { - var props = this.props; - var ret = '<' + this._tag; - - for (var propKey in props) { - if (!props.hasOwnProperty(propKey)) { - continue; - } - var propValue = props[propKey]; - if (propValue == null) { - continue; - } - if (registrationNameModules.hasOwnProperty(propKey)) { - putListener(this._rootNodeID, propKey, propValue, transaction); - } else { - if (propKey === STYLE) { - if (propValue) { - propValue = props.style = assign({}, props.style); - } - propValue = CSSPropertyOperations.createMarkupForStyles(propValue); - } - var markup = - DOMPropertyOperations.createMarkupForProperty(propKey, propValue); - if (markup) { - ret += ' ' + markup; - } - } - } - - // For static pages, no need to put React ID and checksum. Saves lots of - // bytes. - if (transaction.renderToStaticMarkup) { - return ret + '>'; - } - - var markupForID = DOMPropertyOperations.createMarkupForID(this._rootNodeID); - return ret + ' ' + markupForID + '>'; + * @param {string} rootID Root ID of a parent component. + * @param {string} name A component's name (as flattened children). + * @return {string} A React ID. + * @internal + */ + createReactID: function(rootID, name) { + return rootID + name; }, /** - * Creates markup for the content between the tags. + * Gets the DOM ID of the React component that is the root of the tree that + * contains the React component with the supplied DOM ID. * - * @private - * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction - * @return {string} Content markup. + * @param {string} id DOM ID of a React component. + * @return {?string} DOM ID of the React component that is the root. + * @internal */ - _createContentMarkup: function(transaction) { - // Intentional use of != to avoid catching zero/false. - var innerHTML = this.props.dangerouslySetInnerHTML; - if (innerHTML != null) { - if (innerHTML.__html != null) { - return innerHTML.__html; - } - } else { - var contentToUse = - CONTENT_TYPES[typeof this.props.children] ? this.props.children : null; - var childrenToUse = contentToUse != null ? null : this.props.children; - if (contentToUse != null) { - return escapeTextForBrowser(contentToUse); - } else if (childrenToUse != null) { - var mountImages = this.mountChildren( - childrenToUse, - transaction - ); - return mountImages.join(''); - } - } - return ''; - }, - - receiveComponent: function(nextElement, transaction) { - if (nextElement === this._currentElement && - nextElement._owner != null) { - // Since elements are immutable after the owner is rendered, - // we can do a cheap identity compare here to determine if this is a - // superfluous reconcile. It's possible for state to be mutable but such - // change should trigger an update of the owner which would recreate - // the element. We explicitly check for the existence of an owner since - // it's possible for a element created outside a composite to be - // deeply mutated and reused. - return; + getReactRootIDFromNodeID: function(id) { + if (id && id.charAt(0) === SEPARATOR && id.length > 1) { + var index = id.indexOf(SEPARATOR, 1); + return index > -1 ? id.substr(0, index) : id; } - - ReactComponent.Mixin.receiveComponent.call( - this, - nextElement, - transaction - ); + return null; }, /** - * Updates a native DOM component after it has already been allocated and - * attached to the DOM. Reconciles the root DOM node, then recurses. + * Traverses the ID hierarchy and invokes the supplied `cb` on any IDs that + * should would receive a `mouseEnter` or `mouseLeave` event. * - * @param {ReactReconcileTransaction} transaction - * @param {ReactElement} prevElement + * NOTE: Does not invoke the callback on the nearest common ancestor because + * nothing "entered" or "left" that element. + * + * @param {string} leaveID ID being left. + * @param {string} enterID ID being entered. + * @param {function} cb Callback to invoke on each entered/left ID. + * @param {*} upArg Argument to invoke the callback with on left IDs. + * @param {*} downArg Argument to invoke the callback with on entered IDs. * @internal - * @overridable */ - updateComponent: ReactPerf.measure( - 'ReactDOMComponent', - 'updateComponent', - function(transaction, prevElement) { - assertValidProps(this._currentElement.props); - ReactComponent.Mixin.updateComponent.call( - this, - transaction, - prevElement - ); - this._updateDOMProperties(prevElement.props, transaction); - this._updateDOMChildren(prevElement.props, transaction); + traverseEnterLeave: function(leaveID, enterID, cb, upArg, downArg) { + var ancestorID = getFirstCommonAncestorID(leaveID, enterID); + if (ancestorID !== leaveID) { + traverseParentPath(leaveID, ancestorID, cb, upArg, false, true); } - ), + if (ancestorID !== enterID) { + traverseParentPath(ancestorID, enterID, cb, downArg, true, false); + } + }, /** - * Reconciles the properties by detecting differences in property values and - * updating the DOM as necessary. This function is probably the single most - * critical path for performance optimization. + * Simulates the traversal of a two-phase, capture/bubble event dispatch. * - * TODO: Benchmark whether checking for changed values in memory actually - * improves performance (especially statically positioned elements). - * TODO: Benchmark the effects of putting this at the top since 99% of props - * do not change for a given reconciliation. - * TODO: Benchmark areas that can be improved with caching. + * NOTE: This traversal happens on IDs without touching the DOM. * - * @private - * @param {object} lastProps - * @param {ReactReconcileTransaction} transaction + * @param {string} targetID ID of the target node. + * @param {function} cb Callback to invoke. + * @param {*} arg Argument to invoke the callback with. + * @internal */ - _updateDOMProperties: function(lastProps, transaction) { - var nextProps = this.props; - var propKey; - var styleName; - var styleUpdates; - for (propKey in lastProps) { - if (nextProps.hasOwnProperty(propKey) || - !lastProps.hasOwnProperty(propKey)) { - continue; - } - if (propKey === STYLE) { - var lastStyle = lastProps[propKey]; - for (styleName in lastStyle) { - if (lastStyle.hasOwnProperty(styleName)) { - styleUpdates = styleUpdates || {}; - styleUpdates[styleName] = ''; - } - } - } else if (registrationNameModules.hasOwnProperty(propKey)) { - deleteListener(this._rootNodeID, propKey); - } else if ( - DOMProperty.isStandardName[propKey] || - DOMProperty.isCustomAttribute(propKey)) { - ReactComponent.BackendIDOperations.deletePropertyByID( - this._rootNodeID, - propKey - ); - } - } - for (propKey in nextProps) { - var nextProp = nextProps[propKey]; - var lastProp = lastProps[propKey]; - if (!nextProps.hasOwnProperty(propKey) || nextProp === lastProp) { - continue; - } - if (propKey === STYLE) { - if (nextProp) { - nextProp = nextProps.style = assign({}, nextProp); - } - if (lastProp) { - // Unset styles on `lastProp` but not on `nextProp`. - for (styleName in lastProp) { - if (lastProp.hasOwnProperty(styleName) && - (!nextProp || !nextProp.hasOwnProperty(styleName))) { - styleUpdates = styleUpdates || {}; - styleUpdates[styleName] = ''; - } - } - // Update styles that changed since `lastProp`. - for (styleName in nextProp) { - if (nextProp.hasOwnProperty(styleName) && - lastProp[styleName] !== nextProp[styleName]) { - styleUpdates = styleUpdates || {}; - styleUpdates[styleName] = nextProp[styleName]; - } - } - } else { - // Relies on `updateStylesByID` not mutating `styleUpdates`. - styleUpdates = nextProp; - } - } else if (registrationNameModules.hasOwnProperty(propKey)) { - putListener(this._rootNodeID, propKey, nextProp, transaction); - } else if ( - DOMProperty.isStandardName[propKey] || - DOMProperty.isCustomAttribute(propKey)) { - ReactComponent.BackendIDOperations.updatePropertyByID( - this._rootNodeID, - propKey, - nextProp - ); - } - } - if (styleUpdates) { - ReactComponent.BackendIDOperations.updateStylesByID( - this._rootNodeID, - styleUpdates - ); + traverseTwoPhase: function(targetID, cb, arg) { + if (targetID) { + traverseParentPath('', targetID, cb, arg, true, false); + traverseParentPath(targetID, '', cb, arg, false, true); } }, /** - * Reconciles the children with the various properties that affect the - * children content. + * Traverse a node ID, calling the supplied `cb` for each ancestor ID. For + * example, passing `.0.$row-0.1` would result in `cb` getting called + * with `.0`, `.0.$row-0`, and `.0.$row-0.1`. * - * @param {object} lastProps - * @param {ReactReconcileTransaction} transaction + * NOTE: This traversal happens on IDs without touching the DOM. + * + * @param {string} targetID ID of the target node. + * @param {function} cb Callback to invoke. + * @param {*} arg Argument to invoke the callback with. + * @internal */ - _updateDOMChildren: function(lastProps, transaction) { - var nextProps = this.props; - - var lastContent = - CONTENT_TYPES[typeof lastProps.children] ? lastProps.children : null; - var nextContent = - CONTENT_TYPES[typeof nextProps.children] ? nextProps.children : null; - - var lastHtml = - lastProps.dangerouslySetInnerHTML && - lastProps.dangerouslySetInnerHTML.__html; - var nextHtml = - nextProps.dangerouslySetInnerHTML && - nextProps.dangerouslySetInnerHTML.__html; - - // Note the use of `!=` which checks for null or undefined. - var lastChildren = lastContent != null ? null : lastProps.children; - var nextChildren = nextContent != null ? null : nextProps.children; - - // If we're switching from children to content/html or vice versa, remove - // the old content - var lastHasContentOrHtml = lastContent != null || lastHtml != null; - var nextHasContentOrHtml = nextContent != null || nextHtml != null; - if (lastChildren != null && nextChildren == null) { - this.updateChildren(null, transaction); - } else if (lastHasContentOrHtml && !nextHasContentOrHtml) { - this.updateTextContent(''); - } - - if (nextContent != null) { - if (lastContent !== nextContent) { - this.updateTextContent('' + nextContent); - } - } else if (nextHtml != null) { - if (lastHtml !== nextHtml) { - ReactComponent.BackendIDOperations.updateInnerHTMLByID( - this._rootNodeID, - nextHtml - ); - } - } else if (nextChildren != null) { - this.updateChildren(nextChildren, transaction); - } + traverseAncestors: function(targetID, cb, arg) { + traverseParentPath('', targetID, cb, arg, true, false); }, /** - * Destroys all event registrations for this instance. Does not remove from - * the DOM. That must be done by the parent. - * - * @internal + * Exposed for unit testing. + * @private + */ + _getFirstCommonAncestorID: getFirstCommonAncestorID, + + /** + * Exposed for unit testing. + * @private */ - unmountComponent: function() { - this.unmountChildren(); - ReactBrowserEventEmitter.deleteAllListeners(this._rootNodeID); - ReactComponent.Mixin.unmountComponent.call(this); - } + _getNextDescendantID: getNextDescendantID, - }; + isAncestorIDOf: isAncestorIDOf, - assign( - ReactDOMComponent.prototype, - ReactComponent.Mixin, - ReactDOMComponent.Mixin, - ReactMultiChild.Mixin, - ReactBrowserComponentMixin - ); + SEPARATOR: SEPARATOR - module.exports = ReactDOMComponent; + }; + + module.exports = ReactInstanceHandles; /***/ }, -/* 109 */ +/* 113 */ /***/ function(module, exports, __webpack_require__) { /** - * Copyright 2013-2014, Facebook, Inc. + * Copyright 2014, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule ReactDefaultInjection + * @providesModule ReactLegacyElement */ "use strict"; - var BeforeInputEventPlugin = __webpack_require__(147); - var ChangeEventPlugin = __webpack_require__(148); - var ClientReactRootIndex = __webpack_require__(149); - var CompositionEventPlugin = __webpack_require__(150); - var DefaultEventPluginOrder = __webpack_require__(151); - var EnterLeaveEventPlugin = __webpack_require__(152); - var ExecutionEnvironment = __webpack_require__(153); - var HTMLDOMPropertyConfig = __webpack_require__(154); - var MobileSafariClickEventPlugin = __webpack_require__(155); - var ReactBrowserComponentMixin = __webpack_require__(143); - var ReactComponentBrowserEnvironment = - __webpack_require__(156); - var ReactDefaultBatchingStrategy = __webpack_require__(157); - var ReactDOMComponent = __webpack_require__(108); - var ReactDOMButton = __webpack_require__(158); - var ReactDOMForm = __webpack_require__(159); - var ReactDOMImg = __webpack_require__(160); - var ReactDOMInput = __webpack_require__(161); - var ReactDOMOption = __webpack_require__(162); - var ReactDOMSelect = __webpack_require__(163); - var ReactDOMTextarea = __webpack_require__(164); - var ReactEventListener = __webpack_require__(165); - var ReactInjection = __webpack_require__(166); - var ReactInstanceHandles = __webpack_require__(110); - var ReactMount = __webpack_require__(112); - var SelectEventPlugin = __webpack_require__(167); - var ServerReactRootIndex = __webpack_require__(168); - var SimpleEventPlugin = __webpack_require__(169); - var SVGDOMPropertyConfig = __webpack_require__(170); - - var createFullPageComponent = __webpack_require__(171); + var ReactCurrentOwner = __webpack_require__(106); - function inject() { - ReactInjection.EventEmitter.injectReactEventListener( - ReactEventListener - ); + var invariant = __webpack_require__(132); + var monitorCodeUse = __webpack_require__(148); + var warning = __webpack_require__(138); - /** - * Inject modules for resolving DOM hierarchy and plugin ordering. - */ - ReactInjection.EventPluginHub.injectEventPluginOrder(DefaultEventPluginOrder); - ReactInjection.EventPluginHub.injectInstanceHandle(ReactInstanceHandles); - ReactInjection.EventPluginHub.injectMount(ReactMount); + var legacyFactoryLogs = {}; + function warnForLegacyFactoryCall() { + if (!ReactLegacyElementFactory._isLegacyCallWarningEnabled) { + return; + } + var owner = ReactCurrentOwner.current; + var name = owner && owner.constructor ? owner.constructor.displayName : ''; + if (!name) { + name = 'Something'; + } + if (legacyFactoryLogs.hasOwnProperty(name)) { + return; + } + legacyFactoryLogs[name] = true; + (false ? warning( + false, + name + ' is calling a React component directly. ' + + 'Use a factory or JSX instead. See: http://fb.me/react-legacyfactory' + ) : null); + monitorCodeUse('react_legacy_factory_call', { version: 3, name: name }); + } - /** - * Some important event plugins included by default (without having to require - * them). - */ - ReactInjection.EventPluginHub.injectEventPluginsByName({ - SimpleEventPlugin: SimpleEventPlugin, - EnterLeaveEventPlugin: EnterLeaveEventPlugin, - ChangeEventPlugin: ChangeEventPlugin, - CompositionEventPlugin: CompositionEventPlugin, - MobileSafariClickEventPlugin: MobileSafariClickEventPlugin, - SelectEventPlugin: SelectEventPlugin, - BeforeInputEventPlugin: BeforeInputEventPlugin - }); + function warnForPlainFunctionType(type) { + var isReactClass = + type.prototype && + typeof type.prototype.mountComponent === 'function' && + typeof type.prototype.receiveComponent === 'function'; + if (isReactClass) { + (false ? warning( + false, + 'Did not expect to get a React class here. Use `Component` instead ' + + 'of `Component.type` or `this.constructor`.' + ) : null); + } else { + if (!type._reactWarnedForThisType) { + try { + type._reactWarnedForThisType = true; + } catch (x) { + // just incase this is a frozen object or some special object + } + monitorCodeUse( + 'react_non_component_in_jsx', + { version: 3, name: type.name } + ); + } + (false ? warning( + false, + 'This JSX uses a plain function. Only React components are ' + + 'valid in React\'s JSX transform.' + ) : null); + } + } - ReactInjection.NativeComponent.injectGenericComponentClass( - ReactDOMComponent - ); + function warnForNonLegacyFactory(type) { + (false ? warning( + false, + 'Do not pass React.DOM.' + type.type + ' to JSX or createFactory. ' + + 'Use the string "' + type.type + '" instead.' + ) : null); + } - ReactInjection.NativeComponent.injectComponentClasses({ - 'button': ReactDOMButton, - 'form': ReactDOMForm, - 'img': ReactDOMImg, - 'input': ReactDOMInput, - 'option': ReactDOMOption, - 'select': ReactDOMSelect, - 'textarea': ReactDOMTextarea, + /** + * Transfer static properties from the source to the target. Functions are + * rebound to have this reflect the original source. + */ + function proxyStaticMethods(target, source) { + if (typeof source !== 'function') { + return; + } + for (var key in source) { + if (source.hasOwnProperty(key)) { + var value = source[key]; + if (typeof value === 'function') { + var bound = value.bind(source); + // Copy any properties defined on the function, such as `isRequired` on + // a PropTypes validator. + for (var k in value) { + if (value.hasOwnProperty(k)) { + bound[k] = value[k]; + } + } + target[key] = bound; + } else { + target[key] = value; + } + } + } + } - 'html': createFullPageComponent('html'), - 'head': createFullPageComponent('head'), - 'body': createFullPageComponent('body') - }); + // We use an object instead of a boolean because booleans are ignored by our + // mocking libraries when these factories gets mocked. + var LEGACY_MARKER = {}; + var NON_LEGACY_MARKER = {}; - // This needs to happen after createFullPageComponent() otherwise the mixin - // gets double injected. - ReactInjection.CompositeComponent.injectMixin(ReactBrowserComponentMixin); + var ReactLegacyElementFactory = {}; - ReactInjection.DOMProperty.injectDOMPropertyConfig(HTMLDOMPropertyConfig); - ReactInjection.DOMProperty.injectDOMPropertyConfig(SVGDOMPropertyConfig); + ReactLegacyElementFactory.wrapCreateFactory = function(createFactory) { + var legacyCreateFactory = function(type) { + if (typeof type !== 'function') { + // Non-function types cannot be legacy factories + return createFactory(type); + } - ReactInjection.EmptyComponent.injectEmptyComponent('noscript'); + if (type.isReactNonLegacyFactory) { + // This is probably a factory created by ReactDOM we unwrap it to get to + // the underlying string type. It shouldn't have been passed here so we + // warn. + if (false) { + warnForNonLegacyFactory(type); + } + return createFactory(type.type); + } - ReactInjection.Updates.injectReconcileTransaction( - ReactComponentBrowserEnvironment.ReactReconcileTransaction - ); - ReactInjection.Updates.injectBatchingStrategy( - ReactDefaultBatchingStrategy - ); + if (type.isReactLegacyFactory) { + // This is probably a legacy factory created by ReactCompositeComponent. + // We unwrap it to get to the underlying class. + return createFactory(type.type); + } + + if (false) { + warnForPlainFunctionType(type); + } + + // Unless it's a legacy factory, then this is probably a plain function, + // that is expecting to be invoked by JSX. We can just return it as is. + return type; + }; + return legacyCreateFactory; + }; + + ReactLegacyElementFactory.wrapCreateElement = function(createElement) { + var legacyCreateElement = function(type, props, children) { + if (typeof type !== 'function') { + // Non-function types cannot be legacy factories + return createElement.apply(this, arguments); + } + + var args; + + if (type.isReactNonLegacyFactory) { + // This is probably a factory created by ReactDOM we unwrap it to get to + // the underlying string type. It shouldn't have been passed here so we + // warn. + if (false) { + warnForNonLegacyFactory(type); + } + args = Array.prototype.slice.call(arguments, 0); + args[0] = type.type; + return createElement.apply(this, args); + } + + if (type.isReactLegacyFactory) { + // This is probably a legacy factory created by ReactCompositeComponent. + // We unwrap it to get to the underlying class. + if (type._isMockFunction) { + // If this is a mock function, people will expect it to be called. We + // will actually call the original mock factory function instead. This + // future proofs unit testing that assume that these are classes. + type.type._mockedReactClassConstructor = type; + } + args = Array.prototype.slice.call(arguments, 0); + args[0] = type.type; + return createElement.apply(this, args); + } + + if (false) { + warnForPlainFunctionType(type); + } + + // This is being called with a plain function we should invoke it + // immediately as if this was used with legacy JSX. + return type.apply(null, Array.prototype.slice.call(arguments, 1)); + }; + return legacyCreateElement; + }; + + ReactLegacyElementFactory.wrapFactory = function(factory) { + (false ? invariant( + typeof factory === 'function', + 'This is suppose to accept a element factory' + ) : invariant(typeof factory === 'function')); + var legacyElementFactory = function(config, children) { + // This factory should not be called when JSX is used. Use JSX instead. + if (false) { + warnForLegacyFactoryCall(); + } + return factory.apply(this, arguments); + }; + proxyStaticMethods(legacyElementFactory, factory.type); + legacyElementFactory.isReactLegacyFactory = LEGACY_MARKER; + legacyElementFactory.type = factory.type; + return legacyElementFactory; + }; - ReactInjection.RootIndex.injectCreateReactRootIndex( - ExecutionEnvironment.canUseDOM ? - ClientReactRootIndex.createReactRootIndex : - ServerReactRootIndex.createReactRootIndex - ); + // This is used to mark a factory that will remain. E.g. we're allowed to call + // it as a function. However, you're not suppose to pass it to createElement + // or createFactory, so it will warn you if you do. + ReactLegacyElementFactory.markNonLegacyFactory = function(factory) { + factory.isReactNonLegacyFactory = NON_LEGACY_MARKER; + return factory; + }; - ReactInjection.Component.injectEnvironment(ReactComponentBrowserEnvironment); + // Checks if a factory function is actually a legacy factory pretending to + // be a class. + ReactLegacyElementFactory.isValidFactory = function(factory) { + // TODO: This will be removed and moved into a class validator or something. + return typeof factory === 'function' && + factory.isReactLegacyFactory === LEGACY_MARKER; + }; + ReactLegacyElementFactory.isValidClass = function(factory) { if (false) { - var url = (ExecutionEnvironment.canUseDOM && window.location.href) || ''; - if ((/[?&]react_perf\b/).test(url)) { - var ReactDefaultPerf = require("./ReactDefaultPerf"); - ReactDefaultPerf.start(); - } + ("production" !== process.env.NODE_ENV ? warning( + false, + 'isValidClass is deprecated and will be removed in a future release. ' + + 'Use a more specific validator instead.' + ) : null); } - } - - module.exports = { - inject: inject + return ReactLegacyElementFactory.isValidFactory(factory); }; + ReactLegacyElementFactory._isLegacyCallWarningEnabled = true; + + module.exports = ReactLegacyElementFactory; + /***/ }, -/* 110 */ +/* 114 */ /***/ function(module, exports, __webpack_require__) { /** @@ -16141,582 +16790,696 @@ return /******/ (function(modules) { // webpackBootstrap * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule ReactInstanceHandles - * @typechecks static-only + * @providesModule ReactMount */ "use strict"; - var ReactRootIndex = __webpack_require__(146); + var DOMProperty = __webpack_require__(135); + var ReactBrowserEventEmitter = __webpack_require__(153); + var ReactCurrentOwner = __webpack_require__(106); + var ReactElement = __webpack_require__(107); + var ReactLegacyElement = __webpack_require__(113); + var ReactInstanceHandles = __webpack_require__(112); + var ReactPerf = __webpack_require__(116); + + var containsNode = __webpack_require__(183); + var deprecated = __webpack_require__(121); + var getReactRootElementInContainer = __webpack_require__(184); + var instantiateReactComponent = __webpack_require__(146); + var invariant = __webpack_require__(132); + var shouldUpdateReactComponent = __webpack_require__(150); + var warning = __webpack_require__(138); - var invariant = __webpack_require__(126); + var createElement = ReactLegacyElement.wrapCreateElement( + ReactElement.createElement + ); - var SEPARATOR = '.'; - var SEPARATOR_LENGTH = SEPARATOR.length; + var SEPARATOR = ReactInstanceHandles.SEPARATOR; - /** - * Maximum depth of traversals before we consider the possibility of a bad ID. - */ - var MAX_TREE_DEPTH = 100; + var ATTR_NAME = DOMProperty.ID_ATTRIBUTE_NAME; + var nodeCache = {}; + + var ELEMENT_NODE_TYPE = 1; + var DOC_NODE_TYPE = 9; + + /** Mapping from reactRootID to React component instance. */ + var instancesByReactRootID = {}; + + /** Mapping from reactRootID to `container` nodes. */ + var containersByReactRootID = {}; + + if (false) { + /** __DEV__-only mapping from reactRootID to root elements. */ + var rootElementsByReactRootID = {}; + } + + // Used to store breadth-first search state in findComponentRoot. + var findComponentRootReusableArray = []; /** - * Creates a DOM ID prefix to use when mounting React components. - * - * @param {number} index A unique integer - * @return {string} React root ID. - * @internal + * @param {DOMElement} container DOM element that may contain a React component. + * @return {?string} A "reactRoot" ID, if a React component is rendered. */ - function getReactRootIDString(index) { - return SEPARATOR + index.toString(36); + function getReactRootID(container) { + var rootElement = getReactRootElementInContainer(container); + return rootElement && ReactMount.getID(rootElement); } /** - * Checks if a character in the supplied ID is a separator or the end. + * Accessing node[ATTR_NAME] or calling getAttribute(ATTR_NAME) on a form + * element can return its control whose name or ID equals ATTR_NAME. All + * DOM nodes support `getAttributeNode` but this can also get called on + * other objects so just return '' if we're given something other than a + * DOM node (such as window). * - * @param {string} id A React DOM ID. - * @param {number} index Index of the character to check. - * @return {boolean} True if the character is a separator or end of the ID. - * @private + * @param {?DOMElement|DOMWindow|DOMDocument|DOMTextNode} node DOM node. + * @return {string} ID of the supplied `domNode`. */ - function isBoundary(id, index) { - return id.charAt(index) === SEPARATOR || index === id.length; + function getID(node) { + var id = internalGetID(node); + if (id) { + if (nodeCache.hasOwnProperty(id)) { + var cached = nodeCache[id]; + if (cached !== node) { + (false ? invariant( + !isValid(cached, id), + 'ReactMount: Two valid but unequal nodes with the same `%s`: %s', + ATTR_NAME, id + ) : invariant(!isValid(cached, id))); + + nodeCache[id] = node; + } + } else { + nodeCache[id] = node; + } + } + + return id; + } + + function internalGetID(node) { + // If node is something like a window, document, or text node, none of + // which support attributes or a .getAttribute method, gracefully return + // the empty string, as if the attribute were missing. + return node && node.getAttribute && node.getAttribute(ATTR_NAME) || ''; } /** - * Checks if the supplied string is a valid React DOM ID. + * Sets the React-specific ID of the given node. * - * @param {string} id A React DOM ID, maybe. - * @return {boolean} True if the string is a valid React DOM ID. - * @private + * @param {DOMElement} node The DOM node whose ID will be set. + * @param {string} id The value of the ID attribute. */ - function isValidID(id) { - return id === '' || ( - id.charAt(0) === SEPARATOR && id.charAt(id.length - 1) !== SEPARATOR - ); + function setID(node, id) { + var oldID = internalGetID(node); + if (oldID !== id) { + delete nodeCache[oldID]; + } + node.setAttribute(ATTR_NAME, id); + nodeCache[id] = node; } /** - * Checks if the first ID is an ancestor of or equal to the second ID. + * Finds the node with the supplied React-generated DOM ID. * - * @param {string} ancestorID - * @param {string} descendantID - * @return {boolean} True if `ancestorID` is an ancestor of `descendantID`. + * @param {string} id A React-generated DOM ID. + * @return {DOMElement} DOM node with the suppled `id`. * @internal */ - function isAncestorIDOf(ancestorID, descendantID) { - return ( - descendantID.indexOf(ancestorID) === 0 && - isBoundary(descendantID, ancestorID.length) - ); + function getNode(id) { + if (!nodeCache.hasOwnProperty(id) || !isValid(nodeCache[id], id)) { + nodeCache[id] = ReactMount.findReactNodeByID(id); + } + return nodeCache[id]; } /** - * Gets the parent ID of the supplied React DOM ID, `id`. + * A node is "valid" if it is contained by a currently mounted container. * - * @param {string} id ID of a component. - * @return {string} ID of the parent, or an empty string. - * @private + * This means that the node does not have to be contained by a document in + * order to be considered valid. + * + * @param {?DOMElement} node The candidate DOM node. + * @param {string} id The expected ID of the node. + * @return {boolean} Whether the node is contained by a mounted container. */ - function getParentID(id) { - return id ? id.substr(0, id.lastIndexOf(SEPARATOR)) : ''; + function isValid(node, id) { + if (node) { + (false ? invariant( + internalGetID(node) === id, + 'ReactMount: Unexpected modification of `%s`', + ATTR_NAME + ) : invariant(internalGetID(node) === id)); + + var container = ReactMount.findReactContainerForID(id); + if (container && containsNode(container, node)) { + return true; + } + } + + return false; } /** - * Gets the next DOM ID on the tree path from the supplied `ancestorID` to the - * supplied `destinationID`. If they are equal, the ID is returned. + * Causes the cache to forget about one React-specific ID. * - * @param {string} ancestorID ID of an ancestor node of `destinationID`. - * @param {string} destinationID ID of the destination node. - * @return {string} Next ID on the path from `ancestorID` to `destinationID`. - * @private + * @param {string} id The ID to forget. */ - function getNextDescendantID(ancestorID, destinationID) { - (false ? invariant( - isValidID(ancestorID) && isValidID(destinationID), - 'getNextDescendantID(%s, %s): Received an invalid React DOM ID.', - ancestorID, - destinationID - ) : invariant(isValidID(ancestorID) && isValidID(destinationID))); - (false ? invariant( - isAncestorIDOf(ancestorID, destinationID), - 'getNextDescendantID(...): React has made an invalid assumption about ' + - 'the DOM hierarchy. Expected `%s` to be an ancestor of `%s`.', - ancestorID, - destinationID - ) : invariant(isAncestorIDOf(ancestorID, destinationID))); - if (ancestorID === destinationID) { - return ancestorID; - } - // Skip over the ancestor and the immediate separator. Traverse until we hit - // another separator or we reach the end of `destinationID`. - var start = ancestorID.length + SEPARATOR_LENGTH; - for (var i = start; i < destinationID.length; i++) { - if (isBoundary(destinationID, i)) { - break; - } + function purgeID(id) { + delete nodeCache[id]; + } + + var deepestNodeSoFar = null; + function findDeepestCachedAncestorImpl(ancestorID) { + var ancestor = nodeCache[ancestorID]; + if (ancestor && isValid(ancestor, ancestorID)) { + deepestNodeSoFar = ancestor; + } else { + // This node isn't populated in the cache, so presumably none of its + // descendants are. Break out of the loop. + return false; } - return destinationID.substr(0, i); } /** - * Gets the nearest common ancestor ID of two IDs. + * Return the deepest cached node whose ID is a prefix of `targetID`. + */ + function findDeepestCachedAncestor(targetID) { + deepestNodeSoFar = null; + ReactInstanceHandles.traverseAncestors( + targetID, + findDeepestCachedAncestorImpl + ); + + var foundNode = deepestNodeSoFar; + deepestNodeSoFar = null; + return foundNode; + } + + /** + * Mounting is the process of initializing a React component by creatings its + * representative DOM elements and inserting them into a supplied `container`. + * Any prior content inside `container` is destroyed in the process. * - * Using this ID scheme, the nearest common ancestor ID is the longest common - * prefix of the two IDs that immediately preceded a "marker" in both strings. + * ReactMount.render( + * component, + * document.getElementById('container') + * ); * - * @param {string} oneID - * @param {string} twoID - * @return {string} Nearest common ancestor ID, or the empty string if none. - * @private - */ - function getFirstCommonAncestorID(oneID, twoID) { - var minLength = Math.min(oneID.length, twoID.length); - if (minLength === 0) { - return ''; - } - var lastCommonMarkerIndex = 0; - // Use `<=` to traverse until the "EOL" of the shorter string. - for (var i = 0; i <= minLength; i++) { - if (isBoundary(oneID, i) && isBoundary(twoID, i)) { - lastCommonMarkerIndex = i; - } else if (oneID.charAt(i) !== twoID.charAt(i)) { - break; - } - } - var longestCommonID = oneID.substr(0, lastCommonMarkerIndex); - (false ? invariant( - isValidID(longestCommonID), - 'getFirstCommonAncestorID(%s, %s): Expected a valid React DOM ID: %s', - oneID, - twoID, - longestCommonID - ) : invariant(isValidID(longestCommonID))); - return longestCommonID; - } - - /** - * Traverses the parent path between two IDs (either up or down). The IDs must - * not be the same, and there must exist a parent path between them. If the - * callback returns `false`, traversal is stopped. + *
<-- Supplied `container`. + *
<-- Rendered reactRoot of React + * // ... component. + *
+ *
* - * @param {?string} start ID at which to start traversal. - * @param {?string} stop ID at which to end traversal. - * @param {function} cb Callback to invoke each ID with. - * @param {?boolean} skipFirst Whether or not to skip the first node. - * @param {?boolean} skipLast Whether or not to skip the last node. - * @private + * Inside of `container`, the first element rendered is the "reactRoot". */ - function traverseParentPath(start, stop, cb, arg, skipFirst, skipLast) { - start = start || ''; - stop = stop || ''; - (false ? invariant( - start !== stop, - 'traverseParentPath(...): Cannot traverse from and to the same ID, `%s`.', - start - ) : invariant(start !== stop)); - var traverseUp = isAncestorIDOf(stop, start); - (false ? invariant( - traverseUp || isAncestorIDOf(start, stop), - 'traverseParentPath(%s, %s, ...): Cannot traverse from two IDs that do ' + - 'not have a parent path.', - start, - stop - ) : invariant(traverseUp || isAncestorIDOf(start, stop))); - // Traverse from `start` to `stop` one depth at a time. - var depth = 0; - var traverse = traverseUp ? getParentID : getNextDescendantID; - for (var id = start; /* until break */; id = traverse(id, stop)) { - var ret; - if ((!skipFirst || id !== start) && (!skipLast || id !== stop)) { - ret = cb(id, traverseUp, arg); + var ReactMount = { + /** Exposed for debugging purposes **/ + _instancesByReactRootID: instancesByReactRootID, + + /** + * This is a hook provided to support rendering React components while + * ensuring that the apparent scroll position of its `container` does not + * change. + * + * @param {DOMElement} container The `container` being rendered into. + * @param {function} renderCallback This must be called once to do the render. + */ + scrollMonitor: function(container, renderCallback) { + renderCallback(); + }, + + /** + * Take a component that's already mounted into the DOM and replace its props + * @param {ReactComponent} prevComponent component instance already in the DOM + * @param {ReactComponent} nextComponent component instance to render + * @param {DOMElement} container container to render into + * @param {?function} callback function triggered on completion + */ + _updateRootComponent: function( + prevComponent, + nextComponent, + container, + callback) { + var nextProps = nextComponent.props; + ReactMount.scrollMonitor(container, function() { + prevComponent.replaceProps(nextProps, callback); + }); + + if (false) { + // Record the root element in case it later gets transplanted. + rootElementsByReactRootID[getReactRootID(container)] = + getReactRootElementInContainer(container); } - if (ret === false || id === stop) { - // Only break //after// visiting `stop`. - break; + + return prevComponent; + }, + + /** + * Register a component into the instance map and starts scroll value + * monitoring + * @param {ReactComponent} nextComponent component instance to render + * @param {DOMElement} container container to render into + * @return {string} reactRoot ID prefix + */ + _registerComponent: function(nextComponent, container) { + (false ? invariant( + container && ( + container.nodeType === ELEMENT_NODE_TYPE || + container.nodeType === DOC_NODE_TYPE + ), + '_registerComponent(...): Target container is not a DOM element.' + ) : invariant(container && ( + container.nodeType === ELEMENT_NODE_TYPE || + container.nodeType === DOC_NODE_TYPE + ))); + + ReactBrowserEventEmitter.ensureScrollValueMonitoring(); + + var reactRootID = ReactMount.registerContainer(container); + instancesByReactRootID[reactRootID] = nextComponent; + return reactRootID; + }, + + /** + * Render a new component into the DOM. + * @param {ReactComponent} nextComponent component instance to render + * @param {DOMElement} container container to render into + * @param {boolean} shouldReuseMarkup if we should skip the markup insertion + * @return {ReactComponent} nextComponent + */ + _renderNewRootComponent: ReactPerf.measure( + 'ReactMount', + '_renderNewRootComponent', + function( + nextComponent, + container, + shouldReuseMarkup) { + // Various parts of our code (such as ReactCompositeComponent's + // _renderValidatedComponent) assume that calls to render aren't nested; + // verify that that's the case. + (false ? warning( + ReactCurrentOwner.current == null, + '_renderNewRootComponent(): Render methods should be a pure function ' + + 'of props and state; triggering nested component updates from ' + + 'render is not allowed. If necessary, trigger nested updates in ' + + 'componentDidUpdate.' + ) : null); + + var componentInstance = instantiateReactComponent(nextComponent, null); + var reactRootID = ReactMount._registerComponent( + componentInstance, + container + ); + componentInstance.mountComponentIntoNode( + reactRootID, + container, + shouldReuseMarkup + ); + + if (false) { + // Record the root element in case it later gets transplanted. + rootElementsByReactRootID[reactRootID] = + getReactRootElementInContainer(container); + } + + return componentInstance; } + ), + + /** + * Renders a React component into the DOM in the supplied `container`. + * + * If the React component was previously rendered into `container`, this will + * perform an update on it and only mutate the DOM as necessary to reflect the + * latest React component. + * + * @param {ReactElement} nextElement Component element to render. + * @param {DOMElement} container DOM element to render into. + * @param {?function} callback function triggered on completion + * @return {ReactComponent} Component instance rendered in `container`. + */ + render: function(nextElement, container, callback) { (false ? invariant( - depth++ < MAX_TREE_DEPTH, - 'traverseParentPath(%s, %s, ...): Detected an infinite loop while ' + - 'traversing the React DOM ID tree. This may be due to malformed IDs: %s', - start, stop - ) : invariant(depth++ < MAX_TREE_DEPTH)); - } - } + ReactElement.isValidElement(nextElement), + 'renderComponent(): Invalid component element.%s', + ( + typeof nextElement === 'string' ? + ' Instead of passing an element string, make sure to instantiate ' + + 'it by passing it to React.createElement.' : + ReactLegacyElement.isValidFactory(nextElement) ? + ' Instead of passing a component class, make sure to instantiate ' + + 'it by passing it to React.createElement.' : + // Check if it quacks like a element + typeof nextElement.props !== "undefined" ? + ' This may be caused by unintentionally loading two independent ' + + 'copies of React.' : + '' + ) + ) : invariant(ReactElement.isValidElement(nextElement))); + + var prevComponent = instancesByReactRootID[getReactRootID(container)]; + + if (prevComponent) { + var prevElement = prevComponent._currentElement; + if (shouldUpdateReactComponent(prevElement, nextElement)) { + return ReactMount._updateRootComponent( + prevComponent, + nextElement, + container, + callback + ); + } else { + ReactMount.unmountComponentAtNode(container); + } + } + + var reactRootElement = getReactRootElementInContainer(container); + var containerHasReactMarkup = + reactRootElement && ReactMount.isRenderedByReact(reactRootElement); - /** - * Manages the IDs assigned to DOM representations of React components. This - * uses a specific scheme in order to traverse the DOM efficiently (e.g. in - * order to simulate events). - * - * @internal - */ - var ReactInstanceHandles = { + var shouldReuseMarkup = containerHasReactMarkup && !prevComponent; - /** - * Constructs a React root ID - * @return {string} A React root ID. - */ - createReactRootID: function() { - return getReactRootIDString(ReactRootIndex.createReactRootIndex()); + var component = ReactMount._renderNewRootComponent( + nextElement, + container, + shouldReuseMarkup + ); + callback && callback.call(component); + return component; }, /** - * Constructs a React ID by joining a root ID with a name. + * Constructs a component instance of `constructor` with `initialProps` and + * renders it into the supplied `container`. * - * @param {string} rootID Root ID of a parent component. - * @param {string} name A component's name (as flattened children). - * @return {string} A React ID. - * @internal + * @param {function} constructor React component constructor. + * @param {?object} props Initial props of the component instance. + * @param {DOMElement} container DOM element to render into. + * @return {ReactComponent} Component instance rendered in `container`. */ - createReactID: function(rootID, name) { - return rootID + name; + constructAndRenderComponent: function(constructor, props, container) { + var element = createElement(constructor, props); + return ReactMount.render(element, container); }, /** - * Gets the DOM ID of the React component that is the root of the tree that - * contains the React component with the supplied DOM ID. + * Constructs a component instance of `constructor` with `initialProps` and + * renders it into a container node identified by supplied `id`. * - * @param {string} id DOM ID of a React component. - * @return {?string} DOM ID of the React component that is the root. - * @internal + * @param {function} componentConstructor React component constructor + * @param {?object} props Initial props of the component instance. + * @param {string} id ID of the DOM element to render into. + * @return {ReactComponent} Component instance rendered in the container node. */ - getReactRootIDFromNodeID: function(id) { - if (id && id.charAt(0) === SEPARATOR && id.length > 1) { - var index = id.indexOf(SEPARATOR, 1); - return index > -1 ? id.substr(0, index) : id; - } - return null; + constructAndRenderComponentByID: function(constructor, props, id) { + var domNode = document.getElementById(id); + (false ? invariant( + domNode, + 'Tried to get element with id of "%s" but it is not present on the page.', + id + ) : invariant(domNode)); + return ReactMount.constructAndRenderComponent(constructor, props, domNode); }, /** - * Traverses the ID hierarchy and invokes the supplied `cb` on any IDs that - * should would receive a `mouseEnter` or `mouseLeave` event. - * - * NOTE: Does not invoke the callback on the nearest common ancestor because - * nothing "entered" or "left" that element. + * Registers a container node into which React components will be rendered. + * This also creates the "reactRoot" ID that will be assigned to the element + * rendered within. * - * @param {string} leaveID ID being left. - * @param {string} enterID ID being entered. - * @param {function} cb Callback to invoke on each entered/left ID. - * @param {*} upArg Argument to invoke the callback with on left IDs. - * @param {*} downArg Argument to invoke the callback with on entered IDs. - * @internal + * @param {DOMElement} container DOM element to register as a container. + * @return {string} The "reactRoot" ID of elements rendered within. */ - traverseEnterLeave: function(leaveID, enterID, cb, upArg, downArg) { - var ancestorID = getFirstCommonAncestorID(leaveID, enterID); - if (ancestorID !== leaveID) { - traverseParentPath(leaveID, ancestorID, cb, upArg, false, true); + registerContainer: function(container) { + var reactRootID = getReactRootID(container); + if (reactRootID) { + // If one exists, make sure it is a valid "reactRoot" ID. + reactRootID = ReactInstanceHandles.getReactRootIDFromNodeID(reactRootID); } - if (ancestorID !== enterID) { - traverseParentPath(ancestorID, enterID, cb, downArg, true, false); + if (!reactRootID) { + // No valid "reactRoot" ID found, create one. + reactRootID = ReactInstanceHandles.createReactRootID(); } + containersByReactRootID[reactRootID] = container; + return reactRootID; }, /** - * Simulates the traversal of a two-phase, capture/bubble event dispatch. - * - * NOTE: This traversal happens on IDs without touching the DOM. + * Unmounts and destroys the React component rendered in the `container`. * - * @param {string} targetID ID of the target node. - * @param {function} cb Callback to invoke. - * @param {*} arg Argument to invoke the callback with. - * @internal + * @param {DOMElement} container DOM element containing a React component. + * @return {boolean} True if a component was found in and unmounted from + * `container` */ - traverseTwoPhase: function(targetID, cb, arg) { - if (targetID) { - traverseParentPath('', targetID, cb, arg, true, false); - traverseParentPath(targetID, '', cb, arg, false, true); + unmountComponentAtNode: function(container) { + // Various parts of our code (such as ReactCompositeComponent's + // _renderValidatedComponent) assume that calls to render aren't nested; + // verify that that's the case. (Strictly speaking, unmounting won't cause a + // render but we still don't expect to be in a render call here.) + (false ? warning( + ReactCurrentOwner.current == null, + 'unmountComponentAtNode(): Render methods should be a pure function of ' + + 'props and state; triggering nested component updates from render is ' + + 'not allowed. If necessary, trigger nested updates in ' + + 'componentDidUpdate.' + ) : null); + + var reactRootID = getReactRootID(container); + var component = instancesByReactRootID[reactRootID]; + if (!component) { + return false; } + ReactMount.unmountComponentFromNode(component, container); + delete instancesByReactRootID[reactRootID]; + delete containersByReactRootID[reactRootID]; + if (false) { + delete rootElementsByReactRootID[reactRootID]; + } + return true; }, /** - * Traverse a node ID, calling the supplied `cb` for each ancestor ID. For - * example, passing `.0.$row-0.1` would result in `cb` getting called - * with `.0`, `.0.$row-0`, and `.0.$row-0.1`. - * - * NOTE: This traversal happens on IDs without touching the DOM. + * Unmounts a component and removes it from the DOM. * - * @param {string} targetID ID of the target node. - * @param {function} cb Callback to invoke. - * @param {*} arg Argument to invoke the callback with. + * @param {ReactComponent} instance React component instance. + * @param {DOMElement} container DOM element to unmount from. + * @final * @internal + * @see {ReactMount.unmountComponentAtNode} */ - traverseAncestors: function(targetID, cb, arg) { - traverseParentPath('', targetID, cb, arg, true, false); - }, + unmountComponentFromNode: function(instance, container) { + instance.unmountComponent(); - /** - * Exposed for unit testing. - * @private - */ - _getFirstCommonAncestorID: getFirstCommonAncestorID, + if (container.nodeType === DOC_NODE_TYPE) { + container = container.documentElement; + } + + // http://jsperf.com/emptying-a-node + while (container.lastChild) { + container.removeChild(container.lastChild); + } + }, /** - * Exposed for unit testing. - * @private + * Finds the container DOM element that contains React component to which the + * supplied DOM `id` belongs. + * + * @param {string} id The ID of an element rendered by a React component. + * @return {?DOMElement} DOM element that contains the `id`. */ - _getNextDescendantID: getNextDescendantID, - - isAncestorIDOf: isAncestorIDOf, - - SEPARATOR: SEPARATOR - - }; - - module.exports = ReactInstanceHandles; - - -/***/ }, -/* 111 */ -/***/ function(module, exports, __webpack_require__) { - - /** - * Copyright 2014, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @providesModule ReactLegacyElement - */ - - "use strict"; - - var ReactCurrentOwner = __webpack_require__(104); - - var invariant = __webpack_require__(126); - var monitorCodeUse = __webpack_require__(137); - var warning = __webpack_require__(124); - - var legacyFactoryLogs = {}; - function warnForLegacyFactoryCall() { - if (!ReactLegacyElementFactory._isLegacyCallWarningEnabled) { - return; - } - var owner = ReactCurrentOwner.current; - var name = owner && owner.constructor ? owner.constructor.displayName : ''; - if (!name) { - name = 'Something'; - } - if (legacyFactoryLogs.hasOwnProperty(name)) { - return; - } - legacyFactoryLogs[name] = true; - (false ? warning( - false, - name + ' is calling a React component directly. ' + - 'Use a factory or JSX instead. See: http://fb.me/react-legacyfactory' - ) : null); - monitorCodeUse('react_legacy_factory_call', { version: 3, name: name }); - } - - function warnForPlainFunctionType(type) { - var isReactClass = - type.prototype && - typeof type.prototype.mountComponent === 'function' && - typeof type.prototype.receiveComponent === 'function'; - if (isReactClass) { - (false ? warning( - false, - 'Did not expect to get a React class here. Use `Component` instead ' + - 'of `Component.type` or `this.constructor`.' - ) : null); - } else { - if (!type._reactWarnedForThisType) { - try { - type._reactWarnedForThisType = true; - } catch (x) { - // just incase this is a frozen object or some special object - } - monitorCodeUse( - 'react_non_component_in_jsx', - { version: 3, name: type.name } - ); - } - (false ? warning( - false, - 'This JSX uses a plain function. Only React components are ' + - 'valid in React\'s JSX transform.' - ) : null); - } - } + findReactContainerForID: function(id) { + var reactRootID = ReactInstanceHandles.getReactRootIDFromNodeID(id); + var container = containersByReactRootID[reactRootID]; - function warnForNonLegacyFactory(type) { - (false ? warning( - false, - 'Do not pass React.DOM.' + type.type + ' to JSX or createFactory. ' + - 'Use the string "' + type.type + '" instead.' - ) : null); - } + if (false) { + var rootElement = rootElementsByReactRootID[reactRootID]; + if (rootElement && rootElement.parentNode !== container) { + ("production" !== process.env.NODE_ENV ? invariant( + // Call internalGetID here because getID calls isValid which calls + // findReactContainerForID (this function). + internalGetID(rootElement) === reactRootID, + 'ReactMount: Root element ID differed from reactRootID.' + ) : invariant(// Call internalGetID here because getID calls isValid which calls + // findReactContainerForID (this function). + internalGetID(rootElement) === reactRootID)); - /** - * Transfer static properties from the source to the target. Functions are - * rebound to have this reflect the original source. - */ - function proxyStaticMethods(target, source) { - if (typeof source !== 'function') { - return; - } - for (var key in source) { - if (source.hasOwnProperty(key)) { - var value = source[key]; - if (typeof value === 'function') { - var bound = value.bind(source); - // Copy any properties defined on the function, such as `isRequired` on - // a PropTypes validator. - for (var k in value) { - if (value.hasOwnProperty(k)) { - bound[k] = value[k]; - } + var containerChild = container.firstChild; + if (containerChild && + reactRootID === internalGetID(containerChild)) { + // If the container has a new child with the same ID as the old + // root element, then rootElementsByReactRootID[reactRootID] is + // just stale and needs to be updated. The case that deserves a + // warning is when the container is empty. + rootElementsByReactRootID[reactRootID] = containerChild; + } else { + console.warn( + 'ReactMount: Root element has been removed from its original ' + + 'container. New container:', rootElement.parentNode + ); } - target[key] = bound; - } else { - target[key] = value; } } - } - } - // We use an object instead of a boolean because booleans are ignored by our - // mocking libraries when these factories gets mocked. - var LEGACY_MARKER = {}; - var NON_LEGACY_MARKER = {}; + return container; + }, - var ReactLegacyElementFactory = {}; + /** + * Finds an element rendered by React with the supplied ID. + * + * @param {string} id ID of a DOM node in the React component. + * @return {DOMElement} Root DOM node of the React component. + */ + findReactNodeByID: function(id) { + var reactRoot = ReactMount.findReactContainerForID(id); + return ReactMount.findComponentRoot(reactRoot, id); + }, - ReactLegacyElementFactory.wrapCreateFactory = function(createFactory) { - var legacyCreateFactory = function(type) { - if (typeof type !== 'function') { - // Non-function types cannot be legacy factories - return createFactory(type); + /** + * True if the supplied `node` is rendered by React. + * + * @param {*} node DOM Element to check. + * @return {boolean} True if the DOM Element appears to be rendered by React. + * @internal + */ + isRenderedByReact: function(node) { + if (node.nodeType !== 1) { + // Not a DOMElement, therefore not a React component + return false; } + var id = ReactMount.getID(node); + return id ? id.charAt(0) === SEPARATOR : false; + }, - if (type.isReactNonLegacyFactory) { - // This is probably a factory created by ReactDOM we unwrap it to get to - // the underlying string type. It shouldn't have been passed here so we - // warn. - if (false) { - warnForNonLegacyFactory(type); + /** + * Traverses up the ancestors of the supplied node to find a node that is a + * DOM representation of a React component. + * + * @param {*} node + * @return {?DOMEventTarget} + * @internal + */ + getFirstReactDOM: function(node) { + var current = node; + while (current && current.parentNode !== current) { + if (ReactMount.isRenderedByReact(current)) { + return current; } - return createFactory(type.type); + current = current.parentNode; } + return null; + }, - if (type.isReactLegacyFactory) { - // This is probably a legacy factory created by ReactCompositeComponent. - // We unwrap it to get to the underlying class. - return createFactory(type.type); - } + /** + * Finds a node with the supplied `targetID` inside of the supplied + * `ancestorNode`. Exploits the ID naming scheme to perform the search + * quickly. + * + * @param {DOMEventTarget} ancestorNode Search from this root. + * @pararm {string} targetID ID of the DOM representation of the component. + * @return {DOMEventTarget} DOM node with the supplied `targetID`. + * @internal + */ + findComponentRoot: function(ancestorNode, targetID) { + var firstChildren = findComponentRootReusableArray; + var childIndex = 0; - if (false) { - warnForPlainFunctionType(type); - } + var deepestAncestor = findDeepestCachedAncestor(targetID) || ancestorNode; - // Unless it's a legacy factory, then this is probably a plain function, - // that is expecting to be invoked by JSX. We can just return it as is. - return type; - }; - return legacyCreateFactory; - }; + firstChildren[0] = deepestAncestor.firstChild; + firstChildren.length = 1; - ReactLegacyElementFactory.wrapCreateElement = function(createElement) { - var legacyCreateElement = function(type, props, children) { - if (typeof type !== 'function') { - // Non-function types cannot be legacy factories - return createElement.apply(this, arguments); - } + while (childIndex < firstChildren.length) { + var child = firstChildren[childIndex++]; + var targetChild; - var args; + while (child) { + var childID = ReactMount.getID(child); + if (childID) { + // Even if we find the node we're looking for, we finish looping + // through its siblings to ensure they're cached so that we don't have + // to revisit this node again. Otherwise, we make n^2 calls to getID + // when visiting the many children of a single node in order. - if (type.isReactNonLegacyFactory) { - // This is probably a factory created by ReactDOM we unwrap it to get to - // the underlying string type. It shouldn't have been passed here so we - // warn. - if (false) { - warnForNonLegacyFactory(type); + if (targetID === childID) { + targetChild = child; + } else if (ReactInstanceHandles.isAncestorIDOf(childID, targetID)) { + // If we find a child whose ID is an ancestor of the given ID, + // then we can be sure that we only want to search the subtree + // rooted at this child, so we can throw out the rest of the + // search state. + firstChildren.length = childIndex = 0; + firstChildren.push(child.firstChild); + } + + } else { + // If this child had no ID, then there's a chance that it was + // injected automatically by the browser, as when a `` + // element sprouts an extra `` child as a side effect of + // `.innerHTML` parsing. Optimistically continue down this + // branch, but not before examining the other siblings. + firstChildren.push(child.firstChild); + } + + child = child.nextSibling; } - args = Array.prototype.slice.call(arguments, 0); - args[0] = type.type; - return createElement.apply(this, args); - } - if (type.isReactLegacyFactory) { - // This is probably a legacy factory created by ReactCompositeComponent. - // We unwrap it to get to the underlying class. - if (type._isMockFunction) { - // If this is a mock function, people will expect it to be called. We - // will actually call the original mock factory function instead. This - // future proofs unit testing that assume that these are classes. - type.type._mockedReactClassConstructor = type; + if (targetChild) { + // Emptying firstChildren/findComponentRootReusableArray is + // not necessary for correctness, but it helps the GC reclaim + // any nodes that were left at the end of the search. + firstChildren.length = 0; + + return targetChild; } - args = Array.prototype.slice.call(arguments, 0); - args[0] = type.type; - return createElement.apply(this, args); } - if (false) { - warnForPlainFunctionType(type); - } + firstChildren.length = 0; - // This is being called with a plain function we should invoke it - // immediately as if this was used with legacy JSX. - return type.apply(null, Array.prototype.slice.call(arguments, 1)); - }; - return legacyCreateElement; - }; + (false ? invariant( + false, + 'findComponentRoot(..., %s): Unable to find element. This probably ' + + 'means the DOM was unexpectedly mutated (e.g., by the browser), ' + + 'usually due to forgetting a when using tables, nesting tags ' + + 'like ,

, or , or using non-SVG elements in an ' + + 'parent. ' + + 'Try inspecting the child nodes of the element with React ID `%s`.', + targetID, + ReactMount.getID(ancestorNode) + ) : invariant(false)); + }, - ReactLegacyElementFactory.wrapFactory = function(factory) { - (false ? invariant( - typeof factory === 'function', - 'This is suppose to accept a element factory' - ) : invariant(typeof factory === 'function')); - var legacyElementFactory = function(config, children) { - // This factory should not be called when JSX is used. Use JSX instead. - if (false) { - warnForLegacyFactoryCall(); - } - return factory.apply(this, arguments); - }; - proxyStaticMethods(legacyElementFactory, factory.type); - legacyElementFactory.isReactLegacyFactory = LEGACY_MARKER; - legacyElementFactory.type = factory.type; - return legacyElementFactory; - }; - // This is used to mark a factory that will remain. E.g. we're allowed to call - // it as a function. However, you're not suppose to pass it to createElement - // or createFactory, so it will warn you if you do. - ReactLegacyElementFactory.markNonLegacyFactory = function(factory) { - factory.isReactNonLegacyFactory = NON_LEGACY_MARKER; - return factory; - }; + /** + * React ID utilities. + */ + + getReactRootID: getReactRootID, - // Checks if a factory function is actually a legacy factory pretending to - // be a class. - ReactLegacyElementFactory.isValidFactory = function(factory) { - // TODO: This will be removed and moved into a class validator or something. - return typeof factory === 'function' && - factory.isReactLegacyFactory === LEGACY_MARKER; - }; + getID: getID, - ReactLegacyElementFactory.isValidClass = function(factory) { - if (false) { - ("production" !== process.env.NODE_ENV ? warning( - false, - 'isValidClass is deprecated and will be removed in a future release. ' + - 'Use a more specific validator instead.' - ) : null); - } - return ReactLegacyElementFactory.isValidFactory(factory); + setID: setID, + + getNode: getNode, + + purgeID: purgeID }; - ReactLegacyElementFactory._isLegacyCallWarningEnabled = true; + // Deprecations (remove for 0.13) + ReactMount.renderComponent = deprecated( + 'ReactMount', + 'renderComponent', + 'render', + this, + ReactMount.render + ); - module.exports = ReactLegacyElementFactory; + module.exports = ReactMount; /***/ }, -/* 112 */ +/* 115 */ /***/ function(module, exports, __webpack_require__) { /** @@ -16727,1128 +17490,1308 @@ return /******/ (function(modules) { // webpackBootstrap * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule ReactMount + * @providesModule ReactMultiChild + * @typechecks static-only */ "use strict"; - var DOMProperty = __webpack_require__(121); - var ReactBrowserEventEmitter = __webpack_require__(144); - var ReactCurrentOwner = __webpack_require__(104); - var ReactElement = __webpack_require__(105); - var ReactLegacyElement = __webpack_require__(111); - var ReactInstanceHandles = __webpack_require__(110); - var ReactPerf = __webpack_require__(114); - - var containsNode = __webpack_require__(172); - var deprecated = __webpack_require__(119); - var getReactRootElementInContainer = __webpack_require__(173); - var instantiateReactComponent = __webpack_require__(135); - var invariant = __webpack_require__(126); - var shouldUpdateReactComponent = __webpack_require__(139); - var warning = __webpack_require__(124); + var ReactComponent = __webpack_require__(103); + var ReactMultiChildUpdateTypes = __webpack_require__(181); - var createElement = ReactLegacyElement.wrapCreateElement( - ReactElement.createElement - ); + var flattenChildren = __webpack_require__(182); + var instantiateReactComponent = __webpack_require__(146); + var shouldUpdateReactComponent = __webpack_require__(150); - var SEPARATOR = ReactInstanceHandles.SEPARATOR; + /** + * Updating children of a component may trigger recursive updates. The depth is + * used to batch recursive updates to render markup more efficiently. + * + * @type {number} + * @private + */ + var updateDepth = 0; + + /** + * Queue of update configuration objects. + * + * Each object has a `type` property that is in `ReactMultiChildUpdateTypes`. + * + * @type {array} + * @private + */ + var updateQueue = []; + + /** + * Queue of markup to be rendered. + * + * @type {array} + * @private + */ + var markupQueue = []; + + /** + * Enqueues markup to be rendered and inserted at a supplied index. + * + * @param {string} parentID ID of the parent component. + * @param {string} markup Markup that renders into an element. + * @param {number} toIndex Destination index. + * @private + */ + function enqueueMarkup(parentID, markup, toIndex) { + // NOTE: Null values reduce hidden classes. + updateQueue.push({ + parentID: parentID, + parentNode: null, + type: ReactMultiChildUpdateTypes.INSERT_MARKUP, + markupIndex: markupQueue.push(markup) - 1, + textContent: null, + fromIndex: null, + toIndex: toIndex + }); + } + + /** + * Enqueues moving an existing element to another index. + * + * @param {string} parentID ID of the parent component. + * @param {number} fromIndex Source index of the existing element. + * @param {number} toIndex Destination index of the element. + * @private + */ + function enqueueMove(parentID, fromIndex, toIndex) { + // NOTE: Null values reduce hidden classes. + updateQueue.push({ + parentID: parentID, + parentNode: null, + type: ReactMultiChildUpdateTypes.MOVE_EXISTING, + markupIndex: null, + textContent: null, + fromIndex: fromIndex, + toIndex: toIndex + }); + } + + /** + * Enqueues removing an element at an index. + * + * @param {string} parentID ID of the parent component. + * @param {number} fromIndex Index of the element to remove. + * @private + */ + function enqueueRemove(parentID, fromIndex) { + // NOTE: Null values reduce hidden classes. + updateQueue.push({ + parentID: parentID, + parentNode: null, + type: ReactMultiChildUpdateTypes.REMOVE_NODE, + markupIndex: null, + textContent: null, + fromIndex: fromIndex, + toIndex: null + }); + } + + /** + * Enqueues setting the text content. + * + * @param {string} parentID ID of the parent component. + * @param {string} textContent Text content to set. + * @private + */ + function enqueueTextContent(parentID, textContent) { + // NOTE: Null values reduce hidden classes. + updateQueue.push({ + parentID: parentID, + parentNode: null, + type: ReactMultiChildUpdateTypes.TEXT_CONTENT, + markupIndex: null, + textContent: textContent, + fromIndex: null, + toIndex: null + }); + } + + /** + * Processes any enqueued updates. + * + * @private + */ + function processQueue() { + if (updateQueue.length) { + ReactComponent.BackendIDOperations.dangerouslyProcessChildrenUpdates( + updateQueue, + markupQueue + ); + clearQueue(); + } + } + + /** + * Clears any enqueued updates. + * + * @private + */ + function clearQueue() { + updateQueue.length = 0; + markupQueue.length = 0; + } + + /** + * ReactMultiChild are capable of reconciling multiple children. + * + * @class ReactMultiChild + * @internal + */ + var ReactMultiChild = { + + /** + * Provides common functionality for components that must reconcile multiple + * children. This is used by `ReactDOMComponent` to mount, update, and + * unmount child components. + * + * @lends {ReactMultiChild.prototype} + */ + Mixin: { + + /** + * Generates a "mount image" for each of the supplied children. In the case + * of `ReactDOMComponent`, a mount image is a string of markup. + * + * @param {?object} nestedChildren Nested child maps. + * @return {array} An array of mounted representations. + * @internal + */ + mountChildren: function(nestedChildren, transaction) { + var children = flattenChildren(nestedChildren); + var mountImages = []; + var index = 0; + this._renderedChildren = children; + for (var name in children) { + var child = children[name]; + if (children.hasOwnProperty(name)) { + // The rendered children must be turned into instances as they're + // mounted. + var childInstance = instantiateReactComponent(child, null); + children[name] = childInstance; + // Inlined for performance, see `ReactInstanceHandles.createReactID`. + var rootID = this._rootNodeID + name; + var mountImage = childInstance.mountComponent( + rootID, + transaction, + this._mountDepth + 1 + ); + childInstance._mountIndex = index; + mountImages.push(mountImage); + index++; + } + } + return mountImages; + }, + + /** + * Replaces any rendered children with a text content string. + * + * @param {string} nextContent String of content. + * @internal + */ + updateTextContent: function(nextContent) { + updateDepth++; + var errorThrown = true; + try { + var prevChildren = this._renderedChildren; + // Remove any rendered children. + for (var name in prevChildren) { + if (prevChildren.hasOwnProperty(name)) { + this._unmountChildByName(prevChildren[name], name); + } + } + // Set new text content. + this.setTextContent(nextContent); + errorThrown = false; + } finally { + updateDepth--; + if (!updateDepth) { + errorThrown ? clearQueue() : processQueue(); + } + } + }, - var ATTR_NAME = DOMProperty.ID_ATTRIBUTE_NAME; - var nodeCache = {}; + /** + * Updates the rendered children with new children. + * + * @param {?object} nextNestedChildren Nested child maps. + * @param {ReactReconcileTransaction} transaction + * @internal + */ + updateChildren: function(nextNestedChildren, transaction) { + updateDepth++; + var errorThrown = true; + try { + this._updateChildren(nextNestedChildren, transaction); + errorThrown = false; + } finally { + updateDepth--; + if (!updateDepth) { + errorThrown ? clearQueue() : processQueue(); + } + } + }, - var ELEMENT_NODE_TYPE = 1; - var DOC_NODE_TYPE = 9; + /** + * Improve performance by isolating this hot code path from the try/catch + * block in `updateChildren`. + * + * @param {?object} nextNestedChildren Nested child maps. + * @param {ReactReconcileTransaction} transaction + * @final + * @protected + */ + _updateChildren: function(nextNestedChildren, transaction) { + var nextChildren = flattenChildren(nextNestedChildren); + var prevChildren = this._renderedChildren; + if (!nextChildren && !prevChildren) { + return; + } + var name; + // `nextIndex` will increment for each child in `nextChildren`, but + // `lastIndex` will be the last index visited in `prevChildren`. + var lastIndex = 0; + var nextIndex = 0; + for (name in nextChildren) { + if (!nextChildren.hasOwnProperty(name)) { + continue; + } + var prevChild = prevChildren && prevChildren[name]; + var prevElement = prevChild && prevChild._currentElement; + var nextElement = nextChildren[name]; + if (shouldUpdateReactComponent(prevElement, nextElement)) { + this.moveChild(prevChild, nextIndex, lastIndex); + lastIndex = Math.max(prevChild._mountIndex, lastIndex); + prevChild.receiveComponent(nextElement, transaction); + prevChild._mountIndex = nextIndex; + } else { + if (prevChild) { + // Update `lastIndex` before `_mountIndex` gets unset by unmounting. + lastIndex = Math.max(prevChild._mountIndex, lastIndex); + this._unmountChildByName(prevChild, name); + } + // The child must be instantiated before it's mounted. + var nextChildInstance = instantiateReactComponent( + nextElement, + null + ); + this._mountChildByNameAtIndex( + nextChildInstance, name, nextIndex, transaction + ); + } + nextIndex++; + } + // Remove children that are no longer present. + for (name in prevChildren) { + if (prevChildren.hasOwnProperty(name) && + !(nextChildren && nextChildren[name])) { + this._unmountChildByName(prevChildren[name], name); + } + } + }, - /** Mapping from reactRootID to React component instance. */ - var instancesByReactRootID = {}; + /** + * Unmounts all rendered children. This should be used to clean up children + * when this component is unmounted. + * + * @internal + */ + unmountChildren: function() { + var renderedChildren = this._renderedChildren; + for (var name in renderedChildren) { + var renderedChild = renderedChildren[name]; + // TODO: When is this not true? + if (renderedChild.unmountComponent) { + renderedChild.unmountComponent(); + } + } + this._renderedChildren = null; + }, - /** Mapping from reactRootID to `container` nodes. */ - var containersByReactRootID = {}; + /** + * Moves a child component to the supplied index. + * + * @param {ReactComponent} child Component to move. + * @param {number} toIndex Destination index of the element. + * @param {number} lastIndex Last index visited of the siblings of `child`. + * @protected + */ + moveChild: function(child, toIndex, lastIndex) { + // If the index of `child` is less than `lastIndex`, then it needs to + // be moved. Otherwise, we do not need to move it because a child will be + // inserted or moved before `child`. + if (child._mountIndex < lastIndex) { + enqueueMove(this._rootNodeID, child._mountIndex, toIndex); + } + }, - if (false) { - /** __DEV__-only mapping from reactRootID to root elements. */ - var rootElementsByReactRootID = {}; - } + /** + * Creates a child component. + * + * @param {ReactComponent} child Component to create. + * @param {string} mountImage Markup to insert. + * @protected + */ + createChild: function(child, mountImage) { + enqueueMarkup(this._rootNodeID, mountImage, child._mountIndex); + }, - // Used to store breadth-first search state in findComponentRoot. - var findComponentRootReusableArray = []; + /** + * Removes a child component. + * + * @param {ReactComponent} child Child to remove. + * @protected + */ + removeChild: function(child) { + enqueueRemove(this._rootNodeID, child._mountIndex); + }, - /** - * @param {DOMElement} container DOM element that may contain a React component. - * @return {?string} A "reactRoot" ID, if a React component is rendered. - */ - function getReactRootID(container) { - var rootElement = getReactRootElementInContainer(container); - return rootElement && ReactMount.getID(rootElement); - } + /** + * Sets this text content string. + * + * @param {string} textContent Text content to set. + * @protected + */ + setTextContent: function(textContent) { + enqueueTextContent(this._rootNodeID, textContent); + }, - /** - * Accessing node[ATTR_NAME] or calling getAttribute(ATTR_NAME) on a form - * element can return its control whose name or ID equals ATTR_NAME. All - * DOM nodes support `getAttributeNode` but this can also get called on - * other objects so just return '' if we're given something other than a - * DOM node (such as window). - * - * @param {?DOMElement|DOMWindow|DOMDocument|DOMTextNode} node DOM node. - * @return {string} ID of the supplied `domNode`. - */ - function getID(node) { - var id = internalGetID(node); - if (id) { - if (nodeCache.hasOwnProperty(id)) { - var cached = nodeCache[id]; - if (cached !== node) { - (false ? invariant( - !isValid(cached, id), - 'ReactMount: Two valid but unequal nodes with the same `%s`: %s', - ATTR_NAME, id - ) : invariant(!isValid(cached, id))); + /** + * Mounts a child with the supplied name. + * + * NOTE: This is part of `updateChildren` and is here for readability. + * + * @param {ReactComponent} child Component to mount. + * @param {string} name Name of the child. + * @param {number} index Index at which to insert the child. + * @param {ReactReconcileTransaction} transaction + * @private + */ + _mountChildByNameAtIndex: function(child, name, index, transaction) { + // Inlined for performance, see `ReactInstanceHandles.createReactID`. + var rootID = this._rootNodeID + name; + var mountImage = child.mountComponent( + rootID, + transaction, + this._mountDepth + 1 + ); + child._mountIndex = index; + this.createChild(child, mountImage); + this._renderedChildren = this._renderedChildren || {}; + this._renderedChildren[name] = child; + }, - nodeCache[id] = node; - } - } else { - nodeCache[id] = node; + /** + * Unmounts a rendered child by name. + * + * NOTE: This is part of `updateChildren` and is here for readability. + * + * @param {ReactComponent} child Component to unmount. + * @param {string} name Name of the child in `this._renderedChildren`. + * @private + */ + _unmountChildByName: function(child, name) { + this.removeChild(child); + child._mountIndex = null; + child.unmountComponent(); + delete this._renderedChildren[name]; } - } - return id; - } + } - function internalGetID(node) { - // If node is something like a window, document, or text node, none of - // which support attributes or a .getAttribute method, gracefully return - // the empty string, as if the attribute were missing. - return node && node.getAttribute && node.getAttribute(ATTR_NAME) || ''; - } + }; - /** - * Sets the React-specific ID of the given node. - * - * @param {DOMElement} node The DOM node whose ID will be set. - * @param {string} id The value of the ID attribute. - */ - function setID(node, id) { - var oldID = internalGetID(node); - if (oldID !== id) { - delete nodeCache[oldID]; - } - node.setAttribute(ATTR_NAME, id); - nodeCache[id] = node; - } + module.exports = ReactMultiChild; + + +/***/ }, +/* 116 */ +/***/ function(module, exports, __webpack_require__) { /** - * Finds the node with the supplied React-generated DOM ID. + * Copyright 2013-2014, Facebook, Inc. + * All rights reserved. * - * @param {string} id A React-generated DOM ID. - * @return {DOMElement} DOM node with the suppled `id`. - * @internal + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule ReactPerf + * @typechecks static-only */ - function getNode(id) { - if (!nodeCache.hasOwnProperty(id) || !isValid(nodeCache[id], id)) { - nodeCache[id] = ReactMount.findReactNodeByID(id); - } - return nodeCache[id]; - } + + "use strict"; /** - * A node is "valid" if it is contained by a currently mounted container. - * - * This means that the node does not have to be contained by a document in - * order to be considered valid. - * - * @param {?DOMElement} node The candidate DOM node. - * @param {string} id The expected ID of the node. - * @return {boolean} Whether the node is contained by a mounted container. + * ReactPerf is a general AOP system designed to measure performance. This + * module only has the hooks: see ReactDefaultPerf for the analysis tool. */ - function isValid(node, id) { - if (node) { - (false ? invariant( - internalGetID(node) === id, - 'ReactMount: Unexpected modification of `%s`', - ATTR_NAME - ) : invariant(internalGetID(node) === id)); + var ReactPerf = { + /** + * Boolean to enable/disable measurement. Set to false by default to prevent + * accidental logging and perf loss. + */ + enableMeasure: false, - var container = ReactMount.findReactContainerForID(id); - if (container && containsNode(container, node)) { - return true; + /** + * Holds onto the measure function in use. By default, don't measure + * anything, but we'll override this if we inject a measure function. + */ + storedMeasure: _noMeasure, + + /** + * Use this to wrap methods you want to measure. Zero overhead in production. + * + * @param {string} objName + * @param {string} fnName + * @param {function} func + * @return {function} + */ + measure: function(objName, fnName, func) { + if (false) { + var measuredFunc = null; + var wrapper = function() { + if (ReactPerf.enableMeasure) { + if (!measuredFunc) { + measuredFunc = ReactPerf.storedMeasure(objName, fnName, func); + } + return measuredFunc.apply(this, arguments); + } + return func.apply(this, arguments); + }; + wrapper.displayName = objName + '_' + fnName; + return wrapper; } - } + return func; + }, - return false; - } + injection: { + /** + * @param {function} measure + */ + injectMeasure: function(measure) { + ReactPerf.storedMeasure = measure; + } + } + }; /** - * Causes the cache to forget about one React-specific ID. + * Simply passes through the measured function, without measuring it. * - * @param {string} id The ID to forget. + * @param {string} objName + * @param {string} fnName + * @param {function} func + * @return {function} */ - function purgeID(id) { - delete nodeCache[id]; + function _noMeasure(objName, fnName, func) { + return func; } - var deepestNodeSoFar = null; - function findDeepestCachedAncestorImpl(ancestorID) { - var ancestor = nodeCache[ancestorID]; - if (ancestor && isValid(ancestor, ancestorID)) { - deepestNodeSoFar = ancestor; - } else { - // This node isn't populated in the cache, so presumably none of its - // descendants are. Break out of the loop. - return false; - } - } + module.exports = ReactPerf; - /** - * Return the deepest cached node whose ID is a prefix of `targetID`. - */ - function findDeepestCachedAncestor(targetID) { - deepestNodeSoFar = null; - ReactInstanceHandles.traverseAncestors( - targetID, - findDeepestCachedAncestorImpl - ); - var foundNode = deepestNodeSoFar; - deepestNodeSoFar = null; - return foundNode; - } +/***/ }, +/* 117 */ +/***/ function(module, exports, __webpack_require__) { /** - * Mounting is the process of initializing a React component by creatings its - * representative DOM elements and inserting them into a supplied `container`. - * Any prior content inside `container` is destroyed in the process. - * - * ReactMount.render( - * component, - * document.getElementById('container') - * ); + * Copyright 2013-2014, Facebook, Inc. + * All rights reserved. * - *

+ * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. * - * Inside of `container`, the first element rendered is the "reactRoot". + * @providesModule ReactPropTypes */ - var ReactMount = { - /** Exposed for debugging purposes **/ - _instancesByReactRootID: instancesByReactRootID, - - /** - * This is a hook provided to support rendering React components while - * ensuring that the apparent scroll position of its `container` does not - * change. - * - * @param {DOMElement} container The `container` being rendered into. - * @param {function} renderCallback This must be called once to do the render. - */ - scrollMonitor: function(container, renderCallback) { - renderCallback(); - }, - - /** - * Take a component that's already mounted into the DOM and replace its props - * @param {ReactComponent} prevComponent component instance already in the DOM - * @param {ReactComponent} nextComponent component instance to render - * @param {DOMElement} container container to render into - * @param {?function} callback function triggered on completion - */ - _updateRootComponent: function( - prevComponent, - nextComponent, - container, - callback) { - var nextProps = nextComponent.props; - ReactMount.scrollMonitor(container, function() { - prevComponent.replaceProps(nextProps, callback); - }); - if (false) { - // Record the root element in case it later gets transplanted. - rootElementsByReactRootID[getReactRootID(container)] = - getReactRootElementInContainer(container); - } + "use strict"; - return prevComponent; - }, + var ReactElement = __webpack_require__(107); + var ReactPropTypeLocationNames = __webpack_require__(145); - /** - * Register a component into the instance map and starts scroll value - * monitoring - * @param {ReactComponent} nextComponent component instance to render - * @param {DOMElement} container container to render into - * @return {string} reactRoot ID prefix - */ - _registerComponent: function(nextComponent, container) { - (false ? invariant( - container && ( - container.nodeType === ELEMENT_NODE_TYPE || - container.nodeType === DOC_NODE_TYPE - ), - '_registerComponent(...): Target container is not a DOM element.' - ) : invariant(container && ( - container.nodeType === ELEMENT_NODE_TYPE || - container.nodeType === DOC_NODE_TYPE - ))); + var deprecated = __webpack_require__(121); + var emptyFunction = __webpack_require__(187); - ReactBrowserEventEmitter.ensureScrollValueMonitoring(); + /** + * Collection of methods that allow declaration and validation of props that are + * supplied to React components. Example usage: + * + * var Props = require('ReactPropTypes'); + * var MyArticle = React.createClass({ + * propTypes: { + * // An optional string prop named "description". + * description: Props.string, + * + * // A required enum prop named "category". + * category: Props.oneOf(['News','Photos']).isRequired, + * + * // A prop named "dialog" that requires an instance of Dialog. + * dialog: Props.instanceOf(Dialog).isRequired + * }, + * render: function() { ... } + * }); + * + * A more formal specification of how these methods are used: + * + * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...) + * decl := ReactPropTypes.{type}(.isRequired)? + * + * Each and every declaration produces a function with the same signature. This + * allows the creation of custom validation functions. For example: + * + * var MyLink = React.createClass({ + * propTypes: { + * // An optional string or URI prop named "href". + * href: function(props, propName, componentName) { + * var propValue = props[propName]; + * if (propValue != null && typeof propValue !== 'string' && + * !(propValue instanceof URI)) { + * return new Error( + * 'Expected a string or an URI for ' + propName + ' in ' + + * componentName + * ); + * } + * } + * }, + * render: function() {...} + * }); + * + * @internal + */ - var reactRootID = ReactMount.registerContainer(container); - instancesByReactRootID[reactRootID] = nextComponent; - return reactRootID; - }, + var ANONYMOUS = '<>'; - /** - * Render a new component into the DOM. - * @param {ReactComponent} nextComponent component instance to render - * @param {DOMElement} container container to render into - * @param {boolean} shouldReuseMarkup if we should skip the markup insertion - * @return {ReactComponent} nextComponent - */ - _renderNewRootComponent: ReactPerf.measure( - 'ReactMount', - '_renderNewRootComponent', - function( - nextComponent, - container, - shouldReuseMarkup) { - // Various parts of our code (such as ReactCompositeComponent's - // _renderValidatedComponent) assume that calls to render aren't nested; - // verify that that's the case. - (false ? warning( - ReactCurrentOwner.current == null, - '_renderNewRootComponent(): Render methods should be a pure function ' + - 'of props and state; triggering nested component updates from ' + - 'render is not allowed. If necessary, trigger nested updates in ' + - 'componentDidUpdate.' - ) : null); + var elementTypeChecker = createElementTypeChecker(); + var nodeTypeChecker = createNodeChecker(); - var componentInstance = instantiateReactComponent(nextComponent, null); - var reactRootID = ReactMount._registerComponent( - componentInstance, - container - ); - componentInstance.mountComponentIntoNode( - reactRootID, - container, - shouldReuseMarkup - ); + var ReactPropTypes = { + array: createPrimitiveTypeChecker('array'), + bool: createPrimitiveTypeChecker('boolean'), + func: createPrimitiveTypeChecker('function'), + number: createPrimitiveTypeChecker('number'), + object: createPrimitiveTypeChecker('object'), + string: createPrimitiveTypeChecker('string'), - if (false) { - // Record the root element in case it later gets transplanted. - rootElementsByReactRootID[reactRootID] = - getReactRootElementInContainer(container); - } + any: createAnyTypeChecker(), + arrayOf: createArrayOfTypeChecker, + element: elementTypeChecker, + instanceOf: createInstanceTypeChecker, + node: nodeTypeChecker, + objectOf: createObjectOfTypeChecker, + oneOf: createEnumTypeChecker, + oneOfType: createUnionTypeChecker, + shape: createShapeTypeChecker, - return componentInstance; - } + component: deprecated( + 'React.PropTypes', + 'component', + 'element', + this, + elementTypeChecker ), + renderable: deprecated( + 'React.PropTypes', + 'renderable', + 'node', + this, + nodeTypeChecker + ) + }; - /** - * Renders a React component into the DOM in the supplied `container`. - * - * If the React component was previously rendered into `container`, this will - * perform an update on it and only mutate the DOM as necessary to reflect the - * latest React component. - * - * @param {ReactElement} nextElement Component element to render. - * @param {DOMElement} container DOM element to render into. - * @param {?function} callback function triggered on completion - * @return {ReactComponent} Component instance rendered in `container`. - */ - render: function(nextElement, container, callback) { - (false ? invariant( - ReactElement.isValidElement(nextElement), - 'renderComponent(): Invalid component element.%s', - ( - typeof nextElement === 'string' ? - ' Instead of passing an element string, make sure to instantiate ' + - 'it by passing it to React.createElement.' : - ReactLegacyElement.isValidFactory(nextElement) ? - ' Instead of passing a component class, make sure to instantiate ' + - 'it by passing it to React.createElement.' : - // Check if it quacks like a element - typeof nextElement.props !== "undefined" ? - ' This may be caused by unintentionally loading two independent ' + - 'copies of React.' : - '' - ) - ) : invariant(ReactElement.isValidElement(nextElement))); - - var prevComponent = instancesByReactRootID[getReactRootID(container)]; - - if (prevComponent) { - var prevElement = prevComponent._currentElement; - if (shouldUpdateReactComponent(prevElement, nextElement)) { - return ReactMount._updateRootComponent( - prevComponent, - nextElement, - container, - callback + function createChainableTypeChecker(validate) { + function checkType(isRequired, props, propName, componentName, location) { + componentName = componentName || ANONYMOUS; + if (props[propName] == null) { + var locationName = ReactPropTypeLocationNames[location]; + if (isRequired) { + return new Error( + ("Required " + locationName + " `" + propName + "` was not specified in ")+ + ("`" + componentName + "`.") ); - } else { - ReactMount.unmountComponentAtNode(container); } + } else { + return validate(props, propName, componentName, location); } + } - var reactRootElement = getReactRootElementInContainer(container); - var containerHasReactMarkup = - reactRootElement && ReactMount.isRenderedByReact(reactRootElement); + var chainedCheckType = checkType.bind(null, false); + chainedCheckType.isRequired = checkType.bind(null, true); - var shouldReuseMarkup = containerHasReactMarkup && !prevComponent; + return chainedCheckType; + } - var component = ReactMount._renderNewRootComponent( - nextElement, - container, - shouldReuseMarkup - ); - callback && callback.call(component); - return component; - }, + function createPrimitiveTypeChecker(expectedType) { + function validate(props, propName, componentName, location) { + var propValue = props[propName]; + var propType = getPropType(propValue); + if (propType !== expectedType) { + var locationName = ReactPropTypeLocationNames[location]; + // `propValue` being instance of, say, date/regexp, pass the 'object' + // check, but we can offer a more precise error message here rather than + // 'of type `object`'. + var preciseType = getPreciseType(propValue); - /** - * Constructs a component instance of `constructor` with `initialProps` and - * renders it into the supplied `container`. - * - * @param {function} constructor React component constructor. - * @param {?object} props Initial props of the component instance. - * @param {DOMElement} container DOM element to render into. - * @return {ReactComponent} Component instance rendered in `container`. - */ - constructAndRenderComponent: function(constructor, props, container) { - var element = createElement(constructor, props); - return ReactMount.render(element, container); - }, + return new Error( + ("Invalid " + locationName + " `" + propName + "` of type `" + preciseType + "` ") + + ("supplied to `" + componentName + "`, expected `" + expectedType + "`.") + ); + } + } + return createChainableTypeChecker(validate); + } - /** - * Constructs a component instance of `constructor` with `initialProps` and - * renders it into a container node identified by supplied `id`. - * - * @param {function} componentConstructor React component constructor - * @param {?object} props Initial props of the component instance. - * @param {string} id ID of the DOM element to render into. - * @return {ReactComponent} Component instance rendered in the container node. - */ - constructAndRenderComponentByID: function(constructor, props, id) { - var domNode = document.getElementById(id); - (false ? invariant( - domNode, - 'Tried to get element with id of "%s" but it is not present on the page.', - id - ) : invariant(domNode)); - return ReactMount.constructAndRenderComponent(constructor, props, domNode); - }, + function createAnyTypeChecker() { + return createChainableTypeChecker(emptyFunction.thatReturns()); + } - /** - * Registers a container node into which React components will be rendered. - * This also creates the "reactRoot" ID that will be assigned to the element - * rendered within. - * - * @param {DOMElement} container DOM element to register as a container. - * @return {string} The "reactRoot" ID of elements rendered within. - */ - registerContainer: function(container) { - var reactRootID = getReactRootID(container); - if (reactRootID) { - // If one exists, make sure it is a valid "reactRoot" ID. - reactRootID = ReactInstanceHandles.getReactRootIDFromNodeID(reactRootID); + function createArrayOfTypeChecker(typeChecker) { + function validate(props, propName, componentName, location) { + var propValue = props[propName]; + if (!Array.isArray(propValue)) { + var locationName = ReactPropTypeLocationNames[location]; + var propType = getPropType(propValue); + return new Error( + ("Invalid " + locationName + " `" + propName + "` of type ") + + ("`" + propType + "` supplied to `" + componentName + "`, expected an array.") + ); + } + for (var i = 0; i < propValue.length; i++) { + var error = typeChecker(propValue, i, componentName, location); + if (error instanceof Error) { + return error; + } + } + } + return createChainableTypeChecker(validate); + } + + function createElementTypeChecker() { + function validate(props, propName, componentName, location) { + if (!ReactElement.isValidElement(props[propName])) { + var locationName = ReactPropTypeLocationNames[location]; + return new Error( + ("Invalid " + locationName + " `" + propName + "` supplied to ") + + ("`" + componentName + "`, expected a ReactElement.") + ); + } + } + return createChainableTypeChecker(validate); + } + + function createInstanceTypeChecker(expectedClass) { + function validate(props, propName, componentName, location) { + if (!(props[propName] instanceof expectedClass)) { + var locationName = ReactPropTypeLocationNames[location]; + var expectedClassName = expectedClass.name || ANONYMOUS; + return new Error( + ("Invalid " + locationName + " `" + propName + "` supplied to ") + + ("`" + componentName + "`, expected instance of `" + expectedClassName + "`.") + ); } - if (!reactRootID) { - // No valid "reactRoot" ID found, create one. - reactRootID = ReactInstanceHandles.createReactRootID(); + } + return createChainableTypeChecker(validate); + } + + function createEnumTypeChecker(expectedValues) { + function validate(props, propName, componentName, location) { + var propValue = props[propName]; + for (var i = 0; i < expectedValues.length; i++) { + if (propValue === expectedValues[i]) { + return; + } } - containersByReactRootID[reactRootID] = container; - return reactRootID; - }, - /** - * Unmounts and destroys the React component rendered in the `container`. - * - * @param {DOMElement} container DOM element containing a React component. - * @return {boolean} True if a component was found in and unmounted from - * `container` - */ - unmountComponentAtNode: function(container) { - // Various parts of our code (such as ReactCompositeComponent's - // _renderValidatedComponent) assume that calls to render aren't nested; - // verify that that's the case. (Strictly speaking, unmounting won't cause a - // render but we still don't expect to be in a render call here.) - (false ? warning( - ReactCurrentOwner.current == null, - 'unmountComponentAtNode(): Render methods should be a pure function of ' + - 'props and state; triggering nested component updates from render is ' + - 'not allowed. If necessary, trigger nested updates in ' + - 'componentDidUpdate.' - ) : null); + var locationName = ReactPropTypeLocationNames[location]; + var valuesString = JSON.stringify(expectedValues); + return new Error( + ("Invalid " + locationName + " `" + propName + "` of value `" + propValue + "` ") + + ("supplied to `" + componentName + "`, expected one of " + valuesString + ".") + ); + } + return createChainableTypeChecker(validate); + } - var reactRootID = getReactRootID(container); - var component = instancesByReactRootID[reactRootID]; - if (!component) { - return false; + function createObjectOfTypeChecker(typeChecker) { + function validate(props, propName, componentName, location) { + var propValue = props[propName]; + var propType = getPropType(propValue); + if (propType !== 'object') { + var locationName = ReactPropTypeLocationNames[location]; + return new Error( + ("Invalid " + locationName + " `" + propName + "` of type ") + + ("`" + propType + "` supplied to `" + componentName + "`, expected an object.") + ); } - ReactMount.unmountComponentFromNode(component, container); - delete instancesByReactRootID[reactRootID]; - delete containersByReactRootID[reactRootID]; - if (false) { - delete rootElementsByReactRootID[reactRootID]; + for (var key in propValue) { + if (propValue.hasOwnProperty(key)) { + var error = typeChecker(propValue, key, componentName, location); + if (error instanceof Error) { + return error; + } + } } - return true; - }, - - /** - * Unmounts a component and removes it from the DOM. - * - * @param {ReactComponent} instance React component instance. - * @param {DOMElement} container DOM element to unmount from. - * @final - * @internal - * @see {ReactMount.unmountComponentAtNode} - */ - unmountComponentFromNode: function(instance, container) { - instance.unmountComponent(); + } + return createChainableTypeChecker(validate); + } - if (container.nodeType === DOC_NODE_TYPE) { - container = container.documentElement; + function createUnionTypeChecker(arrayOfTypeCheckers) { + function validate(props, propName, componentName, location) { + for (var i = 0; i < arrayOfTypeCheckers.length; i++) { + var checker = arrayOfTypeCheckers[i]; + if (checker(props, propName, componentName, location) == null) { + return; + } } - // http://jsperf.com/emptying-a-node - while (container.lastChild) { - container.removeChild(container.lastChild); - } - }, + var locationName = ReactPropTypeLocationNames[location]; + return new Error( + ("Invalid " + locationName + " `" + propName + "` supplied to ") + + ("`" + componentName + "`.") + ); + } + return createChainableTypeChecker(validate); + } - /** - * Finds the container DOM element that contains React component to which the - * supplied DOM `id` belongs. - * - * @param {string} id The ID of an element rendered by a React component. - * @return {?DOMElement} DOM element that contains the `id`. - */ - findReactContainerForID: function(id) { - var reactRootID = ReactInstanceHandles.getReactRootIDFromNodeID(id); - var container = containersByReactRootID[reactRootID]; + function createNodeChecker() { + function validate(props, propName, componentName, location) { + if (!isNode(props[propName])) { + var locationName = ReactPropTypeLocationNames[location]; + return new Error( + ("Invalid " + locationName + " `" + propName + "` supplied to ") + + ("`" + componentName + "`, expected a ReactNode.") + ); + } + } + return createChainableTypeChecker(validate); + } - if (false) { - var rootElement = rootElementsByReactRootID[reactRootID]; - if (rootElement && rootElement.parentNode !== container) { - ("production" !== process.env.NODE_ENV ? invariant( - // Call internalGetID here because getID calls isValid which calls - // findReactContainerForID (this function). - internalGetID(rootElement) === reactRootID, - 'ReactMount: Root element ID differed from reactRootID.' - ) : invariant(// Call internalGetID here because getID calls isValid which calls - // findReactContainerForID (this function). - internalGetID(rootElement) === reactRootID)); + function createShapeTypeChecker(shapeTypes) { + function validate(props, propName, componentName, location) { + var propValue = props[propName]; + var propType = getPropType(propValue); + if (propType !== 'object') { + var locationName = ReactPropTypeLocationNames[location]; + return new Error( + ("Invalid " + locationName + " `" + propName + "` of type `" + propType + "` ") + + ("supplied to `" + componentName + "`, expected `object`.") + ); + } + for (var key in shapeTypes) { + var checker = shapeTypes[key]; + if (!checker) { + continue; + } + var error = checker(propValue, key, componentName, location); + if (error) { + return error; + } + } + } + return createChainableTypeChecker(validate, 'expected `object`'); + } - var containerChild = container.firstChild; - if (containerChild && - reactRootID === internalGetID(containerChild)) { - // If the container has a new child with the same ID as the old - // root element, then rootElementsByReactRootID[reactRootID] is - // just stale and needs to be updated. The case that deserves a - // warning is when the container is empty. - rootElementsByReactRootID[reactRootID] = containerChild; - } else { - console.warn( - 'ReactMount: Root element has been removed from its original ' + - 'container. New container:', rootElement.parentNode - ); + function isNode(propValue) { + switch(typeof propValue) { + case 'number': + case 'string': + return true; + case 'boolean': + return !propValue; + case 'object': + if (Array.isArray(propValue)) { + return propValue.every(isNode); + } + if (ReactElement.isValidElement(propValue)) { + return true; + } + for (var k in propValue) { + if (!isNode(propValue[k])) { + return false; } } + return true; + default: + return false; + } + } + + // Equivalent of `typeof` but with special handling for array and regexp. + function getPropType(propValue) { + var propType = typeof propValue; + if (Array.isArray(propValue)) { + return 'array'; + } + if (propValue instanceof RegExp) { + // Old webkits (at least until Android 4.0) return 'function' rather than + // 'object' for typeof a RegExp. We'll normalize this here so that /bla/ + // passes PropTypes.object. + return 'object'; + } + return propType; + } + + // This handles more types than `getPropType`. Only used for error messages. + // See `createPrimitiveTypeChecker`. + function getPreciseType(propValue) { + var propType = getPropType(propValue); + if (propType === 'object') { + if (propValue instanceof Date) { + return 'date'; + } else if (propValue instanceof RegExp) { + return 'regexp'; } + } + return propType; + } - return container; - }, + module.exports = ReactPropTypes; - /** - * Finds an element rendered by React with the supplied ID. - * - * @param {string} id ID of a DOM node in the React component. - * @return {DOMElement} Root DOM node of the React component. - */ - findReactNodeByID: function(id) { - var reactRoot = ReactMount.findReactContainerForID(id); - return ReactMount.findComponentRoot(reactRoot, id); - }, - /** - * True if the supplied `node` is rendered by React. - * - * @param {*} node DOM Element to check. - * @return {boolean} True if the DOM Element appears to be rendered by React. - * @internal - */ - isRenderedByReact: function(node) { - if (node.nodeType !== 1) { - // Not a DOMElement, therefore not a React component - return false; - } - var id = ReactMount.getID(node); - return id ? id.charAt(0) === SEPARATOR : false; - }, +/***/ }, +/* 118 */ +/***/ function(module, exports, __webpack_require__) { + + /** + * Copyright 2013-2014, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @typechecks static-only + * @providesModule ReactServerRendering + */ + "use strict"; + + var ReactElement = __webpack_require__(107); + var ReactInstanceHandles = __webpack_require__(112); + var ReactMarkupChecksum = __webpack_require__(185); + var ReactServerRenderingTransaction = + __webpack_require__(186); - /** - * Traverses up the ancestors of the supplied node to find a node that is a - * DOM representation of a React component. - * - * @param {*} node - * @return {?DOMEventTarget} - * @internal - */ - getFirstReactDOM: function(node) { - var current = node; - while (current && current.parentNode !== current) { - if (ReactMount.isRenderedByReact(current)) { - return current; - } - current = current.parentNode; - } - return null; - }, + var instantiateReactComponent = __webpack_require__(146); + var invariant = __webpack_require__(132); - /** - * Finds a node with the supplied `targetID` inside of the supplied - * `ancestorNode`. Exploits the ID naming scheme to perform the search - * quickly. - * - * @param {DOMEventTarget} ancestorNode Search from this root. - * @pararm {string} targetID ID of the DOM representation of the component. - * @return {DOMEventTarget} DOM node with the supplied `targetID`. - * @internal - */ - findComponentRoot: function(ancestorNode, targetID) { - var firstChildren = findComponentRootReusableArray; - var childIndex = 0; + /** + * @param {ReactElement} element + * @return {string} the HTML markup + */ + function renderToString(element) { + (false ? invariant( + ReactElement.isValidElement(element), + 'renderToString(): You must pass a valid ReactElement.' + ) : invariant(ReactElement.isValidElement(element))); - var deepestAncestor = findDeepestCachedAncestor(targetID) || ancestorNode; + var transaction; + try { + var id = ReactInstanceHandles.createReactRootID(); + transaction = ReactServerRenderingTransaction.getPooled(false); - firstChildren[0] = deepestAncestor.firstChild; - firstChildren.length = 1; + return transaction.perform(function() { + var componentInstance = instantiateReactComponent(element, null); + var markup = componentInstance.mountComponent(id, transaction, 0); + return ReactMarkupChecksum.addChecksumToMarkup(markup); + }, null); + } finally { + ReactServerRenderingTransaction.release(transaction); + } + } - while (childIndex < firstChildren.length) { - var child = firstChildren[childIndex++]; - var targetChild; + /** + * @param {ReactElement} element + * @return {string} the HTML markup, without the extra React ID and checksum + * (for generating static pages) + */ + function renderToStaticMarkup(element) { + (false ? invariant( + ReactElement.isValidElement(element), + 'renderToStaticMarkup(): You must pass a valid ReactElement.' + ) : invariant(ReactElement.isValidElement(element))); - while (child) { - var childID = ReactMount.getID(child); - if (childID) { - // Even if we find the node we're looking for, we finish looping - // through its siblings to ensure they're cached so that we don't have - // to revisit this node again. Otherwise, we make n^2 calls to getID - // when visiting the many children of a single node in order. + var transaction; + try { + var id = ReactInstanceHandles.createReactRootID(); + transaction = ReactServerRenderingTransaction.getPooled(true); - if (targetID === childID) { - targetChild = child; - } else if (ReactInstanceHandles.isAncestorIDOf(childID, targetID)) { - // If we find a child whose ID is an ancestor of the given ID, - // then we can be sure that we only want to search the subtree - // rooted at this child, so we can throw out the rest of the - // search state. - firstChildren.length = childIndex = 0; - firstChildren.push(child.firstChild); - } + return transaction.perform(function() { + var componentInstance = instantiateReactComponent(element, null); + return componentInstance.mountComponent(id, transaction, 0); + }, null); + } finally { + ReactServerRenderingTransaction.release(transaction); + } + } - } else { - // If this child had no ID, then there's a chance that it was - // injected automatically by the browser, as when a `
` - // element sprouts an extra `` child as a side effect of - // `.innerHTML` parsing. Optimistically continue down this - // branch, but not before examining the other siblings. - firstChildren.push(child.firstChild); - } + module.exports = { + renderToString: renderToString, + renderToStaticMarkup: renderToStaticMarkup + }; - child = child.nextSibling; - } - if (targetChild) { - // Emptying firstChildren/findComponentRootReusableArray is - // not necessary for correctness, but it helps the GC reclaim - // any nodes that were left at the end of the search. - firstChildren.length = 0; +/***/ }, +/* 119 */ +/***/ function(module, exports, __webpack_require__) { - return targetChild; - } - } + /** + * Copyright 2013-2014, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule ReactTextComponent + * @typechecks static-only + */ - firstChildren.length = 0; + "use strict"; - (false ? invariant( - false, - 'findComponentRoot(..., %s): Unable to find element. This probably ' + - 'means the DOM was unexpectedly mutated (e.g., by the browser), ' + - 'usually due to forgetting a when using tables, nesting tags ' + - 'like ,

, or , or using non-SVG elements in an ' + - 'parent. ' + - 'Try inspecting the child nodes of the element with React ID `%s`.', - targetID, - ReactMount.getID(ancestorNode) - ) : invariant(false)); - }, + var DOMPropertyOperations = __webpack_require__(100); + var ReactComponent = __webpack_require__(103); + var ReactElement = __webpack_require__(107); + + var assign = __webpack_require__(120); + var escapeTextForBrowser = __webpack_require__(136); + + /** + * Text nodes violate a couple assumptions that React makes about components: + * + * - When mounting text into the DOM, adjacent text nodes are merged. + * - Text nodes cannot be assigned a React root ID. + * + * This component is used to wrap strings in elements so that they can undergo + * the same reconciliation that is applied to elements. + * + * TODO: Investigate representing React components in the DOM with text nodes. + * + * @class ReactTextComponent + * @extends ReactComponent + * @internal + */ + var ReactTextComponent = function(props) { + // This constructor and it's argument is currently used by mocks. + }; + assign(ReactTextComponent.prototype, ReactComponent.Mixin, { /** - * React ID utilities. + * Creates the markup for this text node. This node is not intended to have + * any features besides containing text content. + * + * @param {string} rootID DOM ID of the root node. + * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction + * @param {number} mountDepth number of components in the owner hierarchy + * @return {string} Markup for this text node. + * @internal */ + mountComponent: function(rootID, transaction, mountDepth) { + ReactComponent.Mixin.mountComponent.call( + this, + rootID, + transaction, + mountDepth + ); - getReactRootID: getReactRootID, + var escapedText = escapeTextForBrowser(this.props); - getID: getID, + if (transaction.renderToStaticMarkup) { + // Normally we'd wrap this in a `span` for the reasons stated above, but + // since this is a situation where React won't take over (static pages), + // we can simply return the text as it is. + return escapedText; + } - setID: setID, + return ( + '' + + escapedText + + '' + ); + }, - getNode: getNode, + /** + * Updates this component by updating the text content. + * + * @param {object} nextComponent Contains the next text content. + * @param {ReactReconcileTransaction} transaction + * @internal + */ + receiveComponent: function(nextComponent, transaction) { + var nextProps = nextComponent.props; + if (nextProps !== this.props) { + this.props = nextProps; + ReactComponent.BackendIDOperations.updateTextContentByID( + this._rootNodeID, + nextProps + ); + } + } - purgeID: purgeID - }; + }); - // Deprecations (remove for 0.13) - ReactMount.renderComponent = deprecated( - 'ReactMount', - 'renderComponent', - 'render', - this, - ReactMount.render - ); + var ReactTextComponentFactory = function(text) { + // Bypass validation and configuration + return new ReactElement(ReactTextComponent, null, null, null, null, text); + }; - module.exports = ReactMount; + ReactTextComponentFactory.type = ReactTextComponent; + + module.exports = ReactTextComponentFactory; /***/ }, -/* 113 */ +/* 120 */ /***/ function(module, exports, __webpack_require__) { /** - * Copyright 2013-2014, Facebook, Inc. + * Copyright 2014, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule ReactMultiChild - * @typechecks static-only + * @providesModule Object.assign */ - "use strict"; + // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-object.assign - var ReactComponent = __webpack_require__(101); - var ReactMultiChildUpdateTypes = __webpack_require__(174); + function assign(target, sources) { + if (target == null) { + throw new TypeError('Object.assign target cannot be null or undefined'); + } - var flattenChildren = __webpack_require__(175); - var instantiateReactComponent = __webpack_require__(135); - var shouldUpdateReactComponent = __webpack_require__(139); + var to = Object(target); + var hasOwnProperty = Object.prototype.hasOwnProperty; - /** - * Updating children of a component may trigger recursive updates. The depth is - * used to batch recursive updates to render markup more efficiently. - * - * @type {number} - * @private - */ - var updateDepth = 0; + for (var nextIndex = 1; nextIndex < arguments.length; nextIndex++) { + var nextSource = arguments[nextIndex]; + if (nextSource == null) { + continue; + } - /** - * Queue of update configuration objects. - * - * Each object has a `type` property that is in `ReactMultiChildUpdateTypes`. - * - * @type {array} - * @private - */ - var updateQueue = []; + var from = Object(nextSource); - /** - * Queue of markup to be rendered. - * - * @type {array} - * @private - */ - var markupQueue = []; + // We don't currently support accessors nor proxies. Therefore this + // copy cannot throw. If we ever supported this then we must handle + // exceptions and side-effects. We don't support symbols so they won't + // be transferred. - /** - * Enqueues markup to be rendered and inserted at a supplied index. - * - * @param {string} parentID ID of the parent component. - * @param {string} markup Markup that renders into an element. - * @param {number} toIndex Destination index. - * @private - */ - function enqueueMarkup(parentID, markup, toIndex) { - // NOTE: Null values reduce hidden classes. - updateQueue.push({ - parentID: parentID, - parentNode: null, - type: ReactMultiChildUpdateTypes.INSERT_MARKUP, - markupIndex: markupQueue.push(markup) - 1, - textContent: null, - fromIndex: null, - toIndex: toIndex - }); - } + for (var key in from) { + if (hasOwnProperty.call(from, key)) { + to[key] = from[key]; + } + } + } - /** - * Enqueues moving an existing element to another index. - * - * @param {string} parentID ID of the parent component. - * @param {number} fromIndex Source index of the existing element. - * @param {number} toIndex Destination index of the element. - * @private - */ - function enqueueMove(parentID, fromIndex, toIndex) { - // NOTE: Null values reduce hidden classes. - updateQueue.push({ - parentID: parentID, - parentNode: null, - type: ReactMultiChildUpdateTypes.MOVE_EXISTING, - markupIndex: null, - textContent: null, - fromIndex: fromIndex, - toIndex: toIndex - }); - } + return to; + }; - /** - * Enqueues removing an element at an index. - * - * @param {string} parentID ID of the parent component. - * @param {number} fromIndex Index of the element to remove. - * @private - */ - function enqueueRemove(parentID, fromIndex) { - // NOTE: Null values reduce hidden classes. - updateQueue.push({ - parentID: parentID, - parentNode: null, - type: ReactMultiChildUpdateTypes.REMOVE_NODE, - markupIndex: null, - textContent: null, - fromIndex: fromIndex, - toIndex: null - }); - } + module.exports = assign; + + +/***/ }, +/* 121 */ +/***/ function(module, exports, __webpack_require__) { /** - * Enqueues setting the text content. + * Copyright 2013-2014, Facebook, Inc. + * All rights reserved. * - * @param {string} parentID ID of the parent component. - * @param {string} textContent Text content to set. - * @private + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule deprecated */ - function enqueueTextContent(parentID, textContent) { - // NOTE: Null values reduce hidden classes. - updateQueue.push({ - parentID: parentID, - parentNode: null, - type: ReactMultiChildUpdateTypes.TEXT_CONTENT, - markupIndex: null, - textContent: textContent, - fromIndex: null, - toIndex: null - }); - } + + var assign = __webpack_require__(120); + var warning = __webpack_require__(138); /** - * Processes any enqueued updates. + * This will log a single deprecation notice per function and forward the call + * on to the new API. * - * @private + * @param {string} namespace The namespace of the call, eg 'React' + * @param {string} oldName The old function name, eg 'renderComponent' + * @param {string} newName The new function name, eg 'render' + * @param {*} ctx The context this forwarded call should run in + * @param {function} fn The function to forward on to + * @return {*} Will be the value as returned from `fn` */ - function processQueue() { - if (updateQueue.length) { - ReactComponent.BackendIDOperations.dangerouslyProcessChildrenUpdates( - updateQueue, - markupQueue - ); - clearQueue(); + function deprecated(namespace, oldName, newName, ctx, fn) { + var warned = false; + if (false) { + var newFn = function() { + ("production" !== process.env.NODE_ENV ? warning( + warned, + (namespace + "." + oldName + " will be deprecated in a future version. ") + + ("Use " + namespace + "." + newName + " instead.") + ) : null); + warned = true; + return fn.apply(ctx, arguments); + }; + newFn.displayName = (namespace + "_" + oldName); + // We need to make sure all properties of the original fn are copied over. + // In particular, this is needed to support PropTypes + return assign(newFn, fn); } - } - /** - * Clears any enqueued updates. - * - * @private - */ - function clearQueue() { - updateQueue.length = 0; - markupQueue.length = 0; + return fn; } + module.exports = deprecated; + + +/***/ }, +/* 122 */ +/***/ function(module, exports, __webpack_require__) { + /** - * ReactMultiChild are capable of reconciling multiple children. + * Copyright 2013-2014, Facebook, Inc. + * All rights reserved. * - * @class ReactMultiChild - * @internal + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule onlyChild */ - var ReactMultiChild = { - - /** - * Provides common functionality for components that must reconcile multiple - * children. This is used by `ReactDOMComponent` to mount, update, and - * unmount child components. - * - * @lends {ReactMultiChild.prototype} - */ - Mixin: { - - /** - * Generates a "mount image" for each of the supplied children. In the case - * of `ReactDOMComponent`, a mount image is a string of markup. - * - * @param {?object} nestedChildren Nested child maps. - * @return {array} An array of mounted representations. - * @internal - */ - mountChildren: function(nestedChildren, transaction) { - var children = flattenChildren(nestedChildren); - var mountImages = []; - var index = 0; - this._renderedChildren = children; - for (var name in children) { - var child = children[name]; - if (children.hasOwnProperty(name)) { - // The rendered children must be turned into instances as they're - // mounted. - var childInstance = instantiateReactComponent(child, null); - children[name] = childInstance; - // Inlined for performance, see `ReactInstanceHandles.createReactID`. - var rootID = this._rootNodeID + name; - var mountImage = childInstance.mountComponent( - rootID, - transaction, - this._mountDepth + 1 - ); - childInstance._mountIndex = index; - mountImages.push(mountImage); - index++; - } - } - return mountImages; - }, + "use strict"; - /** - * Replaces any rendered children with a text content string. - * - * @param {string} nextContent String of content. - * @internal - */ - updateTextContent: function(nextContent) { - updateDepth++; - var errorThrown = true; - try { - var prevChildren = this._renderedChildren; - // Remove any rendered children. - for (var name in prevChildren) { - if (prevChildren.hasOwnProperty(name)) { - this._unmountChildByName(prevChildren[name], name); - } - } - // Set new text content. - this.setTextContent(nextContent); - errorThrown = false; - } finally { - updateDepth--; - if (!updateDepth) { - errorThrown ? clearQueue() : processQueue(); - } - } - }, + var ReactElement = __webpack_require__(107); - /** - * Updates the rendered children with new children. - * - * @param {?object} nextNestedChildren Nested child maps. - * @param {ReactReconcileTransaction} transaction - * @internal - */ - updateChildren: function(nextNestedChildren, transaction) { - updateDepth++; - var errorThrown = true; - try { - this._updateChildren(nextNestedChildren, transaction); - errorThrown = false; - } finally { - updateDepth--; - if (!updateDepth) { - errorThrown ? clearQueue() : processQueue(); - } - } - }, + var invariant = __webpack_require__(132); - /** - * Improve performance by isolating this hot code path from the try/catch - * block in `updateChildren`. - * - * @param {?object} nextNestedChildren Nested child maps. - * @param {ReactReconcileTransaction} transaction - * @final - * @protected - */ - _updateChildren: function(nextNestedChildren, transaction) { - var nextChildren = flattenChildren(nextNestedChildren); - var prevChildren = this._renderedChildren; - if (!nextChildren && !prevChildren) { - return; - } - var name; - // `nextIndex` will increment for each child in `nextChildren`, but - // `lastIndex` will be the last index visited in `prevChildren`. - var lastIndex = 0; - var nextIndex = 0; - for (name in nextChildren) { - if (!nextChildren.hasOwnProperty(name)) { - continue; - } - var prevChild = prevChildren && prevChildren[name]; - var prevElement = prevChild && prevChild._currentElement; - var nextElement = nextChildren[name]; - if (shouldUpdateReactComponent(prevElement, nextElement)) { - this.moveChild(prevChild, nextIndex, lastIndex); - lastIndex = Math.max(prevChild._mountIndex, lastIndex); - prevChild.receiveComponent(nextElement, transaction); - prevChild._mountIndex = nextIndex; - } else { - if (prevChild) { - // Update `lastIndex` before `_mountIndex` gets unset by unmounting. - lastIndex = Math.max(prevChild._mountIndex, lastIndex); - this._unmountChildByName(prevChild, name); - } - // The child must be instantiated before it's mounted. - var nextChildInstance = instantiateReactComponent( - nextElement, - null - ); - this._mountChildByNameAtIndex( - nextChildInstance, name, nextIndex, transaction - ); - } - nextIndex++; - } - // Remove children that are no longer present. - for (name in prevChildren) { - if (prevChildren.hasOwnProperty(name) && - !(nextChildren && nextChildren[name])) { - this._unmountChildByName(prevChildren[name], name); - } - } - }, + /** + * Returns the first child in a collection of children and verifies that there + * is only one child in the collection. The current implementation of this + * function assumes that a single child gets passed without a wrapper, but the + * purpose of this helper function is to abstract away the particular structure + * of children. + * + * @param {?object} children Child collection structure. + * @return {ReactComponent} The first and only `ReactComponent` contained in the + * structure. + */ + function onlyChild(children) { + (false ? invariant( + ReactElement.isValidElement(children), + 'onlyChild must be passed a children with exactly one child.' + ) : invariant(ReactElement.isValidElement(children))); + return children; + } - /** - * Unmounts all rendered children. This should be used to clean up children - * when this component is unmounted. - * - * @internal - */ - unmountChildren: function() { - var renderedChildren = this._renderedChildren; - for (var name in renderedChildren) { - var renderedChild = renderedChildren[name]; - // TODO: When is this not true? - if (renderedChild.unmountComponent) { - renderedChild.unmountComponent(); - } - } - this._renderedChildren = null; - }, + module.exports = onlyChild; - /** - * Moves a child component to the supplied index. - * - * @param {ReactComponent} child Component to move. - * @param {number} toIndex Destination index of the element. - * @param {number} lastIndex Last index visited of the siblings of `child`. - * @protected - */ - moveChild: function(child, toIndex, lastIndex) { - // If the index of `child` is less than `lastIndex`, then it needs to - // be moved. Otherwise, we do not need to move it because a child will be - // inserted or moved before `child`. - if (child._mountIndex < lastIndex) { - enqueueMove(this._rootNodeID, child._mountIndex, toIndex); - } - }, - /** - * Creates a child component. - * - * @param {ReactComponent} child Component to create. - * @param {string} mountImage Markup to insert. - * @protected - */ - createChild: function(child, mountImage) { - enqueueMarkup(this._rootNodeID, mountImage, child._mountIndex); - }, +/***/ }, +/* 123 */ +/***/ function(module, exports, __webpack_require__) { - /** - * Removes a child component. - * - * @param {ReactComponent} child Child to remove. - * @protected - */ - removeChild: function(child) { - enqueueRemove(this._rootNodeID, child._mountIndex); - }, + /** + * Copyright 2013-2014, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule LinkedStateMixin + * @typechecks static-only + */ - /** - * Sets this text content string. - * - * @param {string} textContent Text content to set. - * @protected - */ - setTextContent: function(textContent) { - enqueueTextContent(this._rootNodeID, textContent); - }, + "use strict"; - /** - * Mounts a child with the supplied name. - * - * NOTE: This is part of `updateChildren` and is here for readability. - * - * @param {ReactComponent} child Component to mount. - * @param {string} name Name of the child. - * @param {number} index Index at which to insert the child. - * @param {ReactReconcileTransaction} transaction - * @private - */ - _mountChildByNameAtIndex: function(child, name, index, transaction) { - // Inlined for performance, see `ReactInstanceHandles.createReactID`. - var rootID = this._rootNodeID + name; - var mountImage = child.mountComponent( - rootID, - transaction, - this._mountDepth + 1 - ); - child._mountIndex = index; - this.createChild(child, mountImage); - this._renderedChildren = this._renderedChildren || {}; - this._renderedChildren[name] = child; - }, + var ReactLink = __webpack_require__(190); + var ReactStateSetters = __webpack_require__(191); - /** - * Unmounts a rendered child by name. - * - * NOTE: This is part of `updateChildren` and is here for readability. - * - * @param {ReactComponent} child Component to unmount. - * @param {string} name Name of the child in `this._renderedChildren`. - * @private - */ - _unmountChildByName: function(child, name) { - this.removeChild(child); - child._mountIndex = null; - child.unmountComponent(); - delete this._renderedChildren[name]; - } + /** + * A simple mixin around ReactLink.forState(). + */ + var LinkedStateMixin = { + /** + * Create a ReactLink that's linked to part of this component's state. The + * ReactLink will have the current value of this.state[key] and will call + * setState() when a change is requested. + * + * @param {string} key state key to update. Note: you may want to use keyOf() + * if you're using Google Closure Compiler advanced mode. + * @return {ReactLink} ReactLink instance linking to the state. + */ + linkState: function(key) { + return new ReactLink( + this.state[key], + ReactStateSetters.createStateKeySetter(this, key) + ); + } + }; + + module.exports = LinkedStateMixin; + + +/***/ }, +/* 124 */ +/***/ function(module, exports, __webpack_require__) { + + /** + * Copyright 2013-2014, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule ReactComponentWithPureRenderMixin + */ - } + "use strict"; + var shallowEqual = __webpack_require__(188); + + /** + * If your React component's render function is "pure", e.g. it will render the + * same result given the same props and state, provide this Mixin for a + * considerable performance boost. + * + * Most React components have pure render functions. + * + * Example: + * + * var ReactComponentWithPureRenderMixin = + * require('ReactComponentWithPureRenderMixin'); + * React.createClass({ + * mixins: [ReactComponentWithPureRenderMixin], + * + * render: function() { + * return
foo
; + * } + * }); + * + * Note: This only checks shallow equality for props and state. If these contain + * complex data structures this mixin may have false-negatives for deeper + * differences. Only mixin to components which have simple props and state, or + * use `forceUpdate()` when you know deep data structures have changed. + */ + var ReactComponentWithPureRenderMixin = { + shouldComponentUpdate: function(nextProps, nextState) { + return !shallowEqual(this.props, nextProps) || + !shallowEqual(this.state, nextState); + } }; - module.exports = ReactMultiChild; + module.exports = ReactComponentWithPureRenderMixin; /***/ }, -/* 114 */ +/* 125 */ /***/ function(module, exports, __webpack_require__) { /** @@ -17859,82 +18802,260 @@ return /******/ (function(modules) { // webpackBootstrap * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule ReactPerf - * @typechecks static-only + * @typechecks + * @providesModule ReactCSSTransitionGroup */ "use strict"; - /** - * ReactPerf is a general AOP system designed to measure performance. This - * module only has the hooks: see ReactDefaultPerf for the analysis tool. - */ - var ReactPerf = { - /** - * Boolean to enable/disable measurement. Set to false by default to prevent - * accidental logging and perf loss. - */ - enableMeasure: false, + var React = __webpack_require__(13); - /** - * Holds onto the measure function in use. By default, don't measure - * anything, but we'll override this if we inject a measure function. - */ - storedMeasure: _noMeasure, + var assign = __webpack_require__(120); - /** - * Use this to wrap methods you want to measure. Zero overhead in production. - * - * @param {string} objName - * @param {string} fnName - * @param {function} func - * @return {function} - */ - measure: function(objName, fnName, func) { - if (false) { - var measuredFunc = null; - var wrapper = function() { - if (ReactPerf.enableMeasure) { - if (!measuredFunc) { - measuredFunc = ReactPerf.storedMeasure(objName, fnName, func); - } - return measuredFunc.apply(this, arguments); - } - return func.apply(this, arguments); - }; - wrapper.displayName = objName + '_' + fnName; - return wrapper; - } - return func; + var ReactTransitionGroup = React.createFactory( + __webpack_require__(126) + ); + var ReactCSSTransitionGroupChild = React.createFactory( + __webpack_require__(189) + ); + + var ReactCSSTransitionGroup = React.createClass({ + displayName: 'ReactCSSTransitionGroup', + + propTypes: { + transitionName: React.PropTypes.string.isRequired, + transitionEnter: React.PropTypes.bool, + transitionLeave: React.PropTypes.bool }, - injection: { - /** - * @param {function} measure - */ - injectMeasure: function(measure) { - ReactPerf.storedMeasure = measure; - } + getDefaultProps: function() { + return { + transitionEnter: true, + transitionLeave: true + }; + }, + + _wrapChild: function(child) { + // We need to provide this childFactory so that + // ReactCSSTransitionGroupChild can receive updates to name, enter, and + // leave while it is leaving. + return ReactCSSTransitionGroupChild( + { + name: this.props.transitionName, + enter: this.props.transitionEnter, + leave: this.props.transitionLeave + }, + child + ); + }, + + render: function() { + return ( + ReactTransitionGroup( + assign({}, this.props, {childFactory: this._wrapChild}) + ) + ); } - }; + }); + + module.exports = ReactCSSTransitionGroup; + + +/***/ }, +/* 126 */ +/***/ function(module, exports, __webpack_require__) { /** - * Simply passes through the measured function, without measuring it. + * Copyright 2013-2014, Facebook, Inc. + * All rights reserved. * - * @param {string} objName - * @param {string} fnName - * @param {function} func - * @return {function} + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule ReactTransitionGroup */ - function _noMeasure(objName, fnName, func) { - return func; - } - module.exports = ReactPerf; + "use strict"; + + var React = __webpack_require__(13); + var ReactTransitionChildMapping = __webpack_require__(192); + + var assign = __webpack_require__(120); + var cloneWithProps = __webpack_require__(129); + var emptyFunction = __webpack_require__(187); + + var ReactTransitionGroup = React.createClass({ + displayName: 'ReactTransitionGroup', + + propTypes: { + component: React.PropTypes.any, + childFactory: React.PropTypes.func + }, + + getDefaultProps: function() { + return { + component: 'span', + childFactory: emptyFunction.thatReturnsArgument + }; + }, + + getInitialState: function() { + return { + children: ReactTransitionChildMapping.getChildMapping(this.props.children) + }; + }, + + componentWillReceiveProps: function(nextProps) { + var nextChildMapping = ReactTransitionChildMapping.getChildMapping( + nextProps.children + ); + var prevChildMapping = this.state.children; + + this.setState({ + children: ReactTransitionChildMapping.mergeChildMappings( + prevChildMapping, + nextChildMapping + ) + }); + + var key; + + for (key in nextChildMapping) { + var hasPrev = prevChildMapping && prevChildMapping.hasOwnProperty(key); + if (nextChildMapping[key] && !hasPrev && + !this.currentlyTransitioningKeys[key]) { + this.keysToEnter.push(key); + } + } + + for (key in prevChildMapping) { + var hasNext = nextChildMapping && nextChildMapping.hasOwnProperty(key); + if (prevChildMapping[key] && !hasNext && + !this.currentlyTransitioningKeys[key]) { + this.keysToLeave.push(key); + } + } + + // If we want to someday check for reordering, we could do it here. + }, + + componentWillMount: function() { + this.currentlyTransitioningKeys = {}; + this.keysToEnter = []; + this.keysToLeave = []; + }, + + componentDidUpdate: function() { + var keysToEnter = this.keysToEnter; + this.keysToEnter = []; + keysToEnter.forEach(this.performEnter); + + var keysToLeave = this.keysToLeave; + this.keysToLeave = []; + keysToLeave.forEach(this.performLeave); + }, + + performEnter: function(key) { + this.currentlyTransitioningKeys[key] = true; + + var component = this.refs[key]; + + if (component.componentWillEnter) { + component.componentWillEnter( + this._handleDoneEntering.bind(this, key) + ); + } else { + this._handleDoneEntering(key); + } + }, + + _handleDoneEntering: function(key) { + var component = this.refs[key]; + if (component.componentDidEnter) { + component.componentDidEnter(); + } + + delete this.currentlyTransitioningKeys[key]; + + var currentChildMapping = ReactTransitionChildMapping.getChildMapping( + this.props.children + ); + + if (!currentChildMapping || !currentChildMapping.hasOwnProperty(key)) { + // This was removed before it had fully entered. Remove it. + this.performLeave(key); + } + }, + + performLeave: function(key) { + this.currentlyTransitioningKeys[key] = true; + + var component = this.refs[key]; + if (component.componentWillLeave) { + component.componentWillLeave(this._handleDoneLeaving.bind(this, key)); + } else { + // Note that this is somewhat dangerous b/c it calls setState() + // again, effectively mutating the component before all the work + // is done. + this._handleDoneLeaving(key); + } + }, + + _handleDoneLeaving: function(key) { + var component = this.refs[key]; + + if (component.componentDidLeave) { + component.componentDidLeave(); + } + + delete this.currentlyTransitioningKeys[key]; + + var currentChildMapping = ReactTransitionChildMapping.getChildMapping( + this.props.children + ); + + if (currentChildMapping && currentChildMapping.hasOwnProperty(key)) { + // This entered again before it fully left. Add it again. + this.performEnter(key); + } else { + var newChildren = assign({}, this.state.children); + delete newChildren[key]; + this.setState({children: newChildren}); + } + }, + + render: function() { + // TODO: we could get rid of the need for the wrapper node + // by cloning a single child + var childrenToRender = {}; + for (var key in this.state.children) { + var child = this.state.children[key]; + if (child) { + // You may need to apply reactive updates to a child as it is leaving. + // The normal React way to do it won't work since the child will have + // already been removed. In case you need this behavior you can provide + // a childFactory function to wrap every child, even the ones that are + // leaving. + childrenToRender[key] = cloneWithProps( + this.props.childFactory(child), + {ref: key} + ); + } + } + return React.createElement( + this.props.component, + this.props, + childrenToRender + ); + } + }); + + module.exports = ReactTransitionGroup; /***/ }, -/* 115 */ +/* 127 */ /***/ function(module, exports, __webpack_require__) { /** @@ -17945,354 +19066,392 @@ return /******/ (function(modules) { // webpackBootstrap * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule ReactPropTypes + * @providesModule ReactUpdates */ - "use strict"; + "use strict"; + + var CallbackQueue = __webpack_require__(193); + var PooledClass = __webpack_require__(139); + var ReactCurrentOwner = __webpack_require__(106); + var ReactPerf = __webpack_require__(116); + var Transaction = __webpack_require__(194); + + var assign = __webpack_require__(120); + var invariant = __webpack_require__(132); + var warning = __webpack_require__(138); + + var dirtyComponents = []; + var asapCallbackQueue = CallbackQueue.getPooled(); + var asapEnqueued = false; + + var batchingStrategy = null; + + function ensureInjected() { + (false ? invariant( + ReactUpdates.ReactReconcileTransaction && batchingStrategy, + 'ReactUpdates: must inject a reconcile transaction class and batching ' + + 'strategy' + ) : invariant(ReactUpdates.ReactReconcileTransaction && batchingStrategy)); + } + + var NESTED_UPDATES = { + initialize: function() { + this.dirtyComponentsLength = dirtyComponents.length; + }, + close: function() { + if (this.dirtyComponentsLength !== dirtyComponents.length) { + // Additional updates were enqueued by componentDidUpdate handlers or + // similar; before our own UPDATE_QUEUEING wrapper closes, we want to run + // these new updates so that if A's componentDidUpdate calls setState on + // B, B will update before the callback A's updater provided when calling + // setState. + dirtyComponents.splice(0, this.dirtyComponentsLength); + flushBatchedUpdates(); + } else { + dirtyComponents.length = 0; + } + } + }; + + var UPDATE_QUEUEING = { + initialize: function() { + this.callbackQueue.reset(); + }, + close: function() { + this.callbackQueue.notifyAll(); + } + }; + + var TRANSACTION_WRAPPERS = [NESTED_UPDATES, UPDATE_QUEUEING]; + + function ReactUpdatesFlushTransaction() { + this.reinitializeTransaction(); + this.dirtyComponentsLength = null; + this.callbackQueue = CallbackQueue.getPooled(); + this.reconcileTransaction = + ReactUpdates.ReactReconcileTransaction.getPooled(); + } + + assign( + ReactUpdatesFlushTransaction.prototype, + Transaction.Mixin, { + getTransactionWrappers: function() { + return TRANSACTION_WRAPPERS; + }, + + destructor: function() { + this.dirtyComponentsLength = null; + CallbackQueue.release(this.callbackQueue); + this.callbackQueue = null; + ReactUpdates.ReactReconcileTransaction.release(this.reconcileTransaction); + this.reconcileTransaction = null; + }, + + perform: function(method, scope, a) { + // Essentially calls `this.reconcileTransaction.perform(method, scope, a)` + // with this transaction's wrappers around it. + return Transaction.Mixin.perform.call( + this, + this.reconcileTransaction.perform, + this.reconcileTransaction, + method, + scope, + a + ); + } + }); - var ReactElement = __webpack_require__(105); - var ReactPropTypeLocationNames = __webpack_require__(134); + PooledClass.addPoolingTo(ReactUpdatesFlushTransaction); - var deprecated = __webpack_require__(119); - var emptyFunction = __webpack_require__(176); + function batchedUpdates(callback, a, b) { + ensureInjected(); + batchingStrategy.batchedUpdates(callback, a, b); + } /** - * Collection of methods that allow declaration and validation of props that are - * supplied to React components. Example usage: - * - * var Props = require('ReactPropTypes'); - * var MyArticle = React.createClass({ - * propTypes: { - * // An optional string prop named "description". - * description: Props.string, - * - * // A required enum prop named "category". - * category: Props.oneOf(['News','Photos']).isRequired, - * - * // A prop named "dialog" that requires an instance of Dialog. - * dialog: Props.instanceOf(Dialog).isRequired - * }, - * render: function() { ... } - * }); - * - * A more formal specification of how these methods are used: - * - * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...) - * decl := ReactPropTypes.{type}(.isRequired)? - * - * Each and every declaration produces a function with the same signature. This - * allows the creation of custom validation functions. For example: - * - * var MyLink = React.createClass({ - * propTypes: { - * // An optional string or URI prop named "href". - * href: function(props, propName, componentName) { - * var propValue = props[propName]; - * if (propValue != null && typeof propValue !== 'string' && - * !(propValue instanceof URI)) { - * return new Error( - * 'Expected a string or an URI for ' + propName + ' in ' + - * componentName - * ); - * } - * } - * }, - * render: function() {...} - * }); + * Array comparator for ReactComponents by owner depth * - * @internal + * @param {ReactComponent} c1 first component you're comparing + * @param {ReactComponent} c2 second component you're comparing + * @return {number} Return value usable by Array.prototype.sort(). */ + function mountDepthComparator(c1, c2) { + return c1._mountDepth - c2._mountDepth; + } - var ANONYMOUS = '<>'; - - var elementTypeChecker = createElementTypeChecker(); - var nodeTypeChecker = createNodeChecker(); - - var ReactPropTypes = { - array: createPrimitiveTypeChecker('array'), - bool: createPrimitiveTypeChecker('boolean'), - func: createPrimitiveTypeChecker('function'), - number: createPrimitiveTypeChecker('number'), - object: createPrimitiveTypeChecker('object'), - string: createPrimitiveTypeChecker('string'), + function runBatchedUpdates(transaction) { + var len = transaction.dirtyComponentsLength; + (false ? invariant( + len === dirtyComponents.length, + 'Expected flush transaction\'s stored dirty-components length (%s) to ' + + 'match dirty-components array length (%s).', + len, + dirtyComponents.length + ) : invariant(len === dirtyComponents.length)); - any: createAnyTypeChecker(), - arrayOf: createArrayOfTypeChecker, - element: elementTypeChecker, - instanceOf: createInstanceTypeChecker, - node: nodeTypeChecker, - objectOf: createObjectOfTypeChecker, - oneOf: createEnumTypeChecker, - oneOfType: createUnionTypeChecker, - shape: createShapeTypeChecker, + // Since reconciling a component higher in the owner hierarchy usually (not + // always -- see shouldComponentUpdate()) will reconcile children, reconcile + // them before their children by sorting the array. + dirtyComponents.sort(mountDepthComparator); - component: deprecated( - 'React.PropTypes', - 'component', - 'element', - this, - elementTypeChecker - ), - renderable: deprecated( - 'React.PropTypes', - 'renderable', - 'node', - this, - nodeTypeChecker - ) - }; + for (var i = 0; i < len; i++) { + // If a component is unmounted before pending changes apply, ignore them + // TODO: Queue unmounts in the same list to avoid this happening at all + var component = dirtyComponents[i]; + if (component.isMounted()) { + // If performUpdateIfNecessary happens to enqueue any new updates, we + // shouldn't execute the callbacks until the next render happens, so + // stash the callbacks first + var callbacks = component._pendingCallbacks; + component._pendingCallbacks = null; + component.performUpdateIfNecessary(transaction.reconcileTransaction); - function createChainableTypeChecker(validate) { - function checkType(isRequired, props, propName, componentName, location) { - componentName = componentName || ANONYMOUS; - if (props[propName] == null) { - var locationName = ReactPropTypeLocationNames[location]; - if (isRequired) { - return new Error( - ("Required " + locationName + " `" + propName + "` was not specified in ")+ - ("`" + componentName + "`.") - ); + if (callbacks) { + for (var j = 0; j < callbacks.length; j++) { + transaction.callbackQueue.enqueue( + callbacks[j], + component + ); + } } - } else { - return validate(props, propName, componentName, location); } } - - var chainedCheckType = checkType.bind(null, false); - chainedCheckType.isRequired = checkType.bind(null, true); - - return chainedCheckType; } - function createPrimitiveTypeChecker(expectedType) { - function validate(props, propName, componentName, location) { - var propValue = props[propName]; - var propType = getPropType(propValue); - if (propType !== expectedType) { - var locationName = ReactPropTypeLocationNames[location]; - // `propValue` being instance of, say, date/regexp, pass the 'object' - // check, but we can offer a more precise error message here rather than - // 'of type `object`'. - var preciseType = getPreciseType(propValue); + var flushBatchedUpdates = ReactPerf.measure( + 'ReactUpdates', + 'flushBatchedUpdates', + function() { + // ReactUpdatesFlushTransaction's wrappers will clear the dirtyComponents + // array and perform any updates enqueued by mount-ready handlers (i.e., + // componentDidUpdate) but we need to check here too in order to catch + // updates enqueued by setState callbacks and asap calls. + while (dirtyComponents.length || asapEnqueued) { + if (dirtyComponents.length) { + var transaction = ReactUpdatesFlushTransaction.getPooled(); + transaction.perform(runBatchedUpdates, null, transaction); + ReactUpdatesFlushTransaction.release(transaction); + } - return new Error( - ("Invalid " + locationName + " `" + propName + "` of type `" + preciseType + "` ") + - ("supplied to `" + componentName + "`, expected `" + expectedType + "`.") - ); + if (asapEnqueued) { + asapEnqueued = false; + var queue = asapCallbackQueue; + asapCallbackQueue = CallbackQueue.getPooled(); + queue.notifyAll(); + CallbackQueue.release(queue); + } } } - return createChainableTypeChecker(validate); - } + ); - function createAnyTypeChecker() { - return createChainableTypeChecker(emptyFunction.thatReturns()); - } + /** + * Mark a component as needing a rerender, adding an optional callback to a + * list of functions which will be executed once the rerender occurs. + */ + function enqueueUpdate(component, callback) { + (false ? invariant( + !callback || typeof callback === "function", + 'enqueueUpdate(...): You called `setProps`, `replaceProps`, ' + + '`setState`, `replaceState`, or `forceUpdate` with a callback that ' + + 'isn\'t callable.' + ) : invariant(!callback || typeof callback === "function")); + ensureInjected(); - function createArrayOfTypeChecker(typeChecker) { - function validate(props, propName, componentName, location) { - var propValue = props[propName]; - if (!Array.isArray(propValue)) { - var locationName = ReactPropTypeLocationNames[location]; - var propType = getPropType(propValue); - return new Error( - ("Invalid " + locationName + " `" + propName + "` of type ") + - ("`" + propType + "` supplied to `" + componentName + "`, expected an array.") - ); - } - for (var i = 0; i < propValue.length; i++) { - var error = typeChecker(propValue, i, componentName, location); - if (error instanceof Error) { - return error; - } - } + // Various parts of our code (such as ReactCompositeComponent's + // _renderValidatedComponent) assume that calls to render aren't nested; + // verify that that's the case. (This is called by each top-level update + // function, like setProps, setState, forceUpdate, etc.; creation and + // destruction of top-level components is guarded in ReactMount.) + (false ? warning( + ReactCurrentOwner.current == null, + 'enqueueUpdate(): Render methods should be a pure function of props ' + + 'and state; triggering nested component updates from render is not ' + + 'allowed. If necessary, trigger nested updates in ' + + 'componentDidUpdate.' + ) : null); + + if (!batchingStrategy.isBatchingUpdates) { + batchingStrategy.batchedUpdates(enqueueUpdate, component, callback); + return; } - return createChainableTypeChecker(validate); - } - function createElementTypeChecker() { - function validate(props, propName, componentName, location) { - if (!ReactElement.isValidElement(props[propName])) { - var locationName = ReactPropTypeLocationNames[location]; - return new Error( - ("Invalid " + locationName + " `" + propName + "` supplied to ") + - ("`" + componentName + "`, expected a ReactElement.") - ); + dirtyComponents.push(component); + + if (callback) { + if (component._pendingCallbacks) { + component._pendingCallbacks.push(callback); + } else { + component._pendingCallbacks = [callback]; } } - return createChainableTypeChecker(validate); } - function createInstanceTypeChecker(expectedClass) { - function validate(props, propName, componentName, location) { - if (!(props[propName] instanceof expectedClass)) { - var locationName = ReactPropTypeLocationNames[location]; - var expectedClassName = expectedClass.name || ANONYMOUS; - return new Error( - ("Invalid " + locationName + " `" + propName + "` supplied to ") + - ("`" + componentName + "`, expected instance of `" + expectedClassName + "`.") - ); - } - } - return createChainableTypeChecker(validate); + /** + * Enqueue a callback to be run at the end of the current batching cycle. Throws + * if no updates are currently being performed. + */ + function asap(callback, context) { + (false ? invariant( + batchingStrategy.isBatchingUpdates, + 'ReactUpdates.asap: Can\'t enqueue an asap callback in a context where' + + 'updates are not being batched.' + ) : invariant(batchingStrategy.isBatchingUpdates)); + asapCallbackQueue.enqueue(callback, context); + asapEnqueued = true; } - function createEnumTypeChecker(expectedValues) { - function validate(props, propName, componentName, location) { - var propValue = props[propName]; - for (var i = 0; i < expectedValues.length; i++) { - if (propValue === expectedValues[i]) { - return; - } - } + var ReactUpdatesInjection = { + injectReconcileTransaction: function(ReconcileTransaction) { + (false ? invariant( + ReconcileTransaction, + 'ReactUpdates: must provide a reconcile transaction class' + ) : invariant(ReconcileTransaction)); + ReactUpdates.ReactReconcileTransaction = ReconcileTransaction; + }, - var locationName = ReactPropTypeLocationNames[location]; - var valuesString = JSON.stringify(expectedValues); - return new Error( - ("Invalid " + locationName + " `" + propName + "` of value `" + propValue + "` ") + - ("supplied to `" + componentName + "`, expected one of " + valuesString + ".") - ); + injectBatchingStrategy: function(_batchingStrategy) { + (false ? invariant( + _batchingStrategy, + 'ReactUpdates: must provide a batching strategy' + ) : invariant(_batchingStrategy)); + (false ? invariant( + typeof _batchingStrategy.batchedUpdates === 'function', + 'ReactUpdates: must provide a batchedUpdates() function' + ) : invariant(typeof _batchingStrategy.batchedUpdates === 'function')); + (false ? invariant( + typeof _batchingStrategy.isBatchingUpdates === 'boolean', + 'ReactUpdates: must provide an isBatchingUpdates boolean attribute' + ) : invariant(typeof _batchingStrategy.isBatchingUpdates === 'boolean')); + batchingStrategy = _batchingStrategy; } - return createChainableTypeChecker(validate); - } + }; - function createObjectOfTypeChecker(typeChecker) { - function validate(props, propName, componentName, location) { - var propValue = props[propName]; - var propType = getPropType(propValue); - if (propType !== 'object') { - var locationName = ReactPropTypeLocationNames[location]; - return new Error( - ("Invalid " + locationName + " `" + propName + "` of type ") + - ("`" + propType + "` supplied to `" + componentName + "`, expected an object.") - ); - } - for (var key in propValue) { - if (propValue.hasOwnProperty(key)) { - var error = typeChecker(propValue, key, componentName, location); - if (error instanceof Error) { - return error; - } - } - } - } - return createChainableTypeChecker(validate); - } + var ReactUpdates = { + /** + * React references `ReactReconcileTransaction` using this property in order + * to allow dependency injection. + * + * @internal + */ + ReactReconcileTransaction: null, - function createUnionTypeChecker(arrayOfTypeCheckers) { - function validate(props, propName, componentName, location) { - for (var i = 0; i < arrayOfTypeCheckers.length; i++) { - var checker = arrayOfTypeCheckers[i]; - if (checker(props, propName, componentName, location) == null) { - return; - } - } + batchedUpdates: batchedUpdates, + enqueueUpdate: enqueueUpdate, + flushBatchedUpdates: flushBatchedUpdates, + injection: ReactUpdatesInjection, + asap: asap + }; - var locationName = ReactPropTypeLocationNames[location]; - return new Error( - ("Invalid " + locationName + " `" + propName + "` supplied to ") + - ("`" + componentName + "`.") - ); - } - return createChainableTypeChecker(validate); - } + module.exports = ReactUpdates; - function createNodeChecker() { - function validate(props, propName, componentName, location) { - if (!isNode(props[propName])) { - var locationName = ReactPropTypeLocationNames[location]; - return new Error( - ("Invalid " + locationName + " `" + propName + "` supplied to ") + - ("`" + componentName + "`, expected a ReactNode.") - ); - } - } - return createChainableTypeChecker(validate); - } - function createShapeTypeChecker(shapeTypes) { - function validate(props, propName, componentName, location) { - var propValue = props[propName]; - var propType = getPropType(propValue); - if (propType !== 'object') { - var locationName = ReactPropTypeLocationNames[location]; - return new Error( - ("Invalid " + locationName + " `" + propName + "` of type `" + propType + "` ") + - ("supplied to `" + componentName + "`, expected `object`.") - ); - } - for (var key in shapeTypes) { - var checker = shapeTypes[key]; - if (!checker) { - continue; - } - var error = checker(propValue, key, componentName, location); - if (error) { - return error; - } - } - } - return createChainableTypeChecker(validate, 'expected `object`'); - } +/***/ }, +/* 128 */ +/***/ function(module, exports, __webpack_require__) { - function isNode(propValue) { - switch(typeof propValue) { - case 'number': - case 'string': - return true; - case 'boolean': - return !propValue; - case 'object': - if (Array.isArray(propValue)) { - return propValue.every(isNode); - } - if (ReactElement.isValidElement(propValue)) { - return true; - } - for (var k in propValue) { - if (!isNode(propValue[k])) { - return false; - } - } - return true; - default: - return false; + /** + * Copyright 2013-2014, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule cx + */ + + /** + * This function is used to mark string literals representing CSS class names + * so that they can be transformed statically. This allows for modularization + * and minification of CSS class names. + * + * In static_upstream, this function is actually implemented, but it should + * eventually be replaced with something more descriptive, and the transform + * that is used in the main stack should be ported for use elsewhere. + * + * @param string|object className to modularize, or an object of key/values. + * In the object case, the values are conditions that + * determine if the className keys should be included. + * @param [string ...] Variable list of classNames in the string case. + * @return string Renderable space-separated CSS className. + */ + function cx(classNames) { + if (typeof classNames == 'object') { + return Object.keys(classNames).filter(function(className) { + return classNames[className]; + }).join(' '); + } else { + return Array.prototype.join.call(arguments, ' '); } } - // Equivalent of `typeof` but with special handling for array and regexp. - function getPropType(propValue) { - var propType = typeof propValue; - if (Array.isArray(propValue)) { - return 'array'; - } - if (propValue instanceof RegExp) { - // Old webkits (at least until Android 4.0) return 'function' rather than - // 'object' for typeof a RegExp. We'll normalize this here so that /bla/ - // passes PropTypes.object. - return 'object'; + module.exports = cx; + + +/***/ }, +/* 129 */ +/***/ function(module, exports, __webpack_require__) { + + /** + * Copyright 2013-2014, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @typechecks + * @providesModule cloneWithProps + */ + + "use strict"; + + var ReactElement = __webpack_require__(107); + var ReactPropTransferer = __webpack_require__(143); + + var keyOf = __webpack_require__(147); + var warning = __webpack_require__(138); + + var CHILDREN_PROP = keyOf({children: null}); + + /** + * Sometimes you want to change the props of a child passed to you. Usually + * this is to add a CSS class. + * + * @param {object} child child component you'd like to clone + * @param {object} props props you'd like to modify. They will be merged + * as if you used `transferPropsTo()`. + * @return {object} a clone of child with props merged in. + */ + function cloneWithProps(child, props) { + if (false) { + ("production" !== process.env.NODE_ENV ? warning( + !child.ref, + 'You are calling cloneWithProps() on a child with a ref. This is ' + + 'dangerous because you\'re creating a new child which will not be ' + + 'added as a ref to its parent.' + ) : null); } - return propType; - } - // This handles more types than `getPropType`. Only used for error messages. - // See `createPrimitiveTypeChecker`. - function getPreciseType(propValue) { - var propType = getPropType(propValue); - if (propType === 'object') { - if (propValue instanceof Date) { - return 'date'; - } else if (propValue instanceof RegExp) { - return 'regexp'; - } + var newProps = ReactPropTransferer.mergeProps(props, child.props); + + // Use `child.props.children` if it is provided. + if (!newProps.hasOwnProperty(CHILDREN_PROP) && + child.props.hasOwnProperty(CHILDREN_PROP)) { + newProps.children = child.props.children; } - return propType; + + // The current API doesn't retain _owner and _context, which is why this + // doesn't use ReactElement.cloneAndReplaceProps. + return ReactElement.createElement(child.type, newProps); } - module.exports = ReactPropTypes; + module.exports = cloneWithProps; /***/ }, -/* 116 */ +/* 130 */ /***/ function(module, exports, __webpack_require__) { /** @@ -18303,78 +19462,166 @@ return /******/ (function(modules) { // webpackBootstrap * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @typechecks static-only - * @providesModule ReactServerRendering + * @providesModule update */ + "use strict"; - var ReactElement = __webpack_require__(105); - var ReactInstanceHandles = __webpack_require__(110); - var ReactMarkupChecksum = __webpack_require__(177); - var ReactServerRenderingTransaction = - __webpack_require__(178); + var assign = __webpack_require__(120); + var keyOf = __webpack_require__(147); + var invariant = __webpack_require__(132); - var instantiateReactComponent = __webpack_require__(135); - var invariant = __webpack_require__(126); + function shallowCopy(x) { + if (Array.isArray(x)) { + return x.concat(); + } else if (x && typeof x === 'object') { + return assign(new x.constructor(), x); + } else { + return x; + } + } - /** - * @param {ReactElement} element - * @return {string} the HTML markup - */ - function renderToString(element) { - (false ? invariant( - ReactElement.isValidElement(element), - 'renderToString(): You must pass a valid ReactElement.' - ) : invariant(ReactElement.isValidElement(element))); + var COMMAND_PUSH = keyOf({$push: null}); + var COMMAND_UNSHIFT = keyOf({$unshift: null}); + var COMMAND_SPLICE = keyOf({$splice: null}); + var COMMAND_SET = keyOf({$set: null}); + var COMMAND_MERGE = keyOf({$merge: null}); + var COMMAND_APPLY = keyOf({$apply: null}); + + var ALL_COMMANDS_LIST = [ + COMMAND_PUSH, + COMMAND_UNSHIFT, + COMMAND_SPLICE, + COMMAND_SET, + COMMAND_MERGE, + COMMAND_APPLY + ]; - var transaction; - try { - var id = ReactInstanceHandles.createReactRootID(); - transaction = ReactServerRenderingTransaction.getPooled(false); + var ALL_COMMANDS_SET = {}; - return transaction.perform(function() { - var componentInstance = instantiateReactComponent(element, null); - var markup = componentInstance.mountComponent(id, transaction, 0); - return ReactMarkupChecksum.addChecksumToMarkup(markup); - }, null); - } finally { - ReactServerRenderingTransaction.release(transaction); - } + ALL_COMMANDS_LIST.forEach(function(command) { + ALL_COMMANDS_SET[command] = true; + }); + + function invariantArrayCase(value, spec, command) { + (false ? invariant( + Array.isArray(value), + 'update(): expected target of %s to be an array; got %s.', + command, + value + ) : invariant(Array.isArray(value))); + var specValue = spec[command]; + (false ? invariant( + Array.isArray(specValue), + 'update(): expected spec of %s to be an array; got %s. ' + + 'Did you forget to wrap your parameter in an array?', + command, + specValue + ) : invariant(Array.isArray(specValue))); } - /** - * @param {ReactElement} element - * @return {string} the HTML markup, without the extra React ID and checksum - * (for generating static pages) - */ - function renderToStaticMarkup(element) { + function update(value, spec) { (false ? invariant( - ReactElement.isValidElement(element), - 'renderToStaticMarkup(): You must pass a valid ReactElement.' - ) : invariant(ReactElement.isValidElement(element))); + typeof spec === 'object', + 'update(): You provided a key path to update() that did not contain one ' + + 'of %s. Did you forget to include {%s: ...}?', + ALL_COMMANDS_LIST.join(', '), + COMMAND_SET + ) : invariant(typeof spec === 'object')); + + if (spec.hasOwnProperty(COMMAND_SET)) { + (false ? invariant( + Object.keys(spec).length === 1, + 'Cannot have more than one key in an object with %s', + COMMAND_SET + ) : invariant(Object.keys(spec).length === 1)); - var transaction; - try { - var id = ReactInstanceHandles.createReactRootID(); - transaction = ReactServerRenderingTransaction.getPooled(true); + return spec[COMMAND_SET]; + } - return transaction.perform(function() { - var componentInstance = instantiateReactComponent(element, null); - return componentInstance.mountComponent(id, transaction, 0); - }, null); - } finally { - ReactServerRenderingTransaction.release(transaction); + var nextValue = shallowCopy(value); + + if (spec.hasOwnProperty(COMMAND_MERGE)) { + var mergeObj = spec[COMMAND_MERGE]; + (false ? invariant( + mergeObj && typeof mergeObj === 'object', + 'update(): %s expects a spec of type \'object\'; got %s', + COMMAND_MERGE, + mergeObj + ) : invariant(mergeObj && typeof mergeObj === 'object')); + (false ? invariant( + nextValue && typeof nextValue === 'object', + 'update(): %s expects a target of type \'object\'; got %s', + COMMAND_MERGE, + nextValue + ) : invariant(nextValue && typeof nextValue === 'object')); + assign(nextValue, spec[COMMAND_MERGE]); + } + + if (spec.hasOwnProperty(COMMAND_PUSH)) { + invariantArrayCase(value, spec, COMMAND_PUSH); + spec[COMMAND_PUSH].forEach(function(item) { + nextValue.push(item); + }); + } + + if (spec.hasOwnProperty(COMMAND_UNSHIFT)) { + invariantArrayCase(value, spec, COMMAND_UNSHIFT); + spec[COMMAND_UNSHIFT].forEach(function(item) { + nextValue.unshift(item); + }); } + + if (spec.hasOwnProperty(COMMAND_SPLICE)) { + (false ? invariant( + Array.isArray(value), + 'Expected %s target to be an array; got %s', + COMMAND_SPLICE, + value + ) : invariant(Array.isArray(value))); + (false ? invariant( + Array.isArray(spec[COMMAND_SPLICE]), + 'update(): expected spec of %s to be an array of arrays; got %s. ' + + 'Did you forget to wrap your parameters in an array?', + COMMAND_SPLICE, + spec[COMMAND_SPLICE] + ) : invariant(Array.isArray(spec[COMMAND_SPLICE]))); + spec[COMMAND_SPLICE].forEach(function(args) { + (false ? invariant( + Array.isArray(args), + 'update(): expected spec of %s to be an array of arrays; got %s. ' + + 'Did you forget to wrap your parameters in an array?', + COMMAND_SPLICE, + spec[COMMAND_SPLICE] + ) : invariant(Array.isArray(args))); + nextValue.splice.apply(nextValue, args); + }); + } + + if (spec.hasOwnProperty(COMMAND_APPLY)) { + (false ? invariant( + typeof spec[COMMAND_APPLY] === 'function', + 'update(): expected spec of %s to be a function; got %s.', + COMMAND_APPLY, + spec[COMMAND_APPLY] + ) : invariant(typeof spec[COMMAND_APPLY] === 'function')); + nextValue = spec[COMMAND_APPLY](nextValue); + } + + for (var k in spec) { + if (!(ALL_COMMANDS_SET.hasOwnProperty(k) && ALL_COMMANDS_SET[k])) { + nextValue[k] = update(value[k], spec[k]); + } + } + + return nextValue; } - module.exports = { - renderToString: renderToString, - renderToStaticMarkup: renderToStaticMarkup - }; + module.exports = update; /***/ }, -/* 117 */ +/* 131 */ /***/ function(module, exports, __webpack_require__) { /** @@ -18385,210 +19632,289 @@ return /******/ (function(modules) { // webpackBootstrap * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule ReactTextComponent - * @typechecks static-only + * @providesModule EventConstants */ "use strict"; - var DOMPropertyOperations = __webpack_require__(98); - var ReactComponent = __webpack_require__(101); - var ReactElement = __webpack_require__(105); + var keyMirror = __webpack_require__(134); - var assign = __webpack_require__(118); - var escapeTextForBrowser = __webpack_require__(122); + var PropagationPhases = keyMirror({bubbled: null, captured: null}); /** - * Text nodes violate a couple assumptions that React makes about components: - * - * - When mounting text into the DOM, adjacent text nodes are merged. - * - Text nodes cannot be assigned a React root ID. - * - * This component is used to wrap strings in elements so that they can undergo - * the same reconciliation that is applied to elements. - * - * TODO: Investigate representing React components in the DOM with text nodes. - * - * @class ReactTextComponent - * @extends ReactComponent - * @internal + * Types of raw signals from the browser caught at the top level. */ - var ReactTextComponent = function(props) { - // This constructor and it's argument is currently used by mocks. + var topLevelTypes = keyMirror({ + topBlur: null, + topChange: null, + topClick: null, + topCompositionEnd: null, + topCompositionStart: null, + topCompositionUpdate: null, + topContextMenu: null, + topCopy: null, + topCut: null, + topDoubleClick: null, + topDrag: null, + topDragEnd: null, + topDragEnter: null, + topDragExit: null, + topDragLeave: null, + topDragOver: null, + topDragStart: null, + topDrop: null, + topError: null, + topFocus: null, + topInput: null, + topKeyDown: null, + topKeyPress: null, + topKeyUp: null, + topLoad: null, + topMouseDown: null, + topMouseMove: null, + topMouseOut: null, + topMouseOver: null, + topMouseUp: null, + topPaste: null, + topReset: null, + topScroll: null, + topSelectionChange: null, + topSubmit: null, + topTextInput: null, + topTouchCancel: null, + topTouchEnd: null, + topTouchMove: null, + topTouchStart: null, + topWheel: null + }); + + var EventConstants = { + topLevelTypes: topLevelTypes, + PropagationPhases: PropagationPhases }; - assign(ReactTextComponent.prototype, ReactComponent.Mixin, { + module.exports = EventConstants; - /** - * Creates the markup for this text node. This node is not intended to have - * any features besides containing text content. - * - * @param {string} rootID DOM ID of the root node. - * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction - * @param {number} mountDepth number of components in the owner hierarchy - * @return {string} Markup for this text node. - * @internal - */ - mountComponent: function(rootID, transaction, mountDepth) { - ReactComponent.Mixin.mountComponent.call( - this, - rootID, - transaction, - mountDepth - ); - var escapedText = escapeTextForBrowser(this.props); +/***/ }, +/* 132 */ +/***/ function(module, exports, __webpack_require__) { - if (transaction.renderToStaticMarkup) { - // Normally we'd wrap this in a `span` for the reasons stated above, but - // since this is a situation where React won't take over (static pages), - // we can simply return the text as it is. - return escapedText; - } + /** + * Copyright 2013-2014, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule invariant + */ - return ( - '' + - escapedText + - '' - ); - }, + "use strict"; - /** - * Updates this component by updating the text content. - * - * @param {object} nextComponent Contains the next text content. - * @param {ReactReconcileTransaction} transaction - * @internal - */ - receiveComponent: function(nextComponent, transaction) { - var nextProps = nextComponent.props; - if (nextProps !== this.props) { - this.props = nextProps; - ReactComponent.BackendIDOperations.updateTextContentByID( - this._rootNodeID, - nextProps + /** + * Use invariant() to assert state which your program assumes to be true. + * + * Provide sprintf-style format (only %s is supported) and arguments + * to provide information about what broke and what you were + * expecting. + * + * The invariant message will be stripped in production, but the invariant + * will remain to ensure logic does not differ in production. + */ + + var invariant = function(condition, format, a, b, c, d, e, f) { + if (false) { + if (format === undefined) { + throw new Error('invariant requires an error message argument'); + } + } + + if (!condition) { + var error; + if (format === undefined) { + error = new Error( + 'Minified exception occurred; use the non-minified dev environment ' + + 'for the full error message and additional helpful warnings.' + ); + } else { + var args = [a, b, c, d, e, f]; + var argIndex = 0; + error = new Error( + 'Invariant Violation: ' + + format.replace(/%s/g, function() { return args[argIndex++]; }) ); } - } - - }); - var ReactTextComponentFactory = function(text) { - // Bypass validation and configuration - return new ReactElement(ReactTextComponent, null, null, null, null, text); + error.framesToPop = 1; // we don't care about invariant's own frame + throw error; + } }; - ReactTextComponentFactory.type = ReactTextComponent; - - module.exports = ReactTextComponentFactory; + module.exports = invariant; /***/ }, -/* 118 */ +/* 133 */ /***/ function(module, exports, __webpack_require__) { /** - * Copyright 2014, Facebook, Inc. + * Copyright 2013-2014, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule Object.assign + * @providesModule ReactOwner */ - // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-object.assign - - function assign(target, sources) { - if (target == null) { - throw new TypeError('Object.assign target cannot be null or undefined'); - } + "use strict"; - var to = Object(target); - var hasOwnProperty = Object.prototype.hasOwnProperty; + var emptyObject = __webpack_require__(195); + var invariant = __webpack_require__(132); - for (var nextIndex = 1; nextIndex < arguments.length; nextIndex++) { - var nextSource = arguments[nextIndex]; - if (nextSource == null) { - continue; - } + /** + * ReactOwners are capable of storing references to owned components. + * + * All components are capable of //being// referenced by owner components, but + * only ReactOwner components are capable of //referencing// owned components. + * The named reference is known as a "ref". + * + * Refs are available when mounted and updated during reconciliation. + * + * var MyComponent = React.createClass({ + * render: function() { + * return ( + *
+ * + *
+ * ); + * }, + * handleClick: function() { + * this.refs.custom.handleClick(); + * }, + * componentDidMount: function() { + * this.refs.custom.initialize(); + * } + * }); + * + * Refs should rarely be used. When refs are used, they should only be done to + * control data that is not handled by React's data flow. + * + * @class ReactOwner + */ + var ReactOwner = { - var from = Object(nextSource); + /** + * @param {?object} object + * @return {boolean} True if `object` is a valid owner. + * @final + */ + isValidOwner: function(object) { + return !!( + object && + typeof object.attachRef === 'function' && + typeof object.detachRef === 'function' + ); + }, - // We don't currently support accessors nor proxies. Therefore this - // copy cannot throw. If we ever supported this then we must handle - // exceptions and side-effects. We don't support symbols so they won't - // be transferred. + /** + * Adds a component by ref to an owner component. + * + * @param {ReactComponent} component Component to reference. + * @param {string} ref Name by which to refer to the component. + * @param {ReactOwner} owner Component on which to record the ref. + * @final + * @internal + */ + addComponentAsRefTo: function(component, ref, owner) { + (false ? invariant( + ReactOwner.isValidOwner(owner), + 'addComponentAsRefTo(...): Only a ReactOwner can have refs. This ' + + 'usually means that you\'re trying to add a ref to a component that ' + + 'doesn\'t have an owner (that is, was not created inside of another ' + + 'component\'s `render` method). Try rendering this component inside of ' + + 'a new top-level component which will hold the ref.' + ) : invariant(ReactOwner.isValidOwner(owner))); + owner.attachRef(ref, component); + }, - for (var key in from) { - if (hasOwnProperty.call(from, key)) { - to[key] = from[key]; - } + /** + * Removes a component by ref from an owner component. + * + * @param {ReactComponent} component Component to dereference. + * @param {string} ref Name of the ref to remove. + * @param {ReactOwner} owner Component on which the ref is recorded. + * @final + * @internal + */ + removeComponentAsRefFrom: function(component, ref, owner) { + (false ? invariant( + ReactOwner.isValidOwner(owner), + 'removeComponentAsRefFrom(...): Only a ReactOwner can have refs. This ' + + 'usually means that you\'re trying to remove a ref to a component that ' + + 'doesn\'t have an owner (that is, was not created inside of another ' + + 'component\'s `render` method). Try rendering this component inside of ' + + 'a new top-level component which will hold the ref.' + ) : invariant(ReactOwner.isValidOwner(owner))); + // Check that `component` is still the current ref because we do not want to + // detach the ref if another component stole it. + if (owner.refs[ref] === component) { + owner.detachRef(ref); } - } - - return to; - }; - - module.exports = assign; + }, + /** + * A ReactComponent must mix this in to have refs. + * + * @lends {ReactOwner.prototype} + */ + Mixin: { -/***/ }, -/* 119 */ -/***/ function(module, exports, __webpack_require__) { + construct: function() { + this.refs = emptyObject; + }, - /** - * Copyright 2013-2014, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @providesModule deprecated - */ + /** + * Lazily allocates the refs object and stores `component` as `ref`. + * + * @param {string} ref Reference name. + * @param {component} component Component to store as `ref`. + * @final + * @private + */ + attachRef: function(ref, component) { + (false ? invariant( + component.isOwnedBy(this), + 'attachRef(%s, ...): Only a component\'s owner can store a ref to it.', + ref + ) : invariant(component.isOwnedBy(this))); + var refs = this.refs === emptyObject ? (this.refs = {}) : this.refs; + refs[ref] = component; + }, - var assign = __webpack_require__(118); - var warning = __webpack_require__(124); + /** + * Detaches a reference name. + * + * @param {string} ref Name to dereference. + * @final + * @private + */ + detachRef: function(ref) { + delete this.refs[ref]; + } - /** - * This will log a single deprecation notice per function and forward the call - * on to the new API. - * - * @param {string} namespace The namespace of the call, eg 'React' - * @param {string} oldName The old function name, eg 'renderComponent' - * @param {string} newName The new function name, eg 'render' - * @param {*} ctx The context this forwarded call should run in - * @param {function} fn The function to forward on to - * @return {*} Will be the value as returned from `fn` - */ - function deprecated(namespace, oldName, newName, ctx, fn) { - var warned = false; - if (false) { - var newFn = function() { - ("production" !== process.env.NODE_ENV ? warning( - warned, - (namespace + "." + oldName + " will be deprecated in a future version. ") + - ("Use " + namespace + "." + newName + " instead.") - ) : null); - warned = true; - return fn.apply(ctx, arguments); - }; - newFn.displayName = (namespace + "_" + oldName); - // We need to make sure all properties of the original fn are copied over. - // In particular, this is needed to support PropTypes - return assign(newFn, fn); } - return fn; - } + }; - module.exports = deprecated; + module.exports = ReactOwner; /***/ }, -/* 120 */ +/* 134 */ /***/ function(module, exports, __webpack_require__) { /** @@ -18599,38 +19925,53 @@ return /******/ (function(modules) { // webpackBootstrap * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule onlyChild + * @providesModule keyMirror + * @typechecks static-only */ - "use strict"; - var ReactElement = __webpack_require__(105); + "use strict"; - var invariant = __webpack_require__(126); + var invariant = __webpack_require__(132); /** - * Returns the first child in a collection of children and verifies that there - * is only one child in the collection. The current implementation of this - * function assumes that a single child gets passed without a wrapper, but the - * purpose of this helper function is to abstract away the particular structure - * of children. + * Constructs an enumeration with keys equal to their value. * - * @param {?object} children Child collection structure. - * @return {ReactComponent} The first and only `ReactComponent` contained in the - * structure. + * For example: + * + * var COLORS = keyMirror({blue: null, red: null}); + * var myColor = COLORS.blue; + * var isColorValid = !!COLORS[myColor]; + * + * The last line could not be performed if the values of the generated enum were + * not equal to their keys. + * + * Input: {key1: val1, key2: val2} + * Output: {key1: key1, key2: key2} + * + * @param {object} obj + * @return {object} */ - function onlyChild(children) { - (false ? invariant( - ReactElement.isValidElement(children), - 'onlyChild must be passed a children with exactly one child.' - ) : invariant(ReactElement.isValidElement(children))); - return children; - } + var keyMirror = function(obj) { + var ret = {}; + var key; + (false ? invariant( + obj instanceof Object && !Array.isArray(obj), + 'keyMirror(...): Argument must be an object.' + ) : invariant(obj instanceof Object && !Array.isArray(obj))); + for (key in obj) { + if (!obj.hasOwnProperty(key)) { + continue; + } + ret[key] = key; + } + return ret; + }; - module.exports = onlyChild; + module.exports = keyMirror; /***/ }, -/* 121 */ +/* 135 */ /***/ function(module, exports, __webpack_require__) { /** @@ -18649,7 +19990,7 @@ return /******/ (function(modules) { // webpackBootstrap "use strict"; - var invariant = __webpack_require__(126); + var invariant = __webpack_require__(132); function checkMask(value, bitmask) { return (value & bitmask) === bitmask; @@ -18885,259 +20226,53 @@ return /******/ (function(modules) { // webpackBootstrap hasOverloadedBooleanValue: {}, /** - * All of the isCustomAttribute() functions that have been injected. - */ - _isCustomAttributeFunctions: [], - - /** - * Checks whether a property name is a custom attribute. - * @method - */ - isCustomAttribute: function(attributeName) { - for (var i = 0; i < DOMProperty._isCustomAttributeFunctions.length; i++) { - var isCustomAttributeFn = DOMProperty._isCustomAttributeFunctions[i]; - if (isCustomAttributeFn(attributeName)) { - return true; - } - } - return false; - }, - - /** - * Returns the default property value for a DOM property (i.e., not an - * attribute). Most default values are '' or false, but not all. Worse yet, - * some (in particular, `type`) vary depending on the type of element. - * - * TODO: Is it better to grab all the possible properties when creating an - * element to avoid having to create the same element twice? - */ - getDefaultValueForProperty: function(nodeName, prop) { - var nodeDefaults = defaultValueCache[nodeName]; - var testElement; - if (!nodeDefaults) { - defaultValueCache[nodeName] = nodeDefaults = {}; - } - if (!(prop in nodeDefaults)) { - testElement = document.createElement(nodeName); - nodeDefaults[prop] = testElement[prop]; - } - return nodeDefaults[prop]; - }, - - injection: DOMPropertyInjection - }; - - module.exports = DOMProperty; - - -/***/ }, -/* 122 */ -/***/ function(module, exports, __webpack_require__) { - - /** - * Copyright 2013-2014, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @providesModule escapeTextForBrowser - * @typechecks static-only - */ - - "use strict"; - - var ESCAPE_LOOKUP = { - "&": "&", - ">": ">", - "<": "<", - "\"": """, - "'": "'" - }; - - var ESCAPE_REGEX = /[&><"']/g; - - function escaper(match) { - return ESCAPE_LOOKUP[match]; - } - - /** - * Escapes text to prevent scripting attacks. - * - * @param {*} text Text value to escape. - * @return {string} An escaped string. - */ - function escapeTextForBrowser(text) { - return ('' + text).replace(ESCAPE_REGEX, escaper); - } - - module.exports = escapeTextForBrowser; - - -/***/ }, -/* 123 */ -/***/ function(module, exports, __webpack_require__) { - - /** - * Copyright 2013-2014, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @providesModule memoizeStringOnly - * @typechecks static-only - */ - - "use strict"; - - /** - * Memoizes the return value of a function that accepts one string argument. - * - * @param {function} callback - * @return {function} - */ - function memoizeStringOnly(callback) { - var cache = {}; - return function(string) { - if (cache.hasOwnProperty(string)) { - return cache[string]; - } else { - return cache[string] = callback.call(this, string); - } - }; - } - - module.exports = memoizeStringOnly; - - -/***/ }, -/* 124 */ -/***/ function(module, exports, __webpack_require__) { - - /** - * Copyright 2014, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @providesModule warning - */ - - "use strict"; - - var emptyFunction = __webpack_require__(176); - - /** - * Similar to invariant but only logs a warning if the condition is not met. - * This can be used to log issues in development environments in critical - * paths. Removing the logging code for production environments will keep the - * same logic and follow the same code paths. - */ - - var warning = emptyFunction; - - if (false) { - warning = function(condition, format ) {for (var args=[],$__0=2,$__1=arguments.length;$__0<$__1;$__0++) args.push(arguments[$__0]); - if (format === undefined) { - throw new Error( - '`warning(condition, format, ...args)` requires a warning ' + - 'message argument' - ); - } - - if (!condition) { - var argIndex = 0; - console.warn('Warning: ' + format.replace(/%s/g, function() {return args[argIndex++];})); - } - }; - } - - module.exports = warning; - - -/***/ }, -/* 125 */ -/***/ function(module, exports, __webpack_require__) { - - /** - * Copyright 2013-2014, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @providesModule EventConstants - */ - - "use strict"; - - var keyMirror = __webpack_require__(129); - - var PropagationPhases = keyMirror({bubbled: null, captured: null}); - - /** - * Types of raw signals from the browser caught at the top level. - */ - var topLevelTypes = keyMirror({ - topBlur: null, - topChange: null, - topClick: null, - topCompositionEnd: null, - topCompositionStart: null, - topCompositionUpdate: null, - topContextMenu: null, - topCopy: null, - topCut: null, - topDoubleClick: null, - topDrag: null, - topDragEnd: null, - topDragEnter: null, - topDragExit: null, - topDragLeave: null, - topDragOver: null, - topDragStart: null, - topDrop: null, - topError: null, - topFocus: null, - topInput: null, - topKeyDown: null, - topKeyPress: null, - topKeyUp: null, - topLoad: null, - topMouseDown: null, - topMouseMove: null, - topMouseOut: null, - topMouseOver: null, - topMouseUp: null, - topPaste: null, - topReset: null, - topScroll: null, - topSelectionChange: null, - topSubmit: null, - topTextInput: null, - topTouchCancel: null, - topTouchEnd: null, - topTouchMove: null, - topTouchStart: null, - topWheel: null - }); + * All of the isCustomAttribute() functions that have been injected. + */ + _isCustomAttributeFunctions: [], - var EventConstants = { - topLevelTypes: topLevelTypes, - PropagationPhases: PropagationPhases + /** + * Checks whether a property name is a custom attribute. + * @method + */ + isCustomAttribute: function(attributeName) { + for (var i = 0; i < DOMProperty._isCustomAttributeFunctions.length; i++) { + var isCustomAttributeFn = DOMProperty._isCustomAttributeFunctions[i]; + if (isCustomAttributeFn(attributeName)) { + return true; + } + } + return false; + }, + + /** + * Returns the default property value for a DOM property (i.e., not an + * attribute). Most default values are '' or false, but not all. Worse yet, + * some (in particular, `type`) vary depending on the type of element. + * + * TODO: Is it better to grab all the possible properties when creating an + * element to avoid having to create the same element twice? + */ + getDefaultValueForProperty: function(nodeName, prop) { + var nodeDefaults = defaultValueCache[nodeName]; + var testElement; + if (!nodeDefaults) { + defaultValueCache[nodeName] = nodeDefaults = {}; + } + if (!(prop in nodeDefaults)) { + testElement = document.createElement(nodeName); + nodeDefaults[prop] = testElement[prop]; + } + return nodeDefaults[prop]; + }, + + injection: DOMPropertyInjection }; - module.exports = EventConstants; + module.exports = DOMProperty; /***/ }, -/* 126 */ +/* 136 */ /***/ function(module, exports, __webpack_require__) { /** @@ -19148,55 +20283,41 @@ return /******/ (function(modules) { // webpackBootstrap * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule invariant + * @providesModule escapeTextForBrowser + * @typechecks static-only */ "use strict"; - /** - * Use invariant() to assert state which your program assumes to be true. - * - * Provide sprintf-style format (only %s is supported) and arguments - * to provide information about what broke and what you were - * expecting. - * - * The invariant message will be stripped in production, but the invariant - * will remain to ensure logic does not differ in production. - */ + var ESCAPE_LOOKUP = { + "&": "&", + ">": ">", + "<": "<", + "\"": """, + "'": "'" + }; - var invariant = function(condition, format, a, b, c, d, e, f) { - if (false) { - if (format === undefined) { - throw new Error('invariant requires an error message argument'); - } - } + var ESCAPE_REGEX = /[&><"']/g; - if (!condition) { - var error; - if (format === undefined) { - error = new Error( - 'Minified exception occurred; use the non-minified dev environment ' + - 'for the full error message and additional helpful warnings.' - ); - } else { - var args = [a, b, c, d, e, f]; - var argIndex = 0; - error = new Error( - 'Invariant Violation: ' + - format.replace(/%s/g, function() { return args[argIndex++]; }) - ); - } + function escaper(match) { + return ESCAPE_LOOKUP[match]; + } - error.framesToPop = 1; // we don't care about invariant's own frame - throw error; - } - }; + /** + * Escapes text to prevent scripting attacks. + * + * @param {*} text Text value to escape. + * @return {string} An escaped string. + */ + function escapeTextForBrowser(text) { + return ('' + text).replace(ESCAPE_REGEX, escaper); + } - module.exports = invariant; + module.exports = escapeTextForBrowser; /***/ }, -/* 127 */ +/* 137 */ /***/ function(module, exports, __webpack_require__) { /** @@ -19207,446 +20328,199 @@ return /******/ (function(modules) { // webpackBootstrap * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule ReactOwner + * @providesModule memoizeStringOnly + * @typechecks static-only */ "use strict"; - var emptyObject = __webpack_require__(179); - var invariant = __webpack_require__(126); - /** - * ReactOwners are capable of storing references to owned components. - * - * All components are capable of //being// referenced by owner components, but - * only ReactOwner components are capable of //referencing// owned components. - * The named reference is known as a "ref". - * - * Refs are available when mounted and updated during reconciliation. - * - * var MyComponent = React.createClass({ - * render: function() { - * return ( - *
- * - *
- * ); - * }, - * handleClick: function() { - * this.refs.custom.handleClick(); - * }, - * componentDidMount: function() { - * this.refs.custom.initialize(); - * } - * }); - * - * Refs should rarely be used. When refs are used, they should only be done to - * control data that is not handled by React's data flow. + * Memoizes the return value of a function that accepts one string argument. * - * @class ReactOwner + * @param {function} callback + * @return {function} */ - var ReactOwner = { - - /** - * @param {?object} object - * @return {boolean} True if `object` is a valid owner. - * @final - */ - isValidOwner: function(object) { - return !!( - object && - typeof object.attachRef === 'function' && - typeof object.detachRef === 'function' - ); - }, - - /** - * Adds a component by ref to an owner component. - * - * @param {ReactComponent} component Component to reference. - * @param {string} ref Name by which to refer to the component. - * @param {ReactOwner} owner Component on which to record the ref. - * @final - * @internal - */ - addComponentAsRefTo: function(component, ref, owner) { - (false ? invariant( - ReactOwner.isValidOwner(owner), - 'addComponentAsRefTo(...): Only a ReactOwner can have refs. This ' + - 'usually means that you\'re trying to add a ref to a component that ' + - 'doesn\'t have an owner (that is, was not created inside of another ' + - 'component\'s `render` method). Try rendering this component inside of ' + - 'a new top-level component which will hold the ref.' - ) : invariant(ReactOwner.isValidOwner(owner))); - owner.attachRef(ref, component); - }, - - /** - * Removes a component by ref from an owner component. - * - * @param {ReactComponent} component Component to dereference. - * @param {string} ref Name of the ref to remove. - * @param {ReactOwner} owner Component on which the ref is recorded. - * @final - * @internal - */ - removeComponentAsRefFrom: function(component, ref, owner) { - (false ? invariant( - ReactOwner.isValidOwner(owner), - 'removeComponentAsRefFrom(...): Only a ReactOwner can have refs. This ' + - 'usually means that you\'re trying to remove a ref to a component that ' + - 'doesn\'t have an owner (that is, was not created inside of another ' + - 'component\'s `render` method). Try rendering this component inside of ' + - 'a new top-level component which will hold the ref.' - ) : invariant(ReactOwner.isValidOwner(owner))); - // Check that `component` is still the current ref because we do not want to - // detach the ref if another component stole it. - if (owner.refs[ref] === component) { - owner.detachRef(ref); - } - }, - - /** - * A ReactComponent must mix this in to have refs. - * - * @lends {ReactOwner.prototype} - */ - Mixin: { - - construct: function() { - this.refs = emptyObject; - }, - - /** - * Lazily allocates the refs object and stores `component` as `ref`. - * - * @param {string} ref Reference name. - * @param {component} component Component to store as `ref`. - * @final - * @private - */ - attachRef: function(ref, component) { - (false ? invariant( - component.isOwnedBy(this), - 'attachRef(%s, ...): Only a component\'s owner can store a ref to it.', - ref - ) : invariant(component.isOwnedBy(this))); - var refs = this.refs === emptyObject ? (this.refs = {}) : this.refs; - refs[ref] = component; - }, - - /** - * Detaches a reference name. - * - * @param {string} ref Name to dereference. - * @final - * @private - */ - detachRef: function(ref) { - delete this.refs[ref]; + function memoizeStringOnly(callback) { + var cache = {}; + return function(string) { + if (cache.hasOwnProperty(string)) { + return cache[string]; + } else { + return cache[string] = callback.call(this, string); } + }; + } - } - - }; - - module.exports = ReactOwner; + module.exports = memoizeStringOnly; /***/ }, -/* 128 */ +/* 138 */ /***/ function(module, exports, __webpack_require__) { /** - * Copyright 2013-2014, Facebook, Inc. + * Copyright 2014, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule ReactUpdates + * @providesModule warning */ "use strict"; - var CallbackQueue = __webpack_require__(180); - var PooledClass = __webpack_require__(140); - var ReactCurrentOwner = __webpack_require__(104); - var ReactPerf = __webpack_require__(114); - var Transaction = __webpack_require__(181); - - var assign = __webpack_require__(118); - var invariant = __webpack_require__(126); - var warning = __webpack_require__(124); - - var dirtyComponents = []; - var asapCallbackQueue = CallbackQueue.getPooled(); - var asapEnqueued = false; + var emptyFunction = __webpack_require__(187); - var batchingStrategy = null; + /** + * Similar to invariant but only logs a warning if the condition is not met. + * This can be used to log issues in development environments in critical + * paths. Removing the logging code for production environments will keep the + * same logic and follow the same code paths. + */ - function ensureInjected() { - (false ? invariant( - ReactUpdates.ReactReconcileTransaction && batchingStrategy, - 'ReactUpdates: must inject a reconcile transaction class and batching ' + - 'strategy' - ) : invariant(ReactUpdates.ReactReconcileTransaction && batchingStrategy)); - } + var warning = emptyFunction; - var NESTED_UPDATES = { - initialize: function() { - this.dirtyComponentsLength = dirtyComponents.length; - }, - close: function() { - if (this.dirtyComponentsLength !== dirtyComponents.length) { - // Additional updates were enqueued by componentDidUpdate handlers or - // similar; before our own UPDATE_QUEUEING wrapper closes, we want to run - // these new updates so that if A's componentDidUpdate calls setState on - // B, B will update before the callback A's updater provided when calling - // setState. - dirtyComponents.splice(0, this.dirtyComponentsLength); - flushBatchedUpdates(); - } else { - dirtyComponents.length = 0; + if (false) { + warning = function(condition, format ) {for (var args=[],$__0=2,$__1=arguments.length;$__0<$__1;$__0++) args.push(arguments[$__0]); + if (format === undefined) { + throw new Error( + '`warning(condition, format, ...args)` requires a warning ' + + 'message argument' + ); } - } - }; - - var UPDATE_QUEUEING = { - initialize: function() { - this.callbackQueue.reset(); - }, - close: function() { - this.callbackQueue.notifyAll(); - } - }; - - var TRANSACTION_WRAPPERS = [NESTED_UPDATES, UPDATE_QUEUEING]; - function ReactUpdatesFlushTransaction() { - this.reinitializeTransaction(); - this.dirtyComponentsLength = null; - this.callbackQueue = CallbackQueue.getPooled(); - this.reconcileTransaction = - ReactUpdates.ReactReconcileTransaction.getPooled(); + if (!condition) { + var argIndex = 0; + console.warn('Warning: ' + format.replace(/%s/g, function() {return args[argIndex++];})); + } + }; } - assign( - ReactUpdatesFlushTransaction.prototype, - Transaction.Mixin, { - getTransactionWrappers: function() { - return TRANSACTION_WRAPPERS; - }, - - destructor: function() { - this.dirtyComponentsLength = null; - CallbackQueue.release(this.callbackQueue); - this.callbackQueue = null; - ReactUpdates.ReactReconcileTransaction.release(this.reconcileTransaction); - this.reconcileTransaction = null; - }, - - perform: function(method, scope, a) { - // Essentially calls `this.reconcileTransaction.perform(method, scope, a)` - // with this transaction's wrappers around it. - return Transaction.Mixin.perform.call( - this, - this.reconcileTransaction.perform, - this.reconcileTransaction, - method, - scope, - a - ); - } - }); + module.exports = warning; - PooledClass.addPoolingTo(ReactUpdatesFlushTransaction); - function batchedUpdates(callback, a, b) { - ensureInjected(); - batchingStrategy.batchedUpdates(callback, a, b); - } +/***/ }, +/* 139 */ +/***/ function(module, exports, __webpack_require__) { /** - * Array comparator for ReactComponents by owner depth + * Copyright 2013-2014, Facebook, Inc. + * All rights reserved. * - * @param {ReactComponent} c1 first component you're comparing - * @param {ReactComponent} c2 second component you're comparing - * @return {number} Return value usable by Array.prototype.sort(). + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule PooledClass */ - function mountDepthComparator(c1, c2) { - return c1._mountDepth - c2._mountDepth; - } - - function runBatchedUpdates(transaction) { - var len = transaction.dirtyComponentsLength; - (false ? invariant( - len === dirtyComponents.length, - 'Expected flush transaction\'s stored dirty-components length (%s) to ' + - 'match dirty-components array length (%s).', - len, - dirtyComponents.length - ) : invariant(len === dirtyComponents.length)); - - // Since reconciling a component higher in the owner hierarchy usually (not - // always -- see shouldComponentUpdate()) will reconcile children, reconcile - // them before their children by sorting the array. - dirtyComponents.sort(mountDepthComparator); - - for (var i = 0; i < len; i++) { - // If a component is unmounted before pending changes apply, ignore them - // TODO: Queue unmounts in the same list to avoid this happening at all - var component = dirtyComponents[i]; - if (component.isMounted()) { - // If performUpdateIfNecessary happens to enqueue any new updates, we - // shouldn't execute the callbacks until the next render happens, so - // stash the callbacks first - var callbacks = component._pendingCallbacks; - component._pendingCallbacks = null; - component.performUpdateIfNecessary(transaction.reconcileTransaction); - - if (callbacks) { - for (var j = 0; j < callbacks.length; j++) { - transaction.callbackQueue.enqueue( - callbacks[j], - component - ); - } - } - } - } - } - var flushBatchedUpdates = ReactPerf.measure( - 'ReactUpdates', - 'flushBatchedUpdates', - function() { - // ReactUpdatesFlushTransaction's wrappers will clear the dirtyComponents - // array and perform any updates enqueued by mount-ready handlers (i.e., - // componentDidUpdate) but we need to check here too in order to catch - // updates enqueued by setState callbacks and asap calls. - while (dirtyComponents.length || asapEnqueued) { - if (dirtyComponents.length) { - var transaction = ReactUpdatesFlushTransaction.getPooled(); - transaction.perform(runBatchedUpdates, null, transaction); - ReactUpdatesFlushTransaction.release(transaction); - } + "use strict"; - if (asapEnqueued) { - asapEnqueued = false; - var queue = asapCallbackQueue; - asapCallbackQueue = CallbackQueue.getPooled(); - queue.notifyAll(); - CallbackQueue.release(queue); - } - } - } - ); + var invariant = __webpack_require__(132); /** - * Mark a component as needing a rerender, adding an optional callback to a - * list of functions which will be executed once the rerender occurs. + * Static poolers. Several custom versions for each potential number of + * arguments. A completely generic pooler is easy to implement, but would + * require accessing the `arguments` object. In each of these, `this` refers to + * the Class itself, not an instance. If any others are needed, simply add them + * here, or in their own files. */ - function enqueueUpdate(component, callback) { - (false ? invariant( - !callback || typeof callback === "function", - 'enqueueUpdate(...): You called `setProps`, `replaceProps`, ' + - '`setState`, `replaceState`, or `forceUpdate` with a callback that ' + - 'isn\'t callable.' - ) : invariant(!callback || typeof callback === "function")); - ensureInjected(); - - // Various parts of our code (such as ReactCompositeComponent's - // _renderValidatedComponent) assume that calls to render aren't nested; - // verify that that's the case. (This is called by each top-level update - // function, like setProps, setState, forceUpdate, etc.; creation and - // destruction of top-level components is guarded in ReactMount.) - (false ? warning( - ReactCurrentOwner.current == null, - 'enqueueUpdate(): Render methods should be a pure function of props ' + - 'and state; triggering nested component updates from render is not ' + - 'allowed. If necessary, trigger nested updates in ' + - 'componentDidUpdate.' - ) : null); + var oneArgumentPooler = function(copyFieldsFrom) { + var Klass = this; + if (Klass.instancePool.length) { + var instance = Klass.instancePool.pop(); + Klass.call(instance, copyFieldsFrom); + return instance; + } else { + return new Klass(copyFieldsFrom); + } + }; - if (!batchingStrategy.isBatchingUpdates) { - batchingStrategy.batchedUpdates(enqueueUpdate, component, callback); - return; + var twoArgumentPooler = function(a1, a2) { + var Klass = this; + if (Klass.instancePool.length) { + var instance = Klass.instancePool.pop(); + Klass.call(instance, a1, a2); + return instance; + } else { + return new Klass(a1, a2); } + }; - dirtyComponents.push(component); + var threeArgumentPooler = function(a1, a2, a3) { + var Klass = this; + if (Klass.instancePool.length) { + var instance = Klass.instancePool.pop(); + Klass.call(instance, a1, a2, a3); + return instance; + } else { + return new Klass(a1, a2, a3); + } + }; - if (callback) { - if (component._pendingCallbacks) { - component._pendingCallbacks.push(callback); - } else { - component._pendingCallbacks = [callback]; - } + var fiveArgumentPooler = function(a1, a2, a3, a4, a5) { + var Klass = this; + if (Klass.instancePool.length) { + var instance = Klass.instancePool.pop(); + Klass.call(instance, a1, a2, a3, a4, a5); + return instance; + } else { + return new Klass(a1, a2, a3, a4, a5); } - } + }; - /** - * Enqueue a callback to be run at the end of the current batching cycle. Throws - * if no updates are currently being performed. - */ - function asap(callback, context) { + var standardReleaser = function(instance) { + var Klass = this; (false ? invariant( - batchingStrategy.isBatchingUpdates, - 'ReactUpdates.asap: Can\'t enqueue an asap callback in a context where' + - 'updates are not being batched.' - ) : invariant(batchingStrategy.isBatchingUpdates)); - asapCallbackQueue.enqueue(callback, context); - asapEnqueued = true; - } + instance instanceof Klass, + 'Trying to release an instance into a pool of a different type.' + ) : invariant(instance instanceof Klass)); + if (instance.destructor) { + instance.destructor(); + } + if (Klass.instancePool.length < Klass.poolSize) { + Klass.instancePool.push(instance); + } + }; - var ReactUpdatesInjection = { - injectReconcileTransaction: function(ReconcileTransaction) { - (false ? invariant( - ReconcileTransaction, - 'ReactUpdates: must provide a reconcile transaction class' - ) : invariant(ReconcileTransaction)); - ReactUpdates.ReactReconcileTransaction = ReconcileTransaction; - }, + var DEFAULT_POOL_SIZE = 10; + var DEFAULT_POOLER = oneArgumentPooler; - injectBatchingStrategy: function(_batchingStrategy) { - (false ? invariant( - _batchingStrategy, - 'ReactUpdates: must provide a batching strategy' - ) : invariant(_batchingStrategy)); - (false ? invariant( - typeof _batchingStrategy.batchedUpdates === 'function', - 'ReactUpdates: must provide a batchedUpdates() function' - ) : invariant(typeof _batchingStrategy.batchedUpdates === 'function')); - (false ? invariant( - typeof _batchingStrategy.isBatchingUpdates === 'boolean', - 'ReactUpdates: must provide an isBatchingUpdates boolean attribute' - ) : invariant(typeof _batchingStrategy.isBatchingUpdates === 'boolean')); - batchingStrategy = _batchingStrategy; + /** + * Augments `CopyConstructor` to be a poolable class, augmenting only the class + * itself (statically) not adding any prototypical fields. Any CopyConstructor + * you give this may have a `poolSize` property, and will look for a + * prototypical `destructor` on instances (optional). + * + * @param {Function} CopyConstructor Constructor that can be used to reset. + * @param {Function} pooler Customizable pooler. + */ + var addPoolingTo = function(CopyConstructor, pooler) { + var NewKlass = CopyConstructor; + NewKlass.instancePool = []; + NewKlass.getPooled = pooler || DEFAULT_POOLER; + if (!NewKlass.poolSize) { + NewKlass.poolSize = DEFAULT_POOL_SIZE; } + NewKlass.release = standardReleaser; + return NewKlass; }; - var ReactUpdates = { - /** - * React references `ReactReconcileTransaction` using this property in order - * to allow dependency injection. - * - * @internal - */ - ReactReconcileTransaction: null, - - batchedUpdates: batchedUpdates, - enqueueUpdate: enqueueUpdate, - flushBatchedUpdates: flushBatchedUpdates, - injection: ReactUpdatesInjection, - asap: asap + var PooledClass = { + addPoolingTo: addPoolingTo, + oneArgumentPooler: oneArgumentPooler, + twoArgumentPooler: twoArgumentPooler, + threeArgumentPooler: threeArgumentPooler, + fiveArgumentPooler: fiveArgumentPooler }; - module.exports = ReactUpdates; + module.exports = PooledClass; /***/ }, -/* 129 */ +/* 140 */ /***/ function(module, exports, __webpack_require__) { /** @@ -19657,53 +20531,181 @@ return /******/ (function(modules) { // webpackBootstrap * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule keyMirror - * @typechecks static-only + * @providesModule traverseAllChildren */ "use strict"; - var invariant = __webpack_require__(126); + var ReactElement = __webpack_require__(107); + var ReactInstanceHandles = __webpack_require__(112); + + var invariant = __webpack_require__(132); + + var SEPARATOR = ReactInstanceHandles.SEPARATOR; + var SUBSEPARATOR = ':'; /** - * Constructs an enumeration with keys equal to their value. + * TODO: Test that: + * 1. `mapChildren` transforms strings and numbers into `ReactTextComponent`. + * 2. it('should fail when supplied duplicate key', function() { + * 3. That a single child and an array with one item have the same key pattern. + * }); + */ + + var userProvidedKeyEscaperLookup = { + '=': '=0', + '.': '=1', + ':': '=2' + }; + + var userProvidedKeyEscapeRegex = /[=.:]/g; + + function userProvidedKeyEscaper(match) { + return userProvidedKeyEscaperLookup[match]; + } + + /** + * Generate a key string that identifies a component within a set. * - * For example: + * @param {*} component A component that could contain a manual key. + * @param {number} index Index that is used if a manual key is not provided. + * @return {string} + */ + function getComponentKey(component, index) { + if (component && component.key != null) { + // Explicit key + return wrapUserProvidedKey(component.key); + } + // Implicit key determined by the index in the set + return index.toString(36); + } + + /** + * Escape a component key so that it is safe to use in a reactid. * - * var COLORS = keyMirror({blue: null, red: null}); - * var myColor = COLORS.blue; - * var isColorValid = !!COLORS[myColor]; + * @param {*} key Component key to be escaped. + * @return {string} An escaped string. + */ + function escapeUserProvidedKey(text) { + return ('' + text).replace( + userProvidedKeyEscapeRegex, + userProvidedKeyEscaper + ); + } + + /** + * Wrap a `key` value explicitly provided by the user to distinguish it from + * implicitly-generated keys generated by a component's index in its parent. * - * The last line could not be performed if the values of the generated enum were - * not equal to their keys. + * @param {string} key Value of a user-provided `key` attribute + * @return {string} + */ + function wrapUserProvidedKey(key) { + return '$' + escapeUserProvidedKey(key); + } + + /** + * @param {?*} children Children tree container. + * @param {!string} nameSoFar Name of the key path so far. + * @param {!number} indexSoFar Number of children encountered until this point. + * @param {!function} callback Callback to invoke with each child found. + * @param {?*} traverseContext Used to pass information throughout the traversal + * process. + * @return {!number} The number of children in this subtree. + */ + var traverseAllChildrenImpl = + function(children, nameSoFar, indexSoFar, callback, traverseContext) { + var nextName, nextIndex; + var subtreeCount = 0; // Count of children found in the current subtree. + if (Array.isArray(children)) { + for (var i = 0; i < children.length; i++) { + var child = children[i]; + nextName = ( + nameSoFar + + (nameSoFar ? SUBSEPARATOR : SEPARATOR) + + getComponentKey(child, i) + ); + nextIndex = indexSoFar + subtreeCount; + subtreeCount += traverseAllChildrenImpl( + child, + nextName, + nextIndex, + callback, + traverseContext + ); + } + } else { + var type = typeof children; + var isOnlyChild = nameSoFar === ''; + // If it's the only child, treat the name as if it was wrapped in an array + // so that it's consistent if the number of children grows + var storageName = + isOnlyChild ? SEPARATOR + getComponentKey(children, 0) : nameSoFar; + if (children == null || type === 'boolean') { + // All of the above are perceived as null. + callback(traverseContext, null, storageName, indexSoFar); + subtreeCount = 1; + } else if (type === 'string' || type === 'number' || + ReactElement.isValidElement(children)) { + callback(traverseContext, children, storageName, indexSoFar); + subtreeCount = 1; + } else if (type === 'object') { + (false ? invariant( + !children || children.nodeType !== 1, + 'traverseAllChildren(...): Encountered an invalid child; DOM ' + + 'elements are not valid children of React components.' + ) : invariant(!children || children.nodeType !== 1)); + for (var key in children) { + if (children.hasOwnProperty(key)) { + nextName = ( + nameSoFar + (nameSoFar ? SUBSEPARATOR : SEPARATOR) + + wrapUserProvidedKey(key) + SUBSEPARATOR + + getComponentKey(children[key], 0) + ); + nextIndex = indexSoFar + subtreeCount; + subtreeCount += traverseAllChildrenImpl( + children[key], + nextName, + nextIndex, + callback, + traverseContext + ); + } + } + } + } + return subtreeCount; + }; + + /** + * Traverses children that are typically specified as `props.children`, but + * might also be specified through attributes: * - * Input: {key1: val1, key2: val2} - * Output: {key1: key1, key2: key2} + * - `traverseAllChildren(this.props.children, ...)` + * - `traverseAllChildren(this.props.leftPanelChildren, ...)` * - * @param {object} obj - * @return {object} + * The `traverseContext` is an optional argument that is passed through the + * entire traversal. It can be used to store accumulations or anything else that + * the callback might find relevant. + * + * @param {?*} children Children tree object. + * @param {!function} callback To invoke upon traversing each child. + * @param {?*} traverseContext Context for traversal. + * @return {!number} The number of children in this subtree. */ - var keyMirror = function(obj) { - var ret = {}; - var key; - (false ? invariant( - obj instanceof Object && !Array.isArray(obj), - 'keyMirror(...): Argument must be an object.' - ) : invariant(obj instanceof Object && !Array.isArray(obj))); - for (key in obj) { - if (!obj.hasOwnProperty(key)) { - continue; - } - ret[key] = key; + function traverseAllChildren(children, callback, traverseContext) { + if (children == null) { + return 0; } - return ret; - }; - module.exports = keyMirror; + return traverseAllChildrenImpl(children, '', 0, callback, traverseContext); + } + + module.exports = traverseAllChildren; /***/ }, -/* 130 */ +/* 141 */ /***/ function(module, exports, __webpack_require__) { /** @@ -19719,9 +20721,9 @@ return /******/ (function(modules) { // webpackBootstrap "use strict"; - var ReactElement = __webpack_require__(105); + var ReactElement = __webpack_require__(107); - var invariant = __webpack_require__(126); + var invariant = __webpack_require__(132); var component; // This registry keeps track of the React IDs of the components that rendered to @@ -19782,7 +20784,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 131 */ +/* 142 */ /***/ function(module, exports, __webpack_require__) { /** @@ -19818,7 +20820,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 132 */ +/* 143 */ /***/ function(module, exports, __webpack_require__) { /** @@ -19834,11 +20836,11 @@ return /******/ (function(modules) { // webpackBootstrap "use strict"; - var assign = __webpack_require__(118); - var emptyFunction = __webpack_require__(176); - var invariant = __webpack_require__(126); - var joinClasses = __webpack_require__(182); - var warning = __webpack_require__(124); + var assign = __webpack_require__(120); + var emptyFunction = __webpack_require__(187); + var invariant = __webpack_require__(132); + var joinClasses = __webpack_require__(197); + var warning = __webpack_require__(138); var didWarn = false; @@ -19987,7 +20989,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 133 */ +/* 144 */ /***/ function(module, exports, __webpack_require__) { /** @@ -20003,7 +21005,7 @@ return /******/ (function(modules) { // webpackBootstrap "use strict"; - var keyMirror = __webpack_require__(129); + var keyMirror = __webpack_require__(134); var ReactPropTypeLocations = keyMirror({ prop: null, @@ -20015,7 +21017,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 134 */ +/* 145 */ /***/ function(module, exports, __webpack_require__) { /** @@ -20045,7 +21047,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 135 */ +/* 146 */ /***/ function(module, exports, __webpack_require__) { /** @@ -20062,12 +21064,12 @@ return /******/ (function(modules) { // webpackBootstrap "use strict"; - var warning = __webpack_require__(124); + var warning = __webpack_require__(138); - var ReactElement = __webpack_require__(105); - var ReactLegacyElement = __webpack_require__(111); - var ReactNativeComponent = __webpack_require__(183); - var ReactEmptyComponent = __webpack_require__(130); + var ReactElement = __webpack_require__(107); + var ReactLegacyElement = __webpack_require__(113); + var ReactNativeComponent = __webpack_require__(196); + var ReactEmptyComponent = __webpack_require__(141); /** * Given an `element` create an instance that will actually be mounted. @@ -20161,7 +21163,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 136 */ +/* 147 */ /***/ function(module, exports, __webpack_require__) { /** @@ -20201,7 +21203,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 137 */ +/* 148 */ /***/ function(module, exports, __webpack_require__) { /** @@ -20217,7 +21219,7 @@ return /******/ (function(modules) { // webpackBootstrap "use strict"; - var invariant = __webpack_require__(126); + var invariant = __webpack_require__(132); /** * Provides open-source compatible instrumentation for monitoring certain API @@ -20233,228 +21235,11 @@ return /******/ (function(modules) { // webpackBootstrap ) : invariant(eventName && !/[^a-z0-9_]/.test(eventName))); } - module.exports = monitorCodeUse; - - -/***/ }, -/* 138 */ -/***/ function(module, exports, __webpack_require__) { - - /** - * Copyright 2013-2014, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @providesModule mapObject - */ - - 'use strict'; - - var hasOwnProperty = Object.prototype.hasOwnProperty; - - /** - * Executes the provided `callback` once for each enumerable own property in the - * object and constructs a new object from the results. The `callback` is - * invoked with three arguments: - * - * - the property value - * - the property name - * - the object being traversed - * - * Properties that are added after the call to `mapObject` will not be visited - * by `callback`. If the values of existing properties are changed, the value - * passed to `callback` will be the value at the time `mapObject` visits them. - * Properties that are deleted before being visited are not visited. - * - * @grep function objectMap() - * @grep function objMap() - * - * @param {?object} object - * @param {function} callback - * @param {*} context - * @return {?object} - */ - function mapObject(object, callback, context) { - if (!object) { - return null; - } - var result = {}; - for (var name in object) { - if (hasOwnProperty.call(object, name)) { - result[name] = callback.call(context, object[name], name, object); - } - } - return result; - } - - module.exports = mapObject; - - -/***/ }, -/* 139 */ -/***/ function(module, exports, __webpack_require__) { - - /** - * Copyright 2013-2014, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @providesModule shouldUpdateReactComponent - * @typechecks static-only - */ - - "use strict"; - - /** - * Given a `prevElement` and `nextElement`, determines if the existing - * instance should be updated as opposed to being destroyed or replaced by a new - * instance. Both arguments are elements. This ensures that this logic can - * operate on stateless trees without any backing instance. - * - * @param {?object} prevElement - * @param {?object} nextElement - * @return {boolean} True if the existing instance should be updated. - * @protected - */ - function shouldUpdateReactComponent(prevElement, nextElement) { - if (prevElement && nextElement && - prevElement.type === nextElement.type && - prevElement.key === nextElement.key && - prevElement._owner === nextElement._owner) { - return true; - } - return false; - } - - module.exports = shouldUpdateReactComponent; - - -/***/ }, -/* 140 */ -/***/ function(module, exports, __webpack_require__) { - - /** - * Copyright 2013-2014, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @providesModule PooledClass - */ - - "use strict"; - - var invariant = __webpack_require__(126); - - /** - * Static poolers. Several custom versions for each potential number of - * arguments. A completely generic pooler is easy to implement, but would - * require accessing the `arguments` object. In each of these, `this` refers to - * the Class itself, not an instance. If any others are needed, simply add them - * here, or in their own files. - */ - var oneArgumentPooler = function(copyFieldsFrom) { - var Klass = this; - if (Klass.instancePool.length) { - var instance = Klass.instancePool.pop(); - Klass.call(instance, copyFieldsFrom); - return instance; - } else { - return new Klass(copyFieldsFrom); - } - }; - - var twoArgumentPooler = function(a1, a2) { - var Klass = this; - if (Klass.instancePool.length) { - var instance = Klass.instancePool.pop(); - Klass.call(instance, a1, a2); - return instance; - } else { - return new Klass(a1, a2); - } - }; - - var threeArgumentPooler = function(a1, a2, a3) { - var Klass = this; - if (Klass.instancePool.length) { - var instance = Klass.instancePool.pop(); - Klass.call(instance, a1, a2, a3); - return instance; - } else { - return new Klass(a1, a2, a3); - } - }; - - var fiveArgumentPooler = function(a1, a2, a3, a4, a5) { - var Klass = this; - if (Klass.instancePool.length) { - var instance = Klass.instancePool.pop(); - Klass.call(instance, a1, a2, a3, a4, a5); - return instance; - } else { - return new Klass(a1, a2, a3, a4, a5); - } - }; - - var standardReleaser = function(instance) { - var Klass = this; - (false ? invariant( - instance instanceof Klass, - 'Trying to release an instance into a pool of a different type.' - ) : invariant(instance instanceof Klass)); - if (instance.destructor) { - instance.destructor(); - } - if (Klass.instancePool.length < Klass.poolSize) { - Klass.instancePool.push(instance); - } - }; - - var DEFAULT_POOL_SIZE = 10; - var DEFAULT_POOLER = oneArgumentPooler; - - /** - * Augments `CopyConstructor` to be a poolable class, augmenting only the class - * itself (statically) not adding any prototypical fields. Any CopyConstructor - * you give this may have a `poolSize` property, and will look for a - * prototypical `destructor` on instances (optional). - * - * @param {Function} CopyConstructor Constructor that can be used to reset. - * @param {Function} pooler Customizable pooler. - */ - var addPoolingTo = function(CopyConstructor, pooler) { - var NewKlass = CopyConstructor; - NewKlass.instancePool = []; - NewKlass.getPooled = pooler || DEFAULT_POOLER; - if (!NewKlass.poolSize) { - NewKlass.poolSize = DEFAULT_POOL_SIZE; - } - NewKlass.release = standardReleaser; - return NewKlass; - }; - - var PooledClass = { - addPoolingTo: addPoolingTo, - oneArgumentPooler: oneArgumentPooler, - twoArgumentPooler: twoArgumentPooler, - threeArgumentPooler: threeArgumentPooler, - fiveArgumentPooler: fiveArgumentPooler - }; - - module.exports = PooledClass; + module.exports = monitorCodeUse; /***/ }, -/* 141 */ +/* 149 */ /***/ function(module, exports, __webpack_require__) { /** @@ -20465,181 +21250,95 @@ return /******/ (function(modules) { // webpackBootstrap * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule traverseAllChildren - */ - - "use strict"; - - var ReactElement = __webpack_require__(105); - var ReactInstanceHandles = __webpack_require__(110); - - var invariant = __webpack_require__(126); - - var SEPARATOR = ReactInstanceHandles.SEPARATOR; - var SUBSEPARATOR = ':'; - - /** - * TODO: Test that: - * 1. `mapChildren` transforms strings and numbers into `ReactTextComponent`. - * 2. it('should fail when supplied duplicate key', function() { - * 3. That a single child and an array with one item have the same key pattern. - * }); + * @providesModule mapObject */ - var userProvidedKeyEscaperLookup = { - '=': '=0', - '.': '=1', - ':': '=2' - }; - - var userProvidedKeyEscapeRegex = /[=.:]/g; + 'use strict'; - function userProvidedKeyEscaper(match) { - return userProvidedKeyEscaperLookup[match]; - } + var hasOwnProperty = Object.prototype.hasOwnProperty; /** - * Generate a key string that identifies a component within a set. + * Executes the provided `callback` once for each enumerable own property in the + * object and constructs a new object from the results. The `callback` is + * invoked with three arguments: * - * @param {*} component A component that could contain a manual key. - * @param {number} index Index that is used if a manual key is not provided. - * @return {string} + * - the property value + * - the property name + * - the object being traversed + * + * Properties that are added after the call to `mapObject` will not be visited + * by `callback`. If the values of existing properties are changed, the value + * passed to `callback` will be the value at the time `mapObject` visits them. + * Properties that are deleted before being visited are not visited. + * + * @grep function objectMap() + * @grep function objMap() + * + * @param {?object} object + * @param {function} callback + * @param {*} context + * @return {?object} */ - function getComponentKey(component, index) { - if (component && component.key != null) { - // Explicit key - return wrapUserProvidedKey(component.key); + function mapObject(object, callback, context) { + if (!object) { + return null; } - // Implicit key determined by the index in the set - return index.toString(36); + var result = {}; + for (var name in object) { + if (hasOwnProperty.call(object, name)) { + result[name] = callback.call(context, object[name], name, object); + } + } + return result; } - /** - * Escape a component key so that it is safe to use in a reactid. - * - * @param {*} key Component key to be escaped. - * @return {string} An escaped string. - */ - function escapeUserProvidedKey(text) { - return ('' + text).replace( - userProvidedKeyEscapeRegex, - userProvidedKeyEscaper - ); - } + module.exports = mapObject; + + +/***/ }, +/* 150 */ +/***/ function(module, exports, __webpack_require__) { /** - * Wrap a `key` value explicitly provided by the user to distinguish it from - * implicitly-generated keys generated by a component's index in its parent. + * Copyright 2013-2014, Facebook, Inc. + * All rights reserved. * - * @param {string} key Value of a user-provided `key` attribute - * @return {string} + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule shouldUpdateReactComponent + * @typechecks static-only */ - function wrapUserProvidedKey(key) { - return '$' + escapeUserProvidedKey(key); - } - /** - * @param {?*} children Children tree container. - * @param {!string} nameSoFar Name of the key path so far. - * @param {!number} indexSoFar Number of children encountered until this point. - * @param {!function} callback Callback to invoke with each child found. - * @param {?*} traverseContext Used to pass information throughout the traversal - * process. - * @return {!number} The number of children in this subtree. - */ - var traverseAllChildrenImpl = - function(children, nameSoFar, indexSoFar, callback, traverseContext) { - var nextName, nextIndex; - var subtreeCount = 0; // Count of children found in the current subtree. - if (Array.isArray(children)) { - for (var i = 0; i < children.length; i++) { - var child = children[i]; - nextName = ( - nameSoFar + - (nameSoFar ? SUBSEPARATOR : SEPARATOR) + - getComponentKey(child, i) - ); - nextIndex = indexSoFar + subtreeCount; - subtreeCount += traverseAllChildrenImpl( - child, - nextName, - nextIndex, - callback, - traverseContext - ); - } - } else { - var type = typeof children; - var isOnlyChild = nameSoFar === ''; - // If it's the only child, treat the name as if it was wrapped in an array - // so that it's consistent if the number of children grows - var storageName = - isOnlyChild ? SEPARATOR + getComponentKey(children, 0) : nameSoFar; - if (children == null || type === 'boolean') { - // All of the above are perceived as null. - callback(traverseContext, null, storageName, indexSoFar); - subtreeCount = 1; - } else if (type === 'string' || type === 'number' || - ReactElement.isValidElement(children)) { - callback(traverseContext, children, storageName, indexSoFar); - subtreeCount = 1; - } else if (type === 'object') { - (false ? invariant( - !children || children.nodeType !== 1, - 'traverseAllChildren(...): Encountered an invalid child; DOM ' + - 'elements are not valid children of React components.' - ) : invariant(!children || children.nodeType !== 1)); - for (var key in children) { - if (children.hasOwnProperty(key)) { - nextName = ( - nameSoFar + (nameSoFar ? SUBSEPARATOR : SEPARATOR) + - wrapUserProvidedKey(key) + SUBSEPARATOR + - getComponentKey(children[key], 0) - ); - nextIndex = indexSoFar + subtreeCount; - subtreeCount += traverseAllChildrenImpl( - children[key], - nextName, - nextIndex, - callback, - traverseContext - ); - } - } - } - } - return subtreeCount; - }; + "use strict"; /** - * Traverses children that are typically specified as `props.children`, but - * might also be specified through attributes: - * - * - `traverseAllChildren(this.props.children, ...)` - * - `traverseAllChildren(this.props.leftPanelChildren, ...)` - * - * The `traverseContext` is an optional argument that is passed through the - * entire traversal. It can be used to store accumulations or anything else that - * the callback might find relevant. + * Given a `prevElement` and `nextElement`, determines if the existing + * instance should be updated as opposed to being destroyed or replaced by a new + * instance. Both arguments are elements. This ensures that this logic can + * operate on stateless trees without any backing instance. * - * @param {?*} children Children tree object. - * @param {!function} callback To invoke upon traversing each child. - * @param {?*} traverseContext Context for traversal. - * @return {!number} The number of children in this subtree. + * @param {?object} prevElement + * @param {?object} nextElement + * @return {boolean} True if the existing instance should be updated. + * @protected */ - function traverseAllChildren(children, callback, traverseContext) { - if (children == null) { - return 0; + function shouldUpdateReactComponent(prevElement, nextElement) { + if (prevElement && nextElement && + prevElement.type === nextElement.type && + prevElement.key === nextElement.key && + prevElement._owner === nextElement._owner) { + return true; } - - return traverseAllChildrenImpl(children, '', 0, callback, traverseContext); + return false; } - module.exports = traverseAllChildren; + module.exports = shouldUpdateReactComponent; /***/ }, -/* 142 */ +/* 151 */ /***/ function(module, exports, __webpack_require__) { /** @@ -20656,14 +21355,14 @@ return /******/ (function(modules) { // webpackBootstrap "use strict"; - var CSSProperty = __webpack_require__(184); - var ExecutionEnvironment = __webpack_require__(153); + var CSSProperty = __webpack_require__(198); + var ExecutionEnvironment = __webpack_require__(161); - var camelizeStyleName = __webpack_require__(185); - var dangerousStyleValue = __webpack_require__(186); - var hyphenateStyleName = __webpack_require__(187); - var memoizeStringOnly = __webpack_require__(123); - var warning = __webpack_require__(124); + var camelizeStyleName = __webpack_require__(199); + var dangerousStyleValue = __webpack_require__(200); + var hyphenateStyleName = __webpack_require__(201); + var memoizeStringOnly = __webpack_require__(137); + var warning = __webpack_require__(138); var processStyleName = memoizeStringOnly(function(styleName) { return hyphenateStyleName(styleName); @@ -20776,7 +21475,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 143 */ +/* 152 */ /***/ function(module, exports, __webpack_require__) { /** @@ -20792,10 +21491,10 @@ return /******/ (function(modules) { // webpackBootstrap "use strict"; - var ReactEmptyComponent = __webpack_require__(130); - var ReactMount = __webpack_require__(112); + var ReactEmptyComponent = __webpack_require__(141); + var ReactMount = __webpack_require__(114); - var invariant = __webpack_require__(126); + var invariant = __webpack_require__(132); var ReactBrowserComponentMixin = { /** @@ -20821,7 +21520,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 144 */ +/* 153 */ /***/ function(module, exports, __webpack_require__) { /** @@ -20838,14 +21537,14 @@ return /******/ (function(modules) { // webpackBootstrap "use strict"; - var EventConstants = __webpack_require__(125); - var EventPluginHub = __webpack_require__(188); - var EventPluginRegistry = __webpack_require__(189); - var ReactEventEmitterMixin = __webpack_require__(190); - var ViewportMetrics = __webpack_require__(191); + var EventConstants = __webpack_require__(131); + var EventPluginHub = __webpack_require__(202); + var EventPluginRegistry = __webpack_require__(203); + var ReactEventEmitterMixin = __webpack_require__(204); + var ViewportMetrics = __webpack_require__(205); - var assign = __webpack_require__(118); - var isEventSupported = __webpack_require__(145); + var assign = __webpack_require__(120); + var isEventSupported = __webpack_require__(154); /** * Summary of `ReactBrowserEventEmitter` event handling: @@ -21180,7 +21879,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 145 */ +/* 154 */ /***/ function(module, exports, __webpack_require__) { /** @@ -21196,7 +21895,7 @@ return /******/ (function(modules) { // webpackBootstrap "use strict"; - var ExecutionEnvironment = __webpack_require__(153); + var ExecutionEnvironment = __webpack_require__(161); var useHasFeature; if (ExecutionEnvironment.canUseDOM) { @@ -21236,55 +21935,20 @@ return /******/ (function(modules) { // webpackBootstrap element.setAttribute(eventName, 'return;'); isSupported = typeof element[eventName] === 'function'; } - - if (!isSupported && useHasFeature && eventNameSuffix === 'wheel') { - // This is the only way to test support for the `wheel` event in IE9+. - isSupported = document.implementation.hasFeature('Events.wheel', '3.0'); - } - - return isSupported; - } - - module.exports = isEventSupported; - - -/***/ }, -/* 146 */ -/***/ function(module, exports, __webpack_require__) { - - /** - * Copyright 2013-2014, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @providesModule ReactRootIndex - * @typechecks - */ - - "use strict"; - - var ReactRootIndexInjection = { - /** - * @param {function} _createReactRootIndex - */ - injectCreateReactRootIndex: function(_createReactRootIndex) { - ReactRootIndex.createReactRootIndex = _createReactRootIndex; + + if (!isSupported && useHasFeature && eventNameSuffix === 'wheel') { + // This is the only way to test support for the `wheel` event in IE9+. + isSupported = document.implementation.hasFeature('Events.wheel', '3.0'); } - }; - var ReactRootIndex = { - createReactRootIndex: null, - injection: ReactRootIndexInjection - }; + return isSupported; + } - module.exports = ReactRootIndex; + module.exports = isEventSupported; /***/ }, -/* 147 */ +/* 155 */ /***/ function(module, exports, __webpack_require__) { /** @@ -21301,12 +21965,12 @@ return /******/ (function(modules) { // webpackBootstrap "use strict"; - var EventConstants = __webpack_require__(125); - var EventPropagators = __webpack_require__(192); - var ExecutionEnvironment = __webpack_require__(153); - var SyntheticInputEvent = __webpack_require__(193); + var EventConstants = __webpack_require__(131); + var EventPropagators = __webpack_require__(206); + var ExecutionEnvironment = __webpack_require__(161); + var SyntheticInputEvent = __webpack_require__(207); - var keyOf = __webpack_require__(136); + var keyOf = __webpack_require__(147); var canUseTextInputEvent = ( ExecutionEnvironment.canUseDOM && @@ -21510,7 +22174,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 148 */ +/* 156 */ /***/ function(module, exports, __webpack_require__) { /** @@ -21526,16 +22190,16 @@ return /******/ (function(modules) { // webpackBootstrap "use strict"; - var EventConstants = __webpack_require__(125); - var EventPluginHub = __webpack_require__(188); - var EventPropagators = __webpack_require__(192); - var ExecutionEnvironment = __webpack_require__(153); - var ReactUpdates = __webpack_require__(128); - var SyntheticEvent = __webpack_require__(194); + var EventConstants = __webpack_require__(131); + var EventPluginHub = __webpack_require__(202); + var EventPropagators = __webpack_require__(206); + var ExecutionEnvironment = __webpack_require__(161); + var ReactUpdates = __webpack_require__(127); + var SyntheticEvent = __webpack_require__(211); - var isEventSupported = __webpack_require__(145); - var isTextInputElement = __webpack_require__(195); - var keyOf = __webpack_require__(136); + var isEventSupported = __webpack_require__(154); + var isTextInputElement = __webpack_require__(212); + var keyOf = __webpack_require__(147); var topLevelTypes = EventConstants.topLevelTypes; @@ -21896,7 +22560,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 149 */ +/* 157 */ /***/ function(module, exports, __webpack_require__) { /** @@ -21925,7 +22589,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 150 */ +/* 158 */ /***/ function(module, exports, __webpack_require__) { /** @@ -21942,14 +22606,14 @@ return /******/ (function(modules) { // webpackBootstrap "use strict"; - var EventConstants = __webpack_require__(125); - var EventPropagators = __webpack_require__(192); - var ExecutionEnvironment = __webpack_require__(153); - var ReactInputSelection = __webpack_require__(196); - var SyntheticCompositionEvent = __webpack_require__(197); + var EventConstants = __webpack_require__(131); + var EventPropagators = __webpack_require__(206); + var ExecutionEnvironment = __webpack_require__(161); + var ReactInputSelection = __webpack_require__(208); + var SyntheticCompositionEvent = __webpack_require__(209); - var getTextContentAccessor = __webpack_require__(198); - var keyOf = __webpack_require__(136); + var getTextContentAccessor = __webpack_require__(210); + var keyOf = __webpack_require__(147); var END_KEYCODES = [9, 13, 27, 32]; // Tab, Return, Esc, Space var START_KEYCODE = 229; @@ -22188,7 +22852,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 151 */ +/* 159 */ /***/ function(module, exports, __webpack_require__) { /** @@ -22204,7 +22868,7 @@ return /******/ (function(modules) { // webpackBootstrap "use strict"; - var keyOf = __webpack_require__(136); + var keyOf = __webpack_require__(147); /** * Module that is injectable into `EventPluginHub`, that specifies a @@ -22232,7 +22896,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 152 */ +/* 160 */ /***/ function(module, exports, __webpack_require__) { /** @@ -22249,12 +22913,12 @@ return /******/ (function(modules) { // webpackBootstrap "use strict"; - var EventConstants = __webpack_require__(125); - var EventPropagators = __webpack_require__(192); - var SyntheticMouseEvent = __webpack_require__(199); + var EventConstants = __webpack_require__(131); + var EventPropagators = __webpack_require__(206); + var SyntheticMouseEvent = __webpack_require__(213); - var ReactMount = __webpack_require__(112); - var keyOf = __webpack_require__(136); + var ReactMount = __webpack_require__(114); + var keyOf = __webpack_require__(147); var topLevelTypes = EventConstants.topLevelTypes; var getFirstReactDOM = ReactMount.getFirstReactDOM; @@ -22376,7 +23040,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 153 */ +/* 161 */ /***/ function(module, exports, __webpack_require__) { /** @@ -22425,7 +23089,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 154 */ +/* 162 */ /***/ function(module, exports, __webpack_require__) { /** @@ -22443,8 +23107,8 @@ return /******/ (function(modules) { // webpackBootstrap "use strict"; - var DOMProperty = __webpack_require__(121); - var ExecutionEnvironment = __webpack_require__(153); + var DOMProperty = __webpack_require__(135); + var ExecutionEnvironment = __webpack_require__(161); var MUST_USE_ATTRIBUTE = DOMProperty.injection.MUST_USE_ATTRIBUTE; var MUST_USE_PROPERTY = DOMProperty.injection.MUST_USE_PROPERTY; @@ -22615,7 +23279,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 155 */ +/* 163 */ /***/ function(module, exports, __webpack_require__) { /** @@ -22632,9 +23296,9 @@ return /******/ (function(modules) { // webpackBootstrap "use strict"; - var EventConstants = __webpack_require__(125); + var EventConstants = __webpack_require__(131); - var emptyFunction = __webpack_require__(176); + var emptyFunction = __webpack_require__(187); var topLevelTypes = EventConstants.topLevelTypes; @@ -22677,7 +23341,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 156 */ +/* 164 */ /***/ function(module, exports, __webpack_require__) { /** @@ -22695,15 +23359,15 @@ return /******/ (function(modules) { // webpackBootstrap "use strict"; - var ReactDOMIDOperations = __webpack_require__(200); - var ReactMarkupChecksum = __webpack_require__(177); - var ReactMount = __webpack_require__(112); - var ReactPerf = __webpack_require__(114); - var ReactReconcileTransaction = __webpack_require__(201); + var ReactDOMIDOperations = __webpack_require__(214); + var ReactMarkupChecksum = __webpack_require__(185); + var ReactMount = __webpack_require__(114); + var ReactPerf = __webpack_require__(116); + var ReactReconcileTransaction = __webpack_require__(215); - var getReactRootElementInContainer = __webpack_require__(173); - var invariant = __webpack_require__(126); - var setInnerHTML = __webpack_require__(202); + var getReactRootElementInContainer = __webpack_require__(184); + var invariant = __webpack_require__(132); + var setInnerHTML = __webpack_require__(216); var ELEMENT_NODE_TYPE = 1; @@ -22801,7 +23465,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 157 */ +/* 165 */ /***/ function(module, exports, __webpack_require__) { /** @@ -22817,11 +23481,11 @@ return /******/ (function(modules) { // webpackBootstrap "use strict"; - var ReactUpdates = __webpack_require__(128); - var Transaction = __webpack_require__(181); + var ReactUpdates = __webpack_require__(127); + var Transaction = __webpack_require__(194); - var assign = __webpack_require__(118); - var emptyFunction = __webpack_require__(176); + var assign = __webpack_require__(120); + var emptyFunction = __webpack_require__(187); var RESET_BATCHED_UPDATES = { initialize: emptyFunction, @@ -22878,7 +23542,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 158 */ +/* 166 */ /***/ function(module, exports, __webpack_require__) { /** @@ -22894,13 +23558,13 @@ return /******/ (function(modules) { // webpackBootstrap "use strict"; - var AutoFocusMixin = __webpack_require__(203); - var ReactBrowserComponentMixin = __webpack_require__(143); - var ReactCompositeComponent = __webpack_require__(102); - var ReactElement = __webpack_require__(105); - var ReactDOM = __webpack_require__(107); + var AutoFocusMixin = __webpack_require__(217); + var ReactBrowserComponentMixin = __webpack_require__(152); + var ReactCompositeComponent = __webpack_require__(104); + var ReactElement = __webpack_require__(107); + var ReactDOM = __webpack_require__(109); - var keyMirror = __webpack_require__(129); + var keyMirror = __webpack_require__(134); // Store a reference to the